如何调用内部定义的变量 withClockAndReset
How to call the variable defined inside withClockAndReset
我正在凿子中使用多个时钟。
在chisel3中,我写了如下代码
withClockAndReset(A_clk, A_rst) {
val data_a = RegInit(0.U(4.W))
}
withClockAndReset(B_clk, B_rst) {
val data_b = RegInit(0.U(4.W))
}
data_b := data_a
data_a := io.data
编译器报告找不到变量data_a。
变量data_a定义在withClockAndReset里面,我不能在外面使用这个变量
我能做什么?
尝试:
val data_a = withClockAndReset(A_clk, A_rst) {
RegInit(0.U(4.W))
}
问题是您在单独的范围内定义 val
。
无论 withClockAndReset
的第二个参数列表(什么放在 { \* ... *\ }
)return 中。因此,您可以将其用于 return 您在另一个 clock/reset 范围内构造的寄存器、模块等。
我正在凿子中使用多个时钟。
在chisel3中,我写了如下代码
withClockAndReset(A_clk, A_rst) {
val data_a = RegInit(0.U(4.W))
}
withClockAndReset(B_clk, B_rst) {
val data_b = RegInit(0.U(4.W))
}
data_b := data_a
data_a := io.data
编译器报告找不到变量data_a。 变量data_a定义在withClockAndReset里面,我不能在外面使用这个变量
我能做什么?
尝试:
val data_a = withClockAndReset(A_clk, A_rst) {
RegInit(0.U(4.W))
}
问题是您在单独的范围内定义 val
。
无论 withClockAndReset
的第二个参数列表(什么放在 { \* ... *\ }
)return 中。因此,您可以将其用于 return 您在另一个 clock/reset 范围内构造的寄存器、模块等。