ModelSim后仿真 详细流程介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
后仿真前的基本准备工作
Altera仿真库建立步骤
5.编译库结束后,为了在每次新建工程的时候不需要重新编译 Altera的仿真库,需要修改Modelsim的安装目录下的modelsim.ini文 件。
第一步:选中modelsim.ini文件,右键单击属性,将只读属性去掉。 第二步:用写字板或其它工具打开modelsim.ini文件,在[Library]这个位置下面 添加如下2行: altera_base_v = F:/Modelsim 6.5/altera/altera_base_v altera_device = F:/Modelsim 6.5/altera/altera_device
仿真的基本概念
布局布线后仿真(时序仿真)
功能仿真VS布局布线后仿真
仿真的基本概念
布局布线后仿真(时序仿真)
输入文件
1
设计源代码和 testbench激励 文件
2
从布局布线结 果中抽象出来 的门级网表 (.vo文件)
3
扩展名为 SDO 或 SDF 的标准时延 文件(一般用 Quartus生成 的.sdo文件)
F:\Modelsim6.5\altera\altera_device
后仿真前的基本准备工作
Altera仿真库建立步骤
2.启动ModelSim SE。建立两个新库,从主菜单选择File->New-> Library,选中“a new library and a logical mapping to it”,在 “Library Name”填写“altera_base_v”,Library Physical Name填 写文件夹绝对路径,如图所示。
后仿真的基本操作步骤
时序仿真的流程
5.选中选项卡中的SDF,步骤分别是点击“add”,在弹出的Add SDF Entry 窗口中,在SDF File中,点击“Browse”选择找到ModelSim中的工程目录的 标准延时文件devider_module_v.sdo,作用域填写测试平台文件的例化模块 名i1,最后点击“OK”确定,如下图所示。
延时信息
目录
仿真的基本概念
后仿真前的基本准备工作
后仿真的基本操作步骤
后仿真前的基本准备工作
ModelSim库
库文件,是指已经编译通过的设计文件的总体。 ModelSim中有两种库类型:
工作库
1.库的内容会随着使用者 更新设计文件和重新编译 而变化; 2.存放当前设计文件编译 Description of the business 后产生的设计单元; 3.编译前必须先创建好工 作库; 4.每次编译只允许有一个 工作库; 5.默认的工作库名是work
第一步:选中modelsim.ini文件,右键单击属性,将只读属性去掉。 第二步:用写字板或其它工具打开modelsim.ini文件,在[Library]这个位置下面 添加如下2行: altera_base_v = F:/Modelsim 6.5/altera/altera_base_v altera_device = F:/Modelsim 6.5/altera/altera_device
仿真的基本概念
什么是仿真?
仿真的一般性含义是:使用EDA工具,通过对设计 的实际工作情况进行模拟,验证设计的正确性。
仿真验证是FPGA设计过程中非常重要的一个环节,大家不要忽略。
仿真验证工作占设计总工作量的70% “在这个设计规模达数百万门的ASIC、可复用的知识产权(IP)和系统芯片(SOC) 的时代,仿真验证占到了设计总工作量的70%左右。设计团队应该配备能够正确描述 仿真验证需求的工程师和专门进行验证的工程师。仿真验证工程师的数量甚至是RTL 设计人员的两倍。” ----《Writing Testbenches》 【美】Janick Bergeron
综合后门级功能仿真,综合 工具给出的仿真网表已经是 与生产厂家的器件的底层元 件模型对应起来了,可估计 门延时对电路带来的影响。
考虑的是理想化的情况, 没有门延迟,没有布线延 迟。只关注代码的行为级 功能描述是否正确。
只能估计门延时,不能估计线延 时,仿真结果和布线后的实际情 况还有一定的差距,并不十分准 确。由于目前综合工具比较成熟, 一般省去此环节的仿真,直接进 行下一步仿真。
资源库
1.资源库是静态不变的, 可以作为使用者设计的而 一个部分被直接调用; 2.存放着所有可以被当前 编译操作调用的已经编译 过的设计单元; 3.每次编译允许同时调用 多个资源库; 4. ALTERA的仿真库也属 于资源库的一种
后仿真前的基本准备工作
ModelSim库
一个工程里面,资源库可以同时有多个,PLD 厂家的仿真库其实可 以看成资源库的一种。我们一般要建四种库:
LPM
altera_mf
调用了 lpm 元件的设计仿真时需要
调用了 Altera 的MegaFunction的设计仿真时需要
调用了 Altera 的原语(primitive )的设计仿真时需要
altera_primitive
元件库
例如 cyclone. 在仿真中必用的特定型号的 FPGA/CPLD 的库
后仿真前的基本准备工作
Altera仿真库建立步骤
1.在ModelSim安装目录中建立两个文件夹,一个是用于存放公用的 库给它取名altera_base_v;另一个是用于存放您要用到的特定的器 件库,取名为altera_device。
比如,F:\Modelsim 6.5\altera\altera_base_v
后仿真的基本操作步骤
时序仿真的流程
2.对这几个文件进行全编译,编译成功后,结果如下图所示。
后仿真的基本操作步骤
时序仿真的流程
3.选择菜单栏的 simulate->start simulate,如下图所示,启动 仿真设置页面。 选中上面的选项卡中的 Design 再点击 work 左边的“+”,选中 文件divider_module_tb.v。 注意:要把 Enable optimization 前面的勾去掉,即不进行自动优 化。
目录
仿真的基本概念
后仿真前的基本准备工作
后仿真的基本操作步骤
后仿真的基本操作步骤
时序仿真的流程
所用例子:divider_module.v
1.新建一个project,建立divider_module工程,建立work工作库,把 quartus II综合后的simulation文件夹里的几个文件一起复制到当前工 程目录下,向工程添加三个文件——divider_module.v, divider_module_tb.v 和 divider_module.vo,如下图所示。
后仿真的基本操作步骤
时序仿真的流程
THANKS!
后仿真的基本操作步骤
时序仿真的流程
4.选中选项卡中的Libraries加载刚才建的库,步骤分别是点击 “add”,在弹出的Select Library窗口中,点击下三角符号选择 刚才建立的元件库“altera_device”,点击“OK”确定,如下图 所示。
注意:此步骤是为该设计添加 altera的仿真元件库,由于没有 用到altera的lpm,megafunction 和原语等,所以没有添加之前新 建的例外一个库altera_base_v。
仿真的基本概念
仿真的分类?
前仿真 后仿真
功能仿真
仿真
时序仿真
综合前仿真 综合后仿真
布局布线后仿真
仿真的基本概念
仿真的分类?
功能仿真(前仿真)是指在一个设计中, 在设计实 现前对所创建的逻辑进行的验证其功能是否正确的 过程。
综合前仿真 这个阶段的仿真可以用来 检查代码中的语法错误以 及代码行为的正确性,其 中不包括延时信息。
后仿真前的基本准备工作
Altera仿真库建立步骤
3.从主菜单栏中选择 Compile->Compile…,弹出一个对话框,点中 Library下拉菜单,由“work”改为“altera_base_v”,点中查找范 围下拉菜单,指向 Quartus II 安装目录\quartus\eda\sim_lib,选中下 图所示中的220model.v、altera_mf.v和altera_primitives.v三个文件, 进行编译。
后仿真的基本操作步骤
时序仿真的流程
6.最后,点击大窗口“Start Simulation”中的“OK”,如果前 面都正确的话会出现下图所示结果。
7.进入到把信号添加到wave窗口,以及进行运行仿真分析。这 两步比较简单,具体不再分析,添加完波形信号如下图所示。
后仿真的基本操作步骤
时序仿真的流程
第三步:保存文件。 第四步:关闭modelsim.ini文件后,再次将其只读属性打开。
6.最后,在Library的面板位置鼠标右击选择Refresh,或者退出 modelsim重新启动。
后仿真前的基本准备工作
Altera仿真库建立步骤
至此,仿真库就完全建好了。 库建好后,ModelSim指向任何一个目录下或新建任何一个工程 (project )时,ALTERA 的仿真库都会出现在资源库当中,如下图 所示:
综合后仿真
仿真的基本概念
仿真的分类?
布局布线后仿真(后仿真),即时序仿真,是指使用 布局布线后综合工具给出的模块和连线的延时信息, 在最坏的情况下对电路的行为作出实际的评估。
门延时 走线延时
FPGA的实际工作情况
一般来说,布局布线后仿 真必须进行,以此确保设 计的可靠性和稳定性,发 现时序违规(Timing Violation)。
后仿真前的基本准备பைடு நூலகம்作
Altera仿真库建立步骤
4.同样的方法步骤编译altera_device器件库。在编译这个库时选择 的文件为一些器件文件如图所示。当然为了加快编译速度,也可以 选择只用到的器件库文件。
后仿真前的基本准备工作
Altera仿真库建立步骤
5.编译库结束后,为了在每次新建工程的时候不需要重新编译 Altera的仿真库,需要修改Modelsim的安装目录下的modelsim.ini文 件。
目录
仿真的基本概念
后仿真前的基本准备工作 后仿真的基本操作步骤
仿真的基本概念
什么是仿真?
仿真的一般性含义是:使用EDA工具,通过对设计 的实际工作情况进行模拟,验证设计的正确性。
仿真过程,是正确实现设计的关键环节,用来验证设计者的设 计思想是否正确,及在设计实现过程中各种分布参数引入后, 其设计的功能是否依然正确无误。
altera_primitive
元件库
例如 cyclone. 在仿真中必用的特定型号的 FPGA/CPLD 的库
后仿真前的基本准备工作
ModelSim库
安装好Quartus II 后,在其安装目录下 altera\…\quartus\eda\sim_lib 里面存放了所有的仿真原型文件(simulation model files )。每个 PLD 厂家的开发软件装好后都有相应的目录存放这些仿真原型文件。
后仿真前的基本准备工作
ModelSim库
前三种库是调用了相应的ALTERA 设计模块的设计进行仿真时必备 的库。第四种库是进行综合后功能仿真和布线后时序仿真必备的库。
LPM
altera_mf
调用了 lpm 元件的设计仿真时需要
调用了 Altera 的MegaFunction的设计仿真时需要
调用了 Altera 的原语(primitive )的设计仿真时需要