I am running a Modelsim script and the transcript window gets stuck. I have tried the following to go to the next line in the transcript window without any success.

  1. Simulate > End simulation
  2. Simulate > Break

Any other ways to come out of this/ find out the reason for it?

The TCL script used is as follows.

variable dir .

# Stop simulation if already running one
quit -Sim

# Open project
project open $dir/sim_mesi_isc

vlib work
#vmap work work

# Compile the required Verilog files (For the initial run)
vlog -work work -vopt -nocovercells $dir/mesi_isc_basic_fifo.v
vlog -work work -vopt -nocovercells $dir/mesi_isc_basic_fifo_buggy.v
vlog -work work -vopt -nocovercells $dir/mesi_isc_breq_fifos.v
vlog -work work -vopt -nocovercells $dir/mesi_isc_broad.v
vlog -work work -vopt -nocovercells $dir/mesi_isc_tb_cpu.v
vlog -work work -vopt -nocovercells $dir/mesi_isc.v 
vlog -work work -vopt -nocovercells $dir/mesi_isc_breq_fifos_cntl.v
vlog -work work -vopt -nocovercells $dir/mesi_isc_broad_cntl.v
vlog -work work -vopt -nocovercells $dir/mesi_isc_define.v
vlog -work work -vopt -nocovercells $dir/mesi_isc_tb_define.v
#vlog -work work -vopt -nocovercells $dir/mesi_isc_tb_custom.v 
vlog -work work -vopt -nocovercells $dir/mesi_isc_tb.v 

# Generate VCD files after simulation
vsim -novopt work.mesi_isc_tb

# Load the waveform file in the Wave window of Modelsim.
do wave.do

# Run and break just before the instructions generated from the test vectors are executed
run -all

# Add the signals to the list window
add list  \
mesi_isc_tb/mesi_isc/clk \
mesi_isc_tb/mesi_isc/rst \
mesi_isc_tb/mesi_isc/mesi_isc_breq_fifos/fifo_0/rd_i \
mesi_isc_tb/mesi_isc/mesi_isc_breq_fifos/fifo_0/ptr_rd \
mesi_isc_tb/mesi_isc/mesi_isc_breq_fifos/fifo_0/ptr_wr \
mesi_isc_tb/mesi_isc/mesi_isc_breq_fifos/fifo_0/fifo_depth \
mesi_isc_tb/mesi_isc/mesi_isc_breq_fifos/fifo_0/status_full \
mesi_isc_tb/mesi_isc/mesi_isc_breq_fifos/fifo_0/wr_i \
mesi_isc_tb/mesi_isc/mesi_isc_broad/broad_fifo/data_o \
mesi_isc_tb/mesi_isc/cbus_cmd0_o \

# Write the list to a file
write list -window .main_pane.list.interior.cs.body list_mesi_isc.lst

Update (2-Sep-2019) I have been using a second screen connected through HDMI cable (in second screen only mode). The above mentioned issue arises when I switch back to my laptop screen (only) and disabling the second screen. When I switch back to the second screen option, the Modelsim window which was stuck resumes the execution and finishes as expected. Waiting for somebody to throw some light on this behavior.

  • 1
    \$\begingroup\$ Task Manager / End Process when all else fails. \$\endgroup\$ – user_1818839 Sep 2 '19 at 7:48
  • \$\begingroup\$ Do other programs in Modelsim work correctly? If so it is a code or even data issue. Have it report what step it is on and see if it locks or pauses at the same point... \$\endgroup\$ – Solar Mike Sep 2 '19 at 8:04
  • \$\begingroup\$ @BrianDrummond Other functionalities (like menu options) work fine. I could use alternative of Task manager kill (like kill -9) if it was completely stuck. \$\endgroup\$ – vineeshvs Sep 2 '19 at 13:43
  • \$\begingroup\$ @SolarMike The same TCL script works if my second screen is connected. I am not sure if it's the code. Any suggestions on how to monitor the execution to see in which line of the script it's stuck? Or would that even help in this case? \$\endgroup\$ – vineeshvs Sep 2 '19 at 13:44
  • 1
    \$\begingroup\$ @SolarMike, in ModelSim, that's the Transcript window - it's the user console window. However, it's locked and won't scroll. \$\endgroup\$ – TonyM Sep 2 '19 at 15:22

Solution 1:

Hide transcript window (View -> Transcript), and then enable it (View -> Transcript). After this the execution will get finished, waves will appear in the wave window etc.

Solution 2:

Keep the Transcript window detached from the main Modelsim window.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.