FPGA Base Questasim仿真do脚本Xilinx工程
Windows下对HDL代码仿真使用的比较多工具基本就是Modelsim和Questasim。
之前一直喜欢从ISE、Vivado、Quartus这类IDE中直接调用mentor的仿真工具,当时觉得还挺方便的。但是,后来在实践中对比,发现直接在文本编辑器里编写代码,通过do脚本来仿真工程,仿真速度和效率有很大的提高。
基于目前手里已经用用的脚本,结合Questasim文件中example,整理出一个更适合自己用的脚本。
建立仿真库
# Create the library.
if [file exists work] {
vdel -all
}
vlib work
编译仿真文件
vlog ../file_path/.v
vlog ../file_path/.sv
开始仿真
这里以Xilinx的工程仿真为例,添加必要的文件
选项-t 选项用于指示仿真时间显示精度
选项-novopt 表示不对代码做优化
选项+notimingchecks表示不做时序检查
选共-L 表示调用库
vsim -t ps -novopt +notimingchecks -L unisims_ver \
-L secureip \
-L unimacro_ver \
-L simprims_ver \
-L xpm \
-L unifast \
-L unifast_ver \
-gui work.sim_card_reader_fpga work.glbl
radix hex
添加波形
添加仿真波形,指定波形采用十六进制表示
add wave -hex -position insertpoint sim:/sim_top/monitor/*
add wave -position insertpoint sim:/sim_top/dut/*
指定仿真的时间
1、仿真执行的时间一直运行下去,仿真脚本中有触发仿真终止的条件
2、规定仿真运行的时间
根据实际仿真习惯选择即可
run -all
# run XX ms
总结
基于这个框架的do脚本,更换不通FPGA平台,只需要更改vsim中-L 选项带的库即可,这里以高云为例:
vsim -t ps -novopt +notimingchecks -gui -L gw2a_lib work.sim_top