增加测试代码

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
endtask
task wait_comm_finished();
task wait_comm_finished(input [16:0] dev_idx);
begin:WAIT_COMM_FINISHED_CODE
real st;
integer is_run;
@@ -867,7 +867,7 @@ task wait_comm_finished();
txBuf[6] = 8'h00;
length = 8'h07;
idx = `IF_IQSPI(0);
idx = `IF_IQSPI(dev_idx);
#5
@(negedge sck)
@@ -887,7 +887,7 @@ task wait_comm_finished();
txBuf[2] = `SPI_READ;
length = 8'h07;
idx = `IF_IQSPI(0);
idx = `IF_IQSPI(dev_idx);
#5
@(negedge sck)

View File

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

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'''\
+ '''$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):

View File

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