在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2565|回复: 5

[求助] VCD2VEC转换

[复制链接]
发表于 2023-5-24 14:59:58 | 显示全部楼层 |阅读模式
888资产
我在论坛上找到的vcd转vec的脚本,只能转换1位信号,多位的就转不了了。有什么能转换多位信号的脚本吗?


最佳答案

查看完整内容

试试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): si ...
发表于 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文件。

去试试

发表于 2023-8-11 16:03:10 | 显示全部楼层
你好,vcd2vec是为了ate测试吗,能不能给我看看转完vec文件的示例,谢谢
发表于 2024-2-27 15:02:17 | 显示全部楼层
建议用python库pyDigitalWaveTools,里面有VcdParser可以解析多位宽变量
发表于 2024-2-28 09:07:52 | 显示全部楼层
hsim里有命令的:vcd2vec -nvcd xxx.vcd -nvec xxx.vec  
发表于 2024-3-8 14:04:56 | 显示全部楼层


ysjlew 发表于 2023-5-24 14:59
试试Python库`vcd`来解析vcd文件,然后将其转换为vec文件。以下是一个示例代码,可以将多位信号转换为vec格 ...


从pyhton几开始有的vcd这个库的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-21 20:33 , Processed in 0.020155 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表