Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

DDR3 memory implementation

Status
Not open for further replies.

promach

Advanced Member level 4
Advanced Member level 4
Joined
Feb 22, 2016
Messages
1,202
Helped
2
Reputation
4
Reaction score
5
Trophy points
1,318
Activity points
11,643
I am trying to work on DDR3 memory implementation.

1. why there are 2 WRITING and READING states ?
2. what are ACTIVATING and REFRESHING states for ?


WF6NB8b.png
 

You can only create a simulation modelof the real hardware. In this link you have posted, go to the right hand side and expand the drop-down 'Simulation Models'. The Verilog RTL is available. Time is of essence, save yourself some effort.
 

the second set are "Auto Precharge" states ("AP")

once it gets to the end of writing, it does final write + auto-precharge cycle which then lands it cleanly on completion of the write into the precharge state

1) Why A12 has value of "V" ? What does "V" mean ?

XKHp79V.png



2) As for WRITE LEVELING, why "DQS as input, DQ as output" ?

RVTMQ7v.png


3) Could anyone help with explaining how DQSBUFM.v is used in DDR3 implementation ?
 

Attachments

  • DQSBUFM.txt
    29.3 KB · Views: 155
Last edited:

It says in the file that it is a simulation library file. I'm assuming that means it is a simulation ONLY file for a DQSBUFM primitive in the Lattice part you are using. It most certainly would not be synthesized as such a primitive isn't implemented in the FPGA's fabric.
--- Updated ---

You are skipping over your reading of the datasheet it plainly states on page 115 Note 6 that V stands for H or L.

You should really read every word from start to finish of the datasheet before attempting to write code for the part.
 
Last edited:

    promach

    Points: 2
    Helpful Answer Positive Rating
It would be great to know why you are trying to create a hardware model of the DDR3 RAM inside FPGA which is what is being implied here actually.

Vendors often provide simulation library that can be used to in simulation of our system.

Please remember that with high speed interfaces, signal integrity issues can often lead to fault behaviour rather than our memory controller having wrong functionality. Finally I would emphasize that it is best to use the memory controller provided by the FPGA vendor i.e use memory controllers that come with Quartus, Libero e.t.c rather than writing your own. This is because it is a very difficult task to write of these memory controllers.
 

I remember there is an analog block sitting between digital logic and the DDR pads. Would promach design and simulate that?
I can design the digital part in ASIC and I am looking for open source study materials on the analog part.
 


From the modelsim console log, it seems that the data loopback(readback) works.

However, how to simulate "inout" dqs signals correctly inside modelsim ?
Note: I tried changing 1'b0 to 1'bz , but it does not help.

1622808676144.png
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top