Palladium 事务级实战 · 05 测量调用、周期与端到端性能
展示可复现的本地结果,建立公平设备对比,分清调用减少与实际加速。
先修知识完成 Palladium FIFO 六章基础课程,理解同步 FIFO、非阻塞赋值与 VALID/READY。
适用环境本地 Python 3 + Icarus Verilog;目标参考 WXE 24.05 ISR5 / Xcelium 配套环境。
验证状态13 项本地 RTL 场景、6 项测量校验测试通过;Cadence 编译、Palladium 映射与设备性能尚未实测。
三种计量单位不能混用
本地结果包含 exchange 调用次数、engine 处于 ACTIVE 的周期数,以及逐字节正确性。ACTIVE 周期不包含复位、接口等待、响应停留、加载和退出;信号级基线的 121 周期也不是同一计数窗口。下表只能证明当前调度与调用数量,不能据此计算 Palladium 加速比,更不能把固定向量调用次数当成物理链路包数或停机次数。
| 项目 | 规定 / 观察结果 |
|---|---|
| N=64 / B=1 | 64 次调用;320 ACTIVE 周期 |
| N=64 / B=4 | 16 次调用;128 ACTIVE 周期 |
| N=64 / B=16 | 4 次调用;116 ACTIVE 周期 |
| N=64 / B=32 | 2 次调用;108 ACTIVE 周期 |
| B=16 / HOLD=9 | 仍为 116 ACTIVE 周期,说明该计数不含响应等待 |
| 实际 SA / TBA 加速比 | 尚未设备实测,不提供推算成绩 |
让性能样本带着正确性证据
统计脚本读取用户采集的设备样本,并重新检查每份 CSV 的字段、长度、数据模式和摘要。同一比较组必须具有相同工具组合、资源与测量窗口;同一模式的批大小和构建标识固定。脚本要求每组至少三次独立运行,实际评估建议三十次以上并交替模式顺序,避免负载漂移和缓存预热造成单次偶然优势。
- 冻结输入、源码、工具组合与资源
预期与判定:两模式输出相同 CSV,N 一致
- 分别运行未开启 profiling 的 SA 与 TBA
预期与判定:从加载到运行完成退出使用同一计时边界
- 每模式采集至少 3 次独立样本
预期与判定:推荐至少 30 次,保存异常和失败记录
- 运行 measure.py 并人工审阅设备证据
预期与判定:输出中位数、最近秩 P95 和中位数比值
测量工具可运行;samples.json 必须填写真实设备样本,README 内空值模板不能充当成绩。
python3 measure.test.py
python3 measure.py samples.json
# 每个样本附带实际 CSV 路径、构建标识、工具与资源信息
# seconds 使用 load-run-exit 窗口实测墙钟秒数解释统计结果,而不只展示一个比值
端到端加速比定义为 SA 耗时中位数除以 TBA 耗时中位数;小于一说明当前工作负载下 TBA 更慢。短 FIFO 工作负载容易被加载、启动和退出占据,增大 N 后应重新运行完整对比,不能删去不利启动开销又沿用旧窗口标签。统计器能够拒绝不一致的输入,却无法替代真实设备日志审阅,六项测试里的合成秒数只是计算器测试数据。
| 项目 | 规定 / 观察结果 |
|---|---|
| 调用减少,耗时不变 | 检查加载占比、背景逐拍交互和软硬件同步 |
| 批量过大,首结果延迟增加 | 报告批大小和首响应延迟,不能只优化总吞吐 |
| HW-EMU 占比高 | 可能包含 I/O 与同步开销,不直接等于纯计算 |
| 失败运行 | 保留故障率与原因,不作为成功吞吐样本静默丢弃 |
测量定义;实际值由设备样本产生。
throughput_bytes_per_second = verified_bytes / elapsed_seconds
speedup = median(sa_signal.seconds) / median(tba_blocking.seconds)
P95 = sorted_samples[ceil(0.95 * sample_count) - 1]
window = load-run-exit
profiling = false故障练习:混入 profiling 或不同工作量
当一组启用了 profiling,另一组未启用,测得的差异同时包含观测开销;当 N 不同,则比较的是不同工作量。measure.py 对这些字段进行拒绝检查,并验证 CSV 内容。即使全部字段合法,也仍需检查资源争用、设备日志和实际计时边界,避免只是填写了一份看似完整的 JSON。
完成检查
- 没有把 ACTIVE 周期比写成加速比。
- 每个设备样本都有正确 CSV 和构建信息。
- 正式测量关闭 profiling,统计口径一致。
延伸阅读与来源
本文为黄河电子原创教学说明。产品命令与支持范围请以实际安装版本的官方文档为准。
- Cadence Palladium 官方入口;WXE 24.05 TBA Tutorial
TBA Tutorial 第 13–14、36–42 页;SAProfiling 第 21–24 页。页码指用户提供的本地安装文档印刷页;公开链接为产品入口,并非受限手册下载。
继续阅读
硬件仿真首次使用前的工程检查清单
准备版本、输入和模型,减少第一次编译的无效往返。
如何选择 SA/ICE 及交互方式
根据测试环境所在位置与目标接口要求选择运行流程。
完成最小设计的编译运行
把第一次平台运行拆为有检查点的五个阶段。
黄河电子