我想使用Mux选择bundle enter代码,这里是类ComIO { val = Input(UInt(32.W) val =UInt(32.W)})
class EntIO extends Bundle {
val com = new ComIO
}
class Ent extends Module {
val io = IO(new EntIO)
...
}
class DemoIO extends Bundle {
val com1 = new ComIO
val com2 = new ComIO
val en = Input(Bool())
}
class Demo extends Module {
val io = IO(new DemoIO)
val ent = Module(new Ent)
ent.io <> Mux(io.en,io.com1,io.com2)
}
enter code here错误在流动
发布于 2022-03-02 18:49:47
Muxes是单向的,您不能将它们用于双向事物。尝试使用when
class Demo extends Module {
val io = IO(new DemoIO)
val ent = Module(new Ent)
when (io.en) {
ent.io <> io.com1
} .otherwise {
ent.io <> io.com2
}
}https://stackoverflow.com/questions/71319783
复制相似问题