Forum: FPGA, VHDL & Co. ModelSim - Signale in Wave Fenster erst ab Zeitpunk XY


von Matthias K. (kruessi80)


Lesenswert?

Hi,

wieder mal ne Frage an die Profi's.
Wenn ich in ModelSim simuliere, werden die Signale immer ab 0ps 
angezeigt.
Ist es möglich zuerst z.B. 1ms, oder bis ein bestimmtes Signal z.B. auf 
'1' wechselt,  zu simulieren ohne dass die Signale in das Wave gezeigt 
werden und dann die Signale für die nächsten 200ns einzublenden, sodass 
man die nächsten 200ns bequem anschauen kann?

Das wäre total nützlich, da dann der "Schieber" unten breiter wäre als 
bei voller Simulation.

Ich weiß dass vieles über die *.do files möglich ist, aber ist das auch 
möglich?

Danke und Grüße
Matthias

PS: so geht's leider net...

1
onerror {resume}
2
quietly WaveActivateNextPane {} 0
3
4
delete wave *
5
6
run 1ms
7
8
add wave -noupdate -divider tb
9
add wave -noupdate -format Logic -radix hexadecimal /Table_tb/*
10
11
add wave -noupdate -divider DUT
12
add wave -noupdate -format Logic -radix hexadecimal /Table_tb/dut/*
13
14
TreeUpdate [SetDefaultTree]
15
16
WaveRestoreCursors {{Cursor 1} {0 ps} 0}
17
configure wave -namecolwidth 203
18
configure wave -valuecolwidth 100
19
configure wave -justifyvalue left
20
configure wave -signalnamewidth 2
21
configure wave -snapdistance 10
22
configure wave -datasetprefix 0
23
configure wave -rowmargin 4
24
configure wave -childrowmargin 2
25
configure wave -gridoffset 0
26
configure wave -gridperiod 1
27
configure wave -griddelta 40
28
configure wave -timeline 0
29
configure wave -timelineunits ns
30
update
31
WaveRestoreZoom {0 ps} {100 ns}
32
33
run 200ns

von Ottmar (Gast)


Lesenswert?

Wenn du nach dem "run 200 ns" ein ein neues WaveRestoreZoom commando 
einfügst dann zoomed das wave window auf den angegebenen Bereich.

WaveRestoreZoom {1 ms} {1.0002 ms}

Der Schieber unten wird dadurch natürlich nicht größer.

von Matthias K. (kruessi80)


Lesenswert?

klar.
Allerdings möchte ich eigentlich im Endeffekt
erreichen, dass ModelSim "schnell" bis zu einem Zeitpunkt
XY simuliert und dann die von mir gewünschten Signale
analysiert und anzeigt.

Soweit ich weiß, läuft die Simulation auch schneller, wenn
ich weniger Signale auf das Wave lege. Somit muss es da
irgend einen Unterschied in den Tiefen von ModelSim geben...

von Ottmar (Gast)


Lesenswert?

Das macht dein Script doch schon!

Die simulation läuft ohne waves bis 1 ms, dann erst werden die waves 
eingefügt.

Wenn du trotzdem noch waves in dem Zeitraum vor 1 ms hast, dann hast du 
beim restart der simulation nicht alle wave's/log's gelöscht.

Der geschwindigkeitsvorteil von simulationen ohne waves ist je nach 
anzahl der gelogten signale nicht so wahnsinnig hoch.

von Matthias K. (kruessi80)


Lesenswert?

Ottmar schrieb:
> Wenn du trotzdem noch waves in dem Zeitraum vor 1 ms hast, dann hast du
> beim restart der simulation nicht alle wave's/log's gelöscht.

guter Tipp.
Es fehlte nur noch eine Zeile für den Restart.
Danke :-)
1
onerror {resume}
2
quietly WaveActivateNextPane {} 0
3
4
delete wave *
5
6
restart -force -nobreakpoint -nofcovers -nolist -nolog
7
8
run 1ms
9
10
add wave -noupdate -divider tb
11
add wave -noupdate -format Logic -radix hexadecimal /macAddrTable_tb/*
12
13
add wave -noupdate -divider DUT
14
add wave -noupdate -format Logic -radix hexadecimal /macAddrTable_tb/dut/*
15
16
TreeUpdate [SetDefaultTree]
17
18
WaveRestoreCursors {{Cursor 1} {0 ps} 0}
19
configure wave -namecolwidth 203
20
configure wave -valuecolwidth 100
21
configure wave -justifyvalue left
22
configure wave -signalnamewidth 2
23
configure wave -snapdistance 10
24
configure wave -datasetprefix 0
25
configure wave -rowmargin 4
26
configure wave -childrowmargin 2
27
configure wave -gridoffset 0
28
configure wave -gridperiod 1
29
configure wave -griddelta 40
30
configure wave -timeline 0
31
configure wave -timelineunits ns
32
update
33
WaveRestoreZoom {0 ps} {100 ns}
34
35
run -all

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.