CN111259614A - 优化鱼骨型时钟树金属走线的设计方法 - Google Patents
优化鱼骨型时钟树金属走线的设计方法 Download PDFInfo
- Publication number
- CN111259614A CN111259614A CN201811358713.XA CN201811358713A CN111259614A CN 111259614 A CN111259614 A CN 111259614A CN 201811358713 A CN201811358713 A CN 201811358713A CN 111259614 A CN111259614 A CN 111259614A
- Authority
- CN
- China
- Prior art keywords
- fishbone
- tree
- clock
- wiring
- logic units
- 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.)
- Granted
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种优化鱼骨型时钟树金属走线的设计方法,包括以下步骤:1)在摆放芯片中的逻辑单元前,将整体模块划分为边长为30微米的正方形,规定每个正方形里,逻辑单元摆放的密度,使逻辑单元均匀分布。2)取出相邻鱼骨树枝干的纵坐标,计算出相邻鱼骨树枝干的间距,记为a,在每个相邻枝干的中心点创建横走线堵塞物。3)以鱼骨树主干为起点,以a为间隔,分别向左、向右创建纵向走线堵塞物。4)抓取鱼骨型时钟树的驱动与其负载相连的线名,优先对这些连线进行金属走线,走线完成后删除金属走线阻塞物,再进行全局布线。本发明将节约互连线资源,优化时钟结构,提高时钟质量。
Description
技术领域
本发明设计一种优化鱼骨型时钟树金属走线的设计方法。
背景技术
由于时钟结构的复杂化,工具在自动生长时钟树时,为了平衡时钟树,使时钟信号从同一时钟源出发,到各个寄存器的时钟端延时一致,通常会在较短路径上加缓冲器,同时将短路径绕远,从而短路径与较长路径的时钟延时平衡到一致。随着工艺进步,特征尺寸的不断缩小,互联线延迟已经成为时序路径上的主要延时单位,因此这种绕远金属线和插入平衡单元缓冲器的方式无形中增加了绕线距离,使得时钟信号传播的延时大大增加,造成消耗的功耗增加。优化鱼骨型时钟树绕线,使负载分布均匀,各负载与驱动枝干的金属走线长度基本一致,减少时钟偏差,从而减少缓冲器的加入,降低功耗。
传统鱼骨型时钟树金属走线时,由于是工具自动摆放逻辑单元,有的逻辑单元分布不均,导致有些部分金属走线过密,有的逻辑单元距离驱动的枝干太远,金属走线时会绕远来避免物理违例。绕远的金属线会增加时钟延迟,造成很大的时钟偏差。此外,平行绕远的长线,会导致噪声,串扰的增加。优化鱼骨型时钟树绕线,使负载的连线轨迹固定,避免负载绕远,从而减少时钟偏差,提高时钟质量。
鱼骨型时钟树的优点是由多个驱动单元驱动主干,再由主干连接并驱动枝干,负载直接与枝干相连,从而达到时钟树各分支的时钟延迟近乎一致,从而相除时钟偏差对时序的影响。如果当时钟树金属走线时不进行处理,与鱼骨树主干临近的负载会直接与主干进行金属线连接。这与设计初衷相悖,且会导致主干负载过大,造成很大的时钟转换时间延迟,从而影响时钟质量,因此需要避免负载与主干有金属连线的情况。
发明内容
本发明要解决的问题是提供一种优化鱼骨型时钟树金属走线,从而减少时钟偏差,提高时钟质量,降低时钟功耗的设计方法。
本发明是这样实现的:
优化鱼骨型时钟树金属走线的设计方法,包括如下步骤:①在摆放芯片中的逻辑单元前,将整体模块划分为边长为30微米的正方形,规定每个正方形里,逻辑单元摆放的密度,使逻辑单元均匀分布;②取出相邻鱼骨树枝干的纵坐标,计算出相邻鱼骨树枝干的间距,记为a,在每个相邻枝干的中心点,创建横走线堵塞物;③以鱼骨树主干为起点,以a为间隔,分别向左、向右创建纵向走线堵塞物;④抓取鱼骨型时钟树的驱动与其负载相连的线名,优先对这些连线进行金属走线,走线完成后删除走线阻塞物,再进行全局布线。
本发明的优点在于:鱼骨型时钟树的负载均匀分布在枝干附近,通过金属走线阻塞物形成的长方形方框,使负载与最近的枝干进行金属线连接,让同一枝干上的时钟延时长短相近,不同枝干的时钟延时长短也相近,进而生成的时钟树,时钟偏差小,时钟的质量好。因为不用进行时钟树的延时平衡,从而减少缓冲单元的插入,减少绕线长度,从而减低芯片整体功耗。
附图说明
下面参照附图结合实施例对本发明做进一步描述。
图1是现有技术的鱼骨型时钟树的负载在实际芯片版图中的分布示意图。
图3是本发明的鱼骨型时钟树的负载在实际芯片版图中的分布示意图。
图2是现有技术的鱼骨型时钟树在实际芯片版图中的走线位置示意图。
图4是本发明的鱼骨型时钟树在实际芯片版图中的走线位置示意图。
具体实施方式
在芯片后端设计过程中,工具自动布局布线,通常会有逻辑单元放置位置不合理,局部堆积等现象,如果逻辑单元的管脚很多,即物理连线多,那么很有可能在一片区域造成金属走线阻塞,从而引起设计规则的违例,导致芯片失效。图 1和图2对比,相同面积区域放置相同多的逻辑单元,明显可见,图2相比图1 逻辑单元放置更为均匀合理。
传统芯片设计在放置逻辑单元阶段,会对芯片整体区域,进行逻辑单元密度的约束,但由于有的逻辑单元相互之间有许多联系,工具会根据时序进行优化,为满足时序要求,尽可能的将有联系的逻辑单元放置到一起。如图1,工具会将部分逻辑单元放置很紧密,其他的相互之间联系很少的就会放置松散。
如图2中,在放置逻辑单元前,取出芯片版图的长和高,计长为a,高计为 b。以芯片左下角为坐标原点,将芯片整体划分为相同的30*30微米的正方格。计坐标原点方格的左下角坐标为{A1 B1},右上角坐标为{A2 B2},其中A1=0, B1=0,A2=30,B2=30。
芯片X轴方向可以被分为a/30份,Y轴方向可以被分为b/30份。对变量y 循环,设变量y为1,当y小于等于b/30时,y加1,在y循环中嵌入x内循环,设变量x为1,对x变量循环,当x小于等于a/30时,x加1,设每个方格的坐标点左下角坐标为{A1*(x-1) B1*(y-1),右下角坐标为{A2*(x-1) B2*(y- 1)}。从而依次取出方格的坐标。
如图2中,对取出的每个方格坐标,约束其中逻辑单位的放置密度。在放置逻辑单元时,工具就会根据每个小方格里的密度要求,放置逻辑单元,这样就有效避免的逻辑单元放置不均匀的问题。
随着工艺进步,特征尺寸的不断缩小,互联线延迟已经成为时序路径上的主要延时单位。图3,是模拟实际的鱼骨树时钟树逻辑单元放置和金属走线的示意图。从图中可见,逻辑单元放置分布不均匀,金属走线长短差距很大。图中金属走线a,b,c,d与金属走线e,f,g长度差距很大,因此造成了这两个时钟分支上的时钟偏差很大。
如图4所示,本发明的优化鱼骨型时钟树金属走线的设计方法,包括:
根据图2中描述的方法,在摆放芯片中的逻辑单元前,将模块整体划分为 30um*30um的方格,取出每个方格的坐标,规定每个方格里,逻辑单元摆放的密度,使逻辑单元均匀分布。图3与图4对比,相同面积下放置相同数量的逻辑单元,在图4中,鱼骨树的枝干附近逻辑单元摆放更均匀。
取出最下方鱼骨树枝干的左下角坐标,计为{x1 y1},取出最上方鱼骨树枝干的右上角坐标,计为{x2 y2},计算出鱼骨树枝干的长为x2-x1,计为A,计算出鱼骨树的高为y2-y1,计为B。相邻鱼骨树枝干的间距,记为a。
设变量c的初始值为y1,对Y轴循环,当c小于等于B时,取出横向阻塞物的左下角坐标为{x1 c+a/2},横向阻塞物右上角坐标为{x2 c+a/2+ 0.01},且对c重新赋值为(c+a)。由此推算即第一个横向绕线阻塞物的左下角坐标为{x1 y1+a/2},计第一个横向绕线阻塞物的右上角坐标为{x2 y1+ a/2+0.01}。根据所取的左上角和右下角坐标点,依次在相邻鱼骨数枝干的中间位置,创建横向绕线阻塞物。
取出鱼骨树主干分别与底下和顶上相接的枝干处的坐标,左下角坐标为{x3 y1},右上角坐标为{x4 y2}。
由主干向左取纵向绕线阻塞物的坐标点。设变量的d的初始值为x3,当d大于等于x1时循环取值,取出纵向阻塞物的左下角坐标为{d y1},纵向阻塞物的右上角坐标为{d+0.01 y2},且对d重新赋值为(d-a)。根据所取的坐标点,从鱼骨树主干往左,创建间隔为a的纵向金属走线阻塞物。
由主干向右取纵向绕线阻塞物的坐标点。设变量的e的初始值为x4,当e小于等于x2时循环取值,取出纵向阻塞物的左下角坐标为{e y1},纵向阻塞物的右上角坐标为{e-0.01 y2},且对e重新赋值为(e+a)。根据所取的坐标点,从鱼骨树主干往右,创建间隔为a的纵向金属走线阻塞物。
抓取鱼骨型时钟树的驱动与其负载相连的线名,优先对这些连线进行金属走线。对特定金属走线完成后,删除金属线阻塞物,再进行全局布线。
如图4所示,时钟负载均匀放置,鱼骨树枝干与其负载的金属走线被横向和纵向的金属走线阻塞,圈定在矩形框里。金属走线只有与无金属绕线阻塞的枝干相连,负载就近与枝干相连,各金属走线的长度基本一致,各时钟分支间时钟偏差较小,从而减少了不同支路间的时钟偏差,进而减少增加缓冲单元来平衡时钟树,减少功耗,节约面积。
以上所述仅为本发明的最佳实用例子,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改,等同替换以及改进等,都应该包含在本发明的保护范围之内。
Claims (4)
1.优化鱼骨型时钟树金属走线的设计方法,其特征在于:包括如下步骤:
在摆放芯片中的逻辑单元前,将整体模块划分为边长为30微米的正方形,规定每个正方形里,逻辑单元摆放的密度,使逻辑单元均匀分布。
2.如权利要求1所述的优化鱼骨型时钟树金属走线的设计方法,其特征在于:还包括:
取出相邻鱼骨树枝干的纵坐标,计算出相邻鱼骨树枝干的间距,记为a,在每个相邻枝干的中心点,创建横走线堵塞物。
3.如权利要求1所述的优化鱼骨型时钟树金属走线的设计方法,其特征在于:还包括:
以鱼骨树主干为起点,以a为间隔,分别向左、向右创建纵向走线堵塞物。
4.如权利要求1所述的优化鱼骨型时钟树金属走线的设计方法,其特征在于:还包括:抓取鱼骨型时钟树的驱动与其负载相连的线名,优先对这些连线进行金属走线,走线完成后删除走线阻塞物,再进行全局布线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811358713.XA CN111259614B (zh) | 2018-11-15 | 2018-11-15 | 优化鱼骨型时钟树金属走线的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811358713.XA CN111259614B (zh) | 2018-11-15 | 2018-11-15 | 优化鱼骨型时钟树金属走线的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111259614A true CN111259614A (zh) | 2020-06-09 |
CN111259614B CN111259614B (zh) | 2022-04-26 |
Family
ID=70951821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811358713.XA Active CN111259614B (zh) | 2018-11-15 | 2018-11-15 | 优化鱼骨型时钟树金属走线的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111259614B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881645A (zh) * | 2020-07-03 | 2020-11-03 | 广芯微电子(广州)股份有限公司 | 一种基于噪声时序的时钟树抗干扰方法及装置 |
CN113723046A (zh) * | 2021-08-10 | 2021-11-30 | 广芯微电子(广州)股份有限公司 | 一种鱼骨状时钟树及实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077676A (en) * | 1990-03-30 | 1991-12-31 | International Business Machines Corporation | Reducing clock skew in large-scale integrated circuits |
CN103064992A (zh) * | 2011-10-20 | 2013-04-24 | 台达电子企业管理(上海)有限公司 | 一种基于有向网格点的布线存储结构及其布线方法 |
CN106021722A (zh) * | 2016-05-19 | 2016-10-12 | 深圳市紫光同创电子有限公司 | 基于fpga布局的优化方法 |
-
2018
- 2018-11-15 CN CN201811358713.XA patent/CN111259614B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5077676A (en) * | 1990-03-30 | 1991-12-31 | International Business Machines Corporation | Reducing clock skew in large-scale integrated circuits |
CN103064992A (zh) * | 2011-10-20 | 2013-04-24 | 台达电子企业管理(上海)有限公司 | 一种基于有向网格点的布线存储结构及其布线方法 |
CN106021722A (zh) * | 2016-05-19 | 2016-10-12 | 深圳市紫光同创电子有限公司 | 基于fpga布局的优化方法 |
Non-Patent Citations (1)
Title |
---|
伍艳春: "一种clock mesh与H-tree混合时钟树设计方法", 《电子技术与软件工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881645A (zh) * | 2020-07-03 | 2020-11-03 | 广芯微电子(广州)股份有限公司 | 一种基于噪声时序的时钟树抗干扰方法及装置 |
CN113723046A (zh) * | 2021-08-10 | 2021-11-30 | 广芯微电子(广州)股份有限公司 | 一种鱼骨状时钟树及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111259614B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111259614B (zh) | 优化鱼骨型时钟树金属走线的设计方法 | |
US6245599B1 (en) | Circuit wiring system circuit wiring method semi-conductor package and semi-conductor package substrate | |
CN103022032B (zh) | 标准单元库版图设计方法、布局方法及标准单元库 | |
CN101944149B (zh) | 基于无网格模型的集成电路点到点的布线方法 | |
CN111291525B (zh) | 考虑总线和非总线线网的层分配方法 | |
CN101957876B (zh) | 考虑通孔的基于不均匀网格的多层布线方法 | |
CN101587508A (zh) | 用于确定数据路径的路由的方法、系统及计算机程序产品 | |
US20030023938A1 (en) | LSI layout method and apparatus for cell arrangement in which timing is prioritized | |
US8601429B1 (en) | Method for connecting flip chip components | |
CN104063558A (zh) | 基于线性规划的大规模集成电路通道布线方法 | |
CN112949248B (zh) | 一种芯片顶层狭长通道的自动布线方法、装置及存储介质 | |
CN109033510B (zh) | 基于遗传算法的三维集成电路互连线长度优化方法及装置 | |
CN111753484B (zh) | 一种基于电路性能的多裸片结构fpga的布局方法 | |
CN103235849A (zh) | 电流驱动的集成电路自动布线方法及装置 | |
CN109933857B (zh) | 感知集成电路布局信息的时钟树主干拓扑生成方法及系统 | |
Groeneveld | Wire ordering for detailed routing | |
CN114548025A (zh) | 解决物理设计长线时序延迟的自动化脚本编写及使用方法 | |
Wu et al. | Antenna avoidance in layer assignment | |
CN116956804B (zh) | 一种缓冲器的版图构造方法、时钟树生成方法及装置 | |
JPH04167446A (ja) | 半導体論理集積回路の自動配置配線方法 | |
US6804811B2 (en) | Process for layout of memory matrices in integrated circuits | |
JP2932776B2 (ja) | Cmos−lsiのセルのレイアウト方法 | |
US20030074643A1 (en) | Unified database system to store, combine, and manipulate clock related data for grid-based clock distribution design | |
JP3068492B2 (ja) | 自動配置配線方法 | |
JP2667274B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |