赞
踩
#不需要新建modelsim工程,直接运行.do文件就可以仿真
建立仿真工程步骤
(一)新建工程顶层文件夹
(二)在顶层文件夹下新建三个文件夹,分别是:sim、tb、src
(三)编写do文件
vlib work
vmap work work
vlog -novopt -incr -work work “…/tb/tb.v”
vlog -novopt -incr -work work “…/src/xxx.v”
vsim -novopt work.tb
add wave -noupate /tb/*
run all
(四)打开modelsim,在File/Change Directory下制定仿真工程的文件夹位置,最后运行.do文件:do sim.do。
do文件中的关键字含义
vlib workspace
建立一个物理文件夹,名为workspace
2. vmap:将库与工程进行关联
Example:
vmap workspace worklibrary
建立一个库文件夹,名为worklibrary
vmap是Modelsim命令,后面两个work都是文件名。前面一个worksapce是vlib命令所创建的物理文件夹名(此文件夹必须用vlib命令事先定义好,才能被引用),后面一个worklibrary表示在Modelsim的Library窗口中创建了一个名为worklibrary的库文件夹。此命令输入后,将在Modelsim的Library窗口中创建了一个名为worklibrary的库文件夹(逻辑目录),其对应的物理目录是vlib创建好的名为worksapce的文件夹。
创建workspace文件夹的目的,是为了后续编译的文件都可以存放在这个文件夹下,Modelsim的worklibrary里可以看到编译文件名称,而这些编译文件实际是存放在vlib创建的workspace文件夹下。
3. vlog -work:添加源文件并编译
Example:
vlog -work worklibrary "../../*.v"
vlog -work是Modeisim命令,编译Verilog源码,将编译得到的结果放到名为worklibrary的逻辑库里面。该命令主要用于编译设计文件、测试脚本、调用的IP核文件及其相应的仿真库文件等。
文件名称中,如果直接跟着.v文件,表示与compile.do文件同一个文件夹路径下。…/表示向上一个文件夹目录。
4. vsim:开始仿真
Example:
vsim -coverage -voptargs="+acc" worklibrary.testbench_top
worklibrary.testbench_top表示以testbench_top.v文件作为测试脚本进行仿真;
worklibrary.是固定用法,即库文件夹名.,也可以是work.或xil_defaultlib.;
testbench_top是用vlog编译过的测试脚本的文件名。
-voptargs=+acc是固定命令脚本,表示优化部分参数
5. add wave:添加波形
6. run:开始仿真
7. novopt:在开始仿真前不要进行优化
8. incr:使能增量编译
9. L libname:添加并编译库文件libname
Example:
vsim -voptargs=+acc -L unisims_ver -L unisim work.glbl work.testbench_top
-L是固定格式,表示加载其后的仿真库文件,例如这里表示加载名为unisims_ver的库文件。modelsim.ini里指定库文件的映射目录后,还需要在输入vsim命令时使用-L选项来实现真正的库文件加载。
优化分类:
不优化(命令-novopt):完全不进行设计优化,所有信号可见,但仿真速度较慢。
优化(命令-vopt),信号不可见:进行设计优化,但信号都不可见,速度最快。调试完全依赖于testbench的打印输出,无法正常看到中间信号。在不是非常高度自动化的进行测试,并且需要观察中间调试信号的情况下,一般不推荐该模式。
部分优化(命令-voptargs=+acc):进行设计优化,但又保证所有信号可见,速度较快,调试必备
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。