4
這是一種看起來很醜陋的方式。如何指定在Chisel3中平方兩個無符號數的差值?
class DiffSquared extends Module {
val inputWidth = 8
val width = 16
val io = IO(new Bundle {
val X = Input(UInt(inputWidth.W))
val M = Input(UInt(inputWidth.W))
val Out = Output(UInt(width.W))
})
val x = Wire(UInt((inputWidth+1).W))
val m = Wire(UInt((inputWidth+1).W))
x := io.X
m := io.M
val diff = Wire(SInt((inputWidth+1).W))
diff := x.asSInt - m.asSInt
io.Out := (diff*diff).asUInt
}
什麼是更好的方式零擴展UINT到9位聖馬丁,做差價,將其平方,並表示結果作爲16位UINT?
的一般符號擴展方法可以是有用。隨意提交功能請求! – jkoenig