可读开漏IO(ReadableOpenDrain)
ReadableOpenDrain线束定义如下:
case class ReadableOpenDrain[T<: Data](dataType : HardType[T]) extends Bundle with IMasterSlave {
  val write,read : T = dataType()
  override def asMaster(): Unit = {
    out(write)
    in(read)
  }
}
然后,作为主端,您可以使用 read 信号读取外部值,并使用 write 设置您想要在输出上驱动的值。
这是一个用法示例:
val io = new Bundle {
  val dataBus = master(ReadableOpenDrain(Bits(32 bits)))
}
io.dataBus.write := 0x12345678
when(io.dataBus.read === 42) {
}