特级茶叶 2022-09-28 17:54 采纳率: 78.6%
浏览 37
已结题

用Verilog HDL语言编写程序

利用quartus 2编写
利用case语句实现四选一数据选择器。

波形仿真时endtime设置为50us,四个信号a、b、c、d分别为1 3 5 7的方波,输出out,信号选择s1、s2。

  • 写回答

1条回答 默认 最新

  • 老皮芽子 2022-09-29 08:52
    关注

    img

    
    `timescale 1ns/1ns
    module testbench_select;
    reg        a,b,c,d;
    reg        s1,s2;
    wire    o;
    parameter CLK_PERIOD        = 1000;    
    initial    
    begin
        a = 0;    b = 0;    c = 0;    d = 0;
    end
    always    a = #(CLK_PERIOD/1) ~a;
    always    b = #(CLK_PERIOD/3) ~b;
    always    c = #(CLK_PERIOD/5) ~c;
    always    d = #(CLK_PERIOD/7) ~d;
    
    initial    
    begin
                s2 = 0;    s1 = 0;
        #10000    s2 = 0;    s1 = 1;
        #10000    s2 = 1;    s1 = 0;
        #10000    s2 = 1;    s1 = 1;
    end
    
    select    ux
    (
        .a        (a),
        .b        (b),
        .c        (c),
        .d        (d),
        .s1        (s1),
        .s2        (s2),
        .o        (o)
    );
    endmodule
    
    module select
    (
        input    a,b,c,d,s1,s2,
        output    reg        o
    );
    
    always@(*)
    begin
        case({s2,s1})
        2'b00:    o <= a;
        2'b01:    o <= b;
        2'b10:    o <= c;
        2'b11:    o <= d;
        endcase
    end
    endmodule
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月7日
  • 已采纳回答 9月29日
  • 创建了问题 9月28日

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大