Поддерживает ли ChiselHDL что-то вроде #ifdef (макрос)?

Я погуглил, что Scala использует "@elidable" как своего рода макрос в C++.
Поддерживает ли 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

person Younghwan Oh    schedule 23.07.2015    source источник


Ответы (1)


Вы должны использовать код Scala в качестве системы Chisel ifdef.

if (DEBUG) // <<--- this is a Scala conditional, run at chisel build-time
    when (is_cache_miss) { printf("Cache miss!") } // << --- Chisel conditional. Executes every cycle of simulation. 
person Chris    schedule 30.07.2015