From 7dd8458f96482ad15f1dc1c8ff30ce0e299d71ea Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Mon, 25 Aug 2025 17:32:21 +0800 Subject: [PATCH 01/86] =?UTF-8?q?=E5=85=81=E8=AE=B8=E6=AD=A3=E8=B4=9F3?= =?UTF-8?q?=E4=B8=AAcycle=E5=81=8F=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 145 +++++++++++++++------- 1 file changed, 99 insertions(+), 46 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index a9557f7..a2c8cc7 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -74,50 +74,72 @@ trait CDRInMultiSample{ this: CDRInBase => val multiCLK = IO(Input(Vec(clkNum, Bool()))) - val sampleReg = Wire(Vec(clkNum, Bool())) + dontTouch(sampleReg) for( i <- 0 until clkNum ) { sampleReg(i) := withClockAndReset(multiCLK(i).asClock, reset.asBool){ ShiftRegister( io.serDat, 2 ) } } - val sampleReg_sync = Wire(Vec(2*clkNum,Bool())) - + val sampleReg_sync = for( i <- 0 until clkNum ) yield { + ShiftRegisters(sampleReg(i), 8) + } + for( i <- 0 until clkNum; j <- 0 until 8 ){dontTouch(sampleReg_sync(i)(j))} + + val sampleReg_Align = Wire(Vec(8*clkNum,Bool())) + dontTouch(sampleReg_Align) for( i <- 0 until clkNum ){ - sampleReg_sync(i) := ShiftRegister(sampleReg(i), 2) + sampleReg_Align(i) := sampleReg_sync(i)(7) } for( i <- clkNum until 2*clkNum ){ - sampleReg_sync(i) := ShiftRegister(sampleReg(i-clkNum), 1) + sampleReg_Align(i) := sampleReg_sync(i-clkNum)(6) } - /* - val flitReg = - for( i <- 1 until 22 ) yield { - (sampleReg_sync(i-1) & sampleReg_sync(i+0)) | - (sampleReg_sync(i-1) & sampleReg_sync(i+1)) | - (sampleReg_sync(i+0) & sampleReg_sync(i+1)) - } + for( i <- 2*clkNum until 3*clkNum ){ + sampleReg_Align(i) := sampleReg_sync(i-2*clkNum)(5) + } + + for( i <- 3*clkNum until 4*clkNum ){ + sampleReg_Align(i) := sampleReg_sync(i-3*clkNum)(4) + } + + for( i <- 4*clkNum until 5*clkNum ){ + sampleReg_Align(i) := sampleReg_sync(i-4*clkNum)(3) + } + + for( i <- 5*clkNum until 6*clkNum ){ + sampleReg_Align(i) := sampleReg_sync(i-5*clkNum)(2) + } + + for( i <- 6*clkNum until 7*clkNum ){ + sampleReg_Align(i) := sampleReg_sync(i-6*clkNum)(1) + } + + for( i <- 7*clkNum until 8*clkNum ){ + sampleReg_Align(i) := sampleReg_sync(i-7*clkNum)(0) + } + + - val asyncSerDat = PopCount(flitReg) >= 11.U - */ val flitReg = - for( i <- 1 until (2*clkNum)-1 ) yield { - (sampleReg_sync(i-1) & sampleReg_sync(i+0)) | - (sampleReg_sync(i-1) & sampleReg_sync(i+1)) | - (sampleReg_sync(i+0) & sampleReg_sync(i+1)) + for( i <- 1 until (8*clkNum)-1 ) yield { + (sampleReg_Align(i-1) & sampleReg_Align(i+0)) | + (sampleReg_Align(i-1) & sampleReg_Align(i+1)) | + (sampleReg_Align(i+0) & sampleReg_Align(i+1)) } + for( i <- 0 until (8*clkNum)-2 ) {dontTouch(flitReg(i))} val clearCnt = Reg(UInt(4.W)) val checkCnt = Reg(UInt(4.W)) - val arbLock = Reg(UInt( (log2Ceil(2*clkNum)).W )) - val arbCali = Reg(UInt( (log2Ceil(2*clkNum)).W )) + val arbLock = Reg(UInt( (log2Ceil(8*clkNum)).W )) + val arbCali = Reg(UInt( (log2Ceil(8*clkNum)).W )) val isLock = RegInit(false.B) - when( sampleReg_sync.reduce(_|_) === false.B ){ + when( (7*clkNum until 8*clkNum).map{ i => sampleReg_Align(i)}.reduce(_|_) === false.B ){ when( clearCnt =/= 10.U ){ clearCnt := clearCnt + 1.U } @@ -132,33 +154,64 @@ trait CDRInMultiSample{ this: CDRInBase => } //优先级电路,优先选择跳变的后一相进行操作,电路上需要做成可调的 + val checkWindow = Wire( Vec(6, Bool()) ) + dontTouch(checkWindow) - // val diff = Wire(UInt( (log2Ceil(clkNum)).W )) - // diff := arbLock - j.U - when( ~isLock ){ - for( i <- 3 until 19 ){ - val j = 19 - i - 1 - when( flitReg(j) ^ flitReg(j+1) ){ - arbLock := j.U - arbCali := j.U - } - } - }.elsewhen( checkCnt.andR ){ //锁定之后,只允许每16cycle移动一相位 - for( i <- 0 until 22 ){ - val j = 22 - i -1 - when( flitReg(j) ^ flitReg(j+1) ){ - when( (j.U < arbCali) && ((j+3).U >= arbLock) ){ - arbCali := arbCali - 1.U - } .elsewhen( (j.U > arbCali) && (j.U <= arbLock + 3.U) ){ - arbCali := arbCali + 1.U - } - } - } - } + checkWindow(0) := + Mux1H( (0 until 116).map{ i => + (arbCali === (i+2).U) -> flitReg(i) + }) + + checkWindow(1) := + Mux1H( (1 until 117).map{ i => + (arbCali === (i+1).U) -> flitReg(i) + }) + + checkWindow(2) := + Mux1H( (2 until 118).map{ i => + (arbCali === i.U) -> flitReg(i) + }) + + checkWindow(3) := + Mux1H( (3 until 119).map{ i => + (arbCali === (i-1).U) -> flitReg(i) + }) + + checkWindow(4) := + Mux1H( (4 until 120).map{ i => + (arbCali === (i-2).U) -> flitReg(i) + }) + + checkWindow(5) := + Mux1H( (5 until 121).map{ i => + (arbCali === (i-3).U) -> flitReg(i) + }) when( ~isLock ){ - for( i <- 3 until 19 ){ - val j = 19 - i - 1 + for( i <- 50 until 50+16 ){ + val j = 50+16 - i - 1 + when( flitReg(j) ^ flitReg(j+1) ){ + arbLock := j.U + arbCali := j.U + } + } + }.elsewhen( checkCnt.andR ){ //锁定之后,只允许每16cycle移动一相位 + assert( arbCali >= 2.U && arbCali < 118.U ) + for( i <- 0 until 5 ){ + val j = 5 - i -1 + when( checkWindow(j) ^ checkWindow(j+1) ){ + when( j.U < arbCali ){ + arbCali := arbCali - 1.U + } .elsewhen( j.U > arbCali ){ + arbCali := arbCali + 1.U + } + } + } + } + + when( ~isLock ){ + for( i <- 50 until 50+16 ){ + val j = 50+16 - i - 1 when( flitReg(j) ^ flitReg(j+1) ){ isLock := true.B } @@ -170,7 +223,7 @@ trait CDRInMultiSample{ this: CDRInBase => val asyncSerDat = Mux1H( - (for { i <- 0 until 22 } yield { + (for { i <- 2 until 118 } yield { (arbCali === i.U) -> flitReg(i+(8)) }) ) From 9773752cc86be3a40c39d69a641dd599d18370cf Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Wed, 27 Aug 2025 15:55:09 +0800 Subject: [PATCH 02/86] =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E8=A1=8C=E4=BA=A4?= =?UTF-8?q?=E6=8D=A2=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 35 +++++++++++++++++++ .../scala/backBoard/shin/MstSlvSwitch.scala | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 0270c66..b4def35 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -52,6 +52,10 @@ class CommonRegisterBundle extends Bundle{ val refTop = UInt(3.W) val bias = UInt(2.W) + val dwupEx = UInt(16.W) + val b8b4Sel = UInt(16.W) + val cdrParam = UInt(16.W) + val softResetCode = Vec(4, UInt(8.W)) @@ -295,7 +299,20 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === ("h48".U(16.W) + i.U) ) -> cReg.xtal( 8*i+7,8*i+0 ) }) ++ + + ((0 until 2).map{ i => + (addr === ("h4c".U(16.W) + i.U) ) -> cReg.b8b4Sel( 8*i+7,8*i+0 ) + }) ++ + + ((0 until 2).map{ i => + (addr === ("h4e".U(16.W) + i.U) ) -> cReg.cdrParam( 8*i+7,8*i+0 ) + }) ++ + Seq( + (addr === "h4a".U ) -> cReg.dwupEx.extrace(0), + (addr === "h4c".U ) -> cReg.b8b4Sel.extrace(0), + (addr === "h4e".U ) -> cReg.cdrParam(7,0), + (addr === "h50".U ) -> cReg.anamuxSel, (addr === "h51".U ) -> cReg.ldo2p5, (addr === "h52".U ) -> cReg.ldo1p1, @@ -1082,6 +1099,24 @@ trait InterfaceSystem{ this: InterfaceBase => cReg.softResetCode(3) := RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h43".U ) + cReg.dwupEx := + Cat( + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4b".U ), + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4a".U ) + ) + + cReg.b8b4Sel := + Cat( + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4d".U ), + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4c".U ) + ) + cReg.cdrParam := + Cat( + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4f".U ), + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4e".U ) + ) + + cReg.intEnable := Cat( 1.U(1.W), //复位中断,时钟为1 //31 上电复位 diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 07eeda8..a3286b0 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -472,7 +472,7 @@ class MstSlvSwitch extends MstSlvSwitchBase with MstSlvSwitchMaster with MstSlvSwitchSlave with MstSlvSwitchWatchDog{ - + val isDwUpEx = interface.cReg.dwupEx when( interface.io.cReg.modeSel === false.B ){ //slave From 58ad17ce796b2257511fde25ca5698de3153fcc1 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Wed, 27 Aug 2025 16:27:00 +0800 Subject: [PATCH 03/86] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 4c0c7b1..9bbbf98 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -155,14 +155,20 @@ trait CDRInMultiSample{ this: CDRInBase => } }.elsewhen( checkCnt.andR ){ //锁定之后,只允许每16cycle移动一相位 assert( arbCali >= 2.U && arbCali < 118.U ) - for( i <- 0 until 5 ){ - val j = 5 - i -1 - when( checkWindow(j) ^ checkWindow(j+1) ){ - when( j.U < arbCali ){ - arbCali := arbCali - 1.U - } .elsewhen( j.U > arbCali ){ - arbCali := arbCali + 1.U - } + + when( + (checkWindow(0) ^ checkWindow(1)) | + (checkWindow(1) ^ checkWindow(2)) + ){ + when( arbCali =/= 2.U ){ + arbCali := arbCali - 1.U + } + } .elsewhen( + (checkWindow(3) ^ checkWindow(4)) | + (checkWindow(4) ^ checkWindow(5)) + ){ + when( arbCali =/= 117.U ){ + arbCali := arbCali + 1.U } } } From 706b9f17e5527c2f9b7211040cf5477813b67521 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Wed, 27 Aug 2025 17:06:31 +0800 Subject: [PATCH 04/86] =?UTF-8?q?FPGA=E6=B5=8B=E8=AF=95=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 9bbbf98..b1db89b 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -146,7 +146,7 @@ trait CDRInMultiSample{ this: CDRInBase => }) when( ~isLock ){ - for( i <- 50 until 50+16 ){ + for( i <- 0 until 16 ){ val j = 50+16 - i - 1 when( flitReg(j) ^ flitReg(j+1) ){ arbLock := j.U @@ -174,7 +174,7 @@ trait CDRInMultiSample{ this: CDRInBase => } when( ~isLock ){ - for( i <- 50 until 50+16 ){ + for( i <- 0 until 16 ){ val j = 50+16 - i - 1 when( flitReg(j) ^ flitReg(j+1) ){ isLock := true.B From 39a3f0193651a8a771d299ad0b2d3cd5dc49e895 Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 28 Aug 2025 09:59:15 +0800 Subject: [PATCH 05/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 11 ++- tb/shinTest/testcase/base.py | 148 ++++++++++++++++++++++++++++ tb/shinTest/testcase/environment.py | 3 + tb/shinTest/testcase/sync.py | 2 +- 4 files changed, 158 insertions(+), 6 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index ffe78e6..040e9c5 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -7,11 +7,11 @@ if __name__ == '__main__': environment.gen_slv_dev_num(4) environment.bringup() - #add_tc_2_runlist(errorPkt.tc1()) + add_tc_2_runlist(errorPkt.tc1()) #add_tc_2_runlist(errorPkt.tc2()) #add_tc_2_runlist(errorPkt.tc3()) #add_tc_2_runlist(errorPkt.tc4()) - #add_tc_2_runlist(errorPkt.tc5()) + add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) #add_tc_2_runlist(base.tc1()) @@ -40,15 +40,16 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc24()) #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) + #add_tc_2_runlist(base.tc27()) #add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc2()) #add_tc_2_runlist(broadcast.tc3()) - add_tc_2_runlist(sync.tc1()) - add_tc_2_runlist(sync.tc2()) - add_tc_2_runlist(sync.tc3()) + #add_tc_2_runlist(sync.tc1()) + #add_tc_2_runlist(sync.tc2()) + #add_tc_2_runlist(sync.tc3()) #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc6()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index e766e24..1c403b1 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1815,3 +1815,151 @@ def tc26(): return gen_file_def +def tc27(): + genPkt = GenPkt() + + gen_file_def = "base_tc27" + sm_idx = 0 + tc_des = "测试主站并行输出。在SM0工作的情况下,操作SM1,SM2,SM3,然后看是否正常。\\n" + + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm1,2个读 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x302, 0x1, 2, [0x00, 0x03]) + genPkt.addSubPkt(0x02, 0, 0x302, 0x1, 2, [0x00, 0x01]) + genPkt.addSubPkt(0x03, 0, 0x302, 0x1, 2, [0x00, 0x01]) + genPkt.addSubPkt(0x04, 0, 0x302, 0x1, 2, [0x00, 0x01]) + + + sm_idx = 0 + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + ) + + + + #+genTcEndFrameCode(gen_file_def)) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x800, 0x1, 768, + list(range(256)) + list(range(255, -1, -1)) + list(range(256))) + + + + gen_file_def_ap01 = gen_file_def + "_rw01" + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap01, 1) + +genWriteTransPktCode(gen_file_def_ap01, 1) + +genTrgTransPktCode(gen_file_def_ap01, 1) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap01) + + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x02, 0, 0x800, 0x1, 256, list(range(128)) + list(range(128))) + + + + gen_file_def_ap02 = gen_file_def + "_rw02" + sm_idx = 2 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap02, 2) + +genWriteTransPktCode(gen_file_def_ap02, 2) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap02) + + + + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x03, 0, 0x800, 0x1, 256, list(range(64)) + list(range(64)) + list(range(64)) + list(range(64))) + + + + gen_file_def_ap03 = gen_file_def + "_rw03" + sm_idx = 3 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap03, 3) + +genWriteTransPktCode(gen_file_def_ap03, 3) + +genReadAckPktCode(gen_file_def_ap01, 1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genTrgTransPktCode(gen_file_def_ap02, 2) + +genReadAckPktCode(gen_file_def_ap02, 2) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genTrgTransPktCode(gen_file_def_ap03, 3) + +genReadAckPktCode(gen_file_def_ap03, 3) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + + +genIFRwDataCode(1, 0x800, False, 768) + +genIFRwDataCode(2, 0x800, False, 256) + +genIFRwDataCode(3, 0x800, False, 256) + + +genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap03) + + + return gen_file_def diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index eddc305..b55f46b 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -161,6 +161,9 @@ def bringup(): +genIFRwDataCode(3, 0x400, False, 8) +genIFRwDataCode(4, 0x400, False, 8) + #+genIFRwDataCode(1, 0x0044, True, 4, [0x12, 0x34, 0x56, 0x78]) + #+genIFRwDataCode(1, 0x0044, False, 4) + +genTcEndFrameCode(gen_file_def) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 14fa72d..eecfce9 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1316,7 +1316,7 @@ def tc7(): genPkt.setPktType(0) sm_idx = 3 - genPkt.addBeforeExc("\n#5000\n" + genPkt.addBeforeExc( "\n#5000\n" +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) +genIFRwDataCode(0, 0x74, False, 4) From 4979a10a72a29cc995fbddab473a17b8bae3ceab Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 28 Aug 2025 10:16:55 +0800 Subject: [PATCH 06/86] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 2 +- tb/shinTest/testcase/sync.py | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 040e9c5..b1e8564 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -12,7 +12,7 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc3()) #add_tc_2_runlist(errorPkt.tc4()) add_tc_2_runlist(errorPkt.tc5()) - #add_tc_2_runlist(errorPkt.tc6()) + add_tc_2_runlist(errorPkt.tc6()) #add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index eecfce9..798c8a2 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1325,7 +1325,25 @@ def tc7(): +genEnableInsertTimeCode(0xa) + '''spi_trans( (16'h0100), (`SPI_READ), (8), (`IF_IDX(0)));\n''' + '''_temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) + (rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56);\n''' - + '''_temp_time = _temp_time + 32'h3000;\n\n''') + + '''_temp_time = _temp_time + 32'h3000;\n\n''' + + '''txBuf[3] = 0xf;\n''' + + '''txBuf[4] = 0x0;\n''' + + '''txBuf[5] = 0xa;\n''' + + '''txBuf[6] = 0x0;\n''' + + '''txBuf[7] = 0xa;\n''' + + '''txBuf[8] = 0x0;\n''' + + '''txBuf[9] = 0xa;\n''' + + '''txBuf[10] = 0x0;\n''' + + '''txBuf[19] = (_temp_time & 8'hff);\n''' + + '''txBuf[20] = ((_temp_time >> 8) & 8'hff);\n''' + + '''txBuf[21] = ((_temp_time >> 16) & 8'hff);\n''' + + '''txBuf[22] = ((_temp_time >> 24) & 8'hff);\n''' + + '''txBuf[27] = 0x80;\n''' + + '''txBuf[28] = 0x00;\n''' + + '''txBuf[21] = 0x00''' + + '''txBuf[22] = ((_temp_time >> 24) & 8'hff);''' + + ) genPkt.addSubPkt(0x0, 0, 0x0, 0xc, 12, b'\0'*12) From f5336f1dc511074cf9caa136909724de260fc892 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 28 Aug 2025 10:28:59 +0800 Subject: [PATCH 07/86] =?UTF-8?q?=E7=A1=AC=E4=BB=B6=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=B8=AD=E6=96=AD=E6=8D=95=E6=8D=89=E8=BE=B9=E7=BC=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 0270c66..812397f 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -1165,12 +1165,17 @@ trait InterfaceSystem{ this: InterfaceBase => intStatus(19) := true.B } + + val intHWErr = Seq( + ( ~RegNext(io.intHWTrig(0), false.B) & io.intHWTrig(0)), + ( ~RegNext(io.intHWTrig(1), false.B) & io.intHWTrig(1)) + ) //下行接收硬件错误 - when( io.intHWTrig(0) ){ + when( intHWErr(0) ){ intStatus(29) := true.B } //上行接收硬件错误 - when( io.intHWTrig(1) ){ + when( intHWErr(1) ){ intStatus(30) := true.B } @@ -1206,8 +1211,8 @@ trait InterfaceSystem{ this: InterfaceBase => (0 until 8).map{ i => io.intSlvTrig(i) & cReg.intEnable(8+i)}.reduce(_|_) | //从站SM请求 (0 until 4).map{ i => io.intTransEnd(i) & cReg.intEnable(16+i)}.reduce(_|_) | //传输完成请求 16,17,18,19 isMstRecCRCErr | //override //主站状态下19为上行crc接收错误 //不会同时发生 - io.intHWTrig(0) | //下行接收硬件错误 - io.intHWTrig(1) //上行接收硬件错误 + intHWErr(0) | //下行接收硬件错误 + intHWErr(1) //上行接收硬件错误 when( intPulseResetCnt === intPulseWidth ){ intPulse := false.B From 6d6e07346bfed01d51fd86d26ca2edfa9f95171f Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 28 Aug 2025 10:49:58 +0800 Subject: [PATCH 08/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=BB=E7=AB=99?= =?UTF-8?q?=E7=9A=84=E5=90=8C=E6=AD=A5=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 8 +++---- tb/shinTest/testcase/sync.py | 42 +++++++++++++++++++++++++----------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index b1e8564..ba30940 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -7,12 +7,12 @@ if __name__ == '__main__': environment.gen_slv_dev_num(4) environment.bringup() - add_tc_2_runlist(errorPkt.tc1()) + #add_tc_2_runlist(errorPkt.tc1()) #add_tc_2_runlist(errorPkt.tc2()) #add_tc_2_runlist(errorPkt.tc3()) #add_tc_2_runlist(errorPkt.tc4()) - add_tc_2_runlist(errorPkt.tc5()) - add_tc_2_runlist(errorPkt.tc6()) + #add_tc_2_runlist(errorPkt.tc5()) + #add_tc_2_runlist(errorPkt.tc6()) #add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) @@ -53,7 +53,7 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc6()) - #add_tc_2_runlist(sync.tc7()) + add_tc_2_runlist(sync.tc7()) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 798c8a2..69ed2a9 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1326,23 +1326,36 @@ def tc7(): + '''spi_trans( (16'h0100), (`SPI_READ), (8), (`IF_IDX(0)));\n''' + '''_temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) + (rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56);\n''' + '''_temp_time = _temp_time + 32'h3000;\n\n''' - + '''txBuf[3] = 0xf;\n''' - + '''txBuf[4] = 0x0;\n''' - + '''txBuf[5] = 0xa;\n''' - + '''txBuf[6] = 0x0;\n''' - + '''txBuf[7] = 0xa;\n''' - + '''txBuf[8] = 0x0;\n''' - + '''txBuf[9] = 0xa;\n''' - + '''txBuf[10] = 0x0;\n''' + + '''txBuf[3] = 8'h0f;\n''' + + '''txBuf[4] = 8'h00;\n''' + + '''txBuf[5] = 8'h0a;\n''' + + '''txBuf[6] = 8'h00;\n''' + + '''txBuf[7] = 8'h0a;\n''' + + '''txBuf[8] = 8'h00;\n''' + + '''txBuf[9] = 8'h0a;\n''' + + '''txBuf[10] = 8'h00;\n''' + '''txBuf[19] = (_temp_time & 8'hff);\n''' + '''txBuf[20] = ((_temp_time >> 8) & 8'hff);\n''' + '''txBuf[21] = ((_temp_time >> 16) & 8'hff);\n''' + '''txBuf[22] = ((_temp_time >> 24) & 8'hff);\n''' - + '''txBuf[27] = 0x80;\n''' - + '''txBuf[28] = 0x00;\n''' - + '''txBuf[21] = 0x00''' - + '''txBuf[22] = ((_temp_time >> 24) & 8'hff);''' - + + '''txBuf[23] = 0;\n''' + + '''txBuf[24] = 0;\n''' + + '''txBuf[25] = 0;\n''' + + '''txBuf[26] = 0;\n''' + + '''txBuf[27] = 8'h80;\n''' + + '''txBuf[28] = 8'h00;\n''' + + '''txBuf[29] = 8'h00;\n''' + + '''txBuf[30] = 8'h00;\n''' + + '''txBuf[31] = 8'h00;\n''' + + '''txBuf[32] = 8'h00;\n''' + + '''txBuf[33] = 8'h00;\n''' + + '''txBuf[34] = 8'h00;\n''' + + '''txBuf[35] = 8'h00;\n''' + + '''txBuf[36] = 8'h00;\n''' + + '''txBuf[37] = 8'h00;\n''' + + '''txBuf[38] = 8'h00;\n''' + + '''txBuf[39] = 8'h00;\n''' + + '''spi_trans( (16'h0120), (`SPI_WRITE), (40), (`IF_IDX(0)));\n''' ) genPkt.addSubPkt(0x0, 0, 0x0, 0xc, 12, b'\0'*12) @@ -1350,8 +1363,11 @@ def tc7(): #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 100 #bytearray(b"\0" * 100) data[0] = 0x0f #地址0x120 + data[1] = 0x0 data[2] = 0xa + data[3] = 0x0 data[4] = 0xa + data[5] = 0x0 data[6] = 0xa data[8] = 0xa From d4c793bf0b00af42ea8d3e22d839edab577d5768 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 28 Aug 2025 11:07:57 +0800 Subject: [PATCH 09/86] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=AE=BD=E5=BA=A6=E4=B8=8D=E8=83=BDspi=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 812397f..5118aca 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -793,10 +793,10 @@ trait InterfaceSync{ this: InterfaceBase => } for( i <- 0 until 4 ){ - when( io.lvds.addrw === ("h122".U(16.W) + (2*i).U)){ - syncWidth(i) := Cat( syncWidth(i)(15,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === ("h123".U(16.W) + (2*i).U) ){ - syncWidth(i) := Cat( io.lvds.dataw, syncWidth(i)(7,0) ) + when( addrw === ("h122".U(16.W) + (2*i).U)){ + syncWidth(i) := Cat( syncWidth(i)(15,8), dataw ) + } .elsewhen( addrw === ("h123".U(16.W) + (2*i).U) ){ + syncWidth(i) := Cat( dataw, syncWidth(i)(7,0) ) } } From 659ab14fabd2e4678b0018e222f54744e3f89bc5 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 28 Aug 2025 15:53:17 +0800 Subject: [PATCH 10/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E7=82=B9=E8=B0=83=E6=95=B4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 5118aca..4a2751b 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -973,7 +973,7 @@ trait InterfaceSync{ this: InterfaceBase => val syncResetCnt = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } //空开第0位 - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint >= cReg.recoTimeStamp ){ //时间到达sync0时间点 syncSign(0) := true.B syncPoint := syncPoint + cReg.syncPeroid } .elsewhen( ~cReg.syncCfg(4+0) & syncResetCnt(0) === cReg.syncWidth(0) ){ @@ -984,7 +984,7 @@ trait InterfaceSync{ this: InterfaceBase => for( i <- 1 until 4 ) { - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint >= cReg.recoTimeStamp ){ //时间到达sync0时间点 syncOffsetCnt(i) := 0.U } .elsewhen( syncOffsetCnt(i) < cReg.syncOffset(i) ){ syncOffsetCnt(i) := syncOffsetCnt(i) + 1.U From 55ea876488755b290ed9de7cf3d652e09b9bdd6a Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 28 Aug 2025 16:10:57 +0800 Subject: [PATCH 11/86] =?UTF-8?q?=E5=90=8C=E4=B8=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 4a2751b..566079b 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -973,18 +973,23 @@ trait InterfaceSync{ this: InterfaceBase => val syncResetCnt = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } //空开第0位 - when( cReg.syncPoint >= cReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 syncSign(0) := true.B - syncPoint := syncPoint + cReg.syncPeroid + } .elsewhen( ~cReg.syncCfg(4+0) & syncResetCnt(0) === cReg.syncWidth(0) ){ syncSign(0) := false.B } .elsewhen( cReg.syncCfg(4+0) & isEnW & addrw === "h122".U ){ syncSign(0) := false.B } + when( cReg.syncPoint <= cReg.recoTimeStamp ){ + syncPoint := syncPoint + cReg.syncPeroid + } + + for( i <- 1 until 4 ) { - when( cReg.syncPoint >= cReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 syncOffsetCnt(i) := 0.U } .elsewhen( syncOffsetCnt(i) < cReg.syncOffset(i) ){ syncOffsetCnt(i) := syncOffsetCnt(i) + 1.U From bbfc0322e9fa5517e3d5271714e79692f6141a97 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 28 Aug 2025 20:03:42 +0800 Subject: [PATCH 12/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0CDR=E4=BB=BF=E7=9C=9F?= =?UTF-8?q?=E4=BE=8B=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 12 ++++++ src/test/scala/SimCDR.scala | 77 +++++++++++++++++++++++++++++++++++ src/test/scala/gcd/test.scala | 5 +++ 3 files changed, 94 insertions(+) create mode 100644 src/test/scala/SimCDR.scala diff --git a/Makefile b/Makefile index 8b0779e..ffd15f6 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,18 @@ testShin: vvp -N ./tb/build/shinTest.iverilog -lxt2 || true ./tb/shinTest/check_testcase.py +testCDR: + iverilog -Wall \ + -o ./tb/build/simCDR.iverilog \ + -y ./generated/shin \ + -y ./generated/SimCDR \ + -I ./generated/SimCDR \ + -I ./generated/shin \ + -D RANDOMIZE_REG_INIT \ + ./tb/shinTest/SimCDRTb.v + vvp -N ./tb/build/simCDR.iverilog -lxt2 + + testFilter: ./tb/shinTest/test_filter.py diff --git a/src/test/scala/SimCDR.scala b/src/test/scala/SimCDR.scala new file mode 100644 index 0000000..a9d10ef --- /dev/null +++ b/src/test/scala/SimCDR.scala @@ -0,0 +1,77 @@ +package BACK + +import chisel3._ +import chisel3.util._ + + + +class SimCDR extends Module with RequireAsyncReset{ + val io = IO(new Bundle{ + val data = Input( UInt(8.W) ) + + val multiCLK = Input(Vec(16, Bool())) + + val flush = Input(Bool()) + + val isSuccess = Output(Bool()) + val isFailed = Output(Bool()) + }) + + + + + val cdrIn = Module(new MPCDRIn) + val cdrOut = Module(new CDROut) + val record = Module( new Queue(UInt(8.W), 256) ) + + val dataCnt = RegInit(0.U(12.W)) + val payloadLen = RegInit(("hFFF".U)(12.W)) + + + when( cdrOut.io.axis.fire & dataCnt === 0.U ){ + payloadLen := Cat( io.data, 0.U(4.W) ) + } .elsewhen( cdrOut.io.axis.fire & dataCnt === 1.U ){ + payloadLen := Cat( payloadLen(11,4), io.data(7,4) ) + 4.U + 4.U + } + + when( cdrOut.io.axis.fire ){ + when( dataCnt >= payloadLen - 1.U ){ + dataCnt := 0.U + } .otherwise{ + dataCnt := dataCnt + 1.U + } + } + + + cdrOut.io.flush := io.flush + + cdrIn.clock := io.multiCLK(0).asClock + cdrIn.io.flush := io.flush + cdrIn.multiCLK := io.multiCLK + + cdrIn.io.serDat := cdrOut.io.serDat + + assert( ~(record.io.enq.valid & ~record.io.enq.ready), "Assert Failed, Warning, fifo overflow!\n" ) + assert( ~(~record.io.deq.valid & record.io.deq.ready), "Assert Failed, Warning, fifo underflow!\n" ) + + val isTxEnd = cdrOut.io.axis.fire & cdrOut.io.axis.bits.tlast + + cdrOut.io.axis.valid := ~io.flush & ShiftRegisters( ~isTxEnd, 16 ).reduce(_&_) + cdrOut.io.axis.bits.tdata := io.data + cdrOut.io.axis.bits.tuser := false.B + cdrOut.io.axis.bits.tlast := dataCnt === (payloadLen - 1.U) + + + + record.io.enq.valid := cdrOut.io.axis.fire + record.io.enq.bits := io.data + + record.io.deq.ready := cdrIn.io.axis.fire + cdrIn.io.axis.ready := true.B + + io.isFailed := cdrIn.io.axis.fire & (record.io.deq.bits =/= cdrIn.io.axis.bits.tdata) + io.isSuccess := cdrIn.io.axis.fire & cdrIn.io.axis.bits.tlast + +} + + diff --git a/src/test/scala/gcd/test.scala b/src/test/scala/gcd/test.scala index e04999d..3705673 100644 --- a/src/test/scala/gcd/test.scala +++ b/src/test/scala/gcd/test.scala @@ -103,6 +103,11 @@ object testShinModule extends App { ChiselGeneratorAnnotation(() => { new ShinTop }), )) + (new chisel3.stage.ChiselStage).execute( Array("--target-dir", "generated/SimCDR/", "-e", "verilog" ) ++ args, Seq( + ChiselGeneratorAnnotation(() => { new SimCDR }), + )) + + } From 1a01fa9d72f9974fc4334db4f9d94f90bc0eb2fa Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Thu, 28 Aug 2025 20:06:14 +0800 Subject: [PATCH 13/86] =?UTF-8?q?CDR=E4=BB=BF=E7=9C=9F=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/SimCDRTb.v | 96 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 tb/shinTest/SimCDRTb.v diff --git a/tb/shinTest/SimCDRTb.v b/tb/shinTest/SimCDRTb.v new file mode 100644 index 0000000..f86dcbd --- /dev/null +++ b/tb/shinTest/SimCDRTb.v @@ -0,0 +1,96 @@ +`timescale 1 ns / 1 ps + + +module SimCDRTb( + +); + + reg clock = 0; + reg reset = 0; + + reg [15:0] multiCLK; + + initial begin + clock = 0; + reset = 1; + + #100 + reset <= 1; + + #240 + reset <= 0; + end + + + initial begin + forever begin #80 clock <= ~clock; end + end + + generate + for( genvar i = 0; i < 16; i = i + 1 ) begin + initial begin + multiCLK[i] = 0; + for( integer j = 0; j < i; j = j + 1 ) begin + #20 + ; + end + forever begin #80 multiCLK[i] <= ~multiCLK[i]; end + end + end + endgenerate + + reg [7:0] data; + wire success; + wire failed; + + always @(posedge clock) begin + data <= $random; + end + + + SimCDR s_SimCDR( + .clock(clock), + .reset(reset), + .io_data(data), + .io_multiCLK_0(multiCLK[0]), + .io_multiCLK_1(multiCLK[1]), + .io_multiCLK_2(multiCLK[2]), + .io_multiCLK_3(multiCLK[3]), + .io_multiCLK_4(multiCLK[4]), + .io_multiCLK_5(multiCLK[5]), + .io_multiCLK_6(multiCLK[6]), + .io_multiCLK_7(multiCLK[7]), + .io_multiCLK_8(multiCLK[8]), + .io_multiCLK_9(multiCLK[9]), + .io_multiCLK_10(multiCLK[10]), + .io_multiCLK_11(multiCLK[11]), + .io_multiCLK_12(multiCLK[12]), + .io_multiCLK_13(multiCLK[13]), + .io_multiCLK_14(multiCLK[14]), + .io_multiCLK_15(multiCLK[15]), + + .io_flush(1'b0), + .io_isSuccess(success), + .io_isFailed(failed) + ); + + + initial + begin + $dumpfile("./tb/build/wave_cdr.vcd"); //生成的vcd文件名称 + $dumpvars(0, SimCDRTb);//tb模块名称 + end + + always @(posedge clock) begin + if (success) begin + $display("Success onces! \n"); + end + if (failed) begin + $display("Error! \n"); + $stop; + end + end + + + +endmodule From 60eec33b2dd56e14bf900dbf1adaaf5914bf30fa Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Fri, 29 Aug 2025 15:37:29 +0800 Subject: [PATCH 14/86] =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E8=A1=8C=E4=BA=A4?= =?UTF-8?q?=E6=8D=A2=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 4 +- .../scala/backBoard/shin/MstSlvSwitch.scala | 93 +++++++++++++------ 2 files changed, 67 insertions(+), 30 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 2d425b8..e6c7a88 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -309,8 +309,8 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ }) ++ Seq( - (addr === "h4a".U ) -> cReg.dwupEx.extrace(0), - (addr === "h4c".U ) -> cReg.b8b4Sel.extrace(0), + (addr === "h4a".U ) -> cReg.dwupEx.extract(0), + (addr === "h4c".U ) -> cReg.b8b4Sel.extract(0), (addr === "h4e".U ) -> cReg.cdrParam(7,0), (addr === "h50".U ) -> cReg.anamuxSel, diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index a3286b0..8ade497 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -472,41 +472,78 @@ class MstSlvSwitch extends MstSlvSwitchBase with MstSlvSwitchMaster with MstSlvSwitchSlave with MstSlvSwitchWatchDog{ - val isDwUpEx = interface.cReg.dwupEx + val isDwUpEx = interface.io.cReg.dwupEx(15,8) === "h58".U && interface.io.cReg.dwupEx.extract(0) - when( interface.io.cReg.modeSel === false.B ){ //slave - when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 + when( ~isDwUpEx ){ //未交叉 + when( interface.io.cReg.modeSel === false.B ){ //slave + when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := false.B + when( slaveParser.io.isLoop ){ //回环 + io.dDatOut := false.B + io.uDatOut := io.dDatIn + } .otherwise{ //非回环 + io.dDatOut := io.dDatIn + io.uDatOut := io.uDatIn + } + } .otherwise{ //无硬件错误 + when( slaveParser.io.isLoop ){ //回环 + io.downCDRIn.serDat := io.dDatIn + io.upCDRIn.serDat := io.downCDROut.serDat + io.dDatOut := false.B + io.uDatOut := io.upCDROut.serDat + } .otherwise{ //非回环 + io.downCDRIn.serDat := io.dDatIn + io.upCDRIn.serDat := io.uDatIn + io.dDatOut := io.downCDROut.serDat + io.uDatOut := io.upCDROut.serDat + } + } + } .otherwise{ //master io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := false.B - when( slaveParser.io.isLoop ){ //回环 - io.dDatOut := false.B - io.uDatOut := io.dDatIn - } .otherwise{ //非回环 - io.dDatOut := io.dDatIn - io.uDatOut := io.uDatIn - } - } .otherwise{ //无硬件错误 - when( slaveParser.io.isLoop ){ //回环 - io.downCDRIn.serDat := io.dDatIn - io.upCDRIn.serDat := io.downCDROut.serDat - io.dDatOut := false.B - io.uDatOut := io.upCDROut.serDat - } .otherwise{ //非回环 - io.downCDRIn.serDat := io.dDatIn - io.upCDRIn.serDat := io.uDatIn - io.dDatOut := io.downCDROut.serDat - io.uDatOut := io.upCDROut.serDat - } + io.upCDRIn.serDat := io.uDatIn + io.dDatOut := io.downCDROut.serDat + io.uDatOut := false.B + } + } .otherwise{ //交叉 + when( interface.io.cReg.modeSel === false.B ){ //slave + when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 + + when( slaveParser.io.isLoop ){ //回环 + io.dDatOut := io.uDatIn + io.uDatOut := false.B + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := false.B + } .otherwise{ //非回环 + io.dDatOut := io.dDatIn + io.uDatOut := io.uDatIn + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := false.B + } + } .otherwise{ //无硬件错误 + when( slaveParser.io.isLoop ){ //回环 + io.downCDRIn.serDat := io.uDatIn + io.upCDRIn.serDat := io.downCDROut.serDat + io.uDatOut := false.B + io.dDatOut := io.upCDROut.serDat + } .otherwise{ //非回环 + io.downCDRIn.serDat := io.uDatIn + io.upCDRIn.serDat := io.dDatIn + io.dDatOut := io.upCDROut.serDat + io.uDatOut := io.downCDROut.serDat + } + } + } .otherwise{ //master + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := io.dDatIn + io.uDatOut := io.downCDROut.serDat + io.dDatOut := false.B } - } .otherwise{ //master - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := io.uDatIn - io.dDatOut := io.downCDROut.serDat - io.uDatOut := false.B } + } From e9d412561e8eae595521ba0d1acd7f37713d41e5 Mon Sep 17 00:00:00 2001 From: bacon Date: Fri, 29 Aug 2025 16:45:11 +0800 Subject: [PATCH 15/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A2=91=E7=8E=87?= =?UTF-8?q?=E5=B7=AE160ppm=E7=9A=84=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 84 +++++++++++++++++------------ tb/shinTest/gen_pkt.py | 12 ++--- tb/shinTest/testcase/environment.py | 51 +++++++++++------- 3 files changed, 89 insertions(+), 58 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 5eebe58..2dbe7e1 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -36,10 +36,12 @@ module ShinTopSpiTb( reg clock; reg reset; - reg clk8x; reg [15:0] multiCLK; + reg clock2; + reg [15:0] multiCLK2; + `include "dev_predef.vh" @@ -370,7 +372,7 @@ ShinTop s_ShinTop_slv3( initial begin clock = 0; - clk8x = 0; + clock2 = 0; reset = 1; latch0 = 0; @@ -382,14 +384,16 @@ initial begin spi_csn = {`SPI_CSN_NUM{1'b1}}; //~15'b0; - #100 + #125000 reset <= 1; - #240 + #300000 reset <= 0; //#20000000 - #1000000000 + #100000000000 + #100000000000 + #100000000000 //#5000000 $display("Time Out !!!"); @@ -398,11 +402,7 @@ initial begin end initial begin - forever begin #20 clk8x <= ~clk8x; end -end - -initial begin - forever begin #80 clock <= ~clock; end + forever begin #100000 clock <= ~clock; end end @@ -411,10 +411,28 @@ generate initial begin multiCLK[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #20 + #25000 ; end - forever begin #80 multiCLK[i] <= ~multiCLK[i]; end + forever begin #100000 multiCLK[i] <= ~multiCLK[i]; end + end + end +endgenerate + + +initial begin + forever begin #100016 clock2 <= ~clock2; end +end + +generate + for( genvar i = 0; i < 16; i = i + 1 ) begin + initial begin + multiCLK2[i] = 0; + for( integer j = 0; j < i; j = j + 1 ) begin + #25004 + ; + end + forever begin #100016 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate @@ -437,7 +455,7 @@ always @(negedge reset) begin _reset_deactive <= 1'b1; end - `define SCKFRE #640 + `define SCKFRE #800000 reg sck = 0; @@ -512,13 +530,13 @@ end always @(posedge clock) begin if( isReq & sck == 0 ) begin - isBusy <= #5 1'b1; - transCnt <= #5 0; + isBusy <= #6250 1'b1; + transCnt <= #6250 0; - byteCnt <= #5 ~12'b0; - bitCnt <= #5 ~3'b0; + byteCnt <= #6250 ~12'b0; + bitCnt <= #6250 ~3'b0; - spi_csn[idx] <= #5 1'b0; + spi_csn[idx] <= #6250 1'b0; exChangeRego <= txBuf[0]; end end @@ -565,8 +583,8 @@ always @(posedge sck) begin exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; end end else begin - isBusy <= #5 1'b0; - spi_csn[idx] <= #5 1'b1; + isBusy <= #6250 1'b0; + spi_csn[idx] <= #6250 1'b1; end end end @@ -585,13 +603,13 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in length <= slength + 3; idx <= sidx; - #5 + #6250 @(negedge sck) isReq <= 1; - @(posedge sck) #5 + @(posedge sck) #6250 isReq <= 0; - @( negedge isBusy) #1000 + @( negedge isBusy) #1250000 begin //$fwrite(spidata_file, "------------%5t------------\n", $realtime); $fwrite(spidata_file, "T:%t \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n", @@ -869,13 +887,13 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #5 + #6250 @(negedge sck) isReq <= 1; - @(posedge sck) #5 + @(posedge sck) #6250 isReq <= 0; - @( negedge isBusy) #1000 + @( negedge isBusy) #1250000 begin end @@ -889,17 +907,17 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #5 + #6250 @(negedge sck) isReq <= 1; - @(posedge sck) #5 + @(posedge sck) #6250 isReq <= 0; - @( negedge isBusy) #1000 + @( negedge isBusy) #1250000 begin end - #2000 + #2500000 //$display("%x %x", rxBuf[3], rxBuf[6]); if ((rxBuf[3] & 8'h02) == 8'h02) begin @@ -910,7 +928,7 @@ task wait_comm_finished(); $display("error occur"); is_run = 0; end - if (($realtime - st) >= 5000000.0) + if (($realtime - st) >= 6250000000.0) begin $display("comm timeout."); is_run = 0; @@ -922,7 +940,7 @@ endtask initial begin - #1000 + #1250000 `ifdef ENABLE_REG_RW1_TEST /*--------------------------------------------------------------------------------------------------------- @@ -1075,7 +1093,7 @@ initial begin `include "tc_runlist.vh" - #1000000 + #1250000000 $display("Testcase Finished! Time Out !!!"); $fclose(spidata_file); $stop; diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index ffe78e6..403c01a 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -14,9 +14,9 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) - #add_tc_2_runlist(base.tc1()) - #add_tc_2_runlist(base.tc2()) - #add_tc_2_runlist(base.tc3()) + add_tc_2_runlist(base.tc1()) + add_tc_2_runlist(base.tc2()) + add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) #add_tc_2_runlist(base.tc5()) #add_tc_2_runlist(base.tc6()) @@ -46,9 +46,9 @@ if __name__ == '__main__': #add_tc_2_runlist(broadcast.tc3()) - add_tc_2_runlist(sync.tc1()) - add_tc_2_runlist(sync.tc2()) - add_tc_2_runlist(sync.tc3()) + #add_tc_2_runlist(sync.tc1()) + #add_tc_2_runlist(sync.tc2()) + #add_tc_2_runlist(sync.tc3()) #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc6()) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index eddc305..e6eea5a 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -168,33 +168,42 @@ def bringup(): add_tc_2_runlist(gen_file_def) -def __GenDevice(id, TerminateNode = False): +def __GenDevice(id, TerminateNode = False, diffclk = False): dout_code = "dDat_w[%d]"%(id + 1, ) din_code = "uDat_w[%d]"%(id + 1, ) if TerminateNode: dout_code = "" din_code = "1'b0" + + #clk = "clock" + clk = "multiCLK[0]" + multiclk = "multiCLK" + if diffclk: + #clk = "clock2" + clk = "multiCLK2[0]" + multiclk = "multiCLK2" + code_device = ("\tShinTop s_ShinTop_slv%d(\n"%(id, ) - +"\t.clock(clock),\n" + +"\t.clock(%s),\n"%(clk, ) +"\t.reset(reset | isSoftReset[%d]),\n\n"%(id + 1,) - +"\t.io_multiCLK_0(multiCLK[0]),\n" - +"\t.io_multiCLK_1(multiCLK[1]),\n" - +"\t.io_multiCLK_2(multiCLK[2]),\n" - +"\t.io_multiCLK_3(multiCLK[3]),\n" - +"\t.io_multiCLK_4(multiCLK[4]),\n" - +"\t.io_multiCLK_5(multiCLK[5]),\n" - +"\t.io_multiCLK_6(multiCLK[6]),\n" - +"\t.io_multiCLK_7(multiCLK[7]),\n" - +"\t.io_multiCLK_8(multiCLK[8]),\n" - +"\t.io_multiCLK_9(multiCLK[9]),\n" - +"\t.io_multiCLK_10(multiCLK[10]),\n" - +"\t.io_multiCLK_11(multiCLK[11]),\n" - +"\t.io_multiCLK_12(multiCLK[12]),\n" - +"\t.io_multiCLK_13(multiCLK[13]),\n" - +"\t.io_multiCLK_14(multiCLK[14]),\n" - +"\t.io_multiCLK_15(multiCLK[15]),\n\n" + +"\t.io_multiCLK_0(%s[0]),\n"%(multiclk, ) + +"\t.io_multiCLK_1(%s[1]),\n"%(multiclk, ) + +"\t.io_multiCLK_2(%s[2]),\n"%(multiclk, ) + +"\t.io_multiCLK_3(%s[3]),\n"%(multiclk, ) + +"\t.io_multiCLK_4(%s[4]),\n"%(multiclk, ) + +"\t.io_multiCLK_5(%s[5]),\n"%(multiclk, ) + +"\t.io_multiCLK_6(%s[6]),\n"%(multiclk, ) + +"\t.io_multiCLK_7(%s[7]),\n"%(multiclk, ) + +"\t.io_multiCLK_8(%s[8]),\n"%(multiclk, ) + +"\t.io_multiCLK_9(%s[9]),\n"%(multiclk, ) + +"\t.io_multiCLK_10(%s[10]),\n"%(multiclk, ) + +"\t.io_multiCLK_11(%s[11]),\n"%(multiclk, ) + +"\t.io_multiCLK_12(%s[12]),\n"%(multiclk, ) + +"\t.io_multiCLK_13(%s[13]),\n"%(multiclk, ) + +"\t.io_multiCLK_14(%s[14]),\n"%(multiclk, ) + +"\t.io_multiCLK_15(%s[15]),\n\n"%(multiclk, ) +"\t.io_dDatIn(dDat_w[%d]),\n"%(id, ) +"\t.io_dDatOut(%s),\n"%(dout_code, ) @@ -292,7 +301,11 @@ def gen_slv_dev_num(num): code = "" for id in range(num - 1): - code = code + __GenDevice(id) + if id == 1: + code = code + __GenDevice(id, diffclk = True) + else: + code = code + __GenDevice(id) + code = code + __GenDevice(num - 1, True) genPkt.addAfterExc(code) From 17a6f5a3f8c9e5101fd5c2c7baf5502592c98885 Mon Sep 17 00:00:00 2001 From: bacon Date: Fri, 29 Aug 2025 17:20:40 +0800 Subject: [PATCH 16/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 6 ++-- tb/shinTest/gen_pkt.py | 1 + tb/shinTest/testcase/base.py | 67 ++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 3 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 2dbe7e1..783a0c7 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -421,7 +421,7 @@ endgenerate initial begin - forever begin #100016 clock2 <= ~clock2; end + forever begin #100004 clock2 <= ~clock2; end end generate @@ -429,10 +429,10 @@ generate initial begin multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #25004 + #25001 ; end - forever begin #100016 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #100004 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 403c01a..982640f 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -40,6 +40,7 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc24()) #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) + add_tc_2_runlist(base.tc27()) #add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc2()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index e766e24..494ac15 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1815,3 +1815,70 @@ def tc26(): return gen_file_def +def tc27(): + genPkt = GenPkt() + + + gen_file_def = "base_tc27" + sm_idx = 0 + tc_des = "读,单次通讯2048个字节。" + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm2,广播读 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + #genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + #genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + #genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + + sm_idx = 2 + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genTcEndFrameCode(gen_file_def)) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + return gen_file_def \ No newline at end of file From 0bcb947a2da59f0d132e4e1581b14e26e018d76b Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 30 Aug 2025 13:04:17 +0800 Subject: [PATCH 17/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BA=BF=E8=B7=AF?= =?UTF-8?q?=E4=BA=A4=E5=8F=89=E7=9A=84=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 6 +- tb/shinTest/gen_pkt.py | 5 +- tb/shinTest/pyutils/GenPkt.py | 32 ++-- tb/shinTest/testcase/base.py | 343 ++++++++++++++++++++++++++++++++++ 4 files changed, 365 insertions(+), 21 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 5eebe58..b565ea3 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -850,7 +850,7 @@ task f_write(input [31:0] logh, input [15:0] saddress, input [7:0] scmd, input [ end endtask -task wait_comm_finished(); +task wait_comm_finished(input [16:0] dev_idx); begin:WAIT_COMM_FINISHED_CODE real st; integer is_run; @@ -867,7 +867,7 @@ task wait_comm_finished(); txBuf[6] = 8'h00; length = 8'h07; - idx = `IF_IQSPI(0); + idx = `IF_IQSPI(dev_idx); #5 @(negedge sck) @@ -887,7 +887,7 @@ task wait_comm_finished(); txBuf[2] = `SPI_READ; length = 8'h07; - idx = `IF_IQSPI(0); + idx = `IF_IQSPI(dev_idx); #5 @(negedge sck) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index ba30940..9675908 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -14,7 +14,7 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) - #add_tc_2_runlist(base.tc1()) + add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) #add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) @@ -41,6 +41,7 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) #add_tc_2_runlist(base.tc27()) + add_tc_2_runlist(base.tc28()) #add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc2()) @@ -53,7 +54,7 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc6()) - add_tc_2_runlist(sync.tc7()) + #add_tc_2_runlist(sync.tc7()) diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index 067fe38..18108a8 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -221,31 +221,31 @@ class GenPkt(object): -def genWriteTransLenCode(gen_name, sm_idx, wlog=True): +def genWriteTransLenCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//写入发送长度\n'''\ + '''$fdisplay(spidata_file, "--写数据交换长度");\n'''\ + '''`DEF_%s_sm(txBuf);\n'''%(gen_name, )\ - + '''%s( (`MST_TX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx,)\ - + '''%s( (`MST_RX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx,) + + '''%s( (`MST_TX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, dev_idx)\ + + '''%s( (`MST_RX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, dev_idx) -def genWriteTransPktCode(gen_name, sm_idx, wlog=True): +def genWriteTransPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return f'''\n$fdisplay(spidata_file, "<<准备发包,使用SM{sm_idx}:");\n'''\ + '''`DEF_%s(txBuf);\n'''%(gen_name, )\ - + '''%s( (`MST_TX%d_ADDR), (`SPI_WRITE), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, ) + + '''%s( (`MST_TX%d_ADDR), (`SPI_WRITE), (`DEF_%s_len), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, dev_idx) -def genTrgTransPktCode(gen_name, sm_idx, wlog=True): +def genTrgTransPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//请求发送\n'''\ + '''$fdisplay(spidata_file, "--请求发送");\n'''\ + '''txBuf[0+3] = `MST_TX_TRIGGER(%d);\n'''%(sm_idx, )\ - + '''%s( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genReadAckPktCode(gen_name, sm_idx, wlog=True): +def genReadAckPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//等待回包\n'''\ - + '''wait_comm_finished();\n'''\ + + '''wait_comm_finished(%d);\n'''%(dev_idx, )\ + f'''$fdisplay(spidata_file, ">>读取回包,使用SM{sm_idx}:");\n'''\ - + '''%s( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name,) + + '''%s( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, dev_idx) -def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True): +def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True, dev_idx=0): data = pos & 0x3fff if enableTime: data = data | 0x8000 @@ -255,19 +255,19 @@ def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True): + '''$fdisplay(spidata_file, "--增加时间戳插入");\n'''\ + '''txBuf[0+3] = 8'h%x;\n'''%(data & 0xff, )\ + '''txBuf[1+3] = 8'h%x;\n'''%((data >> 8) & 0xff, )\ - + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans",) + + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genDisableInsertTimeCode(wlog=True): +def genDisableInsertTimeCode(wlog=True, dev_idx=0): return '''\n//清除替换时间戳替换地址\n'''\ + '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\ + '''txBuf[0+3] = 8'h00;\n'''\ + '''txBuf[1+3] = 8'h00;\n'''\ - + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(%d)) ); //清除替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genCheckInsertTimeCode(wlog=True): +def genCheckInsertTimeCode(wlog=True, dev_idx=0): return '''\n//检查替换时间戳替换地址\n'''\ + '''$fdisplay(spidata_file, "--检查时间戳插入");\n'''\ - + '''%s( (16'h24), (`SPI_READ), (2), (`IF_IDX(0)) ); //检查替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h24), (`SPI_READ), (2), (`IF_IDX(%d)) ); //检查替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) def genIFRwDataCode(dev, addr, isWrite = False, data_len=0, data = None, wlog=True, iface=5): diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 1c403b1..3506b9b 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1962,4 +1962,347 @@ def tc27(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap03) + return gen_file_def + +def tc28(): + genPkt = GenPkt() + + + gen_file_def = "base_tc28" + sm_idx = 0 + tc_des = ("测试IO交换特性,为环网通信做准备。\\n" + ) + + genPkt.clean() + genPkt.setPktType(0) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +"#5000" + +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) + +genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取中断使能") + +genIFRwDataCode(0, 0x70, False, 4) + +genIFRwDataCode(4, 0x70, False, 4) + + +genMessageCode("--配置主从站") + +genIFRwDataCode(0, 0x00, True, 1, [0x02, ]) + +genIFRwDataCode(4, 0x00, True, 1, [0x01, ]) + ) + + genPkt.addAfterExc(genIFRwDataCode(0, 0x4a, False, 2) + +genIFRwDataCode(1, 0x4a, False, 2) + +genIFRwDataCode(2, 0x4a, False, 2) + +genIFRwDataCode(3, 0x4a, False, 2) + +genIFRwDataCode(4, 0x4a, False, 2) + + +genIFRwDataCode(0, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(1, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(2, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(3, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(4, 0x4a, True, 2, [1, 0x58]) + + +genIFRwDataCode(0, 0, False, 1) + +genIFRwDataCode(1, 0, False, 1) + +genIFRwDataCode(2, 0, False, 1) + +genIFRwDataCode(3, 0, False, 1) + +genIFRwDataCode(4, 0, False, 1) + #genWriteTransLenCode(gen_file_def, sm_idx) + #+genWriteTransPktCode(gen_file_def, sm_idx) + #+genTrgTransPktCode(gen_file_def, sm_idx) + #+genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw01" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(0) + + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + gen_file_def_ap = gen_file_def + "_rw02" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw03" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + + genPkt.addSubPkt(0x1, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x2, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x3, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x4, 0, 0x180, 0, 32, [0, ]*32) + + gen_file_def_ap = gen_file_def + "_rw04" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + + +genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +"#5000" + +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) + +genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取中断使能") + +genIFRwDataCode(0, 0x70, False, 4) + +genIFRwDataCode(4, 0x70, False, 4) + + +genMessageCode("--配置主从站") + +genIFRwDataCode(0, 0x00, True, 1, [0x01, ]) + +genIFRwDataCode(4, 0x00, True, 1, [0x02, ]) + + +genIFRwDataCode(0, 0x4a, False, 2) + +genIFRwDataCode(1, 0x4a, False, 2) + +genIFRwDataCode(2, 0x4a, False, 2) + +genIFRwDataCode(3, 0x4a, False, 2) + +genIFRwDataCode(4, 0x4a, False, 2) + + +genIFRwDataCode(0, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(1, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(2, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(3, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(4, 0x4a, True, 2, [0, 0x58]) + + +genIFRwDataCode(0, 0, False, 1) + +genIFRwDataCode(1, 0, False, 1) + +genIFRwDataCode(2, 0, False, 1) + +genIFRwDataCode(3, 0, False, 1) + +genIFRwDataCode(4, 0, False, 1) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw05" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(0) + + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + gen_file_def_ap = gen_file_def + "_rw06" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + return gen_file_def From 25577a4d50ab08da2d94b7cf00d5ad45536a147c Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 30 Aug 2025 14:32:05 +0800 Subject: [PATCH 18/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 6 +- tb/shinTest/gen_pkt.py | 5 +- tb/shinTest/pyutils/GenPkt.py | 32 ++-- tb/shinTest/testcase/base.py | 343 ++++++++++++++++++++++++++++++++++ 4 files changed, 365 insertions(+), 21 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 5eebe58..b565ea3 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -850,7 +850,7 @@ task f_write(input [31:0] logh, input [15:0] saddress, input [7:0] scmd, input [ end endtask -task wait_comm_finished(); +task wait_comm_finished(input [16:0] dev_idx); begin:WAIT_COMM_FINISHED_CODE real st; integer is_run; @@ -867,7 +867,7 @@ task wait_comm_finished(); txBuf[6] = 8'h00; length = 8'h07; - idx = `IF_IQSPI(0); + idx = `IF_IQSPI(dev_idx); #5 @(negedge sck) @@ -887,7 +887,7 @@ task wait_comm_finished(); txBuf[2] = `SPI_READ; length = 8'h07; - idx = `IF_IQSPI(0); + idx = `IF_IQSPI(dev_idx); #5 @(negedge sck) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index ba30940..9675908 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -14,7 +14,7 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) - #add_tc_2_runlist(base.tc1()) + add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) #add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) @@ -41,6 +41,7 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) #add_tc_2_runlist(base.tc27()) + add_tc_2_runlist(base.tc28()) #add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc2()) @@ -53,7 +54,7 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc6()) - add_tc_2_runlist(sync.tc7()) + #add_tc_2_runlist(sync.tc7()) diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index 067fe38..18108a8 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -221,31 +221,31 @@ class GenPkt(object): -def genWriteTransLenCode(gen_name, sm_idx, wlog=True): +def genWriteTransLenCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//写入发送长度\n'''\ + '''$fdisplay(spidata_file, "--写数据交换长度");\n'''\ + '''`DEF_%s_sm(txBuf);\n'''%(gen_name, )\ - + '''%s( (`MST_TX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx,)\ - + '''%s( (`MST_RX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx,) + + '''%s( (`MST_TX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, dev_idx)\ + + '''%s( (`MST_RX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, dev_idx) -def genWriteTransPktCode(gen_name, sm_idx, wlog=True): +def genWriteTransPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return f'''\n$fdisplay(spidata_file, "<<准备发包,使用SM{sm_idx}:");\n'''\ + '''`DEF_%s(txBuf);\n'''%(gen_name, )\ - + '''%s( (`MST_TX%d_ADDR), (`SPI_WRITE), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, ) + + '''%s( (`MST_TX%d_ADDR), (`SPI_WRITE), (`DEF_%s_len), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, dev_idx) -def genTrgTransPktCode(gen_name, sm_idx, wlog=True): +def genTrgTransPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//请求发送\n'''\ + '''$fdisplay(spidata_file, "--请求发送");\n'''\ + '''txBuf[0+3] = `MST_TX_TRIGGER(%d);\n'''%(sm_idx, )\ - + '''%s( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genReadAckPktCode(gen_name, sm_idx, wlog=True): +def genReadAckPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//等待回包\n'''\ - + '''wait_comm_finished();\n'''\ + + '''wait_comm_finished(%d);\n'''%(dev_idx, )\ + f'''$fdisplay(spidata_file, ">>读取回包,使用SM{sm_idx}:");\n'''\ - + '''%s( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name,) + + '''%s( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, dev_idx) -def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True): +def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True, dev_idx=0): data = pos & 0x3fff if enableTime: data = data | 0x8000 @@ -255,19 +255,19 @@ def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True): + '''$fdisplay(spidata_file, "--增加时间戳插入");\n'''\ + '''txBuf[0+3] = 8'h%x;\n'''%(data & 0xff, )\ + '''txBuf[1+3] = 8'h%x;\n'''%((data >> 8) & 0xff, )\ - + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans",) + + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genDisableInsertTimeCode(wlog=True): +def genDisableInsertTimeCode(wlog=True, dev_idx=0): return '''\n//清除替换时间戳替换地址\n'''\ + '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\ + '''txBuf[0+3] = 8'h00;\n'''\ + '''txBuf[1+3] = 8'h00;\n'''\ - + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(%d)) ); //清除替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genCheckInsertTimeCode(wlog=True): +def genCheckInsertTimeCode(wlog=True, dev_idx=0): return '''\n//检查替换时间戳替换地址\n'''\ + '''$fdisplay(spidata_file, "--检查时间戳插入");\n'''\ - + '''%s( (16'h24), (`SPI_READ), (2), (`IF_IDX(0)) ); //检查替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h24), (`SPI_READ), (2), (`IF_IDX(%d)) ); //检查替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) def genIFRwDataCode(dev, addr, isWrite = False, data_len=0, data = None, wlog=True, iface=5): diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 1c403b1..3506b9b 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1962,4 +1962,347 @@ def tc27(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap03) + return gen_file_def + +def tc28(): + genPkt = GenPkt() + + + gen_file_def = "base_tc28" + sm_idx = 0 + tc_des = ("测试IO交换特性,为环网通信做准备。\\n" + ) + + genPkt.clean() + genPkt.setPktType(0) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +"#5000" + +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) + +genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取中断使能") + +genIFRwDataCode(0, 0x70, False, 4) + +genIFRwDataCode(4, 0x70, False, 4) + + +genMessageCode("--配置主从站") + +genIFRwDataCode(0, 0x00, True, 1, [0x02, ]) + +genIFRwDataCode(4, 0x00, True, 1, [0x01, ]) + ) + + genPkt.addAfterExc(genIFRwDataCode(0, 0x4a, False, 2) + +genIFRwDataCode(1, 0x4a, False, 2) + +genIFRwDataCode(2, 0x4a, False, 2) + +genIFRwDataCode(3, 0x4a, False, 2) + +genIFRwDataCode(4, 0x4a, False, 2) + + +genIFRwDataCode(0, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(1, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(2, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(3, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(4, 0x4a, True, 2, [1, 0x58]) + + +genIFRwDataCode(0, 0, False, 1) + +genIFRwDataCode(1, 0, False, 1) + +genIFRwDataCode(2, 0, False, 1) + +genIFRwDataCode(3, 0, False, 1) + +genIFRwDataCode(4, 0, False, 1) + #genWriteTransLenCode(gen_file_def, sm_idx) + #+genWriteTransPktCode(gen_file_def, sm_idx) + #+genTrgTransPktCode(gen_file_def, sm_idx) + #+genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw01" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(0) + + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + gen_file_def_ap = gen_file_def + "_rw02" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw03" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + + genPkt.addSubPkt(0x1, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x2, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x3, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x4, 0, 0x180, 0, 32, [0, ]*32) + + gen_file_def_ap = gen_file_def + "_rw04" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + + +genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +"#5000" + +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) + +genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取中断使能") + +genIFRwDataCode(0, 0x70, False, 4) + +genIFRwDataCode(4, 0x70, False, 4) + + +genMessageCode("--配置主从站") + +genIFRwDataCode(0, 0x00, True, 1, [0x01, ]) + +genIFRwDataCode(4, 0x00, True, 1, [0x02, ]) + + +genIFRwDataCode(0, 0x4a, False, 2) + +genIFRwDataCode(1, 0x4a, False, 2) + +genIFRwDataCode(2, 0x4a, False, 2) + +genIFRwDataCode(3, 0x4a, False, 2) + +genIFRwDataCode(4, 0x4a, False, 2) + + +genIFRwDataCode(0, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(1, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(2, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(3, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(4, 0x4a, True, 2, [0, 0x58]) + + +genIFRwDataCode(0, 0, False, 1) + +genIFRwDataCode(1, 0, False, 1) + +genIFRwDataCode(2, 0, False, 1) + +genIFRwDataCode(3, 0, False, 1) + +genIFRwDataCode(4, 0, False, 1) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw05" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(0) + + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + gen_file_def_ap = gen_file_def + "_rw06" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + return gen_file_def From 0bb9f899693846ebefbcc17a4665f245476d71d1 Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 30 Aug 2025 14:54:10 +0800 Subject: [PATCH 19/86] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 2 +- tb/shinTest/testcase/base.py | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 982640f..9ba6a34 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -40,7 +40,7 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc24()) #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) - add_tc_2_runlist(base.tc27()) + add_tc_2_runlist(base.tc29()) #add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc2()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 494ac15..8770e03 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1815,13 +1815,16 @@ def tc26(): return gen_file_def -def tc27(): +def tc29(): genPkt = GenPkt() - gen_file_def = "base_tc27" + gen_file_def = "base_tc29" sm_idx = 0 - tc_des = "读,单次通讯2048个字节。" + tc_des = ("读,单次通讯2048个字节。每个子包包含数据128个字节,最多15个子包。 \\n" + +"(128 + 8) * 15 + 4(HEAD) + 4(CRC) = 2048\\n" + +"可以通过屏蔽子包的方式,增大或者缩小发送的数据量。最大的数据量不超过2048个字节。" + ) #------------------------------------------------------------------------- #>>>>>>普通数据包 sm2,广播读 From a5919e29c0ec1109553b1b3d6766b97b6a7f106d Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 30 Aug 2025 14:55:25 +0800 Subject: [PATCH 20/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B29?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 3 +- tb/shinTest/testcase/base.py | 71 ++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 1 deletion(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 9675908..087d24a 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -41,7 +41,8 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) #add_tc_2_runlist(base.tc27()) - add_tc_2_runlist(base.tc28()) + #add_tc_2_runlist(base.tc28()) + #add_tc_2_runlist(base.tc29()) #add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc2()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 3506b9b..e43828d 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -2306,3 +2306,74 @@ def tc28(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) return gen_file_def + +def tc29(): + genPkt = GenPkt() + + + gen_file_def = "base_tc29" + sm_idx = 0 + tc_des = ("读,单次通讯2048个字节。每个子包包含数据128个字节,最多15个子包。 \\n" + +"(128 + 8) * 15 + 4(HEAD) + 4(CRC) = 2048\\n" + +"可以通过屏蔽子包的方式,增大或者缩小发送的数据量。最大的数据量不超过2048个字节。" + ) + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm2,广播读 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + #genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + #genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + #genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + + sm_idx = 2 + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genTcEndFrameCode(gen_file_def)) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + return gen_file_def From b8da95422e793ff55bd4f91e595d6ce65d3c1d0a Mon Sep 17 00:00:00 2001 From: bacon Date: Mon, 1 Sep 2025 16:12:37 +0800 Subject: [PATCH 21/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B,=2080ppm=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 8 ++++---- tb/shinTest/testcase/base.py | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 783a0c7..da8490b 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -411,7 +411,7 @@ generate initial begin multiCLK[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #25000 + #12500 ; end forever begin #100000 multiCLK[i] <= ~multiCLK[i]; end @@ -421,7 +421,7 @@ endgenerate initial begin - forever begin #100004 clock2 <= ~clock2; end + forever begin #100008 clock2 <= ~clock2; end end generate @@ -429,10 +429,10 @@ generate initial begin multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #25001 + #12501 ; end - forever begin #100004 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #100008 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 8770e03..61aaeed 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1847,9 +1847,9 @@ def tc29(): genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) - #genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) - #genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) - #genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) sm_idx = 2 From 0c9c52a57aab017cd3146168326dece756863c4a Mon Sep 17 00:00:00 2001 From: bacon Date: Mon, 1 Sep 2025 16:31:27 +0800 Subject: [PATCH 22/86] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=BB=E5=88=86?= =?UTF-8?q?=E6=94=AF=E4=B8=8B=E7=9A=84multiclk=E4=BA=A7=E7=94=9F=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index b565ea3..32dc4a7 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -411,7 +411,7 @@ generate initial begin multiCLK[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #20 + #10 ; end forever begin #80 multiCLK[i] <= ~multiCLK[i]; end From cce1cf417929a453bdded8d1add0524996aa4557 Mon Sep 17 00:00:00 2001 From: bacon Date: Mon, 1 Sep 2025 17:00:19 +0800 Subject: [PATCH 23/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B,=E5=B0=86=E9=A2=91=E7=8E=87=E5=B7=AE?= =?UTF-8?q?=E6=94=B9=E5=88=B0120ppm,=E6=B5=8B=E8=AF=95=E6=9C=AA=E9=80=9A?= =?UTF-8?q?=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 66 ++++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index da8490b..85c6cd4 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -384,17 +384,17 @@ initial begin spi_csn = {`SPI_CSN_NUM{1'b1}}; //~15'b0; - #125000 + //#125000 + #250000 reset <= 1; - #300000 + //#300000 + #600000 reset <= 0; -//#20000000 - #100000000000 - #100000000000 - #100000000000 -//#5000000 + #200000000000 + #200000000000 + #200000000000 $display("Time Out !!!"); $fclose(spidata_file); @@ -402,7 +402,7 @@ initial begin end initial begin - forever begin #100000 clock <= ~clock; end + forever begin #200000 clock <= ~clock; end end @@ -414,14 +414,16 @@ generate #12500 ; end - forever begin #100000 multiCLK[i] <= ~multiCLK[i]; end + forever begin #200000 multiCLK[i] <= ~multiCLK[i]; end end end endgenerate - +//如果频率差到 80ppm,参数是: 200016/25002/20016 +//如果频率差到120ppm,参数是: 200024/25003/20024 +//如果频率差到160ppm,参数是: 200032/25004/20032 initial begin - forever begin #100008 clock2 <= ~clock2; end + forever begin #200024 clock2 <= ~clock2; end end generate @@ -429,10 +431,10 @@ generate initial begin multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #12501 + #25003 ; end - forever begin #100008 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #200024 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate @@ -455,7 +457,7 @@ always @(negedge reset) begin _reset_deactive <= 1'b1; end - `define SCKFRE #800000 + `define SCKFRE #1600000 reg sck = 0; @@ -530,13 +532,13 @@ end always @(posedge clock) begin if( isReq & sck == 0 ) begin - isBusy <= #6250 1'b1; - transCnt <= #6250 0; + isBusy <= #12500 1'b1; + transCnt <= #12500 0; - byteCnt <= #6250 ~12'b0; - bitCnt <= #6250 ~3'b0; + byteCnt <= #12500 ~12'b0; + bitCnt <= #12500 ~3'b0; - spi_csn[idx] <= #6250 1'b0; + spi_csn[idx] <= #12500 1'b0; exChangeRego <= txBuf[0]; end end @@ -583,8 +585,8 @@ always @(posedge sck) begin exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; end end else begin - isBusy <= #6250 1'b0; - spi_csn[idx] <= #6250 1'b1; + isBusy <= #12500 1'b0; + spi_csn[idx] <= #12500 1'b1; end end end @@ -603,13 +605,13 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in length <= slength + 3; idx <= sidx; - #6250 + #12500 @(negedge sck) isReq <= 1; - @(posedge sck) #6250 + @(posedge sck) #12500 isReq <= 0; - @( negedge isBusy) #1250000 + @( negedge isBusy) #2500000 begin //$fwrite(spidata_file, "------------%5t------------\n", $realtime); $fwrite(spidata_file, "T:%t \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n", @@ -887,13 +889,13 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #6250 + #12500 @(negedge sck) isReq <= 1; - @(posedge sck) #6250 + @(posedge sck) #12500 isReq <= 0; - @( negedge isBusy) #1250000 + @( negedge isBusy) #2500000 begin end @@ -907,13 +909,13 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #6250 + #12500 @(negedge sck) isReq <= 1; - @(posedge sck) #6250 + @(posedge sck) #12500 isReq <= 0; - @( negedge isBusy) #1250000 + @( negedge isBusy) #2500000 begin end @@ -928,7 +930,7 @@ task wait_comm_finished(); $display("error occur"); is_run = 0; end - if (($realtime - st) >= 6250000000.0) + if (($realtime - st) >= 12500000000.0) begin $display("comm timeout."); is_run = 0; @@ -1093,7 +1095,7 @@ initial begin `include "tc_runlist.vh" - #1250000000 + #2500000000 $display("Testcase Finished! Time Out !!!"); $fclose(spidata_file); $stop; From 43a0df6da72e6589efa79c55a57ed400cc1fcf6d Mon Sep 17 00:00:00 2001 From: bacon Date: Mon, 1 Sep 2025 19:50:35 +0800 Subject: [PATCH 24/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0200ppm=E7=9A=84?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81,200ppm=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E9=80=9A=E8=BF=87,=E4=BD=86160ppm/120ppm?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=80=9A=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 85c6cd4..16fa907 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -422,8 +422,9 @@ endgenerate //如果频率差到 80ppm,参数是: 200016/25002/20016 //如果频率差到120ppm,参数是: 200024/25003/20024 //如果频率差到160ppm,参数是: 200032/25004/20032 +//如果频率差到200ppm,参数是: 200040/25005/20040 initial begin - forever begin #200024 clock2 <= ~clock2; end + forever begin #200040 clock2 <= ~clock2; end end generate @@ -431,10 +432,10 @@ generate initial begin multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #25003 + #25005 ; end - forever begin #200024 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #200040 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate From fd1f0d1536d86681db58f79aa8ee51225197e207 Mon Sep 17 00:00:00 2001 From: bacon Date: Tue, 2 Sep 2025 00:31:40 +0800 Subject: [PATCH 25/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=EF=BC=8C=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=86=85=E9=83=A8=E7=9A=84=E5=BB=B6=E6=97=B6=E3=80=82=C2=B1176?= =?UTF-8?q?ppm=E6=B5=8B=E8=AF=95=E9=80=9A=E8=BF=87=EF=BC=8C184ppm=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=9C=AA=E9=80=9A=E8=BF=87=EF=BC=8C=E4=BD=86=E5=B7=AE?= =?UTF-8?q?=E5=BE=97=E5=AD=97=E8=8A=82=E6=95=B0=E5=B9=B6=E4=B8=8D=E5=A4=9A?= =?UTF-8?q?=EF=BC=8C=E6=9C=80=E7=BB=88=E5=81=8F=E5=B7=AE=E5=A4=A7=E6=A6=82?= =?UTF-8?q?=E5=9C=A8180ppm=E4=B8=8A=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 84 ++++++++++++++++++++---------------- tb/shinTest/gen_pkt.py | 10 +++-- tb/shinTest/testcase/base.py | 72 +++++++++++++++++++++++++++++++ 3 files changed, 126 insertions(+), 40 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 16fa907..db7a462 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -385,16 +385,16 @@ initial begin spi_csn = {`SPI_CSN_NUM{1'b1}}; //~15'b0; //#125000 - #250000 + #1250000 reset <= 1; //#300000 - #600000 + #3000000 reset <= 0; - #200000000000 - #200000000000 - #200000000000 + #1000000000000 + #1000000000000 + #1000000000000 $display("Time Out !!!"); $fclose(spidata_file); @@ -402,7 +402,7 @@ initial begin end initial begin - forever begin #200000 clock <= ~clock; end + forever begin #1000000 clock <= ~clock; end end @@ -411,20 +411,32 @@ generate initial begin multiCLK[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #12500 + #125000 ; end - forever begin #200000 multiCLK[i] <= ~multiCLK[i]; end + forever begin #1000000 multiCLK[i] <= ~multiCLK[i]; end end end endgenerate -//如果频率差到 80ppm,参数是: 200016/25002/20016 -//如果频率差到120ppm,参数是: 200024/25003/20024 -//如果频率差到160ppm,参数是: 200032/25004/20032 -//如果频率差到200ppm,参数是: 200040/25005/20040 +//如果频率差到 80ppm,参数是: 1000080/125010/1000080 [pass] +//如果频率差到120ppm,参数是: 1000120/125015/1000160 [pass] +//如果频率差到160ppm,参数是: 1000160/125020/1000160 [pass] +//如果频率差到168ppm,参数是: 1000168/125021/1000168 [pass] + +//如果频率差到176ppm,参数是: 1000176/125022/1000176 [pass] +//如果频率差到-176ppm,参数是: 999824/124978/ 999824 [pass] + +//如果频率差到184ppm,参数是: 1000184/125023/1000184 [failed] //差得字节数不多,大概在180ppm上下 +//如果频率差到-184ppm,参数是: 999816/124977/ 999816 + +//如果频率差到192ppm,参数是: 1000192/125024/1000192 +//如果频率差到-192ppm,参数是: 999808/124976/ 999808 + +//如果频率差到200ppm,参数是: 1000200/125025/1000200 +//如果频率差到-200ppm,参数是: 999800/124975/ 999800 initial begin - forever begin #200040 clock2 <= ~clock2; end + forever begin #1000184 clock2 <= ~clock2; end end generate @@ -432,10 +444,10 @@ generate initial begin multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #25005 + #125023 ; end - forever begin #200040 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #1000184 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate @@ -458,7 +470,7 @@ always @(negedge reset) begin _reset_deactive <= 1'b1; end - `define SCKFRE #1600000 + `define SCKFRE #8000000 reg sck = 0; @@ -533,13 +545,13 @@ end always @(posedge clock) begin if( isReq & sck == 0 ) begin - isBusy <= #12500 1'b1; - transCnt <= #12500 0; + isBusy <= #62500 1'b1; + transCnt <= #62500 0; - byteCnt <= #12500 ~12'b0; - bitCnt <= #12500 ~3'b0; + byteCnt <= #62500 ~12'b0; + bitCnt <= #62500 ~3'b0; - spi_csn[idx] <= #12500 1'b0; + spi_csn[idx] <= #62500 1'b0; exChangeRego <= txBuf[0]; end end @@ -586,8 +598,8 @@ always @(posedge sck) begin exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; end end else begin - isBusy <= #12500 1'b0; - spi_csn[idx] <= #12500 1'b1; + isBusy <= #62500 1'b0; + spi_csn[idx] <= #62500 1'b1; end end end @@ -606,13 +618,13 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in length <= slength + 3; idx <= sidx; - #12500 + #62500 @(negedge sck) isReq <= 1; - @(posedge sck) #12500 + @(posedge sck) #62500 isReq <= 0; - @( negedge isBusy) #2500000 + @( negedge isBusy) #12500000 begin //$fwrite(spidata_file, "------------%5t------------\n", $realtime); $fwrite(spidata_file, "T:%t \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n", @@ -890,13 +902,13 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #12500 + #62500 @(negedge sck) isReq <= 1; - @(posedge sck) #12500 + @(posedge sck) #62500 isReq <= 0; - @( negedge isBusy) #2500000 + @( negedge isBusy) #12500000 begin end @@ -910,17 +922,17 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #12500 + #62500 @(negedge sck) isReq <= 1; - @(posedge sck) #12500 + @(posedge sck) #62500 isReq <= 0; - @( negedge isBusy) #2500000 + @( negedge isBusy) #12500000 begin end - #2500000 + #12500000 //$display("%x %x", rxBuf[3], rxBuf[6]); if ((rxBuf[3] & 8'h02) == 8'h02) begin @@ -931,7 +943,7 @@ task wait_comm_finished(); $display("error occur"); is_run = 0; end - if (($realtime - st) >= 12500000000.0) + if (($realtime - st) >= 62500000000.0) begin $display("comm timeout."); is_run = 0; @@ -943,7 +955,7 @@ endtask initial begin - #1250000 + #6250000 `ifdef ENABLE_REG_RW1_TEST /*--------------------------------------------------------------------------------------------------------- @@ -1096,7 +1108,7 @@ initial begin `include "tc_runlist.vh" - #2500000000 + #12500000000 $display("Testcase Finished! Time Out !!!"); $fclose(spidata_file); $stop; diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 9ba6a34..079d8c4 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -14,9 +14,9 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) - add_tc_2_runlist(base.tc1()) - add_tc_2_runlist(base.tc2()) - add_tc_2_runlist(base.tc3()) + #add_tc_2_runlist(base.tc1()) + #add_tc_2_runlist(base.tc2()) + #add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) #add_tc_2_runlist(base.tc5()) #add_tc_2_runlist(base.tc6()) @@ -40,7 +40,9 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc24()) #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) - add_tc_2_runlist(base.tc29()) + #add_tc_2_runlist(base.tc29()) + add_tc_2_runlist(base.tc30()) + #add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc2()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 61aaeed..50f9042 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1884,4 +1884,76 @@ def tc29(): +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + return gen_file_def + + +def tc30(): + genPkt = GenPkt() + + + gen_file_def = "base_tc30" + sm_idx = 0 + tc_des = ("写,单次通讯2048个字节。每个子包包含数据502个字节,最多4个子包。 \\n" + +"(502 + 8) * 4 + 4(HEAD) + 4(CRC) = 2048\\n" + +"可以通过屏蔽子包的方式,增大或者缩小发送的数据量。最大的数据量不超过2048个字节。" + ) + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm2,广播读 + genPkt.clean() + genPkt.setPktType(0) + data_len = 502 + data_len_wr = [(data_len & 0xff), ((data_len >> 8) & 0xff)] + #genPkt.addSubPkt(0x00, 0, 0x302, 0xe, 2, data_len_wr) #500 + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + genPkt.addSubPkt(0x02, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + genPkt.addSubPkt(0x03, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + genPkt.addSubPkt(0x04, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + + sm_idx = 2 + + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genIFRwDataCode(1, 0x0302, True, 2, data_len_wr) + +genIFRwDataCode(2, 0x0302, True, 2, data_len_wr) + +genIFRwDataCode(3, 0x0302, True, 2, data_len_wr) + +genIFRwDataCode(4, 0x0302, True, 2, data_len_wr) + ) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取数据") + +genIFRwDataCode(1, 0x800, False, data_len) + +genIFRwDataCode(2, 0x800, False, data_len) + +genIFRwDataCode(3, 0x800, False, data_len) + +genIFRwDataCode(4, 0x800, False, data_len) + + +genTcEndFrameCode(gen_file_def)) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + return gen_file_def \ No newline at end of file From 10e0cd645c8cf77495a718aeae96e79d5fb12eec Mon Sep 17 00:00:00 2001 From: bacon Date: Tue, 2 Sep 2025 09:21:25 +0800 Subject: [PATCH 26/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 94 ++++++++++++++++++----------------- tb/shinTest/gen_pkt.py | 2 +- tb/shinTest/pyutils/GenPkt.py | 1 - 3 files changed, 49 insertions(+), 48 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index db7a462..c35813a 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -384,17 +384,15 @@ initial begin spi_csn = {`SPI_CSN_NUM{1'b1}}; //~15'b0; - //#125000 - #1250000 + #10000000 reset <= 1; - //#300000 - #3000000 + #24000000 reset <= 0; - #1000000000000 - #1000000000000 - #1000000000000 + #8000000000000 + #8000000000000 + #8000000000000 $display("Time Out !!!"); $fclose(spidata_file); @@ -402,7 +400,7 @@ initial begin end initial begin - forever begin #1000000 clock <= ~clock; end + forever begin #8000000 clock <= ~clock; end end @@ -411,32 +409,36 @@ generate initial begin multiCLK[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #125000 + #1000000 ; end - forever begin #1000000 multiCLK[i] <= ~multiCLK[i]; end + forever begin #8000000 multiCLK[i] <= ~multiCLK[i]; end end end endgenerate -//如果频率差到 80ppm,参数是: 1000080/125010/1000080 [pass] -//如果频率差到120ppm,参数是: 1000120/125015/1000160 [pass] -//如果频率差到160ppm,参数是: 1000160/125020/1000160 [pass] -//如果频率差到168ppm,参数是: 1000168/125021/1000168 [pass] +//如果频率差到 80ppm,参数是: 8000640/1000080/8000640 [pass] +//如果频率差到120ppm,参数是: 8000960/1000120/8000960 [pass] +//如果频率差到160ppm,参数是: 8001280/1000160/8001280 [pass] +//如果频率差到168ppm,参数是: 8001344/1000168/8001344 [pass] -//如果频率差到176ppm,参数是: 1000176/125022/1000176 [pass] -//如果频率差到-176ppm,参数是: 999824/124978/ 999824 [pass] +//如果频率差到176ppm,参数是: 8001408/1000176/8001408 [pass] +//如果频率差到-176ppm,参数是: 7998592/ 999824/7998592 [pass] -//如果频率差到184ppm,参数是: 1000184/125023/1000184 [failed] //差得字节数不多,大概在180ppm上下 -//如果频率差到-184ppm,参数是: 999816/124977/ 999816 +//如果频率差到180ppm,参数是: 8001440/1000180/8001440 [pass] +//如果频率差到-180ppm,参数是: 7998560/ 999820/7998560 [pass] -//如果频率差到192ppm,参数是: 1000192/125024/1000192 -//如果频率差到-192ppm,参数是: 999808/124976/ 999808 +//如果频率差到181ppm,参数是: 8001448/1000181/8001448 [failed] //tc29, tc30联合测试,tc30最后几个字节不过, 单测能过 +//如果频率差到-181ppm,参数是: 7998552/ 999819/7998552 [failed] //同上 + +//如果频率差到182ppm,参数是: 8001456/1000182/8001456 [failed] +//如果频率差到-182ppm,参数是: 7998544/ 999818/7998544 [failed] //单测, tc30下行是对的,上行发生错误 + +//如果频率差到184ppm,参数是: 8001472/1000184/8001472 [failed] //差得字节数不多,大概在180ppm上下 +//如果频率差到-184ppm,参数是: 7998528/ 999816/7998528 [failed] -//如果频率差到200ppm,参数是: 1000200/125025/1000200 -//如果频率差到-200ppm,参数是: 999800/124975/ 999800 initial begin - forever begin #1000184 clock2 <= ~clock2; end + forever begin #7998560 clock2 <= ~clock2; end end generate @@ -444,10 +446,10 @@ generate initial begin multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #125023 + #999820 ; end - forever begin #1000184 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #7998560 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate @@ -470,7 +472,7 @@ always @(negedge reset) begin _reset_deactive <= 1'b1; end - `define SCKFRE #8000000 + `define SCKFRE #64000000 reg sck = 0; @@ -545,13 +547,13 @@ end always @(posedge clock) begin if( isReq & sck == 0 ) begin - isBusy <= #62500 1'b1; - transCnt <= #62500 0; + isBusy <= #500000 1'b1; + transCnt <= #500000 0; - byteCnt <= #62500 ~12'b0; - bitCnt <= #62500 ~3'b0; + byteCnt <= #500000 ~12'b0; + bitCnt <= #500000 ~3'b0; - spi_csn[idx] <= #62500 1'b0; + spi_csn[idx] <= #500000 1'b0; exChangeRego <= txBuf[0]; end end @@ -598,8 +600,8 @@ always @(posedge sck) begin exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; end end else begin - isBusy <= #62500 1'b0; - spi_csn[idx] <= #62500 1'b1; + isBusy <= #500000 1'b0; + spi_csn[idx] <= #500000 1'b1; end end end @@ -618,13 +620,13 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in length <= slength + 3; idx <= sidx; - #62500 + #500000 @(negedge sck) isReq <= 1; - @(posedge sck) #62500 + @(posedge sck) #500000 isReq <= 0; - @( negedge isBusy) #12500000 + @( negedge isBusy) #100000000 begin //$fwrite(spidata_file, "------------%5t------------\n", $realtime); $fwrite(spidata_file, "T:%t \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n", @@ -902,13 +904,13 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #62500 + #500000 @(negedge sck) isReq <= 1; - @(posedge sck) #62500 + @(posedge sck) #500000 isReq <= 0; - @( negedge isBusy) #12500000 + @( negedge isBusy) #100000000 begin end @@ -922,17 +924,17 @@ task wait_comm_finished(); length = 8'h07; idx = `IF_IQSPI(0); - #62500 + #500000 @(negedge sck) isReq <= 1; - @(posedge sck) #62500 + @(posedge sck) #500000 isReq <= 0; - @( negedge isBusy) #12500000 + @( negedge isBusy) #100000000 begin end - #12500000 + #100000000 //$display("%x %x", rxBuf[3], rxBuf[6]); if ((rxBuf[3] & 8'h02) == 8'h02) begin @@ -943,7 +945,7 @@ task wait_comm_finished(); $display("error occur"); is_run = 0; end - if (($realtime - st) >= 62500000000.0) + if (($realtime - st) >= 500000000000.0) begin $display("comm timeout."); is_run = 0; @@ -955,7 +957,7 @@ endtask initial begin - #6250000 + #50000000 `ifdef ENABLE_REG_RW1_TEST /*--------------------------------------------------------------------------------------------------------- @@ -1108,7 +1110,7 @@ initial begin `include "tc_runlist.vh" - #12500000000 + #100000000000 $display("Testcase Finished! Time Out !!!"); $fclose(spidata_file); $stop; diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 079d8c4..5c50943 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -40,7 +40,7 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc24()) #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) - #add_tc_2_runlist(base.tc29()) + add_tc_2_runlist(base.tc29()) add_tc_2_runlist(base.tc30()) diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index 067fe38..e2616df 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -383,7 +383,6 @@ def genTcStartFrameCode(tcname, des): code_str = f'''\tbegin:{upper_name}_TESTCASE\n'''\ +f'''\t\t`BEGIN_TESTCASE("{__pre_gen_log_path}/{tcname}_result.log");\n'''\ +'''\t\t_t_start = $realtime;\n'''\ - +'''\t\t#1000\n'''\ +f'''\t\t$fdisplay(spidata_file,"\\n\\n测试用例:{upper_name}");\n''' if len(des) > 0: From a21d6eaf5446d22dad6ba7157036adf084878592 Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Tue, 2 Sep 2025 11:10:05 +0800 Subject: [PATCH 27/86] =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E6=B3=A2=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 5 ++++- src/main/scala/backBoard/ebus/CDRIn.scala | 2 -- tb/shinTest/ShinTopSpiTb.v | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 8b0779e..f704475 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ testShin: -I ./generated/shin \ -D RANDOMIZE_REG_INIT \ ./tb/shinTest/ShinTopSpiTb.v - vvp -N ./tb/build/shinTest.iverilog -lxt2 || true + vvp -N ./tb/build/shinTest.iverilog -lxt2 -fst || true ./tb/shinTest/check_testcase.py testFilter: @@ -63,6 +63,9 @@ vcdFilter: vcdShin: gtkwave ./tb/build/wave.vcd 1>/dev/null 2>&1 & +fstShin: + gtkwave ./tb/build/wave.fst 1>/dev/null 2>&1 & + ef: sbt "test:runMain test.testModule" diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index b1db89b..dccaecc 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -93,7 +93,6 @@ trait CDRInMultiSample{ this: CDRInBase => val clearCnt = Reg(UInt(4.W)) val checkCnt = Reg(UInt(4.W)) - val arbLock = Reg(UInt( (log2Ceil(8*clkNum)).W )) val arbCali = Reg(UInt( (log2Ceil(8*clkNum)).W )) val isLock = RegInit(false.B) @@ -149,7 +148,6 @@ trait CDRInMultiSample{ this: CDRInBase => for( i <- 0 until 16 ){ val j = 50+16 - i - 1 when( flitReg(j) ^ flitReg(j+1) ){ - arbLock := j.U arbCali := j.U } } diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index c35813a..57a0243 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -460,7 +460,7 @@ initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); if (!spidata_file) $display("文件打开失败"); - $dumpfile("./tb/build/wave.vcd"); //生成的vcd文件名称 + $dumpfile("./tb/build/wave.fst"); //生成的vcd文件名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称 end From cbd52792a5c7b28c84ddc6648f4badfd640a6af2 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Tue, 2 Sep 2025 16:22:27 +0800 Subject: [PATCH 28/86] =?UTF-8?q?=E6=89=80=E6=9C=89=E5=AF=84=E5=AD=98?= =?UTF-8?q?=E5=99=A8=E5=9D=87=E5=A4=8D=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 18 +++--- src/main/scala/backBoard/ebus/CDROut.scala | 4 +- src/main/scala/backBoard/ebus/Encryptor.scala | 2 +- src/main/scala/backBoard/shin/Interface.scala | 40 ++++++------- .../scala/backBoard/shin/MasterParser.scala | 37 ++++++------ .../scala/backBoard/shin/MstSlvSwitch.scala | 14 ++--- .../scala/backBoard/shin/SlaveParser.scala | 56 +++++++++---------- .../scala/backBoard/shin/SlaveRecParser.scala | 12 ++-- .../scala/backBoard/shin/SlaveSendGen.scala | 10 ++-- .../scala/backBoard/shin/SpiInterface.scala | 18 +++--- 10 files changed, 101 insertions(+), 110 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 2f3648d..00f18e5 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -36,7 +36,7 @@ trait CDRInMultiSample{ this: CDRInBase => val sampleReg = Wire(Vec(clkNum, Bool())) for( i <- 0 until clkNum ) { - sampleReg(i) := withClockAndReset(multiCLK(i).asClock, reset.asBool){ ShiftRegister( io.serDat, 2 ) } + sampleReg(i) := withClockAndReset(multiCLK(i).asClock, reset.asBool){ ShiftRegister( io.serDat, 2, false.B, true.B ) } } val sampleReg_sync = Wire(Vec(2*clkNum,Bool())) @@ -44,11 +44,11 @@ trait CDRInMultiSample{ this: CDRInBase => for( i <- 0 until clkNum ){ - sampleReg_sync(i) := ShiftRegister(sampleReg(i), 2) + sampleReg_sync(i) := ShiftRegister(sampleReg(i), 2, false.B, true.B) } for( i <- clkNum until 2*clkNum ){ - sampleReg_sync(i) := ShiftRegister(sampleReg(i-clkNum), 1) + sampleReg_sync(i) := ShiftRegister(sampleReg(i-clkNum), 1, false.B, true.B) } /* @@ -69,10 +69,10 @@ trait CDRInMultiSample{ this: CDRInBase => (sampleReg_sync(i+0) & sampleReg_sync(i+1)) } - val clearCnt = Reg(UInt(4.W)) - val checkCnt = Reg(UInt(4.W)) - val arbLock = Reg(UInt( (log2Ceil(2*clkNum)).W )) - val arbCali = Reg(UInt( (log2Ceil(2*clkNum)).W )) + val clearCnt = RegInit(0.U(4.W)) + val checkCnt = RegInit(0.U(4.W)) + val arbLock = RegInit(0.U( (log2Ceil(2*clkNum)).W )) + val arbCali = RegInit(0.U( (log2Ceil(2*clkNum)).W )) val isLock = RegInit(false.B) when( sampleReg_sync.reduce(_|_) === false.B ){ @@ -154,7 +154,7 @@ trait CDRInAxis{ this: CDRInBase => val stateNext = Wire(UInt(2.W)) val stateCurr = RegNext( stateNext, STATE_IDLE ) - val bitCnt = Reg(UInt(4.W)) + val bitCnt = RegInit(0.U(4.W)) val byteCnt = RegInit(0.U((12+1).W)) val checkSFD = RegInit( 0.U(20.W) ) @@ -219,7 +219,7 @@ trait CDRInAxis{ this: CDRInBase => val axis_valid = RegInit(false.B) - val axis_tdata = RegEnable( shiftData, bitCnt === 9.U & ( stateCurr === STATE_HEADER | stateCurr === STATE_PAYLOAD ) ) + val axis_tdata = RegEnable( shiftData, 0.U(8.W), bitCnt === 9.U & ( stateCurr === STATE_HEADER | stateCurr === STATE_PAYLOAD ) ) val axis_tuser = false.B val axis_tlast = RegInit( false.B ) diff --git a/src/main/scala/backBoard/ebus/CDROut.scala b/src/main/scala/backBoard/ebus/CDROut.scala index 1b89b28..2deb3fe 100644 --- a/src/main/scala/backBoard/ebus/CDROut.scala +++ b/src/main/scala/backBoard/ebus/CDROut.scala @@ -36,8 +36,8 @@ class CDROut extends Module with RequireAsyncReset{ val stateCurr = RegNext( stateNext, 0.U ) - val bitCnt = Reg(UInt(4.W)) - val byteCnt = Reg(UInt(3.W)) //payload dont need to count + val bitCnt = RegInit(0.U(4.W)) + val byteCnt = RegInit(0.U(3.W)) //payload dont need to count val shiftData = RegInit(0.U(10.W)) diff --git a/src/main/scala/backBoard/ebus/Encryptor.scala b/src/main/scala/backBoard/ebus/Encryptor.scala index 120e397..b3babf6 100644 --- a/src/main/scala/backBoard/ebus/Encryptor.scala +++ b/src/main/scala/backBoard/ebus/Encryptor.scala @@ -13,7 +13,7 @@ class Encryptor_IO_Bundle extends Bundle{ class Encryptor extends Module{ val io: Encryptor_IO_Bundle = IO(new Encryptor_IO_Bundle) - val encryptReg = Reg(UInt(128.W)) + val encryptReg = RegInit(0.U(128.W)) when( io.init.valid ){ encryptReg := io.init.bits diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index e6c7a88..2abc0dc 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -397,13 +397,13 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ Seq( //本地时钟 (addr === "h100".U ) -> cReg.timeStamp(7,0), - (addr === "h101".U ) -> RegEnable(cReg.timeStamp(15,8), isEnR & (addrr === "h100".U)), - (addr === "h102".U ) -> RegEnable(cReg.timeStamp(23,16), isEnR & (addrr === "h100".U)), - (addr === "h103".U ) -> RegEnable(cReg.timeStamp(31,24), isEnR & (addrr === "h100".U)), - (addr === "h104".U ) -> RegEnable(cReg.timeStamp(39,32), isEnR & (addrr === "h100".U)), - (addr === "h105".U ) -> RegEnable(cReg.timeStamp(47,40), isEnR & (addrr === "h100".U)), - (addr === "h106".U ) -> RegEnable(cReg.timeStamp(55,48), isEnR & (addrr === "h100".U)), - (addr === "h107".U ) -> RegEnable(cReg.timeStamp(63,56), isEnR & (addrr === "h100".U)), + (addr === "h101".U ) -> RegEnable(cReg.timeStamp(15,8), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h102".U ) -> RegEnable(cReg.timeStamp(23,16), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h103".U ) -> RegEnable(cReg.timeStamp(31,24), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h104".U ) -> RegEnable(cReg.timeStamp(39,32), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h105".U ) -> RegEnable(cReg.timeStamp(47,40), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h106".U ) -> RegEnable(cReg.timeStamp(55,48), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h107".U ) -> RegEnable(cReg.timeStamp(63,56), 0.U(8.W), isEnR & (addrr === "h100".U)), //参考主站时钟 (addr === "h108".U & isSlvMode) -> sReg.deltaFinal(7,0), @@ -429,13 +429,13 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ //校准后的时钟 (addr === "h118".U ) -> cReg.recoTimeStamp(7,0), - (addr === "h119".U ) -> RegEnable(cReg.recoTimeStamp(15,8), isEnR & (addrr === "h118".U)), - (addr === "h11a".U ) -> RegEnable(cReg.recoTimeStamp(23,16), isEnR & (addrr === "h118".U)), - (addr === "h11b".U ) -> RegEnable(cReg.recoTimeStamp(31,24), isEnR & (addrr === "h118".U)), - (addr === "h11c".U ) -> RegEnable(cReg.recoTimeStamp(39,32), isEnR & (addrr === "h118".U)), - (addr === "h11d".U ) -> RegEnable(cReg.recoTimeStamp(47,40), isEnR & (addrr === "h118".U)), - (addr === "h11e".U ) -> RegEnable(cReg.recoTimeStamp(55,48), isEnR & (addrr === "h118".U)), - (addr === "h11f".U ) -> RegEnable(cReg.recoTimeStamp(63,56), isEnR & (addrr === "h118".U)), + (addr === "h119".U ) -> RegEnable(cReg.recoTimeStamp(15,8), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11a".U ) -> RegEnable(cReg.recoTimeStamp(23,16), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11b".U ) -> RegEnable(cReg.recoTimeStamp(31,24), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11c".U ) -> RegEnable(cReg.recoTimeStamp(39,32), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11d".U ) -> RegEnable(cReg.recoTimeStamp(47,40), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11e".U ) -> RegEnable(cReg.recoTimeStamp(55,48), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11f".U ) -> RegEnable(cReg.recoTimeStamp(63,56), 0.U(8.W), isEnR & (addrr === "h118".U)), (addr === "h120".U ) -> cReg.syncCfg, @@ -621,7 +621,7 @@ trait InterfaceMCUop{ this: InterfaceBase => )) datar := MuxCase( 0.U, Array( - ((addrr & "hF800".U) === "h0000".U) -> RegEnable( AcquireReg(addr = addrr), isEnR ), + ((addrr & "hF800".U) === "h0000".U) -> RegEnable( AcquireReg(addr = addrr), 0.U(8.W), isEnR ), ((addrr & "hF800".U) === "h0800".U) -> io.sram_r(0).datar, ((addrr & "hF800".U) === "h1000".U) -> 0.U, ((addrr & "hF800".U) === "h1800".U) -> io.sram_r(1).datar, @@ -755,7 +755,7 @@ trait InterfaceCheckSM{ this: InterfaceBase => trait InterfaceLVDSop{ this: InterfaceBase => - io.lvds.datar := RegEnable(AcquireReg(addr = io.lvds.addrr), io.lvds.isEnR) + io.lvds.datar := RegEnable(AcquireReg(addr = io.lvds.addrr), 0.U(8.W), io.lvds.isEnR) ( 0 until 16 ).map{ i => @@ -974,14 +974,14 @@ trait InterfaceSync{ this: InterfaceBase => } } - cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 0.U ) + cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 0.U(64.W) ) cReg.mstDeltaTime := io.mstDeltaTime sReg.deltaFinal := io.deltaFinal cReg.recoTimeStamp := Mux(isMstMode, cReg.timeStamp, - RegNext( cReg.timeStamp + sReg.deltaFinal ) + RegNext( cReg.timeStamp + sReg.deltaFinal, 0.U(64.W) ) ) sReg.slvDeltaTime := io.slvDeltaTime @@ -1167,8 +1167,8 @@ trait InterfaceSystem{ this: InterfaceBase => //外部latch中断 val isLatchEvent = - (RegNext( cReg.event.latchStatus(0) ) =/= cReg.event.latchStatus(0)) | - (RegNext( cReg.event.latchStatus(1) ) =/= cReg.event.latchStatus(1)) + (RegNext( cReg.event.latchStatus(0), false.B ) =/= cReg.event.latchStatus(0)) | + (RegNext( cReg.event.latchStatus(1), false.B ) =/= cReg.event.latchStatus(1)) when(isLatchEvent){ intStatus(3) := true.B diff --git a/src/main/scala/backBoard/shin/MasterParser.scala b/src/main/scala/backBoard/shin/MasterParser.scala index 0d92133..eea465e 100644 --- a/src/main/scala/backBoard/shin/MasterParser.scala +++ b/src/main/scala/backBoard/shin/MasterParser.scala @@ -30,13 +30,12 @@ class MasterParserIO extends Bundle{ abstract class MasterParserBase extends Module with RequireAsyncReset{ val io: MasterParserIO = IO(new MasterParserIO) - val txCnt = Reg(UInt(12.W)) - val txLen = Reg(UInt(11.W)) - val txAddr = Reg(UInt(15.W)) - - val rxCnt = Reg(UInt(12.W)) - val rxLen = Reg(UInt(11.W)) - val rxAddr = Reg(UInt(15.W)) + val txCnt = RegInit(0.U(12.W)) + val txLen = RegInit(0.U(11.W)) + val txAddr = RegInit(0.U(15.W)) + val rxCnt = RegInit(0.U(12.W)) + val rxLen = RegInit(0.U(11.W)) + val rxAddr = RegInit(0.U(15.W)) val reqReady = RegInit(true.B) @@ -114,14 +113,14 @@ abstract class MasterParserBase extends Module with RequireAsyncReset{ io.downOut.bits.tdata := Mux1H(Seq( ( txCnt < txLen ) -> MuxCase( io.sram_r.datar, Array( - ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> RegEnable(io.cReg.timeStamp(7,0), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.timeStamp(15,8), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.timeStamp(23,16), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.timeStamp(31,24), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.timeStamp(39,32), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.timeStamp(47,40), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.timeStamp(55,48), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.timeStamp(63,56), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> RegEnable(io.cReg.timeStamp(7,0), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.timeStamp(15,8), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.timeStamp(23,16), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.timeStamp(31,24), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.timeStamp(39,32), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.timeStamp(47,40), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.timeStamp(55,48), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.timeStamp(63,56), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), ( isRplDeltaStamp & ( txCnt === rplCnt8 ) ) -> io.cReg.mstDeltaTime(7,0), ( isRplDeltaStamp & ( txCnt === rplCnt9 ) ) -> io.cReg.mstDeltaTime(15,8), ( isRplDeltaStamp & ( txCnt === rplCnt10 ) ) -> io.cReg.mstDeltaTime(23,16), @@ -137,7 +136,7 @@ abstract class MasterParserBase extends Module with RequireAsyncReset{ - val recCrcCheck = Reg(UInt(32.W)) + val recCrcCheck = RegInit(0.U(32.W)) when( io.req ){ rxCnt := 0.U @@ -205,12 +204,12 @@ trait MasterParserStat{ this: MasterParserBase => class MasterParser extends MasterParserBase with MasterParserStat{ - val deltaTimeStamp = Reg(UInt(32.W)) + val deltaTimeStamp = RegInit(0.U(32.W)) // dontTouch(deltaTimeStamp) io.deltaTimeStamp := deltaTimeStamp - val txStamps = Reg(UInt(32.W)) - val pkgChkCnt = Reg(UInt(4.W)) + val txStamps = RegInit(0.U(32.W)) + val pkgChkCnt = RegInit(0.U(4.W)) when( io.upIn.fire & io.upIn.bits.tlast ){ pkgChkCnt := 0.U diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 8ade497..688c892 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -375,10 +375,10 @@ trait MstSlvSwitchSlave{ this: MstSlvSwitchBase => slaveParser.io.intHWClr(0) := interface.io.intHWTrig(0) & interface.io.intHWClr(0) slaveParser.io.intHWClr(1) := interface.io.intHWTrig(1) & interface.io.intHWClr(1) - io.downCDRIn.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0) ) - io.upCDRIn.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1) ) - io.downCDROut.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0) ) - io.upCDROut.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1) ) + io.downCDRIn.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) + io.upCDRIn.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) + io.downCDROut.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) + io.upCDROut.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) interface.io.lvds <> slaveParser.io.lvds @@ -398,7 +398,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => //看门狗1~16,SM监控 val isWdtSMEnable = for( _ <- 0 until 16 ) yield { RegInit(false.B) } - val wdtSMCnt = for( _ <- 0 until 16 ) yield { Reg(UInt(32.W)) } + val wdtSMCnt = for( _ <- 0 until 16 ) yield { RegInit(0.U(32.W)) } for( i <- 0 until 8 ){ when( smUnit(i).io.enq ){ @@ -428,7 +428,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => //看门狗0 发送后回包是否超时 val isWdtRec2RtnEnable = RegInit(false.B) - val wdtRec2RtnCnt = Reg(UInt(32.W)) + val wdtRec2RtnCnt = RegInit(0.U(32.W)) when( (io.upCDRIn.axis.fire & io.upCDRIn.axis.bits.tlast) | @@ -450,7 +450,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => interface.io.wdtTrigger(0) := wdtRec2RtnCnt === interface.io.cReg.wdtTarCnt(0) //看门狗17 - val wdtRec2RecCnt = Reg(UInt(32.W)) + val wdtRec2RecCnt = RegInit(0.U(32.W)) when( interface.io.cReg.wdtEnable.extract(17) & (wdtRec2RecCnt < interface.io.cReg.wdtTarCnt(17)) ){ wdtRec2RecCnt := wdtRec2RecCnt + 1.U diff --git a/src/main/scala/backBoard/shin/SlaveParser.scala b/src/main/scala/backBoard/shin/SlaveParser.scala index 6de0889..d327e68 100644 --- a/src/main/scala/backBoard/shin/SlaveParser.scala +++ b/src/main/scala/backBoard/shin/SlaveParser.scala @@ -187,11 +187,10 @@ abstract class SlaveParserBase extends Module with RequireAsyncReset{ //接收子报文 - val downSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTxInfo) } //子报文头 - val upSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTxInfo) } - - val downSubMsgTailInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTail) } //子报文头 - val upSubMsgTailInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTail) } + val downSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTxInfo)) } //子报文头 + val upSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTxInfo)) } + val downSubMsgTailInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTail) ) } //子报文头 + val upSubMsgTailInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTail) ) } val downRecFifo = for( _ <- 0 until 2 ) yield { Module(new Queue(UInt(8.W), 20)) } //子报文负载 @@ -485,9 +484,9 @@ trait SlaveParserRW{ this: SlaveParserBase => //写入 SM或寄存器空间 - val addrw = Reg(UInt(15.W)) + val addrw = RegInit(0.U(15.W)) val logicAddrwNext = Wire( UInt(30.W) ) - val logicAddrw = RegNext(logicAddrwNext) + val logicAddrw = RegNext(logicAddrwNext, 0.U(30.W)) val isWRReg = (addrw(14,11) === "b0000".U) val isWRSM0 = (addrw(14,11) === "b0001".U) @@ -625,9 +624,9 @@ trait SlaveParserRW{ this: SlaveParserBase => val upTransLenCnt = RegInit(0.U) - val addrr = Reg(UInt(15.W)) + val addrr = RegInit(0.U(15.W)) val logicAddrrNext = Wire( UInt(30.W) ) - val logicAddrr = RegNext(logicAddrrNext) + val logicAddrr = RegNext(logicAddrrNext, 0.U(30.W)) val isUpLgcAddrrAcquireTrans = //是否触发地址转换 @@ -697,14 +696,14 @@ trait SlaveParserRW{ this: SlaveParserBase => ( isUpRecPing & (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_BOARDREAD | upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_BOARDRDWR ) ) | (~isUpRecPing & (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_BOARDREAD | upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_BOARDRDWR ) ) ) - ) & ( (RegNext(upRecParser.io.stateCurr) =/= STATE_PAYLOAD_DATA) | upRecParser.io.data.fire ) + ) & ( (RegNext(upRecParser.io.stateCurr, STATE_IDLE) =/= STATE_PAYLOAD_DATA) | upRecParser.io.data.fire ) val isLgcRead = ((upRecParser.io.stateCurr === STATE_PAYLOAD_DATA) & ( ( isUpRecPing & (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_UNIREAD | upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_UNIRDWR ) & ( (upSubMsgHeadInfo(0).isLgcIndex & upTransLenCnt =/= 0.U ) )) | (~isUpRecPing & (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_UNIREAD | upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_UNIRDWR ) & ( (upSubMsgHeadInfo(1).isLgcIndex & upTransLenCnt =/= 0.U ) )) ) - ) & ( RegNext(isUpLgcAddrrAcquireTrans) | upRecParser.io.data.fire ) + ) & ( RegNext(isUpLgcAddrrAcquireTrans, false.B) | upRecParser.io.data.fire ) val isLvdsEnR = isSeqRead | isLgcRead @@ -840,20 +839,15 @@ trait SlaveParserSync{ this: SlaveParserBase => - val downTimeStamp = Reg(UInt(64.W)) //下行本地时间戳寄存器 - val upTimeStamp = Reg(UInt(64.W)) //上行本地时间戳寄存器 - val mstTimeStamp = Reg(UInt(64.W)) //主站时间戳 - val mstDeltaTimeStamp = Reg(UInt(32.W)); io.mstDeltaTimeStamp := mstDeltaTimeStamp //主站时间戳差值 - val slvDeltaTimeStamp = Reg(UInt(32.W)); io.slvDeltaTime := slvDeltaTimeStamp //从站时间戳差值 + val downTimeStamp = RegInit(0.U(64.W)) //下行本地时间戳寄存器 + val upTimeStamp = RegInit(0.U(64.W)) //上行本地时间戳寄存器 + val mstTimeStamp = RegInit(0.U(64.W)) //主站时间戳 + val mstDeltaTimeStamp = RegInit(0.U(32.W)); io.mstDeltaTimeStamp := mstDeltaTimeStamp //主站时间戳差值 + val slvDeltaTimeStamp = RegInit(0.U(32.W)); io.slvDeltaTime := slvDeltaTimeStamp //从站时间戳差值 - val mstSlvDeltaTimeStamp = Reg(UInt(64.W)) //主发从接时间差(中间变量) - val deltaMstSlvDeltaTimeStamp = Reg(UInt(64.W)) //主差从差时间差(中间变量) - val deltaFinal = Reg(UInt(64.W)); io.deltaFinal := deltaFinal //当前时间戳与主站时间差 - - - // val recoTimeStamp = Reg(UInt(64.W)) //时钟补偿寄存器 - - // dontTouch(recoTimeStamp) + val mstSlvDeltaTimeStamp = RegInit(0.U(64.W)) //主发从接时间差(中间变量) + val deltaMstSlvDeltaTimeStamp = RegInit(0.U(64.W)) //主差从差时间差(中间变量) + val deltaFinal = RegInit(0.U(64.W)); io.deltaFinal := deltaFinal //当前时间戳与主站时间差 // recoTimeStamp = io.timeStamp + deltaFinal // recoTimeStamp = io.timeStamp + mstSlvDeltaTimeStamp + deltaMstSlvDeltaTimeStamp @@ -883,7 +877,7 @@ trait SlaveParserSync{ this: SlaveParserBase => ( ~isDownRecPing & downSubMsgHeadInfo(1).devIndex === 0.U & downSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_SYNC ) ) - val syncCnt = Reg(UInt(4.W)) + val syncCnt = RegInit(0.U(4.W)) when( downRecParser.io.rec.fire ){ when( isSync ){ @@ -931,7 +925,7 @@ trait SlaveParserSync{ this: SlaveParserBase => } } - when( RegNext(isSync) & ~isSync ){ + when( RegNext(isSync, false.B) & ~isSync ){ // deltaMstSlvDeltaTimeStamp := (mstDeltaTimeStamp - slvDeltaTimeStamp) >>> 1 //(mstDeltaTimeStamp - slvDeltaTimeStamp) >> 1 addr64_op1 := Cat( Fill(32, mstDeltaTimeStamp(31)), mstDeltaTimeStamp) //组合逻辑 @@ -939,7 +933,7 @@ trait SlaveParserSync{ this: SlaveParserBase => addrConflict(2) := true.B //组合逻辑 deltaMstSlvDeltaTimeStamp := Cat(addr64_res(63),addr64_res(63,1)) //时序逻辑 - } .elsewhen( RegNext(RegNext(isSync)) & ~RegNext(isSync) ){ + } .elsewhen( RegNext(RegNext(isSync, false.B), false.B) & ~RegNext(isSync, false.B) ){ // deltaFinal := mstSlvDeltaTimeStamp + deltaMstSlvDeltaTimeStamp addr64_op1 := mstSlvDeltaTimeStamp //组合逻辑 addr64_op2 := deltaMstSlvDeltaTimeStamp //组合逻辑 @@ -1020,11 +1014,11 @@ with SlaveParserProbe{ io.intHWTrig(0) := downRecParser.io.isError io.intHWTrig(1) := upRecParser.io.isError - downRecParser.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0)) - downSendGen.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0)) + downRecParser.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0), false.B) + downSendGen.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0), false.B) - upRecParser.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1)) - upSendGen.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1)) + upRecParser.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1), false.B) + upSendGen.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1), false.B) io.downRecStat := downRecParser.io.stat io.upRecStat := upRecParser.io.stat diff --git a/src/main/scala/backBoard/shin/SlaveRecParser.scala b/src/main/scala/backBoard/shin/SlaveRecParser.scala index 0c9e27c..ee3eb0b 100644 --- a/src/main/scala/backBoard/shin/SlaveRecParser.scala +++ b/src/main/scala/backBoard/shin/SlaveRecParser.scala @@ -55,7 +55,7 @@ class SlaveRecParser extends Module with RequireAsyncReset{ crc.io.flush := stateCurr === STATE_IDLE | io.flush - val crcData = Reg(UInt(32.W)) + val crcData = RegInit(0.U(32.W)) val isCrcPass = crc.io.crc === Cat( crcData(23,0), io.rec.bits.tdata ) when( io.rec.fire & stateCurr === STATE_CRC ){ @@ -72,12 +72,12 @@ class SlaveRecParser extends Module with RequireAsyncReset{ val lengthCnt = RegInit(0.U(12.W)) //动态计数器 - val frameLenCnt = Reg(UInt(12.W)) //帧长度计数 + val frameLenCnt = RegInit(0.U(12.W)) //帧长度计数 io.frameReq.valid := (stateCurr === STATE_HEADER) & (stateNext === STATE_SUBMSG_HEADER | stateNext === STATE_CRC) - val frameHeader = Reg(new FrameHeader) + val frameHeader = RegInit(0.U.asTypeOf(new FrameHeader)) io.frameReq.bits.frameLenAim := frameHeader.frameLenAim io.frameReq.bits.frameStyle := frameHeader.frameStyle io.frameReq.bits.frameInfo := frameHeader.frameInfo | io.rec.bits.tdata @@ -85,8 +85,8 @@ class SlaveRecParser extends Module with RequireAsyncReset{ io.subMsgHeadReq.valid := (stateCurr === STATE_SUBMSG_HEADER) & (stateNext === STATE_PAYLOAD_DATA) io.subMsgTailReq.valid := (stateCurr === STATE_SUBMSG_TAIL) & (stateNext =/= STATE_SUBMSG_TAIL) - val subMsgHeader = Reg(new SubMsgHeader) - val subMsgTail = Reg(new SubMsgTail) + val subMsgHeader = RegInit(0.U.asTypeOf(new SubMsgHeader)) + val subMsgTail = RegInit(0.U.asTypeOf(new SubMsgTail)) io.subMsgHeadReq.bits.devIndex := subMsgHeader.devIndex io.subMsgHeadReq.bits.style := subMsgHeader.style @@ -182,7 +182,7 @@ class SlaveRecParser extends Module with RequireAsyncReset{ Mux( io.flush, STATE_IDLE, Mux1H(Seq( //必须使用上升沿触发,以避免前一帧长度超过预期 - ( stateCurr === STATE_IDLE ) -> Mux( ~RegNext(io.rec.valid) & io.rec.valid, STATE_HEADER, STATE_IDLE ), + ( stateCurr === STATE_IDLE ) -> Mux( ~RegNext(io.rec.valid, false.B) & io.rec.valid, STATE_HEADER, STATE_IDLE ), ( stateCurr === STATE_HEADER ) -> Mux( io.rec.fire, Mux(io.rec.bits.tlast, STATE_ERROR, Mux( lengthCnt === (4-1).U, MuxCase( STATE_ERROR, Array( diff --git a/src/main/scala/backBoard/shin/SlaveSendGen.scala b/src/main/scala/backBoard/shin/SlaveSendGen.scala index 9fde4bf..9c84bf8 100644 --- a/src/main/scala/backBoard/shin/SlaveSendGen.scala +++ b/src/main/scala/backBoard/shin/SlaveSendGen.scala @@ -66,10 +66,10 @@ class SlaveSendGen extends Module with RequireAsyncReset{ - val frameInfo = Reg(new FrameHeader) + val frameInfo = RegInit(0.U.asTypeOf(new FrameHeader)) - val subMsgHeadInfo = Reg(new SubMsgTxInfo) - val subMsgTailInfo = Reg(new SubMsgTail) + val subMsgHeadInfo = RegInit(0.U.asTypeOf(new SubMsgTxInfo)) + val subMsgTailInfo = RegInit(0.U.asTypeOf(new SubMsgTail)) @@ -88,8 +88,8 @@ class SlaveSendGen extends Module with RequireAsyncReset{ - val lengthCnt = Reg(UInt(12.W)) - val frameLenCnt = Reg(UInt(12.W)) + val lengthCnt = RegInit(0.U(12.W)) + val frameLenCnt = RegInit(0.U(12.W)) when( io.send.fire ){ when( stateCurr === STATE_FRAME_HEADER ){ diff --git a/src/main/scala/backBoard/shin/SpiInterface.scala b/src/main/scala/backBoard/shin/SpiInterface.scala index c8e6b96..be641e3 100644 --- a/src/main/scala/backBoard/shin/SpiInterface.scala +++ b/src/main/scala/backBoard/shin/SpiInterface.scala @@ -46,20 +46,20 @@ abstract class SpiInterfaceBase extends Module with RequireAsyncReset{ val isSckNegedge = shiftSCK(2) & ~shiftSCK(1) //确定下降沿放数据到数据线上 - val exRego = Reg(UInt(8.W)) - val exRegi = Reg(UInt(8.W)) + val exRego = RegInit(0.U(8.W)) + val exRegi = RegInit(0.U(8.W)) val addrw = RegInit(0.U(16.W)) val addrr = RegInit(0.U(16.W)) - val spiCmd = Reg(UInt(8.W)) + val spiCmd = RegInit(0.U(8.W)) val isSpiWrite = spiCmd === 0.U val isSpiRead = spiCmd === 1.U - val bitSel = Reg(UInt(3.W)) - val byteSel = Reg(UInt(12.W)) + val bitSel = RegInit(0.U(3.W)) + val byteSel = RegInit(0.U(12.W)) io.isEnR := @@ -69,9 +69,7 @@ abstract class SpiInterfaceBase extends Module with RequireAsyncReset{ io.dataw := exRegi io.addrr := Mux( isSpiRead, addrr + 1.U, addrr ) io.addrw := addrw - // io.addrSel := - // Mux( isSpiRead, addrSel + 1.U, addrSel )//覆盖三种情况 - // val readData = RegEnable(io.datar, io.isEnR) + when( shiftCSn(2) & ~shiftCSn(1) ){ @@ -133,7 +131,7 @@ class SSpiInterface extends SpiInterfaceBase{ bitSel := bitSel + 1.U } - val shiftMOSI = ShiftRegisters(spi.mosi, 3) + val shiftMOSI = ShiftRegisters(spi.mosi, 3, false.B, true.B) //输入看SCK上升沿 when( isSckPosedge & ~shiftCSn(1) ){ @@ -174,7 +172,7 @@ class QSpiInterface extends SpiInterfaceBase{ bitSel := ~bitSel } - val shiftMOSI = ShiftRegisters(qspi.mosi, 3) + val shiftMOSI = ShiftRegisters(qspi.mosi, 3, 0.U(4.W), true.B) From 826b35b830722289c7c0206713ef1b66c172f220 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Tue, 2 Sep 2025 17:18:25 +0800 Subject: [PATCH 29/86] =?UTF-8?q?=E5=88=A0=E9=99=A4localpoint=E5=92=8Cloca?= =?UTF-8?q?lperoid=E5=92=8C=E4=B8=AD=E6=96=AD2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 114 ++++-------------- 1 file changed, 25 insertions(+), 89 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 2abc0dc..99079d0 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -99,10 +99,6 @@ class CommonRegisterBundle extends Bundle{ val syncPeroid = UInt(32.W) val recoTimeStamp = UInt(64.W) //时钟补偿寄存器 - val localPeroid = UInt(32.W) - val localPoint = UInt(64.W) - - val custom = Vec( 128, UInt(8.W) ) val smUsedDepth = Vec(8, UInt(8.W)) @@ -480,19 +476,14 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === "h146".U ) -> cReg.syncOffset(3)(23,16), (addr === "h147".U ) -> cReg.syncOffset(3)(31,24), - (addr === "h148".U ) -> cReg.localPoint(7,0), - (addr === "h149".U ) -> cReg.localPoint(15,8), - (addr === "h14a".U ) -> cReg.localPoint(23,16), - (addr === "h14b".U ) -> cReg.localPoint(31,24), - (addr === "h14c".U ) -> cReg.localPoint(39,32), - (addr === "h14d".U ) -> cReg.localPoint(47,40), - (addr === "h14e".U ) -> cReg.localPoint(55,48), - (addr === "h14f".U ) -> cReg.localPoint(63,56), - - (addr === "h150".U ) -> cReg.localPeroid(7,0), - (addr === "h151".U ) -> cReg.localPeroid(15,8), - (addr === "h152".U ) -> cReg.localPeroid(23,16), - (addr === "h153".U ) -> cReg.localPeroid(31,24), + // (addr === "h148".U ) -> 0.U,//cReg.localPoint(7,0), + // (addr === "h149".U ) -> 0.U,//cReg.localPoint(15,8), + // (addr === "h14a".U ) -> 0.U,//cReg.localPoint(23,16), + // (addr === "h14b".U ) -> 0.U,//cReg.localPoint(31,24), + // (addr === "h14c".U ) -> 0.U,//cReg.localPoint(39,32), + // (addr === "h14d".U ) -> 0.U,//cReg.localPoint(47,40), + // (addr === "h14e".U ) -> 0.U,//cReg.localPoint(55,48), + // (addr === "h14f".U ) -> 0.U,//cReg.localPoint(63,56), ) ++ ( 0 until 128 ).map{ i => @@ -796,8 +787,6 @@ trait InterfaceSync{ this: InterfaceBase => val syncPoint = RegInit(0.U(64.W)); cReg.syncPoint := syncPoint val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid - val localPoint = RegInit(0.U(64.W)); cReg.localPoint := localPoint - val localPeroid = RegInit(0.U(32.W)); cReg.localPeroid := localPeroid val syncOffset = for( i <- 0 until 4 ) yield { RegInit(0.U(32.W)) } //空开0 for( i <- 0 until 4 ) { @@ -845,34 +834,23 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( dataw, syncPeroid(23,0) ) } - .elsewhen( addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), dataw ) - } .elsewhen( addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) - } .elsewhen( addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) - } .elsewhen( addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) - } .elsewhen( addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) - } .elsewhen( addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) - } .elsewhen( addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) - } .elsewhen( addrw === "h14f".U ){ - localPoint := Cat( dataw, localPoint(55,0) ) - } - - .elsewhen( addrw === "h150".U ){ - localPeroid := Cat( localPeroid(31,8), dataw ) - } .elsewhen( addrw === "h151".U ){ - localPeroid := Cat( localPeroid(31,16), dataw, localPeroid(7,0) ) - } .elsewhen( addrw === "h152".U ){ - localPeroid := Cat( localPeroid(31,24), dataw, localPeroid(15,0) ) - } .elsewhen( addrw === "h153".U ){ - localPeroid := Cat( dataw, localPeroid(23,0) ) - } - + // .elsewhen( addrw === "h148".U ){ + // localPoint := Cat( localPoint(63,8), dataw ) + // } .elsewhen( addrw === "h149".U ){ + // localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) + // } .elsewhen( addrw === "h14a".U ){ + // localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) + // } .elsewhen( addrw === "h14b".U ){ + // localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) + // } .elsewhen( addrw === "h14c".U ){ + // localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) + // } .elsewhen( addrw === "h14d".U ){ + // localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) + // } .elsewhen( addrw === "h14e".U ){ + // localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) + // } .elsewhen( addrw === "h14f".U ){ + // localPoint := Cat( dataw, localPoint(55,0) ) + // } for( i <- 1 until 4 ){ @@ -932,35 +910,6 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( io.lvds.dataw, syncPeroid(23,0) ) } - .elsewhen( io.lvds.addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), io.lvds.dataw, localPoint(7,0) ) - } .elsewhen( io.lvds.addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), io.lvds.dataw, localPoint(15,0) ) - } .elsewhen( io.lvds.addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), io.lvds.dataw, localPoint(23,0) ) - } .elsewhen( io.lvds.addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), io.lvds.dataw, localPoint(31,0) ) - } .elsewhen( io.lvds.addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), io.lvds.dataw, localPoint(39,0) ) - } .elsewhen( io.lvds.addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), io.lvds.dataw, localPoint(47,0) ) - } .elsewhen( io.lvds.addrw === "h14f".U ){ - localPoint := Cat( io.lvds.dataw, localPoint(55,0) ) - } - - .elsewhen( io.lvds.addrw === "h150".U ){ - localPeroid := Cat( localPeroid(31,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h151".U ){ - localPeroid := Cat( localPeroid(31,16), io.lvds.dataw, localPeroid(7,0) ) - } .elsewhen( io.lvds.addrw === "h152".U ){ - localPeroid := Cat( localPeroid(31,24), io.lvds.dataw, localPeroid(15,0) ) - } .elsewhen( io.lvds.addrw === "h153".U ){ - localPeroid := Cat( io.lvds.dataw, localPeroid(23,0) ) - } - - for( i <- 1 until 4 ){ when( io.lvds.addrw === ("h13c".U(16.W) + (4*(i-1)).U) ){ syncOffset(i) := Cat( syncOffset(i)(31,8), io.lvds.dataw ) @@ -1040,13 +989,6 @@ trait InterfaceSync{ this: InterfaceBase => io.sync(3) := cReg.syncCfg.extract(3) & syncSign(3) - val isLocalSyncInt = cReg.localPoint === cReg.recoTimeStamp - - when( isLocalSyncInt ){ //时间到达localSync时间点 - localPoint := cReg.localPoint + cReg.localPeroid - } - - } trait InterfaceWdt{ this: InterfaceBase => @@ -1159,11 +1101,6 @@ trait InterfaceSystem{ this: InterfaceBase => intStatus(1) := true.B } - //主站发送周期到了 - val isLocalSyncInt: Bool - when( isLocalSyncInt ){ - intStatus(2) := true.B - } //外部latch中断 val isLatchEvent = @@ -1245,7 +1182,6 @@ trait InterfaceSystem{ this: InterfaceBase => val trigIntPulse = (io.intMstTrig(0) & cReg.intEnable(0)) | //主站发送完成 (io.intMstTrig(1) & cReg.intEnable(1)) | //主站接收完成 - (isLocalSyncInt & cReg.intEnable(2)) | //主站发送周期到了 (isLatchEvent & cReg.intEnable(3)) | //latch Event (isWdtTrigAndEnable & cReg.intEnable(4)) | //主站接收看门狗溢出 (0 until 8).map{ i => io.intSlvTrig(i) & cReg.intEnable(8+i)}.reduce(_|_) | //从站SM请求 From 864a7d3d23e7ce8f87a1e679a0ea771e1f3666e7 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Tue, 2 Sep 2025 18:50:39 +0800 Subject: [PATCH 30/86] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=A0=A1=E5=87=86+spi?= =?UTF-8?q?=20lvds=E5=86=99=E5=85=A5=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 64 ++++++++++++------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 99079d0..20306e4 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -785,7 +785,8 @@ trait InterfaceSync{ this: InterfaceBase => cReg.syncWidth(i) := syncWidth(i) } - val syncPoint = RegInit(0.U(64.W)); cReg.syncPoint := syncPoint + val syncPoint = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)); cReg.syncPoint := syncPoint + val syncPoint_WRCopy = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)) val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid val syncOffset = for( i <- 0 until 4 ) yield { RegInit(0.U(32.W)) } //空开0 @@ -807,21 +808,22 @@ trait InterfaceSync{ this: InterfaceBase => } when( addrw === "h130".U ){ - syncPoint := Cat( syncPoint(63,8), dataw ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,8), dataw ) } .elsewhen( addrw === "h131".U ){ - syncPoint := Cat( syncPoint(63,16), dataw, syncPoint(7,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,16), dataw, syncPoint_WRCopy(7,0) ) } .elsewhen( addrw === "h132".U ){ - syncPoint := Cat( syncPoint(63,24), dataw, syncPoint(15,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,24), dataw, syncPoint_WRCopy(15,0) ) } .elsewhen( addrw === "h133".U ){ - syncPoint := Cat( syncPoint(63,32), dataw, syncPoint(23,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,32), dataw, syncPoint_WRCopy(23,0) ) } .elsewhen( addrw === "h134".U ){ - syncPoint := Cat( syncPoint(63,40), dataw, syncPoint(31,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,40), dataw, syncPoint_WRCopy(31,0) ) } .elsewhen( addrw === "h135".U ){ - syncPoint := Cat( syncPoint(63,48), dataw, syncPoint(39,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,48), dataw, syncPoint_WRCopy(39,0) ) } .elsewhen( addrw === "h136".U ){ - syncPoint := Cat( syncPoint(63,56), dataw, syncPoint(47,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,56), dataw, syncPoint_WRCopy(47,0) ) } .elsewhen( addrw === "h137".U ){ - syncPoint := Cat( dataw, syncPoint(55,0) ) + syncPoint_WRCopy := Cat( dataw, syncPoint_WRCopy(55,0) ) + syncPoint := Cat( dataw, syncPoint_WRCopy(55,0) ) } .elsewhen( addrw === "h138".U ){ @@ -867,7 +869,6 @@ trait InterfaceSync{ this: InterfaceBase => } - when( io.lvds.isEnW ){ when( io.lvds.addrw === "h120".U ){ @@ -883,21 +884,22 @@ trait InterfaceSync{ this: InterfaceBase => } .elsewhen( io.lvds.addrw === "h130".U ){ - syncPoint := Cat( syncPoint(63,8), io.lvds.dataw ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,8), io.lvds.dataw ) } .elsewhen( io.lvds.addrw === "h131".U ){ - syncPoint := Cat( syncPoint(63,16), io.lvds.dataw, syncPoint(7,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,16), io.lvds.dataw, syncPoint_WRCopy(7,0) ) } .elsewhen( io.lvds.addrw === "h132".U ){ - syncPoint := Cat( syncPoint(63,24), io.lvds.dataw, syncPoint(15,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,24), io.lvds.dataw, syncPoint_WRCopy(15,0) ) } .elsewhen( io.lvds.addrw === "h133".U ){ - syncPoint := Cat( syncPoint(63,32), io.lvds.dataw, syncPoint(23,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,32), io.lvds.dataw, syncPoint_WRCopy(23,0) ) } .elsewhen( io.lvds.addrw === "h134".U ){ - syncPoint := Cat( syncPoint(63,40), io.lvds.dataw, syncPoint(31,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,40), io.lvds.dataw, syncPoint_WRCopy(31,0) ) } .elsewhen( io.lvds.addrw === "h135".U ){ - syncPoint := Cat( syncPoint(63,48), io.lvds.dataw, syncPoint(39,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,48), io.lvds.dataw, syncPoint_WRCopy(39,0) ) } .elsewhen( io.lvds.addrw === "h136".U ){ - syncPoint := Cat( syncPoint(63,56), io.lvds.dataw, syncPoint(47,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,56), io.lvds.dataw, syncPoint_WRCopy(47,0) ) } .elsewhen( io.lvds.addrw === "h137".U ){ - syncPoint := Cat( io.lvds.dataw, syncPoint(55,0) ) + syncPoint_WRCopy := Cat( io.lvds.dataw, syncPoint_WRCopy(55,0) ) + syncPoint := Cat( io.lvds.dataw, syncPoint_WRCopy(55,0) ) } .elsewhen( io.lvds.addrw === "h138".U ){ @@ -923,7 +925,7 @@ trait InterfaceSync{ this: InterfaceBase => } } - cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 0.U(64.W) ) + cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 1.U(64.W) ) cReg.mstDeltaTime := io.mstDeltaTime @@ -938,24 +940,40 @@ trait InterfaceSync{ this: InterfaceBase => val syncOffsetCnt = for( i <- 0 until 4 ) yield { RegInit("hFFFFFFFF".U(32.W)) } //空开第0位 val syncResetCnt = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } //空开第0位 + val recoTimeStamp_Copy = RegInit(1.U(64.W)) - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + + when( + cReg.syncPoint === recoTimeStamp_Copy || + (io.lvds.addrw === "h120".U & io.lvds.isEnW) || //写syncCfg + (io.lvds.addrw === "h137".U & io.lvds.isEnW) || //写syncPoint + (io.lvds.addrw === "h13B".U & io.lvds.isEnW) || //写syncPeroid + (addrw === "h120".U & isEnW) || //写syncCfg + (addrw === "h137".U & isEnW) || //写syncPoint + (addrw === "h13B".U & isEnW) //写syncPeroid + ){ + recoTimeStamp_Copy := cReg.timeStamp + sReg.deltaFinal + } .otherwise{ + recoTimeStamp_Copy := recoTimeStamp_Copy + 1.U + } + + + when( cReg.syncPoint === recoTimeStamp_Copy ){ //时间到达sync0时间点 syncSign(0) := true.B - } .elsewhen( ~cReg.syncCfg(4+0) & syncResetCnt(0) === cReg.syncWidth(0) ){ syncSign(0) := false.B } .elsewhen( cReg.syncCfg(4+0) & isEnW & addrw === "h122".U ){ syncSign(0) := false.B } - when( cReg.syncPoint <= cReg.recoTimeStamp ){ + when( cReg.syncPoint <= recoTimeStamp_Copy ){ syncPoint := syncPoint + cReg.syncPeroid } for( i <- 1 until 4 ) { - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint === recoTimeStamp_Copy ){ //时间到达sync0时间点 syncOffsetCnt(i) := 0.U } .elsewhen( syncOffsetCnt(i) < cReg.syncOffset(i) ){ syncOffsetCnt(i) := syncOffsetCnt(i) + 1.U From c71f155de7aa76199fc3ba37dabd16e029c5c243 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 00:23:32 +0800 Subject: [PATCH 31/86] =?UTF-8?q?=E5=88=86=E4=B8=AA=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E5=9F=BA=E6=9C=AC=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E9=80=9A=E8=BF=87=EF=BC=8C=E5=85=88=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B=E7=9A=84=E6=96=B0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 16 ++-- tb/shinTest/pyutils/GenPkt.py | 55 ----------- tb/shinTest/testcase/base.py | 92 ++++++++++++++----- tb/shinTest/testcase/environment.py | 2 +- tb/shinTest/testcase/sync.py | 6 +- tb/shinTest/testcase/watchdog.py | 44 ++++++++- .../testcase_result/base_tc01_result.log | 2 +- .../testcase_result/base_tc02_result.log | 2 +- .../testcase_result/base_tc08_result.log | 6 +- .../testcase_result/ebmmu_tc02_result.log | 4 +- .../testcase_result/ebmmu_tc03_result.log | 2 +- .../testcase_result/ebmmu_tc15_result.log | 16 ++-- .../testcase_result/sys_bringup_result.log | 10 +- 13 files changed, 141 insertions(+), 116 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 087d24a..eb4ef27 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -14,7 +14,7 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) - add_tc_2_runlist(base.tc1()) + #add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) #add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) @@ -56,9 +56,7 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc6()) #add_tc_2_runlist(sync.tc7()) - - #add_tc_2_runlist(ebmmu.tc1()) #add_tc_2_runlist(ebmmu.tc2()) #add_tc_2_runlist(ebmmu.tc3()) @@ -73,13 +71,11 @@ if __name__ == '__main__': #add_tc_2_runlist(ebmmu.tc12()) #add_tc_2_runlist(ebmmu.tc13()) #add_tc_2_runlist(ebmmu.tc14()) - #add_tc_2_runlist(ebmmu.tc15()) - #add_tc_2_runlist(ebmmu.tc16()) - #add_tc_2_runlist(ebmmu.tc17()) - #add_tc_2_runlist(ebmmu.tc18()) - #add_tc_2_runlist(ebmmu.tc19()) - - + add_tc_2_runlist(ebmmu.tc15()) + add_tc_2_runlist(ebmmu.tc16()) + add_tc_2_runlist(ebmmu.tc17()) + add_tc_2_runlist(ebmmu.tc18()) + add_tc_2_runlist(ebmmu.tc19()) #add_tc_2_runlist(watchdog.tc1()) #add_tc_2_runlist(watchdog.tc2()) diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index 18108a8..1fa350c 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -401,58 +401,3 @@ def genTcEndFrameCode(tcname): def genMessageCode(msg): return f'''\t\t$fdisplay(spidata_file, "{msg}");\n''' - - -def genAddNewDev(devIndex): - dev_code = ("ShinTop s_ShinTop_slv3(\n" - " .clock(clock),\n" - " .reset(reset | isSoftReset[4]),\n" - "\n" - " .io_multiCLK_0(multiCLK[0]),\n" - " .io_multiCLK_1(multiCLK[1]),\n" - " .io_multiCLK_2(multiCLK[2]),\n" - " .io_multiCLK_3(multiCLK[3]),\n" - " .io_multiCLK_4(multiCLK[4]),\n" - " .io_multiCLK_5(multiCLK[5]),\n" - " .io_multiCLK_6(multiCLK[6]),\n" - " .io_multiCLK_7(multiCLK[7]),\n" - " .io_multiCLK_8(multiCLK[8]),\n" - " .io_multiCLK_9(multiCLK[9]),\n" - " .io_multiCLK_10(multiCLK[10]),\n" - " .io_multiCLK_11(multiCLK[11]),\n" - " .io_multiCLK_12(multiCLK[12]),\n" - " .io_multiCLK_13(multiCLK[13]),\n" - " .io_multiCLK_14(multiCLK[14]),\n" - " .io_multiCLK_15(multiCLK[15]),\n" - "\n" - " .io_dDatIn(dDat_w[3]),\n" - " .io_dDatOut(),\n" - " .io_uDatIn(1'b0),\n" - " .io_uDatOut(uDat_w[3]),\n" - "\n" - " .io_iqspi_sck(qspi_sck),\n" - " .io_iqspi_mosi(qspi_mosi),\n" - " .io_iqspi_miso(qspi_miso[4*4+3:4*4]),\n" - " .io_iqspi_isDirIn(),\n" - " .io_iqspi_csn(spi_csn[4]),\n" - "\n" - " .io_ospi_sck (spi_sck),\n" - " .io_ospi_mosi(spi_mosi),\n" - " .io_ospi_miso(spi_miso[4]),\n" - " .io_ospi_csn (spi_csn[9]),\n" - "\n" - " .io_oqspi_sck(qspi_sck),\n" - " .io_oqspi_mosi(qspi_mosi),\n" - " .io_oqspi_miso(qspi_miso[4*9+3:4*9]),\n" - " .io_oqspi_isDirIn(),\n" - " .io_oqspi_csn(spi_csn[14]),\n" - "\n" - " .io_isSoftReset(isSoftReset[4]),\n" - " .io_interrupt(io_int_sig[4]),\n" - " .io_latchPin_0(latch0),\n" - " .io_latchPin_1(latch1),\n" - " .io_hwSerial(0),\n" - " .io_uniCode(0)\n" - ");\n" - ) - \ No newline at end of file diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index e43828d..2ec7526 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1211,30 +1211,59 @@ def tc_wr_sm(tc_id, wr_sm_idx): +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) + +genMessageCode("--第一次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第二次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第三次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第四次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第五次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genTcEndFrameCode(gen_file_def)) @@ -1272,42 +1301,61 @@ def tc_rd_sm(tc_id, rd_sm_idx): sm_idx = 0 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--设备1的写") + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) + +genMessageCode("--设备2的写") + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) + +genMessageCode("--设备3的写") + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) - + +genMessageCode("--设备4的写") + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -1436,9 +1484,9 @@ def tc24(): genPkt.setPktType(1) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) - +genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) - +genIFRwDataCode(3, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) - +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + #+genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + #+genIFRwDataCode(3, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + #+genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) ) @@ -1599,23 +1647,23 @@ def tc24(): +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap) @@ -1646,23 +1694,23 @@ def tc24(): +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) +genTcEndFrameCode(gen_file_def)) #+genDisableInsertTimeCode()) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index b55f46b..ec3209f 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -236,7 +236,7 @@ def __gen_slv_dev_predef(num): +"`define ALL_DEV_NUM (`DEV_NUM + 1) // slave + master\n" +"`define SPI_CSN_NUM (`ALL_DEV_NUM * 3)\n" - +"`define HW_SERIAL 0 //48'h31303050584c //(48'h4c5850303031)\n" + +"`define HW_SERIAL 48'h31303050584c //(48'h4c5850303031)\n" +"`define IQSPI_PINS(N) (`N*4+3):(`N*4)\n" +"`define EQSPI_PINS(N) ((`N + `ALL_DEV_NUM)*4+3):((`N + `ALL_DEV_NUM)*4)\n" +"`define IQSPI_MISO(N) qspi_miso[`IQSPI_PINS(`N)]\n" diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 69ed2a9..a2e269a 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1334,11 +1334,11 @@ def tc7(): + '''txBuf[8] = 8'h00;\n''' + '''txBuf[9] = 8'h0a;\n''' + '''txBuf[10] = 8'h00;\n''' - + '''txBuf[19] = (_temp_time & 8'hff);\n''' - + '''txBuf[20] = ((_temp_time >> 8) & 8'hff);\n''' + + '''txBuf[19] = (_temp_time & 8'hff);\n''' + + '''txBuf[20] = ( (_temp_time >> 8) & 8'hff);\n''' + '''txBuf[21] = ((_temp_time >> 16) & 8'hff);\n''' + '''txBuf[22] = ((_temp_time >> 24) & 8'hff);\n''' - + '''txBuf[23] = 0;\n''' + + '''txBuf[23] = ((_temp_time >> 32) & 8'hff);\n''' + '''txBuf[24] = 0;\n''' + '''txBuf[25] = 0;\n''' + '''txBuf[26] = 0;\n''' diff --git a/tb/shinTest/testcase/watchdog.py b/tb/shinTest/testcase/watchdog.py index ee7d7c9..b2ec5c7 100644 --- a/tb/shinTest/testcase/watchdog.py +++ b/tb/shinTest/testcase/watchdog.py @@ -1,5 +1,31 @@ from pyutils import * + + +''' +看门狗0超时逻辑: +1. 看门狗0从系统发送下行包时,触发工作; +2. 系统上行时,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作,此时有上行包,不予响应; +3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断; +4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。 + + +SM0/2/4/6与SM1/3/5/7超时逻辑: +1. 看门狗从读写第一个字节被触发计时工作;第二次读写第一个字节,不影响看门狗工作; +2. 读写最后一个字节,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作,此时系统读到最后一个字节,不予响应。 +3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断; +4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。 + +看门狗17超时逻辑: +1. 看门狗17从系统发送第一个下行包时,触发工作; +2. 系统发送第二个下行包时,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作; +3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断; +4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。 + + +复位继续工作,指看门狗需要重新被触发开始计数直至超时或者复位。写看门狗状态,无论超时没超时,对应bit为1,则对应看门狗被复位。 +''' + def watchdog_test_sm_wr_timeout(tc_id, wd_id): genPkt = GenPkt() @@ -64,12 +90,15 @@ def watchdog_test_sm_wr_timeout(tc_id, wd_id): +genIFRwDataCode(2, 0x074, False, 0x04) +genIFRwDataCode(3, 0x074, False, 0x04) +genIFRwDataCode(4, 0x074, False, 0x04) + +genMessageCode("--延时后检查看门狗寄存器") +"#700000\n" +genIFRwDataCode(1, 0x400, False, 0x04) +genIFRwDataCode(1, 0x400, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x400, False, 0x04) + +genMessageCode("--复位数据缓冲区") +genIFRwDataCode(1, 0x300 + slave_sm_id * 4, True, 1, [0, ]) - +"#800000\n" + +genMessageCode("--延时后检查看门狗寄存器") + +"#1200000\n" +genIFRwDataCode(1, 0x400, False, 0x04) +genTcEndFrameCode(gen_file_def)) @@ -121,7 +150,7 @@ def watchdog_test_sm_rd_timeout(tc_id, wd_id): data[1] = 0x00 genPkt.addSubPkt(0x0, 0, 0x302 + slave_sm_id * 4, 0xe, 2, data) - data = [0,] * 0x10 + data = list(range(0x10)) #subPkt参数:索引、索引类型、地址、命令、长度、数据 sm_addr = slave_sm_id * 0x1000 + 0x800 @@ -139,12 +168,19 @@ def watchdog_test_sm_rd_timeout(tc_id, wd_id): +genIFRwDataCode(2, 0x074, False, 0x04) +genIFRwDataCode(3, 0x074, False, 0x04) +genIFRwDataCode(4, 0x074, False, 0x04) - +genIFRwDataCode(1, slave_sm_id * 0x1000 + 0x800, False, 4) - +"#500000\n" + +genMessageCode("--读缓冲区") + +genIFRwDataCode(1, 0x800 + slave_sm_id * 0x1000, False, 8) + + +genMessageCode("--延时后检查看门狗寄存器") + +"#1000000\n" +genIFRwDataCode(1, 0x400, False, 0x04) +genIFRwDataCode(1, 0x400, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x400, False, 0x04) + +genMessageCode("--复位数据缓冲区") +genIFRwDataCode(1, 0x300 + slave_sm_id * 4, True, 1, [0, ]) + +genMessageCode("--延时后检查看门狗寄存器") + +"#500000\n" + +genIFRwDataCode(1, 0x400, False, 0x04) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) diff --git a/tb/shinTest/testcase_result/base_tc01_result.log b/tb/shinTest/testcase_result/base_tc01_result.log index 18b730f..7ff344f 100644 --- a/tb/shinTest/testcase_result/base_tc01_result.log +++ b/tb/shinTest/testcase_result/base_tc01_result.log @@ -2,7 +2,7 @@ 16'h030e 8'h00 16'h0002 8'h94 8'h00 16'h2000 8'h00 16'h0094 8'h09 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h0b -16'h1800 8'h01 16'h0094 8'h09 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h40 8'h08 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 +16'h1800 8'h01 16'h0094 8'h09 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h40 8'h08 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc02_result.log b/tb/shinTest/testcase_result/base_tc02_result.log index 3f88a55..35f5a5d 100644 --- a/tb/shinTest/testcase_result/base_tc02_result.log +++ b/tb/shinTest/testcase_result/base_tc02_result.log @@ -2,7 +2,7 @@ 16'h0316 8'h00 16'h0002 8'h8c 8'h00 16'h3000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h15 -16'h2800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h5d 8'h09 8'h0f 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h7c 8'h75 8'h46 8'hc7 8'h5d 8'h4d 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'hd7 8'hd7 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'hf3 8'h74 8'h75 8'h77 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'hfd 8'h7e 8'h7f 8'h00 8'h04 +16'h2800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h4e 8'h5b 8'h54 8'h35 8'h36 8'h37 8'h5d 8'h09 8'h0f 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h7c 8'h75 8'h46 8'hc7 8'h5d 8'h4d 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'hd7 8'hd7 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'hf3 8'h74 8'h75 8'h77 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'hfd 8'h7e 8'h7f 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc08_result.log b/tb/shinTest/testcase_result/base_tc08_result.log index 97137a6..4efc7bf 100644 --- a/tb/shinTest/testcase_result/base_tc08_result.log +++ b/tb/shinTest/testcase_result/base_tc08_result.log @@ -1,8 +1,8 @@ 16'h0078 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 16'h0040 8'h00 16'h0004 8'h01 8'h00 8'h66 8'h79 16'h0040 8'h00 16'h0004 8'h01 8'h00 8'h66 8'h79 -16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 16'h0000 8'h00 16'h0001 8'h01 @@ -11,7 +11,7 @@ 16'h0306 8'h00 16'h0002 8'h8c 8'h00 16'h1000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h3c 8'h31 8'h00 8'h80 8'h15 8'h05 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h87 8'h87 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hf0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h81 8'h00 8'h00 8'h00 8'h01 +16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h3c 8'h31 8'h00 8'h80 8'h15 8'h05 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h87 8'h87 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hf0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h81 8'h00 8'h00 8'h00 8'h01 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h007c 8'h00 16'h0002 8'h00 8'h81 diff --git a/tb/shinTest/testcase_result/ebmmu_tc02_result.log b/tb/shinTest/testcase_result/ebmmu_tc02_result.log index 28e6ed0..040df78 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc02_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc02_result.log @@ -22,7 +22,7 @@ 16'h0306 8'h00 16'h0002 8'h64 8'h00 16'h1000 8'h00 16'h0064 8'h06 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 +16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 @@ -42,7 +42,7 @@ 16'h0306 8'h00 16'h0002 8'h4c 8'h00 16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h80 8'h02 8'h00 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h80 8'h02 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h80 8'h02 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc03_result.log b/tb/shinTest/testcase_result/ebmmu_tc03_result.log index d798d73..2f12e04 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc03_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc03_result.log @@ -22,7 +22,7 @@ 16'h0306 8'h00 16'h0002 8'h64 8'h00 16'h1000 8'h00 16'h0064 8'h06 8'h00 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h00 8'h58 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h02 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h03 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h04 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h00 8'h58 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h02 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h03 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h04 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc15_result.log b/tb/shinTest/testcase_result/ebmmu_tc15_result.log index 6c340f4..20ff908 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc15_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc15_result.log @@ -23,10 +23,10 @@ 16'h1000 8'h00 16'h010c 8'h10 8'h80 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 16'h0800 8'h01 16'h010c 8'h10 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h04 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 16'h0800 8'h01 16'h0010 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 16'h1800 8'h01 16'h0010 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 16'h2800 8'h01 16'h0010 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f @@ -43,10 +43,10 @@ 16'h1800 8'h01 16'h0010 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 16'h2800 8'h01 16'h0010 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 16'h3800 8'h01 16'h0010 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h55 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h55 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/sys_bringup_result.log b/tb/shinTest/testcase_result/sys_bringup_result.log index 8b59d6f..a532b24 100644 --- a/tb/shinTest/testcase_result/sys_bringup_result.log +++ b/tb/shinTest/testcase_result/sys_bringup_result.log @@ -1,8 +1,8 @@ -16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff From c5d193a1bcc7c1a348a36f58927ac4a58e57c6cf Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Wed, 3 Sep 2025 11:23:57 +0800 Subject: [PATCH 32/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=BB=E7=AB=99offse?= =?UTF-8?q?t=E5=AF=84=E5=AD=98=E5=99=A8=E7=94=A8=E4=BA=8E=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E4=B8=BB=E7=AB=99=E6=A0=A1=E5=87=86=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 56 ++++++++++--------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 20306e4..1f8ff90 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -122,6 +122,7 @@ class MasterRegisterBundle extends Bundle{ val isRecCRCErr = UInt(4.W) val rplTimeStampTx = UInt(16.W) + val timeStampOffset = UInt(64.W) } @@ -476,14 +477,14 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === "h146".U ) -> cReg.syncOffset(3)(23,16), (addr === "h147".U ) -> cReg.syncOffset(3)(31,24), - // (addr === "h148".U ) -> 0.U,//cReg.localPoint(7,0), - // (addr === "h149".U ) -> 0.U,//cReg.localPoint(15,8), - // (addr === "h14a".U ) -> 0.U,//cReg.localPoint(23,16), - // (addr === "h14b".U ) -> 0.U,//cReg.localPoint(31,24), - // (addr === "h14c".U ) -> 0.U,//cReg.localPoint(39,32), - // (addr === "h14d".U ) -> 0.U,//cReg.localPoint(47,40), - // (addr === "h14e".U ) -> 0.U,//cReg.localPoint(55,48), - // (addr === "h14f".U ) -> 0.U,//cReg.localPoint(63,56), + (addr === "h148".U ) -> mReg.timeStampOffset(7,0), + (addr === "h149".U ) -> mReg.timeStampOffset(15,8), + (addr === "h14a".U ) -> mReg.timeStampOffset(23,16), + (addr === "h14b".U ) -> mReg.timeStampOffset(31,24), + (addr === "h14c".U ) -> mReg.timeStampOffset(39,32), + (addr === "h14d".U ) -> mReg.timeStampOffset(47,40), + (addr === "h14e".U ) -> mReg.timeStampOffset(55,48), + (addr === "h14f".U ) -> mReg.timeStampOffset(63,56), ) ++ ( 0 until 128 ).map{ i => @@ -785,6 +786,8 @@ trait InterfaceSync{ this: InterfaceBase => cReg.syncWidth(i) := syncWidth(i) } + val timeStampOffset = RegInit(0.U(64.W)); mReg.timeStampOffset := timeStampOffset + val timeStampOffset_WRCopy = RegInit(0.U(64.W)) val syncPoint = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)); cReg.syncPoint := syncPoint val syncPoint_WRCopy = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)) val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid @@ -836,23 +839,24 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( dataw, syncPeroid(23,0) ) } - // .elsewhen( addrw === "h148".U ){ - // localPoint := Cat( localPoint(63,8), dataw ) - // } .elsewhen( addrw === "h149".U ){ - // localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) - // } .elsewhen( addrw === "h14a".U ){ - // localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) - // } .elsewhen( addrw === "h14b".U ){ - // localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) - // } .elsewhen( addrw === "h14c".U ){ - // localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) - // } .elsewhen( addrw === "h14d".U ){ - // localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) - // } .elsewhen( addrw === "h14e".U ){ - // localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) - // } .elsewhen( addrw === "h14f".U ){ - // localPoint := Cat( dataw, localPoint(55,0) ) - // } + .elsewhen( addrw === "h148".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,8), dataw ) + } .elsewhen( addrw === "h149".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,16), dataw, timeStampOffset_WRCopy(7,0) ) + } .elsewhen( addrw === "h14a".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,24), dataw, timeStampOffset_WRCopy(15,0) ) + } .elsewhen( addrw === "h14b".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,32), dataw, timeStampOffset_WRCopy(23,0) ) + } .elsewhen( addrw === "h14c".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,40), dataw, timeStampOffset_WRCopy(31,0) ) + } .elsewhen( addrw === "h14d".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,48), dataw, timeStampOffset_WRCopy(39,0) ) + } .elsewhen( addrw === "h14e".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,56), dataw, timeStampOffset_WRCopy(47,0) ) + } .elsewhen( addrw === "h14f".U ){ + timeStampOffset_WRCopy := Cat( dataw, timeStampOffset_WRCopy(55,0) ) + timeStampOffset := Cat( dataw, timeStampOffset_WRCopy(55,0) ) + } for( i <- 1 until 4 ){ @@ -931,7 +935,7 @@ trait InterfaceSync{ this: InterfaceBase => sReg.deltaFinal := io.deltaFinal cReg.recoTimeStamp := - Mux(isMstMode, cReg.timeStamp, + Mux(isMstMode, cReg.timeStamp + mReg.timeStampOffset, RegNext( cReg.timeStamp + sReg.deltaFinal, 0.U(64.W) ) ) sReg.slvDeltaTime := io.slvDeltaTime From f0beaf157184e82a5fafff3376fa5ae9594a8e65 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 12:50:57 +0800 Subject: [PATCH 33/86] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E7=9A=84=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 087d24a..d87be1f 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -54,8 +54,8 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc3()) #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) - #add_tc_2_runlist(sync.tc6()) - #add_tc_2_runlist(sync.tc7()) + add_tc_2_runlist(sync.tc6()) + add_tc_2_runlist(sync.tc7()) From 5776b9a7adac9b807ad1d8c939358018fb2f818b Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Wed, 3 Sep 2025 15:51:28 +0800 Subject: [PATCH 34/86] =?UTF-8?q?=E4=B8=BB=E7=AB=99=E5=8F=91=E9=80=81?= =?UTF-8?q?=E7=9A=84=E5=BA=94=E8=AF=A5=E6=98=AF=E5=8A=A0=E4=BA=86offset?= =?UTF-8?q?=E7=9A=84timestamp=EF=BC=88reco=EF=BC=89=EF=BC=9Bsoftreset?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E5=90=8C=E6=AD=A5=E5=90=8E=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scala/backBoard/shin/MasterParser.scala | 16 ++++++------- tb/shinTest/ShinTopSpiTb.v | 23 +++++++++++++++---- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/main/scala/backBoard/shin/MasterParser.scala b/src/main/scala/backBoard/shin/MasterParser.scala index eea465e..6bde127 100644 --- a/src/main/scala/backBoard/shin/MasterParser.scala +++ b/src/main/scala/backBoard/shin/MasterParser.scala @@ -113,14 +113,14 @@ abstract class MasterParserBase extends Module with RequireAsyncReset{ io.downOut.bits.tdata := Mux1H(Seq( ( txCnt < txLen ) -> MuxCase( io.sram_r.datar, Array( - ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> RegEnable(io.cReg.timeStamp(7,0), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.timeStamp(15,8), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.timeStamp(23,16), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.timeStamp(31,24), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.timeStamp(39,32), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.timeStamp(47,40), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.timeStamp(55,48), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.timeStamp(63,56), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> RegEnable(io.cReg.recoTimeStamp(7,0), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.recoTimeStamp(15,8), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.recoTimeStamp(23,16), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.recoTimeStamp(31,24), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.recoTimeStamp(39,32), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.recoTimeStamp(47,40), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.recoTimeStamp(55,48), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.recoTimeStamp(63,56), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), ( isRplDeltaStamp & ( txCnt === rplCnt8 ) ) -> io.cReg.mstDeltaTime(7,0), ( isRplDeltaStamp & ( txCnt === rplCnt9 ) ) -> io.cReg.mstDeltaTime(15,8), ( isRplDeltaStamp & ( txCnt === rplCnt10 ) ) -> io.cReg.mstDeltaTime(23,16), diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 32dc4a7..5210667 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -102,15 +102,28 @@ module ShinTopSpiTb( reg _reset_deactive; wire [(`ALL_DEV_NUM - 1):0] isSoftReset; + reg [(`ALL_DEV_NUM - 1):0] isSoftReset_reg; + + generate + for( genvar i = 0; i < `ALL_DEV_NUM; i = i + 1 ) begin + always @(posedge clock or posedge reset) begin + if(reset) isSoftReset_reg[i] <= 1'b0; + else isSoftReset_reg[i] <= isSoftReset[i]; + end + end + endgenerate + wire [`DEV_NUM:0] io_int_sig; reg latch0; reg latch1; + + ShinTop s_ShinTop_Mst( .clock(clock), - .reset(reset | isSoftReset[0]), + .reset(reset | isSoftReset_reg[0]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -165,7 +178,7 @@ ShinTop s_ShinTop_Mst( `ifdef DEFINE_SLAVE_DEVICE ShinTop s_ShinTop_slv0( .clock(clock), - .reset(reset | isSoftReset[1]), + .reset(reset | isSoftReset_reg[1]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -216,7 +229,7 @@ ShinTop s_ShinTop_slv0( ShinTop s_ShinTop_slv1( .clock(clock), - .reset(reset | isSoftReset[2]), + .reset(reset | isSoftReset_reg[2]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -267,7 +280,7 @@ ShinTop s_ShinTop_slv1( ShinTop s_ShinTop_slv2( .clock(clock), - .reset(reset | isSoftReset[3]), + .reset(reset | isSoftReset_reg[3]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -318,7 +331,7 @@ ShinTop s_ShinTop_slv2( ShinTop s_ShinTop_slv3( .clock(clock), - .reset(reset | isSoftReset[4]), + .reset(reset | isSoftReset_reg[4]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), From c88046b5eb280affd0bdf5a914c3015f17ca9116 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 16:01:03 +0800 Subject: [PATCH 35/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 4 +-- tb/shinTest/testcase/sync.py | 52 ++++++++++++++++++++++++++++++++---- 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index d87be1f..9f3df70 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -54,7 +54,7 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc3()) #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) - add_tc_2_runlist(sync.tc6()) + #add_tc_2_runlist(sync.tc6()) add_tc_2_runlist(sync.tc7()) @@ -78,8 +78,6 @@ if __name__ == '__main__': #add_tc_2_runlist(ebmmu.tc17()) #add_tc_2_runlist(ebmmu.tc18()) #add_tc_2_runlist(ebmmu.tc19()) - - #add_tc_2_runlist(watchdog.tc1()) #add_tc_2_runlist(watchdog.tc2()) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 69ed2a9..5f9b893 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1311,18 +1311,60 @@ def tc7(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) - + + genPkt.clean() genPkt.setPktType(0) - sm_idx = 3 + sm_idx = 1 - genPkt.addBeforeExc( "\n#5000\n" + genPkt.addBeforeExc("\n#5000\n" +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(0, 0x40, False, 4) +genIFRwDataCode(0, 0x00, True, 1, [0x1, ]) - +genEnableInsertTimeCode(0xa) + ) + + genPkt.addSubPkt(0x0, 0, 0x180, 0xd, 10, b'\0'*10) + + gen_file_def_ap = gen_file_def + "_rw03" + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + +genTcEndFrameCode(gen_file_def) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + sm_idx = 1 + + + genPkt.addBeforeExc(genEnableInsertTimeCode(0xa) + '''spi_trans( (16'h0100), (`SPI_READ), (8), (`IF_IDX(0)));\n''' + '''_temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) + (rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56);\n''' + '''_temp_time = _temp_time + 32'h3000;\n\n''' @@ -1456,7 +1498,7 @@ def tc7(): genPkt.addSubPkt(2, 0, 0x120, 0x1, 0x28, data) - gen_file_def_ap = gen_file_def + "_rw03" + gen_file_def_ap = gen_file_def + "_rw04" genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) From c14a3a5f4d93f5cbcd1b502164350cfeca0a8877 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 16:01:50 +0800 Subject: [PATCH 36/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/sync.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 5f9b893..9787b2c 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1353,7 +1353,6 @@ def tc7(): +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) - +genTcEndFrameCode(gen_file_def) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap) From 790216d6e9fe874ed7bd6c40572666e7ad35381b Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 16:21:37 +0800 Subject: [PATCH 37/86] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A4=8D=E4=BD=8D?= =?UTF-8?q?=E7=94=B5=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/environment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index b55f46b..a072730 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -180,7 +180,7 @@ def __GenDevice(id, TerminateNode = False): code_device = ("\tShinTop s_ShinTop_slv%d(\n"%(id, ) +"\t.clock(clock),\n" - +"\t.reset(reset | isSoftReset[%d]),\n\n"%(id + 1,) + +"\t.reset(reset | isSoftReset_reg[%d]),\n\n"%(id + 1,) +"\t.io_multiCLK_0(multiCLK[0]),\n" +"\t.io_multiCLK_1(multiCLK[1]),\n" From 32b73b8c932539f25b88c00adac7d981cb8f3cd2 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Wed, 3 Sep 2025 16:26:58 +0800 Subject: [PATCH 38/86] =?UTF-8?q?lvds=E8=AF=BB=E5=8F=96=E9=94=81=EF=BC=8C?= =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=8F=AA=E9=94=81=E4=BA=86ebmmu=EF=BC=8Csync?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=AF=84=E5=AD=98=E5=99=A8=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E7=AD=89=E5=88=86=E6=94=AF=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 2abc0dc..45ca2fb 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -144,7 +144,8 @@ class SlaveRegisterBundle extends Bundle{ val slvDeltaTime = UInt(32.W) //从站时间戳差值 val deltaFinal = UInt(64.W) //当前时间戳与主站时间差 - + val lvdsWriteAble = UInt(16.W) + def isLVDSWriteAble = lvdsWriteAble(15,8) === "h58".U & lvdsWriteAble.extract(0) } @@ -268,6 +269,7 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ Seq( + (addr === "h18".U ) -> sReg.lvdsWriteAble.extract(0), (addr === "h20".U & isMstMode) -> Cat(mReg.rxSM, mReg.txSM, 0.U(1.W) ), (addr === "h22".U & isMstMode) -> mReg.isRecCRCErr, //(addr === "h21".U & isMstMode) -> mReg.txLength, @@ -753,34 +755,35 @@ trait InterfaceCheckSM{ this: InterfaceBase => io.uSMenq(3) := isEnW & (( addrw & "hF800".U ) === "h4000".U) & (addrw(10,0) === cReg.smTrigLen(7) - 1.U) } -trait InterfaceLVDSop{ this: InterfaceBase => +trait InterfaceEBMMU{ this: InterfaceBase => io.lvds.datar := RegEnable(AcquireReg(addr = io.lvds.addrr), 0.U(8.W), io.lvds.isEnR) + ( 0 until 16 ).map{ i => sReg.ebmmu(i).lAddr := Cat( - RegEnable( io.lvds.dataw(5,0), 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h203".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h202".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h201".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h200".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw(5,0), 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h203".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h202".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h201".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h200".U(16.W) + (10*i).U )) ), ) sReg.ebmmu(i).pAddr := Cat( - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h205".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h204".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h205".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h204".U(16.W) + (10*i).U )) ), ) sReg.ebmmu(i).length := Cat( - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h207".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h206".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h207".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h206".U(16.W) + (10*i).U )) ), ) sReg.ebmmu(i).op := - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h208".U(16.W) + (10*i).U )) ) + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h208".U(16.W) + (10*i).U )) ) sReg.ebmmu(i).isEnable := - RegEnable( io.lvds.dataw.extract(0), false.B, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h209".U(16.W) + (10*i).U )) ) + RegEnable( io.lvds.dataw.extract(0), false.B, sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h209".U(16.W) + (10*i).U )) ) } } @@ -1121,7 +1124,21 @@ trait InterfaceSystem{ this: InterfaceBase => RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4e".U ) ) + val lvdsWriteAble = RegInit(0.U(16.W)); sReg.lvdsWriteAble := lvdsWriteAble + when( io.lvds.isEnW & (io.lvds.addrw === "h19".U(16.W)) ){ + lvdsWriteAble := Cat( io.lvds.dataw, lvdsWriteAble(7,0) ) + } .elsewhen( isEnW & (addrw === "h19".U(16.W)) ){ + lvdsWriteAble := Cat( dataw, lvdsWriteAble(7,0) ) + } .elsewhen( io.lvds.isEnW & (io.lvds.addrw === "h18".U(16.W)) ){ + lvdsWriteAble := Cat( lvdsWriteAble(15,8), io.lvds.dataw ) + } .elsewhen( isEnW & (addrw === "h18".U(16.W)) ){ + lvdsWriteAble := Cat( lvdsWriteAble(15,8), dataw ) + } + +} + +trait InterfaceInterrupt{ this: InterfaceBase => cReg.intEnable := Cat( 1.U(1.W), //复位中断,时钟为1 //31 上电复位 @@ -1267,11 +1284,8 @@ trait InterfaceSystem{ this: InterfaceBase => } io.interrupt := Mux( isLevelInt, (cReg.intStatus & cReg.intEnable).orR, intPulse) - - } - trait InterfaceEvent{ this: InterfaceBase => val isPosedgeOnce = for( i <- 0 until 2 ) yield RegEnable( dataw.extract(2), false.B, isEnW & ( addrw === ( "h500".U + (i*2).U ) )) val isNegedgeOnce = for( i <- 0 until 2 ) yield RegEnable( dataw.extract(3), false.B, isEnW & ( addrw === ( "h500".U + (i*2).U ) )) @@ -1498,11 +1512,12 @@ trait InterfaceStat{ this: InterfaceBase => class Interface extends InterfaceBase with InterfaceMCUop with InterfaceCheckSM -with InterfaceLVDSop +with InterfaceEBMMU with InterfaceSync with InterfaceStat with InterfaceWdt with InterfaceSystem +with InterfaceInterrupt with InterfaceEvent with InterfaceAnalog { @@ -1521,9 +1536,6 @@ with InterfaceAnalog sReg.localDevIndex := io.localDevIndex - // sReg.isDevOnLeft := io.isDevOnLeft - // sReg.isDevOnLeftModify := io.isDevOnLeftModify - // sReg.indexOfLeftDev := io.indexOfLeftDev sReg.isDevOnRight := io.isDevOnRight sReg.isDevOnRightModify := io.isDevOnRightModify sReg.indexOfRightDev := io.indexOfRightDev From 6cf1e217746b26748eb1e439fef9c0c054785ba6 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Wed, 3 Sep 2025 18:04:10 +0800 Subject: [PATCH 39/86] =?UTF-8?q?SM=E9=99=A4=E9=94=99=E4=BD=BF=E7=94=A8com?= =?UTF-8?q?mit=E6=8C=87=E9=92=88=E7=AD=96=E7=95=A5=EF=BC=8C=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E6=B5=8B=E8=AF=95=E8=A6=86=E7=9B=961=EF=BC=89?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E5=8C=85=E4=B8=AD=E5=90=8C=E6=97=B6=E5=86=99?= =?UTF-8?q?=E5=85=A5=E6=93=8D=E4=BD=9C0~4=E4=B8=AAsm=E7=9A=841~4=E4=B8=AA?= =?UTF-8?q?=E5=85=83=E7=B4=A0=E5=90=8E=E5=87=BA=E9=94=99=EF=BC=8C=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=AF=B9=E5=90=8E=E7=BB=ADSM=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=8F=91=E7=94=9F=E5=BD=B1=E5=93=8D=EF=BC=8C2=EF=BC=89?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E5=9C=A8SM=E7=A9=BA=E6=97=B6=E8=AF=BB?= =?UTF-8?q?=EF=BC=8C=E5=B0=9D=E8=AF=95=E5=9C=A8SM=E6=BB=A1=E6=97=B6?= =?UTF-8?q?=E5=86=99=EF=BC=8C=E6=98=AF=E5=90=A6=E4=BC=9A=E5=AF=B9=E5=90=8E?= =?UTF-8?q?=E7=BB=AD=E6=8F=90=E4=BA=A4=E6=93=8D=E4=BD=9C=E4=BA=A7=E7=94=9F?= =?UTF-8?q?=E5=BD=B1=E5=93=8D=203=EF=BC=89=E5=AF=84=E5=AD=98=E5=99=A80x538?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E7=9A=84=E6=97=B6=E9=97=B4=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E5=8C=BA=E5=88=86=E6=98=AF=E5=90=A6=E6=98=AF=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=8C=854=EF=BC=89=E5=9C=A8=E5=89=8D=E8=BF=B0=E5=A4=9A?= =?UTF-8?q?=E6=AC=A1=E5=A4=8D=E6=9D=82=E6=93=8D=E4=BD=9C=E5=90=8E=E5=AF=84?= =?UTF-8?q?=E5=AD=98=E5=99=A80x301=E7=9A=84=E8=AE=A1=E6=95=B0=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E6=AD=A3=E5=B8=B8=205=EF=BC=89=E4=BB=8Espi=E4=BE=A7?= =?UTF-8?q?=E5=86=99=E5=85=A5=E6=98=AF=E5=90=A6=E6=AD=A3=E5=B8=B8=206?= =?UTF-8?q?=EF=BC=89=E4=B8=BB=E7=AB=99=E5=86=99=E5=85=A5=E7=9A=84=E5=8C=85?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=B0=86=E4=B8=8D=E4=BC=9A=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scala/backBoard/shin/MstSlvSwitch.scala | 50 ++++++++++++++++--- src/main/scala/backBoard/shin/SMUnit.scala | 25 ++++------ 2 files changed, 55 insertions(+), 20 deletions(-) diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 688c892..e478fea 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -120,13 +120,24 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ val lvdsSMEnq = for( i <- 0 until 4 ) yield WireDefault(false.B); interface.io.lvdsSMEnq := lvdsSMEnq val lvdsSMDeq = for( i <- 0 until 4 ) yield WireDefault(false.B); interface.io.lvdsSMDeq := lvdsSMDeq - + val lvdsSMComf = for( i <- 0 until 4 ) yield WireDefault(false.B) + val lvdsSMAbrt = for( i <- 0 until 4 ) yield WireDefault(false.B) smUnit(0).io.enq := lvdsSMEnq(0) smUnit(2).io.enq := lvdsSMEnq(1) smUnit(4).io.enq := lvdsSMEnq(2) smUnit(6).io.enq := lvdsSMEnq(3) + smUnit(0).io.isComf := lvdsSMComf(0) + smUnit(2).io.isComf := lvdsSMComf(1) + smUnit(4).io.isComf := lvdsSMComf(2) + smUnit(6).io.isComf := lvdsSMComf(3) + + smUnit(0).io.isAbrt := lvdsSMAbrt(0) + smUnit(2).io.isAbrt := lvdsSMAbrt(1) + smUnit(4).io.isAbrt := lvdsSMAbrt(2) + smUnit(6).io.isAbrt := lvdsSMAbrt(3) + smUnit(1).io.deq := lvdsSMDeq(0) smUnit(3).io.deq := lvdsSMDeq(1) smUnit(5).io.deq := lvdsSMDeq(2) @@ -153,6 +164,16 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ smUnit(5).io.enq := interface.io.uSMenq(2) smUnit(7).io.enq := interface.io.uSMenq(3) + smUnit(1).io.isComf := RegNext( smUnit(1).io.enq, false.B ) + smUnit(3).io.isComf := RegNext( smUnit(3).io.enq, false.B ) + smUnit(5).io.isComf := RegNext( smUnit(5).io.enq, false.B ) + smUnit(7).io.isComf := RegNext( smUnit(7).io.enq, false.B ) + + smUnit(1).io.isAbrt := false.B + smUnit(3).io.isAbrt := false.B + smUnit(5).io.isAbrt := false.B + smUnit(7).io.isAbrt := false.B + for( i <- 0 until 8 ){ interface.io.smUsedDepth(i) := smUnit(i).io.cnt smUnit(i).io.flush := interface.io.isSMReset(i) @@ -257,7 +278,6 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ } - trait MstSlvSwitchMaster{ this: MstSlvSwitchBase => when( interface.io.cReg.modeSel === true.B ){ @@ -269,16 +289,24 @@ trait MstSlvSwitchMaster{ this: MstSlvSwitchBase => when( interface.io.txReq.bits.rxSM === 0.U ){ smUnit(0).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(0) := masterParser.io.rxEnq + lvdsSMEnq(0) := masterParser.io.rxEnq + lvdsSMComf(0) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(0) := false.B } .elsewhen( interface.io.txReq.bits.rxSM === 1.U ){ smUnit(2).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(1) := masterParser.io.rxEnq + lvdsSMEnq(1) := masterParser.io.rxEnq + lvdsSMComf(1) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(1) := false.B } .elsewhen( interface.io.txReq.bits.rxSM === 2.U ){ smUnit(4).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(2) := masterParser.io.rxEnq + lvdsSMEnq(2) := masterParser.io.rxEnq + lvdsSMComf(2) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(2) := false.B } .elsewhen( interface.io.txReq.bits.rxSM === 3.U ){ smUnit(6).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(3) := masterParser.io.rxEnq + lvdsSMEnq(3) := masterParser.io.rxEnq + lvdsSMComf(3) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(3) := false.B } when( interface.io.txReq.bits.txSM === 0.U ){ @@ -346,6 +374,16 @@ trait MstSlvSwitchSlave{ this: MstSlvSwitchBase => lvdsSMEnq(2) := slaveParser.io.dSMenq(2) lvdsSMEnq(3) := slaveParser.io.dSMenq(3) + lvdsSMComf(0) := slaveParser.io.downRecStat.isFinish + lvdsSMComf(1) := slaveParser.io.downRecStat.isFinish + lvdsSMComf(2) := slaveParser.io.downRecStat.isFinish + lvdsSMComf(3) := slaveParser.io.downRecStat.isFinish + + lvdsSMAbrt(0) := slaveParser.io.downRecStat.isRecError + lvdsSMAbrt(1) := slaveParser.io.downRecStat.isRecError + lvdsSMAbrt(2) := slaveParser.io.downRecStat.isRecError + lvdsSMAbrt(3) := slaveParser.io.downRecStat.isRecError + lvdsSMDeq(0) := slaveParser.io.uSMdeq(0) lvdsSMDeq(1) := slaveParser.io.uSMdeq(1) lvdsSMDeq(2) := slaveParser.io.uSMdeq(2) diff --git a/src/main/scala/backBoard/shin/SMUnit.scala b/src/main/scala/backBoard/shin/SMUnit.scala index 15acb50..3ffeb7c 100644 --- a/src/main/scala/backBoard/shin/SMUnit.scala +++ b/src/main/scala/backBoard/shin/SMUnit.scala @@ -34,25 +34,29 @@ class SMUnitIO(depth: Int) extends Bundle { val cnt = Output(UInt(8.W)) val flush = Input(Bool()) - + val isComf = Input(Bool()) + val isAbrt = Input(Bool()) } abstract class SMUnitBase(depth: Int = 4) extends Module with RequireAsyncReset{ + require(depth <= 4) val io: SMUnitIO = IO(new SMUnitIO(depth)) val wPtr = RegInit(0.U((log2Ceil(depth)+1).W)) val rPtr = RegInit(0.U((log2Ceil(depth)+1).W)) + val cPtr = RegInit(0.U((log2Ceil(depth)+1).W)) val isFull = (wPtr ^ rPtr) === (1.U << log2Ceil(depth)) - - val isEmpty = ( wPtr === rPtr ) + val isEmpty = ( cPtr === rPtr ) when(io.flush){ wPtr := 0.U } .elsewhen( io.enq & ~isFull ){ wPtr := wPtr + 1.U // assert( ~isFull) + } .elsewhen( io.isAbrt ){ + wPtr := cPtr } when(io.flush){ @@ -82,24 +86,17 @@ abstract class SMUnitBase(depth: Int = 4) extends Module with RequireAsyncReset{ } } - - io.sram_r.datar := Mux1H( ( 0 until depth).map{ i => ( (rPtr(log2Ceil(depth)-1, 0)) === i.U ) -> io.sram(i).rd.datar }) - val cnt = RegInit(0.U((log2Ceil(depth+1)).W)); io.cnt := cnt + io.cnt := cPtr - rPtr - when( io.flush ){ - cnt := 0.U - } .elsewhen( io.enq & ~isFull ){ - cnt := cnt + 1.U - assert(cnt =/= depth.U) - } .elsewhen( io.deq & ~isEmpty ){ - cnt := cnt - 1.U - assert(cnt =/= 0.U) + when( io.isComf ){ + cPtr := wPtr } + } class SMUnit(depth: Int = 4) extends SMUnitBase(depth) { From 1739cdb2a7cbf2f2e94f5dc6695cad118c31537e Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Tue, 2 Sep 2025 17:18:25 +0800 Subject: [PATCH 40/86] =?UTF-8?q?=E5=88=A0=E9=99=A4localpoint=E5=92=8Cloca?= =?UTF-8?q?lperoid=E5=92=8C=E4=B8=AD=E6=96=AD2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 114 ++++-------------- 1 file changed, 25 insertions(+), 89 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 45ca2fb..8915054 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -99,10 +99,6 @@ class CommonRegisterBundle extends Bundle{ val syncPeroid = UInt(32.W) val recoTimeStamp = UInt(64.W) //时钟补偿寄存器 - val localPeroid = UInt(32.W) - val localPoint = UInt(64.W) - - val custom = Vec( 128, UInt(8.W) ) val smUsedDepth = Vec(8, UInt(8.W)) @@ -482,19 +478,14 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === "h146".U ) -> cReg.syncOffset(3)(23,16), (addr === "h147".U ) -> cReg.syncOffset(3)(31,24), - (addr === "h148".U ) -> cReg.localPoint(7,0), - (addr === "h149".U ) -> cReg.localPoint(15,8), - (addr === "h14a".U ) -> cReg.localPoint(23,16), - (addr === "h14b".U ) -> cReg.localPoint(31,24), - (addr === "h14c".U ) -> cReg.localPoint(39,32), - (addr === "h14d".U ) -> cReg.localPoint(47,40), - (addr === "h14e".U ) -> cReg.localPoint(55,48), - (addr === "h14f".U ) -> cReg.localPoint(63,56), - - (addr === "h150".U ) -> cReg.localPeroid(7,0), - (addr === "h151".U ) -> cReg.localPeroid(15,8), - (addr === "h152".U ) -> cReg.localPeroid(23,16), - (addr === "h153".U ) -> cReg.localPeroid(31,24), + // (addr === "h148".U ) -> 0.U,//cReg.localPoint(7,0), + // (addr === "h149".U ) -> 0.U,//cReg.localPoint(15,8), + // (addr === "h14a".U ) -> 0.U,//cReg.localPoint(23,16), + // (addr === "h14b".U ) -> 0.U,//cReg.localPoint(31,24), + // (addr === "h14c".U ) -> 0.U,//cReg.localPoint(39,32), + // (addr === "h14d".U ) -> 0.U,//cReg.localPoint(47,40), + // (addr === "h14e".U ) -> 0.U,//cReg.localPoint(55,48), + // (addr === "h14f".U ) -> 0.U,//cReg.localPoint(63,56), ) ++ ( 0 until 128 ).map{ i => @@ -799,8 +790,6 @@ trait InterfaceSync{ this: InterfaceBase => val syncPoint = RegInit(0.U(64.W)); cReg.syncPoint := syncPoint val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid - val localPoint = RegInit(0.U(64.W)); cReg.localPoint := localPoint - val localPeroid = RegInit(0.U(32.W)); cReg.localPeroid := localPeroid val syncOffset = for( i <- 0 until 4 ) yield { RegInit(0.U(32.W)) } //空开0 for( i <- 0 until 4 ) { @@ -848,34 +837,23 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( dataw, syncPeroid(23,0) ) } - .elsewhen( addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), dataw ) - } .elsewhen( addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) - } .elsewhen( addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) - } .elsewhen( addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) - } .elsewhen( addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) - } .elsewhen( addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) - } .elsewhen( addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) - } .elsewhen( addrw === "h14f".U ){ - localPoint := Cat( dataw, localPoint(55,0) ) - } - - .elsewhen( addrw === "h150".U ){ - localPeroid := Cat( localPeroid(31,8), dataw ) - } .elsewhen( addrw === "h151".U ){ - localPeroid := Cat( localPeroid(31,16), dataw, localPeroid(7,0) ) - } .elsewhen( addrw === "h152".U ){ - localPeroid := Cat( localPeroid(31,24), dataw, localPeroid(15,0) ) - } .elsewhen( addrw === "h153".U ){ - localPeroid := Cat( dataw, localPeroid(23,0) ) - } - + // .elsewhen( addrw === "h148".U ){ + // localPoint := Cat( localPoint(63,8), dataw ) + // } .elsewhen( addrw === "h149".U ){ + // localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) + // } .elsewhen( addrw === "h14a".U ){ + // localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) + // } .elsewhen( addrw === "h14b".U ){ + // localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) + // } .elsewhen( addrw === "h14c".U ){ + // localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) + // } .elsewhen( addrw === "h14d".U ){ + // localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) + // } .elsewhen( addrw === "h14e".U ){ + // localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) + // } .elsewhen( addrw === "h14f".U ){ + // localPoint := Cat( dataw, localPoint(55,0) ) + // } for( i <- 1 until 4 ){ @@ -935,35 +913,6 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( io.lvds.dataw, syncPeroid(23,0) ) } - .elsewhen( io.lvds.addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), io.lvds.dataw, localPoint(7,0) ) - } .elsewhen( io.lvds.addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), io.lvds.dataw, localPoint(15,0) ) - } .elsewhen( io.lvds.addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), io.lvds.dataw, localPoint(23,0) ) - } .elsewhen( io.lvds.addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), io.lvds.dataw, localPoint(31,0) ) - } .elsewhen( io.lvds.addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), io.lvds.dataw, localPoint(39,0) ) - } .elsewhen( io.lvds.addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), io.lvds.dataw, localPoint(47,0) ) - } .elsewhen( io.lvds.addrw === "h14f".U ){ - localPoint := Cat( io.lvds.dataw, localPoint(55,0) ) - } - - .elsewhen( io.lvds.addrw === "h150".U ){ - localPeroid := Cat( localPeroid(31,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h151".U ){ - localPeroid := Cat( localPeroid(31,16), io.lvds.dataw, localPeroid(7,0) ) - } .elsewhen( io.lvds.addrw === "h152".U ){ - localPeroid := Cat( localPeroid(31,24), io.lvds.dataw, localPeroid(15,0) ) - } .elsewhen( io.lvds.addrw === "h153".U ){ - localPeroid := Cat( io.lvds.dataw, localPeroid(23,0) ) - } - - for( i <- 1 until 4 ){ when( io.lvds.addrw === ("h13c".U(16.W) + (4*(i-1)).U) ){ syncOffset(i) := Cat( syncOffset(i)(31,8), io.lvds.dataw ) @@ -1043,13 +992,6 @@ trait InterfaceSync{ this: InterfaceBase => io.sync(3) := cReg.syncCfg.extract(3) & syncSign(3) - val isLocalSyncInt = cReg.localPoint === cReg.recoTimeStamp - - when( isLocalSyncInt ){ //时间到达localSync时间点 - localPoint := cReg.localPoint + cReg.localPeroid - } - - } trait InterfaceWdt{ this: InterfaceBase => @@ -1176,11 +1118,6 @@ trait InterfaceInterrupt{ this: InterfaceBase => intStatus(1) := true.B } - //主站发送周期到了 - val isLocalSyncInt: Bool - when( isLocalSyncInt ){ - intStatus(2) := true.B - } //外部latch中断 val isLatchEvent = @@ -1262,7 +1199,6 @@ trait InterfaceInterrupt{ this: InterfaceBase => val trigIntPulse = (io.intMstTrig(0) & cReg.intEnable(0)) | //主站发送完成 (io.intMstTrig(1) & cReg.intEnable(1)) | //主站接收完成 - (isLocalSyncInt & cReg.intEnable(2)) | //主站发送周期到了 (isLatchEvent & cReg.intEnable(3)) | //latch Event (isWdtTrigAndEnable & cReg.intEnable(4)) | //主站接收看门狗溢出 (0 until 8).map{ i => io.intSlvTrig(i) & cReg.intEnable(8+i)}.reduce(_|_) | //从站SM请求 From 77da3d050748bbd13ec7e442fc1e4863522f8a95 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Tue, 2 Sep 2025 18:50:39 +0800 Subject: [PATCH 41/86] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=A0=A1=E5=87=86+spi?= =?UTF-8?q?=20lvds=E5=86=99=E5=85=A5=E7=A1=AE=E8=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 64 ++++++++++++------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 8915054..f1a3611 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -788,7 +788,8 @@ trait InterfaceSync{ this: InterfaceBase => cReg.syncWidth(i) := syncWidth(i) } - val syncPoint = RegInit(0.U(64.W)); cReg.syncPoint := syncPoint + val syncPoint = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)); cReg.syncPoint := syncPoint + val syncPoint_WRCopy = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)) val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid val syncOffset = for( i <- 0 until 4 ) yield { RegInit(0.U(32.W)) } //空开0 @@ -810,21 +811,22 @@ trait InterfaceSync{ this: InterfaceBase => } when( addrw === "h130".U ){ - syncPoint := Cat( syncPoint(63,8), dataw ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,8), dataw ) } .elsewhen( addrw === "h131".U ){ - syncPoint := Cat( syncPoint(63,16), dataw, syncPoint(7,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,16), dataw, syncPoint_WRCopy(7,0) ) } .elsewhen( addrw === "h132".U ){ - syncPoint := Cat( syncPoint(63,24), dataw, syncPoint(15,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,24), dataw, syncPoint_WRCopy(15,0) ) } .elsewhen( addrw === "h133".U ){ - syncPoint := Cat( syncPoint(63,32), dataw, syncPoint(23,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,32), dataw, syncPoint_WRCopy(23,0) ) } .elsewhen( addrw === "h134".U ){ - syncPoint := Cat( syncPoint(63,40), dataw, syncPoint(31,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,40), dataw, syncPoint_WRCopy(31,0) ) } .elsewhen( addrw === "h135".U ){ - syncPoint := Cat( syncPoint(63,48), dataw, syncPoint(39,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,48), dataw, syncPoint_WRCopy(39,0) ) } .elsewhen( addrw === "h136".U ){ - syncPoint := Cat( syncPoint(63,56), dataw, syncPoint(47,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,56), dataw, syncPoint_WRCopy(47,0) ) } .elsewhen( addrw === "h137".U ){ - syncPoint := Cat( dataw, syncPoint(55,0) ) + syncPoint_WRCopy := Cat( dataw, syncPoint_WRCopy(55,0) ) + syncPoint := Cat( dataw, syncPoint_WRCopy(55,0) ) } .elsewhen( addrw === "h138".U ){ @@ -870,7 +872,6 @@ trait InterfaceSync{ this: InterfaceBase => } - when( io.lvds.isEnW ){ when( io.lvds.addrw === "h120".U ){ @@ -886,21 +887,22 @@ trait InterfaceSync{ this: InterfaceBase => } .elsewhen( io.lvds.addrw === "h130".U ){ - syncPoint := Cat( syncPoint(63,8), io.lvds.dataw ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,8), io.lvds.dataw ) } .elsewhen( io.lvds.addrw === "h131".U ){ - syncPoint := Cat( syncPoint(63,16), io.lvds.dataw, syncPoint(7,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,16), io.lvds.dataw, syncPoint_WRCopy(7,0) ) } .elsewhen( io.lvds.addrw === "h132".U ){ - syncPoint := Cat( syncPoint(63,24), io.lvds.dataw, syncPoint(15,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,24), io.lvds.dataw, syncPoint_WRCopy(15,0) ) } .elsewhen( io.lvds.addrw === "h133".U ){ - syncPoint := Cat( syncPoint(63,32), io.lvds.dataw, syncPoint(23,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,32), io.lvds.dataw, syncPoint_WRCopy(23,0) ) } .elsewhen( io.lvds.addrw === "h134".U ){ - syncPoint := Cat( syncPoint(63,40), io.lvds.dataw, syncPoint(31,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,40), io.lvds.dataw, syncPoint_WRCopy(31,0) ) } .elsewhen( io.lvds.addrw === "h135".U ){ - syncPoint := Cat( syncPoint(63,48), io.lvds.dataw, syncPoint(39,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,48), io.lvds.dataw, syncPoint_WRCopy(39,0) ) } .elsewhen( io.lvds.addrw === "h136".U ){ - syncPoint := Cat( syncPoint(63,56), io.lvds.dataw, syncPoint(47,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,56), io.lvds.dataw, syncPoint_WRCopy(47,0) ) } .elsewhen( io.lvds.addrw === "h137".U ){ - syncPoint := Cat( io.lvds.dataw, syncPoint(55,0) ) + syncPoint_WRCopy := Cat( io.lvds.dataw, syncPoint_WRCopy(55,0) ) + syncPoint := Cat( io.lvds.dataw, syncPoint_WRCopy(55,0) ) } .elsewhen( io.lvds.addrw === "h138".U ){ @@ -926,7 +928,7 @@ trait InterfaceSync{ this: InterfaceBase => } } - cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 0.U(64.W) ) + cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 1.U(64.W) ) cReg.mstDeltaTime := io.mstDeltaTime @@ -941,24 +943,40 @@ trait InterfaceSync{ this: InterfaceBase => val syncOffsetCnt = for( i <- 0 until 4 ) yield { RegInit("hFFFFFFFF".U(32.W)) } //空开第0位 val syncResetCnt = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } //空开第0位 + val recoTimeStamp_Copy = RegInit(1.U(64.W)) - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + + when( + cReg.syncPoint === recoTimeStamp_Copy || + (io.lvds.addrw === "h120".U & io.lvds.isEnW) || //写syncCfg + (io.lvds.addrw === "h137".U & io.lvds.isEnW) || //写syncPoint + (io.lvds.addrw === "h13B".U & io.lvds.isEnW) || //写syncPeroid + (addrw === "h120".U & isEnW) || //写syncCfg + (addrw === "h137".U & isEnW) || //写syncPoint + (addrw === "h13B".U & isEnW) //写syncPeroid + ){ + recoTimeStamp_Copy := cReg.timeStamp + sReg.deltaFinal + } .otherwise{ + recoTimeStamp_Copy := recoTimeStamp_Copy + 1.U + } + + + when( cReg.syncPoint === recoTimeStamp_Copy ){ //时间到达sync0时间点 syncSign(0) := true.B - } .elsewhen( ~cReg.syncCfg(4+0) & syncResetCnt(0) === cReg.syncWidth(0) ){ syncSign(0) := false.B } .elsewhen( cReg.syncCfg(4+0) & isEnW & addrw === "h122".U ){ syncSign(0) := false.B } - when( cReg.syncPoint <= cReg.recoTimeStamp ){ + when( cReg.syncPoint <= recoTimeStamp_Copy ){ syncPoint := syncPoint + cReg.syncPeroid } for( i <- 1 until 4 ) { - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint === recoTimeStamp_Copy ){ //时间到达sync0时间点 syncOffsetCnt(i) := 0.U } .elsewhen( syncOffsetCnt(i) < cReg.syncOffset(i) ){ syncOffsetCnt(i) := syncOffsetCnt(i) + 1.U From cfed03b6096c4917e742122d3f82feecacb38b41 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Wed, 3 Sep 2025 11:23:57 +0800 Subject: [PATCH 42/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=BB=E7=AB=99offse?= =?UTF-8?q?t=E5=AF=84=E5=AD=98=E5=99=A8=E7=94=A8=E4=BA=8E=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E4=B8=BB=E7=AB=99=E6=A0=A1=E5=87=86=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 56 ++++++++++--------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index f1a3611..3014171 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -122,6 +122,7 @@ class MasterRegisterBundle extends Bundle{ val isRecCRCErr = UInt(4.W) val rplTimeStampTx = UInt(16.W) + val timeStampOffset = UInt(64.W) } @@ -478,14 +479,14 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === "h146".U ) -> cReg.syncOffset(3)(23,16), (addr === "h147".U ) -> cReg.syncOffset(3)(31,24), - // (addr === "h148".U ) -> 0.U,//cReg.localPoint(7,0), - // (addr === "h149".U ) -> 0.U,//cReg.localPoint(15,8), - // (addr === "h14a".U ) -> 0.U,//cReg.localPoint(23,16), - // (addr === "h14b".U ) -> 0.U,//cReg.localPoint(31,24), - // (addr === "h14c".U ) -> 0.U,//cReg.localPoint(39,32), - // (addr === "h14d".U ) -> 0.U,//cReg.localPoint(47,40), - // (addr === "h14e".U ) -> 0.U,//cReg.localPoint(55,48), - // (addr === "h14f".U ) -> 0.U,//cReg.localPoint(63,56), + (addr === "h148".U ) -> mReg.timeStampOffset(7,0), + (addr === "h149".U ) -> mReg.timeStampOffset(15,8), + (addr === "h14a".U ) -> mReg.timeStampOffset(23,16), + (addr === "h14b".U ) -> mReg.timeStampOffset(31,24), + (addr === "h14c".U ) -> mReg.timeStampOffset(39,32), + (addr === "h14d".U ) -> mReg.timeStampOffset(47,40), + (addr === "h14e".U ) -> mReg.timeStampOffset(55,48), + (addr === "h14f".U ) -> mReg.timeStampOffset(63,56), ) ++ ( 0 until 128 ).map{ i => @@ -788,6 +789,8 @@ trait InterfaceSync{ this: InterfaceBase => cReg.syncWidth(i) := syncWidth(i) } + val timeStampOffset = RegInit(0.U(64.W)); mReg.timeStampOffset := timeStampOffset + val timeStampOffset_WRCopy = RegInit(0.U(64.W)) val syncPoint = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)); cReg.syncPoint := syncPoint val syncPoint_WRCopy = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)) val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid @@ -839,23 +842,24 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( dataw, syncPeroid(23,0) ) } - // .elsewhen( addrw === "h148".U ){ - // localPoint := Cat( localPoint(63,8), dataw ) - // } .elsewhen( addrw === "h149".U ){ - // localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) - // } .elsewhen( addrw === "h14a".U ){ - // localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) - // } .elsewhen( addrw === "h14b".U ){ - // localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) - // } .elsewhen( addrw === "h14c".U ){ - // localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) - // } .elsewhen( addrw === "h14d".U ){ - // localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) - // } .elsewhen( addrw === "h14e".U ){ - // localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) - // } .elsewhen( addrw === "h14f".U ){ - // localPoint := Cat( dataw, localPoint(55,0) ) - // } + .elsewhen( addrw === "h148".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,8), dataw ) + } .elsewhen( addrw === "h149".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,16), dataw, timeStampOffset_WRCopy(7,0) ) + } .elsewhen( addrw === "h14a".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,24), dataw, timeStampOffset_WRCopy(15,0) ) + } .elsewhen( addrw === "h14b".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,32), dataw, timeStampOffset_WRCopy(23,0) ) + } .elsewhen( addrw === "h14c".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,40), dataw, timeStampOffset_WRCopy(31,0) ) + } .elsewhen( addrw === "h14d".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,48), dataw, timeStampOffset_WRCopy(39,0) ) + } .elsewhen( addrw === "h14e".U ){ + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,56), dataw, timeStampOffset_WRCopy(47,0) ) + } .elsewhen( addrw === "h14f".U ){ + timeStampOffset_WRCopy := Cat( dataw, timeStampOffset_WRCopy(55,0) ) + timeStampOffset := Cat( dataw, timeStampOffset_WRCopy(55,0) ) + } for( i <- 1 until 4 ){ @@ -934,7 +938,7 @@ trait InterfaceSync{ this: InterfaceBase => sReg.deltaFinal := io.deltaFinal cReg.recoTimeStamp := - Mux(isMstMode, cReg.timeStamp, + Mux(isMstMode, cReg.timeStamp + mReg.timeStampOffset, RegNext( cReg.timeStamp + sReg.deltaFinal, 0.U(64.W) ) ) sReg.slvDeltaTime := io.slvDeltaTime From 32beac196be56a2e1dd83acb5079b541ed0f4025 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 16:40:56 +0800 Subject: [PATCH 43/86] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index eb4ef27..0a14d49 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -54,8 +54,14 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc3()) #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) +<<<<<<< HEAD #add_tc_2_runlist(sync.tc6()) #add_tc_2_runlist(sync.tc7()) +======= + add_tc_2_runlist(sync.tc6()) + add_tc_2_runlist(sync.tc7()) + +>>>>>>> f0beaf1 (打开同步的测试用例) #add_tc_2_runlist(ebmmu.tc1()) #add_tc_2_runlist(ebmmu.tc2()) From 0bd21912910930a6e760673a3f4a75d063606b71 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 12:50:57 +0800 Subject: [PATCH 44/86] =?UTF-8?q?=E6=89=93=E5=BC=80=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E7=9A=84=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 0a14d49..eb4ef27 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -54,14 +54,8 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc3()) #add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc5()) -<<<<<<< HEAD #add_tc_2_runlist(sync.tc6()) #add_tc_2_runlist(sync.tc7()) -======= - add_tc_2_runlist(sync.tc6()) - add_tc_2_runlist(sync.tc7()) - ->>>>>>> f0beaf1 (打开同步的测试用例) #add_tc_2_runlist(ebmmu.tc1()) #add_tc_2_runlist(ebmmu.tc2()) From 6c56499f82a0780f63e941ebdee4b6641da1414b Mon Sep 17 00:00:00 2001 From: Ruige Lee Date: Wed, 3 Sep 2025 15:51:28 +0800 Subject: [PATCH 45/86] =?UTF-8?q?=E4=B8=BB=E7=AB=99=E5=8F=91=E9=80=81?= =?UTF-8?q?=E7=9A=84=E5=BA=94=E8=AF=A5=E6=98=AF=E5=8A=A0=E4=BA=86offset?= =?UTF-8?q?=E7=9A=84timestamp=EF=BC=88reco=EF=BC=89=EF=BC=9Bsoftreset?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E5=90=8C=E6=AD=A5=E5=90=8E=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scala/backBoard/shin/MasterParser.scala | 16 ++++++------- tb/shinTest/ShinTopSpiTb.v | 23 +++++++++++++++---- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/main/scala/backBoard/shin/MasterParser.scala b/src/main/scala/backBoard/shin/MasterParser.scala index eea465e..6bde127 100644 --- a/src/main/scala/backBoard/shin/MasterParser.scala +++ b/src/main/scala/backBoard/shin/MasterParser.scala @@ -113,14 +113,14 @@ abstract class MasterParserBase extends Module with RequireAsyncReset{ io.downOut.bits.tdata := Mux1H(Seq( ( txCnt < txLen ) -> MuxCase( io.sram_r.datar, Array( - ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> RegEnable(io.cReg.timeStamp(7,0), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.timeStamp(15,8), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.timeStamp(23,16), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.timeStamp(31,24), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.timeStamp(39,32), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.timeStamp(47,40), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.timeStamp(55,48), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), - ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.timeStamp(63,56), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> RegEnable(io.cReg.recoTimeStamp(7,0), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.recoTimeStamp(15,8), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.recoTimeStamp(23,16), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.recoTimeStamp(31,24), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.recoTimeStamp(39,32), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.recoTimeStamp(47,40), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.recoTimeStamp(55,48), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.recoTimeStamp(63,56), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), ( isRplDeltaStamp & ( txCnt === rplCnt8 ) ) -> io.cReg.mstDeltaTime(7,0), ( isRplDeltaStamp & ( txCnt === rplCnt9 ) ) -> io.cReg.mstDeltaTime(15,8), ( isRplDeltaStamp & ( txCnt === rplCnt10 ) ) -> io.cReg.mstDeltaTime(23,16), diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 32dc4a7..5210667 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -102,15 +102,28 @@ module ShinTopSpiTb( reg _reset_deactive; wire [(`ALL_DEV_NUM - 1):0] isSoftReset; + reg [(`ALL_DEV_NUM - 1):0] isSoftReset_reg; + + generate + for( genvar i = 0; i < `ALL_DEV_NUM; i = i + 1 ) begin + always @(posedge clock or posedge reset) begin + if(reset) isSoftReset_reg[i] <= 1'b0; + else isSoftReset_reg[i] <= isSoftReset[i]; + end + end + endgenerate + wire [`DEV_NUM:0] io_int_sig; reg latch0; reg latch1; + + ShinTop s_ShinTop_Mst( .clock(clock), - .reset(reset | isSoftReset[0]), + .reset(reset | isSoftReset_reg[0]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -165,7 +178,7 @@ ShinTop s_ShinTop_Mst( `ifdef DEFINE_SLAVE_DEVICE ShinTop s_ShinTop_slv0( .clock(clock), - .reset(reset | isSoftReset[1]), + .reset(reset | isSoftReset_reg[1]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -216,7 +229,7 @@ ShinTop s_ShinTop_slv0( ShinTop s_ShinTop_slv1( .clock(clock), - .reset(reset | isSoftReset[2]), + .reset(reset | isSoftReset_reg[2]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -267,7 +280,7 @@ ShinTop s_ShinTop_slv1( ShinTop s_ShinTop_slv2( .clock(clock), - .reset(reset | isSoftReset[3]), + .reset(reset | isSoftReset_reg[3]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -318,7 +331,7 @@ ShinTop s_ShinTop_slv2( ShinTop s_ShinTop_slv3( .clock(clock), - .reset(reset | isSoftReset[4]), + .reset(reset | isSoftReset_reg[4]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), From 8f19b209267b263d0f48ace98173f6319fb6edb7 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 16:45:17 +0800 Subject: [PATCH 46/86] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 10 +++---- tb/shinTest/testcase/sync.py | 52 ++++++++++++++++++++++++++++++++---- 2 files changed, 52 insertions(+), 10 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index eb4ef27..adbb669 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -71,11 +71,11 @@ if __name__ == '__main__': #add_tc_2_runlist(ebmmu.tc12()) #add_tc_2_runlist(ebmmu.tc13()) #add_tc_2_runlist(ebmmu.tc14()) - add_tc_2_runlist(ebmmu.tc15()) - add_tc_2_runlist(ebmmu.tc16()) - add_tc_2_runlist(ebmmu.tc17()) - add_tc_2_runlist(ebmmu.tc18()) - add_tc_2_runlist(ebmmu.tc19()) + #add_tc_2_runlist(ebmmu.tc15()) + #add_tc_2_runlist(ebmmu.tc16()) + #add_tc_2_runlist(ebmmu.tc17()) + #add_tc_2_runlist(ebmmu.tc18()) + #add_tc_2_runlist(ebmmu.tc19()) #add_tc_2_runlist(watchdog.tc1()) #add_tc_2_runlist(watchdog.tc2()) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index a2e269a..1cce485 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1311,18 +1311,60 @@ def tc7(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) - + + genPkt.clean() genPkt.setPktType(0) - sm_idx = 3 + sm_idx = 1 - genPkt.addBeforeExc( "\n#5000\n" + genPkt.addBeforeExc("\n#5000\n" +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(0, 0x40, False, 4) +genIFRwDataCode(0, 0x00, True, 1, [0x1, ]) - +genEnableInsertTimeCode(0xa) + ) + + genPkt.addSubPkt(0x0, 0, 0x180, 0xd, 10, b'\0'*10) + + gen_file_def_ap = gen_file_def + "_rw03" + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + +genTcEndFrameCode(gen_file_def) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + sm_idx = 1 + + + genPkt.addBeforeExc(genEnableInsertTimeCode(0xa) + '''spi_trans( (16'h0100), (`SPI_READ), (8), (`IF_IDX(0)));\n''' + '''_temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) + (rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56);\n''' + '''_temp_time = _temp_time + 32'h3000;\n\n''' @@ -1456,7 +1498,7 @@ def tc7(): genPkt.addSubPkt(2, 0, 0x120, 0x1, 0x28, data) - gen_file_def_ap = gen_file_def + "_rw03" + gen_file_def_ap = gen_file_def + "_rw04" genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) From 11c6a613c76cbf783636befcb6fe9a99ecd0695e Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 16:01:50 +0800 Subject: [PATCH 47/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/sync.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 1cce485..1e96d91 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1353,7 +1353,6 @@ def tc7(): +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) - +genTcEndFrameCode(gen_file_def) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap) From 4b0e81f8f2ed2fbe6b843d5e6e9366895e964f9f Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 16:21:37 +0800 Subject: [PATCH 48/86] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A4=8D=E4=BD=8D?= =?UTF-8?q?=E7=94=B5=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/environment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index ec3209f..a91827c 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -180,7 +180,7 @@ def __GenDevice(id, TerminateNode = False): code_device = ("\tShinTop s_ShinTop_slv%d(\n"%(id, ) +"\t.clock(clock),\n" - +"\t.reset(reset | isSoftReset[%d]),\n\n"%(id + 1,) + +"\t.reset(reset | isSoftReset_reg[%d]),\n\n"%(id + 1,) +"\t.io_multiCLK_0(multiCLK[0]),\n" +"\t.io_multiCLK_1(multiCLK[1]),\n" From 34b7576f15f4c2ef7eb3429dddf9f54fa221c274 Mon Sep 17 00:00:00 2001 From: bacon Date: Wed, 3 Sep 2025 19:08:29 +0800 Subject: [PATCH 49/86] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86base.tc27?= =?UTF-8?q?=E7=9A=84=E4=B8=AD=E6=96=AD=E6=B8=85=E9=99=A4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 3 ++- tb/shinTest/testcase/base.py | 7 ++++++- tb/shinTest/testcase/sync.py | 6 ++++++ tb/shinTest/testcase_result/base_tc08_result.log | 4 ++-- tb/shinTest/testcase_result/sys_bringup_result.log | 10 +++++----- 5 files changed, 21 insertions(+), 9 deletions(-) diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 5210667..5c55184 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -871,6 +871,7 @@ task wait_comm_finished(input [16:0] dev_idx); st = $realtime; is_run = 1; +`ifdef enable_wait_clear_int txBuf[0] = 8'h00; txBuf[1] = 8'h78; txBuf[2] = `SPI_WRITE; @@ -892,7 +893,7 @@ task wait_comm_finished(input [16:0] dev_idx); begin end - +`endif while (is_run == 1) begin txBuf[0] = 8'h00; diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 2ec7526..8d2447a 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1884,12 +1884,17 @@ def tc27(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 1e96d91..0d5ac25 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1375,6 +1375,8 @@ def tc7(): + '''txBuf[8] = 8'h00;\n''' + '''txBuf[9] = 8'h0a;\n''' + '''txBuf[10] = 8'h00;\n''' + + '''txBuf[11] = 8'h01;\n''' + + '''txBuf[12] = 8'h00;\n''' + '''txBuf[19] = (_temp_time & 8'hff);\n''' + '''txBuf[20] = ( (_temp_time >> 8) & 8'hff);\n''' + '''txBuf[21] = ((_temp_time >> 16) & 8'hff);\n''' @@ -1396,6 +1398,10 @@ def tc7(): + '''txBuf[37] = 8'h00;\n''' + '''txBuf[38] = 8'h00;\n''' + '''txBuf[39] = 8'h00;\n''' + + '''txBuf[40] = 8'h00;\n''' + + '''txBuf[41] = 8'h00;\n''' + + '''txBuf[42] = 8'h00;\n''' + + '''txBuf[43] = 8'h00;\n''' + '''spi_trans( (16'h0120), (`SPI_WRITE), (40), (`IF_IDX(0)));\n''' ) diff --git a/tb/shinTest/testcase_result/base_tc08_result.log b/tb/shinTest/testcase_result/base_tc08_result.log index 4efc7bf..7e78e62 100644 --- a/tb/shinTest/testcase_result/base_tc08_result.log +++ b/tb/shinTest/testcase_result/base_tc08_result.log @@ -1,8 +1,8 @@ 16'h0078 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 16'h0040 8'h00 16'h0004 8'h01 8'h00 8'h66 8'h79 16'h0040 8'h00 16'h0004 8'h01 8'h00 8'h66 8'h79 -16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 16'h0000 8'h00 16'h0001 8'h01 diff --git a/tb/shinTest/testcase_result/sys_bringup_result.log b/tb/shinTest/testcase_result/sys_bringup_result.log index a532b24..8b59d6f 100644 --- a/tb/shinTest/testcase_result/sys_bringup_result.log +++ b/tb/shinTest/testcase_result/sys_bringup_result.log @@ -1,8 +1,8 @@ -16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 -16'h0074 8'h01 16'h0004 8'h04 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff From b856a171aa14e91325dcafcdfed91b3e83f721c8 Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 4 Sep 2025 06:50:15 +0800 Subject: [PATCH 50/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=EF=BC=8C=E6=B5=8B=E8=AF=95SM=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=9B=9E=E9=80=80=E7=89=B9=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 33 ++ tb/shinTest/testcase/base.py | 86 ++++- tb/shinTest/testcase/environment.py | 6 + tb/shinTest/testcase/errorPkt.py | 327 ++++++++++++++++++ .../testcase_result/base_tc01_result.log | 1 + .../testcase_result/base_tc02_result.log | 1 + .../testcase_result/base_tc03_result.log | 1 + .../testcase_result/base_tc04_result.log | 1 + .../testcase_result/base_tc05_result.log | 1 + .../testcase_result/base_tc06_result.log | 1 + .../testcase_result/base_tc08_result.log | 30 +- .../testcase_result/base_tc10_result.log | 1 + .../testcase_result/base_tc12_result.log | 1 + .../testcase_result/sys_bringup_result.log | 2 + 14 files changed, 475 insertions(+), 17 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index adbb669..9a1519f 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -13,6 +13,39 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc4()) #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) + add_tc_2_runlist(errorPkt.tc7()) + add_tc_2_runlist(errorPkt.tc8()) + add_tc_2_runlist(errorPkt.tc9()) + add_tc_2_runlist(errorPkt.tc10()) + add_tc_2_runlist(errorPkt.tc11()) + add_tc_2_runlist(errorPkt.tc12()) + add_tc_2_runlist(errorPkt.tc13()) + add_tc_2_runlist(errorPkt.tc14()) + add_tc_2_runlist(errorPkt.tc15()) + add_tc_2_runlist(errorPkt.tc16()) + add_tc_2_runlist(errorPkt.tc17()) + add_tc_2_runlist(errorPkt.tc18()) + add_tc_2_runlist(errorPkt.tc19()) + add_tc_2_runlist(errorPkt.tc20()) + add_tc_2_runlist(errorPkt.tc21()) + add_tc_2_runlist(errorPkt.tc22()) + add_tc_2_runlist(errorPkt.tc23()) + add_tc_2_runlist(errorPkt.tc24()) + add_tc_2_runlist(errorPkt.tc25()) + add_tc_2_runlist(errorPkt.tc26()) + add_tc_2_runlist(errorPkt.tc27()) + add_tc_2_runlist(errorPkt.tc28()) + add_tc_2_runlist(errorPkt.tc29()) + add_tc_2_runlist(errorPkt.tc30()) + add_tc_2_runlist(errorPkt.tc31()) + add_tc_2_runlist(errorPkt.tc32()) + add_tc_2_runlist(errorPkt.tc33()) + add_tc_2_runlist(errorPkt.tc34()) + add_tc_2_runlist(errorPkt.tc35()) + add_tc_2_runlist(errorPkt.tc36()) + add_tc_2_runlist(errorPkt.tc37()) + add_tc_2_runlist(errorPkt.tc38()) + #add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 8d2447a..206cfa4 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -22,7 +22,10 @@ def tc1(): #genPkt.addSubPkt(11, 1, 0x300, 0x2, 4, None) sm_idx = 1 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -76,7 +79,10 @@ def tc2(): sm_idx = 2 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -137,7 +143,10 @@ def tc3(): sm_idx = 3 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -200,7 +209,10 @@ def tc4(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -305,7 +317,10 @@ def tc5(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -357,6 +372,8 @@ def tc6(): genPkt.setPktType(0) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + genSlvSMWriteData(3, 1, 129) + genSlvSMWriteData(4, 1, 140) + genSlvSMWriteData(1, 1, 128) @@ -432,7 +449,10 @@ def tc7(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -495,6 +515,14 @@ def tc8(): +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) + +genMessageCode("--设置中断为脉冲模式") + +genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81]) + +genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81]) + + +genMessageCode("--使能中断") + +genIFRwDataCode(0, 0x70, True, 4, [0x03, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genMessageCode("--读取中断使能") +genIFRwDataCode(0, 0x70, False, 4) +genIFRwDataCode(2, 0x70, False, 4) @@ -502,6 +530,9 @@ def tc8(): +genMessageCode("--配置主从站") +genIFRwDataCode(0, 0x00, True, 1, main_dev) +genIFRwDataCode(2, 0x00, True, 1, slave_dev) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) @@ -552,6 +583,9 @@ def tc8(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -570,11 +604,9 @@ def tc8(): +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) - #+genTcEndFrameCode(gen_file_def) - +genIFRwDataCode(1, 0xc0, False, 4) - +genIFRwDataCode(2, 0xc0, False, 4) - +genIFRwDataCode(3, 0xc0, False, 4) - +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -601,6 +633,28 @@ def tc8(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + +genTcEndFrameCode(gen_file_def) ) @@ -720,6 +774,8 @@ def tc9(): custom_data3 = list(range(1*3, 129*3, 3)) custom_data4 = list(range(1*4, 129*4, 4)) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x180, True, 128, custom_data1) +genIFRwDataCode(2, 0x180, True, 128, custom_data2) +genIFRwDataCode(3, 0x180, True, 128, custom_data3) @@ -793,6 +849,8 @@ def tc10(): genPkt.addSubPkt(i, 0, 0x083c, 1, 4, [29, 30, 31, 32]) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -894,6 +952,8 @@ def tc12(): data = [0, ] * op_size genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.addSubPkt(0, 0, 0x80, 0xe, op_size, data) @@ -958,6 +1018,8 @@ def tc13(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) sm_idx = 0 @@ -966,6 +1028,8 @@ def tc13(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genCheckInsertTimeCode() ) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index a91827c..4ab019c 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -66,6 +66,9 @@ def bringup(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -89,6 +92,9 @@ def bringup(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) diff --git a/tb/shinTest/testcase/errorPkt.py b/tb/shinTest/testcase/errorPkt.py index 59b14b3..eb353e6 100644 --- a/tb/shinTest/testcase/errorPkt.py +++ b/tb/shinTest/testcase/errorPkt.py @@ -647,3 +647,330 @@ def tc6(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) return gen_file_def + + + +def mk_subpkt(dev, type, addr, cmd, len, dat): + ret_dat = list() + + temp = ((dev & 0x3fff) << 2) | (type & 0x3) + ret_dat = ret_dat + [(temp >> 8) & 0xff, temp & 0xff, (addr >> 8) & 0xff, addr & 0xff] + + temp = ((cmd & 0xf) << 12) | (len & 0xfff) + ret_dat = ret_dat + [(temp >>8) & 0xff, temp & 0xff] + + ret_dat = ret_dat + dat + [0, 0] + + return ret_dat + +def sm_wr_err_test(tc_id, sm_id, pre_g_pkt = 1, good_pkt_in_bad = 1, after_g_pkt = 1, data_size = 0x10, dev = 1, cmd = 0x1): + random.seed(int(time.time() * 1000)) + genPkt = GenPkt() + + gen_file_def = "error_pkt_tc%02d"%(tc_id, ) + sm_idx = 0 + tc_des = (f"测试SM{sm_id},先写入正确的数据包,包含{pre_g_pkt}个操作SM{sm_id}的子包,然后写入错误的数据包,其中包含正确的操作SM{sm_id}的数据子包有{good_pkt_in_bad}个,\\n" + f"然后再发送正确的数据包,其中包含{after_g_pkt}个操作SM{sm_id}的子包。然后检查SM{sm_id}的状态以及数据。\\n" + f"所有数据包的长度都是{data_size}字节,设备{dev}, 命令{cmd}。没有比对数据,需要手动检查。" + ) + + + genPkt.clean() + genPkt.addSubPkt(0x0, 0x0, 0x302 + 4 * sm_id, 0xe, 2, [(data_size & 0xff), ((data_size >> 8)&0xff)]) + for pkt_num in range(pre_g_pkt): + genPkt.addSubPkt(dev, 0x0, 0x800 + 0x800 * sm_id, cmd, data_size, [((i * (pkt_num + 1)) & 0xff) for i in range(data_size)]) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--MB状态寄存器") + +genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + + temp = ((data_size * 6) & 0xfff) << 4 + data = [(temp >> 8)&0xff, temp & 0xff, 0, 0] + + for i in range(good_pkt_in_bad): + data = data + mk_subpkt(dev, 0, 0x800 + 0x800 * sm_id, cmd, data_size, [((j * (i + 1) + 1) & 0xff) for j in range(data_size)]) + + for i in range(128): + data.append(random.randint(0, 255)) + data = data + [0, 0] + + genPkt.setPkt(2, data) + + sm_idx = 0 + genPkt.addBeforeExc(genMessageCode("--读取统计寄存器") + +genIFRwDataCode(0, 0x80, False, 24) + +genIFRwDataCode(0, 0xa0, False, 24) + +genIFRwDataCode(1, 0x80, False, 24) + +genIFRwDataCode(1, 0xa0, False, 24) + ) + + gen_file_def_ap = gen_file_def + "_rw01" + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + +genMessageCode("--读取统计寄存器") + +genIFRwDataCode(0, 0x80, False, 24) + +genIFRwDataCode(0, 0xa0, False, 24) + +genIFRwDataCode(1, 0x80, False, 24) + +genIFRwDataCode(1, 0xa0, False, 24) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--MB状态寄存器") + +genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + + gen_file_def_ap = gen_file_def + "_rw02" + sm_idx = 0 + + genPkt.addSubPkt(0, 0, 0, 0, 8, [0, ] * 8) + + for pkt_num in range(after_g_pkt): + genPkt.addSubPkt(dev, 0x0, 0x800 + 0x800 * sm_id, cmd, data_size, [((i * (pkt_num + 1) - 1) & 0xff) for i in range(data_size)]) + + if sm_id < 4: + code_str = (genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)) + else: + code_str = (genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + #+genMessageCode("--读取统计寄存器") + #+genIFRwDataCode(0, 0x80, False, 24) + #+genIFRwDataCode(0, 0xa0, False, 24) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--MB状态寄存器") + +genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1) + + +genMessageCode("--读取MB数据") + +code_str + + #+genMessageCode("--复位MB状态") + #+genIFRwDataCode(1, 0x300 + sm_id * 0x4, True, 1, [0, ]) + #+genIFRwDataCode(2, 0x300 + sm_id * 0x4, True, 1, [0, ]) + #+genIFRwDataCode(3, 0x300 + sm_id * 0x4, True, 1, [0, ]) + #+genIFRwDataCode(4, 0x300 + sm_id * 0x4, True, 1, [0, ]) + + +genTcEndFrameCode(gen_file_def)) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + return gen_file_def + +''' +测试SM0 +''' +def tc7(): + return sm_wr_err_test(7, 0, 1, 2, 1, 32) + +def tc8(): + return sm_wr_err_test(8, 0, 2, 2, 1, 32) + +def tc9(): + return sm_wr_err_test(9, 0, 4, 2, 1, 16) + +def tc10(): + return sm_wr_err_test(10, 0, 0, 5, 1, 16) + +def tc11(): + return sm_wr_err_test(11, 0, 0, 5, 3, 64) + +def tc12(): + return sm_wr_err_test(12, 0, 1, 1, 4, 64) + +def tc13(): + return sm_wr_err_test(13, 0, 0, 5, 0, 128) + +def tc14(): + return sm_wr_err_test(14, 0, 4, 5, 4, 128) + + +''' +测试SM2 +''' +def tc15(): + return sm_wr_err_test(15, 2, 1, 2, 1, 32) + +def tc16(): + return sm_wr_err_test(16, 2, 2, 2, 1, 32) + +def tc17(): + return sm_wr_err_test(17, 2, 4, 2, 1, 16) + +def tc18(): + return sm_wr_err_test(18, 2, 0, 5, 1, 16) + +def tc19(): + return sm_wr_err_test(19, 2, 0, 5, 3, 64) + +def tc20(): + return sm_wr_err_test(20, 2, 1, 1, 4, 64) + +def tc21(): + return sm_wr_err_test(21, 2, 0, 5, 0, 128) + +def tc22(): + return sm_wr_err_test(22, 2, 4, 5, 4, 128) + + + +''' +测试SM4 +''' +def tc23(): + return sm_wr_err_test(23, 4, 1, 2, 1, 32) + +def tc24(): + return sm_wr_err_test(24, 4, 2, 2, 1, 32) + +def tc25(): + return sm_wr_err_test(25, 4, 4, 2, 1, 16) + +def tc26(): + return sm_wr_err_test(26, 4, 0, 5, 1, 16) + +def tc27(): + return sm_wr_err_test(27, 4, 0, 5, 3, 64) + +def tc28(): + return sm_wr_err_test(28, 4, 1, 1, 4, 64) + +def tc29(): + return sm_wr_err_test(29, 4, 0, 5, 0, 128) + +def tc30(): + return sm_wr_err_test(30, 4, 4, 5, 4, 128) + + +''' +测试SM6 +''' +def tc31(): + return sm_wr_err_test(31, 6, 1, 2, 1, 32) + +def tc32(): + return sm_wr_err_test(32, 6, 2, 2, 1, 32) + +def tc33(): + return sm_wr_err_test(33, 6, 4, 2, 1, 16) + +def tc34(): + return sm_wr_err_test(34, 6, 0, 5, 1, 16) + +def tc35(): + return sm_wr_err_test(35, 6, 0, 5, 3, 64) + +def tc36(): + return sm_wr_err_test(36, 6, 1, 1, 4, 64) + +def tc37(): + return sm_wr_err_test(37, 6, 0, 5, 0, 128) + +def tc38(): + return sm_wr_err_test(38, 6, 4, 5, 4, 128) + diff --git a/tb/shinTest/testcase_result/base_tc01_result.log b/tb/shinTest/testcase_result/base_tc01_result.log index 7ff344f..b6d82a2 100644 --- a/tb/shinTest/testcase_result/base_tc01_result.log +++ b/tb/shinTest/testcase_result/base_tc01_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h030a 8'h00 16'h0002 8'h94 8'h00 16'h030e 8'h00 16'h0002 8'h94 8'h00 16'h2000 8'h00 16'h0094 8'h09 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc02_result.log b/tb/shinTest/testcase_result/base_tc02_result.log index 35f5a5d..eefba1f 100644 --- a/tb/shinTest/testcase_result/base_tc02_result.log +++ b/tb/shinTest/testcase_result/base_tc02_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0312 8'h00 16'h0002 8'h8c 8'h00 16'h0316 8'h00 16'h0002 8'h8c 8'h00 16'h3000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc03_result.log b/tb/shinTest/testcase_result/base_tc03_result.log index 18ba467..729640b 100644 --- a/tb/shinTest/testcase_result/base_tc03_result.log +++ b/tb/shinTest/testcase_result/base_tc03_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h031a 8'h00 16'h0002 8'h26 8'h00 16'h031e 8'h00 16'h0002 8'h26 8'h00 16'h4000 8'h00 16'h0026 8'h02 8'h20 8'h00 8'h00 8'h13 8'hf8 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h12 8'h90 8'h08 8'h00 8'he0 8'h10 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc04_result.log b/tb/shinTest/testcase_result/base_tc04_result.log index 544ef59..6cc9fcd 100644 --- a/tb/shinTest/testcase_result/base_tc04_result.log +++ b/tb/shinTest/testcase_result/base_tc04_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'hc4 8'h01 16'h0306 8'h00 16'h0002 8'hc4 8'h01 16'h1000 8'h00 16'h01c4 8'h1c 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h40 8'h10 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h00 8'h0c 8'h10 8'h40 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h60 8'hdf 8'h00 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h64 8'hdf 8'h01 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h68 8'hdf 8'h02 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h6c 8'hdf 8'h03 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h70 8'hdf 8'h04 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc05_result.log b/tb/shinTest/testcase_result/base_tc05_result.log index e2105b3..e5b0445 100644 --- a/tb/shinTest/testcase_result/base_tc05_result.log +++ b/tb/shinTest/testcase_result/base_tc05_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h54 8'h01 16'h0306 8'h00 16'h0002 8'h54 8'h01 16'h1000 8'h00 16'h0154 8'h15 8'h00 8'h00 8'h00 8'h00 8'h08 8'h03 8'h00 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h03 8'h08 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h10 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h10 8'h03 8'h18 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h08 8'h08 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h42 8'h41 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h42 8'h41 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h0c 8'h28 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h42 8'h41 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h10 8'h38 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h42 8'h41 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc06_result.log b/tb/shinTest/testcase_result/base_tc06_result.log index 06f2b23..a00b0d2 100644 --- a/tb/shinTest/testcase_result/base_tc06_result.log +++ b/tb/shinTest/testcase_result/base_tc06_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0306 8'h00 16'h0002 8'h81 8'h00 16'h1000 8'h00 16'h0081 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 16'h0306 8'h00 16'h0002 8'h8c 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc08_result.log b/tb/shinTest/testcase_result/base_tc08_result.log index 7e78e62..92a2444 100644 --- a/tb/shinTest/testcase_result/base_tc08_result.log +++ b/tb/shinTest/testcase_result/base_tc08_result.log @@ -3,10 +3,15 @@ 16'h0040 8'h00 16'h0004 8'h01 8'h00 8'h66 8'h79 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 -16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 -16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h0070 8'h00 16'h0004 8'h03 8'h00 8'h00 8'hf0 +16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 +16'h0070 8'h01 16'h0004 8'h03 8'h00 8'h00 8'hf0 +16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'hf0 16'h0000 8'h00 16'h0001 8'h01 16'h0000 8'h00 16'h0001 8'h02 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h8c 8'h00 16'h0306 8'h00 16'h0002 8'h8c 8'h00 16'h1000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 @@ -29,15 +34,13 @@ 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h0e 8'h00 16'h0306 8'h00 16'h0002 8'h0e 8'h00 16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h04 -16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h02 8'h00 -16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 -16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 -16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h02 8'h00 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 @@ -51,3 +54,18 @@ 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc10_result.log b/tb/shinTest/testcase_result/base_tc10_result.log index aaf6256..7419fe3 100644 --- a/tb/shinTest/testcase_result/base_tc10_result.log +++ b/tb/shinTest/testcase_result/base_tc10_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h2c 8'h03 16'h0306 8'h00 16'h0002 8'h2c 8'h03 16'h1000 8'h00 16'h032c 8'h32 8'h80 8'h00 8'h00 8'h00 8'h04 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h04 8'h02 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h04 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h04 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h04 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h04 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h04 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h04 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h04 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h04 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h04 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h04 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h04 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h08 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h08 8'h08 8'h00 8'h10 8'h04 8'h03 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h08 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h08 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h08 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h08 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h08 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h08 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h08 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h08 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h08 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h08 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h08 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h00 8'h10 8'h04 8'h04 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h10 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h10 8'h08 8'h00 8'h10 8'h04 8'h05 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h10 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h10 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h10 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h10 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h10 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h10 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h10 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h10 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h10 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h10 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h10 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc12_result.log b/tb/shinTest/testcase_result/base_tc12_result.log index 704215b..fe5ebe6 100644 --- a/tb/shinTest/testcase_result/base_tc12_result.log +++ b/tb/shinTest/testcase_result/base_tc12_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h24 8'h00 16'h0306 8'h00 16'h0002 8'h24 8'h00 16'h1000 8'h00 16'h0024 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h80 8'he0 8'h18 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/sys_bringup_result.log b/tb/shinTest/testcase_result/sys_bringup_result.log index 8b59d6f..312fd7a 100644 --- a/tb/shinTest/testcase_result/sys_bringup_result.log +++ b/tb/shinTest/testcase_result/sys_bringup_result.log @@ -27,6 +27,7 @@ 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h00 8'h00 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h00 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h0e 8'h00 16'h0306 8'h00 16'h0002 8'h0e 8'h00 16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h00 @@ -36,6 +37,7 @@ 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h04 8'h00 16'h0306 8'h00 16'h0002 8'h04 8'h00 16'h1000 8'h00 16'h0004 8'h00 8'h01 8'h3f 8'hff From 976a2674aa875c113075e05bc088062185f35923 Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 4 Sep 2025 16:22:02 +0800 Subject: [PATCH 51/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 66 ++++---- tb/shinTest/testcase/base.py | 26 +++- tb/shinTest/testcase/broadcast.py | 15 +- tb/shinTest/testcase/ebmmu.py | 146 +++++++++++++++--- tb/shinTest/testcase/readregs.py | 2 +- .../testcase_result/base_tc23_result.log | 1 + .../testcase_result/broadcast_tc01_result.log | 1 + .../testcase_result/broadcast_tc02_result.log | 1 + .../testcase_result/broadcast_tc03_result.log | 1 + .../testcase_result/ebmmu_tc01_result.log | 9 +- .../testcase_result/ebmmu_tc02_result.log | 9 +- .../testcase_result/ebmmu_tc03_result.log | 9 +- .../testcase_result/ebmmu_tc04_result.log | 9 +- .../testcase_result/ebmmu_tc05_result.log | 9 +- .../testcase_result/ebmmu_tc06_result.log | 9 +- .../testcase_result/ebmmu_tc07_result.log | 9 +- .../testcase_result/ebmmu_tc08_result.log | 9 +- .../testcase_result/ebmmu_tc09_result.log | 9 +- .../testcase_result/ebmmu_tc10_result.log | 9 +- .../testcase_result/ebmmu_tc11_result.log | 9 +- .../testcase_result/ebmmu_tc12_result.log | 9 +- .../testcase_result/ebmmu_tc13_result.log | 9 +- .../testcase_result/ebmmu_tc14_result.log | 9 +- .../testcase_result/ebmmu_tc15_result.log | 9 +- .../testcase_result/ebmmu_tc16_result.log | 9 +- .../testcase_result/ebmmu_tc17_result.log | 9 +- .../testcase_result/ebmmu_tc18_result.log | 9 +- .../testcase_result/ebmmu_tc19_result.log | 9 +- 28 files changed, 293 insertions(+), 137 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 9a1519f..b682d6a 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -13,38 +13,38 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc4()) #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) - add_tc_2_runlist(errorPkt.tc7()) - add_tc_2_runlist(errorPkt.tc8()) - add_tc_2_runlist(errorPkt.tc9()) - add_tc_2_runlist(errorPkt.tc10()) - add_tc_2_runlist(errorPkt.tc11()) - add_tc_2_runlist(errorPkt.tc12()) - add_tc_2_runlist(errorPkt.tc13()) - add_tc_2_runlist(errorPkt.tc14()) - add_tc_2_runlist(errorPkt.tc15()) - add_tc_2_runlist(errorPkt.tc16()) - add_tc_2_runlist(errorPkt.tc17()) - add_tc_2_runlist(errorPkt.tc18()) - add_tc_2_runlist(errorPkt.tc19()) - add_tc_2_runlist(errorPkt.tc20()) - add_tc_2_runlist(errorPkt.tc21()) - add_tc_2_runlist(errorPkt.tc22()) - add_tc_2_runlist(errorPkt.tc23()) - add_tc_2_runlist(errorPkt.tc24()) - add_tc_2_runlist(errorPkt.tc25()) - add_tc_2_runlist(errorPkt.tc26()) - add_tc_2_runlist(errorPkt.tc27()) - add_tc_2_runlist(errorPkt.tc28()) - add_tc_2_runlist(errorPkt.tc29()) - add_tc_2_runlist(errorPkt.tc30()) - add_tc_2_runlist(errorPkt.tc31()) - add_tc_2_runlist(errorPkt.tc32()) - add_tc_2_runlist(errorPkt.tc33()) - add_tc_2_runlist(errorPkt.tc34()) - add_tc_2_runlist(errorPkt.tc35()) - add_tc_2_runlist(errorPkt.tc36()) - add_tc_2_runlist(errorPkt.tc37()) - add_tc_2_runlist(errorPkt.tc38()) + #add_tc_2_runlist(errorPkt.tc7()) + #add_tc_2_runlist(errorPkt.tc8()) + #add_tc_2_runlist(errorPkt.tc9()) + #add_tc_2_runlist(errorPkt.tc10()) + #add_tc_2_runlist(errorPkt.tc11()) + #add_tc_2_runlist(errorPkt.tc12()) + #add_tc_2_runlist(errorPkt.tc13()) + #add_tc_2_runlist(errorPkt.tc14()) + #add_tc_2_runlist(errorPkt.tc15()) + #add_tc_2_runlist(errorPkt.tc16()) + #add_tc_2_runlist(errorPkt.tc17()) + #add_tc_2_runlist(errorPkt.tc18()) + #add_tc_2_runlist(errorPkt.tc19()) + #add_tc_2_runlist(errorPkt.tc20()) + #add_tc_2_runlist(errorPkt.tc21()) + #add_tc_2_runlist(errorPkt.tc22()) + #add_tc_2_runlist(errorPkt.tc23()) + #add_tc_2_runlist(errorPkt.tc24()) + #add_tc_2_runlist(errorPkt.tc25()) + #add_tc_2_runlist(errorPkt.tc26()) + #add_tc_2_runlist(errorPkt.tc27()) + #add_tc_2_runlist(errorPkt.tc28()) + #add_tc_2_runlist(errorPkt.tc29()) + #add_tc_2_runlist(errorPkt.tc30()) + #add_tc_2_runlist(errorPkt.tc31()) + #add_tc_2_runlist(errorPkt.tc32()) + #add_tc_2_runlist(errorPkt.tc33()) + #add_tc_2_runlist(errorPkt.tc34()) + #add_tc_2_runlist(errorPkt.tc35()) + #add_tc_2_runlist(errorPkt.tc36()) + #add_tc_2_runlist(errorPkt.tc37()) + #add_tc_2_runlist(errorPkt.tc38()) #add_tc_2_runlist(base.tc1()) @@ -105,7 +105,7 @@ if __name__ == '__main__': #add_tc_2_runlist(ebmmu.tc13()) #add_tc_2_runlist(ebmmu.tc14()) #add_tc_2_runlist(ebmmu.tc15()) - #add_tc_2_runlist(ebmmu.tc16()) + add_tc_2_runlist(ebmmu.tc16()) #add_tc_2_runlist(ebmmu.tc17()) #add_tc_2_runlist(ebmmu.tc18()) #add_tc_2_runlist(ebmmu.tc19()) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 206cfa4..04ff389 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1131,6 +1131,8 @@ def tc14(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) sm_idx = 0 @@ -1158,6 +1160,9 @@ def tc14(): +genIFRwDataCode(2, 0x500, False, 0x48) +genIFRwDataCode(3, 0x500, False, 0x48) +genIFRwDataCode(4, 0x500, False, 0x48) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genSlvSMWriteData(1, 1, s2m_size, list(range(s2m_size))) +genSlvSMWriteData(2, 1, s2m_size, list(range(s2m_size))) @@ -1247,7 +1252,10 @@ def tc_wr_sm(tc_id, wr_sm_idx): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1365,6 +1373,9 @@ def tc_rd_sm(tc_id, rd_sm_idx): sm_idx = 0 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genMessageCode("--设备1的写") +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(0, 32))) @@ -1492,6 +1503,8 @@ def tc23(): genPkt.setPktType(0) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1548,6 +1561,8 @@ def tc24(): genPkt.setPktType(1) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) #+genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) #+genIFRwDataCode(3, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) #+genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) @@ -1809,6 +1824,8 @@ def tc25(): sm_idx = 1 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -1865,6 +1882,8 @@ def tc26(): sm_idx = 1 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -2462,7 +2481,10 @@ def tc29(): sm_idx = 2 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) diff --git a/tb/shinTest/testcase/broadcast.py b/tb/shinTest/testcase/broadcast.py index 89539ce..564de0e 100644 --- a/tb/shinTest/testcase/broadcast.py +++ b/tb/shinTest/testcase/broadcast.py @@ -29,7 +29,10 @@ def tc1(): #gen_file_def = "bc_r_pkt" sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -88,7 +91,10 @@ def tc2(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -152,7 +158,10 @@ def tc3(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index 62b61ae..f431428 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -14,6 +14,7 @@ def tc1(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x10000000, 0x0200, 0x0a, 0x3, 0x1) @@ -33,7 +34,12 @@ def tc1(): setting_ebmmu_regs(data, 0, 0x1000001e, 0x0200, 0x0a, 0x3, 0x1) genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 10, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -166,7 +172,7 @@ def tc2(): #>>>>>>设置EB-MMU 2 genPkt.clean() genPkt.setPktType(0) - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x20000000, 0x0000, 0x10, 0x1, 0x1) @@ -185,8 +191,12 @@ def tc2(): data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x20000030, 0x0000, 0x10, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x020a, 0x1, 10, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -318,7 +328,7 @@ def tc3(): #>>>>>>设置EB-MMU 3 genPkt.clean() genPkt.setPktType(0) - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x10000000, 0x0200, 0x0a, 0x3, 0x1) @@ -356,8 +366,12 @@ def tc3(): setting_ebmmu_regs(data, 0, 0x1000001e+0xa+0xc+0xc+0xc, 0x0000, 0x0c, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x0214, 0x1, 10, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -446,10 +460,14 @@ def tc4(): genPkt.setPktType(0) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + genSlvSMWriteData(1, 1, 0x80) + genSlvSMWriteData(2, 3, 0x98) + genSlvSMWriteData(3, 5, 0x81) + genSlvSMWriteData(4, 7, 0x8c)) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 @@ -473,6 +491,8 @@ def tc4(): addr = 0x58 + 0x80 + 0x98 + 0x81 setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x4000, 0x8c, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) + sm_idx = 0 @@ -563,8 +583,11 @@ def tc5(): genPkt.clean() genPkt.setPktType(0) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x10000058, 0x1000, 0x80, 0x1, 0x1) @@ -588,7 +611,7 @@ def tc5(): setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x4000, 0x8c, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data) - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -676,6 +699,7 @@ def tc6(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x58 + 0x80 + 0x98 + 0x81 + 0x8c #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -706,11 +730,15 @@ def tc6(): data[0] = 0x80 data[1] = 0x00 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) #gen_file_def = "ebmmu_tc6_settings" sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -811,6 +839,7 @@ def tc7(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x58 + 0x80 + 0x98 + 0x81 + 0x8c #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -849,7 +878,12 @@ def tc7(): #gen_file_def = "ebmmu_tc7_settings" sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -950,6 +984,7 @@ def tc8(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x0 #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -963,10 +998,14 @@ def tc8(): data[0] = 0x80 data[1] = 0x00 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1061,6 +1100,7 @@ def tc9(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x0 #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1074,10 +1114,14 @@ def tc9(): data[0] = 0x00 data[1] = 0x01 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1175,7 +1219,7 @@ def tc10(): genPkt.setPktType(0) addr_off = 0x0 - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1187,10 +1231,14 @@ def tc10(): data[0] = 0x00 data[1] = 0x01 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1336,6 +1384,7 @@ def tc11(): addr = 0x10000000 addr_off = 0x0 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1378,10 +1427,14 @@ def tc11(): data[0] = 0x00 data[1] = 0x01 genPkt.addSubPkt(0x0, 0, 0x306, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1562,6 +1615,7 @@ def tc12(): addr_off = 0x0 sm_size = 0x8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1661,6 +1715,8 @@ def tc12(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 3, taddr, 0x4000, sm_size, 0x1, 0x1) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 @@ -1686,7 +1742,10 @@ def tc12(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1833,6 +1892,7 @@ def tc13(): addr_off = 0x0 sm_size = 0x8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1936,7 +1996,11 @@ def tc13(): setting_ebmmu_regs(data, 6, taddr, 0x4000, sm_size / 2, 0x1, 0x1) setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x4000 + sm_size / 2, sm_size / 2, 0x1, 0x1) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -1960,7 +2024,10 @@ def tc13(): genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -2088,6 +2155,7 @@ def tc14(): addr_off = 0x0 sm_size = 0x8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -2171,8 +2239,11 @@ def tc14(): taddr = addr + addr_off setting_ebmmu_regs(data, 3, taddr, 0x3800, sm_size, 0x2, 0x1) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff data[1] = (sm_size >> 8) & 0xff @@ -2196,7 +2267,10 @@ def tc14(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -2311,6 +2385,7 @@ def tc15(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -2558,7 +2633,9 @@ def tc15(): #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) ebmmu_offset = ebmmu_offset + 1 + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -2581,7 +2658,10 @@ def tc15(): data[1] = (sm_size >> 8) & 0xff genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -2696,6 +2776,7 @@ def tc16(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -2951,7 +3032,10 @@ def tc16(): #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4))) ebmmu_offset = ebmmu_offset + 1 + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -2975,7 +3059,10 @@ def tc16(): genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc( genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -3115,6 +3202,7 @@ def tc17(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -3363,6 +3451,7 @@ def tc17(): ebmmu_offset = ebmmu_offset + 1 genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -3385,7 +3474,10 @@ def tc17(): data[1] = (sm_size >> 8) & 0xff genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -3496,6 +3588,7 @@ def tc18(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -3744,6 +3837,7 @@ def tc18(): ebmmu_offset = ebmmu_offset + 1 genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -3766,7 +3860,10 @@ def tc18(): data[1] = (sm_size >> 8) & 0xff genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -3884,6 +3981,7 @@ def tc19(): addr_off = 0x0 sm_size = 8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) sm_vaddr = 0x10000000 sm_addr_off = 0x0 @@ -4038,6 +4136,7 @@ def tc19(): sm_addr_off = sm_addr_off + 4 * sm_size genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -4088,7 +4187,10 @@ def tc19(): genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) ''' - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) diff --git a/tb/shinTest/testcase/readregs.py b/tb/shinTest/testcase/readregs.py index e902669..9e0d9d8 100644 --- a/tb/shinTest/testcase/readregs.py +++ b/tb/shinTest/testcase/readregs.py @@ -10,7 +10,7 @@ def tc1(): #>>>>>>嗅探数据包1,正常的嗅探数据包 genPkt.clean() genPkt.setPktType(1) - gen_file_def = "test_pkt" + gen_file_def = "regtest_tc01" sm_idx = 0 genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) diff --git a/tb/shinTest/testcase_result/base_tc23_result.log b/tb/shinTest/testcase_result/base_tc23_result.log index 2faeb9c..9d59ede 100644 --- a/tb/shinTest/testcase_result/base_tc23_result.log +++ b/tb/shinTest/testcase_result/base_tc23_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h0e 8'h00 16'h0306 8'h00 16'h0002 8'h0e 8'h00 16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'hf0 8'h02 8'h20 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/broadcast_tc01_result.log b/tb/shinTest/testcase_result/broadcast_tc01_result.log index 39eba55..553f24b 100644 --- a/tb/shinTest/testcase_result/broadcast_tc01_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc01_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h70 8'h00 16'h0306 8'h00 16'h0002 8'h70 8'h00 16'h1000 8'h00 16'h0070 8'h06 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/broadcast_tc02_result.log b/tb/shinTest/testcase_result/broadcast_tc02_result.log index e4f5085..6211e32 100644 --- a/tb/shinTest/testcase_result/broadcast_tc02_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc02_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h36 8'h00 16'h0306 8'h00 16'h0002 8'h36 8'h00 16'h1000 8'h00 16'h0036 8'h03 8'h20 8'h00 8'h00 8'h1f 8'h40 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h1f 8'h40 8'h08 8'h00 8'he0 8'h20 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/broadcast_tc03_result.log b/tb/shinTest/testcase_result/broadcast_tc03_result.log index 6db2a40..ff4c455 100644 --- a/tb/shinTest/testcase_result/broadcast_tc03_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc03_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h10 8'h00 16'h0306 8'h00 16'h0002 8'h10 8'h00 16'h1000 8'h00 16'h0010 8'h00 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h00 8'hc0 8'hf0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc01_result.log b/tb/shinTest/testcase_result/ebmmu_tc01_result.log index 0a65473..44afc65 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc01_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc01_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc02_result.log b/tb/shinTest/testcase_result/ebmmu_tc02_result.log index 040df78..b17f654 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc02_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc02_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc03_result.log b/tb/shinTest/testcase_result/ebmmu_tc03_result.log index 2f12e04..7b1d5a6 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc03_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc03_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h94 8'h00 -16'h0306 8'h00 16'h0002 8'h94 8'h00 -16'h1000 8'h00 16'h0094 8'h09 8'h00 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'ha8 8'h00 +16'h0306 8'h00 16'h0002 8'ha8 8'h00 +16'h1000 8'h00 16'h00a8 8'h0a 8'h40 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0094 8'h09 8'h00 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h00a8 8'h0a 8'h40 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc04_result.log b/tb/shinTest/testcase_result/ebmmu_tc04_result.log index baef84f..7fe80ea 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc04_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc04_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0306 8'h00 16'h0002 8'h80 8'h00 16'h1000 8'h00 16'h0080 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 16'h030e 8'h00 16'h0002 8'h98 8'h00 @@ -6,11 +7,11 @@ 16'h3000 8'h00 16'h0081 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 16'h031e 8'h00 16'h0002 8'h8c 8'h00 16'h4000 8'h00 16'h008c 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc05_result.log b/tb/shinTest/testcase_result/ebmmu_tc05_result.log index 534f2f4..6c33ae1 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc05_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc05_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc06_result.log b/tb/shinTest/testcase_result/ebmmu_tc06_result.log index b020a67..5e8e3ec 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc06_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc06_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h56 8'h00 -16'h0306 8'h00 16'h0002 8'h56 8'h00 -16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6a 8'h00 +16'h0306 8'h00 16'h0002 8'h6a 8'h00 +16'h1000 8'h00 16'h006a 8'h06 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h006a 8'h06 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc07_result.log b/tb/shinTest/testcase_result/ebmmu_tc07_result.log index b020a67..5e8e3ec 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc07_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc07_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h56 8'h00 -16'h0306 8'h00 16'h0002 8'h56 8'h00 -16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6a 8'h00 +16'h0306 8'h00 16'h0002 8'h6a 8'h00 +16'h1000 8'h00 16'h006a 8'h06 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h006a 8'h06 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc08_result.log b/tb/shinTest/testcase_result/ebmmu_tc08_result.log index 466e2b1..385a8ed 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc08_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc08_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hb6 8'h00 -16'h0306 8'h00 16'h0002 8'hb6 8'h00 -16'h1000 8'h00 16'h00b6 8'h0b 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hca 8'h00 +16'h0306 8'h00 16'h0002 8'hca 8'h00 +16'h1000 8'h00 16'h00ca 8'h0c 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h00b6 8'h0b 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h00ca 8'h0c 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc09_result.log b/tb/shinTest/testcase_result/ebmmu_tc09_result.log index 3e0bd09..4b0af5d 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc09_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc09_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hb6 8'h00 -16'h0306 8'h00 16'h0002 8'hb6 8'h00 -16'h1000 8'h00 16'h00b6 8'h0b 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hca 8'h00 +16'h0306 8'h00 16'h0002 8'hca 8'h00 +16'h1000 8'h00 16'h00ca 8'h0c 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h00b6 8'h0b 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 +16'h0800 8'h01 16'h00ca 8'h0c 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc10_result.log b/tb/shinTest/testcase_result/ebmmu_tc10_result.log index 15365ab..f4755ce 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc10_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc10_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hb6 8'h00 -16'h0306 8'h00 16'h0002 8'hb6 8'h00 -16'h1000 8'h00 16'h00b6 8'h0b 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hca 8'h00 +16'h0306 8'h00 16'h0002 8'hca 8'h00 +16'h1000 8'h00 16'h00ca 8'h0c 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h00b6 8'h0b 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 +16'h0800 8'h01 16'h00ca 8'h0c 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc11_result.log b/tb/shinTest/testcase_result/ebmmu_tc11_result.log index 9a8f997..90ffa2d 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc11_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc11_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hae 8'h02 -16'h0306 8'h00 16'h0002 8'hae 8'h02 -16'h1000 8'h00 16'h02ae 8'h2a 8'ha0 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hc2 8'h02 +16'h0306 8'h00 16'h0002 8'hc2 8'h02 +16'h1000 8'h00 16'h02c2 8'h2b 8'he0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02ae 8'h2a 8'ha0 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 +16'h0800 8'h01 16'h02c2 8'h2b 8'he0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc12_result.log b/tb/shinTest/testcase_result/ebmmu_tc12_result.log index 1c44e17..43d63ba 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc12_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc12_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc13_result.log b/tb/shinTest/testcase_result/ebmmu_tc13_result.log index 8f917c1..0dc393b 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc13_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc13_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc14_result.log b/tb/shinTest/testcase_result/ebmmu_tc14_result.log index dc92a18..0ce0e0e 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc14_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc14_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc15_result.log b/tb/shinTest/testcase_result/ebmmu_tc15_result.log index 20ff908..0285af2 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc15_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc15_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc16_result.log b/tb/shinTest/testcase_result/ebmmu_tc16_result.log index 4afafd0..9254b94 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc16_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc16_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc17_result.log b/tb/shinTest/testcase_result/ebmmu_tc17_result.log index 0cd5053..a5109de 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc17_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc17_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc18_result.log b/tb/shinTest/testcase_result/ebmmu_tc18_result.log index 378b61a..5a62297 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc18_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc18_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc19_result.log b/tb/shinTest/testcase_result/ebmmu_tc19_result.log index bd20080..0bdae95 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc19_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc19_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 From 0b7bd505baa9b61c1134cd8a9d739de7a2fd3e9d Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Thu, 4 Sep 2025 16:25:54 +0800 Subject: [PATCH 52/86] =?UTF-8?q?b5b6=E7=BC=96=E7=A0=81=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/b8b10.scala | 56 +++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/main/scala/backBoard/ebus/b8b10.scala diff --git a/src/main/scala/backBoard/ebus/b8b10.scala b/src/main/scala/backBoard/ebus/b8b10.scala new file mode 100644 index 0000000..af8927a --- /dev/null +++ b/src/main/scala/backBoard/ebus/b8b10.scala @@ -0,0 +1,56 @@ +package BACK + +import chisel3._ +import chisel3.util._ + + +class b8b10Encode extends Module with RequireAsyncReset{ + val io = IO(new Bundle{ + val dataIn = Input(UInt(8.W)) + val isEnable = Input(Bool()) + val dataOut = Output(UInt(10.W)) + }) + + val rd = RegInit(false.B) + + val rdCalNext = Wire(SInt(8.W)) + val rdCal = RegNext(rdCalNext, 0.S(8.W)) + + val b5b6LookUp = Mux1H(Seq( + (io.dataIn(4,0) === "b00000".U) -> Mux( rd, "b100111".U(6.W), "b011000".U(6.W) ), + (io.dataIn(4,0) === "b00001".U) -> Mux( rd, "b011101".U(6.W), "b100010".U(6.W) ), + (io.dataIn(4,0) === "b00010".U) -> Mux( rd, "b101101".U(6.W), "b010010".U(6.W) ), + (io.dataIn(4,0) === "b00011".U) -> "b110001".U(6.W), + (io.dataIn(4,0) === "b00100".U) -> Mux( rd, "b110101".U(6.W), "b001010".U(6.W) ), + (io.dataIn(4,0) === "b00101".U) -> "b101001".U(6.W), + (io.dataIn(4,0) === "b00110".U) -> "b011001".U(6.W), + (io.dataIn(4,0) === "b00111".U) -> Mux( rd, "b111000".U(6.W), "b000111".U(6.W) ), + (io.dataIn(4,0) === "b01000".U) -> Mux( rd, "b111001".U(6.W), "b000110".U(6.W) ), + (io.dataIn(4,0) === "b01001".U) -> "b100101".U(6.W), + (io.dataIn(4,0) === "b01010".U) -> "b010101".U(6.W), + (io.dataIn(4,0) === "b01011".U) -> "b110100".U(6.W), + (io.dataIn(4,0) === "b01100".U) -> "b001101".U(6.W), + (io.dataIn(4,0) === "b01101".U) -> "b101100".U(6.W), + (io.dataIn(4,0) === "b01110".U) -> "b011100".U(6.W), + (io.dataIn(4,0) === "b01111".U) -> Mux( rd, "b010111".U(6.W), "b101000".U(6.W) ), + (io.dataIn(4,0) === "b10000".U) -> Mux( rd, "b011011".U(6.W), "b100100".U(6.W) ), + (io.dataIn(4,0) === "b10001".U) -> "b100011".U(6.W), + (io.dataIn(4,0) === "b10010".U) -> "b010011".U(6.W), + (io.dataIn(4,0) === "b10011".U) -> "b110010".U(6.W), + (io.dataIn(4,0) === "b10100".U) -> "b001011".U(6.W), + (io.dataIn(4,0) === "b10101".U) -> "b101010".U(6.W), + (io.dataIn(4,0) === "b10110".U) -> "b011010".U(6.W), + (io.dataIn(4,0) === "b10111".U) -> Mux( rd, "b111010".U(6.W), "b000101".U(6.W) ), + (io.dataIn(4,0) === "b11000".U) -> Mux( rd, "b110011".U(6.W), "b001100".U(6.W) ), + (io.dataIn(4,0) === "b11001".U) -> "b100110".U(6.W), + (io.dataIn(4,0) === "b11010".U) -> "b010110".U(6.W), + (io.dataIn(4,0) === "b11011".U) -> Mux( rd, "b110110".U(6.W), "b001001".U(6.W) ), + (io.dataIn(4,0) === "b11100".U) -> "b001110".U(6.W), + (io.dataIn(4,0) === "b11101".U) -> Mux( rd, "b101110".U(6.W), "b010001".U(6.W) ), + (io.dataIn(4,0) === "b11110".U) -> Mux( rd, "b011110".U(6.W), "b100001".U(6.W) ), + (io.dataIn(4,0) === "b11111".U) -> Mux( rd, "b101011".U(6.W), "b010100".U(6.W) ) + )) + + +} + From 4dd1841921408938bdaf5cb86195746d8794c003 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Thu, 4 Sep 2025 16:33:24 +0800 Subject: [PATCH 53/86] =?UTF-8?q?cPtr=E9=9C=80=E8=A6=81=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=A4=8D=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/SMUnit.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/scala/backBoard/shin/SMUnit.scala b/src/main/scala/backBoard/shin/SMUnit.scala index 3ffeb7c..cc677b5 100644 --- a/src/main/scala/backBoard/shin/SMUnit.scala +++ b/src/main/scala/backBoard/shin/SMUnit.scala @@ -92,7 +92,9 @@ abstract class SMUnitBase(depth: Int = 4) extends Module with RequireAsyncReset{ io.cnt := cPtr - rPtr - when( io.isComf ){ + when( io.flush ){ + cPtr := 0.U + } .elsewhen( io.isComf ){ cPtr := wPtr } From 8a29acf4b8058b972b892842710d586c07b5755e Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Thu, 4 Sep 2025 16:40:07 +0800 Subject: [PATCH 54/86] =?UTF-8?q?require=E6=98=AF=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/SMUnit.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/scala/backBoard/shin/SMUnit.scala b/src/main/scala/backBoard/shin/SMUnit.scala index cc677b5..f172d56 100644 --- a/src/main/scala/backBoard/shin/SMUnit.scala +++ b/src/main/scala/backBoard/shin/SMUnit.scala @@ -39,7 +39,6 @@ class SMUnitIO(depth: Int) extends Bundle { } abstract class SMUnitBase(depth: Int = 4) extends Module with RequireAsyncReset{ - require(depth <= 4) val io: SMUnitIO = IO(new SMUnitIO(depth)) From fb5bbad6416c0fe37fd019598a555d5c12a4928f Mon Sep 17 00:00:00 2001 From: bacon Date: Thu, 4 Sep 2025 18:55:32 +0800 Subject: [PATCH 55/86] =?UTF-8?q?=E6=89=93=E5=BC=80emmu.tc19,=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=AD=98=E5=9C=A8bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 4 ++-- tb/shinTest/testcase/ebmmu.py | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index b682d6a..dc96d58 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -105,10 +105,10 @@ if __name__ == '__main__': #add_tc_2_runlist(ebmmu.tc13()) #add_tc_2_runlist(ebmmu.tc14()) #add_tc_2_runlist(ebmmu.tc15()) - add_tc_2_runlist(ebmmu.tc16()) + #add_tc_2_runlist(ebmmu.tc16()) #add_tc_2_runlist(ebmmu.tc17()) #add_tc_2_runlist(ebmmu.tc18()) - #add_tc_2_runlist(ebmmu.tc19()) + add_tc_2_runlist(ebmmu.tc19()) #add_tc_2_runlist(watchdog.tc1()) #add_tc_2_runlist(watchdog.tc2()) diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index f431428..8dd5e8e 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -4233,18 +4233,25 @@ def tc19(): genPkt.addSubPkt(0x1000, 2, 0, 0x2, sm_size * 8 * 4, list(range(sm_size * 8 * 4))) genPkt.addSubPkt(0x2000, 2, 0, 0x0, 8 * 4, [0, ] * 32) - genPkt.addBeforeExc(genSlvSMWriteData(1, 1, sm_size, list(range(0, sm_size))) + genPkt.addBeforeExc(genMessageCode("\\n--写设备1数据") + +genSlvSMWriteData(1, 1, sm_size, list(range(0, sm_size))) +genSlvSMWriteData(1, 3, sm_size, list(range(0, sm_size * 2, 2))) +genSlvSMWriteData(1, 5, sm_size, list(range(0, sm_size * 3, 3))) +genSlvSMWriteData(1, 7, sm_size, list(range(0, sm_size * 4, 4))) + + +genMessageCode("\\n--写设备2数据") +genSlvSMWriteData(2, 1, sm_size, list(range(0, sm_size * 5, 5))) +genSlvSMWriteData(2, 3, sm_size, list(range(0, sm_size * 6, 6))) +genSlvSMWriteData(2, 5, sm_size, list(range(0, sm_size * 7, 7))) +genSlvSMWriteData(2, 7, sm_size, list(range(0, sm_size * 8, 8))) + + +genMessageCode("\\n--写设备3数据") +genSlvSMWriteData(3, 1, sm_size, list(range(0, sm_size * 9, 9))) +genSlvSMWriteData(3, 3, sm_size, list(range(0, sm_size * 8, 8))) +genSlvSMWriteData(3, 5, sm_size, list(range(0, sm_size * 7, 7))) +genSlvSMWriteData(3, 7, sm_size, list(range(0, sm_size * 6, 6))) + + +genMessageCode("\\n--写设备4数据") +genSlvSMWriteData(4, 1, sm_size, list(range(0, sm_size * 5, 5))) +genSlvSMWriteData(4, 3, sm_size, list(range(0, sm_size * 4, 4))) +genSlvSMWriteData(4, 5, sm_size, list(range(0, sm_size * 3, 3))) @@ -4256,18 +4263,25 @@ def tc19(): +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) + +genMessageCode("\\n--读设备1数据") +genSlvSMReadData(1, 0, sm_size) +genSlvSMReadData(1, 2, sm_size) +genSlvSMReadData(1, 4, sm_size) +genSlvSMReadData(1, 6, sm_size) + + +genMessageCode("\\n--读设备2数据") +genSlvSMReadData(2, 0, sm_size) +genSlvSMReadData(2, 2, sm_size) +genSlvSMReadData(2, 4, sm_size) +genSlvSMReadData(2, 6, sm_size) + + +genMessageCode("\\n--读设备3数据") +genSlvSMReadData(3, 0, sm_size) +genSlvSMReadData(3, 2, sm_size) +genSlvSMReadData(3, 4, sm_size) +genSlvSMReadData(3, 6, sm_size) + + +genMessageCode("\\n--读设备4数据") +genSlvSMReadData(4, 0, sm_size) +genSlvSMReadData(4, 2, sm_size) +genSlvSMReadData(4, 4, sm_size) From e85cc56421a8979f768d205e386ec379a2c87a82 Mon Sep 17 00:00:00 2001 From: bacon Date: Fri, 5 Sep 2025 09:30:47 +0800 Subject: [PATCH 56/86] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=96=B0=E7=9A=84?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/environment.py | 28 +++++++++---------- .../testcase_result/sys_bringup_result.log | 20 ++++++------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index 4ab019c..dfcc0fa 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -45,6 +45,20 @@ def bringup(): +genIFRwDataCode(2, 0x0, False, 1) +genIFRwDataCode(3, 0x0, False, 1) +genIFRwDataCode(4, 0x0, False, 1) + + +genMessageCode("--使能中断") + +genIFRwDataCode(0, 0x70, True, 4, [0x02, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(1, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(3, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(4, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + + +genMessageCode("--设置中断为脉冲模式") + +genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81]) + +genIFRwDataCode(1, 0x7c, True, 2, [0x00, 0x81]) + +genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81]) + +genIFRwDataCode(3, 0x7c, True, 2, [0x00, 0x81]) + +genIFRwDataCode(4, 0x7c, True, 2, [0x00, 0x81]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -117,20 +131,6 @@ def bringup(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) - - +genMessageCode("--使能中断") - +genIFRwDataCode(0, 0x70, True, 4, [0x03, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(1, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(3, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(4, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - - +genMessageCode("--设置中断为脉冲模式") - +genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(1, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(3, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(4, 0x7c, True, 2, [0x00, 0x81]) +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) diff --git a/tb/shinTest/testcase_result/sys_bringup_result.log b/tb/shinTest/testcase_result/sys_bringup_result.log index 312fd7a..8736ffc 100644 --- a/tb/shinTest/testcase_result/sys_bringup_result.log +++ b/tb/shinTest/testcase_result/sys_bringup_result.log @@ -18,6 +18,16 @@ 16'h0000 8'h01 16'h0001 8'h02 16'h0000 8'h01 16'h0001 8'h02 16'h0000 8'h01 16'h0001 8'h02 +16'h0070 8'h00 16'h0004 8'h02 8'h00 8'h00 8'hf0 +16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 +16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 +16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 +16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h007c 8'h00 16'h0002 8'h00 8'h81 16'h0302 8'h00 16'h0002 8'h04 8'h00 16'h0306 8'h00 16'h0002 8'h04 8'h00 16'h1000 8'h00 16'h0004 8'h00 8'h01 8'h3f 8'hff @@ -47,16 +57,6 @@ 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 -16'h0070 8'h00 16'h0004 8'h03 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff From f609945a6adca842703d098eccc732f912a199c6 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 09:35:29 +0800 Subject: [PATCH 57/86] =?UTF-8?q?8b10b=E7=BC=96=E7=A0=81=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/b8b10.scala | 88 ++++++++++++++++++++++- 1 file changed, 85 insertions(+), 3 deletions(-) diff --git a/src/main/scala/backBoard/ebus/b8b10.scala b/src/main/scala/backBoard/ebus/b8b10.scala index af8927a..e925411 100644 --- a/src/main/scala/backBoard/ebus/b8b10.scala +++ b/src/main/scala/backBoard/ebus/b8b10.scala @@ -12,9 +12,7 @@ class b8b10Encode extends Module with RequireAsyncReset{ }) val rd = RegInit(false.B) - - val rdCalNext = Wire(SInt(8.W)) - val rdCal = RegNext(rdCalNext, 0.S(8.W)) + val b5b6LookUp = Mux1H(Seq( (io.dataIn(4,0) === "b00000".U) -> Mux( rd, "b100111".U(6.W), "b011000".U(6.W) ), @@ -51,6 +49,90 @@ class b8b10Encode extends Module with RequireAsyncReset{ (io.dataIn(4,0) === "b11111".U) -> Mux( rd, "b101011".U(6.W), "b010100".U(6.W) ) )) + val b3b4LookUp = Mux1H(Seq( + (io.dataIn(7,5) === "b000".U) -> Mux( b5b6RD, "b1011".U(4.W), "b0100".U(4.W) ), + (io.dataIn(7,5) === "b001".U) -> "b1001".U(4.W), + (io.dataIn(7,5) === "b010".U) -> "b0101".U(4.W), + (io.dataIn(7,5) === "b011".U) -> Mux( b5b6RD, "b1100".U(4.W), "b0011".U(4.W) ), + (io.dataIn(7,5) === "b100".U) -> Mux( b5b6RD, "b1101".U(4.W), "b0010".U(4.W) ), + (io.dataIn(7,5) === "b101".U) -> "b1010".U(4.W), + (io.dataIn(7,5) === "b110".U) -> "b0110".U(4.W), + (io.dataIn(7,5) === "b111".U) -> MuxCase( Mux( b5b6RD, "b1110".U(4.W), "b0001".U(4.W) ), + ((io.dataIn(4,0) === 17.U || io.dataIn(4,0) === 18.U || io.dataIn(4,0) === 20.U) & ~b5b6RD) -> "b0111".U(4.W), // 17, 18, 20 are special cases + ((io.dataIn(4,0) === 11.U || io.dataIn(4,0) === 13.U || io.dataIn(4,0) === 14.U) & b5b6RD) -> "b1000".U(4.W), // 11, 13, 14 are special cases + ) + )) + + val b5b6RD = Mux1H(Seq( + (io.dataIn(4,0) === "b00000".U) -> ~rd, + (io.dataIn(4,0) === "b00001".U) -> ~rd, + (io.dataIn(4,0) === "b00010".U) -> ~rd, + (io.dataIn(4,0) === "b00011".U) -> rd, + (io.dataIn(4,0) === "b00100".U) -> ~rd, + (io.dataIn(4,0) === "b00101".U) -> rd, + (io.dataIn(4,0) === "b00110".U) -> rd, + (io.dataIn(4,0) === "b00111".U) -> rd + (io.dataIn(4,0) === "b01000".U) -> ~rd, + (io.dataIn(4,0) === "b01001".U) -> rd, + (io.dataIn(4,0) === "b01010".U) -> rd, + (io.dataIn(4,0) === "b01011".U) -> rd, + (io.dataIn(4,0) === "b01100".U) -> rd, + (io.dataIn(4,0) === "b01101".U) -> rd, + (io.dataIn(4,0) === "b01110".U) -> rd, + (io.dataIn(4,0) === "b01111".U) -> ~rd, + (io.dataIn(4,0) === "b10000".U) -> ~rd, + (io.dataIn(4,0) === "b10001".U) -> rd, + (io.dataIn(4,0) === "b10010".U) -> rd, + (io.dataIn(4,0) === "b10011".U) -> rd, + (io.dataIn(4,0) === "b10100".U) -> rd, + (io.dataIn(4,0) === "b10101".U) -> rd, + (io.dataIn(4,0) === "b10110".U) -> rd, + (io.dataIn(4,0) === "b10111".U) -> ~rd, + (io.dataIn(4,0) === "b11000".U) -> ~rd, + (io.dataIn(4,0) === "b11001".U) -> rd, + (io.dataIn(4,0) === "b11010".U) -> rd, + (io.dataIn(4,0) === "b11011".U) -> ~rd, + (io.dataIn(4,0) === "b11100".U) -> rd, + (io.dataIn(4,0) === "b11101".U) -> ~rd, + (io.dataIn(4,0) === "b11110".U) -> ~rd, + (io.dataIn(4,0) === "b11111".U) -> ~rd, + )) + + val b3b4RD = Mux1H(Seq( + (io.dataIn(7,5) === "b000".U) -> ~b5b6RD, + (io.dataIn(7,5) === "b001".U) -> b5b6RD, + (io.dataIn(7,5) === "b010".U) -> b5b6RD, + (io.dataIn(7,5) === "b011".U) -> b5b6RD, + (io.dataIn(7,5) === "b100".U) -> ~b5b6RD, + (io.dataIn(7,5) === "b101".U) -> b5b6RD, + (io.dataIn(7,5) === "b110".U) -> b5b6RD, + (io.dataIn(7,5) === "b111".U) -> ~b5b6RD, + )) + + io.dataOut := Cat(b5b6LookUp, b3b4LookUp) + + when (io.isEnable) { + rd := b3b4RD + assert( io.dataOut(4,0) =/= 0.U && io.dataOut(4,0) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(5,1) =/= 0.U && io.dataOut(5,1) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(6,2) =/= 0.U && io.dataOut(6,2) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(7,3) =/= 0.U && io.dataOut(7,3) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(8,4) =/= 0.U && io.dataOut(8,4) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(9,5) =/= 0.U && io.dataOut(9,5) =/= 31.U, "Invalid 8b10b encoding Output!") + + } } + +class b8b10Decode extends Module with RequireAsyncReset{ + val io = IO(new Bundle{ + val dataIn = Input(UInt(10.W)) + val isEnable = Input(Bool()) + val dataOut = Output(UInt(8.W)) + }) + + + + +} From b1825607abff52021a40422930d5d124ccc58935 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 09:58:43 +0800 Subject: [PATCH 58/86] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=AD=E6=96=AD?= =?UTF-8?q?=E4=B8=A2=E8=84=89=E5=86=B2=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E6=AF=8F=E6=AC=A1=E8=84=89=E5=86=B2=E5=AE=BD=E5=BA=A6=E6=AF=94?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=A4=9A=E4=B8=80=E6=8B=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 3014171..782d85c 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -1229,15 +1229,15 @@ trait InterfaceInterrupt{ this: InterfaceBase => intHWErr(0) | //下行接收硬件错误 intHWErr(1) //上行接收硬件错误 - when( intPulseResetCnt === intPulseWidth ){ - intPulse := false.B - } .elsewhen( trigIntPulse ){ + when( trigIntPulse ){ intPulse := true.B - } + } .elsewhen( intPulseResetCnt === intPulseWidth ){ + intPulse := false.B + } when( trigIntPulse ){ intPulseResetCnt := 0.U - } .elsewhen( (intPulseResetCnt < intPulseWidth) & (intPulse === true.B) ){ + } .elsewhen( (intPulseResetCnt <= intPulseWidth) & (intPulse === true.B) ){ intPulseResetCnt := intPulseResetCnt + 1.U } From 26344d60cdd46aad0434348174135f6d2a0339a0 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 11:11:01 +0800 Subject: [PATCH 59/86] =?UTF-8?q?=E5=86=99=E5=AE=8C=E7=BC=96=E8=A7=A3?= =?UTF-8?q?=E7=A0=81=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/b4b5.scala | 20 +++++++++ src/main/scala/backBoard/ebus/b8b10.scala | 50 ++++++++++++++++++++++- 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/src/main/scala/backBoard/ebus/b4b5.scala b/src/main/scala/backBoard/ebus/b4b5.scala index 502056f..c3c967c 100644 --- a/src/main/scala/backBoard/ebus/b4b5.scala +++ b/src/main/scala/backBoard/ebus/b4b5.scala @@ -63,3 +63,23 @@ object Dualb4b5Decoder{ Cat( b4b5Decoder(enq(9,5)), b4b5Decoder(enq(4,0)) ) } } + + +class b4b5DualEncode extends Module with RequireAsyncReset{ + val io = IO(new Bundle{ + val dataIn = Input(UInt(8.W)) + val isEnable = Input(Bool()) + val dataOut = Output(UInt(10.W)) + }) + + io.dataOut := Dualb4b5Encoder(io.dataIn) +} + +class b8b10Decode extends Module with RequireAsyncReset{ + val io = IO(new Bundle{ + val dataIn = Input(UInt(10.W)) + val dataOut = Output(UInt(8.W)) + }) + + io.dataOut := Dualb4b5Decoder(io.dataIn) +} diff --git a/src/main/scala/backBoard/ebus/b8b10.scala b/src/main/scala/backBoard/ebus/b8b10.scala index e925411..db9f8c3 100644 --- a/src/main/scala/backBoard/ebus/b8b10.scala +++ b/src/main/scala/backBoard/ebus/b8b10.scala @@ -128,11 +128,59 @@ class b8b10Encode extends Module with RequireAsyncReset{ class b8b10Decode extends Module with RequireAsyncReset{ val io = IO(new Bundle{ val dataIn = Input(UInt(10.W)) - val isEnable = Input(Bool()) val dataOut = Output(UInt(8.W)) }) + val b5b6LookUp = Mux1H(Seq( + (io.dataIn(9,4) === "b100111".U(6.W) || io.dataIn(9,4) === "b011000".U(6.W) ) -> "b00000".U, + (io.dataIn(9,4) === "b011101".U(6.W) || io.dataIn(9,4) === "b100010".U(6.W) ) -> "b00001".U, + (io.dataIn(9,4) === "b101101".U(6.W) || io.dataIn(9,4) === "b010010".U(6.W) ) -> "b00010".U, + (io.dataIn(9,4) === "b110001".U(6.W),) -> "b00011".U, + (io.dataIn(9,4) === "b110101".U(6.W) || io.dataIn(9,4) === "b001010".U(6.W) ) -> "b00100".U, + (io.dataIn(9,4) === "b101001".U(6.W),) -> "b00101".U, + (io.dataIn(9,4) === "b011001".U(6.W),) -> "b00110".U, + (io.dataIn(9,4) === "b111000".U(6.W) || io.dataIn(9,4) === "b000111".U(6.W) ) -> "b00111".U, + (io.dataIn(9,4) === "b111001".U(6.W) || io.dataIn(9,4) === "b000110".U(6.W) ) -> "b01000".U, + (io.dataIn(9,4) === "b100101".U(6.W),) -> "b01001".U, + (io.dataIn(9,4) === "b010101".U(6.W),) -> "b01010".U, + (io.dataIn(9,4) === "b110100".U(6.W),) -> "b01011".U, + (io.dataIn(9,4) === "b001101".U(6.W),) -> "b01100".U, + (io.dataIn(9,4) === "b101100".U(6.W),) -> "b01101".U, + (io.dataIn(9,4) === "b011100".U(6.W),) -> "b01110".U, + (io.dataIn(9,4) === "b010111".U(6.W) || io.dataIn(9,4) === "b101000".U(6.W) ) -> "b01111".U, + (io.dataIn(9,4) === "b011011".U(6.W) || io.dataIn(9,4) === "b100100".U(6.W) ) -> "b10000".U, + (io.dataIn(9,4) === "b100011".U(6.W),) -> "b10001".U, + (io.dataIn(9,4) === "b010011".U(6.W),) -> "b10010".U, + (io.dataIn(9,4) === "b110010".U(6.W),) -> "b10011".U, + (io.dataIn(9,4) === "b001011".U(6.W),) -> "b10100".U, + (io.dataIn(9,4) === "b101010".U(6.W),) -> "b10101".U, + (io.dataIn(9,4) === "b011010".U(6.W),) -> "b10110".U, + (io.dataIn(9,4) === "b111010".U(6.W) || io.dataIn(9,4) === "b000101".U(6.W) ) -> "b10111".U, + (io.dataIn(9,4) === "b110011".U(6.W) || io.dataIn(9,4) === "b001100".U(6.W) ) -> "b11000".U, + (io.dataIn(9,4) === "b100110".U(6.W),) -> "b11001".U, + (io.dataIn(9,4) === "b010110".U(6.W),) -> "b11010".U, + (io.dataIn(9,4) === "b110110".U(6.W) || io.dataIn(9,4) === "b001001".U(6.W) ) -> "b11011".U, + (io.dataIn(9,4) === "b001110".U(6.W),) -> "b11100".U, + (io.dataIn(9,4) === "b101110".U(6.W) || io.dataIn(9,4) === "b010001".U(6.W) ) -> "b11101".U, + (io.dataIn(9,4) === "b011110".U(6.W) || io.dataIn(9,4) === "b100001".U(6.W) ) -> "b11110".U, + (io.dataIn(9,4) === "b101011".U(6.W) || io.dataIn(9,4) === "b010100".U(6.W) ) -> "b11111".U, + )) + val b3b4LookUp = Mux1H(Seq( + (io.dataIn(3,0) === "b1011".U(4.W) || io.dataIn(3,0) === "b0100".U(4.W) ) -> "b000".U, + (io.dataIn(3,0) === "b1001".U(4.W)) -> "b001".U, + (io.dataIn(3,0) === "b0101".U(4.W)) -> "b010".U, + (io.dataIn(3,0) === "b1100".U(4.W) || io.dataIn(3,0) === "b0011".U(4.W) ) -> "b011".U, + (io.dataIn(3,0) === "b1101".U(4.W) || io.dataIn(3,0) === "b0010".U(4.W) ) -> "b100".U, + (io.dataIn(3,0) === "b1010".U(4.W)) -> "b101".U, + (io.dataIn(3,0) === "b0110".U(4.W)) -> "b110".U, + (io.dataIn(3,0) === "b1110".U(4.W) || + io.dataIn(3,0) === "b0001".U(4.W) || + io.dataIn(3,0) === "b0111".U(4.W) || + io.dataIn(3,0) === "b1000".U(4.W)) -> "b111".U, + )) + + io.dataOut := Cat(b3b4LookUp, b5b6LookUp) } From 5f510d53e1c96e000ba62c89dba9de25917796d2 Mon Sep 17 00:00:00 2001 From: bacon Date: Fri, 5 Sep 2025 11:22:56 +0800 Subject: [PATCH 60/86] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B,=E8=B4=B4=E5=92=8C=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E7=9A=84SM=E6=8F=90=E4=BA=A4=E5=92=8C=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/ebmmu.py | 40 ++++++++++++++++++- tb/shinTest/testcase/environment.py | 12 +++--- .../testcase_result/ebmmu_tc19_result.log | 36 +++++++++++++---- .../testcase_result/sys_bringup_result.log | 12 +++--- 4 files changed, 78 insertions(+), 22 deletions(-) diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index 8dd5e8e..0a97f6e 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -4227,11 +4227,10 @@ def tc19(): #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [(i & 0xff) for i in range(sm_size * 16)] - gen_file_def_ap = gen_file_def + "_rw" + gen_file_def_ap = gen_file_def + "_rw01" sm_idx = 0 genPkt.addSubPkt(0x1000, 2, 0, 0x2, sm_size * 8 * 4, list(range(sm_size * 8 * 4))) - genPkt.addSubPkt(0x2000, 2, 0, 0x0, 8 * 4, [0, ] * 32) genPkt.addBeforeExc(genMessageCode("\\n--写设备1数据") +genSlvSMWriteData(1, 1, sm_size, list(range(0, sm_size))) @@ -4257,6 +4256,43 @@ def tc19(): +genSlvSMWriteData(4, 5, sm_size, list(range(0, sm_size * 3, 3))) +genSlvSMWriteData(4, 7, sm_size, list(range(0, sm_size * 2, 2))) ) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + + gen_file_def_ap = gen_file_def + "_rw02" + sm_idx = 0 + + genPkt.addSubPkt(0x2000, 2, 0, 0x0, 8 * 4, [0, ] * 32) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index dfcc0fa..4d9c1c6 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -47,18 +47,18 @@ def bringup(): +genIFRwDataCode(4, 0x0, False, 1) +genMessageCode("--使能中断") - +genIFRwDataCode(0, 0x70, True, 4, [0x02, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(0, 0x70, True, 4, [0x03, 0x00, 0x00, 0xf0]) +genIFRwDataCode(1, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) +genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) +genIFRwDataCode(3, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) +genIFRwDataCode(4, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) +genMessageCode("--设置中断为脉冲模式") - +genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(1, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(3, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(4, 0x7c, True, 2, [0x00, 0x81]) + +genIFRwDataCode(0, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(1, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(2, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(3, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(4, 0x7c, True, 2, [0x10, 0x80]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) diff --git a/tb/shinTest/testcase_result/ebmmu_tc19_result.log b/tb/shinTest/testcase_result/ebmmu_tc19_result.log index 0bdae95..3ae4623 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc19_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc19_result.log @@ -51,11 +51,31 @@ 16'h3000 8'h00 16'h0008 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 16'h031e 8'h00 16'h0002 8'h08 8'h00 16'h4000 8'h00 16'h0008 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e -16'h0302 8'h00 16'h0002 8'h34 8'h01 -16'h0306 8'h00 16'h0002 8'h34 8'h01 -16'h1000 8'h00 16'h0134 8'h13 8'h00 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h0c 8'h01 +16'h0306 8'h00 16'h0002 8'h0c 8'h01 +16'h1000 8'h00 16'h010c 8'h10 8'h80 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0134 8'h13 8'h00 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h08 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h010c 8'h10 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h08 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h00 8'h04 16'h0800 8'h01 16'h0008 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 16'h1800 8'h01 16'h0008 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 16'h2800 8'h01 16'h0008 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 @@ -73,10 +93,10 @@ 16'h2800 8'h01 16'h0008 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 16'h3800 8'h01 16'h0008 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff diff --git a/tb/shinTest/testcase_result/sys_bringup_result.log b/tb/shinTest/testcase_result/sys_bringup_result.log index 8736ffc..010e4ed 100644 --- a/tb/shinTest/testcase_result/sys_bringup_result.log +++ b/tb/shinTest/testcase_result/sys_bringup_result.log @@ -18,16 +18,16 @@ 16'h0000 8'h01 16'h0001 8'h02 16'h0000 8'h01 16'h0001 8'h02 16'h0000 8'h01 16'h0001 8'h02 -16'h0070 8'h00 16'h0004 8'h02 8'h00 8'h00 8'hf0 +16'h0070 8'h00 16'h0004 8'h03 8'h00 8'h00 8'hf0 16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h007c 8'h00 16'h0002 8'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 16'h0302 8'h00 16'h0002 8'h04 8'h00 16'h0306 8'h00 16'h0002 8'h04 8'h00 16'h1000 8'h00 16'h0004 8'h00 8'h01 8'h3f 8'hff From adb1d9c1c8aa9c624ea1aa16d281aee959cc2c0f Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 12:55:32 +0800 Subject: [PATCH 61/86] =?UTF-8?q?4b5b=208b10b=E6=8E=A5=E7=BA=BF=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 29 ++++--- src/main/scala/backBoard/ebus/CDROut.scala | 30 +++++-- src/main/scala/backBoard/ebus/b4b5.scala | 13 +-- src/main/scala/backBoard/ebus/b8b10.scala | 86 ++++++++++--------- .../scala/backBoard/shin/MstSlvSwitch.scala | 61 +++++++++++-- src/test/scala/SimCDR.scala | 29 +++++++ 6 files changed, 169 insertions(+), 79 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 00f18e5..9634e11 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -4,19 +4,24 @@ import chisel3._ import chisel3.util._ + + + + //work in 100MHZ class CDRInIO extends Bundle{ val axis = Decoupled(new AXIS_Bundle(8)) + val decode = Flipped(new Decode_Bundle) val serDat = Input(Bool()) val flush = Input(Bool()) } + + abstract class CDRInBase extends Module with RequireAsyncReset{ - - val io: CDRInIO = IO(new CDRInIO) - + io.decode.dataIn := 0.U val syncSerDat = Wire(Bool()) } @@ -144,8 +149,8 @@ trait CDRInAxis{ this: CDRInBase => def HeaderByte: Int = 4 - val ETH_PRE = "b1100010001".U(10.W) - val ETH_SFD = "b0110100111".U(10.W) + val ETH_PRE = "h68".U(8.W) + val ETH_SFD = "h25".U(8.W) val STATE_IDLE = 0.U val STATE_HEADER = 1.U @@ -157,15 +162,17 @@ trait CDRInAxis{ this: CDRInBase => val bitCnt = RegInit(0.U(4.W)) val byteCnt = RegInit(0.U((12+1).W)) - val checkSFD = RegInit( 0.U(20.W) ) + val checkSFD = RegInit( 0.U(10.W) ) when( io.flush ){ checkSFD := 0.U } .otherwise{ - checkSFD := Cat( checkSFD(18,0), syncSerDat ) + checkSFD := Cat( checkSFD(8,0), syncSerDat ) } - val shiftData = Dualb4b5Decoder(checkSFD(9,0)) + io.decode.dataIn := checkSFD(9,0) + val shiftData = io.decode.dataOut + val shiftDataNext = RegNext( shiftData, 0.U(8.W) ) val payloadLen = RegInit(0.U(12.W)) @@ -180,7 +187,7 @@ trait CDRInAxis{ this: CDRInBase => stateNext := Mux( io.flush, STATE_IDLE, Mux1H(Seq( - (stateCurr === STATE_IDLE) -> ( Mux( checkSFD === Cat(ETH_PRE , ETH_SFD), STATE_HEADER, STATE_IDLE )), //IDLE + (stateCurr === STATE_IDLE) -> ( Mux( shiftDataNext === ETH_PRE && shiftData === ETH_SFD , STATE_HEADER, STATE_IDLE )), //IDLE (stateCurr === STATE_HEADER) -> ( Mux( (byteCnt === (HeaderByte-1).U) & (bitCnt === 9.U), STATE_PAYLOAD, STATE_HEADER ) ), (stateCurr === STATE_PAYLOAD) -> ( Mux( (byteCnt === (payloadLen + (4 - 1).U) ) & (bitCnt === 9.U), STATE_IDLE, STATE_PAYLOAD )), // PAYLOAD )) //crc @@ -190,7 +197,7 @@ trait CDRInAxis{ this: CDRInBase => - when( stateCurr === STATE_IDLE & ( checkSFD === Cat(ETH_PRE, ETH_SFD) ) ){ //first align + when( stateCurr === STATE_IDLE & ( shiftDataNext === ETH_PRE && shiftData === ETH_SFD ) ){ //first align bitCnt := 0.U } .otherwise{ when( bitCnt === 9.U ){ @@ -202,7 +209,7 @@ trait CDRInAxis{ this: CDRInBase => when( io.flush ){ byteCnt := 0.U - } .elsewhen( stateCurr === STATE_IDLE & ( checkSFD === Cat(ETH_PRE, ETH_SFD) ) ){ //first align + } .elsewhen( stateCurr === STATE_IDLE & ( shiftDataNext === ETH_PRE && shiftData === ETH_SFD ) ){ //first align byteCnt := 0.U } .elsewhen( bitCnt === 9.U ){ when( stateCurr === STATE_HEADER ){ diff --git a/src/main/scala/backBoard/ebus/CDROut.scala b/src/main/scala/backBoard/ebus/CDROut.scala index 2deb3fe..6fd4ccd 100644 --- a/src/main/scala/backBoard/ebus/CDROut.scala +++ b/src/main/scala/backBoard/ebus/CDROut.scala @@ -9,14 +9,20 @@ class AXIS_Bundle(dw: Int) extends Bundle{ val tuser = Bool() } + + + //work in 100MHZ class CDROutIO extends Bundle{ - val axis = Flipped(Decoupled(new AXIS_Bundle(8))) + val axis = Flipped(Decoupled(new AXIS_Bundle(8))) + val encode = Flipped(new Encode_Bundle) val serDat = Output(Bool()) + val flush = Input(Bool()) + } @@ -29,8 +35,8 @@ class CDROut extends Module with RequireAsyncReset{ def STATE_PREAMBLE = 1.U def STATE_PAYLOAD = 2.U - val ETH_PRE = "b1100010001".U(10.W) - val ETH_SFD = "b0110100111".U(10.W) + val ETH_PRE = "h68".U(8.W) + val ETH_SFD = "h25".U(8.W) val stateNext = Wire(UInt(2.W)) val stateCurr = RegNext( stateNext, 0.U ) @@ -40,6 +46,8 @@ class CDROut extends Module with RequireAsyncReset{ val byteCnt = RegInit(0.U(3.W)) //payload dont need to count val shiftData = RegInit(0.U(10.W)) + io.encode.isEnable := false.B //组合逻辑 + io.encode.dataIn := 0.U //组合逻辑 stateNext := Mux( io.flush, STATE_IDLE, @@ -65,18 +73,24 @@ class CDROut extends Module with RequireAsyncReset{ when( io.flush ){ shiftData := 0.U } .elsewhen( stateCurr === STATE_IDLE & stateNext === STATE_PREAMBLE){ //PRE - shiftData := ETH_PRE + shiftData := io.encode.dataOut + io.encode.dataIn := ETH_PRE //组合逻辑 + io.encode.isEnable := true.B //组合逻辑 } .otherwise{ when( bitCnt =/= 9.U ){ shiftData := shiftData << 1 } .otherwise{ //bitCnt === 9.U when( stateCurr === STATE_PREAMBLE ){ - shiftData := MuxCase( ETH_PRE, Array( + shiftData := io.encode.dataOut + io.encode.dataIn := MuxCase( ETH_PRE, Array( ( byteCnt === (PRE_NUM-2).U ) -> ETH_SFD, - ( byteCnt === (PRE_NUM-1).U ) -> Dualb4b5Encoder(io.axis.bits.tdata), - )) + ( byteCnt === (PRE_NUM-1).U ) -> io.axis.bits.tdata, + )) //组合逻辑 + io.encode.isEnable := true.B //组合逻辑 } .elsewhen( stateCurr === STATE_PAYLOAD ){ - shiftData := Dualb4b5Encoder(io.axis.bits.tdata) + io.encode.dataIn := io.axis.bits.tdata //组合逻辑 + shiftData := io.encode.dataOut + io.encode.isEnable := true.B //组合逻辑 } } } diff --git a/src/main/scala/backBoard/ebus/b4b5.scala b/src/main/scala/backBoard/ebus/b4b5.scala index c3c967c..4283cba 100644 --- a/src/main/scala/backBoard/ebus/b4b5.scala +++ b/src/main/scala/backBoard/ebus/b4b5.scala @@ -66,20 +66,13 @@ object Dualb4b5Decoder{ class b4b5DualEncode extends Module with RequireAsyncReset{ - val io = IO(new Bundle{ - val dataIn = Input(UInt(8.W)) - val isEnable = Input(Bool()) - val dataOut = Output(UInt(10.W)) - }) + val io = IO(new Encode_Bundle) io.dataOut := Dualb4b5Encoder(io.dataIn) } -class b8b10Decode extends Module with RequireAsyncReset{ - val io = IO(new Bundle{ - val dataIn = Input(UInt(10.W)) - val dataOut = Output(UInt(8.W)) - }) +class b4b5DualDecode extends Module with RequireAsyncReset{ + val io = IO(new Decode_Bundle) io.dataOut := Dualb4b5Decoder(io.dataIn) } diff --git a/src/main/scala/backBoard/ebus/b8b10.scala b/src/main/scala/backBoard/ebus/b8b10.scala index db9f8c3..24d6701 100644 --- a/src/main/scala/backBoard/ebus/b8b10.scala +++ b/src/main/scala/backBoard/ebus/b8b10.scala @@ -3,13 +3,19 @@ package BACK import chisel3._ import chisel3.util._ +class Encode_Bundle extends Bundle{ + val dataIn = Input(UInt(8.W)) + val isEnable = Input(Bool()) + val dataOut = Output(UInt(10.W)) +} + +class Decode_Bundle extends Bundle{ + val dataIn = Input(UInt(10.W)) + val dataOut = Output(UInt(8.W)) +} class b8b10Encode extends Module with RequireAsyncReset{ - val io = IO(new Bundle{ - val dataIn = Input(UInt(8.W)) - val isEnable = Input(Bool()) - val dataOut = Output(UInt(10.W)) - }) + val io = IO(new Encode_Bundle) val rd = RegInit(false.B) @@ -49,19 +55,6 @@ class b8b10Encode extends Module with RequireAsyncReset{ (io.dataIn(4,0) === "b11111".U) -> Mux( rd, "b101011".U(6.W), "b010100".U(6.W) ) )) - val b3b4LookUp = Mux1H(Seq( - (io.dataIn(7,5) === "b000".U) -> Mux( b5b6RD, "b1011".U(4.W), "b0100".U(4.W) ), - (io.dataIn(7,5) === "b001".U) -> "b1001".U(4.W), - (io.dataIn(7,5) === "b010".U) -> "b0101".U(4.W), - (io.dataIn(7,5) === "b011".U) -> Mux( b5b6RD, "b1100".U(4.W), "b0011".U(4.W) ), - (io.dataIn(7,5) === "b100".U) -> Mux( b5b6RD, "b1101".U(4.W), "b0010".U(4.W) ), - (io.dataIn(7,5) === "b101".U) -> "b1010".U(4.W), - (io.dataIn(7,5) === "b110".U) -> "b0110".U(4.W), - (io.dataIn(7,5) === "b111".U) -> MuxCase( Mux( b5b6RD, "b1110".U(4.W), "b0001".U(4.W) ), - ((io.dataIn(4,0) === 17.U || io.dataIn(4,0) === 18.U || io.dataIn(4,0) === 20.U) & ~b5b6RD) -> "b0111".U(4.W), // 17, 18, 20 are special cases - ((io.dataIn(4,0) === 11.U || io.dataIn(4,0) === 13.U || io.dataIn(4,0) === 14.U) & b5b6RD) -> "b1000".U(4.W), // 11, 13, 14 are special cases - ) - )) val b5b6RD = Mux1H(Seq( (io.dataIn(4,0) === "b00000".U) -> ~rd, @@ -71,7 +64,7 @@ class b8b10Encode extends Module with RequireAsyncReset{ (io.dataIn(4,0) === "b00100".U) -> ~rd, (io.dataIn(4,0) === "b00101".U) -> rd, (io.dataIn(4,0) === "b00110".U) -> rd, - (io.dataIn(4,0) === "b00111".U) -> rd + (io.dataIn(4,0) === "b00111".U) -> rd, (io.dataIn(4,0) === "b01000".U) -> ~rd, (io.dataIn(4,0) === "b01001".U) -> rd, (io.dataIn(4,0) === "b01010".U) -> rd, @@ -98,6 +91,20 @@ class b8b10Encode extends Module with RequireAsyncReset{ (io.dataIn(4,0) === "b11111".U) -> ~rd, )) + val b3b4LookUp = Mux1H(Seq( + (io.dataIn(7,5) === "b000".U) -> Mux( b5b6RD, "b1011".U(4.W), "b0100".U(4.W) ), + (io.dataIn(7,5) === "b001".U) -> "b1001".U(4.W), + (io.dataIn(7,5) === "b010".U) -> "b0101".U(4.W), + (io.dataIn(7,5) === "b011".U) -> Mux( b5b6RD, "b1100".U(4.W), "b0011".U(4.W) ), + (io.dataIn(7,5) === "b100".U) -> Mux( b5b6RD, "b1101".U(4.W), "b0010".U(4.W) ), + (io.dataIn(7,5) === "b101".U) -> "b1010".U(4.W), + (io.dataIn(7,5) === "b110".U) -> "b0110".U(4.W), + (io.dataIn(7,5) === "b111".U) -> MuxCase( Mux( b5b6RD, "b1110".U(4.W), "b0001".U(4.W) ), Array( + ((io.dataIn(4,0) === 17.U || io.dataIn(4,0) === 18.U || io.dataIn(4,0) === 20.U) & ~b5b6RD) -> "b0111".U(4.W), // 17, 18, 20 are special cases + ((io.dataIn(4,0) === 11.U || io.dataIn(4,0) === 13.U || io.dataIn(4,0) === 14.U) & b5b6RD) -> "b1000".U(4.W), // 11, 13, 14 are special cases + )) + )) + val b3b4RD = Mux1H(Seq( (io.dataIn(7,5) === "b000".U) -> ~b5b6RD, (io.dataIn(7,5) === "b001".U) -> b5b6RD, @@ -126,42 +133,39 @@ class b8b10Encode extends Module with RequireAsyncReset{ class b8b10Decode extends Module with RequireAsyncReset{ - val io = IO(new Bundle{ - val dataIn = Input(UInt(10.W)) - val dataOut = Output(UInt(8.W)) - }) + val io = IO(new Decode_Bundle) val b5b6LookUp = Mux1H(Seq( (io.dataIn(9,4) === "b100111".U(6.W) || io.dataIn(9,4) === "b011000".U(6.W) ) -> "b00000".U, (io.dataIn(9,4) === "b011101".U(6.W) || io.dataIn(9,4) === "b100010".U(6.W) ) -> "b00001".U, (io.dataIn(9,4) === "b101101".U(6.W) || io.dataIn(9,4) === "b010010".U(6.W) ) -> "b00010".U, - (io.dataIn(9,4) === "b110001".U(6.W),) -> "b00011".U, + (io.dataIn(9,4) === "b110001".U(6.W)) -> "b00011".U, (io.dataIn(9,4) === "b110101".U(6.W) || io.dataIn(9,4) === "b001010".U(6.W) ) -> "b00100".U, - (io.dataIn(9,4) === "b101001".U(6.W),) -> "b00101".U, - (io.dataIn(9,4) === "b011001".U(6.W),) -> "b00110".U, + (io.dataIn(9,4) === "b101001".U(6.W)) -> "b00101".U, + (io.dataIn(9,4) === "b011001".U(6.W)) -> "b00110".U, (io.dataIn(9,4) === "b111000".U(6.W) || io.dataIn(9,4) === "b000111".U(6.W) ) -> "b00111".U, (io.dataIn(9,4) === "b111001".U(6.W) || io.dataIn(9,4) === "b000110".U(6.W) ) -> "b01000".U, - (io.dataIn(9,4) === "b100101".U(6.W),) -> "b01001".U, - (io.dataIn(9,4) === "b010101".U(6.W),) -> "b01010".U, - (io.dataIn(9,4) === "b110100".U(6.W),) -> "b01011".U, - (io.dataIn(9,4) === "b001101".U(6.W),) -> "b01100".U, - (io.dataIn(9,4) === "b101100".U(6.W),) -> "b01101".U, - (io.dataIn(9,4) === "b011100".U(6.W),) -> "b01110".U, + (io.dataIn(9,4) === "b100101".U(6.W)) -> "b01001".U, + (io.dataIn(9,4) === "b010101".U(6.W)) -> "b01010".U, + (io.dataIn(9,4) === "b110100".U(6.W)) -> "b01011".U, + (io.dataIn(9,4) === "b001101".U(6.W)) -> "b01100".U, + (io.dataIn(9,4) === "b101100".U(6.W)) -> "b01101".U, + (io.dataIn(9,4) === "b011100".U(6.W)) -> "b01110".U, (io.dataIn(9,4) === "b010111".U(6.W) || io.dataIn(9,4) === "b101000".U(6.W) ) -> "b01111".U, (io.dataIn(9,4) === "b011011".U(6.W) || io.dataIn(9,4) === "b100100".U(6.W) ) -> "b10000".U, - (io.dataIn(9,4) === "b100011".U(6.W),) -> "b10001".U, - (io.dataIn(9,4) === "b010011".U(6.W),) -> "b10010".U, - (io.dataIn(9,4) === "b110010".U(6.W),) -> "b10011".U, - (io.dataIn(9,4) === "b001011".U(6.W),) -> "b10100".U, - (io.dataIn(9,4) === "b101010".U(6.W),) -> "b10101".U, - (io.dataIn(9,4) === "b011010".U(6.W),) -> "b10110".U, + (io.dataIn(9,4) === "b100011".U(6.W)) -> "b10001".U, + (io.dataIn(9,4) === "b010011".U(6.W)) -> "b10010".U, + (io.dataIn(9,4) === "b110010".U(6.W)) -> "b10011".U, + (io.dataIn(9,4) === "b001011".U(6.W)) -> "b10100".U, + (io.dataIn(9,4) === "b101010".U(6.W)) -> "b10101".U, + (io.dataIn(9,4) === "b011010".U(6.W)) -> "b10110".U, (io.dataIn(9,4) === "b111010".U(6.W) || io.dataIn(9,4) === "b000101".U(6.W) ) -> "b10111".U, (io.dataIn(9,4) === "b110011".U(6.W) || io.dataIn(9,4) === "b001100".U(6.W) ) -> "b11000".U, - (io.dataIn(9,4) === "b100110".U(6.W),) -> "b11001".U, - (io.dataIn(9,4) === "b010110".U(6.W),) -> "b11010".U, + (io.dataIn(9,4) === "b100110".U(6.W)) -> "b11001".U, + (io.dataIn(9,4) === "b010110".U(6.W)) -> "b11010".U, (io.dataIn(9,4) === "b110110".U(6.W) || io.dataIn(9,4) === "b001001".U(6.W) ) -> "b11011".U, - (io.dataIn(9,4) === "b001110".U(6.W),) -> "b11100".U, + (io.dataIn(9,4) === "b001110".U(6.W)) -> "b11100".U, (io.dataIn(9,4) === "b101110".U(6.W) || io.dataIn(9,4) === "b010001".U(6.W) ) -> "b11101".U, (io.dataIn(9,4) === "b011110".U(6.W) || io.dataIn(9,4) === "b100001".U(6.W) ) -> "b11110".U, (io.dataIn(9,4) === "b101011".U(6.W) || io.dataIn(9,4) === "b010100".U(6.W) ) -> "b11111".U, diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index e478fea..881d5d1 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -58,9 +58,15 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ val slaveParser = Module(new SlaveParser ) val masterParser = Module(new MasterParser) + val b4b5DownEncoder = Module(new b4b5DualEncode) + val b4b5DownDecoder = Module(new b4b5DualDecode) + val b4b5UpEncoder = Module(new b4b5DualEncode) + val b4b5UpDecoder = Module(new b4b5DualDecode) - - + val b8b10DownEncoder = Module(new b8b10Encode) + val b8b10DownDecoder = Module(new b8b10Decode) + val b8b10UpEncoder = Module(new b8b10Encode) + val b8b10UpDecoder = Module(new b8b10Decode) val interface = Module(new Interface) @@ -504,15 +510,9 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => } - - -class MstSlvSwitch extends MstSlvSwitchBase -with MstSlvSwitchMaster -with MstSlvSwitchSlave -with MstSlvSwitchWatchDog{ +trait MstSlvSwitchDataPath{ this: MstSlvSwitchBase => val isDwUpEx = interface.io.cReg.dwupEx(15,8) === "h58".U && interface.io.cReg.dwupEx.extract(0) - when( ~isDwUpEx ){ //未交叉 when( interface.io.cReg.modeSel === false.B ){ //slave when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 @@ -579,6 +579,49 @@ with MstSlvSwitchWatchDog{ io.dDatOut := false.B } } +} + +trait MstSlvSwitchB8B4{ this: MstSlvSwitchBase => + val isUsing8b10b = interface.io.cReg.b8b4Sel(15,8) === "h59".U && interface.io.cReg.b8b4Sel.extract(0) + + when( isUsing8b10b ){ + b8b10DownEncoder.io <> io.downCDROut.encode + b8b10DownDecoder.io <> io.downCDRIn.decode + b8b10UpEncoder.io <> io.upCDROut.encode + b8b10UpDecoder.io <> io.upCDRIn.decode + + b4b5DownEncoder.io.isEnable := false.B + b4b5DownEncoder.io.dataIn := 0.U + b4b5DownDecoder.io.dataIn := 0.U + b4b5UpEncoder.io.isEnable := false.B + b4b5UpEncoder.io.dataIn := 0.U + b4b5UpDecoder.io.dataIn := 0.U + } .otherwise{ + b4b5DownEncoder.io <> io.downCDROut.encode + b4b5DownDecoder.io <> io.downCDRIn.decode + b4b5UpEncoder.io <> io.upCDROut.encode + b4b5UpDecoder.io <> io.upCDRIn.decode + + b8b10DownEncoder.io.isEnable := false.B + b8b10DownEncoder.io.dataIn := 0.U + b8b10DownDecoder.io.dataIn := 0.U + b8b10UpEncoder.io.isEnable := false.B + b8b10UpEncoder.io.dataIn := 0.U + b8b10UpDecoder.io.dataIn := 0.U + } +} + +class MstSlvSwitch extends MstSlvSwitchBase +with MstSlvSwitchMaster +with MstSlvSwitchSlave +with MstSlvSwitchWatchDog +with MstSlvSwitchDataPath +with MstSlvSwitchB8B4{ + + + + + diff --git a/src/test/scala/SimCDR.scala b/src/test/scala/SimCDR.scala index a9d10ef..db2159c 100644 --- a/src/test/scala/SimCDR.scala +++ b/src/test/scala/SimCDR.scala @@ -27,6 +27,13 @@ class SimCDR extends Module with RequireAsyncReset{ val dataCnt = RegInit(0.U(12.W)) val payloadLen = RegInit(("hFFF".U)(12.W)) + val b4b5Encoder = Module(new b4b5DualEncode) + val b4b5Decoder = Module(new b4b5DualDecode) + + val b8b10Encoder = Module(new b8b10Encode) + val b8b10Decoder = Module(new b8b10Decode) + + when( cdrOut.io.axis.fire & dataCnt === 0.U ){ payloadLen := Cat( io.data, 0.U(4.W) ) @@ -72,6 +79,28 @@ class SimCDR extends Module with RequireAsyncReset{ io.isFailed := cdrIn.io.axis.fire & (record.io.deq.bits =/= cdrIn.io.axis.bits.tdata) io.isSuccess := cdrIn.io.axis.fire & cdrIn.io.axis.bits.tlast + + + + val isUsing8b10b = true.B + + + when( isUsing8b10b ){ + b8b10Encoder.io <> cdrOut.io.encode + b8b10Decoder.io <> cdrIn.io.decode + + b4b5Encoder.io.isEnable := false.B + b4b5Encoder.io.dataIn := 0.U + b4b5Decoder.io.dataIn := 0.U + } .otherwise{ + b4b5Encoder.io <> cdrOut.io.encode + b4b5Decoder.io <> cdrIn.io.decode + + b8b10Encoder.io.isEnable := false.B + b8b10Encoder.io.dataIn := 0.U + b8b10Decoder.io.dataIn := 0.U + } + } From e9bc1d1e18feceee7650c66152fc33ce1bb8c5fc Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 15:09:52 +0800 Subject: [PATCH 62/86] =?UTF-8?q?cdrin=E7=9A=84preamble=E8=BF=9E=E7=BB=AD?= =?UTF-8?q?=E7=9B=91=E6=8E=A710=E4=B8=AAcycle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 9634e11..0423617 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -172,7 +172,7 @@ trait CDRInAxis{ this: CDRInBase => io.decode.dataIn := checkSFD(9,0) val shiftData = io.decode.dataOut - val shiftDataNext = RegNext( shiftData, 0.U(8.W) ) + val shiftData10Next = ShiftRegister( shiftData, 10, 0.U(8.W), true.B ) val payloadLen = RegInit(0.U(12.W)) @@ -187,7 +187,7 @@ trait CDRInAxis{ this: CDRInBase => stateNext := Mux( io.flush, STATE_IDLE, Mux1H(Seq( - (stateCurr === STATE_IDLE) -> ( Mux( shiftDataNext === ETH_PRE && shiftData === ETH_SFD , STATE_HEADER, STATE_IDLE )), //IDLE + (stateCurr === STATE_IDLE) -> ( Mux( shiftData10Next === ETH_PRE && shiftData === ETH_SFD , STATE_HEADER, STATE_IDLE )), //IDLE (stateCurr === STATE_HEADER) -> ( Mux( (byteCnt === (HeaderByte-1).U) & (bitCnt === 9.U), STATE_PAYLOAD, STATE_HEADER ) ), (stateCurr === STATE_PAYLOAD) -> ( Mux( (byteCnt === (payloadLen + (4 - 1).U) ) & (bitCnt === 9.U), STATE_IDLE, STATE_PAYLOAD )), // PAYLOAD )) //crc @@ -197,7 +197,7 @@ trait CDRInAxis{ this: CDRInBase => - when( stateCurr === STATE_IDLE & ( shiftDataNext === ETH_PRE && shiftData === ETH_SFD ) ){ //first align + when( stateCurr === STATE_IDLE & ( shiftData10Next === ETH_PRE && shiftData === ETH_SFD ) ){ //first align bitCnt := 0.U } .otherwise{ when( bitCnt === 9.U ){ @@ -209,7 +209,7 @@ trait CDRInAxis{ this: CDRInBase => when( io.flush ){ byteCnt := 0.U - } .elsewhen( stateCurr === STATE_IDLE & ( shiftDataNext === ETH_PRE && shiftData === ETH_SFD ) ){ //first align + } .elsewhen( stateCurr === STATE_IDLE & ( shiftData10Next === ETH_PRE && shiftData === ETH_SFD ) ){ //first align byteCnt := 0.U } .elsewhen( bitCnt === 9.U ){ when( stateCurr === STATE_HEADER ){ From 7b3b4c010df4075a3d3f2255006778cc69846bc4 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 15:39:17 +0800 Subject: [PATCH 63/86] =?UTF-8?q?8B10B=E6=AD=A3=E8=B4=9F=E7=9B=B8=E5=86=99?= =?UTF-8?q?=E5=8F=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/b8b10.scala | 36 +++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/scala/backBoard/ebus/b8b10.scala b/src/main/scala/backBoard/ebus/b8b10.scala index 24d6701..9e87ead 100644 --- a/src/main/scala/backBoard/ebus/b8b10.scala +++ b/src/main/scala/backBoard/ebus/b8b10.scala @@ -21,38 +21,38 @@ class b8b10Encode extends Module with RequireAsyncReset{ val b5b6LookUp = Mux1H(Seq( - (io.dataIn(4,0) === "b00000".U) -> Mux( rd, "b100111".U(6.W), "b011000".U(6.W) ), - (io.dataIn(4,0) === "b00001".U) -> Mux( rd, "b011101".U(6.W), "b100010".U(6.W) ), - (io.dataIn(4,0) === "b00010".U) -> Mux( rd, "b101101".U(6.W), "b010010".U(6.W) ), + (io.dataIn(4,0) === "b00000".U) -> Mux( ~rd, "b100111".U(6.W), "b011000".U(6.W) ), + (io.dataIn(4,0) === "b00001".U) -> Mux( ~rd, "b011101".U(6.W), "b100010".U(6.W) ), + (io.dataIn(4,0) === "b00010".U) -> Mux( ~rd, "b101101".U(6.W), "b010010".U(6.W) ), (io.dataIn(4,0) === "b00011".U) -> "b110001".U(6.W), - (io.dataIn(4,0) === "b00100".U) -> Mux( rd, "b110101".U(6.W), "b001010".U(6.W) ), + (io.dataIn(4,0) === "b00100".U) -> Mux( ~rd, "b110101".U(6.W), "b001010".U(6.W) ), (io.dataIn(4,0) === "b00101".U) -> "b101001".U(6.W), (io.dataIn(4,0) === "b00110".U) -> "b011001".U(6.W), - (io.dataIn(4,0) === "b00111".U) -> Mux( rd, "b111000".U(6.W), "b000111".U(6.W) ), - (io.dataIn(4,0) === "b01000".U) -> Mux( rd, "b111001".U(6.W), "b000110".U(6.W) ), + (io.dataIn(4,0) === "b00111".U) -> Mux( ~rd, "b111000".U(6.W), "b000111".U(6.W) ), + (io.dataIn(4,0) === "b01000".U) -> Mux( ~rd, "b111001".U(6.W), "b000110".U(6.W) ), (io.dataIn(4,0) === "b01001".U) -> "b100101".U(6.W), (io.dataIn(4,0) === "b01010".U) -> "b010101".U(6.W), (io.dataIn(4,0) === "b01011".U) -> "b110100".U(6.W), (io.dataIn(4,0) === "b01100".U) -> "b001101".U(6.W), (io.dataIn(4,0) === "b01101".U) -> "b101100".U(6.W), (io.dataIn(4,0) === "b01110".U) -> "b011100".U(6.W), - (io.dataIn(4,0) === "b01111".U) -> Mux( rd, "b010111".U(6.W), "b101000".U(6.W) ), - (io.dataIn(4,0) === "b10000".U) -> Mux( rd, "b011011".U(6.W), "b100100".U(6.W) ), + (io.dataIn(4,0) === "b01111".U) -> Mux( ~rd, "b010111".U(6.W), "b101000".U(6.W) ), + (io.dataIn(4,0) === "b10000".U) -> Mux( ~rd, "b011011".U(6.W), "b100100".U(6.W) ), (io.dataIn(4,0) === "b10001".U) -> "b100011".U(6.W), (io.dataIn(4,0) === "b10010".U) -> "b010011".U(6.W), (io.dataIn(4,0) === "b10011".U) -> "b110010".U(6.W), (io.dataIn(4,0) === "b10100".U) -> "b001011".U(6.W), (io.dataIn(4,0) === "b10101".U) -> "b101010".U(6.W), (io.dataIn(4,0) === "b10110".U) -> "b011010".U(6.W), - (io.dataIn(4,0) === "b10111".U) -> Mux( rd, "b111010".U(6.W), "b000101".U(6.W) ), - (io.dataIn(4,0) === "b11000".U) -> Mux( rd, "b110011".U(6.W), "b001100".U(6.W) ), + (io.dataIn(4,0) === "b10111".U) -> Mux( ~rd, "b111010".U(6.W), "b000101".U(6.W) ), + (io.dataIn(4,0) === "b11000".U) -> Mux( ~rd, "b110011".U(6.W), "b001100".U(6.W) ), (io.dataIn(4,0) === "b11001".U) -> "b100110".U(6.W), (io.dataIn(4,0) === "b11010".U) -> "b010110".U(6.W), - (io.dataIn(4,0) === "b11011".U) -> Mux( rd, "b110110".U(6.W), "b001001".U(6.W) ), + (io.dataIn(4,0) === "b11011".U) -> Mux( ~rd, "b110110".U(6.W), "b001001".U(6.W) ), (io.dataIn(4,0) === "b11100".U) -> "b001110".U(6.W), - (io.dataIn(4,0) === "b11101".U) -> Mux( rd, "b101110".U(6.W), "b010001".U(6.W) ), - (io.dataIn(4,0) === "b11110".U) -> Mux( rd, "b011110".U(6.W), "b100001".U(6.W) ), - (io.dataIn(4,0) === "b11111".U) -> Mux( rd, "b101011".U(6.W), "b010100".U(6.W) ) + (io.dataIn(4,0) === "b11101".U) -> Mux( ~rd, "b101110".U(6.W), "b010001".U(6.W) ), + (io.dataIn(4,0) === "b11110".U) -> Mux( ~rd, "b011110".U(6.W), "b100001".U(6.W) ), + (io.dataIn(4,0) === "b11111".U) -> Mux( ~rd, "b101011".U(6.W), "b010100".U(6.W) ) )) @@ -92,14 +92,14 @@ class b8b10Encode extends Module with RequireAsyncReset{ )) val b3b4LookUp = Mux1H(Seq( - (io.dataIn(7,5) === "b000".U) -> Mux( b5b6RD, "b1011".U(4.W), "b0100".U(4.W) ), + (io.dataIn(7,5) === "b000".U) -> Mux( ~b5b6RD, "b1011".U(4.W), "b0100".U(4.W) ), (io.dataIn(7,5) === "b001".U) -> "b1001".U(4.W), (io.dataIn(7,5) === "b010".U) -> "b0101".U(4.W), - (io.dataIn(7,5) === "b011".U) -> Mux( b5b6RD, "b1100".U(4.W), "b0011".U(4.W) ), - (io.dataIn(7,5) === "b100".U) -> Mux( b5b6RD, "b1101".U(4.W), "b0010".U(4.W) ), + (io.dataIn(7,5) === "b011".U) -> Mux( ~b5b6RD, "b1100".U(4.W), "b0011".U(4.W) ), + (io.dataIn(7,5) === "b100".U) -> Mux( ~b5b6RD, "b1101".U(4.W), "b0010".U(4.W) ), (io.dataIn(7,5) === "b101".U) -> "b1010".U(4.W), (io.dataIn(7,5) === "b110".U) -> "b0110".U(4.W), - (io.dataIn(7,5) === "b111".U) -> MuxCase( Mux( b5b6RD, "b1110".U(4.W), "b0001".U(4.W) ), Array( + (io.dataIn(7,5) === "b111".U) -> MuxCase( Mux( ~b5b6RD, "b1110".U(4.W), "b0001".U(4.W) ), Array( ((io.dataIn(4,0) === 17.U || io.dataIn(4,0) === 18.U || io.dataIn(4,0) === 20.U) & ~b5b6RD) -> "b0111".U(4.W), // 17, 18, 20 are special cases ((io.dataIn(4,0) === 11.U || io.dataIn(4,0) === 13.U || io.dataIn(4,0) === 14.U) & b5b6RD) -> "b1000".U(4.W), // 11, 13, 14 are special cases )) From 4bc5e2927e517dd16559067585dc53dac016bdd4 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 17:15:04 +0800 Subject: [PATCH 64/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9key=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 34 +++++++------------ .../scala/backBoard/shin/MstSlvSwitch.scala | 9 ++++- src/main/scala/backBoard/shin/ShinTop.scala | 5 ++- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 782d85c..254c703 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -52,9 +52,9 @@ class CommonRegisterBundle extends Bundle{ val refTop = UInt(3.W) val bias = UInt(2.W) - val dwupEx = UInt(16.W) - val b8b4Sel = UInt(16.W) - val cdrParam = UInt(16.W) + val dwupEx = Bool() + val b8b4Sel = Bool() + val cdrParam = UInt(8.W) val softResetCode = Vec(4, UInt(8.W)) @@ -308,9 +308,9 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ }) ++ Seq( - (addr === "h4a".U ) -> cReg.dwupEx.extract(0), - (addr === "h4c".U ) -> cReg.b8b4Sel.extract(0), - (addr === "h4e".U ) -> cReg.cdrParam(7,0), + (addr === "h4a".U ) -> cReg.dwupEx, + (addr === "h4c".U ) -> cReg.b8b4Sel, + (addr === "h4e".U ) -> cReg.cdrParam, (addr === "h50".U ) -> cReg.anamuxSel, (addr === "h51".U ) -> cReg.ldo2p5, @@ -1071,22 +1071,14 @@ trait InterfaceSystem{ this: InterfaceBase => cReg.softResetCode(3) := RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h43".U ) - cReg.dwupEx := - Cat( - RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4b".U ), - RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4a".U ) - ) + val dwupExTemp = RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4a".U ) + cReg.dwupEx := RegEnable(dwupExTemp, 0.U(8.W), isEnW & addrw === "h4b".U & dataw === "h58".U ) - cReg.b8b4Sel := - Cat( - RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4d".U ), - RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4c".U ) - ) - cReg.cdrParam := - Cat( - RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4f".U ), - RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4e".U ) - ) + val b8b4SelTemp = RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4c".U ) + cReg.b8b4Sel := RegEnable(b8b4SelTemp, 0.U(8.W), isEnW & addrw === "h4d".U & dataw === "h59".U ) + + val cdrParamTemp = RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4e".U ) + cReg.cdrParam := RegEnable(cdrParamTemp, 0.U(8.W), isEnW & addrw === "h4f".U & dataw === "h60".U ) val lvdsWriteAble = RegInit(0.U(16.W)); sReg.lvdsWriteAble := lvdsWriteAble when( io.lvds.isEnW & (io.lvds.addrw === "h19".U(16.W)) ){ diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 881d5d1..9814eae 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -611,12 +611,19 @@ trait MstSlvSwitchB8B4{ this: MstSlvSwitchBase => } } +trait MstSlvSwitchCDRIn{ this: MstSlvSwitchBase => + val cdrSelB = interface.io.cReg.cdrParam(15,8) === "h60".U && interface.io.cReg.b8b4Sel(7,0) === 1.U + val cdrSelC = interface.io.cReg.cdrParam(15,8) === "h60".U && interface.io.cReg.b8b4Sel(7,0) === 2.U + val cdrSelA = ~cdrSelB & ~cdrSelC +} + class MstSlvSwitch extends MstSlvSwitchBase with MstSlvSwitchMaster with MstSlvSwitchSlave with MstSlvSwitchWatchDog with MstSlvSwitchDataPath -with MstSlvSwitchB8B4{ +with MstSlvSwitchB8B4 +with MstSlvSwitchCDRIn{ diff --git a/src/main/scala/backBoard/shin/ShinTop.scala b/src/main/scala/backBoard/shin/ShinTop.scala index 9c634c5..db9567d 100644 --- a/src/main/scala/backBoard/shin/ShinTop.scala +++ b/src/main/scala/backBoard/shin/ShinTop.scala @@ -16,8 +16,9 @@ class ShinTop extends Module with RequireAsyncReset{ val mstSlvSwitch = Module(new MstSlvSwitch) val downCDROut = Module(new CDROut) val upCDROut = Module(new CDROut) + val downCDRIn = Module(new MPCDRIn) - val upCDRIn = Module(new MPCDRIn) + val upCDRIn = Module(new MPCDRIn) downCDRIn.multiCLK := io.multiCLK @@ -26,9 +27,11 @@ class ShinTop extends Module with RequireAsyncReset{ downCDROut.io <> mstSlvSwitch.io.downCDROut upCDROut.io <> mstSlvSwitch.io.upCDROut + downCDRIn.io <> mstSlvSwitch.io.downCDRIn upCDRIn.io <> mstSlvSwitch.io.upCDRIn + io.viewAsSupertype(new TopBase_IO_Bundle) <> mstSlvSwitch.io.viewAsSupertype(new TopBase_IO_Bundle) From ac118289b2362ae9e57b3de15cbb7b05361a5c2c Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Fri, 5 Sep 2025 19:30:35 +0800 Subject: [PATCH 65/86] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/Interface.scala | 9 --------- src/main/scala/backBoard/shin/MstSlvSwitch.scala | 8 ++++---- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 254c703..e2d8740 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -298,15 +298,6 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === ("h48".U(16.W) + i.U) ) -> cReg.xtal( 8*i+7,8*i+0 ) }) ++ - - ((0 until 2).map{ i => - (addr === ("h4c".U(16.W) + i.U) ) -> cReg.b8b4Sel( 8*i+7,8*i+0 ) - }) ++ - - ((0 until 2).map{ i => - (addr === ("h4e".U(16.W) + i.U) ) -> cReg.cdrParam( 8*i+7,8*i+0 ) - }) ++ - Seq( (addr === "h4a".U ) -> cReg.dwupEx, (addr === "h4c".U ) -> cReg.b8b4Sel, diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 9814eae..f0efcdc 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -511,7 +511,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => } trait MstSlvSwitchDataPath{ this: MstSlvSwitchBase => - val isDwUpEx = interface.io.cReg.dwupEx(15,8) === "h58".U && interface.io.cReg.dwupEx.extract(0) + val isDwUpEx = interface.io.cReg.dwupEx.extract(0) when( ~isDwUpEx ){ //未交叉 when( interface.io.cReg.modeSel === false.B ){ //slave @@ -582,7 +582,7 @@ trait MstSlvSwitchDataPath{ this: MstSlvSwitchBase => } trait MstSlvSwitchB8B4{ this: MstSlvSwitchBase => - val isUsing8b10b = interface.io.cReg.b8b4Sel(15,8) === "h59".U && interface.io.cReg.b8b4Sel.extract(0) + val isUsing8b10b = interface.io.cReg.b8b4Sel.extract(0) when( isUsing8b10b ){ b8b10DownEncoder.io <> io.downCDROut.encode @@ -612,8 +612,8 @@ trait MstSlvSwitchB8B4{ this: MstSlvSwitchBase => } trait MstSlvSwitchCDRIn{ this: MstSlvSwitchBase => - val cdrSelB = interface.io.cReg.cdrParam(15,8) === "h60".U && interface.io.cReg.b8b4Sel(7,0) === 1.U - val cdrSelC = interface.io.cReg.cdrParam(15,8) === "h60".U && interface.io.cReg.b8b4Sel(7,0) === 2.U + val cdrSelB = interface.io.cReg.cdrParam === 1.U + val cdrSelC = interface.io.cReg.cdrParam === 2.U val cdrSelA = ~cdrSelB & ~cdrSelC } From ff7aba38ad79ef19824c14781b59bd87708c6316 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Sat, 6 Sep 2025 11:07:41 +0800 Subject: [PATCH 66/86] =?UTF-8?q?=E6=8B=86=E5=88=86CDRIn=E4=B8=BA=E9=87=87?= =?UTF-8?q?=E6=A0=B7=E9=83=A8=E5=88=86=E5=92=8Caxis=E9=83=A8=E5=88=86?= =?UTF-8?q?=EF=BC=9B=E8=B0=83=E6=95=B4=E5=B1=82=E6=AC=A1=E7=BB=93=E6=9E=84?= =?UTF-8?q?=EF=BC=8C=E4=BB=85=E5=B0=86cdrInSample=E6=94=BE=E5=9C=A8?= =?UTF-8?q?=E9=A1=B6=E5=B1=82=EF=BC=9B=E6=94=BE=E7=BD=AE3=E7=BB=84CDRInSam?= =?UTF-8?q?ple=EF=BC=8C=E4=BD=BF=E7=94=A8=E5=AF=84=E5=AD=98=E5=99=A8?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 43 ++--- .../scala/backBoard/shin/MstSlvSwitch.scala | 180 +++++++++++------- src/main/scala/backBoard/shin/ShinTop.scala | 42 ++-- src/test/scala/SimCDR.scala | 27 +-- 4 files changed, 179 insertions(+), 113 deletions(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index fa1d810..37b997d 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -5,34 +5,17 @@ import chisel3.util._ - - - -//work in 100MHZ -class CDRInIO extends Bundle{ - val axis = Decoupled(new AXIS_Bundle(8)) - val decode = Flipped(new Decode_Bundle) +class CDRInSampleIO extends Bundle{ val serDat = Input(Bool()) - val flush = Input(Bool()) + val syncSerDat = Output(Bool()) } - - -abstract class CDRInBase extends Module with RequireAsyncReset{ - val io: CDRInIO = IO(new CDRInIO) - io.decode.dataIn := 0.U - - val syncSerDat = Wire(Bool()) -} - - -trait CDRInMultiSample{ this: CDRInBase => - +class CDRInMultiSample extends Module with RequireAsyncReset{ + val io: CDRInSampleIO = IO(new CDRInSampleIO) val clkNum: Int = 16 require( clkNum == 16 ) - //multiCLK 需要按照滞后相位接线,即0为最先到达,1次先 val multiCLK = IO(Input(Vec(clkNum, Bool()))) @@ -196,14 +179,22 @@ trait CDRInMultiSample{ this: CDRInBase => ) - syncSerDat := asyncSerDat + io.syncSerDat := asyncSerDat } +class CDRInAxisIO extends Bundle{ + val axis = Decoupled(new AXIS_Bundle(8)) + val decode = Flipped(new Decode_Bundle) + val syncSerDat = Input(Bool()) + val flush = Input(Bool()) +} -trait CDRInAxis{ this: CDRInBase => +class CDRInAxis extends Module with RequireAsyncReset{ + val io: CDRInAxisIO = IO(new CDRInAxisIO) + io.decode.dataIn := 0.U def HeaderByte: Int = 4 val ETH_PRE = "h68".U(8.W) @@ -224,7 +215,7 @@ trait CDRInAxis{ this: CDRInBase => when( io.flush ){ checkSFD := 0.U } .otherwise{ - checkSFD := Cat( checkSFD(8,0), syncSerDat ) + checkSFD := Cat( checkSFD(8,0), io.syncSerDat ) } io.decode.dataIn := checkSFD(9,0) @@ -310,7 +301,5 @@ trait CDRInAxis{ this: CDRInBase => } -class MPCDRIn extends CDRInBase -with CDRInAxis -with CDRInMultiSample + diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index f0efcdc..47c515d 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -38,12 +38,8 @@ class TopBase_IO_Bundle extends Bundle{ class MstSlvSwitchIO extends TopBase_IO_Bundle{ - - val downCDROut = Flipped(new CDROutIO) - val upCDROut = Flipped(new CDROutIO) - val downCDRIn = Flipped(new CDRInIO) - val upCDRIn = Flipped(new CDRInIO) - + val downCDRSampleIn = Vec(3, Flipped(new CDRInSampleIO) ) + val upCDRSampleIn = Vec(3, Flipped(new CDRInSampleIO) ) } @@ -55,6 +51,12 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ val io: MstSlvSwitchIO = IO(new MstSlvSwitchIO) + val downCDROut = Module(new CDROut) + val upCDROut = Module(new CDROut) + + val downCDRInAxis = Module(new CDRInAxis) + val upCDRInAxis = Module(new CDRInAxis) + val slaveParser = Module(new SlaveParser ) val masterParser = Module(new MasterParser) @@ -68,17 +70,26 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ val b8b10UpEncoder = Module(new b8b10Encode) val b8b10UpDecoder = Module(new b8b10Decode) - val interface = Module(new Interface) + val downInSerDat = Wire(Bool()) + val downInSyncSerDat = Wire(Bool()); downCDRInAxis.io.syncSerDat := downInSyncSerDat + val upInSerDat = Wire(Bool()) + val upInSyncSerDat = Wire(Bool()); upCDRInAxis.io.syncSerDat := upInSyncSerDat + + dontTouch(downInSerDat) + dontTouch(downInSyncSerDat) + dontTouch(upInSerDat) + dontTouch(upInSyncSerDat) + interface.io.latchPin := io.latchPin interface.io.uniCode := io.uniCode interface.io.hwSerial := io.hwSerial - interface.io.intTransEnd(0) := io.downCDRIn.axis.fire & io.downCDRIn.axis.bits.tlast - interface.io.intTransEnd(1) := io.downCDROut.axis.fire & io.downCDROut.axis.bits.tlast - interface.io.intTransEnd(2) := io.upCDRIn.axis.fire & io.upCDRIn.axis.bits.tlast - interface.io.intTransEnd(3) := io.upCDROut.axis.fire & io.upCDROut.axis.bits.tlast + interface.io.intTransEnd(0) := downCDRInAxis.io.axis.fire & downCDRInAxis.io.axis.bits.tlast + interface.io.intTransEnd(1) := downCDROut.io.axis.fire & downCDROut.io.axis.bits.tlast + interface.io.intTransEnd(2) := upCDRInAxis.io.axis.fire & upCDRInAxis.io.axis.bits.tlast + interface.io.intTransEnd(3) := upCDROut.io.axis.fire & upCDROut.io.axis.bits.tlast io.isSoftReset := interface.io.isSoftReset io.interrupt := interface.io.interrupt @@ -239,24 +250,24 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ slaveParser.io.sram_r(3).datar := 0.U masterParser.io.sram_r.datar := 0.U - io.downCDRIn.axis.ready := false.B + downCDRInAxis.io.axis.ready := false.B slaveParser.io.downIn.valid := false.B slaveParser.io.downIn.bits := 0.U.asTypeOf(new AXIS_Bundle(8)) slaveParser.io.downOut.ready := false.B masterParser.io.downOut.ready := false.B - io.downCDROut.axis.valid := false.B - io.downCDROut.axis.bits := 0.U.asTypeOf(new AXIS_Bundle(8)) + downCDROut.io.axis.valid := false.B + downCDROut.io.axis.bits := 0.U.asTypeOf(new AXIS_Bundle(8)) - io.upCDRIn.axis.ready := false.B + upCDRInAxis.io.axis.ready := false.B slaveParser.io.upIn.valid := false.B slaveParser.io.upIn.bits := 0.U.asTypeOf(new AXIS_Bundle(8)) masterParser.io.upIn.valid := false.B masterParser.io.upIn.bits := 0.U.asTypeOf(new AXIS_Bundle(8)) slaveParser.io.upOut.ready := false.B - io.upCDROut.axis.valid := false.B - io.upCDROut.axis.bits := 0.U.asTypeOf(new AXIS_Bundle(8)) + upCDROut.io.axis.valid := false.B + upCDROut.io.axis.bits := 0.U.asTypeOf(new AXIS_Bundle(8)) interface.io.mstDeltaTime := 0.U @@ -287,8 +298,8 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ trait MstSlvSwitchMaster{ this: MstSlvSwitchBase => when( interface.io.cReg.modeSel === true.B ){ - masterParser.io.downOut <> io.downCDROut.axis - masterParser.io.upIn <> io.upCDRIn.axis + masterParser.io.downOut <> downCDROut.io.axis + masterParser.io.upIn <> upCDRInAxis.io.axis } when( interface.io.cReg.modeSel === true.B ){ @@ -355,10 +366,10 @@ trait MstSlvSwitchMaster{ this: MstSlvSwitchBase => trait MstSlvSwitchSlave{ this: MstSlvSwitchBase => when( interface.io.cReg.modeSel === false.B ){ - slaveParser.io.downIn <> io.downCDRIn.axis - io.downCDROut.axis <> slaveParser.io.downOut - slaveParser.io.upIn <> io.upCDRIn.axis - io.upCDROut.axis <> slaveParser.io.upOut + slaveParser.io.downIn <> downCDRInAxis.io.axis + downCDROut.io.axis <> slaveParser.io.downOut + slaveParser.io.upIn <> upCDRInAxis.io.axis + upCDROut.io.axis <> slaveParser.io.upOut } slaveParser.io.cReg := interface.io.cReg @@ -419,10 +430,10 @@ trait MstSlvSwitchSlave{ this: MstSlvSwitchBase => slaveParser.io.intHWClr(0) := interface.io.intHWTrig(0) & interface.io.intHWClr(0) slaveParser.io.intHWClr(1) := interface.io.intHWTrig(1) & interface.io.intHWClr(1) - io.downCDRIn.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) - io.upCDRIn.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) - io.downCDROut.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) - io.upCDROut.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) + downCDRInAxis.io.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) + upCDRInAxis.io.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) + downCDROut.io.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) + upCDROut.io.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) interface.io.lvds <> slaveParser.io.lvds @@ -475,11 +486,11 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => val wdtRec2RtnCnt = RegInit(0.U(32.W)) when( - (io.upCDRIn.axis.fire & io.upCDRIn.axis.bits.tlast) | + (upCDRInAxis.io.axis.fire & upCDRInAxis.io.axis.bits.tlast) | ~interface.io.cReg.wdtEnable.extract(0) ){ isWdtRec2RtnEnable := false.B - } .elsewhen( ~isWdtRec2RtnEnable & io.downCDROut.axis.fire & interface.io.cReg.wdtEnable.extract(0) ){ + } .elsewhen( ~isWdtRec2RtnEnable & downCDROut.io.axis.fire & interface.io.cReg.wdtEnable.extract(0) ){ isWdtRec2RtnEnable := true.B } @@ -500,7 +511,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => wdtRec2RecCnt := wdtRec2RecCnt + 1.U } .elsewhen( ~interface.io.cReg.wdtEnable.extract(17) || - io.downCDRIn.axis.fire || + downCDRInAxis.io.axis.fire || (wdtRec2RecCnt >= interface.io.cReg.wdtTarCnt(17)) ){ wdtRec2RecCnt := 0.U @@ -516,8 +527,8 @@ trait MstSlvSwitchDataPath{ this: MstSlvSwitchBase => when( ~isDwUpEx ){ //未交叉 when( interface.io.cReg.modeSel === false.B ){ //slave when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := false.B + downInSerDat := false.B + upInSerDat := false.B when( slaveParser.io.isLoop ){ //回环 io.dDatOut := false.B io.uDatOut := io.dDatIn @@ -527,21 +538,21 @@ trait MstSlvSwitchDataPath{ this: MstSlvSwitchBase => } } .otherwise{ //无硬件错误 when( slaveParser.io.isLoop ){ //回环 - io.downCDRIn.serDat := io.dDatIn - io.upCDRIn.serDat := io.downCDROut.serDat + downInSerDat := io.dDatIn + upInSerDat := downCDROut.io.serDat io.dDatOut := false.B - io.uDatOut := io.upCDROut.serDat + io.uDatOut := upCDROut.io.serDat } .otherwise{ //非回环 - io.downCDRIn.serDat := io.dDatIn - io.upCDRIn.serDat := io.uDatIn - io.dDatOut := io.downCDROut.serDat - io.uDatOut := io.upCDROut.serDat + downInSerDat := io.dDatIn + upInSerDat := io.uDatIn + io.dDatOut := downCDROut.io.serDat + io.uDatOut := upCDROut.io.serDat } } } .otherwise{ //master - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := io.uDatIn - io.dDatOut := io.downCDROut.serDat + downInSerDat := false.B + upInSerDat := io.uDatIn + io.dDatOut := downCDROut.io.serDat io.uDatOut := false.B } } .otherwise{ //交叉 @@ -551,31 +562,31 @@ trait MstSlvSwitchDataPath{ this: MstSlvSwitchBase => when( slaveParser.io.isLoop ){ //回环 io.dDatOut := io.uDatIn io.uDatOut := false.B - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := false.B + downInSerDat := false.B + upInSerDat := false.B } .otherwise{ //非回环 io.dDatOut := io.dDatIn io.uDatOut := io.uDatIn - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := false.B + downInSerDat := false.B + upInSerDat := false.B } } .otherwise{ //无硬件错误 when( slaveParser.io.isLoop ){ //回环 - io.downCDRIn.serDat := io.uDatIn - io.upCDRIn.serDat := io.downCDROut.serDat + downInSerDat := io.uDatIn + upInSerDat := downCDROut.io.serDat io.uDatOut := false.B - io.dDatOut := io.upCDROut.serDat + io.dDatOut := upCDROut.io.serDat } .otherwise{ //非回环 - io.downCDRIn.serDat := io.uDatIn - io.upCDRIn.serDat := io.dDatIn - io.dDatOut := io.upCDROut.serDat - io.uDatOut := io.downCDROut.serDat + downInSerDat := io.uDatIn + upInSerDat := io.dDatIn + io.dDatOut := upCDROut.io.serDat + io.uDatOut := downCDROut.io.serDat } } } .otherwise{ //master - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := io.dDatIn - io.uDatOut := io.downCDROut.serDat + downInSerDat := false.B + upInSerDat := io.dDatIn + io.uDatOut := downCDROut.io.serDat io.dDatOut := false.B } } @@ -585,10 +596,10 @@ trait MstSlvSwitchB8B4{ this: MstSlvSwitchBase => val isUsing8b10b = interface.io.cReg.b8b4Sel.extract(0) when( isUsing8b10b ){ - b8b10DownEncoder.io <> io.downCDROut.encode - b8b10DownDecoder.io <> io.downCDRIn.decode - b8b10UpEncoder.io <> io.upCDROut.encode - b8b10UpDecoder.io <> io.upCDRIn.decode + b8b10DownEncoder.io <> downCDROut.io.encode + b8b10DownDecoder.io <> downCDRInAxis.io.decode + b8b10UpEncoder.io <> upCDROut.io.encode + b8b10UpDecoder.io <> upCDRInAxis.io.decode b4b5DownEncoder.io.isEnable := false.B b4b5DownEncoder.io.dataIn := 0.U @@ -597,10 +608,10 @@ trait MstSlvSwitchB8B4{ this: MstSlvSwitchBase => b4b5UpEncoder.io.dataIn := 0.U b4b5UpDecoder.io.dataIn := 0.U } .otherwise{ - b4b5DownEncoder.io <> io.downCDROut.encode - b4b5DownDecoder.io <> io.downCDRIn.decode - b4b5UpEncoder.io <> io.upCDROut.encode - b4b5UpDecoder.io <> io.upCDRIn.decode + b4b5DownEncoder.io <> downCDROut.io.encode + b4b5DownDecoder.io <> downCDRInAxis.io.decode + b4b5UpEncoder.io <> upCDROut.io.encode + b4b5UpDecoder.io <> upCDRInAxis.io.decode b8b10DownEncoder.io.isEnable := false.B b8b10DownEncoder.io.dataIn := 0.U @@ -615,6 +626,47 @@ trait MstSlvSwitchCDRIn{ this: MstSlvSwitchBase => val cdrSelB = interface.io.cReg.cdrParam === 1.U val cdrSelC = interface.io.cReg.cdrParam === 2.U val cdrSelA = ~cdrSelB & ~cdrSelC + + // val downCDRSampleIn = Vec(3, Flipped(new CDRInSampleIO) ) + // val upCDRSampleIn = Vec(3, Flipped(new CDRInSampleIO) ) + + + + + when(cdrSelB){ + io.downCDRSampleIn(1).serDat := downInSerDat + io.upCDRSampleIn(1).serDat := downInSerDat + downInSyncSerDat := io.downCDRSampleIn(1).syncSerDat + upInSyncSerDat := io.upCDRSampleIn(1).syncSerDat + + io.downCDRSampleIn(0).serDat := false.B + io.upCDRSampleIn(0).serDat := false.B + io.downCDRSampleIn(2).serDat := false.B + io.upCDRSampleIn(2).serDat := false.B + } .elsewhen(cdrSelC){ + io.downCDRSampleIn(2).serDat := downInSerDat + io.upCDRSampleIn(2).serDat := downInSerDat + downInSyncSerDat := io.downCDRSampleIn(2).syncSerDat + upInSyncSerDat := io.upCDRSampleIn(2).syncSerDat + + io.downCDRSampleIn(0).serDat := false.B + io.upCDRSampleIn(0).serDat := false.B + io.downCDRSampleIn(1).serDat := false.B + io.upCDRSampleIn(1).serDat := false.B + } .otherwise{ + io.downCDRSampleIn(0).serDat := downInSerDat + io.upCDRSampleIn(0).serDat := downInSerDat + downInSyncSerDat := io.downCDRSampleIn(0).syncSerDat + upInSyncSerDat := io.upCDRSampleIn(0).syncSerDat + + io.downCDRSampleIn(1).serDat := false.B + io.upCDRSampleIn(1).serDat := false.B + io.downCDRSampleIn(2).serDat := false.B + io.upCDRSampleIn(2).serDat := false.B + } + + + } class MstSlvSwitch extends MstSlvSwitchBase diff --git a/src/main/scala/backBoard/shin/ShinTop.scala b/src/main/scala/backBoard/shin/ShinTop.scala index db9567d..a25b868 100644 --- a/src/main/scala/backBoard/shin/ShinTop.scala +++ b/src/main/scala/backBoard/shin/ShinTop.scala @@ -14,22 +14,42 @@ class ShinTop extends Module with RequireAsyncReset{ val io: ShinTopIO = IO(new ShinTopIO) val mstSlvSwitch = Module(new MstSlvSwitch) - val downCDROut = Module(new CDROut) - val upCDROut = Module(new CDROut) - - val downCDRIn = Module(new MPCDRIn) - val upCDRIn = Module(new MPCDRIn) - downCDRIn.multiCLK := io.multiCLK - upCDRIn.multiCLK := io.multiCLK + { + val downCDRInSampleA = Module(new CDRInMultiSample) + val upCDRInSampleA = Module(new CDRInMultiSample) - downCDROut.io <> mstSlvSwitch.io.downCDROut - upCDROut.io <> mstSlvSwitch.io.upCDROut + downCDRInSampleA.multiCLK := io.multiCLK + upCDRInSampleA.multiCLK := io.multiCLK + + downCDRInSampleA.io <> mstSlvSwitch.io.downCDRSampleIn(0) + upCDRInSampleA.io <> mstSlvSwitch.io.upCDRSampleIn(0) + } + + { + val downCDRInSampleB = Module(new CDRInMultiSample) + val upCDRInSampleB = Module(new CDRInMultiSample) + + downCDRInSampleB.multiCLK := io.multiCLK + upCDRInSampleB.multiCLK := io.multiCLK + + downCDRInSampleB.io <> mstSlvSwitch.io.downCDRSampleIn(1) + upCDRInSampleB.io <> mstSlvSwitch.io.upCDRSampleIn(1) + } + + { + val downCDRInSampleC = Module(new CDRInMultiSample) + val upCDRInSampleC = Module(new CDRInMultiSample) + + downCDRInSampleC.multiCLK := io.multiCLK + upCDRInSampleC.multiCLK := io.multiCLK + + downCDRInSampleC.io <> mstSlvSwitch.io.downCDRSampleIn(2) + upCDRInSampleC.io <> mstSlvSwitch.io.upCDRSampleIn(2) + } - downCDRIn.io <> mstSlvSwitch.io.downCDRIn - upCDRIn.io <> mstSlvSwitch.io.upCDRIn io.viewAsSupertype(new TopBase_IO_Bundle) <> mstSlvSwitch.io.viewAsSupertype(new TopBase_IO_Bundle) diff --git a/src/test/scala/SimCDR.scala b/src/test/scala/SimCDR.scala index db2159c..6a3298c 100644 --- a/src/test/scala/SimCDR.scala +++ b/src/test/scala/SimCDR.scala @@ -20,7 +20,9 @@ class SimCDR extends Module with RequireAsyncReset{ - val cdrIn = Module(new MPCDRIn) + val cdrInAxis = Module(new CDRInAxis) + val cdrInSample = Module(new CDRInMultiSample) + val cdrOut = Module(new CDROut) val record = Module( new Queue(UInt(8.W), 256) ) @@ -52,11 +54,14 @@ class SimCDR extends Module with RequireAsyncReset{ cdrOut.io.flush := io.flush - cdrIn.clock := io.multiCLK(0).asClock - cdrIn.io.flush := io.flush - cdrIn.multiCLK := io.multiCLK + cdrInAxis.clock := io.multiCLK(0).asClock + cdrInSample.clock := io.multiCLK(0).asClock + cdrInAxis.io.flush := io.flush + cdrInSample.multiCLK := io.multiCLK + cdrInAxis.io.syncSerDat := cdrInSample.io.syncSerDat - cdrIn.io.serDat := cdrOut.io.serDat + + cdrInSample.io.serDat := cdrOut.io.serDat assert( ~(record.io.enq.valid & ~record.io.enq.ready), "Assert Failed, Warning, fifo overflow!\n" ) assert( ~(~record.io.deq.valid & record.io.deq.ready), "Assert Failed, Warning, fifo underflow!\n" ) @@ -73,11 +78,11 @@ class SimCDR extends Module with RequireAsyncReset{ record.io.enq.valid := cdrOut.io.axis.fire record.io.enq.bits := io.data - record.io.deq.ready := cdrIn.io.axis.fire - cdrIn.io.axis.ready := true.B + record.io.deq.ready := cdrInAxis.io.axis.fire + cdrInAxis.io.axis.ready := true.B - io.isFailed := cdrIn.io.axis.fire & (record.io.deq.bits =/= cdrIn.io.axis.bits.tdata) - io.isSuccess := cdrIn.io.axis.fire & cdrIn.io.axis.bits.tlast + io.isFailed := cdrInAxis.io.axis.fire & (record.io.deq.bits =/= cdrInAxis.io.axis.bits.tdata) + io.isSuccess := cdrInAxis.io.axis.fire & cdrInAxis.io.axis.bits.tlast @@ -87,14 +92,14 @@ class SimCDR extends Module with RequireAsyncReset{ when( isUsing8b10b ){ b8b10Encoder.io <> cdrOut.io.encode - b8b10Decoder.io <> cdrIn.io.decode + b8b10Decoder.io <> cdrInAxis.io.decode b4b5Encoder.io.isEnable := false.B b4b5Encoder.io.dataIn := 0.U b4b5Decoder.io.dataIn := 0.U } .otherwise{ b4b5Encoder.io <> cdrOut.io.encode - b4b5Decoder.io <> cdrIn.io.decode + b4b5Decoder.io <> cdrInAxis.io.decode b8b10Encoder.io.isEnable := false.B b8b10Encoder.io.dataIn := 0.U From e0c0bf143729b3e0f77b7d2dd5e82769939db1b8 Mon Sep 17 00:00:00 2001 From: bacon Date: Fri, 5 Sep 2025 15:53:04 +0800 Subject: [PATCH 67/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E5=AF=84=E5=AD=98=E5=99=A8=E7=9A=84=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/gen_pkt.py | 2 +- tb/shinTest/testcase/__init__.py | 2 +- tb/shinTest/testcase/{readregs.py => rwregs.py} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename tb/shinTest/testcase/{readregs.py => rwregs.py} (100%) diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 56a7da7..44f1249 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -1,7 +1,7 @@ #!/usr/bin/env python #encoding=utf-8 from pyutils import * -from testcase import environment, readregs, ebmmu, errorPkt, watchdog, broadcast, sync, base, mac +from testcase import environment, rwregs, ebmmu, errorPkt, watchdog, broadcast, sync, base, mac if __name__ == '__main__': environment.gen_slv_dev_num(4) diff --git a/tb/shinTest/testcase/__init__.py b/tb/shinTest/testcase/__init__.py index 0f518cb..2b1d041 100644 --- a/tb/shinTest/testcase/__init__.py +++ b/tb/shinTest/testcase/__init__.py @@ -1,5 +1,5 @@ # testcase/__init__.py -from .readregs import * +from .rwregs import * from .ebmmu import * from .errorPkt import * from .watchdog import * diff --git a/tb/shinTest/testcase/readregs.py b/tb/shinTest/testcase/rwregs.py similarity index 100% rename from tb/shinTest/testcase/readregs.py rename to tb/shinTest/testcase/rwregs.py From d9da8fe7db29b9b5f0ac28504225734a8d2f9d01 Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 15:20:08 +0800 Subject: [PATCH 68/86] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/base.py | 95 ----------------------------- tb/shinTest/testcase/environment.py | 8 --- 2 files changed, 103 deletions(-) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index defeeb7..04ff389 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1946,21 +1946,6 @@ def tc26(): return gen_file_def -<<<<<<< HEAD -def tc29(): - genPkt = GenPkt() - - - gen_file_def = "base_tc29" - sm_idx = 0 - tc_des = ("读,单次通讯2048个字节。每个子包包含数据128个字节,最多15个子包。 \\n" - +"(128 + 8) * 15 + 4(HEAD) + 4(CRC) = 2048\\n" - +"可以通过屏蔽子包的方式,增大或者缩小发送的数据量。最大的数据量不超过2048个字节。" - ) - - #------------------------------------------------------------------------- - #>>>>>>普通数据包 sm2,广播读 -======= def tc27(): genPkt = GenPkt() @@ -1971,35 +1956,10 @@ def tc27(): #------------------------------------------------------------------------- #>>>>>>普通数据包 sm1,2个读 ->>>>>>> mp_eb_dev genPkt.clean() genPkt.setPktType(0) #subPkt参数:索引、索引类型、地址、命令、长度、数据 -<<<<<<< HEAD - genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) - - genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) - - genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) - - genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) - genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) - - sm_idx = 2 - - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) -======= genPkt.addSubPkt(0x01, 0, 0x302, 0x1, 2, [0x00, 0x03]) genPkt.addSubPkt(0x02, 0, 0x302, 0x1, 2, [0x00, 0x01]) genPkt.addSubPkt(0x03, 0, 0x302, 0x1, 2, [0x00, 0x01]) @@ -2011,14 +1971,11 @@ def tc27(): +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) ->>>>>>> mp_eb_dev genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) -<<<<<<< HEAD -======= +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) @@ -2196,7 +2153,6 @@ def tc28(): #+genWriteTransPktCode(gen_file_def, sm_idx) #+genTrgTransPktCode(gen_file_def, sm_idx) #+genReadAckPktCode(gen_file_def, sm_idx) ->>>>>>> mp_eb_dev +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) @@ -2219,22 +2175,6 @@ def tc28(): +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) -<<<<<<< HEAD - +genTcEndFrameCode(gen_file_def)) - genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) - - return gen_file_def - - -def tc30(): - genPkt = GenPkt() - - - gen_file_def = "base_tc30" - sm_idx = 0 - tc_des = ("写,单次通讯2048个字节。每个子包包含数据502个字节,最多4个子包。 \\n" - +"(502 + 8) * 4 + 4(HEAD) + 4(CRC) = 2048\\n" -======= #+genTcEndFrameCode(gen_file_def) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -2511,7 +2451,6 @@ def tc29(): sm_idx = 0 tc_des = ("读,单次通讯2048个字节。每个子包包含数据128个字节,最多15个子包。 \\n" +"(128 + 8) * 15 + 4(HEAD) + 4(CRC) = 2048\\n" ->>>>>>> mp_eb_dev +"可以通过屏蔽子包的方式,增大或者缩小发送的数据量。最大的数据量不超过2048个字节。" ) @@ -2519,26 +2458,6 @@ def tc29(): #>>>>>>普通数据包 sm2,广播读 genPkt.clean() genPkt.setPktType(0) -<<<<<<< HEAD - data_len = 502 - data_len_wr = [(data_len & 0xff), ((data_len >> 8) & 0xff)] - #genPkt.addSubPkt(0x00, 0, 0x302, 0xe, 2, data_len_wr) #500 - #subPkt参数:索引、索引类型、地址、命令、长度、数据 - genPkt.addSubPkt(0x01, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) - genPkt.addSubPkt(0x02, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) - genPkt.addSubPkt(0x03, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) - genPkt.addSubPkt(0x04, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) - - sm_idx = 2 - - - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) - +genIFRwDataCode(1, 0x0302, True, 2, data_len_wr) - +genIFRwDataCode(2, 0x0302, True, 2, data_len_wr) - +genIFRwDataCode(3, 0x0302, True, 2, data_len_wr) - +genIFRwDataCode(4, 0x0302, True, 2, data_len_wr) - ) -======= #subPkt参数:索引、索引类型、地址、命令、长度、数据 genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) @@ -2566,7 +2485,6 @@ def tc29(): +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) ->>>>>>> mp_eb_dev genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -2594,20 +2512,7 @@ def tc29(): +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) -<<<<<<< HEAD - +genMessageCode("--读取数据") - +genIFRwDataCode(1, 0x800, False, data_len) - +genIFRwDataCode(2, 0x800, False, data_len) - +genIFRwDataCode(3, 0x800, False, data_len) - +genIFRwDataCode(4, 0x800, False, data_len) - +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def -======= - +genTcEndFrameCode(gen_file_def)) - genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) - - return gen_file_def ->>>>>>> mp_eb_dev diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index 07b2e2d..bdf4d14 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -184,23 +184,15 @@ def __GenDevice(id, TerminateNode = False, diffclk = False): dout_code = "" din_code = "1'b0" - - #clk = "clock" clk = "multiCLK[0]" multiclk = "multiCLK" if diffclk: - #clk = "clock2" clk = "multiCLK2[0]" multiclk = "multiCLK2" code_device = ("\tShinTop s_ShinTop_slv%d(\n"%(id, ) -<<<<<<< HEAD - +"\t.clock(%s),\n"%(clk, ) - +"\t.reset(reset | isSoftReset[%d]),\n\n"%(id + 1,) -======= +"\t.clock(clock),\n" +"\t.reset(reset | isSoftReset_reg[%d]),\n\n"%(id + 1,) ->>>>>>> mp_eb_dev +"\t.io_multiCLK_0(%s[0]),\n"%(multiclk, ) +"\t.io_multiCLK_1(%s[1]),\n"%(multiclk, ) From 0c761907203110c4e53216070365caac5b5e40e8 Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 15:51:04 +0800 Subject: [PATCH 69/86] =?UTF-8?q?=E6=95=B4=E7=90=86=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb.v | 107 +-- tb/shinTest/ShinTopSpiTb_clk.v | 1136 +++++++++++++++++++++++++++ tb/shinTest/gen_pkt.py | 12 +- tb/shinTest/testcase/environment.py | 22 +- 4 files changed, 1198 insertions(+), 79 deletions(-) create mode 100644 tb/shinTest/ShinTopSpiTb_clk.v diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 60ae9f2..3476f28 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -36,12 +36,10 @@ module ShinTopSpiTb( reg clock; reg reset; + reg clk8x; reg [15:0] multiCLK; - reg clock2; - reg [15:0] multiCLK2; - `include "dev_predef.vh" @@ -385,7 +383,7 @@ ShinTop s_ShinTop_slv3( initial begin clock = 0; - clock2 = 0; + clk8x = 0; reset = 1; latch0 = 0; @@ -397,15 +395,15 @@ initial begin spi_csn = {`SPI_CSN_NUM{1'b1}}; //~15'b0; - #10000000 + #100 reset <= 1; - #24000000 + #240 reset <= 0; - #8000000000000 - #8000000000000 - #8000000000000 +//#20000000 + #1000000000 +//#5000000 $display("Time Out !!!"); $fclose(spidata_file); @@ -413,7 +411,11 @@ initial begin end initial begin - forever begin #8000000 clock <= ~clock; end + forever begin #20 clk8x <= ~clk8x; end +end + +initial begin + forever begin #80 clock <= ~clock; end end @@ -422,47 +424,10 @@ generate initial begin multiCLK[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #1000000 + #10 ; end - forever begin #8000000 multiCLK[i] <= ~multiCLK[i]; end - end - end -endgenerate - -//如果频率差到 80ppm,参数是: 8000640/1000080/8000640 [pass] -//如果频率差到120ppm,参数是: 8000960/1000120/8000960 [pass] -//如果频率差到160ppm,参数是: 8001280/1000160/8001280 [pass] -//如果频率差到168ppm,参数是: 8001344/1000168/8001344 [pass] - -//如果频率差到176ppm,参数是: 8001408/1000176/8001408 [pass] -//如果频率差到-176ppm,参数是: 7998592/ 999824/7998592 [pass] - -//如果频率差到180ppm,参数是: 8001440/1000180/8001440 [pass] -//如果频率差到-180ppm,参数是: 7998560/ 999820/7998560 [pass] - -//如果频率差到181ppm,参数是: 8001448/1000181/8001448 [failed] //tc29, tc30联合测试,tc30最后几个字节不过, 单测能过 -//如果频率差到-181ppm,参数是: 7998552/ 999819/7998552 [failed] //同上 - -//如果频率差到182ppm,参数是: 8001456/1000182/8001456 [failed] -//如果频率差到-182ppm,参数是: 7998544/ 999818/7998544 [failed] //单测, tc30下行是对的,上行发生错误 - -//如果频率差到184ppm,参数是: 8001472/1000184/8001472 [failed] //差得字节数不多,大概在180ppm上下 -//如果频率差到-184ppm,参数是: 7998528/ 999816/7998528 [failed] - -initial begin - forever begin #7998560 clock2 <= ~clock2; end -end - -generate - for( genvar i = 0; i < 16; i = i + 1 ) begin - initial begin - multiCLK2[i] = 0; - for( integer j = 0; j < i; j = j + 1 ) begin - #999820 - ; - end - forever begin #7998560 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #80 multiCLK[i] <= ~multiCLK[i]; end end end endgenerate @@ -473,7 +438,7 @@ initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); if (!spidata_file) $display("文件打开失败"); - $dumpfile("./tb/build/wave.fst"); //生成的vcd文件名称 + $dumpfile("./generated/wave.vcd"); //生成的vcd文件名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称 end @@ -485,7 +450,7 @@ always @(negedge reset) begin _reset_deactive <= 1'b1; end - `define SCKFRE #64000000 + `define SCKFRE #640 reg sck = 0; @@ -560,13 +525,13 @@ end always @(posedge clock) begin if( isReq & sck == 0 ) begin - isBusy <= #500000 1'b1; - transCnt <= #500000 0; + isBusy <= #5 1'b1; + transCnt <= #5 0; - byteCnt <= #500000 ~12'b0; - bitCnt <= #500000 ~3'b0; + byteCnt <= #5 ~12'b0; + bitCnt <= #5 ~3'b0; - spi_csn[idx] <= #500000 1'b0; + spi_csn[idx] <= #5 1'b0; exChangeRego <= txBuf[0]; end end @@ -613,8 +578,8 @@ always @(posedge sck) begin exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; end end else begin - isBusy <= #500000 1'b0; - spi_csn[idx] <= #500000 1'b1; + isBusy <= #5 1'b0; + spi_csn[idx] <= #5 1'b1; end end end @@ -633,13 +598,13 @@ task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,in length <= slength + 3; idx <= sidx; - #500000 + #5 @(negedge sck) isReq <= 1; - @(posedge sck) #500000 + @(posedge sck) #5 isReq <= 0; - @( negedge isBusy) #100000000 + @( negedge isBusy) #1000 begin //$fwrite(spidata_file, "------------%5t------------\n", $realtime); $fwrite(spidata_file, "T:%t \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n", @@ -918,13 +883,13 @@ task wait_comm_finished(input [16:0] dev_idx); length = 8'h07; idx = `IF_IQSPI(dev_idx); - #500000 + #5 @(negedge sck) isReq <= 1; - @(posedge sck) #500000 + @(posedge sck) #5 isReq <= 0; - @( negedge isBusy) #100000000 + @( negedge isBusy) #1000 begin end @@ -938,17 +903,17 @@ task wait_comm_finished(input [16:0] dev_idx); length = 8'h07; idx = `IF_IQSPI(dev_idx); - #500000 + #5 @(negedge sck) isReq <= 1; - @(posedge sck) #500000 + @(posedge sck) #5 isReq <= 0; - @( negedge isBusy) #100000000 + @( negedge isBusy) #1000 begin end - #100000000 + #2000 //$display("%x %x", rxBuf[3], rxBuf[6]); if ((rxBuf[3] & 8'h02) == 8'h02) begin @@ -959,7 +924,7 @@ task wait_comm_finished(input [16:0] dev_idx); $display("error occur"); is_run = 0; end - if (($realtime - st) >= 500000000000.0) + if (($realtime - st) >= 5000000.0) begin $display("comm timeout."); is_run = 0; @@ -971,7 +936,7 @@ endtask initial begin - #50000000 + #1000 `ifdef ENABLE_REG_RW1_TEST /*--------------------------------------------------------------------------------------------------------- @@ -1124,7 +1089,7 @@ initial begin `include "tc_runlist.vh" - #100000000000 + #1000000 $display("Testcase Finished! Time Out !!!"); $fclose(spidata_file); $stop; diff --git a/tb/shinTest/ShinTopSpiTb_clk.v b/tb/shinTest/ShinTopSpiTb_clk.v new file mode 100644 index 0000000..60ae9f2 --- /dev/null +++ b/tb/shinTest/ShinTopSpiTb_clk.v @@ -0,0 +1,1136 @@ +`timescale 1 ns / 1 ps + +`define ENABLE_REG_RW1_TEST "generated/log/reg_rw1_tc.log" +//`define ENABLE_ENCRYPTION +//`define ENABLE_DET1_TEST "generated/log/det1_tc.log" +//`define ENABLE_DET2_TEST "generated/log/det2_tc.log" +//`define ENABLE_SET_ADDR_TEST "generated/log/set_addr_tc.log" +//`define ENABLE_INT_INIT_TEST "generated/log/int_init_tc.log" +//`define ENABLE_DET_ERR1_TEST "generated/log/det_err1_tc.log" +//`define ENABLE_SMx_SEND1_TEST "generated/log/sm_send1_tc.log" +//`define ENABLE_SMx_SEND2_TEST "generated/log/sm_send2_tc.log" +//`define ENABLE_SMx_SEND3_TEST "generated/log/sm_send3_tc.log" +//`define ENABLE_ERR_PKT1_TEST "generated/log/err_pkt1_tc.log" +//`define ENABLE_ERR_PKT2_TEST "generated/log/err_pkt2_tc.log" +//`define ENABLE_ERR_PKT3_TEST "generated/log/err_pkt3_tc.log" + +//`define ENABLE_EXCHG_DATA_SEQ0_TEST "generated/log/exchg_data_seq0_tc.log" +//`define ENABLE_EXCHG_DATA_SEQ1_TEST "generated/log/exchg_data_seq1_tc.log" +//`define ENABLE_EXCHG_DATA_SEQ2_TEST "generated/log/exchg_data_seq2_tc.log" +//`define ENABLE_EXCHG_DATA_SEQ3_TEST "generated/log/exchg_data_seq3_tc.log" + +//`define ENABLE_BC_R_TEST "generated/log/bc_r_tc.log" +//`define ENABLE_BC_W_TEST "generated/log/bc_w_tc.log" +//`define ENABLE_BC_RW_TEST "generated/log/bc_rw_tc.log" + +//`define ENABLE_SYNC_TEST "generated/log/sync_tc.log" +//`define ENABLE_SYNC_SIG0_TEST "generated/log/sync_sig0_tc.log" +//`define ENABLE_SYNC_SIG1_TEST "generated/log/sync_sig1_tc.log" +//`define ENABLE_RESET_TEST "generated/log/reset_tc.log" + +//`define ENABLE_WD1_TEST "generated/log/wd1_tc.log" + +module ShinTopSpiTb( + +); + + reg clock; + reg reset; + + reg [15:0] multiCLK; + + reg clock2; + reg [15:0] multiCLK2; + + +`include "dev_predef.vh" + +`ifdef DEFINE_SLAVE_DEVICE +`define DEV_NUM 4 //slave num +`define ALL_DEV_NUM (`DEV_NUM + 1) // slave + master +`define SPI_CSN_NUM (`ALL_DEV_NUM * 3) + +`define HW_SERIAL 0 //48'h31303050584c //(48'h4c5850303031) +`define IQSPI_PINS(N) (`N*4+3):(`N*4) +`define EQSPI_PINS(N) ((`N + `ALL_DEV_NUM)*4+3):((`N + `ALL_DEV_NUM)*4) +`define IQSPI_MISO(N) qspi_miso[`IQSPI_PINS(`N)] +`define EQSPI_MISO(N) qspi_miso[`EQSPI_PINS(`N)] + +`define IQSPI_CSN_NUM(id) (`id) +`define ESPI_CSN_NUM(id) ((`id)+(`ALL_DEV_NUM)) +`define EQSPI_CSN_NUM(id) ((`id)+(`ALL_DEV_NUM)*2) + +`define IQSPI_CSN(id) spi_csn[`IQSPI_CSN_NUM(`id)] +`define ESPI_CSN(id) spi_csn[`ESPI_CSN_NUM(`id)] +`define EQSPI_CSN(id) spi_csn[`EQSPI_CSN_NUM(`id)] +`define QSPI_MUX_MISO_INIT \ + (`IQSPI_MISO(0) & ~{4{`IQSPI_CSN(0)}}) |\ + (`IQSPI_MISO(1) & ~{4{`IQSPI_CSN(1)}}) |\ + (`IQSPI_MISO(2) & ~{4{`IQSPI_CSN(2)}}) |\ + (`IQSPI_MISO(3) & ~{4{`IQSPI_CSN(3)}}) |\ + (`IQSPI_MISO(4) & ~{4{`IQSPI_CSN(4)}}) |\ + (`EQSPI_MISO(0) & ~{4{`EQSPI_CSN(0)}}) |\ + (`EQSPI_MISO(1) & ~{4{`EQSPI_CSN(1)}}) |\ + (`EQSPI_MISO(2) & ~{4{`EQSPI_CSN(2)}}) |\ + (`EQSPI_MISO(3) & ~{4{`EQSPI_CSN(3)}}) |\ + (`EQSPI_MISO(4) & ~{4{`EQSPI_CSN(4)}}) +`define SPI_MUX_MISO_INIT \ + ( spi_miso[0] & ~`ESPI_CSN(0)) |\ + ( spi_miso[1] & ~`ESPI_CSN(1)) |\ + ( spi_miso[2] & ~`ESPI_CSN(2)) |\ + ( spi_miso[3] & ~`ESPI_CSN(3)) |\ + ( spi_miso[4] & ~`ESPI_CSN(4)) +`endif + wire [(`DEV_NUM - 1):0] dDat_w; + wire [(`DEV_NUM - 1):0] uDat_w; + + wire spi_sck; + wire spi_mosi; + wire [(`ALL_DEV_NUM - 1):0] spi_miso; + reg [(`SPI_CSN_NUM - 1):0] spi_csn; + + wire qspi_sck; + wire [3:0] qspi_mosi; + //wire [40-1:0] qspi_miso; + wire [(`ALL_DEV_NUM * 4 * 2 - 1):0] qspi_miso; + + integer spidata_file; + integer c_line; + integer _pos; + integer _len; + integer _t_start; + integer _t_end; + reg [63:0] _temp_time; + reg _reset_deactive; + + wire [(`ALL_DEV_NUM - 1):0] isSoftReset; + reg [(`ALL_DEV_NUM - 1):0] isSoftReset_reg; + + generate + for( genvar i = 0; i < `ALL_DEV_NUM; i = i + 1 ) begin + always @(posedge clock or posedge reset) begin + if(reset) isSoftReset_reg[i] <= 1'b0; + else isSoftReset_reg[i] <= isSoftReset[i]; + end + end + endgenerate + + + wire [`DEV_NUM:0] io_int_sig; + + reg latch0; + reg latch1; + + + +ShinTop s_ShinTop_Mst( + .clock(clock), + .reset(reset | isSoftReset_reg[0]), + + .io_multiCLK_0(multiCLK[0]), + .io_multiCLK_1(multiCLK[1]), + .io_multiCLK_2(multiCLK[2]), + .io_multiCLK_3(multiCLK[3]), + .io_multiCLK_4(multiCLK[4]), + .io_multiCLK_5(multiCLK[5]), + .io_multiCLK_6(multiCLK[6]), + .io_multiCLK_7(multiCLK[7]), + .io_multiCLK_8(multiCLK[8]), + .io_multiCLK_9(multiCLK[9]), + .io_multiCLK_10(multiCLK[10]), + .io_multiCLK_11(multiCLK[11]), + .io_multiCLK_12(multiCLK[12]), + .io_multiCLK_13(multiCLK[13]), + .io_multiCLK_14(multiCLK[14]), + .io_multiCLK_15(multiCLK[15]), + + .io_dDatIn(1'b0), + .io_dDatOut(dDat_w[0]), + .io_uDatIn(uDat_w[0]), + .io_uDatOut(), + + .io_iqspi_sck(qspi_sck), + .io_iqspi_mosi(qspi_mosi), + .io_iqspi_miso(`IQSPI_MISO(0)), + .io_iqspi_isDirIn(), + .io_iqspi_csn(`IQSPI_CSN(0)), + + .io_ospi_sck (spi_sck), + .io_ospi_mosi(spi_mosi), + .io_ospi_miso(spi_miso[0]), + .io_ospi_csn (`ESPI_CSN(0)), + + + .io_oqspi_sck(qspi_sck), + .io_oqspi_mosi(qspi_mosi), + .io_oqspi_miso(`EQSPI_MISO(0)), + .io_oqspi_isDirIn(), + .io_oqspi_csn(`EQSPI_CSN(0)), + + .io_isSoftReset(isSoftReset[0]), + .io_interrupt(io_int_sig[0]), + .io_latchPin_0(latch0), + .io_latchPin_1(latch1), + .io_hwSerial(`HW_SERIAL), + .io_uniCode(0) +); + +`include "slave_dev_def.vh" + +`ifdef DEFINE_SLAVE_DEVICE +ShinTop s_ShinTop_slv0( + .clock(clock), + .reset(reset | isSoftReset_reg[1]), + + .io_multiCLK_0(multiCLK[0]), + .io_multiCLK_1(multiCLK[1]), + .io_multiCLK_2(multiCLK[2]), + .io_multiCLK_3(multiCLK[3]), + .io_multiCLK_4(multiCLK[4]), + .io_multiCLK_5(multiCLK[5]), + .io_multiCLK_6(multiCLK[6]), + .io_multiCLK_7(multiCLK[7]), + .io_multiCLK_8(multiCLK[8]), + .io_multiCLK_9(multiCLK[9]), + .io_multiCLK_10(multiCLK[10]), + .io_multiCLK_11(multiCLK[11]), + .io_multiCLK_12(multiCLK[12]), + .io_multiCLK_13(multiCLK[13]), + .io_multiCLK_14(multiCLK[14]), + .io_multiCLK_15(multiCLK[15]), + + .io_dDatIn(dDat_w[0]), + .io_dDatOut(dDat_w[1]), + .io_uDatIn(uDat_w[1]), + .io_uDatOut(uDat_w[0]), + + .io_iqspi_sck(qspi_sck), + .io_iqspi_mosi(qspi_mosi), + .io_iqspi_miso(`IQSPI_MISO(1)), + .io_iqspi_isDirIn(), + .io_iqspi_csn(`IQSPI_CSN(1)), + + .io_ospi_sck (spi_sck), + .io_ospi_mosi(spi_mosi), + .io_ospi_miso(spi_miso[1]), + .io_ospi_csn (`ESPI_CSN(1)), + + .io_oqspi_sck(qspi_sck), + .io_oqspi_mosi(qspi_mosi), + .io_oqspi_miso(`EQSPI_MISO(1)), + .io_oqspi_isDirIn(), + .io_oqspi_csn(`EQSPI_CSN(1)), + + .io_isSoftReset(isSoftReset[1]), + .io_interrupt(io_int_sig[1]), + .io_latchPin_0(latch0), + .io_latchPin_1(latch1), + .io_hwSerial(`HW_SERIAL), + .io_uniCode(0) +); + +ShinTop s_ShinTop_slv1( + .clock(clock), + .reset(reset | isSoftReset_reg[2]), + + .io_multiCLK_0(multiCLK[0]), + .io_multiCLK_1(multiCLK[1]), + .io_multiCLK_2(multiCLK[2]), + .io_multiCLK_3(multiCLK[3]), + .io_multiCLK_4(multiCLK[4]), + .io_multiCLK_5(multiCLK[5]), + .io_multiCLK_6(multiCLK[6]), + .io_multiCLK_7(multiCLK[7]), + .io_multiCLK_8(multiCLK[8]), + .io_multiCLK_9(multiCLK[9]), + .io_multiCLK_10(multiCLK[10]), + .io_multiCLK_11(multiCLK[11]), + .io_multiCLK_12(multiCLK[12]), + .io_multiCLK_13(multiCLK[13]), + .io_multiCLK_14(multiCLK[14]), + .io_multiCLK_15(multiCLK[15]), + + .io_dDatIn(dDat_w[1]), + .io_dDatOut(dDat_w[2]), + .io_uDatIn(uDat_w[2]), + .io_uDatOut(uDat_w[1]), + + .io_iqspi_sck(qspi_sck), + .io_iqspi_mosi(qspi_mosi), + .io_iqspi_miso(`IQSPI_MISO(2)), + .io_iqspi_isDirIn(), + .io_iqspi_csn(`IQSPI_CSN(2)), + + .io_ospi_sck (spi_sck), + .io_ospi_mosi(spi_mosi), + .io_ospi_miso(spi_miso[2]), + .io_ospi_csn (`ESPI_CSN(2)), + + .io_oqspi_sck(qspi_sck), + .io_oqspi_mosi(qspi_mosi), + .io_oqspi_miso(`EQSPI_MISO(2)), + .io_oqspi_isDirIn(), + .io_oqspi_csn(`EQSPI_CSN(2)), + + .io_isSoftReset(isSoftReset[2]), + .io_interrupt(io_int_sig[2]), + .io_latchPin_0(latch0), + .io_latchPin_1(latch1), + .io_hwSerial(`HW_SERIAL), + .io_uniCode(0) +); + +ShinTop s_ShinTop_slv2( + .clock(clock), + .reset(reset | isSoftReset_reg[3]), + + .io_multiCLK_0(multiCLK[0]), + .io_multiCLK_1(multiCLK[1]), + .io_multiCLK_2(multiCLK[2]), + .io_multiCLK_3(multiCLK[3]), + .io_multiCLK_4(multiCLK[4]), + .io_multiCLK_5(multiCLK[5]), + .io_multiCLK_6(multiCLK[6]), + .io_multiCLK_7(multiCLK[7]), + .io_multiCLK_8(multiCLK[8]), + .io_multiCLK_9(multiCLK[9]), + .io_multiCLK_10(multiCLK[10]), + .io_multiCLK_11(multiCLK[11]), + .io_multiCLK_12(multiCLK[12]), + .io_multiCLK_13(multiCLK[13]), + .io_multiCLK_14(multiCLK[14]), + .io_multiCLK_15(multiCLK[15]), + + .io_dDatIn(dDat_w[2]), + .io_dDatOut(dDat_w[3]), + .io_uDatIn(uDat_w[3]), + .io_uDatOut(uDat_w[2]), + + .io_iqspi_sck(qspi_sck), + .io_iqspi_mosi(qspi_mosi), + .io_iqspi_miso(`IQSPI_MISO(3)), + .io_iqspi_isDirIn(), + .io_iqspi_csn(`IQSPI_CSN(3)), + + .io_ospi_sck (spi_sck), + .io_ospi_mosi(spi_mosi), + .io_ospi_miso(spi_miso[3]), + .io_ospi_csn (`ESPI_CSN(3)), + + .io_oqspi_sck(qspi_sck), + .io_oqspi_mosi(qspi_mosi), + .io_oqspi_miso(`EQSPI_MISO(3)), + .io_oqspi_isDirIn(), + .io_oqspi_csn(`EQSPI_CSN(3)), + + .io_isSoftReset(isSoftReset[3]), + .io_interrupt(io_int_sig[3]), + .io_latchPin_0(latch0), + .io_latchPin_1(latch1), + .io_hwSerial(`HW_SERIAL), + .io_uniCode(0) +); + +ShinTop s_ShinTop_slv3( + .clock(clock), + .reset(reset | isSoftReset_reg[4]), + + .io_multiCLK_0(multiCLK[0]), + .io_multiCLK_1(multiCLK[1]), + .io_multiCLK_2(multiCLK[2]), + .io_multiCLK_3(multiCLK[3]), + .io_multiCLK_4(multiCLK[4]), + .io_multiCLK_5(multiCLK[5]), + .io_multiCLK_6(multiCLK[6]), + .io_multiCLK_7(multiCLK[7]), + .io_multiCLK_8(multiCLK[8]), + .io_multiCLK_9(multiCLK[9]), + .io_multiCLK_10(multiCLK[10]), + .io_multiCLK_11(multiCLK[11]), + .io_multiCLK_12(multiCLK[12]), + .io_multiCLK_13(multiCLK[13]), + .io_multiCLK_14(multiCLK[14]), + .io_multiCLK_15(multiCLK[15]), + + .io_dDatIn(dDat_w[3]), + .io_dDatOut(), + .io_uDatIn(1'b0), + .io_uDatOut(uDat_w[3]), + + .io_iqspi_sck(qspi_sck), + .io_iqspi_mosi(qspi_mosi), + .io_iqspi_miso(`IQSPI_MISO(4)), + .io_iqspi_isDirIn(), + .io_iqspi_csn(`IQSPI_CSN(4)), + + .io_ospi_sck (spi_sck), + .io_ospi_mosi(spi_mosi), + .io_ospi_miso(spi_miso[4]), + .io_ospi_csn (`ESPI_CSN(4)), + + .io_oqspi_sck(qspi_sck), + .io_oqspi_mosi(qspi_mosi), + .io_oqspi_miso(`EQSPI_MISO(4)), + .io_oqspi_isDirIn(), + .io_oqspi_csn(`EQSPI_CSN(4)), + + .io_isSoftReset(isSoftReset[4]), + .io_interrupt(io_int_sig[4]), + .io_latchPin_0(latch0), + .io_latchPin_1(latch1), + .io_hwSerial(`HW_SERIAL), + .io_uniCode(0) +); +`endif + +initial begin + clock = 0; + clock2 = 0; + reset = 1; + + latch0 = 0; + latch1 = 0; + + _reset_deactive = 1'b0; + + $timeformat(-9, 2, " ns", 8); + + spi_csn = {`SPI_CSN_NUM{1'b1}}; //~15'b0; + + #10000000 + reset <= 1; + + #24000000 + reset <= 0; + + #8000000000000 + #8000000000000 + #8000000000000 + + $display("Time Out !!!"); + $fclose(spidata_file); + $stop; +end + +initial begin + forever begin #8000000 clock <= ~clock; end +end + + +generate + for( genvar i = 0; i < 16; i = i + 1 ) begin + initial begin + multiCLK[i] = 0; + for( integer j = 0; j < i; j = j + 1 ) begin + #1000000 + ; + end + forever begin #8000000 multiCLK[i] <= ~multiCLK[i]; end + end + end +endgenerate + +//如果频率差到 80ppm,参数是: 8000640/1000080/8000640 [pass] +//如果频率差到120ppm,参数是: 8000960/1000120/8000960 [pass] +//如果频率差到160ppm,参数是: 8001280/1000160/8001280 [pass] +//如果频率差到168ppm,参数是: 8001344/1000168/8001344 [pass] + +//如果频率差到176ppm,参数是: 8001408/1000176/8001408 [pass] +//如果频率差到-176ppm,参数是: 7998592/ 999824/7998592 [pass] + +//如果频率差到180ppm,参数是: 8001440/1000180/8001440 [pass] +//如果频率差到-180ppm,参数是: 7998560/ 999820/7998560 [pass] + +//如果频率差到181ppm,参数是: 8001448/1000181/8001448 [failed] //tc29, tc30联合测试,tc30最后几个字节不过, 单测能过 +//如果频率差到-181ppm,参数是: 7998552/ 999819/7998552 [failed] //同上 + +//如果频率差到182ppm,参数是: 8001456/1000182/8001456 [failed] +//如果频率差到-182ppm,参数是: 7998544/ 999818/7998544 [failed] //单测, tc30下行是对的,上行发生错误 + +//如果频率差到184ppm,参数是: 8001472/1000184/8001472 [failed] //差得字节数不多,大概在180ppm上下 +//如果频率差到-184ppm,参数是: 7998528/ 999816/7998528 [failed] + +initial begin + forever begin #7998560 clock2 <= ~clock2; end +end + +generate + for( genvar i = 0; i < 16; i = i + 1 ) begin + initial begin + multiCLK2[i] = 0; + for( integer j = 0; j < i; j = j + 1 ) begin + #999820 + ; + end + forever begin #7998560 multiCLK2[i] <= ~multiCLK2[i]; end + end + end +endgenerate + + + +initial +begin + spidata_file = $fopen("spi_trans_data.txt", "w"); + if (!spidata_file) $display("文件打开失败"); + $dumpfile("./tb/build/wave.fst"); //生成的vcd文件名称 + $dumpvars(0, ShinTopSpiTb);//tb模块名称 +end + +always @(posedge reset) begin + _reset_deactive <= 1'b0; +end + +always @(negedge reset) begin + _reset_deactive <= 1'b1; +end + + `define SCKFRE #64000000 + + reg sck = 0; + + initial begin + forever begin + `SCKFRE sck <= ~sck; + end + end + + assign spi_sck = sck; + assign qspi_sck = sck; + + + reg [7:0] txBuf[0:2047]; + reg [7:0] rxBuf[0:2047]; + reg [7:0] exChangeRego; + reg [7:0] exChangeRegi; + + + + assign spi_mosi = exChangeRego[7]; + assign qspi_mosi = exChangeRego[7:4]; + + wire [3:0] qspi_mux_miso = `QSPI_MUX_MISO_INIT; + //( qspi_miso[4*0+3:4*0] & ~{4{spi_csn[ 0]}}) | + //( qspi_miso[4*1+3:4*1] & ~{4{spi_csn[ 1]}}) | + //( qspi_miso[4*2+3:4*2] & ~{4{spi_csn[ 2]}}) | + //( qspi_miso[4*3+3:4*3] & ~{4{spi_csn[ 3]}}) | + //( qspi_miso[4*4+3:4*4] & ~{4{spi_csn[ 4]}}) | + //( qspi_miso[4*5+3:4*5] & ~{4{spi_csn[10]}}) | + //( qspi_miso[4*6+3:4*6] & ~{4{spi_csn[11]}}) | + //( qspi_miso[4*7+3:4*7] & ~{4{spi_csn[12]}}) | + //( qspi_miso[4*8+3:4*8] & ~{4{spi_csn[13]}}) | + //( qspi_miso[4*9+3:4*9] & ~{4{spi_csn[14]}}); + /* + (`IQSPI_MISO(0) & ~{4{`IQSPI_CSN(0)}}) | + (`IQSPI_MISO(1) & ~{4{`IQSPI_CSN(1)}}) | + (`IQSPI_MISO(2) & ~{4{`IQSPI_CSN(2)}}) | + (`IQSPI_MISO(3) & ~{4{`IQSPI_CSN(3)}}) | + (`IQSPI_MISO(4) & ~{4{`IQSPI_CSN(4)}}) | + (`EQSPI_MISO(0) & ~{4{`EQSPI_CSN(0)}}) | + (`EQSPI_MISO(1) & ~{4{`EQSPI_CSN(1)}}) | + (`EQSPI_MISO(2) & ~{4{`EQSPI_CSN(2)}}) | + (`EQSPI_MISO(3) & ~{4{`EQSPI_CSN(3)}}) | + (`EQSPI_MISO(4) & ~{4{`EQSPI_CSN(4)}}); + */ + + wire spi_mux_miso = `SPI_MUX_MISO_INIT; + //( spi_miso[0] & ~spi_csn[5] ) | + //( spi_miso[1] & ~spi_csn[6] ) | + //( spi_miso[2] & ~spi_csn[7] ) | + //( spi_miso[3] & ~spi_csn[8] ) | + //( spi_miso[4] & ~spi_csn[9] ); + /* + ( spi_miso[0] & ~`ESPI_CSN(0)) | + ( spi_miso[1] & ~`ESPI_CSN(1)) | + ( spi_miso[2] & ~`ESPI_CSN(2)) | + ( spi_miso[3] & ~`ESPI_CSN(3)) | + ( spi_miso[4] & ~`ESPI_CSN(4)); + */ + + reg isReq = 0; + reg isBusy = 0; + + reg [11:0] length; + reg [7:0] idx; + + reg [11:0] transCnt; + reg [11:0] byteCnt; + reg [2:0] bitCnt; + + +always @(posedge clock) begin + if( isReq & sck == 0 ) begin + isBusy <= #500000 1'b1; + transCnt <= #500000 0; + + byteCnt <= #500000 ~12'b0; + bitCnt <= #500000 ~3'b0; + + spi_csn[idx] <= #500000 1'b0; + exChangeRego <= txBuf[0]; + end +end + +//DEV_NUM +//ALL_DEV_NUM +wire isQspi = (idx >= 0 && idx <= (`ALL_DEV_NUM - 1)) || idx >= (`ALL_DEV_NUM * 2); +wire [11:0] nextByteCnt = byteCnt + 1; + +//输出 +always @(negedge sck) begin + if( isBusy ) begin + if( &bitCnt ) begin + exChangeRego <= txBuf[nextByteCnt]; + end else begin + exChangeRego <= isQspi ? exChangeRego << 4 : exChangeRego << 1; + end + end +end + +//输入 +always @(posedge sck) begin + if( isBusy ) begin + if( transCnt <= length ) begin + if( isQspi ) begin + bitCnt <= ~bitCnt; + end else begin + bitCnt <= bitCnt + 1; + end + + if( &bitCnt ) begin + byteCnt <= byteCnt +1; + transCnt <= transCnt + 1; + if( txBuf[2] === 1 & nextByteCnt >= 4) begin + rxBuf[byteCnt] <= exChangeRegi; + //$display("spi read out %x", exChangeRegi); + end + if( txBuf[2] === 1 & nextByteCnt >= 3) begin + exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; + end else begin + exChangeRegi <= 0; + end + end else begin + exChangeRegi <= isQspi ? {exChangeRegi[3:0], qspi_mux_miso} : {exChangeRegi[6:0], spi_mux_miso}; + end + end else begin + isBusy <= #500000 1'b0; + spi_csn[idx] <= #500000 1'b1; + end + end +end + + + + +//mst slv0~slv3的 内部qspi调用即设置 +//sidx为0~4;外部spi为5~9,外部qspi为10~15 +task spi_trans( input [15:0] saddress, input [7:0] scmd, input [12:0] slength,input [7:0] sidx ); + begin + txBuf[0] <= saddress[15:8]; + txBuf[1] <= saddress[7:0]; + txBuf[2] <= scmd; + + length <= slength + 3; + idx <= sidx; + + #500000 + @(negedge sck) + isReq <= 1; + @(posedge sck) #500000 + isReq <= 0; + + @( negedge isBusy) #100000000 + begin + //$fwrite(spidata_file, "------------%5t------------\n", $realtime); + $fwrite(spidata_file, "T:%t \tdev:%4d, addr:0x%02h%02h, %s, len:%4d\n", + $realtime, ((sidx >= `ALL_DEV_NUM)? ((sidx >= (`ALL_DEV_NUM * 2))? (sidx - (`ALL_DEV_NUM * 2)):(sidx - `ALL_DEV_NUM)):sidx), txBuf[0], txBuf[1], + ((txBuf[2] == 0)? "Write":" Read"), slength); + + if ( ((saddress == 16'h0800) + || (saddress == 16'h1000) + || (saddress == 16'h1800) + || (saddress == 16'h2000) + || (saddress == 16'h2800) + || (saddress == 16'h3000) + || (saddress == 16'h3800) + || (saddress == 16'h4000)) + && ((sidx == 0) || (sidx == `ALL_DEV_NUM) || (sidx == (`ALL_DEV_NUM * 2)))) begin + _pos = 3; + for (integer _k = 0; _k < 4; _k++) begin + if (scmd == 0) begin + $fwrite(spidata_file, "%02h ", txBuf[_k + _pos]); + end else begin + $fwrite(spidata_file, "%02h ", rxBuf[_k + _pos]); + end + end + + $fwrite(spidata_file, "\n"); + _pos = 4 + _pos; + for (; _pos < slength; ) begin + for (integer _k = 0; _k < 6; _k++) begin + if (scmd == 0) begin + $fwrite(spidata_file, "%02h ", txBuf[_k + _pos]); + _len = txBuf[_pos + 5] + (txBuf[_pos + 4] & 8'h0f) * 256; + end else begin + $fwrite(spidata_file, "%02h ", rxBuf[_k + _pos]); + _len = rxBuf[_pos + 5] + (rxBuf[_pos + 4] & 8'h0f) * 256; + end + end + + begin:PRINT_PKT_COMMENT + integer dev; + integer addr_type; + integer addr; + integer cmd; + integer len; + + if (scmd == 0) begin + addr_type = txBuf[_pos + 1] & 8'h3; + dev = (txBuf[_pos] >> 2) * 256 + ((txBuf[_pos + 1] >> 2) & 8'hff); + addr = txBuf[_pos + 2] * 256 + (txBuf[_pos + 3] & 8'hff); + cmd = (txBuf[_pos + 4] >> 4) & 8'h0f; + len = (txBuf[_pos + 4] & 8'h0f) * 256 + (txBuf[_pos + 5] & 8'hff); + end else begin + addr_type = rxBuf[_pos + 1] & 8'h3; + dev = (rxBuf[_pos] >> 2) * 256 + ((rxBuf[_pos + 1] >> 2) & 8'hff); + addr = rxBuf[_pos + 2] * 256 + (rxBuf[_pos + 3] & 8'hff); + cmd = (rxBuf[_pos + 4] >> 4) & 8'h0f; + len = (rxBuf[_pos + 4] & 8'h0f) * 256 + (rxBuf[_pos + 5] & 8'hff); + end + + if (addr_type == 0) + $fwrite(spidata_file, "// type:%3d dev:%3d addr:0x%04x cmd:0x%1x len:%3d", addr_type, dev, addr[15:0], cmd[3:0], len); + else begin + addr = dev * 65536 + addr; + $fwrite(spidata_file, "// type:%3d addr:0x%08x cmd:0x%1x len:%3d", addr_type, addr, cmd[3:0], len); + end + end + + $fwrite(spidata_file, "\n{{ "); + _pos = _pos + 6; + for (integer _k = 0; _k < _len; _k++) begin + if (scmd == 0) begin + $fwrite(spidata_file, "%02h ", txBuf[_k + _pos]); + end else begin + $fwrite(spidata_file, "%02h ", rxBuf[_k + _pos]); + end + c_line = 0; + if ((_k + 2)%16 == 0) begin + $fwrite(spidata_file, "\n"); + c_line = 1; + end + end + $fwrite(spidata_file, "}}\n"); + _pos = _pos + _len; + + for (integer _k = 0; _k < 2; _k++) begin + if (scmd == 0) begin + $fwrite(spidata_file, "%02h ", txBuf[_k + _pos]); + end else begin + $fwrite(spidata_file, "%02h ", rxBuf[_k + _pos]); + end + end + _pos = _pos + 2; + $fwrite(spidata_file, "\n"); + end + end else begin + for (integer i=0; i= 500000000000.0) + begin + $display("comm timeout."); + is_run = 0; + end + end + end +endtask + + +initial begin + + #50000000 + +`ifdef ENABLE_REG_RW1_TEST +/*--------------------------------------------------------------------------------------------------------- +测试用例 +1. 从IP中读取寄存器,上电后的寄存器期望值为0 +---------------------------------------------------------------------------------------------------------*/ + begin:READ_REG_TESTCASE + `BEGIN_TESTCASE(`ENABLE_REG_RW1_TEST); + _t_start = $realtime; + $fdisplay(spidata_file, "测试用例:从IP中读取寄存器,上电后的寄存器期望值为0"); + `SPI_TRANS( (16'h00), (`SPI_READ), (64), (`IF_OSPI(0)) ); + `SPI_TRANS( (16'h00), (`SPI_READ), (64), (`IF_OSPI(1)) ); + `SPI_TRANS( (16'h00), (`SPI_READ), (64), (`IF_OSPI(2)) ); + `SPI_TRANS( (16'h00), (`SPI_READ), (64), (`IF_OSPI(3)) ); + `SPI_TRANS( (16'h00), (`SPI_READ), (64), (`IF_OSPI(4)) ); + _t_end = $realtime; + $fdisplay(spidata_file, "该测试用例运行时间:%t\n", _t_end - _t_start); + `END_TESTCASE(`ENABLE_REG_RW1_TEST); + end +`endif + + begin:SETTING_INTERFACE + if ((`INTERFACE_IDX) == `ALL_DEV_NUM) begin + $fdisplay(spidata_file, "\n\n从内部QSPI配置使用外部的SPI接口访问EasyBus"); + txBuf[0+3] = 8'h01; + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(0)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(1)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(2)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(3)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(4)) ); + end else if ((`INTERFACE_IDX) == (`ALL_DEV_NUM * 2)) begin + $fdisplay(spidata_file, "\n\n从内部QSPI配置使用外部的QSPI接口访问EasyBus"); + txBuf[0+3] = 8'h02; + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(0)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(1)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(2)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(3)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(4)) ); + end else begin + $fdisplay(spidata_file, "\n\n从内部QSPI接口访问EasyBus"); + txBuf[0+3] = 8'h00; + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(0)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(1)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(2)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(3)) ); + spi_trans( (16'h09), (`SPI_WRITE), (1), (`IF_OSPI(4)) ); + end + end + +`ifdef ENABLE_INT_INIT_TEST + begin:CHECK_INTERRUPT_SIG + $fdisplay(spidata_file, "\n\n测试用例:检查设备的INTERRUPT信号"); + + @(posedge clock) begin + if (io_int_sig[0]) $fdisplay(spidata_file, "**MST Interrupt."); + if (io_int_sig[1]) $fdisplay(spidata_file, "**SLV0 Interrupt."); + if (io_int_sig[2]) $fdisplay(spidata_file, "**SLV1 Interrupt."); + if (io_int_sig[3]) $fdisplay(spidata_file, "**SLV2 Interrupt."); + if (io_int_sig[4]) $fdisplay(spidata_file, "**SLV3 Interrupt."); + end + + $fdisplay(spidata_file, "-检查中断"); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "-清中断"); + txBuf[0+3] = 8'h00; + txBuf[1+3] = 8'h00; + txBuf[2+3] = 8'h00; + txBuf[3+3] = 8'h80; + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(0)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(1)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(2)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(3)) ); + spi_trans( (16'h78), (`SPI_WRITE), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "-检查中断"); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (14), (`IF_IDX(4)) ); + + end + + begin:CHECK_INTERRUPT_CFG_REG + $fdisplay(spidata_file, "\n\n测试用例:检查设备的INTERRUPT信号设置寄存器"); + + $fdisplay(spidata_file, "-检查中断"); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "-设置中断"); + txBuf[0+3] = 8'h00; + txBuf[1+3] = 8'h00; + txBuf[2+3] = 8'h00; + txBuf[3+3] = 8'h00; + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "-检查中断"); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "-设置中断"); + txBuf[0+3] = 8'h0F; + txBuf[1+3] = 8'h00; + txBuf[2+3] = 8'h00; + txBuf[3+3] = 8'h00; + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(0)) ); + + txBuf[0+3] = 8'h00; + txBuf[1+3] = 8'hFF; + txBuf[2+3] = 8'h00; + txBuf[3+3] = 8'h00; + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_WRITE), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "-检查中断"); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(0)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(1)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(2)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(3)) ); + spi_trans( (16'h70), (`SPI_READ), (4), (`IF_IDX(4)) ); + + $fdisplay(spidata_file, "-中断改为脉冲模式"); + txBuf[3] = 8'h10; + txBuf[4] = 8'h8A; + spi_trans( (16'h7c), (`SPI_WRITE), (2), (`IF_IDX(0)) ); + spi_trans( (16'h7c), (`SPI_WRITE), (2), (`IF_IDX(1)) ); + spi_trans( (16'h7c), (`SPI_WRITE), (2), (`IF_IDX(2)) ); + spi_trans( (16'h7c), (`SPI_WRITE), (2), (`IF_IDX(3)) ); + spi_trans( (16'h7c), (`SPI_WRITE), (2), (`IF_IDX(4)) ); + end +`endif + + `include "tc_runlist.vh" + + #100000000000 + $display("Testcase Finished! Time Out !!!"); + $fclose(spidata_file); + $stop; + +end + + +endmodule + diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 44f1249..37ce06c 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -47,9 +47,9 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc38()) - #add_tc_2_runlist(base.tc1()) - #add_tc_2_runlist(base.tc2()) - #add_tc_2_runlist(base.tc3()) + add_tc_2_runlist(base.tc1()) + add_tc_2_runlist(base.tc2()) + add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) #add_tc_2_runlist(base.tc5()) #add_tc_2_runlist(base.tc6()) @@ -76,8 +76,8 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc27()) #add_tc_2_runlist(base.tc28()) #add_tc_2_runlist(base.tc29()) - add_tc_2_runlist(base.tc29()) - add_tc_2_runlist(base.tc30()) + #add_tc_2_runlist(base.tc29()) + #add_tc_2_runlist(base.tc30()) #add_tc_2_runlist(broadcast.tc1()) @@ -111,7 +111,7 @@ if __name__ == '__main__': #add_tc_2_runlist(ebmmu.tc16()) #add_tc_2_runlist(ebmmu.tc17()) #add_tc_2_runlist(ebmmu.tc18()) - add_tc_2_runlist(ebmmu.tc19()) + #add_tc_2_runlist(ebmmu.tc19()) #add_tc_2_runlist(watchdog.tc1()) #add_tc_2_runlist(watchdog.tc2()) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index bdf4d14..849c547 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -305,6 +305,26 @@ def gen_slv_dev_num(num): gen_file_def = "slave_dev_def" + code = "" + for id in range(num - 1): + code = code + __GenDevice(id) + + code = code + __GenDevice(num - 1, True) + + genPkt.addAfterExc(code) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + +def gen_slv_dev_for_clk(num): + __gen_slv_dev_predef(num) + + genPkt = GenPkt() + + genPkt.clean() + + gen_file_def = "slave_dev_def" + code = "" for id in range(num - 1): if id == 1: @@ -320,8 +340,6 @@ def gen_slv_dev_num(num): - - def teardown(): #add_tc_2_runlist("") pass \ No newline at end of file From 65322ba838500c394c5f29ee2f0ba0eb4e856088 Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 16:10:49 +0800 Subject: [PATCH 70/86] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E6=B5=8B=E8=AF=95=E8=A7=A3=E5=86=B3=E6=96=B9?= =?UTF-8?q?=E6=A1=88,=E5=B0=9A=E6=9C=AA=E5=AE=8C=E5=85=A8=E9=AA=8C?= =?UTF-8?q?=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 16 ++++++++++++++++ tb/shinTest/ShinTopSpiTb_clk.v | 29 +---------------------------- tb/shinTest/gen_pkt.py | 6 +++--- 3 files changed, 20 insertions(+), 31 deletions(-) diff --git a/Makefile b/Makefile index 125a340..61d13b0 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,19 @@ testShin: vvp -N ./tb/build/shinTest.iverilog -lxt2 -fst || true ./tb/shinTest/check_testcase.py +testShinClk: + ./tb/shinTest/gen_pkt_clk.py + mkdir -p generated/log + rm -rf generated/log/* + iverilog -Wall \ + -o ./tb/build/shinTest_clk.iverilog \ + -y ./generated/shin \ + -I ./generated/shin \ + -D RANDOMIZE_REG_INIT \ + ./tb/shinTest/ShinTopSpiTb_clk.v + vvp -N ./tb/build/shinTest_clk.iverilog -lxt2 -fst || true + ./tb/shinTest/check_testcase.py + testCDR: iverilog -Wall \ -o ./tb/build/simCDR.iverilog \ @@ -75,6 +88,9 @@ vcdFilter: vcdShin: gtkwave ./tb/build/wave.vcd 1>/dev/null 2>&1 & +vcdShinClk: + gtkwave ./tb/build/wave_clk.vcd 1>/dev/null 2>&1 & + fstShin: gtkwave ./tb/build/wave.fst 1>/dev/null 2>&1 & diff --git a/tb/shinTest/ShinTopSpiTb_clk.v b/tb/shinTest/ShinTopSpiTb_clk.v index 60ae9f2..3c64f9b 100644 --- a/tb/shinTest/ShinTopSpiTb_clk.v +++ b/tb/shinTest/ShinTopSpiTb_clk.v @@ -1,34 +1,7 @@ `timescale 1 ns / 1 ps `define ENABLE_REG_RW1_TEST "generated/log/reg_rw1_tc.log" -//`define ENABLE_ENCRYPTION -//`define ENABLE_DET1_TEST "generated/log/det1_tc.log" -//`define ENABLE_DET2_TEST "generated/log/det2_tc.log" -//`define ENABLE_SET_ADDR_TEST "generated/log/set_addr_tc.log" -//`define ENABLE_INT_INIT_TEST "generated/log/int_init_tc.log" -//`define ENABLE_DET_ERR1_TEST "generated/log/det_err1_tc.log" -//`define ENABLE_SMx_SEND1_TEST "generated/log/sm_send1_tc.log" -//`define ENABLE_SMx_SEND2_TEST "generated/log/sm_send2_tc.log" -//`define ENABLE_SMx_SEND3_TEST "generated/log/sm_send3_tc.log" -//`define ENABLE_ERR_PKT1_TEST "generated/log/err_pkt1_tc.log" -//`define ENABLE_ERR_PKT2_TEST "generated/log/err_pkt2_tc.log" -//`define ENABLE_ERR_PKT3_TEST "generated/log/err_pkt3_tc.log" -//`define ENABLE_EXCHG_DATA_SEQ0_TEST "generated/log/exchg_data_seq0_tc.log" -//`define ENABLE_EXCHG_DATA_SEQ1_TEST "generated/log/exchg_data_seq1_tc.log" -//`define ENABLE_EXCHG_DATA_SEQ2_TEST "generated/log/exchg_data_seq2_tc.log" -//`define ENABLE_EXCHG_DATA_SEQ3_TEST "generated/log/exchg_data_seq3_tc.log" - -//`define ENABLE_BC_R_TEST "generated/log/bc_r_tc.log" -//`define ENABLE_BC_W_TEST "generated/log/bc_w_tc.log" -//`define ENABLE_BC_RW_TEST "generated/log/bc_rw_tc.log" - -//`define ENABLE_SYNC_TEST "generated/log/sync_tc.log" -//`define ENABLE_SYNC_SIG0_TEST "generated/log/sync_sig0_tc.log" -//`define ENABLE_SYNC_SIG1_TEST "generated/log/sync_sig1_tc.log" -//`define ENABLE_RESET_TEST "generated/log/reset_tc.log" - -//`define ENABLE_WD1_TEST "generated/log/wd1_tc.log" module ShinTopSpiTb( @@ -473,7 +446,7 @@ initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); if (!spidata_file) $display("文件打开失败"); - $dumpfile("./tb/build/wave.fst"); //生成的vcd文件名称 + $dumpfile("./tb/build/wave_clk.fst"); //生成的vcd文件名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称 end diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 37ce06c..dc6ae45 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -47,9 +47,9 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc38()) - add_tc_2_runlist(base.tc1()) - add_tc_2_runlist(base.tc2()) - add_tc_2_runlist(base.tc3()) + #add_tc_2_runlist(base.tc1()) + #add_tc_2_runlist(base.tc2()) + #add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc4()) #add_tc_2_runlist(base.tc5()) #add_tc_2_runlist(base.tc6()) From 6e1232be9452a1f556d09b5aba973e7eedc9513a Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 16:39:20 +0800 Subject: [PATCH 71/86] =?UTF-8?q?=E4=BB=8E=E7=89=88=E6=9C=AC=E5=BA=93?= =?UTF-8?q?=E9=87=8C=E6=8A=8Abase.tc30=E6=8D=9E=E5=9B=9E=E6=9D=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/base.py | 80 ++++++++++++++++++++++++++++++++++-- 1 file changed, 77 insertions(+), 3 deletions(-) diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 04ff389..3a2f7f7 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -2475,9 +2475,9 @@ def tc29(): genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) - #genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) - #genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) - #genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) sm_idx = 2 @@ -2516,3 +2516,77 @@ def tc29(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) return gen_file_def + + +def tc30(): + genPkt = GenPkt() + + + gen_file_def = "base_tc30" + sm_idx = 0 + tc_des = ("写,单次通讯2048个字节。每个子包包含数据502个字节,最多4个子包。 \\n" + +"(502 + 8) * 4 + 4(HEAD) + 4(CRC) = 2048\\n" + +"可以通过屏蔽子包的方式,增大或者缩小发送的数据量。最大的数据量不超过2048个字节。" + ) + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm2,广播读 + genPkt.clean() + genPkt.setPktType(0) + data_len = 502 + data_len_wr = [(data_len & 0xff), ((data_len >> 8) & 0xff)] + #genPkt.addSubPkt(0x00, 0, 0x302, 0xe, 2, data_len_wr) #500 + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + genPkt.addSubPkt(0x02, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + genPkt.addSubPkt(0x03, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + genPkt.addSubPkt(0x04, 0, 0x800, 0x1, data_len, list(range(256)) + list(range(256))) + + sm_idx = 2 + + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x0302, True, 2, data_len_wr) + +genIFRwDataCode(2, 0x0302, True, 2, data_len_wr) + +genIFRwDataCode(3, 0x0302, True, 2, data_len_wr) + +genIFRwDataCode(4, 0x0302, True, 2, data_len_wr) + ) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取数据") + +genIFRwDataCode(1, 0x800, False, data_len) + +genIFRwDataCode(2, 0x800, False, data_len) + +genIFRwDataCode(3, 0x800, False, data_len) + +genIFRwDataCode(4, 0x800, False, data_len) + + +genTcEndFrameCode(gen_file_def)) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + return gen_file_def From 9b5848e1d77df62084685150325f7e59919f1b0f Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 17:50:17 +0800 Subject: [PATCH 72/86] =?UTF-8?q?=E5=B0=86=E6=B3=A2=E5=BD=A2=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E6=94=B9=E4=B8=BAfst=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 14 ++-- tb/shinTest/ShinTopSpiTb.v | 2 +- tb/shinTest/ShinTopSpiTb_clk.v | 2 +- tb/shinTest/gen_pkt_clk.py | 130 +++++++++++++++++++++++++++++++++ 4 files changed, 137 insertions(+), 11 deletions(-) create mode 100755 tb/shinTest/gen_pkt_clk.py diff --git a/Makefile b/Makefile index 61d13b0..82dc42e 100644 --- a/Makefile +++ b/Makefile @@ -75,24 +75,20 @@ testCDR: -I ./generated/shin \ -D RANDOMIZE_REG_INIT \ ./tb/shinTest/SimCDRTb.v - vvp -N ./tb/build/simCDR.iverilog -lxt2 + vvp -N ./tb/build/simCDR.iverilog -lxt2 -fst testFilter: ./tb/shinTest/test_filter.py - vcdFilter: gtkwave ./tb/build/test_filter.vcd 1>/dev/null 2>&1 & -vcdShin: - gtkwave ./tb/build/wave.vcd 1>/dev/null 2>&1 & - -vcdShinClk: - gtkwave ./tb/build/wave_clk.vcd 1>/dev/null 2>&1 & - fstShin: - gtkwave ./tb/build/wave.fst 1>/dev/null 2>&1 & + gtkwave ./generated/wave.fst 1>/dev/null 2>&1 & + +fstShinClk: + gtkwave ./generated/wave_clk.fst 1>/dev/null 2>&1 & ef: sbt "test:runMain test.testModule" diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 3476f28..8cb819f 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -438,7 +438,7 @@ initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); if (!spidata_file) $display("文件打开失败"); - $dumpfile("./generated/wave.vcd"); //生成的vcd文件名称 + $dumpfile("./generated/wave.fst"); //生成的vcd文件名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称 end diff --git a/tb/shinTest/ShinTopSpiTb_clk.v b/tb/shinTest/ShinTopSpiTb_clk.v index 3c64f9b..63fbc7e 100644 --- a/tb/shinTest/ShinTopSpiTb_clk.v +++ b/tb/shinTest/ShinTopSpiTb_clk.v @@ -446,7 +446,7 @@ initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); if (!spidata_file) $display("文件打开失败"); - $dumpfile("./tb/build/wave_clk.fst"); //生成的vcd文件名称 + $dumpfile("./generated/wave_clk.fst"); //生成的vcd文件名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称 end diff --git a/tb/shinTest/gen_pkt_clk.py b/tb/shinTest/gen_pkt_clk.py new file mode 100755 index 0000000..de1b418 --- /dev/null +++ b/tb/shinTest/gen_pkt_clk.py @@ -0,0 +1,130 @@ +#!/usr/bin/env python +#encoding=utf-8 +from pyutils import * +from testcase import environment, rwregs, ebmmu, errorPkt, watchdog, broadcast, sync, base, mac + +if __name__ == '__main__': + environment.gen_slv_dev_for_clk(4) + environment.bringup() + + #add_tc_2_runlist(errorPkt.tc1()) + #add_tc_2_runlist(errorPkt.tc2()) + #add_tc_2_runlist(errorPkt.tc3()) + #add_tc_2_runlist(errorPkt.tc4()) + #add_tc_2_runlist(errorPkt.tc5()) + #add_tc_2_runlist(errorPkt.tc6()) + #add_tc_2_runlist(errorPkt.tc7()) + #add_tc_2_runlist(errorPkt.tc8()) + #add_tc_2_runlist(errorPkt.tc9()) + #add_tc_2_runlist(errorPkt.tc10()) + #add_tc_2_runlist(errorPkt.tc11()) + #add_tc_2_runlist(errorPkt.tc12()) + #add_tc_2_runlist(errorPkt.tc13()) + #add_tc_2_runlist(errorPkt.tc14()) + #add_tc_2_runlist(errorPkt.tc15()) + #add_tc_2_runlist(errorPkt.tc16()) + #add_tc_2_runlist(errorPkt.tc17()) + #add_tc_2_runlist(errorPkt.tc18()) + #add_tc_2_runlist(errorPkt.tc19()) + #add_tc_2_runlist(errorPkt.tc20()) + #add_tc_2_runlist(errorPkt.tc21()) + #add_tc_2_runlist(errorPkt.tc22()) + #add_tc_2_runlist(errorPkt.tc23()) + #add_tc_2_runlist(errorPkt.tc24()) + #add_tc_2_runlist(errorPkt.tc25()) + #add_tc_2_runlist(errorPkt.tc26()) + #add_tc_2_runlist(errorPkt.tc27()) + #add_tc_2_runlist(errorPkt.tc28()) + #add_tc_2_runlist(errorPkt.tc29()) + #add_tc_2_runlist(errorPkt.tc30()) + #add_tc_2_runlist(errorPkt.tc31()) + #add_tc_2_runlist(errorPkt.tc32()) + #add_tc_2_runlist(errorPkt.tc33()) + #add_tc_2_runlist(errorPkt.tc34()) + #add_tc_2_runlist(errorPkt.tc35()) + #add_tc_2_runlist(errorPkt.tc36()) + #add_tc_2_runlist(errorPkt.tc37()) + #add_tc_2_runlist(errorPkt.tc38()) + + + #add_tc_2_runlist(base.tc1()) + #add_tc_2_runlist(base.tc2()) + #add_tc_2_runlist(base.tc3()) + #add_tc_2_runlist(base.tc4()) + #add_tc_2_runlist(base.tc5()) + #add_tc_2_runlist(base.tc6()) + #add_tc_2_runlist(base.tc7()) + #add_tc_2_runlist(base.tc8()) + #add_tc_2_runlist(base.tc9()) + #add_tc_2_runlist(base.tc10()) + #add_tc_2_runlist(base.tc11()) + #add_tc_2_runlist(base.tc12()) + #add_tc_2_runlist(base.tc13()) + #add_tc_2_runlist(base.tc14()) + #add_tc_2_runlist(base.tc15()) + #add_tc_2_runlist(base.tc16()) + #add_tc_2_runlist(base.tc17()) + #add_tc_2_runlist(base.tc18()) + #add_tc_2_runlist(base.tc19()) + #add_tc_2_runlist(base.tc20()) + #add_tc_2_runlist(base.tc21()) + #add_tc_2_runlist(base.tc22()) + #add_tc_2_runlist(base.tc23()) + #add_tc_2_runlist(base.tc24()) + #add_tc_2_runlist(base.tc25()) + #add_tc_2_runlist(base.tc26()) + #add_tc_2_runlist(base.tc27()) + #add_tc_2_runlist(base.tc28()) + #add_tc_2_runlist(base.tc29()) + add_tc_2_runlist(base.tc29()) + add_tc_2_runlist(base.tc30()) + + + #add_tc_2_runlist(broadcast.tc1()) + #add_tc_2_runlist(broadcast.tc2()) + #add_tc_2_runlist(broadcast.tc3()) + + + #add_tc_2_runlist(sync.tc1()) + #add_tc_2_runlist(sync.tc2()) + #add_tc_2_runlist(sync.tc3()) + #add_tc_2_runlist(sync.tc4()) + #add_tc_2_runlist(sync.tc5()) + #add_tc_2_runlist(sync.tc6()) + #add_tc_2_runlist(sync.tc7()) + + #add_tc_2_runlist(ebmmu.tc1()) + #add_tc_2_runlist(ebmmu.tc2()) + #add_tc_2_runlist(ebmmu.tc3()) + #add_tc_2_runlist(ebmmu.tc4()) + #add_tc_2_runlist(ebmmu.tc5()) + #add_tc_2_runlist(ebmmu.tc6()) + #add_tc_2_runlist(ebmmu.tc7()) + #add_tc_2_runlist(ebmmu.tc8()) + #add_tc_2_runlist(ebmmu.tc9()) + #add_tc_2_runlist(ebmmu.tc10()) + #add_tc_2_runlist(ebmmu.tc11()) + #add_tc_2_runlist(ebmmu.tc12()) + #add_tc_2_runlist(ebmmu.tc13()) + #add_tc_2_runlist(ebmmu.tc14()) + #add_tc_2_runlist(ebmmu.tc15()) + #add_tc_2_runlist(ebmmu.tc16()) + #add_tc_2_runlist(ebmmu.tc17()) + #add_tc_2_runlist(ebmmu.tc18()) + #add_tc_2_runlist(ebmmu.tc19()) + + #add_tc_2_runlist(watchdog.tc1()) + #add_tc_2_runlist(watchdog.tc2()) + + #add_tc_2_runlist(mac.tc1()) + #add_tc_2_runlist(mac.tc2()) + #add_tc_2_runlist(mac.tc3()) + #add_tc_2_runlist(mac.tc4()) + #add_tc_2_runlist(mac.tc5()) + #add_tc_2_runlist(mac.tc6()) + #add_tc_2_runlist(mac.tc7()) + + environment.teardown() + + gen_tc_runlist() + From 0b88e669a3a74cba9c096a2545c80f14193b6c2f Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 18:18:50 +0800 Subject: [PATCH 73/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BC=82=E9=A2=91?= =?UTF-8?q?=E5=BC=82=E7=9B=B8=E6=97=B6=E9=92=9F=E7=9A=84=E7=9B=B8=E4=BD=8D?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/ShinTopSpiTb_clk.v | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tb/shinTest/ShinTopSpiTb_clk.v b/tb/shinTest/ShinTopSpiTb_clk.v index 63fbc7e..69e7043 100644 --- a/tb/shinTest/ShinTopSpiTb_clk.v +++ b/tb/shinTest/ShinTopSpiTb_clk.v @@ -430,6 +430,8 @@ end generate for( genvar i = 0; i < 16; i = i + 1 ) begin initial begin + //相位信息 + #250000 multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin #999820 From 0f33da4085449b60fd42499f8718c236974b2e10 Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 19:07:10 +0800 Subject: [PATCH 74/86] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase_result/base_tc08_result.log | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tb/shinTest/testcase_result/base_tc08_result.log b/tb/shinTest/testcase_result/base_tc08_result.log index 92a2444..ddca470 100644 --- a/tb/shinTest/testcase_result/base_tc08_result.log +++ b/tb/shinTest/testcase_result/base_tc08_result.log @@ -16,7 +16,7 @@ 16'h0306 8'h00 16'h0002 8'h8c 8'h00 16'h1000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h3c 8'h31 8'h00 8'h80 8'h15 8'h05 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h87 8'h87 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hf0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h81 8'h00 8'h00 8'h00 8'h01 +16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h3c 8'h31 8'h00 8'h80 8'h15 8'h05 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h87 8'h87 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hf0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h80 8'h00 8'h00 8'h00 8'h01 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h007c 8'h00 16'h0002 8'h00 8'h81 From ed128f8ca381bef2b8cfad37646c9a5061c2e0ae Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 20:03:45 +0800 Subject: [PATCH 75/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0vcs=E4=B8=8B=E4=BB=BF?= =?UTF-8?q?=E7=9C=9F=E6=96=87=E4=BB=B6=EF=BC=8C=E5=B0=9A=E6=9C=AA=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E9=80=9A=E8=BF=87=EF=BC=8C=E4=BB=85=E5=A4=87=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/Makefile_vcs | 53 ++++++++++++++++++++++++++++++++++++++ tb/shinTest/shinTest_vcs.f | 46 +++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 tb/shinTest/Makefile_vcs create mode 100644 tb/shinTest/shinTest_vcs.f diff --git a/tb/shinTest/Makefile_vcs b/tb/shinTest/Makefile_vcs new file mode 100644 index 0000000..70ff0e6 --- /dev/null +++ b/tb/shinTest/Makefile_vcs @@ -0,0 +1,53 @@ +.PHONY:com sim clean + +OUTPUT = shin_test + +VCS = vcs -sverilog +v2k -timescale=1ns/1ps \ + -debug_all \ + -full64 \ + -o ${OUTPUT} \ + -l compile.log \ + +SIM = ./${OUTPUT} -l run.log + +testShin_vcs: + python3 ./shinTest/gen_pkt.py + ${VCS} -f ./shinTest_vcs.f + ${SIM} +sim: + ${SIM} + +testShin: + ./shinTest/gen_pkt.py + mkdir -p generated/log + rm -rf generated/log/* + iverilog -Wall \ + -o ./generated/shinTest.iverilog \ + -y ./generated/shin \ + -I ./generated/shin \ + -D RANDOMIZE_REG_INIT \ + ./shinTest/ShinTopSpiTb.v + vvp -N ./generated/shinTest.iverilog -lxt2 -fst || true + ./shinTest/check_testcase.py + +testShinClk: + ./shinTest/gen_pkt_clk.py + mkdir -p generated/log + rm -rf generated/log/* + iverilog -Wall \ + -o ./generated/shinTest_clk.iverilog \ + -y ./generated/shin \ + -I ./generated/shin \ + -D RANDOMIZE_REG_INIT \ + ./shinTest/ShinTopSpiTb_clk.v + vvp -N ./generated/shinTest_clk.iverilog -lxt2 -fst|| true + ./shinTest/check_testcase.py + +fstShin: + gtkwave ./generated/wave.fst 1>/dev/null 2>&1 & + +fstShinClk: + gtkwave ./generated/wave_clk.fst 1>/dev/null 2>&1 & + +clean: + rm -rf ./generated/log/* ./generated/shin/*.vh ./generated/shinTest.* ./generated/wave*.* diff --git a/tb/shinTest/shinTest_vcs.f b/tb/shinTest/shinTest_vcs.f new file mode 100644 index 0000000..4e016b9 --- /dev/null +++ b/tb/shinTest/shinTest_vcs.f @@ -0,0 +1,46 @@ ++incdir+./generated/shin +./shinTest/ShinTopSpiTb.v +./generated/SimCDR/Queue.v +./generated/SimCDR/b8b10Encode.v +./generated/SimCDR/b8b10Decode.v +./generated/SimCDR/CDROut.v +./generated/SimCDR/CDRInMultiSample.v +./generated/SimCDR/MPCDRIn.v +./generated/SimCDR/SimCDR.v +./generated/SimCDR/CDRInAxis.v +./generated/back/do16p_top.v +./generated/back/SpiSRAMUp.v +./generated/back/di16_top.v +./generated/back/MirrorSRAMDP.v +./generated/back/spi_top.v +./generated/back/BackBoardMst.v +./generated/back/backBoardMstTop.v +./generated/back/oser_rst.v +./generated/back/do16c_top.v +./generated/back/DOut16c.v +./generated/back/SpiSRAMDown.v +./generated/back/DOut16p.v +./generated/back/defineParam.v +./generated/back/DIn16.v +./generated/back/SpiSlv.v +./generated/shin/b4b5DualEncode.v +./generated/shin/ShareSRAM2k.v +./generated/shin/QSpiInterface.v +./generated/shin/MasterParser.v +./generated/shin/Queue.v +./generated/shin/crc32_8.v +./generated/shin/b8b10Encode.v +./generated/shin/SMUnit_4.v +./generated/shin/b4b5DualDecode.v +./generated/shin/SMUnit.v +./generated/shin/MstSlvSwitch.v +./generated/shin/b8b10Decode.v +./generated/shin/CDROut.v +./generated/shin/SSpiInterface.v +./generated/shin/SlaveParser.v +./generated/shin/SlaveSendGen.v +./generated/shin/SlaveRecParser.v +./generated/shin/Interface.v +./generated/shin/Queue_4.v +./generated/shin/ShinTop.v +./generated/shin/MPCDRIn.v \ No newline at end of file From 0b0a42afb0b2f8558b9e7ecd6c93aeb9e868976e Mon Sep 17 00:00:00 2001 From: bacon Date: Sat, 6 Sep 2025 20:25:56 +0800 Subject: [PATCH 76/86] =?UTF-8?q?=E4=BD=BF=E7=94=A8vcs=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E9=80=9A=E8=BF=87,=E8=BF=98=E6=9C=89=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E7=90=90=E7=BB=86=E7=9A=84=E9=97=AE=E9=A2=98=E8=A6=81=E8=A7=A3?= =?UTF-8?q?=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/Makefile_vcs | 2 ++ tb/shinTest/gen_pkt.py | 1 - tb/shinTest/shinTest_vcs.f | 23 ----------------------- tb/shinTest/testcase/environment.py | 20 ++++++++++---------- 4 files changed, 12 insertions(+), 34 deletions(-) diff --git a/tb/shinTest/Makefile_vcs b/tb/shinTest/Makefile_vcs index 70ff0e6..9998fe8 100644 --- a/tb/shinTest/Makefile_vcs +++ b/tb/shinTest/Makefile_vcs @@ -12,6 +12,8 @@ SIM = ./${OUTPUT} -l run.log testShin_vcs: python3 ./shinTest/gen_pkt.py + mkdir -p generated/log + rm -rf generated/log/* ${VCS} -f ./shinTest_vcs.f ${SIM} sim: diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index dc6ae45..fd0e550 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -76,7 +76,6 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc27()) #add_tc_2_runlist(base.tc28()) #add_tc_2_runlist(base.tc29()) - #add_tc_2_runlist(base.tc29()) #add_tc_2_runlist(base.tc30()) diff --git a/tb/shinTest/shinTest_vcs.f b/tb/shinTest/shinTest_vcs.f index 4e016b9..8e99223 100644 --- a/tb/shinTest/shinTest_vcs.f +++ b/tb/shinTest/shinTest_vcs.f @@ -1,28 +1,5 @@ +incdir+./generated/shin ./shinTest/ShinTopSpiTb.v -./generated/SimCDR/Queue.v -./generated/SimCDR/b8b10Encode.v -./generated/SimCDR/b8b10Decode.v -./generated/SimCDR/CDROut.v -./generated/SimCDR/CDRInMultiSample.v -./generated/SimCDR/MPCDRIn.v -./generated/SimCDR/SimCDR.v -./generated/SimCDR/CDRInAxis.v -./generated/back/do16p_top.v -./generated/back/SpiSRAMUp.v -./generated/back/di16_top.v -./generated/back/MirrorSRAMDP.v -./generated/back/spi_top.v -./generated/back/BackBoardMst.v -./generated/back/backBoardMstTop.v -./generated/back/oser_rst.v -./generated/back/do16c_top.v -./generated/back/DOut16c.v -./generated/back/SpiSRAMDown.v -./generated/back/DOut16p.v -./generated/back/defineParam.v -./generated/back/DIn16.v -./generated/back/SpiSlv.v ./generated/shin/b4b5DualEncode.v ./generated/shin/ShareSRAM2k.v ./generated/shin/QSpiInterface.v diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index 849c547..769c848 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -249,18 +249,18 @@ def __gen_slv_dev_predef(num): +"`define SPI_CSN_NUM (`ALL_DEV_NUM * 3)\n" +"`define HW_SERIAL 48'h31303050584c //(48'h4c5850303031)\n" - +"`define IQSPI_PINS(N) (`N*4+3):(`N*4)\n" - +"`define EQSPI_PINS(N) ((`N + `ALL_DEV_NUM)*4+3):((`N + `ALL_DEV_NUM)*4)\n" - +"`define IQSPI_MISO(N) qspi_miso[`IQSPI_PINS(`N)]\n" - +"`define EQSPI_MISO(N) qspi_miso[`EQSPI_PINS(`N)]\n" + +"`define IQSPI_PINS(N) (N*4+3):(N*4)\n" + +"`define EQSPI_PINS(N) ((N + `ALL_DEV_NUM)*4+3):((N + `ALL_DEV_NUM)*4)\n" + +"`define IQSPI_MISO(N) qspi_miso[`IQSPI_PINS(N)]\n" + +"`define EQSPI_MISO(N) qspi_miso[`EQSPI_PINS(N)]\n" - +"`define IQSPI_CSN_NUM(id) (`id)\n" - +"`define ESPI_CSN_NUM(id) ((`id)+(`ALL_DEV_NUM))\n" - +"`define EQSPI_CSN_NUM(id) ((`id)+(`ALL_DEV_NUM)*2)\n" + +"`define IQSPI_CSN_NUM(id) (id)\n" + +"`define ESPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM))\n" + +"`define EQSPI_CSN_NUM(id) ((id)+(`ALL_DEV_NUM)*2)\n" - +"`define IQSPI_CSN(id) spi_csn[`IQSPI_CSN_NUM(`id)]\n" - +"`define ESPI_CSN(id) spi_csn[`ESPI_CSN_NUM(`id)]\n" - +"`define EQSPI_CSN(id) spi_csn[`EQSPI_CSN_NUM(`id)]\n" + +"`define IQSPI_CSN(id) spi_csn[`IQSPI_CSN_NUM(id)]\n" + +"`define ESPI_CSN(id) spi_csn[`ESPI_CSN_NUM(id)]\n" + +"`define EQSPI_CSN(id) spi_csn[`EQSPI_CSN_NUM(id)]\n" ) code_qspi_mux_init = "`define QSPI_MUX_MISO_INIT \\\n" From 4a21e4b2bad4fb18d2b32e429b8efa3ce40360c0 Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Sat, 6 Sep 2025 23:02:10 +0800 Subject: [PATCH 77/86] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8E=A5=E7=BA=BF?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/shin/MstSlvSwitch.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 47c515d..e79da61 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -635,7 +635,7 @@ trait MstSlvSwitchCDRIn{ this: MstSlvSwitchBase => when(cdrSelB){ io.downCDRSampleIn(1).serDat := downInSerDat - io.upCDRSampleIn(1).serDat := downInSerDat + io.upCDRSampleIn(1).serDat := upInSerDat downInSyncSerDat := io.downCDRSampleIn(1).syncSerDat upInSyncSerDat := io.upCDRSampleIn(1).syncSerDat @@ -645,7 +645,7 @@ trait MstSlvSwitchCDRIn{ this: MstSlvSwitchBase => io.upCDRSampleIn(2).serDat := false.B } .elsewhen(cdrSelC){ io.downCDRSampleIn(2).serDat := downInSerDat - io.upCDRSampleIn(2).serDat := downInSerDat + io.upCDRSampleIn(2).serDat := upInSerDat downInSyncSerDat := io.downCDRSampleIn(2).syncSerDat upInSyncSerDat := io.upCDRSampleIn(2).syncSerDat @@ -655,7 +655,7 @@ trait MstSlvSwitchCDRIn{ this: MstSlvSwitchBase => io.upCDRSampleIn(1).serDat := false.B } .otherwise{ io.downCDRSampleIn(0).serDat := downInSerDat - io.upCDRSampleIn(0).serDat := downInSerDat + io.upCDRSampleIn(0).serDat := upInSerDat downInSyncSerDat := io.downCDRSampleIn(0).syncSerDat upInSyncSerDat := io.upCDRSampleIn(0).syncSerDat From 8a7e4981fbd7edda9b1a77d2a44cf93fc0484587 Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 7 Sep 2025 00:10:41 +0800 Subject: [PATCH 78/86] =?UTF-8?q?=E5=B0=86vcs=E4=BB=BF=E7=9C=9F=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=BF=AE=E6=AD=A3=E5=BE=97=E6=9B=B4=E5=A5=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 3 +++ tb/shinTest/Makefile_vcs | 21 ++++++++++++++++----- tb/shinTest/ShinTopSpiTb.v | 16 +++++++++++++--- tb/shinTest/ShinTopSpiTb_clk.v | 15 ++++++++++++--- tb/shinTest/shinTest_vcs.f | 2 +- 5 files changed, 45 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 82dc42e..857268e 100644 --- a/Makefile +++ b/Makefile @@ -49,6 +49,7 @@ testShin: -y ./generated/shin \ -I ./generated/shin \ -D RANDOMIZE_REG_INIT \ + -D IVERILOG_COMPILE \ ./tb/shinTest/ShinTopSpiTb.v vvp -N ./tb/build/shinTest.iverilog -lxt2 -fst || true ./tb/shinTest/check_testcase.py @@ -62,6 +63,7 @@ testShinClk: -y ./generated/shin \ -I ./generated/shin \ -D RANDOMIZE_REG_INIT \ + -D IVERILOG_COMPILE \ ./tb/shinTest/ShinTopSpiTb_clk.v vvp -N ./tb/build/shinTest_clk.iverilog -lxt2 -fst || true ./tb/shinTest/check_testcase.py @@ -74,6 +76,7 @@ testCDR: -I ./generated/SimCDR \ -I ./generated/shin \ -D RANDOMIZE_REG_INIT \ + -D IVERILOG_COMPILE \ ./tb/shinTest/SimCDRTb.v vvp -N ./tb/build/simCDR.iverilog -lxt2 -fst diff --git a/tb/shinTest/Makefile_vcs b/tb/shinTest/Makefile_vcs index 9998fe8..12799b3 100644 --- a/tb/shinTest/Makefile_vcs +++ b/tb/shinTest/Makefile_vcs @@ -2,11 +2,12 @@ OUTPUT = shin_test -VCS = vcs -sverilog +v2k -timescale=1ns/1ps \ - -debug_all \ - -full64 \ - -o ${OUTPUT} \ - -l compile.log \ +VCS = vcs -sverilog +v2k -timescale=1ns/1ps \ + -full64 \ + -o ${OUTPUT} \ + -l compile.log \ + -debug_access+none \ + +define+VCS_COMPILE \ SIM = ./${OUTPUT} -l run.log @@ -16,6 +17,16 @@ testShin_vcs: rm -rf generated/log/* ${VCS} -f ./shinTest_vcs.f ${SIM} + python3 ./shinTest/check_testcase.py + +testShinClk_vcs: + python3 ./shinTest/gen_pkt_clk.py + mkdir -p generated/log + rm -rf generated/log/* + ${VCS} -f ./shinTestClk_vcs.f + ${SIM} + python3 ./shinTest/check_testcase.py + sim: ${SIM} diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 8cb819f..a4bf400 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -407,7 +407,8 @@ initial begin $display("Time Out !!!"); $fclose(spidata_file); - $stop; + //$stop; + $finish; end initial begin @@ -438,8 +439,16 @@ initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); if (!spidata_file) $display("文件打开失败"); - $dumpfile("./generated/wave.fst"); //生成的vcd文件名称 + + `ifdef VCS_COMPILE + $dumpfile("./generated/wave.vcd"); //生成的vcd文件名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称 + `endif + + `ifdef IVERILOG_COMPILE + $dumpfile("./generated/wave.fst"); //生成的fst文件名称 + $dumpvars(0, ShinTopSpiTb);//tb模块名称 + `endif end always @(posedge reset) begin @@ -1092,7 +1101,8 @@ initial begin #1000000 $display("Testcase Finished! Time Out !!!"); $fclose(spidata_file); - $stop; + //$stop; + $finish; end diff --git a/tb/shinTest/ShinTopSpiTb_clk.v b/tb/shinTest/ShinTopSpiTb_clk.v index 69e7043..30ce999 100644 --- a/tb/shinTest/ShinTopSpiTb_clk.v +++ b/tb/shinTest/ShinTopSpiTb_clk.v @@ -382,7 +382,8 @@ initial begin $display("Time Out !!!"); $fclose(spidata_file); - $stop; + //$stop; + $finish; end initial begin @@ -448,8 +449,15 @@ initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); if (!spidata_file) $display("文件打开失败"); - $dumpfile("./generated/wave_clk.fst"); //生成的vcd文件名称 + `ifdef VCS_COMPILE + $dumpfile("./generated/wave.vcd"); //生成的vcd文件名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称 + `endif + + `ifdef IVERILOG_COMPILE + $dumpfile("./generated/wave.fst"); //生成的fst文件名称 + $dumpvars(0, ShinTopSpiTb);//tb模块名称 + `endif end always @(posedge reset) begin @@ -1102,7 +1110,8 @@ initial begin #100000000000 $display("Testcase Finished! Time Out !!!"); $fclose(spidata_file); - $stop; + //$stop; + $finish; end diff --git a/tb/shinTest/shinTest_vcs.f b/tb/shinTest/shinTest_vcs.f index 8e99223..e91eee2 100644 --- a/tb/shinTest/shinTest_vcs.f +++ b/tb/shinTest/shinTest_vcs.f @@ -1,5 +1,5 @@ +incdir+./generated/shin -./shinTest/ShinTopSpiTb.v +./shinTest/ShinTopSpiTb_clk.v ./generated/shin/b4b5DualEncode.v ./generated/shin/ShareSRAM2k.v ./generated/shin/QSpiInterface.v From dd6e2548a1f0dc3bd79257d8a3292ecfc9bf2d99 Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 7 Sep 2025 00:31:28 +0800 Subject: [PATCH 79/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0ShinRelease=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E5=91=BD=E4=BB=A4=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShinRelease.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 ShinRelease.sh diff --git a/ShinRelease.sh b/ShinRelease.sh new file mode 100755 index 0000000..1290464 --- /dev/null +++ b/ShinRelease.sh @@ -0,0 +1,17 @@ +#!/bin/bash +DEFAULT_TARGET="../ShinRelease" + +TARGET_DIR="${1:-$DEFAULT_TARGET}" + +rm -rf ${TARGET_DIR}/generated/ ${TARGET_DIR}/shinTest/ ${TARGET_DIR}/resources/ +mkdir -p ${TARGET_DIR} +cp -r ./tb/shinTest ${TARGET_DIR}/ +mkdir -p ${TARGET_DIR}/generated/ +cp -r ./generated/shin ${TARGET_DIR}/generated/ +cp -r ./src/main/resources ${TARGET_DIR}/ +cp ./tb/shinTest/Makefile_vcs ${TARGET_DIR}/Makefile +cp ./tb/shinTest/shinTest_vcs.f ${TARGET_DIR}/ +cp ./tb/shinTest/shinTestClk_vcs.f ${TARGET_DIR}/ +#awk '{gsub(/.\/tb\/build\/wave.vcd/, "./generated/wave.vcd"); print }' ../RISCV-MAC-SWICH/tb/shinTest/ShinTopSpiTb.v > ./shinTest/ShinTopSpiTb.v +awk '{gsub(/tb\/shinTest\/testcase_result/, "./shinTest/testcase_result"); print }' ./tb/shinTest/check_testcase.py > ${TARGET_DIR}/shinTest/check_testcase.py +#awk '{gsub(/.\/tb\/build\/wave_clk.vcd/, "./generated/wave_clk.vcd"); print }' ../RISCV-MAC-SWICH/tb/shinTest/ShinTopSpiTb_clk.v > ./shinTest/ShinTopSpiTb_clk.v \ No newline at end of file From 806b27474f75c715a464f4547494e9fd4870ac41 Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 7 Sep 2025 00:42:46 +0800 Subject: [PATCH 80/86] =?UTF-8?q?=E6=8C=89=E7=85=A7=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E5=BE=97=E6=8F=90=E4=BA=A4=EF=BC=8C=E5=B7=B2=E7=BB=8F=E4=BB=BF?= =?UTF-8?q?=E7=9C=9F=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/shinTestClk_vcs.f | 24 ++++++++++++++++++++++++ tb/shinTest/shinTest_vcs.f | 31 ++++++++++++++++--------------- 2 files changed, 40 insertions(+), 15 deletions(-) create mode 100644 tb/shinTest/shinTestClk_vcs.f diff --git a/tb/shinTest/shinTestClk_vcs.f b/tb/shinTest/shinTestClk_vcs.f new file mode 100644 index 0000000..66401fb --- /dev/null +++ b/tb/shinTest/shinTestClk_vcs.f @@ -0,0 +1,24 @@ ++incdir+./generated/shin +./shinTest/ShinTopSpiTb_clk.v +./generated/shin/b4b5DualDecode.v +./generated/shin/b4b5DualEncode.v +./generated/shin/b8b10Decode.v +./generated/shin/b8b10Encode.v +./generated/shin/CDRInAxis.v +./generated/shin/CDRInMultiSample.v +./generated/shin/CDROut.v +./generated/shin/crc32_8.v +./generated/shin/Interface.v +./generated/shin/MasterParser.v +./generated/shin/MstSlvSwitch.v +./generated/shin/QSpiInterface.v +./generated/shin/Queue_4.v +./generated/shin/Queue.v +./generated/shin/ShareSRAM2k.v +./generated/shin/ShinTop.v +./generated/shin/SlaveParser.v +./generated/shin/SlaveRecParser.v +./generated/shin/SlaveSendGen.v +./generated/shin/SMUnit_4.v +./generated/shin/SMUnit.v +./generated/shin/SSpiInterface.v \ No newline at end of file diff --git a/tb/shinTest/shinTest_vcs.f b/tb/shinTest/shinTest_vcs.f index e91eee2..66401fb 100644 --- a/tb/shinTest/shinTest_vcs.f +++ b/tb/shinTest/shinTest_vcs.f @@ -1,23 +1,24 @@ +incdir+./generated/shin ./shinTest/ShinTopSpiTb_clk.v -./generated/shin/b4b5DualEncode.v -./generated/shin/ShareSRAM2k.v -./generated/shin/QSpiInterface.v -./generated/shin/MasterParser.v -./generated/shin/Queue.v -./generated/shin/crc32_8.v -./generated/shin/b8b10Encode.v -./generated/shin/SMUnit_4.v ./generated/shin/b4b5DualDecode.v -./generated/shin/SMUnit.v -./generated/shin/MstSlvSwitch.v +./generated/shin/b4b5DualEncode.v ./generated/shin/b8b10Decode.v +./generated/shin/b8b10Encode.v +./generated/shin/CDRInAxis.v +./generated/shin/CDRInMultiSample.v ./generated/shin/CDROut.v -./generated/shin/SSpiInterface.v -./generated/shin/SlaveParser.v -./generated/shin/SlaveSendGen.v -./generated/shin/SlaveRecParser.v +./generated/shin/crc32_8.v ./generated/shin/Interface.v +./generated/shin/MasterParser.v +./generated/shin/MstSlvSwitch.v +./generated/shin/QSpiInterface.v ./generated/shin/Queue_4.v +./generated/shin/Queue.v +./generated/shin/ShareSRAM2k.v ./generated/shin/ShinTop.v -./generated/shin/MPCDRIn.v \ No newline at end of file +./generated/shin/SlaveParser.v +./generated/shin/SlaveRecParser.v +./generated/shin/SlaveSendGen.v +./generated/shin/SMUnit_4.v +./generated/shin/SMUnit.v +./generated/shin/SSpiInterface.v \ No newline at end of file From 3678b24318b1a166481e958747cec8543f9e4c1a Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 7 Sep 2025 00:52:17 +0800 Subject: [PATCH 81/86] =?UTF-8?q?=E6=AF=94=E8=BE=83=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=B8=AD=E5=A2=9E=E5=8A=A0=E5=8D=95=E8=A1=8Cx=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E6=AF=94=E8=BE=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/check_testcase.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tb/shinTest/check_testcase.py b/tb/shinTest/check_testcase.py index e6fde60..cb7fb3f 100755 --- a/tb/shinTest/check_testcase.py +++ b/tb/shinTest/check_testcase.py @@ -56,9 +56,13 @@ def compare_files(source_file, target_file): tgt_values = tgt_line.strip().split() if len(src_values) != len(tgt_values): - print(f"Error: Line {i+1}: The number of values in {source_file} and {target_file} do not match.") - all_match = False - continue + if len(src_values) != 1: + print(f"Error: Line {i+1}: The number of values in {source_file} and {target_file} do not match.") + all_match = False + continue + else: + if src_values[0].strip().lower() == 'x': + continue line_match = True From 1958f196f5545416402458525cae644e402e84ee Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 7 Sep 2025 07:37:34 +0800 Subject: [PATCH 82/86] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShinRelease.sh | 2 ++ tb/shinTest/Makefile_vcs | 4 +++ tb/shinTest/ShinTopSpiTb.v | 2 +- tb/shinTest/ShinTopSpiTb_clk.v | 2 +- tb/shinTest/check_testcase.py | 4 +++ tb/shinTest/pyutils/GenPkt.py | 2 +- tb/shinTest/shinTestClk_vcs.f | 22 -------------- tb/shinTest/shinTest_vcs.f | 24 +-------------- tb/shinTest/testcase/base.py | 5 ++++ tb/shinTest/testcase/environment.py | 4 +-- .../testcase_result/base_tc29_result.log | 25 ++++++++++++++++ .../testcase_result/base_tc30_result.log | 29 +++++++++++++++++++ 12 files changed, 75 insertions(+), 50 deletions(-) create mode 100644 tb/shinTest/testcase_result/base_tc29_result.log create mode 100644 tb/shinTest/testcase_result/base_tc30_result.log diff --git a/ShinRelease.sh b/ShinRelease.sh index 1290464..8c33eb7 100755 --- a/ShinRelease.sh +++ b/ShinRelease.sh @@ -12,6 +12,8 @@ cp -r ./src/main/resources ${TARGET_DIR}/ cp ./tb/shinTest/Makefile_vcs ${TARGET_DIR}/Makefile cp ./tb/shinTest/shinTest_vcs.f ${TARGET_DIR}/ cp ./tb/shinTest/shinTestClk_vcs.f ${TARGET_DIR}/ +find ./generated/shin -name *.v >> ${TARGET_DIR}/shinTest_vcs.f +find ./generated/shin -name *.v >> ${TARGET_DIR}/shinTestClk_vcs.f #awk '{gsub(/.\/tb\/build\/wave.vcd/, "./generated/wave.vcd"); print }' ../RISCV-MAC-SWICH/tb/shinTest/ShinTopSpiTb.v > ./shinTest/ShinTopSpiTb.v awk '{gsub(/tb\/shinTest\/testcase_result/, "./shinTest/testcase_result"); print }' ./tb/shinTest/check_testcase.py > ${TARGET_DIR}/shinTest/check_testcase.py #awk '{gsub(/.\/tb\/build\/wave_clk.vcd/, "./generated/wave_clk.vcd"); print }' ../RISCV-MAC-SWICH/tb/shinTest/ShinTopSpiTb_clk.v > ./shinTest/ShinTopSpiTb_clk.v \ No newline at end of file diff --git a/tb/shinTest/Makefile_vcs b/tb/shinTest/Makefile_vcs index 12799b3..af94fd0 100644 --- a/tb/shinTest/Makefile_vcs +++ b/tb/shinTest/Makefile_vcs @@ -1,6 +1,7 @@ .PHONY:com sim clean OUTPUT = shin_test +CPU_COUNT := $(shell nproc) VCS = vcs -sverilog +v2k -timescale=1ns/1ps \ -full64 \ @@ -8,6 +9,7 @@ VCS = vcs -sverilog +v2k -timescale=1ns/1ps \ -l compile.log \ -debug_access+none \ +define+VCS_COMPILE \ + -fastpartcomp=j$(nproc) \ SIM = ./${OUTPUT} -l run.log @@ -15,10 +17,12 @@ testShin_vcs: python3 ./shinTest/gen_pkt.py mkdir -p generated/log rm -rf generated/log/* + @echo "Available CPUs: ${CPU_COUNT}" ${VCS} -f ./shinTest_vcs.f ${SIM} python3 ./shinTest/check_testcase.py + testShinClk_vcs: python3 ./shinTest/gen_pkt_clk.py mkdir -p generated/log diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index a4bf400..0153786 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -170,7 +170,7 @@ ShinTop s_ShinTop_Mst( .io_latchPin_0(latch0), .io_latchPin_1(latch1), .io_hwSerial(`HW_SERIAL), - .io_uniCode(0) + .io_uniCode(64'h0) ); `include "slave_dev_def.vh" diff --git a/tb/shinTest/ShinTopSpiTb_clk.v b/tb/shinTest/ShinTopSpiTb_clk.v index 30ce999..032c328 100644 --- a/tb/shinTest/ShinTopSpiTb_clk.v +++ b/tb/shinTest/ShinTopSpiTb_clk.v @@ -145,7 +145,7 @@ ShinTop s_ShinTop_Mst( .io_latchPin_0(latch0), .io_latchPin_1(latch1), .io_hwSerial(`HW_SERIAL), - .io_uniCode(0) + .io_uniCode(64'h0) ); `include "slave_dev_def.vh" diff --git a/tb/shinTest/check_testcase.py b/tb/shinTest/check_testcase.py index cb7fb3f..ba9a4c8 100755 --- a/tb/shinTest/check_testcase.py +++ b/tb/shinTest/check_testcase.py @@ -40,6 +40,7 @@ def parse_value(value): return parsed_value, mask def compare_files(source_file, target_file): + warning_need_recheck = 0 try: with open(source_file, 'r') as src, open(target_file, 'r') as tgt: source_lines = src.readlines() @@ -62,6 +63,9 @@ def compare_files(source_file, target_file): continue else: if src_values[0].strip().lower() == 'x': + if warning_need_recheck == 0: + print(f'[\033[93mWARNING\033[0m] Ignored lines detected. This test case requires manual comparison. \n\t[\033[93mTARGET\033[0m] {target_file}\t[\033[93mSRC\033[0m] {source_file}') + warning_need_recheck = 1 continue line_match = True diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index 2d0fc23..b7c2877 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -318,7 +318,7 @@ def genSlvSMWriteData(dev, sm, data_len, data = None, wlog=True): code = '''txBuf[3] = 8'h%02x;\n'''%(data_len & 0xff, )\ + '''txBuf[4] = 8'h%02x;\n'''%(int(data_len/256) & 0xff,)\ - + '''%s((16'h0%04x), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", smaddr[sm], dev) + + '''%s((16'h%04x), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", smaddr[sm], dev) for i in range(data_len): code = code + '''txBuf[%d + 3] = 8'h%02x;\n'''%(i, data[i]) diff --git a/tb/shinTest/shinTestClk_vcs.f b/tb/shinTest/shinTestClk_vcs.f index 66401fb..59d5dfe 100644 --- a/tb/shinTest/shinTestClk_vcs.f +++ b/tb/shinTest/shinTestClk_vcs.f @@ -1,24 +1,2 @@ +incdir+./generated/shin ./shinTest/ShinTopSpiTb_clk.v -./generated/shin/b4b5DualDecode.v -./generated/shin/b4b5DualEncode.v -./generated/shin/b8b10Decode.v -./generated/shin/b8b10Encode.v -./generated/shin/CDRInAxis.v -./generated/shin/CDRInMultiSample.v -./generated/shin/CDROut.v -./generated/shin/crc32_8.v -./generated/shin/Interface.v -./generated/shin/MasterParser.v -./generated/shin/MstSlvSwitch.v -./generated/shin/QSpiInterface.v -./generated/shin/Queue_4.v -./generated/shin/Queue.v -./generated/shin/ShareSRAM2k.v -./generated/shin/ShinTop.v -./generated/shin/SlaveParser.v -./generated/shin/SlaveRecParser.v -./generated/shin/SlaveSendGen.v -./generated/shin/SMUnit_4.v -./generated/shin/SMUnit.v -./generated/shin/SSpiInterface.v \ No newline at end of file diff --git a/tb/shinTest/shinTest_vcs.f b/tb/shinTest/shinTest_vcs.f index 66401fb..fb9085d 100644 --- a/tb/shinTest/shinTest_vcs.f +++ b/tb/shinTest/shinTest_vcs.f @@ -1,24 +1,2 @@ +incdir+./generated/shin -./shinTest/ShinTopSpiTb_clk.v -./generated/shin/b4b5DualDecode.v -./generated/shin/b4b5DualEncode.v -./generated/shin/b8b10Decode.v -./generated/shin/b8b10Encode.v -./generated/shin/CDRInAxis.v -./generated/shin/CDRInMultiSample.v -./generated/shin/CDROut.v -./generated/shin/crc32_8.v -./generated/shin/Interface.v -./generated/shin/MasterParser.v -./generated/shin/MstSlvSwitch.v -./generated/shin/QSpiInterface.v -./generated/shin/Queue_4.v -./generated/shin/Queue.v -./generated/shin/ShareSRAM2k.v -./generated/shin/ShinTop.v -./generated/shin/SlaveParser.v -./generated/shin/SlaveRecParser.v -./generated/shin/SlaveSendGen.v -./generated/shin/SMUnit_4.v -./generated/shin/SMUnit.v -./generated/shin/SSpiInterface.v \ No newline at end of file +./shinTest/ShinTopSpiTb.v diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 3a2f7f7..a09d142 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -2484,6 +2484,11 @@ def tc29(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genIFRwDataCode(1, 0x180, True, 128, list(range(128))) + +genIFRwDataCode(2, 0x180, True, 128, list(range(4, 128 + 4))) + +genIFRwDataCode(3, 0x180, True, 128, list(range(8, 128 + 8))) + +genIFRwDataCode(4, 0x180, True, 128, list(range(16, 128 + 16))) ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index 769c848..037ce0d 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -191,7 +191,7 @@ def __GenDevice(id, TerminateNode = False, diffclk = False): multiclk = "multiCLK2" code_device = ("\tShinTop s_ShinTop_slv%d(\n"%(id, ) - +"\t.clock(clock),\n" + +"\t.clock(%s),\n"%(clk, ) +"\t.reset(reset | isSoftReset_reg[%d]),\n\n"%(id + 1,) +"\t.io_multiCLK_0(%s[0]),\n"%(multiclk, ) @@ -238,7 +238,7 @@ def __GenDevice(id, TerminateNode = False, diffclk = False): +"\t.io_latchPin_0(latch0),\n" +"\t.io_latchPin_1(latch1),\n" +"\t.io_hwSerial(`HW_SERIAL),\n" - +"\t.io_uniCode(0)\n" + +"\t.io_uniCode(64'h0)\n" +"\t);\n\n\n" ) return code_device diff --git a/tb/shinTest/testcase_result/base_tc29_result.log b/tb/shinTest/testcase_result/base_tc29_result.log new file mode 100644 index 0000000..b940f5c --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc29_result.log @@ -0,0 +1,25 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0180 8'h00 16'h0080 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0180 8'h00 16'h0080 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 +16'h0180 8'h00 16'h0080 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 +16'h0180 8'h00 16'h0080 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f +16'h0312 8'h00 16'h0002 8'hfc 8'h07 +16'h0316 8'h00 16'h0002 8'hfc 8'h07 +16'h3000 8'h00 16'h07fc 8'h7f 8'h80 8'h00 8'h00 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h10 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h10 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h10 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h15 +16'h2800 8'h01 16'h07fc 8'h7f 8'h80 8'h00 8'h04 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h00 8'h01 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h00 8'h01 8'h00 8'h10 8'h01 8'h80 8'h00 8'h80 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h00 8'h01 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h00 8'h01 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h00 8'h01 8'h00 8'h10 8'h01 8'h80 8'h00 8'h80 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h00 8'h01 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h00 8'h01 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h00 8'h01 8'h00 8'h10 8'h01 8'h80 8'h00 8'h80 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h00 8'h01 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h00 8'h01 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc30_result.log b/tb/shinTest/testcase_result/base_tc30_result.log new file mode 100644 index 0000000..89c6ed0 --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc30_result.log @@ -0,0 +1,29 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hf6 8'h01 +16'h0302 8'h00 16'h0002 8'hf6 8'h01 +16'h0302 8'h00 16'h0002 8'hf6 8'h01 +16'h0302 8'h00 16'h0002 8'hf6 8'h01 +16'h0312 8'h00 16'h0002 8'hfc 8'h07 +16'h0316 8'h00 16'h0002 8'hfc 8'h07 +16'h3000 8'h00 16'h07fc 8'h7f 8'h80 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h00 8'h00 8'h08 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h00 8'h00 8'h10 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h15 +16'h2800 8'h01 16'h07fc 8'h7f 8'h80 8'h00 8'h04 8'h00 8'h04 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h01 8'h00 8'h08 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h01 8'h00 8'h0c 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h01 8'h00 8'h10 8'h08 8'h00 8'h11 8'hf6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0800 8'h01 16'h01f6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 +16'h0800 8'h01 16'h01f6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 +16'h0800 8'h01 16'h01f6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 +16'h0800 8'h01 16'h01f6 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 From a410c7ba6774b73db879a9e702d23dced8c8e84d Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 7 Sep 2025 18:44:53 +0800 Subject: [PATCH 83/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84=E6=AF=94=E5=AF=B9,=E8=99=BD=E7=84=B6=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E5=85=A8=E6=84=8F=E6=96=99=E7=BB=93=E6=9E=9C?= =?UTF-8?q?,=E4=BD=86=E6=98=AF=E5=8F=AF=E4=BB=A5=E4=BD=9C=E4=B8=BA?= =?UTF-8?q?=E8=A1=A5=E5=85=85,=E8=8A=82=E7=9C=81=E7=B2=BE=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/check_testcase.py | 6 +- tb/shinTest/testcase/errorPkt.py | 64 +++++++++---- .../testcase_result/error_pkt_tc01_result.log | 48 ++++++++++ .../testcase_result/error_pkt_tc02_result.log | 33 +++++++ .../testcase_result/error_pkt_tc03_result.log | 24 +++++ .../testcase_result/error_pkt_tc04_result.log | 30 ++++++ .../testcase_result/error_pkt_tc05_result.log | 69 ++++++++++++++ .../testcase_result/error_pkt_tc06_result.log | 75 +++++++++++++++ .../testcase_result/error_pkt_tc07_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc08_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc09_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc10_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc11_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc12_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc13_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc14_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc15_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc16_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc17_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc18_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc19_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc20_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc21_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc22_result.log | 91 +++++++++++++++++++ .../testcase_result/error_pkt_tc23_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc24_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc25_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc26_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc27_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc28_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc29_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc30_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc31_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc32_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc33_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc34_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc35_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc36_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc37_result.log | 89 ++++++++++++++++++ .../testcase_result/error_pkt_tc38_result.log | 89 ++++++++++++++++++ 40 files changed, 3209 insertions(+), 20 deletions(-) create mode 100644 tb/shinTest/testcase_result/error_pkt_tc01_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc02_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc03_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc04_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc05_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc06_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc07_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc08_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc09_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc10_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc11_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc12_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc13_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc14_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc15_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc16_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc17_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc18_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc19_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc20_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc21_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc22_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc23_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc24_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc25_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc26_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc27_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc28_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc29_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc30_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc31_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc32_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc33_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc34_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc35_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc36_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc37_result.log create mode 100644 tb/shinTest/testcase_result/error_pkt_tc38_result.log diff --git a/tb/shinTest/check_testcase.py b/tb/shinTest/check_testcase.py index ba9a4c8..7a3891b 100755 --- a/tb/shinTest/check_testcase.py +++ b/tb/shinTest/check_testcase.py @@ -64,7 +64,7 @@ def compare_files(source_file, target_file): else: if src_values[0].strip().lower() == 'x': if warning_need_recheck == 0: - print(f'[\033[93mWARNING\033[0m] Ignored lines detected. This test case requires manual comparison. \n\t[\033[93mTARGET\033[0m] {target_file}\t[\033[93mSRC\033[0m] {source_file}') + print(f'[\033[93mWARNING\033[0m] Ignored lines detected. This test case requires manual comparison. \n\t[\033[93mTARGET\033[0m] {target_file}\n\t[\033[93mSRC\033[0m] {source_file}') warning_need_recheck = 1 continue @@ -96,7 +96,7 @@ def compare_files(source_file, target_file): #print(f"Line {i+1}, Position {j+1}: Values match ({src_val} == {tgt_val}).") pass else: - print(f"\tLine {i+1}, Position {j+1}: Values differ ({src_val} != {tgt_val}).") + #print(f"\tLine {i+1}, Position {j+1}: Values differ ({src_val} != {tgt_val}).") line_match = False all_match = False @@ -155,4 +155,4 @@ if __name__ == "__main__": if compare_files(src_f, rst_f): print(f"{outmsg}[\033[92mPASS\033[0m]") else: - print(f"{outmsg}[\033[91mFAILED\033[0m]") \ No newline at end of file + print(f"{outmsg}[\033[91mFAILED\033[0m]\n\t[\033[91mTARGET\033[0m] {rst_f}\n\t[\033[91mSRC\033[0m] {src_f}") \ No newline at end of file diff --git a/tb/shinTest/testcase/errorPkt.py b/tb/shinTest/testcase/errorPkt.py index eb353e6..a85fd35 100644 --- a/tb/shinTest/testcase/errorPkt.py +++ b/tb/shinTest/testcase/errorPkt.py @@ -26,6 +26,8 @@ def tc1(): genPkt.setPkt(2, data) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) +genIFRwDataCode(1, 0x80, False, 24) @@ -38,6 +40,10 @@ def tc1(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24) @@ -132,12 +138,19 @@ def tc2(): genPkt.setPkt(2, data) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) @@ -153,8 +166,6 @@ def tc2(): data = [0,] * 32 genPkt.addSubPkt(0, 0, 0, 0xd, 32, data) - clear_int = [0xff, 0xff, 0xff, 0xff] - genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) @@ -169,11 +180,11 @@ def tc2(): +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") - +genIFRwDataCode(0, 0x78, True, 4, clear_int) - +genIFRwDataCode(1, 0x78, True, 4, clear_int) - +genIFRwDataCode(2, 0x78, True, 4, clear_int) - +genIFRwDataCode(3, 0x78, True, 4, clear_int) - +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) @@ -214,7 +225,10 @@ def tc3(): genPkt.setPkt(2, data) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -267,12 +281,18 @@ def tc4(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) - +genReadAckPktCode(gen_file_def, sm_idx)) + +genReadAckPktCode(gen_file_def, sm_idx) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -284,25 +304,27 @@ def tc4(): data = [0,] * 32 genPkt.addSubPkt(0, 0, 0, 0xd, 32, data) - clear_int = [0xff, 0xff, 0xff, 0xff] genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) + +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) - +genIFRwDataCode(0, 0x78, True, 4, clear_int) - +genIFRwDataCode(1, 0x78, True, 4, clear_int) - +genIFRwDataCode(2, 0x78, True, 4, clear_int) - +genIFRwDataCode(3, 0x78, True, 4, clear_int) - +genIFRwDataCode(4, 0x78, True, 4, clear_int) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) @@ -351,6 +373,9 @@ def tc5(): sm_idx = 0 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genMessageCode("--读取统计寄存器") +genIFRwDataCode(0, 0x80, False, 24) +genIFRwDataCode(0, 0xa0, False, 24)) @@ -359,6 +384,9 @@ def tc5(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genMessageCode("--数据包状态寄存器") +genIFRwDataCode(0, 0x22, False, 2) @@ -485,6 +513,8 @@ def tc6(): genPkt.addSubPkt(0x0, 0x0, 0x302, 0xe, 2, [0x20, 0x00]) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) diff --git a/tb/shinTest/testcase_result/error_pkt_tc01_result.log b/tb/shinTest/testcase_result/error_pkt_tc01_result.log new file mode 100644 index 0000000..157b5c2 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc01_result.log @@ -0,0 +1,48 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +x +x +x +x +x +x +16'h0302 8'h00 16'h0002 8'h94 8'h00 +16'h0306 8'h00 16'h0002 8'h94 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +x +x +x +x +x +x +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h20 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h07 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h01 8'h20 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +x +x +x +x +x +x +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/error_pkt_tc02_result.log b/tb/shinTest/testcase_result/error_pkt_tc02_result.log new file mode 100644 index 0000000..a288393 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc02_result.log @@ -0,0 +1,33 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h94 8'h00 +16'h0306 8'h00 16'h0002 8'h94 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +x +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/error_pkt_tc03_result.log b/tb/shinTest/testcase_result/error_pkt_tc03_result.log new file mode 100644 index 0000000..1269baf --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc03_result.log @@ -0,0 +1,24 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h00 8'h04 +16'h0306 8'h00 16'h0002 8'h00 8'h04 +x +16'h0020 8'h00 16'h0001 8'h01 +x +x +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +x +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/error_pkt_tc04_result.log b/tb/shinTest/testcase_result/error_pkt_tc04_result.log new file mode 100644 index 0000000..4bd566f --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc04_result.log @@ -0,0 +1,30 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h04 8'h00 +16'h0306 8'h00 16'h0002 8'h04 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +x +x +x +x +x +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +x +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/error_pkt_tc05_result.log b/tb/shinTest/testcase_result/error_pkt_tc05_result.log new file mode 100644 index 0000000..ef88d17 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc05_result.log @@ -0,0 +1,69 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +x +x +16'h0302 8'h00 16'h0002 8'h94 8'h00 +16'h0306 8'h00 16'h0002 8'h94 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +x +x +x +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h20 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h07 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h007c 8'h01 16'h0002 8'h10 8'h80 +16'h007c 8'h01 16'h0002 8'h10 8'h80 +16'h007c 8'h01 16'h0002 8'h10 8'h80 +16'h007c 8'h01 16'h0002 8'h10 8'h80 +16'h007c 8'h01 16'h0002 8'h10 8'h80 diff --git a/tb/shinTest/testcase_result/error_pkt_tc06_result.log b/tb/shinTest/testcase_result/error_pkt_tc06_result.log new file mode 100644 index 0000000..84312c3 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc06_result.log @@ -0,0 +1,75 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd8 8'h00 +16'h0306 8'h00 16'h0002 8'hd8 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h04 8'h03 8'h02 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h03 8'h02 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h02 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h03 8'h02 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h04 8'h03 8'h02 8'h00 8'h02 8'h40 8'h01 8'h00 8'h01 8'h00 8'h08 8'h03 8'h02 8'h00 8'h02 8'h40 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h03 8'h02 8'h00 8'h02 8'h40 8'h01 8'h00 8'h01 8'h00 8'h10 8'h03 8'h02 8'h00 8'h02 8'h40 8'h01 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/error_pkt_tc07_result.log b/tb/shinTest/testcase_result/error_pkt_tc07_result.log new file mode 100644 index 0000000..2ea8bd6 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc07_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h36 8'h00 +16'h0306 8'h00 16'h0002 8'h36 8'h00 +16'h1000 8'h00 16'h0036 8'h03 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0036 8'h03 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h01 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h01 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h02 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0800 8'h01 16'h0020 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e +x +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc08_result.log b/tb/shinTest/testcase_result/error_pkt_tc08_result.log new file mode 100644 index 0000000..6b21da4 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc08_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h5e 8'h00 +16'h0306 8'h00 16'h0002 8'h5e 8'h00 +16'h1000 8'h00 16'h005e 8'h05 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h005e 8'h05 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h02 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h02 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h03 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0800 8'h01 16'h0020 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e +16'h0800 8'h01 16'h0020 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc09_result.log b/tb/shinTest/testcase_result/error_pkt_tc09_result.log new file mode 100644 index 0000000..00aab7b --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc09_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6e 8'h00 +16'h0306 8'h00 16'h0002 8'h6e 8'h00 +16'h1000 8'h00 16'h006e 8'h06 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h006e 8'h06 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h04 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hb6 8'h00 +16'h0306 8'h00 16'h0002 8'hb6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h04 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h04 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0800 8'h01 16'h0010 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f +16'h0800 8'h01 16'h0010 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e +16'h0800 8'h01 16'h0010 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d +16'h0800 8'h01 16'h0010 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c diff --git a/tb/shinTest/testcase_result/error_pkt_tc10_result.log b/tb/shinTest/testcase_result/error_pkt_tc10_result.log new file mode 100644 index 0000000..48ddf2f --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc10_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hfe 8'h00 +16'h0306 8'h00 16'h0002 8'hfe 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h01 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0800 8'h01 16'h0010 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +x +x +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc11_result.log b/tb/shinTest/testcase_result/error_pkt_tc11_result.log new file mode 100644 index 0000000..ddebc0e --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc11_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hee 8'h01 +16'h0306 8'h00 16'h0002 8'hee 8'h01 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'hec 8'h00 +16'h0306 8'h00 16'h0002 8'hec 8'h00 +16'h1000 8'h00 16'h00ec 8'h0e 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h00ec 8'h0e 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h03 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e +16'h0800 8'h01 16'h0040 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d +16'h0800 8'h01 16'h0040 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc12_result.log b/tb/shinTest/testcase_result/error_pkt_tc12_result.log new file mode 100644 index 0000000..54f2ce6 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc12_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h56 8'h00 +16'h0306 8'h00 16'h0002 8'h56 8'h00 +16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h01 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hce 8'h00 +16'h0306 8'h00 16'h0002 8'hce 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h01 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h01 +16'h0306 8'h00 16'h0002 8'h34 8'h01 +16'h1000 8'h00 16'h0134 8'h13 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0134 8'h13 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h04 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0800 8'h01 16'h0040 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e +16'h0800 8'h01 16'h0040 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d +16'h0800 8'h01 16'h0040 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc diff --git a/tb/shinTest/testcase_result/error_pkt_tc13_result.log b/tb/shinTest/testcase_result/error_pkt_tc13_result.log new file mode 100644 index 0000000..e7aa5c8 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc13_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h14 8'h00 +16'h0306 8'h00 16'h0002 8'h14 8'h00 +16'h1000 8'h00 16'h0014 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0014 8'h01 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc14_result.log b/tb/shinTest/testcase_result/error_pkt_tc14_result.log new file mode 100644 index 0000000..9dd6a3d --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc14_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h2e 8'h02 +16'h0306 8'h00 16'h0002 8'h2e 8'h02 +16'h1000 8'h00 16'h022e 8'h22 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h022e 8'h22 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h04 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h04 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h02 +16'h0306 8'h00 16'h0002 8'h34 8'h02 +16'h1000 8'h00 16'h0234 8'h23 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0234 8'h23 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h01 8'h00 8'h04 8'h08 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0301 8'h01 16'h0001 8'h04 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0301 8'h01 16'h0001 8'h00 +16'h0800 8'h01 16'h0080 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0800 8'h01 16'h0080 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe +16'h0800 8'h01 16'h0080 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d +16'h0800 8'h01 16'h0080 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc diff --git a/tb/shinTest/testcase_result/error_pkt_tc15_result.log b/tb/shinTest/testcase_result/error_pkt_tc15_result.log new file mode 100644 index 0000000..d085c72 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc15_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h36 8'h00 +16'h0306 8'h00 16'h0002 8'h36 8'h00 +16'h1000 8'h00 16'h0036 8'h03 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0036 8'h03 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h01 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h01 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h02 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h1800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h1800 8'h01 16'h0020 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e +x +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc16_result.log b/tb/shinTest/testcase_result/error_pkt_tc16_result.log new file mode 100644 index 0000000..2ee0a5c --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc16_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h5e 8'h00 +16'h0306 8'h00 16'h0002 8'h5e 8'h00 +16'h1000 8'h00 16'h005e 8'h05 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h005e 8'h05 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h02 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h02 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h03 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h1800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h1800 8'h01 16'h0020 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e +16'h1800 8'h01 16'h0020 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc17_result.log b/tb/shinTest/testcase_result/error_pkt_tc17_result.log new file mode 100644 index 0000000..40db787 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc17_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6e 8'h00 +16'h0306 8'h00 16'h0002 8'h6e 8'h00 +16'h1000 8'h00 16'h006e 8'h06 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h006e 8'h06 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h04 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hb6 8'h00 +16'h0306 8'h00 16'h0002 8'hb6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h04 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h04 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h1800 8'h01 16'h0010 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f +16'h1800 8'h01 16'h0010 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e +16'h1800 8'h01 16'h0010 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d +16'h1800 8'h01 16'h0010 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c diff --git a/tb/shinTest/testcase_result/error_pkt_tc18_result.log b/tb/shinTest/testcase_result/error_pkt_tc18_result.log new file mode 100644 index 0000000..f11a9eb --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc18_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hfe 8'h00 +16'h0306 8'h00 16'h0002 8'hfe 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h01 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h1800 8'h01 16'h0010 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +x +x +x \ No newline at end of file diff --git a/tb/shinTest/testcase_result/error_pkt_tc19_result.log b/tb/shinTest/testcase_result/error_pkt_tc19_result.log new file mode 100644 index 0000000..e00f835 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc19_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hee 8'h01 +16'h0306 8'h00 16'h0002 8'hee 8'h01 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'hec 8'h00 +16'h0306 8'h00 16'h0002 8'hec 8'h00 +16'h1000 8'h00 16'h00ec 8'h0e 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h00ec 8'h0e 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h03 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h1800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e +16'h1800 8'h01 16'h0040 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d +16'h1800 8'h01 16'h0040 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc +x diff --git a/tb/shinTest/testcase_result/error_pkt_tc20_result.log b/tb/shinTest/testcase_result/error_pkt_tc20_result.log new file mode 100644 index 0000000..9505927 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc20_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h56 8'h00 +16'h0306 8'h00 16'h0002 8'h56 8'h00 +16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h01 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hce 8'h00 +16'h0306 8'h00 16'h0002 8'hce 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h01 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h01 +16'h0306 8'h00 16'h0002 8'h34 8'h01 +16'h1000 8'h00 16'h0134 8'h13 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0134 8'h13 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h04 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h1800 8'h01 16'h0040 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h1800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e +16'h1800 8'h01 16'h0040 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d +16'h1800 8'h01 16'h0040 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc diff --git a/tb/shinTest/testcase_result/error_pkt_tc21_result.log b/tb/shinTest/testcase_result/error_pkt_tc21_result.log new file mode 100644 index 0000000..b2997cd --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc21_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h14 8'h00 +16'h0306 8'h00 16'h0002 8'h14 8'h00 +16'h1000 8'h00 16'h0014 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0014 8'h01 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x diff --git a/tb/shinTest/testcase_result/error_pkt_tc22_result.log b/tb/shinTest/testcase_result/error_pkt_tc22_result.log new file mode 100644 index 0000000..0538f85 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc22_result.log @@ -0,0 +1,91 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h2e 8'h02 +16'h0306 8'h00 16'h0002 8'h2e 8'h02 +16'h1000 8'h00 16'h022e 8'h22 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h022e 8'h22 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h04 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h04 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h02 +16'h0306 8'h00 16'h0002 8'h34 8'h02 +16'h1000 8'h00 16'h0234 8'h23 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0234 8'h23 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h01 8'h00 8'h04 8'h18 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0309 8'h01 16'h0001 8'h04 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h0309 8'h01 16'h0001 8'h00 +16'h1800 8'h01 16'h0080 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h1800 8'h01 16'h0080 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe +16'h1800 8'h01 16'h0080 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d +16'h1800 8'h01 16'h0080 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc diff --git a/tb/shinTest/testcase_result/error_pkt_tc23_result.log b/tb/shinTest/testcase_result/error_pkt_tc23_result.log new file mode 100644 index 0000000..c351fb7 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc23_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h36 8'h00 +16'h0306 8'h00 16'h0002 8'h36 8'h00 +16'h1000 8'h00 16'h0036 8'h03 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0036 8'h03 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h01 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h01 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h2800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h2800 8'h01 16'h0020 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e diff --git a/tb/shinTest/testcase_result/error_pkt_tc24_result.log b/tb/shinTest/testcase_result/error_pkt_tc24_result.log new file mode 100644 index 0000000..4455b28 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc24_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h5e 8'h00 +16'h0306 8'h00 16'h0002 8'h5e 8'h00 +16'h1000 8'h00 16'h005e 8'h05 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h005e 8'h05 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h2800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h2800 8'h01 16'h0020 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e diff --git a/tb/shinTest/testcase_result/error_pkt_tc25_result.log b/tb/shinTest/testcase_result/error_pkt_tc25_result.log new file mode 100644 index 0000000..a2d8ebd --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc25_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6e 8'h00 +16'h0306 8'h00 16'h0002 8'h6e 8'h00 +16'h1000 8'h00 16'h006e 8'h06 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h006e 8'h06 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hb6 8'h00 +16'h0306 8'h00 16'h0002 8'hb6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h2800 8'h01 16'h0010 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f +16'h2800 8'h01 16'h0010 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e diff --git a/tb/shinTest/testcase_result/error_pkt_tc26_result.log b/tb/shinTest/testcase_result/error_pkt_tc26_result.log new file mode 100644 index 0000000..792bda4 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc26_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hfe 8'h00 +16'h0306 8'h00 16'h0002 8'hfe 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h01 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h2800 8'h01 16'h0010 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +x diff --git a/tb/shinTest/testcase_result/error_pkt_tc27_result.log b/tb/shinTest/testcase_result/error_pkt_tc27_result.log new file mode 100644 index 0000000..8fea420 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc27_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hee 8'h01 +16'h0306 8'h00 16'h0002 8'hee 8'h01 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'hec 8'h00 +16'h0306 8'h00 16'h0002 8'hec 8'h00 +16'h1000 8'h00 16'h00ec 8'h0e 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h00ec 8'h0e 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h2800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e +16'h2800 8'h01 16'h0040 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d diff --git a/tb/shinTest/testcase_result/error_pkt_tc28_result.log b/tb/shinTest/testcase_result/error_pkt_tc28_result.log new file mode 100644 index 0000000..5a4b62b --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc28_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h56 8'h00 +16'h0306 8'h00 16'h0002 8'h56 8'h00 +16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h01 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hce 8'h00 +16'h0306 8'h00 16'h0002 8'hce 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h01 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h01 +16'h0306 8'h00 16'h0002 8'h34 8'h01 +16'h1000 8'h00 16'h0134 8'h13 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0134 8'h13 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h2800 8'h01 16'h0040 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h2800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e diff --git a/tb/shinTest/testcase_result/error_pkt_tc29_result.log b/tb/shinTest/testcase_result/error_pkt_tc29_result.log new file mode 100644 index 0000000..d8a3237 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc29_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h14 8'h00 +16'h0306 8'h00 16'h0002 8'h14 8'h00 +16'h1000 8'h00 16'h0014 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0014 8'h01 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x diff --git a/tb/shinTest/testcase_result/error_pkt_tc30_result.log b/tb/shinTest/testcase_result/error_pkt_tc30_result.log new file mode 100644 index 0000000..5fa7985 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc30_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h2e 8'h02 +16'h0306 8'h00 16'h0002 8'h2e 8'h02 +16'h1000 8'h00 16'h022e 8'h22 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h022e 8'h22 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h02 +16'h0306 8'h00 16'h0002 8'h34 8'h02 +16'h1000 8'h00 16'h0234 8'h23 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0234 8'h23 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h01 8'h00 8'h04 8'h28 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0311 8'h01 16'h0001 8'h02 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h0311 8'h01 16'h0001 8'h00 +16'h2800 8'h01 16'h0080 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h2800 8'h01 16'h0080 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe diff --git a/tb/shinTest/testcase_result/error_pkt_tc31_result.log b/tb/shinTest/testcase_result/error_pkt_tc31_result.log new file mode 100644 index 0000000..8feaa8c --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc31_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h36 8'h00 +16'h0306 8'h00 16'h0002 8'h36 8'h00 +16'h1000 8'h00 16'h0036 8'h03 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0036 8'h03 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h01 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h01 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h3800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h3800 8'h01 16'h0020 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e diff --git a/tb/shinTest/testcase_result/error_pkt_tc32_result.log b/tb/shinTest/testcase_result/error_pkt_tc32_result.log new file mode 100644 index 0000000..a5d2ab0 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc32_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h5e 8'h00 +16'h0306 8'h00 16'h0002 8'h5e 8'h00 +16'h1000 8'h00 16'h005e 8'h05 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h005e 8'h05 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hd6 8'h00 +16'h0306 8'h00 16'h0002 8'hd6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h3c 8'h00 +16'h0306 8'h00 16'h0002 8'h3c 8'h00 +16'h1000 8'h00 16'h003c 8'h03 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h003c 8'h03 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h20 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h3800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h3800 8'h01 16'h0020 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e diff --git a/tb/shinTest/testcase_result/error_pkt_tc33_result.log b/tb/shinTest/testcase_result/error_pkt_tc33_result.log new file mode 100644 index 0000000..e94cedf --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc33_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6e 8'h00 +16'h0306 8'h00 16'h0002 8'h6e 8'h00 +16'h1000 8'h00 16'h006e 8'h06 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h006e 8'h06 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hb6 8'h00 +16'h0306 8'h00 16'h0002 8'hb6 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h3800 8'h01 16'h0010 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f +16'h3800 8'h01 16'h0010 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e diff --git a/tb/shinTest/testcase_result/error_pkt_tc34_result.log b/tb/shinTest/testcase_result/error_pkt_tc34_result.log new file mode 100644 index 0000000..e3987fd --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc34_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hfe 8'h00 +16'h0306 8'h00 16'h0002 8'hfe 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h07 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h10 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h01 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h3800 8'h01 16'h0010 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +x diff --git a/tb/shinTest/testcase_result/error_pkt_tc35_result.log b/tb/shinTest/testcase_result/error_pkt_tc35_result.log new file mode 100644 index 0000000..02c20d1 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc35_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hee 8'h01 +16'h0306 8'h00 16'h0002 8'hee 8'h01 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'hec 8'h00 +16'h0306 8'h00 16'h0002 8'hec 8'h00 +16'h1000 8'h00 16'h00ec 8'h0e 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h00ec 8'h0e 8'h80 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h3800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e +16'h3800 8'h01 16'h0040 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d diff --git a/tb/shinTest/testcase_result/error_pkt_tc36_result.log b/tb/shinTest/testcase_result/error_pkt_tc36_result.log new file mode 100644 index 0000000..d92cad3 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc36_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h56 8'h00 +16'h0306 8'h00 16'h0002 8'h56 8'h00 +16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h40 8'h00 8'h00 8'h04 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h01 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'hce 8'h00 +16'h0306 8'h00 16'h0002 8'hce 8'h00 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h01 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h01 +16'h0306 8'h00 16'h0002 8'h34 8'h01 +16'h1000 8'h00 16'h0134 8'h13 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0134 8'h13 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h40 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h3800 8'h01 16'h0040 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h3800 8'h01 16'h0040 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e diff --git a/tb/shinTest/testcase_result/error_pkt_tc37_result.log b/tb/shinTest/testcase_result/error_pkt_tc37_result.log new file mode 100644 index 0000000..9062fd8 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc37_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h0e 8'h00 +16'h0306 8'h00 16'h0002 8'h0e 8'h00 +16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h14 8'h00 +16'h0306 8'h00 16'h0002 8'h14 8'h00 +16'h1000 8'h00 16'h0014 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0014 8'h01 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x diff --git a/tb/shinTest/testcase_result/error_pkt_tc38_result.log b/tb/shinTest/testcase_result/error_pkt_tc38_result.log new file mode 100644 index 0000000..0dce977 --- /dev/null +++ b/tb/shinTest/testcase_result/error_pkt_tc38_result.log @@ -0,0 +1,89 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h2e 8'h02 +16'h0306 8'h00 16'h0002 8'h2e 8'h02 +16'h1000 8'h00 16'h022e 8'h22 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h022e 8'h22 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +x +x +x +x +16'h0302 8'h00 16'h0002 8'h2e 8'h03 +16'h0306 8'h00 16'h0002 8'h2e 8'h03 +x +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0022 8'h01 16'h0002 8'h01 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h0e 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h05 8'h60 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0302 8'h00 16'h0002 8'h34 8'h02 +16'h0306 8'h00 16'h0002 8'h34 8'h02 +16'h1000 8'h00 16'h0234 8'h23 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0234 8'h23 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h01 8'h03 8'h05 8'h07 8'h09 8'h0b 8'h0d 8'h0f 8'h11 8'h13 8'h15 8'h17 8'h19 8'h1b 8'h1d 8'h1f 8'h21 8'h23 8'h25 8'h27 8'h29 8'h2b 8'h2d 8'h2f 8'h31 8'h33 8'h35 8'h37 8'h39 8'h3b 8'h3d 8'h3f 8'h41 8'h43 8'h45 8'h47 8'h49 8'h4b 8'h4d 8'h4f 8'h51 8'h53 8'h55 8'h57 8'h59 8'h5b 8'h5d 8'h5f 8'h61 8'h63 8'h65 8'h67 8'h69 8'h6b 8'h6d 8'h6f 8'h71 8'h73 8'h75 8'h77 8'h79 8'h7b 8'h7d 8'h7f 8'h81 8'h83 8'h85 8'h87 8'h89 8'h8b 8'h8d 8'h8f 8'h91 8'h93 8'h95 8'h97 8'h99 8'h9b 8'h9d 8'h9f 8'ha1 8'ha3 8'ha5 8'ha7 8'ha9 8'hab 8'had 8'haf 8'hb1 8'hb3 8'hb5 8'hb7 8'hb9 8'hbb 8'hbd 8'hbf 8'hc1 8'hc3 8'hc5 8'hc7 8'hc9 8'hcb 8'hcd 8'hcf 8'hd1 8'hd3 8'hd5 8'hd7 8'hd9 8'hdb 8'hdd 8'hdf 8'he1 8'he3 8'he5 8'he7 8'he9 8'heb 8'hed 8'hef 8'hf1 8'hf3 8'hf5 8'hf7 8'hf9 8'hfb 8'hfd 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 8'h83 8'h86 8'h89 8'h8c 8'h8f 8'h92 8'h95 8'h98 8'h9b 8'h9e 8'ha1 8'ha4 8'ha7 8'haa 8'had 8'hb0 8'hb3 8'hb6 8'hb9 8'hbc 8'hbf 8'hc2 8'hc5 8'hc8 8'hcb 8'hce 8'hd1 8'hd4 8'hd7 8'hda 8'hdd 8'he0 8'he3 8'he6 8'he9 8'hec 8'hef 8'hf2 8'hf5 8'hf8 8'hfb 8'hfe 8'h01 8'h04 8'h07 8'h0a 8'h0d 8'h10 8'h13 8'h16 8'h19 8'h1c 8'h1f 8'h22 8'h25 8'h28 8'h2b 8'h2e 8'h31 8'h34 8'h37 8'h3a 8'h3d 8'h40 8'h43 8'h46 8'h49 8'h4c 8'h4f 8'h52 8'h55 8'h58 8'h5b 8'h5e 8'h61 8'h64 8'h67 8'h6a 8'h6d 8'h70 8'h73 8'h76 8'h79 8'h7c 8'h00 8'h01 8'h00 8'h04 8'h38 8'h00 8'h10 8'h80 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'hff 8'h03 8'h07 8'h0b 8'h0f 8'h13 8'h17 8'h1b 8'h1f 8'h23 8'h27 8'h2b 8'h2f 8'h33 8'h37 8'h3b 8'h3f 8'h43 8'h47 8'h4b 8'h4f 8'h53 8'h57 8'h5b 8'h5f 8'h63 8'h67 8'h6b 8'h6f 8'h73 8'h77 8'h7b 8'h7f 8'h83 8'h87 8'h8b 8'h8f 8'h93 8'h97 8'h9b 8'h9f 8'ha3 8'ha7 8'hab 8'haf 8'hb3 8'hb7 8'hbb 8'hbf 8'hc3 8'hc7 8'hcb 8'hcf 8'hd3 8'hd7 8'hdb 8'hdf 8'he3 8'he7 8'heb 8'hef 8'hf3 8'hf7 8'hfb 8'h00 8'h01 +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0022 8'h00 16'h0002 8'hff 8'hff +16'h0022 8'h01 16'h0002 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0319 8'h01 16'h0001 8'h02 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h0319 8'h01 16'h0001 8'h00 +16'h3800 8'h01 16'h0080 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h3800 8'h01 16'h0080 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe From 777ca7319b6ba51bdbb4990affb50c3afb307aab Mon Sep 17 00:00:00 2001 From: RuigeLee Date: Sun, 7 Sep 2025 22:35:32 +0800 Subject: [PATCH 84/86] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E4=B8=AD=E4=BD=8D=E5=AE=BD=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/scala/backBoard/ebus/CDRIn.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index 37b997d..63d396a 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -81,7 +81,7 @@ class CDRInMultiSample extends Module with RequireAsyncReset{ val clearCnt = RegInit(0.U(4.W)) val checkCnt = RegInit(0.U(4.W)) - val arbCali = RegInit(0.U( (log2Ceil(2*clkNum)).W )) + val arbCali = RegInit(0.U( (log2Ceil(8*clkNum)).W )) val isLock = RegInit(false.B) when( (7*clkNum until 8*clkNum).map{ i => sampleReg_Align(i)}.reduce(_|_) === false.B ){ From 7d7f92e2fe6c0268e34616a887192d23bacfb16b Mon Sep 17 00:00:00 2001 From: bacon Date: Sun, 7 Sep 2025 23:14:05 +0800 Subject: [PATCH 85/86] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B=E7=9A=84=E7=BB=93=E6=9E=9C=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E9=83=A8=E5=88=86=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/testcase/ebmmu.py | 4 +- .../testcase_result/base_tc07_result.log | 21 ++++ .../testcase_result/base_tc09_result.log | 25 +++++ .../base_tc15_wr_sm0_result.log | 65 +++++++++++ .../base_tc16_rd_sm1_result.log | 101 ++++++++++++++++++ .../base_tc17_wr_sm2_result.log | 65 +++++++++++ .../base_tc18_rd_sm3_result.log | 101 ++++++++++++++++++ .../base_tc19_wr_sm4_result.log | 65 +++++++++++ .../base_tc20_rd_sm5_result.log | 101 ++++++++++++++++++ .../base_tc21_wr_sm6_result.log | 65 +++++++++++ .../base_tc22_rd_sm7_result.log | 101 ++++++++++++++++++ .../testcase_result/base_tc27_result.log | 60 +++++++++++ .../testcase_result/broadcast_tc01_result.log | 2 +- .../testcase_result/broadcast_tc03_result.log | 2 +- .../testcase_result/ebmmu_tc12_result.log | 4 +- 15 files changed, 776 insertions(+), 6 deletions(-) create mode 100644 tb/shinTest/testcase_result/base_tc07_result.log create mode 100644 tb/shinTest/testcase_result/base_tc09_result.log create mode 100644 tb/shinTest/testcase_result/base_tc15_wr_sm0_result.log create mode 100644 tb/shinTest/testcase_result/base_tc16_rd_sm1_result.log create mode 100644 tb/shinTest/testcase_result/base_tc17_wr_sm2_result.log create mode 100644 tb/shinTest/testcase_result/base_tc18_rd_sm3_result.log create mode 100644 tb/shinTest/testcase_result/base_tc19_wr_sm4_result.log create mode 100644 tb/shinTest/testcase_result/base_tc20_rd_sm5_result.log create mode 100644 tb/shinTest/testcase_result/base_tc21_wr_sm6_result.log create mode 100644 tb/shinTest/testcase_result/base_tc22_rd_sm7_result.log create mode 100644 tb/shinTest/testcase_result/base_tc27_result.log diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index 0a97f6e..04e1a68 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -1715,10 +1715,10 @@ def tc12(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 3, taddr, 0x4000, sm_size, 0x1, 0x1) - genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) - genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff data[1] = (sm_size >> 8) & 0xff diff --git a/tb/shinTest/testcase_result/base_tc07_result.log b/tb/shinTest/testcase_result/base_tc07_result.log new file mode 100644 index 0000000..4a0b415 --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc07_result.log @@ -0,0 +1,21 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hae 8'h00 +16'h0306 8'h00 16'h0002 8'hae 8'h00 +16'h1000 8'h00 16'h00ae 8'h0a 8'ha0 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h00 8'h20 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h01 8'h00 8'h20 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h01 8'h00 8'h20 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h01 8'h00 8'h20 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h01 8'h20 8'h20 8'h02 8'h05 8'h05 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc09_result.log b/tb/shinTest/testcase_result/base_tc09_result.log new file mode 100644 index 0000000..4c3917a --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc09_result.log @@ -0,0 +1,25 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0180 8'h00 16'h0080 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 +16'h0180 8'h00 16'h0080 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h10 8'h12 8'h14 8'h16 8'h18 8'h1a 8'h1c 8'h1e 8'h20 8'h22 8'h24 8'h26 8'h28 8'h2a 8'h2c 8'h2e 8'h30 8'h32 8'h34 8'h36 8'h38 8'h3a 8'h3c 8'h3e 8'h40 8'h42 8'h44 8'h46 8'h48 8'h4a 8'h4c 8'h4e 8'h50 8'h52 8'h54 8'h56 8'h58 8'h5a 8'h5c 8'h5e 8'h60 8'h62 8'h64 8'h66 8'h68 8'h6a 8'h6c 8'h6e 8'h70 8'h72 8'h74 8'h76 8'h78 8'h7a 8'h7c 8'h7e 8'h80 8'h82 8'h84 8'h86 8'h88 8'h8a 8'h8c 8'h8e 8'h90 8'h92 8'h94 8'h96 8'h98 8'h9a 8'h9c 8'h9e 8'ha0 8'ha2 8'ha4 8'ha6 8'ha8 8'haa 8'hac 8'hae 8'hb0 8'hb2 8'hb4 8'hb6 8'hb8 8'hba 8'hbc 8'hbe 8'hc0 8'hc2 8'hc4 8'hc6 8'hc8 8'hca 8'hcc 8'hce 8'hd0 8'hd2 8'hd4 8'hd6 8'hd8 8'hda 8'hdc 8'hde 8'he0 8'he2 8'he4 8'he6 8'he8 8'hea 8'hec 8'hee 8'hf0 8'hf2 8'hf4 8'hf6 8'hf8 8'hfa 8'hfc 8'hfe 8'h00 +16'h0180 8'h00 16'h0080 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h18 8'h1b 8'h1e 8'h21 8'h24 8'h27 8'h2a 8'h2d 8'h30 8'h33 8'h36 8'h39 8'h3c 8'h3f 8'h42 8'h45 8'h48 8'h4b 8'h4e 8'h51 8'h54 8'h57 8'h5a 8'h5d 8'h60 8'h63 8'h66 8'h69 8'h6c 8'h6f 8'h72 8'h75 8'h78 8'h7b 8'h7e 8'h81 8'h84 8'h87 8'h8a 8'h8d 8'h90 8'h93 8'h96 8'h99 8'h9c 8'h9f 8'ha2 8'ha5 8'ha8 8'hab 8'hae 8'hb1 8'hb4 8'hb7 8'hba 8'hbd 8'hc0 8'hc3 8'hc6 8'hc9 8'hcc 8'hcf 8'hd2 8'hd5 8'hd8 8'hdb 8'hde 8'he1 8'he4 8'he7 8'hea 8'hed 8'hf0 8'hf3 8'hf6 8'hf9 8'hfc 8'hff 8'h02 8'h05 8'h08 8'h0b 8'h0e 8'h11 8'h14 8'h17 8'h1a 8'h1d 8'h20 8'h23 8'h26 8'h29 8'h2c 8'h2f 8'h32 8'h35 8'h38 8'h3b 8'h3e 8'h41 8'h44 8'h47 8'h4a 8'h4d 8'h50 8'h53 8'h56 8'h59 8'h5c 8'h5f 8'h62 8'h65 8'h68 8'h6b 8'h6e 8'h71 8'h74 8'h77 8'h7a 8'h7d 8'h80 +16'h0180 8'h00 16'h0080 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h20 8'h24 8'h28 8'h2c 8'h30 8'h34 8'h38 8'h3c 8'h40 8'h44 8'h48 8'h4c 8'h50 8'h54 8'h58 8'h5c 8'h60 8'h64 8'h68 8'h6c 8'h70 8'h74 8'h78 8'h7c 8'h80 8'h84 8'h88 8'h8c 8'h90 8'h94 8'h98 8'h9c 8'ha0 8'ha4 8'ha8 8'hac 8'hb0 8'hb4 8'hb8 8'hbc 8'hc0 8'hc4 8'hc8 8'hcc 8'hd0 8'hd4 8'hd8 8'hdc 8'he0 8'he4 8'he8 8'hec 8'hf0 8'hf4 8'hf8 8'hfc 8'h00 +16'h0302 8'h00 16'h0002 8'h24 8'h06 +16'h0306 8'h00 16'h0002 8'h24 8'h06 +16'h1000 8'h00 16'h0624 8'h62 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h14 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h14 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h14 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h14 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h01 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h03 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h01 8'h80 8'h00 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h01 8'h80 8'h00 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h01 8'h80 8'h00 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h01 8'h80 8'h00 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc15_wr_sm0_result.log b/tb/shinTest/testcase_result/base_tc15_wr_sm0_result.log new file mode 100644 index 0000000..0c4389b --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc15_wr_sm0_result.log @@ -0,0 +1,65 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h4e 8'h01 +16'h0306 8'h00 16'h0002 8'h4e 8'h01 +16'h1000 8'h00 16'h014e 8'h14 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h014e 8'h14 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h04 8'h00 8'h00 8'h08 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0300 8'h01 16'h0002 8'h00 8'h04 +16'h0300 8'h01 16'h0002 8'h00 8'h04 +16'h0300 8'h01 16'h0002 8'h00 8'h04 +16'h0300 8'h01 16'h0002 8'h00 8'h04 +16'h0800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0300 8'h01 16'h0002 8'h00 8'h03 +16'h0300 8'h01 16'h0002 8'h00 8'h03 +16'h0300 8'h01 16'h0002 8'h00 8'h03 +16'h0300 8'h01 16'h0002 8'h00 8'h03 +16'h0800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0300 8'h01 16'h0002 8'h00 8'h02 +16'h0300 8'h01 16'h0002 8'h00 8'h02 +16'h0300 8'h01 16'h0002 8'h00 8'h02 +16'h0300 8'h01 16'h0002 8'h00 8'h02 +16'h0800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0300 8'h01 16'h0002 8'h00 8'h01 +16'h0300 8'h01 16'h0002 8'h00 8'h01 +16'h0300 8'h01 16'h0002 8'h00 8'h01 +16'h0300 8'h01 16'h0002 8'h00 8'h01 +16'h0800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0300 8'h01 16'h0002 8'h00 8'h00 +16'h0300 8'h01 16'h0002 8'h00 8'h00 +16'h0300 8'h01 16'h0002 8'h00 8'h00 +16'h0300 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0300 8'h01 16'h0002 8'h00 8'h00 +16'h0300 8'h01 16'h0002 8'h00 8'h00 +16'h0300 8'h01 16'h0002 8'h00 8'h00 +16'h0300 8'h01 16'h0002 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc16_rd_sm1_result.log b/tb/shinTest/testcase_result/base_tc16_rd_sm1_result.log new file mode 100644 index 0000000..09c74f8 --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc16_rd_sm1_result.log @@ -0,0 +1,101 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0304 8'h01 16'h0002 8'h00 8'h00 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0304 8'h01 16'h0002 8'h00 8'h02 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0304 8'h01 16'h0002 8'h00 8'h00 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0304 8'h01 16'h0002 8'h00 8'h02 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0304 8'h01 16'h0002 8'h00 8'h00 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0304 8'h01 16'h0002 8'h00 8'h02 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0304 8'h01 16'h0002 8'h00 8'h00 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0304 8'h01 16'h0002 8'h00 8'h02 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0306 8'h00 16'h0002 8'h20 8'h00 +16'h1000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0304 8'h01 16'h0002 8'h00 8'h04 +16'h0302 8'h00 16'h0002 8'h44 8'h01 +16'h0306 8'h00 16'h0002 8'h44 8'h01 +16'h1000 8'h00 16'h0144 8'h14 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h02 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h02 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h02 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h02 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc17_wr_sm2_result.log b/tb/shinTest/testcase_result/base_tc17_wr_sm2_result.log new file mode 100644 index 0000000..813168d --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc17_wr_sm2_result.log @@ -0,0 +1,65 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h4e 8'h01 +16'h0306 8'h00 16'h0002 8'h4e 8'h01 +16'h1000 8'h00 16'h014e 8'h14 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h00 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h014e 8'h14 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h04 8'h00 8'h00 8'h18 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h04 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0308 8'h01 16'h0002 8'h00 8'h04 +16'h0308 8'h01 16'h0002 8'h00 8'h04 +16'h0308 8'h01 16'h0002 8'h00 8'h04 +16'h0308 8'h01 16'h0002 8'h00 8'h04 +16'h1800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h1800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h1800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h1800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0308 8'h01 16'h0002 8'h00 8'h03 +16'h0308 8'h01 16'h0002 8'h00 8'h03 +16'h0308 8'h01 16'h0002 8'h00 8'h03 +16'h0308 8'h01 16'h0002 8'h00 8'h03 +16'h1800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h1800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h1800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h1800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0308 8'h01 16'h0002 8'h00 8'h02 +16'h0308 8'h01 16'h0002 8'h00 8'h02 +16'h0308 8'h01 16'h0002 8'h00 8'h02 +16'h0308 8'h01 16'h0002 8'h00 8'h02 +16'h1800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h1800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h1800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h1800 8'h01 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0308 8'h01 16'h0002 8'h00 8'h01 +16'h0308 8'h01 16'h0002 8'h00 8'h01 +16'h0308 8'h01 16'h0002 8'h00 8'h01 +16'h0308 8'h01 16'h0002 8'h00 8'h01 +16'h1800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h1800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h1800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h1800 8'h01 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0308 8'h01 16'h0002 8'h00 8'h00 +16'h0308 8'h01 16'h0002 8'h00 8'h00 +16'h0308 8'h01 16'h0002 8'h00 8'h00 +16'h0308 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0308 8'h01 16'h0002 8'h00 8'h00 +16'h0308 8'h01 16'h0002 8'h00 8'h00 +16'h0308 8'h01 16'h0002 8'h00 8'h00 +16'h0308 8'h01 16'h0002 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc18_rd_sm3_result.log b/tb/shinTest/testcase_result/base_tc18_rd_sm3_result.log new file mode 100644 index 0000000..7982ede --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc18_rd_sm3_result.log @@ -0,0 +1,101 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h030c 8'h01 16'h0002 8'h00 8'h00 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h030c 8'h01 16'h0002 8'h00 8'h02 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h030c 8'h01 16'h0002 8'h00 8'h00 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h030c 8'h01 16'h0002 8'h00 8'h02 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h030c 8'h01 16'h0002 8'h00 8'h00 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h030c 8'h01 16'h0002 8'h00 8'h02 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h030c 8'h01 16'h0002 8'h00 8'h00 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h030c 8'h01 16'h0002 8'h00 8'h02 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h030e 8'h00 16'h0002 8'h20 8'h00 +16'h2000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h030c 8'h01 16'h0002 8'h00 8'h04 +16'h0302 8'h00 16'h0002 8'h44 8'h01 +16'h0306 8'h00 16'h0002 8'h44 8'h01 +16'h1000 8'h00 16'h0144 8'h14 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h20 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h08 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h08 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h08 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h08 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc19_wr_sm4_result.log b/tb/shinTest/testcase_result/base_tc19_wr_sm4_result.log new file mode 100644 index 0000000..6663344 --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc19_wr_sm4_result.log @@ -0,0 +1,65 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h4e 8'h01 +16'h0306 8'h00 16'h0002 8'h4e 8'h01 +16'h1000 8'h00 16'h014e 8'h14 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h00 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h014e 8'h14 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h04 8'h00 8'h00 8'h28 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h10 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h02 +16'h0310 8'h01 16'h0002 8'h00 8'h02 +16'h0310 8'h01 16'h0002 8'h00 8'h02 +16'h0310 8'h01 16'h0002 8'h00 8'h02 +16'h2800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h2800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h2800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h2800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0310 8'h01 16'h0002 8'h00 8'h01 +16'h0310 8'h01 16'h0002 8'h00 8'h01 +16'h0310 8'h01 16'h0002 8'h00 8'h01 +16'h0310 8'h01 16'h0002 8'h00 8'h01 +16'h2800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h2800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h2800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h2800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 +16'h0310 8'h01 16'h0002 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc20_rd_sm5_result.log b/tb/shinTest/testcase_result/base_tc20_rd_sm5_result.log new file mode 100644 index 0000000..9e9f811 --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc20_rd_sm5_result.log @@ -0,0 +1,101 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0314 8'h01 16'h0002 8'h00 8'h00 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0314 8'h01 16'h0002 8'h00 8'h00 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0314 8'h01 16'h0002 8'h00 8'h00 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0314 8'h01 16'h0002 8'h00 8'h00 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h0316 8'h00 16'h0002 8'h20 8'h00 +16'h3000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0314 8'h01 16'h0002 8'h00 8'h02 +16'h0302 8'h00 16'h0002 8'h44 8'h01 +16'h0306 8'h00 16'h0002 8'h44 8'h01 +16'h1000 8'h00 16'h0144 8'h14 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h30 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h20 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h20 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h20 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h20 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc21_wr_sm6_result.log b/tb/shinTest/testcase_result/base_tc21_wr_sm6_result.log new file mode 100644 index 0000000..81ed04c --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc21_wr_sm6_result.log @@ -0,0 +1,65 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h4e 8'h01 +16'h0306 8'h00 16'h0002 8'h4e 8'h01 +16'h1000 8'h00 16'h014e 8'h14 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h00 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h014e 8'h14 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h20 8'h00 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h04 8'h00 8'h00 8'h38 8'h00 8'he0 8'h20 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h40 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h02 +16'h0318 8'h01 16'h0002 8'h00 8'h02 +16'h0318 8'h01 16'h0002 8'h00 8'h02 +16'h0318 8'h01 16'h0002 8'h00 8'h02 +16'h3800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h3800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h3800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h3800 8'h01 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0318 8'h01 16'h0002 8'h00 8'h01 +16'h0318 8'h01 16'h0002 8'h00 8'h01 +16'h0318 8'h01 16'h0002 8'h00 8'h01 +16'h0318 8'h01 16'h0002 8'h00 8'h01 +16'h3800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h3800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h3800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h3800 8'h01 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +x +x +x +x +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 +16'h0318 8'h01 16'h0002 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc22_rd_sm7_result.log b/tb/shinTest/testcase_result/base_tc22_rd_sm7_result.log new file mode 100644 index 0000000..f52ab94 --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc22_rd_sm7_result.log @@ -0,0 +1,101 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h031c 8'h01 16'h0002 8'h00 8'h00 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031c 8'h01 16'h0002 8'h00 8'h00 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031c 8'h01 16'h0002 8'h00 8'h00 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031c 8'h01 16'h0002 8'h00 8'h00 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf +16'h031e 8'h00 16'h0002 8'h20 8'h00 +16'h4000 8'h00 16'h0020 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h031c 8'h01 16'h0002 8'h00 8'h02 +16'h0302 8'h00 16'h0002 8'h44 8'h01 +16'h0306 8'h00 16'h0002 8'h44 8'h01 +16'h1000 8'h00 16'h0144 8'h14 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h40 8'h00 8'hd0 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +x +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h80 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h80 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h80 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h80 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc27_result.log b/tb/shinTest/testcase_result/base_tc27_result.log new file mode 100644 index 0000000..1010198 --- /dev/null +++ b/tb/shinTest/testcase_result/base_tc27_result.log @@ -0,0 +1,60 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h00 8'h04 8'h03 8'h02 8'h10 8'h02 8'h00 8'h03 8'h00 8'h00 8'h00 8'h08 8'h03 8'h02 8'h10 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h02 8'h10 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h10 8'h03 8'h02 8'h10 8'h02 8'h00 8'h01 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h00 8'h04 8'h03 8'h02 8'h10 8'h02 8'h00 8'h03 8'h00 8'h01 8'h00 8'h08 8'h03 8'h02 8'h10 8'h02 8'h00 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h03 8'h02 8'h10 8'h02 8'h00 8'h01 8'h00 8'h01 8'h00 8'h10 8'h03 8'h02 8'h10 8'h02 8'h00 8'h01 8'h00 8'h01 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h030a 8'h00 16'h0002 8'h0c 8'h03 +16'h030e 8'h00 16'h0002 8'h0c 8'h03 +16'h2000 8'h00 16'h030c 8'h30 8'h80 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h13 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'hff 8'hfe 8'hfd 8'hfc 8'hfb 8'hfa 8'hf9 8'hf8 8'hf7 8'hf6 8'hf5 8'hf4 8'hf3 8'hf2 8'hf1 8'hf0 8'hef 8'hee 8'hed 8'hec 8'heb 8'hea 8'he9 8'he8 8'he7 8'he6 8'he5 8'he4 8'he3 8'he2 8'he1 8'he0 8'hdf 8'hde 8'hdd 8'hdc 8'hdb 8'hda 8'hd9 8'hd8 8'hd7 8'hd6 8'hd5 8'hd4 8'hd3 8'hd2 8'hd1 8'hd0 8'hcf 8'hce 8'hcd 8'hcc 8'hcb 8'hca 8'hc9 8'hc8 8'hc7 8'hc6 8'hc5 8'hc4 8'hc3 8'hc2 8'hc1 8'hc0 8'hbf 8'hbe 8'hbd 8'hbc 8'hbb 8'hba 8'hb9 8'hb8 8'hb7 8'hb6 8'hb5 8'hb4 8'hb3 8'hb2 8'hb1 8'hb0 8'haf 8'hae 8'had 8'hac 8'hab 8'haa 8'ha9 8'ha8 8'ha7 8'ha6 8'ha5 8'ha4 8'ha3 8'ha2 8'ha1 8'ha0 8'h9f 8'h9e 8'h9d 8'h9c 8'h9b 8'h9a 8'h99 8'h98 8'h97 8'h96 8'h95 8'h94 8'h93 8'h92 8'h91 8'h90 8'h8f 8'h8e 8'h8d 8'h8c 8'h8b 8'h8a 8'h89 8'h88 8'h87 8'h86 8'h85 8'h84 8'h83 8'h82 8'h81 8'h80 8'h7f 8'h7e 8'h7d 8'h7c 8'h7b 8'h7a 8'h79 8'h78 8'h77 8'h76 8'h75 8'h74 8'h73 8'h72 8'h71 8'h70 8'h6f 8'h6e 8'h6d 8'h6c 8'h6b 8'h6a 8'h69 8'h68 8'h67 8'h66 8'h65 8'h64 8'h63 8'h62 8'h61 8'h60 8'h5f 8'h5e 8'h5d 8'h5c 8'h5b 8'h5a 8'h59 8'h58 8'h57 8'h56 8'h55 8'h54 8'h53 8'h52 8'h51 8'h50 8'h4f 8'h4e 8'h4d 8'h4c 8'h4b 8'h4a 8'h49 8'h48 8'h47 8'h46 8'h45 8'h44 8'h43 8'h42 8'h41 8'h40 8'h3f 8'h3e 8'h3d 8'h3c 8'h3b 8'h3a 8'h39 8'h38 8'h37 8'h36 8'h35 8'h34 8'h33 8'h32 8'h31 8'h30 8'h2f 8'h2e 8'h2d 8'h2c 8'h2b 8'h2a 8'h29 8'h28 8'h27 8'h26 8'h25 8'h24 8'h23 8'h22 8'h21 8'h20 8'h1f 8'h1e 8'h1d 8'h1c 8'h1b 8'h1a 8'h19 8'h18 8'h17 8'h16 8'h15 8'h14 8'h13 8'h12 8'h11 8'h10 8'h0f 8'h0e 8'h0d 8'h0c 8'h0b 8'h0a 8'h09 8'h08 8'h07 8'h06 8'h05 8'h04 8'h03 8'h02 8'h01 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h0b +16'h0312 8'h00 16'h0002 8'h0c 8'h01 +16'h0316 8'h00 16'h0002 8'h0c 8'h01 +16'h3000 8'h00 16'h010c 8'h10 8'h80 8'h00 8'h00 8'h00 8'h08 8'h08 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 +16'h031a 8'h00 16'h0002 8'h0c 8'h01 +16'h031e 8'h00 16'h0002 8'h0c 8'h01 +16'h4000 8'h00 16'h010c 8'h10 8'h80 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 +16'h1800 8'h01 16'h030c 8'h30 8'h80 8'h00 8'h04 8'h00 8'h04 8'h08 8'h00 8'h13 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'hff 8'hfe 8'hfd 8'hfc 8'hfb 8'hfa 8'hf9 8'hf8 8'hf7 8'hf6 8'hf5 8'hf4 8'hf3 8'hf2 8'hf1 8'hf0 8'hef 8'hee 8'hed 8'hec 8'heb 8'hea 8'he9 8'he8 8'he7 8'he6 8'he5 8'he4 8'he3 8'he2 8'he1 8'he0 8'hdf 8'hde 8'hdd 8'hdc 8'hdb 8'hda 8'hd9 8'hd8 8'hd7 8'hd6 8'hd5 8'hd4 8'hd3 8'hd2 8'hd1 8'hd0 8'hcf 8'hce 8'hcd 8'hcc 8'hcb 8'hca 8'hc9 8'hc8 8'hc7 8'hc6 8'hc5 8'hc4 8'hc3 8'hc2 8'hc1 8'hc0 8'hbf 8'hbe 8'hbd 8'hbc 8'hbb 8'hba 8'hb9 8'hb8 8'hb7 8'hb6 8'hb5 8'hb4 8'hb3 8'hb2 8'hb1 8'hb0 8'haf 8'hae 8'had 8'hac 8'hab 8'haa 8'ha9 8'ha8 8'ha7 8'ha6 8'ha5 8'ha4 8'ha3 8'ha2 8'ha1 8'ha0 8'h9f 8'h9e 8'h9d 8'h9c 8'h9b 8'h9a 8'h99 8'h98 8'h97 8'h96 8'h95 8'h94 8'h93 8'h92 8'h91 8'h90 8'h8f 8'h8e 8'h8d 8'h8c 8'h8b 8'h8a 8'h89 8'h88 8'h87 8'h86 8'h85 8'h84 8'h83 8'h82 8'h81 8'h80 8'h7f 8'h7e 8'h7d 8'h7c 8'h7b 8'h7a 8'h79 8'h78 8'h77 8'h76 8'h75 8'h74 8'h73 8'h72 8'h71 8'h70 8'h6f 8'h6e 8'h6d 8'h6c 8'h6b 8'h6a 8'h69 8'h68 8'h67 8'h66 8'h65 8'h64 8'h63 8'h62 8'h61 8'h60 8'h5f 8'h5e 8'h5d 8'h5c 8'h5b 8'h5a 8'h59 8'h58 8'h57 8'h56 8'h55 8'h54 8'h53 8'h52 8'h51 8'h50 8'h4f 8'h4e 8'h4d 8'h4c 8'h4b 8'h4a 8'h49 8'h48 8'h47 8'h46 8'h45 8'h44 8'h43 8'h42 8'h41 8'h40 8'h3f 8'h3e 8'h3d 8'h3c 8'h3b 8'h3a 8'h39 8'h38 8'h37 8'h36 8'h35 8'h34 8'h33 8'h32 8'h31 8'h30 8'h2f 8'h2e 8'h2d 8'h2c 8'h2b 8'h2a 8'h29 8'h28 8'h27 8'h26 8'h25 8'h24 8'h23 8'h22 8'h21 8'h20 8'h1f 8'h1e 8'h1d 8'h1c 8'h1b 8'h1a 8'h19 8'h18 8'h17 8'h16 8'h15 8'h14 8'h13 8'h12 8'h11 8'h10 8'h0f 8'h0e 8'h0d 8'h0c 8'h0b 8'h0a 8'h09 8'h08 8'h07 8'h06 8'h05 8'h04 8'h03 8'h02 8'h01 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0020 8'h00 16'h0001 8'h15 +16'h2800 8'h01 16'h010c 8'h10 8'h80 8'h00 8'h04 8'h00 8'h08 8'h08 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0020 8'h00 16'h0001 8'h1f +16'h3800 8'h01 16'h010c 8'h10 8'h80 8'h00 8'h04 8'h00 8'h0c 8'h08 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h01 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0800 8'h01 16'h0300 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'hff 8'hfe 8'hfd 8'hfc 8'hfb 8'hfa 8'hf9 8'hf8 8'hf7 8'hf6 8'hf5 8'hf4 8'hf3 8'hf2 8'hf1 8'hf0 8'hef 8'hee 8'hed 8'hec 8'heb 8'hea 8'he9 8'he8 8'he7 8'he6 8'he5 8'he4 8'he3 8'he2 8'he1 8'he0 8'hdf 8'hde 8'hdd 8'hdc 8'hdb 8'hda 8'hd9 8'hd8 8'hd7 8'hd6 8'hd5 8'hd4 8'hd3 8'hd2 8'hd1 8'hd0 8'hcf 8'hce 8'hcd 8'hcc 8'hcb 8'hca 8'hc9 8'hc8 8'hc7 8'hc6 8'hc5 8'hc4 8'hc3 8'hc2 8'hc1 8'hc0 8'hbf 8'hbe 8'hbd 8'hbc 8'hbb 8'hba 8'hb9 8'hb8 8'hb7 8'hb6 8'hb5 8'hb4 8'hb3 8'hb2 8'hb1 8'hb0 8'haf 8'hae 8'had 8'hac 8'hab 8'haa 8'ha9 8'ha8 8'ha7 8'ha6 8'ha5 8'ha4 8'ha3 8'ha2 8'ha1 8'ha0 8'h9f 8'h9e 8'h9d 8'h9c 8'h9b 8'h9a 8'h99 8'h98 8'h97 8'h96 8'h95 8'h94 8'h93 8'h92 8'h91 8'h90 8'h8f 8'h8e 8'h8d 8'h8c 8'h8b 8'h8a 8'h89 8'h88 8'h87 8'h86 8'h85 8'h84 8'h83 8'h82 8'h81 8'h80 8'h7f 8'h7e 8'h7d 8'h7c 8'h7b 8'h7a 8'h79 8'h78 8'h77 8'h76 8'h75 8'h74 8'h73 8'h72 8'h71 8'h70 8'h6f 8'h6e 8'h6d 8'h6c 8'h6b 8'h6a 8'h69 8'h68 8'h67 8'h66 8'h65 8'h64 8'h63 8'h62 8'h61 8'h60 8'h5f 8'h5e 8'h5d 8'h5c 8'h5b 8'h5a 8'h59 8'h58 8'h57 8'h56 8'h55 8'h54 8'h53 8'h52 8'h51 8'h50 8'h4f 8'h4e 8'h4d 8'h4c 8'h4b 8'h4a 8'h49 8'h48 8'h47 8'h46 8'h45 8'h44 8'h43 8'h42 8'h41 8'h40 8'h3f 8'h3e 8'h3d 8'h3c 8'h3b 8'h3a 8'h39 8'h38 8'h37 8'h36 8'h35 8'h34 8'h33 8'h32 8'h31 8'h30 8'h2f 8'h2e 8'h2d 8'h2c 8'h2b 8'h2a 8'h29 8'h28 8'h27 8'h26 8'h25 8'h24 8'h23 8'h22 8'h21 8'h20 8'h1f 8'h1e 8'h1d 8'h1c 8'h1b 8'h1a 8'h19 8'h18 8'h17 8'h16 8'h15 8'h14 8'h13 8'h12 8'h11 8'h10 8'h0f 8'h0e 8'h0d 8'h0c 8'h0b 8'h0a 8'h09 8'h08 8'h07 8'h06 8'h05 8'h04 8'h03 8'h02 8'h01 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff +16'h0800 8'h01 16'h0100 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0800 8'h01 16'h0100 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f diff --git a/tb/shinTest/testcase_result/broadcast_tc01_result.log b/tb/shinTest/testcase_result/broadcast_tc01_result.log index 553f24b..ebaaebd 100644 --- a/tb/shinTest/testcase_result/broadcast_tc01_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc01_result.log @@ -3,7 +3,7 @@ 16'h0306 8'h00 16'h0002 8'h70 8'h00 16'h1000 8'h00 16'h0070 8'h06 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0070 8'h06 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h08 8'h00 8'h07 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'hc0 8'h00 8'h04 8'h08 8'h00 8'h02 8'h00 8'h00 8'h01 8'h00 8'h08 8'h00 8'hc0 8'h00 8'h04 8'h08 8'h00 8'h03 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h04 8'h08 8'h00 8'h04 8'h00 8'h00 8'h01 8'h00 8'h10 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h08 8'h00 8'h07 8'h00 8'h00 8'h04 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h08 8'h00 8'h07 8'h00 8'h00 8'h04 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h08 8'h00 8'h07 8'h00 8'h00 8'h04 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h08 8'h00 8'h07 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h0070 8'h06 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'hxx 8'h00 8'h07 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'hc0 8'h00 8'h04 8'hxx 8'h00 8'h02 8'h00 8'h00 8'h01 8'h00 8'h08 8'h00 8'hc0 8'h00 8'h04 8'hxx 8'h00 8'h03 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h04 8'hxx 8'h00 8'h04 8'h00 8'h00 8'h01 8'h00 8'h10 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'hxx 8'h00 8'h07 8'h00 8'h00 8'h04 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'hxx 8'h00 8'h07 8'h00 8'h00 8'h04 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'hxx 8'h00 8'h07 8'h00 8'h00 8'h04 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'hxx 8'h00 8'h07 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/broadcast_tc03_result.log b/tb/shinTest/testcase_result/broadcast_tc03_result.log index ff4c455..50a7e57 100644 --- a/tb/shinTest/testcase_result/broadcast_tc03_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc03_result.log @@ -3,7 +3,7 @@ 16'h0306 8'h00 16'h0002 8'h10 8'h00 16'h1000 8'h00 16'h0010 8'h00 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h00 8'hc0 8'hf0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0010 8'h00 8'hc0 8'h00 8'h04 8'h10 8'h00 8'h00 8'hc0 8'hf0 8'h04 8'h08 8'h00 8'h07 8'h00 8'h00 8'h08 +16'h0800 8'h01 16'h0010 8'h00 8'hc0 8'h00 8'h04 8'h10 8'h00 8'h00 8'hc0 8'hf0 8'h04 8'hxx 8'h00 8'h07 8'h00 8'h00 8'h08 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc12_result.log b/tb/shinTest/testcase_result/ebmmu_tc12_result.log index 43d63ba..65f1ecf 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc12_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc12_result.log @@ -1,9 +1,9 @@ 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'he0 8'h02 16'h0306 8'h00 16'h0002 8'he0 8'h02 -16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 From 41d4805841127e6a9a646b9f1f250d19942f8055 Mon Sep 17 00:00:00 2001 From: bacon Date: Mon, 8 Sep 2025 01:23:14 +0800 Subject: [PATCH 86/86] =?UTF-8?q?=E5=A4=87=E4=BB=BD=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=8C=E5=87=A0=E4=B8=AA=E9=97=AE=E9=A2=98=EF=BC=9A1.?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=B6=88=E6=81=AF=E8=B6=85=E8=BF=8763?= =?UTF-8?q?=E4=B8=AA=E8=AE=BE=E5=A4=87=E5=90=8E=EF=BC=8C=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=8F=B7=E6=AD=A3=E7=A1=AE=EF=BC=8C=E4=BD=86=E6=98=AF=E4=BB=8E?= =?UTF-8?q?0=E5=BC=80=E5=A7=8B=EF=BC=9B2.128=E4=B8=AA=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=9A=84=E8=AF=9D=EF=BC=8C=E6=9C=AB=E5=B0=BE=E7=9A=842?= =?UTF-8?q?=E4=B8=AA=E8=AE=BE=E5=A4=87=E4=B8=8D=E6=AD=A3=E7=A1=AE=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E7=9F=A5=E9=81=93=E4=B8=BA=E4=BB=80=E4=B9=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/Makefile_vcs | 10 +++ tb/shinTest/ShinTopSpiTb_clk.v | 31 ++++++- tb/shinTest/gen_pkt_many_dev.py | 140 +++++++++++++++++++++++++++++++ tb/shinTest/testcase/__init__.py | 3 +- tb/shinTest/testcase/manydev.py | 133 +++++++++++++++++++++++++++++ 5 files changed, 312 insertions(+), 5 deletions(-) create mode 100755 tb/shinTest/gen_pkt_many_dev.py create mode 100644 tb/shinTest/testcase/manydev.py diff --git a/tb/shinTest/Makefile_vcs b/tb/shinTest/Makefile_vcs index af94fd0..642c3ed 100644 --- a/tb/shinTest/Makefile_vcs +++ b/tb/shinTest/Makefile_vcs @@ -31,6 +31,16 @@ testShinClk_vcs: ${SIM} python3 ./shinTest/check_testcase.py + +testShinMany_vcs: + python3 ./shinTest/gen_pkt_many_dev.py + mkdir -p generated/log + rm -rf generated/log/* + @echo "Available CPUs: ${CPU_COUNT}" + ${VCS} -f ./shinTest_vcs.f + ${SIM} + python3 ./shinTest/check_testcase.py + sim: ${SIM} diff --git a/tb/shinTest/ShinTopSpiTb_clk.v b/tb/shinTest/ShinTopSpiTb_clk.v index 032c328..e0ac1d3 100644 --- a/tb/shinTest/ShinTopSpiTb_clk.v +++ b/tb/shinTest/ShinTopSpiTb_clk.v @@ -15,6 +15,9 @@ module ShinTopSpiTb( reg clock2; reg [15:0] multiCLK2; + reg clock3; + reg [15:0] multiCLK3; + `include "dev_predef.vh" @@ -425,26 +428,46 @@ endgenerate //如果频率差到-184ppm,参数是: 7998528/ 999816/7998528 [failed] initial begin - forever begin #7998560 clock2 <= ~clock2; end + forever begin #7998552 clock2 <= ~clock2; end end generate for( genvar i = 0; i < 16; i = i + 1 ) begin initial begin //相位信息 - #250000 + #750000 multiCLK2[i] = 0; for( integer j = 0; j < i; j = j + 1 ) begin - #999820 + #999819 ; end - forever begin #7998560 multiCLK2[i] <= ~multiCLK2[i]; end + forever begin #7998552 multiCLK2[i] <= ~multiCLK2[i]; end end end endgenerate +initial begin + forever begin #7998552 clock3 <= ~clock3; end +end + +generate + for( genvar i = 0; i < 16; i = i + 1 ) begin + initial begin + //相位信息 + #750000 + multiCLK3[i] = 0; + for( integer j = 0; j < i; j = j + 1 ) begin + #999819 + ; + end + forever begin #7998552 multiCLK3[i] <= ~multiCLK3[i]; end + end + end +endgenerate + + initial begin spidata_file = $fopen("spi_trans_data.txt", "w"); diff --git a/tb/shinTest/gen_pkt_many_dev.py b/tb/shinTest/gen_pkt_many_dev.py new file mode 100755 index 0000000..7347e1b --- /dev/null +++ b/tb/shinTest/gen_pkt_many_dev.py @@ -0,0 +1,140 @@ +#!/usr/bin/env python +#encoding=utf-8 +from pyutils import * +from testcase import environment, rwregs, ebmmu, errorPkt, watchdog, broadcast, sync, base, mac, manydev + +if __name__ == '__main__': + environment.gen_slv_dev_num(128) + environment.bringup() + + + add_tc_2_runlist(manydev.tc1()) + + ''' + add_tc_2_runlist(errorPkt.tc1()) + add_tc_2_runlist(errorPkt.tc2()) + add_tc_2_runlist(errorPkt.tc3()) + add_tc_2_runlist(errorPkt.tc4()) + add_tc_2_runlist(errorPkt.tc5()) + add_tc_2_runlist(errorPkt.tc6()) + add_tc_2_runlist(errorPkt.tc7()) + add_tc_2_runlist(errorPkt.tc8()) + add_tc_2_runlist(errorPkt.tc9()) + add_tc_2_runlist(errorPkt.tc10()) + add_tc_2_runlist(errorPkt.tc11()) + add_tc_2_runlist(errorPkt.tc12()) + add_tc_2_runlist(errorPkt.tc13()) + add_tc_2_runlist(errorPkt.tc14()) + add_tc_2_runlist(errorPkt.tc15()) + add_tc_2_runlist(errorPkt.tc16()) + add_tc_2_runlist(errorPkt.tc17()) + add_tc_2_runlist(errorPkt.tc18()) + add_tc_2_runlist(errorPkt.tc19()) + add_tc_2_runlist(errorPkt.tc20()) + add_tc_2_runlist(errorPkt.tc21()) + add_tc_2_runlist(errorPkt.tc22()) + add_tc_2_runlist(errorPkt.tc23()) + add_tc_2_runlist(errorPkt.tc24()) + add_tc_2_runlist(errorPkt.tc25()) + add_tc_2_runlist(errorPkt.tc26()) + add_tc_2_runlist(errorPkt.tc27()) + add_tc_2_runlist(errorPkt.tc28()) + add_tc_2_runlist(errorPkt.tc29()) + add_tc_2_runlist(errorPkt.tc30()) + add_tc_2_runlist(errorPkt.tc31()) + add_tc_2_runlist(errorPkt.tc32()) + add_tc_2_runlist(errorPkt.tc33()) + add_tc_2_runlist(errorPkt.tc34()) + add_tc_2_runlist(errorPkt.tc35()) + add_tc_2_runlist(errorPkt.tc36()) + add_tc_2_runlist(errorPkt.tc37()) + add_tc_2_runlist(errorPkt.tc38()) + #''' + + ''' + add_tc_2_runlist(base.tc1()) + add_tc_2_runlist(base.tc2()) + add_tc_2_runlist(base.tc3()) + add_tc_2_runlist(base.tc4()) + add_tc_2_runlist(base.tc5()) + add_tc_2_runlist(base.tc6()) + add_tc_2_runlist(base.tc7()) + add_tc_2_runlist(base.tc8()) + add_tc_2_runlist(base.tc9()) + add_tc_2_runlist(base.tc10()) + add_tc_2_runlist(base.tc11()) + add_tc_2_runlist(base.tc12()) + add_tc_2_runlist(base.tc13()) + add_tc_2_runlist(base.tc14()) + add_tc_2_runlist(base.tc15()) + add_tc_2_runlist(base.tc16()) + add_tc_2_runlist(base.tc17()) + add_tc_2_runlist(base.tc18()) + add_tc_2_runlist(base.tc19()) + add_tc_2_runlist(base.tc20()) + add_tc_2_runlist(base.tc21()) + add_tc_2_runlist(base.tc22()) + add_tc_2_runlist(base.tc23()) + add_tc_2_runlist(base.tc24()) + add_tc_2_runlist(base.tc25()) + add_tc_2_runlist(base.tc26()) + add_tc_2_runlist(base.tc27()) + add_tc_2_runlist(base.tc28()) + + add_tc_2_runlist(base.tc29()) + add_tc_2_runlist(base.tc30()) + #''' + + + ''' + add_tc_2_runlist(broadcast.tc1()) + add_tc_2_runlist(broadcast.tc2()) + add_tc_2_runlist(broadcast.tc3()) + #''' + + + #add_tc_2_runlist(sync.tc1()) + #add_tc_2_runlist(sync.tc2()) + #add_tc_2_runlist(sync.tc3()) + #add_tc_2_runlist(sync.tc4()) + #add_tc_2_runlist(sync.tc5()) + #add_tc_2_runlist(sync.tc6()) + #add_tc_2_runlist(sync.tc7()) + + ''' + add_tc_2_runlist(ebmmu.tc1()) + add_tc_2_runlist(ebmmu.tc2()) + add_tc_2_runlist(ebmmu.tc3()) + add_tc_2_runlist(ebmmu.tc4()) + add_tc_2_runlist(ebmmu.tc5()) + add_tc_2_runlist(ebmmu.tc6()) + add_tc_2_runlist(ebmmu.tc7()) + add_tc_2_runlist(ebmmu.tc8()) + add_tc_2_runlist(ebmmu.tc9()) + add_tc_2_runlist(ebmmu.tc10()) + add_tc_2_runlist(ebmmu.tc11()) + add_tc_2_runlist(ebmmu.tc12()) + add_tc_2_runlist(ebmmu.tc13()) + add_tc_2_runlist(ebmmu.tc14()) + add_tc_2_runlist(ebmmu.tc15()) + add_tc_2_runlist(ebmmu.tc16()) + add_tc_2_runlist(ebmmu.tc17()) + add_tc_2_runlist(ebmmu.tc18()) + add_tc_2_runlist(ebmmu.tc19()) + #''' + + #add_tc_2_runlist(watchdog.tc1()) + #add_tc_2_runlist(watchdog.tc2()) + + #add_tc_2_runlist(mac.tc1()) + #add_tc_2_runlist(mac.tc2()) + #add_tc_2_runlist(mac.tc3()) + #add_tc_2_runlist(mac.tc4()) + #add_tc_2_runlist(mac.tc5()) + #add_tc_2_runlist(mac.tc6()) + #add_tc_2_runlist(mac.tc7()) + + environment.teardown() + + gen_tc_runlist() + diff --git a/tb/shinTest/testcase/__init__.py b/tb/shinTest/testcase/__init__.py index 2b1d041..5d86723 100644 --- a/tb/shinTest/testcase/__init__.py +++ b/tb/shinTest/testcase/__init__.py @@ -6,4 +6,5 @@ from .watchdog import * from .broadcast import * from .sync import * from .environment import * -from .mac import * \ No newline at end of file +from .mac import * +from .manydev import * diff --git a/tb/shinTest/testcase/manydev.py b/tb/shinTest/testcase/manydev.py new file mode 100644 index 0000000..93c9855 --- /dev/null +++ b/tb/shinTest/testcase/manydev.py @@ -0,0 +1,133 @@ +from pyutils import * + + +def tc1(): + genPkt = GenPkt() + + dev = 128 + + gen_file_def = "manydev_tc01" + sm_idx = 0 + tc_des = f"{dev}个设备, 准备一下开发环境,发送一个广播包。\\n" + + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm1,2个读 + genPkt.clean() + genPkt.setPktType(1) + + set_if_code = "" + for i in range(dev - 4): + set_if_code = set_if_code + genIFRwDataCode(i + 5, 0x09, True, 1, [0, ], False, iface=1) + + clear_int_code = "" + for i in range(dev + 1): + clear_int_code = clear_int_code + genIFRwDataCode(i, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + + read_int_code = "" + for i in range(dev + 1): + read_int_code = read_int_code + genIFRwDataCode(i, 0x74, False, 4) + + init_slave_code = "" + for i in range(dev): + init_slave_code = init_slave_code + genIFRwDataCode(1 + i, 0x0, True, 1, [0x2, ]) + genIFRwDataCode(1 + i, 0x7c, True, 2, [0x10, 0x80]) + + read_dev_code = "" + for i in range(dev + 1): + read_dev_code = read_dev_code + genIFRwDataCode(i, 0x0, False, 1) + + + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +set_if_code + +init_slave_code + +clear_int_code + +read_int_code + +read_dev_code + ) + + + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + + +clear_int_code + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + genPkt.setPktType(0) + + gen_file_def_ap = gen_file_def + "_step02" + sm_idx = 0 + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + genPkt.addAfterExc(genMessageCode("--设置顺序地址") + +genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + + "#10000000" + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(1) + gen_file_def_ap = gen_file_def+"_step03" + sm_idx = 0 + + genPkt.addBeforeExc(genMessageCode("--设置环境,进行第二次嗅探")) + + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +clear_int_code + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + + genPkt.clean() + genPkt.setPktType(0) + gen_file_def_ap = gen_file_def+"_step04" + sm_idx = 0 + + for i in range(dev): + genPkt.addSubPkt(i + 1, 0, 0x1000, 0x0, 2, [0, 0]) + + prepare_data_code = "" + for i in range(dev): + prepare_data_code = prepare_data_code + genSlvSMWriteData(i + 1, 1, 2, [i, i + 1]) + + genPkt.addBeforeExc(prepare_data_code) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + + "#10000000" + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +clear_int_code + + +genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + return gen_file_def \ No newline at end of file