EDA技术与应用第8章 系统仿真与ModelSim软件使用

合集下载

EDA技术与应用_EDA工具软件的使用

EDA技术与应用_EDA工具软件的使用

EDA技术与应用_EDA工具软件的使用EDA(Electronic Design Automation)是电子设计自动化的缩写,它是指利用计算机及相关软件来进行电子系统的设计、验证、优化和制造的技术。

在电子系统设计领域,EDA技术的发展极大地提高了设计效率和设计质量,成为现代电子系统设计的基础工具。

本文将介绍EDA工具软件的使用。

EDA工具软件是指用于辅助电子系统设计的计算机软件。

这些软件通常包括电子系统设计的各个阶段,如系统级设计、高层次合成、逻辑综合、布局布线、时序验证等。

以下是几种常见的EDA工具软件及其使用方法。

1. Cadence OrCAD:Cadence OrCAD是一款综合性的PCB设计软件。

它包括原理图设计、仿真、PCB布局和布线等功能。

使用者可以通过绘制原理图、添加元器件、进行仿真和布局布线,完成电路设计的各个阶段。

该软件支持多种电路仿真和分析方法,如时域仿真、频域仿真和信号完整性分析等。

2. Mentor Graphics PADS:Mentor Graphics PADS是一款专业的PCB设计软件。

它提供了全面的电路板设计解决方案,包括原理图设计、PCB布局和布线、验证和制造输出等功能。

使用者可以通过绘制原理图、进行布局布线、进行信号完整性分析等,完成整个电路板设计的过程。

4. Cadence Allegro:Cadence Allegro是一款专业的PCB布局和布线软件。

它提供了全面的设计环境,包括原理图设计、PCB布局和布线、SI分析和制造输出等功能。

使用者可以通过绘制原理图、进行PCB布局和布线,完成电路板的设计和优化。

5. Synopsis PrimeTime:Synopsis PrimeTime是一款静态时序验证工具。

它能够对电路设计进行时序分析,确定电路的最大工作频率和最小工作延迟。

使用者可以通过提供设计约束和输入电路网表,运行时序验证的脚本,获取电路设计的时序分析结果。

ModelSim仿真流程

ModelSim仿真流程

ModelSim仿真流程关于ModelSim仿真流程EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

下面店铺准备了关于ModelSim仿真流程,欢迎大家参考!1、运行ModelSim,如果上一次使用ModelSim建立过工程,这时候会自动打开上一次所建立的工程;2、点击File->New->Project,在Project Name中我们输入建立的工程名,在Project Location中输入工程保存的路径,注意ModelSim不能为一个工程自动建立一个目录,这里我们最好是自己在Project Location中输入路径来为工程建立目录,在Default Library Name中为我们的设计编译到哪一个库中,这里我们使用默认值,这样,在我们编译设计文件后,在Workspace窗口的Library中就会出现work库。

这里我们输入完以后,点击OK;3、如果提示我们给定的工程路径不存在,是否建立该路径,我们的目的就是为工程建立一个新目录,因此,点击确定;4、点击Create New File可以为工程添加新建的文件,点击Add Existing File为工程添加已经存在的文件,点击Create Simulation为工程添加仿真,点击Create New Folder可以为工程添加新的目录。

这里我们点击Create New File;5、我们在File Name中输入文件名称,Add file as type为输入文件的.类型为VHDL、Verilog、TCL或text,这里我们使用默认设置VHDL,Folder为新建的文件所在的路径,Top Level为在我们刚才所设定的工程路径下。

点击OK;并在Add items to the Project窗口点击Close关闭该窗口;6、这时候在Workspace窗口中出现了Project选项卡,在其中有文件名.vhd,其状态栏有一个问号,表示未编译,我们双击该文件,这时候出现编辑窗口,在其中我们输入我们的设计文件7、点击File->Save,并退出该窗口(File->Close);8、在WorkSpace窗口的文件名.vhd上点击右键,选择Compile->Compile All;9、在脚本窗口中将出现一行绿色字体Compile of DivClkHDL.vhd was successful.,说明文件编译成功,在该文件的状态栏后有一绿色的对号,表示编译成功;10、下面我们开始仿真,点击菜单Simulate->Simulate,展开Design选项卡下的work库,并选中其中的behavioral,这是在Simulate中出现了work.实体名(behavioral)表示我们所要仿真的对象,Resolution为仿真的时间精度,这里我们使用默认值,点击OK;11、为了观察波形窗口,我们点击菜单View->Wave;12、这时候出现的Wave窗口为空,里面什么都没有,我们要为该窗口添加我们需要观察的对象,首先在主窗口而不是波形窗口中点击View->Signals打开信号列表窗口,在改窗口中点击Add->Wave->Signals in Design,这时候在波形窗口中就可以看到这些信号了;13、下面我们就开始仿真了,在主窗口中输入命令对信号进行驱动仿真14、退出仿真,在主窗口中点击Simulate->End Simulation,会出现对话框,提示我们是否确认退出仿真,我们点击是退出仿真;。

modelsim仿真流程

modelsim仿真流程

modelsim仿真流程
ModelsIm仿真流程 ModelSim是一个功能强大且广泛使用的数字电路和模拟软件。

它能够模拟各种不同的电路,包括FPGA、ASIC、流片等,并且可以仿真VHDL、Verilog和SystemC等语言编写的代码。

本文将介绍ModelSim的仿真流程。

1. 建立仿真环境首先,我们需要创建一个仿真环境。

这意味着我们需要创建一个Project文件夹,将仿真所需要的所有文件(包括设计文件、仿真模型以及测试文件等)都放在里面。

我们可以选择使用ModelSim自带的Project Manager工具或者直接使用终端命令行来完成这个工程。

2. 编译设计文件下一步是编译设计文件。

这意味着我们需要把设计文件转换为ModelSim可以理解的仿真模型。

我们可以使用vlib命令来建立一个仿真库,然后使用vlog命令来编译设计文件。

编译完成后,我们需要使用vsim命令进入仿真环境。

3. 进行仿真在仿真界面中,我们可以加载测试文件,然后使用run命令来进行仿真。

这将模拟电路在一个虚拟的环境中运行,并产生仿真结果。

我们可以使用ModelSim提供的信号跟踪和波形查看工具来观察电路的运行状态并分析仿真结果。

4. 仿真结束仿真完成后,我们可以使用exit命令退出仿真环境,并使用ModelSim提供的波形分析和统计工具来评估仿真结果。

如果需要进行更详细的分析,我们可以将波形数据导出到其他工具进行进一步处理。

总之,ModelSim是一个非常强大的数字电路和模拟软件。

掌握其基本操作和仿真流程,可以帮助我们更高效地进行数字电路设计和开发工作。

EDA技术与应用第8章 系统仿真与ModelSim软件使用

EDA技术与应用第8章  系统仿真与ModelSim软件使用

• Testbench的仿真流程如图8.3.3所示,Testbench为被验证设 计提供激励信号、实例化被验证设计、将仿真数据显示在 终端或者存入文件。
• 测试程序的结构如图8.3.4所示,测试程序与一般的Verilog 模块没有根本的区别,其特点表现为:
• 测试模块只有模块名字,没有端口列表。输入信号(激励 信号)必须定义为reg型,以保持信号值;输出信号(显 示信号)必须定义为wire型。在测试模块中调用被测试模 块,调用时,应注意端口排列的顺序与模块定义时一致。
• $random是产生随机数的系统函数,每次调用该函数将返 回一个32位的随机数,该随机数是一个带符号的整数。
• 8.2 用户自定义原语

利用用户自定义原语(User Defined Primitives,即
UDP),用户可以自行定义和调用基本逻辑元件。用户定
义基本单元(UDP、User Defined Primitive)和Verilog HDL
• $display 和$write的使用格式为: • $display(“格式控制符”,输出变量名列表) • $write(“格式控制符”,输出变量名列表) • 例如: • $display($time,,,”a=%hb=%hc=%h”,a,b,c);
• 2、$monitor和$strobe • 与$display和$write类似,$monitor和$strobe也属于仿真结
• 当master1和master2设备同时发出请求时,总线仲裁器根 据内部控制寄存器rid的值按照优先级或者循环使用两种机 制给相应的总线设备发出确认信号。
• 总线仲裁器状态机的跳转条件涉及多个输入信号,跳转的 路径比较多,在验证时需要考虑的组合情况也比较多,在

modelsim使用教程

modelsim使用教程

modelsim使用教程ModelSim是一款常用的硬件描述语言(HDL)仿真工具,本教程将向您介绍如何使用ModelSim进行仿真。

步骤1:安装ModelSim首先,您需要下载和安装ModelSim软件。

在您的电脑上找到安装程序并按照提示进行安装。

步骤2:创建工程打开ModelSim软件,点击"File"菜单中的"New",然后选择"Project"。

在弹出的对话框中,选择工程的存储位置,并为工程命名。

点击"OK"完成工程创建。

步骤3:添加设计文件在ModelSim的工程窗口中,右键点击"Design"文件夹,选择"Add Existing File"。

然后选择包含您的设计文件的目录,并将其添加到工程中。

步骤4:配置仿真设置在工程窗口中,右键点击"Design"文件夹,选择"Properties"。

在弹出的对话框中,选择"Simulation"选项卡。

在"Top level entity"字段中,选择您的设计的顶层模块。

点击"Apply"和"OK"保存设置。

步骤5:运行仿真在ModelSim的工具栏中,找到"Simulate"按钮,点击并选择"Start Simulation"。

这将打开仿真窗口。

在仿真窗口中,您可以使用不同的命令来控制和观察设计的行为。

步骤6:查看仿真结果您可以在仿真窗口中查看信号波形、调试设计并分析仿真结果。

在仿真窗口的菜单栏中,您可以找到一些常用的查看和分析工具,如波形浏览器、信号分析器等。

步骤7:结束仿真当您完成仿真时,可以选择在仿真窗口的菜单栏中找到"Simulate"按钮,并选择"End Simulation"以结束仿真。

modelsim使用技巧

modelsim使用技巧

modelsim使用技巧ModelSim是一款常用的仿真工具,用于学习、开发和测试各种数字电路和系统设计。

它提供了大量的功能,可以帮助我们更好地进行仿真、调试和性能优化。

但是,对于初学者来说,熟练使用ModelSim可能需要一些时间和实践。

在本文中,我们将介绍一些ModelSim的使用技巧,以帮助读者更好地掌握这个工具。

一、基本操作1.创建工程在ModelSim中,创建工程是第一步。

可以通过File -> New -> Project来创建一个新的工程。

在工程创建过程中,需要指定工作目录、项目名称和工具链等信息。

在创建工程后,可以右键单击仿真文件夹,并选择添加到工程来添加设计文件。

2.添加仿真文件在ModelSim中,添加仿真文件非常简单。

可以将文件拖放到仿真文件夹、使用File -> Add to Project选项或使用命令行方式添加文件。

一旦添加了仿真文件,可以使用filelist命令查看所有添加的文件。

3.编译设计在ModelSim中,编译由两个阶段组成。

第一阶段称为分析阶段,在此阶段中,设计的各个模块被分析、组合并建立数据结构。

第二阶段称为综合阶段,在此阶段中,数据结构被综合成一个整体,并生成仿真网表。

可以通过compile option来指定编译选项,比如-v库等。

4.运行仿真在ModelSim中,可以通过三种方式来运行仿真。

第一种是在命令行中使用run命令,第二种是通过菜单和工具栏选项来启动仿真,第三种是使用脚本方式启动仿真。

在仿真过程中,可以使用wave、add wave、force、release等命令来控制信号的行为。

二、ModelSim高级技巧1.波形窗口波形窗口是ModelSim中最有用的窗口之一。

可以使用Add Wave按钮打开该窗口。

在波形窗口中,可以查看所有信号的变化情况。

可以使用full view、zoom in、zoom out等选项来放大或缩小波形窗口。

modelsim的详细使用方法

modelsim的详细使用方法

一、简介ModelSim是一款由美国Mentor Graphics公司推出的集成电路仿真软件,广泛应用于数字电路和系统设计领域。

它提供了强大的仿真和验证功能,能够帮助工程师快速高效地进行电路设计与验证工作。

本文将详细介绍ModelSim的使用方法,以帮助读者更好地掌握这一工具的操作技巧。

二、安装与配置1. 下载ModelSim安装包,并解压到指定目录2. 打开终端,进入ModelSim安装目录,执行安装命令3. 安装完成后,配置环境变量,以便在任何目录下都能够调用ModelSim程序4. 打开ModelSim,进行软件注册和授权,确保软件可以正常运行三、工程创建与管理1. 新建工程:在ModelSim主界面点击“File” -> “New” -> “Project”,输入工程名称和存储路径,选择工程类型和目标设备,点击“OK”完成工程创建2. 添加文件:在工程目录下右键点击“Add Existing”,选择要添加的源文件,点击“OK”完成文件添加3. 管理工程:在ModelSim中可以方便地对工程进行管理,包括文件的增删改查以及工程参数的设置等四、代码编写与编辑1. 在ModelSim中支持Verilog、VHDL等多种硬件描述语言的编写和编辑2. 在ModelSim主界面点击“File” -> “New” -> “File”,选择要新建的文件类型和存储位置,输入文件名称,点击“OK”完成文件创建3. 在编辑器中进行代码编写,支持代码高亮、自动缩进、语法检查等功能4. 保存代码并进行语法检查,确保代码符合规范,没有错误五、仿真与调试1. 编译工程:在ModelSim中进行代码编译,生成仿真所需的可执行文件2. 设置仿真参数:在“Simulation”菜单下选择“S tart Simulation”,设置仿真时钟周期、输入信号等参数3. 运行仿真:点击“Run”按钮,ModelSim将开始对设计进行仿真,同时显示波形图和仿真结果4. 调试设计:在仿真过程中,可以通过波形图和仿真控制面板对设计进行调试,查找并解决可能存在的逻辑错误六、波形查看与分析1. 查看波形:在仿真过程中,ModelSim会生成相应的波形文件,用户可以通过“Wave”菜单查看波形并进行波形分析2. 波形操作:支持波形的放大、缩小、平移、选中等操作,方便用户对波形进行分析和观察3. 波形保存:用户可以将波形结果保存为图片或文本文件,以便日后查阅和分析七、性能优化与验证1. 时序优化:在设计仿真过程中,可以通过观察波形和性能分析结果,对设计进行优化,提高设计的时序性能2. 逻辑验证:通过对仿真的结果进行逻辑验证,确保设计符合预期的逻辑功能3. 时序验证:对设计的时序性能进行验证,确保信号传输和时钟同步的正确性八、项目输出与文档整理1. 输出结果:在仿真和验证完成后,可以将仿真结果、波形图和性能分析结果输出为文本文件或图片,方便后续的文档整理和报告撰写2. 结果分析:对仿真结果和验证结果进行详细的分析,确定设计的性能和功能是否符合设计要求3. 文档整理:根据仿真和验证结果,进行文档整理和报告撰写,为后续的设计和优化工作提供参考九、总结与展望ModelSim作为一款专业的集成电路仿真软件,具有着强大的功能和丰富的特性,可以帮助工程师进行电路设计与验证工作。

modelsim使用方法

modelsim使用方法

modelsim使用方法ModelSim 是一种功能强大的硬件描述语言 (HDL) 模拟工具,支持VHDL和Verilog,可用于设计和验证数字系统。

本文将介绍如何使用ModelSim。

**安装 ModelSim****创建项目**在启动 ModelSim 后,首先需要创建一个新的项目。

选择 "File" 菜单,然后选择 "New" -> "Project"。

在打开的对话框中,选择项目的文件夹和项目名称,然后点击 "OK"。

**添加设计文件和测试文件**在项目中,您需要添加设计文件和测试文件。

选择 "Project" 菜单,然后选择 "Add to Project" -> "Add Files". 在打开的对话框中,选择您的设计文件 (VHDL 或 Verilog) 和测试文件,然后点击 "OK"。

**设置仿真**在编译代码之后,下一步是设置仿真选项。

选择 "Simulate" 菜单,然后选择 "Start Simulation"。

在打开的对话框中,选择您的顶层模块。

您还可以选择以 GUI 模式还是批处理模式运行仿真。

在设置仿真之前,您可以添加信号波形文件以在仿真过程中显示波形。

选择 "Simulate" -> "Wave" -> "Add Waveform". 然后,选择信号波形文件 (.do 或 .vcd),并点击 "OK"。

**运行仿真**设置仿真选项后,您可以开始执行仿真。

通过选择 "Simulate" -> "Run",可以运行单步或连续仿真。

Modelsim详细使用教程

Modelsim详细使用教程

Modelsim详细使用教程一、打开Medelsim双击桌面快捷方式,出现下图所示界面,如果上一次使用ModelSim建立过工程,这时候会自动打开上一次所建立的工程;二、建立工作库点击File->New->Library,输入Library Name,点击OK,就能看见新建的库。

三、建立工程点击File->New->Project,输入Project Name,在Project Location 中输入工程保存的路径,建议在Library所在文件夹中。

在Default Library Name 中为我们的设计编译到哪一个库中。

点击OK会出现下图所示的界面。

四、为工程添加文件Create New File 为工程添加新建的文件;Add Existing File为工程添加已经存在的文件;Create Simulation为工程添加仿真;Create New Folder为工程添加新的目录。

这里我们点击Create New File,来写仿真代码。

输入File Name,再输入文件类型为Verilog (默认为VHDL,Modelsim也可以仿真System Verilog代码),Top Level表示文件在刚才所设定的工程路径下。

点击OK,并点击Close关闭Add items to the Project窗口。

这时候在Workspace窗口中出现了Project选项卡,里面有8_11.v,其状态栏有一个问号,表示未编译,双击该文件,这时候出现8_11.v的编辑窗口,可以输入我们的Verilog代码。

五、编写Verilog代码写完代码后,不能马上就编译,要先File->Save保存,否则,编译无效。

然后选择Compile->Compile All。

Transcript脚本窗口出现一行绿色字体Compile of 8_11.v was successful. 说明文件编译成功,并且该文件的状态栏显示绿色的对号。

modelsim教程

modelsim教程

ModelSim教程简介ModelSim是一种常用的硬件描述语言仿真器,它广泛应用于数字电路设计、验证和测试。

本教程将介绍ModelSim的基本知识和使用方法,帮助读者快速上手ModelSim,并顺利完成数字电路仿真和验证工作。

目录1.安装ModelSim2.创建工程3.设计代码编写4.编译和仿真5.波形查看和分析6.仿真高级特性7.总结安装 ModelSim首先,您需要下载和安装 ModelSim。

您可以从 Mentor Graphics(ModelSim的开发商)的官方网站上找到适用于您的操作系统版本的安装程序。

下载完成后,按照安装向导的提示进行安装,并确保将安装目录添加到系统的环境变量中。

创建工程在开始使用 ModelSim之前,您需要创建一个工程,用于组织和管理您的设计代码。

以下是创建ModelSim工程的基本步骤:1.打开 ModelSim,并选择“File -> New -> Project”。

2.在弹出的对话框中,选择要保存工程的目录和工程名称,并点击“Next”。

3.在下一步中,您可以选择是否添加已有文件到工程中,或者选择直接创建新的设计文件。

完成后,点击“Next”。

4.在下一步中,您可以选择激活某些特性,如代码覆盖率、时序分析等。

完成后,点击“Next”。

5.最后,点击“Finish”来完成工程的创建。

设计代码编写在 ModelSim中,您可以使用HDL(硬件描述语言)编写您的设计代码。

常用的HDL语言包括VHDL和Verilog。

以下是一个简单的VHDL代码示例:-- Counter.vhdentity Counter isport (clk :in std_logic;rst :in std_logic;count :out unsigned(7downto0));end entity Counter;architecture Behavioral of Counter issignal internal_count :unsigned(7downto0); beginprocess(clk, rst)beginif rst ='1'theninternal_count <= (others=>'0');elsif rising_edge(clk) thenif internal_count =8theninternal_count <= (others=>'0');elseinternal_count <= internal_count +1;end if;end if;end process;count <= internal_count;end architecture Behavioral;编译和仿真编译和仿真是在ModelSim中运行设计代码并生成波形的关键步骤。

modelsim使用教程

modelsim使用教程

第8章 使用ModelSim进行设计仿真ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL或Verilog程序进行仿真,支持IEEE常见的各种硬件描述语言标准。

可以进行两种语言的混合仿真,但推荐大家只对一种语言仿真。

ModelSim常见的版本分为ModelSim XE和ModelSim SE两种,ModelSim版本更新很快,目前最新版本为5.8版本,该版本支持VHDL的2002标准以及Verilog的2001标准,此外,在该版本的Linux、HP和SUN工作站等平台支持VHDL、Verilog 和SystemC的混合仿真,但在Windows平台上不支持SystemC的仿真。

本章将对ModelSim5.7版本进行介绍,目的是希望看完本章,读者可以简单地使用ModelSim进行仿真,有关更深入地教程,还是参考ModelSim附带的文档。

在网址/support/上也可以找到深入的教程,在该页面上注册以后,会在电子邮件中收到发过来的密码,根据邮件地址和密码登陆后,会有一些高级教程和使用要点(Application Notes)下载。

ModelSim5.7SE版本内部划分为更细的版本编号,从ModelSim5.7aSE到ModelSim5.7gSE等等。

读者可以选择任一版本。

另外,如果ModelSim是和ISE一起使用的话,你需要编译Xilinx的一些库文件,这些库文件包括unisim、simprim、xilinxcorelib、aim、pls、cpld等,有了这些库文件,可以在ISE中生成设计的行为仿真(将设计转换为RTL描述后进行的仿真)、转换后仿真(将设计转换为Xilinx器件的基本模块来实现后进行的仿真)、映射后仿真(将设计用Xilinx的具体器件的具体模块实现后进行的仿真,仿真中包含了器件的延时,但由于没有布局布线无法提取出互连线的信息,因此仿真中不包含互连线的延时、电容、电阻等信息)、布局布线后仿真(将设计对Xilinx具体器件进行布局布线后,提取出互连线的信息,进行的仿真包含了器件的延时以及互连线的延时等信息)的各种模型,然后在ModelSim中对这些模型进行仿真,由于ISE和ModelSim已经实现了无缝的连接,在ISE中只需设置一个可视的波形文件,然后点几下鼠标就可以实现各种仿真,具体的方法在ISE的使用一章中有较为详细的介绍,可以参阅具体的章节。

使用ModelSim进行仿真

使用ModelSim进行仿真

使用Modelsim仿真本文档主要介绍单独用Modelsim进行FPGA仿真的具体步骤以及相关仿真文件的生成方法。

对于FPGA设计,仿真主要分为三类:功能仿真、综合后仿真和时序仿真。

功能仿真是在理想的状态下(不考虑延迟)验证电路的功能是否符合设计要求。

综合后仿真,即门级仿真,是对综合后的门级网表文件进行仿真,此时只考虑门的延时,而没有加入延时文件。

时序仿真是在综合后仿真的基础上加上延时文件,这综合考虑了设计的路径延时和门延时的情况,以验证电路在实际电路有各种延时的情况下是否有错误。

下面我们将分步骤讲解用ModelSim进行FPGA仿真的方法。

一、 用ModelSim编译Quartus II的库1.先到modelsim的安装目录下找到文件”modelsim.ini”,将其属性改为可写。

2.启动Modelsim,点击File‐>New‐>Library,在弹出的【creat a new library】窗口中选中a new library and a logical mapping to it,然后在Library Name下填入Altera,点击OK。

3.在主菜单中选择compile‐>compile…,在弹出的【Compile Source Files】窗口上,通过窗口上【library】下拉菜单选择库名Altera,在【查找范围】中选择quartus安装目录下的…\quartus\eda\sim_lib目录,选择所需要编译的库(如不确定,可全选),点击【compile】,编译完成后,点击【done】。

二、 用Modelsim进行仿真a.ModelSim的功能仿真主要流程如下:1.新建一个工程,打开File‐>New‐>Project,输入工程名,指定工程保存的路径,然后添加文件,如下图:在project的空白处,单击右键也可以再添加存在的文件或创建新的文件。

2.添加文件到工程中去。

Modelsim软件的使用方法

Modelsim软件的使用方法
4、同样把tes.3 Modelsim功能仿真(续4)
5. 点击simulate-start simulation,选中design标签 work库下testbench文件,点击ok。 6. workspace窗口出现sim标签,右键testbench文 件,选择add to wave ,然后点击开始仿真按钮 即可,执行仿真,仿真结果如下图:
4.2.4 综合后仿真(续1)
图10.28 打开EDA tools settings
图10.29 设置网表输出项目
4.2.4 综合后仿真(续1)
图10.30 设置网表输出项目
4.2.4 综合后仿真(续2)
3.启动仿真器,加载仿真文件counter_tb,进行仿真,观察 仿真波形。本次需要Altera仿真库的元件库cycloneII,如 果资料库中没有,则需要加载该库。 仿真结果如下:
4.2.2 Modelsim仿真步骤(续5)
4、 启动仿真器并加载设计顶层
(2)在主窗口中出 现Object窗口,右键单 击Object窗口中的任 意信号,选择add to wave/ signals in region 或者是右键选中sim 窗口中加载的顶层设 计名,选中add to wave, 就可以打开波形窗口, 并将所有信号都加载 到波形窗口当中 。 如右图所示。
3、时序仿真 • 时序仿真也称为布局布线后仿真或者后仿真,是指电路已经映射到特
定的工艺环境后,综合考虑电路的路径延时与门延时的影响,验证电 路的行为是否能够在一定时序条件下满足设计构想的功能。 布线抽象出的门级网表、Testbench以及扩展名为SDO的标准延时文 件。 际运行情况是否一致,确保设计的可靠性和稳定性。
4.2.5 时序仿真
时序仿真的步骤跟综合后仿真大致相同,所不同的是 添加的文件不完全一样。其具体步骤如下: 1、在工作库work下建立一个工程project_shx,方法和功能 仿真中建立prtoject_gn一样; 2、工程中需要添加的文件有顶层设计文件counter,测试文 件counter_tb、QuartusII中编译生成的网表文件和延时 文件_vhd.sdo; _vhd.sdo文件的生成可以参考综合后仿真中网表 文件的生成方法,所不同的是在图10.30的设置中将 Generate netlist functional simulate only置为 “off”,点击OK保存设置,回到QuartusII主窗口后编译 文件,编译完成后,在counter文件夹下面能看到一个名 为counter_vhd.sdo文件,这个文件就是综合后仿真所需 要的延时文件。

modelsim使用流程

modelsim使用流程

modelsim使用流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!ModelSim 使用流程。

1. 项目设置。

启动 ModelSim 软件并新建一个项目。

modelsim软件使用

modelsim软件使用
目的:
如何编写的测试文件,对所做的设计进行完 整的测试和验证。 掌握组织模块测试的常用方法 学会编写常用的测试代码。
模块的测试
被测模块 输出响应 和验证
激励和控 制信号
1、 编写测试验证程序
• 测试验证程序用于测试和验证设计的正确性。
• Verilog HDL提供强有力的结构来编写测试验证 程序。
4.1 ModelSim简介
本节将对ModelSim6.2b版本进行介绍,有关更深入地 教 程 , 还 是 参 考 ModelSim 附 带 的 文 档 。 在 网 址 /support/上也可以找到深入的教程, 在该页面上注册以后,会在电子邮件中收到发过来的密码, 根据邮件地址和密码登陆后,会有一些高级教程和使用要点 (Application Notes)下载。
逻辑设计与FPGA
仿真软件Modelsim的基本知识
福州大学微电子系
仿真与验证
1、编写测试验证程序
• 1.1、测试验证程序有三个主要目的 • 1.2、典型的测试验证程序形式
2、激励波形产生
• 2.1、值序列 • 2.2、重复模式
3、测试验证程序实例
• 3.1、解码器 • 3.2、触发器
Verilog模块的测试
4.1 ModelSim简介
如果ModelSim是和ISE一起使用的话,你需要编译 Xilinx 的 一 些 库 文 件 , 这 些 库 文 件 包 括 unisim 、 simprim、xilinxcorelib、aim、pls、cpld等,有了这 些库文件,可以在ISE中生成设计的行为仿真(将设计 转换为RTL描述后进行的仿真)、转换后仿真(将设计 转换为Xilinx器件的基本模块来实现后进行的仿真)、 映射后仿真(将设计用Xilinx的具体器件的具体模块实 现后进行的仿真,仿真中包含了器件的延时,但由于没 有布局布线无法提取出互连线的信息,因此仿真中不包 含互连线的延时、电容、电阻等信息)。

2011_电子设计自动化(EDA)技术专题第8讲_ModelSim简介(自学)

2011_电子设计自动化(EDA)技术专题第8讲_ModelSim简介(自学)

HDL仿真软件ModelSim简介
8.1 ModelSim简介
是业界优秀的HDL仿真器; 采用直接优化的编译技术、Tcl/Tk技 术和单一内核仿真技术; 专业版支持UNIX(包括64位)、Linux 和Windows平台 几种不同的版本:SE、PE、LE和OEM,其中 SE是功能最全的专业版本
HDL仿真软件ModelSim简介
8.5 ModelSim 批处理 仿真文件和工作方式
1.DO文件的应用和工作方式 执行“File”→“New”→“Source”→“Do”命令,进入ModelSim 的Do文件编辑方式 在编辑窗口输入仿真批处理文件的代码,以.do为扩展名保存 文件 Do文件的调用方式:do filename parameters 在命令窗口中执行 do filename parameters即可完成对设计的 仿真 以计数器仿真批处理文件为例: cnt10.do的内容如下:
2. 添加源代码(adder4.v和test_adder4.v ) adder4.v的内容 module adder4(COUT,SUM,A,B,CIN); output[3:0] SUM; output COUT; input[3:0] A,B; input CIN; assign {COUT,SUM}=A+B+CIN; endmodule
仿真测试平台(Test Bench)
◆测试模块只有模块名字,没有端口列表; ◆输入信号(激励信号)必须定义为reg型,以保持信号值;输 出信号(显示信号)必须定义为wire型; ◆在测试模块中调用被测试模块,在调用时,应注意端口排列 的顺序与模块定义时一致; ◆一般用initial、always过程块来定义激励信号波形;使用系统 任务和系统函数来定义输出显示格式; ◆在激励信号的定义中,可使用如下一些控制语句:if-else, for,forever,case,while,repeat,wait,disable,force, release,begin-end,fork-join等,这些控制语句一般只用在 always、initial、function、task等过程块中。

Modelsim使用说明

Modelsim使用说明

Modelsim 使用简明指南1 前言作为一种简单易用,功能强大的逻辑仿真工具,Modelsim 具有广泛的应用。

这里对ModelSim 作一个入门性的简单介绍。

首先介绍ModelSim 的代码仿真,然后介绍门级仿真和时序验证。

和时序验证。

2 代码仿真在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,检测源代码是否符合功能要求。

这时,仿真的对象为HDL 代码,比较直观,速度比较快,可以进行与软件相类似的多种手段的调试(如单步执行等)。

在设计的最初阶段发现问题,在设计的最初阶段发现问题,可以节省大量的精力。

可以节省大量的精力。

2.1 代码仿真需要的文件1.设计HDL 源代码:源代码:新建一个“文本文档”文件,在记事本中输入HDL 源代码,使用V erilog 语言编程。

语言编程。

2.测试激励代码:.测试激励代码:在同一个文件中,根据设计要求输入/输出的激励程序,由于不需要进行综合,书写具有很大的灵活性。

有很大的灵活性。

3.保存该文件后退出,然后重命名该文件,.保存该文件后退出,然后重命名该文件,使该文件后缀名由使该文件后缀名由.txt 变为.v 。

如:t81.v 。

4. 该文件保存在你所建立的工作目录中,如:D\VLSItext\t1如果要修改该文件,仍然可以选择用仍然可以选择用记事本记事本打开编辑再保存,记事本相当于是一源代码输入软件。

输入软件。

注:所有的文件名及目录名均要求是英文,无中文字符。

2.2 代码仿真步骤1.建立工程:在ModelSim 中建立Project 。

如图2.1所示,点击File ðNew ðProject ,得到Creata Project 的弹出窗口,如图2.2所示。

在Project Name 栏中填写你的项目名字,建议和你的顶层文件名字一致,如t81。

Project Location 是你的项目目录,你可通过Brose 按钮来选择或改变,建议项目目录选择为你所保存源代码的目录,如:D\VLSItext\t1。

EDA技术与应用课件-3-modelsim使用

EDA技术与应用课件-3-modelsim使用

演示?
• 上堂课例子,理解下图 • 课堂介绍部分verilog语法后,使用 modelsim仿真
Verilog语法(配合modelsim介绍)
1. reg 类型 (wire类型?) 2. 运算 3. 时延(`timescale,#,#(rise,fall,turn-off)) 4. 语法:initial , always,assign 5. 系统任务 (基本、常用任务,其他任务用到时再介绍 $display, $monitor, $time, $finish, $stop
Binary operators(二元操作,两个操作数) +、 - 、*、 / arithmetic % modulus >、 >=、 <、 <= comparison &&、 || logical == 、!= logical equality === 、!== case equality &、|、^、^~、~^ bitwise (^~ and ~^ are equivalent) <<、>> shift
Modelsim版本问题
1. SE/PE/LE/Designer(non-OEM)版,分别包含 不同的feature //目前Mentor维护:QuestaSim,ModelsimSE, Modelsim HDL Designer 2. OEM版: Original Equipment Manufacturer、贴牌生产 Modelsim-ae(Altera Edition)(课程采用) Modelsim-xe(Xilinx Edition) OEM版在原版基础上预编译并设置了OEM厂商 器件库,modelsim.ini中可看到映射库;功能上 并没有限制

MODESLsim仿真使用说明

MODESLsim仿真使用说明

1. Modelsim简介Modelsim仿真工具是Model公司开发的。

它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。

对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial 里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。

但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim 就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。

2. 安装同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。

解压安装工具包开始安装,安装时选择Full product安装。

当出现Install Hardware Security Key Driver时选择否。

当出现Add Modelsim To Path选择是。

出现Modelsim License Wizard时选择Close。

!!!!安装路径不能有空格!!!不要装在d:\program files\下,否则有可能自动调用时出现找不到d:\program 的情况在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后复制到该文件夹下。

最好这样,我曾经放在D:\altera\Modelsim_6.1d\License.dat都不行修改系统的环境变量。

右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。

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

• 8.3.1 基本结构
• 测试平台在结构上包括两部分,一部分是实例化被测设计 DUT(Design Under Test)并提供激励源,另一部分是验证 输出结果并校验其正确性。
• 其基本结构框架(Verilog HDL编写)如图8.3.1所示:
• 8.3.2 验证过程
• 仿真验证过程主要包括:利用Verilog HDL编制 Testbench 仿真文件,通过波形或自动比较工具, 分析设计的正确性,并分析Testbench自身的覆盖 率和正确性。
• Testbench的仿真流程如图8.3.3所示,Testbench为被验证设 计提供激励信号、实例化被验证设计、将仿真数据显示在 终端或者存入文件。
• 测试程序的结构如图8.3.4所示,测试程序与一般的Verilog 模块没有根本的区别,其特点表现为:
• 测试模块只有模块名字,没有端口列表。输入信号(激励 信号)必须定义为reg型,以保持信号值;输出信号(显 示信号)必须定义为wire型。在测试模块中调用被测试模 块,调用时,应注意端口排列的顺序与模块定义时一致。
$readmemh(”数据文件名”,存储器名,起始地址,结束地址);
$readmemb(”数据文件名”,存储器名,起始地址,结束地址);
• 其中,起始地址和结束地址均可以采用默认,如果缺省起 始地址,表示从存储器的首地址开始存储;如果缺省结束 地址,表示一直存储到存储器的结束地址。
• 6、$random
• Testbench,即测试平台,用于仿真验证。在软环境中没有 激励输入,也不能对用户的设计输出结果的正确性做出评 估。因此就有必要模拟实际环境的输入激励和输出校验, 在这个虚拟平台上用户可以对设计从软件层面上进行分析 和校验,完成仿真验证。
• 接下来将简单介绍一下测试平台Testbench的编写及其在 ModelSim仿真中的应用。
• 8.3 应用Testbench仿真验证

如何验证设计的正确性及其功能的实现是否达到了最
初的设计目的,在项目实践中尤为重要。设计的过程实际
上是从一种形式到另一种形式的转换,比如从设计要求到
RTL代码,从RTL代码到门级网表,从门级网表到版图等。
验证则是保证每一步的设计转换过程准确无误。
Hale Waihona Puke • 在FPGA/CPLD设计领域,最常用的仿真软件工具是 Modelsim软件。
• $random是产生随机数的系统函数,每次调用该函数将返 回一个32位的随机数,该随机数是一个带符号的整数。
• 8.2 用户自定义原语

利用用户自定义原语(User Defined Primitives,即
UDP),用户可以自行定义和调用基本逻辑元件。用户定
义基本单元(UDP、User Defined Primitive)和Verilog HDL
果显示与输出系统任务。它们的使用格式如下:
• $monitor(”显示格式控制符”,输出变量列表); • $strobe(”显示格式控制符”,输出变量列表); • $monitor就像有一个独立的监视器,每当输出变量列表中
的变量发生变化时,$monitor任务就执行一次。
• 3、$time和$realtime
• 4、$finish与$stop • 系统任务$finish与$stop用于对仿真过程进行控制,分别表
示结束仿真和中断仿真。 • $finish与$stop的使用格式如下: • $stop; • $stop(n); • $finish; • $finish(n);
• n是$finish与$stop 的参数,n可以是0、1、2 等值,分别表示以下含义:
内部的基本单元相似,但UDP只能用于仿真程序中,不能
用于可综合的设计描述。用真值表可以描述组合逻辑UDP
元件和时序逻辑UDP元件。
• 2、UDP的应用 • UDP在ASIC库单元开发、中小型芯片设计中很有用,主要
表现在以下方面:
• (1)可以使用UDP扩充已定义的基本单元集; • (2)UDP是自包容的,也就是不需要实例化其它模块; • (3)UDP可以表示时序元件和组合元件; • (4)UDP的行为由真值表表示; • (5)UDP实例化与基本单元实例化相同。
• 0:不输出任何信息; • 1:给出仿真时间和位置 • 2:给出仿真时间和位置,还有其他一些运
行统计数据。
• 如果不带参数,则默认的参数是1.
• 5、$readmemh与$readmemb
• $readmemh与$readmemb是属于文件读写控制的系统任务 ,其作用都是从外部文件中读取数据并放入存储器中。两 者的区别在于读取数据的格式不同,$readmemh为读取十 六进制数据,而$readmemb为读取二进制数据。 $readmemh与$readmemb的使用格式为:
• $time和$realtime是显示仿真时间标度的系统任务,这两 个系统任务被调用时,可以返回当前的仿真时刻表。两者 的区别在于$time返回的是整数时间值,$realtime返回的 是实数时间值。
• 在modelsim下仿真后输出结果显示为: • #0 a=x • #10 a=1 • #20 a=2 • 如果将$time改为$realtime,那么仿真后输出显示为: • #0 a=x • #10.1 a=1 • #20.2 a=2
第8章 系统仿真与ModelSim软件使用
• 8.1系统任务与函数 • 在Verilog中定义了很多系统任务和函数,这些系统任务和
函数主要用于仿真,有助于实现高效的仿真和有效的仿真 分析。 • 1、$display与$write • $display和$write是两个系统任务,两者的功能相同,都 用于显示模拟结果,其区别是$display在输出结束后能自 动换行,而$write不换行。
• $display 和$write的使用格式为: • $display(“格式控制符”,输出变量名列表) • $write(“格式控制符”,输出变量名列表) • 例如: • $display($time,,,”a=%hb=%hc=%h”,a,b,c);
• 2、$monitor和$strobe • 与$display和$write类似,$monitor和$strobe也属于仿真结
相关文档
最新文档