(2)3-8譯碼器

数字ic新人發表於2024-04-02

  譯碼器作用:將三位的輸入訊號譯碼為8位的輸出訊號

  特別注意這裡的真值表!!!

  同一時刻只有一個訊號是高電平,其餘為低電平

  工程程式碼:

module decoder_3_8(
    a,b,c,out
    );
    input a,b,c;
    output reg [7:0]out;
    always@(a,b,c)
    begin
        case({a,b,c})   //位拼接判定
            3'b000: out = 8'b00000001;
            3'b001: out = 8'b00000010;
            3'b010: out = 8'b00000100;
            3'b011: out = 8'b00001000;
            3'b100: out = 8'b00010000;
            3'b101: out = 8'b00100000;
            3'b110: out = 8'b01000000;
            3'b111: out = 8'b10000000;    
            default: out = 8'b00000001;   
        endcase  
    end
endmodule

  在做的時候因為例子太簡單了,就沒有寫tb,直接上板子了

  RTL模組檢視:

  結果:


  今天才知道在vivado裡看電路結構圖是有三個階段的:

  在這裡不多贅述了,帖子連結如下:

  Vivado使用入門之一:Schematic圖 - 知乎 (zhihu.com)

相關文章