From 1407405d56c217daa7492dfe19fdcaeaf0ae6eff Mon Sep 17 00:00:00 2001 From: kejun Date: Sat, 8 Mar 2025 13:49:25 -0600 Subject: [PATCH] continue assert --- .../src/main/scala/org/sireum/anvil/HwSynthesizer.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/shared/src/main/scala/org/sireum/anvil/HwSynthesizer.scala b/shared/src/main/scala/org/sireum/anvil/HwSynthesizer.scala index 4a88eb5..b9836c7 100644 --- a/shared/src/main/scala/org/sireum/anvil/HwSynthesizer.scala +++ b/shared/src/main/scala/org/sireum/anvil/HwSynthesizer.scala @@ -101,7 +101,7 @@ object MemCopyLog { | // reg for stack pointer | val SP = RegInit(0.U(STACK_POINTER_WIDTH.W)) | // reg for display pointer - | val DP = RegInit(0.U(STACK_POINTER_WIDTH.W)) + | val DP = RegInit(0.U(64.W)) | // reg for index in memcopy | val Idx = RegInit(0.U(16.W)) | // reg for recording how many rounds needed for the left bytes @@ -464,6 +464,10 @@ object MemCopyLog { exprST = if(intrinsic.isSP) st"SP" else st"DP" } case AST.IR.Exp.Intrinsic(intrinsic: Intrinsic.Load) => { + if(MemCopyLog.currentBlock.get.label == 203) { + println(intrinsic.prettyST.render) + println(intrinsic.bytes) + } var rhsExprST = ISZ[ST]() val rhsExpr = processExpr(intrinsic.rhsOffset, F) for(i <- intrinsic.bytes-1 to 0 by -1) { @@ -477,7 +481,7 @@ object MemCopyLog { st""" |Cat( | ${(rhsExprST, "\n")} - |)${if(anvil.isSigned(intrinsic.tipe)) ".asSInt" else ""}""" + |)${if(intrinsic.isSigned) ".asSInt" else ""}""" } case exp: AST.IR.Exp.Temp => { exprST = st"${generalRegName}(${exp.n}.U)${if(isSignedExp(exp)) ".asSInt" else ""}"