quit -sim //退出上一次的仿真
vlib work //建立work库
vlog ./uart_tb.v //编译当前文件夹下面的.v文件(当前文件夹就是do文件夹所在的文件夹)
vlog ./../design/*.v // ../退出当前文件夹,找到design 这个文件夹,并且编译design这个文件夹下的.v文件
vsim -voptargs=+acc work.uart_tb //进行仿真 这是一个固定的格式,拿去用即可
add wave -divider {uart} //添加波形,这个在modesim wave 窗口中 可以把信号分开 最下面附加的图片用箭头指示的就是这个语句的功能!
add wave uart/* #上面的语句添加的是分隔符,这个预语句添加的才是真正的波形
add wave -divider {Bps_rx}
add wave Bps_rx/*
add wave -divider {Uart_rx}
add wave Uart_rx/*
add wave -divider {data2ram}
add wave data2ram/*
add wave -divider {Bpx_tx}
add wave Bpx_tx/*
add wave -divider {Uart_tx}
add wave Uart_tx/*
add wave -divider {ram2data}
add wave ram2data/*
#do ./wave.do
run 1000ms
用Do文件脚本仿真非常方便,并且会大大提高仿真的效率!
do 文件使用技巧: 第一次仿真的时候,就使用上面的代码。在命令窗口里 do run.do 即可!
第二次仿真的时候,先把wave 波形保存一下,这个时候设置的波形颜色,数据显示格式都会被保存在 wave.do 文件里面 ,这次仿真的时候把第一次仿真添加的波形语句全部注释掉,然后再命令窗口里 do run.do 就可以非常效率地二次仿真!
.main clear
quit -sim
vlib work
vlog ./uart_tb.v
vlog ./../design/*.v
vsim -voptargs=+acc work.uart_tb
#vsim -novopt work.uart_tb
#add wave -divider {uart}
#add wave uart/*
#
#add wave -divider {Bps_rx}
#
#add wave Bps_rx/*
#
#add wave -divider {Uart_rx}
#
#add wave Uart_rx/*
#
#add wave -divider {data2ram}
#
#add wave data2ram/*
#
#add wave -divider {Bpx_tx}
#
#add wave Bpx_tx/*
#
#add wave -divider {Uart_tx}
#
#add wave Uart_tx/*
#
#add wave -divider {ram2data}
#
#add wave ram2data/*
do ./wave.do
run 1000ms
上面是第二次仿真时修改后的代码!(除了第一次仿真,其余的修改源代码后的仿真都被称为“第二次“仿真”)