千万门级模块鱼骨型时钟网络的实现*

2016-12-01 03:57许谷涵朱兆伟郑永力
电子技术应用 2016年8期
关键词:鱼骨寄存器功耗

许谷涵,严 伟,朱兆伟,郑永力

(1.北京大学 软件与微电子学院,北京100871;2.世芯电子科技(无锡)有限公司,江苏 无锡 214000)

千万门级模块鱼骨型时钟网络的实现*

许谷涵1,严伟1,朱兆伟2,郑永力2

(1.北京大学 软件与微电子学院,北京100871;2.世芯电子科技(无锡)有限公司,江苏 无锡 214000)

在芯片规模越来越大的背景下,针对千万门级以上规模芯片模块,提出一种基于单鱼骨型时钟网络的改进型时钟结构,并给出在后端设计过程中基于EDA工具的具体实现方法。该时钟结构兼具鱼骨型时钟结构的特点,相较于自动化不定型时钟树,具备较低的时钟延迟、时钟漂移、片上误差和动态功耗。以规模 2 600万门的 28 nm芯片模块(工程代号YCU-AM)为例进行实现过程阐述,实验结果表明,该型时钟结构较不定型时钟树使模块整体功耗降低约5%。

物理设计;时钟树;低功耗;千万门级模块

0 引言

现阶段在芯片后端设计过程中分割产生的模块规模越来越大,单模块规模最大已经达到千万门级。千万门级模块中时钟网络复杂,功耗占比大[1],是芯片设计中的棘手问题。在28 nm工艺节点之后由于连线间距进一步缩小到0.1 μm以下,插入过多的缓冲单元会使得绕线变长,产生很大的时钟延迟和功耗,在千万门级模块中,时钟延迟甚至可以达到一个周期以上。鱼骨型时钟网络时钟根节点到时钟末端级数少,可以节约功耗和面积[2],在千万门级模块中,不论从功耗、延迟,还是从可靠性的角度上看,网型的鱼骨结构相比于不定型时钟树应该会有一定优势[3]。

1 单鱼骨型时钟网络的结构

单鱼骨型(FISHBONE)时钟树的基本结构如图1所示。对千万门级模块而言,使用单鱼骨树来平衡所有的寄存器和宏单元,会造成延迟过大、驱动能力不够等一系列问题。

因此,我们提出一种寄存器与宏单元分离的多主干驱动的复合型时钟网络(H-FISHBONE)。如图2所示,H-FISHBONE由多个驱动寄存器的鱼骨树和多组复合驱动器驱动的宏单元块构成,二者分别经多级驱动连接至时钟根节点。

图1 单鱼骨型时钟结构

图2 H-FISHBONE结构

2 H-FISHBONE的实现流程

H-FISHBONE具体实现流程如图3所示,本文以YCU-AM模块为例,阐述在后端设计过程中,如何实现H-FISHBONE型时钟网络。YCU_AM模块采用三星28 nm工艺,9层绕线金属。供电电压1 V,时钟频率200 MHz,版图3 400 μm×3 590 μm,宏单元570个,共2 600万门。

图3 H-FISHBONE实现流程

2.1提取时钟结构,分析门控时钟单元级数

用Primetime对初始网表进行分析,采取时钟路径追踪的方法可以得到详细的时钟结构,主要分析时钟级数。如图4所示,以时钟根节点为第0级,按照与时钟根节点连接关系的级数,根节点后1~3级不等的门控单元(ICG)。

图4 YCU-AM内部时序器件级数关系简图

2.2多级时钟门控单元展平化处理

多级时钟门控单元的存在,不利于平衡时钟漂移,所以要将多级门控时钟单元展平化处理为一级,既能保持控制功耗的功能,也有利于时钟漂移的平衡。由于DFT设计过程中,会将 ICG复用到扫描链中,因此在工作(Function)模式下,需要先将 ICG的扫描链使能端全部逻辑连接到逻辑低电平钳位单元(TIE-0),然后调用ICC的flatten-clock-gating引擎进行展平化处理,为保证展平化过程精准及节省运行时间,我们要为ICC指出处于二、三级的ICG。

2.3分离宏单元和寄存器

对于千万门级模块,大量的宏单元和寄存器连在同一单鱼骨树上,将不利于平衡时钟漂移和时序收敛。因此我们将宏单元和寄存器拆分,对宏单元用复合驱动器进行驱动构建多组宏单元块,对寄存器构建多组 FISHBONE。最后进行FISHBONE和宏单元块的再平衡。拆分时,对于同寄存器有共同ICG连接关系的宏单元,在ICG的输入端引入一个与其相同类型的伪 ICG,将宏单元重新连接到伪ICG上,以保证宏单元的各种输入条件不变;在时钟根节点隔离单元之后插入两个并联的驱动单元,分别连接宏单元与寄存器。

2.4插入伪ICG解高扇出(High Fanout)

由于标准单元驱动能力有限,如果其驱动的负载电容过大会产生高扇出问题。我们采取克隆高扇出ICG的方法,克隆出的 ICG称伪 ICG。伪 ICG是按照距离自动寻址的方式插入,先寻找高扇出ICG最近的寄存器,插入第一个伪器件,伪器件驱动其周围 70×70范围内的负载(根据负载的多少适当减增范围),然后由近及远插入多个伪器件。

2.5多组FISHBONE的构建

如图4所示,FF1和FF2之间相差一级门控时钟单元的单元延迟,要插入一个与所用ICG单元延迟相近的缓冲单元,用来平衡FF1和FF2之间的延迟。经过以上几步,得到时钟结构连接关系如图5所示,其中G是伪ICG,B是平衡缓冲单元,H是插入 FISHBONE三级驱动的位置。构建 FISHBONE的个数,需根据负载的数量和分布来确定。本设计有44 000个负载(均匀分布在大约3 000×3 000的范围内),从均匀性和最简化角度考虑,将版图分为6个区域进行多鱼骨树的构建,每个单鱼骨树驱动7 000-8 000个负载。如图6所示。

图5 连接关系图

图6 FISHBONE主干的位置分布

FISHBONE的构建有以下几个重要参数:(1)金属线分布属性;(2)驱动比(drive-rate=total load/L3driver);(3)驱动单元间隔(row-step)。由于高层金属的抗电迁移能力更强,并且对下层的噪声影响也小很多,所以选择高层金属来构建FISHBONE。本设计选择横向走线的IA层为主干位置,驱动分支设定在M7。

驱动比用于确定各级缓冲单元的数量,本设计中驱动比设置为40,可根据负载数量以及之后的静态时序分析结果适当调节驱动比。驱动单元间隔,需要是布局通道(Row)的整数倍,本设计设置为 2,可根据主干金属线长度适当增减。本设计单鱼骨树详细布线如图7所示。

图7 FISHBONE详细布线图

2.6FISHBONE和宏单元块的再平衡

宏单元和FISHBONE分别是由多组复合驱动直接驱动,与时钟根节点的距离和负载大小不同,选择的多级驱动也不同,因此在完成以上步骤之后,要进行寄生参数的提取和静态时序分析,对比各个部分的时钟延迟,适当调节部分参数(复合驱动的级数、驱动比、驱动间距、主干、分支金属宽度等)用以平衡时钟漂移。

3 分析结果

如表1分别是YCU_AM进行时钟树综合(CTS)实现不定型时钟树、实现单鱼骨树以及本文方法实现HFISHBONE的三组时序结果对比。从表中可以看出,单鱼骨树时钟漂移竟然达到 2 ns,不适用于千万门级模块,相比不定型时钟树,H-FISHBONE平均时钟延迟降低了约47%,时钟漂移降低了约35%。分别对实现CTS和H-FISHBONE后模块行功耗分析,测试端角 ml-cworst-125c-min,测试信号翻转率为 0.1,静态概率 0.5。得到结果如表 2、表3所示;可以看出使用 H-FISHBONE模块单元内部功耗降低约13%,动态翻转功耗降低约31%,使得模块整体功耗降低约5%。

表1 时钟延迟与漂移结果

表2 实现不定型时钟树模块功耗结果

表3 实现H-FISHBONE型时钟网络模块功耗结果

4 结束语

本文针对千万门级以上模块提出了改进型的H-FISHBONE型时钟网络,以2 600万门YCU_AM模块为例介绍了H-FISHBONE在后端设计过程中的实现方法,通过实验结果发现H-FISHBONE在降低时钟延迟和动态功耗上有显著的优势,为千万门级模块提出了一种在时钟网络构建方面减小时钟偏斜和降低功耗有效可行的方法。

[1]DENG C,CAI Y C,ZHOU Q.Register clustering methodology for low power clock tree synthesis[J].Journal of Computer Science&Technology,2015,30(2):391-403.

[2]LIN H T,CHUANG Y L,YANG Z H,et al.Pulsed-latch utilization for clock-tree power optimization[J].IEEE Transactions on Very Large Scale Integration Systems,2014,22 (4):721-733.

[3]CHIPANA R,KASTENSMIDE F L.SET susceptibility analysis of clock tree and clock mesh topologies[C].2014 IEEE Computer Society Annual Symposium on VLSI(ISVLSI). 2014:559-564.

Implementation of FISHBONE-based clock structure in ten-million gates block

Xu Guhan1,Yan Wei1,Zhu Zhaowei2,Zheng Yongli2
(1.School of Software&Microelectronics,Peking University,Beijing 100871,China;2.Alchip Technologies(Wuxi)Ltd,Wuxi 214000,China)

The scale of modern SOC design is larger and larger,for ten million gates block,presents a clock structure improved from the Fishbone-based clock structure。Compared to CTS clock tree,clock latency,clock skew,On-Chip-Violation(OCV)and dynamic power of clock is smaller。This paper is based on YCU-AM,a 26 million gates block,to describe the implementation method of the improved clock structure。Experimental results show that the improved clock structure can make the total block save about 5%power.

physical design;clock tree;low power;ten-million gates block

TN47

A

10.16157/j.issn.0258-7998.2016.08.011

江苏省产学研联合创新资金——前瞻性联合研究项目(BY2013018)

(2016-03-20)

许谷涵(1989-),男,硕士研究生,主要研究方向:数字芯片物理设计与实现。

严伟(1966-),通信作者,男,博士,研究员,主要研究方向:微处理器和数字信号处理器设计、电机控制系统与芯片的实现,E-mail:yanwei@ss.pku.edu.cn。

中文引用格式:许谷涵,严伟,朱兆伟,等.千万门级模块鱼骨型时钟网络的实现[J].电子技术应用,2016,42(8):53-55,59.

英文引用格式:Xu Guhan,Yan Wei,Zhu Zhaowei,et al.Implementation of FISHBONE-based clock structure in ten-million gates block[J].Application of Electronic Technique,2016,42(8):53-55,59.

猜你喜欢
鱼骨寄存器功耗
基于任务映射的暗硅芯片功耗预算方法
Lite寄存器模型的设计与实现
奶奶爱拼鱼骨画
一星期没换水的梦境
分簇结构向量寄存器分配策略研究*
揭开GPU功耗的面纱
鱼骨千万别丢 它能帮你增寿
数字电路功耗的分析及优化
IGBT模型优化及其在Buck变换器中的功耗分析
“鱼骨图”在项目教学中的应用