CN116542209B - 一种soc芯片的布局优化方法及装置 - Google Patents
一种soc芯片的布局优化方法及装置 Download PDFInfo
- Publication number
- CN116542209B CN116542209B CN202310812889.2A CN202310812889A CN116542209B CN 116542209 B CN116542209 B CN 116542209B CN 202310812889 A CN202310812889 A CN 202310812889A CN 116542209 B CN116542209 B CN 116542209B
- Authority
- CN
- China
- Prior art keywords
- winding
- test module
- layout
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000005457 optimization Methods 0.000 title claims abstract description 24
- 238000004804 winding Methods 0.000 claims abstract description 159
- 238000012360 testing method Methods 0.000 claims abstract description 93
- 239000002184 metal Substances 0.000 claims description 15
- 230000003071 parasitic effect Effects 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000012300 Sequence Analysis Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 238000004088 simulation Methods 0.000 claims description 3
- 239000002699 waste material Substances 0.000 abstract description 4
- 239000010410 layer Substances 0.000 description 17
- 238000013461 design Methods 0.000 description 8
- 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
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000002356 single layer Substances 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/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
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种SOC芯片的布局优化方法及装置,其中方法包括:基于目标芯片的初始网表,确定测试模块的规格参数和模块形状后,建立符合所述规格参数和模块形状的测试模块;根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息;结合所述布局信息在所述测试模块上建立利用不同布局方案的标准单元;利用所述测试模块上不同布局方案的所述标准单元,模拟出所述目标芯片上的不同路径延时值;根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划。本发明通过为SOC芯片的规划提供路径延时信息支持,从而减少芯片因时序不满足带来的迭代时间或者面积的浪费。
Description
技术领域
本发明涉及芯片设计技术领域,具体涉及一种SOC芯片的布局优化方法及装置。
背景技术
数字集成电路不断发展,随着需求的增加,数字芯片规模越来越大,芯片的面积也在增加,同时对芯片的频率要求也越来越高。芯片的面积增加,让芯片内的时序路径的距离增加,对频率的提高带来了挑战。特别是SOC(片上系统)芯片,需要集成众多的IP,芯片规模大,时序路径距离大,对时序收敛带来了困难。同时不同IP之间和IP内部的连接较多,需要较多的绕线资源来完成绕线,因此需要较多的面积来增加绕线资源。因此Soc芯片规划的时候,既需要考虑规划合理面积来满足绕线要求,同时考虑绕线的距离来满足时序的要求。在SoC芯片后端实现过程中,经常遇到长距离绕线。而长距离走线带来了大的延时,对时序收敛带来了挑战。
在现有技术中,主要通过两种方法来解决长距离路径时序问题,一是芯片后端设计实现中来解决,但该方法迭代时间长,占用服务器资源多:SOC芯片规模较大,约束复杂,包含较多的时钟,EDA需要优化的路径多,在整个芯片中去迭代收敛长路径的时序,EDA工具Place&Route优化时间长,可能数周才能完成一次迭代;二是先得到每层的延时信息,再预估实际情况下延时的信息,该方法在单层金属的场景会非常理想,会与实际情况有偏差,信号之间的串扰会以最差的情况来计算,导致延时结果偏悲观,同时随着工艺尺寸不断减小,金属层数的增加,不同金属层次之间的延时差距非常大:低层金属线窄,距离近,延时大;高层金属线宽,距离远,延时小。在先进工艺里,低层和高层的相同距离的延时差距可以达到数倍乃至十倍。这样导致单一金属层次的延时信息和实际的多层金属绕线延时有较大差距。
发明内容
为了解决上述技术问题,本发明提供一种SOC芯片的布局优化方法及装置。
具体的,本发明的技术方案如下:
一方面,本发明提出一种SOC芯片的布局优化方法,包括:
基于目标芯片的初始网表,确定测试模块的规格参数和模块形状后,建立符合所述规格参数和模块形状的测试模块;
根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息;所述标准单元包括反相器、寄存器;
结合所述布局信息在所述测试模块上调用不同标准单元;
利用所述测试模块模拟出所述目标芯片上的不同路径延时值;
根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划。
在一些实施方式中,所述的根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划,包括:
利用不同路径延时值对应的绕线信息时,评估所述目标芯片上长距离绕线的时序是否满足要求;所述长距离绕线是指超过预设距离的绕线;
当所述目标芯片上长距离绕线的时序不满足要求时,调整所述绕线参数中的绕线利用率,使所述长距离绕线的时序满足要求。
在一些实施方式中,当所述目标芯片上长距离绕线的时序满足要求时,调高所述绕线利用率,来减少所述目标芯片的面积。
在一些实施方式中,所述的基于目标芯片的初始网表,确定测试模块的规格参数和模块形状,包括:
根据所述目标芯片的初始网表,计算所述目标芯片的绕线利用率值、绕线长度、绕线延伸结构形状;
根据所述绕线利用率值,计算所述测试模块的宽度值,根据所述绕线长度,确定所述测试模块的高度值;根据所述绕线延伸结构形状,确定所述测试模块的模块形状。
在一些实施方式中所述的根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息,包括:
基于所述布局信息中的端口位置信息,在所述测试模块的两侧均匀布置所述端口;
基于所述端口位置信息和所述布局信息中的第一距离信息,在距离所述端口第一距离值的位置处分别放置所述寄存器;
基于所述布局信息中的第二距离信息,在所述寄存器之间按照走线位置及所述第二距离信息布置反向器。
在一些实施方式中,所述的利用所述测试模块,模拟出所述目标芯片上的不同路径延时值,包括:
基于所述测试模块,提取所述测试模块中每一种布局方案下的寄生参数信息,所述寄生参数信息包括绕线的电阻、电容信息;
根据所述不同布局方案下的不同所述寄生参数信息,对所述测试模块进行静态时序分析,得到所述测试模块的不同路径延时值。
在一些实施方式中,所述的结合所述布局信息在所述测试模块上调用不同标准单元,包括:
根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下所述寄存器、反相器的驱动大小、电压阈值类型;
根据所述寄存器、反相器的驱动大小、电压阈值类型,确定所述反相器的第二距离信息;所述寄存器的驱动大小和电压阈值类型、所述反相器的驱动大小、电压阈值类型和第二距离信息作为所述布局信息。
在一些实施方式中,还包括:
调整所述目标芯片上绕线层次内的绕线参数后,选用特定标准单元来模拟所述目标芯片上目标金属层绕线的路径延时值。
另一方面,本发明还提出一种SOC芯片的布局优化装置,包括:
确认模块,用于基于目标芯片的初始网表,确定测试模块的规格参数和模块形状;
建立模块,建立符合所述规格参数和模块形状的测试模块;
所述确认模块,还用于据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息;所述标准单元包括反相器、寄存器;
调用模块,用于结合所述布局信息在所述测试模块上调用不同标准单元;
模拟模块,用于利用所述测试模块,模拟出所述目标芯片上的不同路径延时值;
优化模块,用于根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划。
在一些实施方式中,所述优化模块包括:
评估单元,用于利用不同路径延时值对应的绕线信息时,评估所述目标芯片上长距离绕线的时序是否满足要求;所述长距离绕线是指超过预设距离的绕线;
调整单元,用于当不满足要求时,调整所述绕线参数中的绕线利用率,使所述长距离绕线的时序满足要求。
与现有技术相比,本发明至少具有以下一项有益效果:
1、本发明通过重建一个与待布局规划的目标芯片相同的可以绕线的多个金属层次以及相同的绕线利用率的测试模块,通过这个测试模块去模拟待布局规划的目标芯片中类似的条件下的不同路径延时信息,为待布局规划的目标芯片规划提供路径延时信息支持,减少芯片因时序不满足带来的迭代时间或者芯片面积的浪费。
2、本发明构建的测试模块和待布局规划的目标芯片里实际场景的利用率、金属层次、驱动单元的选择、驱动单元的距离一致,使用相同的PR工具,因此两者的路径延时值比较接近,使得本发明构建的测试模块可以输出准确的路径延时信息,从而减少了后端实现的迭代,减少了芯片的设计周期。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种SOC芯片的布局优化方法的一个实施例的流程图;
图2是本发明一种SOC芯片的布局优化方法的一个实施例中的目标芯片的部分模块信号走线图;
图3本发明一种SOC芯片的布局优化方法的一个实施例中的测试模块的结构示意图;
图4是本发明一种SOC芯片的布局优化装置的一个实施例的框图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本文中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体的连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在一个实施例中,参考说明书附图1,本发明提供的一种SOC芯片的布局优化方法,包括:
S100基于目标芯片的初始网表,确定测试模块的规格参数和模块形状后,建立符合所述规格参数和模块形状的测试模块。
具体的,在本实施例中,根据前端传送来的待布局规划的目标芯片的初始网表信息,由重建的测试模块的尺寸大小以及模块形状来建立符合规格参数和模块形状的测试模块。
S200根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息;所述标准单元包括反相器、寄存器。
具体的,根据待规划的目标芯片相同的可以绕线的多个金属层次以及相同的绕线利用率的测试模块,确定不同布局方案中反向器、寄存器的布局信息。
S300结合所述布局信息在所述测试模块上调用不同标准单元。
S400利用所述测试模块模拟出所述目标芯片上的不同路径延时值。
S500根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划。
在本实施例中,通过这个测试模块去模拟待布局规划的目标芯片中类似的条件下的不同路径延时信息,为待布局规划的目标芯片规划提供路径延时信息支持,减少芯片因时序不满足带来的迭代时间或者芯片面积的浪费。
在一个实施例中,在上述方法的实施例的基础上,S500,所述的根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划,具体步骤包括:
S501利用不同路径延时值对应的绕线信息时,评估所述目标芯片上长距离绕线的时序是否满足要求;所述长距离绕线是指超过预设距离的绕线。
具体的,在本实施例中,可以根据规划的走线位置来调整反相器之间的距离,不同反相器驱动大小,不同VT(电压阈值)类型的标准单元,以及不同绕线规则下,长距离绕线的不同路径延时值,利用得到的长距离绕线的路径延时值,去评估Soc芯片里的长距离走线的时序是否可以满足。
S502当所述目标芯片上长距离绕线的时序不满足要求时,调整所述绕线参数中的绕线利用率,使所述长距离绕线的时序满足要求。
具体的,在本实施例中,目标芯片上长距离绕线的时序不满足要求时,即长距离绕线的路径延时值超过延时预设值,那么就可以调整把布局规划来使得路径延时值变小,例如通过降低绕线的利用率,使得目标芯片上长距离绕线的时序满足时序要求。
在一个实施例中,在上述方法的实施例的基础上,S500,所述的根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划,还包括步骤包括:
S503当所述目标芯片上长距离绕线的时序满足要求时,调高所述绕线利用率,来减少所述目标芯片的面积。
具体的,在本实施例中,目标芯片上长距离绕线的时序满足要求时,可以继续优化channel的大小,比如减少channel的高度,进而减少芯片的面积。
在本实施例中,通过为待布局规划的目标芯片规划提供路径延时信息支持,减少芯片因时序不满足带来芯片面积的浪费。
在一个实施例中,在上述方法的实施例的基础上,S100,所述的基于目标芯片的初始网表,确定测试模块的规格参数和模块形状,具体的步骤包括:
S101根据所述目标芯片的初始网表,计算所述目标芯片的绕线利用率值、绕线长度、绕线延伸结构形状。
S102根据所述绕线利用率值,计算所述测试模块的宽度值,根据所述绕线长度,确定所述测试模块的高度值;根据所述绕线延伸结构形状,确定所述测试模块的模块形状。
具体的,在本实施例中,PR工具读入初始的网表,建立一个测试模块,由目标芯片的绕线利用率值确定测试模块宽度值,目标芯片的绕线长度确定测试模块的高度值,目标芯片的绕线延伸结构形状确定测试模块的模块形状。
在一个实施例中,在上述方法的实施例的基础上,S200根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息,具体的步骤包括:
S201基于所述布局信息中的端口位置信息,在所述测试模块的两侧均匀布置所述端口;
具体的,在本实施例中,可以在测试模块的两边均匀放置好测试模块的端口,比如左右两边或者上下两边。
S202基于所述端口位置信息和所述布局信息中的第一距离信息,在距离所述端口第一距离值的位置处分别放置所述寄存器;
具体的,可以根据端口位置确定寄存器的位置,比如距离端口距离为50um处放置寄存器的位置。
S203基于所述布局信息中的第二距离信息,在所述寄存器之间按照走线位置及所述第二距离信息布置反向器。
具体的,在两侧的寄存器之间按走线的规划位置布置反向器,比如在两侧的寄存器之间每间隔160um放置反向器。
在一个实施例中,在上述方法的实施例的基础上,S400,所述的利用所述测试模块模拟出所述目标芯片上的不同路径延时值,具体的步骤包括:
S401基于所述测试模块提取所述测试模块中每一种布局方案下的寄生参数信息,所述寄生参数信息包括绕线的电阻、电容信息;
S402根据所述不同布局方案下的不同所述寄生参数信息,对所述测试模块进行静态时序分析,得到所述测试模块的不同路径延时值。
在一个实施例中,在上述方法的实施例的基础上,S300,所述的结合所述布局信息在所述测试模块上调用不同标准单元,具体步骤包括:
S301根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下所述寄存器、反相器的驱动大小、电压阈值类型。
具体的,根据待规划的目标芯片的绕线利用率,通过在测试模块上调整测试模块中的寄存器、反相器的驱动大小、电压阈值类型来形成不同的布局方案。
S302根据所述寄存器、反相器的驱动大小、电压阈值类型,确定所述反相器的第二距离信息;所述寄存器的驱动大小和电压阈值类型、所述反相器的驱动大小、电压阈值类型和第二距离信息作为所述布局信息。
在本实施例中,举例说明,参考说明书附图2,blockA、blockB、blockC、blockD为芯片上的模块,central block为芯片中心位置的模块,为了方便说明,附图2展示的是blockC、blockD之间通过信号连接线连接在一起完成绕线。参考说明书附图3为绕线的测试例场景模块示例,先计算得到该信号连接线的绕线利用率,再计算在该绕线的track利用率下,位宽为300需要的绕线通道的宽度,再由绕线的长度确定绕线的高度,基于读入的目标芯片的初始网表,确定了附图3所示的模块的宽度和高度,并在测试模块内安置与目标芯片相同宽度和间距的power mesh(电源网络);在测试模块的左右两侧均匀放置好端口,根据ports端口位置确定寄存器registers的位置,一般距离端口位置50um处放置寄存器,同时根据规划的走线位置放置inveter chains方向器链,引导后续的PR工具自动绕线,还可以调整上述寄存器和反相器的驱动大小和VT类型(电压阈值)以及设置绕线规则,然后使用PR工具做Place(放置标准单元)、CTS(时钟数)、Route(绕线),最后通过提取测试模块的寄生参数信息(主要包括反相器的电阻、电容信息),来进行静态时序分析,计算寄存器之间的反相器的延时信息,从而得到预设路径长度的路径延时值。
在一个实施例中,在上述方法的实施例的基础上,本发明提供的一种S0C芯片的布局优化方法,还包括:
调整所述目标芯片上绕线层次内的绕线参数后,选用特定标准单元来模拟所述目标芯片上目标金属层绕线的路径延时值。
具体的,在本实施例中,可以以预设步径为10%,调整计算所有可以绕线层次在内的绕线利用率从30%—80%对应的路径延时值;或者选用特殊的VT类型标准单元,比如SVT(正常阈值电压标准单元),LVT(低阈值电压标准单元),ULVT(超低阈值电压标准单元)类型对应的路径延时值;或者只选用某些金属层,比如只能利用中间四层金属层来绕线,来评估对应的路径延时值。
在本实施例中,我们可以得到各个条件下比较准确的路径延时值。在SOC芯片规划阶段,我们可以根据不同模块之间的距离,绕线的通道大小,得到绕线利用率,进而推断当前的设计是否满足时序要求,进而做相应的平面布局调整。如果当前的布局设计不满足时序,可以调整平面布局来减小芯片中的模块之间的距离,或者增加绕线通道,设计增加pipeline减少面积等。如果时序比较充分,可以调整平面布局来减少关键模块的距离,时序宽松的模块可以适当放远距离,减小绕线通道等。这样增加了平面布局的灵活性和准确性,优化了芯片面积,提高了芯片的性能,减少了长路径延时带来的时序问题,减少了迭代,提高了芯片设计的速度。
基于相同的技术构思,本发明还提出一种SOC芯片的布局优化装置,包括:
确认模块10,用于基于目标芯片的初始网表,确定测试模块的规格参数和模块形状;
建立模块20,用于基于目标芯片的初始网表,确定测试模块的规格参数和模块形状后,建立符合所述规格参数和模块形状的测试模块;
确认模块10,还用于据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息;所述标准单元包括端口、反相器、寄存器;
调用模块30,用于结合所述布局信息在所述测试模块上调用不同标准单元;
模拟模块40,用于利用所述测试模块上不同布局方案的所述标准单元,模拟出所述目标芯片上的不同路径延时值;
优化模块50,用于根据不同路径延时值中满足路径延时条件下的绕线信息,优化调整所述目标芯片的布局规划。
在一个实施例中,在上述装置的实施例的基础上,优化模块50包括:
评估单元51,用于利用不同路径延时值对应的绕线信息时,评估所述目标芯片上长距离绕线的时序是否满足要求;所述长距离绕线是指超过预设距离的绕线;
调整单元52,用于当不满足要求时,调整所述绕线参数中的绕线利用率,使所述长距离绕线的时序满足要求。
本发明的一种SOC芯片的布局优化装置与一种SOC芯片的布局优化方法具有相同的技术构思,二者的实施例的技术细节可相互适用,为减少重复,此次不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件,或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。示例性的,以上所描述的装置实施例仅仅是示意性的,示例性的,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,示例性的,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种SOC芯片的布局优化方法,其特征在于,包括:
基于目标芯片的初始网表,计算所述目标芯片的绕线利用率值、绕线长度、绕线延伸结构形状;根据所述绕线利用率值,计算测试模块的宽度值;根据所述绕线长度,确定所述测试模块的高度值;根据所述绕线延伸结构形状,确定所述测试模块的模块形状;
建立符合所述宽度值、所述高度值和所述模块形状的所述测试模块;
根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息;所述标准单元包括反相器、寄存器;
结合所述布局信息在所述测试模块上调用不同标准单元;
利用所述测试模块模拟出所述目标芯片上的不同路径延时值;
利用不同路径延时值对应的绕线信息时,评估所述目标芯片上长距离绕线的时序是否满足要求;所述长距离绕线是指超过预设距离的绕线;当所述目标芯片上长距离绕线的时序不满足要求时,调整所述绕线参数中的绕线利用率,使所述长距离绕线的时序满足要求。
2.根据权利要求1所述的一种SOC芯片的布局优化方法,其特征在于,还包括:
当所述目标芯片上长距离绕线的时序满足要求时,调高所述绕线利用率,来减少所述目标芯片的面积。
3.根据权利要求1所述的一种SOC芯片的布局优化方法,其特征在于,所述的根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息,包括:
基于所述布局信息中的端口位置信息,在所述测试模块的两侧均匀布置所述端口;
基于所述端口位置信息和所述布局信息中的第一距离信息,在距离所述端口第一距离值的位置处分别放置所述寄存器;
基于所述布局信息中的第二距离信息,在所述寄存器之间按照走线位置及所述第二距离信息布置反向器。
4.根据权利要求1所述的一种SOC芯片的布局优化方法,其特征在于,所述的利用所述测试模块模拟出所述目标芯片上的不同路径延时值,包括:
基于所述测试模块,提取所述测试模块中每一种布局方案下的寄生参数信息,所述寄生参数信息包括绕线的电阻、电容信息;
根据所述不同布局方案下的不同所述寄生参数信息,对所述测试模块进行静态时序分析,得到所述测试模块的不同路径延时值。
5.根据权利要求1所述的一种SOC芯片的布局优化方法,其特征在于,所述的结合所述布局信息在所述测试模块上调用不同标准单元,包括:
根据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下所述寄存器、反相器的驱动大小、电压阈值类型;
根据所述寄存器、反相器的驱动大小、电压阈值类型,确定所述反相器的第二距离信息;所述寄存器的驱动大小和电压阈值类型、所述反相器的驱动大小、电压阈值类型和第二距离信息作为所述布局信息。
6.根据权利要求1所述的一种SOC芯片的布局优化方法,其特征在于,还包括:
调整所述目标芯片上绕线层次内的绕线参数后,选用特定标准单元来模拟所述目标芯片上目标金属层绕线的路径延时值。
7.一种SOC芯片的布局优化装置,其特征在于,包括:
确认模块,用于基于目标芯片的初始网表,计算所述目标芯片的绕线利用率值、绕线长度、绕线延伸结构形状;根据所述绕线利用率值,计算测试模块的宽度值;根据所述绕线长度,确定所述测试模块的高度值;根据所述绕线延伸结构形状,确定所述测试模块的模块形状;
建立模块,用于建立符合所述宽度值、所述高度值和所述模块形状的所述测试模块;
所述确认模块,还用于据所述目标芯片上同一绕线的绕线参数,确定不同布局方案下标准单元在所述测试模块上的布局信息;所述标准单元包括反相器、寄存器;
调用模块,用于结合所述布局信息在所述测试模块上调用不同标准单元;
模拟模块,用于利用所述测试模块,模拟出所述目标芯片上的不同路径延时值;
优化模块,用于利用不同路径延时值对应的绕线信息时,评估所述目标芯片上长距离绕线的时序是否满足要求;所述长距离绕线是指超过预设距离的绕线;
所述优化模块,还用于当所述目标芯片上长距离绕线的时序不满足要求时,调整所述绕线参数中的绕线利用率,使所述长距离绕线的时序满足要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310812889.2A CN116542209B (zh) | 2023-07-05 | 2023-07-05 | 一种soc芯片的布局优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310812889.2A CN116542209B (zh) | 2023-07-05 | 2023-07-05 | 一种soc芯片的布局优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116542209A CN116542209A (zh) | 2023-08-04 |
CN116542209B true CN116542209B (zh) | 2023-09-15 |
Family
ID=87449189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310812889.2A Active CN116542209B (zh) | 2023-07-05 | 2023-07-05 | 一种soc芯片的布局优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116542209B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004165615A (ja) * | 2002-09-18 | 2004-06-10 | Asuriito Fa Kk | テープ送りローラ制御方法および半導体実装装置 |
US7281232B1 (en) * | 2004-02-12 | 2007-10-09 | Nvidia Corporation | Method and apparatus for automatically checking circuit layout routing |
CN103366055A (zh) * | 2013-06-28 | 2013-10-23 | 杭州广立微电子有限公司 | 一种可寻址测试芯片版图的生成方法 |
CN112183006A (zh) * | 2019-07-02 | 2021-01-05 | 上海复旦微电子集团股份有限公司 | 时延评估方法及装置、可读存储介质 |
CN112241614A (zh) * | 2020-10-09 | 2021-01-19 | 广芯微电子(广州)股份有限公司 | 一种时钟延时链延时的检测方法、系统及电子设备 |
CN113505553A (zh) * | 2021-06-28 | 2021-10-15 | 海光信息技术股份有限公司 | 延时电路及其驱动方法、集成电路及电子设备 |
WO2022041154A1 (zh) * | 2020-08-28 | 2022-03-03 | 华为技术有限公司 | 一种保持时间裕量的检测电路 |
CN114861591A (zh) * | 2022-07-07 | 2022-08-05 | 北京大学 | 一种可微分时序驱动的芯片布局优化方法 |
CN115496647A (zh) * | 2022-10-20 | 2022-12-20 | 西安理工大学 | 一种gpu模块低功耗处理方法 |
CN115496023A (zh) * | 2022-09-27 | 2022-12-20 | 无锡中微亿芯有限公司 | 一种基于区块化设计的fpga设计方法 |
CN115659901A (zh) * | 2022-09-07 | 2023-01-31 | 上海为旌科技有限公司 | 一种芯片物理设计的距离布线优化方法和装置 |
CN116090401A (zh) * | 2023-01-09 | 2023-05-09 | 上海为旌科技有限公司 | 标准单元、集成电路的设计方法、标准单元、集成电路 |
-
2023
- 2023-07-05 CN CN202310812889.2A patent/CN116542209B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004165615A (ja) * | 2002-09-18 | 2004-06-10 | Asuriito Fa Kk | テープ送りローラ制御方法および半導体実装装置 |
US7281232B1 (en) * | 2004-02-12 | 2007-10-09 | Nvidia Corporation | Method and apparatus for automatically checking circuit layout routing |
CN103366055A (zh) * | 2013-06-28 | 2013-10-23 | 杭州广立微电子有限公司 | 一种可寻址测试芯片版图的生成方法 |
CN112183006A (zh) * | 2019-07-02 | 2021-01-05 | 上海复旦微电子集团股份有限公司 | 时延评估方法及装置、可读存储介质 |
WO2022041154A1 (zh) * | 2020-08-28 | 2022-03-03 | 华为技术有限公司 | 一种保持时间裕量的检测电路 |
CN112241614A (zh) * | 2020-10-09 | 2021-01-19 | 广芯微电子(广州)股份有限公司 | 一种时钟延时链延时的检测方法、系统及电子设备 |
CN113505553A (zh) * | 2021-06-28 | 2021-10-15 | 海光信息技术股份有限公司 | 延时电路及其驱动方法、集成电路及电子设备 |
CN114861591A (zh) * | 2022-07-07 | 2022-08-05 | 北京大学 | 一种可微分时序驱动的芯片布局优化方法 |
CN115659901A (zh) * | 2022-09-07 | 2023-01-31 | 上海为旌科技有限公司 | 一种芯片物理设计的距离布线优化方法和装置 |
CN115496023A (zh) * | 2022-09-27 | 2022-12-20 | 无锡中微亿芯有限公司 | 一种基于区块化设计的fpga设计方法 |
CN115496647A (zh) * | 2022-10-20 | 2022-12-20 | 西安理工大学 | 一种gpu模块低功耗处理方法 |
CN116090401A (zh) * | 2023-01-09 | 2023-05-09 | 上海为旌科技有限公司 | 标准单元、集成电路的设计方法、标准单元、集成电路 |
Also Published As
Publication number | Publication date |
---|---|
CN116542209A (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6415422B1 (en) | Method and system for performing capacitance estimations on an integrated circuit design routed by a global routing tool | |
Caldwell et al. | Can recursive bisection alone produce routable placements? | |
US6286128B1 (en) | Method for design optimization using logical and physical information | |
CN107918694B (zh) | 用于减少集成电路上的延迟的方法 | |
US9064077B2 (en) | 3D floorplanning using 2D and 3D blocks | |
Das | Design automation and analysis of three-dimensional integrated circuits | |
US5311443A (en) | Rule based floorplanner | |
US5930499A (en) | Method for mixed placement of structured and non-structured circuit elements | |
CN110457849B (zh) | 一种可配置的数字集成电路设计方法 | |
US7013438B1 (en) | System chip synthesis | |
US9740815B2 (en) | Electromigration-aware integrated circuit design methods and systems | |
US9864827B1 (en) | System and method for modeling electronic circuit designs | |
JPS63120439A (ja) | 集積回路及びそのレイアウト方法 | |
CN114595651B (zh) | 一种用于多fpga仿真验证平台的电路划分方法 | |
US8850378B2 (en) | Hierarchical design of integrated circuits with multi-patterning requirements | |
CN115659901B (zh) | 一种芯片物理设计的距离布线优化方法和装置 | |
Chang et al. | Implementation of BEE: a real-time large-scale hardware emulation engine | |
Goto et al. | All approach to the two-dimensional placement problem in circuit layout | |
CN116542209B (zh) | 一种soc芯片的布局优化方法及装置 | |
US5913101A (en) | Semiconductor device manufacturing method by carrying out logic design | |
CN116108783B (zh) | 分块逻辑时序分析建模及处理方法、系统、设备及介质 | |
US8959470B2 (en) | Integrated circuit with areas having uniform voltage drop and method therefor | |
US6931610B1 (en) | Method for rapid estimation of wire delays and capacitances based on placement of cells | |
JP2002318827A (ja) | 集積回路製造システム | |
US7137088B2 (en) | System and method for determining signal coupling coefficients for lines |
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 |