modelsim仿真小结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Modelsim仿真小结

Modelsim的基本仿真流程大致分以下几个步骤:建库、编译工程、前后仿真、调试等。Modelsim仿真既可以在modelsim界面操作,也可以用do文件实现,这里结合学习的教程、网上看到的资料,和实际遇到的一些问题,分别做一整理小结。

1.建库

建库包括Altera库和Xilinx库,同时都包括Verilog和VHDL。这里只建了Verilog 库,VHDL和Verilog步骤相同。

对于Altera库主要包括lpm元件库、Mega_Function库atera_mf、altera原语库altera_primitive和各器件系列模型库。前三种是调用altera模块的必备库,第四种是进行综合后功能仿真和布线后时序仿真需要的库,和器件系列有关,只选对应系列即可。

Altera库创建和编译步骤如下:

a)在Modelsim安装目录下新建文件夹,命名altera_lib,以存放编译后的库文件,

可以在altera_lib下新建Verilog和VHDL两个子文件夹,分别存放Verilog和VHDL 库。

b)打开Modelsim,新建Library,file ->new->library ..

c)如下图,创建lpm库,路径E:\\altera_lib\Verilog\lpm

d)添加库文件,并编译,compile -> compile …,出现compile source files窗

口,library 指定到lpm下,查找范围,选quartus安装目录下…eda\sim_lib目录里的仿真原型文件:,点c ompile ,点done。

到此,lpm库建立完毕。

e)同理,建立altera_mf库添加,建立primitive库添加

建立各系列的模型库,命名可用系列名加_ver“xxx_ver”,也可随意吧,添加各系列的。

这里,也可以把以上库放在一个文件夹,这样做简单,一次就搞定,分开也就是条理清楚,没人去看,所以没必要。

f)修改文件,为的是让modelsim能自动map到已经编译的这些库上。先去掉只读属性,

在[Library]和[vcom]之间加上:库名=库路径[绝对路径或者相对路径],相对路径是相对于modelsim安装路径, modelsim安装路径用$MODEL_TECH表示。

这里所有库都放在E:\\altera_lib下,库名是altera_lib,这里只添加一句:

altera_lib = E:\\altera_lib

g)保存退出,改回只读属性,防止乱改。至此altera库建立完毕。

Xlinx库创建和编译步骤如下:

相比altera,xilinx建库很方便。xilinx有批处理命令,直接在console命令窗口,输入compxlib命令,调出编译库的窗口,先改掉modelsim安装目录下只读属性。设置如下图:

Next,选择语言:

Next,选择需要编译的器件:

Netx -> next,选择输出路径,launch compile process,等待编译完成。完成后改回只读属性。至此xilinx库建立完毕。

2.编译工程

编译工程主要包括:code、testbench、建立工程、建立工程库、映射、编译等。Code 主要有code思想和风格,在Verilog部分涉及。Testbench,下边给出一个公用模板,基于这个方便修改,可以根据自己的习惯建一个。

Modelsim界面编译工程:

a)新建工程:打开modelsim,file -> new -> project .. ,指定工程名、路径、

工程库。

b)Add existing file

c)Add testbench file ….

d)编译,compile –> complie all

e)编译语法查错,直到编译通过。至此编译完毕。

3.功能和时序仿真

仿真是在编译的基础上,进行的功能调试,包括综合前功能仿真、综合后功能仿真和布局布线后时序仿真。

Modelsim界面综合前仿真:

a)指定顶层,开始仿真;simulation -> start simulation …,在work 库中,指

定testbench,ok,开始仿真。

b)查看仿真结果,打开wave,

信号,加入wave

c)运行,查看波形。Run -> run all ….

至此,简单的modelsim界面综合前仿真介绍完毕。

Modelsim界面综合后仿真:

综合后仿真需要quartus综合后的网表文件(以altera为例),

a)综合后的网表的生成: quartus工程名右键 -> setting –> EDA Tool Setting, 双

击Simulation ,选择EDA软件modelsim,选择输出网表路径,如图

b)More settings ….将Generate netlist for functional simulation only设

置为ON

c)保存,全编译。

d)检查一下…/modelsim/Psyth/source 里面,可以发现,已经生成了一个*.vo 文

件。

这个就是需要的网表文件。(VHDL 的输出网表是*.vho 后缀名的)

e) 将vo文件添加到工程,指定TestBench 文件,同前边一样进行仿真。

e)得到的仿真结果

Modelsim界面布局布线后仿真:

布局布线后仿真需要综合网表文件和添延时文件*.sdo(Verilog)或*(VHDL);

a)QuartusII 里面设置重新把Generate netlist for functional simulation only

设置成OFF。

相关文档
最新文档