实验:相同工作负载下的性能测量

用 CSV 和分析脚本分别计算端到端与运行阶段指标。

先修知识已获得至少两种配置的正确性通过结果。

适用环境通用 RTL 方法;具体工具与器件选项以项目版本为准

验证状态官方资料对照与原创教学示例 · 板卡 / Palladium 步骤待设备验证

本文目录准备可比数据执行分析解释结果与限制原理与信号关系动手步骤与预期结果典型故障:从现象到复测

准备可比数据

每行记录 configuration、run_id、compile_s、load_s、run_s、post_s、cycles。使用相同工作负载、输入和检查点。附件 example.csv 是明确标记的演示数据,不代表任何设备的真实性能。

执行分析

运行 python3 analyze.py example.csv。脚本检查数字有效性、正运行时间及相同周期数,再按配置计算运行时间和总时间中位数,以及 cycles/run_s。多次重复用于观察波动;编译缓存和资源等待应单独说明。

解释结果与限制

总时间包含本表记录的编译、加载、运行和后处理,不包括排队。若某配置运行更快但编译更慢,需结合回归次数决定是否有收益。报告必须附版本、运行模式、波形配置和样本数量,不能从演示数据推导产品性能。

原理与信号关系

性能实验必须将工作量、正确性和测量口径绑定在一起。周期数除以运行秒数得到的只是该记录口径下的周期吞吐,不等于芯片目标频率;包含编译的端到端耗时与仅运行耗时也不能混比。实验包中的 CSV 是合成教学数据,用于验证统计脚本,不是任何产品的性能宣称。统计应保留原始样本,使用中位数降低单次抖动影响,并解释异常值。

实验:相同工作负载下的性能测量:关键关系固定用例周期 / 事务多次采样独立 run_id数据校验单位 / 完整性统计比较中位数 + 原始值正确性通过后再统计;样本不足时保留不确定性
实验:相同工作负载下的性能测量:关键关系(原创示意,非器件引脚图;窄屏可横向滑动)

动手步骤与预期结果

按下面的顺序执行,每一步都留下可复核的证据。若当前步骤的预期条件未满足,先停在该阶段定位原因;不要继续累积后续错误。涉及工具、板卡或专用硬件的步骤,需要使用本工程实际版本和配置,示例数值不能直接替代设备规格。

  1. 阅读 CSV 字段定义

    预期与判定:确认秒、周期、配置名和运行标识;不要把毫秒填到秒字段。

  2. 先运行附带示例

    预期与判定:按 README 命令执行 Python 统计脚本,核对输出与示例预期;明确数据是合成的。

  3. 采集真实基线与候选配置

    预期与判定:每配置至少三次,记录资源争用、冷启动与探针设置,保持工作量一致。

  4. 检查拒绝错误数据

    预期与判定:负时间、零运行时间、重复标识或不一致周期数应失败;不能静默丢弃导致偏差。

单位与吞吐校验示例,原创教学数据,Python 3 可直接运行。

Python
cycles = 1_000_000
runtime_ms = 2500
runtime_s = runtime_ms / 1000
print("cycles/s:", cycles / runtime_s)
assert cycles / runtime_s == 400_000

典型故障:从现象到复测

下面的案例是为说明定位方法而构造的教学场景,不代表真实客户事故或本平台设备实测。实践时先确认现象与证据相符,再采用相应修复;若证据不同,应回到前一步缩小范围,避免把同一种表象都归因于同一个问题。

bash
unzip performance-measurement.zip
cd performance-measurement
python3 analyze.py example.csv

完成检查

  • 数据来自相同工作负载
  • 分开汇报运行与总时间
  • 演示数据不作为产品结论

延伸阅读与来源

本文为黄河电子原创教学说明。产品命令与支持范围请以实际安装版本的官方文档为准。

继续阅读

实验

实验:FIFO 仿真与边界条件验证

运行原创同步 FIFO 自检,观察容量、顺序和同时读写语义。

10 分钟
实验

实验:FPGA FIFO 上板与调试

把已自检的 FIFO 作为板级验证对象,规划约束与探针。

10 分钟
实验

实验:最小 DUT 的硬件仿真实践

以同一个 FIFO 为基线,准备模式选择、编译运行和比对记录。

10 分钟