我在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/