CN116050340A - 版图设计中引脚的自动布局方法、装置及相关产品 - Google Patents
版图设计中引脚的自动布局方法、装置及相关产品 Download PDFInfo
- Publication number
- CN116050340A CN116050340A CN202310104235.4A CN202310104235A CN116050340A CN 116050340 A CN116050340 A CN 116050340A CN 202310104235 A CN202310104235 A CN 202310104235A CN 116050340 A CN116050340 A CN 116050340A
- Authority
- CN
- China
- Prior art keywords
- pins
- layout
- connection unit
- pin
- close
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本申请公开了版图设计中引脚的自动布局方法、装置及相关产品,方法包括:根据电路原理图,生成电路版图;针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚;针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局;针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局,从而减少了引脚布局的工作量,而且提高了布局的正确性,保证了电路原理图和电路版图的一致性。
Description
技术领域
本申请属于电路设计技术领域,尤其涉及一种版图设计中引脚的自动布局方法、装置及相关产品。
背景技术
在大规模的电路设计中一个完整的电路设计图,包含多个对应不同功能的子电路模块,每一个子电路模块都是单独的、多层次的电路设计。由于完整的电路原理图包含多种元器件和子单元、复杂的层次设计、各层次布局及层次间布线关系,因此,通常利用EDA(Electronic Design Automation,电子设计自动化)工具,工程师将芯片的电路设计、性能分析、设计出IC版图的整个过程交由计算机处理完成,极大地提高了电路设计的效率和可操作性,减少了工程师的工作量。具体地,在基于EDA工具实现电路设计时,即在版图顶层预留下层子电路的版图设计区域,下一层次中还可以包括子电路,按层次关系逐级细分,直到最底层为基本元件,不再包括任何子电路结构。这种自上而下的多层次、分模块的设计,可以将复杂电路分为几部分再分给不同的设计人员,以节约设计时间。
在实际设计过程中,由于电路设计中会涉及引脚(又称之为pin),其布局占据了设计较大工作量,而且其布局的好坏,直接版图设计的正确性。
发明内容
本申请提供一种版图设计中引脚的自动布局方法、装置及相关产品,以克服或者缓解现有技术的缺陷。
一种版图设计中引脚的自动布局方法,其包括:
根据电路原理图,生成电路版图;
针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚;
针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局;
针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局。
可选地,所述针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局,包括:确定所述子电路结构的版图边界中与所述第一引脚距离最近的边,以与对应最近的边内切的方式布局所述第一引脚。
可选地,若与同一所述第一引脚距离最近的边存在多个,则按照设定的内切关系优先级,使得所述第一引脚与其中优先级最高的的边内切;若所述子电路结构的版图边界的同一条边上,存在多个内切的所述第一引脚,则按照所述第一引脚的数字编号的大小,调整在所述同一条边上的先后位置。
可选地,所述针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局,还包括:
沿着逆时针方向,分别调整所有第一引脚之间的间距。
可选地,所述对所述第二引脚自动布局,包括:按照如下布局规则,对所述第二引脚自动布局:
将所述第二引脚布局在所述软连接单元的版图边界的内环,且输入型的所述第二引脚靠近所述软连接单元的版图边界的左侧边,输出型的所述第二引脚靠近所述软连接单元的版图边界的右侧边,输入/输出型的所述第二引脚布局靠近所述软连接单元的版图边界的上侧边或者下侧边;
靠近所述软连接单元的版图边界的上侧边和下侧边的所述第二引脚的数量之差不超过1个;
靠近所述软连接单元的版图边界的左侧边和右侧边的所述第二引脚的数量之差不超过1个;
靠近在所述软连接单元的版图边界的上下左右侧边的所述第二引脚的密度接近。
可选地,所述对所述第二引脚自动布局,还包括:按照如下调整规则,对所述第二引脚进行调整:
按照顺时针方向,基于所述第二引脚的数字编号大小,分别调整靠近所述软连接单元的版图边界的左侧边、上侧边、右侧边、下侧边的所述第二引脚的先后位置;
对靠近所述软连接单元的版图边界的上侧边、下侧边设置的所述第二引脚,在上侧边和下侧边之间进行调整,以使得靠近上侧边和下侧边设置的所述第二引脚的密度接近;
对靠近所述软连接单元的版图边界的左侧边、右侧边设置的所述第二引脚,在左侧边、右侧边之间进行调整,以使得靠近左侧边、右侧边设置的所述第二引脚的密度接近;
可选地,所述对所述第二引脚自动布局,还包括:按照如下调整规则,对所述第二引脚进行调整,还包括:按照如下间距计算规则计算靠近左侧边或者右侧边设置的第二引脚之间的间距、靠近上侧边或者下侧边设置的第二引脚之间的间距,以对所述第二引脚进行间距调整:
针对靠近所述软连接单元的版图边界的左侧边或者右侧边的所述引脚,对应地,根据所述软连接单元的版图边界的高度以及靠近左侧边或者右侧边设置的第二引脚之间间距的数量,计算靠近左侧边或者右侧边设置的第二引脚之间的间距;
针对靠近所述软连接单元的版图边界的上侧边或者下侧边的所述引脚,根据所述软连接单元的版图边界的宽度以及靠近上侧边或者下侧边设置的第二引脚之间间距的数量,计算靠近上侧边或者下侧边设置的第二引脚之间的间距。
可选地,基于如下公式,根据所述软连接单元的版图边界的高度以及靠近左侧边或者右侧边设置的第二引脚之间间距的数量,计算靠近左侧边或者右侧边设置的第二引脚之间的间距:
SpaceNum1表示靠近左侧边或者右侧边设置的第二引脚之间间距的数量,MidSpace1表示靠近左侧边或者右侧边设置的第二引脚之间的间距,Height表示所述软连接单元的版图边界的高度,H1表示靠近上侧边设置的第二引脚中,最高第二引脚的高度,H2表示靠近下侧边设置的第二引脚中,最高第二引脚的高度。
可选地,基于如下公式,根据所述软连接单元的版图边界的宽度以及靠近上侧边或者下侧边设置的第二引脚之间间距的数量,计算靠近上侧边或者下侧边设置的第二引脚之间的间距:
SpaceNum2表示靠近上侧边或者下侧边设置的第二引脚之间间距的数量,MidSpace2表示靠近上侧边或者下侧边设置的第二引脚之间的间距,Width表示所述软连接单元的版图边界的宽度,W1表示靠近左侧边设置的第二引脚中,最宽第二引脚的宽度,W2表示靠近右侧边设置的第二引脚中,最宽第二引脚的宽度。
一种电子设备,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本申请实施例任一所述方法。
本申请提供的技术方案中,通过根据电路原理图,生成电路版图;针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚;针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局;针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局,从而减少了引脚布局的工作量,而且提高了布局的正确性,保证了电路原理图和电路版图的一致性。
附图说明
图1为本申请实施例一种版图设计中引脚的自动布局方法的流程示意图。
图2为本申请实施例一种电子设备的结构示意图。
图3为本申请实施例一种版图设计中引脚的自动布局装置的结构示意图。
图4为子电路图不存在软连接单元的示意图。
图5为图4的引脚布局示意图。
图6为存在软连接单元的引脚布局。
图7为图6的引脚布局调整后示意图。
图8为按照计算出的间距调整引脚布局示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本申请实施例一种版图设计中引脚的自动布局方法的流程示意图。如图1所示,其包括:
S101、根据电路原理图,生成电路版图。
示例性地,所述步骤S101可以包括:
通过深度优先遍历自上而下遍历电路原理图,获取电路原理图的层次信息以及全部Instances(元器件)和Pins(引脚)的信息(包括属性、参数、所属层级),根据获取到电路原理图的层次信息以及全部Instances和Pins的信息,自顶层向下逐层生成电路版图的层级。再从最底层开始,由下向上逐层生成对应层级所有的Pins、Instances和PRBoundary(又称之为电路版图的边界)。在上述自动生成版图的方法中,包括一种生成预先创建的软连接单元的布局方法。设计的软连接单元(称之为SoftBlock),该SoftBlock是根据预估设置的具有层次结构的单元,是为了便于版图设计,将电路原理图中某子电路抽象成黑盒子,不体现具体的电路层次,只体现该子电路最上层的pins及预估的布局区域大小(PRBoundary),其布局在该电路图在电路版图对应层。
顶层和SoftBlock内部的PRBoundary默认以矩形,坐标原点为矩形的左下角点,生成在第一象限,这里的PRBoundary的大小可以按照用户设置,根据布图工具中的定义的规则计算出来,用户可通过设置更改PRBoundary的大小。
S102、针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚。
S103A、针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局。
S103B、针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局。
可选地,所述针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局,包括:确定所述子电路结构的版图边界中与所述第一引脚距离最近的边,以与对应最近的边内切的方式布局所述第一引脚。
如前所述,如果在当前待处理层中同时存在SoftBlock和SoftBlock之外的Pins,为了便于区分,同层Pin代指与SoftBlock在同一层的Pins,同理,SoftBlock内部的Pins本质上实位于当前待处理层的下层,便于理解则称为下层Pin。比如,判断用户是否设置了在版图边界内布局pins,如果设置了,则所有同层的Pin布局在该当前待处理层的PRBoundary里,且与PRBoundary的边内切的原则来实现pins的自动布局。
进一步地,可以通过判断电路原理图中Pin图形的Bbox(又称之为图形边界)的中心距离电路原理图边界(又称之为SchematicBbox)四条边中哪条边更近,来确定在电路版图中同层pins要与电路原理图在电路板图中的PRBoundary的哪条边内切。比如,比如:若电路原理图中Pins离SchematicBBox上侧边的距离最近,则在自动布局时,将该Pin放在与PRBoundary上侧边内切的任一位置。
可选地,若与同一所述第一引脚距离最近的边存在多个,则按照设定的内切关系优先级,使得所述第一引脚与其中优先级最高的的边内切;比如内切关系优先级从高到低依次为与左侧边内切、与右侧边内切、与下侧边内切、与上侧边内切。
若所述子电路结构的版图边界的同一条边上,存在多个内切的所述第一引脚,则按照所述第一引脚的数字编号的大小,调整在所述同一条边上的先后位置。
比如,如果所述子电路结构的版图边界的同一左侧边上,根据电路原理图中PinsBBox下边的位置,确定其在左侧边内切时按照由下往上的排列顺序。若PinsBBox的下边位置相同,则按照默认设置,根据Pins名字中的数字编号的顺序确定在在左侧边上内切时的上下位置。例如:int1与int4两个PinsBBox的下边位置相同,则在内切左侧边时,int1布局在int4上面。
类似地,针对在同一右侧边上存在多个内切的所述第一引脚的情形,与上述针对同一左侧边的情况类似,在此不再赘述。
同理,针对在同一上侧边上存在多个内切的所述第一引脚的情形,根据电路原理图中PinsBBox左边的位置,确定在于上侧边内切时由左往右的排列顺序。类似地,也适用于针对在同一下侧边上存在多个内切的所述第一引脚的情形。
可选地,所述针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局,还包括:
沿着逆时针方向,分别调整所有第一引脚之间的间距。
示例性地,为了满足同一条侧边(比如为下侧边、左侧边、上侧边、右侧边中至任一侧边)上内切的Pins之间的间距要求,示例性地,该间距比如minimumspace和min_s中的较大值,min_s为同一条侧边内切的所有Pins的Height和Width中最小的值,minimum space是用户设置的间距参数;另外,在一些示例中,还有将Pins摆在PRBoundary外面。具体过程如下:
(1)先布局下侧边上内切的Pins:从右往左依次布局,Pins间的水平距离为min_s,往左可超出PRBoundary的边界。
(2)再布局左侧边上内切的Pins:从下往上依次布局,Pins间的垂直距离为min_s,可往上超出Boundary的边界。最下边Pins与下侧PRboundary上pins的最上边间的垂直space为min_s。
(3)布局上侧边上内切的Pins:从左往右依次布局,可往右超出PRBoundary的边界。最左边Pins与左侧PRboundary上Pins最右侧边之间的Space,为min_s。
(4)布局右侧边上内切的Pins:从上往下依次布局,可往下超出Boundary的边界。最上侧边上内切的Pins与上侧PRboundary上pins间的垂直space,为min_s。
(5)根据右侧边上内切的pins,整体移动下侧边上内切的pins,使最右侧边内切的Pins与右侧PRboundary上pins间的水平space为min_s。
可选地,所述对所述第二引脚自动布局,包括:按照如下布局规则,对所述第二引脚自动布局:
将所述第二引脚布局在所述软连接单元的版图边界的内环,且输入型的所述第二引脚靠近所述软连接单元的版图边界的左侧边,输出型的所述第二引脚靠近所述软连接单元的版图边界的右侧边,输入/输出型的所述第二引脚布局靠近所述软连接单元的版图边界的上侧边或者下侧边;
通过所述第二引脚的属性信息判断其是输入型(又称之input)还是输出型(又称之为output)还是输入/输出型(又称之inoutput)。
此处,需要说明的是,上述按照如下布局规则,对所述第二引脚自动布局,包括尽量按照上述布局规则,对所述第二引脚的情形。
靠近所述软连接单元的版图边界的上侧边和下侧边的所述第二引脚的数量之差不超过1个,从而使得版图边界上下侧边的第二引脚数量尽可能对称。
靠近所述软连接单元的版图边界的左侧边和右侧边的所述第二引脚的数量之差不超过1个,从而使得版图边界左右侧边的第二引脚数量尽可能对称。
靠近在所述软连接单元的版图边界的上下左右侧边的所述第二引脚的密度接近,从而使得版图边界上下左右侧边的第二引脚数量尽可能分布均匀。
为此,靠近在所述软连接单元的版图边界的上下左右侧边的所述第二引脚的密度接近包括左侧边与上侧边上靠近的Pin数量相差不超过一个;右侧边与下侧边上靠近的Pin数量相差不超过一个。
可选地,所述对所述第二引脚自动布局,还包括:按照如下调整规则,对所述第二引脚进行调整:
按照顺时针方向,基于所述第二引脚的数字编号大小,分别调整靠近所述软连接单元的版图边界的左侧边、上侧边、右侧边、下侧边的所述第二引脚的先后位置。比如,inputpin尽量与左侧边靠近,outputpin尽量与右侧边靠近,inoutputpin尽量与上或者下侧边靠近,且,按照顺时针方向,根据每个边上Pin的Name(名字)中数字编号的大小对同一侧边上靠近的pin进行排序,比如该排序使得pin的数字编号沿着顺时针方向依次增加。
对靠近所述软连接单元的版图边界的上侧边、下侧边设置的所述第二引脚,在上侧边和下侧边之间进行调整,以使得靠近上侧边和下侧边设置的所述第二引脚的密度接近;示例性,比如,把软连接单元的版图边界上侧边靠近的pin按照排序后的队列顺序,把队尾的pin依次移动到下侧边,直到上下侧边Pin数量相等。另外一些示例中,上侧边比下侧边靠近的pin数量多1,但是调整后上下侧边上pin仍是沿顺时针方向按照name中数字编号的大小依次排序。
对靠近所述软连接单元的版图边界的左侧边、右侧边设置的所述第二引脚,在左侧边、右侧边之间进行调整,以使得靠近左侧边、右侧边设置的所述第二引脚的密度接近;示例性地,比如左右侧边上的Pin按照其名称(又称之name)中数字编号的大小在左右侧边上排序后,从多的一边队尾向少的一边移动,直到左右侧边的Pin数量相等;另外一些示例中,左侧边靠近的Pin数量则比右侧边靠近的Pin数量多1,但是,调整后左右侧边上pin仍是沿顺时针方向按照Name中数字编号的大小在左右侧边进行排序。如果此时左/右侧边上靠近的Pin的数量与上/下侧边上靠近的pin的数量只差一个,则已经符合要求;反之,则不满足布局原则中对布局均匀的要求,需要继续进行调整。
如果左右侧边上靠近的pin的数量大于上下侧边上靠近的pin的数量且超过一个,则把按照顺序排列好的pin,左侧边上的从队尾依次向上侧边移动;右侧边上的从队尾依次向下侧边移动;如果上下侧边上的数量大于左右侧边且超过一个,则把按照顺序排列好的pin,上侧边上的从队尾依次向左侧边移动;下侧边上的从队尾依次向右侧边移动。直到左右侧边上靠近的Pin与上下侧边上靠近的Pin数量相同,或左右侧边上靠近的Pin比上下侧边上靠近的Pin数量多1。
按照上述布局规则执行自动布局后,由于是靠近关系,每个Pin都是紧贴在软连接单元的PRBoundary上的。由于Pin的大小可能不一致,Pin的中心可能不在一条线上。为了保证同一侧边靠近的所有Pin的中心点在一条直线上,通过确定Pin需要对齐的中心线的位置,比如以同一条侧边上靠近的最大的Pin为参考,它的中心就是同一条边上靠近的其余各Pin需要对齐的中心,从而在执行下述根据间距调整pin之前,使得同一条侧边上靠近的所有pin的中心线对齐。
可选地,所述对所述第二引脚自动布局,还包括:按照如下调整规则,对所述第二引脚进行调整,还包括:按照如下间距计算规则计算靠近左侧边或者右侧边设置的第二引脚之间的间距、靠近上侧边或者下侧边设置的第二引脚之间的间距,以对所述第二引脚进行间距调整:
针对靠近所述软连接单元的版图边界的左侧边或者右侧边的所述引脚,对应地,根据所述软连接单元的版图边界的高度以及靠近左侧边或者右侧边设置的第二引脚之间间距的数量,计算靠近左侧边或者右侧边设置的第二引脚之间的间距;
针对靠近所述软连接单元的版图边界的上侧边或者下侧边的所述引脚,根据所述软连接单元的版图边界的宽度以及靠近上侧边或者下侧边设置的第二引脚之间间距的数量,计算靠近上侧边或者下侧边设置的第二引脚之间的间距。
可选地,基于如下公式,根据所述软连接单元的版图边界的高度以及靠近左侧边或者右侧边设置的第二引脚之间间距的数量,计算靠近左侧边或者右侧边设置的第二引脚之间的间距:
SpaceNum1表示靠近左侧边或者右侧边设置的第二引脚之间间距的数量,MidSpace1表示靠近左侧边或者右侧边设置的第二引脚之间的间距,Height表示所述软连接单元的版图边界的高度,H1表示靠近上侧边设置的第二引脚中,最高第二引脚的高度,H2表示靠近下侧边设置的第二引脚中,最高第二引脚的高度。
按照从下往上排列,保证左侧边、右侧边靠近的Pin与Pin的中心点到中心点的距离为MidSpace1。
示例性地,针对SpaceNum1可以通过如下方式确定:如果上下侧边上没有内切的Pin,则SpaceNum1为左右侧边上Pin的总数量减一,如果上侧边或者下侧边又或者上下侧边上存在Pin,则SpaceNum1的计算需要考虑上下边上的Pin。
可选地,基于如下公式,根据所述软连接单元的版图边界的宽度以及靠近上侧边或者下侧边设置的第二引脚之间间距的数量,计算靠近上侧边或者下侧边设置的第二引脚之间的间距:
SpaceNum2表示靠近上侧边或者下侧边设置的第二引脚之间间距的数量,MidSpace2表示靠近上侧边或者下侧边设置的第二引脚之间的间距,Width表示所述软连接单元的版图边界的宽度,W1表示靠近左侧边设置的第二引脚中,最宽第二引脚的宽度,W2表示靠近右侧边设置的第二引脚中,最宽第二引脚的宽度。
如果左右两侧边不存在靠近的Pin,则W1、W2为0。
基于上述MidSpace2调整上侧边或者下侧边靠近的pin的中心点之间的距离为MidSpace2。
图2为本申请实施例一种电子设备的结构示意图。如图2所示,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施本申请实施例任一所述方法。
图3为本申请实施例一种版图设计中引脚的自动布局装置的结构示意图。如图3所示,其包括:
版图生成单元,用于根据电路原理图,生成电路版图;
版图分析单元,用于针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚;
第一引脚布局单元,用于针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局;
第二引脚布局单元,用于针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局。
本申请实施例还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被执行时实施如下步骤:
根据电路原理图,生成电路版图;
针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚;
针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局;
针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局。
本申请实施例还提供一种计算机程序产品,其上存储有计算机可执行指令,所述计算机可执行指令被运行时实施如下步骤:
根据电路原理图,生成电路版图;
针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚;
针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局;
针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局。
以下以在一具体场景中应用为例,对本申请的实施例进行示例性说明。
在图4中,该子电路图不存在软连接单元,则对该子电路图的pins进行布局时,按照上述第一引脚的布局方式,即按照内切的方式进行布局。为此,参见图4,为一某电路原理图中某子电路的原理图,可以看到vdd靠近其SchematicBBox的上侧边,vss靠近下侧边,A、B靠近左侧边,Y则是右侧边。则生成的Pins布局如图5所示,vdd与PRBoundary的上侧边内切,A、B与PRBoundary的左侧边内切,vss与PRBoundary的下侧边内切,Y则是与PRBoundary的右侧边内切。此时间距Space为min_s,也即PinHeight/Width中的最小值(0.5)。
依然参见图3,如果针对该子电路图设置了软连接单元,在按照上述第二引脚的布局方式进行布局,即按照环内布局的方式,使得pin位于软连接单元的版图边界内。假如各个引脚如下:
InputPin:A(P_0),B(P_1),C(P_3);
OutputPin:Y(P_2);
InOutputPin:VSS(P_4),VDD(P_5)。
根据布局调整原则以及上述获取到Pin的属性、名字,将Pins放在相应的PRBoundary边的内环,即inputpin尽量在左边,outputpin尽量在右边,inoutputpin尽量分布在上边,按照顺时针方向,根据每个边上Pin的Name(名字,比如P_0,P_1,P_2,P_3,P_4,P_5)中数字序号(比如0,1,2,3,4,5)0的大小进行排序,得到的引脚布局如图6所示。
在上述图6的基础上,按照上述提供调整原则,此时,软连接单元的PRBoundary下侧边没有Pin,则先调整上下两侧边的Pin:把上侧边位于队尾的VDD移动到下边,使得上下两侧边Pin数量相等。左侧边上的Pin比右边的数量多2,不满足布局原则,需要再调整左右两侧边的Pin:把位于队尾的Y移动到右侧边,由于Y的名字(P_2)中数字小于C的名字(P_3)中的数字序号,移动后仍要按照顺序排列,按照顺时针方向数字从小到大排列,Y位于C上方。
调整后左右侧边靠近的Pin的数量与上下侧表靠近的Pin数量只差一个,已经符合要求,具体如图7所示。在图7基础上,开始计算Space。为了便于说明,在图6的基础上,假设还存在一个pin:InoutputPinD,更改了Pin的大小,设置软连接单元的PRBoundary长为9宽为8,根据Space的计算方法,算出,左右两边的PinNum为3,MidSpace为(9-1-0.5)/3=2.5;上边的Pin的MidSpace为(8-0.5-0.75)/3=2.25;下边的Pin的MidSpace为(8-0.5-0.75)/2=3.375,布局效果如图8所示。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种版图设计中引脚的自动布局方法,其特征在于,包括:
根据电路原理图,生成电路版图;
针对所述电路版图中的当前待处理层,确定其上是否存在软连接单元以及位于所述软连接单元外的若干个第一引脚;
针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局;
针对所述软连接单元,确定其关联的第二子电路结构中的第二引脚,以在所述当前待处理层的下一层,根据所述软连接单元的版图边界,对所述第二引脚自动布局。
2.根据权利要求1所述的方法,其特征在于,所述针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局,包括:确定所述子电路结构的版图边界中与所述第一引脚距离最近的边,以与对应最近的边内切的方式布局所述第一引脚。
3.根据权利要求2所述的方法,其特征在于,若与同一所述第一引脚距离最近的边存在多个,则按照设定的内切关系优先级,使得所述第一引脚与其中优先级最高的的边内切;若所述子电路结构的版图边界的同一条边上,存在多个内切的所述第一引脚,则按照所述第一引脚的数字编号的大小,调整在所述同一条边上的先后位置。
4.根据权利要求3所述的方法,其特征在于,所述针对所述若干个第一引脚,根据其与所述子电路结构的版图边界的关系,对所述第一引脚自动布局,还包括:
沿着逆时针方向,分别调整所有第一引脚之间的间距。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述对所述第二引脚自动布局,包括:按照如下布局规则,对所述第二引脚自动布局:
将所述第二引脚布局在所述软连接单元的版图边界的内环,且输入型的所述第二引脚靠近所述软连接单元的版图边界的左侧边,输出型的所述第二引脚靠近所述软连接单元的版图边界的右侧边,输入/输出型的所述第二引脚布局靠近所述软连接单元的版图边界的上侧边或者下侧边;
靠近所述软连接单元的版图边界的上侧边和下侧边的所述第二引脚的数量之差不超过1个;
靠近所述软连接单元的版图边界的左侧边和右侧边的所述第二引脚的数量之差不超过1个;
靠近在所述软连接单元的版图边界的上下左右侧边的所述第二引脚的密度接近。
6.根据权利要求5所述的方法,其特征在于,所述对所述第二引脚自动布局,还包括:按照如下调整规则,对所述第二引脚进行调整:
按照顺时针方向,基于所述第二引脚的数字编号大小,分别调整靠近所述软连接单元的版图边界的左侧边、上侧边、右侧边、下侧边的所述第二引脚的先后位置;
对靠近所述软连接单元的版图边界的上侧边、下侧边设置的所述第二引脚,在上侧边和下侧边之间进行调整,以使得靠近上侧边和下侧边设置的所述第二引脚的密度接近;
对靠近所述软连接单元的版图边界的左侧边、右侧边设置的所述第二引脚,在左侧边、右侧边之间进行调整,以使得靠近左侧边、右侧边设置的所述第二引脚的密度接近。
7.根据权利要求6所述的方法,其特征在于,所述对所述第二引脚自动布局,还包括:按照如下调整规则,对所述第二引脚进行调整,还包括:按照如下间距计算规则计算靠近左侧边或者右侧边设置的第二引脚之间的间距、靠近上侧边或者下侧边设置的第二引脚之间的间距,以对所述第二引脚进行间距调整:
针对靠近所述软连接单元的版图边界的左侧边或者右侧边的所述引脚,对应地,根据所述软连接单元的版图边界的高度以及靠近左侧边或者右侧边设置的第二引脚之间间距的数量,计算靠近左侧边或者右侧边设置的第二引脚之间的间距;
针对靠近所述软连接单元的版图边界的上侧边或者下侧边的所述引脚,根据所述软连接单元的版图边界的宽度以及靠近上侧边或者下侧边设置的第二引脚之间间距的数量,计算靠近上侧边或者下侧边设置的第二引脚之间的间距。
8.根据权利要求7所述的方法,其特征在于,基于如下公式,根据所述软连接单元的版图边界的高度以及靠近左侧边或者右侧边设置的第二引脚之间间距的数量,计算靠近左侧边或者右侧边设置的第二引脚之间的间距:
SpaceNum1表示靠近左侧边或者右侧边设置的第二引脚之间间距的数量,MidSpace1表示靠近左侧边或者右侧边设置的第二引脚之间的间距,Height表示所述软连接单元的版图边界的高度,H1表示靠近上侧边设置的第二引脚中,最高第二引脚的高度,H2表示靠近下侧边设置的第二引脚中,最高第二引脚的高度。
9.根据权利要求7所述的方法,其特征在于,基于如下公式,根据所述软连接单元的版图边界的宽度以及靠近上侧边或者下侧边设置的第二引脚之间间距的数量,计算靠近上侧边或者下侧边设置的第二引脚之间的间距:
SpaceNum2表示靠近上侧边或者下侧边设置的第二引脚之间间距的数量,MidSpace2表示靠近上侧边或者下侧边设置的第二引脚之间的间距,Width表示所述软连接单元的版图边界的宽度,W1表示靠近左侧边设置的第二引脚中,最宽第二引脚的宽度,W2表示靠近右侧边设置的第二引脚中,最宽第二引脚的宽度。
10.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器上用于存储计算机可执行程序,所述处理器用于运行所述计算机可执行程序以实施权利要求1-9任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310104235.4A CN116050340A (zh) | 2023-01-19 | 2023-01-19 | 版图设计中引脚的自动布局方法、装置及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310104235.4A CN116050340A (zh) | 2023-01-19 | 2023-01-19 | 版图设计中引脚的自动布局方法、装置及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116050340A true CN116050340A (zh) | 2023-05-02 |
Family
ID=86114664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310104235.4A Pending CN116050340A (zh) | 2023-01-19 | 2023-01-19 | 版图设计中引脚的自动布局方法、装置及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116050340A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215528A (zh) * | 2023-08-02 | 2023-12-12 | 南京国电南自维美德自动化有限公司 | 一种动态图元坐标生成方法及系统 |
-
2023
- 2023-01-19 CN CN202310104235.4A patent/CN116050340A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117215528A (zh) * | 2023-08-02 | 2023-12-12 | 南京国电南自维美德自动化有限公司 | 一种动态图元坐标生成方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9659138B1 (en) | Methods, systems, and computer program product for a bottom-up electronic design implementation flow and track pattern definition for multiple-patterning lithographic techniques | |
JP4474404B2 (ja) | パッキングベースのマクロ配置方法とそれを用いた半導体チップ | |
US8516402B1 (en) | Method and apparatus for automatically fixing double patterning loop violations | |
Hsu et al. | Routability-driven analytical placement for mixed-size circuit designs | |
US9003349B1 (en) | Methods, systems, and articles of manufacture for implementing a physical electronic design with area-bounded tracks | |
US7984410B2 (en) | Hierarchy-based analytical placement method for an integrated circuit | |
US20110041104A1 (en) | Semiconductor circuit pattern design method for manufacturing semiconductor device or liquid crystal display device | |
US20140264899A1 (en) | Pattern Modification with a Preferred Position Function | |
US9117052B1 (en) | Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
US9251299B1 (en) | Methods, systems, and articles of manufacture for associating track patterns with rules for electronic designs | |
US7472366B1 (en) | Method and apparatus for performing a path search | |
US9213793B1 (en) | Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks | |
US7380227B1 (en) | Automated correction of asymmetric enclosure rule violations in a design layout | |
US10229239B2 (en) | Capacity model for global routing | |
CN116050340A (zh) | 版图设计中引脚的自动布局方法、装置及相关产品 | |
US7093220B2 (en) | Method for generating constrained component placement for integrated circuits and packages | |
US10452807B1 (en) | Method, system, and computer program product for implementing routing aware placement for an electronic design | |
US7530038B2 (en) | Method and placement tool for designing the layout of an electronic circuit | |
US10643020B1 (en) | System and method to estimate a number of layers needed for routing a multi-die package | |
US20230351087A1 (en) | Using machine trained network during routing to modify locations of vias in an ic design | |
US20170206298A1 (en) | Method for analog circuit placement | |
US8910107B1 (en) | Methods, systems, and articles of manufacture for generating multi-layer local maximal orthogonal routing paths in fractured space | |
CN116484791A (zh) | 用于图形生成的方法、设备和介质 | |
US8132141B2 (en) | Method and apparatus for generating a centerline connectivity representation |
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 |