Forum: FPGA, VHDL & Co. SDRAM IP Core mit Quartus Prime simulieren


von Yann B. (yann)


Lesenswert?

Hallo,

ich möchte den SDRAM Chip meines Boards (DE2-115) nutzen. Dazu verwende 
ich die IP Core von Altera und ich möchte diese mit ModelSim testen aber 
ich komme nicht zu recht. Kann jmd mir bitte sagen, wie ich die SDRAM IP 
Core mit ModelSim testen kann?

Vielen Dank.

von FPGA zum Spass (Gast)


Lesenswert?

Hi,

habe das gleiche Board und ein Design mit SDRam Core und Simulation 
laufen.
Ist zwar nicht der Altera Core, spielt aber für das Testbench Model 
keine Rolle.

Was du brauchst ist das hier:
https://www.freemodelfoundry.com/fmf_models/ram/mt48lc32m16a2.vhd

Denk dran, das auf dem Board 2 SDRam Chips sind und demzufolge das Model 
auch 2 mal in die Testbench muss!


Wenn du weitere Fragen hast, dann raus damit.

von Yann B. (yann)


Lesenswert?

Hi FPGA zum Spass,

und danke für deinen Beitrag und das Modell. Dieses sieht sieht komplex 
aus aber ich schaue mir es mal an. Wie hast du dieses Modell simuliert?

Ich habe bei der Erzeugung der HDL Dateien in Platform Designer ein 
funktionales Speichermodel erstellen lassen und ich wollte nutzen, um 
den SDRAM-Controller zu simulieren.

von FPGA zum Spass (Gast)


Lesenswert?

In der Testbench instantiiert und das wars.
Hier mal meine (gekürzte) Variante für die unteren 16 Bit.

Alternativ kannst du vielleicht auch das Modell aus Quartus benutzen, 
kann ich nicht sagen, ich benutzte wie gesagt den Systembuilder nicht, 
sondern einen rein VHDL basierten SDRam Core.
1
imt48lc32m16a2_lower : entity work.mt48lc32m16a2
2
   port map 
3
   (
4
      BA0       => DRAM_BA(0),   
5
      BA1       => DRAM_BA(1),   
6
      DQML      => DRAM_DQM(0),   
7
      DQMH      => DRAM_DQM(1),   
8
      DQ0       => DRAM_DQ(0),  
9
      ...
10
      DQ15      => DRAM_DQ(15), 
11
      CLK       => DRAM_CLK_DELAY,    
12
      CKE       => DRAM_CKE,    
13
      A0        => DRAM_ADDR(0),
14
      ...
15
      A12       => DRAM_ADDR(12),
16
      WENeg     => DRAM_WE_N,   
17
      RASNeg    => DRAM_RAS_N,  
18
      CSNeg     => DRAM_CS_N,   
19
      CASNeg    => DRAM_CAS_N  
20
   );

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.