在Chisel中重置逻辑

时间:2018-03-09 10:07:15

标签: 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
}
 ....

任何人都可以解释如何控制重置逻辑。

1 个答案:

答案 0 :(得分:2)

您需要在另一个时钟范围内声明寄存器。像

这样的东西
val reg2 = withClock(clock2) { RegInit(0.U(8.W)) }

有关完整实施的信息,请参阅以下chisel3 tests multiclock example