2

Background : ModelSim v10.4d installed with quartus v16.0

I wrote a .do file to simulate my design with ModelSim.

The steps in my .do file are:

1- vcom *.vhd : compile all sources files and testbench
2- vsim work.my_tb : load testbench for simulation
3- log * -r : tell modelsim to record everything
4- run xx us : run simulation for a certain time

and then I manually add signals to waveform window.

This flow works fine, but when I modify some codes and re-do the .do file, problem happens :

The 2nd run of .do file will update the dataset file .wlf. But the signals in the waveform window are still on the old dataset. I tried two things as below to update signals:

1- file->open->new dataset, signals in the waveform window are NOT updated to the new dataset.
2- file->open->new dataset, then file->dataset browser-> close old dataset,
this will delete those signals in the waveform window. Then I had to add 
those signals manually a second time, then the signals are up to date, but 
this wastes a lot of time.

So I wonder if there is a simpler way to update signals in the waveform window to the new dataset?

toolic
  • 57,801
  • 17
  • 75
  • 117
Cong Li
  • 369
  • 2
  • 5
  • 13
  • I cannot reproduce your issue. If I run `vsim work.[...]` during an active simulation, the old simulation is terminated and a new simulation is started: modelsim will empty my waveform window... I then have to add the signals again anyway. – JHBonarius Mar 29 '18 at 09:23
  • @JHBonarius Yes,in my .do file, I disabled `vsim tb` if `dataset info exists` returns 1, that's why it didn't restart a new simu; And now I found a way to work around my original question: I do save the current signals' wave into a `wave.do` if `dataset info exists` returns 1, and at the end I see if `wave.do` exists, load it if yes. But this is NOT a real waveform update, it just reload the whole simulation and waveforms. – Cong Li Mar 29 '18 at 14:24
  • Hmm, but do you restart your simulation (`restart -f`) in order to load the newly compiled entities? This should clear the waveforms. – JHBonarius Mar 29 '18 at 17:28

2 Answers2

0

ModelSim shows an alert dialog box whenever the code already compiled according to your ModelSim is not the same as your updated code. So any changes made to your dataset would cause this box to show up. I think you must have clicked overwrite changes accidentally. Hitting reload updates Modelsim with the new signals.

0

Run "dataset restart" command in the Transcript window.

Hiroo
  • 36
  • 3