使用量化预测函数的机器学习电路优化制造技术

技术编号:26264243 阅读:36 留言:0更新日期:2020-11-06 18:05
EDA工具使用由常规优化工具生成的量化优化解决方案(训练)数据来训练机器学习优化工具。每个训练数据条目包括输入矢量和相关联的输出矢量,该输入矢量和相关联的输出矢量分别具有由初始(非最优)电路部分和相应的替换(经优化的)电路部分的相关联的操作特性确定的量化分量值,其中在相关联的目标IC设计的优化期间由相应的替换电路部分识别和替换每个初始电路部分。由机器学习优化工具使用所存储的训练数据条目来生成高效的(例如,分段线性的)预测函数。在随后的IC设计的优化期间,针对每个所选择的初始电路部分生成输入矢量,针对输入矢量使用预测函数生成预测的输出矢量,并且随后将预测的输出矢量用于使用最佳拟合方法识别用于相应的所选择的初始电路部分的替换电路部分。

【技术实现步骤摘要】
【国外来华专利技术】使用量化预测函数的机器学习电路优化相关申请本申请要求于2019年1月15日提交的题为“MACHINE-LEARNINGCIRCUITOPTIMIZATIONUSINGQUANTIZEDPREDICTIONFUNCTIONS(使用量化预测函数的机器学习电路优化)”的美国专利申请第16/248,029号的优先权,该申请要求于2018年1月19日提交的题为“CIRCUITPOWEROPTIMIZATIONUSINGACTIVEMACHINELEARNINGANDQUANTIZEDFUNCTIONS(使用主动机器学习和量化函数的电路功率优化)”的美国临时专利申请第62/619,143号的优先权,并且该申请通过引用并入本文。
本专利技术涉及用于在基于集成电路(IC)设计制造IC器件之前开发IC设计的电子设计自动化(EDA)软件工具。更具体地,本专利技术涉及在开发期间通过EDA软件工具使用优化工具来优化IC设计的性能特性(例如,最大操作速度、最低功耗)。专利技术的背景由于新IC器件的复杂性不断增加,现在认为电子设计自动化(EDA)软件工具在使用一个或多个IC“芯片”将每个新的电子系统构想转换成相应的集成电路(IC)器件的过程中是必要的。即,IC设计者利用EDA工具来开发他们认为能够实现新的电子系统构想的初始IC设计(即,IC器件的软件描述),分析和修改该初始IC设计以便验证最终IC设计执行针对该电子系统构想的操作目标集,并且随后生成并检查定义能够实现最终IC设计的物理IC芯片的一系列IC布局(也称为掩模设计或掩模布局)。因为现代IC器件(诸如片上系统(SoC)器件之类)可以包含数十亿个单独的电路组件,所以在不使用EDA工具的情况下,不存在开发和生产现代IC器件的实用方式。近期移动电子设备(例如,智能电话、平板和智能手表)的流行度的增加已经使得EDA工具的功率优化功能极其重要。移动电子设备依赖于电池电力的有限供应,因此选择由移动电子设备使用的(多个)IC芯片来为消费者/用户提供相当长的电池寿命。然而,当今的移动电子设备被设计成执行越来越多的计算密集的软件程序,如果使用与在较早期产品中使用的相同的IC制造技术来实现,则这些软件将显著地降低电池寿命(即,使用较老的设备技术来执行新的软件程序将以比执行较老的软件所需要的速率显著较高的速率消耗电池电力,导致所需的电池再充电之间的不期望的短周期)。因为给定移动设备的商业成功可能受到电池寿命的显著影响,所以移动设备生产者很有动力使用更高效的IC制造技术和功率优化技术来抵消较新的计算密集的程序的较高功率需求。对于低功耗IC芯片的增加的需求已经创建了对于能够在合理的时间量内高效且可靠地优化新的IC设计的功耗的EDA软件工具的需求。IC芯片开发过程的功率优化部分通常在IC设计者已经利用所选择的EDA软件工具的开发工具生成能够执行所期望的功能(即,如果使用所选择的IC制造工艺原样转换成物理IC芯片)并满足所建立的约束(例如,最大芯片尺寸和/或最小操作速度)的初始IC设计之后执行。随后利用所选择的EDA软件工具的功率优化工具来优化初始IC设计的功耗,并且随后基于最终“经优化的”IC设计制造IC芯片。在各种可购得的EDA软件工具中实现的常规优化工具利用类似的方法,其中当使用较低功耗的电路部分替换较高功耗的电路部分不在最终(经优化的)IC设计中导致约束违反时,使用较低功耗的电路部分替换较高功耗的电路部分。例如,图11描绘了包括十二个高功率单元的简化的初始IC设计50-I,该十二个高功率单元被布置为如所示地形成三个信号路径:路径(PATH)1、路径2和路径3,并且图12描绘了存储可以在不改变由初始IC设计50-I执行的功能的情况下替代地实现在初始IC设计50-I的栅极位置中的替代单元H、M和L的单元库55。注意,单元H的特征在于相对的高功耗值(任意地由整数“3”指定)和低信号延迟(高速)值(即,1),而单元M具有中等范围功耗值(2)和中等范围信号延迟值(2),并且单元L具有低功耗值(1)和高信号延迟值(3)。再次参考图11,基于任意选择的定时约束和较高功耗单元H在初始IC设计50-I中的使用,路径1具有的定时余量为4,路径2具有的定时余量为6,并且路径3具有的定时余量为5。即,因为初始IC设计50-I完全使用较高速单元H形成,所以它超过了建立的定时约束,但是以较高功耗(即,将十二个H单元乘以其高功耗值(3)得到的针对IC设计50-I的总功率(TOTALPOWER)消耗值等于36)为代价。在施加到初始IC设计50-I的示例性优化过程期间,常规优化工具识别每个可以使用较低功耗电路部分(例如,单元M或L)实现的较高功耗单元电路部分(例如,单元H),并且在不违反所建立的定时约束的情况下选择最小化(优化)功耗的较低功耗电路部分。图13描绘了包括优化解决方案的示例性最终(经优化的)IC设计50-F,其中路径1中的四个单元被替换为单元M,路径2中的两个单元被替换为单元L,并且路径3中的四个单元被替换为三个单元M和一个单元L,由此在不违反施加到三个信号路径的时间约束的情况下,将最终IC设计50-F的功耗降低到23。本领域技术人员将意识到,为简洁起见,参考图11、12和13描绘的示例被极大地简化,但是所描绘的优化过程准确地表示了使用通过可购得的EDA软件工具实现的常规优化工具/方法来执行的通用优化过程。在上述上下文中,移动设备生产者通常基于两个主要标准来选择EDA软件工具:与其他可用的EDA软件工具相比,给定EDA软件工具降低移动设备IC设计中的功耗的能力,以及执行优化过程所需的时间量。虽然由可购得的EDA软件工具使用的所有常规优化方法在优化IC设计方面可以说是基本上同样高效的,但是在每个情况下,由于还需要执行所需的运行时密集的功率和定时分析(例如,基于路径的分析(PathBasedAnalysis)(PBA)),执行功率降低/优化过程所需的时间量是很大的。例如,具有最新节点技术的两百万实例中央处理单元(CPU)芯片花费10小时计算时间来实现1%动态功率降低,其中“实例”是指在CPU芯片的网表描述中引用的每个电路部分(例如,像晶体管、电阻器、或电容器一样简单的任何东西、或像IC芯片一样复杂的任何东西)。除了降低优化过程时间之外,还存在对于允许电路设计者保护专有功率节省方案和/或优化解决方案的EDA软件工具的需要。即,如上所述的,移动电子设备的商业成功或失败可以由电池寿命中的小差异来确定,因此移动电子设备生产者通常花费大量的时间和资源开发专有功率节省方案和相关联的定制优化解决方案,这些方案赋予他们的移动电子设备优于其竞争对手的那些移动电子设备的竞争优势。因此,为了回收相关联的开发成本和防止竞争对手从他们的开发努力中不公平地获益两者,这些移动电子设备生产者在(例如,通过商业秘密的方式)维持他们的专有功率节省方案方面具有很强的兴趣。需要的是能够在比使用常规优化方法所需的时间显著更少的时间内高效地优化IC设计的EDA软件工具。还需要的是允许设备生产者安全地开发并高效地利用专有优化技术的EDA软件工具。...

【技术保护点】
1.一种在计算机中的电子设计自动化(EDA)工具,所述EDA工具包括指令,所述指令当由所述计算机的处理器执行时,使所述处理器执行包括以下步骤的方法:/n使用对应于先前生成的优化解决方案的多个量化第一训练数据条目生成预测函数,其中每个量化第一训练数据条目包括相应的第一输入矢量和相应的第一输出矢量,所述第一输入矢量包括第一输入矢量值,所述第一输入矢量值可操作地表征相关联的所述先前生成的优化解决方案的相应的第一初始电路部分,所述第一输出矢量包括一个或多个第一输出矢量值,所述一个或多个第一输出矢量值可操作地表征所述相关联的先前生成的优化解决方案的相应的第一替换电路部分;/n通过将第二输入矢量施加到所述预测函数来利用所述预测函数生成针对第二初始电路部分的预测的输出矢量,所述第二输入矢量包括第二输入矢量值,所述第二输入矢量值可操作地表征所述第二初始电路部分,并且所述预测的输出矢量包括一个或多个第二输出矢量值;以及/n利用所述预测的输出矢量的所述一个或多个第二输出矢量值来从一组替代电路部分中选择第二替换电路部分,每个所述替代电路部分包括一个或多个相应的第三输出矢量值,其中选择所述第二替换电路部分包括确定所述替代电路部分中的具有与所述预测的输出矢量的所述一个或多个第二输出矢量值最接近地匹配的相应的一个或多个所述第三输出矢量值的最优电路部分。/n...

【技术特征摘要】
【国外来华专利技术】20180119 US 62/619,143;20190115 US 16/248,0291.一种在计算机中的电子设计自动化(EDA)工具,所述EDA工具包括指令,所述指令当由所述计算机的处理器执行时,使所述处理器执行包括以下步骤的方法:
使用对应于先前生成的优化解决方案的多个量化第一训练数据条目生成预测函数,其中每个量化第一训练数据条目包括相应的第一输入矢量和相应的第一输出矢量,所述第一输入矢量包括第一输入矢量值,所述第一输入矢量值可操作地表征相关联的所述先前生成的优化解决方案的相应的第一初始电路部分,所述第一输出矢量包括一个或多个第一输出矢量值,所述一个或多个第一输出矢量值可操作地表征所述相关联的先前生成的优化解决方案的相应的第一替换电路部分;
通过将第二输入矢量施加到所述预测函数来利用所述预测函数生成针对第二初始电路部分的预测的输出矢量,所述第二输入矢量包括第二输入矢量值,所述第二输入矢量值可操作地表征所述第二初始电路部分,并且所述预测的输出矢量包括一个或多个第二输出矢量值;以及
利用所述预测的输出矢量的所述一个或多个第二输出矢量值来从一组替代电路部分中选择第二替换电路部分,每个所述替代电路部分包括一个或多个相应的第三输出矢量值,其中选择所述第二替换电路部分包括确定所述替代电路部分中的具有与所述预测的输出矢量的所述一个或多个第二输出矢量值最接近地匹配的相应的一个或多个所述第三输出矢量值的最优电路部分。


2.如权利要求1所述的EDA工具,其特征在于,生成所述预测函数包括使用常规优化工具生成所述先前生成的优化解决方案中的至少一些优化解决方案,并且随后使用所述先前生成的优化解决方案中的所述至少一些优化解决方案来生成所述量化第一训练数据条目。


3.如权利要求2所述的EDA工具,其特征在于,生成量化第一训练数据条目包括生成可操作地描述在相关联的所述先前生成的优化解决方案期间被替换的初始电路组件的输入矢量,以及生成可操作地描述在所述相关联的先前生成的优化解决方案期间替换相应的初始电路组件的替换电路组件的输出矢量。


4.如权利要求1所述的EDA工具,其特征在于,所述每个量化第一训练数据条目的所述相应的第一输入矢量的所述第一输入矢量值包括初始功耗值和所述相应的第一输出矢量的所述一个或多个第一输出矢量值,所述初始功耗值可操作地表征所述先前生成的优化解决方案的所述第一初始电路部分的功耗,所述一个或多个第一输出矢量值可操作地表征所述相关联的先前生成的优化解决方案的所述相应的第一替换电路部分的最终功耗。


5.如权利要求4所述的EDA工具,其特征在于,所述相应的第一输入矢量的所述第一输入矢量值进一步包括至少一个定时值和所述相应的第一输出矢量的所述一个或多个第一输出矢量值,所述至少一个定时值可操作地表征所述第一初始电路部分的定时特性,所述一个或多个第一输出矢量值可操作地表征所述相关联的先前生成的优化解决方案的所述相应的第一替换电路部分的最终定时特性。


6.如权利要求1所述的EDA工具,其特征在于,生成所述预测函数包括:
将所述多个量化第一训练数据条目组织成多个训练数据组,使得每个所述训练数据组包括所述量化第一训练数据条目的相应部分;
针对每个所述训练数据组计算训练数据组值,其中每个所述训练数据组值包括使用在所述每个训练数据组中的所述多个训练数据条目的所述第一输入矢量值计算的相关联的平均输入矢量值,并且其中每个训练数据组值还包括使用在所述每个训练数据组中的所述多个训练数据条目的所述第一输出矢量值计算的相关联的平均输出矢量值;以及
利用所述训练数据组值生成所述预测函数。


7.如权利要求6所述的EDA工具,其特征在于,利用所述训练数据组值生成所述预测函数包括:生成多个线性公式,每个所述线性公式被配置成当所述第二输入矢量值在由所述相关联的训练数据组值对定义的相关联的分量输入矢量值对之间时,生成针对所述第二输入矢量值的所述预测的输出矢量值。


8.如权利要求7所述的EDA工具,其特征在于,所述每个线性公式包括通过将相关联的分量输出矢量值对之间的差除以所述相关联的分量输入矢量值对之间的差而计算的斜率,其中所述相关联的分量输出矢量值对分别由所述相关联的训练数据组值对定义。


9.如权利要求6所述的EDA工具,其特征在于,利用所述训练数据组值生成所述预测函数包括:生成至少一个多维平面公式,所述多维平面公式被配置成当所述第二输入矢量值在由所述训练数据组值中的三个或更多个所定义的分量输入矢量值界定的多维范围内时,生成针对所述第二输入矢量值的所述预测的输出矢量值。


10.如权利要求1所述的EDA工具,其特征在于,所述多个量化第一训练数据条目被存储在训练数据库中,并且其中所述方法进一步包括更新所述训练数据库以包括第二训练数据条目,所述第二训练数据条目包括所述第二输入矢量和可操作地表征所述所选择的第二替换电路部分的相关联的输出矢量。


11.如权利要求10所述的EDA工具,其特征在于,所述方法进一步包括使用所述多个量化第一训练数据条目和所述第二训练...

【专利技术属性】
技术研发人员:N·吴
申请(专利权)人:辛奥普希斯股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1