検索
[Chisel]条件分岐について
- M.R

- 2024年2月23日
- 読了時間: 1分
はじめに
chiselを書いていると、条件分岐として以下の文法が使えることを学びます。
if
when
Mux (MuxCase)
これらはどのように使い分けたらいいのでしょうか?
ifとwhen/Mux
まずこれらは条件判定に用いる変数がscalaのBoolean型かchiselのBOOL型かが異なります。
if: scalaのBoolean型
when/Mux: chiselのBOOL型
つまり、判定対象の変数の型によってifを使うのかwhen/Muxを使うのかが決まります。
whenとMux
ではwhenとMuxをどのように使い分けるかというと、これはあくまで個人的な意見ですが
何らかの信号に繋げる値の計算を場合分けする場合はMux whenの中で計算した値をwhenの外で定義した値に繋ぐのはできないらしい(コンパイルエラーになった)
条件によって処理が変わる場合はwhen
というように考えています。






コメント