134、NPU的仿真测试:使用McPAT进行功耗仿真

📅 2026/7/25 16:05:47
134、NPU的仿真测试:使用McPAT进行功耗仿真
NPU的仿真测试:使用McPAT进行功耗仿真上周五晚上十一点,我在调试一块自研NPU的RTL代码,仿真跑完一轮,功耗数据出来——动态功耗比预期高了40%。项目经理在群里问“怎么回事”,我盯着那个数字看了十分钟,最后发现是McPAT的配置文件里漏了一个关键参数。这种深夜debug的体验,做芯片的人应该都不陌生。今天这篇笔记,就聊聊怎么用McPAT给NPU做功耗仿真。不是那种“打开软件-点击运行”的教程,而是我在实际项目中踩过的坑和总结的经验。为什么选McPAT做NPU功耗仿真,工具其实不少。Synopsys的PrimeTime PX精度高,但license贵得离谱,小团队根本用不起。开源方案里,McPAT(Multicore Power, Area, and Timing)是学术界和工业界都认可的选择。McPAT的优势在于:它基于架构级参数建模,不需要完整的门级网表,在芯片设计早期就能给出相对准确的功耗估算。对于NPU这种计算密集型的加速器,McPAT的建模粒度刚好够用——它能区分计算单元、存储单元、互联网络的功耗,这对分析NPU的瓶颈非常关键。但McPAT有个大坑:它的默认模型是针对通用CPU设计的,直接套用在NPU上,结果会偏差很大。我见过有人拿默认配置跑NPU,动态功耗算出来只有实际值的1/3,还以为是自己的设计功耗低,结果流片回来直接翻车。搭建McPAT仿真环境McPAT的输入文件是XML格式的配置文件,里面定义了处理器的微架构参数、工艺节点、工作频率、活动因子等。对于NPU,我们需