Chisel3 - 接口方向(Direction)

https://mp.weixin.qq.com/s/36jreQGpDLCCNfmUwI34lA

 
模块接口有三种方向:Input/Output/Inout。Chisel在声明模块接口的时候,也需要提供这些信息。
 
参考链接:
 
 
1. SpeicifiedDirection
 
声明模块接口方向时,使用的方向类型:
其中:
a. 带下划线的为对象;
 
2. ActualDirection
 
使用方法目前不明。
其中:
a. 带下划线的为对象;
b. 不带箭头的联系为关联关系;
 
3. Input
 
定义了apply方法的Object,用法如函数调用。这三个函数调用,会为传入参数(Data子类型)的方向性赋值:
 
使用方法如:
val io = IO(new Bundle {
    val in  = Input(UInt(1.W))
    val out = Output(UInt(1.W))
  })
 
再如:
val io = IO(new Bundle {
  val isWr = Input(Bool())
  val wrAddr = Input(UInt(8.W))
  val wrData = Input(UInt(32.W))
  val boot = Input(Bool())
  val valid = Output(Bool())
  val out = Output(UInt(32.W))
})
 
4. Output
 
参考Input。
 
5. Flipped
 
参考Input。
 
6. Inout
 
Chisel中并无Inout类型,需使用Analog类型进行模拟。
 
posted @ 2018-12-01 22:33  wjcdx  阅读(1016)  评论(0编辑  收藏  举报