首页|基于7nm工艺NPU芯片子模块的时序与功耗分析优化研究

基于7nm工艺NPU芯片子模块的时序与功耗分析优化研究

扫码查看
随着大数据时代的到来以及深度学习的发展,针对CPU效率低以及GPU不能针对神经网络计算进行特殊处理,而孕育出了专门针对神经网络计算进行特殊处理的神经网络处理器(Neural-network Processing Units,NPU)芯片。它能使深度学习加速,缩短数据处理时间。但随着集成度的提高,较高的时钟频率使芯片时序收敛更加困难,互连线的复杂性加剧了绕线拥塞程度和可制造性问题,同时功耗问题也变得越来越重要。 本文基于TSMC 7nm 1P15M工艺,完成了一款基于网络服务器的NPU芯片计算单元子模块的物理设计,芯片设计使用了层次化的设计方法,子模块的规模约为3550万门,面积为1250um*3532um,包含248个宏单元,3个制造时的定位校准单元,以及3个静电保护单元,共有约53300个输入输出端口,主时钟频率为1.2GHz和1GHz,金属层从M0到 M13,M14、M15是为顶层绕线层。 本文在物理设计阶段提出了以下分析与优化方法,包括:(1)为了解决布图阶段传统布图流程造成时序违例大和拥塞高的问题,本文考虑了直通(feedthr-ough)寄存器的分布后,在布图阶段提前摆放feedthrough寄存器,采用上下分布的布图方式去优化布图,结果表明纵向拥塞下降8.25%,建立时间最大违例值(Worst Negative Slack,WNS)减少了131ps,总的违例值(Total Negative Slack, TNS )降为原来的 20%,在完成布图后使用工具命令语言( Tool Command Language,TCL)解决了布图约束引起的设计规则违例。(2)针对布局完成后模块外部时序差的问题,本文通过TCL抓取与输入输出端口(IO ports)相连的数据寄存器,并通过TCL将这部分寄存器约束在相关的IO ports附近,布局优化后的结果表明建立时间的WNS减小了360ps,达到了外部时序保持在200ps左右的要求。(3)为了解决时钟树生成过程中由于有用偏差的使用,造成存储器的时钟树不平,所引发的recovery检查违例,在时钟树综合前给存储器CLKA端和CLKB端加入一个时钟缓冲器(Buffer),使时钟到达存储器CLKA、CLKB两端的skew减小,结果表明,WNS从-0.205ns下降到了0ns,修复了recovery违例。(4)为了降低功耗,本文提前使用了门控时钟和多阈值单元的方法降低功耗,并对多位寄存器的功耗优化方法进行分析,最终通过将功耗的优化力度在整个流程设置为高,动态功耗和泄漏功耗的优化系数设置为0.2,使工具主要优化动态功耗,与优化力度设为低相比,功耗降低了705.6mW。

高祥

展开 >

神经网络处理器 芯片设计 布图约束 外部时序

硕士

电子科学与技术

徐微、陈力颖

2022

天津工业大学

中文

TN