【FPGA & Modsim】 抢答器设计

实验题目:  抢答器设计                                     

实验目的:  掌握应用数字逻辑设计集成开发环境进行抢答器设计的方法;掌握时序逻辑电路设计的过程                         

实验内容:

1、设计支持3名参赛者的抢答器,并具有主持人控制的复位功能;

2、当一名参赛者按下抢答键时,对应的LED灯亮起,屏蔽其他选手;

3、分析实验结果,验证电路的功能是否符合设计要求。

实验步骤:

1、在数字逻辑集成开发环境中新建一个抢答器工程;

2、编写Verilog HDL源程序;

3、编译和逻辑综合源程序;

4、编写Verilog HDL仿真测试程序;

5、调用数字逻辑设计仿真环境对源程序进行仿真;

6、安装输入/输出端口建立约束文件;

7、下载到实验开发板,观察实践运行结果。

实验数据记录:

  1. 写出编写的Verilog HDL源程序。

module question_counter (

    input wire clk,

    input wire reset,

    input wire [2:0] button_pressed,

    output reg [2:0] led_on

);

    always @(posedge clk or posedge reset) begin

        if (reset) begin

            led_on <= 3'b000;

        end else begin

            case (button_pressed)

                3'b001: led_on <= 3'b001; // Player 1

                3'b010: led_on <= 3'b010; // Player 2

                3'b100: led_on <= 3'b100; // Player 3

                default: led_on <= 3'b000;

            endcase

        end

    end

endmodule

  1. 写出编写的Verilog HDL仿真测试程序。

module tb_question_counter;

    reg clk, reset;

    reg [2:0] button_pressed;

    wire [2:0] led_on;

    // 实例化抢答器模块

    question_counter uut (

        .clk(clk),

        .reset(reset),

        .button_pressed(button_pressed),

        .led_on(led_on)

    );

    // 生成时钟信号

    always #5 clk = ~clk;

    // 初始化信号

    initial begin

        clk = 0;

        reset = 1;

        #10 reset = 0;

        #10 button_pressed = 3'b001; #10 button_pressed = 3'b010; #10 button_pressed = 3'b100; #10 $finish;

    end

endmodule

3、画出仿真环境中测试波形图。

相关推荐

  1. 基于单片机的四路抢答设计

    2024-01-16 19:46:02       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 19:46:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 19:46:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 19:46:02       87 阅读
  4. Python语言-面向对象

    2024-01-16 19:46:02       96 阅读

热门阅读

  1. 动态表达式树(Expression Tree)来实现动态筛选

    2024-01-16 19:46:02       57 阅读
  2. 【MySQL】MySQL 专项练习

    2024-01-16 19:46:02       50 阅读
  3. 【精选】samba服务的下载和使用 (超详细)

    2024-01-16 19:46:02       55 阅读
  4. chrome浏览器并发限制及其突破手段

    2024-01-16 19:46:02       45 阅读
  5. Day27- 贪心算法part01

    2024-01-16 19:46:02       51 阅读
  6. 49-定时器,倒计时,清除定时器,延迟器

    2024-01-16 19:46:02       59 阅读
  7. cesiumlab切片通过arcgisjs加载

    2024-01-16 19:46:02       55 阅读
  8. MySQL虚拟列提高检索效率

    2024-01-16 19:46:02       51 阅读