CN116306469A - 模拟版图的金属走线方法、装置、设备及存储介质 - Google Patents
模拟版图的金属走线方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116306469A CN116306469A CN202310573464.0A CN202310573464A CN116306469A CN 116306469 A CN116306469 A CN 116306469A CN 202310573464 A CN202310573464 A CN 202310573464A CN 116306469 A CN116306469 A CN 116306469A
- Authority
- CN
- China
- Prior art keywords
- metal
- routing
- free function
- metal wire
- type
- 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
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/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及芯片设计领域,公开了一种模拟版图的金属走线方法、装置、设备及存储介质,用于提高金属走线的连接效率。方法包括:创建图形交互窗口,并根据图形交互窗口生成走线类型选择框,其中,走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;创建自由函数集合,其中,自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;通过预设的目标设计软件选取待连接的初始金属走线,调用图形交互窗口,从走线类型选择框中确定目标金属走线选择类型;根据自由函数集合和目标金属走线选择类型,对初始金属走线进行自动连接,得到目标金属走线。
Description
技术领域
本发明涉及芯片设计领域,尤其涉及一种模拟版图的金属走线方法、装置、设备及存储介质。
背景技术
芯片的后端设计分为两类:模拟版图和数字版图。模拟版图也称为全定制版图,所有的器件、走线都是由人来决定。数字版图也称为PR(place and routing),一般是在工具或者脚本里加了约束之后,器件和走线由工具来决定。
在模拟版图的内部,往往存在成百上千条的金属走线,这些金属走线都需要模拟版图工程师人为的去连接,目前的cadence的virtuoso的工具无法去自动连接多个金属走线。现有方案有两种,第一种是在Layout XL的状态下,可以使用Create bus功能产生多条平行走线的金属走线,这种做法有很多的局限性,芯片版图必须在XL状态下,并且金属走线需要有名字,而且产生的平行走线的多条金属走线是无法改变其中一个或多几个金属走线之间的间距的,此外,无法链接二个不同方向的金属走线,Create bus只能去产生不同方向的连续的金属走线,但是大多数情况下不同方向的金属走线的名字顺序是不一样的,Create bus无法处理顺序不同链接问题。第二种是版图在任何的情况下都可以使用的方法,就是版图工程师手动一根金属走线一根金属走线的连接,这种方式很浪费时间,尤其在成百上千年条金属走线需要连接的时候,即现有方案的效率低。
发明内容
本发明提供了一种模拟版图的金属走线方法、装置、设备及存储介质,用于提高金属走线的连接效率。
本发明第一方面提供了一种模拟版图的金属走线方法,所述模拟版图的金属走线方法包括:
创建图形交互窗口,并根据所述图形交互窗口生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
创建自由函数集合,其中,所述自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;
通过预设的目标设计软件选取待连接的初始金属走线,调用所述图形交互窗口,从所述走线类型选择框中确定目标金属走线选择类型;
根据所述自由函数集合和所述目标金属走线选择类型,对所述初始金属走线进行自动连接,得到目标金属走线。
结合第一方面,在本发明第一方面的第一实施方式中,所述创建图形交互窗口,并根据所述图形交互窗口生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型,包括:
通过预设的第一目标函数创建图形交互窗口;
采用预设的第二目标函数,并通过所述图形交互窗口的界面生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
所述第一金属走线选择类型为连接含有金属走线名字的金属走线;
所述第二金属走线选择类型为连接没有金属走线名字的金属走线。
结合第一方面,在本发明第一方面的第二实施方式中,所述模拟版图的金属走线方法还包括:
当连接没有金属走线名字的金属走线时,确定金属走线连接方向,其中,所述金属走线连接方向包括:正向连接或者负向连接。
结合第一方面,在本发明第一方面的第三实施方式中,所述创建自由函数集合,其中,所述自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数,包括:
创建第一自由函数,其中,所述第一自由函数用于查找所有的含有金属走线名字的金属走线;
创建第二自由函数,其中,所述第二自由函数用于查找所有没有金属走线名字的金属走线;
创建主体自由函数,其中,所述主体自由函数用于分别连接对应的横向金属走线和纵向金属走线;
根据所述第一自由函数、所述第二自由函数以及所述主体自由函数生成自由函数集合。
结合第一方面,在本发明第一方面的第四实施方式中,所述查找所有的含有金属走线名字的金属走线,包括;
通过预置的循环语句以及判断语句,分别获取含有相同名字的横向金属走线和纵向金属走线;
获取含有相同名字的横向金属走线和纵向金属走线所对应的多个第一Id值;
通过所述多个第一Id值生成第一list,并输出所述第一list对应的所有集合。
结合第一方面,在本发明第一方面的第五实施方式中,所述查找所有没有金属走线名字的金属走线,包括:
查找所有的横向金属走线和纵向金属走线;
对所有的横向金属走线和纵向金属走线进行从小到大的排序,并获取所有的横向金属走线和纵向金属走线所对应的多个第二Id值;
根据预先选择的金属走线连接方向重新定义纵向金属走线的顺序,并输出含有横向金属走线和纵向金属走线的第二list所对应的所有集合。
结合第一方面,在本发明第一方面的第六实施方式中,所述分别连接对应的横向金属走线和纵向金属走线,包括:
S1:获取所述横向金属走线和所述纵向金属走线的公共点,并确定所述横向金属走线和所述纵向金属走线连接后的边;
S2:判断所述连接后的边在自动连接时是伸长或者缩短,并对所述连接后的边进行自动打孔;
S3:通过所述主体自由函数连接待连接的两条金属走线;
S4:循环执行上述步骤S1~S3,直至所有的金属走线被连接完。
本发明第二方面提供了一种模拟版图的金属走线装置,所述模拟版图的金属走线装置包括:
第一创建模块,用于创建图形交互窗口,并根据所述图形交互窗口生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
第二创建模块,用于创建自由函数集合,其中,所述自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;
调用模块,用于通过预设的目标设计软件选取待连接的初始金属走线,调用所述图形交互窗口,从所述走线类型选择框中确定目标金属走线选择类型;
连接模块,用于根据所述自由函数集合和所述目标金属走线选择类型,对所述初始金属走线进行自动连接,得到目标金属走线。
本发明第三方面提供了一种模拟版图的金属走线设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述模拟版图的金属走线设备执行上述的模拟版图的金属走线方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的模拟版图的金属走线方法。
本发明提供的技术方案中,创建图形交互窗口,并根据图形交互窗口生成走线类型选择框,其中,走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;创建自由函数集合,其中,自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;通过预设的目标设计软件选取待连接的初始金属走线,调用图形交互窗口,从走线类型选择框中确定目标金属走线选择类型;根据自由函数集合和目标金属走线选择类型,对初始金属走线进行自动连接,得到目标金属走线,本发明通过输入相应脚本程序的命令快速的连接大量横向和纵向的金属走线,增加了模拟版图绘制模拟版图的速度,提高了金属走线的连接效率。
附图说明
图1为本发明实施例中模拟版图的金属走线方法的一个实施例示意图;
图2为本发明实施例中没有金属走线名字的金属走线自动连接时正向链接和负向链接示意图;
图3为本发明实施例中模拟版图的金属走线实施方式的流程示意图;
图4为本发明实施例中生成走线类型选择框的流程图;
图5为本发明实施例中创建自由函数集合的流程图;
图6为本发明实施例中查找所有的含有金属走线名字的金属走线的流程图;
图7为本发明实施例中判断金属走线的哪一边伸缩的逻辑图;
图8为本发明实施例中金属走线在相同方向伸缩后的两种不同形式的示例图;
图9(1)为本发明实施例中纵向的Net向上延伸的示例图;
图9(2)为本发明实施例中纵向的Net向下延伸的示例图;
图9(3)为本发明实施例中横向的Net向右延伸的示例图;
图9(4)为本发明实施例中横向的Net向左延伸的示例图;
图10为本发明实施例中模拟版图的金属走线装置的一个实施例示意图;
图11为本发明实施例中模拟版图的金属走线设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种模拟版图的金属走线方法、装置、设备及存储介质,用于提高金属走线的连接效率。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中模拟版图的金属走线方法的一个实施例包括:
S101、创建图形交互窗口,并根据图形交互窗口生成走线类型选择框,其中,走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
可以理解的是,本发明的执行主体可以为模拟版图的金属走线装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
具体的,服务器通过Cadence提供的二次开发的SKILL语言程序,编写所需的程序脚本。创建图形交互窗口,需要说明的是,窗口内创建Field并制定二种选择类型,第一种类型是连接含有金属走线名字的金属走线,第二种类型是连接没有金属走线名字的金属走线,其中,如果选择连接没有金属走线名字的金属走线,还需要选择在自动连接的过程中是正向连接还是负向连接。
S102、创建自由函数集合,其中,自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;
具体的,服务器创建自由函数,获取所有的含有金属走线名字的金属走线,并使用循环及判断语句分别找到含有相同名字的横向金属走线和纵向金属走线,并获取这二个金属走线的Id值形成一个新的list,最后输出含有这种list的所有集合。其中,在创建自由函数时,找到所有没有金属走线名字的金属走线,找到所有的横向金属走线和纵向金属走线,并进行从小到大的排序,并获取金属走线的Id值,根据选择的是自动正向连接还是自动负向连接,来重新定义纵向金属走线的顺序。最后输出含有横向金属走线和纵向金属走线的list的所有集合。创建主体自由函数,这个函数只要是分别连接相应的横向金属走线和纵向金属走线的,主要步骤为:首先找到这个二个横向和纵向的金属走线的公共点,进而判断这条金属走线在那一边连接,需要说明的是,由于金属走线的公共点是金属走线的中心点的交叉部分,但是金属走线是有宽度的,所以还需要判断金属走线连接后的边是要再次伸长还是缩短,进一步自动打孔,最终,使用主体函数leStretchFig()去连接所要连接的二条金属走线,循环操作直到所有的金属走线被连接完,如图2所示,为本发明实施例中没有金属走线名字的金属走线自动连接时正向链接和负向链接示意图;
S103、通过预设的目标设计软件选取待连接的初始金属走线,调用图形交互窗口,从走线类型选择框中确定目标金属走线选择类型;
需要说明的是,在cadence启动后加载所需的程序。打开Virtuoso的Layoutview,并选择所需要自动连接的金属走线。程序的加载和确认所需操作的金属走线。在Cadence启动过程后,打开Virtuoso中的Layout view,打开后获取需要自动连接的金属走线,手动选择这些金属走线,进而从走线类型框中确定目标金属走线选择类型。
S104、根据自由函数集合和目标金属走线选择类型,对初始金属走线进行自动连接,得到目标金属走线。
具体的,执行程序分别两部分,第一部分为调出图形交互窗口,选择金属走线的连接方式,其中,首先连接有金属走线名字的金属走线,进而连接没有金属走线名字的金属走线。执行程序第二部分,自动连接所对应的金属走线。输入自由函数AutoConnect金属走线Menu()调出程序的图形交互窗口。根据需求选择自动连接有金属走线名字的金属走线选项或选择自动连接没有金属走线名字的金属走线选项。输入自由函数AutoConnect金属走线执行自动连接和打孔的功能,直到所有被选中的金属走线自动连接结束,如图3所示,为本发明实施例中模拟版图的金属走线实施方式的流程示意图。
本发明实施例中,创建图形交互窗口,并根据图形交互窗口生成走线类型选择框,其中,走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;创建自由函数集合,其中,自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;通过预设的目标设计软件选取待连接的初始金属走线,调用图形交互窗口,从走线类型选择框中确定目标金属走线选择类型;根据自由函数集合和目标金属走线选择类型,对初始金属走线进行自动连接,得到目标金属走线,本发明通过输入相应脚本程序的命令快速的连接大量横向和纵向的金属走线,增加了模拟版图绘制模拟版图的速度,提高了金属走线的连接效率。
在一具体实施例中,如图4所示,执行步骤S101的过程可以具体包括如下步骤:
S201、通过预设的第一目标函数创建图形交互窗口;
S202、采用预设的第二目标函数,并通过图形交互窗口的界面生成走线类型选择框,其中,走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
S203、第一金属走线选择类型为连接含有金属走线名字的金属走线;
S204、第二金属走线选择类型为连接没有金属走线名字的金属走线。
具体的,服务器根据cadence提供的二次开发语言进行程序的设计,需要说明的是,设计步骤如下:创建图形界面交互窗口及其选项;使用hiCreateAppForm()函数创建图形交互窗口,使用hiCreateRadioField()函数创建两个选项在这个图形交互窗口界面,第一个选项是连接有金属走线名字的金属走线(connect to金属走线with name)。第二个选项是连接没有金属走线名字的金属走线(connect to金属走线without name)。使用hiCreateRadioField()函数创建二个选项在这个图形交互窗口界面,第一个选项是正向连接(Positive Order)。第二个选项是负向连接(Negative Order)。判断这些选项的选取情况并调取相应的自由函数。
在一具体实施例中,执行模拟版图的金属走线方法还包括:
(1)当连接没有金属走线名字的金属走线时,确定金属走线连接方向,其中,金属走线连接方向包括:正向连接或者负向连接。
在一具体实施例中,如图5所示,执行步骤S102的过程可以具体包括如下步骤:
S301、创建第一自由函数,其中,第一自由函数用于查找所有的含有金属走线名字的金属走线;
S302、创建第二自由函数,其中,第二自由函数用于查找所有没有金属走线名字的金属走线;
S303、创建主体自由函数,其中,主体自由函数用于分别连接对应的横向金属走线和纵向金属走线;
S304、根据第一自由函数、第二自由函数以及主体自由函数生成自由函数集合。
在一具体实施例中,如图6所示,执行步骤查找所有的含有金属走线名字的金属走线的过程可以具体包括如下步骤:
S401、通过预置的循环语句以及判断语句,分别获取含有相同名字的横向金属走线和纵向金属走线;
S402、获取含有相同名字的横向金属走线和纵向金属走线所对应的多个第一Id值;
S403、通过多个第一Id值生成第一list,并输出第一list对应的所有集合。
具体的,服务器创建自由函数,进而连接有金属走线名字的金属走线(connect to金属走线with name),其步骤如下:使用geGetWindowCellView()函数得到Layout view的Id,并且使用geGetSelSet()函数确定选择的金属走线。使用setof()函数选出所有金属走线的名字不为nil的金属走线。判断选择的金属走线个数,如果小于二个,那么报错。如果等于二个,那么把这二个直接输出。如果大于二个,判断语句if()函数判断出名字一样的金属走线,并获取其Id,并输出含有二个相同的名字Id的金属走线组成的list,使用循环语句for(),区循环所有金属走线,然后输出上面的list的集合,最终得到第一list对应的所有集合。
在一具体实施例中,执行步骤查找所有没有金属走线名字的金属走线的过程可以具体包括如下步骤:
(1)查找所有的横向金属走线和纵向金属走线;
(2)对所有的横向金属走线和纵向金属走线进行从小到大的排序,并获取所有的横向金属走线和纵向金属走线所对应的多个第二Id值;
(3)根据预先选择的金属走线连接方向重新定义纵向金属走线的顺序,并输出含有横向金属走线和纵向金属走线的第二list所对应的所有集合。
具体的,创建函数,进而连接没有金属走线名字的金属走线(connect to金属走线without name),其具体步骤如下:首先使用geGetWindowCellView()函数得到Layoutview的Id,并且使用geGetSelSet()函数确定选择的金属走线,进而使用setof选择出不同类型的金属走线,金属走线的类型有三种:pathSeg,path,rect;最终,对pathSeg类型的金属走线进行操作,需要说明的是,在对pathSeg类型的金属走线进行操作时,金属走线的两边中心点坐标分别为金属走线beginPt和金属走线endPt,根据这个坐标判断这个金属走线是横向的还是纵向的,并把横向的金属走线按照beginPt内坐标的y坐标值的大小,按照从小到大的顺序进行排序。同时把纵向的金属走线也按照beginPt内坐标的x坐标值的大小,按照从小到大的顺序进行排序,最终根据创建的Field的选项来再一次对纵方向上的金属走线进行再次排序,并输出含有横向金属走线和纵向金属走线的第二list所对应的所有集合。
需要说明的是,如果选择Positive Order方式,并且当y金属走线内最小值的坐标的y值减去x金属走线内最小值的坐标的y值的差除以y金属走线内最小值的坐标的x值减去x金属走线内最小值的坐标的x值的差的结果大于或等于0的时候,需要对y金属走线进行一次倒叙排列。
如果选择Negative Order方式,并且当y金属走线内最小值的坐标的y值减去x金属走线内最小值的坐标的y值的差除以y金属走线内最小值的坐标的x值减去x金属走线内最小值的坐标的x值的差的结果小于0的时候,对y金属走线进行一次倒叙排列。
在对path类型的金属走线进行操作时,需要说明的是,金属走线的两边中心点坐标分别为lowerL eft和upper Right,根据这个坐标判断这个金属走线是横向的还是纵向的,如果xCoord(lowerLeft)==xCoord(upperRight),那么这个金属走线是纵向的,反之则为横向。进而将横向的金属走线按照lowerLeft内坐标的y坐标值的大小按照从小到大的排序。同时把纵向的金属走线也按照lowerLeft内坐标的x坐标值的大小进行排序。根据创建的Field的选项来再一次对纵方向上的金属走线进行再次排序。
需要说明的是,如果选择Positive Order方式,并且当y金属走线内最小值的坐标的y值减去x金属走线内最小值的坐标的y值的差除以y金属走线内最小值的坐标的x值减去x金属走线内最小值的坐标的x值的差的结果大于或等于0的时候,对y金属走线进行一次倒叙排列。如果选择Negative Order方式,并且当y金属走线内最小值的坐标的y值减去x金属走线内最小值的坐标的y值的差除以y金属走线内最小值的坐标的x值减去x金属走线内最小值的坐标的x值的差的结果小于0的时候,对y金属走线进行一次倒叙排列。
在对rect类型的金属走线进行操作时,金属走线的两边中心点坐标分别为lowerLeft和upperRight,根据这个坐标判断这个金属走线是横向的还是纵向的,如果xCoord(lowerLeft)==xCoord(upperRight),那么这个金属走线是纵向的,反之则为横向。进而将横向的金属走线按照lowerLeft内坐标的y坐标值的大小按照从小到大的排序。同时把纵向的金属走线也按照lowerLeft内坐标的x坐标值的大小进行排序。
根据创建的Field的选项来再一次对纵方向上的金属走线进行再次排序,如果选择Positive Order方式,并且当y金属走线内最小值的坐标的y值减去x金属走线内最小值的坐标的y值的差除以y金属走线内最小值的坐标的x值减去x金属走线内最小值的坐标的x值的差的结果大于或等于0的时候,对y金属走线进行一次倒叙排列。
如果选择Negative Order方式,并且当y金属走线内最小值的坐标的y值减去x金属走线内最小值的坐标的y值的差除以y金属走线内最小值的坐标的x值减去x金属走线内最小值的坐标的x值的差的结果小于0的时候,对y金属走线进行一次倒叙排列。没有金属走线名字的金属走线连接就是相近的横向金属走线与纵向金属走线相连接,纵向A与横线A最近,所以相互连接。使用循环语句,输出所有的含有一个横向金属走线的Id和一个纵向金属走线的Id的list的所有集合。
在一具体实施例中,执行步骤分别连接对应的横向金属走线和纵向金属走线的过程可以具体包括如下步骤:
S1:获取横向金属走线和纵向金属走线的公共点,并确定横向金属走线和纵向金属走线连接后的边;
S2:判断连接后的边在自动连接时是伸长或者缩短,并对连接后的边进行自动打孔;
S3:通过主体自由函数连接待连接的两条金属走线;
S4:循环执行上述步骤S1~S3,直至所有的金属走线被连接完。
具体的,创建主体函数,其中,服务器循环操作,对单个含有一个横向金属走线和纵向金属走线的list进行操作,首先分别确定三种类型金属走线的宽度及其金属走线的两边中心点的坐标,找到这个list内横向金属走线和纵向金属走线的公共坐标点。
进而进行循环判断,其中,服务器判断金属走线的两边中心点,是哪个点所在的边需要被拉伸,如图7所示,为本发明实施例中判断金属走线的哪一边伸缩的逻辑图二个点分别为LL和UR,公共点坐标为(cx,cy),Net坐标函数为(LL,UR),LL=(llx,lly),UR=(urx,ury),其中LL的表达式为:
其中,ury、lly、cy表示纵坐标,urx、llx、cx表示横坐标。
UR的表达式为:
其中,ury、lly、cy表示纵坐标,urx、llx、cx表示横坐标。
其判断的依据为,哪个点的坐标与公共点的坐标距离总和最近,那么哪个点就会被拉伸,公共点的坐标确认是根据横向金属走线和纵向金属走线的两边的中心点计算出来的,由于金属走线是有宽度的,所以当金属走线被拉伸后,其需要增加或减少宽度的1/2,才会使得金属走线的边与另一个边重合,如图8所示,为本发明实施例中金属走线在相同方向伸缩后的两种不同形式的示例图,在(a)中,纵向的金属走线其va点所在的边向上延伸,延伸到公共点ca后停止,但是这时候纵向的金属走线的边不易横向的金属走线的上边重合,所以还需这个纵向的金属走线沿着y轴向上再延伸1/2w的距离。在(b)中,纵向的金属走线其va点所在的边向上延伸,延伸到公共点ca后停止,但是这时候纵向的金属走线的边不易横向的金属走线的下边重合,所以还需这个纵向的金属走线沿着y轴向下再延伸1/2w的距离。这样,其同样的va边所在的金属走线移动就有两种方式了,需要重新定义个函数来区分这两种形式,把中心点坐标不在任何金属走线内的一定为nil,中心点坐标在其中任何一个金属走线内的定义为t,两条金属走线的连接情况有八种情况,分别如图9(1)、图9(2)、图9(3)和图9(4)所示,为本发明实施例中横向金属走线和纵向金属走线连接时的八种情况示例图。图9(1)为纵向的Net向上延伸的两种情况的示例图;图9(2)为纵向的Net向下延伸的两种情况的示例图;图9(3)为横向的Net向右延伸的两种情况的示例图;图9(4)为横向的Net向左延伸的两种情况的示例图。由图9(1)、图9(2)、图9(3)和图9(4)可知,宽度为w,公共点坐标为ca(cx,cy),横向金属走线的坐标为ha(h1x,cy)和hb(h2x,cy)纵向金属走线的坐标为va(cx,v1y)和vb(cx,v2y)。使用leStretchFig()函数来伸缩金属走线的边,这个函数需要一个list(x y)的参数,x为横向伸缩值,y为纵向伸缩值,使用leStretchFig()函数,循环连接二个金属走线,直到所有金属走线都自动连接完毕,使用le0ViaForm来调出自动打孔功能,对不同层次的金属走线连接后的公共部分进行操作,如果相同层次,那么不需要进行打孔,如果是不同层次,那么进行自动打孔。
上面对本发明实施例中模拟版图的金属走线方法进行了描述,下面对本发明实施例中模拟版图的金属走线装置进行描述,请参阅图10,本发明实施例中模拟版图的金属走线装置一个实施例包括:
第一创建模块501,用于创建图形交互窗口,并根据所述图形交互窗口生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
第二创建模块502,用于创建自由函数集合,其中,所述自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;
调用模块503,用于通过预设的目标设计软件选取待连接的初始金属走线,调用所述图形交互窗口,从所述走线类型选择框中确定目标金属走线选择类型;
连接模块504,用于根据所述自由函数集合和所述目标金属走线选择类型,对所述初始金属走线进行自动连接,得到目标金属走线。
通过上述各个组成部分的协同合作,创建图形交互窗口,并根据图形交互窗口生成走线类型选择框,其中,走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;创建自由函数集合,其中,自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;通过预设的目标设计软件选取待连接的初始金属走线,调用图形交互窗口,从走线类型选择框中确定目标金属走线选择类型;根据自由函数集合和目标金属走线选择类型,对初始金属走线进行自动连接,得到目标金属走线,本发明通过输入相应脚本程序的命令快速的连接大量横向和纵向的金属走线,增加了模拟版图绘制模拟版图的速度,提高了金属走线的连接效率。
上面图10从模块化功能实体的角度对本发明实施例中的模拟版图的金属走线装置进行详细描述,下面从硬件处理的角度对本发明实施例中模拟版图的金属走线设备进行详细描述。
图11是本发明实施例提供的一种模拟版图的金属走线设备的结构示意图,该模拟版图的金属走线设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对模拟版图的金属走线设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在模拟版图的金属走线设备600上执行存储介质630中的一系列指令操作。
模拟版图的金属走线设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的模拟版图的金属走线设备结构并不构成对模拟版图的金属走线设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种模拟版图的金属走线设备,所述模拟版图的金属走线设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述模拟版图的金属走线方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述模拟版图的金属走线方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random acceS memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种模拟版图的金属走线方法,其特征在于,所述模拟版图的金属走线方法包括:
创建图形交互窗口,并根据所述图形交互窗口生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
创建自由函数集合,其中,所述自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;
通过预设的目标设计软件选取待连接的初始金属走线,调用所述图形交互窗口,从所述走线类型选择框中确定目标金属走线选择类型;
根据所述自由函数集合和所述目标金属走线选择类型,对所述初始金属走线进行自动连接,得到目标金属走线。
2.根据权利要求1所述的模拟版图的金属走线方法,其特征在于,所述创建图形交互窗口,并根据所述图形交互窗口生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型,包括:
通过预设的第一目标函数创建图形交互窗口;
采用预设的第二目标函数,并通过所述图形交互窗口的界面生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
所述第一金属走线选择类型为连接含有金属走线名字的金属走线;
所述第二金属走线选择类型为连接没有金属走线名字的金属走线。
3.根据权利要求1所述的模拟版图的金属走线方法,其特征在于,所述模拟版图的金属走线方法还包括:
当连接没有金属走线名字的金属走线时,确定金属走线连接方向,其中,所述金属走线连接方向包括:正向连接或者负向连接。
4.根据权利要求1所述的模拟版图的金属走线方法,其特征在于,所述创建自由函数集合,其中,所述自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数,包括:
创建第一自由函数,其中,所述第一自由函数用于查找所有的含有金属走线名字的金属走线;
创建第二自由函数,其中,所述第二自由函数用于查找所有没有金属走线名字的金属走线;
创建主体自由函数,其中,所述主体自由函数用于分别连接对应的横向金属走线和纵向金属走线;
根据所述第一自由函数、所述第二自由函数以及所述主体自由函数生成自由函数集合。
5.根据权利要求4所述的模拟版图的金属走线方法,其特征在于,所述查找所有的含有金属走线名字的金属走线,包括;
通过预置的循环语句以及判断语句,分别获取含有相同名字的横向金属走线和纵向金属走线;
获取含有相同名字的横向金属走线和纵向金属走线所对应的多个第一Id值;
通过所述多个第一Id值生成第一list,并输出所述第一list对应的所有集合。
6.根据权利要求4所述的模拟版图的金属走线方法,其特征在于,所述查找所有没有金属走线名字的金属走线,包括:
查找所有的横向金属走线和纵向金属走线;
对所有的横向金属走线和纵向金属走线进行从小到大的排序,并获取所有的横向金属走线和纵向金属走线所对应的多个第二Id值;
根据预先选择的金属走线连接方向重新定义纵向金属走线的顺序,并输出含有横向金属走线和纵向金属走线的第二list所对应的所有集合。
7.根据权利要求4所述的模拟版图的金属走线方法,其特征在于,所述分别连接对应的横向金属走线和纵向金属走线,包括:
S1:获取所述横向金属走线和所述纵向金属走线的公共点,并确定所述横向金属走线和所述纵向金属走线连接后的边;
S2:判断所述连接后的边在自动连接时是伸长或者缩短,并对所述连接后的边进行自动打孔;
S3:通过所述主体自由函数连接待连接的两条金属走线;
S4:循环执行上述步骤S1~S3,直至所有的金属走线被连接完。
8.一种模拟版图的金属走线装置,其特征在于,所述模拟版图的金属走线装置包括:
第一创建模块,用于创建图形交互窗口,并根据所述图形交互窗口生成走线类型选择框,其中,所述走线类型选择框中包括第一金属走线选择类型以及第二金属走线选择类型;
第二创建模块,用于创建自由函数集合,其中,所述自由函数集合包括:第一自由函数、第二自由函数以及主体自由函数;
调用模块,用于通过预设的目标设计软件选取待连接的初始金属走线,调用所述图形交互窗口,从所述走线类型选择框中确定目标金属走线选择类型;
连接模块,用于根据所述自由函数集合和所述目标金属走线选择类型,对所述初始金属走线进行自动连接,得到目标金属走线。
9.一种模拟版图的金属走线设备,其特征在于,所述模拟版图的金属走线设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述模拟版图的金属走线设备执行如权利要求1-7中任一项所述的模拟版图的金属走线方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述的模拟版图的金属走线方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310573464.0A CN116306469B (zh) | 2023-05-22 | 2023-05-22 | 模拟版图的金属走线方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310573464.0A CN116306469B (zh) | 2023-05-22 | 2023-05-22 | 模拟版图的金属走线方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116306469A true CN116306469A (zh) | 2023-06-23 |
CN116306469B CN116306469B (zh) | 2023-08-01 |
Family
ID=86815308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310573464.0A Active CN116306469B (zh) | 2023-05-22 | 2023-05-22 | 模拟版图的金属走线方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306469B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056186A1 (en) * | 2001-09-14 | 2003-03-20 | Mitsubishi Denki Kabushiki Kaisha | Method of and apparatus for designing layout of analog cells, and computer product |
US20050027502A1 (en) * | 2003-07-28 | 2005-02-03 | Intersil Americas Inc. | Line modeling tool |
CN102024066A (zh) * | 2009-09-09 | 2011-04-20 | 中国科学院微电子研究所 | 从模拟电路网表自动生成模拟电路原理图的方法 |
CN102521468A (zh) * | 2011-12-30 | 2012-06-27 | 中国科学院微电子研究所 | 一种提取互连线寄生参数的方法和装置 |
CN106354894A (zh) * | 2015-07-15 | 2017-01-25 | 中国科学院微电子研究所 | 一种模拟电路的布局方法及系统 |
US20190042684A1 (en) * | 2017-08-02 | 2019-02-07 | Oracle International Corporation | Schematic Driven Analog Circuit Layout Automation |
US10783292B1 (en) * | 2015-05-21 | 2020-09-22 | Pulsic Limited | Automated analog layout |
WO2022001132A1 (zh) * | 2020-06-29 | 2022-01-06 | 苏州浪潮智能科技有限公司 | 印制电路板的走线检测方法、装置及计算机可读存储介质 |
CN114781301A (zh) * | 2021-03-25 | 2022-07-22 | 台湾积体电路制造股份有限公司 | 模拟集成电路布局的产生系统与方法 |
CN115688671A (zh) * | 2022-11-14 | 2023-02-03 | 深圳市奇普乐芯片技术有限公司 | 布线方法、装置、终端及存储介质 |
CN116127908A (zh) * | 2023-01-17 | 2023-05-16 | 北京奕斯伟计算技术股份有限公司 | 电路版图的布线方法、装置、设备及存储介质 |
-
2023
- 2023-05-22 CN CN202310573464.0A patent/CN116306469B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030056186A1 (en) * | 2001-09-14 | 2003-03-20 | Mitsubishi Denki Kabushiki Kaisha | Method of and apparatus for designing layout of analog cells, and computer product |
US20050027502A1 (en) * | 2003-07-28 | 2005-02-03 | Intersil Americas Inc. | Line modeling tool |
CN102024066A (zh) * | 2009-09-09 | 2011-04-20 | 中国科学院微电子研究所 | 从模拟电路网表自动生成模拟电路原理图的方法 |
CN102521468A (zh) * | 2011-12-30 | 2012-06-27 | 中国科学院微电子研究所 | 一种提取互连线寄生参数的方法和装置 |
US10783292B1 (en) * | 2015-05-21 | 2020-09-22 | Pulsic Limited | Automated analog layout |
CN106354894A (zh) * | 2015-07-15 | 2017-01-25 | 中国科学院微电子研究所 | 一种模拟电路的布局方法及系统 |
US20190042684A1 (en) * | 2017-08-02 | 2019-02-07 | Oracle International Corporation | Schematic Driven Analog Circuit Layout Automation |
WO2022001132A1 (zh) * | 2020-06-29 | 2022-01-06 | 苏州浪潮智能科技有限公司 | 印制电路板的走线检测方法、装置及计算机可读存储介质 |
CN114781301A (zh) * | 2021-03-25 | 2022-07-22 | 台湾积体电路制造股份有限公司 | 模拟集成电路布局的产生系统与方法 |
CN115688671A (zh) * | 2022-11-14 | 2023-02-03 | 深圳市奇普乐芯片技术有限公司 | 布线方法、装置、终端及存储介质 |
CN116127908A (zh) * | 2023-01-17 | 2023-05-16 | 北京奕斯伟计算技术股份有限公司 | 电路版图的布线方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李侠;王浩;: "基于加速度计产品的ASIC版图设计和验证", 中国集成电路, no. 07, pages 46 - 52 * |
Also Published As
Publication number | Publication date |
---|---|
CN116306469B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022063561A2 (en) | Method and system for evaluating consistency of an engineered system | |
CN116306469B (zh) | 模拟版图的金属走线方法、装置、设备及存储介质 | |
CN109543327B (zh) | 一种pcb设计中零件摆放方法及装置 | |
US20180095447A1 (en) | Program development supporting apparatus, program development supporting method, and program development supporting program | |
EP2110741A1 (en) | A method and a system for transforming an object model | |
CN116301735B (zh) | 将软件要素组织为软件数据链路的方法、装置及存储介质 | |
CN112988298A (zh) | 可视化界面配置方法、装置、计算机设备及存储介质 | |
CN114594960A (zh) | 一种递归函数解析执行方法、装置及存储介质 | |
CN112286785B (zh) | 用户界面的异常检测方法及装置 | |
CN110175414B (zh) | 一种pcb设计中的零件摆放方法及工具 | |
CN113971630A (zh) | 三维结构图转换二维三视图的投图姿态推荐方法和装置 | |
JP2013065228A (ja) | バグ対策優先度表示システム | |
JP2002211099A (ja) | トラッピング領域生成方法、トラッピング領域生成装置、トラッピング領域生成プログラム、およびトラッピング領域生成プログラム記憶媒体 | |
CN108304191B (zh) | 函数动态调用方法和装置 | |
JP6445242B2 (ja) | 設計支援装置および設計支援方法 | |
JP6087472B2 (ja) | プログラム図作成装置、プログラム図作成方法、及びプログラム図作成プログラム | |
CN204790978U (zh) | 一种焊接的模拟装置 | |
CN110147625B (zh) | 动态铜转为静态铜的方法、计算机设备和计算机程序产品 | |
CN111611761A (zh) | 生成电路版图图案的方法、设备和计算机可读存储介质 | |
CN112799671A (zh) | 一种函数解析方法及其计算机设备 | |
JP2008143663A (ja) | 積込順序決定装置、積込順序決定方法、及び積込順序決定プログラム | |
JP2019102042A (ja) | 画面差異抽出装置及びプログラム | |
CN116629199B (zh) | 一种电路原理图的自动修改方法、装置、设备及存储介质 | |
JP6364786B2 (ja) | 設計書管理プログラム、設計書管理方法および設計書管理装置 | |
CN117193741A (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 |