|
发表于 2023-5-24 14:59:59
|
显示全部楼层
试试Python库`vcd`来解析vcd文件,然后将其转换为vec文件。以下是一个示例代码,可以将多位信号转换为vec格式:
from vcd import VCD
from collections import OrderedDict
def read_vcd(filename):
vcd = VCD.from_file(filename)
signals = OrderedDict()
for var in vcd.get_variables():
signals[var.identifier] = var
return signals, vcd
def vcd_to_vec(vcd_file_path, vec_file_path):
signals, vcd = read_vcd(vcd_file_path)
with open(vec_file_path, 'w') as vec_file:
for val in vcd.get_signals_ordered():
if len(val.binary()) == 1:
vec_file.write("{} {}\n".format(val.binary(), val.name))
else:
for i in range(len(val.binary())):
vec_file.write("{} {}\n".format(val.binary()[i], "{}[{}]".format(val.name, i)))
该函数,只需要将vcd文件路径和输出vec文件路径作为参数传递给函数,即可自动生成vec文件。
该代码仅支持纯文本格式的vcd文件。如果您的vcd文件以二进制格式写入,则需要使用相应的解析库来解析vcd文件。
去试试
|
|