chisel - Chisel3 中 Flipped() 的作用是什么?

标签 chisel

我在generator-bootcamp的3.2节插曲中看到一段代码:

val io = IO(new Bundle {
  val in = Flipped(Decoupled(UInt(8.W)))
  val out = Decoupled(UInt(8.W))
})

有人知道“Flipped”的功能吗? 我在chisel3 doc中搜索过,但没有这个信息。

https://chisel.eecs.berkeley.edu/api/#Chisel.package $$翻转$

提前致谢

最佳答案

解耦默认为输出,即它的参数,在这种情况下,UInt(8.W) 会将数据带入模块。解耦将就绪且有效的握手信号添加到 in 中。 Flipped() 更改其参数的所有字段的方向。因此 out 适合将信息传递到模块之外。 这里的代码相当于

val io = IO(new Bundle {
  val in = new Bundle {
    val valid = Input(Bool())
    val ready = Output(Bool())
    val bits  = Input(UInt(8.W))
  }
  val out = new Bundle {
    val valid = Output(Bool())
    val ready = Input(Bool())
    val bits  = Output(UInt(8.W))
  }
}

我会看到 chisel3 wiki 中添加了一些内容。

关于chisel - Chisel3 中 Flipped() 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48343073/

相关文章:

scala - 安装凿子

hardware - For 循环未在凿子中展开

chisel - 解复用器 : Unconnected Wires/firrtl error

scala - Chisel 中的 RegisterFile 测试

scala - Scala/Chisel 中的函数循环

scala - 如何将 chisel 中的测试平台与 C++ 库集成?

chisel - firrtl_interpreter.InterpreterException : error: ConcreteSInt(303, 9) 宽度错误 9 需要 10

complex-numbers - 复数的类型类

chisel - 如何获取 UInt Vec 中 Max 元素的索引,Chisel