«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (8): 25-29, 36  DOI: 10.19678/j.issn.1000-3428.0062378
0

引用本文  

马永飞, 高成振, 黄金明, 等. 高性能众核处理器芯片时钟网络设计[J]. 计算机工程, 2022, 48(8), 25-29, 36. DOI: 10.19678/j.issn.1000-3428.0062378.
MA Yongfei, GAO Chengzhen, HUANG Jinming, et al. Chip Clock Network Design for High-Performance Many-Core Processor[J]. Computer Engineering, 2022, 48(8), 25-29, 36. DOI: 10.19678/j.issn.1000-3428.0062378.

基金项目

“核高基”重大专项“超级计算机处理器研制”(2017ZX01028-101)

作者简介

马永飞(1981—),男,高级工程师、硕士,主研方向为高性能处理器设计;
高成振,工程师、硕士;
黄金明,高级工程师、硕士;
李研,副研究员、硕士

文章历史

收稿日期:2021-08-17
修回日期:2021-10-25
高性能众核处理器芯片时钟网络设计
马永飞 , 高成振 , 黄金明 , 李研     
上海高性能集成电路设计中心, 上海 201204
摘要:随着芯片工艺演进与设计规模增加,高性能众核处理器芯片时钟网络设计面临时序和功耗的全方位挑战。为降低芯片时钟网络功耗并缓解时钟网络分布受片上偏差影响导致的时钟偏斜,在H-Tree+MESH混合时钟网络结构的基础上,结合新一代众核处理器芯片面积大及核心时钟网络分布广的特点,基于标准多源时钟树设计策略构建多源时钟树综合(MRCTS)结构,通过全局H-Tree时钟树保证芯片不同区域间时钟偏斜的稳定可控,利用局部时钟树综合进行关键路径的时序优化以实现时序收敛。实验结果表明,MRCTS能在保证时钟延时、时钟偏斜等性能参数可控的基础上,有效降低时钟网络的负载和功耗,大幅压缩综合子模块的布线资源,加速关键路径的时序收敛,并且在相同电源电压和时钟频率的实测条件下,可获得约22.15%的时钟网络功耗优化。
关键词高性能众核处理器芯片    时钟网络    时钟功耗    时钟偏斜    多源时钟树综合    
Chip Clock Network Design for High-Performance Many-Core Processor
MA Yongfei , GAO Chengzhen , HUANG Jinming , LI Yan     
Shanghai High Performance IC Design Center, Shanghai 201204, China
Abstract: With the evolution of chip technology and an increase in the design scale, the chip clock network design of high-performance many-core processor is facing many challenges, including the power consumption and timing.In order to reduce the power consumption of the chip clock network and the clock skew caused by the On-Chip Variation(OCV) of clock network distribution, this study builds a Multi-Root Clock Tree Synthesis(MRCTS) structure by using the standard multi-source clock tree design strategy.The construction of MRCTS is based on the H-Tree+MESH hybrid clock network structure, and takes into account the large chip area of the new generation many-core processors and the wide distribution of core clock networks.MRCTS ensures stable and controllable clock skew between different regions of the chip through the global H-Tree clock tree and uses local Clock Tree Synthesis(CTS) to optimize the timing of the critical paths and achieve a timing convergence.The experimental results show that MRCTS can effectively reduce the load and power consumption of the clock network by ensuring the controllability of the clock delay, clock skew, and other performance parameters.In addition, it greatly compress the routing resources of each integrated sub-module and accelerates the timing closure of critical paths.Particularly under the measured conditions of the same supply voltage and clock frequency, MRCTS can optimize the clock network power consumption by approximately 22.15%.
Key words: high-performance many-core processor chip    clock network    clock power consumption    clock skew    Multi-Root Clock Tree Synthesis(MRCTS)    

开放科学(资源服务)标志码(OSID):

0 概述

目前,主流高性能微处理器基于同步时钟系统进行设计开发。时钟信号为芯片内同步系统提供参考时间,是同步时序逻辑运行的基础[1-3]。时钟信号通常是芯片中扇出最大、负载最重、传输距离和覆盖面最广的信号。时钟偏斜对时序逻辑电路正确运行性能具有重要的制约作用。在通常情况下,时钟网络的偏斜由设计及工艺与应用环境两方面因素影响决定。设计因素包括各时钟节点负载平衡性以及从时钟源端输出的传输距离、传输级数与布线方式。工艺与应用环境因素包括工艺角、片上工艺偏差、工作电压与温度[4-5]。为保证芯片内同步时序逻辑在各种不同的工艺角下均能正常稳定工作,在传统的高性能处理器设计中,设计人员通常致力于开发时钟偏斜更小、抗工艺偏差能力更强的平衡时钟网络,以获得较高的工作频率[6-8]

高性能众核处理器芯片中通常包含多个不同的时钟域,且随着系统对性能要求的日益提高,高性能众核处理器芯片规模不断提高,时钟网络规模越来越大,使得芯片时序收敛及功耗优化的压力日益凸显[9-11]。如何降低芯片时钟网络功耗并克服时钟网络分布受片上偏差(On-Chip Variation,OCV)影响而导致的时钟偏斜(clock skew)问题,从而加速设计时序收敛,成为高性能众核处理器芯片设计中的重要研究方向[12-13]。本文在传统时钟网络结构及混合时钟网络结构的基础上,构建一种新型的多源时钟树综合(Multi-Root Clock Tree Synthesize,MRCTS)结构,并通过实验探究MRCTS设计对时钟系统的功耗优化作用。

1 相关研究 1.1 传统时钟网络结构

根据时钟网络的结构特点,传统的时钟网络设计主要有树状和网状两种结构。

常见的时钟树结构包括:H-Tree,Fanout Balance Tree,Binary Tree和Fishbone[14-16]。H-Tree时钟树的skew小,抗OCV能力强,但设计要求严格,通常作为芯片核心高频时钟的全局互连[17]。基于EDA工具时钟树综合(Clock Tree Synthesis,CTS)的时钟树通常为Fanout Balance Tree结构,其作为芯片内模块级时钟互连。Binary Tree时钟树相比H-Tree时钟树的设计要求低,但仍存在较为严格的负载平衡要求,通常作为芯片时钟的全局互连。Fishbone时钟树的长度短、延时小,受OCV影响小,通常作为芯片内模块级时钟互连。图 1为4种常见的时钟树结构。

Download:
图 1 常见的时钟树结构 Fig. 1 Common clock tree structure

一个完整的时钟网状结构(MESH)包含前驱层、短接层以及负载层,如图 2所示。MESH时钟结构与时钟树结构的根本区别在于存在时钟短接层。通过前驱层所有驱动单元的输出短接以及大量冗余的时钟连线,MESH时钟结构确保了负载层的各负载单元可以就近连接到短接层MESH网,有效降低了时钟网络的延时偏差,消除了时钟传播的延时奇异点。然而,为了有效控制MESH网的时钟延时,必须提供充足甚至远超负载规模需要的前驱层驱动器和驱动点,同时为保证短接层的时钟MESH网的平衡与完整,需要添加大量冗余的时钟线,这会造成布线资源浪费的同时增加时钟网络的负载和时钟功耗,此外前驱层驱动器间的延时偏差带来的短路直通同样会带来大量的时钟功耗损失。

Download:
图 2 MESH时钟结构 Fig. 2 MESH clock structure
1.2 H-Tree+MESH混合时钟网络结构

随着集成电路设计规模的不断提高,片上时钟网络规模、时钟类型和复杂的时钟结构使得单一网络结构的时钟设计遇到了严峻挑战,设计人员开始寻求在性能、功耗等方面进行折中,提出了混合结构的时钟设计方法[18-19]。在借鉴树状和网状两种时钟网络结构特点的基础上,根据芯片不同时钟域的特点与设计需要,构建多种不同的混合时钟网络结构以应对特定的设计需求。以FINFET工艺下,ChipA众核处理器芯片为例,其运算核心SCORE(约含88 000个触发器)的时钟网络设计采用H-Tree+MESH混合时钟网络结构。

在该芯片设计中,SCORE采用层次化设计方案,包含3个综合子模块(ES、MUX、EMDIS)及2个定制SRAM阵列(LDM、L1IC)。核心时钟域SClk分两层实现:第一层是SCORE上层的H-Tree及类H-Tree的多级时钟树;等二层是模块内的MESH时钟网。采用MESH时钟结构,保证了运算部件内的时钟延时平衡,利用具有高度一致性的H-Tree及类H-Tree时钟树兼顾运算核心簇内和簇间的时钟网络偏斜,并最终确保SCORE乃至芯片内SClk时钟域的整个时钟网络具有较高的抗工艺波动与片上工艺偏差的能力,为时序收敛设计及芯片稳定运行提供重要支撑。

在MESH时钟网络设计中,针对相关时钟驱动点(Tap)至时钟驱动单元(Gater)输入端以及Gater单元输出至负载触发器(或Latch)时钟端的延时分别制定设计目标,并通过对时钟网络进行Hspice仿真分析验证时钟树设计是否达到预期指标要求。SCORE最终设计结果显示,虽然部分Tap点至Gater驱动的延时略有超标,但整个时钟网络的设计质量高于既定指标要求,Tap点输入至负载单元的最大延时仅为85.8 ps,时钟延时偏差少于12 ps(仅占时钟周期的2.5%)。

图 3为SCORE上层最后一级H-Tree时钟树以及相关时钟驱动点的分布情况。图 4为SCORE综合子模块内部门控时钟的MESH网络分布情况。虽然基于MESH的模块级时钟网络设计可以实现极低的时钟偏差,具有极高的抗工艺偏差的能力,但是各主流EDA工具对于MESH时钟网络的设计支持度不够,需要精细的人工定制设计,耗费大量的人力和时间。定制化时钟树设计方法难以适应芯片设计周期的需要,更无法有效利用useful skew实现对关键路径的优化。此外,随着集成电路设计工艺提高,为追求更高的性能,片上集成度进一步提升,芯片时钟网络规模进一步增加。仿真结果显示,模块级时钟树设计面临布线资源需求大幅增加的严峻挑战。为满足项目进度、布线资源、时序及功耗优化等多方面的需求,亟需研究新型时钟网络结构。

Download:
图 3 SCORE上层H-Tree及时钟驱动点分布 Fig. 3 H-Tree and clock driver point distribution above SCORE
Download:
图 4 SCORE中的MESH时钟网络 Fig. 4 MESH clock network in SCORE
2 新型时钟网络设计

Synopsys公司的布局布线工具ICC2针对FINFET工艺下的时钟网络设计多源时钟树结构(Multi-Source Clock Tree Structure,MSCTS)[20-21],如图 5所示。全局(Global)网络包含全定制实现的H-Tree时钟树、全局Tap驱动器及其驱动的MESH网,局部(Local)时钟树包含与MESH相连的各子模块的Tap点及其驱动的标准CTS时钟树。相比于传统的CTS时钟树结构,多源时钟树结构具有更高的抗片上工艺偏差能力并可实现更高的时钟性能。

Download:
图 5 MSCTS时钟网络结构 Fig. 5 MSCTS clock network structure

在MSCTS中,以MESH时钟结构作为全局与各子模块时钟的互连通道,为提供较为充足与分布合理的Tap驱动点,全局时钟上MESH结构的密集度要求较高,占用较多的高层金属资源,大幅压缩了各综合子模块的布线资源,降低了模块的设计绕通性。同时,大量冗余的MESH时钟网络极大地提高了时钟网络的负载,产生了较大的时钟功耗。本文在H-Tree+MESH混合时钟网络结构设计的基础上,通过对标准多源时钟树设计策略的深入研究,结合新一代众核处理器芯片面积大、核心时钟网络分布广的特点,对多源时钟树结构进行改进,改进的时钟网络结构如图 6所示。

Download:
图 6 MRCTS时钟网络结构 Fig. 6 MRCTS clock network structure

改进的时钟网络结构同样分为全局和局部两个部分:全局网络包含全定制实现的H-Tree时钟树及全局Tap驱动器;局部时钟树基于MSCTS流程以各子模块Tap点为时钟输入源进行多源时钟树综合。将改进后的网络结构称为多源时钟树综合(MRCTS)结构,其与MSCTS的显著区别在于取消了全局时钟网络末端的MESH时钟,局部时钟与全局时钟通过Tap点直接相连。在设计时可以根据不同底层模块的规模大小和各自特征,确定各自模块Tap点的数量和分布位置,从而达到控制局部时钟树的规模,实现各局部时钟树的延时基本相当,达到控制整个时钟网络skew的目的。

采用改进的网络结构可以降低中间的MESH网带来的大量时钟功耗和对布线资源的额外占用,同时仍保有MSCTS时钟结构的优点:全局的H-Tree时钟树保证了全芯片不同区域间clock skew稳定可控,局部的CTS时钟树可以合理利用useful skew进行关键路径的时序优化,实现时序收敛。全局和局部设计者的分工更加明确,在保证质量的同时,有利于缩短设计迭代周期,提高设计效率。

3 实验设计与结果分析 3.1 基于MRCTS时钟结构的实验设计

为探究MRCTS时钟结构的可行性及其对时钟网络的影响,基于SCORE的设计代码、布局规划和Tap点分布,采用MRCTS时钟树设计策略,分别进行3个子模块的综合实验。在采用MRCTS时钟树设计策略进行SCORE的时钟树综合设计时,首先设置时钟树的主体级数,然后根据模块中利用useful skew进行时序收敛的需要,对不同的时序分组分别调整时钟树的目标级数,在合理利用useful skew的同时实现对时钟树延时和级数的有效控制。表 1为SCORE中子模块采用MRCTS时钟设计的基本数据。

下载CSV 表 1 SCORE时钟网络基本数据设置 Table 1 Setting of basic data of SCORE clock network

图 7为SCORE中基于MRCTS的时钟树布线规划,其中从每个Tap点发出的放射状线条表示每个Tap点到对应负载端(包括触发器、Latch、定制Latch阵列时钟端)的连接关系。图 8为SCORE中的MRCTS时钟网络,可以看出与图 4中的MESH时钟网络相比,MRCTS时钟网络对布线资源的占用大幅减少。

Download:
图 7 SCORE中基于MRCTS的时钟树布线规划 Fig. 7 Clock tree route planning based on MRCTS in SCORE
Download:
图 8 SCORE中的MRCTS时钟网络 Fig. 8 MRCTS clock network in SCORE
3.2 功耗分析结果

时钟网络的功耗由静态功耗、短路功耗和翻转功耗三部分组成[22],分别来自时钟驱动单元、时钟互连线以及时钟负载三方面,而影响时钟网络功耗的因素包含电源电压、时钟频率、时钟信号的跳变时间、门控方案、门控单元插入位置、时钟网络负载等。表 2对比了SCORE signoff版(MESH结构)与综合实验版(MRCTS结构)时钟网络负载情况。

下载CSV 表 2 时钟网络负载统计 Table 2 Clock network load statistics

考虑到时钟网络功耗主要由动态功耗组成,而动态功耗的主体是开关功耗($ {P}_{\mathrm{s}\mathrm{w}\mathrm{i}\mathrm{t}\mathrm{c}\mathrm{h}} $)。$ {P}_{\mathrm{s}\mathrm{w}\mathrm{i}\mathrm{t}\mathrm{c}\mathrm{h}} $计算公式如下:

$ {P}_{\mathrm{s}\mathrm{w}\mathrm{i}\mathrm{t}\mathrm{c}\mathrm{h}}=\alpha {C}_{\mathrm{l}\mathrm{o}\mathrm{a}\mathrm{d}}{V}_{\mathrm{D}\mathrm{D}}^{2}f $ (1)

其中:α为翻转率;$ {C}_{\mathrm{l}\mathrm{o}\mathrm{a}\mathrm{d}} $为负载电容;$ {V}_{\mathrm{D}\mathrm{D}}^{} $为电源电压;f为时钟频率。开关功耗与时钟网络的负载电容、时钟频率成正比,与电源电压的平方成正比,即在电源电压和时钟频率相同时,时钟网络的功耗与时钟网络负载电容成正相关。

由此可以看出,基于相同代码与布局规划进行MRCTS时钟树设计后,SCORE时钟网络的总负载下降约11%,根据式(1)可以简单推算出,SClk时钟域的模块级时钟网络功耗可以获得约11%的优化。

3.3 功耗实测结果

新一代ChipB芯片设计采用更先进的第二代FINFET工艺,同时为获得更优的能效,在SCORE的设计中应用了MRCTS时钟结构。相比于ChipA,SCORE的有效晶体管数由2.58×107增至3.33×107,增长了约28.9%,触发器数由8.77×104增至10.80×104,增长了约23.3%。为验证新型时钟网络设计对功耗优化的效果,分别选取5颗ChipA和ChipB芯片进行时钟功耗测试,并将电源电压与时钟频率进行一致性折算,对比结果如表 3所示。从表 3数据分析结果可以看出,在触发器总量增加23.3%的情况下,采用MRCTS时钟结构,SCORE时钟网络功耗约降低了22.15%(折算相同电源电压和时钟频率)。

下载CSV 表 3 ChipA与ChipB的SCORE时钟网络功耗对比 Table 3 Comparison of clock network power consumption of SCORE between ChipA and ChipB
4 结束语

本文分析高性能众核处理器芯片设计中的H-Tree+MESH混合时钟网络结构,构建新型多源时钟树综合(MRCTS)结构并研究其对模块时钟网络功耗的优化作用。两款处理器芯片实测功耗的对比结果显示,在相同电源电压和时钟频率条件下,基于MRCTS的ChipB运算部件SCORE的时钟网络功耗较ChipA下降约22.15%。但由于新型MRCTS时钟树结构中Tap点的位置受限于H-Tree时钟树结构,分布一般比较均匀且位置相对固定,Tap点位置调整对全局布线的影响较大,然而在实际设计中时序单元的分布不均匀,受逻辑设计和物理布局规划影响,相对分布均匀的Tap点会导致各Tap点驱动的Local时钟网络负载不均衡,在部分情况下可能会严重影响最终的时钟树设计及模块时序收敛,因此后续将通过实时分析与调整Tap点的分布和数量进一步优化时钟网络设计。

参考文献
[1]
殷瑞祥, 郭镕, 陈敏. 同步数字集成电路设计中的时钟树分析[J]. 华南理工大学学报(自然科学版), 2005, 33(6): 5-8.
YIN R X, GUO R, CHEN M. Clock tree analysis in design of synchronous digital integrated circuit[J]. Journal of South China University of Technology(Natural Science), 2005, 33(6): 5-8. (in Chinese) DOI:10.3321/j.issn:1000-565X.2005.06.002
[2]
WESTE N H, HARRIS D. CMOS超大规模集成电路设计[M]. 汪东, 译. 北京: 中国电力出版社, 2006.
WESTE N H, HARRIS D. CMOS VLSI design[M]. Translated by WANG D. Beijing: China Electric Power Press, 2006. (in Chinese)
[3]
王兵, 彭瑞华, 傅育熙. 前后端协同的时钟树设计方法[J]. 计算机工程, 2008, 34(12): 227-229, 232.
WANG B, PENG R H, FU Y X. Clock tree design method with front-end and back-end combined[J]. Computer Engineering, 2008, 34(12): 227-229, 232. (in Chinese) DOI:10.3969/j.issn.1000-3428.2008.12.080
[4]
WANG T J, HUANG S H, CHENG W K, et al. Top-level activity-driven clock tree synthesis with clock skew variation considered[C]//Proceedings of 2016 IEEE International Symposium on Circuits and Systems. Washington D. C., USA: IEEE Press, 2016: 2591-2594.
[5]
CHAN T B, HAN K, KAHNG A B, et al. OCV-aware top-level clock tree optimization[C]//Proceedings of the 24th Edition of the Great Lakes Symposium on VLSI. New York, USA: ACM Press, 2014: 33-38.
[6]
TEH E K, ZAWAWI M A M, MOHAMED M F P, et al. Practical full chip clock distribution design with a flexible topology and hybrid metaheuristic technique[J]. IEEE Access, 2021, 9: 14816-14835. DOI:10.1109/ACCESS.2021.3053052
[7]
KAO H Y, LEE Y, HUANG S H, et al. An industrial design methodology for the synthesis of OCV-aware top-level clock tree[C]//Proceedings of the 6th International Symposium on Next Generation Electronics. Washington D. C., USA: IEEE Press, 2017: 1-3.
[8]
HAN K, KAHNG A B, LI J J. Optimal generalized H-Tree topology and buffering for high-performance and low-power clock distribution[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2020, 39(2): 478-491. DOI:10.1109/TCAD.2018.2889756
[9]
VISHNU P V, PRIYARENJINI A R, KOTHA N. Clock tree synthesis techniques for optimal power and timing convergence in SoC partitions[C]//Proceedings of the 4th International Conference on Recent Trends on Electronics, Information, Communication & Technology. Washington D. C., USA: IEEE Press, 2019: 276-280.
[10]
FRIEDMAN E G. Clock distribution networks in synchronous digital integrated circuits[J]. Proceedings of the IEEE, 2001, 89(5): 665-692. DOI:10.1109/5.929649
[11]
LU J W, CHOW W K, SHAM C W. Fast power- and slew-aware gated clock tree synthesis[J]. IEEE Transactions on Very Large Scale Integration Systems, 2012, 20(11): 2094-2103. DOI:10.1109/TVLSI.2011.2168834
[12]
ROY S, MATTHEAKIS P M, MASSE-NAVETTE L, et al. Evolving challenges and techniques for nanometer SoC clock network synthesis[C]//Proceedings of the 12th IEEE International Conference on Solid-State and Integrated Circuit Technology. Washington D. C., USA: IEEE Press, 2014: 1-10.
[13]
俞剑明. 容偏差百核片上网络设计与多核粒度建模[D]. 上海: 复旦大学, 2014.
YU J M. 100 core process variation tolerant network on chip design and many-core granularity modeling[D]. Shanghai: Fudan University, 2014. (in Chinese)
[14]
YEH C, WILKE G, CHEN H, et al. Clock distribution architectures: a comparative study[C]//Proceedings of the 7th International Symposium on Quality Electronic Design. Washington D. C., USA: IEEE Press, 2006: 85-91.
[15]
SHIH X W, LEE H C, HO K H, et al. High variation-tolerant obstacle-avoiding clock mesh synthesis with symmetrical driving trees[C]//Proceedings of 2010 IEEE/ACM International Conference on Computer-Aided Design. Washington D. C., USA: IEEE Press, 2010: 452-457.
[16]
RAJARAM A, PAN D Z. Robust chip-level clock tree synthesis[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2011, 30(6): 877-890. DOI:10.1109/TCAD.2011.2106852
[17]
SRIVATSA V G, CHAVAN A P, MOURYA D. Design of low power & high performance multi source H-tree clock distribution network[C]//Proceedings of 2020 IEEE VLSI Device Circuit and System. Washington D. C., USA: IEEE Press, 2020: 468-473.
[18]
XIAO L F, XIAO Z G, QIAN Z C, et al. Local clock skew minimization using blockage-aware mixed tree-mesh clock network[C]//Proceedings of 2010 IEEE/ACM International Conference on Computer-Aided Design. Washington D. C., USA: IEEE Press, 2010: 458-462.
[19]
胡向东, 柯希明, 尹飞, 等. 高性能众核处理器申威26010[J]. 计算机研究与发展, 2021, 58(6): 1155-1165.
HU X D, KE X M, YIN F, et al. Shenwei-26010: a high-performance many-core processor[J]. Journal of Computer Research and Development, 2021, 58(6): 1155-1165. (in Chinese)
[20]
NIKHIL P. A novel clock distribution technology Multisource Clock Tree System(MCTS)[J]. International Journal of Advanced Research in Electrical, Electronics and Instrumentation Energy, 2013, 27(6): 2234-2239.
[21]
BHAT V K, SURENDRA H H, ARCHANA H R. Skew analysis on multisource clock tree synthesis using H-tree structure[M]. Berlin, Germany: Springer, 2020.
[22]
高旭. 数字后端低功耗设计策略探讨——基于Synopsys EDA工具对时钟树功耗进行分析及优化[J]. 中国集成电路, 2016, 25(8): 31-36, 42.
GAO X. Explore the strategy of low power clock tree in physical design—analyze and optimize of clock tree power consumption based on Synopsys EDA tool[J]. China Integrated Circuit, 2016, 25(8): 31-36, 42. (in Chinese) DOI:10.3969/j.issn.1681-5289.2016.08.005