ModelsimSE的功能仿真流程常高嘉Version1A,2010-10-7Abstract摘要本文档首先简要介绍了Modelsim软件,然后对Modelsim的功能仿真流程做了详细说明。目录一、Modelsim软件介绍..............................................................................................................2二、Modelsim的仿真方法...........................................................................................................22.1前端仿真流程...................................................................................................................22.1.1文件准备................................................................................................................22.1.2新建工程................................................................................................................22.1.3编译设计文件........................................................................................................52.1.4启动仿真................................................................................................................62.1.5查看仿真结果并保存............................................................................................8三、总结.......................................................................................................................................9Copyright©2010,西南交大微电子研究所–Allrightreceived.Page1of9ModsimSE的功能仿真流程一、Modelsim软件介绍Modelsim是Mentor公司开发的专业仿真软件,支持VHDL、VerilogHDL和混合仿真的全系列流程。作为目前最流行的仿真工具之一,Modelsim提供了图形界面和命令行两种工作模式,既可以方便地使用鼠标和对话框完成大部分的仿真操作,也可以通过编写宏指令执行由文件驱动的工作流程以提高效率。二、Modelsim的仿真方法Modelsim的仿真分为前端仿真和后端仿真,下面简单介绍一下两者的区别。前端仿真:也称为功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。后端仿真:也称为时序仿真或者布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。其输入文件为从布局布线结果中抽象出来的门级网表、Testbench和扩展名为SDO或SDF的标准时延文件。SDO或SDF的标准时延文件不仅包含门延迟,还包括实际布线延迟,能较好地反映芯片的实际工作情况。一般来说后仿真是必做的。下面对Modelsim的前端仿真(功能仿真)流程做详细的介绍。2.1前端仿真流程2.1.1文件准备1.HDL源文件;可以使VHDL语言或Verilog语言。2.测试激励文件(testbench):根据设计要求输入/输出的激励程序,由于不需要进行综合,书写具有很大的灵活性。3.仿真模型/库:根据设计内调用的器件供应商提供的模块而定,如:FIFO(Altera常用的FIFO有:LPM_FIFO/LPM_FIFO_DC等)、DPRAM等。2.1.2新建工程①新建一个文件夹(文件夹的地方可以自己确定)。然后启动Modelsim将当前路径修改到该文件夹下,后面的所有操作在此文件下进行,以防止文件间的误操作。修改方法:File→ChangedirectoryPage2of9ModsimSE的功能仿真流程图1-1修改默认路径图1-2修改默认路径②新建工程,File→New→Project。图3-1新建工程Page3of9ModsimSE的功能仿真流程打开【CreateProject】对话框,填写工程名字,工程路径会自动定位于刚才指定的工作目录,仿真库默认为work(一般不需要修改)。图3-2新建工程③添加设计文件。图4-1添加设计文件图4-2添加设计文件Page4of9ModsimSE的功能仿真流程图4-3添加设计文件2.1.3编译设计文件在Project选项卡中选中一个设计文件,点右键,选中Compile→CompileAll。图5编译设计文件Page5of9ModsimSE的功能仿真流程2.1.4启动仿真在菜单栏中选择Simulate→StartSimulation图6-1启动仿真图6-2启动仿真启动仿真后,Modelsim会在主界面上自动打开对象窗口和进程窗口。除此之外,仿真常用的功能还有数据流窗口、列表窗口和波形窗口。如图7所示。Page6of9ModsimSE的功能仿真流程图7启动仿真后的Modelsim界面将要观察的信号添加到波形窗口中。图8将需要观察的信号添加到波形窗口运行仿真,在控制台输入命令“run10us”。仿真时间的长短自己确定。Page7of9ModsimSE的功能仿真流程图9输入命令开始仿真2.1.5查看仿真结果并保存运行完上述命令,如果测试激励文件(testbentch)正确,就可以在wave窗口看到仿真结果了。通过查看仿真波形,就可以验证源文件中的HDL代码的逻辑功能是否正确。图10仿真结果保存仿真结果。图11保存仿真结果在弹出来的对话框中输入保存的波形名字就可以将当前的仿真结果保存。Page8of9ModsimSE的功能仿真流程三、总结本文档主要对用Modelsim做功能仿真的流程做了详细介绍。要用好Modelsim,还有以下方面的一些内容需要深入了解:①理解Modelsim中库的概念。要学会编译库和调用库的方法。②Testbench文件的编写。③对①②两方面的内容有了较深入的理解后,就可以用Modelsim做综合后和布局布线的时序仿真。Page9of9