Chisel的基本概念
1、Chisel硬件表达
此版本的Chisel只支持二进制逻辑,不支持三态信号。
2、Chisel数据类型
数据类型用于指定状态元素中保存的值或wire上传输的值。
类型有SInt,UInt,Bool,Bundle,Vcc。
Bundles&Vecs
Bundle和Vec是可以允许用户使用其他数据类型来扩展Chisel数据类型集合的类。Bundle用class来定义,用户可以通过将一个类定义为Bundle的子类来定义自己的bundle。
原始类(SInt,UInt和Bool)加上聚合类(Bundles和Vecs)都继承自一个公共的超类Data。在电路中,每个最终继承自Data的对象都可以表示为一个位向量。
3、组合电路
在Chisel中,电路会被表示为一张节点图。每个节点是具有零个或多个输入并驱动一个输出的硬件运算符。
Uint是一种退化类型的节点,它没有输入,并且在其输出上驱动一个恒定的值。创建和连接节点的一种方法是使用字面表达式。
eg. (a&b)|(c&d)
任何简