使用测量和深度学习的仿真校正的制作方法

文档序号:30531240发布日期:2022-06-25 10:18阅读:104来源:国知局
使用测量和深度学习的仿真校正的制作方法
使用测量和深度学习的仿真校正
1.优先权本公开要求于2019年9月17日提交的题为“simulation correction system”的美国临时申请第62/901,754号的权益,该申请通过引用被整体地并入本文中。
技术领域
2.本公开涉及测试和测量仪器,并且更特别地涉及用于将来自测试和测量仪器的设备测量数据与设备的仿真数据进行比较并校正仿真数据的系统和方法。


背景技术:

3.对应于被测设备(dut)的仿真模型以及来自dut的实际测量是工程师的重要设计工具。仿真模型针对给定的电路设计产生数学生成的电路操作的预测。来自dut的实际测量可以通过诸如示波器之类的测试和测量仪器进行。然而,在目前使用的系统的情况下,仿真模型和实际测量值经常彼此不一致。
4.与电路仿真和分析相关的常规工具包括串行数据链路分析(sdla)工具,其可以被用于为高速串行应用的传输通道建模。sdla工具可以校正波形并显示对用户而言不可访问的波形;然而,任何模型误差都损害模型结果。专家用户通常需要改进模型,以实现与测量值一致的结果。
5.其他常规工具包括专门的软件,其可以分析测量的时域反射计(tdr)数据,以生成例如传输线长度、阻抗和不连续性的模型;然而,这些工具适用于特定的电路拓扑,并且不能解决各种模型与测量值不一致问题。
6.本公开的实施例解决了现有技术的这些和其他缺陷。
附图说明
7.参考附图根据实施例的以下描述,本公开的实施例的各方面、特征和优点将变得显而易见,其中:图1是图示了根据所公开技术的某些实现的用于训练机器学习设施以创建改进的仿真模型的方法的示例的流程图。
8.图2是图示根据所公开技术的某些实现的用于预测或推断更好地匹配测量结果的修正模型参数的集合的方法的示例的流程图。
9.图3是图示根据所公开技术的某些实现的测试和测量系统的示例的框图。
具体实施方式
10.所公开技术的实现通常包括能够改进仿真模型的预测结果的系统和方法。
11.图1是图示了根据所公开技术的某些实现的用于训练机器学习设施以创建改进的仿真模型的方法100的示例的流程图。
12.在102处,接收与仿真模型的单独组件的一个或多个参数相关的信息。在一些实施
例中,使用所有的单独组件,而在其他实施例中,仅使用电路仿真的单独组件中的一些。单独组件可以包括但不限于电阻器、晶体管、电容器、电感器、二极管、运算放大器、电压源、电流源和传输线。单独组件的参数可以包括例如电阻、电流、阻抗、温度系数、寄生电容、传输线长度、传输线宽度、材料介电常数和几何形状。如下所述,本发明的实施例适用于许多类型的仿真模型,并且参考附图描述的电路仿真模型仅仅是一个示例。
13.在104处,生成的值的数据集被组合成仿真模型组件参数中的每个的仿真结果值。仿真的输入可以包括在操作102中标识的电路中的单独组件的参数的值,并且仿真的输出可以包括仿真的输入以及仿真的电路输出的单独实例的非常大的数据集。所述实例可以被比作电子表格的行,而这样的电子表格的列将表示组件参数的值本身,以及通过仿真预测的输出。在数据集中可以有任何数量的实例,并且通常更多数量的实例提高机器学习的性能。一个示例数据集可以包括数百万个实例。除了组件参数之外,数据集还可以包括由特定实例的组件值构成的电路的仿真测试数据。
14.例如,在具有三个电阻器的电阻器网络的过度简化示例中,每个实例可以包括三个电阻器中的每个电阻器的电阻参数值、输入到电路的节点的信号,以及包括电阻器网络的电路中的三个不同节点处的电流和电压的仿真(即,生成)值。节点处的电流和电压的仿真值由模型基于输入信号生成。在该示例的上下文中,由于电阻参数是该简单电阻器网络的主要的感兴趣的参数,因此该示例的以下讨论将与“电阻参数值”可互换地使用术语“电阻值”和“电阻器值”。仿真值可以包括波形,并且不必是静态值。也就是说,在一些实施例中,仿真值可以是在值随着时间变化时的值的集合。在某些实现中,波形可以经历数据缩减过程,诸如例如,将波形缩减为更小的波形属性集。此外,仿真可以预测电路内的节点的任何节点的值,并且不限于任何特定的数量。此外,针对仿真的实例,可以产生许多不同的仿真值,所述仿真值可以与上面参考模型组件参数描述的单独组件的参数相关。
15.对于三维(3d)电磁仿真,模型参数可以包括但不限于线宽、材料介电常数和在制造时可能变化的其他几何形状。其他仿真领域,诸如例如机械和热,也与这种方法兼容,只要测量的数据对应于来自仿真的输出。
16.对于串行数据链路仿真,模型参数可以包括但不限于例如发射器和接收器均衡、s参数、脉冲响应、其他滤波器响应、符号间干扰和模拟模型特性。
17.可以从本发明的实施例中受益的其他模型包括通过将测量数据与仿真输出数据相关联并修改这样的模型以更好地预测实际测量值的来自机械和热仿真领域的那些模型。
18.在某些实施例中,数据集的输入参数可以被限制在值的范围内。例如,当生成训练数据集时,上述示例中的三个电阻器中的每个的电阻参数的值可以被限制在100欧姆和1000欧姆之间。
19.在仿真期间,即在操作104中产生的数据集的生成期间,仿真可以通过独立改变三个电阻器中的每个的电阻值来创建实例,以及仿真和存储电阻器网络内(或其端点处)的各种测试节点的输出值。所生成的数据集的每个特定实例可以具有至少一个不同于每个其他实例的组件参数值。例如,对于第一个生成的实例,电阻器1(r1)和电阻电阻器2(r2)的电阻值可以保持静态,而对于每个实例,电阻器3(r3)的电阻值可以在100欧姆和1000欧姆之间以十欧姆的步长变化。这样的数据集的前四个实例在表1所示的示例数据集中进行了说明。
20.表1

21.例如,对值仿真器的输入可以手动产生或根据算法生成。回想一下,上述示例中的输入是r1、r2和r3的电阻值。如上所述,在针对输入参数设置的界限内,电阻值的各种组合可以通过手工或通过机器生成。例如,循环程序可以被设置成使电阻值中的每个通过循环进程(progression)从其最小值到最大值步进,使得所有可能的组合作为单独的实例生成。在其他示例中,蒙特卡罗过程可以被用于在它们的值界限内针对每个实例生成特定的组件参数输入值。输入值也可以随机生成。
22.仿真器接受输入值,并在操作104处,使用电路仿真器生成仿真输出值,该仿真输出值被存储在用于生成输出值的特定实例中。在操作104中,由仿真器仿真并存储在数据集中的输出值可以包括电流、电压等,如表1中所示。在一些实施例中,仿真输出值还可以包括网络的特定测试节点在特定时间的波形。如下所述,可能存在针对数据集中的每个实例生成的大量值,并且这样的值不仅限于如表1中所示的电流和电压。在一些实施例中,可以在时域中确定输出值,而在其他实施例中,可以在频域中确定输出值。
23.在106处,将包括来自操作102的仿真模型组件参数和在操作104中产生的相应仿真值的训练数据集作为训练数据输入提供给机器学习设施。出于解释的目的,表1可以被认为是过度简化的训练数据集。实际上,数据集可以具有数千或数百万个实例(行)和表示模型组件参数和从其仿真的值的数百或数千列。在一些实施例中,针对可能包括数百个组件的电路网络中的每个组件指定多个值。例如,单独的组件中的每个在数据集中可以具有电阻、阻抗、温度系数、寄生电容、传输线长度、传输线宽度、材料介电常数和几何形状的值。在每个实例中,可以将可以从电路仿真器生成的任何期望的输出存储为值(列)。
24.在机器学习设施在操作106中接收到其训练数据后,在操作108中创建训练的网络。例如,在操作108中,神经网络可以读取来自第一实例的输入,并生成预测结果。然后,神经网络将其生成的预测结果与用于创建仿真结果的数据(也包括在实例中)进行比较,并使用反向传播来修改神经网络内的权重和偏差,使得其下一次预测将更接近于原始数据值。在表1的示例中,网络的输入是仿真结果(节点1预测电压、节点2预测电压等),并且预测输出是r1、r2和r3的预测值,该预测值在训练期间与用于创建仿真结果的r1、r2和r3的原始值
进行比较。训练通过所有的实例继续进行,直到网络被完全训练。在一些实施例中,该训练通过训练数据库进行多次传递,如通过可选环回(loopback)109所示。在一些实施例中,当实例出现在训练数据集中时,神经网络可以改变实例的次序,以避免训练偏差。
25.操作108可以使用监督机器学习或无监督机器学习。如本文中使用的监督机器学习通常指基于包含标记数据的训练集的机器学习。无监督机器学习通常指对训练集的“学习”,该训练集包含大部分未标记的数据以训练神经网络。机器学习设施可以应用特定的技术,诸如贝叶斯方法、随机森林、回归模型或分类模型。
26.图2是图示根据所公开技术的某些实现的用于预测或推断更好地匹配测量结果的修正模型参数的集合的方法200的示例的流程图。
27.可以在操作202中测量物理实施例,诸如合适的被测设备(dut)。物理实施例可以对应于例如先前用于如上所述的仿真的电路模型。在操作202中在测量物理实施例时,用户可以使用测试探针来与dut上的一个或多个测试点(例如,节点、线、迹线、引脚或单独组件)进行实际的物理连接,并且然后从dut获取实际的数据、波形或测量值。
28.一旦获得这些测量值,在操作202中获得的测量值可以在操作204中应用于训练的学习网络,以预测或推断修正的仿真模型参数的集合,其比原始预测模型更好地匹配测量结果。在某些实现中,测量数据可以被操纵以解决测量不确定性并反映可能的测量值的集合。例如,如果某个测量的dc增益具有
±
2%的准确度,那么高多达2%和低多达2%的信号可以被存储为附加训练集或存储为原始训练集的附加实例。然后,在操作206中,可以利用如上所述的附加实例或新的训练数据集来改进(即,更新或重新训练)机器学习网络。在操作206中重新训练机器学习网络之后的结果将是标称模型参数的集合,由于测量误差,标称模型参数中的每个将具有一定范围的不确定性。
29.在系统的另一方面中,训练的学习网络包括将先前未指定的组件添加至模型的能力,并且不限于仅调整现有模型的参数。
30.然后,可以用由更新的学习网络生成的修正的模型参数更新原始仿真模型,并且然后重新运行,以在操作208中,将修正的模型输出值与如在操作202中测量的测量值的集合进行比较。如果成功,则更新的仿真模型将比原始仿真模型更好地匹配实际测量值。
31.如果诸如电路之类的物理实施例未按预期工作,则更新的仿真模型可以生成对与预期设计不同之处以及哪些参数可能导致这些差异的可能洞察。调整的仿真模型还可以为设计修正提供验证的起点。
32.图3是图示可以在其上执行所公开技术的某些实现的计算系统300的框图。计算系统300可以是通用或专用的。在一个示例中,计算系统300是测试和测量系统。在该示例中,系统300包括计算设备320,诸如测试和测量设备320。在一个实施例中,测试和测量设备可以是示波器。系统300还包括机器310,机器310托管机器学习设施312,机器学习设施312被配置成使用监督或无监督机器学习技术。在示例实施例中,机器310是计算设备,并且机器学习设施312可以是在计算设备上操作的计算机操作和存储器的集合。机器310对于计算设备320可以是本地的或远程的。例如,机器310可以是在计算机网络云中操作的虚拟机。
33.计算设备320具有至少一个处理器322、至少一个输入324和输出326,诸如显示设备或其他输出。在该示例中,计算设备320也具有内部存储器328。在某些实现中,系统300进一步包括外部存储设备330,诸如例如远程服务器。输入324可以被构造成接收直接来自测
量的测量数据或从另一测量设备提取的数据。输入324也可以被构造成接收先前已经被存储的数据或来自信息云的数据。
34.内部存储器328和外部存储装置330中的任一个或两者可以存储仿真模型,诸如电路仿真模型。计算设备320的(一个或多个)处理器322可以被配置成接收仿真模型的某些组件的参数的信息,仿真该仿真模型组件参数中的每个的值,并且将它们作为输入提供给机器学习设施312。
35.机器学习设施312可以将机器学习应用于仿真值,以生成每个输入参数的预测值,并将预测值与其对应的仿真值进行比较。机器学习设施312可以基于预测值与仿真值的比较来调整仿真模型。
36.本发明的实施例可以被用于各种类型的建模。如上所述,本发明的实施例对于改进仿真模型是有用的。
37.所公开技术的实现显著简化了针对通用电路的设计过程,快速改进了模型,并提供了验证如何构建设备的能力。模型改进可能在没有专家用户的情况下潜在地提供专家洞察。所公开技术的各种新颖方面包括用仿真数据自动训练神经网络并使用测量数据来通知仿真模型。
38.通过组合来自仿真的设计意图信息和来自测量的竣工(as-built)性能,实现了对设备性能的更完整和有效的理解。另一个应用涉及生产测试;在这样的实施例中,可以使用测量值的小集合来以指定的确定的程度间接测量子电路参数。
39.在某些实现中,机器学习网络可以用替换标称电路的数据进行训练,该标称电路具有不同的可能制造缺陷(例如,缺少组件、跨网短路、不正确的零件等)。在这样的实现中,除了正常的容差范围之外,还可以跨可能的故障值改变参数。例如,可以将测量的数据馈入到训练的神经网络,以基于可能存在的缺陷来推断生产线上的故障。这样的实现有助于使故障排除和纠正动作工作自动化或半自动化。
40.本公开的各方面可以在特别创建的硬件、固件、数字信号处理器上操作,或者在包括根据编程指令操作的处理器的特别编程的计算机上操作。如本文中所使用的术语控制器或处理器旨在包括微处理器、微计算机、专用集成电路(asic)和专用硬件控制器。
41.本公开的一个或多个方面可以在计算机可用数据和计算机可执行指令中实现,诸如在由一个或多个计算机(包括监视模块)或其他设备执行的一个或多个程序模块中实现。通常,程序模块包括例程、程序、对象、组件、数据结构等,其在由计算机或其他设备中的处理器执行时执行特定的任务或实现特定的抽象数据类型。计算机可执行指令可以被存储在计算机可读存储介质上,所述计算机可读存储介质诸如硬盘、光盘、可移动存储介质、固态存储器、随机存取存储器(ram)等。如本领域技术人员将理解的,程序模块的功能可以根据需要在各方面中进行组合或分布。此外,该功能可以全部或部分在固件或硬件等价物(诸如集成电路、fpga以及诸如此类)中实现。
42.特定数据结构可以被用于更有效地实现本公开的一个或多个方面,并且这样的数据结构预期(contemplate)在本文中所述的计算机可执行指令和计算机可用数据的范围内。
43.在一些情况下,可以在硬件、固件、软件或其任何组合中实现所公开的方面。所公开的方面还可以被实现为由一个或多个或计算机可读存储介质携带或存储在其上的指令,
所述指令可以由一个或多个处理器读取和执行。这样的指令可以被称为计算机程序产品。如本文中所讨论的,计算机可读介质意指可以由计算设备访问的任何介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
44.计算机存储介质意指可以被用于存储计算机可读信息的任何介质。作为示例而非限制,计算机存储介质可以包括ram、rom、电可擦除可编程只读存储器(eeprom)、闪存或其他存储技术、压缩盘只读存储器(cd-rom)、数字视频光盘(dvd)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,以及以任何技术实现的任何其他易失性或非易失性、可移动或不可移动介质。计算机存储介质排除信号本身和信号传输的暂时形式。
45.通信介质意指可以被用于计算机可读信息的通信的任何介质。作为示例而非限制,通信介质可以包括同轴电缆、光纤电缆、空气或适用于电、光、射频(rf)、红外、声或其他类型的信号的通信的任何其他介质。
46.示例下面提供了在本文中公开的技术的说明性示例。所述技术的实施例可以包括下述示例中的任何一个或多个以及其任何组合。
47.示例1是一种用于调整仿真模型的方法,所述方法包括:测量对应于仿真模型的物理实施例的一个或多个节点处的特征值;将测量的特征值输入到对应于仿真模型的训练的机器学习设施中;以及至少部分地基于输入的测量特征值从训练的机器学习设施接收一个或多个预测值。
48.示例2是示例1的方法,进一步包括:至少部分地基于一个或多个接收的预测值来修改仿真模型的至少一部分,以生成修改的仿真模型。
49.示例3是示例1-2中的任一项的方法,进一步包括:至少部分地基于从训练的机器学习设施接收的另一预测值来修改所述修改的仿真模型的至少一部分,以生成进一步修改的仿真模型。
50.示例4是示例1-3中的任一项的方法,进一步包括训练机器学习设施。
51.示例5是示例1-4中的任一项的方法,其中训练机器学习设施包括:接收仿真模型的至少一个组件的至少一个参数的信息;以及将训练数据的集合输入到机器学习设施,所述训练数据包括与仿真模型的至少一个组件的至少一个参数相关联的生成的仿真值。
52.示例6是示例1-5中的任一项的方法,其中,训练数据的集合包括使用蒙特卡罗仿真创建的训练数据的集合。
53.示例7是示例1-6中的任一项的方法,其中所述仿真模型是电路仿真模型,并且其中所述电路仿真模型包括从由以下各项组成的组中选择的至少一个组件:电阻器、晶体管、电容器、电感器、二极管、运算放大器、电压源、电流源和传输线。
54.示例8是示例1-7中的任一项的方法,其中所述仿真模型是电路仿真模型,并且其中所述至少一个参数从由以下各项组成的组中选择:电阻、阻抗、温度系数、寄生电容、传输线长度、传输线宽度、材料介电常数和几何形状。
55.示例9是示例1-8中的任一项的方法,其中修改电路仿真模型的至少一部分包括用修改的仿真模型替换存储在存储器中的仿真模型。
56.示例10是示例1-9中的任一项的方法,其中,所述仿真模型是电路仿真模型、三维电磁模型、串行数据链路仿真模型、热仿真模型或运动仿真模型。
57.示例11是示例1-9中的任一项的方法,其中所述仿真模型是spice电路模型。
58.示例12是一种测试和测量系统,包括:被配置成托管机器学习设施的机器;以及具有一个或多个处理器的测试和测量仪器,所述一个或多个处理器被配置成:测量根据仿真模型构建的物理实例的一个或多个节点处的特征值;将测量的特征值输入到对应于仿真模型的训练的机器学习设施中;以及至少部分地基于输入的测量特征值从训练的机器学习设施接收一个或多个预测值。
59.示例13是示例12的测试和测量系统,其中,所述一个或多个处理器被进一步配置成至少部分地基于接收的预测值来改进所述仿真模型,以生成改进的仿真模型。
60.示例14是示例12-13中的任一项的测试和测量系统,其中所述一个或多个处理器被进一步配置成:接收仿真模型的至少一个组件的至少一个参数的信息;以及将训练数据的集合输入到机器学习设施,所述训练数据包括与仿真模型的至少一个组件的至少一个参数相关联的生成的仿真值。
61.示例15是示例12-14中的任一项的测试和测量系统,其中所述仿真模型是电路仿真模型,并且其中所述至少一个参数从由以下各项组成的组中选择:电阻、阻抗、温度系数、寄生电容、传输线长度、传输线宽度、材料介电常数和几何形状。
62.示例16是示例12-15中的任一项的测试和测量系统,进一步包括被配置成存储仿真模型的存储器。
63.示例17是示例12-16中的任一项的测试和测量系统,其中所述一个或多个处理器被进一步配置成:至少部分地基于用于改进的仿真模型的至少一个接收的预测值来进一步改进仿真模型。
64.示例18是示例12-17中的任一项的测试和测量系统,其中,所述机器学习设施被构造成在所述测试和测量仪器的一个或多个处理器之一上操作。
65.示例19是示例12-18中的任一项的测试和测量系统,其中,所述机器学习设施被构造成操作与所述测试和测量仪器的一个或多个处理器分离的处理器。
66.示例20是示例12-19中的任一项的测试和测量系统,其中,所述仿真模型是电路仿真模型、三维电磁模型、串行数据链路仿真模型、热仿真模型或运动仿真模型。
67.所公开主题的先前描述的版本具有许多优点,所述优点被描述或将对普通技术人员显而易见。即使如此,这些优点或特征并不是所公开的装置、系统或方法的所有版本都需要的。
68.此外,该书面描述参考了特定特征。要理解,本说明书中的公开包括那些特定特征的所有可能的组合。在特定方面或示例的上下文中公开了特定特征的情况下,该特征也可以在可能的范围内用于其他方面和示例的上下文中。
69.此外,当在本技术中参考具有两个或更多个定义的步骤或操作的方法时,定义的步骤或操作可以按任何次序或同时执行,除非上下文排除那些可能性。
70.尽管出于说明的目的,已经对本发明的特定示例进行了说明和描述,但是将理解,在不脱离本发明的精神和范围的情况下,可以进行各种修改。因此,除了如受到所附权利要求限制之外,本发明不应受到限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1