zoukankan      html  css  js  c++  java
  • Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

    一、设计思想与验证方法

      1、 设计定义

      2、 设计输入

      3、 分析和综合

      4、 功能仿真—modelsim

      5、 布局布线

      6、 时序仿真—modelsim

      7、 时序约束

      8、 IO分配以及配置文件的生成

      9、 配置(烧写FPGA)

      10、在线调试

    二、实验要求

      两个的输入IO,a,b

      输入按键按下,Led灯与a端口状态保持一致

      按键释放时,Led灯与b端口保持一致

    三、源码

    module led_test(a,b,key_in,led_out);
    
        input a;    //输入端口a
        input b;    //输入端口b
        
        input key_in;    //按键输入端口
        
        output led_out;    //led输出端口
        
        //按下  led_out==a
        assign led_out= (key_in==0)? a:b ;
        
    endmodule
    led_test
    `timescale 1ns/1ps    //    时间单位/时间精度
    
    module led_test_tb;
    
    //激励信号定义,对应连接到待测试模块的输入端口
        reg signal_a;
        reg signal_b;
        reg signal_c;
        
    //待检测信号定义(led_out),对应链接到输出端口
        wire led;
        
    //例化待测试模块
        led_test led_test0(
        .a(signal_a),
        .b(signal_b),
        .key_in(signal_c),
        .led_out(led)
        );
        
    //产生激励
        initial begin
        
            signal_a=0;
            signal_b=0;
            signal_c=0;
            #100
            
            signal_a=0;
            signal_b=0;
            signal_c=1;
            #100
            
            signal_a=0;
            signal_b=1;
            signal_c=0;
            #100
            
            signal_a=0;
            signal_b=1;
            signal_c=1;
            #100
            
            signal_a=1;
            signal_b=0;
            signal_c=0;
            #100
            
            signal_a=1;
            signal_b=0;
            signal_c=1;
            #100
            
            signal_a=1;
            signal_b=1;
            signal_c=0;
            #100
            
            signal_a=1;
            signal_b=1;
            signal_c=1;
            
            #200
            $stop;    //系统函数,停止
        
        end
    
    endmodule
    led_test_tb

    四、软件具体操作步骤(Quartus II 13.0 / modelsim 装新版即可)

    1.打开quartus 新建一个工程

     如果有现成的文件,添加就行了,没有的话直接next,选择开发板配置,next

    选择对应的仿真软件和语言(modelsim--Verilog),finish

    2.新建两个verilog文件,设计文件+激励文件,ctrl+s 保存到本地

     3.运行代码

    分别对两个文件进行分析和综合,看是否有语法错误

    4.功能仿真--RTL simulation

    设置仿真软件路径,定位到仿真软件所在文件夹下,软件为modelsim,即如图

     

    设置脚本,综合运行

    产生波形,按F键查看全局,如图,说明从功能上来说可实现,关闭仿真软件即可

     5.布局布线--start compilation

     

    6.后仿真(时序仿真)直接选择最恶劣环境下运行--gate level simulation

     发现有误差脉冲(暂时忽略,后续学习再解决)

     

    这里电平变化出现延时

     

     7.假设误差可忽略,进行IO分配(管脚分配)--pin  planner

     网上搜电路板对应的管脚,和信号对应即可

    再进行一次全编译--start compilation,生效管脚分配

     点击programmer进行下载,如果没有弹出框中没有文件,也可以手动添加sof文件

     若没有生成sof文件,可能是软件破解有问题,重新破解一遍

  • 相关阅读:
    beginAppearanceTransition
    runtime基础
    UIStoryboard跳转界面
    xcode所有版本下载地址
    UIImage添加滤镜
    苹果copy等其他的英文改成中文
    UITextField输入中文
    keyboard添加down按钮
    2020-07-08:mysql只有一个表a,什么情况下会造成死锁,解决办法是什么?
    2020-07-05:tcp和udp的区别和应用场景。如何实现断点续传?
  • 原文地址:https://www.cnblogs.com/wjwjs/p/15227278.html
Copyright © 2011-2022 走看看