修改测试用例,采用自动化程序判别寄存器是否正确,尚未全部完成
This commit is contained in:
File diff suppressed because it is too large
Load Diff
148
tb/shinTest/check_testcase.py
Executable file
148
tb/shinTest/check_testcase.py
Executable file
@@ -0,0 +1,148 @@
|
||||
#!/usr/bin/env python
|
||||
#encoding=utf-8
|
||||
import os
|
||||
|
||||
|
||||
def parse_value(value):
|
||||
"""Parse a value with bit-width specification and return its integer representation and mask.
|
||||
The mask will have 1s where the bits are valid and 0s where they are 'x'.
|
||||
"""
|
||||
if 'h' in value.lower():
|
||||
base = 16
|
||||
prefix_length = value.find('h') + 1
|
||||
elif 'o' in value.lower():
|
||||
base = 8
|
||||
prefix_length = value.find('o') + 1
|
||||
elif 'b' in value.lower():
|
||||
base = 2
|
||||
prefix_length = value.find('b') + 1
|
||||
else:
|
||||
raise ValueError(f"Invalid format for value: {value}")
|
||||
|
||||
# Extract the numeric part
|
||||
num_str = value[prefix_length:]
|
||||
|
||||
# Initialize parsed value and mask
|
||||
parsed_value = 0
|
||||
mask = 0
|
||||
|
||||
# Process each character in the numeric part
|
||||
#print(num_str)
|
||||
for char in num_str:
|
||||
if char.lower() == 'x':
|
||||
mask = mask * base
|
||||
parsed_value = parsed_value * base
|
||||
else:
|
||||
mask = (mask * base) + (base - 1)
|
||||
parsed_value = (parsed_value * base) + int(char, base)
|
||||
|
||||
#print(value, hex(parsed_value), hex(mask))
|
||||
return parsed_value, mask
|
||||
|
||||
def compare_files(source_file, target_file):
|
||||
try:
|
||||
with open(source_file, 'r') as src, open(target_file, 'r') as tgt:
|
||||
source_lines = src.readlines()
|
||||
target_lines = tgt.readlines()
|
||||
|
||||
if len(source_lines) != len(target_lines):
|
||||
print(f"Error: The number of lines in {source_file} and {target_file} do not match.")
|
||||
return
|
||||
|
||||
all_match = True
|
||||
|
||||
for i, (src_line, tgt_line) in enumerate(zip(source_lines, target_lines)):
|
||||
src_values = src_line.strip().split()
|
||||
tgt_values = tgt_line.strip().split()
|
||||
|
||||
if len(src_values) != len(tgt_values):
|
||||
print(f"Error: Line {i+1}: The number of values in {source_file} and {target_file} do not match.")
|
||||
all_match = False
|
||||
continue
|
||||
|
||||
line_match = True
|
||||
|
||||
for j, (src_val, tgt_val) in enumerate(zip(src_values, tgt_values)):
|
||||
try:
|
||||
src_int, src_mask = parse_value(src_val)
|
||||
tgt_int, tgt_mask = parse_value(tgt_val)
|
||||
except ValueError as e:
|
||||
print(f"Error: Line {i+1}, Position {j+1}: {e}")
|
||||
line_match = False
|
||||
all_match = False
|
||||
continue
|
||||
|
||||
# Combine masks to determine which bits to compare
|
||||
combined_mask = src_mask #& tgt_mask
|
||||
|
||||
# Compare only the bits that are not 'x' in either source or target
|
||||
if combined_mask == 0:
|
||||
#print(f"Line {i+1}, Position {j+1}: Both values contain 'x' at all positions, skipping check.")
|
||||
continue
|
||||
|
||||
masked_src = src_int & combined_mask
|
||||
masked_tgt = tgt_int & combined_mask
|
||||
#print(hex(masked_src), hex(masked_tgt), hex(combined_mask))
|
||||
|
||||
if masked_src == masked_tgt:
|
||||
#print(f"Line {i+1}, Position {j+1}: Values match ({src_val} == {tgt_val}).")
|
||||
pass
|
||||
else:
|
||||
print(f"\tLine {i+1}, Position {j+1}: Values differ ({src_val} != {tgt_val}).")
|
||||
line_match = False
|
||||
all_match = False
|
||||
|
||||
if line_match:
|
||||
#print(f"Line {i+1}: All values on this line match.")
|
||||
pass
|
||||
|
||||
if all_match:
|
||||
#print("All lines match.")
|
||||
#pass
|
||||
return True
|
||||
else:
|
||||
#print("Some lines or positions do not match.")
|
||||
#pass
|
||||
return False
|
||||
|
||||
except FileNotFoundError as e:
|
||||
print(f"Error: {e}")
|
||||
except Exception as e:
|
||||
print(f"An unexpected error occurred: {e}")
|
||||
|
||||
return False
|
||||
|
||||
def list_files_in_directory(directory):
|
||||
try:
|
||||
# 获取目录中的所有文件和子目录
|
||||
files = os.listdir(directory)
|
||||
|
||||
# 过滤出文件(排除子目录)
|
||||
files_only = [f for f in files if os.path.isfile(os.path.join(directory, f))]
|
||||
|
||||
return files_only
|
||||
except FileNotFoundError:
|
||||
print(f"Error: The directory '{directory}' does not exist.")
|
||||
return []
|
||||
except PermissionError:
|
||||
print(f"Error: Permission denied to access the directory '{directory}'.")
|
||||
return []
|
||||
except Exception as e:
|
||||
print(f"An unexpected error occurred: {e}")
|
||||
return []
|
||||
|
||||
if __name__ == "__main__":
|
||||
files = list_files_in_directory('generated/log')
|
||||
src_files = list_files_in_directory('tb/shinTest/testcase_result')
|
||||
for fi in files:
|
||||
rst_f = 'generated/log/' + fi
|
||||
src_f = 'tb/shinTest/testcase_result/' + fi
|
||||
|
||||
if not (fi in src_files):
|
||||
print(f"Testcase:{fi}\t\t\t[\033[93mIGNORE\033[0m]")
|
||||
continue
|
||||
|
||||
if compare_files(src_f, rst_f):
|
||||
print(f"Testcase:{fi}\t\t\t[\033[92mPASS\033[0m]")
|
||||
else:
|
||||
print(f"Testcase:{fi}\t\t\t[\033[91mFAILED\033[0m]")
|
||||
@@ -204,32 +204,32 @@ class GenPkt(object):
|
||||
|
||||
|
||||
|
||||
def genWriteTransLenCode(gen_name, sm_idx):
|
||||
def genWriteTransLenCode(gen_name, sm_idx, wlog=True):
|
||||
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,)
|
||||
+ '''%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,)
|
||||
|
||||
def genWriteTransPktCode(gen_name, sm_idx):
|
||||
def genWriteTransPktCode(gen_name, sm_idx, wlog=True):
|
||||
return '''\n$fdisplay(spidata_file, "<<发包:");\n'''\
|
||||
+ '''`DEF_%s(txBuf);\n'''%(gen_name, )\
|
||||
+ '''spi_trans( (`MST_TX%d_ADDR), (`SPI_WRITE), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%(sm_idx, 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, )
|
||||
|
||||
def genTrgTransPktCode(gen_name, sm_idx):
|
||||
def genTrgTransPktCode(gen_name, sm_idx, wlog=True):
|
||||
return '''\n//请求发送\n'''\
|
||||
+ '''$fdisplay(spidata_file, "--请求发送");\n'''\
|
||||
+ '''txBuf[0+3] = `MST_TX_TRIGGER(%d);\n'''%(sm_idx, )\
|
||||
+ '''spi_trans( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(0)) );\n'''
|
||||
+ '''%s( (16'h20), (`SPI_WRITE), (1), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", )
|
||||
|
||||
def genReadAckPktCode(gen_name, sm_idx):
|
||||
def genReadAckPktCode(gen_name, sm_idx, wlog=True):
|
||||
return '''\n//等待回包\n'''\
|
||||
+ '''_reset_deadline_ind = 1;\n'''\
|
||||
+ '''@(posedge isResp or posedge _deadline_ind) #5 begin end\n'''\
|
||||
+ '''$fdisplay(spidata_file, ">>回包:");\n'''\
|
||||
+ '''spi_trans( (`MST_RX%d_ADDR), (`SPI_READ), (`DEF_%s_len), (`IF_IDX(0)) );\n'''%(sm_idx, gen_name,)
|
||||
+ '''%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,)
|
||||
|
||||
def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True):
|
||||
def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True, wlog=True):
|
||||
data = pos & 0x3fff
|
||||
if enableTime:
|
||||
data = data | 0x8000
|
||||
@@ -239,22 +239,22 @@ def genEnableInsertTimeCode(pos, enableTime=True, enableDelay=True):
|
||||
+ '''$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'''
|
||||
+ '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans",)
|
||||
|
||||
def genDisableInsertTimeCode():
|
||||
def genDisableInsertTimeCode(wlog=True):
|
||||
return '''\n//清除替换时间戳替换地址\n'''\
|
||||
+ '''$fdisplay(spidata_file, "--清除时间戳插入");\n'''\
|
||||
+ '''txBuf[0+3] = 8'h00;\n'''\
|
||||
+ '''txBuf[1+3] = 8'h00;\n'''\
|
||||
+ '''spi_trans( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n'''
|
||||
+ '''%s( (16'h24), (`SPI_WRITE), (2), (`IF_IDX(0)) ); //清除替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", )
|
||||
|
||||
def genCheckInsertTimeCode():
|
||||
def genCheckInsertTimeCode(wlog=True):
|
||||
return '''\n//检查替换时间戳替换地址\n'''\
|
||||
+ '''$fdisplay(spidata_file, "--检查时间戳插入");\n'''\
|
||||
+ '''spi_trans( (16'h24), (`SPI_READ), (2), (`IF_IDX(0)) ); //检查替换时间戳替换地址寄存器\n'''
|
||||
+ '''%s( (16'h24), (`SPI_READ), (2), (`IF_IDX(0)) ); //检查替换时间戳替换地址寄存器\n'''%("`SPI_TRANS" if wlog else "spi_trans", )
|
||||
|
||||
|
||||
def genIFRwDataCode(dev, addr, isWrite = False, data_len=0, data = None):
|
||||
def genIFRwDataCode(dev, addr, isWrite = False, data_len=0, data = None, wlog=True):
|
||||
if isWrite == True:
|
||||
if (data == None) or (len(data) == 0):
|
||||
data=list()
|
||||
@@ -265,14 +265,14 @@ def genIFRwDataCode(dev, addr, isWrite = False, data_len=0, data = None):
|
||||
code = code + '''txBuf[%d]=8'h%02x;\n'''%(idx, item & 0xff)
|
||||
idx = idx + 1
|
||||
|
||||
code = code + '''spi_trans( (16'h%04x), (`SPI_WRITE), (%d), (`IF_IDX(%d)) );\n'''%(addr, data_len, dev)
|
||||
code = code + '''%s( (16'h%04x), (`SPI_WRITE), (%d), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", addr, data_len, dev)
|
||||
return code
|
||||
else:
|
||||
code = ''
|
||||
code = code + '''spi_trans( (16'h%04x), (`SPI_READ), (%d), (`IF_IDX(%d)) );\n'''%(addr, data_len, dev)
|
||||
code = code + '''%s( (16'h%04x), (`SPI_READ), (%d), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", addr, data_len, dev)
|
||||
return code
|
||||
|
||||
def genSlvSMWriteData(dev, sm, data_len, data = None):
|
||||
def genSlvSMWriteData(dev, sm, data_len, data = None, wlog=True):
|
||||
smaddr = list()
|
||||
for i in range(8):
|
||||
smaddr.append(0x300 + i * 4 + 2)
|
||||
@@ -292,15 +292,15 @@ def genSlvSMWriteData(dev, sm, data_len, data = None):
|
||||
|
||||
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)
|
||||
+ '''%s((16'h0%04x), (`SPI_WRITE), (2), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", 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)
|
||||
code = code + '''%s( (16'h%04x), (`SPI_WRITE), (%d), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", 0x800 + sm * 2048, data_len, dev)
|
||||
return code
|
||||
|
||||
def genSlvSMReadData(dev, sm, data_len):
|
||||
def genSlvSMReadData(dev, sm, data_len, wlog=True):
|
||||
if not ((sm == 0) or (sm == 2) or (sm == 4) or (sm == 6)):
|
||||
#写入数据,lvds读;这个空间是lvds写,mcu读
|
||||
return ''
|
||||
@@ -308,7 +308,7 @@ def genSlvSMReadData(dev, sm, data_len):
|
||||
return ''
|
||||
|
||||
code = ""
|
||||
code = code + '''spi_trans( (16'h%04x), (`SPI_READ), (%d), (`IF_IDX(%d)) );\n'''%(0x800 + sm * 2048, data_len, dev)
|
||||
code = code + '''%s( (16'h%04x), (`SPI_READ), (%d), (`IF_IDX(%d)) );\n'''%("`SPI_TRANS" if wlog else "spi_trans", 0x800 + sm * 2048, data_len, dev)
|
||||
|
||||
return code
|
||||
|
||||
@@ -329,6 +329,20 @@ if __name__ == '__main__':
|
||||
+genReadAckPktCode(gen_file_def, sm_idx))
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#>>>>>>嗅探数据包2
|
||||
genPkt.clean()
|
||||
genPkt.setPktType(1)
|
||||
gen_file_def = "detect_pkt2"
|
||||
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)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#>>>>>>错误的嗅探数据包
|
||||
genPkt.clean()
|
||||
|
||||
13
tb/shinTest/testcase_result/det1_tc.log
Normal file
13
tb/shinTest/testcase_result/det1_tc.log
Normal file
@@ -0,0 +1,13 @@
|
||||
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0302 8'h00 16'h0002 8'h04 8'h00
|
||||
16'h0306 8'h00 16'h0002 8'h04 8'h00
|
||||
16'h1000 8'h00 16'h0004 8'h00 8'h01 8'h3f 8'hff
|
||||
16'h0020 8'h00 16'h0001 8'h01
|
||||
16'h0800 8'h01 16'h0004 8'h00 8'h01 8'h00 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h00 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h00 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h00 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
|
||||
13
tb/shinTest/testcase_result/det2_tc.log
Normal file
13
tb/shinTest/testcase_result/det2_tc.log
Normal file
@@ -0,0 +1,13 @@
|
||||
16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h02 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h03 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h28 8'h00 8'h04 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0302 8'h00 16'h0002 8'h04 8'h00
|
||||
16'h0306 8'h00 16'h0002 8'h04 8'h00
|
||||
16'h1000 8'h00 16'h0004 8'h00 8'h01 8'h3f 8'hff
|
||||
16'h0020 8'h00 16'h0001 8'h01
|
||||
16'h0800 8'h01 16'h0004 8'h00 8'h01 8'h00 8'h01
|
||||
16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h02 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h03 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h08 8'h00 8'h04 8'h00
|
||||
16'h00c0 8'h01 16'h0004 8'h00 8'h00 8'h00 8'h00
|
||||
5
tb/shinTest/testcase_result/reg_rw1_tc.log
Normal file
5
tb/shinTest/testcase_result/reg_rw1_tc.log
Normal file
@@ -0,0 +1,5 @@
|
||||
16'h0000 8'h01 16'h0040 8'h00 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0040 8'h00 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0040 8'h00 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0040 8'h00 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0040 8'h00 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
18
tb/shinTest/testcase_result/set_addr_tc.log
Normal file
18
tb/shinTest/testcase_result/set_addr_tc.log
Normal file
@@ -0,0 +1,18 @@
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0302 8'h00 16'h0002 8'h0e 8'h00
|
||||
16'h0306 8'h00 16'h0002 8'h0e 8'h00
|
||||
16'h1000 8'h00 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'hxx 8'hxx 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h00
|
||||
16'h0020 8'h00 16'h0001 8'h01
|
||||
16'h0800 8'h01 16'h000e 8'h00 8'ha0 8'h00 8'h00 8'h00 8'h00 8'hxx 8'hxx 8'hb0 8'h02 8'h3f 8'hff 8'h00 8'h04
|
||||
16'h00c0 8'h01 16'h0006 8'h28 8'h00 8'h04 8'h00 8'h00 8'h00
|
||||
16'h000a 8'h01 16'h0002 8'h01 8'h00
|
||||
16'h000a 8'h01 16'h0002 8'h02 8'h00
|
||||
16'h000a 8'h01 16'h0002 8'h03 8'h00
|
||||
16'h000a 8'h01 16'h0002 8'h04 8'h00
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h01 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h02 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h03 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
16'h0000 8'h01 16'h0010 8'h02 8'hf0 8'haa 8'haa 8'haa 8'haa 8'haa 8'haa 8'h55 8'h00 8'h04 8'h00 8'h00 8'h00 8'h00 8'h00
|
||||
Reference in New Issue
Block a user