Author Topic: Lattice MachXO2-7000 DDR SDRAM  (Read 1789 times)

0 Members and 1 Guest are viewing this topic.

Offline petrmateTopic starter

  • Newbie
  • Posts: 1
  • Country: hu
Lattice MachXO2-7000 DDR SDRAM
« on: February 01, 2022, 01:36:04 pm »
Hy.

I have a MachXO2 based FPGA image processing project. I have to add a single DDR DRAM to the system to store the previous frame of the image. I have to achieve at least 120MHz memory speed at 16bit wide memory bus.

At this point the project is relatively small, so we avoid BGA components, so DDR1 is the only chioce.
I found this memory IC:  IS43R16160D-6TL-TR https://www.issi.com/WW/pdf/43-46R16160D-32800D.pdf. The memory supports the "SSTL_2 Class II" signaling. I'm a bit confused about the SSTL_2 class types, what is the differencie between the two classes.

The FPGA support class2 for output only and support bidirectional in class1, according to the XO2 family datasheet. So this memory is incompatible with this FPGA? I can't find DDR1 memory IC that supports class1. Have I misunderstood something?

And the last question is termination. I've read a dozen of application notes about the topic, but I'm not sure what termination should I use. Serial termination is enough or I need to add pull-up resistors to the source or to the sink or to both?


Thank,
PetrĂ³
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 2420
  • Country: gb
Re: Lattice MachXO2-7000 DDR SDRAM
« Reply #1 on: February 01, 2022, 04:36:26 pm »
At this point the project is relatively small, so we avoid BGA components, so DDR1 is the only chioce.

Your making a rod for your own back and your better off going 1mm pitch FBGA. It'll be fine.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15317
  • Country: fr
Re: Lattice MachXO2-7000 DDR SDRAM
« Reply #2 on: February 01, 2022, 05:42:03 pm »
Note that - I don't know much about your project - but you could probably get that kind of data throughput (which doesn't sound all that impressive) using simple SDRAM with a 32-bit data bus, if you can afford the extra 16 IOs. Much easier to deal with.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2797
  • Country: ca
Re: Lattice MachXO2-7000 DDR SDRAM
« Reply #3 on: February 01, 2022, 08:30:51 pm »
Note that - I don't know much about your project - but you could probably get that kind of data throughput (which doesn't sound all that impressive) using simple SDRAM with a 32-bit data bus, if you can afford the extra 16 IOs. Much easier to deal with.
That's gonna require like 80 IO pins. Not many non-BGA packages have that many. And it makes no sense as DDRx is better in just about every way.

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15317
  • Country: fr
Re: Lattice MachXO2-7000 DDR SDRAM
« Reply #4 on: February 01, 2022, 11:11:42 pm »
Note that - I don't know much about your project - but you could probably get that kind of data throughput (which doesn't sound all that impressive) using simple SDRAM with a 32-bit data bus, if you can afford the extra 16 IOs. Much easier to deal with.
That's gonna require like 80 IO pins. Not many non-BGA packages have that many. And it makes no sense as DDRx is better in just about every way.

Sure DDR is "better", but that's not a contest. That's about selecting an appropriate solution for the requirements.

No, that's not gonna require 80 IOs, but 50-odd IOs, actually.

DDR controllers are definitely harder to design, the MachXO2 is a very humble FPGA, and Lattice does not offer memory controllers for free. Were we talking about say a Xilinx Spartan/Artix 7 here, I wouldn't even have mentioned that option.

So there are the pros and cons. Now it's up to the OP to select whatever suggestion they find most appropriate, but at least considering all constraints.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2797
  • Country: ca
Re: Lattice MachXO2-7000 DDR SDRAM
« Reply #5 on: February 02, 2022, 01:57:27 am »
Sure DDR is "better", but that's not a contest. That's about selecting an appropriate solution for the requirements.
Of course it is - it's about finding the best solution to a problem. I'm yet to see a hardware platform which would suffer from having too much memory capacity or speed, so the more the merrier.

No, that's not gonna require 80 IOs, but 50-odd IOs, actually.
It's more like 60, but also remember that unlike in DDRx, the entire bus has to be length-matched - all signals (!!!). In DDR address/control works independently of data lanes, and each data byte lane can be length matched independendly of others, so it's actually easier to route (even if we ignore the fact that DDRx requires only half as much data width to achieve the same bandwidth).

DDR controllers are definitely harder to design, the MachXO2 is a very humble FPGA, and Lattice does not offer memory controllers for free.
Except for DDR3 with it's peculiarities like link training, I would say the rest are more-or-less the same, provided that FPGA comes with the hardware to make PHY possible, and as far as my (admittedly very rudimentary) research has shown, Lattice does provide PHY module generators for free, so it's only the controller part which needs to be designed. Not easy for sure, but not that hard either. In my experience designing a LPDDR1 memory controller, the hardest part (after PHY that is) was higher level functions like request reordering, command scheduling and other functions one would need for a full-featured AXI slave port with bursts support. Video applications typically have a very straightforward access pattern, and so they usually don't need sophisticated bus interface adapters.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf