基于Modelsim的功能仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重新进行仿真得到 最终的仿真波形
FPGA系统设计与实践
基于Modelsim的功能仿真
4.1 基于Modelsim的功能仿真
功能仿真( Function Simulation)是对源代码 进行编译,检测在语法上是否正确,发现错误, 并且提供出错的原因,设计者可以根据提示进行 修改。编译通过后,仿真器再根据输入信号产生 输出,根据输出可以判断功能是否正确。如果不 正确,需要反复修改代码,直到语法和功能都达 到要求。
1.D触发器测试激励文件的建立
下面以一个例子进行说明仿真测试激励文件的建 立:在3.1.2节中,使用VHDL输入设计了一个异步复 位的D触发器,现在可以通过功能仿真来验证它的正 确性。
新建测试激励文件
下一步
选择与测试激励文件相关联的源文件
下一步
单时钟 多时钟 组合逻辑
设置异 步时序 下一步
时钟选择对话框
布局布线后仿 真(时序仿真)
4.1.3 启动Modelsim仿真
仿真后的波形
4.1.4 功能仿真例:10进制计数器
1 .10进制计数器测试激励文件的建立
(1)打开在3.1.4节中建立的工程pIP.
1 .10进制计数器测试激励文件的建立
(2)为了方便仿真,有必要将div30模块进行修改。因 为div30是30,000,000分频,这么大的分频系数, 难于仿 真,所以将div30模块中的分频系数做如下改动。
信号属性对话框
双击波形窗口中的信号名 信号属性对话框
显示的信 号名称 信号数据的 显示方式
波形的颜 色
名称的颜 色
信号属性对话框
波形显示的格式
Logic显示
Analog显示
Literal显示
Modelsim XE II v5.6e与ISE5.2的软件接口
Modelsim XE系列是Model Technology公司为 Xilinx公司的FPGA/CPLD提供的OEM版本Modelsim 工具,同时,ISE5.2为ModelsimXE提供了软件的接 口。ISE5.2和ModelsimXE的结合使设计更高效,方 便。在ISE5.2中启动ModelsimXE,ModelsimXE会调 用缺省的批处理方式使仿真更高效。
信号窗口 波形窗口
变量窗口
数据流窗口
列表窗口
进程窗口
主窗口
主窗口是Modelsim的核心窗口,在缺省(默认)状 态下,在启动Modelsim时会自动打开。主窗口分为 工作区和脚本区两部分。在工作区,可以很方便地 对当前工程的工作库以及所有数据集合进行控制。 在脚本区,可以输入Modelsim的各种命令,命令执 行后会反馈执行后的信息,使用户了解执行的实际 情况。
结构窗口用来显示仿真中 的层次信息,选择不同的 结构层次,其他窗口中的 信息都会发生相应的变化。
Βιβλιοθήκη Baidu 信号窗口
当前层次结构中 的所有信号名称
信号的值
用户必须在结构窗口中 选择确定的层次结构, 来获得想要仿真的信号。
变量窗口
进程中的变 量
波形窗口
光标工具 波形查看工具 仿真控制工具
信号波形 信号名称 和路径 指针所在位置的值
4.1 基于Modelsim的功能仿真
功能仿真只验证在功能上是否正确,在时序上 不做验证。在做功能仿真时还需要注意,信号通过 某个网络时是存在延迟的,而在功能仿真时不会体 现出来,输入信号的改变会立即在输出端反映出来。 所以必须牢记功能仿真和时序仿真的是有区别的, 这一点十分重要。
4.1.1 介绍Modelsim XE II v5.6e
新建测试激励文件
NEXT=>
关联原文件
下一步
时钟初始化
下一步
时钟选择
下一步
信号属性设置
下一步
时钟设置
完成
设置波形
注意仿真界 限的位置
启动仿真
单击全 屏按钮
Modelsim仿 真缺省窗口
仿真波形图
经过译码后 的7段LED显 示用代码
将signals中的q 移入wave窗口中
在structure窗口选 择my_cou后signal窗 口中发生的变化
属性设置
设置Modelsim可 执行文件的路径
4.1.2 建立测试激励文件
要对模块进行仿真必须首先建立仿真测试激励文 件 , Modelsim 根 据 测 试 激 励 对 设 计 进 行 仿 真 。 而 ISE5.2提供了一个相当实用的工具HDL Bencher(HDL 测试台)。HDL Bencher可以方便地定义想要的输入波 形和输出波形,仿真后Modelsim还可以将实际仿真的 结果与测试者提供的波形进行比较,并且提示错误。
进程窗口
选择Veiw Active命令 后,窗口中显示的是当 前工程中的所有进程。
Ready表示此进程 将在当前的很短的 一个时间内被执行; Wait表示进程正等 待信号的变化。 Done表示进程正 在执行等待语句。
选择In Regin 命令后, 在窗口中显示的是当前 层次结构中包含的进程。
结构窗口
process(clkin,reset) variable cnt : integer range 0 to 3 :=0; --将分频系数改为3,即6分频; begin if reset = '0' then cnt :=0 ; Reg_clk <= '0'; elsif rising_edge(clkin) then cnt := cnt + 1; if cnt = 3 then cnt := 0; Reg_clk <= not Reg_clk ; end if; end if; end process;
Restart
单击restart按钮
在Restart对话框 中进行设置
选择信号显示类型
修改显示类型 后的信号
观察q信号,发现仿真的时间不够长, 以至于不能肯定q的值在到达9时是否 回0,所以有必要修改仿真时间。
设置时间界限
重新打开测 试激励文件
将测试时间界限 向后拖动,从而 增加仿真时间
最终的仿真波形
Modelsim XE II v5.6e是Model Technology 公司 直 接 为 Xilinx 公 司 设 计 。 Xilinx 公 司 的 ISE 5.2 为 Modelsim XE留有接口,并且向Modelsim XE II v5.6e提 供器件的仿真数据库。
主窗口
源程序窗口
结构体窗口
下一步
异步信号 设置异步信 号
同步信号 设置同步信 号
NEXT=>
时钟设置
时钟高电 平时间 时钟低电 平时间 输入建立 时间 输出有效 时间 偏移量 时钟单位 波形触发 类型
信号列表 端口属性
备注
输入期望的 测试波形 测试台波形 编辑窗口
源代码显示 窗口
测试激励文 件加入工程
功能仿真 生成期望的 仿真结果 翻译后仿真 布局后仿真 双击其中一 种仿真
相关文档
最新文档