modelsim输入信号

2024-03-11 12:58
文章标签 输入 信号 modelsim

本文主要是介绍modelsim输入信号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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输入信号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/797870

相关文章

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

解决Office Word不能切换中文输入

我们在使用WORD的时可能会经常碰到WORD中无法输入中文的情况。因为,虽然我们安装了搜狗输入法,但是到我们在WORD中使用搜狗的输入法的切换中英文的按键的时候会发现根本没有效果,无法将输入法切换成中文的。下面我就介绍一下如何在WORD中把搜狗输入法切换到中文。

当你输入一个网址后都发生什么

原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/  作为一个软件开发者,你一定会对网络应用如何工作有一个完整的层次化的认知,同样这里也包括这些应用所用到的技术:像浏览器,HTTP,HTML,网络服务器,需求处理等等。 本文将更深入的研究当你输入一个网址的时候,后台到底发生了一件件什么样的事~

列举你能想到的UNIX信号,并说明信号用途

信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。 UNIX定义了许多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号;SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术。 Unix信号量也可以

在 Qt Creator 中,输入 /** 并按下Enter可以自动生成 Doxygen 风格的注释

在 Qt Creator 中,当你输入 /** 时,确实会自动补全标准的 Doxygen 风格注释。这是因为 Qt Creator 支持 Doxygen 以及类似的文档注释风格,并且提供了代码自动补全功能。 以下是如何在 Qt Creator 中使用和显示这些注释标记的步骤: 1. 自动补全 Doxygen 风格注释 在 Qt Creator 中,你可以这样操作: 在你的代码中,将光标放在

Linux中如何屏蔽信号

本篇文章主要学习Linux的信号处理机制,着重学习屏蔽信号部分。屏蔽信号处理的两种方式类似于信号的捕获,一种方式是直接对其设置,另一种方式是先获得描述符的掩码,然后对其设置操作。 本文主要参考自《嵌入式linux系统使用开发》,作者何永琪,Thanks. 在linux系统中,如何处理某个进程发送的一个特定信号呢?一般来说有三种方式: 1) 忽略信号 2) 屏蔽信号 3) 为该信号添

modelsim仿真流程

modelsim仿真流程 1、建立工程 project new "../prj" test.mpf 2、添加rtl文件 project addfile "../test.v" verilog 3、建立仿真库 vlib work 4、编译rtl到仿真库中 vlog -sv -sv09compat +define+T133 +incdir+"../rtl" test.v -wo

信号与信号量的区别[转]

信号量(Semaphore),有时被称为信号灯,是在多环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量VI,然后将Acquire Semaphore VI以及Release Se

【Markdown】输入空格方式

文章目录 1.nbsp2. ensp3. emsp4.thinsp5. zwnj6. zwj7. 其它 1.nbsp  为“不换行空格”,全称“No-Break Space”,它是最常见和我们使用最多的空格,大多数的人可能只接触了 ,它是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加,该

兔子--EditText去除下划线和输入字母和数字的限制

在设置密码输入框的时候,只允许输入数字和字母,设置如下属性:  android:digits="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 设置密码不可见(显示小黑点),并去除edittext的获取到焦点时候的下划线, 设置如下: