下面内容根据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中全部的元素指定方向。