4 / 36 · 概念
デコーダとイネーブル信号
二進アドレスを一つの有効出力に変えます。
レッスンは無料で読めます。受講登録すると進捗を保存できます。
学習目標
- 二進アドレスを一つの有効出力に変えます。
一つのアドレスから一つの出力へ
2-to-4デコーダは00、01、10、11を0001、0010、0100、1000へ対応させます。y[3:0]の右端はy[0]です。en=0では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を代入すると無効時も定義できます。代入を省くと意図しないラッチが推論される場合があります。コードは抜粋なので、使用時にはaddress、en、yのポートと幅を宣言してください。
自分で考えてみましょう
en=1、address=10のyは? en=0なら?
解説を見る
有効時はy[2]だけが1の0100、無効時は0000です。
✓ 学習済み