CN113343622A - 一种电路优化方法、装置、电子设备和可读存储介质 - Google Patents

一种电路优化方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN113343622A
CN113343622A CN202110698714.4A CN202110698714A CN113343622A CN 113343622 A CN113343622 A CN 113343622A CN 202110698714 A CN202110698714 A CN 202110698714A CN 113343622 A CN113343622 A CN 113343622A
Authority
CN
China
Prior art keywords
replaced
candidate
aging
parameter
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110698714.4A
Other languages
English (en)
Other versions
CN113343622B (zh
Inventor
南海卿
张晓强
张冠群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202110698714.4A priority Critical patent/CN113343622B/zh
Publication of CN113343622A publication Critical patent/CN113343622A/zh
Application granted granted Critical
Publication of CN113343622B publication Critical patent/CN113343622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/18Chip packaging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/04Ageing analysis or optimisation against ageing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

本申请的实施例公开了一种电路优化方法、装置、电子设备和可读存储介质,涉及芯片设计技术领域,为便于降低芯片的成本而发明。所述电路优化方法,包括:在老龄化时序违例的电路中,确定待替换器件;基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;使用所述替换器件替换所述待替换器件。本申请适用于芯片设计。

Description

一种电路优化方法、装置、电子设备和可读存储介质
技术领域
本申请涉及芯片设计技术领域,尤其涉及一种电路优化方法、装置、电子设备和可读存储介质。
背景技术
芯片在长年运行中会受到电路中各种器件老龄化现象的影响,导致器件电流生成能力减弱,进而影响芯片的正常工作频率,导致性能越来越差,为了解决长时间工作后,芯片性能(速度)下降的问题,现有技术中,一般采取过度设计的方法来保证芯片在老龄化之后仍然能够工作在想要的频率上,即将与延时相关的参数进行过度设计,以此满足电路老龄化的需求,然而过度的参数值,会使器件所占面积和/或功耗增大,这样,导致芯片成本较高。
发明内容
有鉴于此,本申请实施例提供一种电路优化方法、装置、电子设备和可读存储介质,便于降低芯片成本。
第一方面,本申请实施例提供一种电路优化方法,包括:在老龄化时序违例的电路中,确定待替换器件;基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;使用所述替换器件替换所述待替换器件。
根据本申请实施例的一种具体实现方式,所述在老龄化时序违例的电路中,确定待替换器件,包括:获取老龄化时序违例的电路中各器件的老龄化延时信息;根据所述各器件的老龄化延时信息中的延时值,将延时值最大的器件确定为待替换器件。
根据本申请实施例的一种具体实现方式,所述第一参数包括尺寸和/或阈值电压。
根据本申请实施例的一种具体实现方式,所述基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件,包括:基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值最小化原则,在所述各候选器件中确定替换器件;或者,基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,与所述各候选器件的第二参数的参数值的乘积最小化原则,在所述各候选器件中确定替换器件;其中,所述第二参数包括面积和/或功耗。
根据本申请实施例的一种具体实现方式,所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,根据如下步骤确定:确定所述各候选器件的非老龄化延时值与所述待替换器件的非老龄化延时值的第一差值;确定所述各候选器件的老龄化延时值与非老龄化延时值的第二差值;将所述第一差值和所述第二差值相加,得到所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值。
根据本申请实施例的一种具体实现方式,在使用所述替换器件替换所述待替换器件之后,所述方法还包括:判断所述替换器件替换所述待替换器件后形成的第一电路是否满足老龄化时序要求;如果所述第一电路满足老龄化时序要求,则结束流程;如果所述第一电路不满足老龄化时序要求,则继续执行所述在老龄化时序违例的电路中,确定待替换器件的步骤。
根据本申请实施例的一种具体实现方式,在使用所述替换器件替换所述待替换器件之后,所述方法还包括:判断所述电路中各个器件是否均被替换过;如果所述电路中各个器件均被替换过,则判断各个器件均被替换后形成的第二电路是否满足老龄化要求;如果所述第二电路不满足老龄化要求,则在所述第二电路中,再次确定待替换器件;基于再次确定的待替换器件的第三参数,确定第二候选器件集合;其中,所述第三参数与所述第一参数为同类型的参数,且所述第三参数的参数值大于所述第一参数的参数值;所述第二候选器件集合中的各候选器件的功能与所述再次确定的待替换器件的功能相同;基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件;使用在所述第二候选器件集合中确定的替换器件,替换所述再次确定的待替换器件。
根据本申请实施例的一种具体实现方式,所述第三参数和所述第一参数同为尺寸参数;所述基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件,包括:基于所述第二候选器件集合中各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定候选器件子集;其中,所述候选器件子集中包括至少两个候选器件;在所述候选器件子集中,确定阈值电压最大的候选器件为替换器件。
根据本申请实施例的一种具体实现方式,所述基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件,包括:基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值最小化原则,在所述第二候选器件集合中确定替换器件;或者,基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值,与所述第二候选器件集合中的各候选器件的第二参数的参数值的乘积最小化原则,在所述第二候选器件集合中确定替换器件;其中,所述第二参数包括面积和/或功耗。
根据本申请实施例的一种具体实现方式,在老龄化时序违例的电路中,确定待替换器件之前,所述方法,还包括:确定满足非老龄化时序要求的第三电路;在所述第三电路中,确定老龄化时序违例的电路。
根据本申请实施例的一种具体实现方式,所述基于所述待替换器件的第一参数,确定第一候选器件集合,包括:基于所述待替换器件的第一参数,确定第三候选器件集合;所述第一参数为与延时相关的参数,所述第三候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;分别计算使用第三候选器件集合中的各个候选器件替换所述待替换器件形成的电路的时间裕量;将时间裕量大于0对应的候选器件形成的集合确定为第一候选器件集合。
第二方面,本申请实施例提供一种电路优化装置,包括:第一确定模块,用于在老龄化时序违例的电路中,确定待替换器件;第二确定模块,用于基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;第三确定模块,用于基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;第一替换模块,用于使用所述替换器件替换所述待替换器件。
根据本申请实施例的一种具体实现方式,所述第一确定模块,具体用于:获取老龄化时序违例的电路中各器件的老龄化延时信息;根据所述各器件的老龄化延时信息中的延时值,将延时值最大的器件确定为待替换器件。
根据本申请实施例的一种具体实现方式,所述第一参数包括尺寸和/或阈值电压。
根据本申请实施例的一种具体实现方式,所述第三确定模块,包括:第一确定子模块,用于基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值最小化原则,在所述各候选器件中确定替换器件;或者,第二确定子模块,用于基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,与所述各候选器件的第二参数的参数值的乘积最小化原则,在所述各候选器件中确定替换器件;其中,所述第二参数包括面积和/或功耗。
根据本申请实施例的一种具体实现方式,所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,根据如下单元确定:第一确定单元,用于确定所述各候选器件的非老龄化延时值与所述待替换器件的非老龄化延时值的第一差值;第二确定单元,用于确定所述各候选器件的老龄化延时值与非老龄化延时值的第二差值;相加单元,用于将所述第一差值和所述第二差值相加,得到所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值。
根据本申请实施例的一种具体实现方式,所述装置还包括:第一判断模块,具体用于:判断所述替换器件替换所述待替换器件后形成的第一电路是否满足老龄化时序要求;如果所述第一电路满足老龄化时序要求,则结束流程;如果所述第一电路不满足老龄化时序要求,则继续执行所述在老龄化时序违例的电路中,确定待替换器件的步骤。
根据本申请实施例的一种具体实现方式,所述装置还包括:第二判断模块,具体用于:判断所述电路中各个器件是否均被替换过;如果所述电路中各个器件均被替换过,则判断各个器件均被替换后形成的第二电路是否满足老龄化要求;如果所述第二电路不满足老龄化要求,则在所述第二电路中,再次确定待替换器件;第四确定模块,用于基于再次确定的待替换器件的第三参数,确定第二候选器件集合;其中,所述第三参数与所述第一参数为同类型的参数,且所述第三参数的参数值大于所述第一参数的参数值;所述第二候选器件集合中的各候选器件的功能与所述再次确定的待替换器件的功能相同;第五确定模块,用于基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件;第二替换模块,用于使用在所述第二候选器件集合中确定的替换器件,替换所述再次确定的待替换器件。
根据本申请实施例的一种具体实现方式,所述第三参数和所述第一参数同为尺寸参数;所述第五确定模块,具体用于:基于所述第二候选器件集合中各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定候选器件子集;其中,所述候选器件子集中包括至少两个候选器件;在所述候选器件子集中,确定阈值电压最大的候选器件为替换器件。
根据本申请实施例的一种具体实现方式,所述第五确定模块,具体用于:基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值最小化原则,在所述第二候选器件集合中确定替换器件;或者,基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值,与所述第二候选器件集合中的各候选器件的第二参数的参数值的乘积最小化原则,在所述第二候选器件集合中确定替换器件;其中,所述第二参数包括面积和/或功耗。
根据本申请实施例的一种具体实现方式,所述装置,还包括:第六确定模块,具体用于:确定满足非老龄化时序要求的第三电路;在所述第三电路中,确定老龄化时序违例的电路。
根据本申请实施例的一种具体实现方式,所述第二确定模块,具体用于:基于所述待替换器件的第一参数,确定第三候选器件集合;所述第一参数为与延时相关的参数,所述第三候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;分别计算使用第三候选器件集合中的各个候选器件替换所述待替换器件形成的电路的时间裕量;将时间裕量大于0对应的候选器件形成的集合确定为第一候选器件集合。
第三方面,本申请实施例提供一种处理器芯片,包括电路;所述电路由上述任一实现方式所述的电路优化方法得到。
第四方面,本申请实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实现方式所述的电路优化方法。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一实现方式所述的电路优化方法。
本实施例提供的电路优化方法、装置、电子设备和可读存储介质,通过在老龄化时序违例的电路中,确定待替换器件,并基于待替换器件的第一参数,确定第一候选器件集合,再基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在各候选器件中确定替换器件,使用替换器件替换待替换器件,由于基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在第一候选器件集合中的各候选器件确定替换器件,而各候选器件的第一参数的参数值与待替换器件的第一参数的参数值相同,这样,替换器件的第一参数的参数值与待替换器件的第一参数的参数值相同,即未采用过度设计的方式,替换老龄化时序违例的电路中的待替换器件,从而,便于降低电路的成本,进一步地,便于降低芯片的成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中时序电路的结构示意图;
图2为本申请一实施例提供的电路优化方法的流程示意图;
图3为本申请又一实施例提供的电路优化方法的流程示意图;
图4为本申请一实施例的器件的老龄化信息表;
图5为现有技术中芯片设计过程中时序收敛过程的流程示意图;
图6为本实施例的电路优化方法流程示意图;
图7为本申请一实施例中使用老龄化时序功耗优化引擎优化电路的流程示意图;
图8为本申请一实施例提供的电路优化装置的结构示意图;
图9为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
芯片中的电路有成千上万的半导体器件,每一个器件在长期的工作中都会受到不同程度的老龄化影响,进而降低芯片的性能。
参见图1和图4,一个由10个NAND2单元(器件)组成的时序电路,每一个NAND2单元的尺寸(大小)均为size*4,类型均为type1(type1类型可以是不同沟道长度(channel_length),不同阈值电压(Vt),以及不同布局(layout)的组合方式),该时序电路的时间裕量slack为+10ps。该时序电路中的单元NAND2_size*4_type1,5年后的延时由原来的10ps增大到11.59ps,每个单元增加了1.59ps,10个单元一共增加了15.9ps,那么该时序电路的slack由原来的+10ps变为-5.9ps。
如背景技术所言,为满足老龄化时序要求,在现有技术中,采用过度设计的设计流程中,至少4个单元会被直接更新为更大的单元NAND2_size*6_type1来满足老龄化时序要求,目的是为了将slack增大到0,从而不出现时序问题。这样,10个单元中有4个NAND2_size*6_type1和6个NAND2_size*4_type1,以及接近0的slack,而更换为尺寸更大的单元,将导致面积和损耗的增大,进而,导致芯片成本增加,并且,针对器件自身结构设计存在问题而导致的老龄化问题严重的情况,现有技术中通过单一增加尺寸来增加速度,以此保证老龄化之后的性能指标,然而,这样的方式仍然存在时序不满足要求的可能,使电路的可靠性不高。
有鉴于此,在研究过程中,发明人发现,NAND2_size*4_type2的类型虽然比NAND2_size*4_type1在非老龄化延时上慢了0.3ps,但是其5年后的老化程度却比NAND2_size*4_type1好了很多,这样,假如图1中的10个NAND2单元均换为NAND2_size*4_type2,由于非老龄化延时稍稍慢了一点,slack由原来10ps降为7ps,而5年后老龄化的slack由7ps降为+1ps,也就是说,老龄化后,不会出现时序问题,此外,10个单元均为size*4的方案,这10个单元中有4个NAND2_size*6_type1和6个NAND2_size*4_type1的方案,在面积和功耗上会降低;进一步地,10个单元均为size*4的电路的老龄化后的slack的+1ps,也可以通过利用更小的NAND2单元例如NAND2_size*2来消费掉,同时也要考虑老龄化后的时序需求,这样,10个NAND2单元的电路的面积和功耗会进一步降低。在解决老龄化时序问题的时候,同样功能的不同size,不同type的单元选择很重要,首先第一要素是能够满足非老龄化时序要求,也就是新鲜状态下芯片的时序要求,第二要素是选择在满足第一要素基础上,能满足老龄化状态时序要求的单元,第三要素是满足前两个要求的前提下,选择功耗和面积最小的单元。
基于上述发现,本申请提出一种电路优化方法、装置、电子设备和可读存储介质,在解决老龄化问题的同时,有利于减少器件的面积和降低功耗,从而便于降低芯片成本。
为使本领域技术人员更好地理解本申请实施例的技术构思、实施方案和有益效果,下面通过具体实施例进行详细说明。
本申请一实施例提供的一种电路优化方法,包括:在老龄化时序违例的电路中,确定待替换器件;基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;使用所述替换器件替换所述待替换器件,便于降低芯片的成本。
图2为本申请一实施例提供的电路优化方法的流程示意图,本实施例的电路优化方法,可以包括:
S101、在老龄化时序违例的电路中,确定待替换器件。
老龄化时序违例的电路,可为在老龄化之后,电路的时序不满足要求的电路,即在老龄化之后,电路的时间裕量(slack)小于0。
老龄化时序违例的电路可以包括至少一个器件(cell),器件可为由晶体管、二极管、电阻、电容和/或电感构成,且具有特定功能,例如器件可为NAND2。
为使电路在老龄化之后满足时序要求,在电路设计阶段,可初步设计电路,对初步设计的、不满足老龄化要求的电路可以应用本实施例的电路优化方法。
器件的老龄化延时的大小,影响电路的老龄化时序,因此,在初步设计的电路基础上,可通过替换该电路中的器件,使电路最终满足老龄化时序要求。
待替换器件可为欲使电路满足老龄化时序要求,将老龄化时序违例的电路中的器件替换为其它器件的器件。
S102、基于待替换器件的第一参数,确定第一候选器件集合。
本实施例中的第一参数可为与延时相关的参数。在一些例子中,第一参数可以包括尺寸和/或阈值电压。器件的尺寸(size)和阈值电压(Vt)与延时相关,尺寸越大,延时越小;阈值电压越小,延时越小,而器件的尺寸越大,面积越大;阈值电压越小,功耗越大,面积大和功耗大会使芯片的成本升高。
为使待替换器件被替换后形成的电路的功能不变,本实施例中的第一候选器件集合中的各候选器件的功能与待替换器件的功能相同,并且为了便于降低芯片成本,各候选器件的第一参数的参数值与待替换器件的第一参数的参数值相同。
S103、基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在各候选器件中确定替换器件。
每个候选器件具有老龄化延时信息,例如可为5年后的延时;待替换器件的非老龄化延时信息为未使用时器件的延时信息,例如可为芯片在新鲜状态下的器件的延时。
S104、使用替换器件替换待替换器件。
由于替换器件的功能与待替换器件的功能相同,则使用替换器件替换待替换器件后的电路功能不变。
本实施例,通过在老龄化时序违例的电路中,确定待替换器件,并基于待替换器件的第一参数,确定第一候选器件集合,再基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在各候选器件中确定替换器件,使用替换器件替换待替换器件,由于基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在第一候选器件集合中的各候选器件确定替换器件,而各候选器件的第一参数的参数值与待替换器件的第一参数的参数值相同,这样,替换器件的第一参数的参数值与待替换器件的第一参数的参数值相同,即未采用过度设计的方式,替换老龄化时序违例的电路中的待替换器件,从而,便于降低电路的成本,进一步地,便于降低芯片的成本,避免了现有技术中由于过度设计引起不必要的功耗和面积损失导致芯片成本较高的问题,此外,针对器件自身结构设计存在问题而导致的老龄化问题严重的情况,本实施例的电路优化方法,能够提高电路的可靠性,避免现有技术中通过单一增加尺寸来增加速度,以此保证老龄化之后的性能指标而导致的可靠性不高的问题。
参见图3,为了提高电路满足老龄化时序要求的优化效率,本申请一实施例,与上述实施例基本相同,不同之处在于,本实施例的在老龄化时序违例的电路中,确定待替换器件(S101),包括:
S101a、获取老龄化时序违例的电路中各器件的老龄化延时信息。
器件的老龄化延时信息,可为器件被使用一定时间后的延时信息。具体可通过老龄化信息表中的信息,获取老龄化时序违例的电路中各器件的老龄化延时信息,其中,老龄化信息表中包括器件的老龄化延时信息和非老龄化延时信息即新鲜状态下的延时信息。
S101b、根据各器件的老龄化延时信息中的延时值,将延时值最大的器件确定为待替换器件。
每个器件对应得到一个老龄化延时信息,老龄化延时信息中包括延时值,这样,每个器件对应得到一个老龄化延时值,在得到的多个老龄化延时值中,选择最大的老龄化延时值,将该最大的老龄化延时值对应的器件作为替换器件。
本实施例,通过获取老龄化时序违例的电路中各器件的老龄化延时信息,再根据各器件的老龄化延时信息中的延时值,将延时值最大的器件确定为待替换器件,由于首先将老龄化延时值最大的器件确定为待替换器件,这样,有助于电路尽快满足老龄化时序要求。
作为确定替换器件的一个实施例,本实施例的基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在各候选器件中确定替换器件(S103),包括:
基于各候选器件的老龄化延时值与待替换器件的非老龄化延时值的差值最小化原则,在各候选器件中确定替换器件。
根据候选器件的老龄化延时值以及待替换器件的非老龄化延时值,计算二者的差值,得到与各候选器件个数相同的差值,根据差值最小化的原则,将各个差值中最小差值对应的器件,确定为替换器件。
作为一可替换的实施方式,本申请又一实施例的基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在各候选器件中确定替换器件(S103),包括:
基于各候选器件的老龄化延时值与待替换器件的非老龄化延时值的差值,与各候选器件的第二参数的参数值的乘积最小化原则,在各候选器件中确定替换器件。
本实施例的第二参数包括面积和/或功耗,即包括面积,或包括功耗,或包括面积和功耗。
根据候选器件的老龄化延时值以及待替换器件的非老龄化延时值,计算二者的差值,从而,得到与各候选器件个数相同的差值,将得到的各个差值对应地与各个候选器件的第二参数的参数值相乘,将得到的乘积最小值对应的器件确定为替换器件。
本实施例与上述实施例基本相同,不同之处在于,本实施例的各候选器件的老龄化延时值与待替换器件的非老龄化延时值的差值,根据如下步骤确定:
A、确定各候选器件的非老龄化延时值与待替换器件的非老龄化延时值的第一差值。
将各候选器件的非老龄化延时值分别与待替换器件的非老龄化延时值相减,得到与候选器件个数相同的第一差值。例如候选器件分别为A和B,将A的非老龄化延时值与待替换器件的非老龄化延时值相减,得到第一差值A1;将B的非老龄化延时值与待替换器件的非老龄化延时值相减,得到第一差值B1。
B、确定各候选器件的老龄化延时值与非老龄化延时值的第二差值。
将各候选器件的老龄化延时值对应地与非老龄化延时值相减,得到与候选器件个数相同的第二差值。
例如,候选器件A的老龄化延时值与候选器件A的非老龄化延时值相减,得到第二差值A2;候选器件B的老龄化延时值与候选器件B的非老龄化延时值相减,得到第二差值B2。
C、将第一差值和第二差值相加,得到各候选器件的老龄化延时值与待替换器件的非老龄化延时值的差值。
将A1与A2相加,得到候选器件A的老龄化延时值与待替换器件的非老龄化延时值的差值;将B1与B2相加,得到候选器件B的老龄化延时值与待替换器件的非老龄化延时值的差值。
本申请一实施例,与上述实施例基本相同,不同之处在于,本实施例的电路优化方法,在使用替换器件替换所述待替换器件(S104)之后,所述方法还包括:
S105、判断替换器件替换待替换器件后形成的第一电路是否满足老龄化时序要求。
使用替换器件替换待替换器件后形成新的电路即第一电路。可通过计算第一电路的时间裕量判断是否满足老龄化时序要求。
S106、如果第一电路满足老龄化时序要求,则结束流程。
如果第一电路满足老龄化时序要求即第一电路的老龄化时序不再违例,则可以将第一电路作为最终满足设计要求的电路。
S107、如果第一电路不满足老龄化时序要求,则继续执行在老龄化时序违例的电路中,确定待替换器件的步骤。
如果在将替换器件替换待替换器件后形成的电路仍然不满足老龄化时序的要求,则继续执行上述步骤S101,可以理解的是,在确定待替换器件之后,可继续依次执行上述步骤S102-S107。同样,可以按照上述步骤,依次地替换老龄化违例电路中的器件。
本申请一实施例,与上述实施例基本相同,不同之处在于,本实施例的电路优化方法,在使用替换器件替换待替换器件(S104)之后,所述方法还包括:
S108、判断电路中各个器件是否均被替换过。
S109、如果电路中各个器件均被替换过,则判断各个器件均被替换后形成的第二电路是否满足老龄化要求。
S110、如果第二电路不满足老龄化要求,则在第二电路中,再次确定待替换器件。
当第二电路不满足老龄化要求时,为得到满足老龄化要求的电路,则在第二电路中,再次确定需要被替换的器件。
可以理解的是,所述方法,还包括:如果第二电路满足老龄化要求,则结束流程,即可以将第二电路作为最终满足设计要求的电路。
S111、基于再次确定的待替换器件的第三参数,确定第二候选器件集合。
本实施例中的第三参数与第一参数为同类型的参数,且第三参数的参数值大于第一参数的参数值。
为将再次确定的待替换器件替换后形成的电路的功能不变,本实施例中的第二候选器件集合中的各候选器件的功能与再次确定的待替换器件的功能相同。
S112、基于第二候选器件集合中的各候选器件的老龄化延时信息,和再次确定的待替换器件的非老龄化延时信息,在第二候选器件集合中确定替换器件。
S113、使用在第二候选器件集合中确定的替换器件,替换再次确定的待替换器件。
本实施例,在老龄化违例电路中的器件均被替换过,各个器件均被替换后形成的第二电路仍然不满足老龄化要求时,为得到满足老龄化要求的电路,可在第二电路中再次确定替换器件,再依次执行步骤S111-S113。
为减小器件的功耗,以进一步降低芯片的成本,在一些例子中,第三参数和第一参数同为尺寸参数,第三参数的参数值大于第一参数的参数值,例如第一参数的参数值可为size*4,第三参数的参数数值可为size*6。
本实施例中的基于第二候选器件集合中的各候选器件的老龄化延时信息,和再次确定的待替换器件的非老龄化延时信息,在第二候选器件集合中确定替换器件(S112),包括:
S112A、基于第二候选器件集合中各候选器件的老龄化延时信息,和再次确定的待替换器件的非老龄化延时信息,在第二候选器件集合中确定候选器件子集。
本实例中的候选器件子集中包括至少两个候选器件。
S112B、在候选器件子集中,确定阈值电压最大的候选器件为替换器件。
阈值电压越大,器件的功耗越小。在候选器件子集中,选择阈值电压最大的器件作为替换器件。
本实施例,通过基于第二候选器件集合中各候选器件的老龄化延时信息,和再次确定的待替换器件的非老龄化延时信息,在第二候选器件集合中确定候选器件子集,在候选器件子集中,确定阈值电压最大的候选器件为替换器件,由于阈值电压越大,器件的功耗越小,本实施例中将阈值电压最大的候选器件确定为替换器件,用来替换再次确定的待替换器件,这样,便于降低电路的功耗。
作为确定替换器件的一个实施例,本实施例的基于第二候选器件集合中的各候选器件的老龄化延时信息,和再次确定的待替换器件的非老龄化延时信息,在第二候选器件集合中确定替换器件(S112),包括:
基于第二候选器件集合中的各候选器件的老龄化延时值,与再次确定的待替换器件的非老龄化延时值的差值最小化原则,在第二候选器件集合中确定替换器件。
根据第二候选器件集合中的各个候选器件的老龄化延时值以及再次确定的待替换器件的非老龄化延时值,分别计算二者的差值,得到与各候选器件个数相同的差值,根据差值最小化的原则,将各个差值中最小差值对应的器件,确定为替换器件。
作为一可替换的实施方式,本申请又一实施例的基于第二候选器件集合中的各候选器件的老龄化延时信息,和再次确定的待替换器件的非老龄化延时信息,在第二候选器件集合中确定替换器件(S112),包括:
基于第二候选器件集合中的各候选器件的老龄化延时值,与再次确定的待替换器件的非老龄化延时值的差值,与第二候选器件集合中的各候选器件的第二参数的参数值的乘积最小化原则,在第二候选器件集合中确定替换器件。
本实施例的第二参数包括面积和/或功耗,即包括面积,或包括功耗,或包括面积和功耗。
根据第二候选器件集合中的各个候选器件的老龄化延时值以及再次确定的待替换器件的非老龄化延时值,分别计算二者的差值,得到与各候选器件个数相同的差值,将得到的各个差值对应地与各个候选器件的第二参数的参数值相乘,将得到的乘积最小值对应的器件确定为替换器件。
为便于使优化后的电路既满足老龄化时序要求,又满足非老龄化时序要求,同时为了简化计算,本申请一实施例中,在老龄化时序违例的电路中,确定待替换器件(S101)之前,所述方法,还包括:
S114、确定满足非老龄化时序要求的第三电路。
在芯片设计的各个阶段,可借助静态时序分析(STA,Static Timing Analysis)工具确定满足非老龄化时序要求的第三电路,如果一电路不满足时序要求,可通过过度设计的方式即过度设计与延时相关的参数值,使电路满足非老龄化时序要求。
S115、在第三电路中,确定老龄化时序违例的电路。
同样,可借助静态时序分析工具,在第三电路中,确定老龄化时序违例的电路。
在上述实施例的基础上,本申请一实施例中的基于待替换器件的第一参数,确定第一候选器件集合(S102),包括:
S102a、基于待替换器件的第一参数,确定第三候选器件集合。
本实施例中的第一参数为与延时相关的参数,第三候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且各候选器件的第一参数的参数值与待替换器件的第一参数的参数值相同。在一些例子中,第一参数包括尺寸和/或阈值电压。
S102b、分别计算使用第三候选器件集合中的各个候选器件替换待替换器件形成的电路的时间裕量。
本实施例的使用第三候选器件集合中的各个候选器件替换待替换器件,并非实际替换,而是在步骤S104进行实际替换之前,为计算电路的时间裕量进行的模拟替换。
S102c、将时间裕量大于0对应的候选器件形成的集合确定为第一候选器件集合。
本实施例中,将替换待替换器件后形成的电路的时间裕量大于0对应的候选器件,形成的集合确定为第一候选器件集合,使用从该第一候选器件集合中确定的替换器件,替换待替换器件,这样,替换后形成的电路满足非老龄化要求,仅需通过上述实施例的方法,对电路进行优化,当经过一次或多次替换后形成电路满足老龄化要求时,得到的电路为既满足非老龄化时序要求又满足老龄化时序要求的电路。
下面以一具体实施例,对本申请的方案进行详细说明。
图4为本申请一实施例的器件的老龄化信息表,图5为现有技术中芯片设计过程中时序收敛过程的流程示意图,图6为本实施例的电路优化方法流程示意图,图7为本申请一实施例中使用老龄化时序功耗优化引擎优化电路的流程示意图。
本实施例以时序收敛过程为例,详细说明本申请的电路优化方案。
参见图5,现有技术中芯片设计过程中时序收敛过程的流程示意图,包括以下步骤:
步骤501、过度设计约束。
步骤502、电路时序违例发现。
步骤503、传统时序收敛流程。
步骤504、时序电路满足。
采用现有技术中基于过度设计,使电路同时满足原始状态电路时序要求以及老龄化后时序要求。由于采用过度设计,得到的结果存在不必要的功耗以及面积浪费。此外,有的器件由于自身结构设计,导致老龄化问题严重,通过单一增加尺寸来增加速度,来保证老龄化之后的性能指标的方法,仍然存在老龄化后时序不满足的可能性。
参见图6,本实施例的电路优化方法,可以包括:
步骤601、非老龄化电路时序违例发现。
步骤602、使用传统时序收敛流程,以使非老龄化时序电路满足时序要求。
步骤603、非老龄化时序电路时序满足。
步骤601-步骤603是不带过度设计约束的现有技术的流程步骤,目的是为了首先达到非老龄化时序满足的状态。对于芯片初始工作的状态来说,这个状态十分重要,不应该受到其他优化过程的影响而变化,也是一切优化的前提。
步骤604、获取器件老龄化信息表。
在非老龄化时序满足的基础上,输入器件老龄化信息表,该信息表记载所有器件的老龄化信息以及非老龄化延迟的信息。
步骤605、确定老龄化后时序违例电路。
基于步骤604的老龄化信息表,以及静态时序分析工具,确定老龄化有的时序违例电路。
步骤606、使用老龄化时序功耗优化引擎对电路进行优化。
该步骤是本方案提出的核心部分,在于优化老龄化之后的时序。
假设如下:现用cell的非老龄化延时是fresh_current_delay.。某一个将替换现用的cell的非老龄化延时是fresh_rep_delay,其老龄化后的延时是aged_rep_delay。替换的原则是,在满足现有时序的前提下,替换cell的延时增加越少越好,替换cell的老龄化后延时增加越少越好,即:
K1=fresh_rep_delay–fresh_current_delay;
K2=aged_rep_delay–fresh_rep_delay;
K3=K1+K2=aged_rep_delay–fresh_current_delay。
基于以上原则,本实施例中,基于各候选器件的延时信息、待替换器件的延时信息以及各候选器件的面积和损耗,按照如下公式计算各候选器件的成本:
Cost_function=K3*Power*Area
其中,Cost_function为候选器件的成本;Power为候选器件的功耗;Area为候选器件的面积;
K3=K1+K2,其中,K1=fresh_rep_delay–fresh_current_delay,K2=aged_rep_delay–fresh_rep_delay,其中,fresh_current_delay为待替换器件的非老龄化延时,fresh_rep_delay为候选器件的非老龄化延时,aged_rep_delay为候选器件的老龄化延时;
根据计算得到的各候选器件的成本,将成本最小值对应的器件确定为替换器件。
每替换一个cell,检查老龄化时序是否得到满足。如果得到满足就停止。如果还有违例,则继续替换。同size的cell集合中,路径上的全部cell都替换之后,则换到下一级别更大的cell集合中去替换。直到满足老龄化后的时序要求。
步骤607、得到非老龄化和老龄化时序同时满足的电路。
参见图7,本实施例中的老龄化时序功耗优化引擎的执行步骤如下:
步骤606a、按照老龄化后延时增加的顺序排序,最大值对应的器件优先处理,逐一遍历电路中的器件。
得到老龄化时序违例的路径之后,将路径上的cell按照老龄化延时增加的数值进行排序。延时增加最大的即为需要优先优化的cell。后面的流程会逐一遍历每一个cell,优化每一个cell,直到老龄化后时序满足。
步骤606b、在用器件同尺寸同阈值电压的可替换的同功能的器件集合中,按照cost_function最小化原则确定替换器件。
在第一轮优化时候,size的选取是和原始电路中将被替换的cell的size是同样的Vt是同样的。与现有技术相比,在同样size同样Vt的前提下,解决老龄化时序问题,将带来功耗和面积的优势。在可替换的同功能的cell集合中,用上面提到的cost_function最小的cell,替代原始的cell减少老龄化(aging)后的时序影响
步骤606c、检查是否满足老龄化后时序要求。
每替换一个cell,检查老龄化时序是否得到满足。
步骤606d、如果满足,则结束流程;
步骤606e、如果不满足,则判断老龄化时序违例电路中的所有器件是否均被替换过。
如果还有违例,则继续替换。
步骤606f、如果还有没被替换的器件,则继续执行步骤606b-步骤606e。
步骤606g、如果均被替换过,增大尺寸参数到下一个级别。
步骤606h、对所有器件均被替换后的电路,执行步骤606a。
步骤606i、在比待替换器件尺寸更大的替换器件且同功能的集合中,按照cost_function最小化原则确定替换器件(优先选择Vt高的器件),再继续执行步骤606c-步骤606e。
同size的cell集合中,路径上的全部cell都替换之后,则换到下一级别更大的cell集合中从头开始替换每一个cell。直到满足老龄化后的时序要求。
步骤606j、如果还有没被替换的器件,则再次执行步骤606i。
可以理解的是,经过第一轮替换和第二轮替换后,仍然不满足老龄化时序要求,则可以再增大尺寸参数,进行第三轮替换等等。
本实施例中的老龄化时序和功耗优化引擎在配合器件老龄化信息表的情况下,可以参与到芯片设计的其它时序相关的步骤,例如综合,PR阶段,以及timing ECO阶段。
第二方面,本申请一实施例提供的电路优化装置,包括:第一确定模块,用于在老龄化时序违例的电路中,确定待替换器件;第二确定模块,用于基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;第三确定模块,用于基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;第一替换模块,用于使用所述替换器件替换所述待替换器件,便于降低芯片的成本。
图8为本申请一实施例提供的电路优化装置的结构示意图,如图8所示,本实施例的电路优化装置,可以包括:第一确定模块11,用于在老龄化时序违例的电路中,确定待替换器件;第二确定模块12,用于基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;第三确定模块13,用于基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;第一替换模块14,用于使用所述替换器件替换所述待替换器件。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本实施例的装置,通过在老龄化时序违例的电路中,确定待替换器件,并基于待替换器件的第一参数,确定第一候选器件集合,再基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在各候选器件中确定替换器件,使用替换器件替换待替换器件,由于基于各候选器件的老龄化延时信息和待替换器件的非老龄化延时信息,在第一候选器件集合中的各候选器件确定替换器件,而各候选器件的第一参数的参数值与待替换器件的第一参数的参数值相同,这样,替换器件的第一参数的参数值与待替换器件的第一参数的参数值相同,即未采用过度设计的方式,替换老龄化时序违例的电路中的待替换器件,从而,便于降低电路的成本,进一步地,便于降低芯片的成本,避免了现有技术中由于过度设计引起不必要的功耗和面积损失导致芯片成本较高的问题,此外,针对器件自身结构设计存在问题而导致的老龄化问题严重的情况,本实施例的电路优化方法,能够提高电路的可靠性,避免现有技术中通过单一增加尺寸来增加速度,以此保证老龄化之后的性能指标而导致的可靠性不高的问题。
作为一可选实施方式,所述第一确定模块,具体用于:获取老龄化时序违例的电路中各器件的老龄化延时信息;根据所述各器件的老龄化延时信息中的延时值,将延时值最大的器件确定为待替换器件。
作为一可选实施方式,所述第一参数包括尺寸和/或阈值电压。
作为一可选实施方式,所述第三确定模块,包括:第一确定子模块,用于基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值最小化原则,在所述各候选器件中确定替换器件;或者,第二确定子模块,用于基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,与所述各候选器件的第二参数的参数值的乘积最小化原则,在所述各候选器件中确定替换器件;其中,所述第二参数包括面积和/或功耗。
作为一可选实施方式,所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,根据如下单元确定:第一确定单元,用于确定所述各候选器件的非老龄化延时值与所述待替换器件的非老龄化延时值的第一差值;第二确定单元,用于确定所述各候选器件的老龄化延时值与非老龄化延时值的第二差值;相加单元,用于将所述第一差值和所述第二差值相加,得到所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值。
作为一可选实施方式,所述装置还包括:第一判断模块,具体用于:判断所述替换器件替换所述待替换器件后形成的第一电路是否满足老龄化时序要求;
如果所述第一电路满足老龄化时序要求,则结束流程;如果所述第一电路不满足老龄化时序要求,则继续执行所述在老龄化时序违例的电路中,确定待替换器件的步骤。
作为一可选实施方式,所述装置还包括:第二判断模块,具体用于:判断所述电路中各个器件是否均被替换过;如果所述电路中各个器件均被替换过,则判断各个器件均被替换后形成的第二电路是否满足老龄化要求;如果所述第二电路不满足老龄化要求,则在所述第二电路中,再次确定待替换器件;第四确定模块,用于基于再次确定的待替换器件的第三参数,确定第二候选器件集合;其中,所述第三参数与所述第一参数为同类型的参数,且所述第三参数的参数值大于所述第一参数的参数值;所述第二候选器件集合中的各候选器件的功能与所述再次确定的待替换器件的功能相同;第五确定模块,用于基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件;第二替换模块,用于使用在所述第二候选器件集合中确定的替换器件,替换所述再次确定的待替换器件。
作为一可选实施方式,所述第三参数和所述第一参数同为尺寸参数;所述第五确定模块,具体用于:基于所述第二候选器件集合中各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定候选器件子集;其中,所述候选器件子集中包括至少两个候选器件;在所述候选器件子集中,确定阈值电压最大的候选器件为替换器件。
作为一可选实施方式,所述第五确定模块,具体用于:基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值最小化原则,在所述第二候选器件集合中确定替换器件;或者,基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值,与所述第二候选器件集合中的各候选器件的第二参数的参数值的乘积最小化原则,在所述第二候选器件集合中确定替换器件;其中,所述第二参数包括面积和/或功耗。
作为一可选实施方式,所述装置,还包括:第六确定模块,具体用于:确定满足非老龄化时序要求的第三电路;在所述第三电路中,确定老龄化时序违例的电路。
作为一可选实施方式,所述第二确定模块,具体用于:基于所述待替换器件的第一参数,确定第三候选器件集合;所述第一参数为与延时相关的参数,所述第三候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;分别计算使用第三候选器件集合中的各个候选器件替换所述待替换器件形成的电路的时间裕量;将时间裕量大于0对应的候选器件形成的集合确定为第一候选器件集合。
上述实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请一实施例还提供一种处理器芯片,包括电路;所述电路由上述任一实施例所述的电路优化方法得到。
芯片中包括由成千上万的半导体器件构成的电路,本实施例中的电路可为芯片中所有电路的一部分,也可为全部电路。为保证芯片在老龄化之后仍然能够工作在想要的频率上,在芯片设计阶段,需要对芯片上的电路进行设计,本实施例的芯片中的电路,是采用前述实施例中的电路优化方法优化得到的。
第三方面,图9为本申请一实施例提供的电子设备的结构示意图,可以包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板64安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为上述电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种电路优化方法,因此也能实现相应的有益技术效果,前文已经进行了详细说明,此处不再赘述。
上述电子设备以多种形式存在,包括但不限于:
(1)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(2)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(3)其他具有数据交互功能的电子设备。
相应的,本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种电路优化方法,因此也能实现相应的技术效果,前文已经进行了详细说明,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本申请时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (23)

1.一种电路优化方法,其特征在于,包括:
在老龄化时序违例的电路中,确定待替换器件;
基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;
基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;
使用所述替换器件替换所述待替换器件。
2.根据权利要求1所述的方法,其特征在于,所述在老龄化时序违例的电路中,确定待替换器件,包括:
获取老龄化时序违例的电路中各器件的老龄化延时信息;
根据所述各器件的老龄化延时信息中的延时值,将延时值最大的器件确定为待替换器件。
3.根据权利要求1所述的方法,其特征在于,所述第一参数包括尺寸和/或阈值电压。
4.根据权利要求1所述的方法,其特征在于,所述基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件,包括:
基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值最小化原则,在所述各候选器件中确定替换器件;或者,
基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,与所述各候选器件的第二参数的参数值的乘积最小化原则,在所述各候选器件中确定替换器件;其中,所述第二参数包括面积和/或功耗。
5.根据权利要求4所述的方法,其特征在于,所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,根据如下步骤确定:
确定所述各候选器件的非老龄化延时值与所述待替换器件的非老龄化延时值的第一差值;
确定所述各候选器件的老龄化延时值与非老龄化延时值的第二差值;
将所述第一差值和所述第二差值相加,得到所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值。
6.根据权利要求1所述的方法,其特征在于,在使用所述替换器件替换所述待替换器件之后,所述方法还包括:
判断所述替换器件替换所述待替换器件后形成的第一电路是否满足老龄化时序要求;
如果所述第一电路满足老龄化时序要求,则结束流程;
如果所述第一电路不满足老龄化时序要求,则继续执行所述在老龄化时序违例的电路中,确定待替换器件的步骤。
7.根据权利要求1所述的方法,其特征在于,在使用所述替换器件替换所述待替换器件之后,所述方法还包括:
判断所述电路中各个器件是否均被替换过;
如果所述电路中各个器件均被替换过,则判断各个器件均被替换后形成的第二电路是否满足老龄化要求;
如果所述第二电路不满足老龄化要求,则在所述第二电路中,再次确定待替换器件;
基于再次确定的待替换器件的第三参数,确定第二候选器件集合;其中,所述第三参数与所述第一参数为同类型的参数,且所述第三参数的参数值大于所述第一参数的参数值;所述第二候选器件集合中的各候选器件的功能与所述再次确定的待替换器件的功能相同;
基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件;
使用在所述第二候选器件集合中确定的替换器件,替换所述再次确定的待替换器件。
8.根据权利要求7所述的方法,其特征在于,所述第三参数和所述第一参数同为尺寸参数;
所述基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件,包括:
基于所述第二候选器件集合中各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定候选器件子集;其中,所述候选器件子集中包括至少两个候选器件;
在所述候选器件子集中,确定阈值电压最大的候选器件为替换器件。
9.根据权利要求7所述的方法,其特征在于,所述基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件,包括:
基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值最小化原则,在所述第二候选器件集合中确定替换器件;或者,
基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值,与所述第二候选器件集合中的各候选器件的第二参数的参数值的乘积最小化原则,在所述第二候选器件集合中确定替换器件;其中,所述第二参数包括面积和/或功耗。
10.根据权利要求1所述的方法,其特征在于,在老龄化时序违例的电路中,确定待替换器件之前,所述方法,还包括:
确定满足非老龄化时序要求的第三电路;
在所述第三电路中,确定老龄化时序违例的电路。
11.根据权利要求10所述的方法,其特征在于,所述基于所述待替换器件的第一参数,确定第一候选器件集合,包括:
基于所述待替换器件的第一参数,确定第三候选器件集合;所述第一参数为与延时相关的参数,所述第三候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;
分别计算使用第三候选器件集合中的各个候选器件替换所述待替换器件形成的电路的时间裕量;
将时间裕量大于0对应的候选器件形成的集合确定为第一候选器件集合。
12.一种电路优化装置,其特征在于,包括:
第一确定模块,用于在老龄化时序违例的电路中,确定待替换器件;
第二确定模块,用于基于所述待替换器件的第一参数,确定第一候选器件集合;其中,所述第一参数为与延时相关的参数,所述第一候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;
第三确定模块,用于基于所述各候选器件的老龄化延时信息和所述待替换器件的非老龄化延时信息,在所述各候选器件中确定替换器件;
第一替换模块,用于使用所述替换器件替换所述待替换器件。
13.根据权利要求12所述的装置,其特征在于,所述第一确定模块,具体用于:
获取老龄化时序违例的电路中各器件的老龄化延时信息;
用于根据所述各器件的老龄化延时信息中的延时值,将延时值最大的器件确定为待替换器件。
14.根据权利要求12所述的装置,其特征在于,所述第三确定模块,包括:
第一确定子模块,用于基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值最小化原则,在所述各候选器件中确定替换器件;或者,
第二确定子模块,用于基于所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,与所述各候选器件的第二参数的参数值的乘积最小化原则,在所述各候选器件中确定替换器件;其中,所述第二参数包括面积和/或功耗。
15.根据权利要求14所述的装置,其特征在于,所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值,根据如下单元确定:
第一确定单元,用于确定所述各候选器件的非老龄化延时值与所述待替换器件的非老龄化延时值的第一差值;
第二确定单元,用于确定所述各候选器件的老龄化延时值与非老龄化延时值的第二差值;
相加单元,用于将所述第一差值和所述第二差值相加,得到所述各候选器件的老龄化延时值与所述待替换器件的非老龄化延时值的差值。
16.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第一判断模块,具体用于:
判断所述替换器件替换所述待替换器件后形成的第一电路是否满足老龄化时序要求;
如果所述第一电路满足老龄化时序要求,则结束流程;
如果所述第一电路不满足老龄化时序要求,则继续执行所述在老龄化时序违例的电路中,确定待替换器件的步骤。
17.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二判断模块,具体用于:
判断所述电路中各个器件是否均被替换过;
如果所述电路中各个器件均被替换过,则判断各个器件均被替换后形成的第二电路是否满足老龄化要求;
如果所述第二电路不满足老龄化要求,则在所述第二电路中,再次确定待替换器件;
第四确定模块,用于基于再次确定的待替换器件的第三参数,确定第二候选器件集合;其中,所述第三参数与所述第一参数为同类型的参数,且所述第三参数的参数值大于所述第一参数的参数值;所述第二候选器件集合中的各候选器件的功能与所述再次确定的待替换器件的功能相同;
第五确定模块,用于基于所述第二候选器件集合中的各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定替换器件;
第二替换模块,用于使用在所述第二候选器件集合中确定的替换器件,替换所述再次确定的待替换器件。
18.根据权利要求17所述的装置,其特征在于,所述第三参数和所述第一参数同为尺寸参数;
所述第五确定模块,具体用于:
基于所述第二候选器件集合中各候选器件的老龄化延时信息,和所述再次确定的待替换器件的非老龄化延时信息,在所述第二候选器件集合中确定候选器件子集;其中,所述候选器件子集中包括至少两个候选器件;
在所述候选器件子集中,确定阈值电压最大的候选器件为替换器件。
19.根据权利要求17所述的装置,其特征在于,所述第五确定模块,具体用于:
基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值最小化原则,在所述第二候选器件集合中确定替换器件;或者,
基于所述第二候选器件集合中的各候选器件的老龄化延时值,与所述再次确定的待替换器件的非老龄化延时值的差值,与所述第二候选器件集合中的各候选器件的第二参数的参数值的乘积最小化原则,在所述第二候选器件集合中确定替换器件;其中,所述第二参数包括面积和/或功耗。
20.根据权利要求12所述的装置,其特征在于,所述装置,还包括:
第六确定模块,具体用于:
确定满足非老龄化时序要求的第三电路;
在所述第三电路中,确定老龄化时序违例的电路。
21.根据权利要求20所述的装置,其特征在于,所述第二确定模块,具体用于:
基于所述待替换器件的第一参数,确定第三候选器件集合;所述第一参数为与延时相关的参数,所述第三候选器件集合中的各候选器件的功能与所述待替换器件的功能相同,且所述各候选器件的第一参数的参数值与所述待替换器件的第一参数的参数值相同;
分别计算使用第三候选器件集合中的各个候选器件替换所述待替换器件形成的电路的时间裕量;
将时间裕量大于0对应的候选器件形成的集合确定为第一候选器件集合。
22.一种处理器芯片,其特征在于,包括电路;所述电路由上述权利要求1-11任一项所述的电路优化方法得到。
23.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-11任一项所述的电路优化方法。
CN202110698714.4A 2021-06-23 2021-06-23 一种电路优化方法、装置、电子设备和可读存储介质 Active CN113343622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110698714.4A CN113343622B (zh) 2021-06-23 2021-06-23 一种电路优化方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110698714.4A CN113343622B (zh) 2021-06-23 2021-06-23 一种电路优化方法、装置、电子设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN113343622A true CN113343622A (zh) 2021-09-03
CN113343622B CN113343622B (zh) 2023-06-13

Family

ID=77478101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110698714.4A Active CN113343622B (zh) 2021-06-23 2021-06-23 一种电路优化方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN113343622B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226632A (zh) * 2013-03-29 2013-07-31 龙芯中科技术有限公司 阈值电压器件的替换方法及装置
CN104778324A (zh) * 2015-04-16 2015-07-15 合肥工业大学 一种延缓老化并容忍软错误的集成电路选择性加固方法
CN105447213A (zh) * 2014-08-29 2016-03-30 国际商业机器公司 用于对电路设计进行仿真的方法和装置
CN107862154A (zh) * 2017-11-29 2018-03-30 成都锐成芯微科技股份有限公司 一种时序调整方法
CN110135098A (zh) * 2019-05-23 2019-08-16 中国科学院微电子研究所 一种亚阈值电路设计的优化方法及装置
CN110442884A (zh) * 2018-05-02 2019-11-12 中国科学院微电子研究所 一种亚阈值数字时序电路的优化方法及装置
CN110598235A (zh) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 芯片设计中修复时序违例的方法及系统
CN111211777A (zh) * 2020-01-14 2020-05-29 中山大学 一种防止芯片时序违例的系统、方法及装置
CN111651949A (zh) * 2020-06-08 2020-09-11 中国科学院微电子研究所 老化感知的电路优化方法与系统
CN111881637A (zh) * 2020-07-08 2020-11-03 广芯微电子(广州)股份有限公司 一种数字电路功耗优化的方法、系统及存储介质
CN112069763A (zh) * 2020-09-29 2020-12-11 上海兆芯集成电路有限公司 修正电路的方法
CN112183003A (zh) * 2020-11-30 2021-01-05 浙江大学 基于时序裕度和时序路径的分步多阈值电压单元分配方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226632A (zh) * 2013-03-29 2013-07-31 龙芯中科技术有限公司 阈值电压器件的替换方法及装置
CN105447213A (zh) * 2014-08-29 2016-03-30 国际商业机器公司 用于对电路设计进行仿真的方法和装置
CN104778324A (zh) * 2015-04-16 2015-07-15 合肥工业大学 一种延缓老化并容忍软错误的集成电路选择性加固方法
CN107862154A (zh) * 2017-11-29 2018-03-30 成都锐成芯微科技股份有限公司 一种时序调整方法
CN110442884A (zh) * 2018-05-02 2019-11-12 中国科学院微电子研究所 一种亚阈值数字时序电路的优化方法及装置
CN110135098A (zh) * 2019-05-23 2019-08-16 中国科学院微电子研究所 一种亚阈值电路设计的优化方法及装置
CN110598235A (zh) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 芯片设计中修复时序违例的方法及系统
CN111211777A (zh) * 2020-01-14 2020-05-29 中山大学 一种防止芯片时序违例的系统、方法及装置
CN111651949A (zh) * 2020-06-08 2020-09-11 中国科学院微电子研究所 老化感知的电路优化方法与系统
CN111881637A (zh) * 2020-07-08 2020-11-03 广芯微电子(广州)股份有限公司 一种数字电路功耗优化的方法、系统及存储介质
CN112069763A (zh) * 2020-09-29 2020-12-11 上海兆芯集成电路有限公司 修正电路的方法
CN112183003A (zh) * 2020-11-30 2021-01-05 浙江大学 基于时序裕度和时序路径的分步多阈值电压单元分配方法

Also Published As

Publication number Publication date
CN113343622B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
EP1248370B1 (en) Logic circuit design equipment and method for designing logic circuit for reducing leakage current
JP3800514B2 (ja) 集積回路設計中にデカップリング・キャパシタンスを加えるための方法
US8924975B2 (en) Core selection for applications running on multiprocessor systems based on core and application characteristics
CN112597739B (zh) 修复电路中的保持时间违例的方法和装置
US20110041114A1 (en) Circuit design support apparatus, circuit design support method, and circuit design support program
KR20130021625A (ko) 메모리 상태 변화에 따른 단말기 운용 방법 및 이를 지원하는 단말기
CN112214097B (zh) 减少低阈值单元的实现方法、装置、设备及存储介质
Vipin et al. Automated partitioning for partial reconfiguration design of adaptive systems
CN103116069A (zh) 芯片频率的测试方法、装置及系统
CN108664471A (zh) 文字识别纠错方法、装置、设备及计算机可读存储介质
CN110245978B (zh) 策略组中的策略评估、策略选择方法及装置
CN109558345B (zh) 存储器选择方法及装置
CN113343622A (zh) 一种电路优化方法、装置、电子设备和可读存储介质
CN113885691A (zh) 芯片功耗调整、神经网络训练方法、装置以及芯片系统
CN112270156A (zh) 一种时序分析方法、装置、电子设备及存储介质
CN115859897B (zh) 模型的生成方法、版图面积预测方法、装置及相关设备
CN111782717A (zh) 一种数据处理方法、系统及电子设备和存储介质
US7809542B2 (en) System and method for glitch analysis in circuits
CN116501927A (zh) 一种图数据处理系统、方法、设备及存储介质
US11775717B2 (en) Chip design method, chip design device, chip, and electronic device
KR102590617B1 (ko) 커패시턴스 타입 터치 제어 장치 및 이의 제스처 인식 방법, 칩 및 저장 매체
Bartzas et al. Dynamic data type refinement methodology for systematic performance-energy design exploration of network applications
CN106201714A (zh) 一种odex优化方法及系统
CN112380237A (zh) 数据库隐患sql的预测方法、装置、终端及存储介质
US20150269304A1 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce total power within a circuit design

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