CN115048885B - 电路设计参数调整方法、装置、电子设备和存储介质 - Google Patents
电路设计参数调整方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115048885B CN115048885B CN202210965993.0A CN202210965993A CN115048885B CN 115048885 B CN115048885 B CN 115048885B CN 202210965993 A CN202210965993 A CN 202210965993A CN 115048885 B CN115048885 B CN 115048885B
- Authority
- CN
- China
- Prior art keywords
- design
- module
- optimization
- parameters
- parameter
- 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
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/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
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)
Abstract
本发明实施例提供了一种电路设计参数调整方法、装置、电子设备和存储介质。所述电路设计参数调整方法,包括:选择属于设计参数空间的当前设计参数;执行设计自动化处理,得到各个设计模块的执行结果;选择各个设计模块中执行结果不满足预设优化成本条件的待优化设计模块;基于待优化设计模块的当前设计参数输入到设计参数优化引擎中,得到属于设计参数空间的下一设计参数;至少利用当前设计参数,对设计参数优化引擎进行拟合优化;利用下一设计参数,更新当前设计参数,直到待优化设计模块的执行结果报告满足预设优化成本条件。本发明实施例的方案提高了设计模块的局部优化效率,以及设计参数调整的准确性和效率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种电路设计参数调整方法、装置、电子设备和存储介质。
背景技术
逻辑综合和物理设计(Logic synthesis and physical design,LSPD)是一种帮助设计人员调整和平衡可实现的功率、性能和面积(PPA)指标的关键电子设计自动化(Electronic design automation,EDA)工具。
随着诸如集成电路的设计实例的复杂性和规模的增加,EDA中的LSPD工具和流程已经涉及到对物理设计质量有显著影响的大量设计参数,使得设计过程中的诸多挑战,例如,设计点较多,设计空间较大,单位设计点耗时的LSPD工具运行时间较长,产生了设计参数对性能/面积的非单调效应,不同设计特征之间的关联较复杂,LSPD工具的实现版本差异较大,等等。
考虑到上述情况下,在采用EDA工具设计集成电路时,将整体设计划分为多个设计模块,不同设计模块具有不同的设计特点,但是,如何实现不同设计模块的局部优化成为关键的问题。
发明内容
有鉴于此,本发明实施例提供一种电路设计参数调整方法、装置、电子设备和存储介质,以至少部分解决上述问题。
根据本发明实施例的第一方面,提供了一种电路设计参数调整方法,包括:针对电路设计实例中的各个设计模块,选择属于设计参数空间的当前设计参数;基于所述当前设计参数,执行设计自动化处理,得到所述各个设计模块的执行结果;选择所述各个设计模块中执行结果不满足预设优化成本条件的待优化设计模块;基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中,得到属于所述设计参数空间的下一设计参数;至少利用所述当前设计参数,对所述设计参数优化引擎进行拟合优化;利用所述下一设计参数,更新所述当前设计参数,直到所述待优化设计模块的执行结果报告满足所述预设优化成本条件。
本发明的另一实现方式中,所述选择所述各个设计模块中执行结果报告不满足预设优化成本条件的待优化设计模块,包括:基于所述各个设计模块中执行结果报告,确定所述各个设计模块的优化成本;对所述各个设计模块的优化成本进行排序;在排序后的各个设计模块中,选择优化成本小于其他设计模块的至少一个设计模块,作为待优化设计模块。
本发明的另一实现方式中,所述基于所述各个设计模块中执行结果报告,确定所述各个设计模块的优化成本,包括:基于每个设计模块中执行结果报告,确定该设计模块与多个设计优化维度对应的成本;对多个设计优化维度的成本进行加权,确定该设计模块的优化成本。
本发明的另一实现方式中,在所述基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中之前,所述方法还包括:基于至少一个设计模块的历史设计参数进行参数拟合,得到设计参数优化引擎;所述至少利用所述当前设计参数,对所述设计参数优化引擎进行拟合优化,包括:基于所述当前设计参数更新所述至少一个设计模块的历史设计参数;利用所述历史设计参数,进一步拟合所述设计参数优化引擎。
本发明的另一实现方式中,利用所述历史设计参数,进一步拟合所述设计参数优化引擎,包括:确定各个设计模块的历史设计参数与所述各个设计模块的优化成本之间的关联程度;选择关联程度高于预设关联条件的设计模块的历史设计参数,进一步拟合所述设计参数优化引擎。
本发明的另一实现方式中,所述确定各个设计模块的历史设计参数与所述各个设计模块的优化成本之间的关联程度,包括:计算在所述设计参数空间除去目标设计维度之外的情况下所述历史设计参数对应的第一优化成本;计算在所述设计参数空间包括目标设计维度之外的情况下所述历史设计参数对应的第二优化成本;基于所述第一优化成本相对于所述第二优化成本的成本变动,确定所述目标设计维度的关联程度。
本发明的另一实现方式中,所述选择关联程度高于预设关联条件的设计模块的历史设计参数,包括:将所述设计参数空间中的多个设计维度作为所述目标设计维度,计算多个设计维度各自的关联程度;在所述多个设计维度中,去除关联程度低于预设排序条件的设计维度,得到降维参数空间;确定各个设计模块在所述降维参数空间中的历史设计参数。
根据本发明实施例的第二方面,提供了一种设计参数调整装置,包括:第一选择模块,针对电路设计实例中的各个设计模块,选择属于设计参数空间的当前设计参数;执行模块,基于所述当前设计参数,执行设计自动化处理,得到所述各个设计模块的执行结果;第二选择模块,选择所述各个设计模块中执行结果不满足预设优化成本条件的待优化设计模块;优化模块,基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中,得到属于所述设计参数空间的下一设计参数;拟合模块,至少利用所述当前设计参数,对所述设计参数优化引擎进行拟合优化;更新模块,利用所述下一设计参数,更新所述当前设计参数,直到所述待优化设计模块的执行结果报告满足所述预设优化成本条件。
根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的方法对应的操作。
根据本发明实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
在本发明实施例的方案中,各个设计模块中执行结果报告能够反映计算各种优化条件,能够从各个设计模块中可靠地选择待优化设计模块,进行局部地优化。此外,通过迭代计算过程,同时完成了待优化设计模块的选择和参数更新,提高了局部优化效率。此外,在设计参数更新的过程中,设计参数优化引擎也同步执行了拟合优化,提高了设计参数调整的准确性和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1A为根据一个示例器件设计过程的示意性框图。
图1B为图1A示例所适用的设计优化流程的示例。
图2A为根据本发明的一个实施例的电路设计参数调整方法的步骤流程图。
图2B为图2A实施例所适用的数据处理架构。
图3为图2A实施例的设计参数调整过程的示意性框图。
图4为根据本发明的另一实施例的设计参数调整装置的结构框图。
图5为根据本发明的另一实施例的电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
图1A示出了一种可能的器件设计过程,适用于具有用于安全关键电子电路的自动设计和验证操作的EDA系统。参考文中的各个示例的设计工艺流程可以如图1A所示,其它设计流程操作也可以与作为设计流程和设计流程的一部分来描述的任何集成基本电路操作。如图1A所示,总体设计流程100包括设计阶段110、器件制造阶段120、设计验证阶段130、以及器件验证阶段140。设计阶段110包括初始设计输入操作101,其确定了器件的基本元件和功能,以及基于电路设计的各种分析和优化的修订,在设计输入操作101中,在进行调整以确保满足电路的功能要求之前生成电路的初始布局,在设计输入操作101中,取决于要使用的特定设计算法,还生成用于要创建的器件的初始策略、策略和上下文。
在一些示例中,在设计输入操作101中设计值的初始选择设之后,根据所描述的各种示例,在优化操作111或布局实例112期间,与其它自动化设计过程一起,可以生成对初始电路设计的更新。如下所述,电路设计的设计约束可以在设计输入操作中由设计输入101发起,然后可以根据各种示例使用定时分析来分析。同时,设计流程100示出了在布局实例112之前发生的优化,可以在任何时间执行对电路设计的更新,以改善电路设计的预期操作。
在设计输入101中电路的功能描述数据可以被用于设计输入操作101以产生电路布局,并且执行任何优化操作111之后,在布局实例112中生成布局,布局描述了与所述设计输入匹配的所述器件的物理布局尺寸。然后,该布局可用于器件制造操作122中生成器件,或者可以使用设计者输入或基于设计仿真132或者提取、三维(3D)建模和分析144操作来执行其他测试和设计更新132。一旦生成器件,就可以基于实际器件性能来测试该器件作为器件测试142操作和布局改进的一部分。
图1B进一步示出了优化操作111所执行的流程,优化操作11包括逻辑综合12和物理设计13,首先,将图1A中的设计输入101对应的电路设计输入到逻辑综合12得到了逻辑综合结果,再将逻辑综合结果输入到物理设计13进一步执行物理设计,得到了作为设计布局实例的设计布局112,应理解,可以采用制造设备制造布局设计112中的集成电路。
随着诸如集成电路的设计实例的复杂性和规模的增加,优化操作111已经涉及到对物理设计质量有显著影响的大量设计参数,在采用EDA工具执行优化操作111时,将整体设计划分为多个设计模块,不同设计模块具有不同的设计特点,但是,如何实现不同设计模块的局部优化成为关键的问题。
为此,本发明实施例提供了一系列设计参数调整方案,显著地提高了局部优化效率,同时保证了整体优化效率。具体地,图2A示出了根据本发明的一个实施例的电路设计参数调整方法,适用于采用EDA工具执行的优化操作111。电路设计参数调整方法包括:
S210:针对电路设计实例中的各个设计模块,选择属于设计参数空间的当前设计参数。
例如,电路设计实例可以从设计输入101得到,各个设计模块为电路设计模块,可以是具有不同设计特性的模块,诸如高级加密标准(Advanced Encryption Standard,AES)加密模块、算数逻辑单元ALU等,各个设计模块可以是不同的设计团队执行设计,得到各个设计模块组合在一起形成集成电路,作为特征功能的芯片。
又例如,参数设计空间中的各个参数维度包括但不限于各个元器件的电气参数、尺寸参数等,例如,门级电路的尺寸、门级电路的面积、门级电路的功耗、晶体管的偏置电压、晶体管的反向截止电压、算数逻辑单元(Arithmetic Logic Unit,ALU)的设计功率和设计面积、高级加密标准(Advanced Encryption Standard,AES)电路的设计功率和设计面积。
S220:基于当前设计参数,执行设计自动化处理,得到各个设计模块的执行结果报告。
例如,设计自动化处理可以采用EDA工具实现,例如,设计自动化处理可以包括逻辑综合、静态时序分析(Static Timing Analysis,STA)、放置和路由(Place and Route,P&R)等等,执行结果报告可以通过诸如逻辑综合工具执行完成之后给出,应理解,执行结果报告的给出是通常EDA工具的例程。
S230:选择各个设计模块中执行结果报告不满足预设优化成本条件的待优化设计模块。
例如,预设优化成本条件可以指示预设优化成本,在优化成本高于预设优化成本时,相应设计模块不满足预测优化条件,优化成本可以与执行结果报告所指示的执行质量负相关,各个设计模块的执行质量越低,优化成本越高,执行质量越高,优化成本越低。各个设计模块的执行质量可以基于各个优化维度的综合执行质量。各个优化维度的执行质量包括但不限于:设计模块的占用面积、设计模块的性能、设计模块的功耗、设计模块的时序违规、最差负时序裕量(Worst Negative Slack,WNS)、总负时序裕量(Total NegativeSlack,TNS)等。优选地,预设优化成本条件可以是各个设计模块中的优化成本排序。
S240:基于待优化设计模块的当前设计参数输入到设计参数优化引擎中,得到属于设计参数空间的下一设计参数。
例如,设计参数优化引擎可以是基于高斯过程的贝叶斯优化模型、退火优化模型、机器学习模型等。本实施例的设计参数优化引擎具有基于历史设计参数预测当前设计参数的能力,并且可以通过进一步训练或更新被进一步拟合。
又例如,设计参数空间的各个参数维度是[A;B;C;D;E;F;G;H;I;J;K],当前设计参数为[An;Bn;Cn-Dn;En;Fn;Gn;Hn;In;Jn;Kn],且下一设计参数为[An+1;Bn+1;Cn+1;Dn+1;En+1;Fn+1;Gn+1;Hn+1;In+1;Jn+1;Kn+1]。
S250:至少利用当前设计参数,对设计参数优化引擎进行拟合优化。
例如,可以仅仅利用当前设计参数,对设计参数优化引擎进行拟合优化,也可以将当前设计参数与历史参数融合,对设计参数优化引擎进行拟合优化。考虑了当前设计参数的因素,有利于提高设计参数优化引擎的预测能力。
S260:利用下一设计参数,更新当前设计参数,直到待优化设计模块的执行结果报告满足预设优化成本条件。
例如,在当前设计参数被下一设计参数更新之后,待优化设计模块的执行结果报告可能会变化,例如,在待优化设计模块在各个设计模块中的优化成本排序更加靠前后,新的待优化设计模块会产生。优选地,可以选择各个设计模块中的排序在后的设计模块作为待优化设计模块,在待优化设计模块的排序改变为靠前之后,新的待优选设计模块会生成,直到各个设计模块均满足预设优化成本条件。
在本发明实施例的方案中,各个设计模块中执行结果报告能够反映计算各种优化条件,能够从各个设计模块中可靠地选择待优化设计模块,进行局部地优化。此外,通过迭代计算过程,同时完成了待优化设计模块的选择和参数更新,提高了局部优化效率。此外,在设计参数更新的过程中,设计参数优化引擎也同步执行了拟合优化,提高了设计参数调整的准确性和效率。
进一步地,图2B为图2A实施例所适用的数据处理架构。参考图2B,流程管理器21用于EDA工具的流程控制,例如,基于设计参数迭代执行设计自动化处理。在执行流程控制时,可以控制从当前执行过程切换或继续到下一执行过程。例如,流程管理器21用于基于当前设计参数执行设计自动化处理,在当前设计参数被下一设计参数更新之后,基于下一设计参数执行设计自动化处理,实现了设计参数迭代的控制。
分布式计算资源22可以由诸如CPU或GPU构成的算力,在高维的设计参数调整时提供了算力,保证或加速迭代过程。
在采用EDA工具执行各个设计模块的设计参数之后,会生成相应的执行结果报告,应理解,执行结果报告可以与传统执行结果报告相同或不同,本示例对此不作限定。执行结果报告存档23模块用于保存执行结果报告,作为历史数据进行分析或者查询。例如,可以查询各个设计模块的执行结果报告,分析各个设计模块的优化成本。
参数空间操作器24用于操作设计参数空间的各个参数维度、以及每个参数维度的参数值,各个参数维度的参数值构成了设计参数。例如,各个参数维度的当前参数值构成了当前设计参数,各个参数维度的下一参数值构成了下一设计参数。此外,参数空间操作器24还可以用于对各个参数维度进行降维或升维,例如,在各个参数维度的过多时,可以对多个参数维度进行降维。
设计参数优化引擎26用于对历史设计参数预测当前设计参数。设计参数优化引擎26可以基于贝叶斯优化模型、退火模型、机器学习模型等。目标函数25可以是诸如贝叶斯优化模型的优化目标,例如,目标函数25可以是贝叶斯模型的采集函数,或者,机器学习模型的目标函数。具体地,采集函数可以是概率改进(Probability of Improvement,PI)、期望改进(Expected Improvement,EI)和置信度上限(Upper Confidence Bound,UCB)等中的一者。PI、EI和UCB都是贝叶斯优化模型的代理函数的方差和期望的函数。
参数分析器27用于分析各个设计模块的历史设计参数与各个设计模块的优化成本之间的关联程度。在一个示例中,设计参数优化引擎26可以调用参数分析器27的分析结果,在执行设计参数预测时,对关联程度较大的设计参数维度设置较高的权重,对关联程度较小的设计参数维度设置较小的权重,或者,去除关联程度较小的设计参数维度,保留关联程度较大的设计参数维度。
模块排序器28用于选择各个设计模块中执行结果报告不满足预设优化成本条件的待优化设计模块。
在另一些示例中,作为选择各个设计模块中执行结果报告不满足预设优化成本条件的待优化设计模块的示例,可以基于各个设计模块中执行结果报告,确定各个设计模块的优化成本,然后,对各个设计模块的优化成本进行排序,在排序后的各个设计模块中,选择优化成本小于其他设计模块的至少一个设计模块,作为待优化设计模块,通过排序算法提高了基于设计模块的局部优化的效率。
进一步地,作为确定各个设计模块的优化成本的示例,可以基于每个设计模块中执行结果报告,确定该设计模块与多个设计优化维度对应的成本,然后,对多个设计优化维度的成本进行加权,确定该设计模块的优化成本。可靠且准确的计算了优化成本。
在另一些示例中,在所述基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中之前,还可以基于至少一个设计模块的历史设计参数进行参数拟合,得到设计参数优化引擎。相应地,可以基于所述当前设计参数更新所述至少一个设计模块的历史设计参数,然后,利用所述历史设计参数,进一步拟合所述设计参数优化引擎,从而提高了设计参数的预测准确度。
进一步地,作为进一步拟合设计参数优化引擎的示例,可以确定各个设计模块的历史设计参数与所述各个设计模块的优化成本之间的关联程度,然后,选择关联程度高于预设关联条件的设计模块的历史设计参数,进一步拟合所述设计参数优化引擎,提高了设计参数优化引擎的优化效率和准确度。
进一步地,作为确定各个设计模块的历史设计参数与各个设计模块的优化成本之间的关联程度的一个示例,可以计算在设计参数空间除去目标设计维度之外的情况下历史设计参数对应的第一优化成本,然后,计算在设计参数空间包括目标设计维度之外的情况下历史设计参数对应的第二优化成本,然后,基于第一优化成本相对于第二优化成本的成本变动,确定目标设计维度的关联程度,使得这样确定的关联程度有利于基于优化成本进行设计参数预测。
在另一些示例中,作为选择关联程度高于预设关联条件的设计模块的历史设计参数的一个示例,可以将设计参数空间中的多个设计维度作为目标设计维度,计算多个设计维度各自的关联程度,然后,在多个设计维度中,去除关联程度低于预设排序条件的设计维度,得到降维参数空间,然后,确定各个设计模块在降维参数空间中的历史设计参数。设计参数空间的降维处理,在给定计算资源的情况下,提高了设计自动化的执行效率。
图3为图2A实施例的设计参数调整过程的示意性框图。设计参数调整过程包括如下步骤:
在步骤S310中,基于输入的设计模块信息以及参数空间信息,执行设计自动化处理,继续执行S320。设计模块信息可以包括各个设计模块的标识,参数空间信息可以包括各个设计模块的当前设计参数。
在步骤S320中,在完成当前设计参数的执行之后,获取各个设计模块的执行结果报告,计算各个设计模块的优化成本,继续执行S330。具体地,可以基于每个设计模块中执行结果报告,确定该设计模块与多个设计优化维度对应的成本。
在步骤S330中,将各个设计模块的优化成本存档用于后续查询,继续执行S330。
在步骤S340中,对各个设计模块的优化成本进行排序,选择不满足预设优化成本条件的待优化设计模块,继续执行S370。具体地,在对各个设计模块的优化成本进行排序时,需要确定在基于执行预算的情况下各个设计模块的各个优化维度的执行质量。然后,对各个优化维度的执行质量进行加权,得到了各个设计模块的综合执行质量。综合执行质量越低,优化成本越高,综合执行质量越高优化成本越低。各个优化维度的执行质量包括但不限于:设计模块的占用面积、设计模块的性能、设计模块的功耗、设计模块的时序违规、最差负时序裕量(Worst Negative Slack,WNS)、总的负时序裕量(Total Negative Slack,TNS)等。
在步骤S350中,基于设计模块信息和参数空间信息进行参数空间降维,继续执行S360。
在步骤S360中,采用参数分析器27分析设计参数空间中的参数维度与各个设计模块的优化成本之间的关联程度,并且将关联程度馈送到设计参数优化引擎26,继续执行S370。
在步骤S370中,设计参数优化引擎26基于关联程度去除关联程度较小的参数维度或者设置较低权重,更新设计参数优化引擎26的优化模型。然后,采用优化模型基于S340输入的待优化设计模块的当前设计参数进行预测,得到待优化设计模块的下一设计参数,反馈到步骤S310中。具体地,可以选择关联程度高于预设关联条件的设计模块的历史设计参数,训练设计参数优化引擎。
以贝叶斯优化为例,可以获取待优化设计模块在多个参数维度的历史设计参数,多个参数维度具有各自的权重,在一参数维度被去除时,可以认为该参数维度的权重为零。进一步地,基于多个参数维度及其权重,优化设计参数优化引擎的代理函数(自变量为待优化设计模块的各个设计参数),换言之,与多个参数维度的权重相同的情况相比,本发明实施例的代理函数具有的不同曲线,进一步,采用采集函数的优化目标,选择待优化模块的下一设计参数。
在执行待优化设计模块的下一设计参数之后,得到执行结果报告,基于执行结果报告计算相应的优化成本。如果这时的优化成本下降,则更新存档的优化成本,如果优化成本未下降,则在待优化设计模块的历史设计参数中最近一设计参数后,更新历史设计参数、以及代理函数,然后用更新的代理函数再次预测下一设计参数。这是因为,在优化成本未下降时,存在可靠性较差的历史设计参数作为预测参考数据,去除最近一设计参数来更新历史设计参数,有利于逼近可靠性较高的历史设计参数。
在优化成本下降的情况下,再次获取存档的其他设计模块的先前优化成本,如果待优化模块的优化成本排序未改变,则基于下一设计参数更新历史设计参数,并且采用设计参数优化引擎再次预测。如果待优化模块的优化成本排序改变,则重新选择待优化设计模型,直到各个设计模块均满足预设优化成本条件。
图4为根据本发明的另一实施例的设计参数调整装置的结构框图。本实施例的设计参数调整装置对应于图2A的电路设计参数调整方法,包括:
第一选择模块410,针对电路设计实例中的各个设计模块,选择属于设计参数空间的当前设计参数;
执行模块420,基于所述当前设计参数,执行设计自动化处理,得到所述各个设计模块的执行结果;
第二选择模块430,选择所述各个设计模块中执行结果不满足预设优化成本条件的待优化设计模块;
优化模块440,基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中,得到属于所述设计参数空间的下一设计参数;
拟合模块450,至少利用所述当前设计参数,对所述设计参数优化引擎进行拟合优化;
更新模块460,利用所述下一设计参数,更新所述当前设计参数,直到所述待优化设计模块的执行结果报告满足所述预设优化成本条件。
在本发明实施例的方案中,各个设计模块中执行结果报告能够反映计算各种优化条件,能够从各个设计模块中可靠地选择待优化设计模块,进行局部地优化。此外,通过迭代计算过程,同时完成了待优化设计模块的选择和参数更新,提高了局部优化效率。此外,在设计参数更新的过程中,设计参数优化引擎也同步执行了拟合优化,提高了设计参数调整的准确性和效率。
在另一些示例中,第二选择模块具体用于:基于所述各个设计模块中执行结果报告,确定所述各个设计模块的优化成本;对所述各个设计模块的优化成本进行排序;在排序后的各个设计模块中,选择优化成本小于其他设计模块的至少一个设计模块,作为待优化设计模块。
在另一些示例中,第二选择模块具体用于:基于每个设计模块中执行结果报告,确定该设计模块与多个设计优化维度对应的成本,对多个设计优化维度的成本进行加权,确定该设计模块的优化成本。
在另一些示例中,拟合模块还用于:基于至少一个设计模块的历史设计参数进行参数拟合,得到设计参数优化引擎。拟合模块具体用于:基于所述当前设计参数更新所述至少一个设计模块的历史设计参数,然后,利用所述历史设计参数,进一步拟合所述设计参数优化引擎。
在另一些示例中,拟合模块具体用于:确定各个设计模块的历史设计参数与所述各个设计模块的优化成本之间的关联程度,然后,选择关联程度高于预设关联条件的设计模块的历史设计参数,进一步拟合所述设计参数优化引擎。
在另一些示例中,拟合模块具体用于:计算在所述设计参数空间除去目标设计维度之外的情况下所述历史设计参数对应的第一优化成本;计算在所述设计参数空间包括目标设计维度之外的情况下所述历史设计参数对应的第二优化成本;基于所述第一优化成本相对于所述第二优化成本的成本变动,确定所述目标设计维度的关联程度。
在另一些示例中,拟合模块具体用于:将所述设计参数空间中的多个设计维度作为所述目标设计维度,计算多个设计维度各自的关联程度;在所述多个设计维度中,去除关联程度低于预设排序条件的设计维度,得到降维参数空间;确定各个设计模块在所述降维参数空间中的历史设计参数。
本实施例的装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
参照图5,示出了根据本发明的另一实施例的电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图5所示,该电子设备可以包括:处理器(processor)502、通信接口(Communications Interface)504、存储有程序510的存储器(memory)506、以及通信总线508。
处理器、通信接口、以及存储器通过通信总线完成相互间的通信。
通信接口,用于与其它电子设备或服务器进行通信。
处理器,用于执行程序,具体可以执行上述方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行图2A的电路设计参数调整方法。
此外,程序中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (9)
1.一种电路设计参数调整方法,包括:
针对电路设计实例中的各个设计模块,选择属于设计参数空间的当前设计参数;
基于所述当前设计参数,执行设计自动化处理,得到所述各个设计模块的执行结果;
基于所述各个设计模块中执行结果报告,确定所述各个设计模块的优化成本;
对所述各个设计模块的优化成本进行排序;
在排序后的各个设计模块中,选择优化成本小于其他设计模块的至少一个设计模块,作为待优化设计模块;
基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中,得到属于所述设计参数空间的下一设计参数;
至少利用所述当前设计参数,对所述设计参数优化引擎进行拟合优化;
利用所述下一设计参数,更新所述当前设计参数,直到所述待优化设计模块的执行结果报告满足预设优化成本条件。
2.根据权利要求1所述的方法,其中,所述基于所述各个设计模块中执行结果报告,确定所述各个设计模块的优化成本,包括:
基于每个设计模块中执行结果报告,确定该设计模块与多个设计优化维度对应的成本;
对多个设计优化维度的成本进行加权,确定该设计模块的优化成本。
3.根据权利要求1所述的方法,其中,在所述基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中之前,所述方法还包括:
基于至少一个设计模块的历史设计参数进行参数拟合,得到设计参数优化引擎;
所述至少利用所述当前设计参数,对所述设计参数优化引擎进行拟合优化,包括:
基于所述当前设计参数更新所述至少一个设计模块的历史设计参数;
利用所述历史设计参数,进一步拟合所述设计参数优化引擎。
4.根据权利要求3所述的方法,其中,所述利用所述历史设计参数,进一步拟合所述设计参数优化引擎,包括:
确定各个设计模块的历史设计参数与所述各个设计模块的优化成本之间的关联程度;
选择关联程度高于预设关联条件的设计模块的历史设计参数,进一步拟合所述设计参数优化引擎。
5.根据权利要求4所述的方法,其中,所述确定各个设计模块的历史设计参数与所述各个设计模块的优化成本之间的关联程度,包括:
计算在所述设计参数空间除去目标设计维度之外的情况下所述历史设计参数对应的第一优化成本;
计算在所述设计参数空间包括目标设计维度的情况下所述历史设计参数对应的第二优化成本;
基于所述第一优化成本相对于所述第二优化成本的成本变动,确定所述目标设计维度的关联程度。
6.根据权利要求5所述的方法,其中,所述选择关联程度高于预设关联条件的设计模块的历史设计参数,包括:
将所述设计参数空间中的多个设计维度作为所述目标设计维度,计算多个设计维度各自的关联程度;
在所述多个设计维度中,去除关联程度低于预设排序条件的设计维度,得到降维参数空间;
确定各个设计模块在所述降维参数空间中的历史设计参数。
7.一种设计参数调整装置,包括:
第一选择模块,针对电路设计实例中的各个设计模块,选择属于设计参数空间的当前设计参数;
执行模块,基于所述当前设计参数,执行设计自动化处理,得到所述各个设计模块的执行结果;
第二选择模块,基于所述各个设计模块中执行结果报告,确定所述各个设计模块的优化成本,对所述各个设计模块的优化成本进行排序,并且在排序后的各个设计模块中,选择优化成本小于其他设计模块的至少一个设计模块,作为待优化设计模块;
优化模块,基于所述待优化设计模块的当前设计参数输入到设计参数优化引擎中,得到属于所述设计参数空间的下一设计参数;
拟合模块,至少利用所述当前设计参数,对所述设计参数优化引擎进行拟合优化;
更新模块,利用所述下一设计参数,更新所述当前设计参数,直到所述待优化设计模块的执行结果报告满足预设优化成本条件。
8.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的方法对应的操作。
9.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210965993.0A CN115048885B (zh) | 2022-08-12 | 2022-08-12 | 电路设计参数调整方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210965993.0A CN115048885B (zh) | 2022-08-12 | 2022-08-12 | 电路设计参数调整方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115048885A CN115048885A (zh) | 2022-09-13 |
CN115048885B true CN115048885B (zh) | 2022-11-15 |
Family
ID=83166870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210965993.0A Active CN115048885B (zh) | 2022-08-12 | 2022-08-12 | 电路设计参数调整方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048885B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096728A (zh) * | 2010-11-29 | 2011-06-15 | 中山大学 | 基于分布估计算法的功率电子电路优化方法 |
CN103270512A (zh) * | 2010-10-18 | 2013-08-28 | 艾尔葛托奇普股份有限公司 | 智能架构创建器 |
CN107169232A (zh) * | 2017-06-09 | 2017-09-15 | 京信通信系统(中国)有限公司 | 声波滤波器电路模型参数的提取方法及装置 |
CN107239594A (zh) * | 2017-04-26 | 2017-10-10 | 中车株洲电力机车研究所有限公司 | 一种基于pspice的模拟电路分散性优化方法 |
CN108595815A (zh) * | 2018-04-18 | 2018-09-28 | 石家庄创天电子科技有限公司 | 人工智能体训练系统及无源电路优化设计系统及方法 |
CN113705136A (zh) * | 2021-08-20 | 2021-11-26 | 浪潮电子信息产业股份有限公司 | 一种集成电路自动化逻辑综合系统、方法、装置及介质 |
CN113806993A (zh) * | 2021-09-03 | 2021-12-17 | 广州杰赛科技股份有限公司 | 一种无线传感器结构设计优化方法、装置、设备及介质 |
CN114492279A (zh) * | 2022-01-27 | 2022-05-13 | 西安交通大学 | 一种模拟集成电路的参数优化方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8006220B2 (en) * | 2007-09-24 | 2011-08-23 | Solido Design Automation Inc. | Model-building optimization |
CN109960834A (zh) * | 2017-12-25 | 2019-07-02 | 复旦大学 | 一种基于多目标贝叶斯优化的模拟电路多目标优化设计方法 |
CN113038501B (zh) * | 2019-12-24 | 2022-08-05 | 中国移动通信集团四川有限公司 | 网络链路优化方法、装置及电子设备 |
CN114065697A (zh) * | 2021-11-29 | 2022-02-18 | 深圳市华星光电半导体显示技术有限公司 | 驱动电路参数优化方法和装置、电子设备及存储介质 |
-
2022
- 2022-08-12 CN CN202210965993.0A patent/CN115048885B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103270512A (zh) * | 2010-10-18 | 2013-08-28 | 艾尔葛托奇普股份有限公司 | 智能架构创建器 |
CN102096728A (zh) * | 2010-11-29 | 2011-06-15 | 中山大学 | 基于分布估计算法的功率电子电路优化方法 |
CN107239594A (zh) * | 2017-04-26 | 2017-10-10 | 中车株洲电力机车研究所有限公司 | 一种基于pspice的模拟电路分散性优化方法 |
CN107169232A (zh) * | 2017-06-09 | 2017-09-15 | 京信通信系统(中国)有限公司 | 声波滤波器电路模型参数的提取方法及装置 |
CN108595815A (zh) * | 2018-04-18 | 2018-09-28 | 石家庄创天电子科技有限公司 | 人工智能体训练系统及无源电路优化设计系统及方法 |
CN113705136A (zh) * | 2021-08-20 | 2021-11-26 | 浪潮电子信息产业股份有限公司 | 一种集成电路自动化逻辑综合系统、方法、装置及介质 |
CN113806993A (zh) * | 2021-09-03 | 2021-12-17 | 广州杰赛科技股份有限公司 | 一种无线传感器结构设计优化方法、装置、设备及介质 |
CN114492279A (zh) * | 2022-01-27 | 2022-05-13 | 西安交通大学 | 一种模拟集成电路的参数优化方法及系统 |
Non-Patent Citations (3)
Title |
---|
Improved-Efficacy Optimization of Compact Microwave Passives by Means of Frequency-Related Regularization;Slawomir Koziel et al;《 IEEE Access》;20201026;全文 * |
基于NLP建模的ICPT系统参数优化;赵志斌;《中国博士学位论文全文数据库电子期刊 工程科技II辑》;20130615;第2013年卷(第6期);全文 * |
模拟集成电路设计与优化方法研究;李亚萍;《中国博士学位论文全文数据库电子期刊 信息科技辑》;20211015;第2021年卷(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115048885A (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003826B1 (en) | Automated analysis and optimization of circuit designs | |
CN110991138B (zh) | 用于生成集成电路的方法和系统以及计算机可读介质 | |
US9147032B2 (en) | Machine-learning based datapath extraction | |
US20230152367A1 (en) | System and methods for analyzing and estimating susceptibility of circuits to radiation-induced single-event-effects | |
US10430536B1 (en) | Method and apparatus for yield calculation using statistical timing data that accounts for path and stage delay correlation | |
Elgamma et al. | Learn to place: FPGA placement using reinforcement learning and directed moves | |
US20210295167A1 (en) | Generative networks for physics based simulations | |
Porrmann et al. | A massively parallel architecture for self-organizing feature maps | |
CN113408224B (zh) | 利用网表局部再综合实现布局合法化的fpga布局方法 | |
Al-Hyari et al. | A deep learning framework to predict routability for fpga circuit placement | |
US11755797B2 (en) | System and method for predicting performance, power and area behavior of soft IP components in integrated circuit design | |
US10860764B1 (en) | Layer assignment technique to improve timing in integrated circuit design | |
CN117236278B (zh) | 一种基于数字孪生技术的芯片生产仿真方法及系统 | |
WO2022247092A1 (en) | Methods and systems for congestion prediction in logic synthesis using graph neural networks | |
Vasicek et al. | How to evolve complex combinational circuits from scratch? | |
Grewal et al. | Automatic flow selection and quality-of-result estimation for FPGA placement | |
CN104376120B (zh) | 一种信息检索方法及系统 | |
CN115048885B (zh) | 电路设计参数调整方法、装置、电子设备和存储介质 | |
US10896283B1 (en) | Noise-based optimization for integrated circuit design | |
CN115017844B (zh) | 设计参数调整方法、装置、电子设备和存储介质 | |
US20130339913A1 (en) | Semi-automated method of FPGA timing closure | |
Guo et al. | On-the-fly reduction of stimuli for functional verification | |
CN116976248A (zh) | 使用冗余节点的电路设计调整 | |
US11790139B1 (en) | Predicting a performance metric based on features of a circuit design and explaining marginal contributions of the features to the prediction | |
Martin et al. | An adaptive sequential decision making flow for FPGAs using machine learning |
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 |