一、Vsim选项整理
1、vsim指令载入一个设计到仿真器,语句格式:
Vsim [option] +TESTNAME=[测试名] [逻辑库.tb文件]
2、常用选项:
# 常用
-c # 使vsim运行在命令行模式,不启动图形界面,节省时间
-novopt # 不采用vopt优化,常和+acc配合使用
-l <logfile> # 输出仿真的log文件
-do <dofile> # 开始仿真后运行tcl脚本(控制文件)
-L # 加载所需要的仿真库文件
-sv_seed 0 随机种子
# 其它
-t # <ps or ns> 定义仿真时间精度
-g|G<name=value> # 设置VHDL的generic参数值
-quiet # 关闭loading的信息
-coverage # 收集覆盖率信息
-classdebug 更多类调试功能
-solvefaileddebug 随机化失败更多信息
3、例子
vsim -c -l vsim.log -do ./DemoDo.do -L ./work work.foo # 命令行模式,输出日志到vsim.log,开始仿真后运行DemoDo.do脚本文件,指定逻辑库work,work.foo是仿真的top level module
4、vsim之外的其他questa常用指令
vlog # 编译
vlib # 建立一个新的工作库/逻辑库
vmap # 映射逻辑库名到制定的目录
add wave # 将信号加入波形
run # 执行仿真(默认执行100ns,-all 执行到结束)
quit # 退出仿真
二、questasim自动化仿真do文件书写
set QUESTAPATH /home/su/questasim # 设置路径变量
vlib example/work0326 # 在工作目录下创建新库目录(工作目录/home/su/questasim,生成的新库目录下包括自动生成的_info文件)
vmap work0326 ./work0326 # 将新库目录的物理地址(/home/su/questasim/example/work0326)映射到逻辑库地址(即工作目录/home/su/questasim)。逻辑库名与物理库名最好一致。
vlog -work ./work0326 $QUESTAPATH/*.v # 编译目录下所有.v文件到新库中
vsim -L ./work0326 -voptargs=+acc work0326.tb0326 # 启动仿真器,全可见性优化
add wave tb0326/* # 启动波形,添加tb文件中的所有信号
run -all # 执行仿真到结束
三、常用指令及选项
# add wave
add wave -dec sim:/tb0326/* # 添加一个模块所有信号
add wave -unsign sim:/tb0326/clk # *的位置换为具体信号
参考文献:modelsim脚本仿真设计(一)仿真源代码 https://blog.csdn.net/weixin_43649647/article/details/109689997
参考文献:Modelsim do文件和批处理文件的使用 https://blog.csdn.net/qq_27745395/article/details/76449320
参考文献:modelsim自动化仿真之do文件 http://www.360doc.com/content/17/1229/17/44378643_717453179.shtml
参考文献:Modelsim自动化仿真之do文件书写 https://my.oschina.net/u/4330588/blog/3841564
参考文献:modelsim常用tcl命令 https://wenku.baidu.com/view/a894e8d46137ee06eff918a8.html
参考文献:modelsim TCL脚本常用命令 http://www.voidcn.com/article/p-bwkzdnzj-bma.html
参考文献:questasim 下的仿真(vivado) https://blog.csdn.net/zlxdaisy/article/details/97765243
参考文献:modelsim使用命令 https://wenku.baidu.com/view/75f71e1e10a6f524ccbf8526.html
四、学习用课件
第6章 FPGA仿真工具推荐.ppt https://max.book118.com/html/2018/0429/163686302.shtm
五、windows下采用do文件运行仿真
# vdel -lib work0328 -all
vlib work0328
vmap work work0328
vlog ./*.v
vsim -voptargs=+acc work0328.tb0328
add wave tb0328/*
run -all