CN114330212A - 芯片管脚的排布方法、装置、计算机设备及存储介质 - Google Patents
芯片管脚的排布方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114330212A CN114330212A CN202210183683.3A CN202210183683A CN114330212A CN 114330212 A CN114330212 A CN 114330212A CN 202210183683 A CN202210183683 A CN 202210183683A CN 114330212 A CN114330212 A CN 114330212A
- Authority
- CN
- China
- Prior art keywords
- chip
- pins
- pin
- determining
- grouping
- 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
本发明实施例公开了一种芯片管脚的排布方法、装置、计算机设备及存储介质。该方法包括:根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。本发明通过该方法不仅能高效的、较低成本的生成芯片的Ball map,而且后续仿真后更加方便地优化芯片的Ball map。
Description
技术领域
本发明涉及芯片涉及技术领域,尤其涉及一种芯片管脚的排布方法、装置、计算机设备及存储介质。
背景技术
芯片,又称微电路、微芯片、集成电路,是指内含集成电路的硅片,体积很小,常常是计算机或其他电子设备的一部分。随着微电子技术以及半导体工艺的迅猛发展,芯片已广泛应用于通信网络、计算机以及汽车电子等诸多产品领域。
目前,在芯片设计阶段,芯片的Ball map通常由封装工程师、后端工程师以及系统工程师一起协作完成。其中,若封装工程师在设计封装基板涉及到Ball map时,需从系统工程师处获取Ball map,或采用OrbitIO、APD等软件从DIE平面引线分配管脚名以确定Ballmap。当从系统工程师处获取Ball map时,需协同多部门同事一起对Ball map进行研究,不仅需要考虑板级走线,而且还需要考虑BUMP是否方便引线至BALL,费时费力,效率低下;当采用OrbitIO、APD等软件来确定Ball map时,需考虑BUMP至BALL的出线是否顺畅,极大的增加了PCB出线的难度,导致PCB layout工程师只能通过加层来布线,进而导致系统成本升高,同时也影响到信号的完整性。
发明内容
本发明实施例提供了一种芯片管脚的排布方法、装置、计算机设备及存储介质,用于解决现有技术中生成芯片的Ball map的效率较低、成本较高的技术问题。
第一方面,本发明实施例提供了一种芯片管脚的排布方法,其包括:
根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;
根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;
对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;
根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
第二方面,本发明实施例提供了一种芯片管脚的排布装置,其包括:
第一确定单元,用于根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;
第一划分单元,用于根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;
第一分组单元,用于对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;
转换单元,用于根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
第三方面,本发明实施例又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述第一方面所述的芯片管脚的排布方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的芯片管脚的排布方法。
本发明实施例提供了一种芯片管脚的排布方法、装置、计算机设备及存储介质。该方法通过芯片的封装信息在电子表格中确定芯片管脚的第一区域,并根据芯片的布局规划Floorplan将第一区域划分成多个第二区域,同时对芯片的管脚列表中每个芯片管脚进行分组并根据分组结果在第二区域中对每个芯片管脚进行排布,并将电子表格转换成所述芯片的Ball map。本发明通过该方法统筹考虑了封装出线以及系统布线,不仅能高效的、较低成本的生成芯片的Ball map,而且后续仿真后更加方便地优化芯片的Ball map。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的芯片管脚的排布方法的流程示意图;
图2为本发明实施例提供的芯片管脚的排布方法中芯片管脚的排布的示意图;
图3为本发明实施例提供的芯片管脚的排布方法的一流程示意图;
图4为本发明实施例提供的芯片管脚的排布方法的另一流程示意图;
图5为本发明实施例提供的芯片管脚的排布方法的另一流程示意图;
图6为本发明实施例提供的芯片管脚的排布方法的另一流程示意图;
图7为本发明实施例提供的芯片管脚的排布方法的另一流程示意图;
图8为本发明实施例提供的芯片管脚的排布方法的另一流程示意图;
图9为本发明实施例提供的芯片管脚的排布方法中芯片管脚的排布的示意图;
图10为本发明实施例提供的芯片管脚的排布方法中芯片管脚的排布的另一示意图;
图11为本发明实施例提供的芯片管脚的排布方法中芯片管脚的排布的另一示意图;
图12为本发明实施例提供的芯片管脚的排布装置的示意性框图;
图13为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的芯片管脚的排布方法的流程示意图。本发明实施例的所述的芯片管脚的排布方法应用于终端设备中,该方法通过安装于终端设备中的芯片管脚的排布系统进行执行芯片管脚的排布方法。其中,终端设备为可读取并编辑电子表格,同时可将电子表格转换成芯片的Ball map的电子设备,例如台式电脑、笔记本电脑、平板电脑或手机等。
下面对所述的芯片管脚的排布方法进行详细说明。
如图1所示,该方法包括以下步骤S110~S140。
S110、根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域。
具体的,芯片的封装信息为芯片在进行封装是所需的参数信息,封装信息包括芯片管脚的数量、芯片管脚的排布方式以及芯片管脚之间的脚距等信息,电子表格用于显示芯片管脚的排布,第一区域为芯片管脚在电子表格中所在的区域,第一区域通过电子表格中对应的格子的数量以及格子的位置信息来进行表征。
在本实施例中,电子表格中一个格子分配一个芯片管脚,通过从芯片的封装信息中获取芯片管脚的数量,进而确定电子表格中需分配给芯片管脚的格子的数量,芯片管脚的排布方式可确定芯片管脚在电子表格中的排布方式,芯片管脚之间的脚距便可在电子表格中确定任意相邻的两个管脚之间相隔的格子的数量,在确定芯片管脚的数量,芯片管脚的排布方式以及芯片管脚之间的脚距,便可在电子表格中确定芯片管脚的第一区域。
具体的,请参阅图2,图2为本发明实施例提供的芯片管脚的排布方法中芯片管脚的排布示意图。从图2中可以看出,图2中排布方式为交错阵列排布,第一行排布有3个芯片管脚,第二行排布有2个芯片管脚,第三行排布3个芯片管脚,第四行排布有2个芯片管脚,第五行排布有3个芯片管脚,其中,第一行的芯片管脚之间的脚距相同,第二行的第一个芯片管脚与第二个芯片管脚之间的脚距等于第三行的第一个芯片管脚与第二个芯片管脚之间的脚距,第三行的芯片管脚之间的脚距相同,第五行的芯片管脚之间的脚距相同,第三行、第五行均与第一行相对应,第四行与第二行相对应。
在其他发明实施例中,如图3所示,步骤S110包括子步骤S111、S112和S113。
S111、根据所述芯片的管脚列表确定所述芯片管脚的数量;
S112、获取所述芯片管脚的排布方式、所述芯片管脚之间的脚距;
S113、根据所述芯片管脚的数量、所述排布方式以及所述脚距在所述电子表格中确定所述第一区域。
在本实施例中,芯片的管脚列表为记录有芯片所有管脚的信息列表,即每个芯片管脚的参数信息均记录在芯片的管脚列表中,因此在获取芯片的管脚列表后,便可通过芯片的管脚列表确定所需芯片管脚的数量,而芯片管脚的排布方式、芯片管脚之间的脚距均在芯片的封装信息中,因此,只需在获取芯片的封装信息后,便可从芯片的封装信息中筛选出所有芯片的Ball map中芯片管脚的排布方式以及每个芯片管脚之间的管脚间距,进而通过芯片管脚的数量、排布方式以及脚距在所述电子表格中确定所述第一区域。
在其他发明实施例中,如图4所示,步骤S111包括子步骤S1111、S1112、S1113和S1114。
S1111、获取所述芯片中IO模块的管脚列表、电源轨的数量;
S1112、根据所述电源轨的数量确定所述芯片中电源管脚的数量;
S1113、根据所述IO模块的管脚列表、所述电源管脚的数量确定所述芯片中接地管脚的数量;
S1114、根据所述IO模块的管脚列表、所述电源管脚的数量、所述接地管脚的数量确定所述芯片管脚的数量。
在本实施例中,芯片的管脚列表包括IO模块的管脚列表、电源轨的数量等信息,IO模块的管脚列表中包含有所有IO模块的管脚的参数信息,该参数信息也即包括IO模块的管脚的数量。而每个芯片的芯片管脚的数量通常由IO模块的管脚、电源管脚以及接地管脚组成,而接地管脚通常由IO模块的管脚、电源管脚来决定,因此在通过电源轨的数量确定芯片中电源管脚的数量以及通过IO模块的管脚列表、电源管脚的数量确定芯片中接地管脚的数量后,便可确定任意一个芯片中芯片管脚的数量。
在其他发明实施例中,如图5所示,步骤S1112包括子步骤S11121、S11122和S11123。
S11121、获取每个电源轨的最大电流;
S11122、根据所述最大电流确定所述每个电源轨所需的电源管脚的数量;
S11123、根据所述电源轨的数量、所述每个电源轨所需的电源管脚的数量确定所述芯片中电源管脚的数量。
在本实施例中,芯片的管脚列表中还包括每个电源轨的最大电流、每个电源轨需根据对应的最大电流来分配电源管脚、电源管脚对应一个或多个接地管脚等信息,因此,需先获取每个电源轨的最大电流,然后根据其最大电流来确定每个电源轨所需的电源管脚的数量,最后通过电源轨的数量、每个电源轨所需的电源管脚的数量确定芯片中电源管脚的数量。
例如,若电源轨的数量为5,每个电源轨的最大电流均为1A,设定0.5A分配一个电源管脚,那么通过计算便可得到每个电源轨需分配两个电源管脚,芯片中电源管脚的数量为10。
在其他发明实施例中,如图6所示,步骤S1113包括子步骤S11131和S11132。
S11131、获取所述IO模块的管脚列表中高速IO管脚的数量以及普通IO管脚的数量;
S11132、根据所述高速IO管脚的数量、所述普通IO管脚的数量以及所述电源管脚的数量确定所述芯片中接地管脚的数量。
在本实施例中,由于IO模块的管脚列表中包含有所有IO模块的管脚的参数信息,该参数信息也即包括IO模块的管脚的数量,也即包括高速IO管脚和普通IO管脚的数量,而高速IO管脚和普通IO管脚所需的接地管脚的数量也不相同,因此,从芯片的管脚列表中筛选出IO模块的管脚列表后,还需从IO模块的管脚列表中区分出普通IO管脚和高速IO管脚,然后根据普通IO管脚所需接地管脚的数量、高速IO管脚所需接地管脚的数量以及电源管脚的数量便可确定芯片中接地管脚的数量。
例如,若IO模块的管脚列表中高速IO管脚的数量为5,普通IO管脚的数量为10,电源管脚的数量为10,一个高速IO管脚需分配2个接地管脚,一个普通IO管脚需分配1个接地管脚,一个电源管脚需分配1个接地管脚,那么最终便可得到芯片中所需接地管脚的数量为30。
S120、根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域。
其中,布局规划Floorplan在集成电路设计中对于电路主要功能模块在试验性布局中的图形表示,布局规划Floorplan是芯片设计最初的步骤,其在芯片设计中占据着重要的地位,布局规划Floorplan的合理与否直接关系到芯片的时序收敛、布线通畅、电源稳定以及良品率。芯片设计在完成布局规划Floorplan后,布局规划Floorplan已对芯片上各个位置处进行相应的规划,即已初始对芯片上的各个区域进行划分,因此,芯片设计在完成布局规划Floorplan后,通过芯片的布局规划Floorplan便可将电子表格的第一区域划分成多个第二区域,每个第二区域均在芯片上对应有一个区域。
在其他发明实施例中,如图7所示,步骤S120包括子步骤S121和S122。
S121、根据所述布局规划Floorplan获取所述芯片上的所有区域以及每个区域的芯片管脚的数量;
S122、根据所述芯片上区域的数量、每个区域的芯片管脚的数量将所述第一区域划分成多个所述第二区域;其中,所述每个区域对应一个所述第二区域。
在本实施例中,布局规划Floorplan包含有芯片的每个区域、每个区域的功能、每个区域所需芯片管脚的数量及类型,因此,在获取到芯片的布局规划Floorplan后,便可得到芯片上的所有区域每个区域的功能以及每个区域所需管脚的数量,进而便可根据芯片上区域的数量、每个区域的芯片管脚的数量将述第一区域划分成多个第二区域,其中,第一区域中第二区域的数量等于芯片上区域的数量,每个第二区域中芯片管脚的数量与芯片上对应区域中所需芯片管脚的数量相等。例如,若芯片的中心区域设置为电源功能区域,第一区域的中心区域则需划分给电源功能区域,若芯片上的一个区域需设置在DIE平面的右侧,则第一区域的右侧则需划分给该区域。
S130、对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果。
具体的,分组结果包括每个芯片管脚的位置信息和功能信息,其中,位置信息为每个芯片管脚在芯片上的位置信息,功能信息为每个芯片管脚在芯片上固定位置处的主要功能,芯片的管脚列表中的每个芯片管脚均根据布局规划Floorplan进行分组。例如,若从布局规划Floorplan得到芯片上某一位置处需实现某一功能时,只需将芯片的管脚列表中的一个或多个芯片管脚划分成一组,以在该位置处通过该组中的芯片管脚实现该功能。
在其他发明实施例中,如图8所示,步骤S130包括子步骤S131和S132。
S131、根据所述布局规划Floorplan对所述每个芯片管脚进行第一次分组,得到多组芯片管脚;其中,每组芯片管脚对应一个所述第二区域,所述每组芯片管脚包括多个芯片管脚。
在本实施例中,芯片管脚的第一次分组根据芯片上每个区域的功能进行分组,而布局规划Floorplan包含有芯片的每个区域、每个区域的功能、每个区域所需芯片管脚的数量及类型,因此只需从布局规划Floorplan中获取芯片的每个区域、每个区域所需管脚的数量及类型,便可对每个芯片管脚进行第一次分组,每个芯片管脚在进行第一次分组后,得到的每组芯片管脚各自对应一个第二区域,每组芯片管脚包括多个芯片管脚,该多个芯片管脚由相同或不相同功能的芯片管脚组成。
S132、对所述每组芯片管脚中的每个芯片管脚进行第二次分组,得到所述每个芯片管脚的分组结果。
具体的,芯片管脚的第二次分组建立在芯片上每个区域的功能的基础上,当芯片上的一个区域为功能A时,通过功能A便可得到该区域中每个位置处对芯片管脚的排布要求,通过其排布要求便可对该区域中每个芯片管脚进行第二次分组,进而得到该区域中的每个芯片管脚的分组结果。
如图9-图11所示,如图9、图10以及图11均为芯片一区域上实现超高速差分信号的功能时芯片管脚的排布图。由于该区域用于实现超高速差分信号的功能,故该区域处的PCB走线具有严格的要求,此时需将该区域中的芯片管脚进行差分信号分组,即将该区域中的高速IO管脚进行差分信号分组,同时根据差分信号需要靠近放置的特点,需将差分信号分组后的芯片管脚(即图9和图10中标识黑色和灰色的芯片管脚)放置在前4排以内,同时差分信号分组后的每个芯片管脚与其最近的上下左右、左上、右上、左下、右下方向至少有1个接地管脚。若多条Lane之间没有明确的Skew要求,并且TX,RX还要求规避远端串扰,如图9所示,可将差分信号分组后的芯片管脚中的具备发送功能的芯片管脚(图9中标识黑色的芯片管脚)放置于前2排,具备接收功能的芯片管脚(图9中标识灰色的芯片管脚)放置于第3排和第4排。另外,如图10所示,若将具备发送功能的芯片管脚(图10中标识黑色的芯片管脚)放置于第3排和第4排,则需将具备接收功能的芯片管脚(图10中标识灰色的芯片管脚)放置于前2排。同时,若多条Lane之间有Skew要求,为了方便同组多条Lane同层出线,需将差分信号分组后的芯片管脚进行横放或竖放,其中,差分信号分组后的芯片管脚竖放可参阅图11,从图11中可以看出,差分信号分组后标识为黑色的芯片管脚之间进行竖向排列,差分信号分组后标识为灰色的芯片管脚之间同样也可进行竖向排列。
S140、根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
其中,电子表格转换成芯片的Ball map的前提是每个第二区域均完成了芯片管脚的排布,本实施例中电子表格采用Excel表格,Excel表格中的每个格子横向对应一个编号,竖向对应一个编号,故可将格子的两个编号作为其在Excel表格中的坐标点,而Excel表格中一个格子分配一个芯片管脚。Excel表格中的每个第二区域均完成了芯片管脚的排布后,可以直接将Excel表格转换成芯片的Ball map。另外,Excel表格转换成芯片的Ball map后,Ball map需经封装工程师确认,同时需在Excel表格进一步对芯片管脚的排布进行优化。例如,当DDR部分BUMP放置的出现问题时,CA需要放在DQ的右边区域,进而使得封装走线较顺。
在本发明实施例所提供的芯片管脚的排布方法中,通过根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。本发明通过该方法统筹考虑了封装出线以及系统布线,不仅能高效的、较低成本的生成芯片的Ball map,而且后续仿真后更加方便地优化芯片的Ball map,同时保证了芯片的信号完整性和电源完整性。
本发明实施例还提供了一种芯片管脚的排布装置100,该装置用于执行前述芯片管脚的排布方法的任一实施例。
具体地,请参阅图12,图12是本发明实施例提供的芯片管脚的排布装置100的示意性框图。
如图12所示,所述的芯片管脚的排布装置100,该装置包括:第一确定单元110、第一划分单元120、第一分组单元130、转换单元140。
第二确定单元,用于根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域。
在另一实施例中,所述第一确定单元110包括:第二确定单元、第一获取单元和第三确定单元。
第二确定单元,用于根据所述芯片的管脚列表确定所述芯片管脚的数量;第一获取单元,用于获取所述芯片管脚的排布方式、所述芯片管脚之间的脚距;第三确定单元,用于根据所述芯片管脚的数量、所述排布方式以及所述脚距在所述电子表格中确定所述第一区域。
在另一实施例中,所述第二确定单元包括:第二获取单元、第四确定单元、第五确定单元和第六确定单元。
第二获取单元,用于获取所述芯片中IO模块的管脚列表、电源轨的数量;第四确定单元,用于根据所述电源轨的数量确定所述芯片中电源管脚的数量;第五确定单元,用于根据所述IO模块的管脚列表、所述电源管脚的数量确定所述芯片中接地管脚的数量;第六确定单元,用于根据所述IO模块的管脚列表、所述电源管脚的数量、所述接地管脚的数量确定所述芯片管脚的数量。
在另一实施例中,所述第四确定单元包括:第三获取单元、第七确定单元和第八确定单元。
第三获取单元,用于获取每个电源轨的最大电流;第七确定单元,用于根据所述最大电流确定所述每个电源轨所需的电源管脚的数量;第八确定单元,用于根据所述电源轨的数量、所述每个电源轨所需的电源管脚的数量确定所述芯片中电源管脚的数量。
在另一实施例中,所述第五确定单元包括:第四获取单元和第九确定单元。
第四获取单元,用于获取所述IO模块的管脚列表中高速IO管脚的数量以及普通IO管脚的数量;第九确定单元,用于根据所述高速IO管脚的数量、所述普通IO管脚的数量以及所述电源管脚的数量确定所述芯片中接地管脚的数量。
第一划分单元120,用于根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域。
在另一实施例中,所述第一划分单元120包括:第五获取单元和第二划分单元。
第五获取单元,用于根据所述布局规划Floorplan获取所述芯片上的所有区域以及每个区域的芯片管脚的数量;第二划分单元,用于根据所述芯片上区域的数量、每个区域的芯片管脚的数量将所述第一区域划分成多个所述第二区域;其中,所述每个区域对应一个所述第二区域。
第一分组单元130,用于对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果。
在另一实施例中,所述第一分组单元130包括:第二分组单元和第三分组单元。
第二分组单元,用于根据所述布局规划Floorplan对所述每个芯片管脚进行第一次分组,得到多组芯片管脚;其中,每组芯片管脚对应一个所述第二区域,所述每组芯片管脚包括多个芯片管脚;第三分组单元,用于对所述每组芯片管脚中的每个芯片管脚进行第二次分组,得到所述每个芯片管脚的分组结果。
转换单元140,用于根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
本发明实施例所提供的芯片管脚的排布装置100用于执行上述根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述芯片管脚的排布装置100和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述芯片管脚的排布装置可以实现为一种计算机程序的形式,该计算机程序可以在如图13所示的计算机设备上运行。
请参阅图13,图13是本发明实施例提供的计算机设备的示意性框图。
参阅图13,该设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
该存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行芯片管脚的排布方法。
该处理器502用于提供计算和控制能力,支撑整个设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行芯片管脚的排布方法。
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图13中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的设备500的限定,具体的设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
本领域技术人员可以理解,图13中示出的设备500的实施例并不构成对设备500具体构成的限定,在其他实施例中,设备500可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,设备500可以仅包括存储器及处理器502,在这样的实施例中,存储器及处理器502的结构及功能与图13所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器502、数字信号处理器502(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器502可以是微处理器502或者该处理器502也可以是任何常规的处理器502等。
在本发明的另一实施例中提供计算机存储介质。该存储介质可以为非易失性的计算机可读存储介质,也可以是易失性的存储介质。该存储介质存储有计算机程序5032,其中计算机程序5032被处理器502执行时实现以下步骤:根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备500 ( 可以是个人计算机,服务器,或者网络设备等 ) 执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U 盘、移动硬盘、只读存储器 (ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种芯片管脚的排布方法,其特征在于,包括:
根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;
根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;
对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;
根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
2.根据权利要求1所述的芯片管脚的排布方法,其特征在于,所述根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域,包括:
根据所述芯片的管脚列表确定所述芯片管脚的数量;
获取所述芯片管脚的排布方式、所述芯片管脚之间的脚距;
根据所述芯片管脚的数量、所述排布方式以及所述脚距在所述电子表格中确定所述第一区域。
3.根据权利要求2所述的芯片管脚的排布方法,其特征在于,所述根据所述管脚列表确定所述芯片管脚的数量,包括:
获取所述芯片中IO模块的管脚列表、电源轨的数量;
根据所述电源轨的数量确定所述芯片中电源管脚的数量;
根据所述IO模块的管脚列表、所述电源管脚的数量确定所述芯片中接地管脚的数量;
根据所述IO模块的管脚列表、所述电源管脚的数量、所述接地管脚的数量确定所述芯片管脚的数量。
4.根据权利要求3所述的芯片管脚的排布方法,其特征在于,所述根据所述电源轨的数量确定所述芯片中电源管脚的数量,包括:
获取每个电源轨的最大电流;
根据所述最大电流确定所述每个电源轨所需的电源管脚的数量;
根据所述电源轨的数量、所述每个电源轨所需的电源管脚的数量确定所述芯片中电源管脚的数量。
5.根据权利要求3所述的芯片管脚的排布方法,其特征在于,所述根据所述IO模块的管脚列表、所述电源管脚的数量确定所述芯片中接地管脚的数量,包括:
获取所述IO模块的管脚列表中高速IO管脚的数量以及普通IO管脚的数量;
根据所述高速IO管脚的数量、所述普通IO管脚的数量以及所述电源管脚的数量确定所述芯片中接地管脚的数量。
6.根据权利要求1所述的芯片管脚的排布方法,其特征在于,所述根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域,包括:
根据所述布局规划Floorplan获取所述芯片上的所有区域以及每个区域的芯片管脚的数量;
根据所述芯片上区域的数量、每个区域的芯片管脚的数量将所述第一区域划分成多个所述第二区域;其中,所述每个区域对应一个所述第二区域。
7.根据权利要求1所述的芯片管脚的排布方法,其特征在于,所述对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果,包括:
根据所述布局规划Floorplan对所述每个芯片管脚进行第一次分组,得到多组芯片管脚;其中,每组芯片管脚对应一个所述第二区域,所述每组芯片管脚包括多个芯片管脚;
对所述每组芯片管脚中的每个芯片管脚进行第二次分组,得到所述每个芯片管脚的分组结果。
8.一种芯片管脚的排布装置,其特征在于,包括:
第一确定单元,用于根据芯片的封装信息在预设的电子表格中确定芯片管脚的第一区域;
第一划分单元,用于根据所述芯片的布局规划Floorplan将所述第一区域划分成多个第二区域;
第一分组单元,用于对所述芯片的管脚列表中的每个芯片管脚进行分组,得到所述每个芯片管脚的分组结果;
转换单元,用于根据所述分组结果在所述第二区域中对所述每个芯片管脚进行排布,并将所述电子表格转换成所述芯片的Ball map。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的芯片管脚的排布方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的芯片管脚的排布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210183683.3A CN114330212B (zh) | 2022-02-28 | 2022-02-28 | 芯片管脚的排布方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210183683.3A CN114330212B (zh) | 2022-02-28 | 2022-02-28 | 芯片管脚的排布方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114330212A true CN114330212A (zh) | 2022-04-12 |
CN114330212B CN114330212B (zh) | 2022-06-21 |
Family
ID=81030992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210183683.3A Active CN114330212B (zh) | 2022-02-28 | 2022-02-28 | 芯片管脚的排布方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330212B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818590A (zh) * | 2022-05-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种内存管脚排布的方法、系统、设备和存储介质 |
CN116663479A (zh) * | 2023-06-14 | 2023-08-29 | 上海弘快科技有限公司 | 一种PCB-Package协同设计方法 |
WO2024138552A1 (zh) * | 2022-12-29 | 2024-07-04 | 声龙(新加坡)私人有限公司 | 封装基板焊球布局方法及装置、芯片、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110165734A1 (en) * | 2010-01-06 | 2011-07-07 | Samsung Electronics Co., Ltd. | Manufacturing method of semi-conductor chip package |
CN110032539A (zh) * | 2019-03-20 | 2019-07-19 | 广东高云半导体科技股份有限公司 | 芯片管脚信息处理方法、装置、计算机设备及存储介质 |
US10997332B1 (en) * | 2019-09-26 | 2021-05-04 | Cadence Design Systems, Inc. | System and method for computing electrical over-stress of devices associated with an electronic design |
CN112989744A (zh) * | 2021-02-08 | 2021-06-18 | 泰凌微电子(上海)股份有限公司 | 一种半导体芯片的封装设计方法以及装置 |
US11055457B1 (en) * | 2020-04-15 | 2021-07-06 | SiFive, Inc. | Pad ring generation for integrated circuits |
CN113627121A (zh) * | 2021-06-28 | 2021-11-09 | 展讯通信(上海)有限公司 | 芯片设计数据的处理方法、电子设备和计算机可读介质 |
CN113836857A (zh) * | 2020-06-24 | 2021-12-24 | 迈普通信技术股份有限公司 | 电路板导线调整方法及装置 |
-
2022
- 2022-02-28 CN CN202210183683.3A patent/CN114330212B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110165734A1 (en) * | 2010-01-06 | 2011-07-07 | Samsung Electronics Co., Ltd. | Manufacturing method of semi-conductor chip package |
CN110032539A (zh) * | 2019-03-20 | 2019-07-19 | 广东高云半导体科技股份有限公司 | 芯片管脚信息处理方法、装置、计算机设备及存储介质 |
US10997332B1 (en) * | 2019-09-26 | 2021-05-04 | Cadence Design Systems, Inc. | System and method for computing electrical over-stress of devices associated with an electronic design |
US11055457B1 (en) * | 2020-04-15 | 2021-07-06 | SiFive, Inc. | Pad ring generation for integrated circuits |
CN113836857A (zh) * | 2020-06-24 | 2021-12-24 | 迈普通信技术股份有限公司 | 电路板导线调整方法及装置 |
CN112989744A (zh) * | 2021-02-08 | 2021-06-18 | 泰凌微电子(上海)股份有限公司 | 一种半导体芯片的封装设计方法以及装置 |
CN113627121A (zh) * | 2021-06-28 | 2021-11-09 | 展讯通信(上海)有限公司 | 芯片设计数据的处理方法、电子设备和计算机可读介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818590A (zh) * | 2022-05-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种内存管脚排布的方法、系统、设备和存储介质 |
CN114818590B (zh) * | 2022-05-30 | 2024-01-09 | 苏州浪潮智能科技有限公司 | 一种内存管脚排布的方法、系统、设备和存储介质 |
WO2024138552A1 (zh) * | 2022-12-29 | 2024-07-04 | 声龙(新加坡)私人有限公司 | 封装基板焊球布局方法及装置、芯片、存储介质 |
CN116663479A (zh) * | 2023-06-14 | 2023-08-29 | 上海弘快科技有限公司 | 一种PCB-Package协同设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114330212B (zh) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114330212B (zh) | 芯片管脚的排布方法、装置、计算机设备及存储介质 | |
US6499134B1 (en) | Method of assigning integrated circuit I/O signals in an integrated circuit package | |
CN104769594B (zh) | 具有堵塞点的硬宏、包括该硬宏的集成电路和用于布线穿过硬宏的方法 | |
US8522186B2 (en) | Method and apparatus of an integrated circuit | |
US6951007B2 (en) | Wire layout design apparatus and method for integrated circuits | |
Li et al. | Fast fixed-outline 3-D IC floorplanning with TSV co-placement | |
US5946477A (en) | Positioning/wiring method for flip-chip semiconductor device | |
JP2008009776A (ja) | 半導体集積回路の設計方法、設計装置、半導体集積回路システム、半導体集積回路実装基板、パッケージ、半導体集積回路 | |
US6553553B2 (en) | Method of designing layout of semiconductor device | |
Fang et al. | Area-I/O flip-chip routing for chip-package co-design considering signal skews | |
US8527929B2 (en) | Method and system for optimally connecting interfaces across multiple fabrics | |
US8863062B2 (en) | Methods and apparatus for floorplanning and routing co-design | |
US20240047366A1 (en) | Semiconductor device and data transferring method for semiconductor device | |
CN111859841A (zh) | 窄通道布局下宏单元的逻辑输出预导引方法和结构 | |
CN113919266B (zh) | 可编程器件的时钟规划方法、装置、电子设备及存储介质 | |
CN109033510B (zh) | 基于遗传算法的三维集成电路互连线长度优化方法及装置 | |
US20140181775A1 (en) | Unit capacitor module, automatic capacitor layout method thereof and automatic capacitor layout device thereof | |
JP2001306641A (ja) | 半導体集積回路の自動配置配線方法 | |
Yu et al. | Flip-chip routing with I/O planning considering practical pad assignment constraints | |
US8104010B2 (en) | Semiconductor integrated circuit design supporting method, semiconductor integrated circuit design supporting system, and computer readable medium | |
US20190252321A1 (en) | Interconnector with bundled interconnects | |
KR20150047860A (ko) | 반도체 장치 제조 방법 | |
US8754518B1 (en) | Devices and methods for configuring conductive elements for a semiconductor package | |
US11935894B2 (en) | Integrated circuit device with improved layout | |
LU503256B1 (en) | 2.5d chiplet arrangement method for optimizing communication power consumption |
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 |