修正基础库里生成代码的方式,删除不必要的废代码

This commit is contained in:
2025-08-25 22:43:34 +08:00
parent b821571218
commit f8065c79c9

View File

@@ -57,6 +57,7 @@ class GenPkt(object):
self.sub_pkt.append([0, dev_idx, ptype, addr, cmd, len, data])
def gen(self, filename="pkt_verilog_test.v", filetype=0, appendgen=False, gen_name=None):
gen_pkt_type = 0
pkt_len = 4
for sp in self.sub_pkt:
if sp[0] != 0:
@@ -81,12 +82,14 @@ class GenPkt(object):
self.pkt_buf.append(self.pkt_type & 0x3)
self.pkt_buf.append(0x3f)
self.pkt_buf.append(0xff)
gen_pkt_type = 1
elif (self.pkt_type == 2):
pkt_len = len(self.pkt_data)
for d in self.pkt_data:
self.pkt_buf.append(d)
i = pkt_len
gen_pkt_type = 2
#print("-----------------------------", filename, self.pkt_type, pkt_len, self.pkt_buf)
else:
#for i in range(pkt_len):
@@ -106,6 +109,7 @@ class GenPkt(object):
pass
#elif sp[0] == 0:
else:
gen_pkt_type = 3
#设备索引(14bit)+类型(2bit)
temp = ((sp[1] & 0x3fff) << 2) | (sp[2] & 0x3)
@@ -187,25 +191,25 @@ class GenPkt(object):
else:
define_str = define_str + gen_name
if gen_pkt_type != 0:
f.write(define_str + "_len \t%d\n"%(pkt_len))
f.write(define_str + "_sm(array) \\\n\tarray``[%d]=8'h%02X;\\\n\tarray``[%d]=8'h%02X;\n"%(
3, pkt_len & 0xff,
4, pkt_len >> 8
))
f.write(define_str + "_len \t%d\n"%(pkt_len))
f.write(define_str + "_sm(array) \\\n\tarray``[%d]=8'h%02X;\\\n\tarray``[%d]=8'h%02X;\n"%(
3, pkt_len & 0xff,
4, pkt_len >> 8
))
f.write(define_str + "(array) \\\n")
for _k in range(i):
if _k < (i - 1):
if type(self.pkt_buf[_k]) == int:
f.write("\tarray``[%d]=8'h%02X;\\\n"%(3 + _k, self.pkt_buf[_k]))
f.write(define_str + "(array) \\\n")
for _k in range(i):
if _k < (i - 1):
if type(self.pkt_buf[_k]) == int:
f.write("\tarray``[%d]=8'h%02X;\\\n"%(3 + _k, self.pkt_buf[_k]))
else:
f.write("\tarray``[%d]=%s;\\\n"%(3 + _k, self.pkt_buf[_k]))
else:
f.write("\tarray``[%d]=%s;\\\n"%(3 + _k, self.pkt_buf[_k]))
else:
if type(self.pkt_buf[_k]) == int:
f.write("\tarray``[%d]=8'h%02X;\n"%(3 + _k, self.pkt_buf[_k]))
else:
f.write("\tarray``[%d]=%s;\n"%(3 + _k, self.pkt_buf[_k]))
if type(self.pkt_buf[_k]) == int:
f.write("\tarray``[%d]=8'h%02X;\n"%(3 + _k, self.pkt_buf[_k]))
else:
f.write("\tarray``[%d]=%s;\n"%(3 + _k, self.pkt_buf[_k]))
for md in self.sub_pkt:
if md[0] == 2: