如何创建模块数组?使用数组还是 Vec?
How to create array of the module? Use Array or Vec?
我在 https://github.com/ucb-bar/chisel-tutorial/blob/release/src/main/scala/examples/Adder.scala 中找到了类似的例子。
不过,我对使用Array或Vec方法还是一头雾水,对第15~18行的注释也不是很清楚
谁能详细解释一下?
如果我想创建模块数组,什么时候正确使用 Array 和 Vec?
In general Vec only needs to be used when there is a need to express
the hardware collection in a Reg or IO Bundle or when access to
elements of the array is indexed via a hardware signal.
普通 Scala 集合配备了多种方法,可以保存对硬件的引用,但它们实际上不能代表硬件。例如,当使用 Chisel 节点索引模块向量时,需要 Vec
。
中提供了 Scala 集合与 Vec
优缺点的简要说明。
我在 https://github.com/ucb-bar/chisel-tutorial/blob/release/src/main/scala/examples/Adder.scala 中找到了类似的例子。
不过,我对使用Array或Vec方法还是一头雾水,对第15~18行的注释也不是很清楚
谁能详细解释一下? 如果我想创建模块数组,什么时候正确使用 Array 和 Vec?
In general Vec only needs to be used when there is a need to express the hardware collection in a Reg or IO Bundle or when access to elements of the array is indexed via a hardware signal.
普通 Scala 集合配备了多种方法,可以保存对硬件的引用,但它们实际上不能代表硬件。例如,当使用 Chisel 节点索引模块向量时,需要 Vec
。
Vec
优缺点的简要说明。