Open DIGI1919 opened 1 month ago
all right and the comment of it
// TODO: this eventually will be renamed as toSInt, once the existing toSInt
// completes its deprecation phase.
/** Zero extend as [[SInt]]
*
* @return an [[SInt]] equal to this $coll with an additional zero in its most significant bit
* @note The width of the returned [[SInt]] is `width of this` + `1`.
*/
final def zext: SInt = macro SourceInfoTransform.noArg
so perhaps when i use the chisel to bulid module with the io out&input with U type is more formal, even if some of it is signed operation in the module .but if the operation of 33uint to the output of 32uint will lead to an overflow or not?
in the version chiselVersion = "5.0.0" chiseltestVersion = "5.0.2" version riscvmini: the code in datapath
the Sint target trans to .sv lead to
and the width of regfile should be 32 ,but it is 32 .it predict width of sint to 33 ,with log :
' chisel3.package$ChiselException: Connection between sink (Datapath.load: Wire[UInt<32>]) and source (Datapath.load_?: OpResult[SInt<33>]) failed @: Sink (UInt<32>) and Source (SInt<33>) have different types'
and i find the old riscv-mini verion which has sbt
it trans to file v with the same chisel code and the code is :
but i think the width of it is 32 is more suitable for sint .so prehaps how can i get some skill to make it to 32 ? thank you