我已经定义了这样的向量寄存器
val my_reg = Reg(Vec(n, Bits(32.W)))
我使用
my_reg(i)
在for循环中访问此寄存器的元素。现在,我想将此寄存器初始化为零,所以我将变量定义更改为此
val my_reg = Reg(Vec(n, Bits(32.W)), init = UInt(0))
但是,当我要访问该寄存器的元素时,出现以下编译错误
chisel3.core.Data does not take parameters
my_reg(i) := io.a(i)
如何定义向量的寄存器并正确地对其进行同步初始化?
最佳答案
请改用RegInit。我相信以下声明会满足您的要求
val my_reg = RegInit(Vec(Seq.fill(n)(0.U(32.W))))
向量由32位宽的UInt零的Seq初始化
关于chisel - 如何初始化向量寄存器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43646015/