特级茶叶 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日

悬赏问题

  • ¥15 为啥快手广告联盟的广告这么难出来
  • ¥15 k8s集群重启后,kubelet一直报systemctl restart kubelet.service "Failed to delete cgroup paths"
  • ¥15 微信小程序构建工具类发布到npm,install后报错
  • ¥15 amesim液压仿真问题
  • ¥15 MATLAB优化设计
  • ¥15 ANN预测模型 200大米
  • ¥20 优秀学生的问题 oj java
  • ¥15 scratch-gui 如何集成进 react native
  • ¥15 把全局悬浮窗改为局内悬浮窗
  • ¥15 Excel vba编程调用word如何读取换行符