次のコードは4:1マルチプレクサです。 dis
信号が '1'の場合、出力はすべての出力ピンで0になります。 dis
が高い場合、sel
にかかわらず、 を置換する必要がなく、出力は0でなければならないという簡潔な方法がありますか?VHDL:条件付き信号割り当ての簡略化
条件付き割り当てがあいまいなままになると、意図しないラッチの生成やその他の望ましくない副作用が発生する可能性があることに注意してください。
architecture dataflow of mux8_4 is
begin
q <=d0 when sel = "00" and dis = '0' else
d1 when sel = "01" and dis = '0' else
d2 when sel = "10" and dis = '0' else
d3 when sel = "11" and dis = '0' else
"00000000" when sel = "00" and dis = '1' else
"00000000" when sel = "01" and dis = '1' else
"00000000" when sel = "10" and dis = '1' else
"00000000" when sel = "11" and dis = '1';
end architecture dataflow;
私の試み(私はしかし、悪い 練習をするすべての可能な文の省略を理解するには)
architecture dataflow of mux8_4 is
begin
q <= "00000000" when dis = '1' else
d0 when sel = "00" and dis = '0' else
d1 when sel = "01" and dis = '0' else
d2 when sel = "10" and dis = '0' else
d3 when sel = "11" and dis = '0';
end architecture dataflow;