用于模拟缺陷可检测性分析的迅速且可扩展的方法与流程

文档序号:32351770发布日期:2022-11-26 14:53阅读:157来源:国知局
用于模拟缺陷可检测性分析的迅速且可扩展的方法与流程
用于模拟缺陷可检测性分析的迅速且可扩展的方法
1.相关申请
2.本技术要求在2020年4月16日提交并且题目为“用于模拟缺陷可检测性分析的迅速且可扩展的方法”的美国临时申请号63/011,101的优先权,其内容通过引用结合到本文中。
技术领域
3.本公开一般涉及模拟电路的分析。尤其,本公开涉及对模拟电路执行缺陷可检测性分析。


背景技术:

4.数字故障仿真、测试、可测试性设计等已经成熟到如下水平:在现代混合信号集成电路(ic)中,数字部件中的故障机会比模拟部件(例如,模拟电路)中的低得多。在包括模拟部件和数字部件的混合信号应用中,已经观察到,由于芯片有缺陷而导致多达80%的产品退回是归因于电路的模拟部分。在发布之前对ic执行的制造测试的质量(即,测试覆盖率)与从客户退回的有缺陷芯片的数量直接相关。例如,部件的缺陷级别(dl)可以如下计算:dl=1-y^(1-tc),其中,y=收益并且tc=测试覆盖率。


技术实现要素:

5.提供了一种通过模拟电路仿真来检测模拟电路或其部分中的缺陷的方法。该方法可以包括从网表识别模拟电路内的通道连接块(ccb),ccb是基于模拟电路中的节点的阻抗所确定的模拟电路的分区,在模拟电路仿真期间为待注入的ccb创建缺陷;通过基于将激励作为输入提供给ccb来执行ccb的第一模拟电路仿真,获得ccb的输出节点的第一测量数据,通过基于将激励作为输入提供给ccb并且注入缺陷来执行ccb的第二模拟电路仿真,获得ccb的输出节点的第二测量数据,并且基于所述第一测量数据和所述第二测量数据确定缺陷类型。
6.在一个实现方式中,从所述网表确定所述ccb可以包括通过基于以下项来划分所述模拟电路来识别独特ccb:通过分析从所述网表获得的电路图来识别所述模拟电路中的电源网,并且在所述电源网与高阻抗端子处断开所述电路图,造成所述模拟电路的多个分区,其中所述分区中的一个分区是独特ccb。
7.在另一个实现方式中,当所述模拟电路的两个器件通过低阻抗端子互相连接时,所述两个器件可以保持在同一分区中,除非所述低阻抗端子接触电源网。
8.在另外的实现方式中,对于所述模拟电路的mosfet器件,栅极端子可以被认为是高阻抗并且mosfet的其他端子被认为是低阻抗。
9.在另一个实现方式中,该方法还可以包括,对于所述ccb,准备对应的激励作为输入并且识别待捕获的对应类型的测量数据作为输出,并且使用准备的激励和待捕获的所识别类型的测量数据来执行所述第一和第二模拟电路仿真。
10.在一个实现方式中,其中为ccb创建缺陷可以包括使用用户定义的缺陷模型来识别待注入到ccb中的缺陷,以及为所述ccb创建多对一映射,使得多个缺陷被映射到所述ccb的一个或多个器件。
11.在另一个实现方式中,该方法还可以包括当ccb具有两个不同的缺陷映射时,将ccb视为两个不同的独特ccb而不是一个独特ccb。
12.在另外的实现方式中,该方法可以进一步包括从网表识别多个独特ccb,并且对每个独特ccb执行缺陷仿真,使得对每个独特ccb执行的每个相应缺陷仿真注入来自预定缺陷列表的不同缺陷。
13.在另一个实现方式中,该方法还可以包括对每个独特ccb执行无缺陷仿真。
14.在一个实现方式中,所述方法可以进一步包括分析所述缺陷仿真和所述无缺陷仿真的测量数据以针对每个相应独特ccb识别(i)不可检测缺陷作为注入缺陷,所述不可检测缺陷导致与在所述无缺陷仿真期间捕获的测量数据相同的测量数据,以及(ii)等价缺陷作为注入缺陷,所述等价缺陷导致彼此等价的测量数据。
15.在另外的实现方式中,对于每个相应的独特ccb执行缺陷仿真可以包括:使用对应的激励作为输入多次激励每个相应的ccb,同时针对多个仿真中的每个仿真使用不同的缺陷注入,使得捕获多个测量数据集合,所述多个测量数据集合包括针对已经被注入的每个单独缺陷的至少一个测量数据。
16.在另一个实现方式中,可以使用交流分析扫描、直流分析和瞬态分析中的至少一个来执行所述无缺陷仿真的执行和所述缺陷仿真的执行。
17.在一个实现方式中,测量数据的分析可以包括:将作为一个或多个特定激励结果的在所述无缺陷仿真期间捕获的测量数据与使用所述一个或多个特定激励的在所述缺陷仿真期间捕获的每个测量数据进行比较,基于所述比较,识别在所述缺陷仿真期间捕获的测量数据,所述测量数据与在所述无缺陷仿真期间捕获的所述测量数据相同,并且将导致在所述缺陷仿真期间捕获的测量数据的被注入的缺陷识别为不可检测的缺陷,所述测量数据与在所述无缺陷仿真期间捕获的测量数据相同。
18.在另外的实现方式中,当在所述缺陷仿真期间捕获的测量数据与在所述无缺陷仿真期间捕获的测量数据在彼此的预定公差内或阈值水平内时,可以将在所述缺陷仿真期间捕获的测量数据与在所述无缺陷仿真期间捕获的测量数据识别为相同。
19.在另一个实现方式中,测量数据的分析可以包括:比较作为一个或多个特定激励的结果的在所述缺陷仿真期间捕获的测量数据中的每个测量数据,将作为一个或多个特定激励的结果的在所述缺陷仿真期间捕获的一个或多个测量数据识别为所述测量数据彼此相同,并且将导致所述一个或多个测量数据彼此相同的被注入的缺陷识别为等价缺陷。
20.在一个实现方式中,当所述一个或多个测量数据在彼此的预定公差或阈值水平内时,可以将所述一个或多个测量数据识别为相同的。
21.在另外的实现方式中,可以提供一种非瞬态计算机可读记录介质,具有记录在其上的用于检测模拟电路中的缺陷的指令。当由处理器执行时,所述指令可以使处理器执行操作,所述操作包括:从网表识别模拟电路内的通道连接块(ccb),所述ccb是基于所述模拟电路中的节点的阻抗所确定的所述模拟电路的分区,在模拟电路仿真期间为待注入的ccb创建缺陷;通过基于将激励作为输入提供给所述ccb来执行所述ccb的第一模拟电路仿真,
获得所述ccb的输出节点的第一测量数据,通过基于将激励作为输入提供给ccb并且注入缺陷来执行ccb的第二模拟电路仿真,获得ccb的输出节点的第二测量数据,并且基于所述第一测量数据和所述第二测量数据确定缺陷类型。
22.在一个实现方式中,提供了一种系统,该系统包括存储指令的存储器以及与存储器耦联并且执行指令的处理器。指令在被执行时能够使所述处理器从网表识别模拟电路内的通道连接块(ccb),ccb是基于模拟电路中的节点的阻抗所确定的模拟电路的分区,在模拟电路仿真期间为待注入的ccb创建缺陷,通过基于将激励作为输入提供给所述ccb来执行所述ccb的第一模拟电路仿真,获得所述ccb的输出节点的第一测量数据,通过基于将激励作为输入提供给ccb并且注入缺陷来执行ccb的第二模拟电路仿真,获得ccb的输出节点的第二测量数据,并且基于所述第一测量数据和所述第二测量数据确定缺陷类型。
23.在另一个实现方式中,一种方法可以包括为待经受模拟电路仿真的模拟电路的部分内的每个独特通道连接块(ccb)以及为模拟电路的部分的每个相应的独特ccb生成晶体管级网表,准备对应的激励作为模拟电路仿真的输入并且识别待捕获的对应类型的测量数据作为输出。此外,所述方法可以包括创建在模拟电路仿真期间待注入的用于每个独特ccb的缺陷列表,并且通过以下项来执行每个相应独特ccb的模拟电路仿真:(i)使用对应激励作为输入且使用待捕获的对应类型的测量数据作为输出而不注入来自缺陷列表的任何缺陷来执行无缺陷仿真,以及(ii)使用对应激励作为输入且使用待捕获的对应类型的测量数据作为输出,同时注入来自缺陷列表的缺陷,使得对相应独特ccb执行的缺陷仿真的每个相应缺陷仿真注入来自缺陷列表的不同缺陷,来执行缺陷仿真。另外,所述方法可以包括分析每个独特ccb的每个模拟电路仿真的测量数据以针对每个相应ccb识别(i)不可检测缺陷作为注入缺陷,所述不可检测缺陷导致与在所述无缺陷仿真期间捕获的测量数据相同的测量数据以及(ii)等价缺陷作为注入缺陷,所述等价缺陷导致彼此等价的测量数据。
附图说明
24.从下面给出的详细描述和从本公开的实施例的附图,将更全面地理解本公开。附图用于提供本公开的实施例的知识和理解并且不将本公开的范围限制于这些具体实施例。此外,附图不一定按比例绘制。
25.图1示出为了完成模拟缺陷可检测性分析而通过所公开的技术执行的各个阶段。
26.图2示出图1的第一阶段中涉及的各种操作。
27.图3示出将缺陷映射到通道连接块(ccb),对于每个独特的ccb重复。
28.图4示出锁相环(pll)电路的ccb图,其中,每个节点均表示ccb,绿色三角形表示逆变器,紫色三角形表示两输入nand或nor门,红色圆圈表示模拟块,并且白色圆圈表示功能未知的块。
29.图5示出图4的特定ccb的电路,其中,“vbp”、“vbn”和“vout4”是输入节点,“vout5”是输出节点,“vdd”是电源节点。
30.图6示出被注入和仿真的每个晶体管的三个不同的短路缺陷和三个不同的开路缺陷。
31.图7示出将来自图6的下面板信号分割成不同的面板,以示出不可检测缺陷(最低面板)和顶部3个面板的不同组等价缺陷。
32.图8描绘根据本公开的一些实施例的在集成电路的设计和制造期间使用的各种过程的流程图。
33.图9描绘本公开的实施例可以在其中操作的示例计算机系统的示图。
具体实施方式
34.本公开的各方面涉及用于模拟缺陷可检测性分析的快速且可扩展的方法。
35.数字故障仿真、测试、可测试性设计等已经成熟到如下水平:在现代混合信号集成电路(ic)中,数字部件中的故障机会比模拟部件中的低得多。在包括模拟部件和数字部件的混合信号应用中,已经观察到,多达80%的产品退回归因于电路的模拟部分。在发布之前对ic执行的制造测试的质量(即,测试覆盖率)与从现场退回的有缺陷芯片的数量直接相关。产品/部件的缺陷级别(dl)可以如下计算:dl=1-y^(1-tc),其中y=收益,并且tc=测试覆盖率,因此产生了能够更好地评估模拟电路测试的覆盖率的需要。为了评估模拟电路测试的覆盖率,所公开的技术提供了准确且快速的模拟故障仿真。
36.例如,先进的驾驶员辅助系统(adas)在现代汽车中正变得普遍存在,并且预计随着汽车工业向脱手离眼的自主车辆发展而继续增长。adas技术中心的大多数集成电路具有大量的模拟部件。任务关键的电路部件的故障仿真通常被建议作为一种方法,以计算质量度量,例如单点故障度量(spfm)、潜在故障度量(lfm)和随机硬件故障的概率度量(pmhf)等等,如各种功能安全标准(例如iso 26262)所推荐的那样。因此,从制造测试覆盖率和功能安全性的观点来看,强烈需要提供更快和更准确的模拟缺陷仿真。
37.尽管模拟缺陷仿真的重要性日益增加,模拟设计者采用模拟缺陷仿真器比预期的慢。模拟缺陷仿真器的这种缓慢采用的一个原因是,模拟设计通常具有冗余和反馈,使得许多模拟器件中的缺陷不可检测。例如,有许多模拟器件,在这些模拟器件中如果端子之间存在短路电路或端子处存在开路电路,即使并非不可能、也很难观察到不同于无故障电路行为的任何行为,除非将控制点(输入)和观察点(输出)放置得非常靠近器件端子。无论使用什么样的输入信号来激励电路以及使用什么样的外部输出端口来观察激励的效果,这都是成立的。此外,如果模拟电路设计者(其设计的电路在几十年来一直工作,仅有极少的缺陷现场退货)使用不能有效计算可检测缺陷覆盖率的模拟缺陷仿真器,则仿真器将向用户提供将远小于由电路的过去良品数量所估计的真实缺陷覆盖率的缺陷覆盖率百分比。
38.从缺陷总体中识别这些先前不可检测的缺陷将实现更快的缺陷仿真时间(因为仿真器将需要仿真很少量的缺陷)和基于可能导致电路危险地运行的缺陷的spfm、lfm、pmhf等的更准确计算。在没有这种缺陷可检测性分析能力的情况下,可以理解的是,由于对缺陷覆盖率、测试覆盖率和诊断覆盖率数字评估不现实,电路设计者将不愿意将这种工具用于制造测试或用于功能安全。
39.所公开的技术解决了上述问题并且提供了用于检测模拟电路中的缺陷的实用且可扩展的解决方案。具体地,所公开的技术提供了对真实工业电路中的模拟缺陷的快速且可扩展的可检测性分析。
40.图1示出由所公开的技术执行的各个阶段,以便完成模拟缺陷可检测性分析。
41.具体地,如图1所示,所公开的技术具有四个阶段100。每个阶段可以包括多个操作。下面描述的是图1中所示的不同阶段以及在每个阶段中执行的各种操作。
42.第一阶段102包括生成或获得模拟电路或其所选部分的晶体管级网表、并且从网表识别独特的通道连接块(ccb)。第一阶段102还包括为每个独特ccb识别输入节点(例如激励节点)和输出节点(例如测量数据节点)以及准备激励和测量数据以用于要在后续阶段(例如第三阶段106)中执行的仿真。网表是电路或电路部件子集的基于文本的表示。通常,ccb通过划分电路或其一部分来限定,使得低阻抗支路(例如,mosfet的源极-漏极)不被分成不同的分区,除非这种支路接触电源或电路中的其他高连接的节点,并且使得分区被放置在电路的高阻抗节点(例如,mosfet的栅极)。定义ccb将在下面更详细讨论。附加地,下面提供的图2的描述对在第一阶段102中执行的附加操作进行了描述。
43.第二阶段104包括为每个ccb创建(识别)缺陷列表。下面提供的图3的描述对在第二阶段104中执行的附加操作进行了描述。
44.第三阶段106包括仿真具有和不具有注入缺陷的每个独特ccb,并且第四阶段108包括分析缺陷的可检测性和缺陷等价性的可检测性。可以使用电路仿真软件、例如来自synopsys的primesim来执行该仿真。在描述图3之后,下面更详细地描述第三阶段106和第四阶段108的各种操作。所公开的技术不需要以在此描述的顺序执行每个操作和/或每个阶段。一些操作可以以不同的顺序执行和/或根本不执行。
45.如上所述,图2示出图1的第一阶段102中涉及的各种操作。具体地,图2示出可以被包括在图1的第一阶段102中的七个示例操作。
46.操作202包括将待仿真的模拟电路(或其部分)的网表加载到数据库(例如,电路数据库)中或者获得包括网表的数据库。网表是电路或电路部件子集的基于文本的表示。网表可以是各种格式。一些常见格式包括spice、spectre和eldo格式。
47.操作204包括使用网表将电路划分成通道连接块(ccb)。可基于通过分析从网表获得的电路图来识别模拟电路中的电源网(电源网络)的方法来划分ccb。电路图表示电路的器件以及器件之间的连接,使得电路图包括表示器件的节点、并且包括表示节点之间的连接的边缘。注意,电路元件之间的导线连接可以被称为“网”。电源(例如vdd)或接地焊盘与其他元件之间的导线连接可以称为电源网。
48.在识别出电源网之后,操作204对电路图执行子图同构以识别重复结构、例如存储器单元等的阵列。关于同构,接触在所识别的阵列中的预定和可调数量的器件的高阻抗栅极端口的网被认为是“字线”,先前被识别为电源网但仅接触一些单元的某些(例如,一些,但不是全部)金属氧化物半导体场效应晶体管(mosfet)沟道的网被认为是“位线”(即,这些网不再被认为是电源网)。
49.在识别重复结构之后,操作204断开电源网和位线(如果有的话)以及所有mosfet的高阻抗端子(例如,栅极端子)处的电路图。
50.在操作204中描述的这个过程导致电路网表中的一些或全部电路网表被划分成通道连接的器件连接。两个器件可以保持在相同的分区中,当且仅当这些器件通过低阻抗端子连接时(例如,在mosfet的情况下,栅极端子被认为是高阻抗并且其他端子被认为是低阻抗),除非低阻抗端子碰巧接触电源网或位线。每个通道连接的器件组被称为通道连接块(ccb)。
51.操作206包括创建有向图。具体地,操作206包括创建ccb的有向图(见图4的示例有向图),使得图的每个节点是ccb,并且使得如果在两个ccb之间存在连接,则在任何两个节
点之间存在边缘。边缘从一个ccb中的低阻抗节点指向另一个ccb中的高阻抗节点。例如,考虑两个逆变器(例如,逆变器a和逆变器b)被识别为两个ccb。如果逆变器a驱动逆变器b,则两个ccb之间的箭头将从逆变器a指向逆变器b。箭头的方向与模拟电路中的信号传播路径有关。
52.操作208包括输入端口、标识(例如,激励节点的标识)、输出端口标识(例如,测量节点的标识,该测量节点是ccb的被输入到其他ccb的端口或者是已经由用户标记为电路的输出节点的端口)以及电源节点标识(例如,vdd和接地节点的标识),办法是:找到连接到许多晶体管沟道和/或体端子的节点,并且然后过滤驱动存储器单元的存取晶体管的节点等。具体地,根据操作208,基于有向图中ccb的连接性,为每个ccb识别输入端口和输出端口。对于可能不驱动任何其他ccb的ccb,如果该ccb中具有电路的一个或多个主输出,则这种主输出节点是该ccb的输出。如操作204中所识别的,在对应的ccb端子上标记或识别电源节点和位线。
53.操作210包括在模拟电路的多个分区之间识别拓扑独特的ccb。注意,在操作204中发现的ccb在结构上和关于输入端口和输出端口不都是独特的。例如,即使两个ccb具有相同的通道连接结构,如果这些ccb中的不同节点外部地(作为输出端口)连接到其他ccb,则这两个ccb也可以被认为是不相同的(独特的)。在操作210中,执行简单的图匹配以查找具有独特的输入和输出端口节点集合的独特ccb。可以以许多方式实现图匹配,包括使用完全复杂性图同构、使用器件和节点的简单散列,随后是共享相同散列的图之间的直接比较。
54.操作212包括确定输入节点的激励,使得所确定的激励可以在第三阶段106中执行的仿真期间使用。可以确定激励,使得可以在仿真期间为每个ccb确定缺陷可检测性。可以使用各种方法(即不同类型的激励)来研究每个ccb中的缺陷可检测性,下面讨论其中的一些方法。
55.例如,可以确定激励,使得可以在各种频率下进行ccb的交流(ac)仿真。不同的输入端口可以被分配各种频率的交流(ac)信号。电源输入或位线可以被提供有低频ac信号(低频,因为电源网和位线是高电容负载的,使得高频激活对于这样的网是不现实的)。如果存在多于一个到ccb的输入并且设计者对三个不同频率(例如,0/dc、100hz和1mhz)感兴趣,则使用各种方法、诸如多音谐波平衡来考虑所有可能的频率组合。这通常不是问题,因为各个ccb通常具有非常少的输入。
56.此外,可以确定激励,使得可以使用瞬态仿真(类似于上面的ac仿真),使得取代使用ac激励可以使用正弦时域信号,该正弦时域信号具有的频率可以与在不同输入、电源和位线端子上的ac仿真中相同。可以考虑频率的组合,如ac分析所做的那样。
57.备选地,可以确定激励,使得以下瞬态仿真可以是有效的,在该瞬态仿真中,每个输入端子(非电源/非位线)被提供有伪随机分段线性(pr-pwl)波形,该波形具有从电路的电源电压导出的幅度。pr-pwl信号具有许多不同的频率分量,并且由于这些频率分量不相关,因此当被施加到多个输入端子时,它们可以覆盖用于一个瞬态仿真中的输入的各种频率组合。可以确定激励,使得瞬态仿真可以包括使用(i)伪随机分段恒定波形(具有随机电压值和周期),(ii)具有电源电压值和各种时间周期的分段恒定波形,(iii)上述波形的任何组合,以及(iv)智能测试模式发现。智能测试模式发现可以包括通过图形算法和反向传播生成使短路节点之间的电压最大化的输入模式,并且可以包括用于电路的模拟测试模式
生成的其他方法。更具体地,智能测试模式发现可以基于例如启发式搜索算法,该启发式搜索算法改变到ccb的输入信号,同时试图在缺陷周围创建条件,该条件在缺陷存在和不存在时将尽可能地不同。例如,在两个节点之间存在短路缺陷的情况下,智能测试模式发现算法可以尝试使无缺陷电路中的两个节点之间的差异最大化。在存在短路缺陷的情况下,两个节点将具有相同的电势,因此缺陷将由输入激活,从而为在输出处检测到的缺陷创建有利条件。其他基于机器学习的测试模式生成也可以通过本文公开的技术来实现。
58.由于涉及仿真时间,因此ac分析可以更快。然而,pr-pwl瞬态仿真或基于正弦信号的瞬态仿真并不显著较慢,因为ccb电路通常足够小以至于时间差并不非常显著。
59.操作214包括准备在仿真期间从ccb的输出节点待获得(捕获)的测量数据。具体地,操作214包括,对于每个ccb,识别和准备在仿真期间为每个ccb的每个输出节点待获得的特定类型的测量数据。
60.操作214的示例实现方式可以包括使用hspice.测量语句,这些测量语句测量特定节点、例如“vout5”的波形。特定示例.测量语句包括(i).measure tran m1 avg v(vout5)(其测量特定瞬态时间的平均值,其中,“ml”是该测量数据的名称),(ii).measure tran m2 rms v(vout5)(其测量均方根),(iii).measure tran m3 max v(vout5)(其测量最大值),(iv).measure tran m4 min v(vout5)(其测量最小值),(v).measure tran m5 avg v(vout5)从=0.0至=1e-7(其测量从时间0.0至时间0.1微秒的平均值),以及(vi).measure tran m6 rms v(vout5)从=2e-6至=3e-6(其测量从时间2微秒至3微秒的均方根)。
61.输出节点是观察端口。为了判断缺陷是否可检测,所公开的技术可以自动检查在ccb的输出节点中的至少一个输出节点中是否可观察到缺陷的影响(即,当缺陷被注入时,存在可观察到的缺陷或没有观察到缺陷)。例如,短路缺陷或开路缺陷可以被故意注入ccb中的某些位置。具体地,所公开的技术可以在ccb的任何两个节点/端子之间注入短路缺陷(短路电路)或者它可以在ccb的特定节点/端子处注入开路缺陷(开路电路)。这些注入的缺陷可以对可能的制造缺陷建模,其中的一些缺陷在模拟电路中可能是不可检测的。所公开的技术能够识别哪些类型的缺陷如果存在于模拟电路中则将不可检测。
62.操作214可以配置输出节点的信号的测量。在ac分析的情况下,输出节点的频率、相位、幅度可以是测量的量。在瞬态分析的情况下,输出节点处的时域信号可以在时间上被周期性地采样,或者可以使用加窗平均技术,诸如使用加窗的均方根值,来测量输出行为。注意,在第四阶段108中,所公开的技术可以将每个缺陷仿真的测量值与相同ccb的无故障仿真的对应值进行比较,以测量可检测性和缺陷等价性。
63.图3示出在图1中示出的第二阶段104中如何将缺陷映射到每个ccb上。具体地,图3示出将缺陷映射到通道连接块(ccb),对于每个独特的ccb重复。映射到每个独特ccb的缺陷将在模拟电路的仿真期间被注入,如下面参考第三阶段106所述。
64.操作300包括识别在第一阶段102中识别的每个独特ccb,并且操作302包括使用网表306中的用户定义的缺陷模型304和用户定义的缺陷应用范围来寻找映射到每个独特ccb的缺陷。具体地,用户定义的缺陷模型304和用户定义的缺陷应用范围306用于导出模拟电路(或其部分)的缺陷总体(即,待注入的缺陷)。用户定义的缺陷模型304可以包括在仿真期间注入ccb的特定类型的缺陷(作为短路电路、例如在节点之间的用户定义的小阻抗,或者开路电路、例如在器件端子处的用户定义的大阻抗),并且用户定义的缺陷应用范围306可
以识别用于应用缺陷的特定范围。例如,每种缺陷类型可以包括短路电路缺陷或开路电路缺陷中的一个。短路电路缺陷的范围可以包括器件或子电路模型和器件或子电路的两个端子、电路中的两个网或电路中的两个节点。开路电路缺陷的范围可以包括器件或子电路模型和器件或子电路的一个端子、电路中的网或集成电路中的节点。
65.操作308包括在待注入的器件缺陷和ccb之间创建多对一映射,因为每个器件可以属于一个且仅一个ccb。例如,操作308可以包括在待注入的器件缺陷和ccb之间创建多对一映射,因为每个器件可以属于一个且仅一个ccb。在端子连接从其应该连接的地方断开的情况下,发生开路缺陷。对于mosfet,可能有4种类型的开路缺陷,包括漏极开路缺陷(也是常开)、栅极开路缺陷、源极开路缺陷(也是常开)和体开路缺陷。当两个端子之间存在不正确的连接时,发生短路缺陷。对于mosfet,可能有6种类型的短路缺陷,包括体-栅极短路缺陷(常开)、体-漏极短路缺陷、体-源极短路缺陷、漏极-栅极短路缺陷、漏极-源极短路缺陷(常闭)和源极-栅极短路缺陷。
66.如果相同的独特ccb具有两个不同的缺陷类型映射,则所公开的技术将独特ccb视为两个不同的ccb而不是一个。例如,为了增加效率,当两个ccb在每个方面都相同时,则所公开的技术可以仅仿真相同ccb中的一个ccb。然而,当注入到两个ccb中的缺陷不相同时,则所公开的技术可以仿真相同ccb的两个不同版本。在其他方面相同的两个ccb中缺陷可以不同,因为注入的缺陷是用户定义的,具有用户定义的应用范围。这可以在同一电路中的不同位置变化。
67.图1的第三阶段106包括仿真具有和不具有注入缺陷的每个独特ccb。该第三阶段106包括使用在操作212中准备的激励和使用在操作214中准备的测量数据。例如,对于每个集合的输入激励,每个ccb需要被仿真多次。一次没有任何缺陷注入,并且对于映射到ccb的每个缺陷一次。可以有各种方式来发起这些仿真。对于ac分析,可以使用扫描特征。对于瞬态分析,可以使用“.alter”特征,即,对于相同的ccb网表,所公开的技术可以顺序地对每个映射缺陷(即,在第二阶段104中映射的缺陷)运行一个仿真。由于仿真是独立的,所以它们可以全部并行运行。从可检测性的观点来看,如果基于一个测试认为缺陷是可检测的,则不需要进一步的测试。例如,在ac分析中,如果在使用直流(dc)时可检测到缺陷,则不需要更高频率的仿真。但是,从缺陷崩塌的观点来看,这不一定是真实的。为了找到等价缺陷,应当执行不同频率处的仿真。
68.图1的第四阶段108包括分析缺陷和缺陷等价性的可检测性。具体地,在第四阶段108中,对于每个ccb,缺陷被评估以用于可检测性和用于等价性。
69.对于可检测性,将每个缺陷仿真的输出测量数据与无故障测量数据进行比较。如果结果差异小于每个激励或频率集合的某个公差值(例如,阈值、百分比等),则认为缺陷是不可检测的。不可检测或难以检测的缺陷可从可检测缺陷总体中去除,或者在计算缺陷覆盖率期间给予较低的权重。这实质上意味着即使存在缺陷(或被仿真),ccb的输出也保持与无故障仿真相同。因此,可从模拟电路测试中去除不可检测的缺陷。
70.对于等价性,所公开的技术仅考虑可检测缺陷的输出测量值。如果在所有激励和频率下的两个缺陷的输出测量数据相同或具有可忽略的差异(关于一些合理的公差、阈值、百分比等),则两个缺陷是电气等价的。电气等价缺陷(测量数据)可以归为一组,如下面的“示例结果”中所述。对于被认为“等价”的缺陷,只需对其中一个缺陷进行仿真以进行模拟
电路测试。对于等价缺陷的仿真结果应该是相同的,因此,不必仿真相同等价组中的其他缺陷,因为可以假设它们具有与被仿真的缺陷相同的结果。这通过减少仿真的数量来加速模拟缺陷仿真。
71.示例结果
72.为了演示所公开的技术如何工作,使用来自sunter和sarson在2017年(“a publicly-accessible set of a/ms benchmark circuits”,欧洲测试研讨会,2017年5月)提出的套件的模拟和混合信号(a/ms)基准锁相环(pll)电路执行了一项实验。
73.图4示出锁相环(pll)电路的ccb图400,其中,每个节点均表示ccb,绿色三角形表示逆变器,紫色三角形表示两输入nand或nor门,红色圆圈表示模拟块,并且白色圆圈表示功能未知的块。
74.图5示出图4的ccb图400的电路500。
75.具体地,在图5中,“mp13”、“mp12”、“mn13”和“mn12”表示n和p型晶体管,“vbp”、“vbn”和“vout4”是输入节点,“vout5”是输出节点,“vdd”是保持在3.3v处的电源节点,并且在输入节点处提供输入激励并且在输出节点处测量输出。
76.图6示出图表600,包括施加到三个输入(“vbp”、“vbn”和“vout4”)的pr-pwl信号以及来自二十四个缺陷仿真和无缺陷仿真中的每个仿真的输出信号(vout5)。该图表600是第三阶段106的仿真的输入(激励)和输出(测量数据)的示例。
77.具体地,在图表600顶部处的三条线示出三个输入。深蓝色线表示vout4,棕色线表示vbp,并且红色线表示vbn。图6示出被注入和仿真的每个晶体管的三个不同的短路缺陷和三个不同的开路缺陷。由于存在四个晶体管,所以总共注入二十四个缺陷。
78.在图表600的底部上总共有二十五个线。颜色索引在图表的左手侧,使得列表中的前二十四项的“v(out5)”标签的颜色表示缺陷仿真(即,从ccb获得的测量数据作为在仿真期间注入二十四个不同类型的缺陷的结果)。列表的最后一个“v(out5)”标签表示无缺陷仿真,所述无缺陷仿真是图表600的底部部分中的虚线。
79.图7包括示出输出信号的分组结果的图表700。具体地,图7示出被分成五个不同面板的来自图6的下面板信号。
80.最下面的面板示出不可检测的缺陷,如上面关于图1的第四阶段108所讨论的。此外,顶部的三个面板示出等价缺陷的三个不同组(即,组1、组2和组3),如以上关于图1的第四阶段108所讨论的。第四面板示出了不能被置于任何一组等价缺陷或不可检测缺陷中的所有其他有缺陷的仿真输出信号。不可检测的缺陷从“可检测的缺陷总体”中去除,并且可以从任何“可检测的缺陷覆盖率”方程的分子和分母中去除。(加权的)可检测的缺陷覆盖率=(所有可检测的缺陷(权重)的总和)/(所有可检测的缺陷(权重)的总和)。通过仅仿真每个等价缺陷集的一个成员来利用等价缺陷。一个成员的仿真结果与其他成员共享。它们不会仅仅因为它们是等价的而从总体中去除。当整个等价类别的缺陷被认为不可检测时,该类别中的所有缺陷都将被排除在可检测缺陷总体之外。相反,当等价缺陷组被认为是可检测的时,则整个缺陷组被认为是可检测缺陷总体的一部分。当然,根据定义,整个等价组应该是可检测的或不可检测的。不可能的是,等价缺陷组的一部分是可检测的并且另一部分是不可检测的。
81.在使用ccb从仿真中确定可检测性(即,标识不可检测的缺陷)和等价性(即,标识
等价缺陷)之后,所公开的技术可以进入另一个阶段。该另一个阶段包括将故障注入到全电路中(与ccb级别处的仿真相反)以及使用用户定义的输入和用户定义的故障检测测量等在全电路上执行故障仿真。在该随后的阶段中,所公开的技术可以利用从ccb仿真中确定的“可检测性”和“等价性”发现。例如,当在全电路上执行故障仿真时,所公开的技术可以从故障总体中排除不可检测的缺陷(故障),或者所公开的技术可以将权重0分配给不可检测的缺陷。此外,所公开的技术可以通过减少在整个电路上执行的故障仿真的数量来利用等价缺陷。例如,如果存在十个等价缺陷,则所公开的技术可以仅挑选一个等价缺陷并且使用该一个等价缺陷来进行整个电路的故障仿真。结果,整个电路的故障仿真将更快和更有效。
82.下面提供的表1示出哪些缺陷被认为是不可检测的以及哪些可检测的缺陷被认为是等价的细节。
83.缺陷类型实例名端口分类短路mn12s g未检测到短路mn12s d其他短路mn12g d其他开路mn12d组1(等价)开路mn12g组1(等价)开路mn12s其他短路mn13g s其他短路mn13d g组2(等价)短路mn13d s其他开路mn13d组1(等价)开路mn13g组1(等价)开路mn13s组1(等价)短路mp12g s组1(等价)短路mp12d g组2(等价)短路mp12d s其他开路mp12d其他开路mp12g其他开路mp12s组3(等价)短路mp13s g未检测到短路mp13s d其他短路mp13g d其他开路mp13d组3(等价)开路mp13g其他开路mp13s其他
84.图8示出在诸如集成电路的制品的设计、验证和制造期间使用的过程800的一个示例集合,用于转换和验证表示集成电路的设计数据和指令。这些过程中的每个过程都可以被构造和实现为多个模块或操作。术语

eda’表示术语

电子设计自动化’。这些过程以用设计者提供的信息创建产品创意810开始,该信息被转换以创建使用eda过程812的一个集合
的制品。当设计完成时,设计被流片834,流片是指集成电路的原图(例如,几何图案)被发送到制造设施以制造掩模集合,掩模集合然后被用于制造集成电路。在流片之后,制造836半导体裸片且执行封装及组装过程838以生产成品集成电路840。
85.电路或电子结构的规范可以覆盖从低级晶体管材料布局到高级描述语言。高级表示可以用于使用诸如vhdl、verilog、systemverilog、systemc、myhdl或openvera之类的硬件描述语言(

hdl’)来设计电路和系统。hdl描述可以被转换为逻辑级寄存器传输级(

rtl’)描述、门级描述、布局级描述或掩模级描述。作为更详细描述的每个较低表示级别将更多有用的细节添加到设计描述中,例如,包括该描述的模块的更多细节。作为更详细描述的较低表示级别可以由计算机生成、从设计库中导出、或者由另外的设计自动化过程创建。用于指定更详细描述的较低级别表示语言的规范语言的示例是spice,其用于具有许多模拟部件的电路的详细描述。在每个表示级别的描述被启用以供该层的对应工具(例如,形式验证工具)使用。设计过程可以使用图8中描述的序列。所描述的过程由eda产品(或工具)启用。通过所公开的技术实现的模拟缺陷可检测性分析可以在eda过程812期间实现。具体地,模拟缺陷可检测性分析可以与下面描述的eda过程812的各个阶段一起实现。
86.在系统设计814期间,指定要制造的集成电路的功能。可以针对诸如功耗、性能、面积(物理和/或代码行)以及成本降低等的期望特性来优化设计。将设计划分为不同类型的模块或部件可以在这个阶段发生。
87.在逻辑设计和功能验证816期间,以一种或多种描述语言指定电路中的模块或部件,并且检查该规范的功能准确性。例如,可以验证电路的部件以生成与正在设计的电路或系统的规范的要求相适配的输出。功能验证可以使用仿真器和其他程序,例如测试台生成器、静态hdl检查器和形式验证器。在一些实施例中,被称为

仿真器’或

原型系统’的部件的特殊系统被用于加速功能验证。
88.在测试818的综合和设计期间,hdl代码被转换成网表。在一些实施例中,网表可以是图形结构,其中,图形结构的边缘表示电路的部件,并且其中图形结构的节点表示部件如何互连。hdl代码和网表都是分级制品,该分级制品可以由eda产品用来验证集成电路在制造时是否根据指定设计运行。可以针对目标半导体制造技术优化网表。另外,可以测试完成的集成电路以验证集成电路是否满足规范的要求。
89.在网表验证820期间,检查网表与时序约束的一致性以及与hdl代码的对应性。在设计规划822期间,构建并分析集成电路的总体平面图以用于定时和顶级布线。
90.在布局或物理实现824期间,发生物理放置(诸如晶体管或电容器之类的电路部件的定位)和布线(通过多个导体连接电路部件),并且可以执行从库中选择单元以实现特定逻辑功能。如本文所使用的,术语

单元’可以指定提供布尔逻辑功能(例如,与、或、非、异或)或存储功能(诸如触发器或锁存器)的一个集合的晶体管、其他部件和互连。如本文所使用,电路“块”可指代两个或更多个单元。单元和电路块都可以被称为模块或部件并且被实现为物理结构和在仿真中实现。为所选择的单元(基于

标准单元’)指定参数,例如尺寸,并且使参数在数据库中可访问以供eda产品使用。
91.在分析和提取826期间,在布局级别验证电路功能,这允许布局设计的精细化。在物理验证828期间,检查布局设计以确保制造约束是正确的,诸如drc约束、电气约束、光刻约束,并且确保电路功能与hdl设计规范适配。在分辨率增强830期间,转换布局的几何形状
以改进电路设计的制造方式。
92.在流片期间,创建数据以用于(在适当的情况下应用光刻增强之后)光刻掩模的生产。在掩模数据准备832期间,

流片’数据用于生产光刻掩模,该光刻掩模用于生产完成的集成电路。
93.计算机系统(例如图9的计算机系统900)的存储子系统可以用于存储由本文描述的eda产品中的一些或全部eda产品使用的程序和数据结构,以及用于开发库的单元和用于使用库的物理和逻辑设计的产品。
94.图9示出计算机系统900的示例机器,在该示例机器内可以执行用于使该机器执行本文所讨论的方法中的任何一个或多个方法的一个指令集。在替代实现方式中,机器可以连接(例如,联网)到lan、内联网、外联网和/或因特网中的其他机器。机器可以作为客户端-服务器网络环境中的服务器或客户端机器、作为对等(或分布式)网络环境中的对等机器、或者作为云计算基础设施或环境中的服务器或客户端机器来操作。
95.该机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥、或者能够执行指定该机器要采取的动作的一个集合的指令(顺序的或其他方式)的任何机器。此外,虽然示出单个机器,但是术语“机器”还应被理解为包括单独地或联合地执行一个集合的(或多个集合的)指令以实施本文所讨论的方法中的任何一个或多个方法的机器的任何集合。
96.示例计算机系统900包括处理装置902、主存储器904(例如,只读存储器(rom)、闪存、诸如同步dram(sdram)之类的动态随机存取存储器(dram)、静态存储器906(例如,闪存、静态随机存取存储器(sram)等)以及数据存储装置918,它们经由总线930彼此通信。
97.处理装置902表示一个或多个处理器,诸如微处理器、中央处理单元等。更具体地说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或实现其他指令集的处理器、或实现指令集的组合的处理器。处理装置902也可以是一个或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置902可以被配置成执行用于实施本文描述的操作和操作的指令926。
98.计算机系统900还可以包括网络接口装置908,以通过网络920进行通信。计算机系统900也可以包括视频显示单元910(例如,液晶显示器(lcd)或阴极射线管(crt))、字母数字输入装置912(例如,键盘)、光标控制装置914(例如,鼠标)、图形处理单元922、信号生成装置916(例如,扬声器)、图形处理单元922、视频处理单元928和音频处理单元932。
99.数据存储装置918可以包括机器可读存储介质924(也称为非瞬态计算机可读介质),在机器可读存储介质上存储有体现本文描述的方法或功能中的任何一个或多个的一个或多个集合的指令926或软件。指令926在由计算机系统900执行期间也可以完全或至少部分地驻留在主存储器904内和/或处理装置902内,主存储器904和处理装置902也构成机器可读存储介质。
100.在一些实现方式中,指令926包括用于实现与本公开相对应的功能的指令。虽然机器可读存储介质924在示例实现方式中被示为单个介质,但是术语“机器可读存储介质”应当被认为包括存储一个或多个集合的指令的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器)。术语“机器可读存储介质”还应当被理解为包括能够
存储或编码用于由机器执行的一个集合的指令并且使机器和处理装置902实施本公开的方法中的任何一个或多个方法的任何介质。术语“机器可读存储介质”因此应当被理解为包括但不限于固态存储器、光学介质和磁介质。
101.已经根据对计算机存储器内的数据比特的操作的算法和符号表示来呈现了前述详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域的其他技术人员的方式。算法可以是导致期望结果的操作序列。这些操作是需要对物理量进行物理操作的那些操作。这种量可以采取能够被存储、组合、比较和以其他方式操纵的电信号或磁信号的形式。这样的信号可以被称为比特、值、元素、符号、字符、项、数字等。
102.然而,应当记住,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便的标记。除非特别声明,否则从本公开中显而易见的是,应当理解,在整个说明书中,某些术语是指计算机系统或类似的电子计算装置的动作和过程,该动作和过程将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和转换为类似地表示为计算机系统存储器或寄存器或其他这样的信息存储装置内的物理量的其他数据。
103.本公开还涉及用于执行本文的操作的设备。该设备可以是为预期目的而专门构建的,或者该设备可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的计算机。这样的计算机程序可以存储在计算机可读存储介质中,例如但不限于,任何类型的盘,包括软盘、光盘、cd-rom和磁光盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、或适于存储电子指令的任何类型的介质,每个都耦联到计算机系统总线。
104.这里提出的算法和显示与任何特定计算机或其他设备并非本质地相关。各种其他系统可以与根据本文教导的程序一起使用,或者可以证明构造更专用的设备来实施该方法是方便的。另外,本公开不是参考任何特定编程语言来描述的。将理解,各种编程语言可以用于实现如本文所述的本公开的教导。
105.本公开可以作为计算机程序产品或软件来提供,计算机程序产品或软件可以包括存储有指令的机器可读介质,所述指令可以用于对计算机系统(或其他电子装置)进行编程以实施根据本公开的过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光存储介质、闪存装置等。
106.在前述公开中,已经参考其特定示例实现方式描述了本公开的实现方式。显然可以对这些实现方式进行各种修改而不偏离如所附权利要求中阐述的本公开的实施方式的更广泛的精神和范围。在本公开以单数形式提及一些元件的情况下,在附图中可以描绘多于一个元件,并且相同的元件用相同的数字标记。因此,本公开和附图应被认为是说明性意义的而不是限制性意义的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1