Сбросить логику в Chisel

Как присвоить регистру явный сброс. Когда используется RegInit (), ему назначается глобальный сигнал сброса. Однако, если вы хотите управлять сигналом сброса через настраиваемую логику в модуле, то как мы можем избежать неявного сброса. Например

... 
state_reg = RegInit(st_reset)

when( reset_i) {
state_reg:= st_reset
}.elsewhen(error_s) {
state_reg := st_error
}.otherwise     {
state_reg:= next_state_reg_s
}
 ....

Может ли кто-нибудь объяснить, как управлять логикой сброса.


person ARK91    schedule 09.03.2018    source источник
comment
@ Мой подход - драйв от fsm на основе vhdl.   -  person ARK91    schedule 09.03.2018


Ответы (1)


Вам нужно объявить регистр в рамках других часов. Что-то типа

val reg2 = withClock(clock2) { RegInit(0.U(8.W)) }

См. Следующий пример многократного тестирования chisel3 для полной реализации.

person Chick Markley    schedule 09.03.2018