下面内容根据2015-7-10版的Chisel 2.2 Tutorial整理
port就是硬件单元对外的接口,须要指明方向(输入还是输出)。一个port声明的样例例如以下:
class Decoupled extends Bundle{
val ready = Bool(OUTPUT)
val data = UInt(INPUT, 32)
val valid = Bool(INPUT)
}
INPUT、OUTPUT指定方向,后面指出宽度。对于Bool类型。其宽度就是1,所以不须要明白指出。除了上述方式外,还能够例如以下定义:
class ScalaIO extends Bundle{
val in = new MyFloat().asInput
val scala = new MyFloat().asInput
val out = new MyFloat().asOutput
}
此处的方法asInput、asOutput为MyFloat中全部的元素指定方向。