?35ps!这在高速电路中,几乎是不可逾越的鸿沟!
张伟立刻召集相关工程师进行紧急会诊。他们调取了这条路径的详细信息,发现它跨越了多个逻辑层级,并且经过了一段较长的连线。
“能不能插入几个更高驱动能力的Buffer?”有人提议。 “试过了,效果不明显,反而增加了面积和功耗。” “能不能让「盘古」P&R工具强制优化这条路径的布局,缩短连线长度?” “也试过了,但可能会影响到其他路径的时序,按下葫芦浮起瓢。”
就在大家一筹莫展之际,一直关注着验证进展的林轩,通过视频连线给出了一个建议:“这条路径的逻辑功能是什么?能不能和前端逻辑设计的同事沟通一下,看看是否可以在RTL层面,通过插入流水线寄存器的方式,将这条长路径打断成两段或三段?虽然会增加一到两个时钟周期的延迟,但可以大幅提升吞吐量,即有效运行时钟频率。对于GPU这种并行处理单元来说,延迟的影响通常没有频率那么致命。”
这个建议点醒了众人!他们立刻与负责GPU逻辑设计的前端工程师沟通,发现确实可以通过微调RTL代码,在不影响功能正确性的前提下,插入流水线寄存器来优化这条关键路径!
经过快速的RTL修改、逻辑综合和重新布局布线,最终的时序报告显示,那条原本令人绝望的 ?35ps 违规,被成功消除!所有关键路径的时序都收敛了!
战场二:与功耗的“斤斤计较”!
模拟与电源管理团队,则在进行着最后的功耗签核。
他们利用「盘古-功耗」工具,对芯片在各种典型应用场景(如待机、通话、游戏、高清视频播放)下的峰值功耗、平均功耗、以及静态漏电功耗,进行着最终的精确评估。
“老王!CPU核心在运行某个特定测试程序时,峰值功耗超了预算 8%!”一位工程师报告道。
老王(负责模拟设计)立刻调出详细的功耗分析报告和对应的电路图,仔细排查。最终发现,是由于该测试程序会触发CPU内部某个不常用的浮点运算单元(FPU)长时间处于高活动状态,而该单元的时钟门控逻辑设计得不够精细,导致了不必要的功耗浪费。