改写了全部的测试用例,用python生成数据和相关的辅助代码
This commit is contained in:
@@ -184,13 +184,9 @@ class GenPkt(object):
|
||||
|
||||
|
||||
|
||||
#+ '''//写入替换时间戳替换地址\n'''
|
||||
#+ '''txBuf[0+3] = 8'h0c;\n'''
|
||||
#+ '''txBuf[1+3] = 8'hc0;\n'''
|
||||
#+ '''spi_trans( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''
|
||||
|
||||
def genWriteTransLenCode(gen_name, sm_idx):
|
||||
return '''\n//写入发送长度\n'''\
|
||||
+ '''$fdisplay(spidata_file, "--写数据交换长度");\n'''\
|
||||
+ '''`DEF_%s_sm(txBuf);\n'''%(gen_name, )\
|
||||
+ '''spi_trans( (`MST_TX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%(sm_idx,)\
|
||||
+ '''spi_trans( (`MST_RX%d_LEN_ADDR), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%(sm_idx,)
|
||||
@@ -212,6 +208,26 @@ def genReadAckPktCode(gen_name, sm_idx):
|
||||
+ '''$fdisplay(spidata_file, ">>回包:");\n'''\
|
||||
+ '''spi_trans( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%(sm_idx, gen_name,)
|
||||
|
||||
def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True):
|
||||
data = pos & 0x3fff
|
||||
if enableTime:
|
||||
data = data | 0x8000
|
||||
if enableDelay:
|
||||
data = data | 0x4000
|
||||
return '''//写入替换时间戳替换地址\n'''\
|
||||
+ '''$fdisplay(spidata_file, "--增加时间戳插入");\n'''\
|
||||
+ '''txBuf[0+3] = 8'h%x;\n'''%(data & 0xff, )\
|
||||
+ '''txBuf[1+3] = 8'h%x;\n'''%((data >> 8) & 0xff, )\
|
||||
+ '''spi_trans( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''
|
||||
|
||||
def genDisableInsertTimeCode():
|
||||
return '''\n//清除替换时间戳替换地址\n'''\
|
||||
+ '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\
|
||||
+ '''txBuf[0+3] = 8'h00;\n'''\
|
||||
+ '''txBuf[1+3] = 8'h00;\n'''\
|
||||
+ '''spi_trans( (16'h25), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n'''
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
genPkt = GenPkt()
|
||||
|
||||
@@ -423,9 +439,30 @@ if __name__ == '__main__':
|
||||
#>>>>>>同步数据包
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
genPkt.addSubPkt(0x0, 0, random.randint(0, 65535), 0xc, 12, b'\0'*12)
|
||||
genPkt.gen("./generated/shin/sync_pkt.vh", 1)
|
||||
|
||||
|
||||
genPkt.addBeforeExc(genEnableInsertTimeCode(0xc))
|
||||
|
||||
gen_file_def = "sync_pkt"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
||||
+genWriteTransPktCode(gen_file_def, sm_idx)
|
||||
+genTrgTransPktCode(gen_file_def, sm_idx)
|
||||
+genReadAckPktCode(gen_file_def, sm_idx)
|
||||
+genDisableInsertTimeCode())
|
||||
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#>>>>>>设置同步信号的数据包
|
||||
@@ -576,7 +613,15 @@ if __name__ == '__main__':
|
||||
genPkt.addSubPkt(0x0, 0, random.randint(0, 65535), 0xb, 2, data)
|
||||
|
||||
|
||||
genPkt.gen("./generated/shin/set_addr_pkt.vh", 1)
|
||||
gen_file_def = "set_addr_pkt"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
||||
+genWriteTransPktCode(gen_file_def, sm_idx)
|
||||
+genTrgTransPktCode(gen_file_def, sm_idx)
|
||||
+genReadAckPktCode(gen_file_def, sm_idx))
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -595,7 +640,16 @@ if __name__ == '__main__':
|
||||
genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4)
|
||||
genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4)
|
||||
|
||||
genPkt.gen("./generated/shin/bc_r_pkt.vh", 1)
|
||||
|
||||
gen_file_def = "bc_r_pkt"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
||||
+genWriteTransPktCode(gen_file_def, sm_idx)
|
||||
+genTrgTransPktCode(gen_file_def, sm_idx)
|
||||
+genReadAckPktCode(gen_file_def, sm_idx))
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -614,7 +668,15 @@ if __name__ == '__main__':
|
||||
data[i] = i + 1
|
||||
genPkt.addSubPkt(random.randint(0, 2048), 0, 0x0800, 0xe, 32, data)
|
||||
|
||||
genPkt.gen("./generated/shin/bc_w_pkt.vh", 1)
|
||||
gen_file_def = "bc_w_pkt"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
||||
+genWriteTransPktCode(gen_file_def, sm_idx)
|
||||
+genTrgTransPktCode(gen_file_def, sm_idx)
|
||||
+genReadAckPktCode(gen_file_def, sm_idx))
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user