CN117688894A - 芯片布局优化方法、装置、计算机设备及存储介质 - Google Patents
芯片布局优化方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117688894A CN117688894A CN202410147365.0A CN202410147365A CN117688894A CN 117688894 A CN117688894 A CN 117688894A CN 202410147365 A CN202410147365 A CN 202410147365A CN 117688894 A CN117688894 A CN 117688894A
- Authority
- CN
- China
- Prior art keywords
- congestion
- module
- base module
- area
- logic unit
- 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 61
- 238000005457 optimization Methods 0.000 title claims abstract description 22
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 30
- 238000004804 winding Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 2
- 230000001143 conditioned effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000000903 blocking effect Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010618 wire wrap Methods 0.000 description 1
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及集成电路技术领域,公开了一种芯片布局优化方法、装置、计算机设备及存储介质,该方法包括:在完成多个基础模块中的每个基础模块的布局之后,对每个基础模块进行拥塞分析;在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块的多个逻辑单元,第一基础模块为多个基础模块中存在拥塞区域的基础模块,多引脚逻辑单元为第一基础模块的多个逻辑单元中引脚数量大于预设引脚数量的逻辑单元;基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局,以使第一基础模块的拥塞程度小于预设拥塞程度。本发明能够更有效的解决由于多引脚逻辑单元引起的拥塞问题。
Description
技术领域
本发明涉及集成电路技术领域,具体涉及一种芯片布局优化方法、装置、计算机设备及存储介质。
背景技术
在市场的需求选择下,集成电路设计正朝向多功能、高性能、低功耗、超高速、便携化、良率高、长寿命和设计周期短的目标前进。随着半导体制造工艺节点的不断缩小,器件的尺寸也在按比例缩小,芯片的金属层逐渐增多,芯片上需要摆放的晶体管的数目急剧增加,互连线连接越来越复杂,都给芯片的物理实施带来了极大的困难,而合理的布局规划(Floorplan)与布局(Place),能够降低芯片的物理实施难度。在布局完成之后,一般通过拥塞(Congestion)分析,确定布局是否合理。
目前,针对芯片局部或整体的逻辑单元(Cell)的引脚(Pin)过密导致的拥塞,一般通过增大多引脚逻辑单元的间距,即通过电子自动化设计(Electronic DesignAutomation,EDA)工具将多引脚逻辑单元推开,来解决拥塞。但是由于逻辑本身的限制及优化空间有限,导致解决拥塞问题的效果较差。
发明内容
有鉴于此,本发明提供了一种芯片布局优化方法、装置、计算机设备及存储介质,以解决由于多引脚逻辑单元引起的拥塞问题。
第一方面,本发明提供了一种芯片布局优化方法,方法包括:在完成多个基础模块中的每个基础模块的布局之后,对每个基础模块进行拥塞分析,其中,基础模块为芯片上的基础模块,基础模块包括多个逻辑单元;在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块的多个逻辑单元,其中,第一基础模块为多个基础模块中存在拥塞区域的基础模块,多引脚逻辑单元为第一基础模块的多个逻辑单元中引脚数量大于预设引脚数量的逻辑单元;基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局,以使第一基础模块的拥塞程度小于预设拥塞程度。
本实施例提供的芯片布局优化方法,在完成多个基础模块中每个基础模块的布局之后,对每个基础模块进行拥塞分析,在基础模块的拥塞区域的拥塞是由多引脚逻辑单元引起时,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元,并基于重新确定的多个逻辑单元,更新第一基础模块的布局,使第一基础模块的拥塞程度可被接受。在本实施例中,在拥塞是由多引脚逻辑单元引起的情况下,通过禁用多引脚逻辑单元,重新确定拥塞区域的逻辑单元,优化拥塞区域的布局,能够减少由于多引脚逻辑单元导致的拥塞问题,从而更方便有效的解决拥塞问题。
在一种可选的实施方式中,在以禁用多引脚的逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元之前,方法还包括:获取第二基础模块中的多引脚逻辑单元的位置信息,其中,第二基础模块为多个基础模块中多引脚逻辑单元所占的比例大于预设比例的基础模块;获取第一基础模块的拥塞区域的位置信息;基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,确定第一基础模块的拥塞区域是否由多引脚逻辑单元引起。
在本实施例中,基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,能够更准确的确定第一基础模块的拥塞区域是否是由多引脚逻辑单元引起的。
在一种可选的实施方式中,基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,确定第一基础模块的拥塞区域是否由多引脚逻辑单元引起,包括:在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息存在交集的情况下,第一基础模块的拥塞区域是由多引脚逻辑单元引起的。
在本实施例中,基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息是否存在交集,能够方便准确的确定第二基础模块中的多引脚逻辑单元所在区域与第一基础模块的拥塞区域是否存在重合区域,进而准确的确定第一基础模块的拥塞区域是否是由多引脚逻辑单元引起的。
在一种可选的实施方式中,基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,确定第一基础模块的拥塞区域是否由多引脚逻辑单元引起,包括:在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息不存在交集的情况下,第一基础模块的拥塞区域不是由多引脚逻辑单元引起的。
在一种可选的实施方式中,在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元,包括:在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,且在第二基础模块的数量小于预设数量的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元。
在本实施例中,在第二基础模块的数量小于预设数量的情况下,才在物理综合中对第一基础模块禁用多引脚逻辑单元,能够避免芯片中的逻辑单元的数量大幅增长,以及避免芯片中的逻辑单元所占的面积大幅增加,从而在解决拥塞问题的同时,保证芯片的性能。
在一种可选的实施方式中,在获取第二基础模块中的多引脚逻辑单元的位置信息之前,方法还包括:基于模块数据库,确定每个基础模块中的多引脚逻辑单元所占的比例;根据多引脚逻辑单元所占的比例,从多个基础模块中确定第二基础模块。
在本实施例中,基于多引脚逻辑单元所占的比例,从多个基础模块中确定第二基础模块,能够更方便快捷的从多个基础模块中确定出容易产生多引脚逻辑单元过于密集导致的拥塞的基础模块。
在一种可选的实施方式中,预设比例的取值范围为35%至40%。
在本实施例中,将预设比例限定在35%至40%之间,可以更准确的确定第一基础模块的拥塞区域是否是由多引脚逻辑单元引起的。
在一种可选的实施方式中,第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息为坐标信息。
在本实施例中,基于坐标信息,能够更方便快捷的确定第二基础模块中的多引脚逻辑单元所在区域和第一基础模块的拥塞区域是否存在重合区域。
在一种可选的实施方式中,方法还包括:在第一基础模块的拥塞区域不是由多引脚逻辑单元引起的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
在本实施例中,即使第一基础模块的拥塞区域不是由多引脚逻辑单元引起的,通过在拥塞区域创建部分堵塞区域,控制拥塞区域中逻辑单元的密度,也能够使拥塞区域的拥塞程度可被接受。
在一种可选的实施方式中,在更新第一基础模块的布局之后,方法还包括:对更新后的第一基础模块进行拥塞分析;在更新后的第一基础模块存在拥塞区域的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
在一种可选的实施方式中,芯片包括多个最小绕线区域,对每个基础模块进行拥塞分析,包括:基于多个最小绕线区域,确定每个基础模块是否存在拥塞区域。
在本实施例中,基于最小绕线区域,能够更准确的从多个基础模块中确定第一基础模块的拥塞区域。
在一种可选的实施方式中,基于多个最小绕线区域,确定每个基础模块是否存在拥塞区域,包括:确定多个最小绕线区域中的每个最小绕线区域包括的多条边中的每条边的实际布线数量和所需布线数量;在多条边中的至少一条边对应的所需布线数量大于实际布线数量的情况下,对应的基础模块存在拥塞区域。
第二方面,本发明提供了一种芯片布局优化装置,装置包括:拥塞分析模块,用于在完成多个基础模块中的每个基础模块的布局之后,对每个基础模块进行拥塞分析,其中,基础模块为芯片上的基础模块,基础模块包括多个逻辑单元;第一确定模块,用于在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块的多个逻辑单元,其中,第一基础模块为多个基础模块中存在拥塞区域的基础模块,多引脚逻辑单元为第一基础模块的多个逻辑单元中引脚数量大于预设引脚数量的逻辑单元;更新模块,用于基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局,以使第一基础模块的拥塞程度小于预设拥塞程度。
在一些可选的实施方式中,装置还包括:第一获取模块,用于获取第二基础模块中的多引脚逻辑单元的位置信息,其中,第二基础模块为多个基础模块中多引脚逻辑单元所占的比例大于预设比例的基础模块;第二获取模块,用于获取第一基础模块的拥塞区域的位置信息;第二确定模块,用于基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,确定第一基础模块的拥塞区域是否由多引脚逻辑单元引起。
在一种可选的实施方式中,第二确定模块,包括:第一确定单元,用于在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息存在交集的情况下,第一基础模块的拥塞区域是由多引脚逻辑单元引起的。
在一种可选的实施方式中,第二确定模块,包括:第二确定单元,用于在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息不存在交集的情况下,第一基础模块的拥塞区域不是由多引脚逻辑单元引起的。
在一种可选的实施方式中,第一确定模块,包括:第三确定单元,用于在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,且在第二基础模块的数量小于预设数量的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元。
在一种可选的实施方式中,装置还包括:第三确定模块,用于基于模块数据库,确定每个基础模块中的多引脚逻辑单元所占的比例;第四确定模块,用于根据多引脚逻辑单元所占的比例,从多个基础模块中确定第二基础模块。
在一种可选的实施方式中,预设比例的取值范围为35%至40%。
在一种可选的实施方式中,第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息为坐标信息。
在一种可选的实施方式中,装置还包括:第一创建模块,用于在第一基础模块的拥塞区域不是由多引脚逻辑单元引起的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
在一种可选的实施方式中,装置还包括:处理模块,用于对更新后的第一基础模块进行拥塞分析;第二创建模块,用于在更新后的第一基础模块存在拥塞区域的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
在一种可选的实施方式中,芯片包括多个最小绕线区域,拥塞分析模块,包括:第四确定单元,用于基于多个最小绕线区域,确定每个基础模块是否存在拥塞区域。
在一种可选的实施方式中,第四确定单元,包括:第一子确定单元,用于确定多个最小绕线区域中的每个最小绕线区域包括的多条边中的每条边的实际布线数量和所需布线数量;第二子确定单元,用于在多条边中的至少一条边对应的所需布线数量大于实际布线数量的情况下,对应的基础模块存在拥塞区域。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的方法。
附图说明
为了更清楚地说明本发明具体实施方式或相关技术中的技术方案,下面将对具体实施方式或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种芯片布局优化方法的流程示意图;
图2是根据本发明实施例的一种布局情况的示意图;
图3a是根据本发明实施例的一种多引脚逻辑单元的结构示意图;
图3b是根据本发明实施例的另一种多引脚逻辑单元的结构示意图;
图4是根据本发明实施例的另一种布局情况的示意图;
图5是根据本发明实施例的另一种芯片布局优化方法的流程示意图;
图6是根据本发明实施例的又一种芯片布局优化方法的流程示意图;
图7是根据本发明实施例的最小绕线区域的示意图;
图8是根据本发明实施例的再一种芯片布局优化方法的流程示意图;
图9是根据本发明实施例的芯片布局优化装置的结构框图;
图10是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在芯片物理设计中,布图规划与布局占据着十分重要的位置,布图规划与布局的合理与否直接决定着芯片的物理实施难度、时序收敛、电源质量、布线可行性等结果质量指标。在整个芯片设计中,从布图规划到完成布局一般需要占据整个物理实施时间的1/3。布局完成后,需要对设计进行拥塞(Congestion)分析,从而确定布局的好坏。
针对芯片局部或整体的逻辑单元的引脚过密导致的拥塞,一般会通过将这些多引脚逻辑单元推开,但是由于逻辑本身的限制以及优化空间有限,解决拥塞的效果不是很明显,并且有可能增长线长,带来更多绕线或迂回(Detour),增大延时,可能会对芯片的性能、功耗和可靠性产生负面影响。
有鉴于此,本发明提供了一种芯片布局优化方法,在拥塞是由多引脚逻辑单元引起的情况下,通过禁用多引脚逻辑单元,重新确定拥塞区域的逻辑单元,优化拥塞区域的布局,能够减少由于多引脚逻辑单元导致的拥塞问题。
根据本发明实施例,提供了一种芯片布局优化方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种芯片布局优化方法,可用于计算机、平板电脑或笔记本电脑等电子设备,图1是根据本发明实施例的一种芯片布局优化方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤S101,在完成多个基础模块中的每个基础模块的布局之后,对每个基础模块进行拥塞分析。
其中,基础模块(Module)为芯片上的基础模块,基础模块包括多个逻辑单元。具体地,芯片由多个基础模块组成,每个基础模块包括多个逻辑单元,布局是指确定多个逻辑单元中每个逻辑单元在芯片上的位置的过程,逻辑单元可以为与用户设计的逻辑功能等效的硬件单元,例如,逻辑单元可以为存储器(Memory)、寄存器、逻辑门或数据选择器等。
示例性的,在完成多个基础模块中的每个基础模块的布局之后,芯片的布局情况可以如图2所示,其中,图2中的实线方框表示逻辑单元,带黑点的实线方框表示多引脚逻辑单元。
具体地,多引脚逻辑单元为引脚的数量大于预设引脚数量的逻辑单元,预设引脚数量为预设值,例如,预设引脚数量可以为5、6或7等。
常见的多引脚逻辑单元包括与或非逻辑门(AND-OR-INVERTER Gate,AOI)、与非或逻辑门(AND-INVERT-OR Gate,AIO)、非与或逻辑门(INVERT-AND-OR Gate,IAO)、非或与逻辑门(INVERT-OR-AND Gate,IOA)、或与非逻辑门(OR-AND-INVERT Gate,OAI)、或非与逻辑门(OR-INVERT-AND Gate,OIA)以及多位选择器等,多引脚逻辑单元的示意图可以如图3a和图3b所示。
具体地,逻辑门是根据输入和输出组合而命名的,提供了对不同的逻辑操作的实现,在数字电路设计中常用于构建复杂的逻辑功能和电路。AOI也称为三态缓冲器,AOI具有多个输入,可以实现与非逻辑和与或逻辑的组合。AIO也称为多输入与非逻辑门,AIO具有多个输入,可以实现多个输入的逻辑与操作,然后经过一个反相器(非门)进行逻辑非操作,最后再通过一个或逻辑操作。IAO也称为或非逻辑门,IAO门具有多个输入,通过一个反相器进行逻辑非操作,然后再通过一个或逻辑操作。IOA也称为与非逻辑门,IOA门具有多个输入,通过一个反相器进行逻辑非操作,然后再通过一个与逻辑操作。OAI也称为非或逻辑门,OAI具有多个输入,可以实现或非逻辑或与逻辑的组合。OIA也称为非与逻辑门,OIA具有多个输入,通过一个逻辑或操作,然后经过一个反相器进行逻辑非操作,最后再进行逻辑与操作。
拥塞是指绕线阻塞,即局部或整体绕线资源不够的现象。拥塞也可以指的是在芯片设计中,由于密度增加、线宽减小或者其他约束因素,导致某些区域的空间有限,无法容纳足够的连线或器件的现象。拥塞分析是指确定芯片布局(即多个基础模块)中的拥塞区域以及确定拥塞区域拥塞的原因的过程。
示例性的,可以通过布局分析工具,确定基础模块可能存在拥塞的区域(即拥塞区域)和拥塞区域拥塞的原因。拥塞区域可以为线密集的区域、器件密集的区域、特定功能模块的区域等。导致拥塞的原因一般有以下几种:
(1)布线导致的拥塞,当宏(Macro)单元之间的间隙不足以满足需要穿过的线(Net)所需要的资源时,产生的拥塞,即连线的数量和密度过高导致的拥塞。可以通过增大存储器(Memory)之间的间距解决拥塞,但是由于芯片空间有限,并不一定能增大。其中,Macro是指一组逻辑电路组件或功能块,通常具有一定的复杂性和功能,可以通过多个连线和逻辑关系组合形成一个单元。宏可以用来实现复杂的功能,如算术运算、逻辑运算、记忆功能等。
(2)电源地线(Power Ground,PG)导致的拥塞,即当Power、Ground的结构不合理或数量过多时产生的拥塞,过于密集的PG会占用过多的绕线资源,从而降低整体的绕通性。其中,Power指的是提供电路所需电能的供电系统,Ground是指电路的参考电平或电位零点,不合理的电源和地线布局可能会增加电路中的电源噪音和地线回流问题。
(3)由于局部或整体的逻辑单元过于密集导致的拥塞,当芯片中有大量的逻辑单元(如逻辑门、存储器等)集中在一个特定区域时,可能导致该特定区域的拥塞,过高的器件密度(Density)会导致布局空间不足,并且难以满足连线的需求。
(4)多引脚逻辑单元过于密集导致的拥塞,多引脚逻辑单元需要较多的连线,当大量的多引脚逻辑单元集中在一个区域时多引脚逻辑单元需要较多的连线,可能导致拥塞。
步骤S102,在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块的多个逻辑单元。
其中,第一基础模块为多个基础模块中存在拥塞区域的基础模块。例如,芯片包括基础模块1至基础模块8,若经过拥塞分析,确定基础模块2、基础模块5和基础模块6存在拥塞区域,则第一基础模块为基础模块2、基础模块5和基础模块6。
具体地,在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,在不使用多引脚逻辑单元的情况下,对第一基础模块重新进行物理综合,重新确定与第一基础模块的逻辑功能等效的逻辑单元。即,在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,在物理综合中对第一基础模块禁用多引脚逻辑单元,选择其他合适的逻辑单元替代。
步骤S103,基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局,以使第一基础模块的拥塞程度小于预设拥塞程度。
其中,第一基础模块的拥塞程度可以通过第一基础模块的拥塞区域的面积占第一基础模块所在区域的总面积的百分比表征,或第一基础模块的拥塞程度可以通过第一基础模块的拥塞区域的面积与第一基础模块所在区域的总面积的比值表征,百分比或比值越大,表明拥塞程度越高。也可以说,拥塞程度等同于第一基础模块的拥塞区域的面积占第一基础模块所在区域的总面积的百分比,或拥塞程度等同于第一基础模块的拥塞区域的面积与第一基础模块所在区域的总面积的比值。预设拥塞程度为预设值,例如,预设拥塞程度可以为1%、2%或其他数值。
具体地,在通过布局分析工具确定第一基础模块的拥塞区域之后,可以基于第一基础模块的拥塞区域的面积和第一基础模块所在区域的总面积,确定第一基础模块的拥塞程度。
示例性的,更新第一基础模块的布局之后,芯片的布局情况可以如图4所示。
本实施例提供的芯片布局优化方法,在完成多个基础模块中每个基础模块的布局之后,对每个基础模块进行拥塞分析,在基础模块的拥塞区域的拥塞是由多引脚逻辑单元引起时,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元,并基于重新确定的多个逻辑单元,更新第一基础模块的布局,使第一基础模块的拥塞程度可被接受。在本实施例中,在拥塞是由多引脚逻辑单元引起的情况下,通过禁用多引脚逻辑单元,重新确定拥塞区域的逻辑单元,优化拥塞区域的布局,能够减少由于多引脚逻辑单元导致的拥塞问题,从而更方便有效的解决拥塞问题。
在本实施例中提供了一种芯片布局优化方法,可用于计算机、平板电脑或笔记本电脑等电子设备,图5是根据本发明实施例的另一种芯片布局优化方法的流程示意图,如图5所示,该方法包括如下步骤:
步骤S501,在完成多个基础模块中的每个基础模块的布局之后,对每个基础模块进行拥塞分析。
详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S502,获取第二基础模块中的多引脚逻辑单元的位置信息。
其中,第二基础模块为多个基础模块中多引脚逻辑单元所占的比例大于预设比例的基础模块。
示例性的,可以通过布局分析工具,获取第二基础模块中的多引脚逻辑单元的位置信息,多引脚逻辑单元的位置信息可以为坐标信息。
具体地,预设比例的取值范围可以为35%至40%,即预设比例可以为35%至40%中的任意值,例如,预设比例可以为35%、36%、38%或40%。
在本实施例中,将预设比例限定在35%至40%之间,可以更准确的确定第一基础模块的拥塞区域是否是由多引脚逻辑单元引起的。
具体地,从多个基础模块中确定第二基础模块的过程可以包括步骤a1和步骤a2。
步骤a1,基于模块数据库,确定每个基础模块中的多引脚逻辑单元所占的比例。
具体地,从模块数据库(Database)中获取每个基础模块中的多引脚逻辑单元的数量,以及获取每个基础模块中的逻辑单元的数量,将多引脚逻辑单元的数量与逻辑单元的数量之间的比值,确定为对应基础模块中的多引脚逻辑单元所占的比例。其中,在物理综合之后,将多个基础模块中每个基础模块对应的逻辑单元的信息存储在模块数据库中。
步骤a2,根据多引脚逻辑单元所占的比例,从多个基础模块中确定第二基础模块。
具体地,若基础模块对应的多引脚逻辑单元所占的比例大于预设比例,则基础模块为第二基础模块,若基础模块对应的多引脚逻辑单元所占的比例小于或等于预设比例,则基础模块不是第二基础模块。
在本实施例中,基于多引脚逻辑单元所占的比例,从多个基础模块中确定第二基础模块,能够更方便快捷的从多个基础模块中确定出容易产生多引脚逻辑单元过于密集导致的拥塞的基础模块。
步骤S503,获取第一基础模块的拥塞区域的位置信息。
示例性的,可以通过布局分析工具获取第一基础模块的拥塞区域的位置信息,位置信息可以为坐标信息。
步骤S504,基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,确定第一基础模块的拥塞区域是否由多引脚逻辑单元引起。
具体地,上述步骤S504包括步骤b1和步骤b2:
步骤b1,在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息存在交集的情况下,第一基础模块的拥塞区域是由多引脚逻辑单元引起的。
步骤b2,在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息不存在交集的情况下,第一基础模块的拥塞区域不是由多引脚逻辑单元引起的。
具体地,第二基础模块为多引脚逻辑单元较为密集的基础模块,若第一基础模块的拥塞区域和第二基础模块中的多引脚逻辑单元所在区域存在重合区域,说明第一基础模块的拥塞区域是由多引脚逻辑单元引起的,执行步骤S505和步骤S506;若第一基础模块的拥塞区域和第二基础模块中的多引脚逻辑单元所在区域不存在重合区域,说明第一基础模块的拥塞区域不是由多引脚逻辑单元引起的,可能是其他拥塞原因引起的,执行步骤S507。
在本实施例中,基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息是否存在交集,能够方便准确的确定第二基础模块中的多引脚逻辑单元所在区域与第一基础模块的拥塞区域是否存在重合区域,进而准确的确定第一基础模块的拥塞区域是否是由多引脚逻辑单元引起的。
步骤S505,在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,且在第二基础模块的数量小于预设数量的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元。
具体地,预设数量为预设值,例如,若芯片具有20个基础模块,则预设数量可以为3、4或5。
在本实施例中,在第二基础模块的数量小于预设数量的情况下,才在物理综合中对第一基础模块禁用多引脚逻辑单元,能够避免芯片中的逻辑单元的数量大幅增长,以及避免芯片中的逻辑单元所占的面积大幅增加,从而在解决拥塞问题的同时,保证芯片的性能。
步骤S506,基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局,以使第一基础模块的拥塞程度小于预设拥塞程度。
详细请参见图1所示实施例的步骤S103,在此不再赘述。
步骤S507,在第一基础模块的拥塞区域不是由多引脚逻辑单元引起的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
具体地,在第一基础模块的拥塞区域的拥塞不是由多引脚逻辑单元引起的情况下,可能是由布线过于密集、电源地线布局不合理或局部或整体的逻辑单元过于密集等原因,造成的第一基础的拥塞区域的拥塞,此时,可以在拥塞区域创建部分堵塞区域,减少部分堵塞区域中逻辑单元的数量,进而使拥塞区域的拥塞程度小于预设拥塞程度。
本实施例提供的芯片布局优化方法,基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,能够更准确的确定第一基础模块的拥塞区域是否是由多引脚逻辑单元引起的,在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,且在第二基础模块的数量小于预设数量的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元,在第一基础模块的拥塞区域不是由多引脚逻辑单元引起的情况下,在拥塞区域创建部分堵塞区域,均能够使拥塞区域的拥塞程度小于预设拥塞程度,从而有效的解决拥塞问题。
在本实施例中提供了一种芯片布局优化方法,可用于计算机、平板电脑或笔记本电脑等电子设备,图6是根据本发明实施例的又一种芯片布局优化方法的流程示意图,如图6所示,该方法包括如下步骤:
步骤S601,基于多个最小绕线区域,确定每个基础模块是否存在拥塞区域。
具体地,上述步骤S601是图1所示实施例中的步骤S101的一种具体的实现方式。
示例性的,包括步骤S6011和步骤S6012:
步骤S6011,确定多个最小绕线区域中的每个最小绕线区域包括的多条边中的每条边的实际布线数量和所需布线数量。
具体地,拥塞工具在评估拥塞时,可以将芯片划分为多个最小绕线区域(GlobalRouting Cell,GRC),GRC的大小由拥塞工具定义,或者由设计人员根据实际需求在拥塞工具中预先配置,例如,GRC可以为两倍行(Row)高的正方行,每个基础模块对应多个最小绕线区域中的至少一个最小绕线区域。例如,基础模块1对应最小绕线区域11至最小绕线区域14。
在芯片上走线时都有布线通道(Track),金属先布置在布线通道上,在将芯片划分为多个最小绕线区域之后,通过拥塞工具,可以确定每个最小绕线区域的每条边的实际布线数量,以及确定每条边的所需布线数量。其中,实际布线数量为对应的边允许的最大布线数量,即对应边的能力(Capacity),所需布线数量为对应的边需要达到的布线数量,即对应边的需求(Demand)。
示例性的,最小绕线区域可以如图7所示,其中,图7中所示的数值即为Demand/Capacity。
步骤S6012,在多条边中的至少一条边对应的所需布线数量大于实际布线数量的情况下,对应的基础模块存在拥塞区域。
具体地,在边对应的所需布线数量大于实际布线数量,即Demand–Capacity=溢出(Overflow)>0,表示对应的边存在拥塞,即该最小绕线区域所在的基础模块存在拥塞区域。其中,溢出为衡量拥塞的指标。
另外,在Overflow>0时,拥塞工具将对应的边进行高亮标记,Overflow越大时,表面拥塞越严重,高亮标记的颜色越偏向于暖色调(即红色)。在本实施例中,将对应的边进行高亮标记,能够更方便的确定拥塞区域,也能够方便工作人员更直观清晰的查看拥塞区域。
步骤S602,在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块的多个逻辑单元。
详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S603,基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局。
详细请参见图1所示实施例的步骤S103,在此不再赘述。
步骤S604,对更新后的第一基础模块进行拥塞分析。
具体地,对更新后的第一基础模块进行拥塞分析与对每个基础模块进行拥塞分析的过程类似,可以参见图1所示实施例中的步骤S101,在此不再赘述。
步骤S605,在更新后的第一基础模块存在拥塞区域的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
具体地,步骤S605与图5所示实施例中的步骤S507类似,在此不再赘述。
本实施例提供的芯片布局优化方法,基于多个最小绕线区域,确定每个基础模块是否存在拥塞区域,从而从多个基础模块中准确的确定第一基础模块,在第一基础模块的拥塞是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元,并基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局,然后对更新后的第一基础模块进行拥塞分析,在更新后的第一基础模块依然存在拥塞区域的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度可被接受,从而有效解决拥塞的问题。
下面以具体的示例对本发明提供的芯片布局优化方法进行进一步说明。
具体地,如图8所示,首先对基础模块进行物理综合,确定多个基础模块中的每个基础模块对应的逻辑单元,其次,基于每个基础模块中的多引脚逻辑单元的数量,确定每个基础模块中的多引脚逻辑单元所占的比例,之后,将多引脚逻辑单元所占的比例大于40%的基础模块确定为第二基础模块(即待优化的模块),即执行步骤S801、步骤S802和步骤S803。然后,在完成多个基础模块中的每个基础模块的布局之后,对每个基础模块进行拥塞分析,并获取第一基础模块的拥塞区域的坐标信息,以及基于布局结果,获取第二基础模块中的多引脚逻辑单元的坐标信息,即执行步骤S804和步骤S805。
在获取第一基础模块的拥塞区域的坐标信息和获取第二基础模块中的多引脚逻辑单元的坐标信息之后,基于第一基础模块的拥塞区域的坐标信息(记为第一坐标信息)和第二基础模块中的多引脚逻辑单元的坐标信息(记为第二坐标信息),判断重合,即执行步骤S806。
在重合的情况下,以禁用多引脚逻辑单元为条件,重新对第一基础模块进行物理综合,即重新确定第一基础模块包括的多个逻辑单元,然后,重新进行拥塞分析,即执行步骤S807之后回到步骤S804。其中,若更新后的第一基础模块依然存在拥塞区域,则直接执行步骤S808。
在不重合的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度可被接受(小于预设拥塞程度),即执行步骤S808。
在本实施例中还提供了一种芯片布局优化装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种芯片布局优化装置,如图9所示,包括:
拥塞分析模块901,用于在完成多个基础模块中的每个基础模块的布局之后,对每个基础模块进行拥塞分析,其中,基础模块为芯片上的基础模块,基础模块包括多个逻辑单元;
第一确定模块902,用于在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块的多个逻辑单元,其中,第一基础模块为多个基础模块中存在拥塞区域的基础模块,多引脚逻辑单元为第一基础模块的多个逻辑单元中引脚数量大于预设引脚数量的逻辑单元;
更新模块903,用于基于重新确定的第一基础模块的多个逻辑单元,更新第一基础模块的布局,以使第一基础模块的拥塞程度小于预设拥塞程度。
在一些可选的实施方式中,装置还包括:
第一获取模块,用于获取第二基础模块中的多引脚逻辑单元的位置信息,其中,第二基础模块为多个基础模块中多引脚逻辑单元所占的比例大于预设比例的基础模块;
第二获取模块,用于获取第一基础模块的拥塞区域的位置信息;
第二确定模块,用于基于第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息,确定第一基础模块的拥塞区域是否由多引脚逻辑单元引起。
在一些可选的实施方式中,第二确定模块,包括:
第一确定单元,用于在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息存在交集的情况下,第一基础模块的拥塞区域是由多引脚逻辑单元引起的。
在一些可选的实施方式中,第二确定模块,包括:
第二确定单元,用于在第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息不存在交集的情况下,第一基础模块的拥塞区域不是由多引脚逻辑单元引起的。
在一些可选的实施方式中,第一确定模块902,包括:
第三确定单元,用于在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,且在第二基础模块的数量小于预设数量的情况下,以禁用多引脚逻辑单元为条件,重新确定第一基础模块包括的多个逻辑单元。
在一些可选的实施方式中,装置还包括:
第三确定模块,用于基于模块数据库,确定每个基础模块中的多引脚逻辑单元所占的比例;
第四确定模块,用于根据多引脚逻辑单元所占的比例,从多个基础模块中确定第二基础模块。
在一些可选的实施方式中,预设比例的取值范围为35%至40%。
在一些可选的实施方式中,第二基础模块中的多引脚逻辑单元的位置信息和第一基础模块的拥塞区域的位置信息为坐标信息。
在一些可选的实施方式中,装置还包括:
第一创建模块,用于在第一基础模块的拥塞区域不是由多引脚逻辑单元引起的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
在一些可选的实施方式中,装置还包括:
处理模块,用于对更新后的第一基础模块进行拥塞分析;
第二创建模块,用于在更新后的第一基础模块存在拥塞区域的情况下,在拥塞区域创建部分堵塞区域,以控制拥塞区域中逻辑单元的密度,使拥塞区域的拥塞程度小于预设拥塞程度。
在一些可选的实施方式中,芯片包括多个最小绕线区域,拥塞分析模块,包括:
第四确定单元,用于基于多个最小绕线区域,确定每个基础模块是否存在拥塞区域。
在一些可选的实施方式中,第四确定单元,包括:
第一子确定单元,用于确定多个最小绕线区域中的每个最小绕线区域包括的多条边中的每条边的实际布线数量和所需布线数量;
第二子确定单元,用于在多条边中的至少一条边对应的所需布线数量大于实际布线数量的情况下,对应的基础模块存在拥塞区域。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的芯片布局优化装置是以功能单元的形式来呈现,这里的单元是指专用集成电路(Application Specific Integrated Circuit,ASIC),执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图9所示的芯片布局优化装置。
请参阅图10,图10是本发明可选实施例提供的一种计算机设备的结构示意图,如图10所示,该计算机设备包括:一个或多个处理器1010、存储器1020,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1010为例。
处理器1010可以是中央处理器,网络处理器或其组合。其中,处理器1010还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器1020存储有可由至少一个处理器1010执行的指令,以使至少一个处理器1010执行实现上述实施例示出的方法。
存储器1020可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器1020可选包括相对于处理器1010远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器1020可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器1020还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置1030和输出装置1040。处理器1010、存储器1020、输入装置1030和输出装置1040可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1030可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置1040可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入本发明所限定的范围之内。
Claims (15)
1.一种芯片布局优化方法,其特征在于,所述方法包括:
在完成多个基础模块中的每个基础模块的布局之后,对所述每个基础模块进行拥塞分析,其中,所述基础模块为芯片上的基础模块,所述基础模块包括多个逻辑单元;
在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用所述多引脚逻辑单元为条件,重新确定所述第一基础模块的多个逻辑单元,其中,所述第一基础模块为所述多个基础模块中存在拥塞区域的基础模块,所述多引脚逻辑单元为所述第一基础模块的多个逻辑单元中引脚数量大于预设引脚数量的逻辑单元;
基于重新确定的所述第一基础模块的多个逻辑单元,更新所述第一基础模块的布局,以使所述第一基础模块的拥塞程度小于预设拥塞程度。
2.根据权利要求1所述的方法,其特征在于,在所述以禁用所述多引脚逻辑单元为条件,重新确定所述第一基础模块包括的多个逻辑单元之前,所述方法还包括:
获取第二基础模块中的多引脚逻辑单元的位置信息,其中,所述第二基础模块为所述多个基础模块中多引脚逻辑单元所占的比例大于预设比例的基础模块;
获取所述第一基础模块的拥塞区域的位置信息;
基于所述第二基础模块中的多引脚逻辑单元的位置信息和所述第一基础模块的拥塞区域的位置信息,确定所述第一基础模块的拥塞区域是否由多引脚逻辑单元引起。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二基础模块中的多引脚逻辑单元的位置信息和所述第一基础模块的拥塞区域的位置信息,确定所述第一基础模块的拥塞区域是否由多引脚逻辑单元引起,包括:
在所述第二基础模块中的多引脚逻辑单元的位置信息和所述第一基础模块的拥塞区域的位置信息存在交集的情况下,所述第一基础模块的拥塞区域是由多引脚逻辑单元引起的。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第二基础模块中的多引脚逻辑单元的位置信息和所述第一基础模块的拥塞区域的位置信息,确定所述第一基础模块的拥塞区域是否由多引脚逻辑单元引起,包括:
在所述第二基础模块中的多引脚逻辑单元的位置信息和所述第一基础模块的拥塞区域的位置信息不存在交集的情况下,所述第一基础模块的拥塞区域不是由多引脚逻辑单元引起的。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用所述多引脚逻辑单元为条件,重新确定所述第一基础模块的多个逻辑单元,包括:
在所述第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,且在所述第二基础模块的数量小于预设数量的情况下,以禁用多引脚逻辑单元为条件,重新确定所述第一基础模块的多个逻辑单元。
6.根据权利要求2至4中任一项所述的方法,其特征在于,在所述获取第二基础模块中的多引脚逻辑单元的位置信息之前,所述方法还包括:
基于模块数据库,确定所述每个基础模块中的多引脚逻辑单元所占的比例;
根据所述多引脚逻辑单元所占的比例,从所述多个基础模块中确定所述第二基础模块。
7.根据权利要求2至4中任一项所述的方法,其特征在于,
所述预设比例的取值范围为35%至40%。
8.根据权利要求2至4中任一项所述的方法,其特征在于,
所述第二基础模块中的多引脚逻辑单元的位置信息和所述第一基础模块的拥塞区域的位置信息为坐标信息。
9.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一基础模块的拥塞区域不是由多引脚逻辑单元引起的情况下,在所述拥塞区域创建部分堵塞区域,以控制所述拥塞区域中逻辑单元的密度,使所述拥塞区域的拥塞程度小于预设拥塞程度。
10.根据权利要求1至4中任一项所述的方法,其特征在于,在所述更新所述第一基础模块的布局之后,所述方法还包括:
对更新后的第一基础模块进行拥塞分析;
在所述更新后的第一基础模块存在拥塞区域的情况下,在所述拥塞区域创建部分堵塞区域,以控制所述拥塞区域中逻辑单元的密度,使所述拥塞区域的拥塞程度小于预设拥塞程度。
11.根据权利要求1至4中任一项所述的方法,其特征在于,所述芯片包括多个最小绕线区域,所述对所述每个基础模块进行拥塞分析,包括:
基于所述多个最小绕线区域,确定所述每个基础模块是否存在拥塞区域。
12.根据权利要求11所述的方法,其特征在于,所述基于所述多个最小绕线区域,确定所述每个基础模块是否存在拥塞区域,包括:
确定所述多个最小绕线区域中的每个最小绕线区域包括的多条边中的每条边的实际布线数量和所需布线数量;
在所述多条边中的至少一条边对应的所需布线数量大于所述实际布线数量的情况下,对应的基础模块存在拥塞区域。
13.一种芯片布局优化装置,其特征在于,所述装置包括:
拥塞分析模块,用于在完成多个基础模块中的每个基础模块的布局之后,对所述每个基础模块进行拥塞分析,其中,所述基础模块为芯片上的基础模块,所述基础模块包括多个逻辑单元;
第一确定模块,用于在第一基础模块的拥塞区域是由多引脚逻辑单元引起的情况下,以禁用所述多引脚逻辑单元为条件,重新确定所述第一基础模块的多个逻辑单元,其中,所述第一基础模块为所述多个基础模块中存在拥塞区域的基础模块,所述多引脚逻辑单元为所述第一基础模块的多个逻辑单元中引脚数量大于预设引脚数量的逻辑单元;
更新模块,用于基于重新确定的所述第一基础模块的多个逻辑单元,更新所述第一基础模块的布局,以使所述第一基础模块的拥塞程度小于预设拥塞程度。
14.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410147365.0A CN117688894B (zh) | 2024-02-02 | 2024-02-02 | 芯片布局优化方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410147365.0A CN117688894B (zh) | 2024-02-02 | 2024-02-02 | 芯片布局优化方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117688894A true CN117688894A (zh) | 2024-03-12 |
CN117688894B CN117688894B (zh) | 2024-05-17 |
Family
ID=90126886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410147365.0A Active CN117688894B (zh) | 2024-02-02 | 2024-02-02 | 芯片布局优化方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117688894B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120192B1 (en) * | 2020-04-20 | 2021-09-14 | International Business Machines Corporation | White space insertion for enhanced routability |
CN114492282A (zh) * | 2020-10-27 | 2022-05-13 | Oppo广东移动通信有限公司 | 贯穿信号线布局处理方法及装置、芯片和存储介质 |
CN116842896A (zh) * | 2023-05-24 | 2023-10-03 | 上海亿家芯集成电路设计有限公司 | 一种芯片控制标准单元放置优化拥塞的方法 |
CN117057290A (zh) * | 2023-07-26 | 2023-11-14 | 深圳市紫光同创电子有限公司 | 时序优化方法、装置、电子设备及存储介质 |
CN117236253A (zh) * | 2023-11-10 | 2023-12-15 | 苏州异格技术有限公司 | 一种fpga布线方法、装置、计算机设备及存储介质 |
-
2024
- 2024-02-02 CN CN202410147365.0A patent/CN117688894B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120192B1 (en) * | 2020-04-20 | 2021-09-14 | International Business Machines Corporation | White space insertion for enhanced routability |
CN114492282A (zh) * | 2020-10-27 | 2022-05-13 | Oppo广东移动通信有限公司 | 贯穿信号线布局处理方法及装置、芯片和存储介质 |
CN116842896A (zh) * | 2023-05-24 | 2023-10-03 | 上海亿家芯集成电路设计有限公司 | 一种芯片控制标准单元放置优化拥塞的方法 |
CN117057290A (zh) * | 2023-07-26 | 2023-11-14 | 深圳市紫光同创电子有限公司 | 时序优化方法、装置、电子设备及存储介质 |
CN117236253A (zh) * | 2023-11-10 | 2023-12-15 | 苏州异格技术有限公司 | 一种fpga布线方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117688894B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10248751B2 (en) | Alternative hierarchical views of a circuit design | |
US5422833A (en) | Method and system for propagating data type for circuit design from a high level block diagram | |
US10048739B2 (en) | Managing power consumption of a gated clock mesh | |
JP2004502259A (ja) | 階層型金属末端、包囲、および曝露をチェックする方法およびシステム | |
JP2800527B2 (ja) | フロアプラン装置 | |
US8510702B2 (en) | Interactive routing editor with symbolic and geometric views for integrated circuit layout | |
US10534884B2 (en) | Layout of large block synthesis blocks in integrated circuits | |
US20090300565A1 (en) | Method for prioritizing nodes for rerouting and device therefor | |
CN117688894B (zh) | 芯片布局优化方法、装置、计算机设备及存储介质 | |
US8074198B2 (en) | Apparatus and method for circuit layout using longest path and shortest path search elements | |
JP4666164B2 (ja) | 集積回路の階層設計方法および装置 | |
CN116362190A (zh) | 芯片设计的交互布局规划方法及相关设备 | |
US10885243B1 (en) | Logic partition reporting for integrated circuit design | |
US10831938B1 (en) | Parallel power down processing of integrated circuit design | |
WO2016118039A1 (en) | System and method for implementing and validating star routing for power connections at chip level | |
Hathaway et al. | Circuit placement, chip optimization, and wire routing for IBM IC technology | |
JP2011109025A (ja) | 半導体集積回路のセル自動配置方法、装置、及びプログラム | |
CN117521586B (zh) | 芯片设计的布局规划方法及相关设备 | |
US6536016B1 (en) | Method and apparatus for locating constants in combinational circuits | |
JP3370259B2 (ja) | マスクレイアウト設計方法 | |
JP3164503B2 (ja) | 配線パターン作成装置 | |
CN117435034A (zh) | 集成电路及其布局方法 | |
Wang et al. | Optimization of Redundant Logical Units in RTL Logic Synthesis | |
JPH06244387A (ja) | 半導体集積回路の製造方法 | |
JP2000322462A (ja) | 自動レイアウト装置および半導体集積回路設計方法 |
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 |