LUCT低不确定性时钟树设计方法、算法和工具
前言 – LUCT是什么
第一层时钟树和第二层时钟树
时钟树设计及其设计方式是引起系统芯片性能差异的主要原因。
从历史角度看,ASIC时钟树设计人员利用商用自动化工具设计时钟树,以确保执行时间等性能取得预期结果,但是,这种方法的时钟偏差和插入延时等性能却不尽人意,另外,高复杂性、频率和尺寸设计使得传统方法完全没有可行性。
低不确定性时钟树[LUCT]设计及算法与在系统芯片上实现的第一层时钟树的物理定义有关,能够让设计人员克服传统设计方法的所有低效率问题。
从顶层的根时钟网络(通常是PLL输出)到中层时钟网络,LUCT是一个高质量的负载均衡的时钟树,其目标是将时钟信号从中央锁相环PLL送到芯片的大部分区域,详情参见参考文献[1]。该文献详细介绍了低不确定性时钟树[LUCT]方法和架构,概括了从规格定义到单元布局和时钟合成的全部相关设计流程。
按照参考文献[2]的定义,这种时钟分配方法属于结构化时钟树。文献[2]还概括了现有的不同的时钟设计方式。从时钟源到寄存器,整个时钟树由第一层时钟树和第二层(或本地)时钟树组成。商用EDA工具需要实现本地时钟树。
LuctGenKit是意法半导体数字ASIC产品部的设计方法小组研发的时钟设计工具,可完成LUCT架构的物理实现过程。
图1:在ASIC设计中优化时钟分配
LUCT工具主要特性
LuCT时钟合成工具提供LuCT方法中的所有重要特性:
o均衡的时钟树
-长度均等和主动负载匹配
-障碍感知
-使用低电阻的高层金属层传输信号
-屏蔽和寄生匹配
o增强型订制单元库,满足各种信号强度需求
o支持多种制造工艺,例如,32/28bulk,28fdsoi等
o模块布局,障碍布局与避障
o与布局布线环境完全集成
LuCT设计流程
图2:LuCTgenKit设计流程
LuCTgenKit设计流程分为四个阶段,本文下面章节将给予详细讨论。该工具可简化复杂ASIC设计,在有多个工程师参与整个项目的物理实现的设计环境中效果特别明显。在一个典型设计组织内,物理实现的初始阶段是数据库准备和规格定义,最后阶段的工作主要是由专门的LuCT工程师来完成。一旦数据库准备和规格定义都完成后,仅一名LuCT设计工程师在一个工作日内即可完成整个顶层时钟树(可能不只一个时钟树)的实现和定案工作。
LuCT tool
数据库准备
数据库准备包括必要的设计检查、布局规划合理性验证、读取电源网格形状属性和布局布线工具。其中,布局布线工具用于连接特殊的增强型时钟库,并通过LuCT创建算法确保时钟库布局连贯。本阶段还是使结构化时钟树利用现有技术取得最高性能的关键步骤,特别是在降低电压降和抗串扰方面。
LuCT tool
LuCT规格定义
每一个时钟合成,都需要在该工具内输入下面信息:
o技术节点
o主要时钟树起点(PLL)
-X 和Y坐标
o主要时钟树终点
-每个叶子上的X和Y坐标
o频率范围
o工艺-电压-温度角
o时钟单元参数选择
设计人员可通过图形用户界面输入所需的全部数据和设计方式。
LuCT tool
执行: 创建LuCT
低不确定性时钟树合成自动化工具捆绑下列对象:
-设计规格
-布局规划信息(包括布局障碍和布线障碍)
-电源网格
-设计和布局规则
-网表
-布局
-图形用户界面
-报告
-定案
图3:LuCT应用软件图形用户界面菜单
LuCT工具通过意法半导体独有的算法生成时钟树拓扑。该算法基于均衡的路径长度和等长同质布线。芯片布局规划建模和初始化以及路径计算需要Lemon C++图形函数库[4]。时钟树创建过程包含下列步骤:
o网格生成: 在从布局规划读取数据后,生成障碍模型和电源网格形状模型。从这些模型开始计算一个代表LuCT算法定义的布局布线间距的点集合(网格)。
o构建二进制树:使用意法半导体独有算法将叶子分组,每组一对。通过计算长度均等的包含避障点的路径和合并点(即该路径中间的一点)的方式将每对树叶合并。通过这种方法按照递归方式合并新的叶子(合并点),直到只剩下一个点(树根)为止,详见图4到图6。
o插入时钟驱动器和布线:插入时钟驱动器和优化布线是采用一个自下向上的方法,分别考虑障碍布局和障碍布线。
图 4:终点集合
图5:LuCT创建树算法配对决策与合并
图 6:上一级产生的合并点配对合并
图7 :采用LuCT工具的设计流程
一旦生成时钟树结构,只要在布局布线CAD工具内使用脚本程序即可实现布局。对于多个并行时钟驱动器的高性能布线/走线、通孔布局和电源噪声感知布局,取得布局配置需要使用自定义规则。
通过修改几个对二进制树架构和创建有很大影响的参数,可以优调算法。
下面是一些参数示例:
o叶子对生成:可自动或人工生成
o路径距离计算:可以是纯Manhattan方式或能够感知障碍
o弯折最小化:为布线网络选择适合的吸引力
o通过在每个布线/合并阶段全局重映射中心,吸引合并区向现阶段的中心转移
o时钟树性能指标:障碍强度、时钟偏差/插入延时性能与障碍的均衡性、时钟拥堵。
LuCT 工具
示例和结果
图8所示是按照上面讨论的方法使用LuCTgenKit设计 28FDSOI芯片的时钟树。1GHz时钟信号从时钟源分配到8个树叶,避绕障碍,平衡时钟偏差,查觉障碍。图9所示当连接高层叶子对时如何执行等长计算。
图 8
图 9
这个示例的主要结论是,按照基延迟(base delay)计算,时钟偏差是非常有限的,不过,出现大量的不常见路径。
时钟频率 1GHz
终点数量8
路径总长 22090 um
Common12360umUncommon9730um
PVTCmax Slow, 0.95V, 125c
最大延迟 597 ps
全局偏差(base delay)5 ps
最大转换时间53 ps
创建树运行时< 10s
CPUXeon® E5-2600 v2 2.80GHz
表1:图8和图9的LuCT的数据和测试结果
参考文献
[1] Optimizing clock tree distribution in SoCs with multiple clock sinks
Alberto Ferrara and Pierpaolo De Laurentiis, STMicroelectronics
embedded.com
http://embedded.com/design/mcus-processors-and-socs/4409637/Optimizing-clock-tree-distribution-in-SoCs-with-multiple-clock-sinks-
[2] Myth busters: Microprocessor clocking is from Mars, ASICs clocking is from Venus
Kozhaya, J.;Restle, P.;Haifeng Qian
Computer-Aided Design (ICCAD), 2011 IEEE/ACM International Conference on
Digital Object Identifier:10.1109/ICCAD.2011.6105340
Publication Year: 2011, Page(s): 271 –275
[3] Clocking Design Automation in Intel’s Core i7 and Future Designs
Ali M. El-Husseini and Matthew Morrise
Computer-Aided Design, International Conference on, pp. 276-278, 2011 IEEE/ACM International Conference on Computer-Aided Design, 2011
[4] LEMON Graph Library - Library for Efficient Modeling and Optimization in Networks
http://lemon.cs.elte.hu/trac/lemon
[5] The design and analysis of the clock distribution network for a 1.2 GHz Alpha microprocessor,
T. Xanthopoulos, D. Bailey, A. Gangwar, M. Gowan, A. Jain, and B. Prewitt,
Digest of Technical Papers IEEE International Solid-StateCircuits Conference (ISSCC 2001),
2001, pp. 402–403.
[6] Scalable sub-10ps skew global clock distribution for a 90nm multi-GHz IA microprocessor
N. Bindal, T. Kelly, N. Velastegui, and K. Wong,
Digestof Technical Papers IEEE International Solid-State Circuits Conference
(ISSCC 2003), 2003, pp. 346–347, 498.
[7] The clock distribution of the Power4 microprocessor
P. Restle, C. Carter, J. Eckhardt, B. Krauter, B. McCredie, K. Jenkins, A.Weger,and A. Mule,
Digest of Technical Papers IEEE International Solid-State Circuits Conference
(ISSCC 2002), vol. 1, 3–7 Feb. 2002, pp. 144–145
[8] Method of generating wiring routes with matching delay in the presence of process variation,
US Pat. 7865861
Habitz et al,
Filed 22 Apr 2008 - Issued 4 Jan 2011 - International Business Machines Corporation
[9] Method for the computer-aided ascertainment of a clock tree and Integrated Semiconductor Circuit, US Pat. 7707529
Heinz Endres, Thomas Zettler
Filed 13 Oct 2005 - Issued 27 Apr 2010 - Infineon Technologies AG
[10] Clocking Design and Analysis for a 600MHz Alpha Microprocessor
D.W.Bailey, B.J.Benscheider,
IEEE Journal of Solid-State Circuits, Vol. 33(11): pp.1627-1633, November 1998
[11] Automatic Synthesis of Clock Distribution Networks, US Pat. 8205182 B1
Zlatanovici et al,
Filed 22 Aug 2008 - Issued 19 Jun 2012 – Cadence Design Systems, Inc
评论