2

我是新来的。

我对代码有一些疑问。

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

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

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

“填满”是什么意思?

谢谢

4

1 回答 1

2

“Fill”是一种 Scala 主义,用于使用元素初始化列表之类的东西:

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

于 2016-10-26T23:39:49.003 回答