我是新手。
我对代码有一些疑问。
这些代码之间有什么不同:
val myVec = Vec(5){Fix(width = 23)}
和
val myVec = Vec.fill(5){SInt(width = 23)}
“填充”是什么意思?
感谢
答案 0 :(得分:2)
"填写"是一个Scala-ism,用于初始化带有元素的列表:
scala> val x = List.fill(3)("foo")
x: List[java.lang.String] = List(foo, foo, foo)
同样,Vec.fill(5){SInt(width=23)}
返回一个Chisel Vec,其中5个元素中的每一个都设置为23b有符号整数线。
但是,如果您使用Chisel,则应移至Chisel3(https://github.com/ucb-bar/chisel3/wiki),其中新语法为:
val myVec = Wire(Vec(5, SInt(width=23)))
创建一个由23b有符号整数组成的5元素向量的Wire。 (在Chisel3中,必须明确包装任何电线)。