我在发电机-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 $$翻转$
提前致谢
答案 0 :(得分:4)
解耦默认为输出,即它的参数,在这种情况下,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中。