增加生成从站造SM数据的python代码,生成verilog测试代码;修改相关的测试用例;修改打印的输出信息
This commit is contained in:
@@ -231,7 +231,48 @@ def genCheckInsertTimeCode():
|
||||
return '''\n//检查替换时间戳替换地址\n'''\
|
||||
+ '''$fdisplay(spidata_file, "--检查时间戳插入");\n'''\
|
||||
+ '''spi_trans( (16'h24), (`SPI_READ), (2), (`IF_IDX(0)) ); //检查替换时间戳替换地址寄存器\n'''
|
||||
|
||||
def genSlvSMWriteData(dev, sm, data_len, data = None):
|
||||
smaddr = list()
|
||||
for i in range(8):
|
||||
smaddr.append(0x300 + i * 4 + 2)
|
||||
if not ((sm == 1) or (sm == 3) or (sm == 5) or (sm == 7)):
|
||||
#写入数据,lvds读;这个空间是lvds写,mcu读
|
||||
return ''
|
||||
if data_len > 2032:
|
||||
return ''
|
||||
|
||||
if (data != None) and (len(data) != 0) and (len(data) < data_len):
|
||||
return ''
|
||||
|
||||
if (data == None) or (len(data) == 0):
|
||||
data = list()
|
||||
for i in range(data_len):
|
||||
data.append((i + dev) & 0xff)
|
||||
|
||||
code = '''txBuf[3] = 8'h%02x;\n'''%(data_len & 0xff, )\
|
||||
+ '''txBuf[4] = 8'h%02x;\n'''%(int(data_len/256) & 0xff,)\
|
||||
+ '''spi_trans((16'h0%04x), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%(smaddr[sm], dev)
|
||||
|
||||
for i in range(data_len):
|
||||
code = code + '''txBuf[%d + 3] = 8'h%02x;\n'''%(i, data[i])
|
||||
|
||||
code = code + '''spi_trans( (16'h%04x), (`SPI_WRITE), (%d), (`IF_IDX(%d)) );\n'''%(0x800 + sm * 2048, data_len, dev)
|
||||
return code
|
||||
|
||||
def genSlvSMReadData(dev, sm, data_len):
|
||||
if not ((sm == 0) or (sm == 2) or (sm == 4) or (sm == 6)):
|
||||
#写入数据,lvds读;这个空间是lvds写,mcu读
|
||||
return ''
|
||||
if data_len > 2032:
|
||||
return ''
|
||||
|
||||
code = ""
|
||||
code = code + '''spi_trans( (16'h%04x), (`SPI_READ), (%d), (`IF_IDX(%d)) );\n'''%(0x800 + sm * 2048, data_len, dev)
|
||||
|
||||
return code
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
genPkt = GenPkt()
|
||||
|
||||
@@ -418,12 +459,17 @@ if __name__ == '__main__':
|
||||
#>>>>>>普通数据包2
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(0)
|
||||
|
||||
|
||||
genPkt.addBeforeExc( genSlvSMWriteData(3, 1, 129)
|
||||
+ genSlvSMWriteData(4, 1, 140)
|
||||
+ genSlvSMWriteData(1, 1, 128)
|
||||
+ genSlvSMWriteData(2, 1, 152))
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
genPkt.addSubPkt(3, 0, 0x3000, 0x0, 129, b"\0"*129)
|
||||
genPkt.addSubPkt(4, 0, 0x4000, 0x0, 140, b"\0"*140)
|
||||
genPkt.addSubPkt(3, 0, 0x1000, 0x0, 129, b"\0"*129)
|
||||
genPkt.addSubPkt(4, 0, 0x1000, 0x0, 140, b"\0"*140)
|
||||
genPkt.addSubPkt(1, 0, 0x1000, 0x0, 128, b"\0"*128)
|
||||
genPkt.addSubPkt(2, 0, 0x2000, 0x0, 152, b"\0"*152)
|
||||
genPkt.addSubPkt(2, 0, 0x1000, 0x0, 152, b"\0"*152)
|
||||
genPkt.addSubPkt(1, 0, 0x0306, 0x0, 2, b"\0"*2)
|
||||
genPkt.addSubPkt(2, 0, 0x030e, 0x0, 2, b"\0"*2)
|
||||
genPkt.addSubPkt(3, 0, 0x0316, 0x0, 2, b"\0"*2)
|
||||
|
||||
Reference in New Issue
Block a user