ModelSim: Unterschied zwischen den Versionen

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche
(crash tip added)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Beschreibung=
=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, wennman sie zuvor in eine gerasterte digitale Darstellung (Signalbus oder Integer) überführt.
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.


=Versionen=
=Versionen=
Zeile 10: Zeile 10:
* ModelSim Designer
* 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.
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].
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 ==
==Freie Versionen==
Eine kostenlose Simulationsumgebung für Xilinx Bausteine ist z.B. im ISE WebPack 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]). Für die Alteraumgebung, gibt es mittlerweile ebenfalls eine kostenlose "Altera Web Edition".
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=
=Tips und Tricks=

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).