CN117764024A - 一种基于h树的时钟树综合优化方法 - Google Patents

一种基于h树的时钟树综合优化方法 Download PDF

Info

Publication number
CN117764024A
CN117764024A CN202311811203.4A CN202311811203A CN117764024A CN 117764024 A CN117764024 A CN 117764024A CN 202311811203 A CN202311811203 A CN 202311811203A CN 117764024 A CN117764024 A CN 117764024A
Authority
CN
China
Prior art keywords
tree
buffer
clock
wiring
tap
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311811203.4A
Other languages
English (en)
Inventor
符强
屈康杰
纪元法
孙希延
肖有军
白杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanning Guidian Electronic Technology Research Institute Co ltd
Guilin University of Electronic Technology
Original Assignee
Nanning Guidian Electronic Technology Research Institute Co ltd
Guilin University of Electronic Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanning Guidian Electronic Technology Research Institute Co ltd, Guilin University of Electronic Technology filed Critical Nanning Guidian Electronic Technology Research Institute Co ltd
Priority to CN202311811203.4A priority Critical patent/CN117764024A/zh
Publication of CN117764024A publication Critical patent/CN117764024A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明提供一种基于H树的时钟树综合优化方法,该方法包括:1)根据时钟树结构确定时钟树根节点,再根据与根节点连接的单元的位置分布和基本单元的分布来确定H树的覆盖范围从而确定tap点的分布和数量;2)通过tap点范围和数量计算步长和起点并规划布线的方向顺序;3)使用setup文件管控整个布局布线流程,包括时钟树综合;4)H树缓冲器和tap点采用定制大驱动缓冲器降低延迟和电压降;5)删除与宏位置重合的tap点和0扇出的tap点;6)充分利用设计规则,去除H树T型交点处的缓冲器;7)通过翻转缓冲器方向减短布线距离;8)使用梯形过孔降低时钟延迟。应用该方法,有利于缩短H树时钟延迟,减轻H树功耗,减少出现电压降和电迁移问题。

Description

一种基于H树的时钟树综合优化方法
技术领域
本发明属于集成电路卫星导航定位芯片物理设计技术领域,尤其涉及数字集成电路物理设计中的时钟树综合,具体涉及一种基于H树的时钟树综合优化方法。
背景技术
数字集成电路物理设计中的布局布线阶段包括布图规划、电源规划、布局规划、时钟树综合和布线。时钟树综合(Clock Tree Synthesis,简称CTS)是集成电路设计中的一个重要步骤,主要用于在芯片上分布时钟信号,以确保各个时钟域之间的同步性和稳定性。时钟树综合的主要目标是最小化时钟信号延迟和偏差(skew)、低功耗设计和更多的时序收敛。
时钟树根据其在芯片内的分布特征,可分为多种结构,主要有常规时钟树、H树(H-tree)、X树(X-tree)、平衡树(balanced tree),以及梳状或脊椎状时钟网(clock treemesh:comb or spine)。H树结构简单易于实现,H树从中心点到达各个tap节点的距离相等,因此时钟偏差理论值为0,时钟偏差越小意味保持时间(hold timing)越容易收敛。H树适用于电路干净,没有数据选择器(MUX)和集成门控时钟(ICG)的顶层设计,或者阵列式分布宏(macro)的板块(block)中。目前专利多是根据自身布图、布局结果,做H树的变形使其更适应芯片的设计结构。另一方面,有学者对H树进行了更详细的优化,如优化tap点的位置放置和分裂(splite)门控时钟以获得更小的偏差和时序。
目前H树可优化的空间还很大,和常规时钟树相比,其从根节点到触发器的时钟延迟更高,需要插入更多的缓冲器而产生多余的功耗,缓冲器的插入方向影响布线,大驱动容易产生电压降和电迁移问题。为减轻以上问题对时钟树综合的影响,亟需一种基于H树的时钟树综合优化方法。
发明内容
针对以上所述现有技术的缺陷,本发明提供一种基于H树的时钟树综合优化方法。该方法与具体实施包含以下步骤:
步骤一:通过目标时钟的结构,确定时钟树根节点;然后根据与根节点连接的单元(cell)的位置分布情况来确定H树的覆盖范围从而确定tap点的分布和数量。H树的覆盖范围为矩形其对角线端点为A(x1,y1)和B(x2,y2),tap点数量为M行N列。
步骤二:确定tap点分布范围和数量后计算tap点的步长和起点并规划布线的方向顺序。X轴步长为lx=(x2-x1)/M,Y轴步长为ly=(y2-y1)/N,起点为S(x1+lx/2,y1+ly/2),以应用案例举例,本发明采用“HVH”的布线顺序,其中“H”表示水平方向,“V”表示垂直方向。
步骤三:使用setup.tcl文件保存整个布局布线过程的全局变量和管控整个布局布线流程。其作用是加速芯片后端设计周期,提高产能效率。
步骤四:H树缓冲器和tap点采用一种定制的大驱动缓冲器降低延迟,它的结构特点是,内嵌decap来降低峰值电流从而降低电压降,输出引脚连接梯形过孔同样使时序延迟降低。
步骤五:删除与宏单元重合的tap点和0扇出的tap点。
步骤六:充分利用DRV极限,去除H树T型交点处放置的缓冲器。
步骤七:通过翻转缓冲器方向减短布线距离。。
步骤八:使用梯形过孔降低时钟延迟。
步骤九:在22nm工艺中使用更准确的POCV时序分析模型。
如上所述,本发明的一种基于H树的混合时钟树综合优化方法与具体实施,具有以下有益效果:
(1)时序上,缩短延迟降低OCV影响。基于扇出点位置确定tap点范围的方法,可以缩小H树从根节点到tap点的距离,达到减小延迟的作用;H树的缓冲器采用定制大驱动可以有效降低延迟,加快信号传输,同时,采用梯形通孔能够降低通孔的RC寄生参数从而加速信号通过。减少延迟有助于降低OCV的影响。
(2)功耗上,删除多余的、零扇出的tap点可以减少缓冲器数量和布线资源,优化T型分支减少使用缓冲器的数量,翻转H树缓冲器缩短布线距离,这三个方法的实施,都起到了一定的功耗优化作用。
(3)缩短设计周期。本发明将布局布线所需要的全局变量都集中在setup.tcl文件中,方便后续针对不同特点项目的修改,以及方便每个阶段如布图规划、电源规划、布局规划、时钟树综合、布线阶段自动化脚本数据的读入,这样就更适合流水线作业,加快设计速度缩短设计周期。
(4)减少电压降违例。传统大驱动信号翻转会造成较大的峰值电流,从而导致电压降违例,本发明使用定制的大驱动周围嵌有decap物理单元,相当于周围布满电容来降低峰值电流从而降低电压降违例。
(5)降低电迁移违例。优化传统过孔结构,H树缓冲器输出端使用梯形通孔,增加通孔数量,有效降低过孔电阻分担电流从而改善电迁移问题。
附图说明
为了进一步阐述本发明所描述的内容,下面结合附图对本发明的具体实施方式作进一步详细的说明。应当理解,这些附图仅作为典型示例,而不应看作是对本发明的范围的限定。
图1一种基于H树的时钟树综合优化方法流程图。
图2板块中常见的时钟结构图。
图3tap点位置计算图。
图4setup文件数据流向与管控。
图5大驱动buffer结构的俯视图。
图6tap点在应用案例的位置。
图7优化T型分支的思路。
图8T型优化情况2。
图9缓冲器翻转优化。
图10常规过孔与梯型过孔对照图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明实施例提供了一种基于H树的时钟树综合优化方法,如图1所示,该方法包括:
步骤S01:查看目标时钟的结构,确定时钟树根节点;利用ICC2查看与根节点连接的单元(cell)的位置分布情况以确定H树tap点的分布范围和数量。由于本发明实施案例的基本单元大部分集中在上半部分,所以不采用常规的覆盖整个板块(block)的H树结构,而是选择覆盖范围为板块上半部分矩形的H树结构,其对角线的两个坐标为A(x1,y1)、B(x2,y2),tap点数量为M×N即M行N列。本发明不对对角线端点坐标和tap点数量作约束,它们主要由H树覆盖范围动态决定。
在后端布局布线中,完成基本单元的布局(place)规划后即可知道时钟结构,如图2所示。由于H树存在无法穿过门控时钟(ICG)、数据选择器(MUX)对触发器直接综合的缺陷,所以,当处于第一级(level 1,L1)的数据选择器作为时钟树的根节点时,tap点只能与处于第二级的触发器、数据选择器和门控时钟直接相连。在默认情况下,EDA工具根据设计板块(block)的长、宽进行等高度、等宽度地放置tap点,这可能会造成大量的tap点的输出端没有基本单元连接,即tap点0扇出。为解决这一情况,本发明根据二级基本单元和触发器(flip flop,FF)的分布情况确定tap点的分布范围,本发明的二级基本单元基本分布在以对角线端点A(x1,y1)、B(x2,y2)的矩形范围内,故对该区域选择M×N的tap点进行放置。
步骤S02:确定分布范围和数量后计算tap点的步长并规划布线的方向顺序,本发明采用“HVH”的布线顺序。获取覆盖范围以及确定tap点数量后可计算步长,设tap点的放置方式为M行N列,则X轴步长为lx=(x2-x1)/M,Y轴步长为ly=(y2-y1)/N,起点为S(x1+lx/2,y1+ly/2)。布线方向一般和时钟源位置和tap点位置相关,其中“H”表示水平方向,“V”表示垂直方向。当M=2,N=4时,效果如图3。
步骤S03:创建setup.tcl文件。建立(setup)文件是整个布局布线过程保存全局变量的文件,对整个布图规划(Floorplan)、布局规划(Place)、时钟树综合(CTS)和布线(Rout)流程具有管控作用。文件使用TCL(Tool Command Language)语言书写所以后缀是.tcl。为了加快设计周期,方便后续版本的优化更替,一般会将整个布局布线阶段的相关参数放置在用TCL语言编写的setup.tcl文件中以提高设计效率,其数据流向如图4。
设置与H树相关的参数。利用ICC2布局布线工具构建H树,需要设置行列数、buffer驱动类型、DRV重复距离(repeat distance)、布线方向顺序、时钟源、时钟树的布线层、buffer和tap点的前缀名称,这些参数都写在setup.tcl文件中。
步骤S04:优化缓冲器(buffer)。使用H树会导致根节点到触发器的距离增加,而使用大驱动缓冲器可以有效缩短两者的到达时间延迟,而常规的大驱动会导致明显的电压降(IR Drop),为此本发明的H树缓冲器和tap点都采用统一定制的大驱动缓冲器,其结构如图5,其内嵌有decap基本单元能够降低峰值电流从而降低电压降(IR Drop),缓冲器输出引脚连接的梯形通孔也有一定的降低时序延迟作用。
优化tap点的数量。由于部分tap点的坐标可能是在面积较大的宏(macro)上,所以需要删除这部分tap点。首先,获取宏的对角线端点的坐标和每个tap点的坐标,判断tap点坐标是否在宏范围内,如果在则删掉该tap点。另一方面,在做了第一版H树的情况下,可以检测tap点的扇出是否为0,如果为0则删除tap点,达到减少tap点数量减少功耗和布线的目的。
步骤S05:综合tap点,即将tap点放置在版图上。设置tap的起点坐标和步长,设置tap点的负载网络($NET)为高扇出单元输出引脚的网络,如图2中L1级MUX输出引脚的网络(net)名称。然后,通过create_clock_driver指令生成tap点,tap点使用的是定制大驱动缓冲器,效果如图6,前缀名称为htree_tap。图6是本发明一个应用案例,整个设计板块中,虚线包围的上半部分为H树覆盖范围,范围内采用2×4的方式排列tap点,由于有一个tap点与Macro重叠故将其删掉,右上角为板块的输入输出端口(Port)。
综合H树。设置负载网络非默认规则布线(NDR)采用两倍宽度两倍间距,并且在金属层M6、M5上布线,一方面宽度增加和上层布线有利于减少电阻获得更好的时序,另一方面宽度增加抗电迁移性也增加,而两倍间距有利于减轻信号串扰。然后,使用指令synthesize_multisource_global_clock_trees综合H树,H树缓冲器采用和tap点相同的定制大驱动,然后使用Zroute引擎完成直至引脚的连接。
tap点分配。设置时钟名称、驱动对象的引脚为tap的输出引脚、tap的数量为M×N。指令synthesize_multisource_clock_taps把sinks连接到距离自己最近tap点上。
步骤S06:优化T型分支。常规H树一般都会在T型交点处放置缓冲器,导致产生多余的功耗,为了弥补这一缺陷,需要充分利用DRV约束条件,节省交点处的缓冲器,其思路如图7,其中Ir表示缓冲器输出信号的最大传输距离,X表示缓冲器到H树T型交点的距离。具体步骤为:首先获取所处T型分支的两个缓冲器的引脚属性,以其中一个buffer_L4为例,设buffer_L5的坐标为(x5,y5),buffer_L4的坐标为(x4,y4),设buffer_L4到buffer_L5的距离为d,新的buffer起点距离buffer_L5的距离为dhead(n),buffer插入的最大距离为drepeater,会出现三种情况。当d<dhead(n)时不做处理;当dhead(n)<d<dhead(n)+drepeater时,如图8,设置新的缓冲器的横坐标xpos=x5-drepeater,分支布线余量即尾长dtail=|xpos-x4|,下一个分支新的缓冲器起点距离buffer_l4的距离dhead(n-1)=(drepeater-dtail)/2。判断是否已将到达tap点,如果已经到达则tap点,则在(xpos,ypos)点插入buffer然后进入下一个循环,如果没有到达,将分支点buffer_l4的位置改为(xpos,ypos),相当于删除了一个缓冲器,然后递归使用该函数;当d>dhead(n)+drepeater时,直接在(xpos,ypos)位置插入H树缓冲器,更新xpos=xpos-drepeater,然后在(xpos,ypos)插入缓冲器。随后,更新dtail=|xpos-x3|和dhead(n-1)=(drepeater-dtail)/2。和第二种情况类似,判断是否已将到达tap点,如果已经到达则tap点,则在(xpos,ypos)点插入缓冲器然后进入下一个循环,如果没有到达,将分支点buffer_l4的位置改为(xpos,ypos),然后递归使用该函数。
常规的H树一般是在布线交点处放置缓冲器,优化T型分支后,充分利用DRV极限,使得插入的缓冲器更少。
步骤S07:通过翻转缓冲器减短布线。如图9,缓冲器的方向对布线也有一定的影响,通过翻转缓冲器可以在一定程度上缩短布线的距离,距离越短意味着延迟越小,对于做时钟树是非常有利的。首先,获取所有H树缓冲器,然后获取缓冲器输入引脚以及其前一级驱动缓冲器输出引脚的坐标,最后计算中心坐标和它们的曼哈顿距离,翻转缓冲器,再次计算它们的曼哈顿距离,如果更大了则撤销翻转。获取前级缓冲器输出引脚的步骤为,先获取与该缓冲器输入引脚的导线net,随后获取与该导线相连的输出引脚,该引脚即为前级缓冲器的输出引脚。设该缓冲器的输入引脚中心坐标为(xc1,yc1),前级缓冲器的输出引脚坐标为(xc2,yc2),则它们的曼哈顿距离为dman=|xc1-xc2|+|yc1-yc2|。
步骤S08:添加梯形过孔(ladder via)。常规过孔一般采用单孔或双孔,且没有扩展导线,而梯形过孔具有更多的过孔,且与过孔相连的金属层扩展出导线,因此其阻值和电容(RC)寄生参数更低,结构对比如图10。添加梯形过孔的步骤为:首先,创建过孔规则,名称为LDV,打孔层为VIA2、VIA3、VIA4、VIA5,每个打孔层的行数依次为3、8、3、8,列数为8、3、8、3。其次,设置布线属性为高执行力并启动电迁移属性。随后设置icc2选项为允许插入梯形过孔,设置H树缓冲器输出端连接的梯形过孔采用LDV规则,最后插入梯形通孔。
步骤S09:使用指令clock_opt-from build_clock-to route_clock进行时钟树布线,开启POCV模式分析时序。使用POCV时序分析模型可以得到更准确的静态时序分析数据,且和AOCV分析模型相比,AOCV时序分析更加悲观,时序收敛难度更大。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (4)

1.一种基于H树的时钟树综合优化方法,其特征在于,包括:
步骤一:通过目标时钟的结构,确定时钟树根节点;然后根据与所述根节点连接的单元的位置分布情况和基本单元在板块中的分布情况来确定H树的覆盖范围,从而确定tap点的分布和数量,所述H树的覆盖范围为矩形,其对角线端点为A(x1,y1)和B(x2,y2),所述tap点数量为M行N列;
步骤二:确定所述tap点分布范围和数量后,计算所述tap点的步长和起点并规划布线的方向顺序,X轴步长为lx=(x2-x1)/M,Y轴步长为ly=(y2-y1)/N,起点为S(x1+lx/2,y1+ly/2),布线方向的顺序为HVH,其中H表示水平方向,V表示垂直方向;
步骤三:使用setup.tcl文件保存整个布局布线过程的全局变量和管控整个布局布线流程;
步骤四:H树缓冲器和tap点采用一种定制的大驱动缓冲器降低延迟,它的结构特点是,结构左右嵌有decap单元来降低峰值电流从而降低电压降,输出引脚靠近中心连接梯形过孔同样使时序延迟降低;
步骤五:删除与宏单元重合的tap点和0扇出的tap点;
步骤六:充分利用DRV极限,去除H树T型交点处放置的缓冲器;
步骤七:通过翻转缓冲器方向减短布线距离;
步骤八:H树上的过孔均使用梯形过孔降低时钟延迟;
步骤九:在22nm工艺中使用更准确的POCV时序分析模型。
2.根据权利要求1所述的基于H树的时钟树综合优化方法,其特征在于,所述步骤三包括:
使用setup.tcl文件统一管理布图规划、电源规划、布局规划、时钟树综合和布线流程,其保存有整个布局布线的全局变量,在时钟树综合过程中,setup文件保存tap点的行列数、缓冲器驱动类型、DRV重复距离、布线方向顺序、时钟源、时钟树的布线层、缓冲器和tap点的前缀名称等信息。
3.根据权利要求1所述的基于H树的时钟树综合优化方法,其特征在于,步骤五优化T型分支中,删除H树T型交点的缓冲器并重新确定下一级缓冲器插入的位置,设最大传输距离为Ir,该级距离交点最近的缓冲器的距离为X,则下一级插入的缓冲器与交点处的距离为(Ir-X)/2,而不是0.5×Ir。
4.根据权利要求1所述的基于H树的时钟树综合优化方法,其特征在于,所述步骤七包括:首先,获取缓冲器输入引脚以及其前一级驱动缓冲器输出引脚的坐标,然后,计算中心坐标和它们的曼哈顿距离,翻转缓冲器,再次计算它们的曼哈顿距离,如果更大了则撤销翻转。
CN202311811203.4A 2023-12-26 2023-12-26 一种基于h树的时钟树综合优化方法 Pending CN117764024A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311811203.4A CN117764024A (zh) 2023-12-26 2023-12-26 一种基于h树的时钟树综合优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311811203.4A CN117764024A (zh) 2023-12-26 2023-12-26 一种基于h树的时钟树综合优化方法

Publications (1)

Publication Number Publication Date
CN117764024A true CN117764024A (zh) 2024-03-26

Family

ID=90316088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311811203.4A Pending CN117764024A (zh) 2023-12-26 2023-12-26 一种基于h树的时钟树综合优化方法

Country Status (1)

Country Link
CN (1) CN117764024A (zh)

Similar Documents

Publication Publication Date Title
JP3737104B2 (ja) プログラム可能な集積回路デバイスにユーザ回路を配置するタイミング駆動式の方法
JP3891599B2 (ja) 集積回路レイアウト内への標準セルの自動挿入装置
US7281233B1 (en) Method and apparatus for implementing a circuit design for integrated circuitry on a circuit board
US7795943B2 (en) Integrated circuit device and layout design method therefor
US7017132B2 (en) Methodology to optimize hierarchical clock skew by clock delay compensation
US7865855B2 (en) Method and system for generating a layout for an integrated electronic circuit
US8607178B2 (en) Integrated circuit chip with repeater flops and methods for automated design of same
US7013438B1 (en) System chip synthesis
US7831946B2 (en) Clock distribution network wiring structure
US6223328B1 (en) Wire processing method, wire processing equipment, and recording medium for wire processing program used in designing a large scale integrated circuit
JP2001357090A (ja) 論理合成方法及び論理合成装置
CN115329713A (zh) 一种布局模块、生成布线文件以及布线的方法、装置
US6941540B2 (en) Design method for gate array integrated circuit
US6487707B1 (en) Layout design system of semiconductor ic device, layout design method of semiconductor ic device and computer-readable recording medium on which programs for allowing computer to execute respective means in the system or respective steps in the method are recorded
US11074379B2 (en) Multi-cycle latch tree synthesis
US6931610B1 (en) Method for rapid estimation of wire delays and capacitances based on placement of cells
CN117764024A (zh) 一种基于h树的时钟树综合优化方法
US11704467B2 (en) Automated balanced global clock tree synthesis in multi level physical hierarchy
US11829698B2 (en) Guided power grid augmentation system and method
US6615401B1 (en) Blocked net buffer insertion
JPH09223744A (ja) Vlsiチップへの回路の配置方法
Madhavan et al. Physical Design and Implementation of Lakshya-Sub-system of Built in Self Test System
JP4966838B2 (ja) クロック配線処理装置、クロック配線処理方法、及びプログラム
JP4248925B2 (ja) 自動フロアプラン決定方法
JP2010086284A (ja) クロック信号供給回路の設計方法、情報処理装置およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination