Chisel Tutorial (5) - Bundle 与 Vec
发布时间
阅读量:
阅读量
以下内容依据2015年7月10日版本的Chisel 2.2 Tutorial整理
此处的Bundles、Vecs将不进行翻译,以免因翻译偏差造成理解上的误差,各位是否有更好的建议?
Bundle与Vec同样是Chisel中定义的数据类型。Bundle用于表示一组元素的集合,其中每个元素均拥有独立的变量名称,其特性类似于C语言中的结构体。用户可通过创建Bundle的子类方式,来定义属于Bundle类型的变量,具体示例如下:
class MyFloat extends Bundles{
val sign = Bool()
val exponent = UInt(width=8)
val significant = UInt(width=23)
}
val x = new MyFloat()
val xs = x.sign
Chisel建议用户遵循Scala的命名规范,将类名的首字母进行大写处理。在上述定义中还存在一个需要特别关注的细节,即在UInt的构造函数中设置了一个名为width的参数,该参数用于确定当前定义的UInt数据类型的位宽。
Vec是由多个元素构成的向量结构,每个元素均对应一个唯一的索引
全部评论 (0)
还没有任何评论哟~
