Problem Modelsim Wave Fenster

Gast #3436588
Lesenswert?

Hallo,

ich bin gerade dabei mich in Modelsim einzuarbeiten, um VHDL-Code zu 
simulieren. In meinen ersten Beispielen habe ich die Signale mit Hilfe 
eines Do-Files erzeugt. Jetzt bin ich allerdings gerade dabei ein 
Beispiel aus dem Studium zu simulieren, welches aus zwei VHDL-Files 
besteht, bei denen eines die Signale für das andere File bereitstellt.

Bei Start Simulation habe ich die Entities von beiden VHDL-Files 
eingebunden. Ansonsten habe ich, wie bei den Beispielen mit dem Do-File, 
alle interessanten Signale in das Wave-Fenster gezogen. Allerdings zeigt 
mit jetzt das Wave-Fenster nur no data an.

Kann mir jemand sagen, was ich falsch mache bzw. vergessen habe zu tun?

Zur besseren Erklärung habe ich einen Screenshot des Ganzen im Anhang.

Andreas
Angehängte Dateien:
Gast #3436769
Lesenswert?

user schrieb:
> du solltest die simulation auch starten, gebe mal
>
> run 1ms
>
> ein

danke für die Info. Jetzt sehe ich zumindest schon einmal 
Signalverläufe. Allerdings ändern sich die Signale nicht so wie es im 
Programm programmiert ist (Screenshot im Anhang).

Ich hab mal noch zur besseren Verständlichkeit die beiden VHDL-Files 
auch noch beigefügt. Das Signal S sollte eigentlich nach 10 ns immer 
seinen Signalzustand ändern. Wie man im Wave-Fenster sieht, tut es das 
aber nicht.

Muss ich sonst auch noch was einstellen?

Gruß
Angehängte Dateien:
Gast #3436917
Lesenswert?

Andi schrieb:

> Ich hab mal noch zur besseren Verständlichkeit die beiden VHDL-Files
> auch noch beigefügt. Das Signal S sollte eigentlich nach 10 ns immer
> seinen Signalzustand ändern. Wie man im Wave-Fenster sieht, tut es das
> aber nicht.
>
> Muss ich sonst auch noch was einstellen?
>
> Gruß

Ist das stimuli auch ohne fehlermeldung übersetzt worden? IMHO ist die 
loop anweisung unvollständig.
1
stimulus : process
2
   constant td : time := 5 ns;
3
   begin
4
      loop
5
   wait for td; S  <= 'U';
6
   wait for td; S  <= 'U';
7
   wait for td; S  <= 'X';
8
   wait for td; S  <= 'X';
9
   wait for td; S  <= '0';
10
...
Gast #3437015
Lesenswert?

Lothar Miller schrieb:
> Fpga Kuechle schrieb:
>> IMHO ist die loop anweisung unvollständig.
> Nein, das passt schon. Man kann/könnte eine Schleife auch anders
> verlassen als über eine vorher bekannte Grenze...
> http://www.ics.uci.edu/~jmoorkan/vhdlref/while.html

OK, man lernt nie aus.

Nächster Punkt: Welches file simulierst du die testbench oder das 
design?

Du musst die testbench simulieren (vsim test_signalattribute).
die signalnamen sind ein bißchen kurz (was aber auch sein kann das die 
optionen für das wave fenster auf 2 path elemente gesetzt sind). Wenn du 
auf full path setzt muß als name das signal und die komplette 
designhierarchie angezeigt werden: also etwa:

test_signalattribute/dut/signalattribute/S


tipp doch mal "history" (zeigt die letzten simulaterkommandos an) in die 
modelsim konsole, da muß eine Zeile mit
"vsim" stehen. Wie lautet diese?

MfG

Nachedit:
das add wave kommando das man im ersten screenshot links unten sieht 
bestätigt mich in der Vermutung, das das design und nicht die tb 
simuliert wird. also Simulation beenden und neustarten mit der tb als zu 
simuliertes Objekt.

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