CN116306462A - 芯片的布局布线方法、装置、计算机设备及可读存储介质 - Google Patents
芯片的布局布线方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN116306462A CN116306462A CN202310261081.XA CN202310261081A CN116306462A CN 116306462 A CN116306462 A CN 116306462A CN 202310261081 A CN202310261081 A CN 202310261081A CN 116306462 A CN116306462 A CN 116306462A
- Authority
- CN
- China
- Prior art keywords
- encrypted
- unit
- units
- preset
- chip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000002265 prevention Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 26
- 230000000903 blocking effect Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004804 winding 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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
- G06F1/305—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/04—Clock gating
-
- 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
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请实施例提供一种芯片的布局布线方法、装置、计算机设备及可读存储介质,该方法包括:根据预设的预防电压降单元属性信息,确定多个待加密单元,其中,所述预防电压降单元属性信息包括如下至少一种:单元类型为主时钟门控、单元的扇出大于预设扇出值、单元的驱动大于预设驱动值;分别确定各所述待加密单元的位置;根据各所述待加密单元的位置,对所述多个待加密单元的底层Powermesh进行加密处理,得到各所述待加密单元的加密后位置。通过该方法可以提前解决电压降的问题,避免在布局布线阶段之后才解决电压降问题而出现的影响时序以及效率低下等问题。
Description
技术领域
本申请涉及芯片设计技术领域,具体而言,涉及一种芯片的布局布线方法、装置、计算机设备及可读存储介质。
背景技术
电压降(IR_drop)是指出现在集成电路中电源和地网络上电压下降或升高的现象。在芯片设计领域,随着芯片工艺尺寸越来越小,电压降对芯片的时序的影响愈发明显。因此,如何解决电压降的问题是芯片设计领域的重要问题。
目前,主要是在布局布线(Placement and Routing,简称PR)阶段之后,通过电源轨道分析(Rail Analysis,简称RA)识别电压降不合理的问题单元,再对问题单元和/或电源网络(Powermesh)区域进行处理。之后需要重新进行RA分析。经过多次迭代执行,以解决电压降的问题。
但是,上述的方法在PR阶段之后执行,可能需要对PR阶段布局好的底层布线资源进行较大调整,进而可能导致对时序产生较大影响。同时,上述的方法需要多次迭代执行,导致设计的效率低下。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种芯片的布局布线方法、装置、计算机设备及可读存储介质,以解决现有技术中在PR阶段之后解决电压降问题所导致的对时序影响以及效率低下的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种芯片的布局布线方法,包括:
根据预设的预防电压降单元属性信息,确定多个待加密单元,其中,所述预防电压降单元属性信息包括如下至少一种:单元类型为主时钟门控、单元的扇出大于预设扇出值、单元的驱动大于预设驱动值;
分别确定各所述待加密单元的位置;
根据各所述待加密单元的位置,对所述多个待加密单元的底层电源网络Powermesh进行加密处理,得到各所述待加密单元的加密后位置。
作为一种可能的实现方式,所述根据各所述待加密单元的位置,对所述多个待加密单元的底层电源网络Powermesh进行加密处理,得到各所述待加密单元的加密后位置,包括:
根据各所述待加密单元的位置,对所述多个待加密单元进行M1层Powermesh的加密处理,得到各所述待加密单元的加密后位置。
作为一种可能的实现方式,所述根据各所述待加密单元的位置,对所述多个待加密单元进行M1层Powermesh的加密处理,得到各所述待加密单元的加密后位置,包括:
删除M1层的目标区域中的信号线;
基于预设的加密参数,对各所述待加密单元的位置上的M1层Powermesh进行加密,得到各所述待加密单元在所述目标区域的加密后位置。
作为一种可能的实现方式,所述根据各所述待加密单元的位置,对所述多个待加密单元进行M1层Powermesh的加密处理,得到各所述待加密单元的加密后位置之后之后,还包括:
根据各所述待加密单元的加密后位置,在M1层与M1层的相邻层之间增加孔洞。
作为一种可能的实现方式,所述根据各所述待加密单元的位置,对所述多个待加密单元的底层Powermesh进行加密处理,得到各所述待加密单元的加密后位置之后,还包括:
将各所述待加密单元的移动属性调整为不可移动。
作为一种可能的实现方式,所述方法还包括:
为所述待加密单元添加硬放置阻塞区域,所述硬放置阻塞区域以所述待加密单元的加密后位置为中心,且所述硬放置阻塞区域的区域范围为预设范围。
作为一种可能的实现方式,所述根据预设的预防电压降单元属性信息,确定多个待加密单元,包括:
确定芯片中属于所述主时钟门控的单元,将属于所述主时钟门控的各单元分别作为一个所述待加密单元;
确定所述芯片中扇出值大于所述预设扇出值的单元,将扇出值大于所述预设扇出值的各单元分别作为一个所述待加密单元;
确定所述芯片中驱动值大于所述预设驱动值的单元,将驱动值大于所述预设驱动值的各单元分别作为一个所述待加密单元。
第二方面,本申请实施例提供一种芯片的布局布线装置,包括:
第一确定模块,用于根据预设的预防电压降单元属性信息,确定多个待加密单元,其中,所述预防电压降单元属性信息包括如下至少一种:单元类型为主时钟门控、单元的扇出大于预设扇出值、单元的驱动大于预设驱动值;
第二确定模块,用于分别确定各所述待加密单元的位置;
加密模块,用于根据各所述待加密单元的位置,对所述多个待加密单元的底层电源网络Powermesh进行加密处理,得到各所述待加密单元的加密后位置。
作为一种可能的实现方式,所述加密模块具体用于:
根据各所述待加密单元的位置,对所述多个待加密单元进行M1层Powermesh的加密处理,得到各所述待加密单元的加密后位置。
作为一种可能的实现方式,所述加密模块具体用于:
删除M1层的目标区域中的信号线;
基于预设的加密参数,对各所述待加密单元的位置上的M1层Powermesh进行加密,得到各所述待加密单元在所述目标区域的加密后位置。
作为一种可能的实现方式,所述加密模块还用于:
根据各所述待加密单元的加密后位置,在M1层与M1层的相邻层之间增加孔洞。
作为一种可能的实现方式,所述加密模块还用于:
将各所述待加密单元的移动属性调整为不可移动。
作为一种可能的实现方式,所述加密模块还用于:
为所述待加密单元添加硬放置阻塞区域,所述硬放置阻塞区域以所述待加密单元的加密后位置为中心,且所述硬放置阻塞区域的区域范围为预设范围。
作为一种可能的实现方式,所述第一确定模块具体用于:
确定芯片中属于所述主时钟门控的单元,将属于所述主时钟门控的各单元分别作为一个所述待加密单元;
确定所述芯片中扇出值大于所述预设扇出值的单元,将扇出值大于所述预设扇出值的各单元分别作为一个所述待加密单元;
确定所述芯片中驱动值大于所述预设驱动值的单元,将驱动值大于所述预设驱动值的各单元分别作为一个所述待加密单元。
第三方面,本申请实施例提供一种计算机设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器执行所述机器可读指令,以执行时执行上述第一方面所述的芯片的布局布线方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面所述的芯片的布局布线的步骤。
本申请实施例所提供的芯片的布局布线方法、装置、计算机设备及可读存储介质,在芯片的布局布线阶段,根据预设的预防电压降单元属性信息,可以确定出满足这些属性信息的多个待加密单元,在确定出各待加密单元的位置之后,可以根据各待加密单元的位置,对多个待加密单元的底层Powermesh进行加密处理。利用预防电压降单元属性信息确定待加密单元,能够保证所确定的待加密单元的准确性,同时,根据各待加密单元的位置对底层Powermesh进行加密处理,能够保证在加密后单元Powermesh覆盖率的提升的同时不影响芯片中的其他布线。另外,通过在芯片的布局布线阶段识别待加密单元并对待加密单元进行加密,可以提前解决电压降的问题,避免在布局布线阶段之后才解决电压降问题而出现的影响时序以及效率低下等问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的芯片的布局布线方法的流程示意图;
图2为本申请实施例提供的芯片的布局布线方法的另一流程示意图;
图3为芯片上多个待加密单元的位置示意图;
图4为本申请实施例提供的芯片的布局布线方法的又一流程示意图;
图5为本申请实施例提供的芯片的布局布线装置的模块结构图;
图6为本申请实施例提供的计算机设备60的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
目前主要是在PR阶段之后解决电压降的问题。然而,由于工艺特点,越是底层的金属,电阻越大,电源线也是如此,因此,底层电源网络(powermesh)的电压降的占比更高。在PR阶段之后,大部分底层布线资源被信号线等占据,如果在该阶段解决电压降的问题,就需要删除原来位置的信号线,对电源线进行加强。这种方式需要对PR阶段布局好的底层布线资源进行较大调整,因此可能导致对时序产生较大影响。同时,这种方法需要多次迭代执行才能有效解决电压降的问题,导致设计的效率低下。
本申请实施例基于上述问题,提出一种芯片的布局布线方法,通过在芯片的布局布线阶段筛选需要预防电压降的单元,根据这些单元的位置进行加密,使得可以提前解决电压降的问题,避免在布局布线阶段之后才解决电压降问题而出现的影响时序以及效率低下等问题。
本申请实施例可以应用于芯片的布局布线场景中,芯片的布局布线是芯片设计流程中的重要一环,在芯片的布局布线阶段,可以确定芯片中各单元的摆放位置以及单元之间的连线的布线方式。具体的,可以在时钟树综合(Clock tree synthesis,简称CTS)之后且route之前实施本申请。可选的,本申请实施例的技术方案可以与现有的布局布线方案结合实施。示例性的,可以首先在CTS之后且route之前使用现有的布局布线方案得到初始的布局布线结果,进而,在初始的布局布线结果的基础上,利用本申请实施例的技术方案进行单元的加密以解决电压降的问题。
以下,通过多个实施例对本申请的芯片的布局布线方法进行详细说明。
图1为本申请实施例提供的芯片的布局布线方法的流程示意图,该方法的执行主体可以为任何具有计算处理能力的计算机设备。如图1所示,该方法包括:
S101、根据预设的预防电压降单元属性信息,确定多个待加密单元,其中,上述预防电压降单元属性信息包括如下至少一种:单元类型为主时钟门控、单元的扇出大于预设扇出值、单元的驱动大于预设驱动值。
在芯片的布局布线阶段,可以根据上述预防电压降单元属性信息,确定多个待加密单元。
可选的,可以预先根据对电压降产生影响的单元的特点得到上述预防电压降单元属性信息。例如,主时钟门控类型的单元在实际工作中,处于常开状态,翻转率高,动态电压降大,因此可以将主时钟门控类型的单元作为加密的对象。因此,可以将“单元类型为主时钟门控”这一属性作为一个预防电压降单元属性信息,当某个单元满足该属性时,可以将该单元作为一个待加密单元。如此,可以将芯片中的各主时钟门控类型的单元作为待加密单元。又例如,当单元的扇出较大时,负载较大,电压降大,因此,可以将“单元的扇出大于预设扇出值”这一属性作为预防电压降单元属性信息,当某个单元满足该属性时,可以将该单元作为一个待加密单元。又例如,当单元的驱动较大时,单元的功耗较大,漏流大,静态电压降大,因此可以将“单元的驱动大于预设驱动值”这一属性作为一个预防电压降单元属性信息,当某个单元满足该属性时,可以将该单元作为一个待加密单元。
可选的,在得到上述预防电压降单元属性信息的基础上,可以对芯片的各单元进行遍历,若遍历到的单元满足上述预防电压降单元属性信息中的任意一种,则可以将该单元作为一个待加密单元。遍历完成后,可以得到芯片中的各待加密单元。
S102、分别确定各待加密单元的位置。
可选的,待加密单元的位置可以指待加密单元在芯片中的位置坐标。
作为一种示例,可以通过调用如下的innovus命令得到待加密单元在芯片中的位置坐标。
dbGet[dbGet top.insts.name$list-p].box
其中,$list为上述的各待加密单元所组成的列表。
S103、根据各待加密单元的位置,对多个待加密单元的底层Powermesh进行加密处理,得到各待加密单元的加密后位置。
可选的,基于各待加密单元的位置,可以对各待加密单元的底层Powermesh进行加密,以使得各待加密单元的底层Powermesh的覆盖率增加。示例性的,芯片存在三个待加密单元,分别为单元A、单元B和单元C。假设在加密处理前,单元A、单元B和单元C的底层powermesh覆盖率为M。则经过加密处理后,单元A、单元B和单元C的底层powermesh覆盖率会大于M,从而使得单元A、单元B和单元C的电源电阻减小,起到预防IR_drop的作用。同时,在对待加密单元进行加密之前,还可以将各待加密单元所在区域的信号线进行清理,以保证各待加密单元在加密底层Powermesh时有足够的空间。
本实施例中,在芯片的布局布线阶段,根据预设的预防电压降单元属性信息,可以确定出满足这些属性信息的多个待加密单元,在确定出各待加密单元的位置之后,可以根据各待加密单元的位置,对多个待加密单元的底层Powermesh进行加密处理。利用预防电压降单元属性信息确定待加密单元,能够保证所确定的待加密单元的准确性,同时,根据各待加密单元的位置对底层Powermesh进行加密处理,能够保证在加密后单元Powermesh覆盖率的提升的同时不影响芯片中的其他布线。另外,通过在芯片的布局布线阶段识别待加密单元并对待加密单元进行加密,可以提前解决电压降的问题,避免在布局布线阶段之后才解决电压降问题而出现的影响时序以及效率低下等问题。
作为一种可选的实施方式,上述步骤S103中在进行加密处理时,可以仅在M1进行加密。
具体的,可以根据各待加密单元的位置,对多个待加密单元进行M1层Powermesh的加密处理,得到各待加密单元的加密后位置。
可选的,在芯片的各层中,M0层为单元内部走线层,该层中不存在多余的走线空间,因此,本申请实施例中不在M0层进行加密。M2层为横向全局布局,且与单元本身的M0层电源平行,如果继续加密会影响信号线的走线,因此,本申请实施例中不在M2层进行加密。除此之外,芯片的上层电源电阻较小,电压降的占比较低,加密后和加密前的电压降差别较小。因此,本申请实施例对多个待加密单元进行M1层Powermesh进行加密处理,能够保证在加密后单元密度提升的同时不影响芯片中的其他布线。
可选的,在上述根据各待加密单元的位置对多个待加密单元进行M1层Powermesh的加密处理时,可以按照如下的方式执行。
图2为本申请实施例提供的芯片的布局布线方法的另一流程示意图,如图2所示,上述根据各待加密单元的位置对多个待加密单元进行M1层Powermesh的加密处理的过程包括:
S201、删除M1层的目标区域中的信号线。
可选的,上述目标区域可以指前述的多个待加密单元在芯片上所在的区域。示例性的,图3为芯片上多个待加密单元的位置示意图,如图3所示例的,芯片上存在3个待加密单元,分别为单元A、单元B和单元C,则上述目标区域为将单元A、单元B和单元C三者的最外围边界包含在内的区域。例如,目标区域可以是图3中虚线所包围的区域。在具体实施过程中,目标区域可以是沿多个待加密单元的最外围边界所形成的区域,或者,也可以是将多个待加密单元均包含在内的矩形,可以根据实际需要灵活选择。
可选的,在将目标区域中的信号线删除之后,可以相应在目标区域之外进行绕线以恢复信号线,从而避免对功能以及时序等造成影响。
S202、基于预设的加密参数,对各待加密单元的位置上的M1层Powermesh进行加密,得到各待加密单元在上述目标区域的加密后位置。
可选的,可以通过调用用于加密Powermesh的innovus命令对各待加密单元的区域进行M1层Powermesh加密。具体的,将上述预设的加密参数以及待加密单元的位置作为innovus命令的输入参数并调用innovus命令,即可以实现对待加密单元的M1层Powermesn加密,得到待加密单元在目标区域的加密后位置。
具体实施过程中,可以针对每个待加密单元分别调用上述的用于加密Powermesh的innovus命令。
可选的,上述加密参数例如可以包括:调整的宽度、调整的距离以及调整的方向等。可以预先针对不同类型的待加密单元生成不同的加密参数,或者,各种类型的待加密单元也可以使用相同的加密参数。
以下为用于加密Powermesh的innovus命令的一个示例。
addStripe-layer M1-width 0.02
-spacing 0.001-set_to_set_distance 0.1
-direction vertical-nets{VSS VDD}
-area“x1 y1 x2 y2”
在上述示例中,-area后的参数为待加密单元的位置,具体为待加密单元在芯片上的位置坐标,其余参数为上述的加密参数。通过将加密参数和待加密单元的位置作为innovus命令的输入参数并调用innovus命令,能够使得待加密单元的Powermesh按照加密参数所指示的方式进行加密。
作为一种可选的实施方式,在M1层对多个待加密单元进行加密处理之后,上述方法还包括:
根据各待加密单元的加密后位置,在M1层与M1层的相邻层之间增加孔洞。
可选的,M1层的相邻层包括M0层以及M2层。
可选的,在得到待加密单元的加密后位置之后,待加密单元的位置发生改变,在此基础上,可以以待加密单元的加密后位置为基准,在M1层与M0层之间以及M1层与M2层之间增加孔洞。示例性的,可以从待加密单元的中心坐标点向M0层以及M2层打孔。
本实施例中,在加密待加密单元区域的Powermesh之后,通过在M1层与M1层的相邻层之间增加孔洞,可以保证解决电压降的效果。
作为一种可选的实施方式,在前述对多个待加密单元进行加密处理之后,还可以执行下述的处理过程以进一步保证解决电压降的效果。
可选的,可以将各待加密单元的移动属性调整为不可移动。
示例性的,可以通过调用如下的innovus命令将待加密单元的移动属性调整为不可移动。
dbSet selected.pStatus fixed
在将待加密单元的移动属性调整为不可移动之后,在布局布线阶段的后续过程中,待加密单元的位置不会再发生改变。由于加密后位置是能够解决电压降问题的预期位置,因此,通过将待加密单元的移动属性调整为不可移动,可以避免在布局布线阶段的后续过程中对待加密单元的位置再次调整,从而保证电压降的效果不受影响。
可选的,在将各待加密单元的移动属性调整为不可移动之后,还可以执行下述的处理过程以进一步保证解决电压降的效果。
可选的,可以为待加密单元添加硬放置阻塞区域。其中,该硬放置阻塞区域(hardplacement blockage)以待加密单元的加密后位置为中心,且该硬放置阻塞区域的区域范围为预设范围。
可选的,硬放置阻塞区域的作用在于,在硬放置阻塞区域内,除了待加密单元之外,不允许放置其他单元。因此,通过为待加密单元添加硬放置阻塞区域,可以使得待加密单元周围的单元被强制驱散。在驱散之后,待加密单元处的单元数量变少,电流相应减小,从而进一步解决电压降的问题。
值得说明的是,在具体实施过程中,上述预设范围例如可以是5um x5um的较小范围,因此,可以在解决电压降的问题的同时不会对被驱散的单元产生影响。
以下,对前述步骤S101中根据预设的预防电压降单元属性信息确定多个待加密单元的可选方式进行说明。
图4为本申请实施例提供的芯片的布局布线方法的又一流程示意图,如图4所示,上述步骤S101可以包括:
S401、确定芯片中属于主时钟门控的单元,将属于主时钟门控的各单元分别作为一个待加密单元。
示例性的,可以通过调用如下的innovus命令抓取芯片中属于主时钟门控的单元。
filter_collection[get_cell[all_fanou-fromcoreclk-flat-only_cells-levels 6]]“is_clock_gating_check==true”
在调用上述innovus命令之后,命令可以返回芯片中属于主时钟门控的单元,进而,可以将这些属于主时钟门控的单元中的每个单元分别作为一个待加密单元。
S402、确定芯片中扇出值大于上述预设扇出值的单元,将扇出值大于上述预设扇出值的各单元分别作为一个待加密单元。
示例性的,可以通过调用如下的innovus命令获取芯片中各单元的扇出值。
sizeof_collection[all_fanout-from xxx/Z-only_cells-flat]
在获取到各单元的扇出值之后,分别对各单元的扇出值进行判断,若单元的扇出值大于上述预设扇出值,则将该单元作为一个待加密单元。
作为一种示例,上述预设扇出值可以为24。
S403、确定芯片中驱动值大于上述预设驱动值的单元,将驱动值大于上述预设驱动值的各单元分别作为一个待加密单元。
示例性的,可以通过调用如下的innovus命令抓取芯片中驱动值大于上述预设驱动值的单元。
dbGet[dbGet top.inst.cell.name*V20*-p2].name
作为一种示例,上述预设驱动值可以为16。
值得说明的是,上述步骤S401-S403的执行顺序可以不分先后,相互之间可以独立执行。
基于同一发明构思,本申请实施例中还提供了与芯片的布局布线方法对应的芯片的布局布线装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述芯片的布局布线方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图5为本申请实施例提供的芯片的布局布线装置的模块结构图,如图5所示,该装置包括:
第一确定模块501,用于根据预设的预防电压降单元属性信息,确定多个待加密单元,其中,所述预防电压降单元属性信息包括如下至少一种:单元类型为主时钟门控、单元的扇出大于预设扇出值、单元的驱动大于预设驱动值。
第二确定模块502,用于分别确定各所述待加密单元的位置。
加密模块503,用于根据各所述待加密单元的位置,对所述多个待加密单元的底层Powermesh进行加密处理,得到各所述待加密单元的加密后位置。
作为一种可选的实施方式,所述加密模块503具体用于:
根据各所述待加密单元的位置,对所述多个待加密单元进行M1层Powermesh的加密处理,得到各所述待加密单元的加密后位置。
作为一种可选的实施方式,所述加密模块503具体用于:
删除M1层的目标区域中的信号线。
基于预设的加密参数,对各所述待加密单元的位置上的M1层Powermesh进行加密,得到各所述待加密单元在所述目标区域的加密后位置。
作为一种可选的实施方式,所述加密模块503还用于:
根据各所述待加密单元的加密后位置,在M1层与M1层的相邻层之间增加孔洞。
作为一种可选的实施方式,所述加密模块503还用于:
将各所述待加密单元的移动属性调整为不可移动。
作为一种可选的实施方式,所述加密模块503还用于:
为所述待加密单元添加硬放置阻塞区域,所述硬放置阻塞区域以所述待加密单元的加密后位置为中心,且所述硬放置阻塞区域的区域范围为预设范围。
作为一种可选的实施方式,所述第一确定模块501具体用于:
确定芯片中属于所述主时钟门控的单元,将属于所述主时钟门控的各单元分别作为一个所述待加密单元。
确定所述芯片中扇出值大于所述预设扇出值的单元,将扇出值大于所述预设扇出值的各单元分别作为一个所述待加密单元。
确定所述芯片中驱动值大于所述预设驱动值的单元,将驱动值大于所述预设驱动值的各单元分别作为一个所述待加密单元。
本申请实施例还提供了一种计算机设备60,如图6所示,为本申请实施例提供的计算机设备60的结构示意图,包括:处理器61、存储器62、和总线63。所述存储器62存储有所述处理器61可执行的机器可读指令(比如,图5中的装置中的第一确定模块501、第二确定模块502以及加密模块503应的执行指令等),当计算机设备60运行时,所述处理器61与所述存储器62之间通过总线63通信,所述机器可读指令被所述处理器61执行时执行前述方法实施例中的方法步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述芯片的模块布局方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种芯片的布局布线方法,其特征在于,包括:
根据预设的预防电压降单元属性信息,确定多个待加密单元,其中,所述预防电压降单元属性信息包括如下至少一种:单元类型为主时钟门控、单元的扇出大于预设扇出值、单元的驱动大于预设驱动值;
分别确定各所述待加密单元的位置;
根据各所述待加密单元的位置,对所述多个待加密单元的底层电源网络Powermesh进行加密处理,得到各所述待加密单元的加密后位置。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述待加密单元的位置,对所述多个待加密单元的底层电源网络Powermesh进行加密处理,得到各所述待加密单元的加密后位置,包括:
根据各所述待加密单元的位置,对所述多个待加密单元进行M1层电源网络的加密处理,得到各所述待加密单元的加密后位置。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述待加密单元的位置,对所述多个待加密单元进行M1层电源网络的加密处理,得到各所述待加密单元的加密后位置,包括:
删除M1层的目标区域中的信号线;
基于预设的加密参数,对各所述待加密单元的位置上的M1层电源网络进行加密,得到各所述待加密单元在所述目标区域的加密后位置。
4.根据权利要求2所述的方法,其特征在于,所述根据各所述待加密单元的位置,对所述多个待加密单元进行M1层电源网络的加密处理,得到各所述待加密单元的加密后位置之后,还包括:
根据各所述待加密单元的加密后位置,在M1层与M1层的相邻层之间增加孔洞。
5.根据权利要求1所述的方法,其特征在于,所述根据各所述待加密单元的位置,对所述多个待加密单元的底层电源网络Powermesh进行加密处理,得到各所述待加密单元的加密后位置之后,还包括:
将各所述待加密单元的移动属性调整为不可移动。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
为所述待加密单元添加硬放置阻塞区域,所述硬放置阻塞区域以所述待加密单元的加密后位置为中心,且所述硬放置阻塞区域的区域范围为预设范围。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据预设的预防电压降单元属性信息,确定多个待加密单元,包括:
确定芯片中属于所述主时钟门控的单元,将属于所述主时钟门控的各单元分别作为一个所述待加密单元;
确定所述芯片中扇出值大于所述预设扇出值的单元,将扇出值大于所述预设扇出值的各单元分别作为一个所述待加密单元;
确定所述芯片中驱动值大于所述预设驱动值的单元,将驱动值大于所述预设驱动值的各单元分别作为一个所述待加密单元。
8.一种芯片的布局布线装置,其特征在于,包括:
第一确定模块,用于根据预设的预防电压降单元属性信息,确定多个待加密单元,其中,所述预防电压降单元属性信息包括如下至少一种:单元类型为主时钟门控、单元的扇出大于预设扇出值、单元的驱动大于预设驱动值;
第二确定模块,用于分别确定各所述待加密单元的位置;
加密模块,用于根据各所述待加密单元的位置,对所述多个待加密单元的底层电源网络Powermesh进行加密处理,得到各所述待加密单元的加密后位置。
9.一种计算机设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至7任一所述的芯片的布局布线方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的芯片的布局布线方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310261081.XA CN116306462A (zh) | 2023-03-17 | 2023-03-17 | 芯片的布局布线方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310261081.XA CN116306462A (zh) | 2023-03-17 | 2023-03-17 | 芯片的布局布线方法、装置、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116306462A true CN116306462A (zh) | 2023-06-23 |
Family
ID=86830170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310261081.XA Pending CN116306462A (zh) | 2023-03-17 | 2023-03-17 | 芯片的布局布线方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116306462A (zh) |
-
2023
- 2023-03-17 CN CN202310261081.XA patent/CN116306462A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6327694B1 (en) | Cell placement apparatus and method, and computer readable record medium having cell placement program recorded thereon | |
US6378121B2 (en) | Automatic global routing device for efficiently determining optimum wiring route on integrated circuit and global routing method therefor | |
US7398489B2 (en) | Advanced standard cell power connection | |
US6546538B1 (en) | Integrated circuit having on-chip capacitors for supplying power to portions of the circuit requiring high-transient peak power | |
CN107066681A (zh) | 集成电路和制造集成电路的计算机实现方法 | |
US7872355B2 (en) | Semiconductor integrated circuit and method of designing semiconductor integrated circuit | |
US8881085B1 (en) | Cell-level electrostatic discharge protection for an integrated circuit | |
US20210042461A1 (en) | Method of inserting dummy boundary cells for macro/ip and ic | |
US8276110B2 (en) | Reducing voltage drops in power networks using unused spaces in integrated circuits | |
TWI762561B (zh) | 用於插入電網之設備及方法以及非暫時性電腦可讀媒體 | |
US6467070B2 (en) | Design support apparatus for semiconductor devices | |
JP2009076709A (ja) | 半導体装置 | |
JP2004252717A (ja) | 半導体集積回路の設計方法、設計装置、セルライブラリのデータ構造および自動レイアウトプログラム | |
CN109933857A (zh) | 感知集成电路布局信息的时钟树主干拓扑生成方法及系统 | |
US20170132351A1 (en) | Congestion mitigation by wire ordering | |
CN116306462A (zh) | 芯片的布局布线方法、装置、计算机设备及可读存储介质 | |
US8271926B2 (en) | Semiconductor integrated circuit with multi-cut via and automated layout method for the same | |
KR100591964B1 (ko) | 반도체 집적 회로의 배선 패턴 작성 방법 및 그 장치,기록 매체, 반도체 집적 회로 장치 | |
JP5900540B2 (ja) | レイアウト設計方法及びレイアウト設計支援プログラム | |
US6944552B2 (en) | System and method for detecting power deficiencies in a computer component | |
CN114912410B (zh) | 版图修改方法、装置、电子设备及计算机可读存储介质 | |
US7076759B2 (en) | Methodology for generating a modified view of a circuit layout | |
Ratna et al. | A post-routing stage IR drop reduction technique with less routing resources | |
US10423754B1 (en) | Electrostatic discharge cell placement using effective resistance | |
US20220358276A1 (en) | Integrated circuit with dummy boundary cells |
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 |