关于Chisel的语法

时间:2016-10-24 09:52:48

标签: chisel

我是新手。

我对代码有一些疑问。

这些代码之间有什么不同:

val myVec = Vec(5){Fix(width = 23)}

val myVec = Vec.fill(5){SInt(width = 23)}

“填充”是什么意思?

感谢

1 个答案:

答案 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中,必须明确包装任何电线)。