ModelSim: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
(Kleinere Änderung im Einleitungssatz)
 
(16 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Modelsim ist eine Mächtige Simulationsumgebung für [[HDL]]'s. 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 [http://www.xilinx.com Xilinx] erhältlich ist.
=Beschreibung=
Modelsim ist eine mächtige Simulationsumgebung für [[Hardwarebeschreibungssprachen|HDL]]s. Diese erlaubt die taktsynchrone oder timinggenaue Simulation von digitalen Logikelementen. Anders, als reine Logiksimulatoren erlaubt Modelsim auch das Berechnen und Darstellen von Analogwerten, da Integer und Dezimaltypen intern als normale Variablen (Real) gehandhabt werden. Somit lassen sich auch analoge Modelle verwenden, wenn man sie zuvor in eine gerasterte digitale Darstellung (Signalbus oder Integer) überführt.


==Unter Modelsim_xe Altera Bauteile simulieren==
=Versionen=
Für die Simulation von Altera spezifischen Bausteinen (RAM,PLL..) werden, Liberties von Altera benötigt. Diese müssen eingebunden werden.
==Kommerzielle Versionen ==
Derzeit werden folgende Versionen von ModelTech vertrieben:
* ModelSim SE (Special Edition)
* ModelSim LE (Linux Edition)
* ModelSim PE (Personal Editon)
* ModelSim Designer
 
SE ist dabei die leistungsfähigste Version und auch für Unix sowie 64bit-Systeme verfügbar. Die Linux Edition (LE) kann kein VHDL (nur Verilog HDL, 07/2008) und die Personal Edition arbeitet nur mit 40% der Geschwindigkeit von SE und enthält z. B. keinen Optimizer (vopt). Der Designer entspricht ungefähr der PE-Version und besitzt die Möglichkeit VHDL per Schaltplan zu erzeugen.
 
Vergleichen lassen sich die Versionen direkt auf der [http://www.model.com/products/products_comparison.asp ModelTech-Seite]. Zu Einschränkungen/ Geschwindigkeit der Xilinx Edition (XE) bzw. XE Starter siehe auch folgenden [http://www.mikrocontroller.net/topic/58551#454480 Forumsbeitrag].
 
==Freie Versionen==
Eine kostenlose Simulationsumgebung für Xilinx Bausteine war z. B. im ISE WebPack (Version 11.1, 2010) als ModelSim XE III Starter enthalten, das kostenlos bei [http://www.xilinx.com Xilinx] erhältlich ist. Sie simuliert bei mehr als 10000 Codezeilen nur noch mit geringerer Geschwindigkeit (siehe [http://www.xilinx.com/support/answers/8078.htm Xilinx-Answer Record]).
Inzwischen setzt Xilinx auf den eigenen ISim-Simulator.
 
Für die Alteraumgebung, gibt es eine kostenlose "ModelSim Altera Starter Edition" [http://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.html].
 
=Tips und Tricks=
==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
 
==Farben==
===Schriftfarbe beim Waveform Print Postscript ändern===
Bsp Schwarz in der .ps Datei 0.5 0.5 0.5 durch 0.0 0.0 0.0 ersetzen.
 
===Waveform===
Viele wissen nicht, daß man sowohl den Namen als auch den Graphen eines Signales einfärben kann. (Eigenschaften). So wird die Darstellung erheblich verbessert.


Dies Modelsim Altera Version downloaden und installieren
Das Verzeichnis Modelsim ae/altera nach modelsim xe/altera kopieren
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
neu dazugekommene Libraries rekompilieren
[[Category:FPGA und Co]]


==Simulation von Speicherinhalten von Quartus unter Modelsim==
==Simulation von Speicherinhalten von Quartus unter Modelsim==
Zeile 39: Zeile 65:
Hinweis:
Hinweis:
Der Speicherinhalt kann unter View/debug/memory angeschaut werden.
Der Speicherinhalt kann unter View/debug/memory angeschaut werden.
==Crash==
Falls in der ''vish_stacktrace.vstf'' nach dem Crash sowas drin steht:
<pre>
Exception c0000005 has occurred at address 10229069. Traceback:
# 0    0x10229069: 'TkWinGetDrawableDC + 0x9'
# 1    0x1022918d: 'XCopyArea + 0x3d'
# 2    0x10275e25: 'Tk_CreatePhotoImageFormat + 0x2e25'
...
</pre>
dann könnte es am /3GB-Switch von Windows XP liegen (boot.ini).
[[Category:FPGA und Co]]

Aktuelle Version vom 4. Mai 2012, 03:52 Uhr

Beschreibung

Modelsim ist eine mächtige Simulationsumgebung für HDLs. Diese erlaubt die taktsynchrone oder timinggenaue Simulation von digitalen Logikelementen. Anders, als reine Logiksimulatoren erlaubt Modelsim auch das Berechnen und Darstellen von Analogwerten, da Integer und Dezimaltypen intern als normale Variablen (Real) gehandhabt werden. Somit lassen sich auch analoge Modelle verwenden, wenn man sie zuvor in eine gerasterte digitale Darstellung (Signalbus oder Integer) überführt.

Versionen

Kommerzielle Versionen

Derzeit werden folgende Versionen von ModelTech vertrieben:

  • ModelSim SE (Special Edition)
  • ModelSim LE (Linux Edition)
  • ModelSim PE (Personal Editon)
  • ModelSim Designer

SE ist dabei die leistungsfähigste Version und auch für Unix sowie 64bit-Systeme verfügbar. Die Linux Edition (LE) kann kein VHDL (nur Verilog HDL, 07/2008) und die Personal Edition arbeitet nur mit 40% der Geschwindigkeit von SE und enthält z. B. keinen Optimizer (vopt). Der Designer entspricht ungefähr der PE-Version und besitzt die Möglichkeit VHDL per Schaltplan zu erzeugen.

Vergleichen lassen sich die Versionen direkt auf der ModelTech-Seite. Zu Einschränkungen/ Geschwindigkeit der Xilinx Edition (XE) bzw. XE Starter siehe auch folgenden Forumsbeitrag.

Freie Versionen

Eine kostenlose Simulationsumgebung für Xilinx Bausteine war z. B. im ISE WebPack (Version 11.1, 2010) als ModelSim XE III Starter enthalten, das kostenlos bei Xilinx erhältlich ist. Sie simuliert bei mehr als 10000 Codezeilen nur noch mit geringerer Geschwindigkeit (siehe Xilinx-Answer Record). Inzwischen setzt Xilinx auf den eigenen ISim-Simulator.

Für die Alteraumgebung, gibt es eine kostenlose "ModelSim Altera Starter Edition" [1].

Tips und Tricks

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

Farben

Schriftfarbe beim Waveform Print Postscript ändern

Bsp Schwarz in der .ps Datei 0.5 0.5 0.5 durch 0.0 0.0 0.0 ersetzen.

Waveform

Viele wissen nicht, daß man sowohl den Namen als auch den Graphen eines Signales einfärben kann. (Eigenschaften). So wird die Darstellung erheblich verbessert.


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.


Crash

Falls in der vish_stacktrace.vstf nach dem Crash sowas drin steht:

Exception c0000005 has occurred at address 10229069. Traceback:
# 0    0x10229069: 'TkWinGetDrawableDC + 0x9'
# 1    0x1022918d: 'XCopyArea + 0x3d'
# 2    0x10275e25: 'Tk_CreatePhotoImageFormat + 0x2e25'
...

dann könnte es am /3GB-Switch von Windows XP liegen (boot.ini).