diff --git a/Makefile b/Makefile index f704475..125a340 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,18 @@ testShin: vvp -N ./tb/build/shinTest.iverilog -lxt2 -fst || true ./tb/shinTest/check_testcase.py +testCDR: + iverilog -Wall \ + -o ./tb/build/simCDR.iverilog \ + -y ./generated/shin \ + -y ./generated/SimCDR \ + -I ./generated/SimCDR \ + -I ./generated/shin \ + -D RANDOMIZE_REG_INIT \ + ./tb/shinTest/SimCDRTb.v + vvp -N ./tb/build/simCDR.iverilog -lxt2 + + testFilter: ./tb/shinTest/test_filter.py diff --git a/src/main/scala/backBoard/ebus/CDRIn.scala b/src/main/scala/backBoard/ebus/CDRIn.scala index dccaecc..fa1d810 100644 --- a/src/main/scala/backBoard/ebus/CDRIn.scala +++ b/src/main/scala/backBoard/ebus/CDRIn.scala @@ -4,19 +4,24 @@ import chisel3._ import chisel3.util._ + + + + //work in 100MHZ class CDRInIO extends Bundle{ val axis = Decoupled(new AXIS_Bundle(8)) + val decode = Flipped(new Decode_Bundle) val serDat = Input(Bool()) val flush = Input(Bool()) } + + abstract class CDRInBase extends Module with RequireAsyncReset{ - - val io: CDRInIO = IO(new CDRInIO) - + io.decode.dataIn := 0.U val syncSerDat = Wire(Bool()) } @@ -36,7 +41,7 @@ trait CDRInMultiSample{ this: CDRInBase => dontTouch(sampleReg) for( i <- 0 until clkNum ) { - sampleReg(i) := withClockAndReset(multiCLK(i).asClock, reset.asBool){ ShiftRegister( io.serDat, 2 ) } + sampleReg(i) := withClockAndReset(multiCLK(i).asClock, reset.asBool){ ShiftRegister( io.serDat, 2, false.B, true.B ) } } val sampleReg_sync = for( i <- 0 until clkNum ) yield { @@ -91,9 +96,9 @@ trait CDRInMultiSample{ this: CDRInBase => } for( i <- 0 until (8*clkNum)-2 ) {dontTouch(flitReg(i))} - val clearCnt = Reg(UInt(4.W)) - val checkCnt = Reg(UInt(4.W)) - val arbCali = Reg(UInt( (log2Ceil(8*clkNum)).W )) + val clearCnt = RegInit(0.U(4.W)) + val checkCnt = RegInit(0.U(4.W)) + val arbCali = RegInit(0.U( (log2Ceil(2*clkNum)).W )) val isLock = RegInit(false.B) when( (7*clkNum until 8*clkNum).map{ i => sampleReg_Align(i)}.reduce(_|_) === false.B ){ @@ -201,8 +206,8 @@ trait CDRInAxis{ this: CDRInBase => def HeaderByte: Int = 4 - val ETH_PRE = "b1100010001".U(10.W) - val ETH_SFD = "b0110100111".U(10.W) + val ETH_PRE = "h68".U(8.W) + val ETH_SFD = "h25".U(8.W) val STATE_IDLE = 0.U val STATE_HEADER = 1.U @@ -211,18 +216,20 @@ trait CDRInAxis{ this: CDRInBase => val stateNext = Wire(UInt(2.W)) val stateCurr = RegNext( stateNext, STATE_IDLE ) - val bitCnt = Reg(UInt(4.W)) + val bitCnt = RegInit(0.U(4.W)) val byteCnt = RegInit(0.U((12+1).W)) - val checkSFD = RegInit( 0.U(20.W) ) + val checkSFD = RegInit( 0.U(10.W) ) when( io.flush ){ checkSFD := 0.U } .otherwise{ - checkSFD := Cat( checkSFD(18,0), syncSerDat ) + checkSFD := Cat( checkSFD(8,0), syncSerDat ) } - val shiftData = Dualb4b5Decoder(checkSFD(9,0)) + io.decode.dataIn := checkSFD(9,0) + val shiftData = io.decode.dataOut + val shiftData10Next = ShiftRegister( shiftData, 10, 0.U(8.W), true.B ) val payloadLen = RegInit(0.U(12.W)) @@ -237,7 +244,7 @@ trait CDRInAxis{ this: CDRInBase => stateNext := Mux( io.flush, STATE_IDLE, Mux1H(Seq( - (stateCurr === STATE_IDLE) -> ( Mux( checkSFD === Cat(ETH_PRE , ETH_SFD), STATE_HEADER, STATE_IDLE )), //IDLE + (stateCurr === STATE_IDLE) -> ( Mux( shiftData10Next === ETH_PRE && shiftData === ETH_SFD , STATE_HEADER, STATE_IDLE )), //IDLE (stateCurr === STATE_HEADER) -> ( Mux( (byteCnt === (HeaderByte-1).U) & (bitCnt === 9.U), STATE_PAYLOAD, STATE_HEADER ) ), (stateCurr === STATE_PAYLOAD) -> ( Mux( (byteCnt === (payloadLen + (4 - 1).U) ) & (bitCnt === 9.U), STATE_IDLE, STATE_PAYLOAD )), // PAYLOAD )) //crc @@ -247,7 +254,7 @@ trait CDRInAxis{ this: CDRInBase => - when( stateCurr === STATE_IDLE & ( checkSFD === Cat(ETH_PRE, ETH_SFD) ) ){ //first align + when( stateCurr === STATE_IDLE & ( shiftData10Next === ETH_PRE && shiftData === ETH_SFD ) ){ //first align bitCnt := 0.U } .otherwise{ when( bitCnt === 9.U ){ @@ -259,7 +266,7 @@ trait CDRInAxis{ this: CDRInBase => when( io.flush ){ byteCnt := 0.U - } .elsewhen( stateCurr === STATE_IDLE & ( checkSFD === Cat(ETH_PRE, ETH_SFD) ) ){ //first align + } .elsewhen( stateCurr === STATE_IDLE & ( shiftData10Next === ETH_PRE && shiftData === ETH_SFD ) ){ //first align byteCnt := 0.U } .elsewhen( bitCnt === 9.U ){ when( stateCurr === STATE_HEADER ){ @@ -276,7 +283,7 @@ trait CDRInAxis{ this: CDRInBase => val axis_valid = RegInit(false.B) - val axis_tdata = RegEnable( shiftData, bitCnt === 9.U & ( stateCurr === STATE_HEADER | stateCurr === STATE_PAYLOAD ) ) + val axis_tdata = RegEnable( shiftData, 0.U(8.W), bitCnt === 9.U & ( stateCurr === STATE_HEADER | stateCurr === STATE_PAYLOAD ) ) val axis_tuser = false.B val axis_tlast = RegInit( false.B ) diff --git a/src/main/scala/backBoard/ebus/CDROut.scala b/src/main/scala/backBoard/ebus/CDROut.scala index 1b89b28..6fd4ccd 100644 --- a/src/main/scala/backBoard/ebus/CDROut.scala +++ b/src/main/scala/backBoard/ebus/CDROut.scala @@ -9,14 +9,20 @@ class AXIS_Bundle(dw: Int) extends Bundle{ val tuser = Bool() } + + + //work in 100MHZ class CDROutIO extends Bundle{ - val axis = Flipped(Decoupled(new AXIS_Bundle(8))) + val axis = Flipped(Decoupled(new AXIS_Bundle(8))) + val encode = Flipped(new Encode_Bundle) val serDat = Output(Bool()) + val flush = Input(Bool()) + } @@ -29,17 +35,19 @@ class CDROut extends Module with RequireAsyncReset{ def STATE_PREAMBLE = 1.U def STATE_PAYLOAD = 2.U - val ETH_PRE = "b1100010001".U(10.W) - val ETH_SFD = "b0110100111".U(10.W) + val ETH_PRE = "h68".U(8.W) + val ETH_SFD = "h25".U(8.W) val stateNext = Wire(UInt(2.W)) val stateCurr = RegNext( stateNext, 0.U ) - val bitCnt = Reg(UInt(4.W)) - val byteCnt = Reg(UInt(3.W)) //payload dont need to count + val bitCnt = RegInit(0.U(4.W)) + val byteCnt = RegInit(0.U(3.W)) //payload dont need to count val shiftData = RegInit(0.U(10.W)) + io.encode.isEnable := false.B //组合逻辑 + io.encode.dataIn := 0.U //组合逻辑 stateNext := Mux( io.flush, STATE_IDLE, @@ -65,18 +73,24 @@ class CDROut extends Module with RequireAsyncReset{ when( io.flush ){ shiftData := 0.U } .elsewhen( stateCurr === STATE_IDLE & stateNext === STATE_PREAMBLE){ //PRE - shiftData := ETH_PRE + shiftData := io.encode.dataOut + io.encode.dataIn := ETH_PRE //组合逻辑 + io.encode.isEnable := true.B //组合逻辑 } .otherwise{ when( bitCnt =/= 9.U ){ shiftData := shiftData << 1 } .otherwise{ //bitCnt === 9.U when( stateCurr === STATE_PREAMBLE ){ - shiftData := MuxCase( ETH_PRE, Array( + shiftData := io.encode.dataOut + io.encode.dataIn := MuxCase( ETH_PRE, Array( ( byteCnt === (PRE_NUM-2).U ) -> ETH_SFD, - ( byteCnt === (PRE_NUM-1).U ) -> Dualb4b5Encoder(io.axis.bits.tdata), - )) + ( byteCnt === (PRE_NUM-1).U ) -> io.axis.bits.tdata, + )) //组合逻辑 + io.encode.isEnable := true.B //组合逻辑 } .elsewhen( stateCurr === STATE_PAYLOAD ){ - shiftData := Dualb4b5Encoder(io.axis.bits.tdata) + io.encode.dataIn := io.axis.bits.tdata //组合逻辑 + shiftData := io.encode.dataOut + io.encode.isEnable := true.B //组合逻辑 } } } diff --git a/src/main/scala/backBoard/ebus/Encryptor.scala b/src/main/scala/backBoard/ebus/Encryptor.scala index 120e397..b3babf6 100644 --- a/src/main/scala/backBoard/ebus/Encryptor.scala +++ b/src/main/scala/backBoard/ebus/Encryptor.scala @@ -13,7 +13,7 @@ class Encryptor_IO_Bundle extends Bundle{ class Encryptor extends Module{ val io: Encryptor_IO_Bundle = IO(new Encryptor_IO_Bundle) - val encryptReg = Reg(UInt(128.W)) + val encryptReg = RegInit(0.U(128.W)) when( io.init.valid ){ encryptReg := io.init.bits diff --git a/src/main/scala/backBoard/ebus/b4b5.scala b/src/main/scala/backBoard/ebus/b4b5.scala index 502056f..4283cba 100644 --- a/src/main/scala/backBoard/ebus/b4b5.scala +++ b/src/main/scala/backBoard/ebus/b4b5.scala @@ -63,3 +63,16 @@ object Dualb4b5Decoder{ Cat( b4b5Decoder(enq(9,5)), b4b5Decoder(enq(4,0)) ) } } + + +class b4b5DualEncode extends Module with RequireAsyncReset{ + val io = IO(new Encode_Bundle) + + io.dataOut := Dualb4b5Encoder(io.dataIn) +} + +class b4b5DualDecode extends Module with RequireAsyncReset{ + val io = IO(new Decode_Bundle) + + io.dataOut := Dualb4b5Decoder(io.dataIn) +} diff --git a/src/main/scala/backBoard/ebus/b8b10.scala b/src/main/scala/backBoard/ebus/b8b10.scala new file mode 100644 index 0000000..9e87ead --- /dev/null +++ b/src/main/scala/backBoard/ebus/b8b10.scala @@ -0,0 +1,190 @@ +package BACK + +import chisel3._ +import chisel3.util._ + +class Encode_Bundle extends Bundle{ + val dataIn = Input(UInt(8.W)) + val isEnable = Input(Bool()) + val dataOut = Output(UInt(10.W)) +} + +class Decode_Bundle extends Bundle{ + val dataIn = Input(UInt(10.W)) + val dataOut = Output(UInt(8.W)) +} + +class b8b10Encode extends Module with RequireAsyncReset{ + val io = IO(new Encode_Bundle) + + val rd = RegInit(false.B) + + + val b5b6LookUp = Mux1H(Seq( + (io.dataIn(4,0) === "b00000".U) -> Mux( ~rd, "b100111".U(6.W), "b011000".U(6.W) ), + (io.dataIn(4,0) === "b00001".U) -> Mux( ~rd, "b011101".U(6.W), "b100010".U(6.W) ), + (io.dataIn(4,0) === "b00010".U) -> Mux( ~rd, "b101101".U(6.W), "b010010".U(6.W) ), + (io.dataIn(4,0) === "b00011".U) -> "b110001".U(6.W), + (io.dataIn(4,0) === "b00100".U) -> Mux( ~rd, "b110101".U(6.W), "b001010".U(6.W) ), + (io.dataIn(4,0) === "b00101".U) -> "b101001".U(6.W), + (io.dataIn(4,0) === "b00110".U) -> "b011001".U(6.W), + (io.dataIn(4,0) === "b00111".U) -> Mux( ~rd, "b111000".U(6.W), "b000111".U(6.W) ), + (io.dataIn(4,0) === "b01000".U) -> Mux( ~rd, "b111001".U(6.W), "b000110".U(6.W) ), + (io.dataIn(4,0) === "b01001".U) -> "b100101".U(6.W), + (io.dataIn(4,0) === "b01010".U) -> "b010101".U(6.W), + (io.dataIn(4,0) === "b01011".U) -> "b110100".U(6.W), + (io.dataIn(4,0) === "b01100".U) -> "b001101".U(6.W), + (io.dataIn(4,0) === "b01101".U) -> "b101100".U(6.W), + (io.dataIn(4,0) === "b01110".U) -> "b011100".U(6.W), + (io.dataIn(4,0) === "b01111".U) -> Mux( ~rd, "b010111".U(6.W), "b101000".U(6.W) ), + (io.dataIn(4,0) === "b10000".U) -> Mux( ~rd, "b011011".U(6.W), "b100100".U(6.W) ), + (io.dataIn(4,0) === "b10001".U) -> "b100011".U(6.W), + (io.dataIn(4,0) === "b10010".U) -> "b010011".U(6.W), + (io.dataIn(4,0) === "b10011".U) -> "b110010".U(6.W), + (io.dataIn(4,0) === "b10100".U) -> "b001011".U(6.W), + (io.dataIn(4,0) === "b10101".U) -> "b101010".U(6.W), + (io.dataIn(4,0) === "b10110".U) -> "b011010".U(6.W), + (io.dataIn(4,0) === "b10111".U) -> Mux( ~rd, "b111010".U(6.W), "b000101".U(6.W) ), + (io.dataIn(4,0) === "b11000".U) -> Mux( ~rd, "b110011".U(6.W), "b001100".U(6.W) ), + (io.dataIn(4,0) === "b11001".U) -> "b100110".U(6.W), + (io.dataIn(4,0) === "b11010".U) -> "b010110".U(6.W), + (io.dataIn(4,0) === "b11011".U) -> Mux( ~rd, "b110110".U(6.W), "b001001".U(6.W) ), + (io.dataIn(4,0) === "b11100".U) -> "b001110".U(6.W), + (io.dataIn(4,0) === "b11101".U) -> Mux( ~rd, "b101110".U(6.W), "b010001".U(6.W) ), + (io.dataIn(4,0) === "b11110".U) -> Mux( ~rd, "b011110".U(6.W), "b100001".U(6.W) ), + (io.dataIn(4,0) === "b11111".U) -> Mux( ~rd, "b101011".U(6.W), "b010100".U(6.W) ) + )) + + + val b5b6RD = Mux1H(Seq( + (io.dataIn(4,0) === "b00000".U) -> ~rd, + (io.dataIn(4,0) === "b00001".U) -> ~rd, + (io.dataIn(4,0) === "b00010".U) -> ~rd, + (io.dataIn(4,0) === "b00011".U) -> rd, + (io.dataIn(4,0) === "b00100".U) -> ~rd, + (io.dataIn(4,0) === "b00101".U) -> rd, + (io.dataIn(4,0) === "b00110".U) -> rd, + (io.dataIn(4,0) === "b00111".U) -> rd, + (io.dataIn(4,0) === "b01000".U) -> ~rd, + (io.dataIn(4,0) === "b01001".U) -> rd, + (io.dataIn(4,0) === "b01010".U) -> rd, + (io.dataIn(4,0) === "b01011".U) -> rd, + (io.dataIn(4,0) === "b01100".U) -> rd, + (io.dataIn(4,0) === "b01101".U) -> rd, + (io.dataIn(4,0) === "b01110".U) -> rd, + (io.dataIn(4,0) === "b01111".U) -> ~rd, + (io.dataIn(4,0) === "b10000".U) -> ~rd, + (io.dataIn(4,0) === "b10001".U) -> rd, + (io.dataIn(4,0) === "b10010".U) -> rd, + (io.dataIn(4,0) === "b10011".U) -> rd, + (io.dataIn(4,0) === "b10100".U) -> rd, + (io.dataIn(4,0) === "b10101".U) -> rd, + (io.dataIn(4,0) === "b10110".U) -> rd, + (io.dataIn(4,0) === "b10111".U) -> ~rd, + (io.dataIn(4,0) === "b11000".U) -> ~rd, + (io.dataIn(4,0) === "b11001".U) -> rd, + (io.dataIn(4,0) === "b11010".U) -> rd, + (io.dataIn(4,0) === "b11011".U) -> ~rd, + (io.dataIn(4,0) === "b11100".U) -> rd, + (io.dataIn(4,0) === "b11101".U) -> ~rd, + (io.dataIn(4,0) === "b11110".U) -> ~rd, + (io.dataIn(4,0) === "b11111".U) -> ~rd, + )) + + val b3b4LookUp = Mux1H(Seq( + (io.dataIn(7,5) === "b000".U) -> Mux( ~b5b6RD, "b1011".U(4.W), "b0100".U(4.W) ), + (io.dataIn(7,5) === "b001".U) -> "b1001".U(4.W), + (io.dataIn(7,5) === "b010".U) -> "b0101".U(4.W), + (io.dataIn(7,5) === "b011".U) -> Mux( ~b5b6RD, "b1100".U(4.W), "b0011".U(4.W) ), + (io.dataIn(7,5) === "b100".U) -> Mux( ~b5b6RD, "b1101".U(4.W), "b0010".U(4.W) ), + (io.dataIn(7,5) === "b101".U) -> "b1010".U(4.W), + (io.dataIn(7,5) === "b110".U) -> "b0110".U(4.W), + (io.dataIn(7,5) === "b111".U) -> MuxCase( Mux( ~b5b6RD, "b1110".U(4.W), "b0001".U(4.W) ), Array( + ((io.dataIn(4,0) === 17.U || io.dataIn(4,0) === 18.U || io.dataIn(4,0) === 20.U) & ~b5b6RD) -> "b0111".U(4.W), // 17, 18, 20 are special cases + ((io.dataIn(4,0) === 11.U || io.dataIn(4,0) === 13.U || io.dataIn(4,0) === 14.U) & b5b6RD) -> "b1000".U(4.W), // 11, 13, 14 are special cases + )) + )) + + val b3b4RD = Mux1H(Seq( + (io.dataIn(7,5) === "b000".U) -> ~b5b6RD, + (io.dataIn(7,5) === "b001".U) -> b5b6RD, + (io.dataIn(7,5) === "b010".U) -> b5b6RD, + (io.dataIn(7,5) === "b011".U) -> b5b6RD, + (io.dataIn(7,5) === "b100".U) -> ~b5b6RD, + (io.dataIn(7,5) === "b101".U) -> b5b6RD, + (io.dataIn(7,5) === "b110".U) -> b5b6RD, + (io.dataIn(7,5) === "b111".U) -> ~b5b6RD, + )) + + io.dataOut := Cat(b5b6LookUp, b3b4LookUp) + + when (io.isEnable) { + rd := b3b4RD + assert( io.dataOut(4,0) =/= 0.U && io.dataOut(4,0) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(5,1) =/= 0.U && io.dataOut(5,1) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(6,2) =/= 0.U && io.dataOut(6,2) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(7,3) =/= 0.U && io.dataOut(7,3) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(8,4) =/= 0.U && io.dataOut(8,4) =/= 31.U, "Invalid 8b10b encoding Output!") + assert( io.dataOut(9,5) =/= 0.U && io.dataOut(9,5) =/= 31.U, "Invalid 8b10b encoding Output!") + + } + +} + + +class b8b10Decode extends Module with RequireAsyncReset{ + val io = IO(new Decode_Bundle) + + + val b5b6LookUp = Mux1H(Seq( + (io.dataIn(9,4) === "b100111".U(6.W) || io.dataIn(9,4) === "b011000".U(6.W) ) -> "b00000".U, + (io.dataIn(9,4) === "b011101".U(6.W) || io.dataIn(9,4) === "b100010".U(6.W) ) -> "b00001".U, + (io.dataIn(9,4) === "b101101".U(6.W) || io.dataIn(9,4) === "b010010".U(6.W) ) -> "b00010".U, + (io.dataIn(9,4) === "b110001".U(6.W)) -> "b00011".U, + (io.dataIn(9,4) === "b110101".U(6.W) || io.dataIn(9,4) === "b001010".U(6.W) ) -> "b00100".U, + (io.dataIn(9,4) === "b101001".U(6.W)) -> "b00101".U, + (io.dataIn(9,4) === "b011001".U(6.W)) -> "b00110".U, + (io.dataIn(9,4) === "b111000".U(6.W) || io.dataIn(9,4) === "b000111".U(6.W) ) -> "b00111".U, + (io.dataIn(9,4) === "b111001".U(6.W) || io.dataIn(9,4) === "b000110".U(6.W) ) -> "b01000".U, + (io.dataIn(9,4) === "b100101".U(6.W)) -> "b01001".U, + (io.dataIn(9,4) === "b010101".U(6.W)) -> "b01010".U, + (io.dataIn(9,4) === "b110100".U(6.W)) -> "b01011".U, + (io.dataIn(9,4) === "b001101".U(6.W)) -> "b01100".U, + (io.dataIn(9,4) === "b101100".U(6.W)) -> "b01101".U, + (io.dataIn(9,4) === "b011100".U(6.W)) -> "b01110".U, + (io.dataIn(9,4) === "b010111".U(6.W) || io.dataIn(9,4) === "b101000".U(6.W) ) -> "b01111".U, + (io.dataIn(9,4) === "b011011".U(6.W) || io.dataIn(9,4) === "b100100".U(6.W) ) -> "b10000".U, + (io.dataIn(9,4) === "b100011".U(6.W)) -> "b10001".U, + (io.dataIn(9,4) === "b010011".U(6.W)) -> "b10010".U, + (io.dataIn(9,4) === "b110010".U(6.W)) -> "b10011".U, + (io.dataIn(9,4) === "b001011".U(6.W)) -> "b10100".U, + (io.dataIn(9,4) === "b101010".U(6.W)) -> "b10101".U, + (io.dataIn(9,4) === "b011010".U(6.W)) -> "b10110".U, + (io.dataIn(9,4) === "b111010".U(6.W) || io.dataIn(9,4) === "b000101".U(6.W) ) -> "b10111".U, + (io.dataIn(9,4) === "b110011".U(6.W) || io.dataIn(9,4) === "b001100".U(6.W) ) -> "b11000".U, + (io.dataIn(9,4) === "b100110".U(6.W)) -> "b11001".U, + (io.dataIn(9,4) === "b010110".U(6.W)) -> "b11010".U, + (io.dataIn(9,4) === "b110110".U(6.W) || io.dataIn(9,4) === "b001001".U(6.W) ) -> "b11011".U, + (io.dataIn(9,4) === "b001110".U(6.W)) -> "b11100".U, + (io.dataIn(9,4) === "b101110".U(6.W) || io.dataIn(9,4) === "b010001".U(6.W) ) -> "b11101".U, + (io.dataIn(9,4) === "b011110".U(6.W) || io.dataIn(9,4) === "b100001".U(6.W) ) -> "b11110".U, + (io.dataIn(9,4) === "b101011".U(6.W) || io.dataIn(9,4) === "b010100".U(6.W) ) -> "b11111".U, + )) + + val b3b4LookUp = Mux1H(Seq( + (io.dataIn(3,0) === "b1011".U(4.W) || io.dataIn(3,0) === "b0100".U(4.W) ) -> "b000".U, + (io.dataIn(3,0) === "b1001".U(4.W)) -> "b001".U, + (io.dataIn(3,0) === "b0101".U(4.W)) -> "b010".U, + (io.dataIn(3,0) === "b1100".U(4.W) || io.dataIn(3,0) === "b0011".U(4.W) ) -> "b011".U, + (io.dataIn(3,0) === "b1101".U(4.W) || io.dataIn(3,0) === "b0010".U(4.W) ) -> "b100".U, + (io.dataIn(3,0) === "b1010".U(4.W)) -> "b101".U, + (io.dataIn(3,0) === "b0110".U(4.W)) -> "b110".U, + (io.dataIn(3,0) === "b1110".U(4.W) || + io.dataIn(3,0) === "b0001".U(4.W) || + io.dataIn(3,0) === "b0111".U(4.W) || + io.dataIn(3,0) === "b1000".U(4.W)) -> "b111".U, + )) + + io.dataOut := Cat(b3b4LookUp, b5b6LookUp) + +} diff --git a/src/main/scala/backBoard/shin/Interface.scala b/src/main/scala/backBoard/shin/Interface.scala index 9c70cb0..782d85c 100644 --- a/src/main/scala/backBoard/shin/Interface.scala +++ b/src/main/scala/backBoard/shin/Interface.scala @@ -52,6 +52,10 @@ class CommonRegisterBundle extends Bundle{ val refTop = UInt(3.W) val bias = UInt(2.W) + val dwupEx = UInt(16.W) + val b8b4Sel = UInt(16.W) + val cdrParam = UInt(16.W) + val softResetCode = Vec(4, UInt(8.W)) @@ -95,10 +99,6 @@ class CommonRegisterBundle extends Bundle{ val syncPeroid = UInt(32.W) val recoTimeStamp = UInt(64.W) //时钟补偿寄存器 - val localPeroid = UInt(32.W) - val localPoint = UInt(64.W) - - val custom = Vec( 128, UInt(8.W) ) val smUsedDepth = Vec(8, UInt(8.W)) @@ -122,6 +122,7 @@ class MasterRegisterBundle extends Bundle{ val isRecCRCErr = UInt(4.W) val rplTimeStampTx = UInt(16.W) + val timeStampOffset = UInt(64.W) } @@ -140,7 +141,8 @@ class SlaveRegisterBundle extends Bundle{ val slvDeltaTime = UInt(32.W) //从站时间戳差值 val deltaFinal = UInt(64.W) //当前时间戳与主站时间差 - + val lvdsWriteAble = UInt(16.W) + def isLVDSWriteAble = lvdsWriteAble(15,8) === "h58".U & lvdsWriteAble.extract(0) } @@ -210,6 +212,7 @@ class InterfaceIO extends Bundle{ val hwSerial = Input(UInt(48.W)) val uniCode = Input(UInt(64.W)) + val isPllCfg = Output(Bool()) } @@ -263,6 +266,7 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ Seq( + (addr === "h18".U ) -> sReg.lvdsWriteAble.extract(0), (addr === "h20".U & isMstMode) -> Cat(mReg.rxSM, mReg.txSM, 0.U(1.W) ), (addr === "h22".U & isMstMode) -> mReg.isRecCRCErr, //(addr === "h21".U & isMstMode) -> mReg.txLength, @@ -294,7 +298,20 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === ("h48".U(16.W) + i.U) ) -> cReg.xtal( 8*i+7,8*i+0 ) }) ++ + + ((0 until 2).map{ i => + (addr === ("h4c".U(16.W) + i.U) ) -> cReg.b8b4Sel( 8*i+7,8*i+0 ) + }) ++ + + ((0 until 2).map{ i => + (addr === ("h4e".U(16.W) + i.U) ) -> cReg.cdrParam( 8*i+7,8*i+0 ) + }) ++ + Seq( + (addr === "h4a".U ) -> cReg.dwupEx.extract(0), + (addr === "h4c".U ) -> cReg.b8b4Sel.extract(0), + (addr === "h4e".U ) -> cReg.cdrParam(7,0), + (addr === "h50".U ) -> cReg.anamuxSel, (addr === "h51".U ) -> cReg.ldo2p5, (addr === "h52".U ) -> cReg.ldo1p1, @@ -379,13 +396,13 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ Seq( //本地时钟 (addr === "h100".U ) -> cReg.timeStamp(7,0), - (addr === "h101".U ) -> RegEnable(cReg.timeStamp(15,8), isEnR & (addrr === "h100".U)), - (addr === "h102".U ) -> RegEnable(cReg.timeStamp(23,16), isEnR & (addrr === "h100".U)), - (addr === "h103".U ) -> RegEnable(cReg.timeStamp(31,24), isEnR & (addrr === "h100".U)), - (addr === "h104".U ) -> RegEnable(cReg.timeStamp(39,32), isEnR & (addrr === "h100".U)), - (addr === "h105".U ) -> RegEnable(cReg.timeStamp(47,40), isEnR & (addrr === "h100".U)), - (addr === "h106".U ) -> RegEnable(cReg.timeStamp(55,48), isEnR & (addrr === "h100".U)), - (addr === "h107".U ) -> RegEnable(cReg.timeStamp(63,56), isEnR & (addrr === "h100".U)), + (addr === "h101".U ) -> RegEnable(cReg.timeStamp(15,8), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h102".U ) -> RegEnable(cReg.timeStamp(23,16), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h103".U ) -> RegEnable(cReg.timeStamp(31,24), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h104".U ) -> RegEnable(cReg.timeStamp(39,32), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h105".U ) -> RegEnable(cReg.timeStamp(47,40), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h106".U ) -> RegEnable(cReg.timeStamp(55,48), 0.U(8.W), isEnR & (addrr === "h100".U)), + (addr === "h107".U ) -> RegEnable(cReg.timeStamp(63,56), 0.U(8.W), isEnR & (addrr === "h100".U)), //参考主站时钟 (addr === "h108".U & isSlvMode) -> sReg.deltaFinal(7,0), @@ -411,13 +428,13 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ //校准后的时钟 (addr === "h118".U ) -> cReg.recoTimeStamp(7,0), - (addr === "h119".U ) -> RegEnable(cReg.recoTimeStamp(15,8), isEnR & (addrr === "h118".U)), - (addr === "h11a".U ) -> RegEnable(cReg.recoTimeStamp(23,16), isEnR & (addrr === "h118".U)), - (addr === "h11b".U ) -> RegEnable(cReg.recoTimeStamp(31,24), isEnR & (addrr === "h118".U)), - (addr === "h11c".U ) -> RegEnable(cReg.recoTimeStamp(39,32), isEnR & (addrr === "h118".U)), - (addr === "h11d".U ) -> RegEnable(cReg.recoTimeStamp(47,40), isEnR & (addrr === "h118".U)), - (addr === "h11e".U ) -> RegEnable(cReg.recoTimeStamp(55,48), isEnR & (addrr === "h118".U)), - (addr === "h11f".U ) -> RegEnable(cReg.recoTimeStamp(63,56), isEnR & (addrr === "h118".U)), + (addr === "h119".U ) -> RegEnable(cReg.recoTimeStamp(15,8), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11a".U ) -> RegEnable(cReg.recoTimeStamp(23,16), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11b".U ) -> RegEnable(cReg.recoTimeStamp(31,24), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11c".U ) -> RegEnable(cReg.recoTimeStamp(39,32), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11d".U ) -> RegEnable(cReg.recoTimeStamp(47,40), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11e".U ) -> RegEnable(cReg.recoTimeStamp(55,48), 0.U(8.W), isEnR & (addrr === "h118".U)), + (addr === "h11f".U ) -> RegEnable(cReg.recoTimeStamp(63,56), 0.U(8.W), isEnR & (addrr === "h118".U)), (addr === "h120".U ) -> cReg.syncCfg, @@ -462,19 +479,14 @@ abstract class InterfaceBase extends Module with RequireAsyncReset{ (addr === "h146".U ) -> cReg.syncOffset(3)(23,16), (addr === "h147".U ) -> cReg.syncOffset(3)(31,24), - (addr === "h148".U ) -> cReg.localPoint(7,0), - (addr === "h149".U ) -> cReg.localPoint(15,8), - (addr === "h14a".U ) -> cReg.localPoint(23,16), - (addr === "h14b".U ) -> cReg.localPoint(31,24), - (addr === "h14c".U ) -> cReg.localPoint(39,32), - (addr === "h14d".U ) -> cReg.localPoint(47,40), - (addr === "h14e".U ) -> cReg.localPoint(55,48), - (addr === "h14f".U ) -> cReg.localPoint(63,56), - - (addr === "h150".U ) -> cReg.localPeroid(7,0), - (addr === "h151".U ) -> cReg.localPeroid(15,8), - (addr === "h152".U ) -> cReg.localPeroid(23,16), - (addr === "h153".U ) -> cReg.localPeroid(31,24), + (addr === "h148".U ) -> mReg.timeStampOffset(7,0), + (addr === "h149".U ) -> mReg.timeStampOffset(15,8), + (addr === "h14a".U ) -> mReg.timeStampOffset(23,16), + (addr === "h14b".U ) -> mReg.timeStampOffset(31,24), + (addr === "h14c".U ) -> mReg.timeStampOffset(39,32), + (addr === "h14d".U ) -> mReg.timeStampOffset(47,40), + (addr === "h14e".U ) -> mReg.timeStampOffset(55,48), + (addr === "h14f".U ) -> mReg.timeStampOffset(63,56), ) ++ ( 0 until 128 ).map{ i => @@ -603,7 +615,7 @@ trait InterfaceMCUop{ this: InterfaceBase => )) datar := MuxCase( 0.U, Array( - ((addrr & "hF800".U) === "h0000".U) -> RegEnable( AcquireReg(addr = addrr), isEnR ), + ((addrr & "hF800".U) === "h0000".U) -> RegEnable( AcquireReg(addr = addrr), 0.U(8.W), isEnR ), ((addrr & "hF800".U) === "h0800".U) -> io.sram_r(0).datar, ((addrr & "hF800".U) === "h1000".U) -> 0.U, ((addrr & "hF800".U) === "h1800".U) -> io.sram_r(1).datar, @@ -735,34 +747,35 @@ trait InterfaceCheckSM{ this: InterfaceBase => io.uSMenq(3) := isEnW & (( addrw & "hF800".U ) === "h4000".U) & (addrw(10,0) === cReg.smTrigLen(7) - 1.U) } -trait InterfaceLVDSop{ this: InterfaceBase => +trait InterfaceEBMMU{ this: InterfaceBase => - io.lvds.datar := RegEnable(AcquireReg(addr = io.lvds.addrr), io.lvds.isEnR) + io.lvds.datar := RegEnable(AcquireReg(addr = io.lvds.addrr), 0.U(8.W), io.lvds.isEnR) + ( 0 until 16 ).map{ i => sReg.ebmmu(i).lAddr := Cat( - RegEnable( io.lvds.dataw(5,0), 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h203".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h202".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h201".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h200".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw(5,0), 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h203".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h202".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h201".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h200".U(16.W) + (10*i).U )) ), ) sReg.ebmmu(i).pAddr := Cat( - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h205".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h204".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h205".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h204".U(16.W) + (10*i).U )) ), ) sReg.ebmmu(i).length := Cat( - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h207".U(16.W) + (10*i).U )) ), - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h206".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h207".U(16.W) + (10*i).U )) ), + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h206".U(16.W) + (10*i).U )) ), ) sReg.ebmmu(i).op := - RegEnable( io.lvds.dataw, 0.U(8.W), io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h208".U(16.W) + (10*i).U )) ) + RegEnable( io.lvds.dataw, 0.U(8.W), sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h208".U(16.W) + (10*i).U )) ) sReg.ebmmu(i).isEnable := - RegEnable( io.lvds.dataw.extract(0), false.B, io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h209".U(16.W) + (10*i).U )) ) + RegEnable( io.lvds.dataw.extract(0), false.B, sReg.isLVDSWriteAble & io.lvds.isEnW & isSlvMode & (io.lvds.addrw === ( "h209".U(16.W) + (10*i).U )) ) } } @@ -776,10 +789,11 @@ trait InterfaceSync{ this: InterfaceBase => cReg.syncWidth(i) := syncWidth(i) } - val syncPoint = RegInit(0.U(64.W)); cReg.syncPoint := syncPoint + val timeStampOffset = RegInit(0.U(64.W)); mReg.timeStampOffset := timeStampOffset + val timeStampOffset_WRCopy = RegInit(0.U(64.W)) + val syncPoint = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)); cReg.syncPoint := syncPoint + val syncPoint_WRCopy = RegInit("hFFFFFFFFFFFFFFFF".U(64.W)) val syncPeroid = RegInit(0.U(32.W)); cReg.syncPeroid := syncPeroid - 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 ) { @@ -792,29 +806,30 @@ trait InterfaceSync{ this: InterfaceBase => } for( i <- 0 until 4 ){ - when( io.lvds.addrw === ("h122".U(16.W) + (2*i).U)){ - syncWidth(i) := Cat( syncWidth(i)(15,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === ("h123".U(16.W) + (2*i).U) ){ - syncWidth(i) := Cat( io.lvds.dataw, syncWidth(i)(7,0) ) + when( addrw === ("h122".U(16.W) + (2*i).U)){ + syncWidth(i) := Cat( syncWidth(i)(15,8), dataw ) + } .elsewhen( addrw === ("h123".U(16.W) + (2*i).U) ){ + syncWidth(i) := Cat( dataw, syncWidth(i)(7,0) ) } } when( addrw === "h130".U ){ - syncPoint := Cat( syncPoint(63,8), dataw ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,8), dataw ) } .elsewhen( addrw === "h131".U ){ - syncPoint := Cat( syncPoint(63,16), dataw, syncPoint(7,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,16), dataw, syncPoint_WRCopy(7,0) ) } .elsewhen( addrw === "h132".U ){ - syncPoint := Cat( syncPoint(63,24), dataw, syncPoint(15,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,24), dataw, syncPoint_WRCopy(15,0) ) } .elsewhen( addrw === "h133".U ){ - syncPoint := Cat( syncPoint(63,32), dataw, syncPoint(23,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,32), dataw, syncPoint_WRCopy(23,0) ) } .elsewhen( addrw === "h134".U ){ - syncPoint := Cat( syncPoint(63,40), dataw, syncPoint(31,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,40), dataw, syncPoint_WRCopy(31,0) ) } .elsewhen( addrw === "h135".U ){ - syncPoint := Cat( syncPoint(63,48), dataw, syncPoint(39,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,48), dataw, syncPoint_WRCopy(39,0) ) } .elsewhen( addrw === "h136".U ){ - syncPoint := Cat( syncPoint(63,56), dataw, syncPoint(47,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,56), dataw, syncPoint_WRCopy(47,0) ) } .elsewhen( addrw === "h137".U ){ - syncPoint := Cat( dataw, syncPoint(55,0) ) + syncPoint_WRCopy := Cat( dataw, syncPoint_WRCopy(55,0) ) + syncPoint := Cat( dataw, syncPoint_WRCopy(55,0) ) } .elsewhen( addrw === "h138".U ){ @@ -828,34 +843,24 @@ trait InterfaceSync{ this: InterfaceBase => } .elsewhen( addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), dataw ) + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,8), dataw ) } .elsewhen( addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), dataw, localPoint(7,0) ) + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,16), dataw, timeStampOffset_WRCopy(7,0) ) } .elsewhen( addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), dataw, localPoint(15,0) ) + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,24), dataw, timeStampOffset_WRCopy(15,0) ) } .elsewhen( addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), dataw, localPoint(23,0) ) + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,32), dataw, timeStampOffset_WRCopy(23,0) ) } .elsewhen( addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), dataw, localPoint(31,0) ) + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,40), dataw, timeStampOffset_WRCopy(31,0) ) } .elsewhen( addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), dataw, localPoint(39,0) ) + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,48), dataw, timeStampOffset_WRCopy(39,0) ) } .elsewhen( addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), dataw, localPoint(47,0) ) + timeStampOffset_WRCopy := Cat( timeStampOffset_WRCopy(63,56), dataw, timeStampOffset_WRCopy(47,0) ) } .elsewhen( addrw === "h14f".U ){ - localPoint := Cat( dataw, localPoint(55,0) ) + timeStampOffset_WRCopy := Cat( dataw, timeStampOffset_WRCopy(55,0) ) + timeStampOffset := Cat( dataw, timeStampOffset_WRCopy(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) ){ @@ -871,7 +876,6 @@ trait InterfaceSync{ this: InterfaceBase => } - when( io.lvds.isEnW ){ when( io.lvds.addrw === "h120".U ){ @@ -887,21 +891,22 @@ trait InterfaceSync{ this: InterfaceBase => } .elsewhen( io.lvds.addrw === "h130".U ){ - syncPoint := Cat( syncPoint(63,8), io.lvds.dataw ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,8), io.lvds.dataw ) } .elsewhen( io.lvds.addrw === "h131".U ){ - syncPoint := Cat( syncPoint(63,16), io.lvds.dataw, syncPoint(7,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,16), io.lvds.dataw, syncPoint_WRCopy(7,0) ) } .elsewhen( io.lvds.addrw === "h132".U ){ - syncPoint := Cat( syncPoint(63,24), io.lvds.dataw, syncPoint(15,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,24), io.lvds.dataw, syncPoint_WRCopy(15,0) ) } .elsewhen( io.lvds.addrw === "h133".U ){ - syncPoint := Cat( syncPoint(63,32), io.lvds.dataw, syncPoint(23,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,32), io.lvds.dataw, syncPoint_WRCopy(23,0) ) } .elsewhen( io.lvds.addrw === "h134".U ){ - syncPoint := Cat( syncPoint(63,40), io.lvds.dataw, syncPoint(31,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,40), io.lvds.dataw, syncPoint_WRCopy(31,0) ) } .elsewhen( io.lvds.addrw === "h135".U ){ - syncPoint := Cat( syncPoint(63,48), io.lvds.dataw, syncPoint(39,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,48), io.lvds.dataw, syncPoint_WRCopy(39,0) ) } .elsewhen( io.lvds.addrw === "h136".U ){ - syncPoint := Cat( syncPoint(63,56), io.lvds.dataw, syncPoint(47,0) ) + syncPoint_WRCopy := Cat( syncPoint_WRCopy(63,56), io.lvds.dataw, syncPoint_WRCopy(47,0) ) } .elsewhen( io.lvds.addrw === "h137".U ){ - syncPoint := Cat( io.lvds.dataw, syncPoint(55,0) ) + syncPoint_WRCopy := Cat( io.lvds.dataw, syncPoint_WRCopy(55,0) ) + syncPoint := Cat( io.lvds.dataw, syncPoint_WRCopy(55,0) ) } .elsewhen( io.lvds.addrw === "h138".U ){ @@ -914,35 +919,6 @@ trait InterfaceSync{ this: InterfaceBase => syncPeroid := Cat( io.lvds.dataw, syncPeroid(23,0) ) } - .elsewhen( io.lvds.addrw === "h148".U ){ - localPoint := Cat( localPoint(63,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h149".U ){ - localPoint := Cat( localPoint(63,16), io.lvds.dataw, localPoint(7,0) ) - } .elsewhen( io.lvds.addrw === "h14a".U ){ - localPoint := Cat( localPoint(63,24), io.lvds.dataw, localPoint(15,0) ) - } .elsewhen( io.lvds.addrw === "h14b".U ){ - localPoint := Cat( localPoint(63,32), io.lvds.dataw, localPoint(23,0) ) - } .elsewhen( io.lvds.addrw === "h14c".U ){ - localPoint := Cat( localPoint(63,40), io.lvds.dataw, localPoint(31,0) ) - } .elsewhen( io.lvds.addrw === "h14d".U ){ - localPoint := Cat( localPoint(63,48), io.lvds.dataw, localPoint(39,0) ) - } .elsewhen( io.lvds.addrw === "h14e".U ){ - localPoint := Cat( localPoint(63,56), io.lvds.dataw, localPoint(47,0) ) - } .elsewhen( io.lvds.addrw === "h14f".U ){ - localPoint := Cat( io.lvds.dataw, localPoint(55,0) ) - } - - .elsewhen( io.lvds.addrw === "h150".U ){ - localPeroid := Cat( localPeroid(31,8), io.lvds.dataw ) - } .elsewhen( io.lvds.addrw === "h151".U ){ - localPeroid := Cat( localPeroid(31,16), io.lvds.dataw, localPeroid(7,0) ) - } .elsewhen( io.lvds.addrw === "h152".U ){ - localPeroid := Cat( localPeroid(31,24), io.lvds.dataw, localPeroid(15,0) ) - } .elsewhen( io.lvds.addrw === "h153".U ){ - localPeroid := Cat( io.lvds.dataw, localPeroid(23,0) ) - } - - for( i <- 1 until 4 ){ when( io.lvds.addrw === ("h13c".U(16.W) + (4*(i-1)).U) ){ syncOffset(i) := Cat( syncOffset(i)(31,8), io.lvds.dataw ) @@ -956,14 +932,14 @@ trait InterfaceSync{ this: InterfaceBase => } } - cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 0.U ) + cReg.timeStamp := RegNext( cReg.timeStamp + 1.U, 1.U(64.W) ) cReg.mstDeltaTime := io.mstDeltaTime sReg.deltaFinal := io.deltaFinal cReg.recoTimeStamp := - Mux(isMstMode, cReg.timeStamp, - RegNext( cReg.timeStamp + sReg.deltaFinal ) + Mux(isMstMode, cReg.timeStamp + mReg.timeStampOffset, + RegNext( cReg.timeStamp + sReg.deltaFinal, 0.U(64.W) ) ) sReg.slvDeltaTime := io.slvDeltaTime @@ -971,19 +947,40 @@ trait InterfaceSync{ this: InterfaceBase => val syncOffsetCnt = for( i <- 0 until 4 ) yield { RegInit("hFFFFFFFF".U(32.W)) } //空开第0位 val syncResetCnt = for( i <- 0 until 4 ) yield { RegInit(0.U(16.W)) } //空开第0位 + val recoTimeStamp_Copy = RegInit(1.U(64.W)) - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + + when( + cReg.syncPoint === recoTimeStamp_Copy || + (io.lvds.addrw === "h120".U & io.lvds.isEnW) || //写syncCfg + (io.lvds.addrw === "h137".U & io.lvds.isEnW) || //写syncPoint + (io.lvds.addrw === "h13B".U & io.lvds.isEnW) || //写syncPeroid + (addrw === "h120".U & isEnW) || //写syncCfg + (addrw === "h137".U & isEnW) || //写syncPoint + (addrw === "h13B".U & isEnW) //写syncPeroid + ){ + recoTimeStamp_Copy := cReg.timeStamp + sReg.deltaFinal + } .otherwise{ + recoTimeStamp_Copy := recoTimeStamp_Copy + 1.U + } + + + when( cReg.syncPoint === recoTimeStamp_Copy ){ //时间到达sync0时间点 syncSign(0) := true.B - syncPoint := syncPoint + cReg.syncPeroid } .elsewhen( ~cReg.syncCfg(4+0) & syncResetCnt(0) === cReg.syncWidth(0) ){ syncSign(0) := false.B } .elsewhen( cReg.syncCfg(4+0) & isEnW & addrw === "h122".U ){ syncSign(0) := false.B } + when( cReg.syncPoint <= recoTimeStamp_Copy ){ + syncPoint := syncPoint + cReg.syncPeroid + } + + for( i <- 1 until 4 ) { - when( cReg.syncPoint === cReg.recoTimeStamp ){ //时间到达sync0时间点 + when( cReg.syncPoint === recoTimeStamp_Copy ){ //时间到达sync0时间点 syncOffsetCnt(i) := 0.U } .elsewhen( syncOffsetCnt(i) < cReg.syncOffset(i) ){ syncOffsetCnt(i) := syncOffsetCnt(i) + 1.U @@ -1017,13 +1014,6 @@ trait InterfaceSync{ this: InterfaceBase => io.sync(3) := cReg.syncCfg.extract(3) & syncSign(3) - val isLocalSyncInt = cReg.localPoint === cReg.recoTimeStamp - - when( isLocalSyncInt ){ //时间到达localSync时间点 - localPoint := cReg.localPoint + cReg.localPeroid - } - - } trait InterfaceWdt{ this: InterfaceBase => @@ -1081,6 +1071,38 @@ trait InterfaceSystem{ this: InterfaceBase => cReg.softResetCode(3) := RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h43".U ) + cReg.dwupEx := + Cat( + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4b".U ), + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4a".U ) + ) + + cReg.b8b4Sel := + Cat( + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4d".U ), + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4c".U ) + ) + cReg.cdrParam := + Cat( + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4f".U ), + RegEnable(dataw, 0.U(8.W), isEnW & addrw === "h4e".U ) + ) + + val lvdsWriteAble = RegInit(0.U(16.W)); sReg.lvdsWriteAble := lvdsWriteAble + when( io.lvds.isEnW & (io.lvds.addrw === "h19".U(16.W)) ){ + lvdsWriteAble := Cat( io.lvds.dataw, lvdsWriteAble(7,0) ) + } .elsewhen( isEnW & (addrw === "h19".U(16.W)) ){ + lvdsWriteAble := Cat( dataw, lvdsWriteAble(7,0) ) + } .elsewhen( io.lvds.isEnW & (io.lvds.addrw === "h18".U(16.W)) ){ + lvdsWriteAble := Cat( lvdsWriteAble(15,8), io.lvds.dataw ) + } .elsewhen( isEnW & (addrw === "h18".U(16.W)) ){ + lvdsWriteAble := Cat( lvdsWriteAble(15,8), dataw ) + } + + +} + +trait InterfaceInterrupt{ this: InterfaceBase => cReg.intEnable := Cat( 1.U(1.W), //复位中断,时钟为1 //31 上电复位 @@ -1118,16 +1140,11 @@ trait InterfaceSystem{ this: InterfaceBase => intStatus(1) := true.B } - //主站发送周期到了 - 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)) + (RegNext( cReg.event.latchStatus(0), false.B ) =/= cReg.event.latchStatus(0)) | + (RegNext( cReg.event.latchStatus(1), false.B ) =/= cReg.event.latchStatus(1)) when(isLatchEvent){ intStatus(3) := true.B @@ -1164,12 +1181,17 @@ trait InterfaceSystem{ this: InterfaceBase => intStatus(19) := true.B } + + val intHWErr = Seq( + ( ~RegNext(io.intHWTrig(0), false.B) & io.intHWTrig(0)), + ( ~RegNext(io.intHWTrig(1), false.B) & io.intHWTrig(1)) + ) //下行接收硬件错误 - when( io.intHWTrig(0) ){ + when( intHWErr(0) ){ intStatus(29) := true.B } //上行接收硬件错误 - when( io.intHWTrig(1) ){ + when( intHWErr(1) ){ intStatus(30) := true.B } @@ -1199,33 +1221,29 @@ trait InterfaceSystem{ this: InterfaceBase => val trigIntPulse = (io.intMstTrig(0) & cReg.intEnable(0)) | //主站发送完成 (io.intMstTrig(1) & cReg.intEnable(1)) | //主站接收完成 - (isLocalSyncInt & cReg.intEnable(2)) | //主站发送周期到了 (isLatchEvent & cReg.intEnable(3)) | //latch Event (isWdtTrigAndEnable & cReg.intEnable(4)) | //主站接收看门狗溢出 (0 until 8).map{ i => io.intSlvTrig(i) & cReg.intEnable(8+i)}.reduce(_|_) | //从站SM请求 (0 until 4).map{ i => io.intTransEnd(i) & cReg.intEnable(16+i)}.reduce(_|_) | //传输完成请求 16,17,18,19 isMstRecCRCErr | //override //主站状态下19为上行crc接收错误 //不会同时发生 - io.intHWTrig(0) | //下行接收硬件错误 - io.intHWTrig(1) //上行接收硬件错误 + intHWErr(0) | //下行接收硬件错误 + intHWErr(1) //上行接收硬件错误 - when( intPulseResetCnt === intPulseWidth ){ - intPulse := false.B - } .elsewhen( trigIntPulse ){ + when( trigIntPulse ){ intPulse := true.B - } + } .elsewhen( intPulseResetCnt === intPulseWidth ){ + intPulse := false.B + } when( trigIntPulse ){ intPulseResetCnt := 0.U - } .elsewhen( (intPulseResetCnt < intPulseWidth) & (intPulse === true.B) ){ + } .elsewhen( (intPulseResetCnt <= intPulseWidth) & (intPulse === true.B) ){ intPulseResetCnt := intPulseResetCnt + 1.U } io.interrupt := Mux( isLevelInt, (cReg.intStatus & cReg.intEnable).orR, intPulse) - - } - trait InterfaceEvent{ this: InterfaceBase => val isPosedgeOnce = for( i <- 0 until 2 ) yield RegEnable( dataw.extract(2), false.B, isEnW & ( addrw === ( "h500".U + (i*2).U ) )) val isNegedgeOnce = for( i <- 0 until 2 ) yield RegEnable( dataw.extract(3), false.B, isEnW & ( addrw === ( "h500".U + (i*2).U ) )) @@ -1312,11 +1330,13 @@ trait InterfaceAnalog{ this: InterfaceBase => ) - cReg.anamuxSel := RegEnable( dataw, "h0".U(8.W), isEnW & addrw === "h50".U ) - cReg.ldo2p5 := RegEnable( dataw, "h87".U(8.W), isEnW & addrw === "h51".U ) - cReg.ldo1p1 := RegEnable( dataw, "h87".U(8.W), isEnW & addrw === "h52".U ) - cReg.refTop := RegEnable( dataw, "h0".U(8.W), isEnW & addrw === "h53".U ) - cReg.bias := RegEnable( dataw, "h0".U(8.W), isEnW & addrw === "h54".U ) + cReg.anamuxSel := RegEnable( dataw, "h0".U(8.W), isEnW & addrw === "h50".U ) + cReg.ldo2p5 := RegEnable( dataw, "h87".U(8.W), isEnW & addrw === "h51".U ) + cReg.ldo1p1 := RegEnable( dataw, "h87".U(8.W), isEnW & addrw === "h52".U ) + cReg.refTop := RegEnable( dataw, "h0".U(8.W), isEnW & addrw === "h53".U ) + cReg.bias := RegEnable( dataw, "h0".U(8.W), isEnW & addrw === "h54".U ) + + io.isPllCfg := isEnW & addrw === "h45".U } trait InterfaceStat{ this: InterfaceBase => @@ -1450,11 +1470,12 @@ trait InterfaceStat{ this: InterfaceBase => class Interface extends InterfaceBase with InterfaceMCUop with InterfaceCheckSM -with InterfaceLVDSop +with InterfaceEBMMU with InterfaceSync with InterfaceStat with InterfaceWdt with InterfaceSystem +with InterfaceInterrupt with InterfaceEvent with InterfaceAnalog { @@ -1473,9 +1494,6 @@ with InterfaceAnalog sReg.localDevIndex := io.localDevIndex - // sReg.isDevOnLeft := io.isDevOnLeft - // sReg.isDevOnLeftModify := io.isDevOnLeftModify - // sReg.indexOfLeftDev := io.indexOfLeftDev sReg.isDevOnRight := io.isDevOnRight sReg.isDevOnRightModify := io.isDevOnRightModify sReg.indexOfRightDev := io.indexOfRightDev diff --git a/src/main/scala/backBoard/shin/MasterParser.scala b/src/main/scala/backBoard/shin/MasterParser.scala index b80ac36..6bde127 100644 --- a/src/main/scala/backBoard/shin/MasterParser.scala +++ b/src/main/scala/backBoard/shin/MasterParser.scala @@ -30,13 +30,12 @@ class MasterParserIO extends Bundle{ abstract class MasterParserBase extends Module with RequireAsyncReset{ val io: MasterParserIO = IO(new MasterParserIO) - val txCnt = Reg(UInt(12.W)) - val txLen = Reg(UInt(11.W)) - val txAddr = Reg(UInt(15.W)) - - val rxCnt = Reg(UInt(12.W)) - val rxLen = Reg(UInt(11.W)) - val rxAddr = Reg(UInt(15.W)) + val txCnt = RegInit(0.U(12.W)) + val txLen = RegInit(0.U(11.W)) + val txAddr = RegInit(0.U(15.W)) + val rxCnt = RegInit(0.U(12.W)) + val rxLen = RegInit(0.U(11.W)) + val rxAddr = RegInit(0.U(15.W)) val reqReady = RegInit(true.B) @@ -114,14 +113,14 @@ abstract class MasterParserBase extends Module with RequireAsyncReset{ io.downOut.bits.tdata := Mux1H(Seq( ( txCnt < txLen ) -> MuxCase( io.sram_r.datar, Array( - ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> io.cReg.timeStamp(7,0), - ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.timeStamp(15,8), io.downOut.fire & txCnt === rplCnt0 ), - ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.timeStamp(23,16), io.downOut.fire & txCnt === rplCnt0 ), - ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.timeStamp(31,24), io.downOut.fire & txCnt === rplCnt0 ), - ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.timeStamp(39,32), io.downOut.fire & txCnt === rplCnt0 ), - ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.timeStamp(47,40), io.downOut.fire & txCnt === rplCnt0 ), - ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.timeStamp(55,48), io.downOut.fire & txCnt === rplCnt0 ), - ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.timeStamp(63,56), io.downOut.fire & txCnt === rplCnt0 ), + ( isRplTimeStamp & ( txCnt === rplCnt0 ) ) -> RegEnable(io.cReg.recoTimeStamp(7,0), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt1 ) ) -> RegEnable(io.cReg.recoTimeStamp(15,8), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt2 ) ) -> RegEnable(io.cReg.recoTimeStamp(23,16), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt3 ) ) -> RegEnable(io.cReg.recoTimeStamp(31,24), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt4 ) ) -> RegEnable(io.cReg.recoTimeStamp(39,32), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt5 ) ) -> RegEnable(io.cReg.recoTimeStamp(47,40), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt6 ) ) -> RegEnable(io.cReg.recoTimeStamp(55,48), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), + ( isRplTimeStamp & ( txCnt === rplCnt7 ) ) -> RegEnable(io.cReg.recoTimeStamp(63,56), 0.U(8.W), io.downOut.fire & txCnt === 0.U ), ( isRplDeltaStamp & ( txCnt === rplCnt8 ) ) -> io.cReg.mstDeltaTime(7,0), ( isRplDeltaStamp & ( txCnt === rplCnt9 ) ) -> io.cReg.mstDeltaTime(15,8), ( isRplDeltaStamp & ( txCnt === rplCnt10 ) ) -> io.cReg.mstDeltaTime(23,16), @@ -137,7 +136,7 @@ abstract class MasterParserBase extends Module with RequireAsyncReset{ - val recCrcCheck = Reg(UInt(32.W)) + val recCrcCheck = RegInit(0.U(32.W)) when( io.req ){ rxCnt := 0.U @@ -205,12 +204,12 @@ trait MasterParserStat{ this: MasterParserBase => class MasterParser extends MasterParserBase with MasterParserStat{ - val deltaTimeStamp = Reg(UInt(32.W)) + val deltaTimeStamp = RegInit(0.U(32.W)) // dontTouch(deltaTimeStamp) io.deltaTimeStamp := deltaTimeStamp - val txStamps = Reg(UInt(32.W)) - val pkgChkCnt = Reg(UInt(4.W)) + val txStamps = RegInit(0.U(32.W)) + val pkgChkCnt = RegInit(0.U(4.W)) when( io.upIn.fire & io.upIn.bits.tlast ){ pkgChkCnt := 0.U diff --git a/src/main/scala/backBoard/shin/MstSlvSwitch.scala b/src/main/scala/backBoard/shin/MstSlvSwitch.scala index 8bdfac4..881d5d1 100644 --- a/src/main/scala/backBoard/shin/MstSlvSwitch.scala +++ b/src/main/scala/backBoard/shin/MstSlvSwitch.scala @@ -32,6 +32,7 @@ class TopBase_IO_Bundle extends Bundle{ val bias = Output(UInt(2.W)) val spiSel = Output(UInt(2.W)) + val isPllCfg = Output(Bool()) } @@ -57,9 +58,15 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ val slaveParser = Module(new SlaveParser ) val masterParser = Module(new MasterParser) + val b4b5DownEncoder = Module(new b4b5DualEncode) + val b4b5DownDecoder = Module(new b4b5DualDecode) + val b4b5UpEncoder = Module(new b4b5DualEncode) + val b4b5UpDecoder = Module(new b4b5DualDecode) - - + val b8b10DownEncoder = Module(new b8b10Encode) + val b8b10DownDecoder = Module(new b8b10Decode) + val b8b10UpEncoder = Module(new b8b10Encode) + val b8b10UpDecoder = Module(new b8b10Decode) val interface = Module(new Interface) @@ -91,7 +98,8 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ io.refTop := interface.io.cReg.refTop io.bias := interface.io.cReg.bias - io.spiSel := interface.io.cReg.spiSel + io.spiSel := interface.io.cReg.spiSel + io.isPllCfg := interface.io.isPllCfg val sram = Seq( for( _ <- 0 until 4 ) yield { Module(new ShareSRAM2k) }, @@ -118,13 +126,24 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ val lvdsSMEnq = for( i <- 0 until 4 ) yield WireDefault(false.B); interface.io.lvdsSMEnq := lvdsSMEnq val lvdsSMDeq = for( i <- 0 until 4 ) yield WireDefault(false.B); interface.io.lvdsSMDeq := lvdsSMDeq - + val lvdsSMComf = for( i <- 0 until 4 ) yield WireDefault(false.B) + val lvdsSMAbrt = for( i <- 0 until 4 ) yield WireDefault(false.B) smUnit(0).io.enq := lvdsSMEnq(0) smUnit(2).io.enq := lvdsSMEnq(1) smUnit(4).io.enq := lvdsSMEnq(2) smUnit(6).io.enq := lvdsSMEnq(3) + smUnit(0).io.isComf := lvdsSMComf(0) + smUnit(2).io.isComf := lvdsSMComf(1) + smUnit(4).io.isComf := lvdsSMComf(2) + smUnit(6).io.isComf := lvdsSMComf(3) + + smUnit(0).io.isAbrt := lvdsSMAbrt(0) + smUnit(2).io.isAbrt := lvdsSMAbrt(1) + smUnit(4).io.isAbrt := lvdsSMAbrt(2) + smUnit(6).io.isAbrt := lvdsSMAbrt(3) + smUnit(1).io.deq := lvdsSMDeq(0) smUnit(3).io.deq := lvdsSMDeq(1) smUnit(5).io.deq := lvdsSMDeq(2) @@ -151,6 +170,16 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ smUnit(5).io.enq := interface.io.uSMenq(2) smUnit(7).io.enq := interface.io.uSMenq(3) + smUnit(1).io.isComf := RegNext( smUnit(1).io.enq, false.B ) + smUnit(3).io.isComf := RegNext( smUnit(3).io.enq, false.B ) + smUnit(5).io.isComf := RegNext( smUnit(5).io.enq, false.B ) + smUnit(7).io.isComf := RegNext( smUnit(7).io.enq, false.B ) + + smUnit(1).io.isAbrt := false.B + smUnit(3).io.isAbrt := false.B + smUnit(5).io.isAbrt := false.B + smUnit(7).io.isAbrt := false.B + for( i <- 0 until 8 ){ interface.io.smUsedDepth(i) := smUnit(i).io.cnt smUnit(i).io.flush := interface.io.isSMReset(i) @@ -255,7 +284,6 @@ abstract class MstSlvSwitchBase extends Module with RequireAsyncReset{ } - trait MstSlvSwitchMaster{ this: MstSlvSwitchBase => when( interface.io.cReg.modeSel === true.B ){ @@ -267,16 +295,24 @@ trait MstSlvSwitchMaster{ this: MstSlvSwitchBase => when( interface.io.txReq.bits.rxSM === 0.U ){ smUnit(0).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(0) := masterParser.io.rxEnq + lvdsSMEnq(0) := masterParser.io.rxEnq + lvdsSMComf(0) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(0) := false.B } .elsewhen( interface.io.txReq.bits.rxSM === 1.U ){ smUnit(2).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(1) := masterParser.io.rxEnq + lvdsSMEnq(1) := masterParser.io.rxEnq + lvdsSMComf(1) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(1) := false.B } .elsewhen( interface.io.txReq.bits.rxSM === 2.U ){ smUnit(4).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(2) := masterParser.io.rxEnq + lvdsSMEnq(2) := masterParser.io.rxEnq + lvdsSMComf(2) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(2) := false.B } .elsewhen( interface.io.txReq.bits.rxSM === 3.U ){ smUnit(6).io.sram_w := masterParser.io.sram_w - lvdsSMEnq(3) := masterParser.io.rxEnq + lvdsSMEnq(3) := masterParser.io.rxEnq + lvdsSMComf(3) := RegNext(masterParser.io.rxEnq, false.B) + lvdsSMAbrt(3) := false.B } when( interface.io.txReq.bits.txSM === 0.U ){ @@ -344,6 +380,16 @@ trait MstSlvSwitchSlave{ this: MstSlvSwitchBase => lvdsSMEnq(2) := slaveParser.io.dSMenq(2) lvdsSMEnq(3) := slaveParser.io.dSMenq(3) + lvdsSMComf(0) := slaveParser.io.downRecStat.isFinish + lvdsSMComf(1) := slaveParser.io.downRecStat.isFinish + lvdsSMComf(2) := slaveParser.io.downRecStat.isFinish + lvdsSMComf(3) := slaveParser.io.downRecStat.isFinish + + lvdsSMAbrt(0) := slaveParser.io.downRecStat.isRecError + lvdsSMAbrt(1) := slaveParser.io.downRecStat.isRecError + lvdsSMAbrt(2) := slaveParser.io.downRecStat.isRecError + lvdsSMAbrt(3) := slaveParser.io.downRecStat.isRecError + lvdsSMDeq(0) := slaveParser.io.uSMdeq(0) lvdsSMDeq(1) := slaveParser.io.uSMdeq(1) lvdsSMDeq(2) := slaveParser.io.uSMdeq(2) @@ -373,10 +419,10 @@ trait MstSlvSwitchSlave{ this: MstSlvSwitchBase => slaveParser.io.intHWClr(0) := interface.io.intHWTrig(0) & interface.io.intHWClr(0) slaveParser.io.intHWClr(1) := interface.io.intHWTrig(1) & interface.io.intHWClr(1) - io.downCDRIn.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0) ) - io.upCDRIn.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1) ) - io.downCDROut.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0) ) - io.upCDROut.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1) ) + io.downCDRIn.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) + io.upCDRIn.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) + io.downCDROut.flush := RegNext( interface.io.intHWTrig(0) & interface.io.intHWClr(0), false.B ) + io.upCDROut.flush := RegNext( interface.io.intHWTrig(1) & interface.io.intHWClr(1), false.B ) interface.io.lvds <> slaveParser.io.lvds @@ -396,7 +442,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => //看门狗1~16,SM监控 val isWdtSMEnable = for( _ <- 0 until 16 ) yield { RegInit(false.B) } - val wdtSMCnt = for( _ <- 0 until 16 ) yield { Reg(UInt(32.W)) } + val wdtSMCnt = for( _ <- 0 until 16 ) yield { RegInit(0.U(32.W)) } for( i <- 0 until 8 ){ when( smUnit(i).io.enq ){ @@ -426,7 +472,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => //看门狗0 发送后回包是否超时 val isWdtRec2RtnEnable = RegInit(false.B) - val wdtRec2RtnCnt = Reg(UInt(32.W)) + val wdtRec2RtnCnt = RegInit(0.U(32.W)) when( (io.upCDRIn.axis.fire & io.upCDRIn.axis.bits.tlast) | @@ -448,7 +494,7 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => interface.io.wdtTrigger(0) := wdtRec2RtnCnt === interface.io.cReg.wdtTarCnt(0) //看门狗17 - val wdtRec2RecCnt = Reg(UInt(32.W)) + val wdtRec2RecCnt = RegInit(0.U(32.W)) when( interface.io.cReg.wdtEnable.extract(17) & (wdtRec2RecCnt < interface.io.cReg.wdtTarCnt(17)) ){ wdtRec2RecCnt := wdtRec2RecCnt + 1.U @@ -464,45 +510,119 @@ trait MstSlvSwitchWatchDog{ this: MstSlvSwitchBase => } +trait MstSlvSwitchDataPath{ this: MstSlvSwitchBase => + val isDwUpEx = interface.io.cReg.dwupEx(15,8) === "h58".U && interface.io.cReg.dwupEx.extract(0) + when( ~isDwUpEx ){ //未交叉 + when( interface.io.cReg.modeSel === false.B ){ //slave + when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := false.B + when( slaveParser.io.isLoop ){ //回环 + io.dDatOut := false.B + io.uDatOut := io.dDatIn + } .otherwise{ //非回环 + io.dDatOut := io.dDatIn + io.uDatOut := io.uDatIn + } + } .otherwise{ //无硬件错误 + when( slaveParser.io.isLoop ){ //回环 + io.downCDRIn.serDat := io.dDatIn + io.upCDRIn.serDat := io.downCDROut.serDat + io.dDatOut := false.B + io.uDatOut := io.upCDROut.serDat + } .otherwise{ //非回环 + io.downCDRIn.serDat := io.dDatIn + io.upCDRIn.serDat := io.uDatIn + io.dDatOut := io.downCDROut.serDat + io.uDatOut := io.upCDROut.serDat + } + } + } .otherwise{ //master + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := io.uDatIn + io.dDatOut := io.downCDROut.serDat + io.uDatOut := false.B + } + } .otherwise{ //交叉 + when( interface.io.cReg.modeSel === false.B ){ //slave + when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 + + when( slaveParser.io.isLoop ){ //回环 + io.dDatOut := io.uDatIn + io.uDatOut := false.B + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := false.B + } .otherwise{ //非回环 + io.dDatOut := io.dDatIn + io.uDatOut := io.uDatIn + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := false.B + } + } .otherwise{ //无硬件错误 + when( slaveParser.io.isLoop ){ //回环 + io.downCDRIn.serDat := io.uDatIn + io.upCDRIn.serDat := io.downCDROut.serDat + io.uDatOut := false.B + io.dDatOut := io.upCDROut.serDat + } .otherwise{ //非回环 + io.downCDRIn.serDat := io.uDatIn + io.upCDRIn.serDat := io.dDatIn + io.dDatOut := io.upCDROut.serDat + io.uDatOut := io.downCDROut.serDat + } + } + } .otherwise{ //master + io.downCDRIn.serDat := false.B + io.upCDRIn.serDat := io.dDatIn + io.uDatOut := io.downCDROut.serDat + io.dDatOut := false.B + } + } +} + +trait MstSlvSwitchB8B4{ this: MstSlvSwitchBase => + val isUsing8b10b = interface.io.cReg.b8b4Sel(15,8) === "h59".U && interface.io.cReg.b8b4Sel.extract(0) + + when( isUsing8b10b ){ + b8b10DownEncoder.io <> io.downCDROut.encode + b8b10DownDecoder.io <> io.downCDRIn.decode + b8b10UpEncoder.io <> io.upCDROut.encode + b8b10UpDecoder.io <> io.upCDRIn.decode + + b4b5DownEncoder.io.isEnable := false.B + b4b5DownEncoder.io.dataIn := 0.U + b4b5DownDecoder.io.dataIn := 0.U + b4b5UpEncoder.io.isEnable := false.B + b4b5UpEncoder.io.dataIn := 0.U + b4b5UpDecoder.io.dataIn := 0.U + } .otherwise{ + b4b5DownEncoder.io <> io.downCDROut.encode + b4b5DownDecoder.io <> io.downCDRIn.decode + b4b5UpEncoder.io <> io.upCDROut.encode + b4b5UpDecoder.io <> io.upCDRIn.decode + + b8b10DownEncoder.io.isEnable := false.B + b8b10DownEncoder.io.dataIn := 0.U + b8b10DownDecoder.io.dataIn := 0.U + b8b10UpEncoder.io.isEnable := false.B + b8b10UpEncoder.io.dataIn := 0.U + b8b10UpDecoder.io.dataIn := 0.U + } +} class MstSlvSwitch extends MstSlvSwitchBase with MstSlvSwitchMaster with MstSlvSwitchSlave -with MstSlvSwitchWatchDog{ +with MstSlvSwitchWatchDog +with MstSlvSwitchDataPath +with MstSlvSwitchB8B4{ + + + - when( interface.io.cReg.modeSel === false.B ){ //slave - when( (slaveParser.io.intHWTrig(0) | slaveParser.io.intHWTrig(1)) | interface.io.isPoReset ){ //硬件错误 - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := false.B - when( slaveParser.io.isLoop ){ //回环 - io.dDatOut := false.B - io.uDatOut := io.dDatIn - } .otherwise{ //非回环 - io.dDatOut := io.dDatIn - io.uDatOut := io.uDatIn - } - } .otherwise{ //无硬件错误 - when( slaveParser.io.isLoop ){ //回环 - io.downCDRIn.serDat := io.dDatIn - io.upCDRIn.serDat := io.downCDROut.serDat - io.dDatOut := false.B - io.uDatOut := io.upCDROut.serDat - } .otherwise{ //非回环 - io.downCDRIn.serDat := io.dDatIn - io.upCDRIn.serDat := io.uDatIn - io.dDatOut := io.downCDROut.serDat - io.uDatOut := io.upCDROut.serDat - } - } - } .otherwise{ //master - io.downCDRIn.serDat := false.B - io.upCDRIn.serDat := io.uDatIn - io.dDatOut := io.downCDROut.serDat - io.uDatOut := false.B - } diff --git a/src/main/scala/backBoard/shin/SMUnit.scala b/src/main/scala/backBoard/shin/SMUnit.scala index 15acb50..f172d56 100644 --- a/src/main/scala/backBoard/shin/SMUnit.scala +++ b/src/main/scala/backBoard/shin/SMUnit.scala @@ -34,7 +34,8 @@ class SMUnitIO(depth: Int) extends Bundle { val cnt = Output(UInt(8.W)) val flush = Input(Bool()) - + val isComf = Input(Bool()) + val isAbrt = Input(Bool()) } abstract class SMUnitBase(depth: Int = 4) extends Module with RequireAsyncReset{ @@ -43,16 +44,18 @@ abstract class SMUnitBase(depth: Int = 4) extends Module with RequireAsyncReset{ val wPtr = RegInit(0.U((log2Ceil(depth)+1).W)) val rPtr = RegInit(0.U((log2Ceil(depth)+1).W)) + val cPtr = RegInit(0.U((log2Ceil(depth)+1).W)) val isFull = (wPtr ^ rPtr) === (1.U << log2Ceil(depth)) - - val isEmpty = ( wPtr === rPtr ) + val isEmpty = ( cPtr === rPtr ) when(io.flush){ wPtr := 0.U } .elsewhen( io.enq & ~isFull ){ wPtr := wPtr + 1.U // assert( ~isFull) + } .elsewhen( io.isAbrt ){ + wPtr := cPtr } when(io.flush){ @@ -82,24 +85,19 @@ abstract class SMUnitBase(depth: Int = 4) extends Module with RequireAsyncReset{ } } - - io.sram_r.datar := Mux1H( ( 0 until depth).map{ i => ( (rPtr(log2Ceil(depth)-1, 0)) === i.U ) -> io.sram(i).rd.datar }) - val cnt = RegInit(0.U((log2Ceil(depth+1)).W)); io.cnt := cnt + io.cnt := cPtr - rPtr when( io.flush ){ - cnt := 0.U - } .elsewhen( io.enq & ~isFull ){ - cnt := cnt + 1.U - assert(cnt =/= depth.U) - } .elsewhen( io.deq & ~isEmpty ){ - cnt := cnt - 1.U - assert(cnt =/= 0.U) + cPtr := 0.U + } .elsewhen( io.isComf ){ + cPtr := wPtr } + } class SMUnit(depth: Int = 4) extends SMUnitBase(depth) { diff --git a/src/main/scala/backBoard/shin/SlaveParser.scala b/src/main/scala/backBoard/shin/SlaveParser.scala index 6de0889..d327e68 100644 --- a/src/main/scala/backBoard/shin/SlaveParser.scala +++ b/src/main/scala/backBoard/shin/SlaveParser.scala @@ -187,11 +187,10 @@ abstract class SlaveParserBase extends Module with RequireAsyncReset{ //接收子报文 - val downSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTxInfo) } //子报文头 - val upSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTxInfo) } - - val downSubMsgTailInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTail) } //子报文头 - val upSubMsgTailInfo = for( _ <- 0 until 2 ) yield { Reg(new SubMsgTail) } + val downSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTxInfo)) } //子报文头 + val upSubMsgHeadInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTxInfo)) } + val downSubMsgTailInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTail) ) } //子报文头 + val upSubMsgTailInfo = for( _ <- 0 until 2 ) yield { RegInit(0.U.asTypeOf(new SubMsgTail) ) } val downRecFifo = for( _ <- 0 until 2 ) yield { Module(new Queue(UInt(8.W), 20)) } //子报文负载 @@ -485,9 +484,9 @@ trait SlaveParserRW{ this: SlaveParserBase => //写入 SM或寄存器空间 - val addrw = Reg(UInt(15.W)) + val addrw = RegInit(0.U(15.W)) val logicAddrwNext = Wire( UInt(30.W) ) - val logicAddrw = RegNext(logicAddrwNext) + val logicAddrw = RegNext(logicAddrwNext, 0.U(30.W)) val isWRReg = (addrw(14,11) === "b0000".U) val isWRSM0 = (addrw(14,11) === "b0001".U) @@ -625,9 +624,9 @@ trait SlaveParserRW{ this: SlaveParserBase => val upTransLenCnt = RegInit(0.U) - val addrr = Reg(UInt(15.W)) + val addrr = RegInit(0.U(15.W)) val logicAddrrNext = Wire( UInt(30.W) ) - val logicAddrr = RegNext(logicAddrrNext) + val logicAddrr = RegNext(logicAddrrNext, 0.U(30.W)) val isUpLgcAddrrAcquireTrans = //是否触发地址转换 @@ -697,14 +696,14 @@ trait SlaveParserRW{ this: SlaveParserBase => ( isUpRecPing & (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_BOARDREAD | upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_BOARDRDWR ) ) | (~isUpRecPing & (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_BOARDREAD | upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_BOARDRDWR ) ) ) - ) & ( (RegNext(upRecParser.io.stateCurr) =/= STATE_PAYLOAD_DATA) | upRecParser.io.data.fire ) + ) & ( (RegNext(upRecParser.io.stateCurr, STATE_IDLE) =/= STATE_PAYLOAD_DATA) | upRecParser.io.data.fire ) val isLgcRead = ((upRecParser.io.stateCurr === STATE_PAYLOAD_DATA) & ( ( isUpRecPing & (upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_UNIREAD | upSubMsgHeadInfo(0).operator === SUBMSG_OPERATOR_UNIRDWR ) & ( (upSubMsgHeadInfo(0).isLgcIndex & upTransLenCnt =/= 0.U ) )) | (~isUpRecPing & (upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_UNIREAD | upSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_UNIRDWR ) & ( (upSubMsgHeadInfo(1).isLgcIndex & upTransLenCnt =/= 0.U ) )) ) - ) & ( RegNext(isUpLgcAddrrAcquireTrans) | upRecParser.io.data.fire ) + ) & ( RegNext(isUpLgcAddrrAcquireTrans, false.B) | upRecParser.io.data.fire ) val isLvdsEnR = isSeqRead | isLgcRead @@ -840,20 +839,15 @@ trait SlaveParserSync{ this: SlaveParserBase => - val downTimeStamp = Reg(UInt(64.W)) //下行本地时间戳寄存器 - val upTimeStamp = Reg(UInt(64.W)) //上行本地时间戳寄存器 - val mstTimeStamp = Reg(UInt(64.W)) //主站时间戳 - val mstDeltaTimeStamp = Reg(UInt(32.W)); io.mstDeltaTimeStamp := mstDeltaTimeStamp //主站时间戳差值 - val slvDeltaTimeStamp = Reg(UInt(32.W)); io.slvDeltaTime := slvDeltaTimeStamp //从站时间戳差值 + val downTimeStamp = RegInit(0.U(64.W)) //下行本地时间戳寄存器 + val upTimeStamp = RegInit(0.U(64.W)) //上行本地时间戳寄存器 + val mstTimeStamp = RegInit(0.U(64.W)) //主站时间戳 + val mstDeltaTimeStamp = RegInit(0.U(32.W)); io.mstDeltaTimeStamp := mstDeltaTimeStamp //主站时间戳差值 + val slvDeltaTimeStamp = RegInit(0.U(32.W)); io.slvDeltaTime := slvDeltaTimeStamp //从站时间戳差值 - val mstSlvDeltaTimeStamp = Reg(UInt(64.W)) //主发从接时间差(中间变量) - val deltaMstSlvDeltaTimeStamp = Reg(UInt(64.W)) //主差从差时间差(中间变量) - val deltaFinal = Reg(UInt(64.W)); io.deltaFinal := deltaFinal //当前时间戳与主站时间差 - - - // val recoTimeStamp = Reg(UInt(64.W)) //时钟补偿寄存器 - - // dontTouch(recoTimeStamp) + val mstSlvDeltaTimeStamp = RegInit(0.U(64.W)) //主发从接时间差(中间变量) + val deltaMstSlvDeltaTimeStamp = RegInit(0.U(64.W)) //主差从差时间差(中间变量) + val deltaFinal = RegInit(0.U(64.W)); io.deltaFinal := deltaFinal //当前时间戳与主站时间差 // recoTimeStamp = io.timeStamp + deltaFinal // recoTimeStamp = io.timeStamp + mstSlvDeltaTimeStamp + deltaMstSlvDeltaTimeStamp @@ -883,7 +877,7 @@ trait SlaveParserSync{ this: SlaveParserBase => ( ~isDownRecPing & downSubMsgHeadInfo(1).devIndex === 0.U & downSubMsgHeadInfo(1).operator === SUBMSG_OPERATOR_SYNC ) ) - val syncCnt = Reg(UInt(4.W)) + val syncCnt = RegInit(0.U(4.W)) when( downRecParser.io.rec.fire ){ when( isSync ){ @@ -931,7 +925,7 @@ trait SlaveParserSync{ this: SlaveParserBase => } } - when( RegNext(isSync) & ~isSync ){ + when( RegNext(isSync, false.B) & ~isSync ){ // deltaMstSlvDeltaTimeStamp := (mstDeltaTimeStamp - slvDeltaTimeStamp) >>> 1 //(mstDeltaTimeStamp - slvDeltaTimeStamp) >> 1 addr64_op1 := Cat( Fill(32, mstDeltaTimeStamp(31)), mstDeltaTimeStamp) //组合逻辑 @@ -939,7 +933,7 @@ trait SlaveParserSync{ this: SlaveParserBase => addrConflict(2) := true.B //组合逻辑 deltaMstSlvDeltaTimeStamp := Cat(addr64_res(63),addr64_res(63,1)) //时序逻辑 - } .elsewhen( RegNext(RegNext(isSync)) & ~RegNext(isSync) ){ + } .elsewhen( RegNext(RegNext(isSync, false.B), false.B) & ~RegNext(isSync, false.B) ){ // deltaFinal := mstSlvDeltaTimeStamp + deltaMstSlvDeltaTimeStamp addr64_op1 := mstSlvDeltaTimeStamp //组合逻辑 addr64_op2 := deltaMstSlvDeltaTimeStamp //组合逻辑 @@ -1020,11 +1014,11 @@ with SlaveParserProbe{ io.intHWTrig(0) := downRecParser.io.isError io.intHWTrig(1) := upRecParser.io.isError - downRecParser.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0)) - downSendGen.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0)) + downRecParser.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0), false.B) + downSendGen.io.flush := RegNext(downRecParser.io.isError & io.intHWClr(0), false.B) - upRecParser.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1)) - upSendGen.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1)) + upRecParser.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1), false.B) + upSendGen.io.flush := RegNext(upRecParser.io.isError & io.intHWClr(1), false.B) io.downRecStat := downRecParser.io.stat io.upRecStat := upRecParser.io.stat diff --git a/src/main/scala/backBoard/shin/SlaveRecParser.scala b/src/main/scala/backBoard/shin/SlaveRecParser.scala index 0c9e27c..ee3eb0b 100644 --- a/src/main/scala/backBoard/shin/SlaveRecParser.scala +++ b/src/main/scala/backBoard/shin/SlaveRecParser.scala @@ -55,7 +55,7 @@ class SlaveRecParser extends Module with RequireAsyncReset{ crc.io.flush := stateCurr === STATE_IDLE | io.flush - val crcData = Reg(UInt(32.W)) + val crcData = RegInit(0.U(32.W)) val isCrcPass = crc.io.crc === Cat( crcData(23,0), io.rec.bits.tdata ) when( io.rec.fire & stateCurr === STATE_CRC ){ @@ -72,12 +72,12 @@ class SlaveRecParser extends Module with RequireAsyncReset{ val lengthCnt = RegInit(0.U(12.W)) //动态计数器 - val frameLenCnt = Reg(UInt(12.W)) //帧长度计数 + val frameLenCnt = RegInit(0.U(12.W)) //帧长度计数 io.frameReq.valid := (stateCurr === STATE_HEADER) & (stateNext === STATE_SUBMSG_HEADER | stateNext === STATE_CRC) - val frameHeader = Reg(new FrameHeader) + val frameHeader = RegInit(0.U.asTypeOf(new FrameHeader)) io.frameReq.bits.frameLenAim := frameHeader.frameLenAim io.frameReq.bits.frameStyle := frameHeader.frameStyle io.frameReq.bits.frameInfo := frameHeader.frameInfo | io.rec.bits.tdata @@ -85,8 +85,8 @@ class SlaveRecParser extends Module with RequireAsyncReset{ io.subMsgHeadReq.valid := (stateCurr === STATE_SUBMSG_HEADER) & (stateNext === STATE_PAYLOAD_DATA) io.subMsgTailReq.valid := (stateCurr === STATE_SUBMSG_TAIL) & (stateNext =/= STATE_SUBMSG_TAIL) - val subMsgHeader = Reg(new SubMsgHeader) - val subMsgTail = Reg(new SubMsgTail) + val subMsgHeader = RegInit(0.U.asTypeOf(new SubMsgHeader)) + val subMsgTail = RegInit(0.U.asTypeOf(new SubMsgTail)) io.subMsgHeadReq.bits.devIndex := subMsgHeader.devIndex io.subMsgHeadReq.bits.style := subMsgHeader.style @@ -182,7 +182,7 @@ class SlaveRecParser extends Module with RequireAsyncReset{ Mux( io.flush, STATE_IDLE, Mux1H(Seq( //必须使用上升沿触发,以避免前一帧长度超过预期 - ( stateCurr === STATE_IDLE ) -> Mux( ~RegNext(io.rec.valid) & io.rec.valid, STATE_HEADER, STATE_IDLE ), + ( stateCurr === STATE_IDLE ) -> Mux( ~RegNext(io.rec.valid, false.B) & io.rec.valid, STATE_HEADER, STATE_IDLE ), ( stateCurr === STATE_HEADER ) -> Mux( io.rec.fire, Mux(io.rec.bits.tlast, STATE_ERROR, Mux( lengthCnt === (4-1).U, MuxCase( STATE_ERROR, Array( diff --git a/src/main/scala/backBoard/shin/SlaveSendGen.scala b/src/main/scala/backBoard/shin/SlaveSendGen.scala index 9fde4bf..9c84bf8 100644 --- a/src/main/scala/backBoard/shin/SlaveSendGen.scala +++ b/src/main/scala/backBoard/shin/SlaveSendGen.scala @@ -66,10 +66,10 @@ class SlaveSendGen extends Module with RequireAsyncReset{ - val frameInfo = Reg(new FrameHeader) + val frameInfo = RegInit(0.U.asTypeOf(new FrameHeader)) - val subMsgHeadInfo = Reg(new SubMsgTxInfo) - val subMsgTailInfo = Reg(new SubMsgTail) + val subMsgHeadInfo = RegInit(0.U.asTypeOf(new SubMsgTxInfo)) + val subMsgTailInfo = RegInit(0.U.asTypeOf(new SubMsgTail)) @@ -88,8 +88,8 @@ class SlaveSendGen extends Module with RequireAsyncReset{ - val lengthCnt = Reg(UInt(12.W)) - val frameLenCnt = Reg(UInt(12.W)) + val lengthCnt = RegInit(0.U(12.W)) + val frameLenCnt = RegInit(0.U(12.W)) when( io.send.fire ){ when( stateCurr === STATE_FRAME_HEADER ){ diff --git a/src/main/scala/backBoard/shin/SpiInterface.scala b/src/main/scala/backBoard/shin/SpiInterface.scala index c8e6b96..be641e3 100644 --- a/src/main/scala/backBoard/shin/SpiInterface.scala +++ b/src/main/scala/backBoard/shin/SpiInterface.scala @@ -46,20 +46,20 @@ abstract class SpiInterfaceBase extends Module with RequireAsyncReset{ val isSckNegedge = shiftSCK(2) & ~shiftSCK(1) //确定下降沿放数据到数据线上 - val exRego = Reg(UInt(8.W)) - val exRegi = Reg(UInt(8.W)) + val exRego = RegInit(0.U(8.W)) + val exRegi = RegInit(0.U(8.W)) val addrw = RegInit(0.U(16.W)) val addrr = RegInit(0.U(16.W)) - val spiCmd = Reg(UInt(8.W)) + val spiCmd = RegInit(0.U(8.W)) val isSpiWrite = spiCmd === 0.U val isSpiRead = spiCmd === 1.U - val bitSel = Reg(UInt(3.W)) - val byteSel = Reg(UInt(12.W)) + val bitSel = RegInit(0.U(3.W)) + val byteSel = RegInit(0.U(12.W)) io.isEnR := @@ -69,9 +69,7 @@ abstract class SpiInterfaceBase extends Module with RequireAsyncReset{ io.dataw := exRegi io.addrr := Mux( isSpiRead, addrr + 1.U, addrr ) io.addrw := addrw - // io.addrSel := - // Mux( isSpiRead, addrSel + 1.U, addrSel )//覆盖三种情况 - // val readData = RegEnable(io.datar, io.isEnR) + when( shiftCSn(2) & ~shiftCSn(1) ){ @@ -133,7 +131,7 @@ class SSpiInterface extends SpiInterfaceBase{ bitSel := bitSel + 1.U } - val shiftMOSI = ShiftRegisters(spi.mosi, 3) + val shiftMOSI = ShiftRegisters(spi.mosi, 3, false.B, true.B) //输入看SCK上升沿 when( isSckPosedge & ~shiftCSn(1) ){ @@ -174,7 +172,7 @@ class QSpiInterface extends SpiInterfaceBase{ bitSel := ~bitSel } - val shiftMOSI = ShiftRegisters(qspi.mosi, 3) + val shiftMOSI = ShiftRegisters(qspi.mosi, 3, 0.U(4.W), true.B) diff --git a/src/test/scala/SimCDR.scala b/src/test/scala/SimCDR.scala new file mode 100644 index 0000000..db2159c --- /dev/null +++ b/src/test/scala/SimCDR.scala @@ -0,0 +1,106 @@ +package BACK + +import chisel3._ +import chisel3.util._ + + + +class SimCDR extends Module with RequireAsyncReset{ + val io = IO(new Bundle{ + val data = Input( UInt(8.W) ) + + val multiCLK = Input(Vec(16, Bool())) + + val flush = Input(Bool()) + + val isSuccess = Output(Bool()) + val isFailed = Output(Bool()) + }) + + + + + val cdrIn = Module(new MPCDRIn) + val cdrOut = Module(new CDROut) + val record = Module( new Queue(UInt(8.W), 256) ) + + val dataCnt = RegInit(0.U(12.W)) + val payloadLen = RegInit(("hFFF".U)(12.W)) + + val b4b5Encoder = Module(new b4b5DualEncode) + val b4b5Decoder = Module(new b4b5DualDecode) + + val b8b10Encoder = Module(new b8b10Encode) + val b8b10Decoder = Module(new b8b10Decode) + + + + when( cdrOut.io.axis.fire & dataCnt === 0.U ){ + payloadLen := Cat( io.data, 0.U(4.W) ) + } .elsewhen( cdrOut.io.axis.fire & dataCnt === 1.U ){ + payloadLen := Cat( payloadLen(11,4), io.data(7,4) ) + 4.U + 4.U + } + + when( cdrOut.io.axis.fire ){ + when( dataCnt >= payloadLen - 1.U ){ + dataCnt := 0.U + } .otherwise{ + dataCnt := dataCnt + 1.U + } + } + + + cdrOut.io.flush := io.flush + + cdrIn.clock := io.multiCLK(0).asClock + cdrIn.io.flush := io.flush + cdrIn.multiCLK := io.multiCLK + + cdrIn.io.serDat := cdrOut.io.serDat + + assert( ~(record.io.enq.valid & ~record.io.enq.ready), "Assert Failed, Warning, fifo overflow!\n" ) + assert( ~(~record.io.deq.valid & record.io.deq.ready), "Assert Failed, Warning, fifo underflow!\n" ) + + val isTxEnd = cdrOut.io.axis.fire & cdrOut.io.axis.bits.tlast + + cdrOut.io.axis.valid := ~io.flush & ShiftRegisters( ~isTxEnd, 16 ).reduce(_&_) + cdrOut.io.axis.bits.tdata := io.data + cdrOut.io.axis.bits.tuser := false.B + cdrOut.io.axis.bits.tlast := dataCnt === (payloadLen - 1.U) + + + + record.io.enq.valid := cdrOut.io.axis.fire + record.io.enq.bits := io.data + + record.io.deq.ready := cdrIn.io.axis.fire + cdrIn.io.axis.ready := true.B + + io.isFailed := cdrIn.io.axis.fire & (record.io.deq.bits =/= cdrIn.io.axis.bits.tdata) + io.isSuccess := cdrIn.io.axis.fire & cdrIn.io.axis.bits.tlast + + + + + val isUsing8b10b = true.B + + + when( isUsing8b10b ){ + b8b10Encoder.io <> cdrOut.io.encode + b8b10Decoder.io <> cdrIn.io.decode + + b4b5Encoder.io.isEnable := false.B + b4b5Encoder.io.dataIn := 0.U + b4b5Decoder.io.dataIn := 0.U + } .otherwise{ + b4b5Encoder.io <> cdrOut.io.encode + b4b5Decoder.io <> cdrIn.io.decode + + b8b10Encoder.io.isEnable := false.B + b8b10Encoder.io.dataIn := 0.U + b8b10Decoder.io.dataIn := 0.U + } + +} + + diff --git a/src/test/scala/gcd/test.scala b/src/test/scala/gcd/test.scala index e04999d..3705673 100644 --- a/src/test/scala/gcd/test.scala +++ b/src/test/scala/gcd/test.scala @@ -103,6 +103,11 @@ object testShinModule extends App { ChiselGeneratorAnnotation(() => { new ShinTop }), )) + (new chisel3.stage.ChiselStage).execute( Array("--target-dir", "generated/SimCDR/", "-e", "verilog" ) ++ args, Seq( + ChiselGeneratorAnnotation(() => { new SimCDR }), + )) + + } diff --git a/tb/shinTest/ShinTopSpiTb.v b/tb/shinTest/ShinTopSpiTb.v index 57a0243..60ae9f2 100644 --- a/tb/shinTest/ShinTopSpiTb.v +++ b/tb/shinTest/ShinTopSpiTb.v @@ -104,15 +104,28 @@ module ShinTopSpiTb( reg _reset_deactive; wire [(`ALL_DEV_NUM - 1):0] isSoftReset; + reg [(`ALL_DEV_NUM - 1):0] isSoftReset_reg; + + generate + for( genvar i = 0; i < `ALL_DEV_NUM; i = i + 1 ) begin + always @(posedge clock or posedge reset) begin + if(reset) isSoftReset_reg[i] <= 1'b0; + else isSoftReset_reg[i] <= isSoftReset[i]; + end + end + endgenerate + wire [`DEV_NUM:0] io_int_sig; reg latch0; reg latch1; + + ShinTop s_ShinTop_Mst( .clock(clock), - .reset(reset | isSoftReset[0]), + .reset(reset | isSoftReset_reg[0]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -167,7 +180,7 @@ ShinTop s_ShinTop_Mst( `ifdef DEFINE_SLAVE_DEVICE ShinTop s_ShinTop_slv0( .clock(clock), - .reset(reset | isSoftReset[1]), + .reset(reset | isSoftReset_reg[1]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -218,7 +231,7 @@ ShinTop s_ShinTop_slv0( ShinTop s_ShinTop_slv1( .clock(clock), - .reset(reset | isSoftReset[2]), + .reset(reset | isSoftReset_reg[2]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -269,7 +282,7 @@ ShinTop s_ShinTop_slv1( ShinTop s_ShinTop_slv2( .clock(clock), - .reset(reset | isSoftReset[3]), + .reset(reset | isSoftReset_reg[3]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -320,7 +333,7 @@ ShinTop s_ShinTop_slv2( ShinTop s_ShinTop_slv3( .clock(clock), - .reset(reset | isSoftReset[4]), + .reset(reset | isSoftReset_reg[4]), .io_multiCLK_0(multiCLK[0]), .io_multiCLK_1(multiCLK[1]), @@ -885,7 +898,7 @@ task f_write(input [31:0] logh, input [15:0] saddress, input [7:0] scmd, input [ end endtask -task wait_comm_finished(); +task wait_comm_finished(input [16:0] dev_idx); begin:WAIT_COMM_FINISHED_CODE real st; integer is_run; @@ -893,6 +906,7 @@ task wait_comm_finished(); st = $realtime; is_run = 1; +`ifdef enable_wait_clear_int txBuf[0] = 8'h00; txBuf[1] = 8'h78; txBuf[2] = `SPI_WRITE; @@ -902,7 +916,7 @@ task wait_comm_finished(); txBuf[6] = 8'h00; length = 8'h07; - idx = `IF_IQSPI(0); + idx = `IF_IQSPI(dev_idx); #500000 @(negedge sck) @@ -914,7 +928,7 @@ task wait_comm_finished(); begin end - +`endif while (is_run == 1) begin txBuf[0] = 8'h00; @@ -922,7 +936,7 @@ task wait_comm_finished(); txBuf[2] = `SPI_READ; length = 8'h07; - idx = `IF_IQSPI(0); + idx = `IF_IQSPI(dev_idx); #500000 @(negedge sck) diff --git a/tb/shinTest/SimCDRTb.v b/tb/shinTest/SimCDRTb.v new file mode 100644 index 0000000..f86dcbd --- /dev/null +++ b/tb/shinTest/SimCDRTb.v @@ -0,0 +1,96 @@ +`timescale 1 ns / 1 ps + + +module SimCDRTb( + +); + + reg clock = 0; + reg reset = 0; + + reg [15:0] multiCLK; + + initial begin + clock = 0; + reset = 1; + + #100 + reset <= 1; + + #240 + reset <= 0; + end + + + initial begin + forever begin #80 clock <= ~clock; end + end + + generate + for( genvar i = 0; i < 16; i = i + 1 ) begin + initial begin + multiCLK[i] = 0; + for( integer j = 0; j < i; j = j + 1 ) begin + #20 + ; + end + forever begin #80 multiCLK[i] <= ~multiCLK[i]; end + end + end + endgenerate + + reg [7:0] data; + wire success; + wire failed; + + always @(posedge clock) begin + data <= $random; + end + + + SimCDR s_SimCDR( + .clock(clock), + .reset(reset), + .io_data(data), + .io_multiCLK_0(multiCLK[0]), + .io_multiCLK_1(multiCLK[1]), + .io_multiCLK_2(multiCLK[2]), + .io_multiCLK_3(multiCLK[3]), + .io_multiCLK_4(multiCLK[4]), + .io_multiCLK_5(multiCLK[5]), + .io_multiCLK_6(multiCLK[6]), + .io_multiCLK_7(multiCLK[7]), + .io_multiCLK_8(multiCLK[8]), + .io_multiCLK_9(multiCLK[9]), + .io_multiCLK_10(multiCLK[10]), + .io_multiCLK_11(multiCLK[11]), + .io_multiCLK_12(multiCLK[12]), + .io_multiCLK_13(multiCLK[13]), + .io_multiCLK_14(multiCLK[14]), + .io_multiCLK_15(multiCLK[15]), + + .io_flush(1'b0), + .io_isSuccess(success), + .io_isFailed(failed) + ); + + + initial + begin + $dumpfile("./tb/build/wave_cdr.vcd"); //生成的vcd文件名称 + $dumpvars(0, SimCDRTb);//tb模块名称 + end + + always @(posedge clock) begin + if (success) begin + $display("Success onces! \n"); + end + if (failed) begin + $display("Error! \n"); + $stop; + end + end + + + +endmodule diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index 5c50943..56a7da7 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -13,6 +13,39 @@ if __name__ == '__main__': #add_tc_2_runlist(errorPkt.tc4()) #add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc6()) + #add_tc_2_runlist(errorPkt.tc7()) + #add_tc_2_runlist(errorPkt.tc8()) + #add_tc_2_runlist(errorPkt.tc9()) + #add_tc_2_runlist(errorPkt.tc10()) + #add_tc_2_runlist(errorPkt.tc11()) + #add_tc_2_runlist(errorPkt.tc12()) + #add_tc_2_runlist(errorPkt.tc13()) + #add_tc_2_runlist(errorPkt.tc14()) + #add_tc_2_runlist(errorPkt.tc15()) + #add_tc_2_runlist(errorPkt.tc16()) + #add_tc_2_runlist(errorPkt.tc17()) + #add_tc_2_runlist(errorPkt.tc18()) + #add_tc_2_runlist(errorPkt.tc19()) + #add_tc_2_runlist(errorPkt.tc20()) + #add_tc_2_runlist(errorPkt.tc21()) + #add_tc_2_runlist(errorPkt.tc22()) + #add_tc_2_runlist(errorPkt.tc23()) + #add_tc_2_runlist(errorPkt.tc24()) + #add_tc_2_runlist(errorPkt.tc25()) + #add_tc_2_runlist(errorPkt.tc26()) + #add_tc_2_runlist(errorPkt.tc27()) + #add_tc_2_runlist(errorPkt.tc28()) + #add_tc_2_runlist(errorPkt.tc29()) + #add_tc_2_runlist(errorPkt.tc30()) + #add_tc_2_runlist(errorPkt.tc31()) + #add_tc_2_runlist(errorPkt.tc32()) + #add_tc_2_runlist(errorPkt.tc33()) + #add_tc_2_runlist(errorPkt.tc34()) + #add_tc_2_runlist(errorPkt.tc35()) + #add_tc_2_runlist(errorPkt.tc36()) + #add_tc_2_runlist(errorPkt.tc37()) + #add_tc_2_runlist(errorPkt.tc38()) + #add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc2()) @@ -40,6 +73,9 @@ if __name__ == '__main__': #add_tc_2_runlist(base.tc24()) #add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc26()) + #add_tc_2_runlist(base.tc27()) + #add_tc_2_runlist(base.tc28()) + #add_tc_2_runlist(base.tc29()) add_tc_2_runlist(base.tc29()) add_tc_2_runlist(base.tc30()) @@ -56,9 +92,7 @@ if __name__ == '__main__': #add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc6()) #add_tc_2_runlist(sync.tc7()) - - #add_tc_2_runlist(ebmmu.tc1()) #add_tc_2_runlist(ebmmu.tc2()) #add_tc_2_runlist(ebmmu.tc3()) @@ -77,9 +111,7 @@ if __name__ == '__main__': #add_tc_2_runlist(ebmmu.tc16()) #add_tc_2_runlist(ebmmu.tc17()) #add_tc_2_runlist(ebmmu.tc18()) - #add_tc_2_runlist(ebmmu.tc19()) - - + add_tc_2_runlist(ebmmu.tc19()) #add_tc_2_runlist(watchdog.tc1()) #add_tc_2_runlist(watchdog.tc2()) diff --git a/tb/shinTest/pyutils/GenPkt.py b/tb/shinTest/pyutils/GenPkt.py index e2616df..2d0fc23 100644 --- a/tb/shinTest/pyutils/GenPkt.py +++ b/tb/shinTest/pyutils/GenPkt.py @@ -221,31 +221,31 @@ class GenPkt(object): -def genWriteTransLenCode(gen_name, sm_idx, wlog=True): +def genWriteTransLenCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//写入发送长度\n'''\ + '''$fdisplay(spidata_file, "--写数据交换长度");\n'''\ + '''`DEF_%s_sm(txBuf);\n'''%(gen_name, )\ - + '''%s( (`MST_TX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx,)\ - + '''%s( (`MST_RX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx,) + + '''%s( (`MST_TX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, dev_idx)\ + + '''%s( (`MST_RX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, dev_idx) -def genWriteTransPktCode(gen_name, sm_idx, wlog=True): +def genWriteTransPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return f'''\n$fdisplay(spidata_file, "<<准备发包,使用SM{sm_idx}:");\n'''\ + '''`DEF_%s(txBuf);\n'''%(gen_name, )\ - + '''%s( (`MST_TX%d_ADDR), (`SPI_WRITE), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, ) + + '''%s( (`MST_TX%d_ADDR), (`SPI_WRITE), (`DEF_%s_len), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, dev_idx) -def genTrgTransPktCode(gen_name, sm_idx, wlog=True): +def genTrgTransPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//请求发送\n'''\ + '''$fdisplay(spidata_file, "--请求发送");\n'''\ + '''txBuf[0+3] = `MST_TX_TRIGGER(%d);\n'''%(sm_idx, )\ - + '''%s( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genReadAckPktCode(gen_name, sm_idx, wlog=True): +def genReadAckPktCode(gen_name, sm_idx, wlog=True, dev_idx=0): return '''\n//等待回包\n'''\ - + '''wait_comm_finished();\n'''\ + + '''wait_comm_finished(%d);\n'''%(dev_idx, )\ + f'''$fdisplay(spidata_file, ">>读取回包,使用SM{sm_idx}:");\n'''\ - + '''%s( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name,) + + '''%s( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_idx, gen_name, dev_idx) -def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True): +def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True, dev_idx=0): data = pos & 0x3fff if enableTime: data = data | 0x8000 @@ -255,19 +255,19 @@ def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True): + '''$fdisplay(spidata_file, "--增加时间戳插入");\n'''\ + '''txBuf[0+3] = 8'h%x;\n'''%(data & 0xff, )\ + '''txBuf[1+3] = 8'h%x;\n'''%((data >> 8) & 0xff, )\ - + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans",) + + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genDisableInsertTimeCode(wlog=True): +def genDisableInsertTimeCode(wlog=True, dev_idx=0): return '''\n//清除替换时间戳替换地址\n'''\ + '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\ + '''txBuf[0+3] = 8'h00;\n'''\ + '''txBuf[1+3] = 8'h00;\n'''\ - + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(%d)) ); //清除替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) -def genCheckInsertTimeCode(wlog=True): +def genCheckInsertTimeCode(wlog=True, dev_idx=0): return '''\n//检查替换时间戳替换地址\n'''\ + '''$fdisplay(spidata_file, "--检查时间戳插入");\n'''\ - + '''%s( (16'h24), (`SPI_READ), (2), (`IF_IDX(0)) ); //检查替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", ) + + '''%s( (16'h24), (`SPI_READ), (2), (`IF_IDX(%d)) ); //检查替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", dev_idx) def genIFRwDataCode(dev, addr, isWrite = False, data_len=0, data = None, wlog=True, iface=5): @@ -400,58 +400,3 @@ def genTcEndFrameCode(tcname): def genMessageCode(msg): return f'''\t\t$fdisplay(spidata_file, "{msg}");\n''' - - -def genAddNewDev(devIndex): - dev_code = ("ShinTop s_ShinTop_slv3(\n" - " .clock(clock),\n" - " .reset(reset | isSoftReset[4]),\n" - "\n" - " .io_multiCLK_0(multiCLK[0]),\n" - " .io_multiCLK_1(multiCLK[1]),\n" - " .io_multiCLK_2(multiCLK[2]),\n" - " .io_multiCLK_3(multiCLK[3]),\n" - " .io_multiCLK_4(multiCLK[4]),\n" - " .io_multiCLK_5(multiCLK[5]),\n" - " .io_multiCLK_6(multiCLK[6]),\n" - " .io_multiCLK_7(multiCLK[7]),\n" - " .io_multiCLK_8(multiCLK[8]),\n" - " .io_multiCLK_9(multiCLK[9]),\n" - " .io_multiCLK_10(multiCLK[10]),\n" - " .io_multiCLK_11(multiCLK[11]),\n" - " .io_multiCLK_12(multiCLK[12]),\n" - " .io_multiCLK_13(multiCLK[13]),\n" - " .io_multiCLK_14(multiCLK[14]),\n" - " .io_multiCLK_15(multiCLK[15]),\n" - "\n" - " .io_dDatIn(dDat_w[3]),\n" - " .io_dDatOut(),\n" - " .io_uDatIn(1'b0),\n" - " .io_uDatOut(uDat_w[3]),\n" - "\n" - " .io_iqspi_sck(qspi_sck),\n" - " .io_iqspi_mosi(qspi_mosi),\n" - " .io_iqspi_miso(qspi_miso[4*4+3:4*4]),\n" - " .io_iqspi_isDirIn(),\n" - " .io_iqspi_csn(spi_csn[4]),\n" - "\n" - " .io_ospi_sck (spi_sck),\n" - " .io_ospi_mosi(spi_mosi),\n" - " .io_ospi_miso(spi_miso[4]),\n" - " .io_ospi_csn (spi_csn[9]),\n" - "\n" - " .io_oqspi_sck(qspi_sck),\n" - " .io_oqspi_mosi(qspi_mosi),\n" - " .io_oqspi_miso(qspi_miso[4*9+3:4*9]),\n" - " .io_oqspi_isDirIn(),\n" - " .io_oqspi_csn(spi_csn[14]),\n" - "\n" - " .io_isSoftReset(isSoftReset[4]),\n" - " .io_interrupt(io_int_sig[4]),\n" - " .io_latchPin_0(latch0),\n" - " .io_latchPin_1(latch1),\n" - " .io_hwSerial(0),\n" - " .io_uniCode(0)\n" - ");\n" - ) - \ No newline at end of file diff --git a/tb/shinTest/testcase/base.py b/tb/shinTest/testcase/base.py index 50f9042..defeeb7 100644 --- a/tb/shinTest/testcase/base.py +++ b/tb/shinTest/testcase/base.py @@ -22,7 +22,10 @@ def tc1(): #genPkt.addSubPkt(11, 1, 0x300, 0x2, 4, None) sm_idx = 1 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -76,7 +79,10 @@ def tc2(): sm_idx = 2 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -137,7 +143,10 @@ def tc3(): sm_idx = 3 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -200,7 +209,10 @@ def tc4(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -305,7 +317,10 @@ def tc5(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -357,6 +372,8 @@ def tc6(): genPkt.setPktType(0) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + genSlvSMWriteData(3, 1, 129) + genSlvSMWriteData(4, 1, 140) + genSlvSMWriteData(1, 1, 128) @@ -432,7 +449,10 @@ def tc7(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -495,6 +515,14 @@ def tc8(): +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(2, 0x74, False, 4) + +genMessageCode("--设置中断为脉冲模式") + +genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81]) + +genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81]) + + +genMessageCode("--使能中断") + +genIFRwDataCode(0, 0x70, True, 4, [0x03, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genMessageCode("--读取中断使能") +genIFRwDataCode(0, 0x70, False, 4) +genIFRwDataCode(2, 0x70, False, 4) @@ -502,6 +530,9 @@ def tc8(): +genMessageCode("--配置主从站") +genIFRwDataCode(0, 0x00, True, 1, main_dev) +genIFRwDataCode(2, 0x00, True, 1, slave_dev) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) @@ -552,6 +583,9 @@ def tc8(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -570,11 +604,9 @@ def tc8(): +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) - #+genTcEndFrameCode(gen_file_def) - +genIFRwDataCode(1, 0xc0, False, 4) - +genIFRwDataCode(2, 0xc0, False, 4) - +genIFRwDataCode(3, 0xc0, False, 4) - +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -601,6 +633,28 @@ def tc8(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + +genTcEndFrameCode(gen_file_def) ) @@ -720,6 +774,8 @@ def tc9(): custom_data3 = list(range(1*3, 129*3, 3)) custom_data4 = list(range(1*4, 129*4, 4)) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x180, True, 128, custom_data1) +genIFRwDataCode(2, 0x180, True, 128, custom_data2) +genIFRwDataCode(3, 0x180, True, 128, custom_data3) @@ -793,6 +849,8 @@ def tc10(): genPkt.addSubPkt(i, 0, 0x083c, 1, 4, [29, 30, 31, 32]) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -894,6 +952,8 @@ def tc12(): data = [0, ] * op_size genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.addSubPkt(0, 0, 0x80, 0xe, op_size, data) @@ -958,6 +1018,8 @@ def tc13(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) sm_idx = 0 @@ -966,6 +1028,8 @@ def tc13(): +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genCheckInsertTimeCode() ) @@ -1067,6 +1131,8 @@ def tc14(): genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) sm_idx = 0 @@ -1094,6 +1160,9 @@ def tc14(): +genIFRwDataCode(2, 0x500, False, 0x48) +genIFRwDataCode(3, 0x500, False, 0x48) +genIFRwDataCode(4, 0x500, False, 0x48) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genSlvSMWriteData(1, 1, s2m_size, list(range(s2m_size))) +genSlvSMWriteData(2, 1, s2m_size, list(range(s2m_size))) @@ -1183,7 +1252,10 @@ def tc_wr_sm(tc_id, wr_sm_idx): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1211,30 +1283,59 @@ def tc_wr_sm(tc_id, wr_sm_idx): +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) + +genMessageCode("--第一次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第二次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第三次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第四次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genMessageCode("--第五次读") + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genSlvSMReadData(1, wr_sm_idx, 32) +genSlvSMReadData(2, wr_sm_idx, 32) +genSlvSMReadData(3, wr_sm_idx, 32) +genSlvSMReadData(4, wr_sm_idx, 32) + +genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2) + +genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2) +genTcEndFrameCode(gen_file_def)) @@ -1272,42 +1373,64 @@ def tc_rd_sm(tc_id, rd_sm_idx): sm_idx = 0 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--设备1的写") + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(1, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2) + +genMessageCode("--设备2的写") + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(2, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2) + +genMessageCode("--设备3的写") + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(3, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2) - + +genMessageCode("--设备4的写") + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(0, 32))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(32, 64))) + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(64, 96))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(96, 128))) + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(128, 160))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(160, 192))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(192, 224))) +genSlvSMWriteData(4, rd_sm_idx, 32, list(range(224, 256))) + +genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2) ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -1380,6 +1503,8 @@ def tc23(): genPkt.setPktType(0) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1436,9 +1561,11 @@ def tc24(): genPkt.setPktType(1) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) - +genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) - +genIFRwDataCode(3, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) - +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + #+genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + #+genIFRwDataCode(3, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + #+genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) ) @@ -1599,23 +1726,23 @@ def tc24(): +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap) @@ -1646,23 +1773,23 @@ def tc24(): +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) - #+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(1, 0x74, False, 4) - #+genIFRwDataCode(2, 0x74, False, 4) - #+genIFRwDataCode(3, 0x74, False, 4) - #+genIFRwDataCode(4, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) +genTcEndFrameCode(gen_file_def)) #+genDisableInsertTimeCode()) @@ -1697,6 +1824,8 @@ def tc25(): sm_idx = 1 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -1753,6 +1882,8 @@ def tc26(): sm_idx = 1 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) +genEnableInsertTimeCode(0xa)) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -1815,6 +1946,7 @@ def tc26(): return gen_file_def +<<<<<<< HEAD def tc29(): genPkt = GenPkt() @@ -1828,10 +1960,23 @@ def tc29(): #------------------------------------------------------------------------- #>>>>>>普通数据包 sm2,广播读 +======= +def tc27(): + genPkt = GenPkt() + + gen_file_def = "base_tc27" + sm_idx = 0 + tc_des = "测试主站并行输出。在SM0工作的情况下,操作SM1,SM2,SM3,然后看是否正常。\\n" + + + #------------------------------------------------------------------------- + #>>>>>>普通数据包 sm1,2个读 +>>>>>>> mp_eb_dev genPkt.clean() genPkt.setPktType(0) #subPkt参数:索引、索引类型、地址、命令、长度、数据 +<<<<<<< HEAD genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) @@ -1854,11 +1999,204 @@ def tc29(): sm_idx = 2 genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) +======= + genPkt.addSubPkt(0x01, 0, 0x302, 0x1, 2, [0x00, 0x03]) + genPkt.addSubPkt(0x02, 0, 0x302, 0x1, 2, [0x00, 0x01]) + genPkt.addSubPkt(0x03, 0, 0x302, 0x1, 2, [0x00, 0x01]) + genPkt.addSubPkt(0x04, 0, 0x302, 0x1, 2, [0x00, 0x01]) + + + sm_idx = 0 + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) +>>>>>>> mp_eb_dev genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx) +genReadAckPktCode(gen_file_def, sm_idx) +<<<<<<< HEAD +======= + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) + + + + #+genTcEndFrameCode(gen_file_def)) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x800, 0x1, 768, + list(range(256)) + list(range(255, -1, -1)) + list(range(256))) + + + + gen_file_def_ap01 = gen_file_def + "_rw01" + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap01, 1) + +genWriteTransPktCode(gen_file_def_ap01, 1) + +genTrgTransPktCode(gen_file_def_ap01, 1) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap01) + + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x02, 0, 0x800, 0x1, 256, list(range(128)) + list(range(128))) + + + + gen_file_def_ap02 = gen_file_def + "_rw02" + sm_idx = 2 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap02, 2) + +genWriteTransPktCode(gen_file_def_ap02, 2) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap02) + + + + genPkt.clean() + genPkt.setPktType(0) + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x03, 0, 0x800, 0x1, 256, list(range(64)) + list(range(64)) + list(range(64)) + list(range(64))) + + + + gen_file_def_ap03 = gen_file_def + "_rw03" + sm_idx = 3 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap03, 3) + +genWriteTransPktCode(gen_file_def_ap03, 3) + +genReadAckPktCode(gen_file_def_ap01, 1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genTrgTransPktCode(gen_file_def_ap02, 2) + +genReadAckPktCode(gen_file_def_ap02, 2) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genTrgTransPktCode(gen_file_def_ap03, 3) + +genReadAckPktCode(gen_file_def_ap03, 3) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + + +genIFRwDataCode(1, 0x800, False, 768) + +genIFRwDataCode(2, 0x800, False, 256) + +genIFRwDataCode(3, 0x800, False, 256) + + +genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap03) + + + return gen_file_def + +def tc28(): + genPkt = GenPkt() + + + gen_file_def = "base_tc28" + sm_idx = 0 + tc_des = ("测试IO交换特性,为环网通信做准备。\\n" + ) + + genPkt.clean() + genPkt.setPktType(0) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +"#5000" + +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) + +genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取中断使能") + +genIFRwDataCode(0, 0x70, False, 4) + +genIFRwDataCode(4, 0x70, False, 4) + + +genMessageCode("--配置主从站") + +genIFRwDataCode(0, 0x00, True, 1, [0x02, ]) + +genIFRwDataCode(4, 0x00, True, 1, [0x01, ]) + ) + + genPkt.addAfterExc(genIFRwDataCode(0, 0x4a, False, 2) + +genIFRwDataCode(1, 0x4a, False, 2) + +genIFRwDataCode(2, 0x4a, False, 2) + +genIFRwDataCode(3, 0x4a, False, 2) + +genIFRwDataCode(4, 0x4a, False, 2) + + +genIFRwDataCode(0, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(1, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(2, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(3, 0x4a, True, 2, [1, 0x58]) + +genIFRwDataCode(4, 0x4a, True, 2, [1, 0x58]) + + +genIFRwDataCode(0, 0, False, 1) + +genIFRwDataCode(1, 0, False, 1) + +genIFRwDataCode(2, 0, False, 1) + +genIFRwDataCode(3, 0, False, 1) + +genIFRwDataCode(4, 0, False, 1) + #genWriteTransLenCode(gen_file_def, sm_idx) + #+genWriteTransPktCode(gen_file_def, sm_idx) + #+genTrgTransPktCode(gen_file_def, sm_idx) + #+genReadAckPktCode(gen_file_def, sm_idx) +>>>>>>> mp_eb_dev +genMessageCode("--读取中断") +genIFRwDataCode(0, 0x74, False, 4) @@ -1881,6 +2219,7 @@ def tc29(): +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) +<<<<<<< HEAD +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -1895,6 +2234,284 @@ def tc30(): sm_idx = 0 tc_des = ("写,单次通讯2048个字节。每个子包包含数据502个字节,最多4个子包。 \\n" +"(502 + 8) * 4 + 4(HEAD) + 4(CRC) = 2048\\n" +======= + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw01" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(0) + + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + gen_file_def_ap = gen_file_def + "_rw02" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw03" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + + genPkt.addSubPkt(0x1, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x2, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x3, 0, 0x180, 0, 32, [0, ]*32) + genPkt.addSubPkt(0x4, 0, 0x180, 0, 32, [0, ]*32) + + gen_file_def_ap = gen_file_def + "_rw04" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + + +genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79]) + +"#5000" + +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) + +genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--读取中断使能") + +genIFRwDataCode(0, 0x70, False, 4) + +genIFRwDataCode(4, 0x70, False, 4) + + +genMessageCode("--配置主从站") + +genIFRwDataCode(0, 0x00, True, 1, [0x01, ]) + +genIFRwDataCode(4, 0x00, True, 1, [0x02, ]) + + +genIFRwDataCode(0, 0x4a, False, 2) + +genIFRwDataCode(1, 0x4a, False, 2) + +genIFRwDataCode(2, 0x4a, False, 2) + +genIFRwDataCode(3, 0x4a, False, 2) + +genIFRwDataCode(4, 0x4a, False, 2) + + +genIFRwDataCode(0, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(1, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(2, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(3, 0x4a, True, 2, [0, 0x58]) + +genIFRwDataCode(4, 0x4a, True, 2, [0, 0x58]) + + +genIFRwDataCode(0, 0, False, 1) + +genIFRwDataCode(1, 0, False, 1) + +genIFRwDataCode(2, 0, False, 1) + +genIFRwDataCode(3, 0, False, 1) + +genIFRwDataCode(4, 0, False, 1) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(1) + + gen_file_def_ap = gen_file_def + "_rw05" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + #+genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + genPkt.setPktType(0) + + + data = [0x3f, 0xff] + genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data) + + gen_file_def_ap = gen_file_def + "_rw06" + sm_idx = 0 + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + +genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genTcEndFrameCode(gen_file_def) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + return gen_file_def + +def tc29(): + genPkt = GenPkt() + + + gen_file_def = "base_tc29" + sm_idx = 0 + tc_des = ("读,单次通讯2048个字节。每个子包包含数据128个字节,最多15个子包。 \\n" + +"(128 + 8) * 15 + 4(HEAD) + 4(CRC) = 2048\\n" +>>>>>>> mp_eb_dev +"可以通过屏蔽子包的方式,增大或者缩小发送的数据量。最大的数据量不超过2048个字节。" ) @@ -1902,6 +2519,7 @@ def tc30(): #>>>>>>普通数据包 sm2,广播读 genPkt.clean() genPkt.setPktType(0) +<<<<<<< HEAD data_len = 502 data_len_wr = [(data_len & 0xff), ((data_len >> 8) & 0xff)] #genPkt.addSubPkt(0x00, 0, 0x302, 0xe, 2, data_len_wr) #500 @@ -1920,6 +2538,35 @@ def tc30(): +genIFRwDataCode(3, 0x0302, True, 2, data_len_wr) +genIFRwDataCode(4, 0x0302, True, 2, data_len_wr) ) +======= + + #subPkt参数:索引、索引类型、地址、命令、长度、数据 + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + genPkt.addSubPkt(0x04, 0, 0x180, 0x0, 128, None) + + #genPkt.addSubPkt(0x01, 0, 0x180, 0x0, 128, None) + #genPkt.addSubPkt(0x02, 0, 0x180, 0x0, 128, None) + #genPkt.addSubPkt(0x03, 0, 0x180, 0x0, 128, None) + + sm_idx = 2 + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) +>>>>>>> mp_eb_dev genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1947,6 +2594,7 @@ def tc30(): +genIFRwDataCode(3, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4) +<<<<<<< HEAD +genMessageCode("--读取数据") +genIFRwDataCode(1, 0x800, False, data_len) +genIFRwDataCode(2, 0x800, False, data_len) @@ -1956,4 +2604,10 @@ def tc30(): +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) - return gen_file_def \ No newline at end of file + return gen_file_def +======= + +genTcEndFrameCode(gen_file_def)) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + return gen_file_def +>>>>>>> mp_eb_dev diff --git a/tb/shinTest/testcase/broadcast.py b/tb/shinTest/testcase/broadcast.py index 89539ce..564de0e 100644 --- a/tb/shinTest/testcase/broadcast.py +++ b/tb/shinTest/testcase/broadcast.py @@ -29,7 +29,10 @@ def tc1(): #gen_file_def = "bc_r_pkt" sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -88,7 +91,10 @@ def tc2(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -152,7 +158,10 @@ def tc3(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) diff --git a/tb/shinTest/testcase/ebmmu.py b/tb/shinTest/testcase/ebmmu.py index 62b61ae..0a97f6e 100644 --- a/tb/shinTest/testcase/ebmmu.py +++ b/tb/shinTest/testcase/ebmmu.py @@ -14,6 +14,7 @@ def tc1(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x10000000, 0x0200, 0x0a, 0x3, 0x1) @@ -33,7 +34,12 @@ def tc1(): setting_ebmmu_regs(data, 0, 0x1000001e, 0x0200, 0x0a, 0x3, 0x1) genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 10, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -166,7 +172,7 @@ def tc2(): #>>>>>>设置EB-MMU 2 genPkt.clean() genPkt.setPktType(0) - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x20000000, 0x0000, 0x10, 0x1, 0x1) @@ -185,8 +191,12 @@ def tc2(): data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x20000030, 0x0000, 0x10, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x020a, 0x1, 10, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -318,7 +328,7 @@ def tc3(): #>>>>>>设置EB-MMU 3 genPkt.clean() genPkt.setPktType(0) - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x10000000, 0x0200, 0x0a, 0x3, 0x1) @@ -356,8 +366,12 @@ def tc3(): setting_ebmmu_regs(data, 0, 0x1000001e+0xa+0xc+0xc+0xc, 0x0000, 0x0c, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x0214, 0x1, 10, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -446,10 +460,14 @@ def tc4(): genPkt.setPktType(0) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + genSlvSMWriteData(1, 1, 0x80) + genSlvSMWriteData(2, 3, 0x98) + genSlvSMWriteData(3, 5, 0x81) + genSlvSMWriteData(4, 7, 0x8c)) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 @@ -473,6 +491,8 @@ def tc4(): addr = 0x58 + 0x80 + 0x98 + 0x81 setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x4000, 0x8c, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) + sm_idx = 0 @@ -563,8 +583,11 @@ def tc5(): genPkt.clean() genPkt.setPktType(0) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 30 setting_ebmmu_regs(data, 0, 0x10000058, 0x1000, 0x80, 0x1, 0x1) @@ -588,7 +611,7 @@ def tc5(): setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x4000, 0x8c, 0x1, 0x1) genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data) - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) @@ -676,6 +699,7 @@ def tc6(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x58 + 0x80 + 0x98 + 0x81 + 0x8c #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -706,11 +730,15 @@ def tc6(): data[0] = 0x80 data[1] = 0x00 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) #gen_file_def = "ebmmu_tc6_settings" sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -811,6 +839,7 @@ def tc7(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x58 + 0x80 + 0x98 + 0x81 + 0x8c #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -849,7 +878,12 @@ def tc7(): #gen_file_def = "ebmmu_tc7_settings" sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -950,6 +984,7 @@ def tc8(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x0 #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -963,10 +998,14 @@ def tc8(): data[0] = 0x80 data[1] = 0x00 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1061,6 +1100,7 @@ def tc9(): genPkt.clean() genPkt.setPktType(0) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) addr_off = 0x0 #subPkt参数:索引、索引类型、地址、命令、长度、数据 @@ -1074,10 +1114,14 @@ def tc9(): data[0] = 0x00 data[1] = 0x01 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1175,7 +1219,7 @@ def tc10(): genPkt.setPktType(0) addr_off = 0x0 - + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1187,10 +1231,14 @@ def tc10(): data[0] = 0x00 data[1] = 0x01 genPkt.addSubPkt(0x0, 0, 0x302, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1336,6 +1384,7 @@ def tc11(): addr = 0x10000000 addr_off = 0x0 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1378,10 +1427,14 @@ def tc11(): data[0] = 0x00 data[1] = 0x01 genPkt.addSubPkt(0x0, 0, 0x306, 0xe, 2, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1562,6 +1615,7 @@ def tc12(): addr_off = 0x0 sm_size = 0x8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1661,6 +1715,8 @@ def tc12(): #print(hex(taddr), hex(addr_off)) setting_ebmmu_regs(data, 3, taddr, 0x4000, sm_size, 0x1, 0x1) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) data = [0,] * 2 @@ -1686,7 +1742,10 @@ def tc12(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -1833,6 +1892,7 @@ def tc13(): addr_off = 0x0 sm_size = 0x8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -1936,7 +1996,11 @@ def tc13(): setting_ebmmu_regs(data, 6, taddr, 0x4000, sm_size / 2, 0x1, 0x1) setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x4000 + sm_size / 2, sm_size / 2, 0x1, 0x1) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -1960,7 +2024,10 @@ def tc13(): genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -2088,6 +2155,7 @@ def tc14(): addr_off = 0x0 sm_size = 0x8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -2171,8 +2239,11 @@ def tc14(): taddr = addr + addr_off setting_ebmmu_regs(data, 3, taddr, 0x3800, sm_size, 0x2, 0x1) + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) + data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff data[1] = (sm_size >> 8) & 0xff @@ -2196,7 +2267,10 @@ def tc14(): sm_idx = 0 - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -2311,6 +2385,7 @@ def tc15(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -2558,7 +2633,9 @@ def tc15(): #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4))) ebmmu_offset = ebmmu_offset + 1 + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -2581,7 +2658,10 @@ def tc15(): data[1] = (sm_size >> 8) & 0xff genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -2696,6 +2776,7 @@ def tc16(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -2951,7 +3032,10 @@ def tc16(): #print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4))) ebmmu_offset = ebmmu_offset + 1 + genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -2975,7 +3059,10 @@ def tc16(): genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc( genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -3115,6 +3202,7 @@ def tc17(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -3363,6 +3451,7 @@ def tc17(): ebmmu_offset = ebmmu_offset + 1 genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -3385,7 +3474,10 @@ def tc17(): data[1] = (sm_size >> 8) & 0xff genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -3496,6 +3588,7 @@ def tc18(): addr_off = 0x0 sm_size = 16 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 256 @@ -3744,6 +3837,7 @@ def tc18(): ebmmu_offset = ebmmu_offset + 1 genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -3766,7 +3860,10 @@ def tc18(): data[1] = (sm_size >> 8) & 0xff genPkt.addSubPkt(0x0, 0, 0x31a, 0xe, 2, data) - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -3884,6 +3981,7 @@ def tc19(): addr_off = 0x0 sm_size = 8 + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x1, 0x58]) sm_vaddr = 0x10000000 sm_addr_off = 0x0 @@ -4038,6 +4136,7 @@ def tc19(): sm_addr_off = sm_addr_off + 4 * sm_size genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data) + genPkt.addSubPkt(0x0, 0, 0x0018, 0xe, 2, [0x0, 0x58]) data = [0,] * 2 data[0] = (sm_size >> 0) & 0xff @@ -4088,7 +4187,10 @@ def tc19(): genPkt.addSubPkt(0x0, 0, 0x31e, 0xe, 2, data) ''' - genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx) @@ -4125,47 +4227,97 @@ def tc19(): #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [(i & 0xff) for i in range(sm_size * 16)] - gen_file_def_ap = gen_file_def + "_rw" + gen_file_def_ap = gen_file_def + "_rw01" sm_idx = 0 genPkt.addSubPkt(0x1000, 2, 0, 0x2, sm_size * 8 * 4, list(range(sm_size * 8 * 4))) - genPkt.addSubPkt(0x2000, 2, 0, 0x0, 8 * 4, [0, ] * 32) - genPkt.addBeforeExc(genSlvSMWriteData(1, 1, sm_size, list(range(0, sm_size))) + genPkt.addBeforeExc(genMessageCode("\\n--写设备1数据") + +genSlvSMWriteData(1, 1, sm_size, list(range(0, sm_size))) +genSlvSMWriteData(1, 3, sm_size, list(range(0, sm_size * 2, 2))) +genSlvSMWriteData(1, 5, sm_size, list(range(0, sm_size * 3, 3))) +genSlvSMWriteData(1, 7, sm_size, list(range(0, sm_size * 4, 4))) + + +genMessageCode("\\n--写设备2数据") +genSlvSMWriteData(2, 1, sm_size, list(range(0, sm_size * 5, 5))) +genSlvSMWriteData(2, 3, sm_size, list(range(0, sm_size * 6, 6))) +genSlvSMWriteData(2, 5, sm_size, list(range(0, sm_size * 7, 7))) +genSlvSMWriteData(2, 7, sm_size, list(range(0, sm_size * 8, 8))) + + +genMessageCode("\\n--写设备3数据") +genSlvSMWriteData(3, 1, sm_size, list(range(0, sm_size * 9, 9))) +genSlvSMWriteData(3, 3, sm_size, list(range(0, sm_size * 8, 8))) +genSlvSMWriteData(3, 5, sm_size, list(range(0, sm_size * 7, 7))) +genSlvSMWriteData(3, 7, sm_size, list(range(0, sm_size * 6, 6))) + + +genMessageCode("\\n--写设备4数据") +genSlvSMWriteData(4, 1, sm_size, list(range(0, sm_size * 5, 5))) +genSlvSMWriteData(4, 3, sm_size, list(range(0, sm_size * 4, 4))) +genSlvSMWriteData(4, 5, sm_size, list(range(0, sm_size * 3, 3))) +genSlvSMWriteData(4, 7, sm_size, list(range(0, sm_size * 2, 2))) ) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + + gen_file_def_ap = gen_file_def + "_rw02" + sm_idx = 0 + + genPkt.addSubPkt(0x2000, 2, 0, 0x0, 8 * 4, [0, ] * 32) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) +genReadAckPktCode(gen_file_def_ap, sm_idx) + +genMessageCode("\\n--读设备1数据") +genSlvSMReadData(1, 0, sm_size) +genSlvSMReadData(1, 2, sm_size) +genSlvSMReadData(1, 4, sm_size) +genSlvSMReadData(1, 6, sm_size) + + +genMessageCode("\\n--读设备2数据") +genSlvSMReadData(2, 0, sm_size) +genSlvSMReadData(2, 2, sm_size) +genSlvSMReadData(2, 4, sm_size) +genSlvSMReadData(2, 6, sm_size) + + +genMessageCode("\\n--读设备3数据") +genSlvSMReadData(3, 0, sm_size) +genSlvSMReadData(3, 2, sm_size) +genSlvSMReadData(3, 4, sm_size) +genSlvSMReadData(3, 6, sm_size) + + +genMessageCode("\\n--读设备4数据") +genSlvSMReadData(4, 0, sm_size) +genSlvSMReadData(4, 2, sm_size) +genSlvSMReadData(4, 4, sm_size) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index e6eea5a..07b2e2d 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -45,6 +45,20 @@ def bringup(): +genIFRwDataCode(2, 0x0, False, 1) +genIFRwDataCode(3, 0x0, False, 1) +genIFRwDataCode(4, 0x0, False, 1) + + +genMessageCode("--使能中断") + +genIFRwDataCode(0, 0x70, True, 4, [0x03, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(1, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(3, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + +genIFRwDataCode(4, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) + + +genMessageCode("--设置中断为脉冲模式") + +genIFRwDataCode(0, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(1, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(2, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(3, 0x7c, True, 2, [0x10, 0x80]) + +genIFRwDataCode(4, 0x7c, True, 2, [0x10, 0x80]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) @@ -66,6 +80,9 @@ def bringup(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -89,6 +106,9 @@ def bringup(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) + + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -111,20 +131,6 @@ def bringup(): +genIFRwDataCode(2, 0xc0, False, 4) +genIFRwDataCode(3, 0xc0, False, 4) +genIFRwDataCode(4, 0xc0, False, 4) - - +genMessageCode("--使能中断") - +genIFRwDataCode(0, 0x70, True, 4, [0x03, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(1, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(2, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(3, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - +genIFRwDataCode(4, 0x70, True, 4, [0x00, 0x00, 0x00, 0xf0]) - - +genMessageCode("--设置中断为脉冲模式") - +genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(1, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(3, 0x7c, True, 2, [0x00, 0x81]) - +genIFRwDataCode(4, 0x7c, True, 2, [0x00, 0x81]) +genMessageCode("--清除中断") +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) @@ -161,6 +167,9 @@ def bringup(): +genIFRwDataCode(3, 0x400, False, 8) +genIFRwDataCode(4, 0x400, False, 8) + #+genIFRwDataCode(1, 0x0044, True, 4, [0x12, 0x34, 0x56, 0x78]) + #+genIFRwDataCode(1, 0x0044, False, 4) + +genTcEndFrameCode(gen_file_def) ) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) @@ -185,8 +194,13 @@ def __GenDevice(id, TerminateNode = False, diffclk = False): multiclk = "multiCLK2" code_device = ("\tShinTop s_ShinTop_slv%d(\n"%(id, ) +<<<<<<< HEAD +"\t.clock(%s),\n"%(clk, ) +"\t.reset(reset | isSoftReset[%d]),\n\n"%(id + 1,) +======= + +"\t.clock(clock),\n" + +"\t.reset(reset | isSoftReset_reg[%d]),\n\n"%(id + 1,) +>>>>>>> mp_eb_dev +"\t.io_multiCLK_0(%s[0]),\n"%(multiclk, ) +"\t.io_multiCLK_1(%s[1]),\n"%(multiclk, ) @@ -242,7 +256,7 @@ def __gen_slv_dev_predef(num): +"`define ALL_DEV_NUM (`DEV_NUM + 1) // slave + master\n" +"`define SPI_CSN_NUM (`ALL_DEV_NUM * 3)\n" - +"`define HW_SERIAL 0 //48'h31303050584c //(48'h4c5850303031)\n" + +"`define HW_SERIAL 48'h31303050584c //(48'h4c5850303031)\n" +"`define IQSPI_PINS(N) (`N*4+3):(`N*4)\n" +"`define EQSPI_PINS(N) ((`N + `ALL_DEV_NUM)*4+3):((`N + `ALL_DEV_NUM)*4)\n" +"`define IQSPI_MISO(N) qspi_miso[`IQSPI_PINS(`N)]\n" diff --git a/tb/shinTest/testcase/errorPkt.py b/tb/shinTest/testcase/errorPkt.py index 59b14b3..eb353e6 100644 --- a/tb/shinTest/testcase/errorPkt.py +++ b/tb/shinTest/testcase/errorPkt.py @@ -647,3 +647,330 @@ def tc6(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) return gen_file_def + + + +def mk_subpkt(dev, type, addr, cmd, len, dat): + ret_dat = list() + + temp = ((dev & 0x3fff) << 2) | (type & 0x3) + ret_dat = ret_dat + [(temp >> 8) & 0xff, temp & 0xff, (addr >> 8) & 0xff, addr & 0xff] + + temp = ((cmd & 0xf) << 12) | (len & 0xfff) + ret_dat = ret_dat + [(temp >>8) & 0xff, temp & 0xff] + + ret_dat = ret_dat + dat + [0, 0] + + return ret_dat + +def sm_wr_err_test(tc_id, sm_id, pre_g_pkt = 1, good_pkt_in_bad = 1, after_g_pkt = 1, data_size = 0x10, dev = 1, cmd = 0x1): + random.seed(int(time.time() * 1000)) + genPkt = GenPkt() + + gen_file_def = "error_pkt_tc%02d"%(tc_id, ) + sm_idx = 0 + tc_des = (f"测试SM{sm_id},先写入正确的数据包,包含{pre_g_pkt}个操作SM{sm_id}的子包,然后写入错误的数据包,其中包含正确的操作SM{sm_id}的数据子包有{good_pkt_in_bad}个,\\n" + f"然后再发送正确的数据包,其中包含{after_g_pkt}个操作SM{sm_id}的子包。然后检查SM{sm_id}的状态以及数据。\\n" + f"所有数据包的长度都是{data_size}字节,设备{dev}, 命令{cmd}。没有比对数据,需要手动检查。" + ) + + + genPkt.clean() + genPkt.addSubPkt(0x0, 0x0, 0x302 + 4 * sm_id, 0xe, 2, [(data_size & 0xff), ((data_size >> 8)&0xff)]) + for pkt_num in range(pre_g_pkt): + genPkt.addSubPkt(dev, 0x0, 0x800 + 0x800 * sm_id, cmd, data_size, [((i * (pkt_num + 1)) & 0xff) for i in range(data_size)]) + + genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des) + +genMessageCode("--清除主中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + ) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) + +genWriteTransPktCode(gen_file_def, sm_idx) + +genTrgTransPktCode(gen_file_def, sm_idx) + +genReadAckPktCode(gen_file_def, sm_idx) + + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--MB状态寄存器") + +genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) + + genPkt.clean() + + temp = ((data_size * 6) & 0xfff) << 4 + data = [(temp >> 8)&0xff, temp & 0xff, 0, 0] + + for i in range(good_pkt_in_bad): + data = data + mk_subpkt(dev, 0, 0x800 + 0x800 * sm_id, cmd, data_size, [((j * (i + 1) + 1) & 0xff) for j in range(data_size)]) + + for i in range(128): + data.append(random.randint(0, 255)) + data = data + [0, 0] + + genPkt.setPkt(2, data) + + sm_idx = 0 + genPkt.addBeforeExc(genMessageCode("--读取统计寄存器") + +genIFRwDataCode(0, 0x80, False, 24) + +genIFRwDataCode(0, 0xa0, False, 24) + +genIFRwDataCode(1, 0x80, False, 24) + +genIFRwDataCode(1, 0xa0, False, 24) + ) + + gen_file_def_ap = gen_file_def + "_rw01" + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + +genMessageCode("--读取统计寄存器") + +genIFRwDataCode(0, 0x80, False, 24) + +genIFRwDataCode(0, 0xa0, False, 24) + +genIFRwDataCode(1, 0x80, False, 24) + +genIFRwDataCode(1, 0xa0, False, 24) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--MB状态寄存器") + +genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1) + ) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + genPkt.clean() + + gen_file_def_ap = gen_file_def + "_rw02" + sm_idx = 0 + + genPkt.addSubPkt(0, 0, 0, 0, 8, [0, ] * 8) + + for pkt_num in range(after_g_pkt): + genPkt.addSubPkt(dev, 0x0, 0x800 + 0x800 * sm_id, cmd, data_size, [((i * (pkt_num + 1) - 1) & 0xff) for i in range(data_size)]) + + if sm_id < 4: + code_str = (genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)) + else: + code_str = (genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size) + +genIFRwDataCode(dev, 0x800 + sm_id * 0x800, False, data_size)) + + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--数据包状态寄存器") + +genIFRwDataCode(0, 0x22, False, 2) + +genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff]) + +genIFRwDataCode(0, 0x22, False, 2) + + #+genMessageCode("--读取统计寄存器") + #+genIFRwDataCode(0, 0x80, False, 24) + #+genIFRwDataCode(0, 0xa0, False, 24) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--MB状态寄存器") + +genIFRwDataCode(1, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(2, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(3, 0x301 + sm_id * 0x4, False, 1) + +genIFRwDataCode(4, 0x301 + sm_id * 0x4, False, 1) + + +genMessageCode("--读取MB数据") + +code_str + + #+genMessageCode("--复位MB状态") + #+genIFRwDataCode(1, 0x300 + sm_id * 0x4, True, 1, [0, ]) + #+genIFRwDataCode(2, 0x300 + sm_id * 0x4, True, 1, [0, ]) + #+genIFRwDataCode(3, 0x300 + sm_id * 0x4, True, 1, [0, ]) + #+genIFRwDataCode(4, 0x300 + sm_id * 0x4, True, 1, [0, ]) + + +genTcEndFrameCode(gen_file_def)) + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) + + return gen_file_def + +''' +测试SM0 +''' +def tc7(): + return sm_wr_err_test(7, 0, 1, 2, 1, 32) + +def tc8(): + return sm_wr_err_test(8, 0, 2, 2, 1, 32) + +def tc9(): + return sm_wr_err_test(9, 0, 4, 2, 1, 16) + +def tc10(): + return sm_wr_err_test(10, 0, 0, 5, 1, 16) + +def tc11(): + return sm_wr_err_test(11, 0, 0, 5, 3, 64) + +def tc12(): + return sm_wr_err_test(12, 0, 1, 1, 4, 64) + +def tc13(): + return sm_wr_err_test(13, 0, 0, 5, 0, 128) + +def tc14(): + return sm_wr_err_test(14, 0, 4, 5, 4, 128) + + +''' +测试SM2 +''' +def tc15(): + return sm_wr_err_test(15, 2, 1, 2, 1, 32) + +def tc16(): + return sm_wr_err_test(16, 2, 2, 2, 1, 32) + +def tc17(): + return sm_wr_err_test(17, 2, 4, 2, 1, 16) + +def tc18(): + return sm_wr_err_test(18, 2, 0, 5, 1, 16) + +def tc19(): + return sm_wr_err_test(19, 2, 0, 5, 3, 64) + +def tc20(): + return sm_wr_err_test(20, 2, 1, 1, 4, 64) + +def tc21(): + return sm_wr_err_test(21, 2, 0, 5, 0, 128) + +def tc22(): + return sm_wr_err_test(22, 2, 4, 5, 4, 128) + + + +''' +测试SM4 +''' +def tc23(): + return sm_wr_err_test(23, 4, 1, 2, 1, 32) + +def tc24(): + return sm_wr_err_test(24, 4, 2, 2, 1, 32) + +def tc25(): + return sm_wr_err_test(25, 4, 4, 2, 1, 16) + +def tc26(): + return sm_wr_err_test(26, 4, 0, 5, 1, 16) + +def tc27(): + return sm_wr_err_test(27, 4, 0, 5, 3, 64) + +def tc28(): + return sm_wr_err_test(28, 4, 1, 1, 4, 64) + +def tc29(): + return sm_wr_err_test(29, 4, 0, 5, 0, 128) + +def tc30(): + return sm_wr_err_test(30, 4, 4, 5, 4, 128) + + +''' +测试SM6 +''' +def tc31(): + return sm_wr_err_test(31, 6, 1, 2, 1, 32) + +def tc32(): + return sm_wr_err_test(32, 6, 2, 2, 1, 32) + +def tc33(): + return sm_wr_err_test(33, 6, 4, 2, 1, 16) + +def tc34(): + return sm_wr_err_test(34, 6, 0, 5, 1, 16) + +def tc35(): + return sm_wr_err_test(35, 6, 0, 5, 3, 64) + +def tc36(): + return sm_wr_err_test(36, 6, 1, 1, 4, 64) + +def tc37(): + return sm_wr_err_test(37, 6, 0, 5, 0, 128) + +def tc38(): + return sm_wr_err_test(38, 6, 4, 5, 4, 128) + diff --git a/tb/shinTest/testcase/readregs.py b/tb/shinTest/testcase/readregs.py index e902669..9e0d9d8 100644 --- a/tb/shinTest/testcase/readregs.py +++ b/tb/shinTest/testcase/readregs.py @@ -10,7 +10,7 @@ def tc1(): #>>>>>>嗅探数据包1,正常的嗅探数据包 genPkt.clean() genPkt.setPktType(1) - gen_file_def = "test_pkt" + gen_file_def = "regtest_tc01" sm_idx = 0 genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) diff --git a/tb/shinTest/testcase/sync.py b/tb/shinTest/testcase/sync.py index 14fa72d..0d5ac25 100644 --- a/tb/shinTest/testcase/sync.py +++ b/tb/shinTest/testcase/sync.py @@ -1311,10 +1311,11 @@ def tc7(): genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap) - + + genPkt.clean() genPkt.setPktType(0) - sm_idx = 3 + sm_idx = 1 genPkt.addBeforeExc("\n#5000\n" +genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1) @@ -1322,18 +1323,98 @@ def tc7(): +genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(0, 0x40, False, 4) +genIFRwDataCode(0, 0x00, True, 1, [0x1, ]) - +genEnableInsertTimeCode(0xa) + ) + + genPkt.addSubPkt(0x0, 0, 0x180, 0xd, 10, b'\0'*10) + + gen_file_def_ap = gen_file_def + "_rw03" + genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) + +genWriteTransPktCode(gen_file_def_ap, sm_idx) + +genTrgTransPktCode(gen_file_def_ap, sm_idx) + +genReadAckPktCode(gen_file_def_ap, sm_idx) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + + +genMessageCode("--清除中断") + +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff]) + + +genMessageCode("--读取中断") + +genIFRwDataCode(0, 0x74, False, 4) + +genIFRwDataCode(1, 0x74, False, 4) + +genIFRwDataCode(2, 0x74, False, 4) + +genIFRwDataCode(3, 0x74, False, 4) + +genIFRwDataCode(4, 0x74, False, 4) + ) + + genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap) + + + genPkt.clean() + genPkt.setPktType(0) + sm_idx = 1 + + + genPkt.addBeforeExc(genEnableInsertTimeCode(0xa) + '''spi_trans( (16'h0100), (`SPI_READ), (8), (`IF_IDX(0)));\n''' + '''_temp_time = rxBuf[3] + (rxBuf[4] << 8) + (rxBuf[5] << 16) + (rxBuf[6] << 24) + (rxBuf[7] << 32) + (rxBuf[8] << 40) + (rxBuf[9] << 48) + (rxBuf[10] << 56);\n''' - + '''_temp_time = _temp_time + 32'h3000;\n\n''') + + '''_temp_time = _temp_time + 32'h3000;\n\n''' + + '''txBuf[3] = 8'h0f;\n''' + + '''txBuf[4] = 8'h00;\n''' + + '''txBuf[5] = 8'h0a;\n''' + + '''txBuf[6] = 8'h00;\n''' + + '''txBuf[7] = 8'h0a;\n''' + + '''txBuf[8] = 8'h00;\n''' + + '''txBuf[9] = 8'h0a;\n''' + + '''txBuf[10] = 8'h00;\n''' + + '''txBuf[11] = 8'h01;\n''' + + '''txBuf[12] = 8'h00;\n''' + + '''txBuf[19] = (_temp_time & 8'hff);\n''' + + '''txBuf[20] = ( (_temp_time >> 8) & 8'hff);\n''' + + '''txBuf[21] = ((_temp_time >> 16) & 8'hff);\n''' + + '''txBuf[22] = ((_temp_time >> 24) & 8'hff);\n''' + + '''txBuf[23] = ((_temp_time >> 32) & 8'hff);\n''' + + '''txBuf[24] = 0;\n''' + + '''txBuf[25] = 0;\n''' + + '''txBuf[26] = 0;\n''' + + '''txBuf[27] = 8'h80;\n''' + + '''txBuf[28] = 8'h00;\n''' + + '''txBuf[29] = 8'h00;\n''' + + '''txBuf[30] = 8'h00;\n''' + + '''txBuf[31] = 8'h00;\n''' + + '''txBuf[32] = 8'h00;\n''' + + '''txBuf[33] = 8'h00;\n''' + + '''txBuf[34] = 8'h00;\n''' + + '''txBuf[35] = 8'h00;\n''' + + '''txBuf[36] = 8'h00;\n''' + + '''txBuf[37] = 8'h00;\n''' + + '''txBuf[38] = 8'h00;\n''' + + '''txBuf[39] = 8'h00;\n''' + + '''txBuf[40] = 8'h00;\n''' + + '''txBuf[41] = 8'h00;\n''' + + '''txBuf[42] = 8'h00;\n''' + + '''txBuf[43] = 8'h00;\n''' + + '''spi_trans( (16'h0120), (`SPI_WRITE), (40), (`IF_IDX(0)));\n''' + ) genPkt.addSubPkt(0x0, 0, 0x0, 0xc, 12, b'\0'*12) #subPkt参数:索引、索引类型、地址、命令、长度、数据 data = [0,] * 100 #bytearray(b"\0" * 100) data[0] = 0x0f #地址0x120 + data[1] = 0x0 data[2] = 0xa + data[3] = 0x0 data[4] = 0xa + data[5] = 0x0 data[6] = 0xa data[8] = 0xa @@ -1422,7 +1503,7 @@ def tc7(): genPkt.addSubPkt(2, 0, 0x120, 0x1, 0x28, data) - gen_file_def_ap = gen_file_def + "_rw03" + gen_file_def_ap = gen_file_def + "_rw04" genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx) +genWriteTransPktCode(gen_file_def_ap, sm_idx) +genTrgTransPktCode(gen_file_def_ap, sm_idx) diff --git a/tb/shinTest/testcase/watchdog.py b/tb/shinTest/testcase/watchdog.py index ee7d7c9..b2ec5c7 100644 --- a/tb/shinTest/testcase/watchdog.py +++ b/tb/shinTest/testcase/watchdog.py @@ -1,5 +1,31 @@ from pyutils import * + + +''' +看门狗0超时逻辑: +1. 看门狗0从系统发送下行包时,触发工作; +2. 系统上行时,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作,此时有上行包,不予响应; +3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断; +4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。 + + +SM0/2/4/6与SM1/3/5/7超时逻辑: +1. 看门狗从读写第一个字节被触发计时工作;第二次读写第一个字节,不影响看门狗工作; +2. 读写最后一个字节,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作,此时系统读到最后一个字节,不予响应。 +3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断; +4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。 + +看门狗17超时逻辑: +1. 看门狗17从系统发送第一个下行包时,触发工作; +2. 系统发送第二个下行包时,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作; +3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断; +4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。 + + +复位继续工作,指看门狗需要重新被触发开始计数直至超时或者复位。写看门狗状态,无论超时没超时,对应bit为1,则对应看门狗被复位。 +''' + def watchdog_test_sm_wr_timeout(tc_id, wd_id): genPkt = GenPkt() @@ -64,12 +90,15 @@ def watchdog_test_sm_wr_timeout(tc_id, wd_id): +genIFRwDataCode(2, 0x074, False, 0x04) +genIFRwDataCode(3, 0x074, False, 0x04) +genIFRwDataCode(4, 0x074, False, 0x04) + +genMessageCode("--延时后检查看门狗寄存器") +"#700000\n" +genIFRwDataCode(1, 0x400, False, 0x04) +genIFRwDataCode(1, 0x400, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x400, False, 0x04) + +genMessageCode("--复位数据缓冲区") +genIFRwDataCode(1, 0x300 + slave_sm_id * 4, True, 1, [0, ]) - +"#800000\n" + +genMessageCode("--延时后检查看门狗寄存器") + +"#1200000\n" +genIFRwDataCode(1, 0x400, False, 0x04) +genTcEndFrameCode(gen_file_def)) @@ -121,7 +150,7 @@ def watchdog_test_sm_rd_timeout(tc_id, wd_id): data[1] = 0x00 genPkt.addSubPkt(0x0, 0, 0x302 + slave_sm_id * 4, 0xe, 2, data) - data = [0,] * 0x10 + data = list(range(0x10)) #subPkt参数:索引、索引类型、地址、命令、长度、数据 sm_addr = slave_sm_id * 0x1000 + 0x800 @@ -139,12 +168,19 @@ def watchdog_test_sm_rd_timeout(tc_id, wd_id): +genIFRwDataCode(2, 0x074, False, 0x04) +genIFRwDataCode(3, 0x074, False, 0x04) +genIFRwDataCode(4, 0x074, False, 0x04) - +genIFRwDataCode(1, slave_sm_id * 0x1000 + 0x800, False, 4) - +"#500000\n" + +genMessageCode("--读缓冲区") + +genIFRwDataCode(1, 0x800 + slave_sm_id * 0x1000, False, 8) + + +genMessageCode("--延时后检查看门狗寄存器") + +"#1000000\n" +genIFRwDataCode(1, 0x400, False, 0x04) +genIFRwDataCode(1, 0x400, True, 4, [0xff, 0xff, 0xff, 0xff]) +genIFRwDataCode(1, 0x400, False, 0x04) + +genMessageCode("--复位数据缓冲区") +genIFRwDataCode(1, 0x300 + slave_sm_id * 4, True, 1, [0, ]) + +genMessageCode("--延时后检查看门狗寄存器") + +"#500000\n" + +genIFRwDataCode(1, 0x400, False, 0x04) +genTcEndFrameCode(gen_file_def)) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) diff --git a/tb/shinTest/testcase_result/base_tc01_result.log b/tb/shinTest/testcase_result/base_tc01_result.log index 18b730f..b6d82a2 100644 --- a/tb/shinTest/testcase_result/base_tc01_result.log +++ b/tb/shinTest/testcase_result/base_tc01_result.log @@ -1,8 +1,9 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h030a 8'h00 16'h0002 8'h94 8'h00 16'h030e 8'h00 16'h0002 8'h94 8'h00 16'h2000 8'h00 16'h0094 8'h09 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h0b -16'h1800 8'h01 16'h0094 8'h09 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h40 8'h08 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 +16'h1800 8'h01 16'h0094 8'h09 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h40 8'h08 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc02_result.log b/tb/shinTest/testcase_result/base_tc02_result.log index 3f88a55..eefba1f 100644 --- a/tb/shinTest/testcase_result/base_tc02_result.log +++ b/tb/shinTest/testcase_result/base_tc02_result.log @@ -1,8 +1,9 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0312 8'h00 16'h0002 8'h8c 8'h00 16'h0316 8'h00 16'h0002 8'h8c 8'h00 16'h3000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h15 -16'h2800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h5d 8'h09 8'h0f 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h7c 8'h75 8'h46 8'hc7 8'h5d 8'h4d 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'hd7 8'hd7 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'hf3 8'h74 8'h75 8'h77 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'hfd 8'h7e 8'h7f 8'h00 8'h04 +16'h2800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h4e 8'h5b 8'h54 8'h35 8'h36 8'h37 8'h5d 8'h09 8'h0f 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h7c 8'h75 8'h46 8'hc7 8'h5d 8'h4d 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'hd7 8'hd7 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'hf3 8'h74 8'h75 8'h77 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'hfd 8'h7e 8'h7f 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc03_result.log b/tb/shinTest/testcase_result/base_tc03_result.log index 18ba467..729640b 100644 --- a/tb/shinTest/testcase_result/base_tc03_result.log +++ b/tb/shinTest/testcase_result/base_tc03_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h031a 8'h00 16'h0002 8'h26 8'h00 16'h031e 8'h00 16'h0002 8'h26 8'h00 16'h4000 8'h00 16'h0026 8'h02 8'h20 8'h00 8'h00 8'h13 8'hf8 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h12 8'h90 8'h08 8'h00 8'he0 8'h10 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc04_result.log b/tb/shinTest/testcase_result/base_tc04_result.log index 544ef59..6cc9fcd 100644 --- a/tb/shinTest/testcase_result/base_tc04_result.log +++ b/tb/shinTest/testcase_result/base_tc04_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'hc4 8'h01 16'h0306 8'h00 16'h0002 8'hc4 8'h01 16'h1000 8'h00 16'h01c4 8'h1c 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h40 8'h10 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h00 8'h0c 8'h10 8'h40 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h60 8'hdf 8'h00 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h64 8'hdf 8'h01 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h68 8'hdf 8'h02 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h6c 8'hdf 8'h03 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 8'h33 8'h70 8'hdf 8'h04 8'h00 8'h38 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc05_result.log b/tb/shinTest/testcase_result/base_tc05_result.log index e2105b3..e5b0445 100644 --- a/tb/shinTest/testcase_result/base_tc05_result.log +++ b/tb/shinTest/testcase_result/base_tc05_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h54 8'h01 16'h0306 8'h00 16'h0002 8'h54 8'h01 16'h1000 8'h00 16'h0154 8'h15 8'h00 8'h00 8'h00 8'h00 8'h08 8'h03 8'h00 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h03 8'h08 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h10 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h10 8'h03 8'h18 8'h10 8'h04 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h08 8'h08 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h42 8'h41 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h04 8'h18 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h42 8'h41 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h0c 8'h28 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h42 8'h41 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 8'h00 8'h10 8'h38 8'h00 8'h10 8'h40 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h42 8'h41 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc06_result.log b/tb/shinTest/testcase_result/base_tc06_result.log index 06f2b23..a00b0d2 100644 --- a/tb/shinTest/testcase_result/base_tc06_result.log +++ b/tb/shinTest/testcase_result/base_tc06_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0306 8'h00 16'h0002 8'h81 8'h00 16'h1000 8'h00 16'h0081 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 16'h0306 8'h00 16'h0002 8'h8c 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc08_result.log b/tb/shinTest/testcase_result/base_tc08_result.log index 97137a6..92a2444 100644 --- a/tb/shinTest/testcase_result/base_tc08_result.log +++ b/tb/shinTest/testcase_result/base_tc08_result.log @@ -3,15 +3,20 @@ 16'h0040 8'h00 16'h0004 8'h01 8'h00 8'h66 8'h79 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h80 -16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 -16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h007c 8'h00 16'h0002 8'h00 8'h81 +16'h0070 8'h00 16'h0004 8'h03 8'h00 8'h00 8'hf0 +16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 +16'h0070 8'h01 16'h0004 8'h03 8'h00 8'h00 8'hf0 +16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'hf0 16'h0000 8'h00 16'h0001 8'h01 16'h0000 8'h00 16'h0001 8'h02 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h8c 8'h00 16'h0306 8'h00 16'h0002 8'h8c 8'h00 16'h1000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h3c 8'h31 8'h00 8'h80 8'h15 8'h05 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h87 8'h87 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hf0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h81 8'h00 8'h00 8'h00 8'h01 +16'h0800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h3c 8'h31 8'h00 8'h80 8'h15 8'h05 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h87 8'h87 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hf0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h81 8'h00 8'h00 8'h00 8'h01 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h007c 8'h00 16'h0002 8'h00 8'h81 @@ -29,15 +34,13 @@ 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h0e 8'h00 16'h0306 8'h00 16'h0002 8'h0e 8'h00 16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h04 -16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h02 8'h00 -16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 -16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 -16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h02 8'h00 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 @@ -51,3 +54,18 @@ 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc10_result.log b/tb/shinTest/testcase_result/base_tc10_result.log index aaf6256..7419fe3 100644 --- a/tb/shinTest/testcase_result/base_tc10_result.log +++ b/tb/shinTest/testcase_result/base_tc10_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h2c 8'h03 16'h0306 8'h00 16'h0002 8'h2c 8'h03 16'h1000 8'h00 16'h032c 8'h32 8'h80 8'h00 8'h00 8'h00 8'h04 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h04 8'h08 8'h00 8'h10 8'h04 8'h02 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h04 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h04 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h04 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h04 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h04 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h04 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h04 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h04 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h04 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h04 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h04 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h04 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h08 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h08 8'h08 8'h00 8'h10 8'h04 8'h03 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h08 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h08 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h08 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h08 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h08 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h08 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h08 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h08 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h08 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h08 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h08 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h08 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h0c 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h00 8'h10 8'h04 8'h04 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h0c 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h10 8'h03 8'h02 8'h10 8'h02 8'h40 8'h00 8'h00 8'h00 8'h00 8'h10 8'h08 8'h00 8'h10 8'h04 8'h05 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h10 8'h08 8'h04 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h10 8'h08 8'h08 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h0c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h10 8'h08 8'h10 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h10 8'h08 8'h14 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h10 8'h08 8'h18 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h1c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 8'h00 8'h10 8'h08 8'h20 8'h10 8'h04 8'h01 8'h02 8'h03 8'h04 8'h00 8'h00 8'h00 8'h10 8'h08 8'h24 8'h10 8'h04 8'h05 8'h06 8'h07 8'h08 8'h00 8'h00 8'h00 8'h10 8'h08 8'h28 8'h10 8'h04 8'h09 8'h0a 8'h0b 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h2c 8'h10 8'h04 8'h0d 8'h0e 8'h0f 8'h10 8'h00 8'h00 8'h00 8'h10 8'h08 8'h30 8'h10 8'h04 8'h11 8'h12 8'h13 8'h14 8'h00 8'h00 8'h00 8'h10 8'h08 8'h34 8'h10 8'h04 8'h15 8'h16 8'h17 8'h18 8'h00 8'h00 8'h00 8'h10 8'h08 8'h38 8'h10 8'h04 8'h19 8'h1a 8'h1b 8'h1c 8'h00 8'h00 8'h00 8'h10 8'h08 8'h3c 8'h10 8'h04 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc12_result.log b/tb/shinTest/testcase_result/base_tc12_result.log index 704215b..fe5ebe6 100644 --- a/tb/shinTest/testcase_result/base_tc12_result.log +++ b/tb/shinTest/testcase_result/base_tc12_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h24 8'h00 16'h0306 8'h00 16'h0002 8'h24 8'h00 16'h1000 8'h00 16'h0024 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h80 8'he0 8'h18 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/base_tc23_result.log b/tb/shinTest/testcase_result/base_tc23_result.log index 2faeb9c..9d59ede 100644 --- a/tb/shinTest/testcase_result/base_tc23_result.log +++ b/tb/shinTest/testcase_result/base_tc23_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h0e 8'h00 16'h0306 8'h00 16'h0002 8'h0e 8'h00 16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'hf0 8'h02 8'h20 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/broadcast_tc01_result.log b/tb/shinTest/testcase_result/broadcast_tc01_result.log index 39eba55..553f24b 100644 --- a/tb/shinTest/testcase_result/broadcast_tc01_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc01_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h70 8'h00 16'h0306 8'h00 16'h0002 8'h70 8'h00 16'h1000 8'h00 16'h0070 8'h06 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hc0 8'hd0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/broadcast_tc02_result.log b/tb/shinTest/testcase_result/broadcast_tc02_result.log index e4f5085..6211e32 100644 --- a/tb/shinTest/testcase_result/broadcast_tc02_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc02_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h36 8'h00 16'h0306 8'h00 16'h0002 8'h36 8'h00 16'h1000 8'h00 16'h0036 8'h03 8'h20 8'h00 8'h00 8'h1f 8'h40 8'h03 8'h02 8'he0 8'h02 8'h20 8'h00 8'h00 8'h00 8'h1f 8'h40 8'h08 8'h00 8'he0 8'h20 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/broadcast_tc03_result.log b/tb/shinTest/testcase_result/broadcast_tc03_result.log index 6db2a40..ff4c455 100644 --- a/tb/shinTest/testcase_result/broadcast_tc03_result.log +++ b/tb/shinTest/testcase_result/broadcast_tc03_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h10 8'h00 16'h0306 8'h00 16'h0002 8'h10 8'h00 16'h1000 8'h00 16'h0010 8'h00 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h00 8'hc0 8'hf0 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc01_result.log b/tb/shinTest/testcase_result/ebmmu_tc01_result.log index 0a65473..44afc65 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc01_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc01_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc02_result.log b/tb/shinTest/testcase_result/ebmmu_tc02_result.log index 28e6ed0..b17f654 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc02_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc02_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h0a 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h0a 8'h10 8'h0a 8'h10 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h0a 8'h10 8'h0a 8'h20 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h0a 8'h10 8'h0a 8'h30 8'h00 8'h00 8'h20 8'h00 8'h00 8'h10 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 @@ -22,7 +23,7 @@ 16'h0306 8'h00 16'h0002 8'h64 8'h00 16'h1000 8'h00 16'h0064 8'h06 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 +16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h00 8'h00 8'h00 8'h10 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 @@ -42,7 +43,7 @@ 16'h0306 8'h00 16'h0002 8'h4c 8'h00 16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h80 8'h02 8'h00 8'h00 8'h00 8'h40 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h80 8'h02 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h80 8'h02 8'h00 8'h00 8'h00 8'h40 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc03_result.log b/tb/shinTest/testcase_result/ebmmu_tc03_result.log index d798d73..7b1d5a6 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc03_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc03_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h94 8'h00 -16'h0306 8'h00 16'h0002 8'h94 8'h00 -16'h1000 8'h00 16'h0094 8'h09 8'h00 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'ha8 8'h00 +16'h0306 8'h00 16'h0002 8'ha8 8'h00 +16'h1000 8'h00 16'h00a8 8'h0a 8'h40 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0094 8'h09 8'h00 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h00a8 8'h0a 8'h40 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'h0a 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'h0a 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'h0a 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'h0a 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h04 8'h02 8'h14 8'h10 8'h0a 8'h28 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h14 8'h10 8'h0a 8'h34 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h14 8'h10 8'h0a 8'h40 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h14 8'h10 8'h0a 8'h4c 8'h00 8'h00 8'h10 8'h00 8'h00 8'h0c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 @@ -22,7 +23,7 @@ 16'h0306 8'h00 16'h0002 8'h64 8'h00 16'h1000 8'h00 16'h0064 8'h06 8'h00 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h00 8'h58 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h01 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h02 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h03 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h55 8'h00 8'h04 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h0064 8'h06 8'h00 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h00 8'h58 8'h00 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h0a 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h14 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h1e 8'h00 8'h00 8'h10 8'h00 8'h02 8'h0a 8'h00 8'h03 8'h01 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h01 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h02 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h03 8'h00 8'h02 8'h01 8'h4c 8'h58 8'h50 8'h30 8'h30 8'h31 8'h55 8'h00 8'h04 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc04_result.log b/tb/shinTest/testcase_result/ebmmu_tc04_result.log index baef84f..7fe80ea 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc04_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc04_result.log @@ -1,3 +1,4 @@ +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0306 8'h00 16'h0002 8'h80 8'h00 16'h1000 8'h00 16'h0080 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 16'h030e 8'h00 16'h0002 8'h98 8'h00 @@ -6,11 +7,11 @@ 16'h3000 8'h00 16'h0081 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 16'h031e 8'h00 16'h0002 8'h8c 8'h00 16'h4000 8'h00 16'h008c 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc05_result.log b/tb/shinTest/testcase_result/ebmmu_tc05_result.log index 534f2f4..6c33ae1 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc05_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc05_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h4c 8'h00 -16'h0306 8'h00 16'h0002 8'h4c 8'h00 -16'h1000 8'h00 16'h004c 8'h04 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h60 8'h00 +16'h0306 8'h00 16'h0002 8'h60 8'h00 +16'h1000 8'h00 16'h0060 8'h05 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h004c 8'h04 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 +16'h0800 8'h01 16'h0060 8'h05 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h1e 8'h10 8'h0a 8'h58 8'h00 8'h00 8'h10 8'h00 8'h10 8'h80 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h1e 8'h10 8'h0a 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h98 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h1e 8'h10 8'h0a 8'h70 8'h01 8'h00 8'h10 8'h00 8'h30 8'h81 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h1e 8'h10 8'h0a 8'hf1 8'h01 8'h00 8'h10 8'h00 8'h40 8'h8c 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc06_result.log b/tb/shinTest/testcase_result/ebmmu_tc06_result.log index b020a67..5e8e3ec 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc06_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc06_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h56 8'h00 -16'h0306 8'h00 16'h0002 8'h56 8'h00 -16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6a 8'h00 +16'h0306 8'h00 16'h0002 8'h6a 8'h00 +16'h1000 8'h00 16'h006a 8'h06 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h006a 8'h06 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc07_result.log b/tb/shinTest/testcase_result/ebmmu_tc07_result.log index b020a67..5e8e3ec 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc07_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc07_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'h56 8'h00 -16'h0306 8'h00 16'h0002 8'h56 8'h00 -16'h1000 8'h00 16'h0056 8'h05 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'h6a 8'h00 +16'h0306 8'h00 16'h0002 8'h6a 8'h00 +16'h1000 8'h00 16'h006a 8'h06 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0056 8'h05 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h006a 8'h06 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h02 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h28 8'h10 8'h0a 8'h7d 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h28 8'h10 8'h0a 8'hfd 8'h03 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h03 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc08_result.log b/tb/shinTest/testcase_result/ebmmu_tc08_result.log index 466e2b1..385a8ed 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc08_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc08_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hb6 8'h00 -16'h0306 8'h00 16'h0002 8'hb6 8'h00 -16'h1000 8'h00 16'h00b6 8'h0b 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hca 8'h00 +16'h0306 8'h00 16'h0002 8'hca 8'h00 +16'h1000 8'h00 16'h00ca 8'h0c 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h00b6 8'h0b 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h00ca 8'h0c 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h80 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h80 8'h00 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc09_result.log b/tb/shinTest/testcase_result/ebmmu_tc09_result.log index 3e0bd09..4b0af5d 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc09_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc09_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hb6 8'h00 -16'h0306 8'h00 16'h0002 8'hb6 8'h00 -16'h1000 8'h00 16'h00b6 8'h0b 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hca 8'h00 +16'h0306 8'h00 16'h0002 8'hca 8'h00 +16'h1000 8'h00 16'h00ca 8'h0c 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h00b6 8'h0b 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 +16'h0800 8'h01 16'h00ca 8'h0c 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc10_result.log b/tb/shinTest/testcase_result/ebmmu_tc10_result.log index 15365ab..f4755ce 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc10_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc10_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hb6 8'h00 -16'h0306 8'h00 16'h0002 8'hb6 8'h00 -16'h1000 8'h00 16'h00b6 8'h0b 8'h20 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hca 8'h00 +16'h0306 8'h00 16'h0002 8'hca 8'h00 +16'h1000 8'h00 16'h00ca 8'h0c 8'h60 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h00b6 8'h0b 8'h20 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 +16'h0800 8'h01 16'h00ca 8'h0c 8'h60 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'he0 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h00 8'h01 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc11_result.log b/tb/shinTest/testcase_result/ebmmu_tc11_result.log index 9a8f997..90ffa2d 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc11_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc11_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hae 8'h02 -16'h0306 8'h00 16'h0002 8'hae 8'h02 -16'h1000 8'h00 16'h02ae 8'h2a 8'ha0 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'hc2 8'h02 +16'h0306 8'h00 16'h0002 8'hc2 8'h02 +16'h1000 8'h00 16'h02c2 8'h2b 8'he0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02ae 8'h2a 8'ha0 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 +16'h0800 8'h01 16'h02c2 8'h2b 8'he0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h01 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h02 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h03 8'h00 8'h10 8'h00 8'h10 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h00 8'h01 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc12_result.log b/tb/shinTest/testcase_result/ebmmu_tc12_result.log index 1c44e17..43d63ba 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc12_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc12_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc13_result.log b/tb/shinTest/testcase_result/ebmmu_tc13_result.log index 8f917c1..0dc393b 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc13_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc13_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc14_result.log b/tb/shinTest/testcase_result/ebmmu_tc14_result.log index dc92a18..0ce0e0e 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc14_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc14_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h20 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h60 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc15_result.log b/tb/shinTest/testcase_result/ebmmu_tc15_result.log index 6c340f4..0285af2 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc15_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc15_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 @@ -23,10 +24,10 @@ 16'h1000 8'h00 16'h010c 8'h10 8'h80 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 16'h0800 8'h01 16'h010c 8'h10 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h11 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h04 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h01 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 16'h0800 8'h01 16'h0010 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 16'h1800 8'h01 16'h0010 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 16'h2800 8'h01 16'h0010 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f @@ -43,10 +44,10 @@ 16'h1800 8'h01 16'h0010 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 16'h2800 8'h01 16'h0010 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 16'h3800 8'h01 16'h0010 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 -16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'h08 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 +16'h0300 8'h01 16'h0020 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 8'h00 8'h00 8'h10 8'h00 8'h00 8'h00 8'hxx 8'h00 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h55 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h55 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc16_result.log b/tb/shinTest/testcase_result/ebmmu_tc16_result.log index 4afafd0..9254b94 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc16_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc16_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h08 8'h04 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h08 8'h04 8'h00 8'h02 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h08 8'h04 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h18 8'h04 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h18 8'h04 8'h00 8'h02 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h18 8'h04 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc17_result.log b/tb/shinTest/testcase_result/ebmmu_tc17_result.log index 0cd5053..a5109de 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc17_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc17_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h04 8'h00 8'h01 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h30 8'h04 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h30 8'h04 8'h00 8'h01 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h30 8'h04 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h40 8'h04 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h40 8'h04 8'h00 8'h01 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h40 8'h04 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h16 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc18_result.log b/tb/shinTest/testcase_result/ebmmu_tc18_result.log index 378b61a..5a62297 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc18_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc18_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h08 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h18 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h24 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h28 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h2c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h34 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h38 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h3c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h40 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h44 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h48 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h4c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h54 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h58 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h5c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'h64 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'h68 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'h6c 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'h74 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'h78 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'h7c 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h80 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'h84 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'h88 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'h8c 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'h94 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'h98 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'h9c 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hac 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hbc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc4 8'h00 8'h00 8'h10 8'h04 8'h10 8'h04 8'h00 8'h01 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h08 8'h10 8'h04 8'h00 8'h01 8'h01 8'hcc 8'h00 8'h00 8'h10 8'h0c 8'h10 8'h04 8'h00 8'h01 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd4 8'h00 8'h00 8'h10 8'h04 8'h20 8'h04 8'h00 8'h01 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h08 8'h20 8'h04 8'h00 8'h01 8'h01 8'hdc 8'h00 8'h00 8'h10 8'h0c 8'h20 8'h04 8'h00 8'h01 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h04 8'h00 8'h02 8'h01 8'he4 8'h00 8'h00 8'h10 8'h04 8'h28 8'h04 8'h00 8'h02 8'h01 8'he8 8'h00 8'h00 8'h10 8'h08 8'h28 8'h04 8'h00 8'h02 8'h01 8'hec 8'h00 8'h00 8'h10 8'h0c 8'h28 8'h04 8'h00 8'h02 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf4 8'h00 8'h00 8'h10 8'h04 8'h38 8'h04 8'h00 8'h02 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h08 8'h38 8'h04 8'h00 8'h02 8'h01 8'hfc 8'h00 8'h00 8'h10 8'h0c 8'h38 8'h04 8'h00 8'h02 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h06 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0e 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h10 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 diff --git a/tb/shinTest/testcase_result/ebmmu_tc19_result.log b/tb/shinTest/testcase_result/ebmmu_tc19_result.log index bd20080..3ae4623 100644 --- a/tb/shinTest/testcase_result/ebmmu_tc19_result.log +++ b/tb/shinTest/testcase_result/ebmmu_tc19_result.log @@ -1,8 +1,9 @@ -16'h0302 8'h00 16'h0002 8'hcc 8'h02 -16'h0306 8'h00 16'h0002 8'hcc 8'h02 -16'h1000 8'h00 16'h02cc 8'h2c 8'h80 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0302 8'h00 16'h0002 8'he0 8'h02 +16'h0306 8'h00 16'h0002 8'he0 8'h02 +16'h1000 8'h00 16'h02e0 8'h2d 8'hc0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h00 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h00 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h02cc 8'h2c 8'h80 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h02e0 8'h2d 8'hc0 8'h00 8'h04 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h01 8'h58 8'h00 8'h04 8'h00 8'h04 8'h02 8'h00 8'h10 8'ha0 8'h00 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h01 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h02 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h03 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h04 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h05 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h06 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h07 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h00 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h08 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h10 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h18 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h20 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h28 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h30 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h38 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h08 8'h02 8'h00 8'h10 8'ha0 8'h08 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h09 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h0f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h40 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h48 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h50 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h58 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'h60 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'h68 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'h70 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'h78 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h0c 8'h02 8'h00 8'h10 8'ha0 8'h10 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h11 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h12 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h13 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h14 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h15 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h16 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h17 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h80 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'h88 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'h90 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'h98 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'ha0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'ha8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hb0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hb8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h10 8'h02 8'h00 8'h10 8'ha0 8'h18 8'h00 8'h00 8'h20 8'h01 8'h03 8'h01 8'h00 8'h01 8'h01 8'h19 8'h00 8'h00 8'h20 8'h05 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1a 8'h00 8'h00 8'h20 8'h09 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1b 8'h00 8'h00 8'h20 8'h0d 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1c 8'h00 8'h00 8'h20 8'h11 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1d 8'h00 8'h00 8'h20 8'h15 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1e 8'h00 8'h00 8'h20 8'h19 8'h03 8'h01 8'h00 8'h01 8'h01 8'h1f 8'h00 8'h00 8'h20 8'h1d 8'h03 8'h01 8'h00 8'h01 8'h01 8'hc0 8'h00 8'h00 8'h10 8'h00 8'h08 8'h08 8'h00 8'h02 8'h01 8'hc8 8'h00 8'h00 8'h10 8'h00 8'h18 8'h08 8'h00 8'h02 8'h01 8'hd0 8'h00 8'h00 8'h10 8'h00 8'h28 8'h08 8'h00 8'h02 8'h01 8'hd8 8'h00 8'h00 8'h10 8'h00 8'h38 8'h08 8'h00 8'h02 8'h01 8'he0 8'h00 8'h00 8'h10 8'h00 8'h10 8'h08 8'h00 8'h01 8'h01 8'he8 8'h00 8'h00 8'h10 8'h00 8'h20 8'h08 8'h00 8'h01 8'h01 8'hf0 8'h00 8'h00 8'h10 8'h00 8'h30 8'h08 8'h00 8'h01 8'h01 8'hf8 8'h00 8'h00 8'h10 8'h00 8'h40 8'h08 8'h00 8'h01 8'h01 8'h00 8'h01 8'h00 8'h00 8'h00 8'h18 8'he0 8'h02 8'h00 8'h58 8'h00 8'h04 8'h00 8'h00 8'h03 8'h02 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h0a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h12 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 8'h00 8'h00 8'h03 8'h1a 8'he0 8'h02 8'h08 8'h00 8'h00 8'h04 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 @@ -50,11 +51,31 @@ 16'h3000 8'h00 16'h0008 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 16'h031e 8'h00 16'h0002 8'h08 8'h00 16'h4000 8'h00 16'h0008 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e -16'h0302 8'h00 16'h0002 8'h34 8'h01 -16'h0306 8'h00 16'h0002 8'h34 8'h01 -16'h1000 8'h00 16'h0134 8'h13 8'h00 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h0c 8'h01 +16'h0306 8'h00 16'h0002 8'h0c 8'h01 +16'h1000 8'h00 16'h010c 8'h10 8'h80 8'h00 8'h00 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'ha0 8'ha1 8'ha2 8'ha3 8'ha4 8'ha5 8'ha6 8'ha7 8'ha8 8'ha9 8'haa 8'hab 8'hac 8'had 8'hae 8'haf 8'hb0 8'hb1 8'hb2 8'hb3 8'hb4 8'hb5 8'hb6 8'hb7 8'hb8 8'hb9 8'hba 8'hbb 8'hbc 8'hbd 8'hbe 8'hbf 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'he0 8'he1 8'he2 8'he3 8'he4 8'he5 8'he6 8'he7 8'he8 8'he9 8'hea 8'heb 8'hec 8'hed 8'hee 8'hef 8'hf0 8'hf1 8'hf2 8'hf3 8'hf4 8'hf5 8'hf6 8'hf7 8'hf8 8'hf9 8'hfa 8'hfb 8'hfc 8'hfd 8'hfe 8'hff 8'h00 8'h00 16'h0020 8'h00 16'h0001 8'h01 -16'h0800 8'h01 16'h0134 8'h13 8'h00 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h08 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h00 8'h04 +16'h0800 8'h01 16'h010c 8'h10 8'h80 8'h00 8'h04 8'h40 8'h02 8'h00 8'h00 8'h21 8'h00 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h80 8'h81 8'h82 8'h83 8'h84 8'h85 8'h86 8'h87 8'h88 8'h89 8'h8a 8'h8b 8'h8c 8'h8d 8'h8e 8'h8f 8'h90 8'h91 8'h92 8'h93 8'h94 8'h95 8'h96 8'h97 8'h98 8'h99 8'h9a 8'h9b 8'h9c 8'h9d 8'h9e 8'h9f 8'h00 8'h09 8'h12 8'h1b 8'h24 8'h2d 8'h36 8'h3f 8'h00 8'h08 8'h10 8'h18 8'h20 8'h28 8'h30 8'h38 8'h00 8'h07 8'h0e 8'h15 8'h1c 8'h23 8'h2a 8'h31 8'h00 8'h06 8'h0c 8'h12 8'h18 8'h1e 8'h24 8'h2a 8'hc0 8'hc1 8'hc2 8'hc3 8'hc4 8'hc5 8'hc6 8'hc7 8'hc8 8'hc9 8'hca 8'hcb 8'hcc 8'hcd 8'hce 8'hcf 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 8'h00 8'h05 8'h0a 8'h0f 8'h14 8'h19 8'h1e 8'h23 8'h00 8'h04 8'h08 8'h0c 8'h10 8'h14 8'h18 8'h1c 8'h00 8'h03 8'h06 8'h09 8'h0c 8'h0f 8'h12 8'h15 8'h00 8'h02 8'h04 8'h06 8'h08 8'h0a 8'h0c 8'h0e 8'h00 8'h08 +16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0302 8'h00 16'h0002 8'h2c 8'h00 +16'h0306 8'h00 16'h0002 8'h2c 8'h00 +16'h1000 8'h00 16'h002c 8'h02 8'h80 8'h00 8'h00 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 +16'h0020 8'h00 16'h0001 8'h01 +16'h0800 8'h01 16'h002c 8'h02 8'h80 8'h00 8'h04 8'h80 8'h02 8'h00 8'h00 8'h00 8'h20 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h01 8'h00 8'h00 8'h04 16'h0800 8'h01 16'h0008 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 16'h1800 8'h01 16'h0008 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 16'h2800 8'h01 16'h0008 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 @@ -72,10 +93,10 @@ 16'h2800 8'h01 16'h0008 8'hd0 8'hd1 8'hd2 8'hd3 8'hd4 8'hd5 8'hd6 8'hd7 16'h3800 8'h01 16'h0008 8'hd8 8'hd9 8'hda 8'hdb 8'hdc 8'hdd 8'hde 8'hdf 16'h0074 8'h01 16'h0004 8'h03 8'h00 8'h06 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 -16'h0074 8'h01 16'h0004 8'h00 8'hff 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 +16'h0074 8'h01 16'h0004 8'h00 8'h00 8'h0f 8'h00 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff diff --git a/tb/shinTest/testcase_result/sys_bringup_result.log b/tb/shinTest/testcase_result/sys_bringup_result.log index 8b59d6f..010e4ed 100644 --- a/tb/shinTest/testcase_result/sys_bringup_result.log +++ b/tb/shinTest/testcase_result/sys_bringup_result.log @@ -18,6 +18,16 @@ 16'h0000 8'h01 16'h0001 8'h02 16'h0000 8'h01 16'h0001 8'h02 16'h0000 8'h01 16'h0001 8'h02 +16'h0070 8'h00 16'h0004 8'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'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 +16'h007c 8'h00 16'h0002 8'h10 8'h80 16'h0302 8'h00 16'h0002 8'h04 8'h00 16'h0306 8'h00 16'h0002 8'h04 8'h00 16'h1000 8'h00 16'h0004 8'h00 8'h01 8'h3f 8'hff @@ -27,6 +37,7 @@ 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h00 8'h00 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h00 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h0e 8'h00 16'h0306 8'h00 16'h0002 8'h0e 8'h00 16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h00 @@ -36,6 +47,7 @@ 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 +16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0302 8'h00 16'h0002 8'h04 8'h00 16'h0306 8'h00 16'h0002 8'h04 8'h00 16'h1000 8'h00 16'h0004 8'h00 8'h01 8'h3f 8'hff @@ -45,16 +57,6 @@ 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h03 8'h00 16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00 16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00 -16'h0070 8'h00 16'h0004 8'h03 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h0070 8'h00 16'h0004 8'h00 8'h00 8'h00 8'hf0 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 -16'h007c 8'h00 16'h0002 8'h00 8'h81 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff 16'h0078 8'h00 16'h0004 8'hff 8'hff 8'hff 8'hff