代码编译正确,但我收到警告:
[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)
其中imme
和rs1
的类型为SInt
。
答案 0 :(得分:3)
您的所有信号必须与SInt类型相同。正如我们在给定代码上看到的那样不相同:
PC_input1 := Mux(io.branch, io.imme, UInt(4))
io.imme是SInt()和UInt(4)不是。你的PC_input1是SInt()吗?
如果您想避免警告,请对所有变量使用相同的类型。