アプリ版:「スタンプのみでお礼する」機能のリリースについて

VHDLのセンシティブリストに関して質問があります。
初心者です。
下記の2つで違いがでるのでしょうか?

(1)=================================
process(SEL, IA, IB ,IC ,ID)
begin
case SEL is
when '0' => OA <= not IA;
OB <= not IB;
when '1' => OA <= not IC;
OB <= not ID;
when others => null;
end case;
end process;
(2)=================================
process(SEL, ,IC ,ID)
begin
case SEL is
when '0' => OA <= not IA;
OB <= not IB;
when '1' => OA <= not IC;
OB <= not ID;
when others => null;
end case;
end process;
=================================
ネットで調べるとセンシティブリストに登録された信号が変化した場合に
begin以下の処理が行われるとあります。
つまりは、
(1)の場合は、SEL=0固定でもIAやIBが変化した場合にOAやOBは変化するが、
(2)の場合は、SEL=0固定でIAやIBが変化した場合は、OAやOBは変化しないということでしょうか?

A 回答 (2件)

そこまでできてるなら実際に動かして確かめた方が早いよ。

    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
不思議なのですが、
(2)の場合は、SEL=0固定でIAやIBが変化した場合は、OAやOBは変化しないはずなのですが、
実際に動作させると変化するのです。
シュミレーションでは、もちろん変化しません。
何か変だな?と思い質問させていただいたしだいです。

お礼日時:2013/07/30 12:51

> 実際に動作させると変化するのです。


> シュミレーションでは、もちろん変化しません。
「シミュレーション」と「実際に動作」の違いは何ですか?
(シミュレーションだって動作はさせてるわけで。)

論理合成後の動作のことを言っているなら、
(2)の記述がちゃんと論理合成できる記述であるかどうか確認しましたか?
(ぱっと見は、論理合成向きの記述には見えませんが。)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!