1402|0

833

帖子

3

TA的资源

版主

楼主
 

04、国产FPGA 正点原子DFPGL22G开发板测评【ModelSim的使用】 [复制链接]

 
本帖最后由 1nnocent 于 2023-1-27 19:10 编辑

    这次测评也想学一下ModelSim的使用,这里单独发个帖子记录一下学习过程。

  1. Modelsim简介
    Mentor 公司的 ModelSim 是工业界使用广泛的语言仿真器之一,它支持 Windows 和 Linux 系统,是单一内核支持 VHDL 和 Verilog 混合仿真的仿真器。它采用直接优化的编译技术、单一内核仿真,不仅编译仿真速度业界最快、编译的代码与平台无关,而且便于保护 IP 核。它还提供了最友好的调试环境,具有个性化的图形界面和用户接口,为用户加快调试提供强有力的手段,它是 FPGA/ASIC 设计的首选仿真软件。
  2. Modelsim的使用
    主要分为两种情况,第一种就是直接使用ModelSim 软件进行仿真,也就是手动仿真;第二种情况就是通过其它的 EDA 工具如 PDS 调用 Modelsim 进行仿真,这种情况也就是我们通常所说的自动仿真或者联合仿真。不管是手动仿真还是自动仿真,它们都遵循以下 5 个步骤:
    1)新建工程。
    2)编写 Verilog 文件和 Testbench 仿真文件。
    3)编译工程
    4)启动仿真器并加载设计顶层
    5)执行仿真。
    功能仿真需要的文件:
    1) 设计 HDL 源代码:可以使 VHDL 语言或 Verilog 语言。
    2) 测试激励代码,也被称为 TestBench:根据设计要求输入/输出的激励程序,由于不需要进行综合,书写具有很大的灵活性。
    3) 仿真模型/库:根据设计内调用的器件供应商提供的模块而定,如: FIFO、 ADD_SUB 等。
  3. Modelsim手动仿真
    1)建立 Modelsim 工程并添加仿真文件
    首先在 LED 流水灯的“sim_1”文件夹下新建文件夹“new”,然后启动 Modelsim 软件,我们直接双击桌面上的 Modelsim 软件图标,打开 Modelsim 软件,在 Modelsim 中选择 File->Change Directory。


     在弹出的对话框中选择目录路径为刚才新建的 new 文件夹。在 modelsim 中建立 project,选择 File->New->Project。


     弹出如下界面:


    点击【OK】按钮,弹出如下图所示界面:

       
    我们可以从该图的选择窗口中看出,它共有四种操作: Create New File(创建新文件)、 Add Existing File(添加已有文件)、 Create Simulation(创建仿真)和 Create New Folder(创建新文件夹)。这里我们先选择“Add Existing File”(添加已有文件),如下图所示:


     在该页面我们点击“Browse”按钮选择“flow_led.v”文件,其他的保持默认设置,最后点击【OK】按钮。
    2)建立 TestBench 仿真文件
    我们选择“Create New File”(创建新文件),如下图所示:


     双击“tb_flow_led.v”文件,弹出下图所示界面:

     在其中编写 TestBench 仿真代码如下:
    `timescale 1ns/1ns
    module tb_flow_led();
    reg sys_clk;
    reg sys_rst_n;
    
    wire [3:0] led;
    initial begin
    	sys_clk = 1'b0;
    	sys_rst_n = 1'b0;
    	#20 sys_rst_n = 1'b1;
    end
    
    always #10 sys_clk = ~sys_clk;
    flow_led u0_flow_led (
    	.sys_clk (sys_clk ),
    	.sys_rst_n (sys_rst_n),
    	.led (led )
    );
    endmodule

    3)编译仿真文件
    编译的方式有两种: Compile Selected(编译所选)和 Compile All(编译全部)。编译所选功能需要先选中一个或几个文件,执行该命令可以完成对选中文件的编译;编译全部功能不需要选中文件,该命令是按编译顺序对工程中的所有文件进行编译。我们可以在菜单栏【Compile】中找到这两个命令,也可以在快捷工具栏或者在工作区中的右键弹出的菜单中找到这两个命令。下面我们单击 Compile All(编译全部),如下图所示。


     编译完成后,结果如下图所示:


      4)配置仿真环境
    编译完成后,接下来我们就开始配置仿真环境,我们在 ModelSim 菜单栏中找到【Simulate】→【StartSimulation...】菜单并点击,弹出如下右图所示页面。


     接下来我们在 Design 标签页面中选择 work 库中的 flow_led_tb 模块,在 Optimization 一栏中取消勾选(注意一定要取消优化的勾选,否则无法观察信号波形),然后点击
    【OK】就可以开始进行功能仿真了,其余标签页面中的配置我们使用默认就可以了,如下图所示。


     点击【OK】后弹出下图所示界面:


     鼠标右键单击“u0_flow_led”, 选择“Add Wave”选项, 如下图所示:


     我们选择仿真时间为 1ms,如下图所示,单击右边的运行按钮。


     运行后的结果如下图所示:

     

  4. ModelSim 与 PDS 的联合仿真
    1)仿真库的编译
    进行 Pango Design Suite 2021.4-SP1.2 与 Modelsim 联合仿真,我们首先需要对仿真库进行编译。点击“Tools”选择“Compile Simulation Libraries”选项。


     在 弹 出 的 界 面 中 , 第 一 步 是 按 红 色 框 中 路 径 设 置 , 把 编 译 库 pango_sim_libraries 放 在E:/Verilog/1_flow_led/prjx 工程文件夹下(编译库的路径是可以根据用户的需求来自己选择的,此路径为相对路径。);第二步需要添加 Modelsim 文件的环境变量,此路径是安装软件的绝对路径,选择 win64 路径即可;然后点击【compile】即开始编译。


     如图 所示, 在完成上述所有步骤后, PDS 软件与 ModelSim 就可以进行联合仿真了。


    2)建立 TestBench 仿真文件
    3)添加仿真文件
    编写好 Testbench 文件后,我们就可以添加已经编写好的 TestBench 文件了。
    4)进行联合仿真
    仿真文件添加到项目中,我们就可以进行联合仿真了。第一步右击“Simulation”中的“flow_led_tb”文件,选择选项中的“Run Behavior Simulation” 如下图所示,如果没有出现报错, PDS 会调用 Modelsim 仿真软件开始工作的。
     
    仿真波形:

     

点赞(1) 关注(1)
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表