diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index bd31d84..a6d67b5 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -77,9 +77,16 @@ class CommonRegisterBundle extends Bundle{ val timeStamp = UInt(64.W) val mstDeltaTime = UInt(32.W) - + val syncCfg = UInt(8.W) + val syncWidth = Vec(4, UInt(16.W) ) + val syncOffset = Vec(4, UInt(32.W)) val syncPoint = UInt(64.W) 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) ) @@ -107,7 +114,7 @@ class MasterRegisterBundle extends Bundle{ class SlaveRegisterBundle extends Bundle{ - val ebmmu = Vec(8, new EBMMU_Bundle) + val ebmmu = Vec(16, new EBMMU_Bundle) val localDevIndex = UInt(16.W) @@ -120,12 +127,9 @@ class SlaveRegisterBundle extends Bundle{ val slvDeltaTime = UInt(32.W) //从站时间戳差值 val deltaFinal = UInt(32.W) //当前时间戳与主站时间差 - val recoTimeStamp = UInt(64.W) //时钟补偿寄存器 - val syncCfg = UInt(8.W) - val syncWidth = Vec(4, UInt(16.W) ) - val syncOffset = Vec(4, UInt(32.W)) + } @@ -190,6 +194,7 @@ class InterfaceIO extends Bundle{ val isSMReset = Output( Vec(8, Bool()) ) val latchPin = Input(Vec(2, Bool())) + val isPoReset = Output(Bool()) } @@ -208,20 +213,7 @@ abstract class InterfaceBase extends Module{ val mReg = Wire(new MasterRegisterBundle); io.mReg := mReg val sReg = Wire(new SlaveRegisterBundle); io.sReg := sReg - val syncCfg = RegInit(0.U(8.W)); sReg.syncCfg := syncCfg - val syncWidth = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } - for( i <- 0 until 4 ) { - sReg.syncWidth(i) := syncWidth(i) - } - - val syncPoint = RegInit(0.U(64.W)); cReg.syncPoint := syncPoint - val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid - - val syncOffset = for( i <- 0 until 4 ) yield { RegInit(0.U(32.W)) } //空开0 - for( i <- 0 until 4 ) { - sReg.syncOffset(i) := syncOffset(i) - } @@ -378,28 +370,28 @@ abstract class InterfaceBase extends Module{ (addr === "h117".U & isSlvMode) -> sReg.slvDeltaTime(31,24), //校准后的时钟 - (addr === "h118".U & isSlvMode) -> sReg.recoTimeStamp(7,0), - (addr === "h119".U & isSlvMode) -> sReg.recoTimeStamp(15,8), - (addr === "h11a".U & isSlvMode) -> sReg.recoTimeStamp(23,16), - (addr === "h11b".U & isSlvMode) -> sReg.recoTimeStamp(31,24), - (addr === "h11c".U & isSlvMode) -> sReg.recoTimeStamp(39,32), - (addr === "h11d".U & isSlvMode) -> sReg.recoTimeStamp(47,40), - (addr === "h11e".U & isSlvMode) -> sReg.recoTimeStamp(55,48), - (addr === "h11f".U & isSlvMode) -> sReg.recoTimeStamp(63,56), + (addr === "h118".U ) -> cReg.recoTimeStamp(7,0), + (addr === "h119".U ) -> cReg.recoTimeStamp(15,8), + (addr === "h11a".U ) -> cReg.recoTimeStamp(23,16), + (addr === "h11b".U ) -> cReg.recoTimeStamp(31,24), + (addr === "h11c".U ) -> cReg.recoTimeStamp(39,32), + (addr === "h11d".U ) -> cReg.recoTimeStamp(47,40), + (addr === "h11e".U ) -> cReg.recoTimeStamp(55,48), + (addr === "h11f".U ) -> cReg.recoTimeStamp(63,56), - (addr === "h120".U & isSlvMode) -> sReg.syncCfg, + (addr === "h120".U ) -> cReg.syncCfg, - (addr === "h122".U & isSlvMode) -> sReg.syncWidth(0)(7,0), - (addr === "h123".U & isSlvMode) -> sReg.syncWidth(0)(15,8), + (addr === "h122".U ) -> cReg.syncWidth(0)(7,0), + (addr === "h123".U ) -> cReg.syncWidth(0)(15,8), - (addr === "h124".U & isSlvMode) -> sReg.syncWidth(1)(7,0), - (addr === "h125".U & isSlvMode) -> sReg.syncWidth(1)(15,8), + (addr === "h124".U ) -> cReg.syncWidth(1)(7,0), + (addr === "h125".U ) -> cReg.syncWidth(1)(15,8), - (addr === "h126".U & isSlvMode) -> sReg.syncWidth(2)(7,0), - (addr === "h127".U & isSlvMode) -> sReg.syncWidth(2)(15,8), + (addr === "h126".U ) -> cReg.syncWidth(2)(7,0), + (addr === "h127".U ) -> cReg.syncWidth(2)(15,8), - (addr === "h128".U & isSlvMode) -> sReg.syncWidth(3)(7,0), - (addr === "h129".U & isSlvMode) -> sReg.syncWidth(3)(15,8), + (addr === "h128".U ) -> cReg.syncWidth(3)(7,0), + (addr === "h129".U ) -> cReg.syncWidth(3)(15,8), (addr === "h130".U ) -> cReg.syncPoint(7,0), (addr === "h131".U ) -> cReg.syncPoint(15,8), @@ -415,25 +407,40 @@ abstract class InterfaceBase extends Module{ (addr === "h13a".U ) -> cReg.syncPeroid(23,16), (addr === "h13b".U ) -> cReg.syncPeroid(31,24), - (addr === "h13c".U & isSlvMode) -> sReg.syncOffset(1)(7,0), - (addr === "h13d".U & isSlvMode) -> sReg.syncOffset(1)(15,8), - (addr === "h13e".U & isSlvMode) -> sReg.syncOffset(1)(23,16), - (addr === "h13f".U & isSlvMode) -> sReg.syncOffset(1)(31,24), + (addr === "h13c".U ) -> cReg.syncOffset(1)(7,0), + (addr === "h13d".U ) -> cReg.syncOffset(1)(15,8), + (addr === "h13e".U ) -> cReg.syncOffset(1)(23,16), + (addr === "h13f".U ) -> cReg.syncOffset(1)(31,24), - (addr === "h140".U & isSlvMode) -> sReg.syncOffset(2)(7,0), - (addr === "h141".U & isSlvMode) -> sReg.syncOffset(2)(15,8), - (addr === "h142".U & isSlvMode) -> sReg.syncOffset(2)(23,16), - (addr === "h143".U & isSlvMode) -> sReg.syncOffset(2)(31,24), + (addr === "h140".U ) -> cReg.syncOffset(2)(7,0), + (addr === "h141".U ) -> cReg.syncOffset(2)(15,8), + (addr === "h142".U ) -> cReg.syncOffset(2)(23,16), + (addr === "h143".U ) -> cReg.syncOffset(2)(31,24), + + (addr === "h144".U ) -> cReg.syncOffset(3)(7,0), + (addr === "h145".U ) -> cReg.syncOffset(3)(15,8), + (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 === "h144".U & isSlvMode) -> sReg.syncOffset(3)(7,0), - (addr === "h145".U & isSlvMode) -> sReg.syncOffset(3)(15,8), - (addr === "h146".U & isSlvMode) -> sReg.syncOffset(3)(23,16), - (addr === "h147".U & isSlvMode) -> sReg.syncOffset(3)(31,24), ) ++ ( 0 until 128 ).map{ i => ( addr === ("h180".U(16.W) + i.U ) ) -> cReg.custom(i) } ++ - ( 0 until 8 ).map{ i => Seq( + ( 0 until 16 ).map{ i => Seq( ( ( addr === ( "h200".U(16.W) + (10*i).U) ) & isSlvMode ) -> sReg.ebmmu(i).lAddr( 7, 0), ( ( addr === ( "h201".U(16.W) + (10*i).U) ) & isSlvMode ) -> sReg.ebmmu(i).lAddr(15, 8), ( ( addr === ( "h202".U(16.W) + (10*i).U) ) & isSlvMode ) -> sReg.ebmmu(i).lAddr(23,16), @@ -614,102 +621,6 @@ trait InterfaceMCUop{ this: InterfaceBase => rplTimeStampTx := Cat(rplTimeStampTx(15,8), dataw ) } - - when( isEnW & isSlvMode ){ - when( addrw === "h120".U ){ - syncCfg := dataw - } - - 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 === "h130".U ){ - syncPoint := Cat( syncPoint(63,8), dataw ) - } .elsewhen( addrw === "h131".U ){ - syncPoint := Cat( syncPoint(63,16), dataw, syncPoint(7,0) ) - } .elsewhen( addrw === "h132".U ){ - syncPoint := Cat( syncPoint(63,24), dataw, syncPoint(15,0) ) - } .elsewhen( addrw === "h133".U ){ - syncPoint := Cat( syncPoint(63,32), dataw, syncPoint(23,0) ) - } .elsewhen( addrw === "h134".U ){ - syncPoint := Cat( syncPoint(63,40), dataw, syncPoint(31,0) ) - } .elsewhen( addrw === "h135".U ){ - syncPoint := Cat( syncPoint(63,48), dataw, syncPoint(39,0) ) - } .elsewhen( addrw === "h136".U ){ - syncPoint := Cat( syncPoint(63,56), dataw, syncPoint(47,0) ) - } .elsewhen( addrw === "h137".U ){ - syncPoint := Cat( dataw, syncPoint(55,0) ) - } - - .elsewhen( addrw === "h138".U ){ - syncPeroid := Cat( syncPeroid(31,8), dataw ) - } .elsewhen( addrw === "h139".U ){ - syncPeroid := Cat( syncPeroid(31,16), dataw, syncPeroid(7,0) ) - } .elsewhen( addrw === "h13a".U ){ - syncPeroid := Cat( syncPeroid(31,24), dataw, syncPeroid(15,0) ) - } .elsewhen( addrw === "h13b".U ){ - syncPeroid := Cat( dataw, syncPeroid(23,0) ) - } - - for( i <- 1 until 4 ){ - when( addrw === ("h13c".U(16.W) + (4*(i-1)).U) ){ - syncOffset(i) := Cat( syncOffset(i)(31,8), dataw ) - } .elsewhen( addrw === ("h13d".U(16.W) + (4*(i-1)).U) ){ - syncOffset(i) := Cat( syncOffset(i)(31,16), dataw, syncOffset(i)(7,0) ) - } .elsewhen( addrw === ("h13e".U(16.W) + (4*(i-1)).U) ){ - syncOffset(i) := Cat( syncOffset(i)(31,24), dataw, syncOffset(i)(15,0) ) - } .elsewhen( addrw === ("h13f".U(16.W) + (4*(i-1)).U) ){ - syncOffset(i) := Cat( dataw, syncOffset(i)(23,0) ) - } - } - } - - - val wdtStatus = for( i <- 0 until 18 ) yield { RegInit(false.B) } //1+16+1 - cReg.wdtStatus := Cat( wdtStatus.reverse ) - - for( i <- 0 until 8 ){ - when( isEnW & addrw === "h400".U & dataw.extract(i) ){ - wdtStatus(i) := false.B - } .elsewhen(io.wdtTrigger(i) & cReg.wdtEnable.extract(i)){ - wdtStatus(i) := true.B - } - when( isEnW & addrw === "h401".U & dataw.extract(i) ){ - wdtStatus(8+i) := false.B - } .elsewhen(io.wdtTrigger(8+i) & cReg.wdtEnable.extract(8+i)){ - wdtStatus(8+i) := true.B - } - } - for( i <- 0 until 2 ){ - when( isEnW & addrw === "h402".U & dataw.extract(i) ){ - wdtStatus(16+i) := false.B - } .elsewhen(io.wdtTrigger(16+i) & cReg.wdtEnable.extract(16+i)){ - wdtStatus(16+i) := true.B - } - } - - cReg.wdtEnable := - Cat( - RegEnable( dataw(1,0), 0.U, isEnW & addrw === "h406".U ), - RegEnable( dataw, 0.U, isEnW & addrw === "h405".U ), - RegEnable( dataw, 0.U, isEnW & addrw === "h404".U ), - ) - - for( i <- 0 until 18 ){ - cReg.wdtTarCnt(i) := - Cat( - RegEnable( dataw, 0.U, isEnW & addrw === ( "h40b".U (16.W) + (4*i).U ) ), - RegEnable( dataw, 0.U, isEnW & addrw === ( "h40a".U (16.W) + (4*i).U ) ), - RegEnable( dataw, 0.U, isEnW & addrw === ( "h409".U (16.W) + (4*i).U ) ), - RegEnable( dataw, 0.U, isEnW & addrw === ( "h408".U (16.W) + (4*i).U ) ), - ) - } - } trait InterfaceCheckSM{ this: InterfaceBase => @@ -785,7 +696,140 @@ trait InterfaceLVDSop{ this: InterfaceBase => io.lvds.datar := RegEnable(AcquireReg(addr = io.lvds.addrr), io.lvds.isEnR) - when( io.lvds.isEnW & isSlvMode ){ + + ( 0 until 16 ).map{ i => + sReg.ebmmu(i).lAddr := Cat( + RegEnable( io.lvds.dataw(5,0), 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h203".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h202".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h201".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U, 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, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h205".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U, 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, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h207".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h206".U(16.W) + (10*i).U )) ), + ) + + sReg.ebmmu(i).op := + RegEnable( io.lvds.dataw, 0.U, 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 )) ) + } + +} + +trait InterfaceSync{ this: InterfaceBase => + + val syncCfg = RegInit(0.U(8.W)); cReg.syncCfg := syncCfg + + val syncWidth = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } + for( i <- 0 until 4 ) { + cReg.syncWidth(i) := syncWidth(i) + } + + 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 ) { + cReg.syncOffset(i) := syncOffset(i) + } + + when( isEnW ){ + when( addrw === "h120".U ){ + syncCfg := dataw + } + + 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 === "h130".U ){ + syncPoint := Cat( syncPoint(63,8), dataw ) + } .elsewhen( addrw === "h131".U ){ + syncPoint := Cat( syncPoint(63,16), dataw, syncPoint(7,0) ) + } .elsewhen( addrw === "h132".U ){ + syncPoint := Cat( syncPoint(63,24), dataw, syncPoint(15,0) ) + } .elsewhen( addrw === "h133".U ){ + syncPoint := Cat( syncPoint(63,32), dataw, syncPoint(23,0) ) + } .elsewhen( addrw === "h134".U ){ + syncPoint := Cat( syncPoint(63,40), dataw, syncPoint(31,0) ) + } .elsewhen( addrw === "h135".U ){ + syncPoint := Cat( syncPoint(63,48), dataw, syncPoint(39,0) ) + } .elsewhen( addrw === "h136".U ){ + syncPoint := Cat( syncPoint(63,56), dataw, syncPoint(47,0) ) + } .elsewhen( addrw === "h137".U ){ + syncPoint := Cat( dataw, syncPoint(55,0) ) + } + + .elsewhen( addrw === "h138".U ){ + syncPeroid := Cat( syncPeroid(31,8), dataw ) + } .elsewhen( addrw === "h139".U ){ + syncPeroid := Cat( syncPeroid(31,16), dataw, syncPeroid(7,0) ) + } .elsewhen( addrw === "h13a".U ){ + syncPeroid := Cat( syncPeroid(31,24), dataw, syncPeroid(15,0) ) + } .elsewhen( addrw === "h13b".U ){ + 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) ) + } + + + + for( i <- 1 until 4 ){ + when( addrw === ("h13c".U(16.W) + (4*(i-1)).U) ){ + syncOffset(i) := Cat( syncOffset(i)(31,8), dataw ) + } .elsewhen( addrw === ("h13d".U(16.W) + (4*(i-1)).U) ){ + syncOffset(i) := Cat( syncOffset(i)(31,16), dataw, syncOffset(i)(7,0) ) + } .elsewhen( addrw === ("h13e".U(16.W) + (4*(i-1)).U) ){ + syncOffset(i) := Cat( syncOffset(i)(31,24), dataw, syncOffset(i)(15,0) ) + } .elsewhen( addrw === ("h13f".U(16.W) + (4*(i-1)).U) ){ + syncOffset(i) := Cat( dataw, syncOffset(i)(23,0) ) + } + } + } + + + + when( io.lvds.isEnW ){ when( io.lvds.addrw === "h120".U ){ syncCfg := io.lvds.dataw @@ -827,6 +871,35 @@ trait InterfaceLVDSop{ 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 ) @@ -840,43 +913,15 @@ trait InterfaceLVDSop{ this: InterfaceBase => } } - - ( 0 until 8 ).map{ i => - sReg.ebmmu(i).lAddr := Cat( - RegEnable( io.lvds.dataw(5,0), 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h203".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h202".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h201".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U, 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, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h205".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U, 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, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h207".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h206".U(16.W) + (10*i).U )) ), - ) - - sReg.ebmmu(i).op := - RegEnable( io.lvds.dataw, 0.U, 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 )) ) - } - -} - -trait InterfaceSync{ this: InterfaceBase => cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 0.U ) - cReg.mstDeltaTime := io.mstDeltaTime - // sReg.mstTimeStamp := io.mstTimeStamp sReg.deltaFinal := io.deltaFinal - sReg.recoTimeStamp := RegNext( cReg.timeStamp + Cat( Fill(32, sReg.deltaFinal.extract(31)), sReg.deltaFinal ) ) + cReg.recoTimeStamp := + Mux(isMstMode, cReg.timeStamp, + RegNext( cReg.timeStamp + Cat( Fill(32, sReg.deltaFinal.extract(31)), sReg.deltaFinal ) ) + ) sReg.slvDeltaTime := io.slvDeltaTime val syncSign = for( i <- 0 until 4 ) yield { RegInit(false.B) } @@ -884,59 +929,101 @@ trait InterfaceSync{ this: InterfaceBase => val syncResetCnt = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } //空开第0位 - when( cReg.syncPoint === sReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 syncSign(0) := true.B syncPoint := syncPoint + cReg.syncPeroid - } .elsewhen( ~sReg.syncCfg(4+0) & syncResetCnt(0) === sReg.syncWidth(0) ){ + } .elsewhen( ~cReg.syncCfg(4+0) & syncResetCnt(0) === cReg.syncWidth(0) ){ syncSign(0) := false.B - } .elsewhen( sReg.syncCfg(4+0) & isEnW & addrw === "h122".U ){ + } .elsewhen( cReg.syncCfg(4+0) & isEnW & addrw === "h122".U ){ syncSign(0) := false.B } for( i <- 1 until 4 ) { - when( cReg.syncPoint === sReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 syncOffsetCnt(i) := 0.U - } .elsewhen( syncOffsetCnt(i) < sReg.syncOffset(i) ){ + } .elsewhen( syncOffsetCnt(i) < cReg.syncOffset(i) ){ syncOffsetCnt(i) := syncOffsetCnt(i) + 1.U - } .elsewhen( syncOffsetCnt(i) === sReg.syncOffset(i) ){ + } .elsewhen( syncOffsetCnt(i) === cReg.syncOffset(i) ){ syncOffsetCnt(i) := "hFFFFFFFF".U(32.W) } - when( syncOffsetCnt(i) === sReg.syncOffset(i) ){ + when( syncOffsetCnt(i) === cReg.syncOffset(i) ){ syncSign(i) := true.B - } .elsewhen( ~sReg.syncCfg(4+i) & syncResetCnt(i) === sReg.syncWidth(i) ){ + } .elsewhen( ~cReg.syncCfg(4+i) & syncResetCnt(i) === cReg.syncWidth(i) ){ syncSign(i) := false.B - } .elsewhen( sReg.syncCfg(4+i) & isEnW & addrw === ("h122".U(16.W) + (2*i).U) ){ + } .elsewhen( cReg.syncCfg(4+i) & isEnW & addrw === ("h122".U(16.W) + (2*i).U) ){ syncSign(i) := false.B } } for( i <- 0 until 4 ){ - when( ~sReg.syncCfg(4+i) ){ + when( ~cReg.syncCfg(4+i) ){ when( syncSign(i) ){ syncResetCnt(i) := syncResetCnt(i) + 1.U } .otherwise{ syncResetCnt(i) := 0.U } } + } + io.sync(0) := cReg.syncCfg.extract(0) & syncSign(0) + io.sync(1) := cReg.syncCfg.extract(1) & syncSign(1) + io.sync(2) := cReg.syncCfg.extract(2) & syncSign(2) + io.sync(3) := cReg.syncCfg.extract(3) & syncSign(3) + + + val isLocalSyncInt = cReg.localPoint === cReg.recoTimeStamp + + when( isLocalSyncInt ){ //时间到达localSync时间点 + localPoint := cReg.localPoint + cReg.localPeroid } - - - io.sync(0) := sReg.syncCfg.extract(0) & syncSign(0) & isSlvMode - io.sync(1) := sReg.syncCfg.extract(1) & syncSign(1) & isSlvMode - io.sync(2) := sReg.syncCfg.extract(2) & syncSign(2) & isSlvMode - io.sync(3) := sReg.syncCfg.extract(3) & syncSign(3) & isSlvMode - } -// trait InterfaceWdt{ this: InterfaceBase => +trait InterfaceWdt{ this: InterfaceBase => + val wdtStatus = for( i <- 0 until 18 ) yield { RegInit(false.B) } //1+16+1 + cReg.wdtStatus := Cat( wdtStatus.reverse ) -// } + for( i <- 0 until 8 ){ + when( isEnW & addrw === "h400".U & dataw.extract(i) ){ + wdtStatus(i) := false.B + } .elsewhen(io.wdtTrigger(i) & cReg.wdtEnable.extract(i)){ + wdtStatus(i) := true.B + } + when( isEnW & addrw === "h401".U & dataw.extract(i) ){ + wdtStatus(8+i) := false.B + } .elsewhen(io.wdtTrigger(8+i) & cReg.wdtEnable.extract(8+i)){ + wdtStatus(8+i) := true.B + } + } + for( i <- 0 until 2 ){ + when( isEnW & addrw === "h402".U & dataw.extract(i) ){ + wdtStatus(16+i) := false.B + } .elsewhen(io.wdtTrigger(16+i) & cReg.wdtEnable.extract(16+i)){ + wdtStatus(16+i) := true.B + } + } + + cReg.wdtEnable := + Cat( + RegEnable( dataw(1,0), 0.U, isEnW & addrw === "h406".U ), + RegEnable( dataw, 0.U, isEnW & addrw === "h405".U ), + RegEnable( dataw, 0.U, isEnW & addrw === "h404".U ), + ) + + for( i <- 0 until 18 ){ + cReg.wdtTarCnt(i) := + Cat( + RegEnable( dataw, 0.U, isEnW & addrw === ( "h40b".U (16.W) + (4*i).U ) ), + RegEnable( dataw, 0.U, isEnW & addrw === ( "h40a".U (16.W) + (4*i).U ) ), + RegEnable( dataw, 0.U, isEnW & addrw === ( "h409".U (16.W) + (4*i).U ) ), + RegEnable( dataw, 0.U, isEnW & addrw === ( "h408".U (16.W) + (4*i).U ) ), + ) + } +} trait InterfaceSystem{ this: InterfaceBase => io.isSoftReset := @@ -966,6 +1053,7 @@ trait InterfaceSystem{ this: InterfaceBase => if( i != 31 ) {RegInit(false.B)} else { RegInit(true.B) } } cReg.intStatus := Cat( intStatus.reverse ) + io.isPoReset := intStatus(31) cReg.intMode := Cat( @@ -988,7 +1076,19 @@ trait InterfaceSystem{ this: InterfaceBase => } //主站发送周期到了 + val isLocalSyncInt: Bool + when( isLocalSyncInt ){ + intStatus(2) := true.B + } + //外部latch中断 + val isLatchEvent = + (RegNext( cReg.event.latchStatus(0) ) =/= cReg.event.latchStatus(0)) | + (RegNext( cReg.event.latchStatus(1) ) =/= cReg.event.latchStatus(1)) + + when(isLatchEvent){ + intStatus(3) := true.B + } //看门狗溢出 val isWdtTrigAndEnable = (0 until 18).map{ i => (io.wdtTrigger(i) & cReg.wdtEnable(i))}.reduce(_|_) @@ -1048,7 +1148,8 @@ trait InterfaceSystem{ this: InterfaceBase => val trigIntPulse = (io.intMstTrig(0) & cReg.intEnable(0)) | //主站发送完成 (io.intMstTrig(1) & cReg.intEnable(1)) | //主站接收完成 - false.B | //主站发送周期到了 + (isLocalSyncInt & cReg.intEnable(2)) | //主站发送周期到了 + (isLatchEvent & cReg.intEnable(3)) | //latch Event (~RegNext(isWdtTrigAndEnable, false.B) & isWdtTrigAndEnable & cReg.intEnable(4)) | //主站接收看门狗溢出 (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 @@ -1074,8 +1175,8 @@ trait InterfaceSystem{ this: InterfaceBase => 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 ) )) + 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 ) )) val isPosedgeLatch = for( i <- 0 until 2 ) yield RegInit(false.B) val isNegedgeLatch = for( i <- 0 until 2 ) yield RegInit(false.B) @@ -1277,7 +1378,7 @@ with InterfaceCheckSM with InterfaceLVDSop with InterfaceSync with InterfaceStat -// with InterfaceWdt +with InterfaceWdt with InterfaceSystem with InterfaceEvent { diff --git a/src/main/scala/backBoard/shin/SRAMFifo.scala b/src/main/scala/backBoard/shin/SRAMFifo.scala deleted file mode 100644 index c8b8c42..0000000 --- a/src/main/scala/backBoard/shin/SRAMFifo.scala +++ /dev/null @@ -1,44 +0,0 @@ -package BACK - -import chisel3._ -import chisel3.util._ - - - -// class SRAM2kFifoIO extends Bundle { -// val sram = new SRAM2kIO - -// val enq = Flipped(Decoupled(UInt(8.W))) -// val deq = Decoupled(UInt(8.W)) -// } - -// class SRAM2kFifo extends Module { -// val io: SRAM2kFifoIO = IO(new SRAM2kFifoIO) - -// val wptr = RegInit(0.U((11+1).W)) -// val rptr = RegInit(0.U((11+1).W)) - -// val isFull = (wptr.extract(11) =/= rptr.extract(11)) & (wptr(10,0) === rptr(10,0)) -// val isEmpty = (wptr === rptr) - - -// io.sram.addrr := rptr(10,0) -// io.sram.addrw := wptr(10,0) - -// io.sram.dataw := io.enq.bits -// io.deq.bits := io.sram.datar -// io.sram.enw := io.enq.fire -// io.sram.enr := true.B - -// io.enq.ready := ~isFull -// io.deq.valid := ~isEmpty - -// when( io.enq.fire ){ -// wptr := wptr + 1.U -// } - -// when( io.deq.fire ){ -// rptr := rptr + 1.U -// } - -// } diff --git a/src/main/scala/backBoard/shin/ShinMst.scala.bk b/src/main/scala/backBoard/shin/ShinMst.scala.bk deleted file mode 100644 index 45e9797..0000000 --- a/src/main/scala/backBoard/shin/ShinMst.scala.bk +++ /dev/null @@ -1,328 +0,0 @@ -package BACK - -import chisel3._ -import chisel3.util._ - - - -class Header_Info_Bundle extends Bundle{ - val length = UInt(12.W) // nlength * 8bits - val operator = UInt(4.W) - val param = Vec(3, UInt(16.W)) - - def init = operator === 0.U - def sync = operator === 1.U - def boardCast = operator === 2.U - def uniCast = operator === 3.U -} - - - -// class FSMC_Port_Bundle extends Bundle{ - -// val ADIn = Input(UInt(16.W)) -// val ADOut = Output(UInt(16.W)) -// val ADOEn = Output(Bool()) -// val csn = Input(Bool()) -// val rdn = Input(Bool()) -// val wrn = Input(Bool()) -// val advn = Input(Bool()) -// } - -class ShinMstIO_Bundle extends Bundle{ - val FSMC = new FSMC_Port_Bundle - - val interrupt = Output(Bool()) - val testIO = Input(Bool()) - - val serOut = Output(Bool()) - val serIn = Input(Bool()) - val overCLK = Input(Bool()) -} - - - -abstract class ShinMstPhyBase extends Module{ - val io: ShinMstIO_Bundle = IO(new ShinMstIO_Bundle) - - val mirrorDown = Module(new MirrorSRAMDP()) - val mirrorUp = Module(new MirrorSRAMDP()) - val mirrorReg = Module(new MirrorSRAMDP()) - - val cdrOut = Module(new CDROut with chisel3.util.experimental.InlineInstance) - val cdrIn = Module(new CDRIn with chisel3.util.experimental.InlineInstance) - - io.serOut := cdrOut.io.serDat - cdrIn.io.serDat := io.serIn - cdrIn.io.overCLK := io.overCLK - - mirrorDown.io.clockA := clock.asBool - mirrorDown.io.clockB := clock.asBool - - mirrorUp.io.clockA := clock.asBool - mirrorUp.io.clockB := clock.asBool - - mirrorReg.io.clockA := clock.asBool - mirrorReg.io.clockB := clock.asBool - - mirrorReg.io.addrB := DontCare - mirrorReg.io.datawB := DontCare - mirrorReg.io.enwB := false.B - mirrorReg.io.enrB := false.B - -} - - -trait ShinMstSend{ this: ShinMstPhyBase => - - - val headByte = (new Header_Info_Bundle).getWidth/8 - - require( headByte == 8 ) - - val testIOShift = ShiftRegisters(io.testIO, headByte/2 + 1, false.B, true.B) - - val cdrPendBuf = Module( new Queue( new AXIS_Bundle(8), 1, pipe = true, flow = false ) with chisel3.util.experimental.InlineInstance) //Timing Opt - cdrOut.io.axis <> cdrPendBuf.io.deq - - val sendHeader = Wire( new Header_Info_Bundle ) - sendHeader.length := 512.U - sendHeader.operator := 0.U - sendHeader.param(0) := 0.U - sendHeader.param(1) := 0.U - sendHeader.param(2) := 0.U - val sendHead = sendHeader.asUInt - -/* - - val sendHeader = Reg( new Header_Info_Bundle ) - val sendHead = sendHeader.asUInt - - - - when( ~testIOShift(0) & io.testIO ){ - mirrorReg.io.addrB := 0.U - mirrorReg.io.enrB := true.B - } .elsewhen( ~testIOShift(1) & testIOShift(0) ){ - mirrorReg.io.addrB := 1.U - mirrorReg.io.enrB := true.B - - sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle) - } .elsewhen( ~testIOShift(2) & testIOShift(1) ){ - mirrorReg.io.addrB := 2.U - mirrorReg.io.enrB := true.B - - sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle) - } .elsewhen( ~testIOShift(3) & testIOShift(2) ){ - mirrorReg.io.addrB := 3.U - mirrorReg.io.enrB := true.B - - sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle) - } .elsewhen( ~testIOShift(4) & testIOShift(3) ){ - sendHeader := Cat( sendHeader.asUInt().tail(16), mirrorReg.io.datarB ).asTypeOf(new Header_Info_Bundle) - } -*/ - - - - val isSendTrig: Bool = ~testIOShift(4) & testIOShift(3) - - val isRecvEnd = Wire(Bool()) - val isTimeout = Wire(Bool()) - - - val sendStateNext = Wire( UInt(3.W) ) - val sendStateCurr = RegNext( sendStateNext, 0.U ) - - - - val sendCntNext = Wire( UInt(10.W) ) - val sendCntCurr = RegNext(sendCntNext) - - sendStateNext := Mux1H(Seq( - (sendStateCurr === 0.U) -> Mux( isSendTrig, 1.U, 0.U ), - (sendStateCurr === 1.U) -> Mux( cdrPendBuf.io.enq.fire & sendCntCurr === (headByte-1).U, 2.U, 1.U ), - (sendStateCurr === 2.U) -> Mux( cdrPendBuf.io.enq.fire & sendCntCurr === (sendHeader.length ) - 1.U, 3.U, 2.U ), - (sendStateCurr === 3.U) -> Mux( isRecvEnd | isTimeout, 0.U, 3.U ), - )) - - sendCntNext := Mux1H(Seq( - (sendStateCurr === 0.U) -> 0.U, - (sendStateCurr === 1.U) -> Mux(cdrPendBuf.io.enq.fire, Mux( sendStateNext =/= 2.U, sendCntCurr + 1.U, 0.U ), sendCntCurr), - (sendStateCurr === 2.U) -> Mux(cdrPendBuf.io.enq.fire, Mux( sendStateNext =/= 3.U, sendCntCurr + 1.U, 0.U ), sendCntCurr), - - )) - - - cdrPendBuf.io.enq.valid := sendStateCurr === 1.U | sendStateCurr === 2.U - cdrPendBuf.io.enq.bits.tdata := - Mux1H(Seq( - ( sendStateCurr === 1.U ) -> (sendHead << (sendCntCurr << 3)).apply(63,56), - ( sendStateCurr === 2.U ) -> Mux( sendCntCurr.extract(0), mirrorDown.io.datarB(7,0), mirrorDown.io.datarB(15,8) ), - )) - cdrPendBuf.io.enq.bits.tlast := sendStateCurr === 2.U & sendCntCurr === (sendHeader.length - 1.U ) - cdrPendBuf.io.enq.bits.tuser := false.B - - mirrorDown.io.enwB := false.B - mirrorDown.io.datawB := 0.U - mirrorDown.io.enrB := sendStateNext === 2.U - mirrorDown.io.addrB := sendCntNext >> 1 - -} - -trait ShinMstRecv{ this: ShinMstPhyBase => - val headByte: Int - def isSendTrig: Bool - - val RecvStateIdle = 0.U - val RecvStateArm = 1.U - val RecvStateHead = 2.U - val RecvStatePayLoad = 3.U - val RecvStateCRC = 4.U - val RecvStateDeArm = 5.U - - - val recvStateNext = Wire( UInt(3.W) ) - val recvStateCurr = RegNext( recvStateNext, 0.U ) - - val upPendBuf= Module( new Queue( new AXIS_Bundle(8), 2, pipe = true, flow = false ) with chisel3.util.experimental.InlineInstance ) - cdrIn.io.axis <> upPendBuf.io.enq - - val recvHeader = Reg( UInt( (new Header_Info_Bundle).getWidth.W) ) - - val recvCnt = Reg(UInt(10.W)) - - val recvLength = RegEnable(recvHeader(15,4), upPendBuf.io.deq.fire & ( recvStateCurr === RecvStateHead ) & recvCnt === 3.U) - - val isRecvEnd: Bool - isRecvEnd := recvStateCurr === RecvStateDeArm - io.interrupt := recvStateCurr === RecvStateDeArm - - - recvStateNext := Mux1H(Seq( - (recvStateCurr === RecvStateIdle) -> Mux( isSendTrig, RecvStateArm, RecvStateIdle ), //IDLE - (recvStateCurr === RecvStateArm) -> Mux( upPendBuf.io.deq.valid, RecvStateHead, RecvStateArm ), //Arm - (recvStateCurr === RecvStateHead) -> Mux( upPendBuf.io.deq.fire, Mux( ~upPendBuf.io.deq.bits.tlast, Mux( recvCnt === (headByte).U, RecvStatePayLoad, RecvStateHead ), RecvStateDeArm ), RecvStateHead ), //Header - (recvStateCurr === RecvStatePayLoad) -> Mux( upPendBuf.io.deq.fire, Mux( ~upPendBuf.io.deq.bits.tlast, Mux( recvCnt === (recvLength), RecvStateCRC, RecvStatePayLoad ), RecvStateDeArm ), RecvStatePayLoad ), //payload - (recvStateCurr === RecvStateCRC) -> Mux( upPendBuf.io.deq.fire & upPendBuf.io.deq.bits.tlast, RecvStateDeArm, RecvStateCRC ),//crc - (recvStateCurr === RecvStateDeArm) -> RecvStateIdle,//de-arm - - )) - - when( recvStateCurr =/= recvStateNext ){ - recvCnt := 1.U - } .elsewhen( upPendBuf.io.deq.fire ){ - recvCnt := recvCnt + 1.U - } - - when( upPendBuf.io.deq.fire & ( recvStateCurr === RecvStateHead )) { - recvHeader := Cat( recvHeader.tail(8), upPendBuf.io.deq.bits.tdata ) - } - - upPendBuf.io.deq.ready := - recvStateCurr === RecvStateHead | recvStateCurr === RecvStatePayLoad | recvStateCurr === RecvStateCRC - - - val isRecvError = RegInit(false.B) - - when( recvStateCurr === RecvStateIdle & recvStateNext === RecvStateArm ){ - isRecvError := false.B - } .elsewhen( upPendBuf.io.deq.fire & upPendBuf.io.deq.bits.tuser ){ - isRecvError := true.B - printf("Warning, Wrong Package Received in ShinMst, That could not happened!\n") - } .elsewhen( recvStateCurr === RecvStateHead & recvStateNext === RecvStateDeArm ){ - isRecvError := true.B - printf("Warning, Wrong Package Received in ShinMst, That could not happened!\n") - } .elsewhen( recvStateCurr === RecvStatePayLoad & recvStateNext === RecvStateDeArm ){ - isRecvError := true.B - printf("Warning, Wrong Package Received in ShinMst, That could not happened!\n") - } .elsewhen( recvStateCurr === RecvStateCRC & upPendBuf.io.deq.fire & upPendBuf.io.deq.bits.tlast & recvCnt =/= 4.U ){ - isRecvError := true.B - printf("Warning, Wrong Package Received in ShinMst, That could not happened!\n") - } - - - - - val recvDataLatch = RegEnable( upPendBuf.io.deq.bits.tdata, upPendBuf.io.deq.fire & recvStateCurr === 3.U & recvCnt.extract(0) ) - - mirrorUp.io.enrB := false.B - mirrorUp.io.enwB := upPendBuf.io.deq.fire & recvStateCurr === 3.U & ~recvCnt.extract(0) - mirrorUp.io.datawB := Cat( upPendBuf.io.deq.bits.tdata, recvDataLatch ) - mirrorUp.io.addrB := recvCnt >> 1 - - val recvRamAddr = Reg(UInt(8.W)) - - when( recvStateCurr === 2.U ){ - recvRamAddr := 0.U - } .elsewhen( recvStateCurr === 3.U & recvRamAddr =/= 4.U ){ - recvRamAddr := recvRamAddr + 1.U - } - - - mirrorReg.io.datawB := Mux1H(Seq( - (recvStateCurr === 3.U & recvRamAddr === 0.U) -> (recvHeader >> 16*3), - (recvStateCurr === 3.U & recvRamAddr === 1.U) -> (recvHeader >> 16*2), - (recvStateCurr === 3.U & recvRamAddr === 2.U) -> (recvHeader >> 16*1), - (recvStateCurr === 3.U & recvRamAddr === 3.U) -> (recvHeader >> 16*0), - )) - - - when( recvStateCurr === 3.U & recvRamAddr =/= 4.U ){ - mirrorReg.io.addrB := recvRamAddr - mirrorReg.io.enwB := true.B - } - - - val isTimeout: Bool - isTimeout := - Counter( Range(0, 20000000), enable = recvStateCurr === 1.U | recvStateCurr === 2.U | recvStateCurr === 3.U, reset = recvStateCurr === 0.U | recvStateCurr === 5.U )._2 - - -} - - - - -abstract class ShinMstLinkBase extends ShinMstPhyBase -with ShinMstSend -with ShinMstRecv - - -trait ShinMstInterface{ this: ShinMstLinkBase => - - io.FSMC.ADOEn := ~io.FSMC.rdn & ~io.FSMC.csn & io.FSMC.advn - - val latchAddr = RegEnable( io.FSMC.ADIn, ~io.FSMC.advn & ~io.FSMC.csn) - - val isAccessSRAM = ~latchAddr.extract(11) - val isAccessReg = latchAddr.extract(11) - val isAccessDown = ~latchAddr.extract(10) - val activeAddr = latchAddr(9,0) - - mirrorDown.io.addrA := activeAddr - mirrorDown.io.datawA := io.FSMC.ADIn - mirrorDown.io.enwA := isAccessSRAM & ~io.FSMC.csn & ~io.FSMC.wrn & isAccessDown - mirrorDown.io.enrA := isAccessSRAM & ~io.FSMC.csn & ~io.FSMC.rdn & isAccessDown - - mirrorUp.io.addrA := activeAddr - mirrorUp.io.datawA := io.FSMC.ADIn - mirrorUp.io.enwA := isAccessSRAM & ~io.FSMC.csn & ~io.FSMC.wrn & ~isAccessDown - mirrorUp.io.enrA := isAccessSRAM & ~io.FSMC.csn & ~io.FSMC.rdn & ~isAccessDown - - mirrorReg.io.addrA := activeAddr - mirrorReg.io.datawA := io.FSMC.ADIn - mirrorReg.io.enwA := isAccessReg & ~io.FSMC.csn & ~io.FSMC.wrn - mirrorReg.io.enrA := isAccessReg & ~io.FSMC.csn & ~io.FSMC.rdn - - io.FSMC.ADOut := Mux( isAccessReg, mirrorReg.io.datarA, Mux( isAccessDown, mirrorDown.io.datarA, mirrorUp.io.datarA) ) - - -} - - - - -class ShinMst extends ShinMstLinkBase -with ShinMstInterface - diff --git a/src/main/scala/backBoard/shin/ShinSlv.scala.bk b/src/main/scala/backBoard/shin/ShinSlv.scala.bk deleted file mode 100644 index 96c4f50..0000000 --- a/src/main/scala/backBoard/shin/ShinSlv.scala.bk +++ /dev/null @@ -1,586 +0,0 @@ -package BACK - -import chisel3._ -import chisel3.util._ - -class ShinSlvIO_Bundle extends Bundle{ - - val isOnline = Output(Bool()) - val isLast = Input(Bool()) - val DCIn = Input(Bool()) - - val downSer = new Bundle{ - val out = Output(Bool()) - val in = Input(Bool()) - } - val upSer = new Bundle{ - val out = Output(Bool()) - val in = Input(Bool()) - } - - val overCLK = Input(Bool()) - -} - -abstract class ShinSlvPhyBase extends Module{ - val io: ShinSlvIO_Bundle = IO(new ShinSlvIO_Bundle) - - val downStreamCdrOut = Module(new CDROut with chisel3.util.experimental.InlineInstance) - val downStreamCdrIn = Module(new CDRIn with chisel3.util.experimental.InlineInstance) - - val upStreamCdrOut = Module(new CDROut with chisel3.util.experimental.InlineInstance) - val upStreamCdrIn = Module(new CDRIn with chisel3.util.experimental.InlineInstance) - - io.downSer.out := downStreamCdrOut.io.serDat - downStreamCdrIn.io.serDat := io.downSer.in - downStreamCdrIn.io.overCLK := io.overCLK - - io.upSer.out := upStreamCdrOut.io.serDat - upStreamCdrIn.io.serDat := io.upSer.in - upStreamCdrIn.io.overCLK := io.overCLK - - io.isOnline := true.B - - - val downRegTemp = Reg(Vec( 32, UInt(8.W) )) - val upReg = WireDefault(VecInit((0 until 32).map{i => 0.U(8.W)})) - - val headByte = (new Header_Info_Bundle).getWidth/8 - require( headByte == 8 ) - require( headByte > 4, "At Least 4 more additional cycles to ensure CRC Failure boardcast to next nodes!\n") - - val OpInitByte = 8 - val OpBoardCastByte = 16 - val OpUniCastByte = 32 - - val maxLocalByte = OpInitByte max OpBoardCastByte max OpUniCastByte - - val downForwardFifo = Module( new Queue( new AXIS_Bundle(8), 8 + headByte + 4 ) with chisel3.util.experimental.InlineInstance) - val upForwardFifo = Module( new Queue( new AXIS_Bundle(8), headByte + maxLocalByte + 4 ) with chisel3.util.experimental.InlineInstance) //4 is reserve - - val isLastDevice = Wire(Bool()) - -} - -trait ShinSlvPhyDownStreamRecv{ this: ShinSlvPhyBase => - - val DownRecvStateIdle = 0.U - val DownRecvStateOHead = 1.U - val DownRecvStateSData = 2.U - val DownRecvStateFData = 3.U - val DownRecvStateCRC = 4.U - - - val downOldHead = Reg( new Header_Info_Bundle ) - val downNewHead = Reg( new Header_Info_Bundle ) - val downNewHeadShift = Reg( new Header_Info_Bundle ) - - val downPendBuf= Module( new Queue( new AXIS_Bundle(8), 2, pipe = true, flow = false ) with chisel3.util.experimental.InlineInstance) - downStreamCdrIn.io.axis <> downPendBuf.io.enq - - val downRecvStateNext = Wire( UInt(3.W) ) - val downRecvStateCurr = RegNext( downRecvStateNext, 0.U ) - - val downRecvCnt = Reg(UInt(10.W)) - - - val downLocalDataByte = RegEnable( - Mux1H(Seq( - ( downOldHead.asUInt(3,0) === 0.U) -> OpInitByte.U, ( downOldHead.asUInt(3,0) === 1.U) -> OpBoardCastByte.U, ( downOldHead.asUInt(3,0) === 2.U) -> OpUniCastByte.U, - )), downRecvStateCurr === DownRecvStateOHead & downPendBuf.io.deq.fire & downRecvCnt === 3.U) //Timing Opt - - val isDownStreamError = RegInit( false.B ) - - val downForwardDataByte = downNewHead.length - - val isLastDevice: Bool - - downRecvStateNext := Mux1H(Seq( - (downRecvStateCurr === DownRecvStateIdle ) -> Mux( downPendBuf.io.deq.valid, DownRecvStateOHead, DownRecvStateIdle ), - (downRecvStateCurr === DownRecvStateOHead) -> Mux( downPendBuf.io.deq.fire, Mux( ~downPendBuf.io.deq.bits.tlast, Mux(downRecvCnt === ((headByte)).U, DownRecvStateSData, DownRecvStateOHead), DownRecvStateIdle ), DownRecvStateOHead), - (downRecvStateCurr === DownRecvStateSData) -> Mux( downPendBuf.io.deq.fire, Mux( ~downPendBuf.io.deq.bits.tlast, Mux(downRecvCnt === (downLocalDataByte ), Mux( downRecvCnt === (downOldHead.length - 1.U), DownRecvStateCRC, DownRecvStateFData ), DownRecvStateSData), DownRecvStateIdle ), DownRecvStateSData), - (downRecvStateCurr === DownRecvStateFData) -> Mux( downPendBuf.io.deq.fire, Mux( ~downPendBuf.io.deq.bits.tlast, Mux(downRecvCnt === (downForwardDataByte ) , DownRecvStateCRC, DownRecvStateFData), DownRecvStateIdle ), DownRecvStateFData), - (downRecvStateCurr === DownRecvStateCRC ) -> Mux( downPendBuf.io.deq.fire & downPendBuf.io.deq.bits.tlast, DownRecvStateIdle, DownRecvStateCRC ), - )) - - when( downRecvStateCurr =/= downRecvStateNext ){ - downRecvCnt := 1.U - } .elsewhen( downPendBuf.io.deq.fire ){ - downRecvCnt := downRecvCnt + 1.U - } - - //--------------- - - when( downRecvStateCurr === DownRecvStateOHead & downPendBuf.io.deq.fire ){ - downOldHead := Cat( downOldHead.asUInt.tail(8), downPendBuf.io.deq.bits.tdata ).asTypeOf(new Header_Info_Bundle) - } - - - //--------------- - val isDownNewHeadCreated = downRecvStateCurr === DownRecvStateSData & downRecvStateNext === DownRecvStateFData //新头是由老头产生,担忧会欠拍 - when( isDownNewHeadCreated ){ - downNewHead.length := Mux( downOldHead.length >= downLocalDataByte, downOldHead.length - downLocalDataByte, 0.U ) - downNewHead.operator := downOldHead.operator - downNewHead.param := downOldHead.param - } - - - when( downRecvStateCurr === DownRecvStateSData & downPendBuf.io.deq.fire ){ - downRegTemp(downRecvCnt-1.U) := downPendBuf.io.deq.bits.tdata - } - - //--------------- - downForwardFifo.io.enq.valid := - downRecvStateCurr === DownRecvStateFData & downPendBuf.io.deq.fire & ~isLastDevice - downForwardFifo.io.enq.bits.tdata := downPendBuf.io.deq.bits.tdata - downForwardFifo.io.enq.bits.tuser := downPendBuf.io.deq.bits.tuser - downForwardFifo.io.enq.bits.tlast := downRecvCnt === (downForwardDataByte) | downPendBuf.io.deq.bits.tlast - - downPendBuf.io.deq.ready := - (downRecvStateCurr === DownRecvStateOHead) | - (downRecvStateCurr === DownRecvStateSData) | - (downRecvStateCurr === DownRecvStateFData) | - (downRecvStateCurr === DownRecvStateCRC ) - - when( downRecvStateCurr === DownRecvStateIdle & downRecvStateNext === DownRecvStateOHead){ - isDownStreamError := false.B - } .elsewhen( downForwardFifo.io.enq.fire & downForwardFifo.io.enq.bits.tuser ){ - isDownStreamError := true.B - printf("Warning, Wrong Package Received in DownStream, That could not happened!\n") - } .elsewhen( downRecvStateCurr === DownRecvStateOHead & downRecvStateNext === DownRecvStateIdle ){ - isDownStreamError := true.B - printf("Warning, Wrong Package Received in DownStream, That could not happened!\n") - } .elsewhen( downRecvStateCurr === DownRecvStateSData & downRecvStateNext === DownRecvStateIdle ){ - isDownStreamError := true.B - printf("Warning, Wrong Package Received in DownStream, That could not happened!\n") - } .elsewhen( downRecvStateCurr === DownRecvStateFData & downRecvStateNext === DownRecvStateIdle ){ - isDownStreamError := true.B - printf("Warning, Wrong Package Received in DownStream, That could not happened!\n") - } .elsewhen( downRecvStateCurr === DownRecvStateCRC & downPendBuf.io.deq.fire & downPendBuf.io.deq.bits.tlast & downRecvCnt =/= 4.U ){ - isDownStreamError := true.B - printf("Warning, Wrong Package Received in DownStream, That could not happened!\n") - } .elsewhen( isDownNewHeadCreated & downOldHead.length < downLocalDataByte ){ //本包的负载不能满足本级数据需求,传输错误 - isDownStreamError := true.B - printf("Warning, Wrong Package Received in DownStream, That could not happened!\n") - } .elsewhen( isDownNewHeadCreated & isLastDevice & downOldHead.length =/= downLocalDataByte ){ - printf("Warning, Wrong Package Received in DownStream, SoftWare Check!\n") - } - - - - assert( ~(downRecvStateCurr === DownRecvStateFData & ~downForwardFifo.io.enq.ready), "Assert Failed, downStream Forward Fifo is OverFlow!" ) - - - - -} - -trait ShinSlvPhyDownStreamSend{ this: ShinSlvPhyBase => - val DownSendStateIdle = 0.U - val DownSendStateNHead = 1.U - val DownSendStateFData = 2.U - - val downSendCnt = Reg(UInt(10.W)) - - val isDownNewHeadCreated: Bool - val isLastDevice: Bool - val downForwardDataByte: UInt - val downNewHead: Header_Info_Bundle - val downNewHeadShift: Header_Info_Bundle - val isDownStreamError: Bool - - - val downSendStateNext = Wire( UInt(3.W) ) - val downSendStateCurr = RegNext( downSendStateNext, 0.U ) - - downSendStateNext := Mux1H(Seq( - ( downSendStateCurr === DownSendStateIdle ) -> Mux( isDownNewHeadCreated & ~isLastDevice, DownSendStateNHead, DownSendStateIdle ), - ( downSendStateCurr === DownSendStateNHead ) -> Mux( downSendCnt === ((headByte)).U & downStreamCdrOut.io.axis.fire, DownSendStateFData, DownSendStateNHead ), - ( downSendStateCurr === DownSendStateFData ) -> Mux( downSendCnt === (downForwardDataByte ) & downStreamCdrOut.io.axis.fire, DownSendStateIdle, DownSendStateFData), - )) - - when( downSendStateCurr =/= downSendStateNext ){ - downSendCnt := 1.U - } .elsewhen( downStreamCdrOut.io.axis.fire ){ - downSendCnt := downSendCnt + 1.U - } - - downStreamCdrOut.io.axis.valid := - downSendStateCurr === DownSendStateNHead | downSendStateCurr === DownSendStateFData - - downStreamCdrOut.io.axis.bits.tdata := Mux1H(Seq( - ( downSendStateCurr === DownSendStateNHead ) -> downNewHeadShift.asUInt(63,56), - ( downSendStateCurr === DownSendStateFData ) -> downForwardFifo.io.deq.bits.tdata, - )) - - val downOldHead: Header_Info_Bundle - val downLocalDataByte: UInt - when( isDownNewHeadCreated ){ - downNewHeadShift.length := Mux( downOldHead.length >= downLocalDataByte, downOldHead.length - downLocalDataByte, 0.U ) - downNewHeadShift.operator := downOldHead.operator - downNewHeadShift.param := downOldHead.param - } .elsewhen( downStreamCdrOut.io.axis.fire & downSendStateCurr === DownSendStateNHead ){ - downNewHeadShift := (downNewHeadShift.asUInt << 8).asTypeOf(new Header_Info_Bundle) - } - - downStreamCdrOut.io.axis.bits.tlast := ( downSendStateCurr === DownSendStateFData ) & downForwardFifo.io.deq.bits.tlast - - - downStreamCdrOut.io.axis.bits.tuser := - (( downSendStateCurr === DownSendStateFData ) & downForwardFifo.io.deq.bits.tuser ) | - isDownStreamError - - downForwardFifo.io.deq.ready := - downSendStateCurr === DownSendStateFData & downStreamCdrOut.io.axis.ready - - assert( ~(downStreamCdrIn.io.axis.valid & ~downStreamCdrIn.io.axis.ready) ) -} - -abstract class ShinSlvPhyDownStream extends ShinSlvPhyBase -with ShinSlvPhyDownStreamRecv -with ShinSlvPhyDownStreamSend{ - -} - -trait ShinSlvPhyUpStreamRecv{ this: ShinSlvPhyDownStream => - - val UpRecvStateIdle = 0.U - val UpRecvStateOHead = 1.U - val UpRecvStateFData = 2.U - val UpRecvStateCRC = 3.U - - val upOldHead = Reg( new Header_Info_Bundle ) - val upNewHead = Reg( new Header_Info_Bundle ) - - val upPendBuf= Module( new Queue( new AXIS_Bundle(8), 2, pipe = true, flow = false ) with chisel3.util.experimental.InlineInstance) - upStreamCdrIn.io.axis <> upPendBuf.io.enq - - val upRecvStateNext = Wire( UInt(3.W) ) - val upRecvStateCurr = RegNext( upRecvStateNext, 0.U ) - - val upRecvCnt = Reg(UInt(10.W)) - - val isLastDevice: Bool - - upRecvStateNext := Mux1H(Seq( - (upRecvStateCurr === UpRecvStateIdle ) -> Mux( upPendBuf.io.deq.valid, UpRecvStateOHead, UpRecvStateIdle ), - (upRecvStateCurr === UpRecvStateOHead) -> Mux( upPendBuf.io.deq.fire, Mux( ~upPendBuf.io.deq.bits.tlast, Mux( upRecvCnt === ((headByte)).U, UpRecvStateFData, UpRecvStateOHead), UpRecvStateIdle), UpRecvStateOHead ), - (upRecvStateCurr === UpRecvStateFData) -> Mux( upPendBuf.io.deq.fire, Mux( ~upPendBuf.io.deq.bits.tlast, Mux( upRecvCnt === (upOldHead.length), UpRecvStateCRC, UpRecvStateFData), UpRecvStateIdle), UpRecvStateFData ), - (upRecvStateCurr === UpRecvStateCRC ) -> Mux( upPendBuf.io.deq.fire & upPendBuf.io.deq.bits.tlast, UpRecvStateIdle, UpRecvStateCRC ), - )) - - when( upRecvStateCurr =/= upRecvStateNext){ - upRecvCnt := 1.U - } .elsewhen( upPendBuf.io.deq.fire ){ - upRecvCnt := upRecvCnt + 1.U - } - - - - val isLastDownStreamEnd = ( isLastDevice & (downRecvStateCurr === DownRecvStateCRC & downRecvStateNext === DownRecvStateIdle)) - - - //--------------- - - when( (upRecvStateCurr === UpRecvStateOHead & upPendBuf.io.deq.fire) ){ - // upOldHead := Cat( upOldHead.asUInt.tail(8), upPendBuf.io.deq.bits.tdata ).asTypeOf(new Header_Info_Bundle) - - when( upRecvCnt === 1.U ) { - upOldHead.length := upPendBuf.io.deq.bits.tdata - } .elsewhen( upRecvCnt === 2.U ) { - upOldHead.length := Cat( upOldHead.length, upPendBuf.io.deq.bits.tdata(7,4) ) - upOldHead.operator := upPendBuf.io.deq.bits.tdata(3,0) - } .elsewhen( upRecvCnt === 3.U ){ - upOldHead.param(0) := upPendBuf.io.deq.bits.tdata - } .elsewhen( upRecvCnt === 4.U ){ - upOldHead.param(0) := Cat( upOldHead.param(0), upPendBuf.io.deq.bits.tdata ) - } .elsewhen( upRecvCnt === 5.U ){ - upOldHead.param(1) := upPendBuf.io.deq.bits.tdata - } .elsewhen( upRecvCnt === 6.U ){ - upOldHead.param(1) := Cat( upOldHead.param(1), upPendBuf.io.deq.bits.tdata ) - } .elsewhen( upRecvCnt === 7.U ){ - upOldHead.param(2) := upPendBuf.io.deq.bits.tdata - } .elsewhen( upRecvCnt === 8.U ){ - upOldHead.param(2) := Cat( upOldHead.param(2), upPendBuf.io.deq.bits.tdata ) - } - } .elsewhen( isLastDownStreamEnd ){ - upOldHead.operator := downOldHead.operator - upOldHead.length := 0.U - upOldHead.param := downOldHead.param - } - - - - - - - //--------------- - - - val upLocalDataByte = Mux1H(Seq( - (upOldHead.operator === 0.U) -> OpInitByte.U, - (upOldHead.operator === 1.U) -> OpBoardCastByte.U, - (upOldHead.operator === 2.U) -> OpUniCastByte.U, - )) - - - - val isUpNewHeadCreated = - RegNext(upRecvStateCurr === UpRecvStateOHead & upRecvStateNext === UpRecvStateFData, false.B) | //补一拍 - RegNext(isLastDownStreamEnd, false.B) - - when( isUpNewHeadCreated ){ - upNewHead.length := upOldHead.length + upLocalDataByte - upNewHead.operator := upOldHead.operator - upNewHead.param := upOldHead.param - } - - val upForwardDataByte = upOldHead.length - - - - //--------------- - upForwardFifo.io.enq.valid := - upRecvStateCurr === UpRecvStateFData & upPendBuf.io.deq.fire - upForwardFifo.io.enq.bits.tdata := upPendBuf.io.deq.bits.tdata - upForwardFifo.io.enq.bits.tuser := upPendBuf.io.deq.bits.tuser - upForwardFifo.io.enq.bits.tlast := upRecvCnt === (upForwardDataByte) | upPendBuf.io.deq.bits.tlast - - - upPendBuf.io.deq.ready := - (upRecvStateCurr === UpRecvStateOHead) | - (upRecvStateCurr === UpRecvStateFData) | - (upRecvStateCurr === UpRecvStateCRC ) - - - - - - val isUpStreamError = RegInit( false.B ) - - - when( (upRecvStateCurr === UpRecvStateIdle & upRecvStateNext === UpRecvStateOHead) | isLastDownStreamEnd ){ - isUpStreamError := false.B - } .elsewhen( upForwardFifo.io.enq.fire & upForwardFifo.io.enq.bits.tuser ){ - isUpStreamError := true.B - printf("Warning, Wrong Package Received in UpStream, That could not happened!\n") - } .elsewhen( upRecvStateCurr === UpRecvStateOHead & upRecvStateNext === UpRecvStateIdle ){ - isUpStreamError := true.B - printf("Warning, Wrong Package Received in UpStream, That could not happened!\n") - } .elsewhen( upRecvStateCurr === UpRecvStateFData & upRecvStateNext === UpRecvStateIdle ){ - isUpStreamError := true.B - printf("Warning, Wrong Package Received in UpStream, That could not happened!\n") - } .elsewhen( upRecvStateCurr === UpRecvStateCRC & upPendBuf.io.deq.fire & upPendBuf.io.deq.bits.tlast & upRecvCnt =/= 4.U ){ - isUpStreamError := true.B - printf("Warning, Wrong Package Received in UpStream, That could not happened!\n") - } - - - - assert( ~(upRecvStateCurr === UpRecvStateFData & ~upForwardFifo.io.enq.ready), "Assert Failed, upStream Forward Fifo is OverFlow!" ) - - -} - -trait ShinSlvPhyUpStreamSend{ this: ShinSlvPhyDownStream => - - - val UpSendStateIdle = 0.U - val UpSendStateNHead = 1.U - val UpSendStateLData = 2.U - val UpSendStateFData = 3.U - - - - val upSendStateNext = Wire( UInt(3.W) ) - val upSendStateCurr = RegNext( upSendStateNext, 0.U ) - - val upSendCnt = Reg(UInt(10.W)) - - val isUpNewHeadCreated: Bool - val upLocalDataByte: UInt - val isLastDevice: Bool - val upForwardDataByte: UInt - val upNewHead: Header_Info_Bundle - val isUpStreamError: Bool - - upSendStateNext := Mux1H(Seq( - ( upSendStateCurr === UpSendStateIdle ) -> Mux( isUpNewHeadCreated, UpSendStateNHead, UpSendStateIdle ), - ( upSendStateCurr === UpSendStateNHead ) -> Mux( upSendCnt === ((headByte)).U & upStreamCdrOut.io.axis.fire, UpSendStateLData, UpSendStateNHead), - ( upSendStateCurr === UpSendStateLData ) -> Mux( upSendCnt === (upLocalDataByte) & upStreamCdrOut.io.axis.fire, Mux( isLastDevice, UpSendStateIdle, UpSendStateFData), UpSendStateLData), - ( upSendStateCurr === UpSendStateFData ) -> Mux( upSendCnt === (upForwardDataByte) & upStreamCdrOut.io.axis.fire, UpSendStateIdle, UpSendStateFData), - )) - - when( upSendStateCurr =/= upSendStateNext ){ - upSendCnt := 1.U - } .elsewhen( upStreamCdrOut.io.axis.fire ){ - upSendCnt := upSendCnt + 1.U - } - - - val upNewHeadShift = Reg(new Header_Info_Bundle) - - upStreamCdrOut.io.axis.valid := - upSendStateCurr === UpSendStateNHead | upSendStateCurr === UpSendStateLData | upSendStateCurr === UpSendStateFData - - upStreamCdrOut.io.axis.bits.tdata := Mux1H(Seq( - ( upSendStateCurr === UpSendStateNHead ) -> upNewHeadShift.asUInt(63,56), - ( upSendStateCurr === UpSendStateLData ) -> upReg(upSendCnt-1.U), - ( upSendStateCurr === UpSendStateFData ) -> upForwardFifo.io.deq.bits.tdata, - )) - - val upOldHead: Header_Info_Bundle - when( isUpNewHeadCreated ){ - upNewHeadShift.length := upOldHead.length + upLocalDataByte - upNewHeadShift.operator := upOldHead.operator - upNewHeadShift.param := upOldHead.param - } .elsewhen( upStreamCdrOut.io.axis.fire & upSendStateCurr === UpSendStateNHead ){ - upNewHeadShift := (upNewHeadShift.asUInt << 8).asTypeOf(new Header_Info_Bundle) - } - - - - upStreamCdrOut.io.axis.bits.tlast := ( upSendStateCurr === UpSendStateFData ) & upForwardFifo.io.deq.bits.tlast - - upStreamCdrOut.io.axis.bits.tuser := - (( upSendStateCurr === UpSendStateFData ) & upForwardFifo.io.deq.bits.tuser ) | - isUpStreamError - - upForwardFifo.io.deq.ready := - upSendStateCurr === UpSendStateFData & upStreamCdrOut.io.axis.ready - - assert( ~(upStreamCdrIn.io.axis.valid & ~upStreamCdrIn.io.axis.ready) ) - assert( ~(upSendStateCurr === UpSendStateFData & ~upForwardFifo.io.deq.valid) ) - - val isUpStreamEnd = (upSendStateCurr =/= UpSendStateIdle) & (upSendStateNext === UpSendStateIdle) - -} - - - -// trait ShinSlvPhyCloseLoop{ this: ShinSlvPhyDownStream => -// val isLastDevice: Bool - - -// } - - -abstract class ShinSlvLinkBase extends ShinSlvPhyDownStream -with ShinSlvPhyUpStreamRecv -with ShinSlvPhyUpStreamSend -// with ShinSlvPhyCloseLoop -{ - -} - -trait ShinSlvLinkInit{ this: ShinSlvLinkBase => - //定义初始化任务 - //下行定长包,各从机计算所在位置,更新ip地址寄存器,最后一个暂时通过IO实现闭环 - //以下行包头解析时间,从机位置号,标定数据计算更新RTC时间寄存器 - //上行根据包长,从站确定尾部伙伴数量(备用), - //以上行包头解析时间放置本地时间 - //更新末尾寄存器 - - //热拔出 可以通过 io自动闭环,通过返回包缩短识别 - //热插入 必须带回寄存器信息,重新初始化,多发尾数据将被抛弃 - - //初始化应该下发 64*8 byte数据 对应 length = 512为slv0 504为slv1 ... - - - val isInit = RegInit(false.B) - val isLastInit = RegInit(false.B) - val slvID = Reg(UInt(7.W)) - val slvNum = Reg(UInt(7.W)) - val slvRTC = Reg(UInt(64.W)) - - isLastDevice := isLastInit | io.isLast - - val isLegalInitDownHead = - downOldHead.operator === 0.U & - downOldHead.length(2,0) === "b000".U - - val isDownUpdate = RegInit(false.B) - val isUpUpdate = RegInit(false.B) - - val isLastDownStreamEnd: Bool - val isUpStreamEnd: Bool - val upOldHead: Header_Info_Bundle - val isUpNewHeadCreated: Bool - - - when( (isDownNewHeadCreated | isLastDownStreamEnd) & isLegalInitDownHead ){ - slvID := 64.U - (downOldHead.length >> 3) - isDownUpdate := true.B - } .elsewhen( isUpStreamEnd ){ - isDownUpdate := false.B - } - - when( isUpStreamEnd ){ - slvRTC := upOldHead.length >> 3 //Need Calibration - } .otherwise{ - slvRTC := slvRTC + 1.U - } - - when( isLastDownStreamEnd & isLegalInitDownHead ){ - isLastInit := true.B - } .elsewhen( isDownNewHeadCreated & isLegalInitDownHead ){ - isLastInit := false.B - } - - val isLegalInitUpHead = - upOldHead.operator === 0.U & - upOldHead.length(2,0) === "b000".U - - when( isUpNewHeadCreated ){ - when( isLastDownStreamEnd ){ - slvNum := 65.U - (downOldHead.length >> 3) - isUpUpdate := true.B - } .elsewhen(isLegalInitUpHead){ - slvNum := (slvID + (upOldHead.length >> 3)) + 1.U - isUpUpdate := true.B - } - } .elsewhen( isUpStreamEnd ){ - isUpUpdate := false.B - } - - when( isUpStreamEnd ){ - isInit := ~isDownStreamError & ~isUpStreamError & isDownUpdate & isUpUpdate - } - - val upRegMuxInit = isLegalInitUpHead - when( upRegMuxInit ){ - upReg(0) := slvRTC(7,0) - upReg(1) := slvRTC(15,8) - upReg(2) := slvRTC(23,16) - upReg(3) := slvRTC(31,24) - upReg(4) := slvRTC(39,32) - upReg(5) := slvRTC(47,40) - upReg(6) := slvRTC(55,48) - upReg(7) := slvRTC(63,56) - } - - - -} - - -trait ShinSlvLinkBCast{ this: ShinSlvLinkBase => - -} - -trait ShinSlvLinkUCast{ this: ShinSlvLinkBase => - -} - -class ShinSlvBase extends ShinSlvLinkBase -with ShinSlvLinkInit -with ShinSlvLinkBCast -with ShinSlvLinkUCast{ - assert( VecInit(upRegMuxInit).count((x:Bool) => (x === true.B)) <= 1.U, "Assert Failed, upReg Collision Used!\n" ) - - - val led = IO(UInt(8.W)) - led := RegEnable( 1.U << slvID, 0.U, ~RegNext(isInit) & isInit) -} - - diff --git a/src/main/scala/backBoard/shin/ShinTop.scala b/src/main/scala/backBoard/shin/ShinTop.scala index 6dba0b7..84233a2 100644 --- a/src/main/scala/backBoard/shin/ShinTop.scala +++ b/src/main/scala/backBoard/shin/ShinTop.scala @@ -454,7 +454,7 @@ with ShinTopSlave with ShinTopWatchDog{ when( interface.io.cReg.modeSel === false.B ){ //slave - when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) ){ //硬件错误 + when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 downCDRIn.io.serDat := false.B upCDRIn.io.serDat := false.B when( slaveParser.io.isLoop ){ //回环 diff --git a/src/main/scala/backBoard/shin/SlaveParser.scala b/src/main/scala/backBoard/shin/SlaveParser.scala index 57b3073..8b2081b 100644 --- a/src/main/scala/backBoard/shin/SlaveParser.scala +++ b/src/main/scala/backBoard/shin/SlaveParser.scala @@ -448,20 +448,6 @@ trait SlaveParserIndex{ this: SlaveParserBase => } } - - // when( downRecParser.io.subMsgHeadReq.fire & - // downRecParser.io.subMsgHeadReq.bits.devIndex === 0.U & - // downRecParser.io.subMsgHeadReq.bits.style === 0.U & - // downRecParser.io.subMsgHeadReq.bits.operator === SUBMSG_OPERATOR_INDEX ){ //设置顺序地址 - // localDevIndex := downRecParser.io.subMsgHeadReq.bits.workCnt + 1.U - // indexOfRightDev := Mux(isLastDevice, 0.U, downRecParser.io.subMsgHeadReq.bits.workCnt + 2.U) - // when( isDownRecPing ){ - // downSubMsgHeadInfo(0).workCnt := downRecParser.io.subMsgHeadReq.bits.workCnt + 1.U - // } .otherwise{ //pong - // downSubMsgHeadInfo(1).workCnt := downRecParser.io.subMsgHeadReq.bits.workCnt + 1.U - // } - // } - } @@ -520,19 +506,19 @@ trait SlaveParserRW{ this: SlaveParserBase => val isDownLgcAddrwAcquireTrans = //是否触发地址转换 - (downTransLenCnt === 0.U) & ( (0 until 8).map{ i => + (downTransLenCnt === 0.U) & ( (0 until 16).map{ i => sReg.ebmmu(i).isEnable & (sReg.ebmmu(i).EBMMU_OP_WR || sReg.ebmmu(i).EBMMU_OP_RW) & (logicAddrwNext === sReg.ebmmu(i).lAddr) }.reduce(_|_)) val acquireDownPhyAddrw = Mux1H( //选择一个ebmmu - (0 until 8).map{ i => + (0 until 16).map{ i => (sReg.ebmmu(i).isEnable & (sReg.ebmmu(i).EBMMU_OP_WR || sReg.ebmmu(i).EBMMU_OP_RW) & (logicAddrwNext === sReg.ebmmu(i).lAddr)) -> sReg.ebmmu(i).pAddr } ) val acquireDownTransLen = Mux1H( //选择一个ebmmu - (0 until 8).map{ i => + (0 until 16).map{ i => (sReg.ebmmu(i).isEnable & (sReg.ebmmu(i).EBMMU_OP_WR || sReg.ebmmu(i).EBMMU_OP_RW) & (logicAddrwNext === sReg.ebmmu(i).lAddr)) -> sReg.ebmmu(i).length } @@ -645,19 +631,19 @@ trait SlaveParserRW{ this: SlaveParserBase => val isUpLgcAddrrAcquireTrans = //是否触发地址转换 - (upTransLenCnt === 0.U) & ( (0 until 8).map{ i => + (upTransLenCnt === 0.U) & ( (0 until 16).map{ i => sReg.ebmmu(i).isEnable & (sReg.ebmmu(i).EBMMU_OP_RD || sReg.ebmmu(i).EBMMU_OP_RW) & (logicAddrrNext === sReg.ebmmu(i).lAddr) }.reduce(_|_)) val acquireUpPhyAddrr = Mux1H( //选择一个ebmmu - (0 until 8).map{ i => + (0 until 16).map{ i => (sReg.ebmmu(i).isEnable & (sReg.ebmmu(i).EBMMU_OP_RD || sReg.ebmmu(i).EBMMU_OP_RW) & (logicAddrrNext === sReg.ebmmu(i).lAddr)) -> sReg.ebmmu(i).pAddr } ) val acquireUpTransLen = Mux1H( //选择一个ebmmu - (0 until 8).map{ i => + (0 until 16).map{ i => (sReg.ebmmu(i).isEnable & (sReg.ebmmu(i).EBMMU_OP_RD || sReg.ebmmu(i).EBMMU_OP_RW) & (logicAddrrNext === sReg.ebmmu(i).lAddr)) -> sReg.ebmmu(i).length } @@ -827,27 +813,6 @@ trait SlaveParserRW{ this: SlaveParserBase => trait SlaveParserSync{ this: SlaveParserBase => - // when( upRecParser.io.subMsgTailReq.fire ){ - // when( isUpRecPing ){ - // //override - // when( - // ( ( (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_UNIREAD ) | (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_UNIRDWR ) ) & ((upSubMsgHeadInfo(0).isSeqIndex & upSubMsgHeadInfo(0).devIndex === localDevIndex) || (upSubMsgHeadInfo(0).isLgcIndex & isUpLgcWorked =/= 0.U ) ) ) | - // ( ( (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_BOARDREAD) | (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_BOARDRDWR) ) ) - // ){ //自身包//读或读写 - // upSubMsgTailInfo(0).workCnt := upRecParser.io.subMsgTailReq.bits.workCnt + 1.U - // } - // } .otherwise{ - // //override - // when( - // ( ( (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_UNIREAD ) | (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_UNIRDWR ) ) & ((upSubMsgHeadInfo(1).isSeqIndex & upSubMsgHeadInfo(1).devIndex === localDevIndex) || (upSubMsgHeadInfo(1).isLgcIndex & isUpLgcWorked =/= 0.U ) ) ) | - // ( ( (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_BOARDREAD) | (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_BOARDRDWR) ) ) - // ){ //自身包//读或读写 ) - // upSubMsgTailInfo(1).workCnt := upRecParser.io.subMsgTailReq.bits.workCnt + 1.U - // } - // } - // } - - //下行接收 when( downRecParser.io.subMsgTailReq.fire ){ when( isDownRecPing ){ @@ -958,17 +923,9 @@ trait SlaveParserSync{ this: SlaveParserBase => trait SlaveParserProbe{ this: SlaveParserBase => - - // val ProbeRecAim = 511.U val probeRecCnt = RegInit(0.U(9.W)) val isWatchDogOverflow = probeRecCnt.andR - - - - - // val isReadyToProbe_Pending = RegInit(false.B) - when( downRecParser.io.frameReq.fire & downRecParser.io.frameReq.bits.frameStyle === FRAME_STYLE_PROBE ){ //下行来了一个嗅探包 isReadyToProbe := true.B when( downSendGen.io.stateCurr =/= STATE_IDLE ){ @@ -986,10 +943,6 @@ trait SlaveParserProbe{ this: SlaveParserBase => isAckProbe := false.B } - - - // val isLastDevice = RegInit(true.B) - when( upRecParser.io.frameReq.fire & upRecParser.io.frameReq.bits.frameStyle === FRAME_STYLE_PROBE ){ //上行来了一个嗅探包 isLastDevice := false.B } .elsewhen( isWatchDogOverflow ){ @@ -997,9 +950,6 @@ trait SlaveParserProbe{ this: SlaveParserBase => } - - - when( upRecParser.io.frameReq.fire & upRecParser.io.frameReq.bits.frameStyle === FRAME_STYLE_PROBE ){ //上行来了一个嗅探包 probeRecCnt := 0.U } .elsewhen( isWatchDogOverflow ){ @@ -1031,14 +981,6 @@ trait SlaveParserProbe{ this: SlaveParserBase => io.isLoop := isLastDevice & ~isReadyToProbe - - // when( isLastDevice =/= isLastDevice_Pending & ~downSendGen.io.send.valid & ~io.downOut.valid & ~io.upIn.valid ){ - // isLastDevice := isLastDevice_Pending - // } - - // when( isReadyToProbe =/= isReadyToProbe_Pending & ~downSendGen.io.send.valid & ~io.downOut.valid & ~io.upIn.valid ){ - // isReadyToProbe := isReadyToProbe_Pending - // } } class SlaveParser extends SlaveParserBase @@ -1055,9 +997,6 @@ with SlaveParserProbe{ upRecParser.reset := reset.asBool | io.intHWClr(1) upSendGen.reset := reset.asBool | io.intHWClr(1) - //downRecParser.io.resp := io.intHWClr(0) - //upRecParser.io.resp := io.intHWClr(1) - io.downRecStat := downRecParser.io.stat io.upRecStat := upRecParser.io.stat } diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 021845d..6ea6504 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -74,8 +74,6 @@ module ShinTopSpiTb( reg latch0; reg latch1; - - ShinTop s_ShinTop_Mst( .clock(clock), .reset(reset | isSoftReset[0]), diff --git a/tb/shinTest/check_testcase.py b/tb/shinTest/check_testcase.py index c2d0c81..a8be670 100755 --- a/tb/shinTest/check_testcase.py +++ b/tb/shinTest/check_testcase.py @@ -88,7 +88,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 diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index e38ae93..50a4ea8 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -26,6 +26,16 @@ if __name__ == '__main__': #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(broadcast.tc1()) @@ -55,9 +65,12 @@ if __name__ == '__main__': #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.tc1()) environment.teardown() diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index ba396ba..8c55515 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -1126,4 +1126,266 @@ def tc14(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + return gen_file_def + + +def tc_wr_sm(tc_id, wr_sm_idx): + genPkt = GenPkt() + + gen_file_def = f"base_tc{tc_id}_wr_sm{wr_sm_idx}" + sm_idx = 0 + tc_des = f"读写SM{wr_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \ + + "检查是否真的写入,子报文的状态。目前即使SM0、2、4、6满了,处于溢出状态,硬件难以判断是否能提交数据。\\n"\ + + "目前只要地址、长度正确,即使无法写入,工作计数也会加1。工作计数不能反应报文与SMx的互动关系。" + + #------------------------------------------------------------------------- + #>>>>>>普通数据包3 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0, 0, 0x0302 + wr_sm_idx * 0x4, 0xe, 2, [32, 0]) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(0, 32))) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(32, 64))) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(64, 96))) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(96, 128))) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(128, 160))) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(160, 192))) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(192, 224))) + genPkt.addSubPkt(0, 0, 0x0800 + wr_sm_idx * 0x0800, 0xe, 32, list(range(224, 256))) + + 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) + + +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) + + +genSlvSMReadData(1, wr_sm_idx, 32) + +genSlvSMReadData(2, wr_sm_idx, 32) + +genSlvSMReadData(3, wr_sm_idx, 32) + +genSlvSMReadData(4, wr_sm_idx, 32) + + +genSlvSMReadData(1, wr_sm_idx, 32) + +genSlvSMReadData(2, wr_sm_idx, 32) + +genSlvSMReadData(3, wr_sm_idx, 32) + +genSlvSMReadData(4, wr_sm_idx, 32) + + +genSlvSMReadData(1, wr_sm_idx, 32) + +genSlvSMReadData(2, wr_sm_idx, 32) + +genSlvSMReadData(3, wr_sm_idx, 32) + +genSlvSMReadData(4, wr_sm_idx, 32) + + +genSlvSMReadData(1, wr_sm_idx, 32) + +genSlvSMReadData(2, wr_sm_idx, 32) + +genSlvSMReadData(3, wr_sm_idx, 32) + +genSlvSMReadData(4, wr_sm_idx, 32) + + +genSlvSMReadData(1, wr_sm_idx, 32) + +genSlvSMReadData(2, wr_sm_idx, 32) + +genSlvSMReadData(3, wr_sm_idx, 32) + +genSlvSMReadData(4, wr_sm_idx, 32) + + +genTcEndFrameCode(gen_file_def)) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + return gen_file_def + + +def tc_rd_sm(tc_id, rd_sm_idx): + genPkt = GenPkt() + + gen_file_def = f"base_tc{tc_id}_rd_sm{rd_sm_idx}" + sm_idx = 0 + tc_des = f"读写SM{rd_sm_idx}缓冲区超过缓冲区的元素上限,期望结果,超出缓冲区的数据不被接收,工作计数不加。\\n" \ + + "检查是否真的写入,子报文的状态。目前即使SM1、3、5、7空了,没有数据,硬件难以判断是否存在数据。\\n"\ + + "目前只要地址、长度正确,即使无法读取,工作计数也会加1。工作计数不能反应报文与SMx的互动关系。" + + #------------------------------------------------------------------------- + #>>>>>>普通数据包3 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + #genPkt.addSubPkt(0, 0, 0x0302, 0xd, 2, [32, 0]) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + genPkt.addSubPkt(0, 0, 0x0800 + rd_sm_idx * 0x0800, 0xd, 32, [0,]*32) + sm_idx = 0 + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(0, 32))) + +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(32, 64))) + +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(64, 96))) + +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(96, 128))) + +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))) + + +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(0, 32))) + +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(32, 64))) + +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(64, 96))) + +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(96, 128))) + +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))) + + +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(0, 32))) + +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(32, 64))) + +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(64, 96))) + +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(96, 128))) + +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))) + + + +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(0, 32))) + +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(32, 64))) + +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(64, 96))) + +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(96, 128))) + +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))) + ) + + 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 + + +def tc15(): + return tc_wr_sm(15, 0) + +def tc16(): + return tc_rd_sm(16, 1) + +def tc17(): + return tc_wr_sm(17, 2) + +def tc18(): + return tc_rd_sm(18, 3) + +def tc19(): + return tc_wr_sm(19, 4) + +def tc20(): + return tc_rd_sm(20, 5) + +def tc21(): + return tc_wr_sm(21, 6) + +def tc22(): + return tc_rd_sm(22, 7) + +def tc23(): + genPkt = GenPkt() + + gen_file_def = "base_tc23" + sm_idx = 0 + tc_des = "使用广播读写命令,读取SM0的长度寄存器;测试工作计数。\\n" + + #------------------------------------------------------------------------- + #>>>>>>普通数据包2 + genPkt.clean() + genPkt.setPktType(0) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + ) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0, 0, 0x0302, 0xf, 2, [32, 0]) + + sm_idx = 0 + + 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 diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index 4f35262..354d5f3 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -6,7 +6,7 @@ def tc1(): gen_file_def = "ebmmu_tc01" sm_idx = 0 tc_des = "每个从站都使用ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,每个设备占10个字节,\\n" \ - + "映射0x200~0x20a,中间无字节空洞。主站使用1包数据,将4个设备的数据一次性读上来。\\n"\ + + "映射0x200~0x20a,中间无字节空洞。主站使用1个子包,将4个设备的数据一次性读上来。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #------------------------------------------------------------------------- @@ -38,7 +38,28 @@ def tc1(): 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, 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) @@ -60,7 +81,29 @@ def tc1(): 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)) + +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) @@ -80,6 +123,28 @@ def tc1(): +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) ) @@ -94,7 +159,7 @@ def tc2(): gen_file_def = "ebmmu_tc02" sm_idx = 0 tc_des = "每个从站都使用ebmmu[1],共4个mmu,从0x2000_0000位置向后对齐,每个设备占16个字节,\\n" \ - + "映射0x00~0x10,中间无字节空洞。主站使用1包数据,将4个设备的数据一次性读上来。\\n"\ + + "映射0x00~0x10,中间无字节空洞。主站使用1个子包,将4个设备的数据一次性读上来。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #------------------------------------------------------------------------- @@ -126,7 +191,28 @@ def tc2(): 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, 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) @@ -148,7 +234,28 @@ def tc2(): 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)) + +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) @@ -168,6 +275,28 @@ def tc2(): +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) @@ -180,8 +309,8 @@ def tc3(): gen_file_def = "ebmmu_tc03" sm_idx = 0 - tc_des = "每个从站都使用ebmmu[2],共4个mmu,从0x1000_0028位置向后对齐,每个设备占12个字节,\\n" \ - + "映射0x00~0x0c, 中间无字节空洞。使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站都使用ebmmu[0]和ebmmu[2],共8个mmu,从0x1000_0000位置向后对齐,每个设备占22个字节,\\n" \ + + "先依次映射0x200~0x20a, 然后依次映射0x000~0x00c,中间无字节空洞。使用1个子包,将4个设备的数据一次性读上来。\\n"\ + "注意:该测试用例读取时是从0x1000_0000开始读取的\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" @@ -233,7 +362,28 @@ def tc3(): 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, 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) @@ -253,6 +403,28 @@ def tc3(): +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) @@ -264,8 +436,8 @@ def tc4(): gen_file_def = "ebmmu_tc04" sm_idx = 0 - tc_des = "每个从站使用ebmmu[3],共4个mmu,从0x1000_0058位置向后对齐,\\n" \ - + "分别占用不同大小的空间。使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站使用ebmmu[3],共4个mmu,从0x1000_0058位置向后对齐,映射设备1的SM1、设备2的SM3、\\n" \ + + "设备3的SM5、设备4的SM7,分别占用不同大小的空间。使用1个子包,将4个设备的数据一次性读上来。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #------------------------------------------------------------------------- @@ -308,7 +480,28 @@ def tc4(): 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, 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) @@ -328,6 +521,27 @@ def tc4(): +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) ) @@ -341,20 +555,15 @@ def tc5(): gen_file_def = "ebmmu_tc05" sm_idx = 0 - tc_des = "每个从站使用ebmmu[3],共4个mmu,从0x1000_0058位置向后对齐,\\n" \ - + "分别占用不同大小的空间。使用1包数据,将4个设备的数据一次性读上来。由于从站没有数据,读上来全是随机数据。\\n" - - + tc_des = "每个从站使用ebmmu[3],共4个mmu,从0x1000_0058位置向后对齐,映射设备1的SM1、设备2的SM3、\\n" \ + + "设备3的SM5、设备4的SM7,分别占用不同大小的空间。使用1个子包,将4个设备的数据一次性读上来。\\n"\ + + "由于没有写入数据,读上来的数据全部是无效数据。\\n"\ + + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" + genPkt.clean() genPkt.setPktType(0) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) - ''' - + genSlvSMWriteData(1, 1, 0x80) - + genSlvSMWriteData(2, 3, 0x98) - + genSlvSMWriteData(3, 5, 0x81) - + genSlvSMWriteData(4, 7, 0x8c)) - ''' #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 @@ -385,7 +594,28 @@ def tc5(): 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, 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) @@ -406,6 +636,26 @@ def tc5(): +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) @@ -417,8 +667,8 @@ def tc6(): gen_file_def = "ebmmu_tc06" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站测试1个ebmmu[4],共4个mmu,从0x1000_027d位置向后对齐,每个设备占128个字节。\\n" \ + + "主站使用1个子包,将4个设备的数据一次性读上来。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #-------------------------------------------------------------------------- @@ -465,7 +715,28 @@ def tc6(): 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, 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) @@ -498,6 +769,26 @@ def tc6(): +genSlvSMReadData(2, 0, 0x80) +genSlvSMReadData(3, 0, 0x80) +genSlvSMReadData(4, 0, 0x80) + +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) @@ -510,8 +801,8 @@ def tc7(): gen_file_def = "ebmmu_tc07" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站测试1个ebmmu[4],共4个mmu,从0x2000_027d位置向后对齐,映射每个设备的SM0,\\n" \ + + "每个设备占128个字节。主站使用1个子包,将4个设备的数据一次性写入。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" @@ -533,19 +824,21 @@ def tc7(): data = [0,] * 30 addr = addr + 0x80 #print(hex(addr)) - setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x80, 0x3, 0x0) + setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x80, 0x3, 0x1) genPkt.addSubPkt(0x2, 0, 0x0228, 0x1, 10, data) data = [0,] * 30 addr = addr + 0x80 + #print(hex(addr)) setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x80, 0x3, 0x1) genPkt.addSubPkt(0x3, 0, 0x0228, 0x1, 10, data) data = [0,] * 30 addr = addr + 0x80 - setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x80, 0x3, 0x0) + #print(hex(addr)) + setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x80, 0x3, 0x1) genPkt.addSubPkt(0x4, 0, 0x0228, 0x1, 10, data) data = [0,] * 2 @@ -561,7 +854,28 @@ def tc7(): 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, 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) @@ -594,6 +908,26 @@ def tc7(): +genSlvSMReadData(2, 0, 0x80) +genSlvSMReadData(3, 0, 0x80) +genSlvSMReadData(4, 0, 0x80) + +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) @@ -605,8 +939,8 @@ def tc8(): gen_file_def = "ebmmu_tc08" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站都使用ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,每个设备都映射0x800,每个设备占128个字节。\\n" \ + + "主站使用1个子包,将4个设备的数据一次性写下去。相当于使用单播命令模拟广播命令。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #-------------------------------------------------------------------------- @@ -621,14 +955,13 @@ def tc8(): addr = addr_off + 0x0 setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x80, 0x1, 0x1) - genPkt.addSubPkt(0x1, 0, 0x0200, 0xe, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0xe, 160, data) data = [0,] * 2 data[0] = 0x80 data[1] = 0x00 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) - #gen_file_def = "ebmmu_tc8_settings" sm_idx = 0 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) @@ -636,7 +969,28 @@ def tc8(): 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, 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) @@ -664,6 +1018,26 @@ def tc8(): +genSlvSMReadData(2, 0, 0x80) +genSlvSMReadData(3, 0, 0x80) +genSlvSMReadData(4, 0, 0x80) + +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) @@ -676,8 +1050,8 @@ def tc9(): gen_file_def = "ebmmu_tc09" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站都使用ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,全部映射SM0,每个设备占256个字节。\\n" \ + + "主站使用1个子包,将4个设备的数据写下去,报文长度超过1KB,相当于使用单播变广播。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #-------------------------------------------------------------------------- @@ -692,7 +1066,7 @@ def tc9(): addr = addr_off + 0x0 setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x0100, 0x2, 0x1) - genPkt.addSubPkt(0x1, 0, 0x0200, 0xe, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0xe, 160, data) data = [0,] * 2 data[0] = 0x00 @@ -706,7 +1080,28 @@ def tc9(): 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, 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) @@ -735,6 +1130,26 @@ def tc9(): +genSlvSMReadData(2, 0, 0x100) +genSlvSMReadData(3, 0, 0x100) +genSlvSMReadData(4, 0, 0x100) + +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) ) @@ -748,8 +1163,8 @@ def tc10(): gen_file_def = "ebmmu_tc10" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站都使用ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,映射SM0,每个设备占256个字节。\\n" \ + + "使用1包数据,将4个设备的数据一次性写下去;连续写2次。检查SM0的状态是否包含2包数据。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #-------------------------------------------------------------------------- @@ -764,7 +1179,7 @@ def tc10(): addr = addr_off + 0x0 setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x0800, 0x0100, 0x2, 0x1) - genPkt.addSubPkt(0x1, 0, 0x0200, 0xe, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0xe, 160, data) data = [0,] * 2 data[0] = 0x00 @@ -778,7 +1193,28 @@ def tc10(): 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, 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) @@ -799,6 +1235,26 @@ def tc10(): +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) @@ -835,6 +1291,26 @@ def tc10(): +genSlvSMReadData(4, 0, 0x100) +genIFRwDataCode(4, 0x300, False, 0x20) +genSlvSMReadData(4, 0, 0x100) + +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) @@ -847,8 +1323,8 @@ def tc11(): gen_file_def = "ebmmu_tc11" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站都使用ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,依次映射每个设备的SM1,占256个字节。\\n" \ + + "每个设备准备了2个元素的数据,使用1个子包,将4个设备的数据一次性读上来,数据超过1KB。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #-------------------------------------------------------------------------- @@ -864,7 +1340,7 @@ def tc11(): taddr = addr + addr_off setting_ebmmu_regs(data, 0, taddr, 0x1000, 0x100, 0x1, 0x1) - genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 addr_off = addr_off + 0x100 @@ -873,7 +1349,7 @@ def tc11(): taddr = addr + addr_off #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 0, taddr, 0x1000, 0x100, 0x1, 0x1) - genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -884,7 +1360,7 @@ def tc11(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 0, taddr, 0x1000, 0x100, 0x1, 0x1) - genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -894,7 +1370,7 @@ def tc11(): taddr = addr + addr_off #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 0, taddr, 0x1000, 0x100, 0x1, 0x1) - genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 data[0] = 0x00 @@ -908,7 +1384,28 @@ def tc11(): 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, 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) @@ -936,6 +1433,26 @@ def tc11(): + genIFRwDataCode(2, 0x300, False, 0x20) + genIFRwDataCode(3, 0x300, False, 0x20) + genIFRwDataCode(4, 0x300, False, 0x20) + +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) ) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -954,6 +1471,26 @@ def tc11(): +genIFRwDataCode(2, 0x300, False, 0x20) +genIFRwDataCode(3, 0x300, False, 0x20) +genIFRwDataCode(4, 0x300, False, 0x20) + +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) @@ -977,6 +1514,26 @@ def tc11(): +genIFRwDataCode(2, 0x300, False, 0x20) +genIFRwDataCode(3, 0x300, False, 0x20) +genIFRwDataCode(4, 0x300, False, 0x20) + +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) ) @@ -989,8 +1546,8 @@ def tc12(): gen_file_def = "ebmmu_tc12" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站使用ebmmu[0、1、2、3],从0x1000_0000位置向后对齐,分个MMU映射SM1、SM3、SM5、SM7,\\n" \ + + "每个SM占8个字节。设备侧准备好数据,使用1个子包,将4个设备的数据一次性读上来。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" @@ -1025,7 +1582,7 @@ def tc12(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 3, taddr, 0x4000, sm_size, 0x1, 0x1) - genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1050,7 +1607,7 @@ def tc12(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 3, taddr, 0x4000, sm_size, 0x1, 0x1) - genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1076,7 +1633,7 @@ def tc12(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 3, taddr, 0x4000, sm_size, 0x1, 0x1) - genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1102,7 +1659,7 @@ def tc12(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 3, taddr, 0x4000, sm_size, 0x1, 0x1) - genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -1132,7 +1689,28 @@ def tc12(): 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, 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) @@ -1169,6 +1747,26 @@ def tc12(): + genIFRwDataCode(4, 0x2000, True, sm_size, data2) + genIFRwDataCode(4, 0x3000, True, sm_size, data1) + genIFRwDataCode(4, 0x4000, True, sm_size, data0) + +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) ) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1187,6 +1785,26 @@ def tc12(): +genIFRwDataCode(2, 0x300, False, 0x20) +genIFRwDataCode(3, 0x300, False, 0x20) +genIFRwDataCode(4, 0x300, False, 0x20) + +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) ) @@ -1200,8 +1818,8 @@ def tc13(): gen_file_def = "ebmmu_tc13" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站测使用前8个ebmmu,从0x1000_0000位置向后对齐,每两个ebmmu映射一个SM,每个设备占8个字节。\\n" \ + + "中间无字节空洞。如ebmmu[0]、ebmmu[1]分别映射SM1的前4个字节和后4个字节。使用1子包,将4个设备的数据一次性读上来。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" #-------------------------------------------------------------------------- @@ -1236,7 +1854,7 @@ 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(0x1, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1262,7 +1880,7 @@ 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(0x2, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1289,7 +1907,7 @@ 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(0x3, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1316,7 +1934,7 @@ 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, 80, data) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -1345,7 +1963,28 @@ def tc13(): 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, 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) @@ -1400,6 +2039,26 @@ def tc13(): +genIFRwDataCode(2, 0x300, False, 0x20) +genIFRwDataCode(3, 0x300, False, 0x20) +genIFRwDataCode(4, 0x300, False, 0x20) + +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) ) @@ -1413,8 +2072,8 @@ def tc14(): gen_file_def = "ebmmu_tc14" sm_idx = 0 - tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \ - + "使用1包数据,将4个设备的数据一次性读上来。\\n"\ + tc_des = "每个从站使用4个ebmmu,从0x1000_0000位置向后对齐,分别映射SM0/2/4/6,每个设备占8个字节。\\n" \ + + "中间无字节空洞,使用1个子包,将4个设备的数据一次性写下去。\\n"\ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" @@ -1445,7 +2104,7 @@ def tc14(): taddr = addr + addr_off setting_ebmmu_regs(data, 3, taddr, 0x3800, sm_size, 0x2, 0x1) - genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1466,7 +2125,7 @@ def tc14(): taddr = addr + addr_off setting_ebmmu_regs(data, 3, taddr, 0x3800, sm_size, 0x2, 0x1) - genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1488,7 +2147,7 @@ def tc14(): taddr = addr + addr_off setting_ebmmu_regs(data, 3, taddr, 0x3800, sm_size, 0x2, 0x1) - genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1510,7 +2169,7 @@ def tc14(): taddr = addr + addr_off setting_ebmmu_regs(data, 3, taddr, 0x3800, sm_size, 0x2, 0x1) - genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -1540,7 +2199,28 @@ def tc14(): 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, 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) @@ -1584,6 +2264,26 @@ def tc14(): +genIFRwDataCode(2, 0x300, False, 0x20) +genIFRwDataCode(3, 0x300, False, 0x20) +genIFRwDataCode(4, 0x300, False, 0x20) + +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) ) @@ -1596,7 +2296,8 @@ def tc15(): gen_file_def = "ebmmu_tc15" sm_idx = 0 - tc_des = "测试8个ebmmu全配置下运行,每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入,\\n" \ + tc_des = "测试16个ebmmu全配置下运行,每4个ebmmu对应一个SM,映射4个字节。分别映射SM0/2/4/6, \\n" \ + + "每个映射了16个字节。中间无字节空洞。使用1个子包,将数据写下去。每个ebmmu必须对齐、足长的写入,\\n" \ + "对应的sm才能正常工作。QSPI/SPI侧能正常的读到相关的数据。" #-------------------------------------------------------------------------- @@ -1612,50 +2313,124 @@ def tc15(): data = [0,] * 256 taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) - + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 - genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) - + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 - genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1663,25 +2438,62 @@ def tc15(): addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) - + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 - genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1689,25 +2501,62 @@ def tc15(): addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) - + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #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, 80, data) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -1735,7 +2584,28 @@ def tc15(): 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, 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) @@ -1779,6 +2649,27 @@ def tc15(): +genIFRwDataCode(2, 0x300, False, 0x20) +genIFRwDataCode(3, 0x300, False, 0x20) +genIFRwDataCode(4, 0x300, False, 0x20) + +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) ) @@ -1791,9 +2682,9 @@ def tc16(): gen_file_def = "ebmmu_tc16" sm_idx = 0 - tc_des = "测试8个ebmmu全配置下运行,每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入,\\n" \ - + "对应的sm才能正常工作。两次写入数据,复位设备1的SM1,SM1状态复原,不能读取到有效的数据。\\n"\ - + "测试用例能成功运行完毕,除设备1的SM1,其余的SMx都能获得正确的数据。\\n\\n" \ + tc_des = "测试16个ebmmu全配置下运行,每4个ebmmu对应一个sm,映射4个字节。映射了sm0/2/4/6,共16个字节。\\n" \ + + "每个ebmmu必须对齐、足长的写入,对应的sm才能正常工作。两次写入数据,复位设备1的SM1,SM1状态复原,\\n"\ + + "第二次设备1的SM0不能读取到有效的数据。测试用例能成功运行完毕,除设备1的SM0,其余的SMx都能获得正确的数据。\\n" \ + "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" genPkt.clean() @@ -1807,50 +2698,128 @@ def tc16(): data = [0,] * 256 taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 - genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 - genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1858,25 +2827,64 @@ def tc16(): addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 - genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data) + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1884,25 +2892,64 @@ def tc16(): addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x0800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + addr_off = addr_off + sm_size taddr = addr + addr_off - setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1) - setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1) + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #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, 80, data) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -1931,7 +2978,28 @@ def tc16(): 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, 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) @@ -2002,7 +3070,1132 @@ def tc16(): +genIFRwDataCode(2, 0x300, False, 0x20) +genIFRwDataCode(3, 0x300, False, 0x20) +genIFRwDataCode(4, 0x300, False, 0x20) + +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 + +def tc17(): + genPkt = GenPkt() + + gen_file_def = "ebmmu_tc17" + sm_idx = 0 + tc_des = "测试17个ebmmu全配置下运行,每4个ebmmu对应一个SM,映射4个字节。分别映射SM1/3/5/7, \\n" \ + + "每个映射了16个字节。中间无字节空洞。使用1个子包,将数据读上来。每个ebmmu必须对齐、足长的写入,\\n" \ + + "对应的sm才能正常工作。QSPI/SPI侧能正常的读到相关的数据。" + + #-------------------------------------------------------------------------- + #>>>>>>设置EB-MMU,测试用例15,读,检查权限 + genPkt.clean() + genPkt.setPktType(0) + + addr = 0x10000000 + addr_off = 0x0 + sm_size = 16 + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x4000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x4000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) + + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x4000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) + + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x4000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #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) + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x306, 0xe, 2, data) + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x30e, 0xe, 2, data) + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x316, 0xe, 2, data) + + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) + + 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) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + #>>>>>>用EB-MMU方式读取EB-MMU设置, 15 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [(i & 0xff) for i in range(sm_size * 16)] + + gen_file_def_ap = gen_file_def + "_rw" + sm_idx = 0 + + genPkt.addSubPkt(0x1000, 2, 0, 0x0, sm_size * 16, data) + + genPkt.addBeforeExc(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))) + +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))) + +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))) + +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))) + +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) + + +genTcEndFrameCode(gen_file_def) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + return gen_file_def + + +def tc18(): + genPkt = GenPkt() + + gen_file_def = "ebmmu_tc18" + sm_idx = 0 + tc_des = "测试17个ebmmu全配置下运行,每4个ebmmu对应一个SM,映射4个字节。分别映射SM1/3/4/6, \\n" \ + + "每个映射了16个字节。中间无字节空洞。使用1个子包,将数据读写上来。每个ebmmu必须对齐、足长的写入,\\n" \ + + "对应的sm才能正常工作。这里注意,子包是读写的,但是ebmmu是有权限的,通过权限合理的分配,实现一个子包既读又写。" + + #-------------------------------------------------------------------------- + #>>>>>>设置EB-MMU,测试用例15,读,检查权限 + genPkt.clean() + genPkt.setPktType(0) + + addr = 0x10000000 + addr_off = 0x0 + sm_size = 16 + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) + + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) + + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x1000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2000 + i * int(sm_size / 4), + sm_size / 4, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x2800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + sm_size + taddr = addr + addr_off + for i in range(4): + setting_ebmmu_regs(data, + ebmmu_offset, + taddr + i * int(sm_size / 4), + 0x3800 + i * int(sm_size / 4), + sm_size / 4, + 0x2, + 0x1 + ) + #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) + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x306, 0xe, 2, data) + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x30e, 0xe, 2, data) + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x312, 0xe, 2, data) + + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) + + 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) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + #>>>>>>用EB-MMU方式读取EB-MMU设置, 15 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [(i & 0xff) for i in range(sm_size * 16)] + + gen_file_def_ap = gen_file_def + "_rw" + sm_idx = 0 + + genPkt.addSubPkt(0x1000, 2, 0, 0x2, sm_size * 16, data) + + genPkt.addBeforeExc(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))) + +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))) + +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))) + +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))) + #+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) + + +genSlvSMReadData(1, 4, sm_size) + +genSlvSMReadData(1, 6, sm_size) + +genSlvSMReadData(2, 4, sm_size) + +genSlvSMReadData(2, 6, sm_size) + +genSlvSMReadData(3, 4, sm_size) + +genSlvSMReadData(3, 6, sm_size) + +genSlvSMReadData(4, 4, sm_size) + +genSlvSMReadData(4, 6, sm_size) + + +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 + +def tc19(): + genPkt = GenPkt() + + gen_file_def = "ebmmu_tc19" + sm_idx = 0 + tc_des = "测试16个ebmmu全配置下运行,前8个ebmmu映射的是SM的元素个数寄存器,每一个对应一个SM,1个字节,\\n"\ + + "4个设备共32字节;后8个ebmmu,每1个ebmmu对应一个sm,映射8个字节。映射了sm0/2/4/6,\\n"\ + + "然后映射sm1/3/5/7,共64个字节,4个从设备总共256个字节。每个ebmmu必须对齐、足长的写入,\\n"\ + + "对应的sm才能正常工作。检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序" + + genPkt.clean() + genPkt.setPktType(0) + + addr = 0x20000000 + addr_off = 0x0 + sm_size = 8 + + + sm_vaddr = 0x10000000 + sm_addr_off = 0x0 + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [0,] * 256 + + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(8): + setting_ebmmu_regs(data, ebmmu_offset, + taddr + ebmmu_offset * 1, + 0x301 + ebmmu_offset * 4, + 1, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + ebmmu_offset * 1), hex(0x301 + ebmmu_offset * 4), hex(1)) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + ebmmu_offset * 1 + + + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x0800 + i * 0x1000, sm_size, 0x2, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x0800 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + + sm_addr_off = sm_addr_off + 4 * sm_size + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x1000 + i * 0x1000, sm_size, 0x1, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x1000 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + sm_addr_off = sm_addr_off + 4 * sm_size + + genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data) + + data = [0,] * 256 + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(8): + setting_ebmmu_regs(data, ebmmu_offset, + taddr + ebmmu_offset * 1, + 0x301 + ebmmu_offset * 4, + 1, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + ebmmu_offset * 1), hex(0x301 + ebmmu_offset * 4), hex(1)) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + ebmmu_offset * 1 + + + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x0800 + i * 0x1000, sm_size, 0x2, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x0800 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + + sm_addr_off = sm_addr_off + 4 * sm_size + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x1000 + i * 0x1000, sm_size, 0x1, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x1000 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + sm_addr_off = sm_addr_off + 4 * sm_size + + genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data) + + data = [0,] * 256 + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(8): + setting_ebmmu_regs(data, ebmmu_offset, + taddr + ebmmu_offset * 1, + 0x301 + ebmmu_offset * 4, + 1, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + ebmmu_offset * 1), hex(0x301 + ebmmu_offset * 4), hex(1)) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + ebmmu_offset * 1 + + + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x0800 + i * 0x1000, sm_size, 0x2, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x0800 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + + sm_addr_off = sm_addr_off + 4 * sm_size + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x1000 + i * 0x1000, sm_size, 0x1, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x1000 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + sm_addr_off = sm_addr_off + 4 * sm_size + + genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data) + + + data = [0,] * 256 + taddr = addr + addr_off + ebmmu_offset = 0 + for i in range(8): + setting_ebmmu_regs(data, ebmmu_offset, + taddr + ebmmu_offset * 1, + 0x301 + ebmmu_offset * 4, + 1, + 0x1, + 0x1 + ) + #print(ebmmu_offset, hex(taddr + ebmmu_offset * 1), hex(0x301 + ebmmu_offset * 4), hex(1)) + ebmmu_offset = ebmmu_offset + 1 + + addr_off = addr_off + ebmmu_offset * 1 + + + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x0800 + i * 0x1000, sm_size, 0x2, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x0800 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + + sm_addr_off = sm_addr_off + 4 * sm_size + tsm_vaddr = sm_vaddr + sm_addr_off + for i in range(4): + setting_ebmmu_regs(data, ebmmu_offset, + tsm_vaddr + i * sm_size, + 0x1000 + i * 0x1000, sm_size, 0x1, 0x1) + #print(ebmmu_offset, hex(tsm_vaddr + i * sm_size), hex(0x1000 + i * 0x1000), hex(sm_size)) + ebmmu_offset = ebmmu_offset + 1 + sm_addr_off = sm_addr_off + 4 * sm_size + + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + + ''' + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x306, 0xe, 2, data) + ''' + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x30a, 0xe, 2, data) + + ''' + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x30e, 0xe, 2, data) + ''' + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x312, 0xe, 2, data) + + ''' + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x316, 0xe, 2, data) + ''' + + + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) + + ''' + data = [0,] * 2 + data[0] = (sm_size >> 0) & 0xff + data[1] = (sm_size >> 8) & 0xff + genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) + ''' + + 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) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + #>>>>>>用EB-MMU方式读取EB-MMU设置, 15 + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + data = [(i & 0xff) for i in range(sm_size * 16)] + + gen_file_def_ap = gen_file_def + "_rw" + 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(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))) + +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))) + +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))) + +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))) + +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) + + +genSlvSMReadData(1, 0, sm_size) + +genSlvSMReadData(1, 2, sm_size) + +genSlvSMReadData(1, 4, sm_size) + +genSlvSMReadData(1, 6, sm_size) + +genSlvSMReadData(2, 0, sm_size) + +genSlvSMReadData(2, 2, sm_size) + +genSlvSMReadData(2, 4, sm_size) + +genSlvSMReadData(2, 6, sm_size) + +genSlvSMReadData(3, 0, sm_size) + +genSlvSMReadData(3, 2, sm_size) + +genSlvSMReadData(3, 4, sm_size) + +genSlvSMReadData(3, 6, sm_size) + +genSlvSMReadData(4, 0, sm_size) + +genSlvSMReadData(4, 2, sm_size) + +genSlvSMReadData(4, 4, sm_size) + +genSlvSMReadData(4, 6, sm_size) + + +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 + + + + diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index 453f051..84e30ab 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -14,7 +14,20 @@ def bringup(): genPkt.clean() - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +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]) + ) main_dev = [0x01, ] slave_dev =[0x02, ] diff --git a/tb/shinTest/testcase_result/det1_tc.log b/tb/shinTest/testcase_result/det1_tc.log deleted file mode 100644 index 4f9e2d0..0000000 --- a/tb/shinTest/testcase_result/det1_tc.log +++ /dev/null @@ -1,13 +0,0 @@ -16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 -16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 -16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 -16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 -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 -16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0004 8'h00 8'h01 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'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 diff --git a/tb/shinTest/testcase_result/det2_tc.log b/tb/shinTest/testcase_result/det2_tc.log deleted file mode 100644 index 23ed231..0000000 --- a/tb/shinTest/testcase_result/det2_tc.log +++ /dev/null @@ -1,13 +0,0 @@ -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'h28 8'h00 8'h04 8'h00 -16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 -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 -16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0004 8'h00 8'h01 8'h00 8'h01 -16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h02 8'h00 -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 diff --git a/tb/shinTest/testcase_result/ebmmu_tc01_result.log b/tb/shinTest/testcase_result/ebmmu_tc01_result.log new file mode 100644 index 0000000..0a65473 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc01_result.log @@ -0,0 +1,60 @@ +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'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'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'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'h00 8'h0a 8'h00 8'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'h00 8'h0a 8'h00 8'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'h00 8'h0a 8'h00 8'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'h00 8'h0a 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'h00 8'h04 8'h02 8'h00 8'h00 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'h00 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'h00 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'h00 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'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'h0302 8'h00 16'h0002 8'h34 8'h00 +16'h0306 8'h00 16'h0002 8'h34 8'h00 +16'h1000 8'h00 16'h0034 8'h03 8'h00 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h00 8'h28 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 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'h0034 8'h03 8'h00 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h00 8'h28 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'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 diff --git a/tb/shinTest/testcase_result/ebmmu_tc02_result.log b/tb/shinTest/testcase_result/ebmmu_tc02_result.log new file mode 100644 index 0000000..eb0388b --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc02_result.log @@ -0,0 +1,60 @@ +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'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'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'h0302 8'h00 16'h0002 8'h64 8'h00 +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'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 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'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 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'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 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'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 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 +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'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'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'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 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 +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/ebmmu_tc03_result.log b/tb/shinTest/testcase_result/ebmmu_tc03_result.log new file mode 100644 index 0000000..2d316e9 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc03_result.log @@ -0,0 +1,40 @@ +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'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'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'h0302 8'h00 16'h0002 8'h64 8'h00 +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'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h01 8'h00 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h02 8'h00 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h03 8'h00 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 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 +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/ebmmu_tc04_result.log b/tb/shinTest/testcase_result/ebmmu_tc04_result.log new file mode 100644 index 0000000..baef84f --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc04_result.log @@ -0,0 +1,48 @@ +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 +16'h2000 8'h00 16'h0098 8'h02 8'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 +16'h0316 8'h00 16'h0002 8'h81 8'h00 +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'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'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'h0302 8'h00 16'h0002 8'h31 8'h02 +16'h0306 8'h00 16'h0002 8'h31 8'h02 +16'h1000 8'h00 16'h0231 8'h22 8'hd0 8'h00 8'h00 8'h40 8'h02 8'h00 8'h58 8'h02 8'h25 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 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'h0231 8'h22 8'hd0 8'h00 8'h04 8'h40 8'h02 8'h00 8'h58 8'h02 8'h25 8'h01 8'h02 8'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'h02 8'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'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'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'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'h02 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'h20 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/ebmmu_tc05_result.log b/tb/shinTest/testcase_result/ebmmu_tc05_result.log new file mode 100644 index 0000000..534f2f4 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc05_result.log @@ -0,0 +1,40 @@ +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'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'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'h0302 8'h00 16'h0002 8'h31 8'h02 +16'h0306 8'h00 16'h0002 8'h31 8'h02 +16'h1000 8'h00 16'h0231 8'h22 8'hd0 8'h00 8'h00 8'h40 8'h02 8'h00 8'h58 8'h02 8'h25 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 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'h0231 8'h22 8'hd0 8'h00 8'h04 8'h40 8'h02 8'h00 8'h58 8'h02 8'h25 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 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'h02 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'h20 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/ebmmu_tc06_result.log b/tb/shinTest/testcase_result/ebmmu_tc06_result.log new file mode 100644 index 0000000..b020a67 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc06_result.log @@ -0,0 +1,44 @@ +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'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'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'h0302 8'h00 16'h0002 8'h0c 8'h02 +16'h0306 8'h00 16'h0002 8'h0c 8'h02 +16'h1000 8'h00 16'h020c 8'h20 8'h80 8'h00 8'h00 8'h40 8'h02 8'h02 8'h7d 8'h12 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'h02 8'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'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'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'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h020c 8'h20 8'h80 8'h00 8'h04 8'h40 8'h02 8'h02 8'h7d 8'h12 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'h02 8'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'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'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'h00 8'h04 +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'h02 8'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 +16'h0800 8'h01 16'h0080 8'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 +16'h0800 8'h01 16'h0080 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 +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 diff --git a/tb/shinTest/testcase_result/ebmmu_tc07_result.log b/tb/shinTest/testcase_result/ebmmu_tc07_result.log new file mode 100644 index 0000000..b020a67 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc07_result.log @@ -0,0 +1,44 @@ +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'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'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'h0302 8'h00 16'h0002 8'h0c 8'h02 +16'h0306 8'h00 16'h0002 8'h0c 8'h02 +16'h1000 8'h00 16'h020c 8'h20 8'h80 8'h00 8'h00 8'h40 8'h02 8'h02 8'h7d 8'h12 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'h02 8'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'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'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'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h020c 8'h20 8'h80 8'h00 8'h04 8'h40 8'h02 8'h02 8'h7d 8'h12 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'h02 8'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'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'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'h00 8'h04 +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'h02 8'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 +16'h0800 8'h01 16'h0080 8'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 +16'h0800 8'h01 16'h0080 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 +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 diff --git a/tb/shinTest/testcase_result/ebmmu_tc08_result.log b/tb/shinTest/testcase_result/ebmmu_tc08_result.log new file mode 100644 index 0000000..18e5171 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc08_result.log @@ -0,0 +1,48 @@ +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'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'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'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'h40 8'h02 8'h00 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 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 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 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h80 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h80 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h80 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h80 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0080 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 8'h33 +16'h0800 8'h01 16'h0080 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 +16'h0800 8'h01 16'h0080 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 8'h40 +16'h0800 8'h01 16'h0080 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 8'h29 +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/ebmmu_tc09_result.log b/tb/shinTest/testcase_result/ebmmu_tc09_result.log new file mode 100644 index 0000000..3e0bd09 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc09_result.log @@ -0,0 +1,48 @@ +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'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'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'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'h11 8'h00 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'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'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'h00 8'h04 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0100 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 +16'h0800 8'h01 16'h0100 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 +16'h0800 8'h01 16'h0100 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 +16'h0800 8'h01 16'h0100 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 +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 diff --git a/tb/shinTest/testcase_result/ebmmu_tc10_result.log b/tb/shinTest/testcase_result/ebmmu_tc10_result.log new file mode 100644 index 0000000..15365ab --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc10_result.log @@ -0,0 +1,76 @@ +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'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'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'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'h11 8'h00 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'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'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'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'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'h11 8'h00 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'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'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'h00 8'h04 +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0100 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 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0100 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 +16'h0800 8'h01 16'h0100 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 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0100 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 +16'h0800 8'h01 16'h0100 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 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0100 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 +16'h0800 8'h01 16'h0100 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 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0100 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 +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 diff --git a/tb/shinTest/testcase_result/ebmmu_tc11_result.log b/tb/shinTest/testcase_result/ebmmu_tc11_result.log new file mode 100644 index 0000000..9a8f997 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc11_result.log @@ -0,0 +1,99 @@ +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'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'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'h1000 8'h00 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'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'h1000 8'h00 16'h0100 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 +16'h1000 8'h00 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'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'h1000 8'h00 16'h0100 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 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h1000 8'h00 16'h0100 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 +16'h1000 8'h00 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'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'h1000 8'h00 16'h0100 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 +16'h1000 8'h00 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'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'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 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'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'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'h0c 8'h04 +16'h0306 8'h00 16'h0002 8'h0c 8'h04 +16'h1000 8'h00 16'h040c 8'h40 8'h80 8'h00 8'h00 8'h40 8'h02 8'h00 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'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 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'h040c 8'h40 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h04 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'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'h04 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +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 +16'h0302 8'h00 16'h0002 8'h0c 8'h04 +16'h0306 8'h00 16'h0002 8'h0c 8'h04 +16'h1000 8'h00 16'h040c 8'h40 8'h80 8'h00 8'h00 8'h40 8'h02 8'h00 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'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 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'h040c 8'h40 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h04 8'h00 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'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'h04 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h00 8'h01 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +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/ebmmu_tc12_result.log b/tb/shinTest/testcase_result/ebmmu_tc12_result.log new file mode 100644 index 0000000..1c44e17 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc12_result.log @@ -0,0 +1,75 @@ +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'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'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'h1000 8'h00 16'h0008 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 +16'h2000 8'h00 16'h0008 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 +16'h3000 8'h00 16'h0008 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 +16'h4000 8'h00 16'h0008 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a +16'h1000 8'h00 16'h0008 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b +16'h2000 8'h00 16'h0008 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c +16'h3000 8'h00 16'h0008 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d +16'h4000 8'h00 16'h0008 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +16'h1000 8'h00 16'h0008 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +16'h2000 8'h00 16'h0008 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d +16'h3000 8'h00 16'h0008 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c +16'h4000 8'h00 16'h0008 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b +16'h1000 8'h00 16'h0008 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a +16'h2000 8'h00 16'h0008 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 +16'h3000 8'h00 16'h0008 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 +16'h4000 8'h00 16'h0008 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 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'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'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'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'h40 8'h02 8'h00 8'h00 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 +16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h00 8'h04 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 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'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 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/ebmmu_tc13_result.log b/tb/shinTest/testcase_result/ebmmu_tc13_result.log new file mode 100644 index 0000000..8f917c1 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc13_result.log @@ -0,0 +1,60 @@ +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'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'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'h1000 8'h00 16'h0008 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 +16'h2000 8'h00 16'h0008 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 +16'h3000 8'h00 16'h0008 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 +16'h4000 8'h00 16'h0008 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a +16'h1000 8'h00 16'h0008 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b +16'h2000 8'h00 16'h0008 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c +16'h3000 8'h00 16'h0008 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d +16'h4000 8'h00 16'h0008 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +16'h1000 8'h00 16'h0008 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e +16'h2000 8'h00 16'h0008 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d +16'h3000 8'h00 16'h0008 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c +16'h4000 8'h00 16'h0008 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b +16'h1000 8'h00 16'h0008 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a +16'h2000 8'h00 16'h0008 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 +16'h3000 8'h00 16'h0008 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 +16'h4000 8'h00 16'h0008 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 +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'h40 8'h02 8'h00 8'h00 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 +16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h00 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h00 8'h04 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h08 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'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 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/ebmmu_tc14_result.log b/tb/shinTest/testcase_result/ebmmu_tc14_result.log new file mode 100644 index 0000000..dc92a18 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc14_result.log @@ -0,0 +1,64 @@ +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'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'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'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'h40 8'h02 8'h00 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 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 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'h04 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 +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 +16'h3800 8'h01 16'h0008 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0800 8'h01 16'h0008 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 +16'h1800 8'h01 16'h0008 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f +16'h2800 8'h01 16'h0008 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 +16'h3800 8'h01 16'h0008 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f +16'h0800 8'h01 16'h0008 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 +16'h1800 8'h01 16'h0008 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f +16'h2800 8'h01 16'h0008 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 +16'h3800 8'h01 16'h0008 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0800 8'h01 16'h0008 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 +16'h1800 8'h01 16'h0008 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f +16'h2800 8'h01 16'h0008 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 +16'h3800 8'h01 16'h0008 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h08 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 +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 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'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/ebmmu_tc15_result.log b/tb/shinTest/testcase_result/ebmmu_tc15_result.log new file mode 100644 index 0000000..6c340f4 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc15_result.log @@ -0,0 +1,64 @@ +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'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'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'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'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'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 +16'h3800 8'h01 16'h0010 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'h0010 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 +16'h1800 8'h01 16'h0010 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'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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'h0010 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'h1800 8'h01 16'h0010 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'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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'h0800 8'h01 16'h0010 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 +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'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 +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 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'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/ebmmu_tc16_result.log b/tb/shinTest/testcase_result/ebmmu_tc16_result.log new file mode 100644 index 0000000..4afafd0 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc16_result.log @@ -0,0 +1,86 @@ +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'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'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'h0302 8'h00 16'h0002 8'h14 8'h02 +16'h0306 8'h00 16'h0002 8'h14 8'h02 +16'h1000 8'h00 16'h0214 8'h21 8'h00 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 8'h40 8'h02 8'h00 8'h00 8'h11 8'h00 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'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 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0214 8'h21 8'h00 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 8'h40 8'h02 8'h00 8'h00 8'h11 8'h00 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'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'h04 +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h02 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +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 +16'h3800 8'h01 16'h0010 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'h0010 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 +16'h1800 8'h01 16'h0010 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'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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'h0010 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'h1800 8'h01 16'h0010 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'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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'h0800 8'h01 16'h0010 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 +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'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h00 16'h0001 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h01 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0800 8'h01 16'h0010 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h1800 8'h01 16'h0010 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'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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 +16'h0800 8'h01 16'h0010 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 +16'h1800 8'h01 16'h0010 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 +16'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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'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'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'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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 +16'h0800 8'h01 16'h0010 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 +16'h1800 8'h01 16'h0010 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 +16'h2800 8'h01 16'h0010 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 +16'h3800 8'h01 16'h0010 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'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx 8'h00 8'h00 8'h10 8'h00 8'hxx 8'hxx 8'hxx 8'hxx +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 +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 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'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/ebmmu_tc17_result.log b/tb/shinTest/testcase_result/ebmmu_tc17_result.log new file mode 100644 index 0000000..0cd5053 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc17_result.log @@ -0,0 +1,72 @@ +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'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'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'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 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'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 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'h0316 8'h00 16'h0002 8'h10 8'h00 +16'h3000 8'h00 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'h031e 8'h00 16'h0002 8'h10 8'h00 +16'h4000 8'h00 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 +16'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 16'h0010 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b +16'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 16'h0010 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h30 8'h36 8'h3c 8'h42 8'h48 8'h4e 8'h54 8'h5a +16'h0316 8'h00 16'h0002 8'h10 8'h00 +16'h3000 8'h00 16'h0010 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h38 8'h3f 8'h46 8'h4d 8'h54 8'h5b 8'h62 8'h69 +16'h031e 8'h00 16'h0002 8'h10 8'h00 +16'h4000 8'h00 16'h0010 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h40 8'h48 8'h50 8'h58 8'h60 8'h68 8'h70 8'h78 +16'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 16'h0010 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h48 8'h51 8'h5a 8'h63 8'h6c 8'h75 8'h7e 8'h87 +16'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 16'h0010 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h40 8'h48 8'h50 8'h58 8'h60 8'h68 8'h70 8'h78 +16'h0316 8'h00 16'h0002 8'h10 8'h00 +16'h3000 8'h00 16'h0010 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h38 8'h3f 8'h46 8'h4d 8'h54 8'h5b 8'h62 8'h69 +16'h031e 8'h00 16'h0002 8'h10 8'h00 +16'h4000 8'h00 16'h0010 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h30 8'h36 8'h3c 8'h42 8'h48 8'h4e 8'h54 8'h5a +16'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 16'h0010 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b +16'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 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 +16'h0316 8'h00 16'h0002 8'h10 8'h00 +16'h3000 8'h00 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'h031e 8'h00 16'h0002 8'h10 8'h00 +16'h4000 8'h00 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'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'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'h01 +16'h0800 8'h01 16'h010c 8'h10 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 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'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'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'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'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h30 8'h36 8'h3c 8'h42 8'h48 8'h4e 8'h54 8'h5a 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h38 8'h3f 8'h46 8'h4d 8'h54 8'h5b 8'h62 8'h69 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h40 8'h48 8'h50 8'h58 8'h60 8'h68 8'h70 8'h78 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h48 8'h51 8'h5a 8'h63 8'h6c 8'h75 8'h7e 8'h87 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h40 8'h48 8'h50 8'h58 8'h60 8'h68 8'h70 8'h78 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h38 8'h3f 8'h46 8'h4d 8'h54 8'h5b 8'h62 8'h69 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h30 8'h36 8'h3c 8'h42 8'h48 8'h4e 8'h54 8'h5a 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b 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'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'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'h04 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'haa 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/ebmmu_tc18_result.log b/tb/shinTest/testcase_result/ebmmu_tc18_result.log new file mode 100644 index 0000000..378b61a --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc18_result.log @@ -0,0 +1,64 @@ +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'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'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'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 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'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 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'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 16'h0010 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b +16'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 16'h0010 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h30 8'h36 8'h3c 8'h42 8'h48 8'h4e 8'h54 8'h5a +16'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 16'h0010 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h48 8'h51 8'h5a 8'h63 8'h6c 8'h75 8'h7e 8'h87 +16'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 16'h0010 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h40 8'h48 8'h50 8'h58 8'h60 8'h68 8'h70 8'h78 +16'h0306 8'h00 16'h0002 8'h10 8'h00 +16'h1000 8'h00 16'h0010 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b +16'h030e 8'h00 16'h0002 8'h10 8'h00 +16'h2000 8'h00 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 +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'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'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'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'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h30 8'h36 8'h3c 8'h42 8'h48 8'h4e 8'h54 8'h5a 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'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h48 8'h51 8'h5a 8'h63 8'h6c 8'h75 8'h7e 8'h87 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h40 8'h48 8'h50 8'h58 8'h60 8'h68 8'h70 8'h78 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'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h28 8'h2d 8'h32 8'h37 8'h3c 8'h41 8'h46 8'h4b 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'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'h08 +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 +16'h3800 8'h01 16'h0010 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'h0010 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 +16'h3800 8'h01 16'h0010 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'h0010 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 +16'h3800 8'h01 16'h0010 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'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'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h5a 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h5a 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h5a 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h5a 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/ebmmu_tc19_result.log b/tb/shinTest/testcase_result/ebmmu_tc19_result.log new file mode 100644 index 0000000..bd20080 --- /dev/null +++ b/tb/shinTest/testcase_result/ebmmu_tc19_result.log @@ -0,0 +1,88 @@ +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'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'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'h0306 8'h00 16'h0002 8'h08 8'h00 +16'h1000 8'h00 16'h0008 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 +16'h030e 8'h00 16'h0002 8'h08 8'h00 +16'h2000 8'h00 16'h0008 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e +16'h0316 8'h00 16'h0002 8'h08 8'h00 +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'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c +16'h0306 8'h00 16'h0002 8'h08 8'h00 +16'h1000 8'h00 16'h0008 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 +16'h030e 8'h00 16'h0002 8'h08 8'h00 +16'h2000 8'h00 16'h0008 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a +16'h0316 8'h00 16'h0002 8'h08 8'h00 +16'h3000 8'h00 16'h0008 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 +16'h031e 8'h00 16'h0002 8'h08 8'h00 +16'h4000 8'h00 16'h0008 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 +16'h0306 8'h00 16'h0002 8'h08 8'h00 +16'h1000 8'h00 16'h0008 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f +16'h030e 8'h00 16'h0002 8'h08 8'h00 +16'h2000 8'h00 16'h0008 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 +16'h0316 8'h00 16'h0002 8'h08 8'h00 +16'h3000 8'h00 16'h0008 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 +16'h031e 8'h00 16'h0002 8'h08 8'h00 +16'h4000 8'h00 16'h0008 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a +16'h0306 8'h00 16'h0002 8'h08 8'h00 +16'h1000 8'h00 16'h0008 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 +16'h030e 8'h00 16'h0002 8'h08 8'h00 +16'h2000 8'h00 16'h0008 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c +16'h0316 8'h00 16'h0002 8'h08 8'h00 +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'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'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 +16'h3800 8'h01 16'h0008 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f +16'h0800 8'h01 16'h0008 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 +16'h1800 8'h01 16'h0008 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f +16'h2800 8'h01 16'h0008 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 +16'h3800 8'h01 16'h0008 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f +16'h0800 8'h01 16'h0008 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 +16'h1800 8'h01 16'h0008 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f +16'h2800 8'h01 16'h0008 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 +16'h3800 8'h01 16'h0008 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f +16'h0800 8'h01 16'h0008 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 +16'h1800 8'h01 16'h0008 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf +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'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'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/sys_bringup_result.log b/tb/shinTest/testcase_result/sys_bringup_result.log new file mode 100644 index 0000000..8b59d6f --- /dev/null +++ b/tb/shinTest/testcase_result/sys_bringup_result.log @@ -0,0 +1,82 @@ +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 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0000 8'h00 16'h0001 8'h01 +16'h0000 8'h00 16'h0001 8'h02 +16'h0000 8'h00 16'h0001 8'h02 +16'h0000 8'h00 16'h0001 8'h02 +16'h0000 8'h00 16'h0001 8'h02 +16'h0000 8'h01 16'h0001 8'h01 +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'h0000 8'h01 16'h0001 8'h02 +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 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0004 8'h00 8'h01 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'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'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'h00 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'h28 8'h00 8'h04 8'h00 +16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +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 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h0004 8'h00 8'h01 8'h00 8'h01 +16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h02 8'h00 +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 +16'h0078 8'h00 16'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'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'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'h0400 8'h01 16'h0008 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0400 8'h01 16'h0008 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0400 8'h01 16'h0008 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0400 8'h01 16'h0008 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0400 8'h01 16'h0008 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/watchdog_tc01_result.log b/tb/shinTest/testcase_result/watchdog_tc01_result.log new file mode 100644 index 0000000..3ef21fa --- /dev/null +++ b/tb/shinTest/testcase_result/watchdog_tc01_result.log @@ -0,0 +1,25 @@ +16'h0404 8'h00 16'h0004 8'h02 8'h00 8'h00 8'h00 +16'h040c 8'h00 16'h0004 8'h10 8'h00 8'h00 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'h0400 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'h0400 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h66 8'h00 +16'h0306 8'h00 16'h0002 8'h66 8'h00 +16'h1000 8'h00 16'h0066 8'h06 8'h20 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'h50 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 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'h0066 8'h06 8'h20 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'h50 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'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'h0800 8'h01 16'h0080 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx 8'hxx +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h10 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'h0400 8'h01 16'h0004 8'h02 8'h00 8'h00 8'h00