私は、Scala が C++ の一種のマクロとして "@elidable" を使用していることをググりました。
ChiselHDL はデバッグ用にこのようなものもサポートしていますか?
または、他の代替手段はありますか?
scala コンテキストでは、
@elidable(WARNING) def debug(signal: Wire) = when(signal){ printf("Cache miss!") }
debug(miss) // At every rising edge of clock, print whether there's cache miss or not.
Chisel にプリプロセッサと #ifdef ステートメントがあるとします。
#define DEBUG
#ifdef DEBUG
when(is_cache_miss){ printf("Cache miss!") }
#endif