Modelsim中文教程.ppt





《Modelsim中文教程.ppt》由会员分享,可在线阅读,更多相关《Modelsim中文教程.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1,用Model技术公司的ModelSim做分析设计,更多内容请访问http:/,2,典型的PLD设计流程,3,系统产品,设计规范,典型的PLD流程,设计输入,RTL仿真,设计综合,门级仿真,布局和布线,时序分析,系统上验证,修改设计,4,典型的PLD设计流程,设计输入设计的行为或结构描述RTL仿真(ModelSim)功能仿真验证逻辑模型(没有使用时间延迟)可能要求编辑设计综合把设计翻译成原始的目标工艺最优化合适的面积要求和性能要求布局和布线 映射设计到目标工艺里指定位置 指定的布线资源应被使用,5,典型的PLD设计流程,门级仿真 (ModelSim)时序仿真验证设计一旦编程或配置将能在目标工
2、艺里工作可能要求编辑设计时序分析验证合乎性能规范可能要求编辑设计版图设计仿真版图设计在板编程和测试器件,6,ModelSim概览,ModelSim 仿真工具,由Model技术公司开发工业上最通用的仿真器之一可在Verilog 和 VHDL仿真OEM版本允许Verilog仿真 或者 VHDL 仿真,8,ModelSim 产品,ModelSim/VHDL 或者 ModelSim/VerilogOEM ModelSim/LNL许可 Verilog 或者 VHDL,但是不同时许可ModelSim/PLUS设计者能立刻混合仿真Verilog 和 VHDLModelSim/SE首要的版本PLUS的所有功能
3、连同附加功能,9,ModelSim OEM 功能,提供完全的标准87 VHDL93 VHDLIEEE 1364-95 VerilogSDF 1.0 - 3.0VITAL 2.2bVITAL 95易用的界面通用的平台,10,用ModelSim仿真,课程安排,基本的仿真步骤用户界面功能仿真Quartus输出仿真文件时序仿真,12,Model 技术公司的 ModelSim,main主窗口:,structure结构窗口,process处理窗口:,Signal&variable信号和变量窗口,dataflow数据流窗口,source源窗口,Wave&list波形和列表窗口,13,ModelSim实现方法
4、,交互式的命令行 (Cmd)唯一的界面是控制台的命令行, 没有用户界面用户界面 (UI)能接受菜单输入和命令行输入课程主要讨论批处理模式从DOS或UNIX命令行运行批处理文件不讨论,14,基本仿真步骤,1 建立库2 映射库到物理目录3 编译源代码- 所有的HDL代码必须被编译- Verilog和VHDL是不同的4 启动仿真器5 执行仿真,15,1 建立ModelSim库,UI) 从主菜单里面: Design - Create a New LibraryCmd) 从main, 记录窗口:ModelSim vlib ,16,ModelSim 库,包含编译设计单元的目录VHDL 和 Verilog
5、都被编译到库里两个类型Working (缺省值 work)包含当前被编译的设计单元编译前必须建立一个working库每个编译只允许一个Resource包含能被当前编译引用的设计单元在编译期间允许多个VHDL库能通过LIBRARY和USE子句引用,17,ModelSim 设计单元,主要在一个特定的库中必须有唯一的名字VHDLEntities(实体)Package Declarations(包声明)Configurations(结构)VerilogModules(模块)User Defined Primitives (用户定义原语),次要在相同的库里单元可以用一个普通名称VHDLArchitect
6、ures(体系)Package bodiesVerilog没有次要单元,18,VHDLLibrary std 包含packages standard 和 textio这些packages初学者不要去修改IEEEpure包含唯一IEEE 认可的 std_logic_1164 packages用于仿真加速IEEE包含预编译的Synopsys和IEEE 算法包给std_logic的基本类型用于仿真加速,VHDL 预先确定库,19,vlib 命令,建立库缺省值是 work,_info,any_verilog_module,any_vhdl_unit,_lock,_primary.dat_primary
7、.vhdverilog.asm,_primary.dat.dat.asm,Where_primary.dat - Verilog module 或 VHDL entity的编码格式_primary.vhd - Verilog 端口的VHDL entity陈述 .dat - VHDL体系的编码格式verilog.asm 和 .asm 执行代码文件,20,建立库(UI),选择 a new library only 和输入库名,这个命令在局部目录建立一个库子目录,- vlib lpm_sim,21,映射逻辑库名,必须映射一个逻辑库名到库路径(定位)在库路径里的文件必须已经被编译支持相对的, 绝对的,
8、 和软件路径名需要库在工作目录里没有定位用vmap命令,22,2 映射逻辑库名,语法: vmap ,UI) 从主菜单: Design - Browse Libraries Design - Create a New LibraryCmd) 从主体的记录窗口:ModelSim vmap my_work c:/my_design/my_lib,23,映射现有的库(UI),选择 a map to an existing library 和输入库名,浏览库目录,用这个命令可映射一个设计单元已经预编译的库目录,- vmap lpm_sim c:/Quartus/library/lpm,24,映射现有的库
9、(UI),选择 a new library and a logical mapping to it a输入库名,这个命令在局部目录建立一个库目录然后为它设立映射,- vlib my_lib- vmap my_lib my_lib,25,映射库 (UI),用Add 按钮建立一个新的库和映射,26,其他的库命令,vdel从指定的库中删除一个完整的库或者一个设计单元UI) Design - Library Browser (删除库或者映射)UI) Design - View Library Contents (删除设计单元)Cmd) vdel -lib vdir显示指定库的内容UI) Design
10、- View Library ContentsCmd) vdir -lib ,27,3 编译源代码(VHDL),UI) Design - CompileCmd) vcom -work .vhd .vhd文件按出现的顺序被编译Compilation order/dependencies (next slide)87 VHDL是缺省的UI) 用Default Options 按钮设为93Cmd) 用 -93 选项(必须是第一个参数) 缺省编译到工作库例如. Vcom -93 my_design.vhd,注意: 当库中涉及的设计单元被改变时设计单元必须重新分析。,28,VHDL Design Uni
11、ts Dependencies,Entity before ArchitecturePackage Declaration before Package BodyDesign units must compiled before being referencedPackages before Entity/Architectures using themEntities/Configurations before Architectures referencing themConfigurations are compiled last,29,3 编译源代码(Verilog),UI) Desi
12、gn - CompileCmd) vlog -work .v .v文件按出现的顺序被编译文件的顺序或者编辑的顺序不重要支持增量式编译缺省编译到work库例如. vlog my_design.v,注意:当库中涉及的设计单元被改变时设计单元必须重新分析。,30,Verilog 增量编译,只有被改变的设计单元被编译自动或者手动手动更有效自动在命令行用 -incr 选项Module 和 UDP实例和 hierarchical references可在仿真时解决一些错误在编辑时将不能察觉引用的模块没有编译不正确的端口连接不正确的hierarchical references,31,编译 (UI),点亮一
13、个或多个文件并点击 Compile,32,错误信息,错误信息在 Main 窗口显示,在信息上双击,引起错误的代码在 Source 窗口被点亮,33,4 启动仿真器,UI) Design - Load New DesignCmd) vsim -lib VHDLvsim top_entity top_architecture仿真 Entity/Architecture 对也能选择一个结构Verilogvsim top_level1 top_level2仿真多个top级模块,34,启动仿真器 (UI),选择仿真器的分辨率,选择库,选择顶级module 或 entity/architecture,35
14、,启动仿真器(UI),指定 SDF文件,使用定时值的等级的类型 (如果不是顶级),36,vsim 命令的参数,参数-t 指定仿真的时间分辨率单位可以是fs, ps, ns, ms, sec, min, hr如果用了 Verilog的 timescale指令, 将使用整个设计中的最小的时间精度可选项(缺省是 ns)-sdfmin | -sdftyp | -sdfmax =注释SDF文件可选项使用实例名也是可选项; 如果没有使用, SDF用于顶级,37,5 执行仿真,UI) RunCOM) run 按timesteps指定的时间长度执行仿真,38,执行仿真 (UI),选择 timesteps数量就
15、可以执行仿真,Restart 重装任何已改动的设计元素并把仿真时间设为零COM) restart,39,run 命令参数,可选的参数- 指定运行的timesteps数量单位可用fs, ps, ns, ms, sec-stepSteps to the next HDL statement-continue继续上次在-step或断点后的仿真-all运行仿真器直到没有其他的事件,40,run 命令举例,run 1000从当前位置运行仿真 1000 timestepsrun 2500 ns从当前位置运行仿真2500 nsrun 3000运行仿真到 timestep 3000,41,仿真器激励,测试台V
16、erilog 或 VHDL非常复杂的仿真 交互式仿真force命令简单的模块仿真直接从命令控制台输入.DO 文件 (宏文件),42,force 命令,允许用户给VHDL信号和Verilog线网予以激励常规语法: force , 参数item_name被激励的HDL项的名称必需的必须是一个Must be a scalar or one-dimensional array of charactersCan be an indexed array, array slice, or record sub-element as long as its of the above typeCan use w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- modelsim 中文 教程

限制150内