UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Newbie ayewinoung
Newbie
380 Views
Registered: ‎11-12-2018

Is it possible to implement FOUR channel DDR3 x16bits controller in Spartan 7 ?

Hi

As I try to implement four channel DDR3 memory controller, x16bits in MIG, I can *not* complete pin assignment with any of the Spartan 7 device packages, without any other pins assigned at all yet.  Seems like its running out of IOs in required banks.

Is this correct ?  I thought I saw somewhere 7 series devices support up to 8 DDR3 channels.  May be for higher end Virtex 7 devices ?

Can someone share, whats the max DDR3 channels for x16bits can be implemented in Spartan 7 devices ?

Thanks in advance.

 

 

0 Kudos
2 Replies
Highlighted
Voyager
Voyager
341 Views
Registered: ‎02-01-2013

Re: Is it possible to implement FOUR channel DDR3 x16bits controller in Spartan 7 ?

 

The good news is I have an answer to your question. The bad news is the answer is "probably".

For fun, I threw together a S7 design in Vivado 17.4 (it's what I had opened at the time) and was able to get a design implemented, using a beta version of a single MIG to create all 4 interfaces. The device is the largest S7 offered (S100), in the largest package available (FGGA676).

2019-01-19_23-18-39.jpg

There was only 1 timing error, but it's due to Vivado thinking the REFCLK (for IDELAYCTRL's) is only running at 100 MHz. No bitstream was made due to no license.

Some notes of interest:

  • The MIG uses all 8 of the banks in the device, with each DDR interface requiring 2 banks.
  • So all of the chip's banks need to be powered by the DDR-required voltage (1.5V).
  • So your configuration device(s) will also need to run at 1.5V.
  • And all of the clocks need to enter as 1.5-V signals; LVDS is possible, but the termination needs to be external.
  • What you see above takes up 37% of the LUTs. 
  • There aren't many IO left over to do much with all of that data (that moves in or out of those DDR banks).

-Joe G.

 

 

Newbie ayewinoung
Newbie
311 Views
Registered: ‎11-12-2018

Re: Is it possible to implement FOUR channel DDR3 x16bits controller in Spartan 7 ?

Thanks Joe G, its very helpful.  I may need to rethink my approach.  

0 Kudos