CN115964984A - 用于数字芯片版图平衡绕线的方法和装置 - Google Patents
用于数字芯片版图平衡绕线的方法和装置 Download PDFInfo
- Publication number
- CN115964984A CN115964984A CN202310252106.XA CN202310252106A CN115964984A CN 115964984 A CN115964984 A CN 115964984A CN 202310252106 A CN202310252106 A CN 202310252106A CN 115964984 A CN115964984 A CN 115964984A
- Authority
- CN
- China
- Prior art keywords
- point
- near point
- manhattan distance
- common point
- new common
- 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
本发明提供了一种用于数字芯片版图平衡绕线的方法和装置。其中,该方法通过多次迭代过程,从数字芯片版图上当前物理位置点的集合中获取曼哈顿距离最近的两个物理位置点,作为第一近点与第二近点;然后根据第一近点与第二近点计算得出新公共点;不断迭代直至当前物理位置点的集合中仅剩下一个物理位置点,并将该点作为驱动器连接点,然后将驱动器连接至该驱动器连接点。本发明所提供的技术方案不仅能够保证时钟树在绕线方面的平衡,并且还能够减少使用缓冲器的级数,从而减少由缓冲器带来的时钟功耗,以及因不同工艺、电压和温度条件造成的片上变化。
Description
技术领域
本发明涉及数字芯片版图领域,尤其涉及一种用于数字芯片版图平衡绕线的方法和装置。
背景技术
如何保证从驱动器出发到各个负载节点绕线的平衡性(即从驱动器出发到各个负载节点的绕线距离相等)在数字芯片版图绕线技术领域中,是比较棘手的问题。作为当前业内两大主流的全芯片自动化物理设计工具,Cadence公司的Innovus软件与Synopsys公司的ICC2软件均无法实现上述功能。
因此,目前在平衡时钟树设计中一般均通过工程师先手动规划绕线,然后再手动画线来实现平衡时钟树设计。但是,这种手动绕线的方式不仅非常依赖工程师个人的项目经验,而且时间成本繁重。此外,一旦标准单元在布局和规划上有变动,大量的绕线还需要重新规划和手动画线。进一步地,工程师手动画线能否实现系统最优解,也无法得到验证。
发明内容
鉴于此,本发明提供了一种用于数字芯片版图平衡绕线的方法和装置,以用于解决现有技术中的上述技术问题。
根据本发明的一个方面,提供了一种用于数字芯片版图平衡绕线的方法,该数字芯片版图包括金属线、走线轨道、驱动器以及多个物理位置点,多个物理位置点包括负载节点以及公共点,其中,该方法包括以下步骤:
S1:获取当前物理位置点的集合,并获得当前物理位置点的集合中曼哈顿距离最近的两个物理位置点,作为第一近点与第二近点;
S2:分别判断第一近点与第二近点各自的类型,并获得与第一近点与第二近点的曼哈顿距离满足预设条件的新公共点,预设条件为:
新公共点到第一近点的曼哈顿距离与第一近点的路径偏移之和等于新公共点到第二近点的曼哈顿距离与第二近点的路径偏移之和;
S3:将新公共点加入至当前物理位置点的集合中,并且将S1中第一近点与第二近点从当前物理位置点的集合中移除;
S4:重复执行S1至S3,直至当前物理位置点的集合中仅剩下一个物理位置点,作为驱动器连接点;
S5:将驱动器连接至驱动器连接点。
根据本发明的另一个方面,提供了一种用于数字芯片版图平衡绕线的装置,该数字芯片版图包括金属线、走线轨道、驱动器以及多个物理位置点,多个物理位置点包括负载节点以及公共点,其中,该装置包括以下模块:
获取模块,被配置为获取当前物理位置点的集合,并获得当前物理位置点的集合中曼哈顿距离最近的两个物理位置点,作为第一近点与第二近点;
判断模块,被配置为分别判断第一近点与第二近点各自的类型,并获得与第一近点与第二近点的曼哈顿距离满足预设条件的新公共点,预设条件为:
新公共点到第一近点的曼哈顿距离与第一近点的路径偏移之和等于新公共点到第二近点的曼哈顿距离与第二近点的路径偏移之和;
增减模块,被配置为将新公共点加入至当前物理位置点的集合中,并且将第一近点与第二近点从当前物理位置点的集合中移除;
调取模块,被配置为依序循环调用获取模块、判断模块以及增减模块,以重复执行获取模块至增减模块,直至当前物理位置点的集合中仅剩下一个物理位置点,作为驱动器连接点;
连接模块,被配置为将驱动器连接至驱动器连接点。
根据本发明的又一个方面,提供了一种电子设备,包括:一个或多个处理器以及存储器,其中,存储器用于存储可执行指令;一个或多个处理器被配置为经由可执行指令来实现上述的方法。
根据本发明的再另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使处理器执行上述的方法。
从以上技术方案可以看出,本发明所提供的技术方案至少存在以下优点:
本发明提供的方法能够从系统性角度实现时钟平衡的绕线方式,从而保证时钟树在绕线方面的平衡;
本发明提供的方法还能够减少使用缓冲器的级数,从而减少由缓冲器带来的时钟功耗,以及在不同工艺、电压和温度(Process Voltage Temperature, PVT)条件下带来的片上变化(on chip variation,OCV)。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,但并不构成对本发明技术方案的限制。
图1示出了本发明示例性实施例所提供的方法的流程图;
图2本发明示例性实施例所提供的方法应用于具有两个物理位置点的数字芯片版图的示意图;
图3本发明示例性实施例所提供的方法应用于具有三个物理位置点的数字芯片版图的示意图;
图4本发明示例性实施例所提供的方法应用于具有四个物理位置点的数字芯片版图的示意图;
图5本发明示例性实施例所提供的方法应用于具有四个物理位置点的数字芯片版图的又一示意图;
图6示出了本发明示例性实施例所提供的螺旋搜索方法示意图;
图7示出了本发明示例性实施例所提供的装置的结构框图;
图8示出了本发明示例性实施例所提供的的电子设备的结构框图。
具体实施方式
下面将参照附图来详细描述本发明的各种示例性实施例。对示例性实施例的描述仅仅是说明性的,并不作为对本发明及其应用或使用的任何限制。本发明可以以许多不同的形式实现,不限于这里所述的实施例。提供这些实施例是为了使本发明透彻且完整,并且向本领域技术人员充分表达本发明的范围。
除非上下文另外明确地表明,如果未特意限定要素的数量,则该要素可以是一个也可以是多个。如本说明书使用的,术语“多个/若干”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及“……中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
另外,本说明书中有涉及“第一”、“第二”、“第三”等的描述,该“第一”、“第二”、“第三”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。
请参考图1,其示出了本发明示例性实施例所提供的方法的流程图。
本发明的一个方面提供了一种用于数字芯片版图平衡绕线的方法,其中,该数字芯片版图上包括金属线(Metal)、走线轨道(Track)、驱动器(Driver)以及多个物理位置点,多个物理位置点包括负载节点(load)以及公共点(Common Point)。
具体而言,该方法包括执行以下步骤:
S1:获取当前物理位置点的集合,并获得当前物理位置点的集合中曼哈顿距离(Manhattan Distance)最近的两个物理位置点,作为第一近点与第二近点;
S2:分别判断第一近点与第二近点各自的类型,并获得与第一近点与第二近点的曼哈顿距离满足预设条件的新公共点,预设条件为:
新公共点到第一近点的曼哈顿距离与第一近点的路径偏移之和等于新公共点到第二近点的曼哈顿距离与第二近点的路径偏移之和;
S3:将新公共点加入至当前物理位置点的集合中,并且将S1中第一近点与第二近点从当前物理位置点的集合中移除;
S4:重复执行S1至S3,直至当前物理位置点的集合中仅剩下一个物理位置点,作为驱动器连接点;
S5:将驱动器连接至驱动器连接点。
每执行一轮S1至S3的迭代过程,均会从当前物理位置点的集合中移除该轮所获得的第一近点与第二近点,并且加入根据第一近点与第二近点得到的新公共点。也就是说,在下一轮执行S1至S3时,该轮迭代过程获得的第一近点与第二近点将不会被纳入当前物理位置点的集合中,而是会得到对应于下一轮执行的新的第一近点与第二近点。所移除的第一近点与第二近点的类型存在多种情况,例如,可能两个均为负载节点,也可能一个为负载节点另一个为公共点,还可能两个均为公共点。
具体地,在某一轮执行时,若该轮中第一近点的类型为负载节点,则其路径偏移为0;若该轮中第一近点的类型为公共点,则其路径偏移为与产生第一近点的物理位置点之间的曼哈顿距离加上产生第一近点的物理位置点的路径偏移。第二近点的路径偏移计算方式与第一近点相同,此处不再赘述。
请参考图2至图5,其示出了本发明示例性实施例所提供的方法应用于具有不同物理位置点数量的数字芯片版图的示意图。
需要说明的是,当物理位置点为负载节点时,其路径偏移为0,当物理位置点为公共点时,其将带有路径偏移。以下部分结合具体实施例详细说明路径偏移的计算方式。
图2中,首轮执行时数字芯片版图上仅存在两个物理位置点且其均为负载节点,分别记为负载节点1与负载节点2。
此时负载节点1与负载节点2即为曼哈顿距离最近的两个物理位置点,将作为本轮执行的第一近点与第二近点。然后通过获取对应于该第一近点与第二近点的新公共点,该新公共点的位置满足以下条件:
新公共点到负载节点1的曼哈顿距离a=x1+y1,新公共点到负载节点2的曼哈顿距离b=x2+y2,且a=b,即新公共点到负载节点1的曼哈顿距离与到负载节点2的曼哈顿距离相同。所获得的新公共点即作为驱动器连接点。
图3中,首轮执行时数字芯片版图上存在三个物理位置点且其均为负载节点,分别记为负载节点1、负载节点2与负载节点3。
首先判断出此轮中曼哈顿距离最近的两个物理位置点为负载节点1与负载节点2,将负载节点1与负载节点2作为首轮执行中的第一近点与第二近点,以获取公共点1。其中,该公共点1满足,其到负载节点1的曼哈顿距离与其到负载节点2的曼哈顿距离相同(即图3中a=b)。公共点1的路径偏移即为其到负载节点1的曼哈顿距离a或者其到负载节点2的曼哈顿距离b,接着移除负载节点1与负载节点2。
然后进入第二轮执行,此时数字芯片版图上存在两个物理位置点,分别为公共点1与负载节点3,此时公共点1与负载节点2即为曼哈顿距离最近的两个物理位置点,将作为第二轮执行的第一近点与第二近点,以获取公共点2。
由于用于获取公共点2的两个物理位置点中存在一个公共点(即公共点1),因此本轮执行所需获得的公共点2并非直接取公共点1与负载节点3的中点,而是需要考虑公共点1的路径偏移来计算公共点2的位置。即,公共点2需要满足,公共点2到负载节点3的曼哈顿距离=公共点2到公共点1的曼哈顿距离+公共点1的路径偏移,即图3中的c=r+a或c=r+b,其中a=b。此时获得的公共点2即作为驱动器连接点。
图3中获得公共点2的具体计算过程如下:
设r=a+c,然后将斜边r,a,c的值分别用其所对应的曼哈顿距离(即真实绕线方式)来代替,即(j+k)代替c,(x1+y1)代替a,(x2+y2)代替(r+c)。
替换后则可以得到:。
进而可以推算出:。
进一步地,可得出:。
进一步地,可得出:。
进一步地,可得出:。
至此,公共点2的位置能够确定。
图4中,首轮执行时数字芯片版图上存在四个物理位置点且其均为负载节点,分别记为负载节点1、负载节点2、负载节点3与负载节点4。
首先判断出此轮中曼哈顿距离最近的两个物理位置点为负载节点1与负载节点2,将负载节点1与负载节点2作为首轮执行中的第一近点与第二近点,以获取公共点1。其中,该公共点1满足,其到负载节点1的曼哈顿距离与其到负载节点2的曼哈顿距离相同。公共点1的路径偏移即为其到负载节点1的曼哈顿距离或者其到负载节点2的曼哈顿距离,接着移除负载节点1与负载节点2。
然后进入第二轮执行,此时数字芯片版图上存在三个物理位置点,分别为公共点1、负载节点3与负载节点4,此时得出公共点1与负载节点3为曼哈顿距离最近的两个物理位置点,将作为第二轮执行的第一近点与第二近点,以获取公共点2。接着移除公共点1与负载节点3。
然后进入第三轮执行,此时数字芯片版图上存在两个物理位置点,分别为公共点2与负载节点4,此时公共点2与负载节点4即为曼哈顿距离最近的两个物理位置点,将作为第三轮执行的第一近点与第二近点,以获取公共点3。
图4中获得公共点3的具体计算过程如下:
由图4所示关系能够得出:。
。
。
进一步地,。
其中,a=x1+y1。
由于a、m为定值,则可以依次得出x、b与n的值, 其中:
。
进而可以得出y=(n-a-c)/2。
至此,公共点3的位置能够确定。
图5中,首轮执行时数字芯片版图上存在四个物理位置点且其均为负载节点,分别记为负载节点1、负载节点2、负载节点3与负载节点4。
首先判断出此轮中曼哈顿距离最近的两个物理位置点为负载节点1与负载节点2,将负载节点1与负载节点2作为首轮执行中的第一近点与第二近点,以获取公共点2。其中,该公共点2满足,其到负载节点1的曼哈顿距离与其到负载节点2的曼哈顿距离相同。公共点2的路径偏移即为其到负载节点1的曼哈顿距离或者其到负载节点2的曼哈顿距离,记作S2,接着移除负载节点1与负载节点2。
然后进入第二轮执行,此时数字芯片版图上存在三个物理位置点,分别为公共点2、负载节点3与负载节点4,此时得出负载节点3与负载节点4为曼哈顿距离最近的两个物理位置点,将作为第二轮执行的第一近点与第二近点,以获取公共点1。其中,该公共点1满足,其到负载节点3的曼哈顿距离与其到负载节点4的曼哈顿距离相同。公共点1的路径偏移即为其到负载节点3的曼哈顿距离或者其到负载节点4的曼哈顿距离,记作S1,接着移除负载节点3与负载节点4。
然后进入第三轮执行,此时数字芯片版图上存在两个物理位置点,分别为公共点1与公共点2,此时公共点1与公共点2即为曼哈顿距离最近的两个物理位置点,将作为第三轮执行的第一近点与第二近点,以获取公共点3。其中,该公共点3满足,其到公共点1的曼哈顿距离与其到公共点2的曼哈顿距离相同。
此时,由于用于获取公共点3的两个物理位置点均为公共点(即公共点1与公共点),因此在计算公共点3的位置时需要考虑公共点1与公共点2各自的路径偏移,则公共点3满足:公共点3到公共点1的曼哈顿距离+S1=公共点3到公共点2的曼哈顿距离+S2,即
| x1-
x3|+| y1-y3|+S1=| x3-x2|+| y3-y2|+S2。所获得的公共点3即作为驱动器连接点。
图5中获得公共点3的具体计算过程如下:
根据,得出。
或者,根据
| x1-x3|+| y1-y3|+S1=| x3-x2|+| y3-y2|+S2,可得出
x3-x1+|y1-y3
|+S1=x2-x3+| y3-y2|+S2,然后进一步得出:
。
当
y3>
y2且
y1>
y3时,可得:
。
进一步可得:。
当
y3<
y2且
y1<
y3时,可得:
。
进一步可得:。
至此,公共点3的位置能够确定。
在一个优选实施例中,驱动器与驱动器连接点之间通过以曼哈顿距离走线的方式相连接。
在一个优选实施例中,多个物理位置点均以坐标的形式进行表示,两个物理位置点之间的曼哈顿距离为两个物理位置点在标准坐标系上的绝对轴距总和。若一个物理位置点为负载节点,则其路径偏移(Routing Skew)为0,若一个物理位置点为公共点,则在下一轮计算时将需要考虑该公共点的路径偏移。
前述S1步骤中曼哈顿距离最近的两个物理位置点可以通过以下方式获得:
即首先从当前物理位置点的集合中的任意两个物理位置点之间的曼哈顿距离值组成的集合中,得出最短的曼哈顿距离值,然后将最短的曼哈顿距离值对应的两个物理位置点分别作为所述第一近点与所述第二近点。
在一个优选实施例中,采用例如冒泡算法得出最短的距离值的详细步骤如下:
预设初始曼哈顿距离最短值(该初始曼哈顿距离最短值一般设置成较大的数值,例如设置为1000000000000);
随机从多个物理位置点的集合中选取某一物理位置点作为第一位置点,获取由第一位置点到多个物理位置点中其余各点的曼哈顿距离构成的第一组曼哈顿距离值,将第一组曼哈顿距离值中的每一个值依次与初始曼哈顿距离最短值进行比较,若第一组曼哈顿距离值中的某个曼哈顿距离值小于初始曼哈顿距离最短值,则将其更新为曼哈顿距离最短值,依次比较后所获得的曼哈顿距离最短值记为新曼哈顿距离最短值;
从多个物理位置点的集合中选取除第一位置点外的任意一点作为第二位置点,获取由第二位置点到多个物理位置点中其余各点的曼哈顿距离构成的第二组曼哈顿距离值,将第二组曼哈顿距离值中的每一个值依次与新曼哈顿距离最短值进行比较,若第二组曼哈顿距离值中的某个曼哈顿距离值小于新曼哈顿距离最短值,则将其更新为新曼哈顿距离最短值;
同理可知,第三次执行时,则从多个物理位置点的集合中选取除第一位置点与第二位置点外的任意一点作为第三位置点,然后再按照上述步骤执行一次,从而获得该第三位置点对应的第三组曼哈顿距离值。若第三组曼哈顿距离值中有小于新曼哈顿距离最短值的,则将该值更新为新曼哈顿距离最短值;若第三组曼哈顿距离值中没有小于新曼哈顿距离最短值的,则新曼哈顿距离最短值的保持原有数值不变。
以此类推,依次对多个物理位置点中的各点分别执行上述步骤,从而获得最短的新曼哈顿距离最短值以及对应于新曼哈顿距离最短值的第一近点与第二近点。
在一个优选实施例中,前述S2步骤中判断与获得新公共点的步骤如下:
(1)若第一近点与第二近点均是负载节点,则将第一近点与第二近点的中点作为新公共点,此时新公共点的路径偏移为从新公共点到第一近点与第二近点中任意一点的曼哈顿距离;
(2)若第一近点与第二近点中一个是公共点且另一个是负载节点,则将其中公共点的路径偏移计入新公共点的路径偏移以获得新公共点,此时新公共点满足以下条件:
新公共点到负载节点的曼哈顿距离等于新公共点到公共点的曼哈顿距离与公共点的路径偏移之和;
(3)若第一近点与第二近点均为公共点,则将第一近点与第二近点的路径偏移均计入新公共点的路径偏移以获得新公共点,此时新公共点满足以下条件:
新公共点到第一近点的曼哈顿距离与第一近点的路径偏移之和等于新公共点到第二近点的距离曼哈顿与第二近点的路径偏移之和。
一般而言,在数字芯片版图上分布着金属线以及能够约束走线器走线方向的走线轨道,信号线通常必须走在走线轨道上。若S2中获得的新公共点已连接金属线,则该点将不可使用,此时就需要重新寻找可用的新公共点。
请参考图6,其示出了本发明示例性实施例所提供的螺旋搜索方法示意图。
当面临上述问题时,在一个优选实施例中,可以采用方形螺旋搜索算法(SquareSpiral Searching Algorithm)重新寻找可用的新公共点。具体而言,将以新公共点为初始位置并从其右侧以逆时针的方式进行螺旋搜索,以获取合适的物理位置点。其中,螺旋搜索的步进为数字芯片版图上的走线轨道的间距。
此外,若螺旋搜索获得的结果点超过了数字芯片版图的边界,则该结果点将被舍弃并继续进行螺旋搜索直至获得位于数字芯片版图内的合适的物理位置点。
请参考图7,其示出了本发明示例性实施例所提供的装置的结构框图。
本发明所提供的装置用于数字芯片版图平衡绕线,其中该数字芯片版图包括金属线、走线轨道、驱动器以及多个物理位置点,并且多个物理位置点中既包括负载节点也包括公共点。具体地,该装置包括以下模块:
获取模块,被配置为获取当前物理位置点的集合,并获得当前物理位置点的集合中曼哈顿距离最近的两个物理位置点,作为第一近点与第二近点;
判断模块,被配置为分别判断第一近点与第二近点各自的类型,并获得与第一近点与第二近点的曼哈顿距离满足预设条件的新公共点,预设条件为:
新公共点到第一近点的曼哈顿距离与第一近点的路径偏移之和等于新公共点到第二近点的曼哈顿距离与第二近点的路径偏移之和;
增减模块,被配置为将新公共点加入至当前物理位置点的集合中,并且将第一近点与第二近点从当前物理位置点的集合中移除;
调取模块,被配置为依序循环调用获取模块、判断模块以及增减模块,以重复执行获取模块至增减模块,直至当前物理位置点的集合中仅剩下一个物理位置点,作为驱动器连接点;
连接模块,被配置为将驱动器连接至驱动器连接点。
应当理解,图7中所示的装置的各个模块可以与本说明书前文描述的方法中的各个步骤相对应。由此,上面针对方法描述的操作、特征和优点同样适用于该装置及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本发明技术方案中各个模块的功能也可以分为多个模块进行实现,和/或多个模块的至少一些功能可以组合成单个模块进行实现。本发明技术方案中特定模块执行动作的方式包括,该特定模块本身执行动作,或者由该特定模块调用或以其他方式访问执行动作(或结合该特定模块一起执行动作)。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
除上述技术方案外,本发明还提供了一种电子设备,该电子设备包括一个或多个处理器以及用于存储可执行指令存储器。其中,该一个或多个处理器被配置为经由可执行指令来实现上述方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使得处理器执行上述方法。
在本说明书的以下部分,将结合图8来描述前述电子设备、非暂态计算机可读存储介质和计算机程序产品的说明性示例。
图8示出了可以被用来实施本发明所描述的方法的电子设备300的示例配置。本发明技术方案也可以全部或至少部分地由电子设备300或类似设备或系统实现。
电子设备300可以是各种不同类型的设备。电子设备300的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等。
电子设备300可以包括能够诸如通过系统总线311或其他适当的连接彼此通信的至少一个处理器302、存储器304、(多个)通信接口309、显示设备301、其他输入/输出(I/O)设备310以及一个或更多大容量存储设备303。
处理器302可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器302可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器302可以被配置成获取并且执行存储在存储器304、大容量存储设备303或者其他计算机可读介质中的计算机可读指令,诸如操作系统305的程序代码、应用程序306的程序代码、其他程序307的程序代码等。
存储器304和大容量存储设备303是用于存储指令的计算机可读存储介质的示例,指令由处理器302执行来实施前面所描述的各种功能。举例来说,存储器304一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等)。此外,大容量存储设备303一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等。存储器304和大容量存储设备303在本发明中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器302作为被配置成实施在本发明的示例中所描述的操作和功能的特定机器来执行。
多个程序可以存储在大容量存储设备303上。这些程序包括操作系统305、一个或多个应用程序306、其他程序307和程序数据308,并且它们可以被加载到存储器304以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):用于数字芯片版图平衡绕线的方法(包括该方法的任何合适的步骤)和/或本申请描述的另外的实施例。
虽然在图8中被图示成存储在电子设备300的存储器304中,但是模块305、306、307和308或者其部分可以使用可由电子设备300访问的任何形式的计算机可读介质来实施。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(例如电缆和线),以及能传播能量波的无线介质(例如声音、电磁、RF、微波和红外)。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(例如载波、或例如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例性说明,计算机可读存储介质可包括以用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括但不限于,易失性存储器,例如随机存储器(RAM、DRAM、SRAM);以及非易失性存储器,例如闪存、各种只读存储器(ROM、PROM、EPROM、EEPROM)、磁性和铁磁/铁电存储器(MRAM、FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
一个或更多通信接口309用于诸如通过网络、直接连接等与其他设备交换数据。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE 802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、Bluetooth接口、近场通信(NFC)接口等。通信接口309可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等)和无线网络(例如WLAN、蜂窝、卫星等)、因特网等。通信接口309还可以提供与诸如存储阵列、网络附属存储、存储区域网等中的外部存储设备(图中未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备301,以用于向用户显示信息和图像。其他I/O设备310可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等。
本发明描述的技术方案可以由电子设备300的这些各种配置来支持,并且不限于本发明所描述的技术方案的具体示例。
虽然在附图和前面的描述中已经详细地说明和描述了本发明,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,本发明所要求保护的范围由权利要求而非上述说明限定,落在权利要求的等同要件的含义和范围内的所有变化均涵盖在本发明的保护范围内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
Claims (26)
1.一种用于数字芯片版图平衡绕线的方法,所述数字芯片版图包括金属线、走线轨道、驱动器以及多个物理位置点,所述多个物理位置点包括负载节点以及公共点,其特征在于,所述方法包括以下步骤:
S1:获取当前物理位置点的集合,并获得所述当前物理位置点的集合中曼哈顿距离最近的两个物理位置点,作为第一近点与第二近点;
S2:分别判断所述第一近点与所述第二近点各自的类型,并获得与所述第一近点与所述第二近点的曼哈顿距离满足预设条件的新公共点,所述预设条件为:
所述新公共点到所述第一近点的曼哈顿距离与所述第一近点的路径偏移之和等于所述新公共点到所述第二近点的曼哈顿距离与所述第二近点的路径偏移之和;
S3:将所述新公共点加入至所述当前物理位置点的集合中,并且将S1中所述第一近点与所述第二近点从所述当前物理位置点的集合中移除;
S4:重复执行S1至S3,直至所述当前物理位置点的集合中仅剩下一个物理位置点,作为驱动器连接点;
S5:将所述驱动器连接至所述驱动器连接点。
2.根据权利要求1所述的方法,其特征在于,所述多个物理位置点以坐标表示。
3.根据权利要求1所述的方法,其特征在于,所述驱动器与所述驱动器连接点之间通过以曼哈顿距离走线的方式相连接。
4.根据权利要求1所述的方法,其特征在于,若所述第一近点的类型为负载节点,则其路径偏移为0,若所述第一近点的类型为公共点,则其路径偏移为与产生所述第一近点的物理位置点之间的曼哈顿距离加上所述产生所述第一近点的物理位置点的路径偏移;若所述第二近点的类型为负载节点,则其路径偏移为0,若所述第二近点的类型为公共点,则其路径偏移为与产生所述第二近点的物理位置点之间的曼哈顿距离加上所述产生所述第二近点的物理位置点的路径偏移。
5.根据权利要求4所述的方法,其特征在于,S1中获得所述第一近点与所述第二近点步骤如下:
从所述当前物理位置点的集合中的任意两个物理位置点之间的曼哈顿距离值组成的集合中,得出最短的曼哈顿距离值;
将所述最短的曼哈顿距离值对应的两个物理位置点分别作为所述第一近点与所述第二近点。
6.根据权利要求1所述的方法,其特征在于,S2中判断与获得所述新公共点的步骤如下:
若所述第一近点与所述第二近点均是负载节点,则将所述第一近点与所述第二近点的中点作为新公共点;
若所述第一近点与所述第二近点中一个是公共点且另一个是负载节点,则将其中公共点的路径偏移计入所述新公共点的路径偏移以获得所述新公共点;
若所述第一近点与所述第二近点均为公共点,则将所述第一近点与所述第二近点的路径偏移均计入所述新公共点的路径偏移以获得所述新公共点。
7.根据权利要求6所述的方法,其特征在于,若所述第一近点与所述第二近点均是负载节点,则所述新公共点的路径偏移为从所述新公共点到所述第一近点与所述第二近点中任意一点的曼哈顿距离。
8.根据权利要求6所述的方法,其特征在于,若所述第一近点与所述第二近点中一个是公共点且另一个是负载节点,则所述新公共点满足以下条件:
所述新公共点到所述负载节点的曼哈顿距离等于所述新公共点到所述公共点的曼哈顿距离与所述公共点的路径偏移之和。
9.根据权利要求6所述的方法,其特征在于,若所述第一近点与所述第二近点均为公共点,则所述新公共点满足以下条件:
所述新公共点到所述第一近点的曼哈顿距离与所述第一近点的路径偏移之和等于所述新公共点到所述第二近点的曼哈顿距离与所述第二近点的路径偏移之和。
10.根据权利要求1所述的方法,其特征在于,S2中若所述新公共点已连接所述金属线,则以所述新公共点为初始位置并从其右侧以逆时针的方式进行螺旋搜索,以获取合适的物理位置点。
11.根据权利要求10所述的方法,其特征在于,所述螺旋搜索的步进为所述数字芯片版图上的所述走线轨道的间距。
12.根据权利要求11所述的方法,其特征在于,若所述螺旋搜索获得的结果点超过所述数字芯片版图的边界,则舍弃所述结果点并继续进行螺旋搜索直至获得位于所述数字芯片版图内的合适的物理位置点。
13.一种用于数字芯片版图平衡绕线的装置,所述数字芯片版图包括金属线、走线轨道、驱动器以及多个物理位置点,所述多个物理位置点包括负载节点以及公共点,其特征在于,所述装置包括以下模块:
获取模块,被配置为获取当前物理位置点的集合,并获得所述当前物理位置点的集合中曼哈顿距离最近的两个物理位置点,作为第一近点与第二近点;
判断模块,被配置为分别判断所述第一近点与所述第二近点各自的类型,并获得与所述第一近点与所述第二近点的曼哈顿距离满足预设条件的新公共点,所述预设条件为:
所述新公共点到所述第一近点的曼哈顿距离与所述第一近点的路径偏移之和等于所述新公共点到所述第二近点的曼哈顿距离与所述第二近点的路径偏移之和;
增减模块,被配置为将所述新公共点加入至所述当前物理位置点的集合中,并且将所述第一近点与所述第二近点从所述当前物理位置点的集合中移除;
调取模块,被配置为依序循环调用所述获取模块、所述判断模块以及所述增减模块,以重复执行所述获取模块至所述增减模块,直至所述当前物理位置点的集合中仅剩下一个物理位置点,作为驱动器连接点;
连接模块,被配置为将所述驱动器连接至所述驱动器连接点。
14.根据权利要求13所述的装置,其特征在于,所述多个物理位置点以坐标表示。
15.根据权利要求13所述的装置,其特征在于,所述驱动器与所述驱动器连接点之间通过以曼哈顿距离走线的方式相连接。
16.根据权利要求13所述的装置,其特征在于,若所述第一近点的类型为负载节点,则其路径偏移为0,若所述第一近点的类型为公共点,则其路径偏移为与产生所述第一近点的物理位置点之间的曼哈顿距离加上所述产生所述第一近点的物理位置点的路径偏移;若所述第二近点的类型为负载节点,则其路径偏移为0,若所述第二近点的类型为公共点,则其路径偏移为与产生所述第二近点的物理位置点之间的曼哈顿距离加上所述产生所述第二近点的物理位置点的路径偏移。
17.根据权利要求13所述的装置,其特征在于,所述其特征在于,所述获取模块中获得所述第一近点与所述第二近点的步骤如下:
从所述当前物理位置点的集合中的任意两个物理位置点之间的曼哈顿距离值组成的集合中,得出最短的曼哈顿距离值;
将所述最短的曼哈顿距离值对应的两个物理位置点分别作为所述第一近点与所述第二近点。
18.根据权利要求13所述的装置,其特征在于,所述判断模块中判断与获得所述新公共点的步骤如下:
若所述第一近点与所述第二近点均是负载节点,则将所述第一近点与所述第二近点的中点作为新公共点;
若所述第一近点与所述第二近点中一个是公共点且另一个是负载节点,则将其中公共点的路径偏移计入所述新公共点的路径偏移以获得所述新公共点;
若所述第一近点与所述第二近点均为公共点,则将所述第一近点与所述第二近点的路径偏移均计入所述新公共点的路径偏移以获得所述新公共点。
19.根据权利要求18所述的装置,其特征在于,若所述第一近点与所述第二近点均是负载节点,则所述新公共点的路径偏移为从所述新公共点到所述第一近点与所述第二近点中任意一点的曼哈顿距离。
20.根据权利要求18所述的装置,其特征在于,若所述第一近点与所述第二近点中一个是公共点且另一个是负载节点,则所述新公共点满足以下条件:
所述新公共点到所述负载节点的曼哈顿距离等于所述新公共点到所述公共点的曼哈顿距离与所述公共点的路径偏移之和。
21.根据权利要求18所述的装置,其特征在于,若所述第一近点与所述第二近点均为公共点,则所述新公共点满足以下条件:
所述新公共点到所述第一近点的距离+所述第一近点的路径偏移=所述新公共点到所述第二近点的距离+所述第二近点的路径偏移。
22.根据权利要求13所述的装置,其特征在于,所述判断模块中若所述新公共点已连接所述金属线,则以所述新公共点为初始位置并从其右侧以逆时针的方式进行螺旋搜索,以获取合适的物理位置点。
23.根据权利要求22所述的装置,其特征在于,所述螺旋搜索的步进为所述数字芯片版图上的所述走线轨道的间距。
24.根据权利要求23所述的装置,其特征在于,若所述螺旋搜索获得的结果点超过所述数字芯片版图的边界,则舍弃所述结果点并继续进行螺旋搜索直至获得位于所述数字芯片版图内的合适的物理位置点。
25.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,其用于存储可执行指令;
所述一个或多个处理器被配置为经由所述可执行指令来实现权利要求1至12中任一项所述的方法。
26.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使所述处理器执行权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310252106.XA CN115964984B (zh) | 2023-03-16 | 2023-03-16 | 用于数字芯片版图平衡绕线的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310252106.XA CN115964984B (zh) | 2023-03-16 | 2023-03-16 | 用于数字芯片版图平衡绕线的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115964984A true CN115964984A (zh) | 2023-04-14 |
CN115964984B CN115964984B (zh) | 2023-05-16 |
Family
ID=85897910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310252106.XA Active CN115964984B (zh) | 2023-03-16 | 2023-03-16 | 用于数字芯片版图平衡绕线的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964984B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116167331A (zh) * | 2023-04-26 | 2023-05-26 | 瀚博半导体(上海)有限公司 | 用于构建时钟树的方法、时钟树及芯片 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW464923B (en) * | 1999-09-15 | 2001-11-21 | Ibm | A method for automating the placement of a repeater device in a optimal location, considering pre-defined blockages. In high frequency very large scale integration/ultra large scale integration (VLSI/ULSI) electronic designs |
US20080127017A1 (en) * | 2006-10-30 | 2008-05-29 | Alpert Charles J | Constrained detailed placement |
US20090210840A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Optimization Method of Integrated Circuit Design for Reduction of Global Clock Load and Balancing Clock Skew |
US9968408B1 (en) * | 2013-03-15 | 2018-05-15 | Nuvasive, Inc. | Spinal balance assessment |
US10402522B1 (en) * | 2017-08-31 | 2019-09-03 | Cadence Design Systems, Inc. | Region aware clustering |
US10740532B1 (en) * | 2018-12-20 | 2020-08-11 | Cadence Design Systems, Inc. | Route driven placement of fan-out clock drivers |
CN114880983A (zh) * | 2022-05-06 | 2022-08-09 | 中国人民解放军国防科技大学 | 基于聚类的h形时钟树主干节点坐标选择方法及系统 |
CN114997087A (zh) * | 2022-08-03 | 2022-09-02 | 飞腾信息技术有限公司 | 一种时钟树的优化方法、优化装置和相关设备 |
CN115204105A (zh) * | 2022-07-27 | 2022-10-18 | 深圳国微福芯技术有限公司 | 多边形的直骨架生成方法、图案匹配方法、存储介质 |
CN115293091A (zh) * | 2022-08-09 | 2022-11-04 | 电子科技大学 | 一种基于全局优化算法的电路自动剪枝方法 |
CN115758989A (zh) * | 2023-01-10 | 2023-03-07 | 瀚博半导体(上海)有限公司 | 用于修复数字芯片版图设计规则时序违例的方法及系统 |
-
2023
- 2023-03-16 CN CN202310252106.XA patent/CN115964984B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW464923B (en) * | 1999-09-15 | 2001-11-21 | Ibm | A method for automating the placement of a repeater device in a optimal location, considering pre-defined blockages. In high frequency very large scale integration/ultra large scale integration (VLSI/ULSI) electronic designs |
US20080127017A1 (en) * | 2006-10-30 | 2008-05-29 | Alpert Charles J | Constrained detailed placement |
US20090210840A1 (en) * | 2008-02-15 | 2009-08-20 | International Business Machines Corporation | Optimization Method of Integrated Circuit Design for Reduction of Global Clock Load and Balancing Clock Skew |
US9968408B1 (en) * | 2013-03-15 | 2018-05-15 | Nuvasive, Inc. | Spinal balance assessment |
US10402522B1 (en) * | 2017-08-31 | 2019-09-03 | Cadence Design Systems, Inc. | Region aware clustering |
US10740532B1 (en) * | 2018-12-20 | 2020-08-11 | Cadence Design Systems, Inc. | Route driven placement of fan-out clock drivers |
CN114880983A (zh) * | 2022-05-06 | 2022-08-09 | 中国人民解放军国防科技大学 | 基于聚类的h形时钟树主干节点坐标选择方法及系统 |
CN115204105A (zh) * | 2022-07-27 | 2022-10-18 | 深圳国微福芯技术有限公司 | 多边形的直骨架生成方法、图案匹配方法、存储介质 |
CN114997087A (zh) * | 2022-08-03 | 2022-09-02 | 飞腾信息技术有限公司 | 一种时钟树的优化方法、优化装置和相关设备 |
CN115293091A (zh) * | 2022-08-09 | 2022-11-04 | 电子科技大学 | 一种基于全局优化算法的电路自动剪枝方法 |
CN115758989A (zh) * | 2023-01-10 | 2023-03-07 | 瀚博半导体(上海)有限公司 | 用于修复数字芯片版图设计规则时序违例的方法及系统 |
Non-Patent Citations (3)
Title |
---|
JOSHUA A. STRONG,ETC: "A resonant metamaterial clock distribution network for superconducting logic", 《NATURE》 * |
徐亮: "低电压抗工艺波动时钟树的设计及实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
胡启帆: "三维集成电路时钟树串扰噪声分析与优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116167331A (zh) * | 2023-04-26 | 2023-05-26 | 瀚博半导体(上海)有限公司 | 用于构建时钟树的方法、时钟树及芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN115964984B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106201481A (zh) | 应用程序开发系统中的组件管理方法和装置 | |
KR20140014273A (ko) | 휴대용 컴퓨팅 디바이스의 스위치 패브릭들 내에서 그리고 스위치 패브릭들에 걸쳐 마스터-슬레이브 쌍들을 동적으로 생성하고 서비스하는 방법 및 시스템 | |
CN104765621B (zh) | 一种在集群节点中部署程序的方法和系统 | |
CN109408214A (zh) | 一种数据的并行处理方法、装置、电子设备及可读介质 | |
CN110222775A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN115964984B (zh) | 用于数字芯片版图平衡绕线的方法和装置 | |
CN106708620A (zh) | 一种处理数据的方法及系统 | |
CN109491742A (zh) | 页面表格渲染方法及装置 | |
WO2021217340A1 (zh) | 基于ai的通用智能家居方案自动化设计方法及装置 | |
CN108604106B (zh) | 侧信道感知的自动布局和布线 | |
CN115906720A (zh) | 存储器的设计方法、装置、电子设备和存储介质 | |
US20130144587A1 (en) | Scalability evaluation device, scalability evaluation method, and scalability evaluation program | |
CN114237894A (zh) | 容器调度方法、装置、设备以及可读存储介质 | |
CN104216834A (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
CN109683917A (zh) | 用于将应用部署于应用服务器的方法、设备以及介质 | |
CN115758989B (zh) | 用于修复数字芯片版图设计规则时序违例的方法及系统 | |
CN109324731A (zh) | 信息展现方法和装置 | |
CN111645687A (zh) | 变道策略确定方法、装置及存储介质 | |
CN113129366A (zh) | 单目slam初始化方法、装置及电子设备 | |
CN110019538A (zh) | 一种数据表切换方法及装置 | |
CN105184372A (zh) | 知识网络构建方法及装置 | |
CN105786333A (zh) | 移动终端的操作方法及装置 | |
CN111738415B (zh) | 模型同步更新方法、装置及电子设备 | |
CN104123261A (zh) | 一种电子设备及信息传送方法 | |
CN110609728A (zh) | 页面生成方法、装置及电子设备 |
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 |