CN116127910A - 时钟树布放方法、装置、电子设备及存储介质 - Google Patents
时钟树布放方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116127910A CN116127910A CN202211678898.9A CN202211678898A CN116127910A CN 116127910 A CN116127910 A CN 116127910A CN 202211678898 A CN202211678898 A CN 202211678898A CN 116127910 A CN116127910 A CN 116127910A
- Authority
- CN
- China
- Prior art keywords
- clock tree
- target
- voltage
- point
- points
- 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
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/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
- 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/396—Clock trees
-
- 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
本申请实施例提供一种时钟树布放方法、装置、电子设备及存储介质,涉及芯片领域。其中,时钟树布放方法,应用于时钟树布放装置,所述时钟树布放装置用于在目标芯片上布放时钟树单元,所述目标芯片包括若干时钟树布放点,所述方法包括:获取各个所述时钟树布放点的压降数据;根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点;在所述目标时钟树布放点上布设时钟树单元。与现有技术相比,本发明实施例所提供的时钟树布放方法、装置、电子设备及存储介质具有在降低芯片的电压裕度的同时,避免对时钟树造成影响的优点。
Description
技术领域
本发明涉及芯片领域,具体而言本发明实施例涉及一种时钟树布放方法、装置、电子设备及存储介质。
背景技术
在芯片设计中,功率优化是影响芯片性能以及最大电流需求的关键因素之一。由于芯片的功率与芯片的工作电压的平方相关,提高芯片的工作电压裕度是现代先进芯片设计中对功率优化的最关键的因素之一。
在一些芯片中,时钟功率一般占芯片总体功率的30%到40%。因此,调节芯片的工作电压裕度反映在芯片设计流程中的问题通常对芯片的电压压降进行一些修正。因此,可以通过对芯片的电压压降进行修正的方式提高芯片的工作电压裕度、并最终优化芯片的性能。
图1显示了部分现有技术中的芯片设计流程,其中,PG(Power Ground,功率网络)分析和CTS(Clock tree synthesis,时钟树综合)处于单独的两个流程中,且CTS不使用任何PG分析数据。在这部分现有技术中是在芯片设计完成后进行电压压降分析,并对最坏情况下的电压压降进行修复,该方法的缺点是设计过程滞后,在对电压压降进行修复的过程中可能影响已经CTS完成的时钟树。
图2显示了部分现有技术中的芯片设计流程,在图2所提供的的芯片设计流程中,在开始布局规划和时钟树综合之前制作鲁棒高的PG网格。在这部分现有技术中将电压压降分析工具集成到芯片设计工具中,以进行电压压降优化,这种方案虽然优于图1所示的芯片设计流程,但其仍然是一个修复过程,同样存在对电压压降进行修复的过程中可能影响已经CTS完成的时钟树的问题。
因此,如何避免对芯片的电压压降进行修复时影响已经CTS完成的时钟树成为一个待解决的问题。
发明内容
本发明实施例的目的在于提供一种时钟树布放方法、装置、电子设备及存储介质,可以在降低芯片的电压裕度的同时,避免对时钟树造成影响。
第一方面,本发明实施例提供一种时钟树布放方法,应用于时钟树布放装置,所述时钟树布放装置用于在目标芯片上布放时钟树单元,所述目标芯片包括若干时钟树布放点,所述方法包括:获取各个所述时钟树布放点的压降数据;根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点;在所述目标时钟树布放点上布放时钟树单元。
在一些实施例中,所述获取各个所述时钟树布放点的压降数据,包括:获取样本时钟树单元;将所述样本时钟树单元布放在所述若干时钟树布放点;为所述目标芯片提供恒定电源电压;为各个所述样本时钟树单元的单元引脚提供恒定电流;获取各个所述单元引脚上的点电压;根据所述恒定电源电压和所述点电压计算得到各个所述时钟树布放点的压降数据。
在一些实施例中,所述为各个所述样本时钟树单元的单元引脚提供恒定电流,包括:为各个所述单元引脚提供等值的恒定电流。每个单元引脚接入等值的恒定电流,可以更便于后续的压降的测量和计算。
在一些实施例中,所述获取样本时钟树单元,包括:获取需在所述目标芯片上布放的全部时钟树单元中额定电流最大的时钟树单元作为所述样本时钟树单元。选用额定电流最大的时钟树单元作为样本时钟树单元,可以减小在测试过程中施加在时钟树布放点上的电流超过样本时钟树单元的风险,减少测试过程中对样本时钟树单元造成损坏的风险,此外,样本时钟树单元的额定电流较大,可以承受测试过程中施加的电流范围也越大,降低对测试过程中施加电流的电流源的要求。
在一些实施例中,所述为各个所述样本时钟树单元的单元引脚提供恒定电流,包括:获取所述样本时钟树单元的额定电流作为目标额定电流;为各个所述样本时钟树单元的单元引脚提供与所述目标额定电流等值的恒定电流。为各个样本时钟树单元提供与额定电压等值的恒定电流,可以保证样本时钟树单元正常工作,提升最终测量结果的准确度。
在一些实施例中,所述目标芯片包括多个电源引脚,所述为所述目标芯片提供恒定电源电压,包括:为所述多个电源引脚提供等值的恒定电源电压。每个电源引脚接入等值的恒定电压,可以更便于后续的压降的测量和计算。
在一些实施例中,所述根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点,包括:获取所述压降数据小于预设压降的时钟树布放点作为所述目标时钟树布放点。将压降小于预设压降阈值的时钟树布放点作为目标时钟树布放点,每个时钟树布放点的压降均小于压降阈值,从而可以保证目标芯片的整体压降也较小,达到减小目标芯片的整体压降的效果。
在一些实施例中,所述在所述目标时钟树布放点上布放时钟树单元,包括:按照所述压降数据的大小、从小到大依次在所述目标时钟树布放点上布放时钟树单元。按照压降大小从小到大依次在所述目标时钟树布放点上布放时钟树单元可以保证压降更小的目标时钟树布放点上必定布放上时钟树单元,更好的减小目标芯片的整体压降。
在一些实施例中,所述根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点,包括:根据所述压降数据计算得到各个所述时钟树布放点的等效电阻;获取所述等效电阻小于预设电阻的时钟树布放点作为所述目标时钟树布放点。使用等效电阻获取目标时钟树布放点可以避免测试过程中的电源电压和恒定电流对结果造成影响。
在一些实施例中,所述在所述目标时钟树布放点上布放时钟树单元,包括:按照所述等效电阻的大小、从小到大依次在所述目标时钟树布放点上布放时钟树单元。按照等效电阻大小从小到大依次在所述目标时钟树布放点上布放时钟树单元可以保证等效电阻更小的目标时钟树布放点上必定布放上时钟树单元,更好的减小目标芯片的整体等效电阻,进而减小目标芯片的整体压降。
在一些实施例中,所述在所述目标时钟树布放点上布放时钟树单元前,所述方法还包括:获取预设时钟树布放点;根据所述预设时钟树布放点对所述目标芯片进行时钟树布放仿真,根据仿真结果预估得到第一电压裕度;根据所述目标时钟树布放点对所述目标芯片进行时钟树布放仿真,根据仿真结果预估得到第二电压裕度;若所述第二电压裕度大于所述第一电压裕度,执行步骤:在所述目标时钟树布放点上布放时钟树单元;若所述第二电压裕度小于所述第一电压裕度,将所述预设时钟树布放点作为所述目标时钟树布放点后,执行步骤:在所述目标时钟树布放点上布放时钟树单元。对预设时钟树布放点和目标时钟树布放点分别进行仿真,并获取各自布放下的电压裕度,从而挑选出电压裕度最小的时钟树单元布放方法,进一步的减小目标芯片的整体电压裕度。
第二方面,本发明实施例提供了一种时钟树布放装置,用于在目标芯片上布放时钟树单元,所述目标芯片包括若干时钟树布放点,所述装置包括:压降数据获取模块,所述压降数据获取模块用于获取各个所述时钟树布放点的压降数据;布放点获取模块,所述布放点获取模块用于根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点;时钟树布放模块,所述时钟树布放模块用于在所述目标时钟树布放点上布放时钟树单元。
在一些实施例中,所述装置还包括:样本获取模块、电压源和电流源;所述样本获取模块用于获取样本时钟树单元;所述时钟树布放模块还用于将所述样本时钟树单元布放在所述若干时钟树布放点;所述电压源用于为所述目标芯片提供恒定电源电压;所述电流源用于为各个所述样本时钟树单元的单元引脚提供恒定电流;所述压降数据获取模块用于根据所述恒定电源电压和所述点电压计算得到各个所述时钟树布放点的压降数据。
第三方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述的时钟树布放方法。
第四方面,本发明实施例提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现如前述的时钟树布放方法。
本发明实施例所提供的时钟树布放方法、装置、电子设备及存储介质中,在时钟树综合过程前,根据时钟树布放点的压降数据获取得到最优的目标时钟树布放点,从而在时钟树综合的过程中可以在最优的目标时钟树布放点上布放时钟树单元,时钟树综合的过程中在最优布放点上布放时钟树单元可以达到降低目标芯片的电压压降的效果,电压压降的减小即意味着电压裕度的减小,后续无需再进行电压压降的修正,也就不会对已经完成时钟树综合过程的时钟树造成影响,从而达到在降低目标芯片的电压裕度的同时,避免对已经完成时钟树综合过程的时钟树造成影响的技术效果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为一种现有技术中的芯片设计流程示意图;
图2为另一种现有技术中的芯片设计流程示意图;
图3为本发明实施例一所提供的时钟树布放方法的流程示意图;
图4为本发明实施例一所提供的时钟树布放方法中目标芯片的结构示意图;
图5为本发明实施例一所提供的时钟树布放方法中获取各个时钟树布放点的压降数据的流程示意图;
图6为本发明实施例一所提供的时钟树布放方法中目标芯片的电路结构示意图;
图7为本发明实施例一所提供的时钟树布放方法中部分时钟树布放单元的单元引脚上的点电压的示意图;
图8为为本发明实施例一所提供的时钟树布放方法中全部时钟树布放单元的单元引脚上的点电压的电压热图;
图9为为本发明实施例一所提供的时钟树布放方法中全部时钟树布放单元的单元引脚上的点电压的电压热图的二维表示;
图10为本发明实施例二所提供的时钟树布放方法的流程示意图;
图11为本发明实施例三所提供的时钟树布放装置的结构示意图;
图12为本发明实施例四所提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
本发明实施例一提供了一种时钟树布放方法,应用于时钟树布放装置,时钟树布放装置用于在目标芯片上布放时钟树单元,目标芯片上设置有若干时钟树布放点,时钟树布放装置即在目标芯片的时钟树布放点上布放时钟树单元,如图3所示,包括以下步骤:
步骤S101:获取各个时钟树布放点的压降数据。
在本发明的一些实施例中,如图4所示为目标芯片的一种结构示意图,其中空白的401和402区域为不进行时钟树布放的区域,而网格状的403区域为进行时钟树布放的区域,403区域中的每一个网格404即为目标芯片中的一个时钟树布放点。
在本发明的一些实施例中,获取各个时钟树布放点的压降数据的过程如图5所示,包括以下步骤:
步骤S201:获取样本时钟树单元。
具体的,在向目标芯片上布放时钟树单元的过程中,根据目标芯片的功能需求的不同,可以在目标芯片上布放多种不同类型和不同电流大小的时钟树单元。在本发明的一些实施例中,可以挑选在目标芯片上布放的所有种类的时钟树单元中额定电流最大的时钟树单元作为样本时钟树单元。选用额定电流最大的时钟树单元作为样本时钟树单元,可以减小在测试过程中施加在时钟树布放点上的电流超过样本时钟树单元的风险,减少测试过程中对样本时钟树单元造成损坏的风险,此外,样本时钟树单元的额定电流较大,可以承受测试过程中施加的电流范围也越大,降低对测试过程中施加电流的电流源的要求。可以理解的是,前述选用额定电流最大的时钟树单元作为样本时钟树单元仅为本实施例中的一种具体的举例说明,在本发明的其它实施例中,也可以是选用额定电流最小的时钟树单元作为样本时钟树单元、或者是选用额定电流为所有时钟树单元额定电流平均值的时钟树单元作为样本时钟树单元、亦或者是选用额定电流为所有时钟树单元额定电流中值的时钟树单元作为样本时钟树单元等其它方法。
步骤S202:将样本时钟树单元布放在若干时钟树布放点。
具体的,在本步骤中,将样本时钟树单元布放在全部的时钟树布放点上,每一个时钟树布放点上布放唯一一个样本时钟树单元。
步骤S203:为目标芯片提供恒定电源电压。
具体的,如图6所示为目标芯片的电路结构示意图。其中,401为目标芯片的电源引脚,每个目标芯片上可以设置多个电源引脚,也可以是设置唯一一个电源引脚,具体可以根据目标芯片的功能和需求不同进行灵活的设置,如图6所示为目标芯片中包括多个电源引脚。在本发明的一些实施例中,如图6所示为每个电源引脚401分别设置电压源(即图6中的101、102、103、以及104),电压源101、102、103、以及104均可以向电源引脚401输出恒定电源电压。进一步的,在本发明的一些实施例中,电压源101、102、103、以及104可以向电源引脚401输出等电压值的恒定电源电压。每个电源引脚401接入等值的电源电压,可以更便于后续的压降的测量和计算。可以理解的是,在本发明的一些其它的实施例中,也可以是多个电源引脚401连接同一个电压源,一个电压源为多个电源引脚提供恒定电源电压,此时各个电源引脚的电源电压值同样为等值。此外,在本发明的一些其它的实施例中,也可以是电压源101、102、103、以及104分别向电源引脚401输出电压值各异的恒定电源电压,只需保证每个电压源输出的电源电压不随时间发生变化即可。可以理解的是,由于误差的存在,现实世界中并不可能存在电压值完全恒定不变的电压源,因此,在本发明的实际应用过程中,可以根据需要使用电压值变化幅度小于5%(可以根据实际需要进行设置,例如对于精度要求较高的目标芯片可以设置为1%甚至更低,对于成本要求较高的目标芯片可以设置为10%等)的电压源。
此外,如图6所示的目标芯片中,301为芯片封装,302为重布线层,303为顶层金属层,304为底层金属层。301为芯片封装、302为重布线层、303为顶层金属层、以及304为底层金属层均为目标芯片中的膜层结构,共同构成目标芯片中的例如时钟树布放点等具体结构。
步骤S204:为各个样本时钟树单元的单元引脚提供恒定电流。
具体的,如图6所示,601、602、603、604分别为时钟树布放点的电流引脚,当样本时钟树单元布放在时钟树布放点上时,601、602、603、604即可充当时钟树布放单元的单元引脚。201、202、203、204分别为为各个样本时钟树单元的单元引脚提供恒定电流的电流源。进一步的,在本发明的一些实施例中,电流源201、202、203、以及204可以向单元引脚601、602、603、604输出等电流值的恒定电流。每个单元引脚401接入等值的单元电流,可以更便于后续的压降的测量和计算。可以理解的是,在本发明的一些其它的实施例中,也可以是多个单元引脚601、602、603、604连接同一个电流源,一个电流源为多个单元引脚提供恒定电流,此时各个单元引脚的电流值同样为等值。此外,在本发明的一些其它的实施例中,也可以是电流源201、202、203、以及204分别向单元引脚601、602、603、604输出电流值各异的恒定电流,只需保证每个电流源输出的电流不随时间发生变化即可。可以理解的是,由于误差的存在,现实世界中并不可能存在电流值完全恒定不变的电流源,因此,在本发明的实际应用过程中,可以根据需要使用电流值变化幅度小于5%(可以根据实际需要进行设置,例如对于精度要求较高的目标芯片可以设置为1%甚至更低,对于成本要求较高的目标芯片可以设置为10%等)的电流源。
在本发明的一些实施例中,对于施加在样本时钟树单元上的恒定电流的电流值,可以根据样本时钟树单元的额定电流进行设置。即获取样本时钟树单元的额定电流作为目标额定电流;为各个样本时钟树单元的单元引脚提供与目标额定电流等值的恒定电流。为各个样本时钟树单元提供与额定电压等值的恒定电流,可以保证样本时钟树单元正常工作,提升最终测量结果的准确度。可以理解的是,前述为各个样本时钟树单元的单元引脚提供与目标额定电流等值的恒定电流仅为本发明一些实施例中的具体的举例说明,并不构成限定,在本发明的一些其它的实施例中,也可以是为各个样本时钟树单元的单元引脚提供与小于目标额定电流的恒定电流等其它值。
步骤S205:获取各个单元引脚上的点电压。
在本发明的一些实施例中,可以通过测量的方式分别测量得到各个单元引脚上的点电压。如图7所示为部分时钟树布放单元的单元引脚上的点电压的示意图;如图8所示为全部时钟树布放单元的单元引脚上的点电压的电压热图,图9所示为全部时钟树布放单元的单元引脚上的点电压的电压热图的二维表示。
步骤S206:根据恒定电源电压和点电压计算得到各个时钟树布放点的压降数据。
具体的,在本发明的一些实施例中,如图6所示,当目标芯片存在多个电压源时,由于每一个时钟树布放点仅与一个电压源连接,因此计算与时钟树布放点连接的电压源的恒定电源电压和时钟树布放点的点电压之间的电压差值,即为此时钟树布放点的压降,全部的时钟树布放点的压降共同组成了本步骤中的压降数据。
步骤S102:根据压降数据从若干时钟树布放点中获取得到目标时钟树布放点。
在本发明的一些实施例中,可以根据需要预设压降阈值。在一些实施例中,预设压降为预设常量,其具体可以根据目标芯片对于压降的需求进行灵活的设置,例如对于压降要求较高的目标芯片,需要保证其压降数据尽可能的小,此时可以设置预设压降为一个较小的压降值常量,反之对于压降要求较低的目标芯片,可以设置预设压降为一个较大的压降值常量,具体可以根据实际需要进行设置,将压降小于预设压降阈值的时钟树布放点作为目标时钟树布放点,如图9中101即为目标时钟树布放点。将压降小于预设压降阈值的时钟树布放点作为目标时钟树布放点,每个时钟树布放点的压降均小于压降阈值,从而可以保证目标芯片的整体压降也较小,达到减小目标芯片的整体压降的效果。
可以理解的是,前述将压降小于预设压降阈值的时钟树布放点作为目标时钟树布放点仅为本发明的一些实施例中的举例说明,在本发明的一些其它的实施例中,也可以是其它方法,例如根据需要布放的时钟树单元的数量确定目标时钟树布放点。例如将时钟树布放点按照各自的压降大小按照从小到大的顺序进行排序,选取排名前N名的时钟树布放点作为目标时钟树布放点,其中,N为需要布放的时钟树单元的数量。
在本发明的一些实施例中,还可以是其它方法,例如根据压降数据计算得到各个时钟树布放点的等效电阻,具体为根据电压、电流、电阻的公式,计算压降与恒定电流之间的商值作为时钟树布放点的等效电阻,获取等效电阻小于预设电阻阈值的时钟树布放点作为目标时钟树布放点。在一些实施例中,预设电阻为预设常量,其具体可以根据目标芯片对于压降的需求进行灵活的设置,例如对于压降要求较高的目标芯片,需要保证其压降数据尽可能的小,此时可以设置预设电阻为一个较小的电阻值常量,反之对于压降要求较低的目标芯片,可以设置预设电阻为一个较大的电阻值常量,具体可以根据实际需要进行设置。使用等效电阻获取目标时钟树布放点可以避免测试过程中的电源电压和恒定电流对结果造成影响。
步骤S103:在目标时钟树布放点上布放时钟树单元。
在本发明的一些实施例中,可以根据获取目标时钟树布放点的方法的不同使用不同的布放方法。例如,对于步骤S207中所示例的使用预设压降阈值获取的目标时钟树布放点,可以按照各个目标时钟树布放点的压降数据的大小、从小到大依次在目标时钟树布放点上布放时钟树单元。按照压降大小从小到大依次在目标时钟树布放点上布放时钟树单元可以保证压降更小的目标时钟树布放点上必定布放上时钟树单元,更好的减小目标芯片的整体压降。
此外,在本发明的一些另外实施例中,对于步骤S207中所示例的使用预设电阻阈值获取的目标时钟树布放点,可以按照各个目标时钟树布放点的等效电阻的大小、从小到大依次在目标时钟树布放点上布放时钟树单元。按照等效电阻大小从小到大依次在目标时钟树布放点上布放时钟树单元可以保证等效电阻更小的目标时钟树布放点上必定布放上时钟树单元,更好的减小目标芯片的整体等效电阻,进而减小目标芯片的整体压降。
与现有技术相比,本发明实施例一所提供的时钟树布放方法中,在时钟树综合过程前,根据时钟树布放点的压降数据获取得到最优的目标时钟树布放点,从而在时钟树综合的过程中可以在最优的目标时钟树布放点上布放时钟树单元,时钟树综合的过程中在最优布放点上布放时钟树单元可以达到降低目标芯片的电压压降的效果,电压压降的减小即意味着电压裕度的减小,后续无需再进行电压压降的修正,也就不会对已经完成时钟树综合过程的时钟树造成影响,从而达到在降低目标芯片的电压裕度的同时,避免对已经完成时钟树综合过程的时钟树造成影响的技术效果。
本发明实施例二提供了一种时钟树布放方法,具体如图10所示,包括以下步骤:
步骤S301:获取各个时钟树布放点的压降数据。
步骤S302:根据压降数据从若干时钟树布放点中获取得到目标时钟树布放点。
步骤S303:获取预设时钟树布放点,根据预设时钟树布放点对目标芯片进行时钟树布放仿真,根据仿真结果预估得到第一电压裕度。
具体的,在本发明的一些实施例中,预设时钟树布放点为根据如图1、图2等现有技术中的方法获取得到的时钟树布放点,通过仿真软件对根据预设时钟树布放点对目标芯片进行时钟树布放的布放效果进行仿真,并获取仿真软件输出的此种布放方法下目标芯片的电压裕度作为第一电压裕度。可以理解的是,在本发明的一些其它的实施例中,预设时钟树布放点也可以是芯片设计人员根据经验确定的时钟树布放点,或者是随机产生的时钟树布放点等。
步骤S304:根据目标时钟树布放点对目标芯片进行时钟树布放仿真,根据仿真结果预估得到第二电压裕度。
具体的,在本步骤中,通过仿真软件对根据目标时钟树布放点对目标芯片进行时钟树布放的布放效果进行仿真,并获取仿真软件输出的此种布放方法下目标芯片的电压裕度作为第二电压裕度。
步骤S305:判断第二电压裕度是否大于第一电压裕度;若是,执行步骤S307;若否,执行步骤S306。
步骤S306:将预设时钟树布放点作为目标时钟树布放点。
步骤S307:在目标时钟树布放点上布放时钟树单元。
与现有技术相比,本发明实施例二所提供的时钟树布放方法中对预设时钟树布放点和目标时钟树布放点分别进行仿真,并获取各自布放下的电压裕度,从而挑选出电压裕度最小的时钟树单元布放方法,进一步的减小目标芯片的整体电压裕度。
本发明实施例三提供了一种时钟树布放装置,用于在目标芯片上布放时钟树单元,目标芯片包括若干时钟树布放点,如图11所示,时钟树布放装置具体包括:
压降数据获取模块801,压降数据获取模块801用于获取各个时钟树布放点的压降数据;布放点获取模块802,布放点获取模块802用于根据压降数据从若干时钟树布放点中获取得到目标时钟树布放点;时钟树布放模块803,时钟树布放模块803用于在目标时钟树布放点上布放时钟树单元。
与现有技术相比,本发明实施例三所提供的时钟树布放装置中,在时钟树综合过程前,压降数据获取模块801获取得到各个时钟树布放点的压降数据,布放点获取模块802根据时钟树布放点的压降数据获取得到最优的目标时钟树布放点,时钟树布放模块803在时钟树综合的过程中可以在最优的目标时钟树布放点上布放时钟树单元,时钟树综合的过程中在最优布放点上布放时钟树单元可以达到降低目标芯片的电压压降的效果,电压压降的减小即意味着电压裕度的减小,后续无需再进行电压压降的修正,也就不会对已经完成时钟树综合过程的时钟树造成影响,从而达到在降低目标芯片的电压裕度的同时,避免对已经完成时钟树综合过程的时钟树造成影响的技术效果。
在本发明的一些实施例中,如图11所示,时钟树布放装置还包括:样本获取模块804、电压源805和电流源806;样本获取模块804用于获取样本时钟树单元;时钟树布放模块803还用于将样本时钟树单元布放在若干时钟树布放点;电压源805用于为目标芯片提供恒定电源电压;电流源806用于为各个样本时钟树单元的单元引脚提供恒定电流;压降数据获取模块801用于根据恒定电源电压和点电压计算得到各个时钟树布放点的压降数据。
此外,在本发明的一些其它实施例中,时钟树布放装置还可以包括仿真模块(用于根据预设时钟树布放点对目标芯片进行时钟树布放仿真,根据仿真结果预估得到第一电压裕度、以及根据目标时钟树布放点对目标芯片进行时钟树布放仿真,根据仿真结果预估得到第二电压裕度)等其它结构。
本申请实施例四提供了一种电子设备,如图12所示,包括:至少一个处理器901;以及,与至少一个处理器901通信连接的存储器902;其中,存储器902存储有可被至少一个处理器901执行的指令,指令被至少一个处理器901执行,以使至少一个处理器901能够执行如前述的时钟树布放方法。
其中,存储器902可以是只读存储器902(Read-Only Memory,ROM)、随机存取存储器902(Random Access Memory,RAM)或其他存储器902。本申请实施例中,存储器902用于存储数据以及各种算法和命令,例如本申请实施例中确定IO电压(电流)范围的算法以及整个流程和最终结果等。
在本申请实施例中,存储器902可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方法的媒体加以存储。本实施方式的存储器902又可以包括:利用电能方式存储信息的装置,如RAM、ROM等;利用磁能方式存储信息的装置,如硬盘、软盘、磁带、磁芯存储器902、磁泡存储器902、U盘;利用光学方式存储信息的装置,如CD或DVD。当然,还有其他方式的存储器902,例如量子存储器902、石墨烯存储器902等等。
处理器901,被配置为从存储器902读取计算机程序,并执行计算机程序以实现如前述实施例所提供的芯片测试方法。
需要说明的是,处理器901可以是中央处理单元(Central Processing Unit,CPU),该处理器901还可以是其他处理器901、数字信号处理器901(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器901可以是微处理器901或者该处理器901也可以是任何常规的处理器901等。处理器901还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的IO电压(电流)测试方法的各个步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。
本申请的实施例五提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时可实现如前述的任意实施例的时钟树布放方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种时钟树布放方法,其特征在于,应用于在目标芯片上布放时钟树单元,所述目标芯片包括若干时钟树布放点,所述方法包括:
获取各个所述时钟树布放点的压降数据;
根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点;
在所述目标时钟树布放点上布设时钟树单元。
2.如权利要求1所述的方法,其特征在于,所述获取各个所述时钟树布放点的压降数据,包括:
获取样本时钟树单元;
将所述样本时钟树单元布放在所述若干时钟树布放点;
为所述目标芯片提供恒定电源电压;
为各个所述样本时钟树单元的单元引脚提供恒定电流;
获取各个所述单元引脚上的点电压;
根据所述恒定电源电压和所述点电压计算得到各个所述时钟树布放点的压降数据。
3.如权利要求2所述的方法,其特征在于,所述为各个所述样本时钟树单元的单元引脚提供恒定电流,包括:
为各个所述单元引脚提供等值的恒定电流。
4.如权利要求2所述的方法,其特征在于,所述获取样本时钟树单元,包括:
获取需在所述目标芯片上布放的全部时钟树单元中额定电流最大的时钟树单元作为所述样本时钟树单元。
5.如权利要求4所述的方法,其特征在于,所述为各个所述样本时钟树单元的单元引脚提供恒定电流,包括:
获取所述样本时钟树单元的额定电流作为目标额定电流;
为各个所述样本时钟树单元的单元引脚提供与所述目标额定电流等值的恒定电流。
6.如权利要求2所述的方法,其特征在于,所述目标芯片包括多个电源引脚,所述为所述目标芯片提供恒定电源电压,包括:
为所述多个电源引脚提供等值的恒定电源电压。
7.如权利要求1所述的方法,其特征在于,所述根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点,包括:
获取所述压降数据小于预设压降的时钟树布放点作为所述目标时钟树布放点。
8.如权利要求7所述的方法,其特征在于,所述在所述目标时钟树布放点上布放时钟树单元,包括:
按照所述压降数据的大小、从小到大依次在所述目标时钟树布放点上布放时钟树单元。
9.如权利要求1所述的方法,其特征在于,所述根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点,包括:
根据所述压降数据计算得到各个所述时钟树布放点的等效电阻;
获取所述等效电阻小于预设电阻的时钟树布放点作为所述目标时钟树布放点。
10.如权利要求9所述的方法,其特征在于,所述在所述目标时钟树布放点上布放时钟树单元,包括:
按照所述等效电阻的大小、从小到大依次在所述目标时钟树布放点上布放时钟树单元。
11.如权利要求1所述的方法,其特征在于,所述在所述目标时钟树布放点上布放时钟树单元前,所述方法还包括:
获取预设时钟树布放点;
根据所述预设时钟树布放点对所述目标芯片进行时钟树布放仿真,根据仿真结果预估得到第一电压裕度;
根据所述目标时钟树布放点对所述目标芯片进行时钟树布放仿真,根据仿真结果预估得到第二电压裕度;
若所述第二电压裕度大于所述第一电压裕度,执行步骤:在所述目标时钟树布放点上布放时钟树单元;
若所述第二电压裕度小于所述第一电压裕度,将所述预设时钟树布放点作为所述目标时钟树布放点后,执行步骤:在所述目标时钟树布放点上布放时钟树单元。
12.一种时钟树布放装置,其特征在于,用于在目标芯片上布放时钟树单元,所述目标芯片包括若干时钟树布放点,所述装置包括:
压降数据获取模块,所述压降数据获取模块用于获取各个所述时钟树布放点的压降数据;
布放点获取模块,所述布放点获取模块用于根据所述压降数据从所述若干时钟树布放点中获取得到目标时钟树布放点;
时钟树布放模块,所述时钟树布放模块用于在所述目标时钟树布放点上布放时钟树单元。
13.如权利要求12所述的装置,其特征在于,所述装置还包括:样本获取模块、电压源和电流源;
所述样本获取模块用于获取样本时钟树单元;
所述时钟树布放模块还用于将所述样本时钟树单元布放在所述若干时钟树布放点;
所述电压源用于为所述目标芯片提供恒定电源电压;
所述电流源用于为各个所述样本时钟树单元的单元引脚提供恒定电流;
所述压降数据获取模块用于根据所述恒定电源电压和所述点电压计算得到各个所述时钟树布放点的压降数据。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至11中任一项所述的时钟树布放方法。
15.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时可实现如权利要求1至11中任一项所述的时钟树布放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211678898.9A CN116127910A (zh) | 2022-12-26 | 2022-12-26 | 时钟树布放方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211678898.9A CN116127910A (zh) | 2022-12-26 | 2022-12-26 | 时钟树布放方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116127910A true CN116127910A (zh) | 2023-05-16 |
Family
ID=86298513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211678898.9A Pending CN116127910A (zh) | 2022-12-26 | 2022-12-26 | 时钟树布放方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127910A (zh) |
-
2022
- 2022-12-26 CN CN202211678898.9A patent/CN116127910A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060155520A1 (en) | Model-based pre-assembly testing of multi-component production devices | |
CN112233115B (zh) | 基于深度学习的布局后布线违例预测方法及可读存储介质 | |
US20170169156A1 (en) | Designing a Density Driven Integrated Circuit | |
CN109902318B (zh) | 生成标准延时格式文件的方法和装置 | |
CN112649719A (zh) | 一种芯片中线性稳压器的测试方法、装置以及设备 | |
US6389381B1 (en) | Method and apparatus for calculating delay times in semiconductor circuit | |
US20120331434A1 (en) | Computing device and method for checking signal transmission lines | |
CN108877969B (zh) | 核功率理论模型建立及验证方法、系统及终端设备 | |
CN102929778B (zh) | 众核阵列上并行测试的控制方法及硅后验证系统 | |
CN116127910A (zh) | 时钟树布放方法、装置、电子设备及存储介质 | |
US7559042B2 (en) | Layout evaluating apparatus | |
CN112818632A (zh) | 芯片的图形密度的分析方法、装置及电子设备 | |
KR102089083B1 (ko) | 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법 | |
US9245067B2 (en) | Probabilistic method and system for testing a material | |
JPWO2020243355A5 (zh) | ||
US20190384885A1 (en) | Integrated circuit (ic) design systems and methods using single-pin imaginary devices | |
CN112347723B (zh) | 基于版图的rom代码提取验证方法及装置 | |
CN115935870A (zh) | 功耗分析方法、装置、电子设备、存储介质 | |
JP5239970B2 (ja) | リーク電流算出プログラム、リーク電流算出装置及びリーク電流算出方法 | |
TW201030546A (en) | System and method of connecting a macro cell to a system power supply | |
CN112037191B (zh) | 一种局域漏电流密度阈值的确定方法、装置和计算机设备 | |
CN112149213B (zh) | 核岛结构有限元模型网格数据传递方法、装置、设备 | |
US20090177451A1 (en) | Apparatus and method for accelerating simulations and designing integrated circuits and other systems | |
CN114661596A (zh) | 一种自动测试参数化单元功能的方法 | |
JP2018013934A (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 |