modelsim初步
Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比Quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
ModelSim分几种不同的版本:SE、PE和OEM,其中
集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。比如为Altera提供的OEM版本是ModelSim-Altera,为Xilinx提供的版本为ModelSim XE. SE版本为最高级版本,在功能和性能方面比OEM版本强很多,比如仿真速度方面,还支持PC 、 UNIX 、 LIUNX混合平台.
集成在 Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。比如为Altera提供的OEM版本是ModelSim-Altera,为Xilinx提供的版本为ModelSim XE. SE版本为最高级版本,在功能和性能方面比OEM版本强很多,比如仿真速度方面,还支持PC 、 UNIX 、 LIUNX混合平台.
为什么要学Modelsim?
1.Modelsim是专业的HDL语言仿真器,比 Quartus自带的仿真器功能强大的多.
2. Quartus simulator不支持Testbench ,只支持波形文件.vwf
vwf文件全称是矢量波形文件(Vector Waveform File),是Quartus II中仿真输入、计算、输出数据的载体。一般设计者建立波形文件时,需要自行建立复位、时钟信号以及控制和输入数据、输出数据信号等。其中工作量最大的就是输入数据的波形录入。比如要仿真仅1KB的串行输入数据量,则手工输入信号的波形要画8000个周期,不仅费时费力而且容易出错。
Modelsim的安装
同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。
⑴ 解压安装工具包开始安装,安装时选择Full product安装。当出现Install Hardware Security Key Driver时选择否。当出现Add Modelsim To Path选择是。出现Modelsim License Wizard时选择Close。
⑵ 在C盘根目录新建一个文件夹flexlm,用Keygen产生一个license.dat,然后复制到该文件夹下。
⑶ 修改系统的环境变量。右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。按下图所示内容填写,变量值内如果已经有别的路径了,请用“;”将其与要填的路径分开。LM_LICENSE_FILE = c:\flexlm\license.dat
使用Modelsim进行仿真
Modelsim运行方式有4种:
用户图形界面模式
交互式命令行模式
不显示modelsim的可视化界面 ,仅通过命令控制台输入的命令完成所有工作
Tcl和宏模式
编写可执行扩展名为do或者tcl语法文件
批处理模式
其所有操作都在后台进行,用户看不到modelsim的界面,也不需要交互式输入命令。当工程很大,文件比较多时,用批处理比较方便。直接运行批处理文件,在后台调用modelsim,执行modelsim的脚本文件* .do,完成操作
仿真分为功能仿真,门级仿真,时序仿真
功能仿真(前仿真,代码仿真)
主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代码是用RTL级代码语言描述的,其输入为RTL级代码与Testbench.在设计的最初阶段发现问题,可节省大量的精力
门级仿真和时序列仿真 (后仿真)
使用综合软件综合后生成的门级网表进行仿真,不加入时延文件的仿真就是门级仿真.可以检验综合后的功能是否满足功能要求,其速度比功能仿真要慢,比时序仿真要快.
在门级仿真的基础上加入时延文件(.sdf)的仿真就是时序仿真,比较真实地反映了逻辑的时延与功能.综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。
功能仿真需要的文件
1.设计HDL源代码:可以使VHDL语言或Verilog语言。
2.测试激励代码:根据设计要求输入/输出的激励程序
3.仿真模型/库:根据设计内调用的器件供应商提供的模块而定,如:FIFO、ADD_SUB等
仿真步骤
以4 位计数器为例给出详细步骤
1.启动modelsim软件
先在c盘建立文件夹count4,在modelsim中选择File -> Change Directory,在弹出的Choose folder对话框中设置目录路径为c:/count4
2.建立工程
在modelsim中建立project,选择File ->New ->Project.
在Project Name栏中填写你的项目名字,建议和你的顶层文件名字一致。Project Location是你的工作目录,你可通过Brose按钮来选择或改变。Ddfault Library Name可以采用工具默认的work。Workspace窗口的library中就会出现work库.
仿真库是存储已编译设计单元的目录,modelsim中有两类仿真库,一种是工作库,默认的库名为work,另一种是资源库。Work库下包含当前工程下所有已经编译过的文件。所以编译前一定要建一个work库,而且只能建一个work库。资源库存放work库中已经编译文件所要调用的资源,这样的资源可能有很多,它们被放在不同的资源库内.
映射库用于将已经预编译好的文件所在的目录映射为一个modelsim可识别的库,库内的文件应该是已经编译过的,在Workspace窗口内展开该库应该能看见这些文件,如果是没有编译过的文件在库内是看不见的。
在Modelsim中加入Quartus的仿真库有两种方法:
1.自己新建一个库,用来存放仿真需要调用的仿真文件
2.把Altera的器件加到了work这个library里
浙公网安备 33010602011771号