测试方法与测试系统与流程

专利2022-06-29  84


本案是有关于一种测试方法与系统,且特别是有关于测试积体电路的测试方法与系统。



背景技术:

各种用于测试晶片中的积体电路的测试方法已有一定发展。然而,在现有方式中,测试程式需要相当久的时间(例如,数个礼拜,或有时需要数个月)来评估出晶片中一定数量的有缺陷装置,以获得有说服力的诊断结果。如此一来,进行测试以及制造晶片的效率会因此降低。



技术实现要素:

为了解决上述问题,本案的一些态样提供一种测试方法,其由至少一处理器执行并包含下列操作:转换关联于一扫描测试的一第一资料为一程式,其中该程式用以观察一电路系统中的一未测试部分,且该未测试部分未能在该扫描测试中被检验;根据一网表档与复数个测试式样一起执行复数个电路模拟以及该程式,以评等该些测试式样以产生一第二资料,其中该网表档对应该电路系统;根据该第二资料自该些测试式样选择出至少一候选测试式样;以及根据该网表档与该至少一候选测试式样对该电路系统执行至少一故障模拟,以测试该电路系统。

本案的一些态样提供一种校正系统,其包含一记忆体与一处理器。记忆体用以储存一电脑程式码。处理器用以执行该电脑程式码,以:转换关联于一扫描测试的一第一资料为一程式,其中该程式用以观察一电路系统中的一未测试部分,且该未测试部分未能在该扫描测试中被检验;根据一网表档与复数个测试式样一起执行复数个电路模拟以及该程式,以评等该些测试式样以产生一第二资料,其中该网表档对应该电路系统;根据该第二资料自该些测试式样选择出至少一候选测试式样;以及根据该网表档与该至少一候选测试式样对该电路系统执行至少一故障模拟,以测试该电路系统。

综上所述,本案实施例提供的测试系统与方法可改善测试积体电路的效率,并增加测试的涵盖率。

附图说明

本案所附图式的说明如下:

图1为根据本案一些实施例所绘制的一种测试系统的示意图;

图2为根据本案一些实施例所绘示的一种电路系统的示意图;

图3为根据本案一些实施例所绘制的测试方法的流程图;以及

图4为根据本案一些实施例所绘示程式的行为的概念示意图。

符号说明:

100测试系统

110处理器

120记忆体

130输入输出介面

200电路系统

220扫描炼电路

240逻辑电路

si扫描输入端

so扫描输出端

d输入端

q输出端

en扫描致能讯号

tp测试式样

oa1至oa3输出端

d1网表档

300测试方法

s310、s320操作

s330、s340操作

s350、s360操作

s370、s380操作

d2至d4资料

a1至a3逻辑闸

400程式

rega1至rega3虚拟暂存器

or1至or3讯号值

tp1至tp3测试式样

具体实施方式

以下将以图式揭露本案的复数个实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本案。也就是说,在本案部分实施方式中,这些实务上的细节是非必要的。此外,为简化图式起见,一些习知惯用的结构与元件在图式中将以简单示意的方式绘示之。

关于本文中所使用的『第一』、『第二』、…等,并非特别指称次序或顺位的意思,亦非用以限定本案,其仅仅是为了区别以相同技术用语描述的元件或操作而已。如本文所用,词汇『与/或』包含了列出的关联项目中的一个或多个的任何组合。

关于本文中所使用的『耦接』或『连接』,均可指二或多个元件相互直接作实体或电性接触,或是相互间接作实体或电性接触,亦可指二或多个元件相互操作或动作。

于本文中,用语『电路系统(circuitry)』泛指包含一或多个电路(circuit)所形成的单一系统。用语『电路』泛指由一或多个电晶体与/或一或多个主被动元件按一定方式连接以处理讯号的物件。

参照图1,图1为根据本案一些实施例所绘制的一种测试系统100的示意图。

如图1所示,测试系统100包含处理器110、记忆体120以及输入输出(input/output,i/o)介面130。处理器110可由至少一处理器电路、中央处理单元(cpu)、一特殊应用积体电路(asic)、多处理器、分散式系统或合适的处理电路实施。各种实施处理器110的电路或单元皆为本案所涵盖的范围。

记忆体120储存用以测试积体电路的至少一程式码。记忆体120储存至少一程式码,其由一组用以测试或验证积体电路的功能的一指令集所编码。处理器110可执行储存于记忆体120内的至少一程式码,且测试或验证积体电路的功能的操作可被自动地执行。

于一些实施例中,记忆体120为一非暂态电脑可读取储存媒体,其被编码(即储存)为用于测试积体电路的一组可执行指令集。例如,记忆体120储存有可用于执行例如为图3所示的多个操作的可执行指令集。于一些实施例中,电脑可读取媒体包含电性、磁性、光学、电磁性、红外线与/或半导体的系统(或设备或装置)。例如,电脑可读取媒体包含半导体或固态记忆体、磁带、可移除电脑磁碟、随机存取记忆体(ram)、唯读记忆体(rom)、刚性磁碟与/或光学磁碟。于一些使用光学磁碟的实施例中,电脑可读取媒体包含唯读记忆光碟(cd-rom)、可重复录写光碟(cd-r/w)与/或数位视讯光碟(dvd)。

多个i/o介面130自各种控制装置接收多个输入或指令(未绘示),其中该些控制装置可由一电路设计者或测试工程师操作。据此,测试系统100可经由多个i/o介面130接收的输入或指令被操控。于一些实施例中,多个i/o介面130包含显示器,其用以显示执行该程式码的状态。于各种实施例中,多个i/o介面130包含图形化用户介面(gui)、键盘、滑鼠、轨迹球、轨迹板、触控屏幕、游标方向键、或上述任意组合,以与处理器110沟通资讯与指令。

参照图2,图2为根据本案一些实施例所绘示的一种电路系统200的示意图。为了易于说明图3的测试方法300,各种相关的用语或元件将参照图2说明。

电路系统200包含扫描炼电路220与逻辑电路240。扫描炼电路220包含多个正反器,其透过各自的扫描输入端si以及扫描输出端so串联耦接。扫描炼电路220经由其输入端d以及输出端q耦接至逻辑电路240。于一些实施例中,响应于扫描致能讯号en以及各种测试式样tp,扫描炼电路220操作于一扫描模式下,以对逻辑电路240执行一扫描测试。于一些实施例中,逻辑电路240可包含各种数位电路、组合逻辑电路等等。例如,逻辑电路240至少包含多个逻辑闸a1至a3,其分别包含多个输出端oa1至oa3。

于一些实施例中,电路设计者可经由网表(netlist)档d1描述电路系统200,以设计电路系统200。于一些实施例中,网表档d1的内容符合一预定类型的句法,其在可由测试系统100辨识的一描述性格式内记录与/或设计一电路。于一些实施例中,预定类型的句法可为berkeleyspice的句法。于一些其他的实施例中,预定类型的句法可为spice的句法。上述关于网表档d1的类型用于示例。各种类型的网表档皆为本案所涵盖的范围。

于一些实施例中,多个i/o介面130可接收用于对应电路系统200的网表档d1。于一些实施例中,记忆体120储存一或多个程式码(其可对应一设计工具),其可根据网表档d1执行测试或分析。于一些实施例中,为了运行扫瞄测试,处理器110可根据网表档d1执行该设计工具,以产生图2中的扫描致能讯号en以及测试式样tp。于一些实施例中,网表档d1为逻辑闸层级(gate-level)的网表档。

参照图3,图3为根据本案一些实施例所绘制的测试方法300的流程图。为易于理解,测试方法300将参考图1至图2说明。

于操作s310中,根据对应于电路系统200的网表档d1执行扫描测试,以获取资料d2。

例如,响应于自i/o介面130传送来的一指令(未绘示)与网表档d1,处理器110执行该测试工具以对电路系统200执行扫描测试。在扫瞄测试被完成后,处理器110可输出该扫描测试的总结报告为资料d2,并将之储存至记忆体120。于一些实施例中,资料d2包含电路系统200中未能被扫描测试所检验的电路部分(后称『电路系统200的未测试部分』)的资讯。举例而言,逻辑闸a1至a3未能被扫描测试所涵盖的电路,故资料d2的资讯指明此三个逻辑闸a1至a3未能被检验。于此例中,电路系统200的未测试部分包含这些逻辑闸a1至a3。

于操作s320,转换资料d2为程式400,其用于观察电路系统200中未能被扫描测试检验到的电路部分。

为了说明操作s320,一并参照图4,且图4为根据本案一些实施例所绘示程式400的行为的概念示意图。于一些实施例中,处理器110响应于资料d2产生程式400。例如,如先前所述,逻辑闸a1至a3未能被扫描测试所检验到。于此条件下,处理器110可根据资料d2产生图4的程式400,以于后续测试中观察逻辑闸a1至a3。

如图4所示,在程式400中,虚拟暂存器rega1、rega2以及rega3可被各种指令或程式语言设置。虚拟暂存器rega1、rega2以及rega3用以分别根据输出端oa1、oa2以及oa3上的变化执行计数操作,以产生讯号值or1至or3。例如,在后续测试中,每当自输出端oa1输出的讯号值一改变,讯号值or1会增加1。依此类推,讯号值or1至or3(即程式400的输出结果)可用来监测逻辑闸a1至a3在后续测试中被触发的次数。

图4中的虚拟暂存器的数量用于示例。于一些实施例中,虚拟暂存器的数量为根据电路系统200的未测试部分中的电路数量而定。于一些实施例中,程式400的行为或功能可利用各种程式语言编码,且可被储存于记忆体120内。于一些实施例中,程式400可与测试工具整合,藉以使处理器110可执行测试工具来执行与/或产生程式400。

继续参照图3,于操作s330,根据网表档d1以及测试式样tp1至tp3一起执行电路模拟与程式400,以产生资料d3。

于一些实施例中,测试式样tp1至tp3为预先设定并储存于记忆体120内。测试式样tp1至tp3对应用于电路系统200上不同的输入向量(或讯号)。于一些实施例中,处理器110可根据网表档d1以及测试式样tp1至tp3执行记忆体120内的测试工具与/或模拟工具(例如,hspice、静态时序分析工具、功能验证工具)与程式400,以对电路系统200执行电路模拟。

例如,程式400跟着第一至第三电路模拟执行,其中第一、第二与第三电路模拟分别基于测试式样tp1、tp2与tp3执行。在每一电路模拟的过程中,若电路系统200的未测试部分中的一对应电路(或逻辑闸)有被测试式样tp1至tp3触发,程式400内的暂存器rega1至rega3的值会被更新。例如,在第一电路模拟中,若逻辑闸a1响应于测试式样tp1被触发,输出端a1所输出的讯号值会被改变,且数值or1会相应地增加。

在所有电路模拟被执行后,处理器110基于程式400的暂存器rega1至rega3的数值or1至or3输出电路模拟的总结报告为资料d3,并将之储存于记忆体120。于一些实施例中,资料d3包含电路系统200的未测试部分中响应于每一测试式样tp1至tp3被触发的电路(或逻辑闸)的数量。

于操作s340,根据资料d3评等测试式样tp1至tp3,以产生资料d4。

为说明操作s340,一并参照下表一。表一根据本案一些实施例示出资料d4的内容。于一些实施例中,处理器110执行测试工具以根据资料d3来评等测试式样tp1至tp3,以输出一总结报告(即表一)为资料d4。

表一:

于一些实施例中,处理器110可执行测试工具来分析资料d3,以决定分别对应于多个测试式样tp1至tp3的多个触发比例。例如,根据资料d3,处理器110获取电路系统200的未测试部分中响应于测试式样tp1触发的电路(或逻辑闸)的数量(后称第一数量)为0,并获取电路系统200的未测试部分中所有的电路(或逻辑闸)的数量(后称第二数量)为4288。据此,处理器110将第一数量除以第二数量以决定对应于测试式样tp1的触发比例为0%。依此类推,若对应于测试式样tp2至tp3的第一数量分别为2550以及3250,对应于测试式样tp2至tp3的触发比例分别被决定为59.47%以及75.79%。

于一些实施例中,处理器110基于触发比例评等多个测试式样tp1至tp3。于一些实施例中,对应于较高的触发比例的测试式样会被指派较高的评等。在表一的例子中,触发比例75.79%为最高的比例,因此对应的测试式样tp3被指派为阶级1(即最高阶级)。依此类推,测试式样tp2被指派为阶级2,且测试式样tp1被指派为阶级3(即最低阶级)。

参照下表二。表二根据本案另一些实施例示出资料d4的内容。

表二:

相较于表一,于一些进一步的实施例中,处理器110基于触发比例以及对于电路系统200的未测试部分的涵盖率评等测试式样tp1至tp3。在表二的例子中,测试式样tp1至tp3分别被决定为49.38%、59.47%以及75.79%。再者,根据资料d3,处理器110得知逻辑闸a1响应于测试式样tp1被触发,且逻辑闸a2至a3响应于测试式样tp2至tp3被触发。换言之,逻辑闸a2至a3皆有被利用测试式样tp2至tp3的模拟涵盖到。于此条件下,考虑到测试式样的涵盖率以及多样化,处理器110指派测试式样tp3为阶级1,指派测试式样tp1为阶级2,并指派测试式样tp2为阶级3。

换句话说,因为逻辑闸a2至a3皆被测试式样tp2至tp3所涵盖,且测试式样tp3得到较高的触发比例,测试式样tp3被指派为阶级1。因为逻辑闸a1仅被测试式样tp1涵盖,因其独特性,测试式样tp1接着被指派为比测试式样tp2还高的阶级。

继续参照图3,于操作s350,根据资料d4自测试式样tp1至tp3选择至少一候选测试式样。

例如,在表一的例子中,基于此阶级,处理器110可选择测试式样tp2至tp3为候选测试式样。或者,在表二的例子中,基于此阶级,处理器110可选择测试式样tp1以及tp3为候选测试式样,以增加后续测试的整体涵盖率。

于操作s360,根据网表档d1以及至少一候选测试式样执行至少一故障模拟,以测试电路系统200并产生涵盖率d5。

例如,响应于网表档d1、候选测试式样以及自i/o介面130接收的指令(未绘示),处理器110执行测试工具与/或故障模拟工具,以对电路系统200执行故障模拟。每一个故障模拟会利用至少一候选测试式样中的一测试式样执行。在故障模拟执行后,处理器110可以找出电路系统200中的缺陷。

在一些相关技术中,故障模拟必须利用所有的测试式样执行,以提高故障模拟的涵盖率。在这些技术中,多个测试式样的涵盖率需要由电路设计者或测试工程师在单一故障模拟执行后人工检查。此外,由于所有的测试式样都需要被执行故障模拟,将对执行故障模拟的整体时间造成大幅增加。相较于上述技术,藉由设置程式400,测试系统100可以藉由考虑涵盖率以及多样性(即触发比例)而自所有测试式样中选出候选测试式样,以基于候选测试式样执行故障模拟。如此一来,执行故障模拟的方便性以及效率可以被改善,且故障模拟的涵盖率d5可透过候选测试式样被提高。

于操作s370,决定操作s360中执行的故障模拟的涵盖率d5是否低于一目标涵盖率d6。若涵盖率d5是低于目标涵盖率d6,执行操作s380。于操作s380,修改测试式样tp1至tp3。在操作s380执行后,再次执行操作s330、s340、s350、s360以及s370。

上述测试方法300的多个操作仅为示例,并非限于上述示例的顺序执行。在不违背本揭示内容的各实施例的操作方式与范围下,在测试方法300的下的各种操作当可适当地增加、替换、省略或以不同顺序执行。

于一些实施例中,测试方法300可实施为载于非暂态电脑可读取媒体的一测试工具。换句话说,测试方法300可由硬体(例如,测试系统100)、软体、韧体以及上述任一组合实施。例如,若速度与准确度为首要考虑,可主要使用硬体与/或韧体方式实施。或者,若弹性度为首要考虑,可主要使用软体方式实施。各种实施测试方法300的设置方式皆为本案所涵盖的范围。

综上所述,本案实施例提供的测试系统与方法可改善测试积体电路的效率,并增加测试的涵盖率。

虽然本案已以实施方式揭露如上,然其并非限定本案,任何熟习此技艺者,在不脱离本案的精神和范围内,当可作各种更动与润饰,因此本案的保护范围当视后附的申请专利范围所界定者为准。


技术特征:

1.一种测试方法,由至少一处理器执行,该测试方法包含:

转换关联于一扫描测试的一第一资料为一程式,其中该程式用以观察一电路系统中的一未测试部分,且该未测试部分未能在该扫描测试中被检验;

根据一网表档与复数个测试式样一起执行复数个电路模拟以及该程式,以评等该些测试式样以产生一第二资料,其中该网表档对应该电路系统;

根据该第二资料自该些测试式样选择出至少一候选测试式样;以及

根据该网表档与该至少一候选测试式样对该电路系统执行至少一故障模拟,以测试该电路系统。

2.根据权利要求1所述的测试方法,其中执行该些电路模拟包含:

根据该网表档与该些测试式样一起执行复数个电路模拟以及该程式,以基于该程式的一输出结果产生一第三资料,其中该程式的该输出结果对应该未测试部分中响应于该些测试式样中每一者被触发的复数个电路的一第一数量;以及

根据该第三资料评等该些测试式样,以产生该第二资料。

3.根据权利要求2所述的测试方法,其中评等该些测试式样包含:

根据该第三资料决定复数个触发比例,其中该些触发比例分别对应于该些测试式样;以及

根据该些触发比例评等该些测试式样,其中若该些触发比例中的一第一触发比例较高,该些测试式样中的一第一测试式样被指派一较高阶级,且该第一测试式样对应于该第一触发比例。

4.根据权利要求3所述的测试方法,其中决定该些触发比例包含:

将该第一数量除以一第二数量,以决定该些触发比例中的一第一触发比例,其中该第二数量为该电路系统中的该未测试部分内所有电路的数量。

5.根据权利要求1所述的测试方法,其中转换关联于该扫描测试的该第一资料为该程式包含:

基于关联于该电路系统的该未测试部分的复数个端点的一资讯,在该程式中设定复数个虚拟暂存器,

其中若在该电路系统中的该未测试部分在该些电路模拟中响应于该些测试式样被触发,该些虚拟暂存器被更新。

6.一种测试系统,包含:

一记忆体,用以储存一程式码;以及

一处理器,用以执行该程式码,以:

转换关联于一扫描测试的一第一资料为一程式,其中该程式用以观察一电路系统中的一未测试部分,且该未测试部分未能在该扫描测试中被检验;

根据一网表档与复数个测试式样一起执行复数个电路模拟以及该程式,以评等该些测试式样以产生一第二资料,其中该网表档对应该电路系统;

根据该第二资料自该些测试式样选择出至少一候选测试式样;以及

根据该网表档与该至少一候选测试式样对该电路系统执行至少一故障模拟,以测试该电路系统。

7.根据权利要求6所述的测试系统,其中该处理器用以根据该网表档与该些测试式样一起执行复数个电路模拟以及该程式,以基于该程式的一输出结果产生一第三资料,

其中该程式的该输出结果对应该未测试部分中响应于该些测试式样中每一者被触发的复数个电路的一第一数量,且该处理器更用以根据该第三资料评等该些测试式样,以产生该第二资料。

8.根据权利要求6所述的测试系统,其中该处理器用以根据该第三资料决定复数个触发比例,并根据该些触发比例评等该些测试式样,其中该些触发比例分别对应于该些测试式样,且若该些触发比例中的一第一触发比例较高,该些测试式样中的一第一测试式样被指派一较高阶级,且该第一测试式样对应于该第一触发比例。

9.根据权利要求6所述的测试系统,其中该处理器用以将该第一数量除以一第二数量,以决定该些触发比例中的一第一触发比例,其中该第二数量为该电路系统中的该未测试部分内所有电路的数量。

10.根据权利要求6所述的测试系统,其中该处理器用以基于关联于该电路系统的该未测试部分的复数个端点的一资讯,在该程式中设定复数个虚拟暂存器,

其中若在该电路系统中的该未测试部分在该些电路模拟中响应于该些测试式样被触发,该些虚拟暂存器被更新。

技术总结
一种测试方法,其由至少一处理器执行并包含下列操作:转换关联于一扫描测试的一第一资料为一程式,其中该程式用以观察一电路系统中的一未测试部分,且该未测试部分未能在该扫描测试中被检验;根据一网表档与复数个测试式样一起执行复数个电路模拟以及该程式,以评等该些测试式样以产生一第二资料,其中该网表档对应该电路系统;根据该第二资料自该些测试式样选择出至少一候选测试式样;以及根据该网表档与该至少一候选测试式样对该电路系统执行至少一故障模拟,以测试该电路系统。

技术研发人员:陈志通;叶懿德;郑嘉贤;吴倚彰;阎怀玉
受保护的技术使用者:瑞昱半导体股份有限公司
技术研发日:2019.03.22
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-55082.html

最新回复(0)