Forum: FPGA, VHDL & Co. ModelSim, Reihenfolge der Signale wo ändern?


von Igor (Gast)


Lesenswert?

Hallo,


wo und wie kann ich die Reihenfolge der Signale die sich im Modelsim 
öffnet ändern? Die Testbench hab ich mir angeschaut, aber daraus keine 
Erkenntnis gewonnen.


Kann mir jemand ein Tipp geben?


Gruß


Igor

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


Lesenswert?

Du meinst die Reihenfolge in der Waveform?
Falls ja: probiers mal mit Drag&Drop...  (wir haben ja schliesslich ein 
Windows-Programm)  :-/
Und dann am besten als wave.do Datei abspeichern, dann kannst du diese 
Reihenfolge das nächste Mal einfach wieder laden.

von Igor (Gast)


Lesenswert?

Ja also ich erstelle mir eine Bench in ISE und lade sie dann im 
Modelsim. Es nervt mich immer mir die Signale jedes mal zusammen zu 
stellen so wie ich das haben will.


Wenn ich es abspeicher und was in der ISE ändere an Bedingungen zum 
Beispiel, werden dann diese neuen Bedingungen auch in der 
abgespeicherten Wave.do geladen? Bzw. wenn ich über ISE die Testbench in 
Modelsim lade übernimmt er es auch da?



Gruß

Danke für die Antwort

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


Lesenswert?

> Bzw. wenn ich über ISE die Testbench in
> Modelsim lade übernimmt er es auch da?
Über ISE wird der Simulator nur ein einziges Mal gestartet. Nach einer 
Änderung im VHDL-Text wird dann das geänderte Modul im Simulator neu 
compiliert. Dann wird über das Kommando "restart" die Simulation 
zurückgesetzt und z.B. mit "run 100 us" die Simulation neu gestartet.

> Es nervt mich immer mir die Signale jedes mal zusammen zu
> stellen so wie ich das haben will.
Wie gesagt: Du darfst nicht jedesmal den Simulator schliessen und wieder 
neu starten, denn dann wird jedesmal die Waveform neu angelegt.

von Bergvagabund (Gast)


Lesenswert?

Modelsim stellt im Wavewindow die Signale in genau der Reihenfolge dar, 
wie sie auch im entsprechenden tb.vhd file deklariert wurden.

Ich steuere jedoch meine Simulationen immer mit einem selbst 
geschriebenen *.do Script, welches ich bei jeder neuen Testbench gleich 
mit anlege.

Das was einem die ISE im Hintergrund abnimmt kann man auch selber machen 
und hat dann alles in der Hand (z.B. auch gleich die Darstellung von 
internen Variablen und Signalen in einer Behavioural Simulation).

von Igor (Gast)


Lesenswert?

>Modelsim stellt im Wavewindow die Signale in genau der Reihenfolge dar,
>wie sie auch im entsprechenden tb.vhd file deklariert wurden.

Ja kann ich das dort manuel ändern? Falls ja wie und wo?


>Über ISE wird der Simulator nur ein einziges Mal gestartet. Nach einer
>Änderung im VHDL-Text wird dann das geänderte Modul im Simulator neu
>compiliert. Dann wird über das Kommando "restart" die Simulation
>zurückgesetzt und z.B. mit "run 100 us" die Simulation neu gestartet.


Wo genau muss ich restart eingeben? Also welchen genauen Code muss ich 
wo genau eingeben?


Gruß


Igor

von Christian R. (supachris)


Lesenswert?

Mach es einfach komplett im Modelsim, und zwar so:

1. Im Modelsim direkt ein neues Projekt anlegen.
2. Alle VHDL Dateien deines Designs zum Projekt hinzufügen
3. Eine .do Datei erstellen mit mindestens

vsim work.xxxx.vhd -t 1ps
wave add *
run 100 us

(xxxx ist der Name deiner Testbench Entity)

4. Die .do datei zum Projekt hinzufügen
5. alle vhd Dateien kompilieren, dann bekommen die einen grünen Haken
6. Simulation starten, indem du die .do Datei ausführst (rechte 
Maustaste -> Execute)
7. Signale im Wave Fenster beliebig sortieren
8. Wave abspeichern als wave.do
9. .do Datei von oben editieren, statt wave add * jetzt do wave.do 
reinschreiben
10. Jetzt kannst du die Simulation immer wieder bei Änderungen direkt 
aus dem modelsim starten, welche VHDL Dateien geändert wurden und neu 
kompiliert werden müssen, siehst du an dem grünen Haken bzw. dem gelben 
Fragezeichen im Modelsim.
11. Neustarten einer Simulation mit Restart-Knopf oben. Dann das Fenster 
bestätigen und mit Run neben der Zeiteingabe wieder laufen lassen.

Ich mach das immer so, geht am bequemsten und schnellsten, da ModelSim 
immer neben ISE geöffnet ist.

von Igor (Gast)


Lesenswert?

Puh... ok ich probiere das mal heute, dann melde ich mich nochmal!


Danke

von Obstmann (Gast)


Lesenswert?

Vielleicht hilft es dir auch, wenn du eine kleine Textdatei schreibst 
die du dann einfach mit dem "source" Befehl lädtst? Ich hab aber noch 
nie mit der ISE in Verbindung mit ModelSim gearbeitet, daher weiß ich 
nicht ob das so klappt (aber wieso sollte es nicht gehn?).
Hier läuft alles skriptbasiert ab und über den MS aufruf "source 
TEXTDATEI" lädt MS die Signale in der Reihenfolge in das Wave Fenster, 
wie sie in der Datei stehn.

Da kannst dann auch gleich mit Farben, Radix und Größe rumspielen

z.B.

add wave sim:/tb/uut/clk
add wave -radix hex sim:/tb/uut/datenwulst
add wave -hight 30 -divider "XXX"
add wave -color #00FFEE sim:/tb/separator

usw.

Grüße

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.