保存测试用例
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
//`define ENABLE_SYNC_TEST "generated/log/sync_tc.log"
|
||||
//`define ENABLE_SYNC_SIG0_TEST "generated/log/sync_sig0_tc.log"
|
||||
//`define ENABLE_SYNC_SIG1_TEST "generated/log/sync_sig1_tc.log"
|
||||
//`define ENABLE_RESET_TEST "generated/log/reset_tc.log"
|
||||
`define ENABLE_RESET_TEST "generated/log/reset_tc.log"
|
||||
|
||||
//`define ENABLE_WD1_TEST "generated/log/wd1_tc.log"
|
||||
|
||||
@@ -1526,15 +1526,6 @@ initial begin
|
||||
txBuf[0+3] = 8'h02;
|
||||
`SPI_TRANS( (16'h00), (`SPI_WRITE), (1), (`IF_IDX(2)) );
|
||||
|
||||
`ifdef ENABLE_ENCRYPTION
|
||||
$fdisplay(spidata_file, "-配置加密");
|
||||
`SETTING_ENCRYPTION;
|
||||
spi_trans( (16'h50), (`SPI_WRITE), (17), (`IF_IDX(0)) );
|
||||
spi_trans( (16'h50), (`SPI_WRITE), (17), (`IF_IDX(1)) );
|
||||
spi_trans( (16'h50), (`SPI_WRITE), (17), (`IF_IDX(2)) );
|
||||
spi_trans( (16'h50), (`SPI_WRITE), (17), (`IF_IDX(3)) );
|
||||
spi_trans( (16'h50), (`SPI_WRITE), (17), (`IF_IDX(4)) );
|
||||
`endif
|
||||
#1000
|
||||
|
||||
$fdisplay(spidata_file, "\n广播读:使用SM2");
|
||||
|
||||
@@ -30,11 +30,12 @@ if __name__ == '__main__':
|
||||
sync.tc3()
|
||||
sync.tc4()
|
||||
|
||||
#add_tc_2_runlist(ebmmu.tc1())
|
||||
#add_tc_2_runlist(ebmmu.tc2())
|
||||
#add_tc_2_runlist(ebmmu.tc3())
|
||||
#add_tc_2_runlist(ebmmu.tc4())
|
||||
ebmmu.tc5()
|
||||
'''
|
||||
add_tc_2_runlist(ebmmu.tc1())
|
||||
add_tc_2_runlist(ebmmu.tc2())
|
||||
add_tc_2_runlist(ebmmu.tc3())
|
||||
add_tc_2_runlist(ebmmu.tc4())
|
||||
add_tc_2_runlist(ebmmu.tc5())
|
||||
add_tc_2_runlist(ebmmu.tc6())
|
||||
add_tc_2_runlist(ebmmu.tc7())
|
||||
add_tc_2_runlist(ebmmu.tc8())
|
||||
@@ -44,8 +45,9 @@ if __name__ == '__main__':
|
||||
add_tc_2_runlist(ebmmu.tc12())
|
||||
add_tc_2_runlist(ebmmu.tc13())
|
||||
add_tc_2_runlist(ebmmu.tc14())
|
||||
#add_tc_2_runlist(ebmmu.tc15())
|
||||
#add_tc_2_runlist(ebmmu.tc16())
|
||||
add_tc_2_runlist(ebmmu.tc15())
|
||||
add_tc_2_runlist(ebmmu.tc16())
|
||||
'''
|
||||
|
||||
watchdog.tc1()
|
||||
|
||||
|
||||
@@ -365,7 +365,7 @@ def gen_tc_runlist():
|
||||
def genTcStartFrameCode(tcname, des):
|
||||
upper_name = tcname.upper()
|
||||
code_str = f'''\tbegin:{upper_name}_TESTCASE\n'''\
|
||||
+f'''\t\t`BEGIN_TESTCASE("{__pre_gen_log_path}/{tcname}_tc.log");\n'''\
|
||||
+f'''\t\t`BEGIN_TESTCASE("{__pre_gen_log_path}/{tcname}_result.log");\n'''\
|
||||
+'''\t\t_t_start = $realtime;\n'''\
|
||||
+'''\t\t#1000\n'''\
|
||||
+f'''\t\t$fdisplay(spidata_file,"\\n\\n测试用例:{upper_name}");\n'''
|
||||
@@ -380,6 +380,6 @@ def genTcEndFrameCode(tcname):
|
||||
upper_name = tcname.upper()
|
||||
return f'''\t\t_t_end = $realtime;\n'''\
|
||||
+'''\t\t$fdisplay(spidata_file, "该测试用例运行时间:%t\\n", _t_end - _t_start);\n'''\
|
||||
+f'''\t\t`END_TESTCASE("{__pre_gen_log_path}/{tcname}_tc.log");\n'''\
|
||||
+f'''\t\t`END_TESTCASE("{__pre_gen_log_path}/{tcname}_result.log");\n'''\
|
||||
+'''\tend\n'''
|
||||
|
||||
@@ -267,6 +267,40 @@ def tc8():
|
||||
genPkt.addSubPkt(0x0, 0, random.randint(0, 65535), 0xb, 2, data)
|
||||
|
||||
|
||||
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)
|
||||
|
||||
return gen_file_def
|
||||
|
||||
def tc9():
|
||||
genPkt = GenPkt()
|
||||
|
||||
|
||||
gen_file_def = "base_tc09"
|
||||
sm_idx = 0
|
||||
tc_des = "测试8个ebmmu全配置下运行,每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入,\\n" \
|
||||
+ "对应的sm才能正常工作。两次写入数据,复位设备1的SM1,SM1状态复原,不能读取到有效的数据。\\n"\
|
||||
+ "测试用例能成功运行完毕,除设备1的SM1,其余的SMx都能获得正确的数据。\\n\\n" \
|
||||
+ "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
|
||||
#-------------------------------------------------------------------------
|
||||
#>>>>>>设置顺序地址
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(0)
|
||||
|
||||
data = bytearray(b"\0" * 2)
|
||||
data[0] = 0x3f
|
||||
data[1] = 0xff
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
genPkt.addSubPkt(0x0, 0, random.randint(0, 65535), 0xb, 2, data)
|
||||
|
||||
|
||||
gen_file_def = "set_addr_pkt"
|
||||
sm_idx = 0
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ def tc1():
|
||||
|
||||
gen_file_def = "ebmmu_tc01"
|
||||
sm_idx = 0
|
||||
tc_des = "每个从站测试1个ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,每个设备占10个字节。\\n" \
|
||||
+ "使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
tc_des = "每个从站都使用ebmmu[0],共4个mmu,从0x1000_0000位置向后对齐,每个设备占10个字节,\\n" \
|
||||
+ "映射0x200~0x20a,中间无字节空洞。主站使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
+ "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -54,7 +54,7 @@ def tc1():
|
||||
genPkt.addSubPkt(0x03, 0, 0x0200, 0x0, 10, data)
|
||||
genPkt.addSubPkt(0x04, 0, 0x0200, 0x0, 10, data)
|
||||
|
||||
gen_file_def_ap = "ebmmu_tc01_rw1"
|
||||
gen_file_def_ap = gen_file_def + "_rw1"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
|
||||
@@ -73,7 +73,7 @@ def tc1():
|
||||
|
||||
genPkt.addSubPkt(0x1000, 2, 0x0000, 0x0, 40, data)
|
||||
|
||||
gen_file_def_ap = "ebmmu_tc1_rw2"
|
||||
gen_file_def_ap = gen_file_def + "_rw2"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
|
||||
@@ -93,8 +93,8 @@ def tc2():
|
||||
|
||||
gen_file_def = "ebmmu_tc02"
|
||||
sm_idx = 0
|
||||
tc_des = "每个从站测试1个ebmmu[1],共4个mmu,从0x2000_0000位置向后对齐,每个设备占16个字节。\\n" \
|
||||
+ "使用1包数据,将4个设备的数据一次性读上来。并采用顺序读出一样的数据,以做对比。\\n"\
|
||||
tc_des = "每个从站都使用ebmmu[1],共4个mmu,从0x2000_0000位置向后对齐,每个设备占16个字节,\\n" \
|
||||
+ "映射0x00~0x10,中间无字节空洞。主站使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
+ "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -142,7 +142,7 @@ def tc2():
|
||||
genPkt.addSubPkt(0x03, 0, 0x0000, 0x0, 16, data)
|
||||
genPkt.addSubPkt(0x04, 0, 0x0000, 0x0, 16, data)
|
||||
|
||||
gen_file_def_ap = "ebmmu_tc02_rw01"
|
||||
gen_file_def_ap = gen_file_def + "_rw1"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
|
||||
@@ -161,7 +161,7 @@ def tc2():
|
||||
|
||||
genPkt.addSubPkt(0x2000, 2, 0x0000, 0x0, 0x40, data)
|
||||
|
||||
gen_file_def_ap = "ebmmu_tc02_rw02"
|
||||
gen_file_def_ap = gen_file_def + "_rw2"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
|
||||
@@ -180,8 +180,9 @@ def tc3():
|
||||
|
||||
gen_file_def = "ebmmu_tc03"
|
||||
sm_idx = 0
|
||||
tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \
|
||||
+ "使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
tc_des = "每个从站都使用ebmmu[2],共4个mmu,从0x1000_0028位置向后对齐,每个设备占12个字节,\\n" \
|
||||
+ "映射0x00~0x0c, 中间无字节空洞。使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
+ "注意:该测试用例读取时是从0x1000_0000开始读取的\\n"\
|
||||
+ "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -189,6 +190,24 @@ def tc3():
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(0)
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
data = [0,] * 30
|
||||
setting_ebmmu_regs(data, 0, 0x10000000, 0x0200, 0x0a, 0x3, 0x1)
|
||||
genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 10, data)
|
||||
|
||||
data = [0,] * 30
|
||||
setting_ebmmu_regs(data, 0, 0x1000000a, 0x0200, 0x0a, 0x3, 0x1)
|
||||
genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 10, data)
|
||||
|
||||
|
||||
data = [0,] * 30
|
||||
setting_ebmmu_regs(data, 0, 0x10000014, 0x0200, 0x0a, 0x3, 0x1)
|
||||
genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 10, data)
|
||||
|
||||
data = [0,] * 30
|
||||
setting_ebmmu_regs(data, 0, 0x1000001e, 0x0200, 0x0a, 0x3, 0x1)
|
||||
genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 10, data)
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
data = [0,] * 30
|
||||
setting_ebmmu_regs(data, 0, 0x1000001e+0xa, 0x0000, 0x0c, 0x1, 0x1)
|
||||
@@ -245,8 +264,8 @@ def tc4():
|
||||
|
||||
gen_file_def = "ebmmu_tc04"
|
||||
sm_idx = 0
|
||||
tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \
|
||||
+ "使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
tc_des = "每个从站使用ebmmu[3],共4个mmu,从0x1000_0058位置向后对齐,\\n" \
|
||||
+ "分别占用不同大小的空间。使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
+ "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -284,7 +303,6 @@ def tc4():
|
||||
genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data)
|
||||
|
||||
|
||||
#gen_file_def = "ebmmu_tc4_settings"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
||||
@@ -303,7 +321,7 @@ def tc4():
|
||||
|
||||
genPkt.addSubPkt(0x1000, 2, 0x0058, 0x0, 0x80+0x98+0x81+0x8c, data)
|
||||
|
||||
gen_file_def_ap = "ebmmu_tc4_rw"
|
||||
gen_file_def_ap = gen_file_def + "_rw"
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
|
||||
@@ -320,16 +338,56 @@ def tc4():
|
||||
|
||||
def tc5():
|
||||
genPkt = GenPkt()
|
||||
|
||||
'''
|
||||
|
||||
gen_file_def = "ebmmu_tc05"
|
||||
sm_idx = 0
|
||||
tc_des = "每个从站测试1个ebmmu[2],共4个mmu,从0x2000_0000位置向后对齐,每个设备占12个字节。\\n" \
|
||||
+ "使用1包数据,将4个设备的数据一次性读上来。\\n"\
|
||||
+ "检查内容:ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
|
||||
tc_des = "每个从站使用ebmmu[3],共4个mmu,从0x1000_0058位置向后对齐,\\n" \
|
||||
+ "分别占用不同大小的空间。使用1包数据,将4个设备的数据一次性读上来。由于从站没有数据,读上来全是随机数据。\\n"
|
||||
|
||||
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(0)
|
||||
|
||||
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des))
|
||||
'''
|
||||
+ genSlvSMWriteData(1, 1, 0x80)
|
||||
+ genSlvSMWriteData(2, 3, 0x98)
|
||||
+ genSlvSMWriteData(3, 5, 0x81)
|
||||
+ genSlvSMWriteData(4, 7, 0x8c))
|
||||
'''
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
data = [0,] * 30
|
||||
setting_ebmmu_regs(data, 0, 0x10000058, 0x1000, 0x80, 0x1, 0x1)
|
||||
genPkt.addSubPkt(0x1, 0, 0x021e, 0x1, 10, data)
|
||||
|
||||
|
||||
data = [0,] * 30
|
||||
addr = 0x58 + 0x80
|
||||
setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x2000, 0x98, 0x1, 0x1)
|
||||
genPkt.addSubPkt(0x2, 0, 0x021e, 0x1, 10, data)
|
||||
|
||||
|
||||
data = [0,] * 30
|
||||
addr = 0x58 + 0x80 + 0x98
|
||||
setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x3000, 0x81, 0x1, 0x1)
|
||||
genPkt.addSubPkt(0x3, 0, 0x021e, 0x1, 10, data)
|
||||
|
||||
data = [0,] * 30
|
||||
|
||||
addr = 0x58 + 0x80 + 0x98 + 0x81
|
||||
setting_ebmmu_regs(data, 0, 0x10000000+addr, 0x4000, 0x8c, 0x1, 0x1)
|
||||
genPkt.addSubPkt(0x4, 0, 0x021e, 0x1, 10, data)
|
||||
|
||||
|
||||
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)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#>>>>>>用EB-MMU方式读取EB-MMU设置 5
|
||||
@@ -341,15 +399,16 @@ def tc5():
|
||||
|
||||
genPkt.addSubPkt(0x1000, 2, 0x0058, 0x0, 0x80+0x98+0x81+0x8c, data)
|
||||
|
||||
gen_file_def = "ebmmu_tc5_read"
|
||||
gen_file_def_ap = gen_file_def + "_rw"
|
||||
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.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
|
||||
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
|
||||
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
|
||||
+genReadAckPktCode(gen_file_def_ap, sm_idx)
|
||||
+genTcEndFrameCode(gen_file_def))
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
|
||||
return gen_file_def
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user