在Chisel中将捆绑寄存器初始化为全1的最佳方法是什么?

约瑟姆

我想知道如何将Bundle寄存器初始化为全1。假设我有捆绑包:

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,并且仅将bundle的LSB初始化为1。想到的是:

val myReg = RegInit(-1.S(new MyBundle(32).asSInt().getWidth).asTypeOf(new MyBundle(32)))

但这似乎根本不起作用。

我该怎么做?

塞尔德里奇

您可以基于的宽度显式设置宽度Bundle您走在正确的轨道上。尝试:

val myReg = RegInit(-1.S(new MyBundle(32).getWidth.W).asTypeOf(new MyBundle(32)))

还要注意,如果您已经构造了MyBundle,则可以直接引用它,而不是构造新的对象,例如:

val foo = Wire(new MyBundle(32))
val myReg = RegInit(-1.S(foo.getWidth.W).asTypeOf(foo))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在x86汇编中将寄存器设置为零的最佳方法是什么:xor,mov或and?

保存传感器寄存器的字段详细信息的最佳方法是什么?

用stm32设计移位寄存器的最佳方法是什么

如何部分初始化寄存器向量(例如,基础捆绑类型的某些字段)

初始化寄存器

将JavaScript日期初始化为午夜的最佳方法是什么?

将指向char数组的指针初始化为可变的最佳方法是什么?

如何初始化向量寄存器?

如何使用参数值初始化寄存器

使用偏移量获取微控制器中寄存器全地址的目的是什么?

在班级中初始化记录器的最佳方法是什么?

如何在C中将数组初始化为全0?

从通用寄存器加载/存储到xmm / ymm寄存器/从通用寄存器加载/存储的最佳方法

在Python中初始化dict的最佳方法是什么?

推迟类属性初始化的最佳方法是什么?

初始化Quartz的最佳方法是什么?

初始化bean的最佳方法是什么?

进行昂贵的初始化的最佳方法是什么?

在TensorFlow中初始化变量的最佳方法是什么?

初始化数组“ memset”或“ {// value}”的最佳方法是什么?

移位变量或寄存器是什么意思?1 << REGISTER_ADDRESS

哪种方法可以更快地初始化微控制器中的寄存器?

确定寄存器的值是否等于零的最简单方法是什么?

MIPS中的影子寄存器是什么,如何使用?

函数调用后寄存器的状态是什么?

寄存器受损架构的含义是什么

xorps在同一寄存器上的目的是什么?

PCIe中的基址寄存器(BAR)是什么?

寄存器周围的括号是什么意思?