什么是 ChipScope?
ChipScope 是 Xilinx 提供的一套嵌入式逻辑分析工具,允许开发者在 FPGA 芯片内部实时捕获和分析信号。 其核心组件包括 Integrated Logic Analyzer (ILA) 和 Virtual Input/Output (VIO),其中 ILA 最常用于信号采集。
在完成信号触发与采集后,用户通常需要将数据导出以便进一步分析(如 MATLAB、Python 或 Excel 处理)。 本文重点介绍如何从 ChipScope Analyzer 中导出采集到的数据。
导出数据的基本步骤
- 在 Vivado 或 ISE 中插入 ILA 核并生成比特流。
- 下载比特流到 FPGA 开发板。
- 打开 ChipScope Analyzer(或 Vivado Logic Analyzer)连接设备。
- 设置触发条件并运行采集。
- 采集完成后,在波形窗口右键选择 Export Data。
- 选择导出格式(如 CSV、VCD、TXT 等)并保存文件。
常用导出格式说明
- CSV(推荐):表格格式,便于 Excel 或 Python pandas 分析。
- VCD(Value Change Dump):标准波形格式,可被 ModelSim、GTKWave 等工具读取。
- TXT:纯文本,适合简单脚本处理。
💡 建议优先使用 CSV 格式,因其结构清晰且兼容性好。
示例:导出为 CSV 文件
在 ChipScope Analyzer 中:
- 右键点击波形区域 →
Export Data... - 在弹出窗口中选择
Format: CSV - 勾选
Include signal names和Include time column - 点击
Save,选择保存路径。
导出后的 CSV 文件内容类似如下:
Time,clk,rst,data_in[7:0],valid 0,0,1,0,0 10,1,1,15,1 20,0,1,15,1 30,1,0,15,1
常见问题
- Q:导出按钮灰色不可用?
A:确保已完成一次有效触发并成功采集数据。 - Q:导出的数据时间单位是什么?
A:默认为纳秒(ns),取决于采样时钟频率。 - Q:能否批量导出多个触发结果?
A:ChipScope Analyzer 不支持直接批量导出,但可通过 Tcl 脚本实现自动化。
进阶技巧
使用 Vivado 的 TCL 控制台可编写脚本自动导出数据,例如:
open_hw connect_hw_server open_hw_target current_hw_device [get_hw_devices xc7a35t_0] refresh_hw_device -update_hw_probes false [get_hw_devices xc7a35t_0] create_hw_ila_data hw_ila_data_1 [get_hw_ilas -of_objects [get_hw_devices xc7a35t_0]] save_hw_ila_data -file ./capture.csv hw_ila_data_1
此方法适合集成到自动化测试流程中。