1. 程式人生 > >Modelsim仿真.do腳本示例

Modelsim仿真.do腳本示例

代碼 wave fun 仿真 ear altera div 存在 vlib

#“#”為註釋

#刪除原有工程,需重啟Modelsim

#vdel -all -lib work

#退出當前仿真

quit -sim

#清空命令行顯示

.main clear

#創建庫,是實際存在的物理庫

vlib ./lib
vlib ./lib/design_work
vlib ./lib/sim_work
vlib ./lib/altera_work

#映射邏輯庫到指定的物理庫

vmap d_work ./lib/design_work
vmap s_work ./lib/sim_work
vmap a_work ./lib/altera_work

#編譯代碼文件到邏輯庫

vlog -work s_work ./tb_serial_detec.v
vlog -work d_work ./../design/*.vo
vlog -work a_work ./altera_lib/*.v

#連接邏輯庫,並啟動仿真

vsim -t ns -sdfmax tb_serial_detec/serial_detec_inst=serial_detec_v.sdo -voptargs=+acc -L s_work -L d_work -L a_work s_work.tb_serial_detec

#狀態機中狀態的定義,用於顯示

virtual type {
{0x001 s0}
{0x002 s1}
{0x004 s2}
{0x008 s3}
{0x010 s4}
{0x020 s5}
{0x040 s6}
{0x080 s7}
{0x100 s8}
} new_state

virtual function {(new_state)/tb_serial_detec/serial_detec_inst/c_state} state

#添加波形

add wave -divider {tb_serial_detec}
add wave -color yellow tb_serial_detec/*
add wave -divider {serial_detec}
add wave -color blue tb_serial_detec/serial_detec_inst/sclk
add wave -color blue tb_serial_detec/serial_detec_inst/rst_n
add wave -color blue tb_serial_detec/serial_detec_inst/i_bit
add wave -color blue tb_serial_detec/serial_detec_inst/detec_success

#狀態機狀態顯示

add wave -color red tb_serial_detec/serial_detec_inst/state

#設定仿真運行時間

run 50us

Modelsim仿真.do腳本示例