我是新来的。
我对代码有一些疑问。
这些代码之间有什么不同:
val myVec = Vec(5){Fix(width= 23)}
和
val myVec = Vec.fill(5){SInt(width = 23)}
“填满”是什么意思?
谢谢
我是新来的。
我对代码有一些疑问。
这些代码之间有什么不同:
val myVec = Vec(5){Fix(width= 23)}
和
val myVec = Vec.fill(5){SInt(width = 23)}
“填满”是什么意思?
谢谢
“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 中,任何电线都必须明确包裹)。