一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电子器件的Verilog-A模型构建方法、系统及设备与流程

2022-11-16 15:26:28 来源:中国专利 TAG:

电子器件的verilog-a模型构建方法、系统及设备
技术领域
1.本发明涉及电子器件仿真技术领域,尤其涉及一种电子器件的verilog-a模型构建方法、系统及设备。


背景技术:

2.verilog-a是一种标准化的、支持模拟和混合信号设计的硬件描述语言,为工业界广泛采用。verilog-a模型与仿真器的固有模型类似,但对于verilog-a模型,用户可以自行编写模型方程式,因此自由度比较高,可以用于描述新的半导体器件或者多物理器件,也可以用于描述模拟功能模块,替代由晶体管组成的电路图,以减少仿真耗时。
3.随着模拟和混合信号芯片复杂度的不断升高,而产品周期却持续缩减,越来越多设计部门要求和强调系统级别的全局仿真,以保证流片的成功率和芯片的性能。然而晶体管组成的电路图的全局仿真耗时过长,通常采用verilog-a模型替代部分甚至全部模块,以提高仿真速度。因此,在各个模拟功能模块完成设计后,需要在仿真验证的基础上编写verilog-a行为模型,以支持系统级别的仿真验证。可靠高效的verilog-a模型对系统仿真至关重要。
4.现有的verilog-a模型编写,采用人工的方式,一方面是受限于编写人员的经验,编写的时间比较长。另一方面涉及到模型精度的问题,对verilog-a参数的调整,需要不断的迭代调整参数,要得到理想,比较优的结果,需要比较长的时间,一个普通设计师需要大概4-8小时的时间,时间耗费长且精度无法保证。


技术实现要素:

5.本发明实施例提供一种电子器件的verilog-a模型构建方法、系统及设备,用以解决现有技术中verilog-a模型构建效率低的问题。
6.根据本发明实施例的电子器件的verilog-a模型构建方法,包括:
7.基于电子器件的行为属性,从verilog-a模板库里筛选出对应的verilog-a模板;
8.基于筛选出的verilog-a模板以及所述电子器件的实际输入输出值,确定所述verilog-a模板的待预测参数;
9.基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,并采用进化算法,基于所述预测输出值和实际输出值,迭代确定所述待预测参数的目标值;
10.基于所述待预测参数的目标值以及所述verilog-a模板,构建verilog-a目标模型,以基于所述verilog-a目标模型对所述电子器件的行为进行仿真。
11.根据本发明的一些实施例,所述基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,包括:
12.构建机器学习预测模型;
13.获取多个机器学习预测模型样本,所述机器学习预测模型样本包括verilog-a模
板的待预测参数样本值、输入样本值和对应的输出样本值;
14.基于所述多个机器学习预测模型样本,训练所述机器学习预测模型;
15.将所述电子器件的实际输入值和所述待预测参数的初始值输入训练后的机器学习预测模型,以输出所述电子器件的预测输出值。
16.根据本发明的一些实施例,所述构建机器学习预测模型,包括:
17.基于随机森林算法,构建机器学习预测模型。
18.根据本发明的一些实施例,所述获取多个机器学习预测模型样本,包括:
19.设置多个预测参数样本值,并将多个所述预测参数样本值依次代入所述verilog-a模板,以构建多个verilog-a样本模型;
20.设置verilog-a模板的输入样本值,并将所述输入样本值依次输入多个所述verilog-a样本模型,以依次输出对应的输出样本值。
21.根据本发明的一些实施例,所述设置多个预测参数样本值,包括:
22.确定预测参数样本区间,并结合拉丁超立方抽样方法,获取多个预测参数样本值。
23.根据本发明的一些实施例,所述行为属性包括:器件类型、和/或输入输出关系波形类型、和/或输入输出类型、和/或输出值区间范围。
24.根据本发明的一些实施例,所述基于电子器件的行为属性,从verilog-a模板库里筛选出对应的verilog-a模板,包括:
25.基于电子器件的器件类型,从verilog-a模板库里筛选出第一级verilog-a模板集;
26.基于所述电子器件的输入输出关系波形类型,从所述第一级verilog-a模板集中筛选出第二级verilog-a模板集;
27.基于所述电子器件的输入输出类型和输出值区间范围,从所述第二级verilog-a模板集中筛选出verilog-a模板;
28.当所述电子器件的输入输出关系波形类型为类正弦波时,基于所述电子器件的输入输出关系波形调整所述verilog-a模板。
29.根据本发明实施例的电子器件的verilog-a模型构建系统,包括:
30.筛选单元,用于基于电子器件的行为属性,从verilog-a模板库里筛选出对应的verilog-a模板;
31.参数确定单元,用于基于筛选出的verilog-a模板以及所述电子器件的实际输入输出值,确定所述verilog-a模板的待预测参数;
32.计算单元,用于基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,并采用进化算法,基于所述预测输出值和实际输出值,迭代确定所述待预测参数的目标值;
33.构建单元,用于基于所述待预测参数的目标值以及所述verilog-a模板,构建verilog-a目标模型,以基于所述verilog-a目标模型对所述电子器件的行为进行仿真。
34.根据本发明实施例的电子器件的verilog-a模型构建设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的电子器件的verilog-a模型构建方法的步骤。
35.根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信
息传递的实现程序,所述程序被处理器执行时实现如上所述的电子器件的verilog-a模型构建方法的步骤。
36.采用本发明实施例,通过构建模板,然后利用人工智能实现模板参数的预测,相对于人工编码的方式,具有速度快、精度高的优点,解决了现有技术中verilog-a模型编写效率低、精度差的问题。而且支持多模板库,可实现多verilog-a模型生成,可针对性得生成最优参数。
37.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
38.通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在附图中:
39.图1是本发明实施例中电子器件的verilog-a模型构建方法流程图;
40.图2是本发明实施例中参数采集流程图;
41.图3是本发明实施例中随机森林训练流程图;
42.图4是本发明实施例中预测流程图;
43.图5是本发明实施例中预测频率对比图。
具体实施方式
44.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。另外,在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
45.本发明实施例提出一种电子器件的verilog-a模型构建方法,verilog-a模型用于对电子器件的行为进行仿真。
46.根据本发明实施例的电子器件的verilog-a模型构建方法,包括:
47.基于电子器件的行为属性,从verilog-a模板库里筛选出对应的verilog-a模板;可以理解,本发明构建了一个verilog-a模板库,verilog-a模板库里有大量verilog-a模板。verilog-a模板库中的verilog-a模板与电子器件的行为属性一一对应。可以根据电子器件的行为属性,唯一选择一个verilog-a模板。用户可以根据待仿真的电子器件,从verilog-a模板库中选择对应的verilog-a模板。verilog-a模板与verilog-a模型的区别就是,verilog-a模板中参数值没有设置。
48.基于筛选出的verilog-a模板以及所述电子器件的实际输入输出值,确定所述verilog-a模板的待预测参数;verilog-a模板中有多个参数值,但其中部分参数值可以通过电子器件的实际输入输出值直接计算出来,另一部分则无法直接计算获得,无法直接计算获得的这部分参数值就作为待预测参数,需要进行预测获得。
49.基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,并采用进化算法,基于所述预测输出值和实际输出值,迭代确定所述待预测参数的目标值;
50.可以理解,根据待预测参数的初始值以及电子器件的实际输入值,就可以获得一个预测输出值。进化算法就可以基于预测输出值对比实际输出值,调整待预测参数的取值,使得预测输出值靠近实际输出值。经过进化算法调整后的待预测参数的值可以结合电子器件的实际输入值,又获得一个新的预测输出值,该新的预测输出值相比于上一个预测输出值更靠近实际输出值。然后进化算法又根据该新的预测输出值与实际输出值,二次调整待预测参数的取值。重复该步骤,不断迭代,就可以获得一个待预测参数的目标值,该目标值对应的预测输出值基本与实际输出值相等。
51.基于所述待预测参数的目标值以及所述verilog-a模板,构建verilog-a目标模型,以基于所述verilog-a目标模型对所述电子器件的行为进行仿真。
52.采用本发明实施例,通过构建模板,然后利用人工智能实现模板参数的预测,相对于人工编码的方式,具有速度快、精度高的优点,解决了现有技术中verilog-a模型编写效率低、精度差的问题。而且支持多模板库,可实现多verilog-a模型生成,可针对性得生成最优参数。
53.在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
54.根据本发明的一些实施例,所述基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,包括:
55.将待预测参数的初始值代入到verilog-a模板中,以构建一个verilog-a初始模型,然后再将电子器件的实际输入值输入该verilog-a初始模型,以输出预测输出值。
56.根据本发明的一些实施例,所述基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,包括:
57.获取多个机器学习预测模型样本,所述机器学习预测模型样本包括verilog-a模板的待预测参数样本值、输入样本值和对应的输出样本值;
58.构建机器学习预测模型;该机器学习预测模型的输入是进化算法中,迭代生成的参数,此参数输入机器学习,得到此参数对应的预测值,将预测值输入进化算法评估函数,以确定当前参数效果,确定下次参数调整方向,或终止。
59.基于所述多个机器学习预测模型样本,训练所述机器学习预测模型;
60.将所述电子器件的实际输入值和所述待预测参数的初始值输入训练后的机器学习预测模型,以输出所述电子器件的预测输出值。
61.基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,并采用进化算法,基于所述预测输出值和实际输出值,迭代确定所述待预测参数的目标值,包括:
62.将所述电子器件的进化算法中迭代生成的值输入训练后的机器学习预测模型,以输出所述电子器件此时对应的预测值。
63.机器学习预测模型的训练过程是提前训练好的,每个verilog-a模板对应有一个机器学习预测模型。在选择好verilog-a模板后,可以直接利用其对应的机器学习预测模型
结合进化算法,根据其实际输入值和实际输出值,确定出待预测参数的目标值。由此,将该待预测参数的目标值结合至verilog-a模板,构建形成verilog-a目标模型。
64.根据本发明的一些实施例,所述构建机器学习预测模型,包括:
65.基于随机森林算法,构建机器学习预测模型。
66.根据本发明的一些实施例,所述获取多个机器学习预测模型样本,包括:
67.设置多个预测参数样本值,并将多个所述预测参数样本值依次代入所述verilog-a模板,以构建多个verilog-a样本模型;需要说明的是,一个verilog-a模板对应需要多个预测参数样本值,由此,n个预测参数样本值结合一个verilog-a模板,可以构建形成n个verilog-a样本模型。
68.具体的,编写多个verilog-a模板,每个模板生成多组参数,每组生成的参数,通过verilog-a电路仿真,得到对应的目标值(频率值),分别将每组参数和仿真后的目标值(频率值)作为输入值、输出值,训练随机森林,以此构建多个verilog-a随机森林模型。
69.设置verilog-a模板的输入样本值,并将所述输入样本值依次输入多个所述verilog-a样本模型,以依次输出对应的输出样本值。
70.根据本发明的一些实施例,所述设置多个预测参数样本值,包括:
71.确定预测参数样本区间,并结合拉丁超立方抽样方法,获取多个预测参数样本值。
72.采用拉丁超立方抽样方法,可以在数据量小的情况下,样本比在整个样本空间中完全随机,具体更好的样本空间覆盖性,所以在数据量比较小的时候,也能得到比较好的效果。
73.根据本发明的一些实施例,所述行为属性包括:器件类型、和/或输入输出关系波形类型、和/或输入输出类型、和/或输出值区间范围。
74.可以理解,行为属性包括器件类型、输入输出关系波形类型、输入输出类型、输出值区间范围中的至少一个。
75.器件类型表示电子器件的种类,如压控振荡器(vco)、运放等均表示器件类型。
76.输入输出关系波形类型表示电子器件的输入输出关系图的波形类型,如波形类型可以为方波、三角波、或正弦波。例如,压控振荡器(vco)的输入为电压,输出为功率,电压与功率的关系图呈正弦波。
77.输入输出类型表示电子器件的输入类型和输出类型。例如,压控振荡器(vco)的输入类型为电压,输出类型为功率。
78.输出值区间范围表示电子器件的输出值位于哪个区间范围内。例如,针对压控振荡器(vco)而言,其输出值区间范围指的是功率取值范围。
79.例如,所述行为属性包括:器件类型、输入输出关系波形类型、输入输出类型、以及输出值区间范围;
80.在从verilog-a模板库里筛选出对应的verilog-a模板的过程中,首先,基于电子器件的器件类型,从verilog-a模板库里筛选出第一级verilog-a模板集;然后,基于所述电子器件的输入输出关系波形类型,从所述第一级verilog-a模板集中筛选出第二级verilog-a模板集;最后,基于所述电子器件的输入输出类型和输出值区间范围,从所述第二级verilog-a模板集中筛选出verilog-a模板。
81.根据本发明的一些实施例,所述基于电子器件的行为属性,从verilog-a模板库里
1)/n,n]这n个子层,在每层中随机选取采样点,并打乱采样值的顺序,防止出现有规律的场面,保持了样本间的独立性。它改进了采样策略,能够做到以较小的采样规模获得较高的采样精度,通过此种方式进行采样,能够在数据量比较小的情况下,通过随机森林得到比较优异的效果。
92.如图2所示,通过拉丁超立方抽样,得到需要随机生成的参数的值。跟verilog-a给定的模板组合后,生成verilog-a模型。根据这个模型和用户选择的电压范围,仿真得到具体的频率范围。仿真具体流程是通过基于linux的shell命令行模式,调用ocean命令跑仿真流程,获取对应的频率,将参数、电压和其对应的频率,保存成csv文件,作为深度学习模型的训练数据。
93.在配合进化算法进行参数提取的时候,根据子代(具体的verilog-a参数)和电压列表,调用仿真流程,获取到具体的频率,再跟目标频率进行比较,由于tran仿真流程是一个耗时的流程,因此,进化算法中调用此操作,无疑是一个耗时的,很低效的流程,因此我们采用随机采样预训练机器学习模型的方法进行替换,通过子代(具体的verilog-a参数)和电压列表,直接通过预测获取频率,这样能显著降低整体流程耗时,提高整体效率。
94.机器学习预测模型的构建是基于随机森林算法实现的。
95.bagging是一种集成算法,集成学习的大致思路是训练多个弱模型打包起来组成一个强模型,其中的弱模型可以是决策树、svm等模型,其中随机森林中用的是决策树,算法的一般流程为,给定训练集和目标,bagging方法重复从训练集中,有放回地采样,然后在这些样本上训练树模型。在训练结束后,对未知样本x的预测,可以通过对x上所有单个回归树的预测,通过平均来实现。这种方法在不增加偏置的情况下,降低了方差,从而实现了相对决策树更好的性能。
96.随机森林是一种改进的bagging方案,在学习过程中,每次选择特征的随机子集,这样做的原因是bootstrap抽样导致的树的相关性:如果有一些特征预测目标值的能力很强,那么这些特征就会被许多树选择,就导致树的强相关性。图3所示为随机森林训练流程图。
97.为提高不同频段下的verilog-a模型参数的预测效果,预先训练多个不同的频率范围的随机森林模型。预测的时候,先计算目标数据的中心频率,然后,寻找中心频率最接近的随机森林回归模型进行预测。
98.在根据实际电路选定verilog-a模板的过程中,就是根据实际电路的行为属性,从verilog-a模板库里筛选出对应的verilog-a模板。行为属性包括:器件类型、和/或输入输出关系波形类型、和/或输入输出类型、和/或输出值区间范围。
99.在基于输入输出关系波形类型确定模板过程中,用户可以通过界面选择一种波形,如方波、三角波、或正弦波,不同的波形分别对应不同的verilog-a模板。
100.波形选择后,如果是正弦波,程序会根据用户输入的电压、频率关系,通过傅里叶积分对正弦波进行优化,具体优化流程为程序通过傅里叶积分计算得到谐波分量,修改verilog-a模板,将对应的正弦波表达式,叠加上相对应的正弦波分量,生成最终的波形表达式。
101.下面是选择正弦波时的具体流程,方波、三角波可以跳过波形的分析。
102.在对原理图分析的时候,通过ocean命令进行tran仿真,仿真后,解析psf文件夹中
的tran.tran.tran文件,通过读取二进制,获取到对应波形的离散时域电压点数据。
103.傅里叶积分是一种用“有限逼近无限”的思想,展开定义在这个数轴上的非周期函数。已知时域的表达式,可以通过公式求出各个分量的表达式。傅里叶级数展开形式和各项系数计算表达式,如下所示:
104.input=(p1,p2,

,pn,v)
105.output=f
106.基于转换之后的数学方程式,优化相对应器件的正弦波的verilog-a模型中波形输出的部分。即将相对应的数学表达式,修改成verilog-a对应的语法格式,并进行替换,在正弦波基波的基础上,叠加上谐波,使verilog-a模型生成的波形,更符合实际的波形输出。
107.进化算法(evolutionaryalgorithm,ea)是人工智能中进化计算的子集。进化算法启发自生物的演化机制,模拟繁殖、突变、遗传重组、自然选择等演化过程。而遗传算法(geneticalgorithm,ga)是计算数学中用于解决最优化的搜索算法,是进化算法的一种。遗传算法通常实现方式为一种计算机模拟。
108.对于一个最优化问题,一定数量的候选解(个体)可抽象表示为染色体或基因串。染色体一般被表达为简单的字符串或数字符串,也有其他的依赖特殊问题的表示方法,这个过程被称为编码。
109.算法先随机生成一定数量的个体,有时候操作者可以干预这个随机产生过程,以提高初始种群质量。在每一代中,会评价每一个个体,并通过适应度函数得到适应度数值。按照适应度排序种群个体,适应度高的排在前面,这里的“高”是相对于初始种群的低适应度而言。下一步是产生下一代个体并组成种群,这个过程通过选择和繁殖完成,其中繁殖包括交叉操作(crossover)和突变(mutation)。选择则是根据新个体的适应度进行,但同时并不意味着完全以适应度高低为导向(防止快速收敛到局部最优,而非全局最优)。作为折中,遗传算法依据为适应度越高,被选择的机会越高;适应度低的,被选择的机会越低。初始数据可以通过这样的选择过程组成一个相对优化的群体,之后,被选择的个体进入交配过程,一般的遗传算法都有一个交配概率,这个交配概率反应两个被选中的个体进行交配的概率。交配父母的染色体相互交换,从而产生两个新的染色体。再下一步就是突变,通过突变产生新的“子”个体,一般遗传算法都有一个固定的突变常数,代表发生突变的概率。
110.经过这一系列的操作(选择、交配和突变)后,产生的新一代个体不同于初始的一代,并一代一代向增加整体适应度的方向发展。因为总是选择相对较优的个体产生下一代,适应度低的个体逐渐被淘汰。这样的过程不断地重复,周而复始,直到满足终止条件。比如进化次数限制、计算时间限制、个体满足最优值等。
111.在本发明实施例中,将用户输入的电压和频率对作为优化目标(得到的参数,计算得到的电压和频率对跟这个目标足够接近),进化算法通过给定一组verilog-a模型参数,以及给定的一组电压,得到一组频率值。通过这组电压、频率对跟优化目标进行比较后,产生新的一组verilog-a模型参数,重复上述步骤,重复迭代,直到迭代次数达到预设的值。其中,通过verilog-a参数和电压得到频率的过程,通过深度学习模型预测得到。流程结束后,得到的优化参数,则为最终verilog-a模型的需要的参数,结合模板和通过数学工具计算得到的值(比如电压范围等),组合生成最终的verilog-a模型。
112.例如,进化算法使用的是nsgaiii算法,将每一个电压频率对分别作为优化目标,
目标的优劣判断为预测的值与目标的值差值的平方尽量小,最终目标是找到一组参数,使得每个目标,在不使其他结果更差的前提下,使自身差值平方和最小,这个结果的解集即为帕累托最优解集。选择所有目标的结果和最小的一组,作为最终结果,参见图4所示。
113.在随机森林配合进化算法进行参数预估的时候,采用降维的方式,将verilog-a模型中,涉及到的能够通过直接计算得到的参数,直接进行计算,比如vco的verilog-a模型预估的时候,中心电压和中心频率,以及波形的中心电压和幅值,可以直接在数据采集的时候获取,这样就在一定程度上提高了模型预估的准确性。
114.本发明实施例主要是把随机森林和进化算法相结合,其中随机森林预测是进化算法中的一个子流程,进化算法中的子代,作为随机森林的输入,预测产生的值与目标值的差值平方和的和,作为进化算法子代是否优的评估,不断优化迭代,直到迭代次数达到预设值。这种做法,因为数学结果的可评估性,比如vco的verilog-a模型的预测中,随机森林作为进化算法的子流程,高效实现了verilog-a模型所需的参数的预测。
115.本发明实施例一方面将参数降维,提高verilog-a模型参数预测的准确性,另一方面采用多步骤的方式,将能计算的参数提前进行计算,并在最终根据模板verilog-a生成具体verilog-a的时候将缓存的数据提取,建立标准的verilog-a模型,比如vco的verilog-a模型建立的时候,在对原始数据采样的时候,中心电压和中心频率,以及波形的中心电压和幅值会先记录下来,然后在数据采集的时候获取。采用此多步骤,进一步提高了verilog-a模型的精度。
116.本发明实施例的关键之处在于:
117.1.模板、训练、提参的流程与系统:生成verilog-a行为模板模型,确定模板模型关键参数;在参数的适用范围采样得到一系列的verilog-a模型;对每个va模型进行仿真,在仿真结果上测量的性能指标;训练建立由verilog-a行为模型参数到仿真性能指标的机器学习预测模型;有verilog-a建模需求时,首先根据实际电路选定模板,然后根据实际电路仿真结果,在训练好的机器学习预测模型基础上进行优化,快速获得verilog-a行为模型参数。
118.2.预先选定verilog-a行为模板模型并采样和训练生成的机器学习预测模型。
119.3.提参时采用机器学习预测模型替代仿真评估va模型的性能指标。
120.4.根据va模板的具体情况,分步骤提取模型参数,降低机器学习模型的维度,提高预测的精度。
121.5.采用随机森林作为机器学习预测模型。
122.6.采用进化算法进行优化,即参数预测。
123.7.采用拉丁超立方抽样(lhs)的方式,在数据量较少的时候,能得到较高的覆盖率。
124.8.支持多种输出波形,引入傅里叶分析,模拟正弦波失真行为。
125.本发明实施例的有益效果表现在:
126.采用拉丁超立方抽样的方式,在数据量比较少的时候,也能够通过配合随机森林,得到比较准确的预测值。
127.随机森林预测效果的提升,同步体现在进化算法得到的值,更接近于实际的verilog-a模型的值。同时,本发明通过降维的方式,一部分的值,不是通过预测,而是通过
对原始数据进行采集,比如vco可以得到中心电压、中心频率、波形的电压范围、幅值等,因为是通过数学计算的方式,不同于预测存在偏差,准确性比较高,相对少的预估参数数量,进一步提高了最终生成的verilog-a模型的精度。
128.减少verilog-a模型生成的工作量,一方面减少建模的时间,一方面提高准确性。通过人工进行参数的设置,需要不停得迭代,计算,验证,一个普通设计师所需的手动建模时间需要4-8小时,而采用本方法,通过人工智能自动预测。在提前建立好verilog-a模板库,以及已经训练好随机森林的模型的前提下,只需要获取到目标电路的电压和频率的对应关系,点击几个按键,等待几分钟的时间,就可产生所对应的verilog-a模型。根据现有的测试结果,预测得到一个vco的模型,所需的时间为八分钟左右,加上电压和频率对的获取,如果将电路网表文件,复制到指定路径,也可以通过软件提供的小功能,自动进行tran仿真,并产生相对应的电压频率对。两个相加的总时间,也远远小于手动建模所需最短的4小时。
129.下面为vcoverilog-a预测示例。
130.verilog-a参数分成两部分,一部分在获取原始波形数据的时候直接获取,比如vc、vcen、vamp,vc为中心点的电压,可以直接取电压频率对中,最小电压和最大电压的平均值;vcen是vco稳定振荡时的平均电压;vamp是vco稳定振荡时的振幅。
131.另一部分根据电压频率对,通过随机森林和进化算法进行拟合曲线,得出参数,比如vco_gain1、vco_gain2、vco_gain3。
132.在进化算法进行参数提取的时候,理论上,可以根据子代的参数,调用tran仿真流程,以及给定的电压,进行频率的计算,具体流程为a.根据原理图仿真获取第一部分参数b.通过进化算法生成另外一部分参数的时候,调用tran仿真,获取到频率c.根据得到的频率和目标频率进行子代评估。此种方式比较耗时,我们在进化算法频率获取这一步,用机器学习模型(随机森林)来代替。即将跑耗时的tran仿真,提前到数据采集这一步。
133.最后,对原理图仿真,直接得到一部分参数,通过进化算法提取参数,得到另一部分参数,配合verilog-a目标,替换参数后,得到如下示例。
134.以下为verilog-a模型示例代码:
135.136.[0137][0138]
预测后,产生的频率百分比误差,如图5所示,其中“origin”是原理图仿真得到的电压频率关系,“predict”是通过进化算法评估得到的电压频率关系,“verilog-a”是预测得到参数后,生成verilog-a模型得到的电压频率关系。例子中,误差在1%以内。
[0139]
需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0140]
根据本发明实施例的电子器件的verilog-a模型构建系统,包括:
[0141]
筛选单元,用于基于电子器件的行为属性,从verilog-a模板库里筛选出对应的verilog-a模板;
[0142]
参数确定单元,用于基于筛选出的verilog-a模板以及所述电子器件的实际输入输出值,确定所述verilog-a模板的待预测参数;
[0143]
计算单元,用于基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,并采用进化算法,基于所述预测输出值和实际输出值,迭代确定所述待预测参数的目标值;
[0144]
可以理解,计算单元,通过所述电子器件的实际输出值,确定所述电子器件对应verilog-a模型的参数值,采用进化算法,将电子器件实际输出值,作为目标,迭代确定所述待预测参数的目标值。
[0145]
构建单元,用于基于所述待预测参数的目标值以及所述verilog-a模板,构建verilog-a目标模型,以基于所述verilog-a目标模型对所述电子器件的行为进行仿真。
[0146]
采用本发明实施例,通过构建模板,然后利用人工智能实现模板参数的预测,相对于人工编码的方式,具有速度快、精度高的优点,解决了现有技术中verilog-a模型编写效率低、精度差的问题。而且支持多模板库,可实现多verilog-a模型生成,可针对性得生成最优参数。
[0147]
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
[0148]
根据本发明的一些实施例,所述基于所述待预测参数的初始值,所述电子器件的实际输入值,确定所述电子器件的预测输出值,包括:
[0149]
构建机器学习预测模型;
[0150]
获取多个机器学习预测模型样本,所述机器学习预测模型样本包括verilog-a模板的待预测参数样本值、输入样本值和对应的输出样本值;
[0151]
基于所述多个机器学习预测模型样本,训练所述机器学习预测模型;
[0152]
将所述电子器件的实际输入值和所述待预测参数的初始值输入训练后的机器学习预测模型,以输出所述电子器件的预测输出值。
[0153]
根据本发明的一些实施例,所述构建机器学习预测模型,包括:
[0154]
基于随机森林算法,构建机器学习预测模型。
[0155]
根据本发明的一些实施例,所述获取多个机器学习预测模型样本,包括:
[0156]
设置多个预测参数样本值,并将多个所述预测参数样本值依次代入所述verilog-a模板,以构建多个verilog-a样本模型;
[0157]
设置verilog-a模板的输入样本值,并将所述输入样本值依次输入多个所述verilog-a样本模型,以依次输出对应的输出样本值。
[0158]
根据本发明的一些实施例,所述设置多个预测参数样本值,包括:
[0159]
确定预测参数样本区间,并结合拉丁超立方抽样方法,获取多个预测参数样本值。
[0160]
根据本发明的一些实施例,所述行为属性包括:器件类型、和/或输入输出关系波形类型、和/或输入输出类型、和/或输出值区间范围。
[0161]
根据本发明的一些实施例,所述基于电子器件的行为属性,从verilog-a模板库里筛选出对应的verilog-a模板,包括:
[0162]
基于电子器件的器件类型,从verilog-a模板库里筛选出第一级verilog-a模板集;
[0163]
基于所述电子器件的输入输出关系波形类型,从所述第一级verilog-a模板集中筛选出第二级verilog-a模板集;
[0164]
基于所述电子器件的输入输出类型和输出值区间范围,从所述第二级verilog-a模板集中筛选出verilog-a模板;
[0165]
当所述电子器件的输入输出关系波形类型为类正弦波时,基于所述电子器件的输入输出关系波形调整所述verilog-a模板。
[0166]
根据本发明实施例的电子器件的verilog-a模型构建设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的电子器件的verilog-a模型构建方法的步骤。
[0167]
需要说明的是,本实施例所述处理器可以是手机,计算机,服务器,空调器,或者网络设备等。
[0168]
根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述的电子器件的verilog-a模型构建方法的步骤。
[0169]
需要说明的是,本实施例所述计算机可读存储介质包括但不限于为:rom、ram、磁盘或光盘等。所述处理器可以是手机,计算机,服务器,空调器,或者网络设备等。
[0170]
需要说明的是,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0171]
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0172]
不应将位于括号之内的任何参考符号构造成对权利要求的限制。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。单词第一、第二、以及第三等的使用是用于区别类似的对象,不表示任何顺序。可将这些单词解释为名称。
[0173]“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献