VCD命令行查看器:跨平台的高效波形分析工具
vcd VCD file (Value Change Dump) command line viewer 项目地址: https://gitcode.com/gh_mirrors/vcd/vcd
项目介绍
VCD(Value Change Dump)命令行查看器是一款专为Windows、Linux和MacOS平台设计的开源工具。它能够解析和显示VCD文件中的波形数据,帮助工程师和开发者快速分析和调试硬件设计中的信号变化。无论是简单的信号波形还是复杂的总线数据,VCD命令行查看器都能以直观的方式呈现,极大地提高了工作效率。
项目技术分析
VCD命令行查看器采用了高效的命令行界面设计,支持多种操作系统和平台。其核心功能包括:
- VCD文件解析:能够准确解析VCD文件中的信号变化数据。
- 波形显示:通过命令行界面直观地显示信号波形,支持缩放和跳过特定时间段的波形。
- YAML输出:将解析后的数据输出为YAML格式,便于进一步处理和分析。
- 自定义样式:支持通过环境变量自定义波形的显示样式,包括颜色、位置等。
- 自动刷新:支持文件变化自动刷新功能,实时更新波形显示。
项目及技术应用场景
VCD命令行查看器适用于以下场景:
- 硬件设计调试:工程师可以通过该工具快速查看硬件设计中的信号波形,定位问题。
- 自动化测试:在自动化测试环境中,可以结合脚本使用该工具,自动分析测试结果。
- 教育与培训:用于教学和培训,帮助学生和初学者理解硬件设计中的信号变化。
项目特点
- 跨平台支持:支持Windows、Linux和MacOS,满足不同开发环境的需求。
- 高效解析:快速解析VCD文件,实时显示信号波形。
- 灵活定制:通过环境变量自定义波形显示样式,满足个性化需求。
- 自动刷新:支持文件变化自动刷新,实时更新波形显示,提高调试效率。
- 易于集成:输出为YAML格式,便于与其他工具集成,进行进一步的数据处理和分析。
安装与使用
安装
从预构建二进制文件安装
手动下载并安装预构建的二进制文件。
从源码安装
make
sudo make install
通过包管理器安装
对于基于Arch的发行版:
yay -S vcd
使用
vcd < in.vcd # 输出到屏幕
vcd < in.vcd > out.yml # 输出到文件
vcd < in.vcd | less -S # 可滚动的视图
查询
VCD命令行查看器的默认输出是有效的YAML文件,可以使用yq
或shyaml
等工具进行处理。
# 打印fifo1作用域中clk通道的前9个样本
vcd < samples/basic.vcd | yq .channels.fifo1.clk[0:9]
vcd < samples/basic.vcd | shyaml -y get-value channels.default.e_clk
样式定制
通过环境变量可以自定义波形的显示样式。
# 跳过前9个样本
SKIP=9 vcd < in.vcd | less -S
# 禁用RAISE/DROWN过渡
RAISE="" DROWN="" vcd < in.vcd
# 使用StartTeX/EndTeXt变量将总线值颜色设置为绿色
STX=$(printf "\x1b[32m") ETX=$(printf "\x1b[0m") vcd < in.vcd
自动刷新
以下代码片段将持续监听in.vcd
文件的变化,并在文件发生变化时重新生成out.yml
文件并刷新less -S out.yml
的显示。
echo "hi ! please modify 'in.vcd' to refresh me" > out.yml
while inotifywait -q -e modify -e close_write in.vcd ; do
vcd < in.vcd > out.yml # 重新生成out.yml
screen -x -r bridge -X stuff R # 发送刷新命令到前台less -S
done & # 此循环将在后台运行
screen -S bridge less -S out.yml # 前台"less -S"显示
# 不要忘记使用`kill %1`或fg + ^C停止后台循环
VCD命令行查看器是一款功能强大且易于使用的工具,无论是在硬件设计调试还是自动化测试中,都能发挥重要作用。快来尝试吧!
vcd VCD file (Value Change Dump) command line viewer 项目地址: https://gitcode.com/gh_mirrors/vcd/vcd
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考