modelsim建库流程_vip
- 格式:docx
- 大小:173.48 KB
- 文档页数:7
Modelsim入门技术文档单位:深圳大学EDA中心实验室指导老师:徐渊作者:陈战夫rshamozhihu@时间:2010-1-7说明:本文档作为EDA中心研究生modelsim入门用。
分三个章节阐述。
1.modelsim中库的编译1.自己新建一个文件夹,如D:\modelsimpro\counter,将counter.v与counter_tb.v文件拷贝到该文件夹下。
2.点击modelsim的图标,打开modelsim的界面窗口。
3.选择File > Change Directory,选择步骤1中的目录,点击OK。
4.选择File > New > Library。
5.在library name与library physical name两栏中均填work.点击OK。
(在transcript窗口中可看到vlib workvmap work work)。
6.选择Compile > Compile,出现如下窗口。
同时选中counter.v与counter_tb.v两个文件。
7.点击compile.再点击done.8.在library标签点击work库前面的“+”号,可看到counter.v与counter_tb.v均在其目录下。
9.双击counter_tb.v可将该设计装载到本次工程库中。
10.选择View > Debug Windows >wave.将弹出波形窗口。
11.在workspace窗口下点击sim标签。
12.右击counter_tb.v,在出现的菜单中选择Add > Add to Wave。
13.在transcript窗口中VSIM>后敲入run 1000.则系统将仿真1000ns.我们可根据波形查看仿真结果。
14.在workspace窗口中点击files标签,鼠标左键双击counter.v,打开counter.v文件。
15.在第10行数字10旁鼠标左键点击一下,可出现一小红点,即断点。
ModelSim SE中建立Xilinx仿真库版本说明:ModelSim SE 6.5,Xilinx 10.1(Xilinx 10.1要安装ModelSim SE 6.3c以上的版本)目录1 ModelSim不同的版本比较 (1)2 ModelSim SE中Xilinx仿真库的建立步骤: (2)2.1 为modelsim生成3个库 (2)2.2 DOS下输入命令法 (6)3 关联Xilinx和ModelSim (6)1 ModelSim不同的版本比较ModelSim分几种不同的版本:SE、PE、LE和OEM,其中SE是最高级的版本而集成在Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。
SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE 比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSim XE快近40倍。
以下列表介绍了OEM版本(以Xilinx公司提供的ModelSim XE版本为例)与ModelSim SE版本之间的差异。
ModelSim SE支持PC、UNIX和LINUX混合平台;提供全面完善以及高性能的验证功能;全面支持业界广泛的标准;Mentor Graphics公司提供业界最好的技术支持与服务。
ModelSim版本功能与性能差异技术差异 ModelSim SE ModelSim XE II单一语言支持 支持 支持im_ver,Unisim_ver,Xilinxcorelib_ver这三个库的,可以采用2.1的方法。
2.2介绍了一种更加简单的方法。
提醒:无论是安装文件的路径还是库的保存路径,都不能含有空格,如不能安装在“p p”的路径下。
方法一(参照方法二,设置真的很复杂....):奶奶的,搞了一晚上的modelsim仿真库,找了很多方法,找到一种一劳永逸的,介绍如下:看下图,我新建一个工程时,注意到最下面的Copy Setting From,里面的内容是D:/Program Files/modeltech_6.5b/examples/modelsim.ini,我发现这个是modelsim系统的一个默认配置,所以一劳永逸的方法就是更改这个文件:modelsim.ini。
1.参照我的上述路径取消Modelsim.ini配置文件的只读属性。
2.找一个永久保存的路径,比如我的是在在D:\2_Project\FPGA\sim_lib。
打开modelsim,然后file->change Direcory,指向D:\2_Project\FPGA\sim_lib。
3.执行File->New->Library,在弹出的对话框中,Create项选择"a new library and a logical mapping to it";Library Name项填写新建库的名称,我的是altera_mf_sim;Library Physical Name中也自动修改为altera_mf_sim。
点击OK后,在D:\2_Project\FPGA\sim_lib下将会看到新建的altera_mf_sim文件夹。
4.执行Compile->Compile,弹出如下对话框。
在Library下拉列表中选择库,表示编译工作是对该库进行的,我选择新建的altera_mf_sim库;然后在下面窗口中选择仿真模型文件,这里以altera_mf.v为例,它是quartus自带的仿真模型文件,在quartus安装路径\eda\sim_lib 文件夹中可以找到。
选择库和文件后(可以是多个文件),点击"Compile"按钮,等待编译完成,然后点击"Done"按钮退出。
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是一款由美国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的基本使用流程—————By Metcalf 一、预备准备一个源文件和一个相应的测试文件,并在QuartusII或ISE环境下编译成功。
没有的自行百度搜。
二、整体流程工程的建立、编译文件和仿真。
三、具体流程1.工程的建立1)File→New→New Project…2)在D盘新建文件夹,命名为Metcalf(笔者暂时的英文名),将工程命名为Counter_Design,默认库名work,其他选项不需要改动,如图1所示,再点击“OK”。
图1 建立工程3)在弹出的对话框选择“Add Existing File”,又弹出一个对话框,在该对话框点击“Browse..”,添加准备好的两个文件,如图2所示,点击“打开”,选中“Copy to project directory”,如图3所示,点击“OK”,得到的效果如图4所示。
图2 选取文件图3 添加文件到工程里图4 添加文件后的效果2.编译文件Compile→Compile All,产生的效果如图5,注意红色方框内的前后变化。
Library库里work的变化如图6所示。
文件夹的变化如图7。
图5 编译后的效果图6 work的变化图7 文件夹里的变化3.仿真1)Simulate→Start Simulation,弹出图8,选中work里的Counter_Design_TB,去掉Enable optimization的选项,点击“OK”。
图8 选择并设置测试文件2)选中图9中红色方框里的内容,鼠标右击,Add→To Wave→All items in region,出现图10。
图9图103)Simulate→Run→Run-All,额,怎么没有波形,别急,左手按住Ctrl,右手滚动鼠标滑轮,波形图出现了!如图11所示。
图11。
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!1. 建立工程打开 Modelsim 软件。
选择“File”菜单,然后选择“New”->“Project”。
Modelsim建库流程——在已有的IEEE库中加入新的库文件1.将所需要的库对应的vhd文件拷贝至C:\Actel\Libero_v9.0\Model\vhdl_src\ieee文件夹下;2.确保modelsim不是处于仿真状态下:3.编译库中的文件,首先需要选中库,确认如下4.可以在vhdl模块中调用ieee.math_utility_pkg文件了。
采用上述方法,可以加入math_utility_pkg和fixed_pkg等vhdl-93中没有包括的库文件,增加vhdl语言支持的综合功能。
5.点击modelsim项目文件中的presynth.mpf文件,可以打开这个modelsim项目,然后可以对所有文件进行编译、仿真等操作。
6.对于定点数运算,需要以下两个库:math_utility_pkg.vhdl - Types used in the fixed point packagefixed_pkg_c.vhdl - Fixed-point package (VHDL-93 compatibility version)而这两个库中又会调用floatfixlib库:这个库包含Actel/Libero_v9.1/Model/vhdl_src/floatfixlib 目录下的三个文件:fixed_pkg_c.vhd, float_pkg_c.vhd, math_utility_pkg.vhd,也就是说,要用这三个文件生成floatfixlib库。
----------------------------------------------------------------------Modelsim仿真流程-经验总结7.Modelsim简介略。
2.modelsim仿真流程:modelsim基本的仿真流程包括建立库、建立工程并编译、仿真、调试、但在libero环境中运行modelsim时,软件自动映射库和生成工程文件。
其中功能仿真、综合仿真以及后仿真分别映射presynth、postsynth和postlayout库。
基本流程是:建立工作库→编译源代码→启动仿真→分析、调试。
8.建立库并映射在modelsim中,任何使用VHDL、Verilog HDL、SystemC等语言实现的设计,都被编译到一个库中。
♥方法一:File>New>Library选择新建并映射到该库;♥方法二:在modelsim>提示符下运行命令vlib work2-建立库,vmap work work2-建立映射库;9.建立工程Modelsim仿真需要建立自己的工程,同时modelsim还提供了文件夹管理工程的功能。
♥step1:File>New>project,并指定库文件名;♥step2:新建文件或导入文件;10.编译文件建立好工程后,使用compile功能对源文件进行编译。
Libero环境启动modelsim 时,系统执行run.do脚本文件自动编译源文件。
♥鼠标右击文件,选择compile All对所有的工程文件执行编译操作;♥启动仿真,使用simulation>start simulation>选择design选项卡功能使modelsim进入仿真状态,之后可以运行仿真。
在libero环境下,运行modelsim 直接从运行仿真这一步骤开始。
♥运行仿真可以设置仿真时间或选择仿真全部♥tcl命令: do run.do –当设计修改后,使用此命令重新导入设计;Do wave.do-打开波形列表文件,或者向当前波形添加列表;Restart-复位当前仿真,从0时刻重新仿真;Run 1ms-运行仿真1ms时间;Run all-运行全部的仿真;在libero环境下,可以自己编写脚本文件代替run.do文件,在项目比较大的情况下可以大大简化仿真的操作。
※do wave.do添加自己所需要的波形列表;※restart复位当前仿真到0时刻;※文件名要区别于run.do文件;※libero中设置:Project->settings->simulation导入自己编写的.do文件;2.4分析数据――wave,wave波形窗口直观方便的观察仿真结果,是最常用窗口之一。
可以使用菜单view>wave或者命令view wave打开♥添加信号:※在信号等窗口中右键使用”Add to wave”功能;※在主窗口中使用add wave命令添加信号;※在主窗口中使用do<filename>.do命令添加信号列表;※使用“拖-放”操作,直接从信号、结构等窗口向wave窗口中拖放;♥快捷操作:※波形放大缩小等操作,放大-键盘“+”,缩小-键盘“-”,全屏-键盘“F”,光标放大-键盘“C”;※区域放大,选中的区域全屏显示;※使添加光标,可以利用光标时间差计算周期等参数;※显示/隐藏信号路径,方便阅读;♥设置断点:※右击变量,选择‘Insert Breakpoint’;当选中的变量波形值发生变化时,仿真自动暂停。
♥保存/打开列表:※波形列表为.do可执行脚本文件;打开列表可以使用do<filename>.do命令执行;※waveform formats选项保存变量、显示方式及变量相对位置等属性;♥保存/打开波形:※波形文件为.wlf格式文件,使用File>datasets>saveas 来保存波形;※波形文件可用于波形对比的对象,使用File>datasets>open来打开;♥波形对比:※在AE版本中,只能实现简单的手动对比波形;※用File>datasets方式打开波形文件,向wave窗口中添加需要对比的信号;♥分析数据――list:表格化显示数据,方便通过搜索特殊值或者特定条件的数据,简化分析数据的过程。
List窗口可通过菜单View>list,或者命令view list 打开。
♥分析数据――source:source窗口具有完全的编辑能力,同时提供分析数据的一些操作。
Source窗口可通过双击workspace的总的文件或信号打开。
※查看变量值:鼠标停留在变量上面,可显示当前值;※设置断点: source源代码窗口设置条件断点;♥分析数据――Memories: memory窗口列出工程中存储单元的数据,方便调试存储器的操作。
※step1:展开调用RAM单元的模块,并展开至RAM_ROC>STATCONFIG;※step2:objects窗口选择MEM_512_9选择View Memory Contonts;♥分析数据――watch: watch窗口中可实现监测变量的变化情况,watch窗口可通过菜单view>watch,或者命令view watch打开。
Watch窗口中的对象可以以拖拉的方式从object窗口、wave窗口、source窗口中拖拉进来;♥分析数据――signals:signals窗口显示被选中进程模块的变量、变量值。
Signals窗口可通过菜单view>signals,或者命令view signals打开。
※排序:支持按字母的升序或降序排列。
※拖放操作:可以将信号拖动到wave、list、watch窗口;※过滤器:选择要察看的信号(输入、输出部信号等等)。
※对信号右键操作,可查看源代码;3、Modelsim高级功能 SE版本支持,AE版本不支持的功能。
3.1 Code Coverage Modelsim SE版可以统计代码覆盖率。
代码覆盖率是指代码的覆盖程度,是一种度量方式。
※语句覆盖(statement Coverage)※分支覆盖(Branch Coverage)※条件覆盖(Condition Coverage)※状态机覆盖(FSM Coverage)※路径覆盖(Path Coverage)Modelsim SE版本可以测试代码覆盖率,代码覆盖率是测试验证的一个重要指标♥关于测试验证中的一般观点:※覆盖率只代表测试过哪些代码,不代表是否测试好这些代码;※不要过于相信覆盖率数据;※一个稳定的全面的测试仿真要求某些覆盖率尽量100%;※路径覆盖率>判定覆盖>语句覆盖。
♥统计覆盖率操作流程:※step1:设置编译选项,勾选要统计的代码覆盖率类别;※step2:使能代码覆盖率统计功能,启动仿真;※运行仿真,并分析数据;3.2Waveform Compare 波形对比能快速定位设计在修改前后的区别,在进行波形对比之前要保存原设计的波形文件,此文件为作为对比文件。
※step1:打开波形对比向导设置;tools->waveform compare->comparison wizard;※step2:导入波形文件,作为对比对象;※step3:选择对比信号的范围;※step4:根据信号范围选择需要对比的信号;※step5:分析数据;3.3 追踪数据流:数据流窗口能够对VHDL信号或者Verilog的线网型变量进行图示化跟踪,在界面中驱动信号或驱动线网变量的进程显示在左边,反之被驱动信号显示在右边。
可通过双击wave窗口中需要追踪的信号打开dataflow窗口。
※观察设计的连接性:可以检查设计的物理连接性,可以逐个单元的观察所关注的信号、互联网络或寄存器的输入/输出情况。
※跟踪事件:跟踪一个非预期的输出事件,使用嵌入波形观察器,可以由一个信号的跳变回溯追踪,查到事件的源头。
※追踪未知态:未知态在设计中是传递的,用dataflow中Trace>chaseX功能很容易追踪不定态的来源。
※显示层次结构:可以使用层次化实例显示设计的连通性。
数据流窗口追踪不定态的功能是工程师比较青睐的,在dataflow窗口中使用Trace>ChaseX功能,不断往驱动级追踪不定态传递的源头。
小结:仿真验证在整个项目的过程中有着重要的意义,科学合理的仿真方法和仿真技巧可以达到事半功倍的效果;反之,如果只是一味的理论分析而不会整合利用多种工具的优点特点,可能项目会寸步难行。
做到:※合理仿真系统的每一个模块,缩短系统的设计周期;※完整支持从功能前到布局布线后的仿真功能。