增加新的测试用例,测试sync寄存器组的时间读取,以免发生进位错误

This commit is contained in:
2025-08-26 17:35:30 +08:00
parent f8065c79c9
commit 1fe1959f8c
7 changed files with 135 additions and 32 deletions

View File

@@ -56,6 +56,7 @@ testShin:
testFilter:
./tb/shinTest/test_filter.py
vcdFilter:
gtkwave ./tb/build/test_filter.vcd 1>/dev/null 2>&1 &

View File

@@ -4,8 +4,9 @@ from pyutils import *
from testcase import environment, readregs, ebmmu, errorPkt, watchdog, broadcast, sync, base, mac
if __name__ == '__main__':
environment.gen_slv_dev_num(10)
environment.gen_slv_dev_num(4)
environment.bringup()
#add_tc_2_runlist(errorPkt.tc1())
#add_tc_2_runlist(errorPkt.tc2())
#add_tc_2_runlist(errorPkt.tc3())
@@ -13,7 +14,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(errorPkt.tc5())
#add_tc_2_runlist(errorPkt.tc6())
add_tc_2_runlist(base.tc1())
#add_tc_2_runlist(base.tc1())
#add_tc_2_runlist(base.tc2())
#add_tc_2_runlist(base.tc3())
#add_tc_2_runlist(base.tc4())
@@ -38,6 +39,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(base.tc23())
#add_tc_2_runlist(base.tc24())
#add_tc_2_runlist(base.tc25())
add_tc_2_runlist(base.tc26())
#add_tc_2_runlist(broadcast.tc1())
#add_tc_2_runlist(broadcast.tc2())

View File

@@ -483,15 +483,23 @@ def tc8():
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
+genIFRwDataCode(0, 0x78, False, 4)
+genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+"\n#5000\n"
+genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1)
+genIFRwDataCode(2, 0x09, True, 1, [0, ], False, iface=1)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(0, 0x40, False, 4)
+genIFRwDataCode(2, 0x40, False, 4)
+genMessageCode("--读取中断使能")
+genIFRwDataCode(0, 0x70, False, 4)
+genIFRwDataCode(2, 0x70, False, 4)
+genMessageCode("--配置主从站")
+genIFRwDataCode(0, 0x00, True, 1, main_dev)
+genIFRwDataCode(2, 0x00, True, 1, slave_dev)
)
@@ -515,6 +523,10 @@ def tc8():
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--配置中断模式")
+genIFRwDataCode(0, 0x7c, True, 2, [0x00, 0x81])
+genIFRwDataCode(2, 0x7c, True, 2, [0x00, 0x81])
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
@@ -1721,3 +1733,85 @@ def tc25():
return gen_file_def
def tc26():
genPkt = GenPkt()
gen_file_def = "base_tc26"
sm_idx = 0
tc_des = "读取内部的时钟,看看是否有进位问题,导致读取的错误或不可靠。\\n"
#-------------------------------------------------------------------------
#>>>>>>普通数据包 sm12个读
genPkt.clean()
genPkt.setPktType(0)
#subPkt参数索引、索引类型、地址、命令、长度、数据
genPkt.addSubPkt(0x00, 0, 0x00, 0xc, 12, [0, ] * 12)
sm_idx = 1
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
+genEnableInsertTimeCode(0xa))
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)
+genIFRwDataCode(2, 0x800, False, 0x10)
+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("--读取时间1")
+genIFRwDataCode(0, 0x100, False, 32)
+genIFRwDataCode(1, 0x100, False, 32)
+genIFRwDataCode(2, 0x100, False, 32)
+genIFRwDataCode(3, 0x100, False, 32)
+genIFRwDataCode(4, 0x100, False, 32)
+"#8000\n"
+genMessageCode("--读取时间2")
+genIFRwDataCode(0, 0x100, False, 32)
+genIFRwDataCode(1, 0x100, False, 32)
+genIFRwDataCode(2, 0x100, False, 32)
+genIFRwDataCode(3, 0x100, False, 32)
+genIFRwDataCode(4, 0x100, False, 32)
+genMessageCode("--读取时间3")
+genIFRwDataCode(0, 0x100, False, 8)
+genIFRwDataCode(0, 0x118, False, 8)
+genIFRwDataCode(1, 0x118, False, 8)
+genIFRwDataCode(2, 0x118, False, 8)
+genIFRwDataCode(3, 0x118, False, 8)
+genIFRwDataCode(4, 0x118, False, 8)
+genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
return gen_file_def

View File

@@ -100,10 +100,6 @@ def bringup():
genPkt.addBeforeExc(genMessageCode("--设置环境,进行第二次嗅探"))
int_data=[0x00, 0x81]
clear_int = [0xff, 0xff, 0xff, 0xff]
main_int_en = [0x03, 0x00, 0x00, 0xf0]
slave_int_en= [0x00, 0x00, 0x00, 0xf0]
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
@@ -117,25 +113,25 @@ def bringup():
+genIFRwDataCode(4, 0xc0, False, 4)
+genMessageCode("--使能中断")
+genIFRwDataCode(0, 0x70, True, 4, main_int_en)
+genIFRwDataCode(1, 0x70, True, 4, slave_int_en)
+genIFRwDataCode(2, 0x70, True, 4, slave_int_en)
+genIFRwDataCode(3, 0x70, True, 4, slave_int_en)
+genIFRwDataCode(4, 0x70, True, 4, slave_int_en)
+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, int_data)
+genIFRwDataCode(1, 0x7c, True, 2, int_data)
+genIFRwDataCode(2, 0x7c, True, 2, int_data)
+genIFRwDataCode(3, 0x7c, True, 2, int_data)
+genIFRwDataCode(4, 0x7c, True, 2, int_data)
+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, clear_int)
+genIFRwDataCode(1, 0x78, True, 4, clear_int)
+genIFRwDataCode(2, 0x78, True, 4, clear_int)
+genIFRwDataCode(3, 0x78, True, 4, clear_int)
+genIFRwDataCode(4, 0x78, True, 4, clear_int)
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断状态")
+genIFRwDataCode(0, 0x74, False, 4)
@@ -145,11 +141,11 @@ def bringup():
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, clear_int)
+genIFRwDataCode(1, 0x78, True, 4, clear_int)
+genIFRwDataCode(2, 0x78, True, 4, clear_int)
+genIFRwDataCode(3, 0x78, True, 4, clear_int)
+genIFRwDataCode(4, 0x78, True, 4, clear_int)
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断状态")
+genIFRwDataCode(0, 0x74, False, 4)

View File

@@ -160,18 +160,22 @@ def tc2():
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+"\n#50000\n"
+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, clear_int)
+genIFRwDataCode(1, 0x78, True, 4, clear_int)
+genIFRwDataCode(2, 0x78, True, 4, clear_int)
+genIFRwDataCode(3, 0x78, True, 4, clear_int)
+genIFRwDataCode(4, 0x78, True, 4, clear_int)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
@@ -222,18 +226,22 @@ def tc3():
+genIFRwDataCode(0, 0x22, True, 2, [0xff, 0xff])
+genIFRwDataCode(0, 0x22, False, 2)
+"\n#50000\n"
+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)

View File

@@ -2,7 +2,7 @@
16'h0316 8'h00 16'h0002 8'h8c 8'h00
16'h3000 8'h00 16'h008c 8'h08 8'h80 8'h00 8'h00 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h00 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h08 8'h09 8'h0a 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h44 8'h45 8'h46 8'h47 8'h48 8'h49 8'h4a 8'h4b 8'h4c 8'h4d 8'h4e 8'h4f 8'h50 8'h51 8'h52 8'h53 8'h54 8'h55 8'h56 8'h57 8'h58 8'h59 8'h5a 8'h5b 8'h5c 8'h5d 8'h5e 8'h5f 8'h60 8'h61 8'h62 8'h63 8'h64 8'h65 8'h66 8'h67 8'h68 8'h69 8'h6a 8'h6b 8'h6c 8'h6d 8'h6e 8'h6f 8'h70 8'h71 8'h72 8'h73 8'h74 8'h75 8'h76 8'h77 8'h78 8'h79 8'h7a 8'h7b 8'h7c 8'h7d 8'h7e 8'h7f 8'h00 8'h00
16'h0020 8'h00 16'h0001 8'h15
16'h2800 8'h01 16'h008c 8'h08 8'h80 8'h00 8'h04 8'h00 8'h04 8'h00 8'h00 8'hd0 8'h80 8'h02 8'h01 8'h02 8'h03 8'h04 8'h05 8'h06 8'h07 8'h5d 8'h09 8'h0f 8'h0b 8'h0c 8'h0d 8'h0e 8'h0f 8'h10 8'h11 8'h12 8'h13 8'h14 8'h15 8'h16 8'h17 8'h18 8'h19 8'h1a 8'h1b 8'h1c 8'h1d 8'h1e 8'h1f 8'h20 8'h21 8'h22 8'h23 8'h24 8'h25 8'h26 8'h27 8'h28 8'h29 8'h2a 8'h2b 8'h2c 8'h2d 8'h2e 8'h2f 8'h30 8'h31 8'h32 8'h33 8'h34 8'h35 8'h36 8'h37 8'h38 8'h39 8'h3a 8'h3b 8'h3c 8'h3d 8'h3e 8'h3f 8'h40 8'h41 8'h42 8'h43 8'h5d 8'hc5 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'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'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

View File

@@ -3,17 +3,19 @@
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'h0040 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
16'h0040 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0
16'h0070 8'h01 16'h0004 8'h00 8'h00 8'h00 8'he0
16'h0000 8'h00 16'h0001 8'h01
16'h0000 8'h00 16'h0001 8'h02
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'h5d 8'hc0 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'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'h0078 8'h00 16'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
16'h007c 8'h00 16'h0002 8'h00 8'h81
16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h02 8'h00
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00