Variablen in ModelSim anzeigen

#650955
Lesenswert?
• ▲
▼
Und es geht doch...

In Modelsim benötigt man als "Debug Window" neben dem "Workspace", 
"Objekts" und "wave" View auch den "Locals" View (Unter: View->Debug 
Windows->Locals).
Wählt man jetzt im Workspace View in der Hierarchie des Designs einen 
Prozess mit einer Variable, so erscheint diese im Locals View. Von hier 
aus kann diese dann per Drag'n'Drop in das wave Window hinzugefügt 
werden.
Speichert man dieses ab, so hat man auch den Variablen-Pfad in der 
wave.do Datei.

Soweit ich weiß, sieht man aber nur die Änderungen, zwischen denen 
Simulationszeit vergeht. Möchte man jede Änderung einer Variablen 
verfolgen, so bleibt wohl nichts anderes übrig, all schrittweise den 
Quellcode in der Simulation zu durchlaufen. Setzt man sich ein paar 
breakpoints geht das auch ganz gut.
Es gibt dann noch die Möglichkeit ein Debugging für Arme durchzuführen: 
"printf Debugging" ;-) bzw. hier mit Hilfe von asserts.

Gruß DaMicha.
Gast #651138
Lesenswert?
• ▲
▼
Bitte nicht als Nachplapperer beschimpfen, aber IMHO hat da Micha das 
ganze ein wenig zu kompakt beschrieben.

(1) Variablen kann man im Wave anzeigen
(2) die auswahl dafür ist anders als für signale
(3) man öffnet View process zusätzlich (und view variables)
(4) jetzt wählt man im Library browser wie bei signalen die interessante 
Komponente
(5) wenn der richtige "Scope" eingestellte wurde (wie v. Micha 
beschrieben)
    zeigt das Processfenster Zeilennummer und process
(6)im processfenster wählt man den entsprechenden Prozess/Zeile (line) 
aus
(7)jetzt werden im variblaes fenster die vorhandenen Variablen angezeigt
(8)von dort kann man die variablen per Maus oder add to wave ins wave 
bugsieren.

Wahrscheinlich ist es im modelsim-PDF oder online - help ebenfalls 
beschrieben.
Gast #651202
Lesenswert?
• ▲
▼
Ich mache das mit den Variablen immer so:
Den Prozess auswählen, in dem die Variablen sind. Und dann Add All to 
Wave oder so ählnich drücken.
Dann hat man zwar alle Variablen und etliche Signale doppelt, aber alles 
nicht benötigte wird dann halt wieder von mir gelöscht.
Gast #908284
Lesenswert?
• ▲
▼
Aus irgend einem Grund erscheinen meine Variablen nicht im locals 
Fenster.

Mein Vorgehen:

1. View locals aktivieren
2. Im workspace die entsprechende Komponenete auswaehlen
3. das Plus vor der Komponente aufklappen und den entsprechenden Prozess 
[bzw. die prozessgruppe, siehe Zusatzinfo weiter unten] auswaehlen (ja 
der Prozess hat einen Namen)
4. ich erwarte die in diesem Prozess verwendeten Variablen im locals 
view

ABER sie erscheinen da nicht.

Was koennte der Grund dafuer sein das meine Variablen nicht im locals 
view (von wo aus ich sie einfach ins wave-Fenster ziehen koennte) 
erscheinen??

Zusatzinfo:
Im locals view erscheint folgendes:
--------structure--------------
--------#MERGED#prozessname_1,prozessname_2

das heisst ich kann nicht jeden Prozess einzeln auswaehlen sondern das 
ist irgendwie kombiniert. Was koennte der Grund dafuer sein?

Danke schonmal fuer Eure Hilfe
#908300
Lesenswert?
• ▲
▼
Tom wrote:

> Im locals view erscheint folgendes:
> --------structure--------------
> --------#MERGED#prozessname_1,prozessname_2
>
> das heisst ich kann nicht jeden Prozess einzeln auswaehlen sondern das
> ist irgendwie kombiniert. Was koennte der Grund dafuer sein?

Deine entity wurde mit Optimierungen compiled.
Im context menu Properties->VHDL->Disable_all_optimizations ticken
dann werden die processes nicht mehr gemerged.

btw, einen neuen thread aufmachen kostet nix, warum immer die Alten 
hervorkramen?


Cheers, Roger
Gast #908320
Lesenswert?
• ▲
▼
Ich wollte erst einen neuen Thread aufmachen aber da kamen dann 
vorschlaege zu bereits existierenden Beitraegen und da dachte ich ich 
erweiter den hier einfach weil es ja genau darum geht.

Also der Tipp klingt erstmal super. Leider mache ich noch irgendetwas 
falsch.

Ich habe das entsprechende Haekchen gesetzt, alles neu compiliert und 
die Simulation neu gestartet, dennoch erscheint das merged und ich sehe 
keine Variablen.

Muss ich noch etwas tun?
Gast #908327
Lesenswert?
• ▲
▼
Ups sorry hatte es fuer die falsche Datei eingestellt.

Man muss also im workspace unter project die Datei mit dem 
entsprechenden Prozess rechts klicken und dort unter properties die 
genannte Einstellung vornehmen.

Super! Vielen Dank fuer die Hilfe!!
#908331
Lesenswert?
• ▲
▼
@  Schweizer (Gast)

Die haelfte der Diskussionspartner ist vermutlich gar nicht mehr 
present.
Es ist nicht dasselbe Problem.
Tom ist nicht der OP dieses Threads.
Das Problem des OP wurde vor ueber einem halben Jahr geloest.

Wenn das Ziel eine Sammlung von Tips zu Variablen in ModelSim sein soll,
dann gehoert das in einen Artikel.

Cheers, Roger
Gast #1880096
Lesenswert?
• ▲
▼
Ja das geht unter ModelSim. Im Tab View, unter Local ein häckchen machen 
und es erschein ein Fenster mit allen Variablen. Diese können dann ins 
Wave Fenster gezogen werden. Gilt für ModelSIm 6.4.a
Viel Spaß

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren