4 / 36 · 概念
解碼器與致能訊號
將二進位位址轉換為一個有效輸出。
單元可免費閱讀,註冊課程即可儲存學習進度。
學習目標
- 將二進位位址轉換為一個有效輸出。
一個位址選擇一個輸出
2-to-4 解碼器將 00、01、10、11 對應到 0001、0010、0100、1000。y[3:0] 最右邊是 y[0]。定義 en=0 時 y=0000,只有 en=1 時才恰有一個有效輸出,驗證時也要包括此條件。
always_comb begin
y = 4'b0000;
if (en) begin
case (address)
2'b00: y = 4'b0001;
2'b01: y = 4'b0010;
2'b10: y = 4'b0100;
2'b11: y = 4'b1000;
default: y = 4'b0000;
endcase
end
end每條路徑都要賦值
組合輸出應只由目前輸入決定。先指定 0000,可定義未致能的路徑;漏寫賦值可能意外推導出保留舊值的鎖存器。程式碼是邏輯節錄,不是完整 top 模組;使用前需宣告 address、en、y 的埠及寬度。
自己試試看
en=1、address=10 時 y 是什麼?en=0 呢?
查看解說
致能時只有 y[2] 為 1,即 0100;未致能時為 0000。
✓ 已學習