CN118569189B - 电压降处理方法、装置、电子设备和存储介质 - Google Patents
电压降处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN118569189B CN118569189B CN202411036390.8A CN202411036390A CN118569189B CN 118569189 B CN118569189 B CN 118569189B CN 202411036390 A CN202411036390 A CN 202411036390A CN 118569189 B CN118569189 B CN 118569189B
- Authority
- CN
- China
- Prior art keywords
- layout
- voltage drop
- power
- stage
- information
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 37
- 238000003860 storage Methods 0.000 title claims abstract description 36
- 238000012360 testing method Methods 0.000 claims abstract description 157
- 238000010586 diagram Methods 0.000 claims abstract description 67
- 238000013461 design Methods 0.000 claims abstract description 50
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 16
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 44
- 238000004458 analytical method Methods 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 22
- 230000008439 repair process Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 239000000872 buffer Substances 0.000 claims description 9
- 239000003990 capacitor Substances 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 7
- 238000012300 Sequence Analysis Methods 0.000 description 21
- 239000002184 metal Substances 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 230000000875 corresponding effect Effects 0.000 description 16
- 230000003068 static effect Effects 0.000 description 15
- 238000001514 detection method Methods 0.000 description 11
- 239000010410 layer Substances 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 7
- 238000012938 design process Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000009812 interlayer coupling reaction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
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
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供一种电压降处理方法、装置、电子设备和存储介质,在布图规划阶段确定各个模块的布放信息、预布局阶段确定电源网络的布局、在正式布局阶段进行各个模块的摆放,即基于布局后的版图进行电压降测试得到第一测试结果。若第一测试结果不满足第一预设要求,返回布图规划阶段和预布局阶段执行迭代,直至其满足第一预设要求后,对版图进行时钟树综合及布线得到布线图。再基于布线图进行电压降测试得到第二测试结果,若第二测试结果不满足第二预设要求,返回预布局阶段执行迭代,直至其满足第二预设要求为止。如此,在布局阶段之后以及布线之后均执行电压降测试,以及时发现存在的电压降问题,进而可减少芯片迭代的次数、缩短芯片设计开发时间。
Description
技术领域
本发明涉及芯片技术领域,具体而言,涉及一种电压降处理方法、装置、电子设备和存储介质。
背景技术
随着芯片工艺尺寸进入到深亚微米级、纳米级的工艺节点,芯片的设计难度也达到一个全新的高度,对芯片设计的方法、生产所需的工具、芯片的性能等也提出了更高的要求。在芯片整个设计流程中,从架构到封装等一系列过程均会围绕性能(Performance)、功耗(Power)、面积(Area)等诸多方面进行综合考量。芯片设计人员在进行芯片设计时,需要在上述三者之间找到最佳的平衡点,以满足特定应用需求和市场要求。需要针对不同场景进行设计优化,如在移动设备上注重功耗和性能的平衡,而在数据中心则更关注性能和面积的平衡。
随着便携式设备的大量出现,低功耗设计也应运而生,功耗影响的不仅是设备的超长待机时间、能源的消耗,还影响着电压降(IR Drop)。电压降是指出现在集成电路中电源和地网络上电压下降或升高的一种现象。在芯片设计领域中,由于工艺的不断演进,金属互连线的宽度越来越窄、电阻值越来越大、供电电压越来越小,电压降的效应也愈发明显。因此,如何解决电压降的问题是芯片设计领域的重要问题。
目前,主要是在签核(signoff)的最后阶段才开始进行电压降的检测。签核是指将设计数据交给芯片制造厂商生产之前,对设计数据进行复检,确认设计数据是否达到标准所包括的检查和确认。但是,在芯片设计流程中,尤其是低功耗芯片设计流程中,对于芯片的电压降的要求较高。若在签核的最后阶段再进行电压降检测,然后再通过修改芯片的电源规划、布图规划等来达到修正电压降的目的,对于设计将造成不可估量的影响。例如可能造成已经满足要求的时序和物理规则检查等再次出现违例。进而又需要花大量的时间去迭代设计,去做设计迭代修复(Engineer Change Order, ECO)。如此芯片设计的周期将大大延长,存在浪费人力、物力等缺陷。
发明内容
本发明的目的包括,例如,提供了一种电压降处理方法、装置、电子设备和存储介质,其能够减少芯片迭代的次数、缩短芯片设计开发时间。
本发明的实施例可以这样实现:
第一方面,本发明提供一种电压降处理方法,所述方法包括:
在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息;
在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,并根据所述布局信息进行所述电源网络的布局;
在正式布局阶段,根据所述布放信息进行各所述模块的摆放,得到布局后的版图;
基于布局后的版图进行第一次电压降测试得到第一测试结果,若所述第一测试结果不满足第一预设要求,则返回所述布图规划阶段和所述预布局阶段以执行至少一次迭代,直至迭代后得到的第一测试结果满足所述第一预设要求;
基于满足所述第一预设要求下的版图进行时钟树综合及布线得到布线图,基于所述布线图进行第二次电压降测试得到第二测试结果,若所述第二测试结果不满足第二预设要求,则返回所述预布局阶段以执行至少一次迭代,直至迭代后得到的第二测试结果满足所述第二预设要求。
在可选的实施方式中,所述方法还包括:
基于时序分析工具对满足所述第二预设要求的布线图相应的网表进行时序分析,获得时序分析结果;
若所述时序分析结果不满足预设时序要求,则基于获取的修复信息对所述布线图相应的网表进行修改,直至修改后得到的时序分析结果满足所述预设时序要求;
基于满足所述预设时序要求的布线图进行第三次电压降测试得到第三测试结果,若所述第三测试结果不满足第三预设要求,则基于获取的调整信息对所述布线图进行调整,直至调整后得到的第三测试结果满足所述第三预设要求。
在可选的实施方式中,所述方法还包括:
基于满足所述第三预设要求下的布线图提取网表的标准延时信息文件,并基于所述标准延时信息文件进行逻辑仿真得到信号变化信息;
根据所述信号变化信息计算得到芯片最终的电压降。
在可选的实施方式中,所述约束参数包括数据流走向信息和电源接点的位置信息;
所述在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息的步骤,包括:
在布图规划阶段,根据获取的系统参数、数据流走向信息和电源接点的位置信息对各个模块进行规划得到布放信息,其中,与所述电源接点连接的模块规划在所述电源接点的预设邻近位置。
在可选的实施方式中,所述基于布局后的版图进行第一次电压降测试得到第一测试结果的步骤,包括:
基于布局后的版图进行第一次电压降测试得到所述布局后的版图中各个模块的电压降值;
根据各所述模块的电压降值计算得到多个所述模块的电压降值的均值,基于所述均值和各所述模块的电压降值得到所述第一测试结果。
在可选的实施方式中,所述模块包括电源关断器件;
所述在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息的步骤,包括:
在预布局阶段,根据获取的电源规划信息确定版图中的多个电路区域,其中,各所述电路区域对应不同电压域;
对各所述电路区域添加不同的电源线;
布局各所述电源关断器件与各所述电路区域之间的电源连接关系,并布局不同电源关断器件之间的逻辑连接关系。
在可选的实施方式中,所述布局各所述电源关断器件与各所述电路区域之间的电源连接关系,并布局不同电源关断器件之间的逻辑连接关系的步骤,包括:
将各所述电源关断器件的第一电源引脚连接至各所述电路区域中的常开区、将各所述电源关断器件的第二电源引脚连接至各所述电路区域中的关断区,其中,所述第一电源引脚为控制常开的电源引脚,所述第二电源引脚为连接关断区电源网络的电源引脚;
将所有电源关断器件控制是否关断的引脚进行串联。
在可选的实施方式中,所述返回所述布图规划阶段和所述预布局阶段以执行至少一次迭代的步骤,包括:
返回所述布图规划阶段和所述预布局阶段,基于第一调整策略对所述布放信息、所述电源网络的布局信息进行至少一次迭代调整;
其中,所述第一调整策略包括如下至少一项:对各所述模块的选取进行调整、对各所述模块的布放位置进行调整、对所述电源网络中电源线的宽度进行调整、对所述电源线的间距进行调整。
在可选的实施方式中,所述模块包括去耦电容器件和缓冲器;
所述对各所述模块的选取进行调整步骤,包括以下至少一项:
增加选取的模块中的去耦电容器件的数量;
将选取的模块中的标准单元替换为倍数更小的标准单元和/或将选取的模块中的低阈值器件替换为高阈值器件;
在电源线的长度超过预设长度的区域,选取缓冲器以插入所述区域。
在可选的实施方式中,所述模块包括时钟器件和电源关断器件;
所述对各所述模块的布放位置进行调整的步骤,包括以下至少一项:
针对时钟器件聚集的区域,采用手动调整方式或单元填充方法调整所述时钟器件的布放,以使调整后的时钟器件之间的间距满足预设间距要求;
减小电源关断器件之间的间距。
在可选的实施方式中,所述电源线包括电源环线和电源条线,所述电源环线位于芯片的边缘区域,所述电源条线位于芯片的边缘区域所围设的中心区域;
所述对所述电源线的宽度进行调整的步骤,包括:
增加所述电源环线的宽度。
第二方面,本发明提供一种电压降处理装置,所述装置包括:
规划模块,用于在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息;
预布局模块,用于在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,并根据所述布局信息进行所述电源网络的布局;
正式布局模块,用于在正式布局阶段,根据所述布放信息进行各所述模块的摆放,得到布局后的版图;
分析模块,用于基于布局后的版图进行第一次电压降测试得到第一测试结果,若所述第一测试结果不满足第一预设要求,则返回所述布图规划阶段和所述预布局阶段以执行至少一次迭代,直至迭代后得到的第一测试结果满足所述第一预设要求;
所述分析模块,还用于基于满足所述第一预设要求下的版图进行时钟树综合及布线得到布线图,基于所述布线图进行第二次电压降测试得到第二测试结果,若所述第二测试结果不满足第二预设要求,则返回所述预布局阶段以执行至少一次迭代,直至迭代后得到的第二测试结果满足所述第二预设要求。
第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以实现如前述实施方式任意一项所述的电压降处理方法。
第四方面,本发明提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时以实现如前述实施方式任意一项所述的电压降处理方法。
本发明实施例的有益效果包括,例如:
本发明提供一种电压降处理方法、装置、电子设备和存储介质,在布图规划阶段确定各个模块的布放信息、在预布局阶段确定电源网络的布局信息并进行电源网络的布局、在正式布局阶段进行各个模块的摆放,进而得到布局后的版图。基于布局后的版图进行电压降测试得到第一测试结果。若第一测试结果不满足第一预设要求,返回布图规划阶段和预布局阶段执行迭代,直至其满足第一预设要求后,对版图进行时钟树综合及布线得到布线图。再基于布线图进行电压降测试得到第二测试结果,若第二测试结果不满足第二预设要求,返回预布局阶段执行迭代,直至其满足第二预设要求为止。如此,在布局阶段之后以及布线之后均执行电压降测试,以及时发现存在的电压降问题,进而减少芯片迭代的次数、缩短芯片设计开发时间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的电压降处理方法的流程图;
图2为本发明实施例提供的芯片中存在的电压降问题的示意图;
图3为本发明实施例提供的芯片中存在的电压降问题的另一示意图;
图4为本发明实施例提供的芯片中存在的电压降问题的又一示意图;
图5为本发明实施例提供的电压降处理方法的另一流程图;
图6为本发明实施例提供的电压降处理方法的又一流程图;
图7为本发明实施例提供的电压降处理方法的整体流程示意图;
图8为本发明实施例提供的电压降处理装置的功能模块框图;
图9为本发明实施例提供的电子设备的结构框图。
图标:11-规划模块;12-预布局模块;13-正式布局模块;14-分析模块; 21-处理器;22-存储介质。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
目前主流的电压降分析方法都是在签核(signoff)的最后阶段针对电压降进行具体分析。但是,由于工艺特点,越是底层的金属,电阻越大,电源线也是如此,因此,底层电源网络(power net)的电压降的占比很高。
在低功耗芯片设计中,由于在低功耗芯片中添加了电源关断器件,电源关断器件的电阻非常大,这对于电压降的影响很大。因此,低功耗芯片对于电压降的要求相对更高。
在签核的最后阶段,大部分底层布线资源被信号线等占据、电源关断器件也完成布局,如果在该阶段解决电压降的问题,就需要删除原来位置的信号线,对电源线进行加强,对电源关断器件等布局进行调整。这种方式需要对之前已布局好的底层布线资源进行较大调整、对电源关断器件的选型、位置等进行调整。极大可能造成已经满足要求的时序、物理规则检查等再次出现违例。
有鉴于此,为了解决上述问题,本发明提供一种电压降处理方法,在布局阶段之后即进行电压降检测以及时解决存在的电压降问题,且在布线之后再次进行电压降检测以进一步解决存在的电压降问题。如此,及时发现存在的电压降问题,进而减少芯片迭代的次数、缩短芯片设计开发时间。
图1为本发明实施例提供的电压降处理方法的流程图,该电压降处理方法的执行主体可以为计算机、服务器等设备,在计算机、服务器等中部署有实现本方案的电压降处理方法的程序脚本。如图1所示,该方法可包括:
步骤101,在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息。
步骤102,在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,并根据布局信息进行电源网络的布局。
步骤103,在正式布局阶段,根据布放信息进行各模块的摆放,得到布局后的版图。
步骤104,基于布局后的版图进行第一次电压降测试得到第一测试结果,若第一测试结果不满足第一预设要求,则返回布图规划阶段和预布局阶段以执行至少一次迭代,直至迭代后得到的第一测试结果满足第一预设要求。
步骤105,基于满足第一预设要求下的版图进行时钟树综合及布线得到布线图,基于布线图进行第二次电压降测试得到第二测试结果,若第二测试结果不满足第二预设要求,则返回预布局阶段以执行至少一次迭代,直至迭代后得到的第二测试结果满足第二预设要求。
在芯片设计流程中,主要涉及到的流程节点包括:数据准备阶段-布图规划阶段-布局阶段-时钟树综合阶段-布线阶段-时序验证阶段-迭代修复阶段等。
本实施例中的系统参数和约束参数可于数据准备阶段所获取。其中,系统参数包括门级网表(gate-level netlist)、数据库文件、工艺文件等,约束参数包括时序约束文件(Standard Design Constraints, SDC)等。
门级网表是根据前端设计的实时语言(Real Time Language, RTL)代码所获得,具体地,在获取RTL代码后,后端进行RTL代码综合,将RTL代码通过综合工具转化成门级网表。门级网表包括后端设计中要用到的模块以及模块之间的连接关系。
模块包括宏单元、标准单元和IO单元。宏单元是由相对于逻辑门抽象级别更高的触发器、算术逻辑单元、硬件暂存器等组成的预定义逻辑功能实现单元。这些逻辑单元作为一个宏单元整体被安置在硅片上。标准单元是固化的基础单元,包括如逻辑门、驱动单元、时序单元、运算单元等。IO单元用于连接芯片内部与封装管脚,大致可分为信号IO单元和电源IO单元。
数据库文件主要包括芯片设计中所要用到的硬核(Intelligent Property, IP)的信息,包括如硬核的端口信息、硬核的时序信息和硬核的功耗信息等。硬核是指已经完全设计好并经过验证的模块,这些模块具有固定功能且物理设计已经完成,其设计参数,如尺寸、功耗和性能等,都已预先确定且不可更改。需要说明的是,硬核可以作为一种特殊的宏单元,其与普通的宏单元的区别在于,普通的宏单元具有一些可配置的参数,在设计过程中可修改,而硬核在设计上具有最终性和不可修改性。
工艺文件通常是集成电路制造厂提供的,包括制造工艺的参数,如金属层层数、金属层厚度、金属层间电容、最小金属线间距等。
时序约束文件包括后端设计中所要满足的约束信息,包括时钟信息、伪时钟路径、多时钟周期路径等。
在数据准备阶段获取上述的系统参数和约束参数后,进入下一流程节点的布图规划阶段。在布图规划阶段主要是规划各个模块的布放信息,各个模块的布放信息包括如宏单元、标准单元、IO单元在版图上的排布。在规划各个模块的布放信息时需综合考虑多因素,包括如IO单元的布放应满足芯片封装的要求,且需考虑芯片封装的印刷电板的设计。宏单元的布放应考虑宏单元的功能,且考虑其与其他IO单元或宏单元的交互,以及对标准单元所在区域和芯片整体布局的影响,以避免出现深井、对角等情况。
此外,在布图规划阶段还需进行芯片尺寸规划、电源网络规划等。合理的芯片尺寸直接关系到芯片的成本,若芯片利用率太低会造成成本过高,而若芯片利用率太高又可能导致后期布线失败。在电源网络规划时,可通过电路功耗计算进行规划,使得既能满足芯片正常工作的需求,又不会因为余量过大而占用过多的布线资源。
在完成上述的布图规划后,进入下一流程节点的布局阶段。
本实施例中,将布局阶段划分为预布局阶段和正式布局阶段,其中,预布局阶段主要是进行电源网络的规划以确定电源网络的布局信息,并进行电源网络的布局。在预布局阶段的电源规划信息包括统一电源格式(Unified Power Format, UPF)文件。统一电源格式文件用于指定和模拟低功耗设计指标,包括如电压域、电源网络、电源状态、电源开关以及保留寄存器测量等。
而正式布局阶段主要是结合各个模块的布放信息进行各个模块的摆放。
需要说明的是,预布局阶段和正式布局阶段之间,以及预布局阶段和布图规划阶段之间并没有明确的划分界限,可以根据具体实施场景中相关的需求进行划分。例如,预布局阶段中电源网络的布局信息的确定也可以是在布图规划阶段中执行,预布局阶段和布图规划阶段可以作为一个整体。
在布局完成之后得到布局后的版图,基于布局后的版图进行电压降测试。本实施例中,为了便于区别,将不同阶段所执行的电压降测试及得到的测试结果分别以“第一”、“第二”、“第三”为前缀进行命名。因此,基于布局后的版图进行第一次电压降测试得到第一测试结果。可以采用电源轨道分析(Rail Analysis, RA)工具进行电压降测试。
基于RA工具可以分析得到布局后的版图的第一测试结果,从一个角度出发,第一测试结果包括静态电压降和动态电压降。其中,静态电压降指在稳态条件下(静态状态),当芯片中的电流流过电源线和地线时,由于电源线和地线的电阻,造成电源和地的电压下降。静态电压降产生的原因主要是电源网络的金属连线的分压,由金属连线自身电阻分压造成。静态电压降通常与芯片的静态功耗相关,也与芯片中的电流分布和电源线/地线的布局有关。静态电压降主要考虑电阻效应,用以分析电阻影响。
动态电压降是指在芯片中发生瞬态事件(如瞬时电流变化)时,由于电源线和地线的电阻,造成电源和地的电压瞬时下降。动态电压降通常与芯片中的瞬态功耗相关,如时钟切换、大规模开关瞬态、时序变化等。动态电压降产生的原因是电源在电路开关切换的时候电流波动引起的电压压降,发生在时钟的触发沿。
此外,从另一个角度出发,第一测试结果包括芯片中各个模块上的电压降值以及芯片整体上所有模块的电压降值的均值。具体地,基于布局后的版图进行第一次电压降测试得到布局后的版图中各个模块的电压降值,根据各个模块的电压降值计算得到多个模块的电压降值的均值,基于均值和各模块的电压降值得到第一测试结果。
在获得第一测试结果后,检测第一测试结果是否满足第一预设要求,第一预设要求可根据签核中的相关要求来设置。
具体地,从一个角度出发,分别检测第一测试结果中的静态电压降和动态电压降是否均满足签核中对于静态电压降和动态电压降的要求。若均满足,则可以进入后续的流程节点,若存在其中任意一项不满足,则需要返回上述的布图规划阶段和预布局阶段以执行迭代。
从另一个角度出发,分别检测第一测试结果中各个模块的电压降值是否满足签核中对于单个模块的电压降的要求、多个模块的均值是否满足签核中对于模块整体的电压降的要求。若均满足,则进入后续的流程节点,若存在其中任意一项不满足,则需要返回上述的布图规划阶段和预布局阶段以执行迭代。
其中,迭代的次数为至少一次,具体的次数需基于迭代之后所得到的第一测试结果来决定。所谓的迭代是指返回布图规划阶段和预布局阶段之后,对布图规划阶段所规划的布放信息、预布局阶段所规划的布局信息等进行调整后再执行布局,得到布局后的版图。
由于在布局之后各个模块,包括宏单元、标准单元、IO单元等已经合理地摆放在版图中,因此可以预估版图中电压降是否存在较大的问题。故此,在布局之后即执行第一次电压降测试,从而可以及时发现布局之后版图中所存在的电压降问题,进而对电压降问题进行解决。
在布局之后的版图的电压降测试的第一测试结果满足第一预设要求后,进入后续的流程节点,依次执行时钟树综合和布线。在时钟树综合和布线之后,对芯片中的电压降有进一步地影响,如可能降低芯片中的电压降。
在布线得到布线图之后,再基于RA工具执行第二次电压降测试得到第二测试结果,再判断第二测试结果是否满足第二预设要求。同样地,第二预设要求基于签核中对于电压降的相关要求来设置。
本实施例中,第一预设要求和第二预设要求包括预设电压降,该预设电压降可以是一电压降值,也可以是一电压降范围。第一预设要求中包括第一预设电压降,第二预设要求中包括第二预设电压降,第二预设电压值低于第一预设电压降。其中,第二预设要求相较于第一预设要求关于电压降的要求更为严格。一方面是考虑到由于第一次电压降测试时是针对布局后的版图进行测试,此时,芯片还未进行时钟树综合、布线等处理,芯片实际存在一些电压降问题。因此,将第一预设电压降设置的较高,符合第一次电压降测试时所针对的芯片存在的电压降问题。另一方面,将第一预设电压降设置的较高,符合第一次电压降测试时的电压降规范要求,如此,在第一次电压降测试后布图规划阶段和预布局阶段进行迭代修复时,可以在设置的有限的迭代时长内完成迭代,避免按照传统的于签核最后阶段的电压降要求进行迭代修复所导致的迭代时长超长、迭代次数超多的情况。
此外,在第二次电压降测试时,由于是针对布线后的布线图进行电压降测试,此时芯片已基本完成设计,电压降相较于第一次电压降测试时所针对的版图而言,一些电压降问题已得到解决。因此,将第二预设电压降设置的较低,如此,可以保障最终得到的芯片中的电压降能够满足要求。
本实施例中,针对布局后的版图按照第一预设要求进行电压降检测、针对布线后的布线图按照第二预设要求进行电压降检测,而第一预设要求和第二预设要求对于电压降的要求不同。也就是说,在不同的检测阶段采用不同的电压降要求,可以保障在符合芯片设计的各个阶段实际所存在的电压降问题的情况下,避免迭代修复时长过长的问题,且保障最终得到的芯片的电压降能够满足要求。
本实施例中,第二测试结果包括的具体信息与第一测试结果包括的具体信息一致、判断第二测试结果是否满足第二预设要求的方式与判断第一测试结果是否满足第一预设要求的方式一致,对此本实施例在此不作赘述。
若第二测试结果不满足第二预设要求,则返回上述预布局阶段以进行迭代,具体地,返回预布局阶段对电源网络的布局信息等进行调整。迭代的次数为一个或多个,直至迭代之后得到的第二测试结果满足第二预设要求为止。
至此,可以得到电压降测试的第二测试结果满足第二预设要求的布线图。在此基础上,再执行后续的如时序验证阶段、迭代修复阶段等。
本实施例所提供的电压降处理方法,在正式布局阶段之后即进行电压降检测以及时解决存在的电压降问题,且在布线之后再次进行电压降检测以进一步解决存在的电压降问题。如此,及时发现存在的电压降问题,进而减少芯片迭代的次数、缩短芯片设计开发时间。
相比现有技术而言,可以避免在签核的最后阶段才进行电压降测试所导致的由于需要对已布局好的底层布线资源进行较大调整、对各种器件的选型、位置等进行调整而造成已经满足要求的时序、物理规则检查等再次出现违例。并且,由于在签核的最后阶段进行电压降测试,基于测试结果进行调整时,由于此时芯片已完成布局、布线等,而器件之间、布线之间相互是具有关联的。在调整布线资源、器件等时对芯片上的其他部分随之也会带来影响。因此,从性能和调整工作量等维度的综合考量,为了避免调整工作量过大、调整随之带来的其他问题,可能会降低对于电压降的要求,进而导致最终芯片的电压降可能并非一个较优的值。例如,动态电压降达到12%、静态电压降达到4%即确定满足要求。
而本实施例中,由于在布局完成后即对布局后的版图进行电压降测试,并基于测试结果进行调整。此时芯片还未进行布线,在对芯片上的器件进行调整时,调整动作随之所带来的对其他部分的影响较小,因此,此时可以以如何降低电压降为首要任务。因此,得到的最终芯片的电压降可以处于一个较优的值。例如,动态电压降达到10%、静态电压降达到3%时确定满足要求。
可见,相对于现有技术而言,本实施例中的方案可以减少芯片迭代的次数、缩短芯片设计开发时间,并且,最终得到的芯片的电压降更低,具有更加优良的电压降。
本实施例中,获取的约束参数包括时序约束文件,此外,还包括数据流走向信息和电源接点(power pad)的位置信息。在上述布图规划阶段中,各个模块的布放应满足数据流走向要求,模块与电源接点的相对位置关系也将影响到芯片整体的电压降。
基于此,在上述布图规划阶段,根据获取的系统参数和约束信息,确定各个模块的布放信息,可以通过以下方式实现:
在布图规划阶段,根据获取的系统参数、数据流走向信息和电源接点的位置信息对各个模块进行规划得到布放信息,其中,与电源接点连接的模块规划在电源接点的预设邻近位置。
本实施例中,在规划各个模块的布放信息时,与各个电源接点连接的模块应尽可能靠近该电源接点布放,可在电源接点的预设邻近位置布放模块。所述的预设邻近位置可以指与电源接点的距离小于预设距离的位置。
此外,宏单元、标准单元的布放要满足数据流走向要求,即宏单元、标准单元要跟随对应的IO单元的位置进行布放。例如,某个宏单元的输出信号通过某个IO单元对外通信,则该宏单元应布放在紧靠该IO单元的位置,以避免数据或信号传输距离过长,导致后端设计中的绕线出现拥塞、面积过大以及时序违例等问题。
在芯片设计中,电源网络的设计对于电压降的影响非常大,尤其是在低功耗芯片设计中。低功耗芯片中,模块包括电源关断器件,电源关断器件的电阻非常大,进而对电压降的影响很大。因此,低功耗芯片对电压降具有相对更高的要求,在低功耗芯片中电源网络的设计非常重要。
基于此,本实施例中,在上述预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,可以通过以下方式实现:
在预布局阶段,根据获取的电源规划信息确定版图中的多个电路区域,其中,各电路区域对应不同电压域。对各电路区域添加不同的电源线。布局各电源关断器件与各电路区域之间的电源连接关系,并布局不同电源关断器件之间的逻辑连接关系。
本实施例中,不同的电路区域指对应不同电压域的区域。在芯片中不同区域基于其功能、性能要求及功耗优化目标等不同,对于电压有不同要求。例如,处理器核心区域,通常需要较高的电压以保持较快的切换速度和处理能力,输入/输出区域,可能需要与外部设备兼容的特定电压水平等。通过多电压域设计,可以为每个电压域提供适合其特定需求的电压,从而优化整体的能效和性能。实施时,可以基于获取的统一电源格式文件以定义和管理不同的电压域。
对于对应不同电压域的电路区域,所需布局的电源线也相应不同,因此,对各电路区域添加不同的电源线。该过程中主要从电源线的宽度、层间布局和过孔数量等进行电源线的设计。
具体地,不同电压域承载的电流可能不同,因此,根据不同电压域的电流大小设计电源线的宽度。如,较大的电流需要更宽的电源线以降低电阻和电压降。
在芯片包括多层金属层时,不同电压域的电源线可能需要分布在不同的金属层上,以减少层间耦合、提高电源的完整性。
电源线在穿越不同金属层时需要使用过孔,过孔的数量和布局需要根据电流大小和电源线的宽度来确定。
除了以上的电源线的布局之外,还需布局电源关断器件与各个电路区域之间的电源连接关系,并且布局不同电源关断器件之间的逻辑连接关系。这些电源连接关系和逻辑连接关系将直接影响到芯片的电压降。本实施例中,该步骤可以通过以下方式实现:
将各电源关断器件的第一电源引脚连接至各电路区域中的常开区、将各电源关断器件的第二电源引脚连接至各电路区域中的关断区。其中,第一电源引脚为控制常开的电源引脚,第二电源引脚为连接关断区电源网络的电源引脚。将所有电源关断器件控制是否关断的引脚进行串联。
电源关断器件一般包括四个引脚:第一电源引脚(VDD)、第二电源引脚(VDDG)、第一使能引脚(IN)、第二使能引脚(OUT)。其中,第一电源引脚连接至各个电路区域的常开区、第二电源引脚连接至各个电路区域的关断区。
第一使能引脚和第二使用引脚为控制是否关断的引脚,在包括多个电源关断器件的情况下,根据多个电源关断器件的排放位置,将前一个电源关断器件的第二使能引脚与后一个电源关断器件的第一使能引脚连接,以将多个电源关断器件控制是否关断的引脚进行串联。通过该逻辑连接关系可以实现基于控制信号的统一控制。
除了上述的电源网络规划对电压降具有较大影响之外,电源关断器件的类型、倍数,电源关断器件之间的布放间距也可能对电压降产生影响。因此,在布图规划阶段中,还需对电源关断器件的类型、倍数以及布放间距等进行规划。
在完成上述的电源网络的布局信息规划后,在正式布局阶段根据各个模块的布放信息进行各个模块的摆放,得到布局后的版图。
本实施例中,可以利用布局布线 (Placement and Routing, PR)工具实现局部摆放,在该过程中,可基于翻转时间(transition time)、单元密度(density)、拥塞(congestion)等指标进行检查。如果芯片尺寸较小、密度过大、局部区域或硬核附近的拥塞严重等,极易出现电压降问题。因此,需要合理规划区域内模块的数量,如果数量过多,可以沿着边界依次顺沿排开来摆放,并对应的优化调整电源接点的位置。
在传统的电压降分析方法,需要在布线结束之后再将数据读入到RA工具中分析电压降。这种方式中,若发现电压降问题,则迭代的流程需要从布图规划阶段直至布线阶段,迭代的周期非常长。
基于此,本实施例中,在上述完成布局得到布局后的版图后,即进行第一次电压降测试得到第一测试结果。若第一测试结果不满足第一预设要求,则返回布图规划阶段和预布局阶段以执行至少一次迭代。如此,可以及时发现电压降问题,并缩短迭代周期长度。本实施例中,返回布图规划阶段和预布局阶段以执行至少一次迭代,可以通过以下方式实现:
返回布图规划阶段和预布局阶段,基于第一调整策略对布放信息、电源线的布局信息进行至少一次迭代调整。
其中,第一调整策略包括如下至少一项:对各模块的选取进行调整、对各模块的布放位置进行调整、对电源网络中电源线的宽度进行调整、对电源线的间距进行调整。
在布局后的版图不满足电压降要求的情况下,可以返回以对布图规划阶段和预布局阶段中的布放信息、布局信息进行分析。例如,分析是否是由于硬核等的布放位置不合理,导致电源网络不够强壮因此电压降不满足要求。又如,分析是否是由于电源关断器件的倍数太小、电阻过大导致关断区存在天然的电压降。又如,分析是否是电源网络的规划存在问题导致电压降不满足要求等。基于得到的分析结果,进行相应调整。
本实施例中,模块包括去偶电容器件和缓冲器,在对各个模块的选取进行调整时,采用的方式可以包括以下至少一项:
1、增加选取的模块中的去耦电容器件的数量。
在芯片中,去耦电容器件起到电池的作用,满足驱动电路的电流变化的基础上,增加布放的去耦电容器件的数量可避免模块相互间的耦合干扰,可以达到降低动态电压降的效果。
2、将选取的模块中的标准单元替换为倍数更小的标准单元和/或将选取的模块中的低阈值器件替换为高阈值器件。
由于标准单元的倍数越小则功耗越低,因此,在芯片设计时序满足要求的情况下,可以将芯片中的标准单元替换为倍数更小的标准单元。此外,由于标准单元的阈值电压越低,则速度越快、功耗越大,反之则功耗越小。因此,可以将标准单元中低阈值器件替换为高阈值器件,从而降低功耗,以达到降低电压降的效果。
3、在电源线的长度超过预设长度的区域,选取缓冲器以插入该区域。
由于电源线上本身存在电阻,若电源线过长,则电阻过大,芯片的负载越大。芯片的负载越大则芯片的动态功耗越大,而动态功耗与动态电压降正相关,因此,动态电压降越大。故此,针对电源线过长的区域,可以通过插入缓冲器以切断过长的电源线,以达到降低负载的目的,进而达到减低局部的动态电压降的效果。
此外,本实施例中,模块还包括时钟器件和电源关断器件,在对各个模块的布放位置进行调整时,采用的方式可以包括以下至少一项:
1、针对时钟器件聚集的区域,采用手动调整方式或单元填充方法调整时钟器件的布放,以使调整后的时钟器件之间的间距满足预设间距要求。
由于时钟器件的翻转率很高,若芯片上时钟器件聚集则可能导致局部区域的电压降过高,因此,需避免时钟器件在某一区域聚集。若出现时钟器件在某一区域内聚集的情况,若聚集的时钟器件的数量不多,则可以采用手动调整方式以将部分时钟器件移动到其他区域。若聚集的时钟器件的数量较多,则可以采用单元填充(cell padding)方法来调整。单元填充方法可以将时钟器件按照一定的间距推开,从而使得时钟器件之间的间距满足预设间距要求。
2、减小电源关断器件之间的间距。
电源关断器件之间的间距减小,意味着电源线和地线的电阻会降低,而电阻与导线的长度成正比,电阻降低可以减少电流通过的电压损失,即降低电压降。
此外,本实施例中,电源线包括电源环线和电源条线,电源环线位于芯片的边缘区域,例如,若芯片为四边形结构,则电源环线位于该四边形结构的四周。电源条线位于芯片的边缘区域所围设的中心区域。
在对电源线的宽度进行调整时,可以增加电源环线的宽度。由于电源接点连接至电源环线,而电源环线连接电源条线。增加电源环线的宽度可以降低电流路径上的电阻,从而达到降低电压降的效果。
此外,本实施例中,还可以通过调整各金属层上的电源线来达到降低电压降的目的。例如,在全局的电压降过高的情况下,可以将高层金属层中的电源线的宽度增大、将电源线之间的间距减少。此外,低层金属层也可以布放一些电源线,而避免过多采用打孔将电源线由高层金属层引到低层金属层的方式,因为过孔本身存在较大电阻,会导致电压降的增大。因此,在低层金属层适当布放电源线可以一定程度降低电压降。
此外,还可以考虑采用增加电源接点的数量的方式来降低电压降。若增加更多的电源接点,则可以更为合理地布局电源线,从而达到降低电压降的目的。
通常地,上述调整过程涉及到多次迭代,在迭代后得到的第一测试结果满足第一预设要求时,可以进入后续的时钟树综合阶段和布线阶段。
请结合参阅图2,为本发明实施例提供的芯片中存在的电压降问题的示意图,图2中示出了在进行布图规划阶段、预布局阶段和正式布局阶段后,芯片中所存在的电压降问题。其中,芯片的左右两方和上方的区域为硬核模块,由于未做电源连接因此电压降基本为99.99%。本实施例中,主要对芯片中间标准单元摆放的核心区域进行研究。
由图2可见,中间核心区域的关断区存在大面积的电压降严重违例(如电压降大于第一设定值时确定为电压降严重违例)、小面积的电压降轻微违例(如电压降大于第二设定值且小于第一设定值时确定为电压降轻微违例)。其中,在电压降轻微违例的区域内可能还存在零散的电压降严重违例情形(图2中电压降轻微违例的区域内的黑点)。
如果按照传统的电压降处理方式,在签核最后阶段再处理电压降问题,如图2中所示的情形下,需要大范围进行迭代调整,在迭代周期和设计时长均存在较大成本。
根据本实施例所提供的方案,可以在正式布局阶段之后,即发现如图2中所示的情形。在此基础上,在发现存在电压降严重违例的情况下,可返回布图规划阶段和预布局阶段进行调整,包括如调整关断区、常开区的电源网络的宽度、密度,调整电源关断器件的倍数、类型、间距等,并在迭代数轮后可达到如图3中所示的情形。图3为本发明实施例提供的芯片中存在的电降压问题的另一示意图。由图3中所示,相较于图2中所存在的大面积的电压降严重违例的情形已基本得到解决,改善为电压降轻微违例的情形。此外,原本存在于图2中的电压降轻微违例的区域改善为电压降满足要求(如电压降小于第二设定值确定为电压降满足要求)的情形。
本实施例中,在上述得到满足第一预设要求的布线图后,进入后续的时钟树综合处理和布线处理。在时钟树综合处理和布线处理时,可确定每个阶段的处理中,是否满足拥塞、密度、面积、电源、设计规则违例、设计规则约束以及时序指标等。
在完成布线得到布线图后,再对布线图进行第二次电压降测试得到第二测试结果,若第二测试结果不满足第二预设要求,则返回预布局阶段进行调整。在返回预布局阶段进行调整时,主要针对规划的电源网络的布局信息进行调整。该过程可能涉及到多次迭代,直至迭代后得到的第二测试结果满足第二预设要求为止。
在上述基础上,基于满足第二预设要求的布线图所得到的电压降问题的示意图如图4中所示。图4为本发明实施例提供的芯片中存在的电压降问题的又一示意图。相较于图3中所示所存在的电压降轻微违例的情形,此时,已改善为电压降满足要求的情形。
在本实施例中,在布线设计完成后,电压降已基本收敛,可大大提升数字后端工程师的工作效率。
在布线过程中可能引起芯片中部分区域出现设计规则违例等,因此,需要执行时序修复。而在时序修复过程中,可能导致引起少数的电压降违例。基于此考虑,请参阅图5所示的本实施例提供的电压降处理方法的另一流程图,本实施例所提供的电压降处理方法还可包括以下步骤:
步骤106,基于时序分析工具对满足第二预设要求的布线图相应的网表进行时序分析,获得时序分析结果。
步骤107,若时序分析结果不满足预设时序要求,则基于获取的修复信息对布线图相应的网表进行修改,直至修改后得到的时序分析结果满足预设时序要求。
步骤108,基于满足预设时序要求的布线图进行第三次电压降测试得到第三测试结果,若第三测试结果不满足第三预设要求,则基于获取的调整信息对布线图进行调整,直至调整后得到的第三测试结果满足第三预设要求。
本实施例中,利用时序分析工具对上述获得的布线图相应的网表进行时序分析,以检测设计中的时序路径,验证信号的建立时间和保持时间是否满足时序要求,以判断是否存在这类时序问题。
若出现上述时序问题,表明时序分析结果不满足预设时序要求,则获取修复信息,该修复信息可以是时序分析工具生成的、也可以是工程师输入的。基于时序分析工具并根据修复信息对布线图相应的网表进行修改,直至得到的时序分析结果满足预设时序要求为止。
在时序满足要求的情况下,由于时序修复可能导致引起电压降问题,因此,对时序修复后的布线图进行第三次电压降测试得到第三测试结果。在第三测试结果不满足第三预设要求时,基于获得的调整信息对布线图进行调整。
由于在经过上述两次的电压降测试以及迭代后,电压降问题已基本解决,时序修复可能仅导致少数的电压降问题,因此,此时无需返回进行迭代,根据工程师输入的调整信息进行局部调整即可。
如此,通过上述的三次电压降检测以及调整,芯片中已基本不存在电压降违例。为了得到芯片最终精准的电压降且进行直观展示,请参阅图6所示的本实施例提供的电压降处理方法的又一流程图,本实施例所提供的电压降处理方法还可包括以下步骤:
步骤109,基于满足第三预设要求下的布线图提取网表的标准延时信息文件,并基于标准延时信息文件进行逻辑仿真得到信号变化信息。
步骤110,根据信号变化信息计算得到芯片最终的电压降。
本实施例中,可利用仿真软件执行逻辑仿真,得到的信号变化信息可以信号变化记录(Value Change Dump, VCD)波形文件形式呈现。具体地,在仿真软件中使用软件提供的系统函数或命令指定VCD波形文件的生成。后续可以利用波形查看工具打来VCD文件并查看波形。
VCD波形文件中记录了仿真过程中各个节点的信号变化信息,主要包括如逻辑电平变化信息、信号边沿变化信息、时钟信号变化信息、电源和地信号变化信息等。这些信号变化信息可以体现芯片中的动态功耗,而电压降与功耗密切相关。因此,可以基于信号变化信息并利用电源完整性分析工具,分析获得最终的电压降。
此外,本实施例中,可基于满足第三预设要求的布线图得到相应的标准延迟信息(Standard Delay Format, SDF)文件以及静态时序分析数据(Static Timing AnalysisTiming, STA Timing)文件,将SDF文件和STA Timing文件读入RA工具。RA工具可基于SDF文件和STA Timing文件得到芯片的精准的电压降。
本实施例中,通过生成VCD波形文件的方式,可在获得精准的电压降的同时,以直观展示电压降情况。芯片最终的电压降可以满足签核阶段对于电压降的相关要求。
为了使本领域技术人员对本实施例所提供的电压降处理方法的整体流程具有更清晰的认识,以下结合图7中所示的电压降处理方法的整体流程示意图,对本实施例提供的电压降处理方法的整体流程进行介绍。
步骤201,在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息。
步骤202,在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,并根据布局信息进行电源网络的布局。
步骤203,在正式布局阶段,根据布放信息进行各个模块的摆放,得到布局后的版图。
步骤204,基于布局后的版图进行第一次电压降测试得到第一测试结果。
步骤205,检测第一测试结果是否满足第一预设要求,若不满足,返回上述步骤202,若满足,进入步骤206。
步骤206,基于满足第一预设要求下的版图进行时钟树综合及布线得到布线图。
步骤207,基于布线图进行第二次电压降测试得到第二测试结果。
步骤208,检测第二测试结果是否满足第二预设要求,若不满足,返回上述步骤202,若满足,进入步骤209。
步骤209,基于时序分析工具对满足第二预设要求的布线图相应的网表进行时序分析,获得时序分析结果。
步骤210,检测时序分析结果是否满足预设时序要求,若不满足,执行步骤211,若满足,进入步骤212。
步骤211,基于获取的修复信息对布线图相应的网表进行修改,直至修改后得到的时序分析结果满足预设时序要求。
步骤212,基于满足预设时序要求的布线图进行第三次电压降测试得到第三测试结果。
步骤213,检测第三测试结果是否满足第三预设要求,若不满足,执行步骤214,若满足,进入步骤215。
步骤214,基于获取的调整信息对布线图进行调整,直至调整后得到的第三测试结果满足第三预设要求。
步骤215,基于满足第三预设要求下的布线图提取网表的标准延时信息文件,基于标准延时信息文件进行逻辑仿真得到信号变化信息。
步骤216,根据信号变化信息计算得到芯片最终的电压降。
本实施例所提供的电压降处理方法,在数字后端实现过程中,从设计前期开始便不断检测和迭代优化电压降。通过调整布图规划中的布放信息、预布局阶段中的电源网络规划信息等,从而实现在设计进程中使得电压降收敛的目的。
通过在正式布局之后,即进行电压降检测,以提前预估电压降问题,此时返回迭代调整布图规划等,对设计的影响小、迭代周期短,能够快速、准确地定位和解决电压降问题。
在布线之后,再次分析电压降,再次预估电压降问题,进而返回调整电源网络规划等,使得电压降达到要求。如此,可以减少芯片迭代的次数、缩短芯片设计开发时间。
下述对用以执行本申请所提供的电压降处理方法的装置、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
图8为本申请实施例提供的电压降处理装置的功能模块框图,该电压降处理装置实现的功能对应上述方法执行的步骤。该装置可以理解为上述的计算机设备或者服务器,或服务器的处理器,也可以理解为独立于上述服务器或处理器之外的在服务器控制下实现本申请功能的组件,如图8所示,该装置可包括:规划模块11、预布局模块12、正式布局模块13和分析模块14。
规划模块11,用于在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息;
预布局模块12,用于在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,并根据布局信息进行所述电源网络的布局;
正式布局模块13,用于在正式布局阶段,根据布放信息进行各模块的摆放,得到布局后的版图;
分析模块14,用于基于布局后的版图进行第一次电压降测试得到第一测试结果,若第一测试结果不满足第一预设要求,则返回布图规划阶段和预布局阶段以执行至少一次迭代,直至迭代后得到的第一测试结果满足第一预设要求;
分析模块14,还用于基于满足第一预设要求下的版图进行时钟树综合及布线得到布线图,基于布线图进行第二次电压降测试得到第二测试结果,若第二测试结果不满足第二预设要求,则返回预布局阶段以执行至少一次迭代,直至迭代后得到的第二测试结果满足第二预设要求。
作为一种可能的实现方式,分析模块14还可用于:
基于时序分析工具对满足第二预设要求的布线图相应的网表进行时序分析,获得时序分析结果;
若时序分析结果不满足预设时序要求,则基于获取的修复信息对布线图相应的网表进行修改,直至修改后得到的时序分析结果满足预设时序要求;
基于满足预设时序要求的布线图进行第三次电压降测试得到第三测试结果,若第三测试结果不满足第三预设要求,则基于获取的调整信息对布线图进行调整,直至调整后得到的第三测试结果满足第三预设要求。
作为一种可能的实现方式,分析模块14还可用于:
基于满足第三预设要求下的布线图提取网表的标准延时信息文件,并标准延期信息文件进行逻辑仿真得到信号变化信息;
根据信号变化信息计算得到芯片最终的电压降。
作为一种可能的实现方式,约束参数包括数据流走向信息和电源接点的位置信息,规划模块11具体可以用于:
在布图规划阶段,根据获取的系统参数、数据流走向信息和电源接点的位置信息对各个模块进行规划得到布放信息,其中,与电源接点连接的模块规划在电源接点的预设邻近位置。
作为一种可能的实现方式,分析模块14具体可以用于:
基于布局后的版图进行第一次电压降测试得到布局后的版图中各个模块的电压降值;
根据各模块的电压降值计算得到多个模块的电压降值的均值,基于均值和各模块的电压降值得到第一测试结果。
作为一种可能的实现方式,模块包括电源关断器件,预布局模块12具体可以用于:
在预布局阶段,根据获取的电源规划信息确定版图中的多个电路区域,其中,各电路区域对应不同电压域;
对各电路区域添加不同的电源线;
布局各电源关断器件与各电路区域之间的电源连接关系,并布局不同电源关断器件之间的逻辑连接关系。
作为一种可能的实现方式,预布局模块12具体可以用于:
将各电源关断器件的第一电源引脚连接至各电路区域中的常开区、将各电源关断器件的第二电源引脚连接至各电路区域中的关断区,其中,第一电源引脚为控制常开的电源引脚,第二电源引脚为连接关断区电源网络的电源引脚;
将所有电源关断器件控制是否关断的引脚进行串联。
作为一种可能的实现方式,分析模块14具体可以用于:
返回布图规划阶段和预布局阶段,基于第一调整策略对布放信息、电源网络的布局信息进行至少一次迭代调整;
其中,第一调整策略包括如下至少一项:对各所述模块的选取进行调整、对各所述模块的布放位置进行调整、对所述电源网络中电源线的宽度进行调整、对所述电源线的间距进行调整。
作为一种可能的实现方式,所述模块包括去耦电容器件和缓冲器,所述分析模块14具体可以用于:
增加选取的模块中的去耦电容器件的数量;
将选取的模块中的标准单元替换为倍数更小的标准单元和/或将选取的模块中的低阈值器件替换为高阈值器件;
在电源线的长度超过预设长度的区域,选取缓冲器以插入所述区域。
作为一种可能的实现方式,所述模块包括时钟器件和电源关断器件,所述分析模块14具体可以用于:
针对时钟器件聚集的区域,采用手动调整方式或单元填充方法调整所述时钟器件的布放,以使调整后的时钟器件之间的间距满足预设间距要求;
减小电源关断器件之间的间距。
作为一种可能的实现方式,所述电源线包括电源环线和电源条线,所述电源环线位于芯片的边缘区域,所述电源条线位于芯片的边缘区域所围设的中心区域,所述分析模块14具体可以用于:
增加所述电源环线的宽度。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如一个或多个特定集成电路(Application Specific Integrated Circuit, ASIC),或,一个或多个微处理器 (digital signal processor, DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array, FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器 (CentralProcessing Unit, CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip, SOC)的形式实现。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个模块。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。
图9为本申请实施例提供的电子设备的结构框图,该电子设备可以是具备数据处理功能的计算设备。该电子设备包括处理器21和存储介质22。
存储介质22用于存储程序,处理器21调用存储介质22存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
处理器21可以是通用处理器,例如中央处理器 (CPU)、数字信号处理器 (DigitalSignal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。处理器21可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器21中的硬件及软件模块组合执行完成。
存储介质22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储介质22可以包括至少一种类型的存储介质22,例如可以包括闪存、硬盘、多媒体卡、卡型存储介质、随机访问存储介质 (RandomAccessMemory, RAM)、静态随机访问存储介质 (Static Random Access Memory, SRAM)、可编程只读存储介质 (Programmable Read Only Memory, PROM)、只读存储介质 (ReadOnly Memory, ROM)、带电可擦除可编程只读存储介质 (Electrically ErasableProgrammable Read-Only Memory, EEPROM)、磁性存储介质、磁盘、光盘等。存储介质22是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储介质22还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种电压降处理方法,其特征在于,所述方法包括:
在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息,其中,所述模块包括电源关断器件,在所述布图规划阶段中对所述电源关断器件的类型、倍数以及布放间距进行规划;
在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,并根据所述布局信息进行所述电源网络的布局,所述电源规划信息包括统一电源格式文件,所述统一电源格式文件用于指定和模拟低功耗设计指标;
在正式布局阶段,根据所述布放信息进行各所述模块的摆放,得到布局后的版图;
基于布局后的版图进行第一次电压降测试得到第一测试结果,若所述第一测试结果不满足第一预设要求,则返回所述布图规划阶段和所述预布局阶段以执行至少一次迭代,直至迭代后得到的第一测试结果满足所述第一预设要求;
基于满足所述第一预设要求下的版图进行时钟树综合及布线得到布线图,基于所述布线图进行第二次电压降测试得到第二测试结果,若所述第二测试结果不满足第二预设要求,则返回所述预布局阶段以执行至少一次迭代,直至迭代后得到的第二测试结果满足所述第二预设要求;
所述第一预设要求包括第一预设电压降,所述第二预设要求包括第二预设电压降,所述第二预设电压降低于所述第一预设电压降;
所述在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息的步骤,包括:
在预布局阶段,根据获取的电源规划信息确定版图中的多个电路区域,其中,各所述电路区域对应不同电压域,对各所述电路区域添加不同的电源线;
将各所述电源关断器件的第一电源引脚连接至各所述电路区域中的常开区、将各所述电源关断器件的第二电源引脚连接至各所述电路区域中的关断区,其中,所述第一电源引脚为控制常开的电源引脚,所述第二电源引脚为连接关断区电源网络的电源引脚,将所有电源关断器件控制是否关断的引脚进行串联;
所述返回所述布图规划阶段和所述预布局阶段以执行至少一次迭代的步骤,包括:
返回所述布图规划阶段和所述预布局阶段,基于第一调整策略对所述布放信息、所述电源网络的布局信息进行至少一次迭代调整;其中,所述第一调整策略包括对所述电源网络中电源线的宽度进行调整;
所述电源线包括电源环线和电源条线,所述电源环线位于芯片的边缘区域,所述电源条线位于芯片的边缘区域所围设的中心区域;对所述电源线的宽度进行调整的步骤,包括:增加所述电源环线的宽度;
所述方法还包括:
基于时序分析工具对满足所述第二预设要求的布线图相应的网表进行时序分析,获得时序分析结果;若所述时序分析结果不满足预设时序要求,则基于获取的修复信息对所述布线图相应的网表进行修改,直至修改后得到的时序分析结果满足所述预设时序要求;基于满足所述预设时序要求的布线图进行第三次电压降测试得到第三测试结果,若所述第三测试结果不满足第三预设要求,则基于获取的调整信息对所述布线图进行调整,直至调整后得到的第三测试结果满足所述第三预设要求。
2.根据权利要求1所述的电压降处理方法,其特征在于,所述方法还包括:
基于满足所述第三预设要求下的布线图提取网表的标准延时信息文件,并基于所述标准延时信息文件进行逻辑仿真得到信号变化信息;
根据所述信号变化信息计算得到芯片最终的电压降。
3.根据权利要求1所述的电压降处理方法,其特征在于,所述约束参数包括数据流走向信息和电源接点的位置信息;
所述在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息的步骤,包括:
在布图规划阶段,根据获取的系统参数、数据流走向信息和电源接点的位置信息对各个模块进行规划得到布放信息,其中,与所述电源接点连接的模块规划在所述电源接点的预设邻近位置。
4.根据权利要求1所述的电压降处理方法,其特征在于,所述基于布局后的版图进行第一次电压降测试得到第一测试结果的步骤,包括:
基于布局后的版图进行第一次电压降测试得到所述布局后的版图中各个模块的电压降值;
根据各所述模块的电压降值计算得到多个所述模块的电压降值的均值,基于所述均值和各所述模块的电压降值得到所述第一测试结果。
5.根据权利要求1-4任意一项所述的电压降处理方法,其特征在于,所述第一调整策略还包括如下至少一项:对各所述模块的选取进行调整、对各所述模块的布放位置进行调整、对所述电源线的间距进行调整。
6.根据权利要求5所述的电压降处理方法,其特征在于,所述模块包括去耦电容器件和缓冲器;
所述对各所述模块的选取进行调整的步骤,包括以下至少一项:
增加选取的模块中的去耦电容器件的数量;
将选取的模块中的标准单元替换为倍数更小的标准单元和/或将选取的模块中的低阈值器件替换为高阈值器件;
在电源线的长度超过预设长度的区域,选取缓冲器以插入所述区域。
7.根据权利要求5所述的电压降处理方法,其特征在于,所述模块包括时钟器件和电源关断器件;
所述对各所述模块的布放位置进行调整的步骤,包括以下至少一项:
针对时钟器件聚集的区域,采用手动调整方式或单元填充方法调整所述时钟器件的布放,以使调整后的时钟器件之间的间距满足预设间距要求;
减小电源关断器件之间的间距。
8.一种电压降处理装置,其特征在于,用于实现权利要求1-7任意一项所述的电压降处理方法,所述装置包括:
规划模块,用于在布图规划阶段,根据获取的系统参数和约束参数,确定各个模块的布放信息,其中,所述模块包括电源关断器件,在所述布图规划阶段中对所述电源关断器件的类型、倍数以及布放间距进行规划;
预布局模块,用于在预布局阶段,根据获取的电源规划信息确定电源网络的布局信息,并根据所述布局信息进行所述电源网络的布局;
正式布局模块,用于在正式布局阶段,根据所述布放信息进行各所述模块的摆放,得到布局后的版图;
分析模块,用于基于布局后的版图进行第一次电压降测试得到第一测试结果,若所述第一测试结果不满足第一预设要求,则返回所述布图规划阶段和所述预布局阶段以执行至少一次迭代,直至迭代后得到的第一测试结果满足所述第一预设要求;
所述分析模块,还用于基于满足所述第一预设要求下的版图进行时钟树综合及布线得到布线图,基于所述布线图进行第二次电压降测试得到第二测试结果,若所述第二测试结果不满足第二预设要求,则返回所述预布局阶段以执行至少一次迭代,直至迭代后得到的第二测试结果满足所述第二预设要求;
所述第一预设要求包括第一预设电压降,所述第二预设要求包括第二预设电压降,所述第二预设电压降低于所述第一预设电压降。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以实现如权利要求1-7任意一项所述的电压降处理方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时以实现如权利要求1-7任意一项所述的电压降处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411036390.8A CN118569189B (zh) | 2024-07-31 | 2024-07-31 | 电压降处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411036390.8A CN118569189B (zh) | 2024-07-31 | 2024-07-31 | 电压降处理方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118569189A CN118569189A (zh) | 2024-08-30 |
CN118569189B true CN118569189B (zh) | 2025-01-28 |
Family
ID=92478623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411036390.8A Active CN118569189B (zh) | 2024-07-31 | 2024-07-31 | 电压降处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118569189B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4769687B2 (ja) * | 2006-10-30 | 2011-09-07 | 富士通セミコンダクター株式会社 | タイミング検証方法、タイミング検証装置及びタイミング検証プログラム |
CN112100959A (zh) * | 2020-09-21 | 2020-12-18 | Oppo广东移动通信有限公司 | 基于eda工具的时序分析方法、装置及存储介质 |
CN116995074A (zh) * | 2023-09-15 | 2023-11-03 | 声龙(新加坡)私人有限公司 | 一种IR Drop处理方法及装置和芯片 |
CN117807951A (zh) * | 2023-12-15 | 2024-04-02 | 成都海光集成电路设计有限公司 | 一种用于芯片的电压降风险识别方法及相关装置 |
CN118395932A (zh) * | 2024-03-15 | 2024-07-26 | 西南科技大学 | 一种基于数字芯片的压降分析方法及优化方法 |
CN118171624B (zh) * | 2024-05-13 | 2024-08-13 | 深圳市电科星拓科技有限公司 | 一种电路布局方法、系统、半导体芯片及电子设备 |
-
2024
- 2024-07-31 CN CN202411036390.8A patent/CN118569189B/zh active Active
Non-Patent Citations (2)
Title |
---|
宋廷强 ; 周艳平,刘川来.基于布局规划的电源分布网络设计.青岛科技大学学报(自然科学版),第02期.2004,正文第179-188页. * |
王仁平 ; 于映.利用Astro-Rail分析FFT芯片的功耗和电源完整性.电子设计应用.2007,正文第74-77页. * |
Also Published As
Publication number | Publication date |
---|---|
CN118569189A (zh) | 2024-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950226B (zh) | 芯片后端设计和版图设计方法、工具、芯片及存储介质 | |
CN108830008B (zh) | 一种标准单元库全模型的测试方法及测试系统 | |
CN109783984B (zh) | 一种适用于cpu核频率提升的布局布线方法 | |
US10418354B2 (en) | Integrated circuit and computer-implemented method of manufacturing the same | |
CN104331546B (zh) | 一种航天器用数字定制集成电路后端版图设计评估方法 | |
CN112100959A (zh) | 基于eda工具的时序分析方法、装置及存储介质 | |
US9171124B2 (en) | Parasitic extraction in an integrated circuit with multi-patterning requirements | |
TWI472938B (zh) | 在積體電路的電力網路中自動降低堆疊通孔的方法 | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
US9740815B2 (en) | Electromigration-aware integrated circuit design methods and systems | |
JP2004342100A (ja) | 集積回路の物理設計用のツールフロープロセス | |
US8719752B1 (en) | Hierarchical crosstalk noise analysis model generation | |
CN112069763B (zh) | 修正电路的方法 | |
US7840918B1 (en) | Method and apparatus for physical implementation of a power optimized circuit design | |
CN117892681B (zh) | 修复电压降的方法、电子设备、存储介质和程序产品 | |
US10445457B1 (en) | Methods, systems, and articles of manufacture for implementing a physical design of an electronic design with DFM and design specification awareness | |
CN113051859B (zh) | 用于设计上下文感知电路的方法 | |
JP2010257164A (ja) | 半導体集積回路装置の設計方法およびプログラム | |
KR102717096B1 (ko) | 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법 | |
Li et al. | iPD: An Open-source intelligent Physical Design Toolchain | |
CN118839659A (zh) | 一种数字芯片噪声预防及修复方法与装置 | |
CN118569189B (zh) | 电压降处理方法、装置、电子设备和存储介质 | |
US10216887B1 (en) | Methods, systems, and computer program products for implementing an electronic design with time varying resistors in power gating analysis | |
US6701496B1 (en) | Synthesis with automated placement information feedback | |
Posser et al. | Electromigration Inside Logic 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |