ddr2 on artix fpga's

May 19, 2021 Last reply: 5 years ago 13 Replies

Hi guys. The last time I put ddr2 on an fpga was with virtex 4 and I was able to terminate ras/cas etc internally. I want to do the same with an artix device and I can't find any documentation except the mig user guide which says that I can't do it. Does anyone have any experience with this, it will be a single ddr so I don't need to "stub series terminate" the signals with external VTT from an SI point of view.



Thanks in advance, Rob


We recently did a DDR3 onto an XC7A15. It just worked.

formatting link
We only terminated the differential clock.

Single-chip ddr rams are fairly easy.

What Larkin said. If you keep your traces short enough you don't need to worry about transmission line effects. I believe 8 inches (4 cm) is about a ns on a circuit board. How fast are the edges? You will want to terminate the clock line to prevent double clocking and preserve the waveform shape and timing. Otherwise an optimal layout can handle the data lines, no?

What data rate did you manage? I am sort of planning something with Artix and ddr3, I wonder how long a burst their DDR controller can do (I have had - not one an FPGA - DDR controllers which are pretty limited on that, about half the time they spend on preparing the burst).

onsdag den 19. maj 2021 kl. 17.46.12 UTC+2 skrev snipped-for-privacy@gmail.com:

why DDR2 and not DDR3 ?

I'll ask my FPGA pro; he did the Artix design.

This is waveform memory for a 400 Hz power source, so we didn't need supercomputer sorts of speed.

It's easy to interface one DDR chip. More makes routing and termination difficult.

^^^^^^^^^^^^^^^????

8 in is aprox 20cm or 4cm is aprox 1 9/16th inch

Thanks, please do ask them. I'll have much worse than this DDR3 on this board (64 bit DDR4 via a SODIMM connector - I was advised to prefer that to soldering DDR parts like I have done before for DDR1). The DDR3 I need just as display framebuffer memory, hence the need for speed. I considered using some static RAM but the figures come out pretty tragic, the least tragic part being the SRAMs will cost well in excess of $100. If I can manage to do at least say 64 clock bursts things should be fine I guess. I am (still after a very long time) at the headscratching phase, hopefully soon I'll manage to get around to doing it.

I really need a few other pins on a 1v8 bank, I have none spare and 400MHz easily gives me the bandwidth I need.

I've designed broadcast quality realtime HD mpeg transcoders with DDR3 memories easily keeping up with the bandwidth required. Also used for 4K but each transcoder only doing a quarter of the image.

Sounds encouraging, thanks. Was it with an Atrix? Did you manage 32 bpp at 60Hz frame rate, 1920x1080 (which is what I am aiming at)? I will need say 1.5 what it takes to do the above, twice would be better - the processor will need time to write to the framebuffer, too (via PCIe). Hopefully I can soon get to doing it, have been wanting to for over a year now.

how much bandwidth do you need? I have only used DDR3 on Artix it takes quite a lot of resources

I asked but nobody remembers and would have to do some poking around to find out.

Artix doesn't have dedicated DDR3 hardware, so the interface is compiled from the fabric. It's probably slow. I doubt that it can do the dynamic fine delay tuning that fast DDR needs.

torsdag den 20. maj 2021 kl. 02.06.49 UTC+2 skrev John Larkin:

Artix doesn't need dedicated DDR3 hardware because it is fast enough to do it in the fabric

it does all the fine delay tuning or it wouldn't work, at 1.5V a -1 it can run at 400MHz so 800Mbit/s per pin or 1600Mbyte/s for a 16bit RAM

I haven't tried but I heard that >80% of that is possible

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required