功能仿真与时序仿真_第1页
功能仿真与时序仿真_第2页
功能仿真与时序仿真_第3页
功能仿真与时序仿真_第4页
功能仿真与时序仿真_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、百度文邮-让每个人平零地捉升口我 百度文库让每个人平等地捉升口我 功能仿真和时序仿真章节:第3章第2节功能仿真与时序仿真概述仿真过程是正确实现设计的关键环节,用来验证设计者的设计思想是否正 确,及在设计实现过程中各种分布参数引入后,其设计的功能是否依然正确无误。 仿真主要分为功能仿真和时序仿真。功能仿真是在设计输入后进行;时序仿真 是在逻辑综合后或布局布线后进行。功能仿真(前仿真)功能仿真是指在一个设计中,在设计实现前对所创建的逻辑进行的验证 其功能是否正确的过程。布局布线以前的仿真都称作功能仿真,它包括综合前 仿真(Pre-Synthesis Simulation )和综合后仿真(Post-

2、Synthesis Simulation )。综合前仿真主要针对基于原理框图的设计;综合后仿真既适 合原理图设计,也适合基于HDL语言的设计。时序仿真(后仿真)时丿芋仿真使用布局布线后器件给出的模块和连线的延时信息,在最坏的 情况下对电路的行为作出实际地估价。时序仿真使用的仿真器和功能仿真使用 的仿真器是相同的,所需的流程和激励也是相同的:惟一的差别是为时序仿真 加载到仿真器的设计包括基于实际布局布线设计的最坏情况的布局布线延时, 并且在仿真结果波形图中,时序仿真后的信号加载了时延,而功能仿真没有。仿真工具ModelSim总体概览ModelSim仿真工具是工业上最流行、最通用的仿真器之一,可支

3、持 Verilog、VHDL或是VHDL/ Verilog混合输入的仿真,它的OEM版本允许 Verilog仿真或VHDL仿真。Model技术公司共开发了 Model Sim/VHDL和 ModeISim/Verilog两 种ModelSim产品,但它乂分为不同的版本:OEM版本 ModelSim/LNL支持Verilog或者VHDL ,但是不同时支持; ModelSim/PLUS版本支持混合仿真Verilog和VHDL ; ModelSim/SE版本支 持PLUS的所有功能连同附加功能。1)Model Sim的仿真实现方式(1)交互式的命令行(Cmd)的方式一一惟一的界面是控制台的命令行,

4、没有用户界面。(2)用户界面UI的方式一一可以接受菜单输入和命令行输入的仿真方式。(3)批处理模式一一从DOS或UNIX命令行运行批处理文件的仿真方式。2)Model Sim基本仿真步骤(1)建立数据库。(2)映射数据库到物理层LI录。(3)编译源代码所有的HDL代码必须被编译;Verilog和VHDL必须有不同的编译器支持。(4)启动仿真器,执行仿真。也可以从其他软件上直接调用,启动内 嵌的仿真器执行仿真。3)ModelSim的用户界面Model Sim 仿真器有 9 个窗 口:窗 口(main)、结构窗 口(structure)、 源窗口(source)、信号窗口(signals)、处 理

5、窗口(process)、变量窗 口 (variables)、数据流窗口(dataflow)、波形窗口(wave)和列表窗口 (list) o这些窗口可以通过主窗口中的视窗(View)菜单来打开。由于大部分 窗口只是对设计仿真起一个辅助的作用,不是经常用到的,因此下面主要介绍 的是main主窗口和wave波形窗口。ModelSim的完整用户界面如图3-6所 示。4)ModelSim窗口模块介绍Main主窗口 在主窗口中,可以通过ModelSim提示符来浏览帮助 文件、编辑库、编辑源代码,而不用调用一个设计。启动窗口 Design Menu f Load New Design可用于选择要加载的设计

6、和其他用于仿真的选项。Wave窗口 一一在波形窗口中,可通过波形浏览仿真结果的图形记录。多个 波形窗口可用于更多的逻辑信号观察;可改变信号和向量的数量,以改善波 形的显示;可打印波形等。Structure窗口可实现设计的结构多层浏览,使源窗口( Source )和信号窗口( Signals )等成为当前层。Source窗口可从Structure窗口选择,进行注释、关键字、字符串、数字、执行行、标识符、系统任务、文本等完全的编辑;显示所选 的HDL项的信息;检查显示所选HDL项当前仿真值。Process窗口 一一显示外部和内部的处理功能。Signals 窗口紧接结构窗口( Structure )

7、,显示 Structure 窗口的当前层HDL项的名称和值等。Dataflow窗口 VHDL信号或Verilog信号网络的图形描绘。List窗口用表格显示仿真结果。Variables窗口 列出HDL项的名称,显示到当前过程的路径等。Wi A Ilf 曲 HRraKcMircedlOEeasraaructur*图3-6 ModelSim完整用户界面ModelSim仿真过程前面是对ModelSim的一个整体介绍,下面将通过一个具体实例来介绍ModelSim的具体使用方法和仿真的过程。1.创建一个项口启动 ModelSim百度文库让每个人平等地捉升口我 Crgtw Proj Mt图3-7项口设立对话

8、框在主窗1 通过选择 File New -* Project -* Create a Project 打 开项目对话框。在项目对话框中键入test作为项目的名字,并选择一个项目存储 的目录位置,如Actelprj ,并且缺省的库名设置为work。设置完后的项 目对话框如图4-85所示。点击0K按键,将会看到带有空白Project和Library标签的主 窗口,以及Add itemsto the Project对话框,同时项LI名称 也在工作空间 下面的状态栏中出现。项LI选择页面如图3-8所示。图3-8项口选择页面加设包含设计内容的源文件到项LI中。在Add items to the Proj

9、ect对 话框中点击Add Existing File ,在此以加一个VHDL文件为例。点击Browse 按键,打开ModelSim安装目录下的实例目录,从中选择,然后选中 Reference from current location选项并且点击OK按键,如图3-9所示。图3-9选择文件至当前项LI栏在工具栏点击编译按键或在项LI页面点击鼠标右键并选择Compile -Compile All ,如图 3-10 所示。加入的文件被编译后,点击Library标签,并且通过点击“ + ” 图标展开work库,将会看到被编译的设计例举单元(如图3-11所示)。最后,在Library页双击counte

10、r ,将看到在丄作空间中岀现了 一个新的页面,并且该页面显示了 counter设计单元的结构。在此基础之上,就 可以开始运行仿真,并可以分析调试该设计了。至此,项目创建完成。图3 - 10选择编译栏LI0 * 冷(fi | 出A hdixJcm/ JHsMmfbikcc kt*o*yMt 吹口iMProject s ?eit |LoMin&,图3-11 LI标文件的显示设计的仿真过程前面创建了一个项目,在创建时它自动执行了创建并映射工作库(work) 等操作。下面介绍如何进行设计的仿真及其操作过程。1)仿真前的准备工作一一设计文件的装载通过选择Simulate Simulate来装载设汁单元,

11、接着出现了仿真 对话框,点击“ work ”下面的“ + ”扩展符号,可以看到counter设 计单元目录,如图3-12所示。XXlJCCM/ 冷一 CuKOv & I*XrwI?wtvxri2j _|j图3- 12选择Simulate装载设计单元图3 -13信号窗口菜单如果设计单元是空的,则可以扩展它,以便浏览任何相关的结构。选中 counter ,然后点击Load按钮来装载设计。从主窗口菜单中选择View -*All Window来打开ModelSim的所有窗口。在信号窗口菜单中通过选择Add -* Wave -* Signals in Region来 加载顶层信号到波形窗口中,如图3-1

12、3所示。运行仿真对于该计数器的仿真,可通过加载激励信号到时钟信号输入端口,开始 运行仿真,并通过观察相应端口的跟踪信号,来判断电路的时序特性。激励 信号的加载主要有两种方式: 用force命令的人机交互式; 建立测试 平台程序的方式。点击仿真器主窗口,并在主窗口的VSIM提示符下键入如下命令:force elk 1 50 ,0 100 -repeat 100 ModelSim 会解释 force 命令如下:在当前时间50 ns后给时钟信号赋值为1 ;在当前时间100 ns后给时钟信号赋值为0 ;每间隔100 ns重复循环此操作。也可以在信号窗口菜单中选择Edit - Clock ,进行信号的编

13、辑。该窗 口如图3-14所示。图3-14信号窗口先选择Run按钮,等运行完成后再选择Run -All oRun的功能是只执行仿真100 ns便停止仿真。和此操作相同的功能的命 令是 “ PROMPT: run 100 ” 或是 “Main MENU: Simulate - Run - Run 100 ns ” oRun -All的功能是持续不断地运行仿真。和此操作相同的功能的命令是 “PROMPT: run或是 “Main MENU: Simulate - Run - Run -All”。为了停止运行仿真,需执行下一步骤。在主或是波形窗口中选择Break按键终止仿真的运行。只要仿真器 到达了一

14、个可接受的终止点,它便停止运行。和此操作相同功能的命令是“ Main MENU: Simulate -* Break ” 。仿真结果的调试(1)声明调试方式。为了查找错误所在,可执行如下儿步操作来追踪所 声明的信息:首先,改变仿真声明选项。从主窗口菜单中选择Simulate Simulation Options , 岀现的画面如图3T5所示。图3-15仿真可选项(Simulation Options )菜单选择插入(Assertions )标签,改变Break on Assertion的选项 为Error ,并且点击0K。这将使仿真器运行到HDL声明语句处便停止运行。用restart -f命令

15、重新运行仿真。-f选项要求Model Sim重新运 行时不弹出确认对话框。通过run 1000命令再运行仿真1000 ns。如果观察变量窗口,可能看到i二6 ,这意味着仿真在test_patterns 循环的第六次迭代时停止。通过点击test_patterns前面的+来展开变量名test_patterns ; 通过点击+也展开了阵列testpatterns (6)里的第六个记录。如果声明 表明信号sum和变量窗口中的sum是不相等的(注意输入a、b和cin的 和应当与输岀sum是相等的),则可判断在测试向量处存在一个错误。为了 改正此错误,必须重 新运行仿真并调整测试向量的初始值。用resta

16、rt -f命令重新运行仿真。通过选择过程窗口中的test过程来更新变量窗口。在变量窗口中, 再展开test_patterns和test_pattern (6)。然后通过点击变量名来加亮 和记录,并从菜单处选择Edit Change。改变值到0000011 ,如图3-16所示,然后点击Change。图3-16改变所选变量再运行仿真run 1000 ,若显示如图3-22所示的结果,则仿真被正 确运行。(3)在波形窗口中组合信号。在波形窗口中,允许组合单一信号到总线形式。通过选择Tools - Combine Signals打开组合选择信号对话框,如图3-17所示。总线信号是用 专门顺序创建的带有专

17、门值的虚拟信号的链接组合。在下述实例的波形图里4 个数据信号已经被组合形成了一个新的总线Busi (如图3-18所示)。虚拟 U标被一个桔色的菱形方块指示着。VSIM3Q 4W11C00 Note: T m comped wthnoertsrs U Tre 1 usU irwwrsee:WIM 31 itbonch图3-27组合选择信号对话框图3-28仿真实例的波形图示意(4)创建并浏览数据表(datasets )创建数据表可以允许浏览以询的仿真结果或是对比仿真结果。为了浏览一 个数据表,必须以WLF文件的形式(使用vsim-wlf命令)先保存ModelSim 仿真结果,然后再打开它作为一个浏

18、览模式数据表。4)波形窗口及波形显示(1)光标的使用当波形窗口第一次打开时,光标出现在时间0处。在波形窗口处点击哪 里,光标将跟到哪里。也可以通过选择Insert - Cursor来把光标添加到波 形面板上。被选中的光标以黑体实线显示,所有其他光标以虚线显示。为了删 除光标,可首先选中它们,再通过选择Edit Delete Cursor完成。光标值对应于光标的仿真时间。通过选择View f Cursors可以指定一 个特殊的光标浏览;也可以通过在光标值处双击光标值来选择并且滚动到光标 处。每个光标下面的时间框里显示了仿真的精确时间。Model Sim在相邻的光标位置处也加了一个增量显示,表明了这两个光 标位置的时间差。如果在波形窗口中点击鼠标,那么离鼠标最近的光标被选中, 并且移动到鼠标处。确定多个光 标位置的另一种方法是在时间框中使用鼠标点 击时间框轨迹的任意处来选中光标,并固定该光标到鼠标的位置。如果在波 形边缘10个像素内点击或是拖动光标,光标将被粘贴到波形边缘。也可以 在窗口中的优选对话框中设置粘贴距离

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论