Forum: FPGA, VHDL & Co. Problem Modelsim Wave Fenster


von Andi (Gast)


Angehängte Dateien:

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

von user (Gast)


Lesenswert?

du solltest die simulation auch starten, gebe mal

run 1ms

ein

von Andi (Gast)


Angehängte Dateien:

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ß

von Fpgakuechle K. (Gast)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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

von Fpgakuechle K. (Gast)


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.

von Andi (Gast)


Lesenswert?

Fpga Kuechle schrieb:
> Du musst die testbench simulieren (vsim test_signalattribute).

Vielen Dank für die Info. Jetzt funktioniert es. Ich habe nämlich bisher 
beides, also Testbench und Programm, zusammen simuliert.

Vielen Dank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.