开放科学(资源服务)标志码(OSID):
目前,主流高性能微处理器基于同步时钟系统进行设计开发。时钟信号为芯片内同步系统提供参考时间,是同步时序逻辑运行的基础[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 |
随着集成电路设计规模的不断提高,片上时钟网络规模、时钟类型和复杂的时钟结构使得单一网络结构的时钟设计遇到了严峻挑战,设计人员开始寻求在性能、功耗等方面进行折中,提出了混合结构的时钟设计方法[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 |
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 |
时钟网络的功耗由静态功耗、短路功耗和翻转功耗三部分组成[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}}=\alpha {C}_{\mathrm{l}\mathrm{o}\mathrm{a}\mathrm{d}}{V}_{\mathrm{D}\mathrm{D}}^{2}f $ | (1) |
其中:α为翻转率;
由此可以看出,基于相同代码与布局规划进行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 |
本文分析高性能众核处理器芯片设计中的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 |