Chisel:当 Mux 的输出是 SInt 类型时,为什么我会收到警告?
Chisel: Why do I get a warning when output of Mux is of type SInt?
代码编译正确,但我收到警告:
[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
。
您所有的信号都必须是同一类型的 SInt。正如我们在给定代码上看到的不一样:
PC_input1 := Mux(io.branch, io.imme, UInt(4))
io.imme 是 SInt() 而 UInt(4) 不是。你的 PC_input1 是 SInt() 吗?
如果您想避免警告,请对所有变量使用相同的类型。
代码编译正确,但我收到警告:
[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
。
您所有的信号都必须是同一类型的 SInt。正如我们在给定代码上看到的不一样:
PC_input1 := Mux(io.branch, io.imme, UInt(4))
io.imme 是 SInt() 而 UInt(4) 不是。你的 PC_input1 是 SInt() 吗?
如果您想避免警告,请对所有变量使用相同的类型。