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端口保持一致

三、源码

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例
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

 

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例
`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 新建一个工程

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 

 

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 3.运行代码

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

4.功能仿真--RTL simulation

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 

设置脚本,综合运行

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 5.布局布线--start compilation

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

 Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

 Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

这里电平变化出现延时

 Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

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

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

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

 

Quartus II综合modelsim仿真的实现____以LED灯二选一多路器为例

上一篇:每日一练-leetcode


下一篇:helloWorld程序的书写以及文档注释的使用方法