增加测试代码

This commit is contained in:
2025-08-30 14:32:05 +08:00
parent 1a01fa9d72
commit 25577a4d50
4 changed files with 365 additions and 21 deletions

View File

@@ -850,7 +850,7 @@ task f_write(input [31:0] logh, input [15:0] saddress, input [7:0] scmd, input [
end end
endtask endtask
task wait_comm_finished(); task wait_comm_finished(input [16:0] dev_idx);
begin:WAIT_COMM_FINISHED_CODE begin:WAIT_COMM_FINISHED_CODE
real st; real st;
integer is_run; integer is_run;
@@ -867,7 +867,7 @@ task wait_comm_finished();
txBuf[6] = 8'h00; txBuf[6] = 8'h00;
length = 8'h07; length = 8'h07;
idx = `IF_IQSPI(0); idx = `IF_IQSPI(dev_idx);
#5 #5
@(negedge sck) @(negedge sck)
@@ -887,7 +887,7 @@ task wait_comm_finished();
txBuf[2] = `SPI_READ; txBuf[2] = `SPI_READ;
length = 8'h07; length = 8'h07;
idx = `IF_IQSPI(0); idx = `IF_IQSPI(dev_idx);
#5 #5
@(negedge sck) @(negedge sck)

View File

@@ -14,7 +14,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(errorPkt.tc5()) #add_tc_2_runlist(errorPkt.tc5())
#add_tc_2_runlist(errorPkt.tc6()) #add_tc_2_runlist(errorPkt.tc6())
#add_tc_2_runlist(base.tc1()) add_tc_2_runlist(base.tc1())
#add_tc_2_runlist(base.tc2()) #add_tc_2_runlist(base.tc2())
#add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc3())
#add_tc_2_runlist(base.tc4()) #add_tc_2_runlist(base.tc4())
@@ -41,6 +41,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(base.tc25()) #add_tc_2_runlist(base.tc25())
#add_tc_2_runlist(base.tc26()) #add_tc_2_runlist(base.tc26())
#add_tc_2_runlist(base.tc27()) #add_tc_2_runlist(base.tc27())
add_tc_2_runlist(base.tc28())
#add_tc_2_runlist(broadcast.tc1()) #add_tc_2_runlist(broadcast.tc1())
#add_tc_2_runlist(broadcast.tc2()) #add_tc_2_runlist(broadcast.tc2())
@@ -53,7 +54,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(sync.tc4()) #add_tc_2_runlist(sync.tc4())
#add_tc_2_runlist(sync.tc5()) #add_tc_2_runlist(sync.tc5())
#add_tc_2_runlist(sync.tc6()) #add_tc_2_runlist(sync.tc6())
add_tc_2_runlist(sync.tc7()) #add_tc_2_runlist(sync.tc7())

View File

@@ -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'''\ return '''\n//写入发送长度\n'''\
+ '''$fdisplay(spidata_file, "--写数据交换长度");\n'''\ + '''$fdisplay(spidata_file, "--写数据交换长度");\n'''\
+ '''`DEF_%s_sm(txBuf);\n'''%(gen_name, )\ + '''`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_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(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", sm_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'''\ return f'''\n$fdisplay(spidata_file, "<<准备发包使用SM{sm_idx}");\n'''\
+ '''`DEF_%s(txBuf);\n'''%(gen_name, )\ + '''`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'''\ return '''\n//请求发送\n'''\
+ '''$fdisplay(spidata_file, "--请求发送");\n'''\ + '''$fdisplay(spidata_file, "--请求发送");\n'''\
+ '''txBuf[0+3] = `MST_TX_TRIGGER(%d);\n'''%(sm_idx, )\ + '''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'''\ return '''\n//等待回包\n'''\
+ '''wait_comm_finished();\n'''\ + '''wait_comm_finished(%d);\n'''%(dev_idx, )\
+ f'''$fdisplay(spidata_file, ">>读取回包使用SM{sm_idx}");\n'''\ + 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 data = pos & 0x3fff
if enableTime: if enableTime:
data = data | 0x8000 data = data | 0x8000
@@ -255,19 +255,19 @@ def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True):
+ '''$fdisplay(spidata_file, "--增加时间戳插入");\n'''\ + '''$fdisplay(spidata_file, "--增加时间戳插入");\n'''\
+ '''txBuf[0+3] = 8'h%x;\n'''%(data & 0xff, )\ + '''txBuf[0+3] = 8'h%x;\n'''%(data & 0xff, )\
+ '''txBuf[1+3] = 8'h%x;\n'''%((data >> 8) & 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'''\ return '''\n//清除替换时间戳替换地址\n'''\
+ '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\ + '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\
+ '''txBuf[0+3] = 8'h00;\n'''\ + '''txBuf[0+3] = 8'h00;\n'''\
+ '''txBuf[1+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'''\ return '''\n//检查替换时间戳替换地址\n'''\
+ '''$fdisplay(spidata_file, "--检查时间戳插入");\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): def genIFRwDataCode(dev, addr, isWrite = False, data_len=0, data = None, wlog=True, iface=5):

View File

@@ -1962,4 +1962,347 @@ def tc27():
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap03) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap03)
return gen_file_def
def tc28():
genPkt = GenPkt()
gen_file_def = "base_tc28"
sm_idx = 0
tc_des = ("测试IO交换特性为环网通信做准备。\\n"
)
genPkt.clean()
genPkt.setPktType(0)
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
+genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+"#5000"
+genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1)
+genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--读取中断使能")
+genIFRwDataCode(0, 0x70, False, 4)
+genIFRwDataCode(4, 0x70, False, 4)
+genMessageCode("--配置主从站")
+genIFRwDataCode(0, 0x00, True, 1, [0x02, ])
+genIFRwDataCode(4, 0x00, True, 1, [0x01, ])
)
genPkt.addAfterExc(genIFRwDataCode(0, 0x4a, False, 2)
+genIFRwDataCode(1, 0x4a, False, 2)
+genIFRwDataCode(2, 0x4a, False, 2)
+genIFRwDataCode(3, 0x4a, False, 2)
+genIFRwDataCode(4, 0x4a, False, 2)
+genIFRwDataCode(0, 0x4a, True, 2, [1, 0x58])
+genIFRwDataCode(1, 0x4a, True, 2, [1, 0x58])
+genIFRwDataCode(2, 0x4a, True, 2, [1, 0x58])
+genIFRwDataCode(3, 0x4a, True, 2, [1, 0x58])
+genIFRwDataCode(4, 0x4a, True, 2, [1, 0x58])
+genIFRwDataCode(0, 0, False, 1)
+genIFRwDataCode(1, 0, False, 1)
+genIFRwDataCode(2, 0, False, 1)
+genIFRwDataCode(3, 0, False, 1)
+genIFRwDataCode(4, 0, False, 1)
#genWriteTransLenCode(gen_file_def, sm_idx)
#+genWriteTransPktCode(gen_file_def, sm_idx)
#+genTrgTransPktCode(gen_file_def, sm_idx)
#+genReadAckPktCode(gen_file_def, sm_idx)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
#+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
genPkt.clean()
genPkt.setPktType(1)
gen_file_def_ap = gen_file_def + "_rw01"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
#+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(0)
data = [0x3f, 0xff]
genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data)
gen_file_def_ap = gen_file_def + "_rw02"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
#+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(1)
gen_file_def_ap = gen_file_def + "_rw03"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
#+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(0)
genPkt.addSubPkt(0x1, 0, 0x180, 0, 32, [0, ]*32)
genPkt.addSubPkt(0x2, 0, 0x180, 0, 32, [0, ]*32)
genPkt.addSubPkt(0x3, 0, 0x180, 0, 32, [0, ]*32)
genPkt.addSubPkt(0x4, 0, 0x180, 0, 32, [0, ]*32)
gen_file_def_ap = gen_file_def + "_rw04"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=4)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genIFRwDataCode(0, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
+"#5000"
+genIFRwDataCode(0, 0x09, True, 1, [0, ], False, iface=1)
+genIFRwDataCode(4, 0x09, True, 1, [0, ], False, iface=1)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--读取中断使能")
+genIFRwDataCode(0, 0x70, False, 4)
+genIFRwDataCode(4, 0x70, False, 4)
+genMessageCode("--配置主从站")
+genIFRwDataCode(0, 0x00, True, 1, [0x01, ])
+genIFRwDataCode(4, 0x00, True, 1, [0x02, ])
+genIFRwDataCode(0, 0x4a, False, 2)
+genIFRwDataCode(1, 0x4a, False, 2)
+genIFRwDataCode(2, 0x4a, False, 2)
+genIFRwDataCode(3, 0x4a, False, 2)
+genIFRwDataCode(4, 0x4a, False, 2)
+genIFRwDataCode(0, 0x4a, True, 2, [0, 0x58])
+genIFRwDataCode(1, 0x4a, True, 2, [0, 0x58])
+genIFRwDataCode(2, 0x4a, True, 2, [0, 0x58])
+genIFRwDataCode(3, 0x4a, True, 2, [0, 0x58])
+genIFRwDataCode(4, 0x4a, True, 2, [0, 0x58])
+genIFRwDataCode(0, 0, False, 1)
+genIFRwDataCode(1, 0, False, 1)
+genIFRwDataCode(2, 0, False, 1)
+genIFRwDataCode(3, 0, False, 1)
+genIFRwDataCode(4, 0, False, 1)
#+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(1)
gen_file_def_ap = gen_file_def + "_rw05"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
#+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
genPkt.clean()
genPkt.setPktType(0)
data = [0x3f, 0xff]
genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data)
gen_file_def_ap = gen_file_def + "_rw06"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genWriteTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genTrgTransPktCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genReadAckPktCode(gen_file_def_ap, sm_idx, dev_idx=0)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def return gen_file_def