プロが教えるわが家の防犯対策術!

VHDLで、case文とwhen文のどちらを使おうか迷っています。

以下のようなプログラムを作ろうと思っています。
//ここからcase文もしくはwhen文
SWの値を読み込み、
1の時signalに10を代入
2の時signalに20を代入



10の時signalに100を代入
//ここまでcase文もしくはwhen文

process(clk)
clkが立ち上がる回数をカウントしていき、signalと同じ数になった時に1を出力
それ以外は0を出力
end process

case文はprocess文で、when文は同時処理文で記述することは知っていますが、このような場合、どちらを使ったらいいのでしょうか?

A 回答 (2件)

case文の方が良いでしょう。

というか、私ならcase文にします。合成結果が良さそうだからです。(実際は同じかも知れませんが)どんな文でもあまり深い記述にしない方がいいかなと思います。
    • good
    • 0

>case文もしくはwhen文??


caseとwhenは一緒に使います。caseかifかなら下のとおり。
SWの値に優先度が無い場合、caseの使用を使うべきです。caseの方が一覧性があって、見やすくなります。
優先度がある場合、高い方からifで選んでいきます。

参考URL:http://www.sursys.com/vhdl_process.html
    • good
    • 0
この回答へのお礼

申し訳ないです。
書き忘れていました。
when文は、条件分岐に用いる方のwhen文です。

http://www.picfun.com/vhdl33.html

お礼日時:2010/08/05 22:35

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