CN117940929A - 用于识别电路系统中的目标电路的方法和电子设备 - Google Patents
用于识别电路系统中的目标电路的方法和电子设备 Download PDFInfo
- Publication number
- CN117940929A CN117940929A CN202180101672.XA CN202180101672A CN117940929A CN 117940929 A CN117940929 A CN 117940929A CN 202180101672 A CN202180101672 A CN 202180101672A CN 117940929 A CN117940929 A CN 117940929A
- Authority
- CN
- China
- Prior art keywords
- circuit
- feature representation
- circuitry
- nodes
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 32
- 238000011176 pooling Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 14
- 238000010586 diagram Methods 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 13
- 238000010801 machine learning Methods 0.000 abstract description 6
- 230000001149 cognitive effect Effects 0.000 abstract 1
- 238000013461 design Methods 0.000 description 31
- 239000011159 matrix material Substances 0.000 description 27
- 230000006870 function Effects 0.000 description 24
- 239000013598 vector Substances 0.000 description 23
- 238000012545 processing Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 241001334134 Rugopharynx epsilon Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000000427 thin-film deposition Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
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
本公开涉及集成电路仿真领域,更具体而言涉及用于识别电路系统中的目标电路的方法和电子设备。
随着集成电路被应用于各种应用场景,具有同样功能的电路在被应用于不同场景时,也会对电路进行针对性的优化或修改,以满足特定场景的需求。同样的电路功能由于各种性能指标(增益、速度、噪声或功耗等)要求不同,设计出来的电路结构会有各种各样的变化。例如,运算放大器的电路结构就有超过60种的结构,诸如套筒式结构、折叠式结构、密勒补偿式结构等。此外,不同的电路设计结构会有不同的版图设计、可靠性设计等要求。例如,对有些模拟电路的版图需要对称布线,有些电路的可靠性只有在衬底有电压偏置的情况下才会出现长期的可靠性问题。如何在复杂的电路系统中识别出这些用户关心的子电路或目标电路,从而对识别出的电路进行特定的布局布线和可靠性验证等,是影响模拟电路性能和可靠性的关键问题所在。
在一些常规方案中,通过预设的复杂的匹配规则,从用户设计的网表中的满足起始条件的所有电路器件或节点去查找,直至找到满足匹配规则的目标电路。然而,对于复杂电路系统而言,基于规则的文本匹配通常匹配速度较慢并且成功率较低。
发明内容
鉴于上述问题,本公开的实施例旨在提供一种用于识别电路系统中的目标电路的方法和电子设备。
根据本公开的第一方面,提供一种用于识别电路系统中的目标电路的方法。该方法包括基于表示电路系统的网表数据,确定表示电路系统的至少一部分的图数据;从图数据提取电路特征表示,电路特征表示包括电路系统的至少一部分中的电路器件的器件类型、器件端口或连接关系中的至少一项的表示;以及至少基于电路特征表示,生成关于目标电路的输出。由于电路被抽象为图数据并且被提取电路特征并加以识别,因此无需定义复杂的规则并且也不需要电路设计人员对目标电路的详细电路结构有比较深入的了解,而是由诸如计算机之类的电子设备针对电路特征通过诸如卷积神经网络之类的机器学习模型自动进行特征提取和识别。电路设计人员因此无需掌握复杂的设计规则,而只需通过购买和/或建立和维护自己的参考电路特征库,即可开发复杂的电路系统并且准确识别电路系统中需要关注的目标电路。
在第一方面的一种可能实现方式中,图数据包括异构超图数据。从图数据提取电路特征表示包括:使用卷积神经网络嵌入,从异构超图数据提取异构超图中的、多个节点和与多个节点相关联的多个节点连接;以及基于多个节点和多个节点连接,确定电路特征表示。通过使用卷积神经网络嵌入,可以对异构超图进行降维,从而避免潜在的维度灾难并且提高识别的准确性和效率。
在第一方面的一种可能实现方式中,基于多个节点和节点连接确定电路特征表示包括:使用卷积神经网络池化对多个节点和多个节点进行聚类,以获得电路特征表示。通过使用池 化进行聚类,可以有效地提取电路特征表示,从而进一步提高识别的准确性和效率。在第一方面的一种可能实现方式中,电路特征表示可以包括特征向量。
在第一方面的一种可能实现方式中,基于多个节点和节点连接确定电路特征表示包括:使用卷积神经网络对多个节点和多个节点进行多层感知,以获得电路特征表示。通过使用多层感知,可以有效地提取各个节点的电路特征表示,从而进一步提高识别的准确性和效率。
在第一方面的一种可能实现方式中,至少基于电路特征表示生成关于目标电路的输出包括:基于电路特征表示与电路库中的多个参考电路特征表示确定关于目标电路的输出。通过将电路特征表示与用户的电路库中的多个参考电路特征表示进行比较以确定是否存在目标电路,可以快速有效地识别电路系统中的目标电路。相比于针对参考电路提取参考电路特征表示并且将其与待识别的电路特征表示进行比较,可以有效地减少计算量和时间。
在第一方面的一种可能实现方式中,基于电路特征表示与电路库中的多个参考电路特征表示确定关于目标电路的输出包括:分别计算电路特征表示与多个参考电路特征表示之间的多个匹配度;以及基于多个匹配度,生成关于目标电路的输出。通过使用电路特征表示与多个参考电路特征表示,可以使得目标电路的识别更为准确。
在第一方面的一种可能实现方式中,基于多个匹配度生成关于目标电路的输出包括:确定多个匹配度中的最高匹配度是否达到阈值匹配度;以及如果最高匹配度达到阈值匹配度,则生成表示电路系统中存在目标电路的第一输出;或如果最高匹配度低于阈值匹配度,则生成表示电路系统中不存在目标电路的第二输出。
在第一方面的一种可能实现方式中,该方法还包括:确定多个参考电路特征表示中的与最高匹配度相对应的第一参考电路特征表示;以及使用与第一参考电路特征表示相对应的参考电路替换电路系统中与电路特征表示相对应的电路。通过使用对应的参考电路替换,可以避免电路设计人员重新设计,并且提高电路设计的效率和准确率。
在第一方面的一种可能实现方式中,电路特征表示包括第一电路特征表示和第二电路特征表示,第一电路特征表示用于表示至少一部分中的第一电路器件的器件类型、器件端口或连接关系中的至少一项,第二电路特征表示用于表示至少一部分中的第二电路器件的器件类型、器件端口或连接关系中的至少一项。基于电路特征表示生成关于目标电路的输出包括:计算第一电路特征表示和第二电路特征表示之间的相似度;以及基于相似度,生成关于目标电路的输出。通过比较电路系统中的特定电路器件之间的布置相似度,可以确定包括该特定电路器件的电路是否是目标电路,从而提高电路识别的准确率。
在第一方面的一种可能实现方式中,相似度包括余弦相似度,基于相似度生成关于目标电路的输出包括:确定余弦相似度是否达到阈值相似度;如果余弦相似度达到阈值相似度,则生成表示电路系统中存在目标电路的第一输出;以及如果余弦相似度低于阈值相似度,则生成表示电路系统中不存在目标电路的第二输出。通过计算特定电路器件的特征表示之间的余弦相似度,可以快速有效地确认目标电路。
在第一方面的一种可能实现方式中,网表数据包括晶体管级网表数据或门级网表数据。
在第一方面的一种可能实现方式中,基于表示电路系统的网表数据,确定表示电路系统的至少一部分的图数据包括:基于网表数据将电路系统中的各个电路器件抽象为图结构的多个节点,并且将电路系统中的各个电路器件之间的连接关系抽象为图结构的多个边,以生成表示多个节点和多个边的图数据,该图数据表示上述图结构,该图结构表示电路系统的至少一部分的拓扑结构,多个节点和多个边用于表示电路系统的至少一部分。
在第一方面的一种可能实现方式中,基于网表数据将电路系统中的各个电路器件抽象为图结构的多个节点,并且将电路系统中的各个电路器件之间的连接关系抽象为图结构的多个边,以生成表示多个节点和多个边的图数据包括:基于网表数据将电路系统中的各个电路器件抽象为图结构的多个异构节点,并且将电路系统中的各个电路器件之间的连接关系抽象为异构超图结构的多个超边,以生成表示多个异构节点和多个超边的异构超图数据。
根据本公开的第二方面,提供一种计算机可读存储介质,存储多个程序,多个程序被配置为由一个或多个处理器执行。多个程序包括用于第一方面的方法的指令。
根据本公开的第三方面,提供一种计算机程序产品。计算机程序产品包括多个程序,多个程序被配置为由一个或多个处理器执行。多个程序包括用于执行第一方面的方法的指令。
根据本公开的第四方面,提供一种电子设备。电子设备包括:一个或多个处理器;包括计算机指令的存储器,计算机指令在由电子设备的一个或多个处理器执行时使得电子设备执行第一方面的方法。
根据本公开的第五方面,提供一种电子设备。电子设备包括:确定单元,用于基于表示电路系统的网表数据,确定表示电路系统的至少一部分的图数据;提取单元,用于从图数据提取电路特征表示,电路特征表示包括电路系统的至少一部分中的电路器件的器件类型、器件端口或连接关系中的至少一项的表示;以及生成单元,用于至少基于电路特征表示,生成关于目标电路的输出。由于电路被抽象为图数据并且被提取电路特征并加以识别,因此无需定义复杂的规则并且也不需要电路设计人员对目标电路的详细电路结构有比较深入的了解,而是由诸如计算机之类的电子设备针对电路特征通过诸如卷积神经网络之类的机器学习模型自动进行特征提取和识别。电路设计人员因此无需掌握复杂的设计规则,而只需通过购买和/或建立和维护自己的参考电路特征库,即可开发复杂的电路系统并且准确识别电路系统中需要关注的目标电路。
在第五方面的一种可能实现方式中,图数据包括异构超图数据。提取单元进一步用于:使用卷积神经网络嵌入,从异构超图数据提取异构超图中的、多个节点和与多个节点相关联的多个节点连接;以及基于多个节点和多个节点连接,确定电路特征表示。通过使用卷积神经网络嵌入,可以对异构超图进行降维,从而避免潜在的维度灾难并且提高识别的准确性和效率。
在第五方面的一种可能实现方式中,确定单元进一步用于:使用卷积神经网络池化对多个节点和多个节点进行聚类,以获得电路特征表示。通过使用池化进行聚类,可以有效地提取电路特征表示,从而进一步提高识别的准确性和效率。在第一方面的一种可能实现方式中,电路特征表示可以包括特征向量。
在第五方面的一种可能实现方式中,确定单元进一步用于:使用卷积神经网络对多个节点和多个节点进行多层感知,以获得电路特征表示。通过使用多层感知,可以有效地提取各个节点的电路特征表示,从而进一步提高识别的准确性和效率。
在第五方面的一种可能实现方式中,生成单元进一步用于:基于电路特征表示与电路库中的多个参考电路特征表示确定关于目标电路的输出。通过将电路特征表示与用户的电路库中的多个参考电路特征表示进行比较以确定是否存在目标电路,可以快速有效地识别电路系统中的目标电路。相比于针对参考电路提取参考电路特征表示并且将其与待识别的电路特征表示进行比较,可以有效地减少计算量和时间。
在第五方面的一种可能实现方式中,生成单元进一步用于:分别计算电路特征表示与多 个参考电路特征表示之间的多个匹配度;以及基于多个匹配度,生成关于目标电路的输出。通过使用电路特征表示与多个参考电路特征表示,可以使得目标电路的识别更为准确。
在第五方面的一种可能实现方式中,生成单元进一步用于:确定多个匹配度中的最高匹配度是否达到阈值匹配度;以及如果最高匹配度达到阈值匹配度,则生成表示电路系统中存在目标电路的第一输出;或如果最高匹配度低于阈值匹配度,则生成表示电路系统中不存在目标电路的第二输出。
在第五方面的一种可能实现方式中,生成单元进一步用于:确定多个参考电路特征表示中的与最高匹配度相对应的第一参考电路特征表示;以及使用与第一参考电路特征表示相对应的参考电路替换电路系统中与电路特征表示相对应的电路。通过使用对应的参考电路替换,可以避免电路设计人员重新设计,并且提高电路设计的效率和准确率。
在第五方面的一种可能实现方式中,电路特征表示包括第一电路特征表示和第二电路特征表示,第一电路特征表示用于表示至少一部分中的第一电路器件的器件类型、器件端口或连接关系中的至少一项,第二电路特征表示用于表示至少一部分中的第二电路器件的器件类型、器件端口或连接关系中的至少一项,生成单元进一步用于:计算第一电路特征表示和第二电路特征表示之间的相似度;以及基于相似度,生成关于目标电路的输出。通过比较电路系统中的特定电路器件之间的布置相似度,可以确定包括该特定电路器件的电路是否是目标电路,从而提高电路识别的准确率。
在第五方面的一种可能实现方式中,相似度包括余弦相似度,生成单元进一步用于:确定余弦相似度是否达到阈值相似度;如果余弦相似度达到阈值相似度,则生成表示电路系统中存在目标电路的第一输出;以及如果余弦相似度低于阈值相似度,则生成表示电路系统中不存在目标电路的第二输出。通过计算特定电路器件的特征表示之间的余弦相似度,可以快速有效地确认目标电路。
在第五方面的一种可能实现方式中,确定单元进一步用于:基于网表数据将电路系统中的各个电路器件抽象为图结构的多个节点,并且将电路系统中的各个电路器件之间的连接关系抽象为图结构的多个边,以生成表示多个节点和多个边的图数据,该图数据表示上述图结构,该图结构表示电路系统的至少一部分的拓扑结构,多个节点和多个边用于表示电路系统的至少一部分。
在第五方面的一种可能实现方式中,确定单元进一步用于:基于网表数据将电路系统中的各个电路器件抽象为图结构的多个异构节点,并且将电路系统中的各个电路器件之间的连接关系抽象为异构超图结构的多个超边,以生成表示多个异构节点和多个超边的异构超图数据。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了集成电路的设计制造过程的流程图;
图2示出了根据本公开的一些实施例的用于识别电路系统中的目标电路的方法的示意流程图;
图3示出了根据本公开的一些实施例的电路系统的示意电路图;
图4示出了根据本公开的一些实施例的异构超图的转换示意图;
图5示出了根据本公开的一些实施例的卷积神经网络图嵌入的示意图;
图6示出了根据本公开的一些实施例的提取电路特征表示的示意过程图;
图7示出了根据本公开的另一实施例的异构超图的转换示意图;
图8示出了可以用于实施本公开的实施例的示例设备的示意性框图;以及
图9示出了根据本公开实施例的用于识别目标电路的示例装置的框图。
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。术语“和/或”表示由其关联的两项的至少一项。例如“A和/或B”表示A、B、或者A和B。下文还可能包括其他明确的和隐含的定义。在本公开中,超图(hypergraph)数据是一般图数据的泛化。超图里的边可以连接任意数量的顶点。超图H可以表示为顶点-边的对H=(X,E),其中,X表示所有顶点元素的集合,E表示X的非空子集。另一方面,传统同构图(homogeneous graph)数据中只存在一种节点和边,因此在构建图神经网络时所有节点共享同样的模型参数并且拥有同样维度的特征空间。异构图(heterogeneous graph)中可以存在不只一种节点和边,因此允许不同类型的节点拥有不同维度的特征或属性。因此,异构超图可以表示其中不同类型的节点拥有不同维度的特征或属性的超图。
应理解,本申请实施例提供的技术方案,在以下具体实施例的介绍中,某些重复之处可能不再赘述,但应视为这些具体实施例之间已有相互引用,可以相互结合。
如上所述,对于复杂电路系统而言,基于规则的文本匹配通常匹配速度较慢并且成功率较低。此外,针对功能相似但电路结构不同的电路匹配需要设定不同的规则,工作量较大并且对于电路设计人员的要求较高。因此,基于规则的文本匹配不能广泛应用,尤其是难于应用至复杂的电路系统设计。
在本公开中,提供一种识别电路系统中的目标电路的方法和电子设备。该方法将表示电路的网表数据转换为图数据,从图数据中提取电路特征,并且基于电路特征来识别目标电路。由于电路被抽象为图数据并且被提取电路特征并加以识别,因此无需定义复杂的规则并且也不需要电路设计人员对目标电路的详细电路结构有比较深入的了解,而是由诸如计算机之类的电子设备针对电路特征通过诸如卷积神经网络之类的机器学习模型自动进行特征提取和识别。电路设计人员因此无需掌握复杂的设计规则,而只需通过购买和/或建立和维护自己的参考电路特征库,即可开发复杂的电路系统并且准确识别电路系统中需要关注的目标电路。
图1示出了集成电路的设计制造过程的流程图。设计制造过程100开始于规格制定110。在规格制定110的阶段中,确定集成电路需要达到的功能和性能方面的要求。然后,在集成电路设计120的阶段中,首先借助于EDA软件来进行电路设计122。在确定电路 之后,对电路进行布局规划以进行版图设计124。在得到电路版图之后,可以执行光罩制作16以得到用于将所设计的电路形成在晶圆上的光罩。随后,在制造130的阶段中,通过光刻、刻蚀、离子注入、薄膜沉积、抛光等工艺在晶圆上形成集成电路。在封装140的阶段中,对晶圆进行切割得到裸片,并通过黏贴、焊接、模封等工艺对裸片进行封装得到芯片。所得到的芯片在测试150的阶段中被测试,以确保成品芯片的性能满足规格制定110中所确定的要求。最终,测试合格的芯片160可以被交付客户。
在电路设计122的过程中,需要识别出用户关心的目标电路,以便在电路设计122的阶段中就能够给出针对性的电路设计和/或在版图设计124中针对特定的目标电路给出合适的版图设计。对于常规设计而言,这个过程可能对电路设计人员提出较高的要求并且准确率相对较低。
图2示出了根据本公开的一些实施例的用于识别电路系统中的目标电路的方法200的示意流程图。方法200可以由诸如计算机之类的具有计算能力的电子设备执行。本公开对此不进行限制。
在202,基于表示电路系统的网表数据,确定表示电路系统的至少一部分的图数据。电路系统可以包括一个或多个电路功能模块,并且每个电路功能模块可以包括彼此连接的多个电路器件,例如晶体管、二极管、电阻器等。图3示出了根据本公开的一些实施例的电路系统300的示意电路图。电路系统300可以包括多个电路功能模块,例如第一电路功能模块310和第二电路功能模块320以及未图示的其它电路功能模块。第一电路模块310包括第一晶体管M1、第二晶体管M2、第三晶体管M3、第四晶体管M4和电阻器R。第三晶体管M3和第四晶体管M4的源极s分别经由第4边e4和第5边e5耦合至电源电压VDD,并且第三晶体管M3和第四晶体管M4的栅极g经由第2边e2耦合至第一晶体管M1的漏极d。第三晶体管M3和第四晶体管M4的漏极d分别耦合至第一晶体管M1的漏极d和第二晶体管M2的漏极d。第一晶体管M1的栅极g耦合接收输入电压VIN并且第二晶体管的栅极g经由第6边e6耦合接收输入电压VIN。第一晶体管M1和第二晶体管M2的源极经由第1边e1耦合至电阻器R,并且电阻器R经由第7边e7耦合至接地GND。在本文中,“边”表示电路器件的端子之间的连接关系。
虽然在图3中示出了电路系统的一个示例,但是这并非对本公开进行限制。电路系统300可以具有其它的晶体管级的电路拓扑结构。此外,电路系统的功能模块也可以具有其它的配置。晶体管级的网表数据可以描述电路系统的在晶体管级别的电路器件、器件类别和属性、以及器件各个端口之间连接关系等。换言之,图3中的电路结构可以由晶体管级网表文件描述或表示。此外,虽然在本公开的一些实施例中使用晶体管级的电路来描述,例如从晶体管级网表数据确定图结构,但是这并非是对本公开的范围进行限制。在数学中,“图结构”表示物体与物体之间存在某种关系的结构。数学抽象后的“物体”称作节点或顶点,节点间的相关关系则称作边。在本公开中,图结构表示由电路中各个部件及其彼此之间连接关系提取得到的由图的形式表示的电路结构。换言之,在一个实施例中,图结构用于表示电路系统的至少一部分的拓扑结构。相应地,图数据则表示描述这类图结构的数据。在一些实施例中,也可以使用门级网表数据来确定图结构,并且基于该图结构识别电路系统中的目标电路。门级网表数据所表示的门级电路也具有与晶体管级电路相似的电路节点和连接的边,因此也可以被抽象为图。本公开对此不进行限制。
研究发现,电路器件及其连接可以进一步用异构超图表示。在本公开中,超图是一种广义上的图,它的一条边可以连接任意数量的节点。超图与图的主要不同在于图中边上节点的个数。在图中,一条边只能包含两个结点。在超图中,它的边被称为超边,一条超边连接多个结点。如果一个超图中,所有的超边只连接两个结点,那么超图就会退化成图。相应地,超图数据则表示描述超图的数据。
在本发明的一些实施例中,诸如异构超图之类的图表示是考虑到电路可以天然的表示为超图和器件/端口的异构性,只需逐行读取电路网表文件并展开就可将电路表示为诸如异构超图之类的图形式,不需要复杂的操作,具有转换速度快的优点。虽然在本公开中,使用异构超图来描述本公开的一些实施例,但是可以理解这仅是示例而非对本公开的范围进行限制。本公开的实施例也可以使用表示器件的异构性的其它图数据来实施。
更进一步地,在一个实施例中,电路系统的至少一部分可以由异构超图数据表示。异构图是相对于同构图而言的,同构图(homogeneous graph)中只存在一种类型的节点和边,因此在构建图神经网络时所有节点共享同样的模型参数并且拥有同样维度的特征空间。而异构图(heterogeneous graph)中可以存在不只一种类型的节点和边,因此允许不同类型的节点拥有不同维度的特征或属性。在本公开中,异构超图表示一种兼有异构图和超图的性质的图。相应地,异构超图数据则表示描述异构超图的数据。例如,电路系统的中的一个功能模块可以由异构超图表示。备选地,电路系统整体可以由异构超图表示。本公开对此不进行限制。电路设计人员可以根据需要任意选择电路系统的至少一部分,并且使用图数据将其表示。备选地,也可以由电路设计软件基于电路系统的功能,将不同的电路功能模块以不同的图数据表示。
图4示出了根据本公开的一些实施例的异构超图的转换示意图。图3中的第一电路功能模块310可以转换为异构超图400。换言之,第一电路功能模块310中的各个电路器件、器件类型和属性、各个端子的连接关系等数据可以转换为异构超图400并且由其表示。在一个实施例中,电子设备可以解析并且展开电路系统的电路网表,将第一电路功能模块310中的每个器件、其相邻的边、器件的类型、当前器件所属的器件类型、器件端口以及端口和边的连接关系建立成异构超图数据
如异构超图400所示,其中:
V表示所有器件的集合,例如第一晶体管M1、第二晶体管M2、第三晶体管M3、第四晶体管M4、电阻器R、电源电压VDD和接地GND)。E表示所有边的集合,例如第1边e1、第2边e2、第3边e3、第4边e4、第5边e5、第6边e6和第7边e7。集合中的元素e∈E,是个包含集合V子集的集合,例如第2边e2集合中包含第一晶体管M1、第三晶体管M3、第三晶体管M3和第四晶体管M4。O表示器件的所有类型,例如P型场效应金属氧化物半导体(PMOS)、N型场效应金属氧化物半导体(NMOS)、电阻器(R)、电容器(C)等。
表示每个V的类型,例如第一晶体管M1的类型是NMOS,即,
对于
R表示器件端口类型的集合,例如漏极(d)、栅极(g)、源极(s)、基极(b)、正极(pos)、负极(neg)等。Ψ={v,e,r}表征器件端口和边的连接关系,例如第一晶体管M1的栅极g、漏极s和第1边e1有连接,则定义为1,而第一晶体管M1的漏极d端没有,则被定义为0,其中
e∈E和r∈R。
定义器件端口的关系矩阵
其中r∈R,其可以由下式(1)表示
其中,|V|表示电路中器件数量,|E|表示电路中边的数量,
表示实数向量集合。当器件端口和边有连接时为1,没有连接时则为0。为了区分不同的器件端口类型连接,可以引入w
r作为可训练的参数。表征电路网表的异构超图的拓扑结构可以编码为∑
r∈R w
rH
r和
电路器件的特征表示可以表征为
其中
表示连接类型为r的邻接矩阵的转置运算,U
t表示隐空间投影矩阵,用于对不同器件类型的特征向量进行归一化操作,X
t表示原始的器件特征向量,t表示器件类型的所有集合中的任一元素,例如PMOS、NMOS、电阻器R、电容器C等。λ表示将不同类型的器件的特征表示(即器件参数)投影到一个维度为λ的一致空间中。虽然在此示出了基于电路建立异构超图数据的一个示例,但这仅是示意而非对本公开的范围进行限制。在另一些实施例中,可以使用上述参数中的至少一些或电路的其它属性来构建图数据。
继续参见图2的方法200,在204,从图数据提取电路特征表示,电路特征表示包括表示电路系统的至少一部分中的电路器件的器件类型、器件端口或连接关系中的至少一项。在一个实施例中,电路特征表示包括器件类型、器件端口或连接关系。在另一个实施例中、电路特征表示包括器件类型和器件端口。在另一个实施例中、电路特征表示包括器件端口和连接关系。在另一个实施例中、电路特征表示包括器件类型和连接关系。在又一个实施例中,电路特征表示包括器件类型、器件端口和连接关系。在一个实施例中,电路特征表示可以由特征向量进行表示。在电路结构由图数据表示的情形下,可以相应地从图数据提取特征表示,所提取的特征表示可以对应于电路特征表示。因此,可以实际上从图数据中提取电路特征表示。在一个实施例中,可以使用卷积神经网络来提取图数据中的特征表示,即,电路特征表示。
图5示出了根据本公开的一些实施例的卷积神经网络图嵌入的示意图。图数据,例如社交网络、单词共存网络、通信网络和电路结构网络,广泛地存在于各种现实应用中。图数据分析例如可以包括节点分类和聚类。在一些情形下,图数据分析还可以进一步包括链接预测和可视化。在一些实施例中,表示电路的异构超图数据被表示为高维数据。为了降低数据的问题,可以首先根据实际超图数据构造一个D维空间中的超图,然后将超图的节点嵌入到d(d<<D)维向量空间中。“图嵌入”是在向量空间中保持连接的节点彼此靠近的情形下将高维图降维至低维向量。
如图5所示,异构超图400可以包括多个节点特征,例如电压电压Vdd、第一晶体管M1、第二晶体管M2、第三晶体管M3、第四晶体管M4、电阻器R和接地GND。电子设备可以聚合节点特征为由超边表示图数据510,图数据510包括多个超边特征,例如第1边e1、第2边e2、第3边e3、第4边e4、第5边e5、第6边e6和第7边e7。在本文中,节点可以表示电路中的电路器件,诸如晶体管、电阻等,而边表示节点之间的连接。电子设备继而可以聚合超边特征以获得包括多个降维节点特征的图数据520。下面具体描述图嵌入的一种实现方式。图嵌入可以由下式(2)和(3)表示:
其中
表示在第l-1层的嵌入层中的每个结点聚合后的邻居结点的特征向量矩 阵,F
(l)表示表示在第l层的嵌入层中的每个结点聚合后的特征向量矩阵,CONCAT为拼接操作,σ(·)表示非线性激活函数,其它参数的定义与上面的定义相同。通过使用式子(2)可以通过关系矩阵H
r和端口类型模型参数w
r得到当前节点矩阵
的相邻特征矩阵
通过使用式子(3),可以将节点矩阵F
(l-1)、相邻特征矩阵
进行拼接并且和权重参数矩阵W
(l)、非线性激活函数σ(·)构成全连接层矩阵F
(l)。
为了表征异构超图中的每个结点和它更大的局部拓扑结构,图嵌入可以被执行多次。每执行一次,局部拓扑结构的范围被扩大一跳(one hop)。在一个实施例中,电路的异构超图被确定执行D次嵌入,其中D可以取决于子电路中的电路器件的节点数目等,其可以表示相邻器件搜索深度。在此情形下,可以定义端口的关系矩阵H
r和端口类型连接相关的模型参数w
r,其中r∈R,R表示器件端口类型的集合,X
t表示所有器件类型节点的特征矩阵。表示器件类型相关的隐空间投影矩阵,其中t∈O,O表示器件的所有类型;σ(·)表示非线性激活函数;W
(l)表示模型系数矩阵。隐空间投影矩阵U
t用来将特征矩阵X
t映射到统一维度的特征矩阵F
(0),其可以表示为下式(4):
F
(0)=∑
t∈OX
tU
t (4)
对于l位于1至D之间的情形,可以按照l依次递增方式循环执行上面的式子(2)和(3),直至最终返回嵌入特征向量矩阵F
(D)。虽然在此使用特征向量来描述电路特征表示,但是这仅是示意而非对本公开的范围进行限制。也可以使用其它特征表示方式来描述电路特征。
虽然在此使用图嵌入来降维,但是这仅是示意而非对本公开进行限制。在另一些实施例中,也可以使用其它图降维方式,诸如主成分分析等,对图数据进行降维处理。通过使用卷积神经网络嵌入之类的降维处理方式,可以对异构超图进行降维,从而避免潜在的维度灾难并且提高识别的准确性和效率。
在获得诸如特征向量之类的电路特征表示之后,可以把电路的多个节点和边整合为一个节点和边,从而使子电路可以表达成一个特征向量。例如,可以使用多种聚类方式对多个节点和多个边进行聚类。在一个实施例中,可以使用卷积神经网络池化来进行聚类。异构超图卷积神经网络池化采用非线性激活函数softmax来自适应地对节点和边进行聚类。一种聚类的式子可以如下式(5)-(8)所示:
其中
表示第l层的边聚类矩阵,
表示第l层的结点聚类矩阵。
和
表示池化层系数矩阵。聚类可以将原有的边或者结点通过聚合的方式,即几个边或者结点,聚合成一个大的边或者结点。它们的计算方法在式子(5)和(6)所示,其本质是通过图的拓扑结构(H)、特征矩阵(F)和可学习的权重系数(W)来得到边之间或者结点之间的相似度,相似的边或者结点被分在一起。通过这种方法,将原有的|E|条边结合成q条边,将原有|V|个结点结合成p个结点。因此,利用
和
可以对多个节点和边进行聚 类成一个节点和边,并且可以将聚类得到的节点和边作为所提取的电路特征表示。
利用这两个矩阵和softmax计算分别能自适应地通过学习的方式对每个结点和超边进行相似度评价。对应地,在式子(7)中,每个结点的特征向量维度是f。因为聚类前有|V|个节点,聚类前的每个节点所形成的特征矩阵大小是|V|乘以f。聚类后,因为节点数减少,但每个节点的特征向量维度不变,因此聚类后的每个节点所形成的特征矩阵大小是p乘以f。邻接矩阵H的大小是由边和结点数决定的,因此在式子(8)中是将聚类前的邻接矩阵
(大小为|V|×|E|)转换为聚类后的邻接矩阵
(大小为p×q)。通过使用池化进行聚类,可以有效地提取电路特征表示,从而进一步提高识别的准确性和效率。虽然在此使用池化的方式来进行特征聚类,但这仅是示意而非对本公开的范围进行限制。在另一些实施例中,可以使用其它聚类方式,例如多层感知。
图6示出了根据本公开的一些实施例的提取电路特征表示的过程600的示意图。如图6所示,在一个实施例中,异构超图经过三次卷积神经网络嵌入和卷积神经网络池化,并且随后经过全连接处理和softmax聚类,可以得到所提取的电路特征表示。通过使用全连接,可以提高特征提取的准确率。虽然在此示出了三次嵌入和池化,但这仅是示意而非对本公开的范围进行限制。基于电路结构的不同,可以仅经过一次或经过多次嵌入和池化。在另一些实施例中,也可以不进行全连接处理,而是将池化后的结果直接输入softmax函数以获得电路特征表示。
返回至图2的方法200,在206,电子设备可以至少基于电路特征表示生成关于目标电路的输出。在电路设计人员输入晶体管级的网表数据并且期望从中识别目标电路时,电子设备可以通过多种方式确定电路系统中是否存在目标电路,即生成存在目标电路的第一输出或生成不存在目标电路的第二输出。在一些实施例中,可以生成指示目标电路的具体结构的第一输出。进一步地,在一些实施例中,还可以给出与目标电路对应的参考电路设计和/或版图设计,或使用参考电路设计和/或版图对其电路系统中的对应电路和/或版图进行替换。本公开对此不进行限制。
在一个实施例中,电子设备基于电路特征表示与电路库中的多个参考电路特征表示确定关于目标电路的输出。电路库可以是从电路设计知识产权(intellectual property,IP)提供商处购买的标准电路单元库。备选地,也可以是电路设计人员基于之前的设计积累的电路库。在另一些实施例中,电路设计人员也可以购买标准电路单元库并且不断向其中添加新的参考电路所形成的特定于该电路设计人员的电路库。电路库中可以包括多个经过验证的参考电路特征,这些参考电路特征对应于需要特别电路设计人员注意的目标电路。在一些实施例中,电路库还可以包括与这些参考电路特征对应的参考电路设计和/或版图设计。
在一些实施例中,可以将电路特征表示与电路库中的多个参考电路特征表示进行比较,以确定是否存在目标电路。在另一些实施例中,电路库中可以具有查找表,可以将电路特征表示查找电路库的查找表中的参考电路特征表示,并且由此确定是否存目标电路。本公开对此不进行限制。通过将电路特征表示与用户的电路库中的多个参考电路特征表示进行比较以确定是否存在目标电路,可以快速有效地识别电路系统中的目标电路。相比于针对参考电路提取参考电路特征表示并且将其与待识别的电路特征表示进行比较,可以有效地减少计算量和时间。
在一些实施例中,电路库中可以存在与电路特征表示相似的多个参考电路特征表示。在此情形下,可以分别计算电路特征表示与多个参考电路特征表示之间的多个匹配度;以及基于多个匹配度,生成关于目标电路的输出。通过使用电路特征表示与多个参考电路特征表示, 可以使得目标电路的识别更为准确。进一步地,在一些实施例中,电子设备可以确定多个匹配度中的最高匹配度是否达到阈值匹配度;以及如果最高匹配度达到阈值匹配度,则生成表示电路系统中存在目标电路的第一输出;或如果最高匹配度低于阈值匹配度,则生成表示电路系统中不存在目标电路的第二输出。虽然在此示出了基于电路特征表示和电路库中的参考电路特征表示来确定目标电路的方式,但是本公开不限于此。在另一些实施例中,可以基于多个电路特征表示来确定电路系统中是否存在目标电路,如下文所述。
图7示出了根据本公开的另一实施例的异构超图的转换示意图。在一些情形下,模拟集成电路设计中存在诸多的器件或者子电路的对称对,诸如差分放大器。在版图设计中需要对这些器件或者子电路的对称对进行对称布局。对称布局使得版图具有相似的寄生从而提高差分对的共模抑制比。常规的对称对识别完全是依赖于人工来实现。然而当电路规模非常大时,人工识别的效率就非常低。
电路系统300的第二电路功能模块320包括第一晶体管M1、第二晶体管M2、第三晶体管M3、第四晶体管M4、第五晶体管M5、第六晶体管M6、第七晶体管M7和第八晶体管M8。第一晶体管的漏极d经由超边e1耦合至第二晶体管M2和第三晶体管M3的源极s,第二晶体管M2和第三晶体管M3的栅极g经由超边e2耦合至第四晶体管M4的漏极。第五晶体管M5的漏极d耦合至第三晶体管M3的漏极d。第四晶体管M4和第五晶体管M5的源极s与第六晶体管M6和第七晶体管M7的漏极d经由超边e3耦合在一起。第六晶体管M6的源极s经由超边e5耦合至第八晶体管M8的漏极d。
在第二电路功能模块320中,第二晶体管M2和第三晶体管M3是一个对称结构,并且第四晶体管M4和第五晶体管M5是另一个对称结构。在布图时,需要对其进行对称布图。因此,在此情形下,第二晶体管M2和第三晶体管M3是一个需要识别出来的目标电路,并且第四晶体管M4和第五晶体管M5是另一个需要识别出来的目标电路。
类似地,电子设备可以通过解析晶体管级的电路网表将第二电路功能模块320转换为异构超图700。这个过程没有额外耗时的图转换过程,因此表达效率较高。根据所得到的异构超图,电子设备采用异构超图卷积神经网络来编码每个节点及他们局部的拓扑连接关系。与第一电路功能模块310相似地,可以使用卷积神经网络嵌入来降低维度以减少计算量和时间,并且提高效率。在此之后,与第一电路功能模块310不同,可以使用常规的多层感知机来将提取电路特征表示。多层感知机可以由下式(9)表示。
F
(l)=σ(F
(l-1)·W
(l)) (9)
经过若干次异构超图嵌入和多层感知机,每个节点都产生一个特征向量
其中
表示F
(l)的第i行,及第i个节点的特征向量。在此之后,根据所产生的每个节点的特征向量,可以采用相似度来判别任意两个节点是否是对称对。在一个实施例中,可以使用余弦相似度来进行判断。即如果第i个节点的特征向量与第j个节点的特征向量的余弦相似度小于一个阈值,则判断为i与j是对称对,否则i与j不是对称对。通过比较电路系统中的特定电路器件之间的布置相似度,可以确定包括该特定电路器件的电路是否是目标电路,从而提高电路识别的准确率。
图8示出了可以用于实施本公开的实施例的示例设备800的示意性框图。设备800可以用于实现图9的电子设备900。如图所示,设备800包括计算单元801,其可以根据存储在随机存取存储器(RAM)和/或只读存储器(ROM)802的计算机程序指令或者从存储单元807加载到RAM和/或ROM 802中的计算机程序指令,来执行各种适当的动 作和处理。在RAM和/或ROM 802中,还可存储设备800操作所需的各种程序和数据。计算单元801和RAM和/或ROM 802通过总线803彼此相连。输入/输出(I/O)接口804也连接至总线803。
设备800中的多个部件连接至I/O接口804,包括:输入单元805,例如键盘、鼠标等;输出单元806,例如各种类型的显示器、扬声器等;存储单元807,例如磁盘、光盘等;以及通信单元808,例如网卡、调制解调器、无线通信收发机等。通信单元808允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法200。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元807。在一些实施例中,计算机程序的部分或者全部可以经由RAM和/或ROM和/或通信单元808而被载入和/或安装到设备800上。当计算机程序加载到RAM和/或ROM并由计算单元801执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
图9示出了根据本公开实施例的用于识别目标电路的示例装置900的框图。电子设备900可以包括多个模块,以用于执行如图2-图7中所讨论的方法中的对应步骤。如图9所示,在一个实施例中,电子设备900包括确定单元902、提取单元904和生成单元906。确定单元902,用于基于表示电路系统的网表数据,确定表示电路系统的至少一部分的图数据;提取单元904,用于从图数据提取电路特征表示,电路特征表示包括表示电路系统的至少一部分中的电路器件的器件类型、器件端口或连接关系中的至少一项;以及生成单元906,用于至少基于电路特征表示,生成关于目标电路的输出。由于电路被抽象为图数据并且被提取电路特征并加以识别,因此无需定义复杂的规则并且也不需要电路设计人员对目标电路的详细电路结构有比较深入的了解,而是由诸如计算机之类的电子设备针对电路特征通过诸如卷积神经网络之类的机器学习模型自动进行特征提取和识别。电路设计人员因此无需掌握复杂 的设计规则,而只需通过购买和/或建立和维护自己的参考电路特征库,即可开发复杂的电路系统并且准确识别电路系统中需要关注的目标电路。
在一个实施例中,图数据包括异构超图数据。提取单元904进一步用于:使用卷积神经网络嵌入从异构超图数据提取异构超图中的多个节点和与多个节点相关联的多个节点连接;以及基于多个节点和多个节点连接,确定电路特征表示。通过使用卷积神经网络嵌入,可以对异构超图进行降维,从而避免潜在的维度灾难并且提高识别的准确性和效率。
在一个实施例中,确定单元902进一步用于:使用卷积神经网络池化对多个节点和多个节点进行聚类,以获得电路特征表示。通过使用池化进行聚类,可以有效地提取电路特征表示,从而进一步提高识别的准确性和效率。在第一方面的一种可能实现方式中,电路特征表示可以包括特征向量。
在一个实施例中,确定单元902进一步用于:使用卷积神经网络对多个节点和多个节点进行多层感知,以获得电路特征表示。通过使用多层感知,可以有效地提取各个节点的电路特征表示,从而进一步提高识别的准确性和效率。
在一个实施例中,生成单元906进一步用于:基于电路特征表示与电路库中的多个参考电路特征表示确定关于目标电路的输出。通过将电路特征表示与用户的电路库中的多个参考电路特征表示进行比较以确定是否存在目标电路,可以快速有效地识别电路系统中的目标电路。相比于针对参考电路提取参考电路特征表示并且将其与待识别的电路特征表示进行比较,可以有效地减少计算量和时间。
在一个实施例中,生成单元906进一步用于:分别计算电路特征表示与多个参考电路特征表示之间的多个匹配度;以及基于多个匹配度,生成关于目标电路的输出。通过使用电路特征表示与多个参考电路特征表示,可以使得目标电路的识别更为准确。
在一个实施例中,生成单元906进一步用于:确定多个匹配度中的最高匹配度是否达到阈值匹配度;以及如果最高匹配度达到阈值匹配度,则生成表示电路系统中存在目标电路的第一输出;或如果最高匹配度低于阈值匹配度,则生成表示电路系统中不存在目标电路的第二输出。
在一个实施例中,生成单元906进一步用于:确定多个参考电路特征表示中的与最高匹配度相对应的第一参考电路特征表示;以及使用与第一参考电路特征表示相对应的参考电路替换电路系统中与电路特征表示相对应的电路。通过使用对应的参考电路替换,可以避免电路设计人员重新设计,并且提高电路设计的效率和准确率。
在一个实施例中,电路特征表示包括第一电路特征表示和第二电路特征表示,第一电路特征表示至少一部分中的第一电路器件的器件类型、器件端口或连接关系中的至少一项,第二电路特征表示至少一部分中的第二电路器件的器件类型、器件端口或连接关系中的至少一项,生成单元906进一步用于:计算第一电路特征表示和第二电路特征表示之间的相似度;以及基于相似度,生成关于目标电路的输出。通过比较电路系统中的特定电路器件之间的布置相似度,可以确定包括该特定电路器件的电路是否是目标电路,从而提高电路识别的准确率。
在一个实施例中,相似度包括余弦相似度。生成单元906进一步用于:确定余弦相似度是否达到阈值相似度;如果余弦相似度达到阈值相似度,则生成表示电路系统中存在目标电路的第一输出;以及如果余弦相似度低于阈值相似度,则生成表示电路系统中不存在目标电路的第二输出。通过计算特定电路器件的特征表示之间的余弦相似度,可以快速有效地确认 目标电路。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (20)
- 一种用于识别电路系统中的目标电路的方法,包括:基于表示所述电路系统的网表数据,确定表示所述电路系统的至少一部分的图数据;从所述图数据提取电路特征表示,所述电路特征表示包括所述电路系统的所述至少一部分中的电路器件的器件类型、器件端口或连接关系中的至少一项的表示;以及至少基于所述电路特征表示,生成关于所述目标电路的输出。
- 根据权利要求1所述的方法,其中所述图数据包括异构超图数据,从所述图数据提取所述电路特征表示包括:使用卷积神经网络嵌入,从所述异构超图数据提取所述异构超图中的、多个节点和与所述多个节点相关联的多个节点连接;以及基于所述多个节点和所述多个节点连接,确定所述电路特征表示。
- 根据权利要求2所述的方法,其中基于所述多个节点和所述节点连接确定所述电路特征表示包括:使用卷积神经网络池化对所述多个节点和所述多个节点进行聚类,以获得所述电路特征表示。
- 根据权利要求2所述的方法,其中基于所述多个节点和所述节点连接确定所述电路特征表示包括:使用卷积神经网络对所述多个节点和所述多个节点进行多层感知,以获得所述电路特征表示。
- 根据权利要求1-4中任一项所述的方法,其中至少基于所述电路特征表示生成关于所述目标电路的输出包括:基于所述电路特征表示与电路库中的多个参考电路特征表示确定关于所述目标电路的输出。
- 根据权利要求5所述的方法,其中基于所述电路特征表示与电路库中的多个参考电路特征表示确定关于所述目标电路的输出包括:分别计算所述电路特征表示与所述多个参考电路特征表示之间的多个匹配度;以及基于所述多个匹配度,生成关于所述目标电路的输出。
- 根据权利要求6所述的方法,其中基于所述多个匹配度生成关于所述目标电路的输出包括:确定所述多个匹配度中的最高匹配度是否达到阈值匹配度;以及如果所述最高匹配度达到阈值匹配度,则生成表示所述电路系统中存在所述目标电路的第一输出;或如果所述最高匹配度低于阈值匹配度,则生成表示所述电路系统中不存在所述目标电路的第二输出。
- 根据权利要求7所述的方法,还包括:确定所述多个参考电路特征表示中的与所述最高匹配度相对应的第一参考电路特征表示;以及使用与所述第一参考电路特征表示相对应的参考电路替换所述电路系统中与所述电路特征表示相对应的电路。
- 根据权利要求1-4中任一项所述的方法,其中所述电路特征表示包括第一电路特征表示和第二电路特征表示,所述第一电路特征表示用于表示所述至少一部分中的第一电路器件的器件类型、器件端口或连接关系中的至少一项,所述第二电路特征表示用于表示所述至少一部分中的第二电路器件的器件类型、器件端口或连接关系中的至少一项,基于所述电路特征表示生成关于所述目标电路的输出包括:计算所述第一电路特征表示和所述第二电路特征表示之间的相似度;以及基于所述相似度,生成关于所述目标电路的输出。
- 根据权利要求9所述的方法,其中所述相似度包括余弦相似度,基于所述相似度生成关于所述目标电路的输出包括:确定所述余弦相似度是否达到阈值相似度;如果所述余弦相似度达到阈值相似度,则生成表示所述电路系统中存在所述目标电路的第一输出;以及如果所述余弦相似度低于阈值相似度,则生成表示所述电路系统中不存在所述目标电路的第二输出。
- 根据权利要求1-10中任一项所述的方法,其中基于表示所述电路系统的网表数据确定表示所述电路系统的至少一部分的图数据包括:基于所述网表数据,将所述电路系统中的各个电路器件抽象为图结构的多个节点,并且将所述电路系统中的各个电路器件之间的连接关系抽象为所述图结构的多个边,以生成包括所述多个节点和所述多个边的所述图数据,所述图数据表示所述所述图结构,所述图结构表示所述电路系统的所述至少一部分的拓扑结构,所述多个节点和所述多个边用于表示所述电路系统的所述至少一部分。
- 一种计算机可读存储介质,存储多个程序,所述多个程序被配置为由一个或多个处理器执行,所述多个程序包括用于执行权利要求1-11中任一项所述的方法的指令。
- 一种计算机程序产品,所述计算机程序产品包括多个程序,所述多个程序被配置为由一个或多个处理器执行,所述多个程序包括用于执行权利要求1-11中任一项所述的方法的指令。
- 一种电子设备,包括:一个或多个处理器;包括计算机指令的存储器,所述计算机指令在由所述电子设备的所述一个或多个处理器执行时使得所述电子设备执行权利要求1-11中任一项所述的方法。
- 一种电子设备,包括:确定单元,用于基于表示所述电路系统的网表数据,确定表示所述电路系统的至少一部分的图数据;提取单元,用于从所述图数据提取电路特征表示,所述电路特征表示包括所述电路系统的至少一部分中的电路器件的器件类型、器件端口或连接关系中的至少一项的表示;以及生成单元,用于至少基于所述电路特征表示,生成关于所述目标电路的输出。
- 根据权利要求15所述的电子设备,其中所述图数据包括异构超图数据,所述提取单元进一步用于:使用卷积神经网络嵌入从所述异构超图数据提取所述异构超图中的多个节点和与所述多个节点相关联的多个节点连接;以及基于所述多个节点和所述多个节点连接,确定所述电路特征表示。
- 根据权利要求16所述的电子设备,其中所述提取单元进一步用于:使用卷积神经网络池化对所述多个节点和所述多个节点进行聚类,以获得所述电路特征表示。
- 根据权利要求14-17中任一项所述的电子设备,其中所述生成单元进一步用于:基于所述电路特征表示与电路库中的多个参考电路特征表示确定关于所述目标电路的输出。
- 根据权利要求18所述的电子设备,其中所述生成单元进一步用于:分别计算所述电路特征表示与所述多个参考电路特征表示之间的多个匹配度;以及基于所述多个匹配度,生成关于所述目标电路的输出。
- 根据权利要求14-17中任一项所述的电子设备,其中所述电路特征表示包括第一电路特征表示和第二电路特征表示,所述第一电路特征表示用于表示所述至少一部分中的第一电路器件的器件类型、器件端口或连接关系中的至少一项,所述第二电路特征表示用于表示所述至少一部分中的第二电路器件的器件类型、器件端口或连接关系中的至少一项,所述生成单元进一步用于:计算所述第一电路特征表示和所述第二电路特征表示之间的相似度;以及基于所述相似度,生成关于所述目标电路的输出。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/122909 WO2023056642A1 (zh) | 2021-10-09 | 2021-10-09 | 用于识别电路系统中的目标电路的方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117940929A true CN117940929A (zh) | 2024-04-26 |
Family
ID=85803866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180101672.XA Pending CN117940929A (zh) | 2021-10-09 | 2021-10-09 | 用于识别电路系统中的目标电路的方法和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117940929A (zh) |
WO (1) | WO2023056642A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116736075B (zh) * | 2023-05-09 | 2024-04-19 | 珠海妙存科技有限公司 | 晶体管的匹配精度检测方法、控制器及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100347708C (zh) * | 2004-06-25 | 2007-11-07 | 清华大学 | 基于图同构的面向模拟电路布局的对称约束提取方法 |
CN103020346B (zh) * | 2012-12-06 | 2015-02-04 | 湖南大学 | 一种电路物理设计相似度的测试方法 |
US10509883B2 (en) * | 2016-11-28 | 2019-12-17 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for layout generation with constrained hypergraph partitioning |
JP2022533704A (ja) * | 2019-05-20 | 2022-07-25 | シノプシス, インコーポレイテッド | 機械学習ベースの符号化を使用した電子回路レイアウト内のパターンの分類 |
CN110941931A (zh) * | 2019-11-26 | 2020-03-31 | 青岛理工大学 | 集成电路性能与其复杂网络特性关联性判定方法及系统 |
-
2021
- 2021-10-09 WO PCT/CN2021/122909 patent/WO2023056642A1/zh active Application Filing
- 2021-10-09 CN CN202180101672.XA patent/CN117940929A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023056642A1 (zh) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017149B2 (en) | Machine-learning design enablement platform | |
US8201122B2 (en) | Computing resistance sensitivities with respect to geometric parameters of conductors with arbitrary shapes | |
US7409651B2 (en) | Automated migration of analog and mixed-signal VLSI design | |
Fayazi et al. | Applications of artificial intelligence on the modeling and optimization for analog and mixed-signal circuits: A review | |
Canelas et al. | FUZYE: A Fuzzy ${c} $-Means Analog IC Yield Optimization Using Evolutionary-Based Algorithms | |
US20150067626A1 (en) | Knowledge-based analog layout generator | |
CN110993037A (zh) | 一种基于多视图分类模型的蛋白质活性预测装置 | |
US20220207351A1 (en) | Semiconductor design optimization using at least one neural network | |
Yang et al. | Improved tangent space-based distance metric for lithographic hotspot classification | |
Zhang et al. | Hypergraph spectral clustering for point cloud segmentation | |
CN114065693A (zh) | 超大规模集成电路结构布局的优化方法、系统和电子设备 | |
Geng et al. | High-speed adder design space exploration via graph neural processes | |
CN117940929A (zh) | 用于识别电路系统中的目标电路的方法和电子设备 | |
Li et al. | Large-scale statistical performance modeling of analog and mixed-signal circuits | |
US20080066025A1 (en) | Method for analyzing characteristic of circuit included in integrated circuit based on process information and the like | |
Chen et al. | Machine learning in advanced IC design: A methodological survey | |
Canelas et al. | Yield optimization using k-means clustering algorithm to reduce Monte Carlo simulations | |
Yang et al. | CNN-Cap: Effective convolutional neural network based capacitance models for full-chip parasitic extraction | |
Shrestha et al. | EDA-ML: Graph representation learning framework for digital IC design automation | |
Doboli et al. | A regularity-based hierarchical symbolic analysis method for large-scale analog networks | |
Burns et al. | Machine Learning for Analog Layout | |
Wu et al. | Circuit-GNN: A Graph Neural Network for Transistor-level Modeling of Analog Circuit Hierarchies | |
Shrestha et al. | Graph representation learning for parasitic impedance prediction of the interconnect | |
CN114676755A (zh) | 基于图卷积网络的无监督域自适应的分类方法 | |
Budak et al. | Practical Layout-Aware Analog/Mixed-Signal Design Automation with Bayesian Neural Networks |
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 |