Я новичок в этом.
У меня есть вопросы по коду.
Чем отличаются эти коды:
val myVec = Vec (5) {Fix (width = 23)}
и
val myVec = Vec.fill (5) {SInt (ширина = 23)}
что значит "заполнить"?
Благодарность
Я новичок в этом.
У меня есть вопросы по коду.
Чем отличаются эти коды:
val myVec = Vec (5) {Fix (width = 23)}
и
val myVec = Vec.fill (5) {SInt (ширина = 23)}
что значит "заполнить"?
Благодарность
«Fill» - это 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)))
Это создает Wire из 5-элементного вектора, состоящего из 23b целых чисел со знаком. (В Chisel3 любые провода должны быть явно намотаны).