ModelSim

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Modelsim ist eine mächtige Simulationsumgebung für HDLs. Diese erlaubt die taktsynchrone oder timinggenaue Simulation von digitalen Logikelementen. Die Simulationsumgebung ist z.B. im ISE WebPack als ModelSim XE III Starter enthalten, das kostenlos bei Xilinx erhältlich ist. Es gibt auche eine kostenlose "Altera Web Edition", die auf 10000 Zeilen brschränkt ist.


Unter Modelsim XE Altera Bauteile simulieren

Für die Simulation Altera-spezifischer Bausteine wie BRAM, DDR, IOs, PLL werden die Libraries von Altera benötigt, die eingebunden werden müssen.

Dazu die Modelsim Altera Version downloaden und installieren, das Verzeichnis Modelsim ae/altera nach modelsim xe/altera kopieren und die INI-Datei im Modelsim_xe verzeichnis folgendermassen erweitern:

[Library]

  • std = $MODEL_TECH/../std
  • ieee = $MODEL_TECH/../ieee
  • verilog = $MODEL_TECH/../verilog
  • vital2000 = $MODEL_TECH/../vital2000
  • std_developerskit = $MODEL_TECH/../std_developerskit
  • synopsys = $MODEL_TECH/../synopsys
  • modelsim_lib = $MODEL_TECH/../modelsim_lib
  • lpm = $MODEL_TECH/../altera/vhdl/220model
  • alt_vtl = $MODEL_TECH/../altera/vhdl/alt_vtl
  • altera_mf = $MODEL_TECH/../altera/vhdl/altera_mf
  • altgxb = $MODEL_TECH/../altera/vhdl/altgxb
  • cyclone = $MODEL_TECH/../altera/vhdl/cyclone
  • sgate = $MODEL_TECH/../altera/vhdl/sgate

Modelsim_xe starten, die neu hinzugekommenen Libraries rekompilieren

Simulation von Speicherinhalten von Quartus unter Modelsim

Der Inhalt des Speichers muss im Intel hex Format vorliegen. Falls dies nicht der Fall ist müssen folgende Schritte durchgeführt werden:

  • Quartus öffnen
  • Speicher Datei öffnen (mif)
  • Datei/speichern unter..
    • hex als Dateiendung wählen
  • Hinweis: Dateiname und Endung immer klein schreiben!!!

Im Design muss noch die File Endung von mif in hex geändert werden.

  • init_file => "prog.hex"

Hinweis: Der Speicherinhalt kann unter View/debug/memory angeschaut werden.