Мне интересно, как я могу инициализировать регистр Bundle для всех единиц. Допустим, у меня есть пакет:
class MyBundle(val w: Int) extends Bundle {
val a = UInt(w.W)
val b = UInt(w.W)
val x = Bool()
val y = Bool()
}
Я пытаюсь что-то вроде:
val myReg = RegInit(-1.S.asTypeOf(new MyBundle(32)))
Однако, это предполагает, что ширина литерала со знаком равна всего 1, и инициализирует только LSB связки с 1. Что приходит в голову:
val myReg = RegInit(-1.S(new MyBundle(32).asSInt().getWidth).asTypeOf(new MyBundle(32)))
Но это, похоже, не работает вообще.
Как я могу выполнить sh это?