Diamond软件的使用(5)--建立Modelsim仿真环境

文章目录

    • 参考来源
    • 联合仿真平台
    • 使用Modelsim仿真的原因
    • LATTICE器件仿真模型文件
    • 设置初始化文件
    • 更改Modelsim工作路径
    • 建立新的仿真库
    • 编译LATTICE仿真模型文件
    • 编译特定的仿真库
    • 设置路径库路径
    • Diamond关联Modelsim
    • 编写Testbench并仿真验证
    • 加载PCS库

参考来源

以下内容主要参考自两个来源
如何在 Modelsim SE中建立LATTICE仿真库 PPT
作者 Jason [email protected]
以及
Lattice Diamond与modelsim联合仿真环境设置 作者IceyP庚

联合仿真平台

diamond 3.11 + ModelSim SE-64 10.5

使用Modelsim仿真的原因

由于diamond自带的仿真软件Active-HDL需要另一套Lisence,所以我们使用第三方仿真软件Modelsim来进行仿真。

LATTICE器件仿真模型文件

LATTICE仿真模型文件位于安装目录下simulation文件夹
D:\Coding\Diamond3.11\diamond\3.11_x64\cae_library\simulation

在编译以前,一定要确认需要仿真的顶层文件是verilog还是VHDL。如果是verilog文件,那么需要编译的库文件的路径为:X:…\cae_library\simulation\verilog
若顶层仿真文件为VHDL,那么路径为:X:…\cae_library\simulation\vhdl
在这两个文件夹下,分别有ecp3和pmi文件。pmi文件夹中的文件,主要为一些ip core的仿真库。

另外,如果选择其他family的device,在编译的时候,最好即编译family仿真库文件,也编译pmi文件。例如如果选择的时machxo2 family device,在编译的时候,既编译上面两个路径下的machxo2,也需要编译pmi。以防止出现不可预测的错误。
Diamond软件的使用(5)--建立Modelsim仿真环境_第1张图片
Verilog文件夹中是Verolig HDL器件库文件, VHDL文件夹中的则是VHDL的器件库文件, blackbox文件夹中是PCS, JTAG, systemBUS等黑盒子的库文件,已经是编译好的库了,需要的话 需要解压缩然后设置好路径即可 只需要解压缩然后设置好路径即可, 后面有讲到。
在这里插入图片描述

设置初始化文件

Modelsim10.5下载链接如下:https://pan.baidu.com/s/1G9699ocWm1UTqK2yS2igyQ 提取码:lewa

安装好后,打开Modelsim安装目录,在modelsim根目录下找到“modelsim.ini”文件,右键点击属性,然后去掉只读属性,确定并退出。
Diamond软件的使用(5)--建立Modelsim仿真环境_第2张图片

更改Modelsim工作路径

打开Modelsim软件
点击“file ‐‐>Change Directory” 然后设置好需要建 真库的路 立仿真库的路径。比如“X:\modelsim_10.5\sim_lib\Lattice” .然后确定。

Diamond软件的使用(5)--建立Modelsim仿真环境_第3张图片

建立新的仿真库

File->NEW->library 新建一个仿真库填你建的仿真库名称
由于我使用的是Lattice ECP3的芯片,所以偷懒直接命名为“ECP3”,你可以按照自己的想法来命名。
Diamond软件的使用(5)--建立Modelsim仿真环境_第4张图片

编译LATTICE仿真模型文件

点击工具栏上的“Compile” ,然后在打开的对话框中设置目标库以及需要编译的仿真模型文件。
由于我使用的芯片是ECP3,所以只需要编译verilog文件夹下ecp3(基本库)即可。
在这里插入图片描述

Diamond软件的使用(5)--建立Modelsim仿真环境_第5张图片

编译特定的仿真库

在LATTICE的设计中,如果您的设置用到了和器件特性相关的一些模块,如PLL,RAM,FIFO等,在进行仿真的时候需要pmi库,pmi库的建立和其他库的建立步骤一直,需要编译的文件存在于
“diamond\3.11_x64\cae_library\simulation\verilog\pmi” 这个文件夹中,将这个文件夹内的所有.v文件都编译到pmi 库中即可。

Diamond软件的使用(5)--建立Modelsim仿真环境_第6张图片
Diamond软件的使用(5)--建立Modelsim仿真环境_第7张图片

设置路径库路径

打开modelsim.ini文件(推荐使用UE打开),在[Library]部分的最后,[vcom]的上方,会发现有一行:ECP3 = ECP3,修改这一行为:ECP3 = D:\Coding\modelsim\sim_lib\ECP3,其功能为指定仿真库的路径。修改完成后保存退出,并添加modelsim.ini的只读属性,防止错误修改。
Diamond软件的使用(5)--建立Modelsim仿真环境_第8张图片

Diamond关联Modelsim

在Diamond中选择 Tools > Options > Environment > Directories,在Simulation的Modelsim/QuestaSim选择modelsim的安装路径:D:\Coding\modelsim\win64
Diamond软件的使用(5)--建立Modelsim仿真环境_第9张图片

编写Testbench并仿真验证

Diamond中的File List中的Input Files,右键选择Add > New File > Verilog Files.在新建的verilog中编写testbench

在Diamond的菜单栏中选择Tools > Simulation Wizard. 输入仿真工程名以及路径,选择仿真工具Modelsim.在点击Finish后会自动启动modelsim,并跳转到project栏,出现如下画面:
Diamond软件的使用(5)--建立Modelsim仿真环境_第10张图片

Diamond软件的使用(5)--建立Modelsim仿真环境_第11张图片

编译全部文件,在这个过程中如果出错,请修改。
在modelsim的菜单栏中选择Simulate > Start Simulate
在Libraries中选择需要添加的仿真库,这个仿真库必须与所选用的器件是同一Family的,并点击OK
Diamond软件的使用(5)--建立Modelsim仿真环境_第12张图片

然后再点击Design选项卡,选择work中的start_up_tb.v文件,点击OK,开始仿真。
Diamond软件的使用(5)--建立Modelsim仿真环境_第13张图片

需要查看的信号添加到wave窗口。退出仿真工程的时候,可以在Transcript中输入quit -sim退出。Diamond软件的使用(5)--建立Modelsim仿真环境_第14张图片

注意,在编写testbench的时候需要添加一下两段代码:

GSR GSR_INST(.GSR(1’b1));
PUR PUR_INST(.PUR(1’b1));

这是因为有些LATTICE 的 FIFO_DC IP核这个IP核的子模块中使用了DIAMOND的全局GSR_INST 变量 ,其实还有一个PUR_INST变量。这时由于仿真不具有这个全局变量 我们就在顶层文件的模块中添加上面两段代码。

加载PCS库

对于ECP2M,ECP3这几个系列的器件来说PCS的仿真库都是已经编译好的,库文件形式存在于“diamond\3.11_x64\cae_library\simulation\blackbox\pcsd_work”这个文件夹中,只需要将对应的库映射到您想要的库文件存放地址,然后在modelsim.ini文件中设置好即可。如果您没有可能用到ECP2M,ECP3,SC这些器件或者是这些器件的SERDES功能,那么您需要做好库的映射。

你可能感兴趣的:(FPGA,fpga,fpga开发)