CN114510896A - 一种缓冲器插入方法、装置、存储介质及电子设备 - Google Patents
一种缓冲器插入方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114510896A CN114510896A CN202210137597.9A CN202210137597A CN114510896A CN 114510896 A CN114510896 A CN 114510896A CN 202210137597 A CN202210137597 A CN 202210137597A CN 114510896 A CN114510896 A CN 114510896A
- Authority
- CN
- China
- Prior art keywords
- parameters
- fitness
- insertion strategy
- strategy parameters
- 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.)
- 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/36—Circuit design at the analogue level
- G06F30/373—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开实施例提供了一种缓冲器插入方法、装置、存储介质及电子设备,包括:确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,不仅能够节省大量时间,还能够提高目标电路的性能。
Description
技术领域
本公开涉及集成电路技术领域,尤其涉及一种缓冲器插入方法、装置、存储介质及电子设备。
背景技术
动态随机存取存储器(Dynamic Random Access Memory,DRAM)是计算机中常用的半导体存储器件。在DRAM的设计过程中,需要先按照功能需求设计电路器件以及理想化延时,再调整信号的时序和延时。在调整时序和延时的过程中,有些信号需要通过很长的传输路径进行传递,因此需要在传输路径上插入缓冲器,确保信号传输速度和信号传输质量。
发明内容
本公开提供了一种缓冲器插入方法、装置、存储介质及电子设备,能够快速且高效地确定缓冲器插入方案,还能提高目标电路的电路性能。
本公开的技术方案是这样实现的:
第一方面,本公开实施例提供了一种缓冲器插入方法,该方法包括:
确定待处理电路和多个插入策略参数;
利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
按照所述目标插入策略参数对所述待处理电路进行缓冲器插入处理,得到目标电路。
在一些实施例中,一个所述插入策略参数中包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
在一些实施例中,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
将迭代次数初始化为0;利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对所述迭代次数进行加1处理,并判断所述迭代次数是否大于预设次数阈值;在所述迭代次数小于或等于预设次数阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在所述迭代次数大于预设次数阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
在一些实施例中,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
将迭代次数初始化为0;利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对所述迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值;在所述迭代方差大于或等于预设方差阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在所述迭代方差小于预设方差阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
在一些实施例中,在所述判断迭代方差是否小于预设方差阈值之前,所述方法还包括:
对所述多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高适应度值;对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到所述迭代方差;其中,n为所述迭代次数的取值,m为正整数。
在一些实施例中,在得到所述多个插入策略参数对应的适应度值后,所述方法还包括:
对所述多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
在一些实施例中,所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值,包括:
对所述待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;利用预设权值对所述第一子适应度值、所述第二子适应度值、所述第三子适应度值和所述第四子适应度值进行加权求和运算,得到所述第一插入策略参数对应的适应度值。
在一些实施例中,所述预设权值包括第一权值、第二权值、第三权值和第四权值;所述方法还包括:
设置所述第一权值、所述第二权值、所述第三权值和所述第四权值各自的取值,且所述第一权值、所述第二权值、所述第三权值和所述第四权值的取值总和为1;其中,所述第一权值是指所述第一子适应度值的权值,所述第二权值是指所述第二子适应度值的权值,所述第三权值是指所述第三子适应度值的权值,所述第四权值是指所述第四子适应度值的权值。
在一些实施例中,所述根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数,包括:
根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数;对所述多个第一中间参数进行交叉处理,得到多个第二中间参数;对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数。
在一些实施例中,所述根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数,包括:
对所述多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;对所述多个插入策略参数对应的适应度值与所述总适应度值进行除法运算,得到所述多个插入策略参数对应的选取概率值;根据多个插入策略参数对应的选取概率值,确定所述多个第一中间参数。
在一些实施例中,所述对所述多个第一中间参数进行交叉处理,得到多个第二中间参数,包括:
根据预设交叉概率,对所述多个第一中间参数进行多点交叉处理,得到所述多个第二中间参数。
在一些实施例中,所述对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数,包括:
确定符合正态分布的随机数;根据预设变异概率,利用所述随机数对所述多个第二中间参数进行高斯变异处理,得到所述多个迭代插入策略参数。
在一些实施例中,所述根据所述多个迭代插入策略参数,确定所述目标插入策略参数,包括:
基于所述待处理电路的电路参数,利用所述适应度子模型对所述多个迭代插入策略参数进行计算,得到所述多个迭代插入策略参数对应的适应度值;对所述多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为所述目标插入策略参数。
第二方面,本公开实施例提供了一种缓冲器插入装置,该缓冲器插入装置包括确定单元、计算单元和处理单元;其中,
所述确定单元,配置为确定待处理电路和多个插入策略参数;
所述计算单元,配置为利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
所述处理单元,配置为按照所述目标插入策略参数向所述待处理电路进行缓冲器插入处理,得到目标电路。
第三方面,本公开实施例提供了一种缓冲器插入装置,该缓冲器插入装置包括存储器和处理器;其中,
存储器,用于存储能够在处理器上运行的计算机程序;
处理器,用于在运行计算机程序时,执行如第一方面方法的步骤。
第四方面,本公开实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序被执行时实现如第一方面所述方法的步骤。
第五方面,本公开实施例提供了一种电子设备,该电子设备至少包括第二方面或第三方面所述的缓冲器插入装置。
本公开实施例提供了一种缓冲器插入方法、装置、存储介质及电子设备,确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
附图说明
图1为本公开实施例提供的一种缓冲器插入方法的流程示意图;
图2为本公开实施例提供的另一种缓冲器插入方法的流程示意图;
图3为本公开实施例提供的又一种缓冲器插入方法的流程示意图;
图4为本公开实施例提供的再一种缓冲器插入方法的流程示意图;
图5为本公开实施例中提供的一种适应度值的统计示意图;
图6A为本公开实施例提供的一种缓冲器插入效果的示意图;
图6B为本公开实施例提供的另一种缓冲器插入效果的示意图;
图7为本公开实施例提供的一种缓冲器插入装置的组成结构示意图
图8为本公开实施例提供的一种缓冲器插入装置的硬件结构示意图;
图9为本公开实施例提供的一种电子设备的组成结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关公开,而非对该公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关公开相关的部分。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本公开实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本公开实施例能够以除了在这里图示或描述的以外的顺序实施。
在集成电路的设计流程中,通常先设计功能和理想化延时,然后再根据具体情况调整电路中的时序和延时。然而,在对时序和延时进行具体调整时会遇到很多信号,而且信号需要通过较长的走线进行传递。此时,需要在这些信号的传递路径上加入缓冲器(Buffer),以保证信号的传输速度比较快,且信号在到达终点后具有较优的信号质量。然而,在向电路插入缓冲器时,需要有经验的设计人员进行电路评估,给出一些缓冲器的插入规则,然后根据缓冲器的插入规则采用软件脚本进行自动化或者人工手动的方式进行缓冲器插入。
但是,这种方法会依赖于设计人员的经验,需要设计人员对电路工艺熟悉,当电路工艺进行换代后会给设计人员带来较大的阻碍。另外,这种方法对经验较少的设计人员不友好。另外,即便是经验较多的设计人员,其设计的缓冲器插入规则也不一定能够取得最好的效果。
基于此,本公开实施例提供了一种缓冲器插入方法,该方法包括:确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
下面将结合附图对本公开各实施例进行详细说明。
在本公开的一实施例中,参见图1,其示出了本公开实施例提供的一种缓冲器插入方法的流程示意图。如图1所示,该方法可以包括:
S101:确定待处理电路和多个插入策略参数。
需要说明的是,本公开实施例提供了一种缓冲器插入方法,用于向待处理电路中插入缓冲器,以保证待处理电路中的各个信号处于较优的工作状态。另外,本公开实施例提供的缓冲器插入方法可以应用于具有计算功能的多种电子设备。
在这里,待处理电路可以是各种类型的电路,例如DRAM芯片中的电路。多个插入策略参数可以是针对待处理电路随机生成的,后续对多个插入策略参数进行迭代处理和筛选,以便获得最佳的目标插入策略参数。
在一些实施例中,一个插入策略参数中可以包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
需要说明的是,缓冲器是指由两个反相器组成的单元电路,其输出信号与输入信号相同。在待处理电路中加入缓冲器,能够使待处理电路有稳定的输出电阻、更好的电压传输特性和更陡峭的输出曲线。
在本公开实施例中,缓冲器数量参数可以是指向待处理电路中插入的缓冲器个数;缓冲器位置参数可以是指每个缓冲器的插入位置,即缓冲器与指定电路节点(例如信号的输入端)的距离,缓冲器尺寸参数可以是指每个缓冲器中晶体管的尺寸,例如N型场效应管(NMOS)宽度/长度,P型场效应管(PMOS)的宽度/长度,用于表征晶体管的驱动能力。
在这里,插入策略参数可以是经过编码后的参数,具体编码规则不限。
S102:利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数。
需要说明的是,本公开实施例利用遗传算法(或称为种群遗传算法)来优化插入策略参数,从而得到效果最佳的目标插入策略参数。在这里,遗传算法是一种模拟自然进化过程搜索最优解的方法,被广泛应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。
在本公开实施例中,基于遗传算法和向待处理电路插入缓冲器的任务场景构造了预设种群遗传模型,从而利用预设种群遗传模型对插入策略参数进行迭代优化,最终得到目标插入策略参数。如此,通过预设种群遗传模型能够自动化的进行缓冲器插入的设计,提高电路设计的效率,节省设计人员的时间;另外,缓冲器的插入过程不再依赖于设计人员的经验,具有客观性和稳定性,保证电路的最终性能。
在一些实施例中,如图2所示,预设种群遗传模型包括适应度子模型和遗传子模型;所述根据待处理电路的电路参数,利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数,可以包括:
S201:将迭代次数初始化为0。
S202:利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值。
需要说明的是,第一插入策略参数是多个插入策略参数中的任意一个,待处理电路的电路参数至少包括待处理电路的总长度。
也就是说,针对待处理电路,在随机生成了多个插入策略参数后,利用适应度子模型对待处理电路的电路参数和每一个插入策略参数进行计算,能够获得每一个插入策略参数对应的适应度值。
在这里,适应度子模型用于计算插入策略参数对应的适应度值,适应度值是一个衡量插入策略参数优劣的指标。例如,在本公开实施例中,插入策略参数对应的适应度值越高,说明按照该插入策略参数进行缓冲器插入的效果越好。
在一些实施例中,所述利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值,可以包括:
对待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;
利用预设权值对第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值进行加权求和运算,得到第一插入策略参数对应的适应度值。
需要说明的是,适应度子模型是根据多个衡量电路设计优劣的指标建立的。示例性地,第一子适应度值可以是电路的信号延时,第二子适应度值可以是电路面积,第三子适应度值可以是输出信号的信号脉冲宽度,第四子适应度值可以是电路功耗。示例性地,信号脉冲宽度越大,说明信号的上升时间快/下降时间越快,对应的波形失真少,信号质量值越高。在这里,电路功耗可以是根据电路电流确定的,电路电流越大,说明功耗值越大。
一般来说,在插入缓冲器后,期望电路的信号延时值较小、电路面积较小、信号脉冲宽度较宽且电路功耗越小。
在一些实施例中,预设权值包括第一权值、第二权值、第三权值和第四权值;该方法还可以包括:
设置第一权值、第二权值、第三权值和第四权值各自的取值,且第一权值、第二权值、第三权值和第四权值的取值总和为1。
在这里,第一权值是指第一子适应度值的权值,第二权值是指第二子适应度值的权值,第三权值是指第三子适应度值的权值,第四权值是指第四子适应度值的权值。
需要说明的是,第一权值、第二权值、第三权值和第四权值的取值需要根据实际应用场景进行具体确定。比如,对于对信号延时要求较高的场景,可以将第一权值取较大值。
示例性地,在第一子适应度值是信号延时,第二子适应度值是电路面积,第三子适应度值是信号脉冲宽度,第四子适应度值是电路功耗的情况下,适应度子模型可以如式(1)所示:
F(x)=A·(delay)+B·(total size)+C·(pluse width)+D·(current)(1)
在这里,x是指第一插入策略参数,F(x)是指x的适应度值,delay是指信号延时,total size是指电路面积,pluse width是指信号脉冲宽度,current是指电路电流(电路功耗)。应理解,A、B、C、D分别为第一权值、第二权值、第三权值和第四权值,delay、totalsize、pluse width、current分别为第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值。
应理解,delay、total size、pluse width、current均是根据待处理电路的电路长度和第一插入策略参数(x)计算到的,可以表征按照第一插入策略参数插入缓冲器后的待处理电路的性能。另外,针对一个具体电路而言,信号延时、电路面积、信号脉冲宽度、电路电流并非同一单位制,而且也可能并不处于同一数量级。所以,delay、total size、plusewidth、current是需要根据实际应用场景进行建模,以便适应于本公开实施例的预设种群遗传模型。例如,适应度值越大说明插入策略参数越好,所以可以将delay设计为真实电路延时的倒数。
S203:在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数。
需要说明的是,通过多个插入策略参数对应的适应度值,可以比较出多个插入策略参数的优劣。在此基础上,通过遗传子模型对多个插入策略参数进行迭代处理,从而得到多个迭代插入策略参数。
在这里,遗传子模型用于规定迭代规则,从以获得迭代插入策略参数。
在一些实施例中,所述根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数,可以包括:
根据多个插入策略参数对应的适应度值对多个插入策略参数进行筛选,得到多个第一中间参数;
对多个第一中间参数进行交叉处理,得到多个第二中间参数;
对多个第二中间参数进行变异处理,得到多个迭代插入策略参数。
需要说明的是,在本公开实施例中,迭代处理包括三个主要步骤:筛选、交叉、变异。迭代的具体过程可以如下理解:在多个插入策略参数中筛选中出部分较好的插入策略参数(即第一中间参数),并利用筛选出来的第一中间参数进行交叉处理得到第二中间参数,对第二中间参数进行变异处理得到迭代插入策略参数。
需要说明的是,在筛选过程中,每个插入策略参数被选中的概率与该插入策略参数的适应度值成正比。因此,在一些实施例中,所述根据多个插入策略参数对应的适应度值对多个插入策略参数进行筛选,得到多个第一中间参数,可以包括:
对多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;
对多个插入策略参数对应的适应度值与总适应度值进行除法运算,得到多个插入策略参数对应的选取概率值;
根据多个插入策略参数对应的选取概率值,确定多个第一中间参数。
需要说明的是,筛选过程的本质是模拟自然选择,具体的筛选算法可以根据实际应用场景进行选择,例如轮盘赌算法。
应理解,一个插入策略参数的适应度值越高,其被选中作为第一中间参数的可能性越大,即一个插入策略参数可能会被多次选择。
需要说明的是,在交叉过程中,在变异过程中,可以参照多种已有的变异方法,例如单点交叉(One-Point Crossover)、多点交叉(Multi-Point Crossover)、均匀交叉(Uniform Crossover)。
在一种具体地实施例中,可以利用多点交叉的方法进行。具体地,所述对多个第一中间参数进行交叉处理,得到多个第二中间参数,可以包括:
根据预设交叉概率,对多个第一中间参数进行多点交叉处理,得到多个第二中间参数。
需要说明的是,在本公开实施例中,插入策略参数可以视为遗传算法中的染色体。交叉处理是指两个相互配对的染色体相互交换部分基因,从而获得新染色体的过程。也就是说,在多个第一中间参数中,每两个第一中间参数进行染色体片段,即部分参数的相互交换,从而得到两个交叉交换后的第二中间参数。
在这里,预设交叉概率需要根据实际应用场景进行选择。
在变异过程中,可以采用多种已有的变异算法,例如基本位变异(SimpleMutation)、均匀变异(Uniform Mutation)、边界变异(Boundary Mutation)、非均匀变异、高斯变异等等。
在一种具体地实施例中,可以利用高斯变异的方法进行。具体地,所述对多个第二中间参数进行变异处理,得到多个迭代插入策略参数,可以包括:
确定符合正态分布的随机数;
根据预设变异概率,利用随机数对多个第二中间参数进行高斯变异处理,得到多个迭代插入策略参数。
这样,通过筛选、交叉、变异,可以获得迭代插入策略参数。然而,迭代处理的方向是不一定的,即迭代插入策略参数可能优于迭代前的插入策略参数,也可能迭代插入策略参数劣于迭代前的插入策略参数。因此,还需要保证每一代中最优的插入策略参数必定完整遗传到下一代中。
在一些实施例中,在得到多个插入策略参数对应的适应度值后,该方法还可以包括:
对多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
换句话说,对于每一代的插入策略参数,都会进行筛选、迭代、交叉处理,得到下一代的插入策略参数,且每一代中最优的插入策略参数必定保留到下一代中。这样,能够保证最优的插入策略参数在迭代过程中持续存在,避免迭代的不确定性,从而最终筛选出来的目标插入策略参数性能较好。
另外,根据实际应用场景,迭代处理也可以仅包括筛选和交叉,或者仅包括筛选和变异。
S2041:对迭代次数进行加1处理,并判断迭代次数是否大于预设次数阈值。
在这里,对于步骤S2041,如果判断结果为否,那么执行步骤S205,如果判断结果为是,那么执行步骤S206。
需要说明的是,在每次迭代处理后,需要判断迭代次数是否大于预设次数阈值,从而确定后续处理步骤。
S205:将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行步骤S202。
需要说明的是,如果迭代次数小于或等于预设次数阈值,那么继续对多个迭代插入策略参数进行迭代处理。
S206:根据多个迭代插入策略参数,确定目标插入策略参数。
需要说明的是,如果迭代次数大于预设次数阈值,那么从多个迭代插入策略参数中选取目标插入策略参数。
在一些实施例中,所述根据多个迭代插入策略参数,确定目标插入策略参数,可以包括:
基于待处理电路的电路参数,利用适应度子模型对多个迭代插入策略参数进行计算,得到多个迭代插入策略参数对应的适应度值;
对多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为目标插入策略参数。
这样,实现了利用迭代次数作为终止条件的具体实施方案。也就是说,在进行一定次数迭代后,得到目标插入策略参数。
在另一些实施例中,也可以利用迭代方差作为终止条件。因此,如图3所示,所述利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数,可以包括:
S201:将迭代次数初始化为0。
S202:利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值。
S203:在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;
S2042:对迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值。
在这里,对于步骤S2042,如果判断结果为否,那么执行步骤S205,如果判断结果为是,那么执行步骤S206。
需要说明的是,迭代方差用于指示迭代结果之间的变化程度,如果不同迭代过程中的迭代结果之间的变化程度较大,说明需要继续迭代过程;如果不同迭代过程中的迭代结果之间的变化程度较小,说明已经在最优解附近反复迭代,可以终止迭代过程,输出最优解。
在一种具体地实施例中,迭代方差可以是根据最高适应度值计算的。因此,在判断迭代方差是否小于预设方差阈值之前,该方法还可以包括:
对多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高适应度值;
对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到迭代方差。
在这里,n为迭代次数的取值,m为正整数。
需要说明的是,m需要根据实际应用场景进行取值。以m=10为例,终止条件可以理解为:在近10次迭代过程中,每一代中的最高适应度值变化不大,说明已经在最优解附近反复迭代;反之,若每一代中的最高适应度值变化很大,则无法确定是否找到最优解,需要继续迭代过程。
S205:将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行步骤S202。
S206:根据多个迭代插入策略参数,确定目标插入策略参数。
这样,实现了利用迭代结果之间的变化程度作为终止条件的具体实施方案。也就是说,在连续多次迭代的迭代结果之间的变化程度很小时,得到目标插入策略参数。
特别地,在实际应用过程中,可以单独将迭代次数作为终止条件,或者迭代方差作为终止条件,或者将迭代次数和迭代方差同时作为终止条件,即满足迭代次数限制或者满足迭代结果之间的变化程度限制均可进行迭代终止。
从以上可以看出,本公开实施例根据遗传算法的原理设计了适应度子模型和遗传子模型,通过对插入策略参数的多次迭代处理,控制插入策略参数向性能较好的方向进化,最终获得目标插入策略参数。
S103:按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。
需要说明的是,根据前述内容,目标插入策略参数指示了缓冲器的数量、缓冲器的插入位置和缓冲器的尺寸,从而可以按照目标插入策略参数向待处理电路插入缓冲器,得到目标电路。
综上所述,通过本公开实施例提供的缓冲器插入方法,在需要向待处理电路插入缓冲器时,可以随机生成多个插入策略参数,并利用预设种群遗传模型在多个插入策略参数的基础上迭代优化生成最终的目标插入策略参数。如此,针对电路设计中缓冲器的插入过程,通过遗传算法提供了一种电路辅助设计方法,可以实现自动化地确定缓冲器插入策略,使得缓冲器插入方案不再依赖于设计人员的经验;且该缓冲器插入策略能够使得电路处于较优性能,即信号的延时值较小、电路面积较小、信号质量较好且功耗较低,避免在电路工艺更换后,设计人员无法凭借经验快速确定缓冲器插入规则的弊端。
特别地,在一种实施例中,步骤S101也可以认为是预设种群遗传模型执行的。换句话说,用户只需要将待处理电路的电路参数输入到预设种群遗传模型,预设种群遗传模型将自动随机生成多个插入策略参数,并对插入策略参数进行迭代优化,并在获得目标插入策略参数以后,将目标插入策略参数返回给用户。
本公开实施例提供了一种缓冲器插入方法,确定待处理电路和多个插入策略参数;利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。这样,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
在本公开的另一实施例中,参见图4,其示出了本公开实施例提供的再一种缓冲器插入方法的流程示意图。如图4所示,该方法可以包括:
S301:初始化种群。
需要说明的是,针对待处理电路,随机生成20组染色体,从而建立20组电路样本,组成初始化种群。其中,每组染色体相当于前述的一个插入策略参数,电路样本是指向待处理电路中插入缓冲器后的电路。
在这里,染色体是根据缓冲器的插入位置、缓冲器的数量和缓冲器的类型进行二进制编码得到的,染色体可如式(2)所示。
染色体=[length,size,number]……………………(2)
在式(2)中,length是指缓冲器的插入位置,size是指缓冲器中晶体管的尺寸,number是指缓冲器的数量。
S302:设置种群代数G=0。
S303:计算种群内每一电路样本的适应度值。
需要说明的是,适应度子模型(或称为适应度函数)是根据信号延时、电路面积、信号脉冲宽度和电路电流建立的,具体如前述的式(1)所示。
特别地,信号延时、电路面积、信号脉冲宽度和电路电流的权重可以根据实际应用场景进行确定。例如,如果比较关注信号延时且对电路电流不太敏感的话,可以将信号延时的权重设置为90%,将电路电流的权重设置为0.5%。
S304:选择操作。
需要说明的是,在本公开实施例中,采用最佳保留选择:每个电路样本进入下一代的概率等于该电路样本的适应度值与整个种群中个体适应度值总和的比例,同时当前种群中适应度最高的个体结构完整的复制到下一代群体中。
在这里,选择过程不产生新的个体,只是在原有的种群中选择表现优异的。应注意,优的个体可能会多次选中,劣的个体可能一次都选不中,这是一个优胜劣汰的过程。换句话说,下一代电路样本可能存在3个上一代的电路样本1,但是不存在上一代的电路样本2。
另外,被选中的电路个体所对应的染色体相当于前述的第一中间参数。
S305:交叉操作。
需要说明的是,交叉过程指的是电路样本对应的染色体进行交叉,而非电路样本进行交叉。
在本公开实施例中,采用多点交叉算法对被选中的电路个体对应的染色体进行交叉操作,得到交叉后的染色体。在这里,可以根据实际应用场景设置多个交叉点。
另外,交叉后的染色体相当于前述的第二中间参数。
S306:变异操作。
需要说明的是,对交叉后的染色体进行变异操作,得到变异后的染色体。在这里,变异后的染色体相当于迭代插入策略参数。
示例性地,变异操作可以采用高斯近似变异,即在进行变异操作时用符号均值为P的平均值,方差为P^2的正态分布的一个随机数来替换原有的基因值,具体可参见高斯变异算法原理,本公开不作赘述。
S307:确定下一代种群。
在一种示例的场景中,假设种群中存在20个电路样本,按照电路样本各自的适应度值与适应度值的总和之间的比例生成饼图,参见图5,其示出了本公开实施例中提供的一种适应度值的统计示意图。如图5所示,在饼图中,面积最大的电路样本所占比例的是13%,则该电路样本将直接进入下一代种群;然后对剩下的电路给进行19次选择,且每个电路样本被选中的概率为该电路个体对应的百分比,然后对被选中的电路样本进行交叉和变异,产生19个新的电路样本,从而构成下一代种群。如此,下一代种群仍然是20个个体。
S308:G=G+1。
S309:判断是否G>GEN。
在这里,对于步骤S309,如果判断结果为是,那么执行步骤S310;如果判断结果为否,那么返回执行步骤S303。
需要说明的是,在迭代次数未超过GEN时,需要进行循环计算。其中,GEN指的是预先设定好的迭代次数,是用户根据实际应用场景指定的。
除了以迭代次数作为终止条件外,也可以将迭代方差作为终止条件。具体地,迭代方差可以是指连续多代中的最高适应度值之间的方差,如果迭代方差小于预设方差阈值,可以终止迭代,即执行步骤S310。
S310:输出最佳方案。
需要说明的是,在当前种群中,选择适应度值最高的电路样本进行输出,其对应的染色体也就是缓冲器插入的最佳方案,相当于前述的目标插入策略参数。
综上所述,本公开实施例采用遗传算法的原理,将向电路中插入缓冲器时需要达到的效果(信号延时,总面积,信号脉冲宽度,功耗)设为适应度函数。将缓冲器的插入位置、缓冲器的尺寸和缓冲器的插入数量作为基因组成染色体。对于每代染色体进行选择,交叉,变异,循环迭代,最终输出最佳的设计方案。
参见图6A,其示出了本公开实施例提供的一种缓冲器插入效果的示意图。如图6A所示,曲线a表示理想情况下的信号脉冲形状,曲线b表示经验较少的设计人员向电路中插入缓冲器后的信号脉冲形状,曲线c表示经验较多的设计人员向电路中插入缓冲器后的信号脉冲形状,曲线d表示通过本公开实施例的方法向电路中插入缓冲器后的信号脉冲形状。从图6A可以看出,相比于曲线b和曲线c,曲线d更接近于曲线a,即曲线d的信号延时更短,且曲线d的信号形状更接近于方波,即信号的脉冲宽度更大,从而曲线d的信号质量是最好的。
参见图6B,其示出了本公开实施例提供的另一种缓冲器插入效果的示意图。如图6B所示,区域e表示经验较少的设计人员向电路中插入缓冲器后的电路性能,区域f表示经验较多的设计人员向电路中插入缓冲器后的电路性能,区域g表示通过本公开实施例的方法向电路中插入缓冲器后的电路性能。从图6B可以看出,区域g的电路性能是最好的。
从图6A和图6B可以看出,通过本公开实施例提供的方法,能够在向电路插入缓冲器的过程中快速找到缓冲器插入策略的最优解,有利于后续的电路设计,提高电路的鲁棒性。
本公开实施例提供了一种缓冲器插入方法,通过本实施例对前述实施例的具体实施方法进行了详细阐述,从中可以看出,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
在本公开的又一实施例中,参见图7,其示出了本公开实施例提供的一种缓冲器插入装置40的组成结构示意图。如图7所示,该缓冲器插入装置40包括确定单元401、计算单元402和处理单元403;其中,
确定单元401,配置为确定待处理电路和多个插入策略参数;
计算单元402,配置为利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;
处理单元403,配置为按照目标插入策略参数向待处理电路进行缓冲器插入处理,得到目标电路。
在一些实施例中,一个插入策略参数中包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
在一些实施例中,预设种群遗传模型包括适应度子模型和遗传子模型。相应地,计算单元402,配置为将迭代次数初始化为0;利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值;其中,第一插入策略参数是多个插入策略参数中的任意一个;在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对迭代次数进行加1处理,并判断迭代次数是否大于预设次数阈值;在迭代次数小于或等于预设次数阈值的情况下,将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在迭代次数大于预设次数阈值的情况下,根据多个迭代插入策略参数,确定目标插入策略参数。
在一些实施例中,预设种群遗传模型包括适应度子模型和遗传子模型。相应地,计算单元402,配置为将迭代次数初始化为0;利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算,得到第一插入策略参数对应的适应度值;其中,第一插入策略参数是多个插入策略参数中的任意一个;在得到多个插入策略参数对应的适应度值后,根据多个插入策略参数对应的适应度值,利用遗传子模型对多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;对迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值;在迭代方差大于或等于预设方差阈值的情况下,将多个迭代插入策略参数重新确定为多个插入策略参数,并返回执行利用适应度子模型对待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;在迭代方差小于预设方差阈值的情况下,根据多个迭代插入策略参数,确定目标插入策略参数。
在一些实施例中,计算单元402,还配置为对多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高适应度值;对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到迭代方差;其中,n为迭代次数的取值,m为正整数。
在一些实施例中,计算单元402,还配置为对多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
在一些实施例中,计算单元402,还配置为对待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;利用预设权值对第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值进行加权求和运算,得到第一插入策略参数对应的适应度值。
在一些实施例中,预设权值包括第一权值、第二权值、第三权值和第四权值;相应地,计算单元402,还配置为设置第一权值、第二权值、第三权值和第四权值各自的取值,且第一权值、第二权值、第三权值和第四权值的取值总和为1;其中,第一权值是指第一子适应度值的权值,第二权值是指第二子适应度值的权值,第三权值指示第三子适应度值的权值,第四权值是指第四子适应度值的权值。
在一些实施例中,计算单元402,还配置为根据多个插入策略参数对应的适应度值对多个插入策略参数进行筛选,得到多个第一中间参数;对多个第一中间参数进行交叉处理,得到多个第二中间参数;对多个第二中间参数进行变异处理,得到多个迭代插入策略参数。
在一些实施例中,计算单元402,还配置为对多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;对多个插入策略参数对应的适应度值与总适应度值进行除法运算,得到多个插入策略参数对应的选取概率值;根据多个插入策略参数对应的选取概率值,确定多个第一中间参数。
在一些实施例中,计算单元402,还配置为根据预设交叉概率,对多个第一中间参数进行多点交叉处理,得到多个第二中间参数。
在一些实施例中,计算单元402,还配置为确定符合正态分布的随机数;根据预设变异概率,利用随机数对多个第二中间参数进行高斯变异处理,得到多个迭代插入策略参数。
在一些实施例中,处理单元403,还配置为基于待处理电路的电路参数,利用适应度子模型对多个迭代插入策略参数进行计算,得到多个迭代插入策略参数对应的适应度值;对多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为目标插入策略参数。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序被多个处理器执行时实现前述实施例中任一项的方法的步骤。
基于上述的一种缓冲器插入装置40的组成以及计算机存储介质,参见图8,其示出了本公开实施例提供的一种缓冲器插入装置40的硬件结构示意图。如图8所示,缓冲器插入装置40可以包括:通信接口501、存储器502和处理器503;各个组件通过总线设备504耦合在一起。可理解,总线设备504用于实现这些组件之间的连接通信。总线设备504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线设备504。其中,通信接口501,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器502,用于存储能够在处理器503上运行的计算机程序;
处理器503,用于在运行计算机程序时,执行:
确定待处理电路和多个插入策略参数;
利用预设种群遗传模型对多个插入策略参数进行计算,确定目标插入策略参数;
按照目标插入策略参数对待处理电路进行缓冲器插入处理,得到目标电路。
可以理解,本公开实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步链动态随机存取存储器(Synchronous link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本公开描述的设备和方法的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器503可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器503可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器503读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本公开描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital SignalProcessing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本公开功能的其它电子单元或其组合中。
对于软件实现,可通过执行本公开功能的模块(例如过程、函数等)来实现本公开的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,处理器503还配置为在运行计算机程序时,执行前述实施例中任一项的方法的步骤。
在本公开的再一实施例中,基于上述缓冲器插入装置40的组成示意图,参见图9,其示出了本公开实施例提供的一种电子设备60的组成结构示意图。如图9所示,该电子设备60至少包括前述实施例中任一项的缓冲器插入装置40。
对于电子设备60而言,由于其包括缓冲器插入装置40,利用预设种群遗传模型对多个插入策略参数进行优化和选择,得到效果较优的目标插入策略参数,快速完成待处理电路的缓冲器插入,节省大量时间且效率较高;另外,通过预设种群遗传模型的计算,能够明确缓冲器插入设计中最优解的搜索方向,得到的目标插入策略参数更加合理,能够保证目标电路的性能,且提高目标电路的鲁棒性。
以上,仅为本公开的较佳实施例而已,并非用于限定本公开的保护范围。
需要说明的是,在本公开中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
本公开所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本公开所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本公开所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (17)
1.一种缓冲器插入方法,其特征在于,该方法包括:
确定待处理电路和多个插入策略参数;
利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
按照所述目标插入策略参数对所述待处理电路进行缓冲器插入处理,得到目标电路。
2.根据权利要求1所述的缓冲器插入方法,其特征在于,一个所述插入策略参数中包括缓冲器数量参数、缓冲器位置参数和缓冲器尺寸参数。
3.根据权利要求1所述的缓冲器插入方法,其特征在于,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
将迭代次数初始化为0;
利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;
在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;
对所述迭代次数进行加1处理,并判断所述迭代次数是否大于预设次数阈值;
在所述迭代次数小于或等于预设次数阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;
在所述迭代次数大于预设次数阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
4.根据权利要求1所述的缓冲器插入方法,其特征在于,所述预设种群遗传模型包括适应度子模型和遗传子模型;所述利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数,包括:
将迭代次数初始化为0;
利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值;其中,所述第一插入策略参数是所述多个插入策略参数中的任意一个;
在得到所述多个插入策略参数对应的适应度值后,根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数;
对所述迭代次数进行加1处理,并判断迭代方差是否小于预设方差阈值;
在所述迭代方差大于或等于预设方差阈值的情况下,将所述多个迭代插入策略参数重新确定为所述多个插入策略参数,并返回执行所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算的步骤;
在所述迭代方差小于预设方差阈值的情况下,根据所述多个迭代插入策略参数,确定所述目标插入策略参数。
5.根据权利要求4所述的缓冲器插入方法,其特征在于,在所述判断迭代方差是否小于预设方差阈值之前,所述方法还包括:
对所述多个插入策略参数对应的适应度值进行比较,得到第n次迭代过程中的最高适应度值;
对第(n-m)次~第n次迭代中的最高适应度值进行方差计算,得到所述迭代方差;
其中,n为所述迭代次数的取值,m为正整数。
6.根据权利要求3或4所述的缓冲器插入方法,其特征在于,在得到所述多个插入策略参数对应的适应度值后,所述方法还包括:
对所述多个插入策略参数对应的适应度值进行比较,将适应度值最高的插入策略参数直接确定为一个迭代插入策略参数。
7.根据权利要求3或4所述的缓冲器插入方法,其特征在于,所述利用所述适应度子模型对所述待处理电路的电路参数和第一插入策略参数进行适应度计算,得到所述第一插入策略参数对应的适应度值,包括:
对所述待处理电路的电路参数和第一插入策略参数进行计算,得到第一子适应度值、第二子适应度值、第三子适应度值和第四子适应度值;
利用预设权值对所述第一子适应度值、所述第二子适应度值、所述第三子适应度值和所述第四子适应度值进行加权求和运算,得到所述第一插入策略参数对应的适应度值。
8.根据权利要求7所述的缓冲器插入方法,其特征在于,所述预设权值包括第一权值、第二权值、第三权值和第四权值;所述方法还包括:
设置所述第一权值、所述第二权值、所述第三权值和所述第四权值各自的取值,且所述第一权值、所述第二权值、所述第三权值和所述第四权值的取值总和为1;
其中,所述第一权值是指所述第一子适应度值的权值,所述第二权值是指所述第二子适应度值的权值,所述第三权值是指所述第三子适应度值的权值,所述第四权值是指所述第四子适应度值的权值。
9.根据权利要求3或4所述的缓冲器插入方法,其特征在于,所述根据所述多个插入策略参数对应的适应度值,利用所述遗传子模型对所述多个插入策略参数进行迭代处理,得到多个迭代插入策略参数,包括:
根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数;
对所述多个第一中间参数进行交叉处理,得到多个第二中间参数;
对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数。
10.根据权利要求9所述的缓冲器插入方法,其特征在于,所述根据所述多个插入策略参数对应的适应度值对所述多个插入策略参数进行筛选,得到多个第一中间参数,包括:
对所述多个插入策略参数对应的适应度值进行求和运算,得到总适应度值;
对所述多个插入策略参数对应的适应度值与所述总适应度值进行除法运算,得到所述多个插入策略参数对应的选取概率值;
根据多个插入策略参数对应的选取概率值,确定所述多个第一中间参数。
11.根据权利要求9所述的缓冲器插入方法,其特征在于,所述对所述多个第一中间参数进行交叉处理,得到多个第二中间参数,包括:
根据预设交叉概率,对所述多个第一中间参数进行多点交叉处理,得到所述多个第二中间参数。
12.根据权利要求9所述的缓冲器插入方法,其特征在于,所述对所述多个第二中间参数进行变异处理,得到所述多个迭代插入策略参数,包括:
确定符合正态分布的随机数;
根据预设变异概率,利用所述随机数对所述多个第二中间参数进行高斯变异处理,得到所述多个迭代插入策略参数。
13.根据权利要求12所述的缓冲器插入方法,其特征在于,所述根据所述多个迭代插入策略参数,确定所述目标插入策略参数,包括:
基于所述待处理电路的电路参数,利用所述适应度子模型对所述多个迭代插入策略参数进行计算,得到所述多个迭代插入策略参数对应的适应度值;
对所述多个迭代插入策略参数对应的适应度值进行比较,将适应度值最高的迭代插入策略参数确定为所述目标插入策略参数。
14.一种缓冲器插入装置,其特征在于,所述缓冲器插入装置包括确定单元、计算单元和处理单元;其中,
所述确定单元,配置为确定待处理电路和多个插入策略参数;
所述计算单元,配置为利用预设种群遗传模型对所述多个插入策略参数进行计算,确定目标插入策略参数;
所述处理单元,配置为按照所述目标插入策略参数向所述待处理电路进行缓冲器插入处理,得到目标电路。
15.一种缓冲器插入装置,其特征在于,所述缓冲器插入装置包括存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如权利要求1至13任一项所述方法的步骤。
16.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被执行时实现如权利要求1至13任一项所述方法的步骤。
17.一种电子设备,其特征在于,所述电子设备至少包括如权利要求14或15所述的缓冲器插入装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210137597.9A CN114510896A (zh) | 2022-02-15 | 2022-02-15 | 一种缓冲器插入方法、装置、存储介质及电子设备 |
PCT/CN2022/080580 WO2023155259A1 (zh) | 2022-02-15 | 2022-03-14 | 一种缓冲器插入方法、装置、存储介质及电子设备 |
US17/806,975 US12008299B2 (en) | 2022-02-15 | 2022-06-15 | Buffer insertion method and device, storage medium, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210137597.9A CN114510896A (zh) | 2022-02-15 | 2022-02-15 | 一种缓冲器插入方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114510896A true CN114510896A (zh) | 2022-05-17 |
Family
ID=81552135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210137597.9A Pending CN114510896A (zh) | 2022-02-15 | 2022-02-15 | 一种缓冲器插入方法、装置、存储介质及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114510896A (zh) |
WO (1) | WO2023155259A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9183742B2 (en) * | 2012-10-26 | 2015-11-10 | Xerox Corporation | Methods, systems and processor-readable media for optimizing intelligent transportation system strategies utilizing systematic genetic algorithms |
CN111343027B (zh) * | 2020-03-11 | 2022-08-26 | 中国电子科技集团公司第五十四研究所 | 一种基于遗传算法的网络切片部署方法和装置 |
CN112257378B (zh) * | 2020-10-30 | 2024-03-26 | 东南大学 | 一种针对近阈值的鲁棒时钟树综合算法实现方法 |
CN113128655B (zh) * | 2021-05-07 | 2024-02-02 | 北京石油化工学院 | 基于多种群遗传算法工控入侵检测分类器参数选择方法 |
-
2022
- 2022-02-15 CN CN202210137597.9A patent/CN114510896A/zh active Pending
- 2022-03-14 WO PCT/CN2022/080580 patent/WO2023155259A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023155259A1 (zh) | 2023-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111465944B (zh) | 用于生成对象的结构化表示的图形神经网络系统 | |
JP5361603B2 (ja) | コントローラ | |
CN109685204B (zh) | 图像处理方法及装置、存储介质及电子设备 | |
CN114492279B (zh) | 一种模拟集成电路的参数优化方法及系统 | |
US11037061B2 (en) | Adaptive cataclysms in genetic algorithms | |
JP2003108972A (ja) | 最適フィッティングパラメータ決定方法および装置、並びに最適フィッティングパラメータ決定プログラム | |
CN112684700A (zh) | 一种群体机器人的多目标搜索与围捕控制方法及系统 | |
Idais et al. | Optimal knots allocation in the cubic and bicubic spline interpolation problems | |
JP2021532605A (ja) | 二進コードによるデジタル集積回路の配線方法および端末装置 | |
CN114091655A (zh) | 神经网络量化方法、装置、存储介质以及终端 | |
Bhattacharjee et al. | Switchx: Gmin-gmax switching for energy-efficient and robust implementation of binarized neural networks on reram xbars | |
CN114510896A (zh) | 一种缓冲器插入方法、装置、存储介质及电子设备 | |
CN117273109A (zh) | 基于量子神经元的混合神经网络的构建方法及装置 | |
US20050204320A1 (en) | Systems and methods for determining costs associated with a selected objective | |
US12008299B2 (en) | Buffer insertion method and device, storage medium, and electronic device | |
EP3736746A1 (en) | Arithmetic processing apparatus, arithmetic processing method, and arithmetic processing program | |
CN114676634A (zh) | 一种基于nsga-iii优化lstm神经网络的水位预测方法及系统 | |
CN113919871A (zh) | 一种基于改进lstm模型的碳交易价格预测方法 | |
Petrowski et al. | Evolutionary algorithms | |
JP7450833B1 (ja) | パラメータ最適化装置およびパラメータ最適化方法 | |
Sangwan et al. | An efficient approach to VLSI circuit partitioning using evolutionary algorithms | |
CN115510780B (zh) | 一种基于ppa预测的门级网表自动生成方法 | |
Van den Braembussche | Tuning of optimization strategies | |
Golbabai et al. | Width optimization of Gaussian function by genetic algorithm in RBF networks | |
US20050197978A1 (en) | Speculative pool |
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 |