本文主要是介绍modelsim输入信号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
分类: 嵌入式
一,DO文件的应用和工作方式
执行File/New/Souce/Do命令,进入Do文件编辑方式,在编辑窗口输入仿真批处理文件的代码,以.do为扩展名保存文件,调用方式:do filename parameters,完成对设计的仿真
用do文件进行仿真真得很方便,比写testbench方便多了,采用do文件没有那么多信号定义,管理也比较方便。
编写名为counter.do文件,其内容为下:
vlib work //新建work库;
vmap work //将work库映射到当前工作目录下;
vlog counter.v //新建counter.v文件,默认编译到work库下;
vsim -L work work.counter -t 1ns //仿真work库中名为counter模块,最小时间单位为1ns;
add wave -r/ * //将所有信号加入到波形图中去;
force -repeat 10 clk 0 0,1 5 //添加一个时钟信号,周期为10(ns),50%占空比。如果要改变时间周期,修改代码中的“10”和“5”,即单个周期时间和高电平1所占时间要同时改变,且为两倍关系;PS:-repeat是关键字,表示重复产生;
force a 16#aa //将a赋值为16进制的AA(10101010);
force b 164bb //将b赋值为16进制的BB(10111011);
force n_rst 1 //将n_rst信号置1;
run 40 //运行40(ns),即40个最小单位时间;
force n_rst 0 //将n_rst信号置0;
run 20 //运行40(ns);
force n_rst 1 //将n_rst信号置1;
force a 16#55 //将a赋值为16进制的55(01010101);
force b 16#aa //将b赋值为16进制的AA(10101010);
run 20 //运行20ns;
在Modelsim中,将工作目录切换到counter.v和counter.do两个文件所在目录下,然后在命令行中输入 do counter.do即可。
PS:1,如果在仿真的时候要修改.do文件,需要现在modelsim里运行quit -sim,退出仿真,然后修改.do文件,再保存;
2,如果是仿真单个VHDL文件,只要将do文件中第三行换成vcom counter.vhd即可!
二,交互式命令,通过在主窗口的命令窗口输入命令来实现,具有更好的调试和交互功能,提供多种指令,既可以是单步指令,也可以构成批处理文件,用来控制编辑、编译和仿真流程;
常见交互式命令
1,force-repeat指令
指令格式:force 开始时间 开始电平值,结束电平值 忽略时间(即0电平保持时间) -repeat 周期
force clk 0 0,1 30 -repeat 100 表示强制clk从0时间单元开始,起始电平为0,结束电平为1,0电平保持时间为30个默认时间单元,周期为100个默认时间单元,占空比为70%。
指令功能:每隔一段的周期重复一定的force命令,用来产生时钟信号,也可用来产生周期的输入信号,如01010101,00110011等。
2,force指令
指令格式:force item_name value time,value time;item_name为端口信号或内部信号,支持通配符号,但只能匹配一个;value不能默认,time,可选项,支持时间单元;
force din 16#40900000 从当前时刻起给din赋值16进制40900000;
force bus 16#F @100ns 在100ns时刻给bus赋值16进制F;
force clr 1 100 经历100个默认时间单元延迟后为clr赋值1;
force clr 1,0 100 示clr赋值1后,经历100个默认时间单元延迟后为clr赋值为0;
3,run指令
指令格式:run timesteps time_unit,timesteps时间步长,time_unit时间单元,可以是fs、ps、ns、ms、sec;
指令功能:运行(仿真)并指定时间及单元;
run 100, 表示运行100个默认时间单元;
run 2500ns, 表示运行2500ns;
run -all, 表示运行全过程;
run -continue, 表示继续运行
4,force-cancel指令
指令格式:force-cancel period
指令功能:执行period周期时间后取消force命令;
force clk 0 0,1 30 -repeat 60-cancel 1000,表示强制clk从0时间单元开始,直到1000个时间单元结束;
5,view指令
指令格式:view 窗口名
指令功能:打开Modelsim的窗口
view souce,打开源代码窗口;
view wave,打开波形窗口;
view list,打开列表窗口;
view varibles,打开变量窗口;
view signals,打开信号窗口;
view all,打开所有窗口;
这篇关于modelsim输入信号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!