您当前的位置: 首页 > 

耐心的小黑

暂无认证

  • 1浏览

    0关注

    323博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

chisel数据类型和硬件类型的联系与区别(更新)

耐心的小黑 发布时间:2021-06-25 13:20:10 ,浏览量:1

主体内容摘自:https://blog.csdn.net/qq_34291505/article/details/87714172

一、联系

Chisel的数据类型,其中常用的就五种:UInt、SInt、Bool、Bundle和Vec[T]

硬件类型最基本的是IO、Wire和Reg三种,还有指明端口方向的Input、Output和Flipped

数据类型必须配合硬件类型才能使用,它不能独立存在,因为编译器只会把硬件类型生成对应的Verilog代码。

实际的电路应该是由硬件类型的对象构成的,不管是信号的声明,还是用赋值进行信号传递,都是由硬件类型的对象来完成的。数据类型和硬件类型融合在一起,才能构成完整、可运行的组件。 比如要声明一个线网,这部分工作由硬件类型来完成;这个线网的位宽是多少、按无符号数还是有符号数解释、是不是向量等等,这些则是由作为参数的数据类型对象来定义的。

二、区别

从语法规则上来讲,这两种类型有很大的区别,编译器会对数据类型和硬件类型加以区分。尽管从Scala的角度来看,硬件类型对应的工厂方法仅仅是“封装”了一遍作为入参的数据类型,其返回结果没变,比如Wire的工厂方法定义为:

def apply[T             
关注
打赏
1640088279
查看更多评论
0.0456s