modelsim输入信号

转载 2015年11月17日 16:16:17
 modelsim输入信号 2012-06-02 22:18:09

分类: 嵌入式

一,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仿真查看内部信号

1. 配置仿真工具 在Quartus 中,选择Assignments->Settings,然后再弹出的对话框左侧选择EDA Tool Settings->simulation,可以进行仿真的配置,如...
  • XianruDu
  • XianruDu
  • 2012年11月13日 12:30
  • 10076

信号采集(输入,多种频率)

  • 2016年03月16日 22:36
  • 31KB
  • 下载

Modelsim/QuestaSim教程——基础篇

写完HDL代码,当然要仿真一下,这时可以使用quartus自带的qsim或者ISE自带的isim来仿真,但是,业界推荐使用Modelsim。 Modelsim的版本比较多,一般是用功能最全的SE版。其...

ESD-5设计箱模拟信号输入电路

  • 2011年04月16日 22:42
  • 125KB
  • 下载

modelsim仿真环境的搭建

相对gui图形界面的操作,脚本执行更方便。注意,如果有include语句。那么就增加+incdir+路径。vlog -work work -vopt +incdir+D:/tools/perl/per...

modelsim添加xilinx的仿真库

注意:modelsim要和xilinx的版本匹配,在打开软件的时候会提示对应要安装什么版本的modelsim。 找到开始菜单->程序->Xilinx ISE Design Suite 11 -> IS...

Quartus II调用modelsim无缝仿真

Quartus II调用modelsim无缝仿真 本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的。 ...

功能仿真与时序仿真,及Modelsim的使用

功能仿真和时序仿真 1 推荐 仿真过程是正确实现设计的关键环节,用来验证设计者的设计思想是否正确,及在设计实现过程中各种分布参数引入后,其设计的功能是否依然正确无误。仿真主要...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:modelsim输入信号
举报原因:
原因补充:

(最多只允许输入30个字)