chisel - 如何初始化向量寄存器?

标签 chisel

我已经定义了这样的向量寄存器

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/

相关文章:

scala - 安装凿子

scala - 自定义记录类型的 Firrtl 解析器语法错误

chisel - 如何通过Chisel创建寄存器的Vecs

chisel - 如何将零打包到凿子中的捆绑中

chisel - 使用动态索引时如何显示我的线路名称?

chisel - 当设计中有未连接的 IO 时收到警告

凿码变换

chisel - 如何在chisel中自由给vec类型变量赋值?

chisel - Chisel 开发者指南?

scala - Chisel:在 Windows 上编译 Chisel 库