【仿真】Lattice_Diamond_调用Modelsim_仿真

时间:2023-12-10 21:43:38

仿真前的准备工作:在modelsim中添加lattice仿真库:
1.去除modelsim安装目录下modelsim.ini的只读属性。
2.打开modelsim,更改目录File>Change directory (这里是库要存放的地方,一般放在modelsim的根目录下的,如D:\modeltech_10.1a\Lattice)
3.新建一个库File>New>Library,取个名字(我使用MACHXO2系列芯片,取了machxo2)
)
【仿真】Lattice_Diamond_调用Modelsim_仿真

4.编译库Compile>Compile,出现编译对话框,在Library项中选择刚刚新建的lattice;查找范围选择你安装Diamond仿真库的目录(我的是D:\lscc\diamond\3.4_x64\cae_library\simulation\verilog\machxo2,如果你是用vhdl编写代码的则选择\vhdl)。全选,编译。
等待编译完成。保持Library machxo2不变,编译D:\lscc\diamond\3.4_x64\cae_library\simulation\verilog\pmi中的内容。(这里存放了一些IP核的仿真库)等待编译完成,点击Done完成。退出Modelsim。

【仿真】Lattice_Diamond_调用Modelsim_仿真

【仿真】Lattice_Diamond_调用Modelsim_仿真

5.打开modelsim.ini,在[Library]下多了一行machxo2=machxo2
将其改成machxo2 = D:\modeltech_10.1a\Lattice\machxo2

【仿真】Lattice_Diamond_调用Modelsim_仿真

保存退出,并恢复只读属性。
这时我们在打开modelsim就会发现library队列里多了machxo2。

【仿真】Lattice_Diamond_调用Modelsim_仿真

新建仿真文件:
还是第二课里面的demo1工程,下面针对这个工程建立对应的仿真文件。
1.右击Input Files,Add->New File,选中Verilog Files文件类型,输入文件名和保存路径(不能有中文哦)。

【仿真】Lattice_Diamond_调用Modelsim_仿真

在新建的仿真文件下输入仿真测试程序:

【仿真】Lattice_Diamond_调用Modelsim_仿真

保存,上面的程序你现在看不懂没关系,继续学习你就能看懂了。好了,仿真文件我们已经建立好了,接下来准备仿真。

开始仿真:
打开lattice diamond,
tools>options>environment>Directionaries>modelsim安装目录/win32即可。点击OK

【仿真】Lattice_Diamond_调用Modelsim_仿真

2.点击【仿真】Lattice_Diamond_调用Modelsim_仿真simulation wizard ,输入名称和路径

【仿真】Lattice_Diamond_调用Modelsim_仿真

3 选中tb_demo1_andgate.v文件,添加testbench文件。点击Next。

【仿真】Lattice_Diamond_调用Modelsim_仿真

4. modelsim自动被调用并跳转到project栏。右键其中一个,选择编译全部。

【仿真】Lattice_Diamond_调用Modelsim_仿真

编译完应该出现以下结果表示无错误:

【仿真】Lattice_Diamond_调用Modelsim_仿真

5.选择Simulate>start simulation 在libraries下添加machxo2库

【仿真】Lattice_Diamond_调用Modelsim_仿真

然后点击design 标签,展开work ,左键点击tb。然后点击OK开始仿真。(下面的Optimization选项不要勾上)

【仿真】Lattice_Diamond_调用Modelsim_仿真

如果仿真过程中出现以下错误,可直接单击确认跳过,不妨碍后面的仿真:

【仿真】Lattice_Diamond_调用Modelsim_仿真

6.在object栏右键要查看的信号。Addto>wave>selected signale。也可以按住Ctrl键多个文件一起选中。

【仿真】Lattice_Diamond_调用Modelsim_仿真

7.设置好单步仿真步长和显示单位。

【仿真】Lattice_Diamond_调用Modelsim_仿真

【仿真】Lattice_Diamond_调用Modelsim_仿真

点击工具栏的Run-All按钮:

【仿真】Lattice_Diamond_调用Modelsim_仿真

运行得到仿真结果。

【仿真】Lattice_Diamond_调用Modelsim_仿真

注意事项:在编写testbench文件时需要在文件里包含语句。
• GSR GSR_INST(.GSR(1'b1));
• PUR PUR_INST(.PUR(1'b1));