12-01-2014 03:43 AM
I am going to set a DDR controller connenting to 4 DDR chips, with a Virtex-6 chip LX240T and ISE14.4 enviroment. The IP-Core Generator gives a solution of 4 times data width and one set of CS and ADDRESS wires driving 4 DDR chips. But I want to get a controller that fits the 4 chips with commmon ADDRESS wires but seperate CS and DATA. So I can read or write data from or into a unique chip at different time using different CS controls and same ADDRESS wires.
Is there such a IP-Core fitting the requst, or should I write a DDR controller module myself?
12-01-2014 03:48 AM - edited 12-01-2014 03:54 AM
You can have multiport options in MCB(s6), but in V6 MIG if you go for Multi controller it gives independent address, data, cs etc.,
If you want shared address bus but common data then you can increase data width in MIG data width drop down and connect the same controller to different chips, but it will not have have different CS and the entire memory is treated as single chip with increased data width like DIMM
One way is you can have AXI Interconnect on top of MIG and allocate address range as needed
Please check below link on similar discusison
Hope this helps
12-01-2014 03:49 AM
NO this is not available
You need to generated seperated controllers if you want the functionality.
12-01-2014 05:17 AM
Thanks for your replay. I have metioned that "The IP-Core Generator gives a solution of 4 times data width and one set of CS and ADDRESS wires driving 4 DDR chips. " Maybe my description is not clear enough but I mean what you said. 4 times of ADDRESS bus is too many for IO ports in my design so I want to share ADDRESS bus. Thank you all the same.
12-01-2014 05:22 AM
Thanks a lot for your clear replay. But seperated controllers need seperated ADDRESS bus. 4 times of ADDRESS bus cost too IO ports in my design, so I want to share. I am looking for other solutions.
12-01-2014 06:04 AM - edited 12-01-2014 06:07 AM
Understood your requirement, but with multi controllers you cannot share address bus.
It is possible only with single controller and having multiple ports on top of it that share the common address.
Even in this approach it is true that physically there will be one address bus at AXI/UI side you feel that you are accessing different small chips as the commands will be time multiplexed at phy end.
If you can visit the link that I pinted in my earlier post you can get a overview on how to do it