譯碼器作用:將三位的輸入訊號譯碼為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)