Chisel:当Mux的输出是SInt类型时,为什么我会收到警告?

时间:2016-09-27 16:30:59

标签: chisel

代码编译正确,但我收到警告:

[warn] PC_RVI.scala:22: Mux of Bits instantiated, emits SInt in class TOP_pack.PC_RVI

给出警告的代码部分如下所示:

PC_input1 := Mux(io.branch, io.imme, UInt(4))
PC_input2 := Mux(io.PC_or_rs1, io.rs1, PC_reg)

其中immers1的类型为SInt

1 个答案:

答案 0 :(得分:3)

您的所有信号必须与SInt类型相同。正如我们在给定代码上看到的那样不相同:

PC_input1 := Mux(io.branch, io.imme, UInt(4))

io.imme是SInt()和UInt(4)不是。你的PC_input1是SInt()吗?

如果您想避免警告,请对所有变量使用相同的类型。