Modelsim的仿真,如果一直使用图形界面建工程,编译,仿真,一个个加入观察波形的话,未免复杂了一些,尤其是当工程较大,需要观察的信号较多时,下面贴出一些常用的tcl脚本命令和wave.do常用语法:
vsim.tcl仿真脚本:
 vlib compress_lib
 vmap compress_lib compress_lib
  set verilog_file_list [ glob verilog/compress/*.v ]
  foreach i $verilog_file_list {
 vlog -work compress_lib $i
 }
  vlib uncompress_lib
 vmap uncompress_lib uncompress_lib
  set verilog_file_list [ glob verilog/uncompress/*.v ]
  foreach i $verilog_file_list {
 vlog -work uncompress_lib $i
 }
    vlib common_lib
 vmap common_lib common_lib
  set verilog_file_list [ glob verilog/common/*.v ]
  foreach i $verilog_file_list {
 vlog -work common_lib $i
 }
     vlib work_lib
 vmap work work_lib
  set verilog_file_list [ glob verilog/*.v ]
  foreach i $verilog_file_list {
 vlog -L compress_lib -L uncompress_lib -L common_lib -work work_lib $i
 }
  vsim -t ps -voptargs=\"+acc\" -L secureip -L xilinxcorelib -L unisims_ver  -L compress_lib -L uncompress_lib -L common_lib common_lib.glbl  work_lib.testbench
  # Turn off IEEE library warnings
 set NumericStdNoWarnings 1
 set StdArithNoWarnings 1
 do wave_me.do
 run -all
 wave.do波形观察文件内容示例:
 onerror {resume}
 quietly WaveActivateNextPane {} 0
  add wave -noupdate -format Logic -radix binary /testbench/clk_200
 add wave -noupdate -format Logic -radix binary /testbench/rstn
  add wave -noupdate -divider {incross fifo in  signals}
 add wave -noupdate -format Logic -radix binary /testbench/stest_wvalid
 add wave -noupdate -format Logic -radix binary /testbench/stest_wready
 add wave -noupdate -format Logic -radix hex /testbench/matlab_in
 add wave -noupdate -format Logic -radix decimal /testbench/stest_wdata_re
 add wave -noupdate -format Logic -radix hex /testbench/stest_wdata
   add wave -noupdate -divider {signals}
 add wave -noupdate -format Logic -radix binary /testbench/clk_200
 add wave -noupdate -format Logic -radix binary /testbench/incross_m_valid
 add wave -noupdate -format Logic -radix binary /testbench/incross_m_ready
 add wave -noupdate -format Logic -radix decimal /testbench/incross_m_data_re
 add wave -noupdate -format Logic -radix decimal /testbench/s_axi_tdata
 add wave -noupdate -format Logic -radix decimal /testbench/incross_wr_data_count
 add wave -noupdate -format Logic -radix decimal /testbench/incross_rd_data_count
 TreeUpdate [SetDefaultTree]
 WaveRestoreCursors {{Cursor 1} {200 ns} 0}
 WaveRestoreZoom {0 ps} {200 ns}
 configure wave -namecolwidth 150
 configure wave -valuecolwidth 100
 configure wave -justifyvalue left
 configure wave -signalnamewidth 1
 configure wave -snapdistance 10
 configure wave -datasetprefix 0
 configure wave -rowmargin 4
 configure wave -childrowmargin 2
 configure wave -gridoffset 0
 configure wave -gridperiod 1
 configure wave -griddelta 40
 configure wave -timeline 0