Interfacing sdram controller with FPGA

Status
Not open for further replies.

Tan

Full Member level 4
Joined
Jul 23, 2006
Messages
216
Helped
10
Reputation
20
Reaction score
3
Trophy points
1,298
Visit site
Activity points
2,742
fpga sdram controller

Hi i ahve to interface sdram controller with fpga.
i dont have any knowledge regarding this issue.
can anyone please explain me how to do this or any material to follow..
hope you folks reply me.
Thanks
 

fpga sdram

Do you have to interface SDRAM with FPGA or SDRAM controller? If its an SDRAM controller, then you need to check where the local side of the SDRAM controller is to be connected to. Mostly it will be a processor of some sort. You will need to interface the local side of the SDRAM controller with the processors Address, Data busses and also with the local clock, reset, Read/Write and few other processor related signals.

First you will have to find out if the SDRAM controller local bus is compatible with the processor bus. If not you will have to bridge the two using the FPGA.
 

sdram controller fpga

Thank you for your reply.
Actually I dont know what is sd ram controller.Is it for storage??how does it work?.I did not find any doc wherein i can have full idea about it.Can you please give me more info regarding this?
i am still searching for the info..

Thank you.
 

implementing dram controller in fpga

SDRAM controller is the one which controls the SDRAM operations. Normally you will find it in most of the microprocessors. Microprocessor will use SDRAM to store the data for its processing and thus needs a controller.
If you tell what exactly you need to do, then someone will be able to help you. For eg, you have a controller and an FPGA and SDRAM is required to be used with the FPGA.
 

how to program sdram from fpga

Actually i have to store 200 channel information(75 bits of data * 200 channels).Initially i placed the information in a RAM,but my FPGA is not sufficient to hold this much of information,so i decided to store my information in SDRAM controller and interface it with FPGA for this purpose.My sdram controller is HYB25D256160BT.

I started looking through the datasheet but could not get anything.Initially what i thought was i have to get thorough knowledge on "What is SDRAM controller"? How it works??
After that i can initialise and interface with FPGA.
please guide me..
 

sdram fpga controller

First of all to answer your question, SDRAM controller is a device (or program running in the FPGA) which generates all the required signals (control, address) for writing onto the memory or reading from it. It should also abide by the standards.
The part number you have specified is of SDRAM chip which is a DDR SDRAM memory (not controller). You need to have the DDR controller program running in your FPGA to store information in the DDR memory.
You may get the ready made DDR SDRAM controller code available from the FPGA manufacturer (I know that Xilinx and Altera provide it).
I hope the above explanation helps.
 

    Tan

    Points: 2
    Helpful Answer Positive Rating
sram controller program

Thank you so much for your help.
I went through the doc and planning to write a program wherein i can programm mode registers and control the operations.Is what I am doing right??
or shouldi search for the code as you said??

Thank you once again.
 

sram controller on fpga

I would suggest you to look for the ready code. SDRAM controller is not just programming mode registers, it involves much more than that. In your case it is DDR (Double data rate) which is little more than the SDR (single data rate). You need to take care of timing also.
If you are planning to write the code then it will take some time as you also need to verify it.

You will get the codes from Altera and Xilinx along with their software (Quartus and ISE respectively).
 

fpga adress controller

I have gone thorugh the XIlinx site.I got the interface code of micron.But my ddr sdram is a different one.(HYB25D256160BT) and company is infenion.
Please suggest
 

ddr sdram controller fpga

DDR is a standard protocol. It should be the same for Micron and Infineon (there may be minor differences in the timing which you can verify). The DDR manufacturers will conform to the JEDEC standards, so if you ask me it should not be a problem.
You just have to connect the signals correctly. The controller code should take care of the timing.
 

ddr fpga problem programmed

I got the pdf of ddr sdram interface with virtex4 fpga..however i need the code..please send me the code if anyone have it..i search everything but i did not get the code..
please help me out..
I am uploading the pdf that i got..
 

i m also interfacing fpga with ddr-sdram. i also require help regarding this. till now i have successfully generated ddr-sdram controller core using MIG tool in xilinx 10.1.
first problem is tht i m confused hw to write code for connecting this ddr-controller with the user interface logic. i mean the back-end code for providing control signals, address and data to the ddr-sdram controller core.

second problem is tht the code modules generated by MIG for ddr-sdram controller are in vhdl. whereas i will write my main logic in verilog, how i instantiate vhdl type controller core in verilg design. i could not find any option in MIG tool for generating controller design in verilog, whereas when i generated other chipscopepro cores(using general IP core generation tool), both vhdl instantiation(.vho) and verilg instantiation (.veo) files were generated in the project folder automatically with cores generation.

thirdly through net i found a design example code for interfacing spartan3 with ddr-sdram. but the code is incomplete. it does not include the 'infrastructure module' for generating clocks and 'ddr-controller module'. moreover the ddr controller signals used in code do not match with the controller i generate through MIG. and also there is lcd used for displaying the wriiten data at end, whereas i want to use chipscope pro tool for viewing end result,the vio core mainly. i want to implement my design on vertix 4 tool using this design help but dont know how to relate with this example, i hav attached the code nd related pdf file of ths example for reference.
nw i m confused tht in which direction i start this work. if i start understanding example, it doesnt clear up my concept nd spending more time on it will be waste of time. if i start writing my own code, i need to know first the starting point for this.

and one last thing on ML401 the ddr-sdram chip used is HYB25D256160BT-7 INFINEON. But in meory interface generator tool, all options of available memories are that of micron. nw through datasheet which parameter i should be seeeing mainly for choosing compatible micron ddr-sdram from tht list,,,,i mean memory size i.e 256 MB in my case and it is 16 into 16 configuration so should i use '16 bits' option in the MIG tool
kindly plz help me in this regard. i shall be very thankful as i m stuck at starting point of programming.
 

Attachments

  • spartan_mig20.zip
    10.2 KB · Views: 108
  • wp260 Memory Interface made easy.pdf
    711.5 KB · Views: 192

@arnarendra
thanks for sharing, Can you explain for me why is the SDRAM controller is not just programming mode registers?..
I'm studying about it and implementing in Spartan 3.
 

Re: fpga adress controller

Get one of these FPGA boards:

NO ADVERTISEMENT ALLOWED

It uses an SDRAM chip that is compatible with the HYB25D256160BT. The kit includes FPGA, SDRAM, power supply and comes with Verilog code for the SDRAM controller and a soft CPU that can read and write the SDRAM.
It's got everything that you need to interface to the SDRAM chip that you want.
 

It is not only programming mode registers.

If you read through the datasheet of your RAM chip, you will see it requires a state machine to access the data. The signals you need to provide depend on the address you want to access, and on the ones you previously accessed.

If I look a bit at the experience level of the people who ask the questions here, I think writing a homebrew controller will takes lots of time and frustrations, it is not so easy, and like already stated above: even if you get the logic right, you need to understand fully the timing of the design.

The Xilinx and altera cores will provide you both the logic and the timing specification for compiling the code into the fpga.

Stefaan
 

Re: fpga adress controller


Nice board you got there. I was wondering though, any particular reason for that choice of 64 way edge connector?
 

I chose that 64 way edge connector for a few reasons:

* Same as what's used for PCIE x4, so readily available and cheap
* Excellent signal integrity - designed for 5+Gbps, so 1080Mbps LVDS no problem. (1080 Mbps LVDS is the fastest signalling in Spartan 6LX)
* Very compact - I wanted the board to be tiny

I'm planning a range of expansion cards that will plug in to this edge connector. Not 100% sure, but thinking:

a. DVI or HDMI video in/out - maybe 1 connector or perhaps 2 or 3
b. Dual 400MHz 8 bit ADC
c. Dual 400MHz 8 bit DAC
d. 320x240 pixel TFT LCD
e. 640x360 pixel TFT LCD
f. gigabit ethernet
g. 480Mb USB through ULPI phy

Best regards,
Stephen

NO SIGNATURE LINKS ALLOWED
 

Sounds good! I would be interested to see what you're going to come up with for the ADC / DAC card(s).

Regarding the PCIe connector, I understand it totally from the cost + SI perspective. What actually had me wondering was the angle. I suspect this particular flavor PCIe connector is extra cheap due to heavy use in PC motherboard fabrication. But it had me wondering how I would use it in some projects.

For prototyping it's no problem to have a board sticking up at a right angle. Suppose I am lazy (and I am!) then ideally I'd use the exact same board not just for prototyping but also in the finished product. For large volume doing a dedicated layout makes sense. For something like 5-50 units (which is what I'm looking at for a current project) I'd rather use a ready made affordable solution. Which is where a board like yours enters the picture.

I'd like the PCBs to be coplanar, so basically the question is: do you also intend to include the option for a right angle PCIe connector? The footprint would be the same, same through-hole, so no new layout. Just a different angle connector, et voila, easy integration.
 
Last edited:
Regarding ADC/DAC, what sort of connector would you like for the analog signals ?
I was thinking of keeping things simple on the analog side, just break out the analog signals to a good quality co-ax connector.

> I suspect this particular flavor PCIe connector is extra cheap due to heavy use in PC motherboard fabrication.
spot on

> I'd like the PCBs to be coplanar, so basically the question is: do you also intend to include the option for a right angle PCIe connector?
I can do that - Molex make a right angle part that will fit in my PCB. Price is OK but unfortunately MOQ is in the 1000's - but I can cover that if you want to buy something like 50 boards.
The result wouldn't be 100% co-planar: The daughter card ends up sitting in a parallel plane but slightly higher than the motherboard.

Thanks for your interest, it really helps to know what potential customers want!

Stephen

NO SIGNATURE LINKS ALLOWED
 

Regarding ADC/DAC, what sort of connector would you like for the analog signals ?
I was thinking of keeping things simple on the analog side, just break out the analog signals to a good quality co-ax connector.

Keeping it simple is probably best. As far as connectors go I would say either sma or mmcx. And in keeping with your further constraints of keeping the boards tiny and cheap, I guess that would work out to mmcx.



That is good to know. And I did say 5 to 50, right? *checks* Yep, I did say that. Right now I don't know quantities. For this project 5 will happen, who knows about 50. But it is good to know you would be willing to offer right angle.

I would however be surprised if I am the only one that would like their boards to be co-planar...

The result wouldn't be 100% co-planar: The daughter card ends up sitting in a parallel plane but slightly higher than the motherboard.

Yup, that would be along the lines of "not perfect but acceptable". Straddle mount would solve that problem, but those are less sturdy, more expensive and would require you to do a different layout. So straddle mount probably would be one bridge too far, while just changing a single part to put on the exact same board seemed feasible.

Thanks for your interest, it really helps to know what potential customers want!

Thanks for listening.
 
Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…