mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Yann B. (Firma: Berlin) (yann)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: FPGA zum Spass (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Yann B. (Firma: Berlin) (yann)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: FPGA zum Spass (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

imt48lc32m16a2_lower : entity work.mt48lc32m16a2
   port map 
   (
      BA0       => DRAM_BA(0),   
      BA1       => DRAM_BA(1),   
      DQML      => DRAM_DQM(0),   
      DQMH      => DRAM_DQM(1),   
      DQ0       => DRAM_DQ(0),  
      ...
      DQ15      => DRAM_DQ(15), 
      CLK       => DRAM_CLK_DELAY,    
      CKE       => DRAM_CKE,    
      A0        => DRAM_ADDR(0),
      ...
      A12       => DRAM_ADDR(12),
      WENeg     => DRAM_WE_N,   
      RASNeg    => DRAM_RAS_N,  
      CSNeg     => DRAM_CS_N,   
      CASNeg    => DRAM_CAS_N  
   );

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.