CN115329713A - 一种布局模块、生成布线文件以及布线的方法、装置 - Google Patents
一种布局模块、生成布线文件以及布线的方法、装置 Download PDFInfo
- Publication number
- CN115329713A CN115329713A CN202211250454.5A CN202211250454A CN115329713A CN 115329713 A CN115329713 A CN 115329713A CN 202211250454 A CN202211250454 A CN 202211250454A CN 115329713 A CN115329713 A CN 115329713A
- Authority
- CN
- China
- Prior art keywords
- pin
- pins
- module
- metal layer
- layout
- 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
- 238000000034 method Methods 0.000 title claims abstract description 97
- 239000002184 metal Substances 0.000 claims abstract description 216
- 238000004804 winding Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 13
- 238000013461 design Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请实施例提供一种布局模块、生成布线文件以及布线的方法、装置,所述方法包括:确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述金属层或者所述第二模块上的所述多个引脚中的各对可直连的引脚对齐,得到布局版图。本申请的一些实施例在对版图上模块进行布局时通过调整模块等方式使得模块之间或者模块与金属层之间可直连的多对引脚间对齐,进而可以在布线时有效避免各对可直连引脚之间存在的跳层或者绕道问题,有效提升布线速度和布线效果。
Description
技术领域
本申请涉及数字后端设计领域,具体而言本申请涉及一种布局模块、生成布线文件以及布线的方法、装置。
背景技术
芯片物理设计的布局布线工具(例如,ARP工具)绕“簇状”直连线(例如,两个宏模块之间存在多对可直连的引脚)时,常采用跳层及绕道detour的方式实现,增加线延时,引入新的串扰且极易出现违反设计规则的情况,而且“簇状”直连线数量多,工具运行时间久,最终延时不稳定,数据分析的准确度偏差大。
发明内容
本申请实施例的目的在于提供一种布局模块、生成布线文件以及布线的方法、装置,采用本申请的一些实施例的布局或者布局布线方法在实现多个可直连引脚之间直连时没有跳层,减少了通孔带的寄生电阻的影响,没有绕道减少了冗余电阻的影响,同时可以实现直连的两个引脚是相同金属层,两个直连的引脚为一组,那么相邻组的直连引脚可采用间隔金属层,相当于是拉开相同金属层的并行走线,从而减少了串扰减少了电容的影响,从而不会增加线延时,本申请的互连金属完全依据设计规则不会有违反设计规则的问题,本申请的实施例将布局布线APR工具运行“簇状”直连引脚pin的布线及解决绕道的时间完全压缩到只需将提前写好的金属块文件(即布局布线文件)导入这一步操作,提升了布线速度。
第一方面,本申请实施例提供一种布局模块的方法,所述方法包括:确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述金属层或者所述第二模块上的所述多个引脚中的各对可直连的引脚对齐,得到布局版图。
本申请的一些实施例在对版图上模块进行布局时通过调整模块等方式使得模块之间或者模块与金属层之间可直连的多对引脚(或称为簇状直连引脚)间对齐,进而可以在布线时有效避免各对可直连引脚之间存在的跳层或者绕道问题,有效提升布线速度和布线效果。
在一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者所述金属层上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的金属宽度相同。
本申请的一些实施例中对齐的引脚是指代可直连的两个引脚之间的物理位置、金属层或者金属宽度中的一个参量对齐,进而提升实际布线或者在版图上布线的技术效果。
在一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者位于所述金属层上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚的金属宽度相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
本申请的一些实施例中对齐的引脚是指代可直连的两个引脚之间的物理位置、金属层或者金属宽度中的任意两个参量对齐,进而提升实际布线或者在版图上布线的技术效果。
在一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者所述金属层上的第二引脚,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
本申请的一些实施例中对齐的引脚是指代可直连的两个引脚之间的物理位置、金属层或者金属宽度中的所有参量均分别对齐,进而提升实际布线或者在版图上布线的技术效果。
在一些实施例中,所述调整所述多个引脚中的至少一个引脚,包括:根据所述第一模块上所述多个引脚中各个引脚的物理位置,调整位于所述第二模块或者所述金属层上的对应直连引脚的物理位置,使得可直连的每对引脚均满足物理位置对齐。
本申请的一些实施例通过固定一个模块,将另一个与该模块互连的模块进行位置微调或者转动等方式使得另一个模块上与该模块直连的每对引脚的物理位置分别对齐。
在一些实施例中,所述调整所述多个引脚中的至少一个引脚还包括:根据所述第一模块上所述多个引脚的中各个引脚所在的金属层,调整位于所述第二模块或者所述金属层上的对应直连引脚所在的金属层,使得每对可直连的引脚所在金属层均相同。
本申请的一些实施例通过固定一个模块,将另一个与该模块互连的模块进行位置微调或者转动等方式使得另一个模块上与该模块直连的每对引脚的金属层分别对齐。
在一些实施例中,所述调整所述多个引脚中的至少一个引脚还包括:根据所述第一模块上所述多个引脚的中各个引脚的金属宽度,调整位于所述第二模块或者所述金属层上的对应直连引脚的金属宽度,使得每对可直连的引脚的金属宽度均相同。
本申请的一些实施例通过固定一个模块,将另一个与该模块互连的模块进行位置微调或者转动等方式使得另一个模块上与该模块直连的每对引脚的金属宽度分别对齐(例如,可直连的第一引脚和第二引脚的金属宽度相同)。
在一些实施例中,所述第一模块和所述第二模块均为宏模块,所述金属层为第一模块和所述第二模块所在的金属层。
本申请的一些实施例用于解决宏模块与其他对象之间的多引脚直连问题。
第二方面,本申请的一些实施例提供一种生成布线文件的方法,所述方法包括:从第一方面任意实施例得到的布局版图上获取对齐的多对直连引脚的属性信息;根据所述属性信息生成布线文件,以使自动布局布线工具通过所述布线文件完成布线。
本申请的一些实施例通过脚本从上述第一方面得到的布局版图中读取对齐的可直连引脚的属性信息,进而构建布线文件,使得自动布局布线工具(例如,ARP工具)可以导入该布线文件直接完成绕线,且显著提升绕线效果节省绕线时间。
在一些实施例中,所述获取对齐的多对直连引脚的属性信息,包括:从所述布局版图上抓取所述多对直连引脚中每对直连引脚的金属层信息以及金属宽度信息,其中,在所述布局版图上所述多对直连引脚是对齐的;从所述布局版图上抓取所述多对直连引脚中每对直连引脚之间的距离信息;所述根据所述属性信息生成布线文件,包括:至少根据所述金属层信息、所述金属宽度信息以及所述距离信息,对所述多对直连引脚所处的线网进行参数配置,得到所述布线文件。
本申请的一些实施例通过从包含对齐的多对直连引脚的布局图上读取各对对齐可直连引脚之间的属性信息进而得到布线文件。
在一些实施例中,所述对所述多对直连引脚所处的线网进行参数配置,得到所述布线文件,包括:根据所述距离信息和所述金属层信息配置所述线网的长度;根据所述金属宽度信息配置所述线网的宽度。
本申请的一些实施例通过读取的属性信息配置线网,进而使得自动布局布线工具可根据配置的线网信息完成绕线布线。
在一些实施例中,所述根据所述距离信息和所述金属层信息配置所述线网的长度,包括:根据所述金属层信息获取各引脚的金属深度;将所述多对直连引脚中每对直连的引脚的金属深度的一半与所述每对直连引脚的距离的和作为所述线网的长度。
本申请的一些实施例定义了一种线网长度的计算方式,提升线网长度结果的准确性和客观性。
在一些实施例中,所述根据所述金属宽度信息配置所述线网的宽度,包括:将所述多对直连引脚中每对直连引脚的金属宽度分别作为所述线网的宽度。
本申请的一些实施例定义了一种线网宽度的计算方式,提升线网长度结果的准确性和客观性。
第三方面,本申请的一些实施例提供一种自动布局布线的方法,所述方法包括:获取第二方面任意实施例得到的布线文件;根据所述布线文件在布局版图上进行自动绕线,得到布局布线版图。
本申请的一些实施例提供一种自动布局布线工具,该工具可以依据得到的包括多对对齐的可直连的引脚的布线文件在版图上进行布局布线,得到布局布线版图,进而使得后续可以根据该布局布线版图完成实际布线。
在一些实施例中,在获取所述布线文件之前,所述方法还包括:确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述金属层或者所述第二模块上的所述多个引脚中的各对可直连的引脚对齐,得到所述布局版图。
本申请的一些实施例提供一种获取对齐的多对可直连引脚的布局图的方法。
在一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的金属宽度相同;或者,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚的金属宽度相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同;或者,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
本申请的一些实施例的对齐包括多种实施例,提升技术方案的通用性。
第四方面,本申请的一些实施例提供一种布局宏模块的装置,所述装置包括:多引脚直连状态确认模块,被配置为确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;多对直连引脚对齐模块,被配置为调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述第二模块或者所述金属层上的所述多个引脚中的各对可直连的引脚对齐,得到布局版图。
第五方面,本申请的一些实施例提供一种生成布线文件的装置,所述装置包括:属性值抓取模块,被配置为从布局版图上获取对齐的多对直连引脚的属性信息,其中,在所述布局版图上所述多对直连引脚是对齐的;文件生成模块,被配置为根据所述属性信息生成布线文件,以使自动布局布线工具通过所述布线文件完成布线。
第六方面,本申请的一些实施例提供一种自动布局布线装置,所述自动布局布线装置包括:布局模块,被配置为通过调整多对可直连引脚中的至少一个引脚使得所述多对可直连引脚对齐,得到布局版图;布线文件获取模块,被配置为从所述布局版图上获取对齐的多对直连引脚的属性信息,并根据所述属性信息得到布线文件;绕线模块,被配置为依据所述布线文件完成对所述布局版图上所述多对直连引脚的绕线,得到布局布线版图。
第七方面,本申请的一些实施例提供一种计算机存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述第一方面、第二方面以及第三方面任意实施例所述的方法。
第八方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如上述第一方面、第二方面以及第三方面任意实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为相关技术提供的自动布局布线的实现框图;
图2为本申请实施例提供的自动布局布线的实现框图;
图3为本申请实施例提供的布局模块的方法的流程图;
图4为本申请实施例提供的生成布线文件的方法的流程图;
图5为本申请实施例提供的自动布局布线的方法的流程图之一;
图6为本申请实施例提供的自动布局布线的方法的流程图之二;
图7为本申请实施例提供的摆放模块的结果示意图;
图8为本申请实施例提供的对齐可直连引脚的结果示意图;
图9为本申请实施例提供的确定的可直连引脚之间的距离信息示意图图;
图10为本申请实施例提供的向自动布局布线工具导入布线文件的结果示意图;
图11为本申请实施例提供的实际工程项目中的布线结果示意图;
图12为本申请实施例提供的布局模块的装置的组成框图;
图13为本申请实施例提供的生成布线文件的装置的组成框图;
图14为本申请实施例提供的自动布局布线的装置的组成框图;
图15为本申请实施例提供的电子设备组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
至少为了解决背景技术部分存在的问题,本申请的一些实施例提供一种“簇状”直连引脚pin自动绕线的方法,该方法可以根据模块位置,自动摆放输入输出端引脚使得需要直连的多对引脚分别对齐,自动生成对齐引脚之间的连接线。采用本申请这些实施例的方法至少具有如下优点:①可得到最小的稳定的延迟;②可复用,不随数据版本的变化而变化;③操作方便快捷,运行时间可以忽略不计。
请参看图1,图1为相关技术提供的自动布局布线的实现框图,该图包括数据准备和输入模块110、自动布局布线过程实现模块(该模块示例性包括:第一布局规划模块121、第一时钟树模块123、第一布线模块125以及DRC/LVS验证模块127)以及版图数据输出模块130。
数据准备和输入模块110主要用于收集数据,这些数据包括:门级列表、参考库以及设计约束等。门级列表或称为网表,该网表一般有设计编辑器design compiler生成,以标准逻辑单元表示的逻辑网络。参考库包括:标准单元库、输入输出单元库和IP库。
布局规划是面向物理版图的划分,不同于逻辑设计时的模块的划分。布局规划从版图上将芯片设计划分为不同的功能块,布置输入/输出端口,对功能块、宏模块、芯片时钟及电源分布进行布局方案设计,根据设计要求对一些单元或模块之间的距离进行约束和控制。
第一布局规划模块121至少被配置为规定芯片的面积、管脚位置和宏单元位置,以使得后续布线能够满足布线不同率要求以及时序要求。
第一时钟树模块123被配置为为了降低clock skew而产生由许多buffer单元组成的时钟树。
第一布线模块125被配置为先对电源和时钟信号布线,然后对信号线布线,目标是最大程度的满足时序。布线是根据电路连接的关系在满足工艺规则和电学性能的要求下在指定区域内完成所需的全部互连,同时对连线长度和通孔数目进行优化。
DRC/LVS验证模块被配置为为满足设计规则从而能成功制造出该芯片而做的修补工作。
版图数据输出模块130将经过验证的布局布线版图进行输出,以供相关工具进一步根据该布局布线版图生成掩膜文件或者掩膜版,并进一步分袂掩膜版制作相关芯片。
图2为本申请实施例提供的自动布局布线的实现框图,该图与图1的差别在于,第二布局规划模块122需要将模块之间或者模块与其所在的金属层之间可直连的多对引脚对齐,且图2的布线文件获取模块126会根据对齐的多对直连引脚得到对应布线文件,图2的第二布线模块128被配置为根据布线文件获取模块126得到的布线文件完成布线,由于模块之间或者模块与金属层之间的多对直连引脚已经对齐因此在实现“簇状”直连引脚的连接时可以有效避免跳层等问题,有效节约规则验证时间,图2的版图数据输出模块130用于输出经过自动布局布线过程后得到的版图。需要说明的是,为避免重复针对图2与图1相同的功能模块不做过多赘述。
下面结合图3示例性阐述由图2的第二布局规划模块122执行的布局模块的方法。
如图3所示,本申请实施例提供一种布局模块的方法,该方法包括:S101,确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;S102,调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述金属层或者所述第二模块上的所述多个引脚中的各对可直连的引脚对齐,得到布局版图。
在本申请的一些实施例中,S101涉及的第一模块和第二模块为芯片上的宏模块,在本申请的一些实施例中S101所述的金属层为第一模块所在的金属层。例如,这些宏模块可能是存储器或者模拟模块等。
在本申请的一些实施例中多个引脚为输入输出端引脚。
本申请的一些实施例在对版图上模块进行布局时通过调整模块等方式使得模块之间或者模块与金属层之间可直连的多对引脚间对齐,进而可以在布线时有效避免各对可直连引脚之间存在的跳层或者绕道问题,有效提升布线速度和布线效果。
下面示例性阐述各对可直连的引脚对齐的含义。
在本申请的一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者所述金属层上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的金属宽度相同。
也就是说,在本申请的一些实施例中对齐各对可直连的引脚即将可直连的每对引脚在版图上的物理位置对齐。在本申请的一些实施例中对齐各对可直连的引脚即将可直连的每对引脚在版图上的所在的金属层设计为相同。在本申请的一些实施例中对齐各对可直连的引脚即将可直连的每对引脚的金属宽度设计为相同。
本申请的一些实施例中对齐的引脚是指代可直连的两个引脚之间的物理位置、金属层或者金属宽度中的一个参量对齐,进而提升实际布线或者在版图上布线的技术效果。
在本申请的一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者位于所述金属层上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚的金属宽度相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
也就是说,在本申请的一些实施例中对齐各对可直连的引脚即将可直连的每对引脚在版图上的物理位置对齐且将每对直连引脚对应的两个引脚所在的金属层设置为相同。在本申请的一些实施例中对齐各对可直连的引脚即将可直连的每对引脚在版图上的物理位置对齐且金属宽度相同。在本申请的一些实施例中对齐各对可直连的引脚即将可直连的每对引脚的金属宽度设计为相同且所在金属层设置为相同。
本申请的一些实施例中对齐的引脚是指代可直连的两个引脚之间的物理位置、金属层或者金属宽度中的任意两个参量对齐,进而提升实际布线或者在版图上布线的技术效果。
在本申请的一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者所述金属层上的第二引脚,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
也就是说,在本申请的一些实施例中对齐多对可直连的引脚,即每对可直连的引脚的物理位置对齐、所在金属层相同且金属宽度相同。
本申请的一些实施例中对齐的引脚是指代可直连的两个引脚之间的物理位置、金属层或者金属宽度中的所有参量均分别对齐,进而提升实际布线或者在版图上布线的技术效果。
下面以移动一个模块或移动多个引脚为例示例阐述对齐多对可直连引脚的过程。可以理解的是,在本申请的一些实施例中,也可以通过同时移动两个可直连的模块来达到其上可直连的多对引脚的对齐。
若本申请的一些实施例的对齐多对引脚即对齐多对引脚的物理位置,则在本申请的一些实施例中,S102示例性包括:根据所述第一模块上所述多个引脚中各个引脚的物理位置,调整位于所述第二模块或者所述金属层上的对应直连引脚的物理位置,使得可直连的每对引脚均满足物理位置对齐。
本申请的一些实施例通过固定一个模块,将另一个与该模块互连的模块进行位置微调或者转动等方式使得另一个模块上与该模块直连的每对引脚的物理位置分别对齐。
若本申请的一些实施例的对齐多对引脚即对齐多对引脚的物理位置以及对齐所在金属层,则在本申请的一些实施例中,S102示例性包括:根据所述第一模块上所述多个引脚中各个引脚的物理位置,调整位于所述第二模块或者所述金属层上的对应直连引脚的物理位置,使得可直连的每对引脚均满足物理位置对齐;根据所述第一模块上所述多个引脚的中各个引脚所在的金属层,调整位于所述第二模块或者所述金属层上的对应直连引脚所在的金属层,使得每对可直连的引脚所在金属层均相同。
本申请的一些实施例通过固定一个模块,将另一个与该模块互连的模块进行位置微调或者转动等方式使得另一个模块上与该模块直连的每对引脚的金属层分别对齐且物理位置对齐。
若本申请的一些实施例的对齐多对引脚即对齐多对引脚的物理位置对齐、金属层对齐以及金属宽度对齐,则在本申请的一些实施例中,S102示例性包括:根据所述第一模块上所述多个引脚中各个引脚的物理位置,调整位于所述第二模块或者所述金属层上的对应直连引脚的物理位置,使得可直连的每对引脚均满足物理位置对齐;根据所述第一模块上所述多个引脚的中各个引脚所在的金属层,调整位于所述第二模块或者所述金属层上的对应直连引脚所在的金属层,使得每对可直连的引脚所在金属层均相同;根据所述第一模块上所述多个引脚的中各个引脚的金属宽度,调整位于所述第二模块或者所述金属层上的对应直连引脚的金属宽度,使得每对可直连的引脚的金属宽度均相同。
本申请的一些实施例通过固定一个模块,将另一个与该模块互连的模块进行位置微调或者转动等方式使得另一个模块上与该模块直连的每对引脚的金属宽度分别对齐、金属层对齐以及物理位置(例如,可直连的第一引脚和第二引脚的金属宽度相同)。
需要说明的是,在本申请的一些实施例中,所述第一模块和所述第二模块均为宏模块,所述金属层为第一模块和所述第二模块所在的金属层。本申请的一些实施例用于解决宏模块与其他对象之间的多引脚直连问题。
下面示例性阐述由图2的布线文件获取模块126执行的生成布线文件的方法,该方法可以是集成在自动布局布线工具中的一段程序,该程序通过抓取对齐的多对直连引脚(即通过第二布局规划模块122得到的布局版图)的属性信息来生成布线文件。
如图4所示,本申请的一些实施例提供一种生成布线文件的方法,该方法包括:
S201,从上述布局模块的方法所包括的任意实施例得到的布局版图上获取对齐的多对直连引脚的属性信息。
S202,根据所述属性信息生成布线文件,以使自动布局布线工具通过所述布线文件完成布线。
本申请的一些实施例通过脚本从上述第一方面得到的布局版图中读取对齐的可直连引脚的属性信息,进而构建布线文件,使得自动布局布线工具(例如,ARP工具)可以导入该布线文件直接完成绕线,且显著提升绕线效果节省绕线时间。
例如,在本申请的一些实施例中,S201示例性包括:从所述布局版图上抓取所述多对直连引脚中每对直连引脚的金属层信息以及金属宽度信息,其中,在所述布局版图上所述多对直连引脚是对齐的;从所述布局版图上抓取所述多对直连引脚中每对直连引脚之间的距离信息。S202示例性包括:至少根据所述金属层信息、所述金属宽度信息以及所述距离信息,对所述多对直连引脚所处的线网进行参数配置,得到所述布线文件。本申请的一些实施例通过从包含对齐的多对直连引脚的布局图上读取各对对齐可直连引脚之间的属性信息进而得到布线文件。
例如,在本申请的一些实施例中,S202所述对所述多对直连引脚所处的线网进行参数配置得到所述布线文件示例性包括:根据所述距离信息和所述金属层信息配置所述线网的长度;根据所述金属宽度信息配置所述线网的宽度。本申请的一些实施例通过读取的属性信息配置线网,进而使得自动布局布线工具可根据配置的线网信息完成绕线布线。
下面示例性阐述获取线网长度和线网宽度的计算公式,应当理解,本领域技术人员可以根据实际情况来设计不同于下述的线网长度和线网宽度计算公式。
例如,在本申请的一些实施例中,S202所述根据所述距离信息和所述金属层信息配置所述线网的长度示例性包括:根据所述金属层信息获取各引脚的金属深度;将所述多对直连引脚中每对直连的引脚的金属深度的一半与所述每对直连引脚的距离的和作为所述线网的长度。本申请的一些实施例定义了一种线网长度的计算方式,提升线网长度结果的准确性和客观性。
例如,在本申请的一些实施例中,S202所述根据所述金属宽度信息配置所述线网的宽度示例性包括:将所述多对直连引脚中每对直连引脚的金属宽度分别作为所述线网的宽度。
本申请的一些实施例定义了一种线网宽度的计算方式,提升线网长度结果的准确性和客观性。
下面示例性阐述由图2的自动布局布线单元200执行的自动布局布线方法。
如图5所示,本申请的一些实施例提供一种自动布局布线的方法,该方法包括:获取根据图2的布线文件获取模块126得到的布线文件;根据所述布线文件在布局版图上进行自动绕线,得到布局布线版图。
为了避免重复对于布线文件获取模块126执行的获取布线文件的方法可以参考上文描述,在此不做过多赘述。
也就是说,本申请的一些实施例提供一种自动布局布线工具,该工具可以依据得到的包括多对对齐的可直连的引脚的布线文件在版图上进行布局布线,得到布局布线版图,进而使得后续可以根据该布局布线版图完成实际布线。
可以理解的是,在本申请的一些实施例中,在布线文件获取模块126获取所述布线文件之前,所述方法还包括由第二布局规划模块122执行的如下获取布局版图的方法:确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述金属层或者所述第二模块上的所述多个引脚中的各对可直连的引脚对齐,得到所述布局版图。本申请的一些实施例提供一种获取对齐的多对可直连引脚的布局图的方法。为了避免重复,对于第二布局规划模块122如何获取布局版图的过程具体可参考上文描述,为避免重复在此不做过多赘述。
正如上文所记载的,在本申请的一些实施例中,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的金属宽度相同;或者,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚的金属宽度相同;或者,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。本申请的一些实施例的对齐包括多种实施例,提升技术方案的通用性。
下面结合图6-图11示例性阐述由图2的自动布局布线单元200执行的布局布线过程,在该示例中以在顶层上的两个宏模块或者顶层的输入输出端引脚与该顶层上的一个宏模块为例示例性阐述本申请一些实施例的布局布线过程。
如图6所示,本申请的一些实施例提供一种自动布局布线方法,该方法可用于“簇状”直连引脚的自动绕线,且该方法示例性包括如下步骤:
第一步,摆放模块,确定模块端脚(或称为引脚)。
摆放模块并确定模块端脚具体如图7所示,顶层设计中包含模块A和模块B,首先依据逻辑关系将模块A(作为第一模块的一个示例)和模块B(作为第二模块的一个示例)在顶层中的物理位置放好,然后划定“簇状”直连引脚pin(即确定存在多个可直连的引脚),图7的模块A的多个右侧引脚pin与模块B的左侧的多个引脚pin构成“簇状”直连引脚pin(即对应多对可直连引脚),且模块A下方的多个引脚pin与顶层下方多个引脚pin构成直连“簇状”引脚(即构成多对可直连的引脚)。
在物理设计前期布局规划阶段,首先确定宏模块、功能部件等模块的大致物理位置。这里再根据逻辑互连关系以及物理位置进行细致调整,这里的调整,不只限于调整所述模块的物理位置,还可以包括对模块的形状、大小的重新规划,以及互连管脚的金属层选择。这里以芯片物理设计的顶层为例,其内子模块包括模块A和模块B,其中模块A的右侧与模块B的左侧有多对可直连的输入输出端脚(或称为引脚),模块A与顶层向外的输入输出端脚(或称为引脚)有逻辑连接。而顶层的输入输出端脚位于左下方,于是首先将模块A放置于与顶层输入输出端脚靠近的位置,然后将模块B依次放置在模块A的右,如图7所示。物理位置摆放好后,需要对输入输出端脚pin重新布放,这里以模块A为基准(即模块A即模块A上的多个可直连引脚的位置保持不动),模块B可与模块A直连的多个引脚的位置及所处的金属层随之修正,且顶层金属层的端脚位置及所处的金属层也随之修正,进而使得可与模块A直连的多对直连引脚均分别对齐,对齐后的效果如图8所示,最终该模块A包括的多个输入输出引脚与被连接模块对应的多个可直连的输入输出引脚分别对齐。
需要说明的是,判断设计中是否存在簇状直连引脚,既是判断是否是内部多引脚的宏模块或子模块直接引出外围的逻辑信号,或者判断两宏模块或子模块之间是否不经过逻辑器件直接相连。
第二步,确定直连引脚pin顺序。
确定直连pin顺序。如图8所示,这里以模块A的多个引脚pin为基准pin,调整模块B及顶层的多个引脚pin使其与模块A满足“簇状”直连引脚pin条件的引脚pin与模块A对齐(得到布局版图,即数字电路的布局版图),这里的对齐即物理位置、所用金属层及金属宽度均对齐,图示不同颜色不同宽度的引脚pin表示引脚pin的金属层及金属宽度不同,这里只做说明示意,不限于此。
第三步,写出物理信息文件(def),得到布线文件。
写出物理信息文件(def)如图8所示,写出物理信息文件(def),具体操作如图6流程图所示:第一步定义def的抬头,包括def的版本及设计名,比例尺(如1:1000)等信息;第二抓取相邻可直连模块的“簇状”直连引脚pin的金属层及宽度;第三步抓取需要互连的距离,如图9所示的模块A与模块B“簇状”直连引脚pin的距离为X,模块A与顶层“簇状”直连引脚pin的距离为Y;第四步,抓取“簇状”直连引脚pin所属的线网名字,对该线网写def,该线网的长度为两相连引脚pin的金属深度的一半加上上一步抓取的距离X(或Y),宽度为两直连引脚pin的金属宽度,将线网金属设置为FIXED属性。
也就是说,对齐模块A上各对可直连的引脚之后,写程序写一个金属块的物理文件(即布线文件),该金属块具有如下信息:起始坐标、金属层、金属宽度分别与对齐后的直连引脚pin相同、长度为两直连pin的间距。
第四步,def文件导入设计中。
将第三步写好的def导入设计中,如图10所示(该图为布局布线版图,即数字集成电路的布局版图)在实际工程项目中实现图如图11所示,这是物理设计中的实现效果,具体到后期实际芯片制作后得到的图是以这个为蓝本进行光刻掩膜。如图11所示,采用本申请的技术方案后,得到的布线布局版图中互连线是直连的,没有跳层,不会有串扰,延时稳定。
第五步,设计中将导入线设置skipRouting和Dont touch 属性,这样可以保证后期布线跳过簇状直连线,并且不允许这里再插入其他器件。
第六步,结束。
请参考图12,图12示出了本申请实施例提供的一种布局宏模块的装置,应理解,该装置与上述图3方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该布局宏模块的装置,包括:多引脚直连状态确认模块101以及多对直连引脚对齐模块102。
多引脚直连状态确认模块,被配置为确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连。
多对直连引脚对齐模块,被配置为调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述第二模块或者所述金属层上的所述多个引脚中的各对可直连的引脚对齐,得到布局版图。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参考图13,图13示出了本申请实施例提供的一种生成布线文件的装置,应理解,该装置与上述图4方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该生成布线文件的装置,包括:属性值抓取模块201以及文件生成模块202。
属性值抓取模块,被配置为从布局版图上获取对齐的多对直连引脚的属性信息,其中,在所述布局版图上所述多对直连引脚是对齐的。
文件生成模块,被配置为根据所述属性信息生成布线文件,以使自动布局布线工具通过所述布线文件完成布线。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参考图14,图14示出了本申请实施例提供的一种自动布局布线装置,应理解,该装置与上述图5方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该自动布局布线装置,包括:布局模块301(对应实现图2第二布局规划模块122的功能)、布线文件获取模块302(对应实现图2布线文件获取模块126的功能)以及绕线模块303(对应实现图2第二布线模块128的功能)。
布局模块,被配置为通过调整多对可直连引脚中的至少一个引脚使得所述多对可直连引脚对齐,得到布局版图。
布线文件获取模块,被配置为从所述布局版图上获取对齐的多对直连引脚的属性信息,并根据所述属性信息得到布线文件。
绕线模块,被配置为依据所述布线文件完成对所述布局版图上所述多对直连引脚的绕线,得到布局布线版图。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例提供一种计算机存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述任意实施例所述的方法。
如图15所示,本申请的一些实施例提供一种电子设备500,包括存储器510、处理器520以及存储在所述存储器510上并可在所述处理器520上运行的计算机程序,其中,所述处理器520通过总线530从存储器510读取程序并执行所述程序时可实现如上述任意实施例所述的方法。
处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图3-图5中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (21)
1.一种布局模块的方法,其特征在于,所述方法包括:
确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;
调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述金属层或者所述第二模块上的所述多个引脚中的各对可直连的引脚对齐,得到布局版图。
2.如权利要求1所述的方法,其特征在于,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者所述金属层上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的金属宽度相同。
3.如权利要求1所述的方法,其特征在于,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者位于所述金属层上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚的金属宽度相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
4.如权利要求1所述的方法,其特征在于,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述第二模块或者所述金属层上的第二引脚,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
5.如权利要求1所述的方法,其特征在于,所述调整所述多个引脚中的至少一个引脚,包括:
根据所述第一模块上所述多个引脚中各个引脚的物理位置,调整位于所述第二模块或者所述金属层上的对应直连引脚的物理位置,使得可直连的每对引脚均满足物理位置对齐。
6.如权利要求5所述的方法,其特征在于,所述调整所述多个引脚中的至少一个引脚还包括:
根据所述第一模块上所述多个引脚的中各个引脚所在的金属层,调整位于所述第二模块或者所述金属层上的对应直连引脚所在的金属层,使得每对可直连的引脚所在金属层均相同。
7.如权利要求6所述的方法,其特征在于,所述调整所述多个引脚中的至少一个引脚还包括:
根据所述第一模块上所述多个引脚的中各个引脚的金属宽度,调整位于所述第二模块或者所述金属层上的对应直连引脚的金属宽度,使得每对可直连的引脚的金属宽度均相同。
8.如权利要求1-7任一项所述的方法,其特征在于,所述第一模块和所述第二模块均为宏模块,所述金属层为第一模块和所述第二模块所在的金属层。
9.一种生成布线文件的方法,其特征在于,所述方法包括:
从如权利要求1-8任一项方法得到的布局版图上获取对齐的多对直连引脚的属性信息;
根据所述属性信息生成布线文件,以使自动布局布线工具通过所述布线文件完成布线。
10.如权利要求9所述的方法,其特征在于,
所述获取对齐的多对直连引脚的属性信息,包括:
从所述布局版图上抓取所述多对直连引脚中每对直连引脚的金属层信息以及金属宽度信息,其中,在所述布局版图上所述多对直连引脚是对齐的;
从所述布局版图上抓取所述多对直连引脚中每对直连引脚之间的距离信息;
所述根据所述属性信息生成布线文件,包括:
至少根据所述金属层信息、所述金属宽度信息以及所述距离信息,对所述多对直连引脚所处的线网进行参数配置,得到所述布线文件。
11.如权利要求10所述的方法,其特征在于,所述对所述多对直连引脚所处的线网进行参数配置,得到所述布线文件,包括:
根据所述距离信息和所述金属层信息配置所述线网的长度;
根据所述金属宽度信息配置所述线网的宽度。
12.如权利要求11所述的方法,其特征在于,所述根据所述距离信息和所述金属层信息配置所述线网的长度,包括:
根据所述金属层信息获取各引脚的金属深度;
将所述多对直连引脚中每对直连的引脚的金属深度的一半与所述每对直连引脚的距离的和作为所述线网的长度。
13.如权利要求11所述的方法,其特征在于,所述根据所述金属宽度信息配置所述线网的宽度,包括:
将所述多对直连引脚中每对直连引脚的金属宽度分别作为所述线网的宽度。
14.一种自动布局布线的方法,其特征在于,所述方法包括:
获取采用如权利要求9-13中任一项方法得到的布线文件;
根据所述布线文件在布局版图上进行自动绕线,得到布局布线版图。
15.如权利要求14所述的方法,其特征在于,
在获取所述布线文件之前,所述方法还包括:
确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;
调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述金属层或者所述第二模块上的所述多个引脚中的各对可直连的引脚对齐,得到所述布局版图。
16.如权利要求15所述的方法,其特征在于,任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的金属宽度相同;
或者,
任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,其中,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚所处的金属层相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐且所述第一引脚和所述第二引脚的金属宽度相同,或者,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同;
或者,
任一对可直连的引脚包括位于所述第一模块上的第一引脚和位于所述金属层或者所述第二模块上的第二引脚,所述第一引脚和所述第二引脚对齐表征所述第一引脚和所述第二引脚的物理位置对齐,所述第一引脚和所述第二引脚所处的金属层相同且所述第一引脚和所述第二引脚的金属宽度相同。
17.一种布局宏模块的装置,其特征在于,所述装置包括:
多引脚直连状态确认模块,被配置为确认第一模块上的多个引脚可与金属层或者第二模块的上的多个引脚直连;
多对直连引脚对齐模块,被配置为调整所述多个引脚中的至少一个引脚,使得位于所述第一模块上的所述多个引脚与位于所述第二模块或者所述金属层上的所述多个引脚中的各对可直连的引脚对齐,得到布局版图。
18.一种生成布线文件的装置,其特征在于,所述装置包括:
属性值抓取模块,被配置为从布局版图上获取对齐的多对直连引脚的属性信息,其中,在所述布局版图上所述多对直连引脚是对齐的;
文件生成模块,被配置为根据所述属性信息生成布线文件,以使自动布局布线工具通过所述布线文件完成布线。
19.一种自动布局布线装置,其特征在于,所述自动布局布线装置包括:
布局模块,被配置为通过调整多对可直连引脚中的至少一个引脚使得所述多对可直连引脚对齐,得到布局版图;
布线文件获取模块,被配置为从所述布局版图上获取对齐的多对直连引脚的属性信息,并根据所述属性信息得到布线文件;
布线模块,被配置为依据所述布线文件完成对所述布局版图上所述多对直连引脚的绕线,得到布局布线版图。
20.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现如权利要求1-16中任意一项权利要求所述的方法。
21.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如权利要求1-16中任意一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211250454.5A CN115329713B (zh) | 2022-10-13 | 2022-10-13 | 一种布局模块、生成布线文件以及布线的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211250454.5A CN115329713B (zh) | 2022-10-13 | 2022-10-13 | 一种布局模块、生成布线文件以及布线的方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115329713A true CN115329713A (zh) | 2022-11-11 |
CN115329713B CN115329713B (zh) | 2023-02-03 |
Family
ID=83914196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211250454.5A Active CN115329713B (zh) | 2022-10-13 | 2022-10-13 | 一种布局模块、生成布线文件以及布线的方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115329713B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220366118A1 (en) * | 2020-09-21 | 2022-11-17 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for optimizing floor plan for an integrated circuit |
CN116894418A (zh) * | 2023-07-12 | 2023-10-17 | 合芯科技有限公司 | 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质 |
CN117038667A (zh) * | 2023-08-18 | 2023-11-10 | 合芯科技(苏州)有限公司 | 用于提高引线引出效能的版图结构和布线方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120241986A1 (en) * | 2011-03-23 | 2012-09-27 | Synopsys, Inc. | Pin Routing in Standard Cells |
CN112507649A (zh) * | 2020-12-23 | 2021-03-16 | 珠海市一微半导体有限公司 | 一种模拟版图的数模引脚映射到数字版图的方法 |
CN114757139A (zh) * | 2022-04-24 | 2022-07-15 | 东科半导体(安徽)股份有限公司 | 层次化设计中穿透模块层次的模块引脚对齐方法 |
CN114781318A (zh) * | 2022-06-16 | 2022-07-22 | 飞腾信息技术有限公司 | 芯片的模块引脚布线方法、装置、电子设备及存储介质 |
-
2022
- 2022-10-13 CN CN202211250454.5A patent/CN115329713B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120241986A1 (en) * | 2011-03-23 | 2012-09-27 | Synopsys, Inc. | Pin Routing in Standard Cells |
CN112507649A (zh) * | 2020-12-23 | 2021-03-16 | 珠海市一微半导体有限公司 | 一种模拟版图的数模引脚映射到数字版图的方法 |
CN114757139A (zh) * | 2022-04-24 | 2022-07-15 | 东科半导体(安徽)股份有限公司 | 层次化设计中穿透模块层次的模块引脚对齐方法 |
CN114781318A (zh) * | 2022-06-16 | 2022-07-22 | 飞腾信息技术有限公司 | 芯片的模块引脚布线方法、装置、电子设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220366118A1 (en) * | 2020-09-21 | 2022-11-17 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for optimizing floor plan for an integrated circuit |
CN116894418A (zh) * | 2023-07-12 | 2023-10-17 | 合芯科技有限公司 | 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质 |
CN116894418B (zh) * | 2023-07-12 | 2023-12-22 | 合芯科技有限公司 | 宏单元引脚通孔位置偏差的校正方法、装置、设备及介质 |
CN117038667A (zh) * | 2023-08-18 | 2023-11-10 | 合芯科技(苏州)有限公司 | 用于提高引线引出效能的版图结构和布线方法 |
CN117038667B (zh) * | 2023-08-18 | 2024-01-26 | 合芯科技(苏州)有限公司 | 用于提高引线引出效能的版图结构和布线方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115329713B (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115329713B (zh) | 一种布局模块、生成布线文件以及布线的方法、装置 | |
CN109684755B (zh) | 一种数模混合芯片异步电路全定制方法及系统 | |
CN111950226A (zh) | 芯片后端设计和版图设计方法、工具、芯片及存储介质 | |
US9396301B1 (en) | Method, system, and computer program product for interconnecting circuit components with track patterns for electronic circuit designs | |
JP3891599B2 (ja) | 集積回路レイアウト内への標準セルの自動挿入装置 | |
US6574786B1 (en) | Gate array cell generator using cadence relative object design | |
US8332799B2 (en) | Integrated circuit routing with compaction | |
US20040255258A1 (en) | Method, apparatus, and computer program product for generation of a via array within a fill area of a design layout | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
CN112380809B (zh) | 标准单元、标准单元库的物理规则验证方法、装置及设备 | |
US20140173543A1 (en) | Parasitic extraction in an integrated circuit with multi-patterning requirements | |
US9785740B2 (en) | Computer implemented system and method for modifying a layout of standard cells defining a circuit component | |
US9213793B1 (en) | Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks | |
CN101739492B (zh) | 用于在管芯尺寸优化期间缩放i/o单元布置的方法和设备 | |
CN116151179B (zh) | 芯片设计的布局规划方法及相关设备 | |
US8015529B1 (en) | Methods and apparatus for diagonal route shielding | |
JP2005158075A (ja) | 相互接続対応の集積回路設計 | |
TW201812623A (zh) | 設計佈局的方法 | |
JP5444985B2 (ja) | 情報処理装置 | |
US10296695B1 (en) | Method, system, and computer program product for implementing track patterns for electronic circuit designs | |
US12032893B2 (en) | Optimizing place-and-routing using a random normalized polish expression | |
US11042682B2 (en) | Analog design tool having a cell set, and related methods | |
US11900041B2 (en) | Via coloring methods and systems | |
JP5059657B2 (ja) | マクロ内端子配線を考慮したネットリストによって信号の遅延時間を予測する設計方法、及び、プログラム | |
CN117688895B (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 |