一种用于电路设计的人工智能实现系统及方法与流程

文档序号:27127801发布日期:2021-10-27 20:30阅读:328来源:国知局
一种用于电路设计的人工智能实现系统及方法与流程

1.本发明涉及电路设计领域,具体涉及一种用于电路设计的人工智能实现系统及方法。


背景技术:

2.现有电路的设计中,由开关管等半导体器件组成的有源电路都是由研发人员根据经验进行设计,但是由于电路结构和器件参数的复杂多变,在研发人员对电路进行设计时,通常会利用eda(电子设计自动化)软件对电路进行设计,并仿真验证设计的正确性,这其中,在对电路不断的修改过程中,会存在修改方向错误的问题,也存在仿真时间较长的问题,从而导致电路设计耗时费力效率低,对电路结构或参数进行多达几百次的调整和改进,导致电路设计效率较低。


技术实现要素:

3.有鉴于此,本发明实施例提供了一种用于电路设计的人工智能实现系统及方法,以解决现有技术中存在的问题。
4.第一方面,本发明提供一种用于电路设计的人工智能实现系统,包括:存储模块,用以分类存储历史阶段的电路设计拓扑图中的子电路拓扑图,所述分类的类型为子电路拓扑图的功能;生成器运算模块,用以根据已存储的所有电路设计图进行人工智能训练得到电路生成模型;训练器运算模块,用以根据已存储的所有电路设计图进行人工智能训练得到判断模型;第一输入模块,用以输入正在设计的电路设计图和第一目标功能参数;生成模块,用以获取所述正在设计的电路设计图和所述第一目标功能参数,并基于所述电路生成模型得到第一目标电路设计图;输出模块,输出所述第一目标电路设计图;第二输入模块,用以输入第二目标功能参数;判断模块,用以获取所述第一目标电路设计图,并基于所述判断模型对所述第一目标电路设计图判断后得到第一结果,生成训练指令,输出至所述生成模块中;其中,所述生成模块获取所述训练指令,并基于所述训练指令对所述电路生成模型进行再训练。
5.进一步地,所述用于电路设计的人工智能实现系统还包括:构建样本数据库模块,用以根据已存储的所有电路设计图构建训练样本数据库并输入至所述训练器运算模块中,所述样本数据库包括所述子电路的功能参数、所述子电路拓扑的每一电路元件名称以及各个电路元件的相互之间的电连接关系。
6.进一步地,所述构建样本数据库模块包括:拆分单元,用以将所述子电路拓扑拆分,并根据所述子电路的功能参数中的功能名称进行分类;构建单元,用以将所述子电路的功能参数、所述子电路拓扑的每一电路元件名称以及各个电路元件的相互之间的电连接关系存储至所述样本数据库中。
7.进一步地,所述子电路拓扑的每一电路元件名称以及各个电路元件的相互之间的电连接关系以第一矩阵的形式存储于所述样本数据库中;其中,相邻的电路元件之间设有
一节点,每一电路元件包括与所述节点连接的连接点;所述第一矩阵中的第i行第j列中的元素x
ij
表示节点i至节点j之间的电路元件a
abk
,a为电路元件的类型,a为与节点i连接的第一连接点,b为与节点j连接的第二连接点,k为第几个a类型的元件。
8.进一步地,所述样本数据库还包括第二矩阵,所述第二矩阵用以存储所述电路设计拓扑图中的子电路;所述第二矩阵中的第m行第n列中的元素y;其中,第m行表示某一子电路的电路名称所对应的序号,第n列表示子电路的子设计阶段;y的值取0或1,0表示所述某一子电路的电路拓扑图与之前保存的子电路拓扑图相同,1表示所述某一子电路的电路拓扑图的功能参数与之前保存的子电路拓扑图的功能参数不相同。
9.进一步地,所述功能参数还包括:电路设计的设计阶段、输入电压范围、输出电压范围、输出电压的温度漂移率、输出电压的电压漂移率、静态工作电流或输出频率。
10.进一步地,所述第一目标功能参数与所述第二目标功能参数的数值相等,所述第一目标功能参数与所述第二目标功能参数皆包括:输入电压范围、输出电压范围、输出电压的温度漂移率、输出电压的电压漂移率、静态工作电流或输出频率。
11.进一步地,所述训练器运算模块包括:样本集构建单元,用以根据所述样本数据库构建一样本集;样本集划分单元,用以随机划分所述样本集为训练样本及测试样本;读取单元,用以读取所述训练样本中的数据,输入所述训练样本至所述神经网络中,以执行训练操作;第一神经网络模型构建单元,用以在训练过程中对第一神经网络的网络参数权重进行调整,以获得训练后的第一神经网络模型;验证单元,用以输入所述测试样本至所述第一神经网络模型中进行验证操作,得到验证结果;优化单元,用以根据所验证结果对所述第一神经网络模型进行优化,以获得所述判断模型。
12.进一步地,所述验证单元包括:输入子单元,用以输入x个测试样本至第一神经网络模型,获取x个第一结果;统计子单元,用以将所述x个第一结果与所述x个测试样本比较,统计所述第一结果与所述测试样本对应的功能参数之差的绝对值大于一阈值的样本个数y;计算子单元,用以计算第一验证结果,所述计算第一验证结果为样本个数y与样本个数x的比值。
13.第二方面,本发明一种用于电路设计的人工智能实现方法,包括如下步骤:存储历史阶段的电路设计拓扑图,所述电路设计拓扑图由多个子电路拓扑图组成;根据已存储的所有电路设计图进行人工智能训练得到电路生成模型;根据已存储的所有电路设计图进行人工智能训练得到判断模型;输入正在设计的电路设计图和第一目标功能参数至所述电路生成模型中,得到第一目标电路设计图;基于所述判断模型对所述第一目标电路设计图与第二目标功能参数进行判断得到第一结果,并生成训练指令;将所述训练指令输入至所述电路生成模型中,并基于所述训练指令对所述电路生成模型进行再训练。
14.本发明技术方案,具有如下优点:
15.本发明通过将历史阶段的电路设计拓扑图的不同类别子电路进行分类存储,并输入至生成器运算模块以及训练器运算模块分别得到电路生成模型以及判断模型;接着输入正在设计的电路设计拓扑图以及第一目标功能参数至所述生成模块,所述生成模块基于所述电路生成模型得到第一目标电路设计图;输出模块输出所述第一目标电路设计图,这可以给研发人员对正在设计中的电路提供设计参考方案,用以提高设计效率。
16.进一步,所述判断模块获取所述第一目标电路设计图以及所述第二目标功能参
数,并基于所述判断模型对所述第一目标电路设计图与所述第二目标功能参数进行判断后得到第一结果后生成训练指令,输出至所述生成模块中;所述生成模块基于所述训练指令对所述电路生成模型进行再训练,进行再训练的时候无需进行仿真,因此训练速度快。
附图说明
17.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是根据本发明实施例提供的用于电路设计的人工智能实现系统的结构框图;
19.图2是根据本发明实施例提供的构建样本数据库模块的结构框图;
20.图3是根据本发明实施例提供的子电路拓扑图的电路图;
21.图4是根据本发明实施例提供的训练器运算模块的结构框图;
22.图5是根据本发明实施例提供的验证单元的结构框图;
23.图6是根据本发明实施例提供的用于电路设计的人工智能实现方法的流程图;
24.图7是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.实施例1
27.如图1所示,本发明提供一种用于电路设计的人工智能实现系统,包括:存储模块11、构建样本数据库模块12、生成器运算模块13、训练器运算模块14、第一输入模块15、生成模块16、第二输入模块17、判断模块18以及输出模块19。
28.所述存储模块11用以分类存储历史阶段的电路设计拓扑图中的子电路拓扑图。所述分类的类型为子电路拓扑图的功能。
29.具体地,电路开发平台在每次研发人员点击保存按钮时,自动保存电路设计拓扑图所有修改记录。自动保存所有修改记录,具体为,修改保存按钮的代码,即在实际保存文件后在程序返回到编辑、关闭等其他代码前插入一行用程序把刚刚保存的文件对应的网表文件存入代码仓库,这可以高效地实现文件的历史版本保存。
30.所述构建样本数据库模块12用以根据已存储的所有电路设计图构建样本数据库并输入至所述训练器运算模块14中,所述样本数据库包括所述子电路的功能参数、所述子电路拓扑的每一电路元件名称以及各个电路元件的相互之间的电连接关系。
31.如图2所示,所述构建样本数据库模块12包括:拆分单元121以及构建单元122。
32.所述拆分单元用121以将所述子电路拓扑拆分,并根据所述子电路的功能参数中的功能名称进行分类。
33.所述构建单元122用以将所述子电路的功能参数、所述子电路拓扑的每一电路元
件名称以及各个电路元件的相互之间的电连接关系存储至所述样本数据库中。
34.所述子电路拓扑的每一电路元件名称以及各个电路元件的相互之间的电连接关系以第一矩阵的形式存储于所述样本数据库中。
35.其中,相邻的电路元件之间设有一节点,每一电路元件包括与所述节点连接的连接点;所述第一矩阵中的第i行第j列中的元素x
ij
表示节点i至节点j之间的电路元件a
abk
,a为电路元件的类型,a为与节点i连接的第一连接点,b为与节点j连接的第二连接点,k为第几个a类型的元件。
36.如图3所示,以含电压源的rc电路拓扑进行举例,给图中子电路各个节点编号,默认子电路接地处的节点为0节点,如果没有接地节点则将节点0空出,从1节点开始编号;以节点编号为矩阵的横纵标号,形成表格,填入所有元件得到第一矩阵,可以和电路中的器件的实际电连接关系相关联。
37.表1:第一矩阵的存储表
38.节点编号01200vab1cab11vba10rab12cba1rba10
39.表中,x10的元素为vba1,表示节点1至节点0之间的电路元件v,电路元件v的连接点b连接节点1,电路元件v的连接点a连接节点0,默认假设电路中的电路元件出现的次数皆为1。
40.在实施例中,所述电路设计拓扑图的整个设计为一个设计周期;所述设计周期包括多个连续的子设计阶段,一般子设计阶段依据时间先后进行标号,比如1~n,用以对子电路在不同设计阶段进行打标签。
41.所述样本数据库还包括第二矩阵,所述第二矩阵用以存储所述电路设计拓扑图中的子电路;所述第二矩阵中的第m行第n列中的元素y;其中,第m行表示某一子电路的电路名称所对应的序号,第n列表示子电路的子设计阶段;y的值取0或1,0表示所述某一子电路的电路拓扑图与之前保存的子电路拓扑图相同,1表示所述某一子电路的电路拓扑图的功能参数与之前保存的子电路拓扑图的功能参数不相同。子电路的电路名称即为功能名称。
42.表2:第二矩阵的存储表
[0043] 012...192193194...n

1n1111...010...002000...111...00.................................m000...000...00
[0044]
表2中,行1~m行分别表示不同子电路的功能名称,例如第1行表示带隙基准电压源,第2行表示振荡器,第m行表示顶层连接;n为整个电路设计拓扑图的保存的子设计阶段。由于每完成一次设计周期,可能会出现新的子电路拓扑,因此,为了确保数据的完整性,当对第二次设计周期内的完整的电路设计拓扑图保存后,根据第二次设计周期内的完整的电路设计拓扑图更新第一矩阵,且将第二次设计周期内的完整的电路设计拓扑图新的子电路功能名称更新至第二矩阵,并将更新后的第一矩阵以及第二矩阵的输入至所述训练器运算
模块中再次训练,并更新所述判断模块,以此类推。
[0045]
所述功能参数还包括:电路设计的设计阶段、输入电压范围、输出电压范围、输出电压的温度漂移率、输出电压的电压漂移率、静态工作电流或输出频率等。
[0046]
所述生成器运算模块13,用以根据已存储的所有电路设计图进行人工智能训练得到电路生成模型。
[0047]
所述训练器运算模块14用以根据已存储的所有电路设计图进行人工智能训练得到判断模型。具体的,根据样本数据库进行人工智能训练得到判断模型。
[0048]
如图4所示,所述训练器运算模块14包括:样本集构建单元141、样本集划分单元142、读取单元143、第一神经网络模型构建单元144、验证单元145以及优化单元146。
[0049]
所述样本集构建单元141用以根据所述样本数据库构建一样本集。
[0050]
所述样本集划分单元142用以随机划分所述样本集为训练样本及测试样本。
[0051]
所述读取单元143用以读取所述训练样本中的数据,输入所述训练样本至所述神经网络中,以执行训练操作。
[0052]
所述第一神经网络模型构建单元144用以在训练过程中对所述神经网的网络参数权重进行调整,以获得训练后的第一神经网络模型。
[0053]
所述验证单元145用以输入所述测试样本至所述第一神经网络模型中进行验证操作,得到验证结果。
[0054]
如图5所示,所述验证单元145包括:输入子单元1451、统计子单元1452以及计算子单元1453。
[0055]
所述输入子单元1451用以输入x个测试样本至第一神经网络模型,获取x个第一结果。
[0056]
所述统计子单元1452用以将所述x个第一结果与所述x个测试样本比较,统计所述第一结果与所述测试样本对应的功能参数之差的绝对值大于一阈值的样本个数y。
[0057]
所述计算子单元1453用以计算第一验证结果,所述计算第一验证结果为样本个数y与样本个数x的比值。
[0058]
所述优化单元1453用以根据所验证结果对所述第一神经网络模型进行优化,以获得所述电路判断模型。
[0059]
所述第一输入模块15用以输入正在设计的电路设计图和第一目标功能参数。
[0060]
所述生成模块16用以获取所述正在设计的电路设计图和所述第一目标功能参数,并基于所述电路生成模型得到第一目标电路设计图,这可以给研发人员提供参考,提高设计效率以及设计的准确性。
[0061]
所述第二输入模块17用以输入第二目标功能参数。所述第一目标功能参数与所述第二目标功能参数的数值相等;所述第一目标功能参数以及第二目标功能参数皆包括:输入电压范围、输出电压范围、输出电压的温度漂移率、输出电压的电压漂移率、静态工作电流或输出频率等。
[0062]
所述判断模块18用以获取所述第一目标电路设计图以及所述第二目标功能参数,并基于所述判断模型对所述第一目标电路设计图与所述第二目标功能参数进行判断后得到第一结果,生成训练指令,输出至所述生成模块16中,生成模块16对电路生成模型进行再训练。
[0063]
具体的,所述第一目标电路设计图输入至所述判断模型中,并得到相应的功能参数,并与所述第二目标功能参数进行比较,当差值大于阈值的时候,判定该第一目标电路设计图不符合设计要求,生成反向的训练指令。当差值小于阈值的时候,判定该第一目标电路设计图符合设计要求,生成正向的训练指令最后,所述生成模块16获取所述训练指令,并基于所述训练指令对所述电路生成模型的进行再训练。进行再训练的时候无需进行仿真,因此训练速度快。
[0064]
所述输出模块19用以输出所述第一目标电路拓扑图给研发人员进行参考设计,提升设计效率。
[0065]
本发明通过将历史阶段的电路设计拓扑图的不同类别子电路进行分类存储,并输入至生成器运算模块13以及训练器运算模14块分别得到电路生成模型以及判断模型;接着输入正在设计的电路设计拓扑图以及第一目标功能参数至所述生成模块16,所述生成模块16基于所述电路生成模型得到第一目标电路设计图;输出模块19输出所述第一目标电路设计图,这可以给研发人员对正在设计中的电路提供设计参考方案,用以提高设计效率。
[0066]
进一步,所述判断模块17获取所述第一目标电路设计图以及所述第二目标功能参数,并基于所述判断模型对所述第一目标电路设计图与所述第二目标功能参数进行判断后得到第一结果后生成训练指令,输出至所述生成模块16中;所述生成模块16基于所述训练指令对所述电路生成模型的进行再训练,进行再训练的时候无需进行仿真,因此训练速度快。
[0067]
本发明系统的具体工作过程:首先,生成器运算模块13和训练器运算模块14根据第一次电路设计周期后保存的所有电路图进行人工智能训练,得到电路生成模型以及判断模型。
[0068]
在第二次电路设计周期的第一次子设计阶段,首先输入研发人员正在设计的电路图和第一目标功能参数至生成模块得到第一目标电路设计图,通过输出模块输出给研发人员和判断模块,研发人员参考第一目标电路设计图进行电路设计,得到第一次的整体的设计图,同时,判断模块获取第二目标功能参数以及第一目标电路设计图,通过判断模型进行判断,判断模块根据判断结果生成训练指令,输出给生成模块,生成模块对电路生成模型进行再训练。
[0069]
在第二次电路设计周期的第二次子设计阶段,首先输入第一次的整体的设计图和第一目标功能参数,生成模块得到第二目标电路设计图,该第二目标电路设计图通过输出模块输出给研发人员和判断模块,研发人员参考第二目标电路设计图进行电路设计,得到第二次的整体的设计图;同时,判断模块获取第二目标功能参数以及第二目标电路设计图,通过判断模型进行判断,判断模块根据判断结果生成训练指令,输出给生成模块,生成模块对电路生成模型进行再训练。进而第三次子设计阶段以及之后的训练以此类推。
[0070]
在本实施例中所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0071]
本实施例中的用于电路设计的人工智能实现系统是以功能单元的形式来呈现,这里的单元是指asic电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
[0072]
实施例2
[0073]
如图6所示,本发明提供一种用于电路设计的人工智能实现方法,包括如下步骤:s1~s6。
[0074]
s1、存储历史阶段的电路设计拓扑图,所述电路设计拓扑图由多个子电路拓扑图组成。
[0075]
s2、根据已存储的所有电路设计图进行人工智能训练得到电路生成模型。
[0076]
s3、根据已存储的所有电路设计图进行人工智能训练得到判断模型。
[0077]
s4、输入正在设计的电路设计图和第一目标功能参数至所述电路生成模型中,并输出第一目标电路设计图,用以对研发人员进行参考,提高设计效率。
[0078]
s5、基于所述判断模型对所述第一目标电路设计图与第二目标功能参数进行判断得到第一结果,并生成训练指令。
[0079]
s6、将所述训练指令输入至所述电路生成模型中,并基于所述训练指令对所述电路生成模型进行再训练。
[0080]
本发明提供一种用于电路设计的人工智能实现方法,本发明通过将历史阶段的电路设计拓扑图的不同类别子电路进行分类存储,并进行人工智能训练分别得到电路生成模型以及判断模型;接着输入正在设计的电路设计拓扑图以及第一目标功能参数至所述电路生成模型输出第一目标电路设计图;这可以给研发人员对正在设计中的电路提供设计参考方案,用以提高设计效率。
[0081]
进一步,将所述第一目标电路设计图以及所述第二目标功能参数输入所述判断模型中,并基于所述对所述第一目标电路设计图与所述第二目标功能参数进行判断后得到第一结果后生成训练指令,基于所述训练指令对所述电路生成模型的进行再训练,进行再训练的时候无需进行仿真,因此训练速度快。
[0082]
实施例3
[0083]
本发明实施例还提供一种电子设备,具有上述图1、图2、图4以及图5所示的用于电路设计的人工智能实现系统。
[0084]
请参阅图7,图7是本发明可选实施例提供的一种电子设备的结构示意图,该电子设备可以包括:至少一个处理器51,例如cpu(central processing unit,中央处理器),至少一个通信接口53,存储器54,至少一个通信总线52。其中,通信总线52用于实现这些组件之间的连接通信。其中,通信接口53可以包括显示屏(display)、键盘(keyboard),可选通信接口53还可以包括标准的有线接口、无线接口。存储器54可以是高速ram存储器(random access memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器。存储器54可选的还可以是至少一个位于远离前述处理器51的存储装置。其中处理器51可以结合实施例1所描述的系统,存储器54中存储应用程序,且处理器51调用存储器54中存储的程序代码,以用于执行上述用于电路设计的人工智能实现方法的步骤。
[0085]
其中,通信总线52可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。通信总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0086]
其中,存储器54可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random

access memory,缩写:ram);存储器也可以包括非易失性存储器(英文:non

volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:hdd)或固态硬盘(英文:solid

state drive,缩写:ssd);存储器54还可以包括上述种类的存储器的组合。
[0087]
其中,处理器51可以是中央处理器(英文:central processing unit,缩写:cpu),网络处理器(英文:network processor,缩写:np)或者cpu和np的组合。
[0088]
其中,处理器51还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application

specific integrated circuit,缩写:asic),可编程逻辑器件(英文:programmable logic device,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field

programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。
[0089]
可选地,存储器54还用于存储程序指令。处理器51可以调用程序指令,实现如本发明所示的用于电路设计的人工智能实现方法。
[0090]
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的用于电路设计的人工智能实现方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid

state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
[0091]
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1