查看: 1650|回复: 0

【BeMicro Max10】之二 仿真文件和Modelsim的应用

[复制链接]
  • TA的每日心情
    开心
    2017-2-14 08:56
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2016-12-14 08:40:00 | 显示全部楼层 |阅读模式
    分享到:
    这两天一直倒腾一段程序,没有啥结果,先写篇文章放松一下。上次说了quartus prime 的基本使用,这次我们来说说必备的仿真软件modelsim的使用。据说原来的片子都是一次烧写,工程师必须仿真正确以后,才能烧片子。现在虽说烧写次数比较多了,但是对于程序的调试,仿真是必不可少的。我们以一个简单的程序来说明testbench文件的书写和modelsim的使用。
    项目及文件的建立就不详细说了,简单写了一个按键控制led的程序,如图1所示:
    module maxkeyled (clk,key,led);input clk;input key;output led;reg [25:0] cnt;assign led = (key == 1'b0)?1'b0:1'b1;endmodule编译和综合没错误后,新建一个verilog hdl file,保存并命名为test(随便定义,直到是测试文件就行),这里要注意一下,如果是在文件夹中把.txt文件修改成.v文件,不能链接到主程序,必须在菜单中新建。给主程序的端口写激励。如图2所示:
    `timescale 1ns/1nsmodule test;reg clk;wire  led;reg key;initialbegin clk =0; key = 1'b1;  #200  key= 1'b0; #200  key= 1'b1; #100  key= 1'b0;endalways #1 clk = ~clk; maxkeyled m(.clk(clk),.key(key),.led(led));endmodule"timescale"为时间尺度命令,一般应用为 <时间单位>/<时间精度>。
    打开modelsim软件,modelsim也可以在菜单的settings中设置成自动启动,我不太喜欢这样,来说说手动吧。
    首先如果没有自己程序运行库的话,要新建一个library,一般默认为work即可,如图3所示

    然后点击compile图标,如图标1:

    在出现的对话框中选择项目文件所在的路径,选中主文件和测试文件,如图4所示。

    点击按钮compile ,没问题后点击done。
    接下来点击simulate按钮,

    同样在对话框的woke库下选择测试文件,当然连主文件一块选择也是没问题的,看你需要在仿真中看到的数据而定。如图5所示

    点击OK就进入了仿真图形界面,如果没有wave框的话在view菜单下调用即可。
    把需要看到波形的变量拖到wave框中,如图6所示。

    然后点击开始仿真,图图标3.

    点击run-all,再点击stop按钮,拖动时间轴,放大或缩小,就可以看到要仿真的波形。如图7所示。

    有一点很重要,其中点击测试文件名,如图8所示

    就会显示主文件的程序,在程序运行时可以设置断点,用于调试用。
    下载到板卡中,按下按键看看效果吧。这就是基本使用,很多功能还需要在应用中慢慢摸索。
    MAX10这款板卡最好玩的是配置NIOS之后的应用,板卡外设很丰富,需要些时间调试。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-18 20:47 , Processed in 0.117143 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.