CN107688694B - 使用多个选通点的单元感知缺陷表征和波形分析 - Google Patents

使用多个选通点的单元感知缺陷表征和波形分析 Download PDF

Info

Publication number
CN107688694B
CN107688694B CN201710666248.5A CN201710666248A CN107688694B CN 107688694 B CN107688694 B CN 107688694B CN 201710666248 A CN201710666248 A CN 201710666248A CN 107688694 B CN107688694 B CN 107688694B
Authority
CN
China
Prior art keywords
computer
timing characteristic
circuit
timing
transition
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.)
Active
Application number
CN201710666248.5A
Other languages
English (en)
Other versions
CN107688694A (zh
Inventor
郭瑞锋
布莱恩·马修·阿彻
威廉·艾伯特·劳埃德
克里斯多夫·凯文·阿尔苏巴
蔡晓磊
周凯文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Technologies Co Ltd
Original Assignee
Synopsys Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Synopsys Technologies Co Ltd filed Critical Synopsys Technologies Co Ltd
Publication of CN107688694A publication Critical patent/CN107688694A/zh
Application granted granted Critical
Publication of CN107688694B publication Critical patent/CN107688694B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31718Logistic aspects, e.g. binning, selection, sorting of devices under test, tester/handler interaction networks, Test management software, e.g. software for test statistics or test evaluation, yield analysis
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

提出了一种用于表征电路的计算机实现的方法。该方法包括由计算机接收表示电路的数据和电路的至少一个缺陷。该方法还包括使用计算机来仿真电路以获得第一时序特性,并且使用计算机来仿真具有至少一个缺陷的电路以获得第二时序特性。该方法还包括当计算机被调用以表征电路时,使用计算机根据第一时序特性、第二时序特性以及在与至少一个测试向量相关联的第一时间间隔期间应用的多个选通来识别至少一个测试向量与至少一个缺陷之间的关联。

Description

使用多个选通点的单元感知缺陷表征和波形分析
技术领域
本公开内容大体涉及表征电路缺陷,并且更具体地涉及在标准单元表征期间使用多个选通来自动地表征电路缺陷。
背景技术
复杂集成电路(IC)设计可以由来自标准单元库的被称为标准单元的较简单电路的多个实例放在一起。标准单元可以使用电子设计自动化(EDA)软件工具(例如SPICE)被电气地表征在晶体管级以预测对关于标准单元的输入的输入信号转变的输出信号响应的性能。然而,当电路太复杂时,由于晶体管级仿真的更长的仿真时间和/或解决方案收敛问题,使用逻辑级仿真工具代替晶体管级表征。
根据摩尔定律,关于IC设计的特征尺寸已经不断减小并且工艺技术的复杂性不断增加,这继而使得由于制造缺陷而更难实现可接受的IC制造产量。因此,预测和/或表征不同类型的缺陷对复杂IC性能的有时微妙的影响变得越来越重要。
发明内容
根据本发明的一个实施例,提出了一种用于表征电路的计算机实现的方法。该方法包括由计算机接收表示电路的数据和电路的至少一个缺陷。该方法还包括使用计算机来仿真电路以获得第一时序特性,并且使用计算机来仿真具有至少一个缺陷的电路以获得第二时序特性。该方法还包括当计算机被调用以表征电路时,使用计算机根据第一时序特性、第二时序特性以及在与至少一个测试向量相关联的第一时间间隔期间应用的多个选通来识别至少一个测试向量与至少一个缺陷之间的关联。
根据一个实施例,计算机实现的方法还包括使用至少一个测试向量来将第一时序特性与第二时序特性进行比较。
根据一个实施例,识别还包括确定第二时序特性在多个选通中的每个期间是否基本上是静态的。根据一个实施例,识别还包括确定第二时序特性是否包括在第一时序特性的第二转变之后发生的第一转变。
根据一个实施例,识别还包括确定第二时序特性是否包括在第一时序特性的第二转变之前发生的第一转变。根据一个实施例,识别还包括确定第二时序特性是否为时序错误。根据一个实施例,识别还包括当第二时序特性被确定为时序错误时确定第二时序特性是静态错误还是动态错误。
根据一个实施例,接收包括使用计算机根据表示电路的至少一个元件的数据来生成表示至少一个缺陷的数据。根据一个实施例,使用计算机的输入设备接收表示至少一个缺陷的数据。根据一个实施例,电路是多个单元的库中的一个单元。
根据一个实施例,接收包括从数据文件提取与用于初始化用于获得第一时序特性或第二时序特性的电路仿真的至少一个参数相关联的至少一个值。根据一个实施例,识别还包括确定与多个选通、第一时序特性和第二时序特性相关联的时间差。
根据一个实施例,多个选通包括与第一时序特性的第一转变相关联的第一选通和与第二时序特性的第二转变相关联的第二选通。根据一个实施例,识别还包括根据与多个选通相关联的时间差来关联表征至少一个缺陷的参数的值。根据一个实施例,时间差等于与第一选通相关联的第一时间和与第二选通相关联的第二时间之间的差。
根据一个实施例,接收包括生成第一多个测试向量,其中,至少一个测试向量被包括在由第一数枚举的第一多个测试向量中,第一数小于枚举第二多个测试向量的第二数,第二多个测试向量包括由一次具有针对电路的多个输入信号中的多于一个的信号转变表征的至少一个相邻测试向量对。
根据一个实施例,第一多个测试向量包括由一次具有针对电路的多个输入信号中的一个输入的信号转变表征的相邻测试向量对的每个组合。根据一个实施例,第一多个测试向量不包括由一次具有针对电路的多个输入信号中的多于一个的信号转变表征的相邻测试向量对。根据一个实施例,识别还包括在通过计算机实现的方法的单个轮次期间根据包括至少一个测试向量的第一多个测试向量来识别从由静态错误和动态错误组成的组中选择的错误。
根据本发明的一个实施例,一种包括指令的非暂态计算机可读存储介质,该指令当由计算机运行时使计算机:接收表示电路的数据和电路的至少一个缺陷;仿真电路以获得第一时序特性;并且仿真具有至少一个缺陷的电路以获得第二时序特性。指令还当计算机被调用以表征电路时,使计算机根据第一时序特性、第二时序特性以及在与至少一个测试向量相关联的第一时间间隔期间应用的多个选通来识别至少一个测试向量与至少一个缺陷之间的关联。
根据一个实施例,指令还使计算机使用至少一个测试向量来将第一时序特性与第二时序特性进行比较。
根据本发明的一个实施例,一种计算机***能操作用于:接收表示电路的数据和电路的至少一个缺陷,仿真电路以获得第一时序特性,并且仿真具有至少一个缺陷的电路以获得第二时序特性。计算机***还能操作用于当计算机***被调用以表征电路时,根据第一时序特性、第二时序特性以及在与至少一个测试向量相关联的第一时间间隔期间应用的多个选通来识别至少一个测试向量与至少一个缺陷之间的关联。
根据一个实施例,计算机***还能操作用于使用至少一个测试向量来将第一时序特性与第二时序特性进行比较。
参考以下详细描述和附图可以更好地理解本发明的实施例的性质和优点。
附图说明
图1描绘了可以使用本发明的实施例的集成电路的设计和制造中的简化示例性步骤。
图2描绘了根据本发明的一个实施例的用于表征电路的计算机实现的方法的简化示例性流程图。
图3描绘了根据本发明的一个实施例的如图2描绘的用于接收计算机实现的方法的数据的步骤的示例性流程图。
图4A描绘了表示可以使用本发明的实施例的良好电路的示例性示意图的数据。
图4B描绘了根据本发明的一个实施例的表示注入到图4A中描绘的良好电路中以形成一个缺陷注入电路的短路类型缺陷的示例性示意图的数据。
图4C描绘了根据本发明的一个实施例的表示注入到图4A中描绘的良好电路中以形成另一缺陷注入电路的开路类型缺陷的示例性示意图的数据。
图5描绘了根据本发明的一个实施例的根据图3中描绘的库文件中提取的参数的简化示例性时序图。
图6描绘了根据本发明的一个实施例的针对仿真如图2描绘的良好电路的步骤的示例性流程图。
图7描绘了根据本发明的一个实施例的分别在图4A-图4C中描绘的良好电路和缺陷注入电路的仿真时序特性的简化示例性时序图。
图8描绘了根据本发明的一个实施例的针对仿真图2和图4B-图4C中描绘的多个缺陷注入电路的步骤的示例性流程图。
图9描绘了根据本发明的一个实施例的针对如图2描绘的识别至少一个测试向量与至少一个缺陷之间的关联的步骤的示例性流程图。
图10描绘了根据本发明的一个实施例的针对确定输出时序特性是否为错误以及是如图9描绘的什么种类的错误的步骤的示例性流程图。
图11描绘了可以并入本发明的实施例的计算机***的示例性框图。
具体实施方式
图1描绘了集成电路的设计和制造中的各个步骤101A。该过程从产品构思100A开始,其可以使用电子设计自动化(EDA)软件110来实现。能够根据最终设计通过执行制造150以及打包和组装160步骤来生产芯片170。以下仅为了说明的目的来描述使用EDA软件110的示例性设计流程。例如,实际的集成电路设计可以要求设计者以与下面描述的顺序不同的顺序来执行设计流程步骤。
在***设计112中,设计者描述要实现的功能。设计者还可以执行what-if规划来细化功能并检查成本。此外,在此步骤可能会发生硬件-软件架构划分。在设计和功能验证114中,可以为了功能准确性而创建和检查硬件描述语言(HDL)设计。
在合成与设计116中,HDL代码能够被转变为网表,其能够针对目标技术被优化。此外,可以设计和实现测试以检查完成的芯片。在网表验证118中,可以检查网表与时序约束的顺从性和与HDL代码的对应性。在设计规划120中,针对芯片的总体平面图可以被构建和分析以用于时序和顶层布线。接下来,在物理实现122中,可以执行布局和布线。
在分析和提取124中,可以在晶体管级验证电路功能。在物理验证126中,可以检查该设计以校正任何功能问题、制造问题、电气问题或光刻问题。在分辨率增强128中,可以在布局上执行几何操作以提高设计的可制造性。最后,在掩膜数据准备130中,可以对该设计流片(taped out)140以用于生产掩膜来产生完成的芯片。双模式工艺技术(DPT)或多模式工艺技术(MPT)光刻工艺可以被用于使用具有比通过使用单一掩膜光刻印刷工艺提供的模式密度更高的模式密度的两个或更多个单独的掩膜在IC工艺的单层上印刷复杂的设计意图或形状。本发明的实施例可以被用于例如物理验证126、测试模式生成、逻辑诊断或故障隔离和产量改进的步骤。
缺陷能够使用标准单元上的晶体管级表征来表征。标准单元中的缺陷的晶体管级表征的结果可以通过使用所谓的单元感知缺陷表征而被转移到逻辑级仿真器以创建单元感知逻辑测试模型。然后单元感知逻辑测试模型可以由测试模式生成工具用于测试模式生成和/或可以由故障诊断工具用于识别复杂IC芯片中的某种类型的缺陷的存在。然而,现有的单元感知缺陷表征已经产生了关于不同严重程度的缺陷的影响的有限的准确性,并且关于时序准确性这将在下面的示例中得到证明。此外,现有的单元感知缺陷表征要求两个单独的仿真轮次以分开地处理静态缺陷表征和动态缺陷表征,这要求相当大的计算资源。因此,期望提高单元感知缺陷表征的准确性,同时还减少该表征所要求的计算资源。
根据本发明的实施例,提出了一种自动化技术,其使用多个选通来提高单元感知缺陷表征的准确性,同时分析在一个仿真轮次期间由制造缺陷导致的静态电路时序错误和动态电路时序错误两者。图2描绘了根据本发明的一个实施例的用于表征电路的计算机实现的方法200的示例性高级流程图。计算机实现的方法200通过接收210表示电路的数据和电路的至少一个缺陷来开始205。使用SPICE测试平台来仿真215没有任何缺陷的电路以使用多个选通点获得表示没有任何缺陷的电路(以下也称为“良好电路”)的输出信号的时序特性。使用SPICE测试平台来仿真220具有至少一个缺陷的电路以使用多个选通点来获得表示具有缺陷的电路(以下也称为“缺陷注入电路”)的输出信号的时序特性。仿真没有缺陷的电路和具有缺陷的电路的步骤可以以任何顺序执行或者可以并行执行。还将呈现说明如何表征不同类型的多个缺陷的细节。
接下来,计算机实现的方法200根据针对良好电路的晶体管级时序特性、针对缺陷电路的晶体管级时序特性和当计算机被调用以表征电路时在与至少一个测试向量相关联的时间间隔期间应用的多个选通来识别225在用于逻辑级仿真的至少一个测试向量与至少一个缺陷之间的关联,这将在下面更详细地说明。然后,识别步骤的结果被用于写入230包含缺陷检测信息的写入单元测试模型(CTM)文件。在方法的结束235之后,CTM文件可以被用作到逻辑级仿真工具的输入以在缺陷或如下说明的多个缺陷的影响下仿真复杂IC的逻辑和时序行为。
图3描绘了根据本发明的一个实施例的针对接收210如图2描绘的计算机实现的方法200的数据的步骤的示例性流程图。接收210数据的步骤包括接收SPICE网表305和SPICE模型310,从而使得电路能够在晶体管级稍后被仿真和表征。
图4A描绘了表示可以使用本发明的实施例的良好电路400A的示例性示意图的数据,并且其可以由图3中描绘的SPICE网表305和SPICE模型310来指定。在一个实施例中,良好电路400A可以是标准单元库的单元。在另一实施例中,良好电路400A可以是多个单元的库中的一个单元,诸如任何数字库单元而不仅仅是标准单元。例如,良好电路可以是可以针对缺陷进行表征的存储器电路。在一个示例中,良好电路400A用作标准单元库中常见的简单的两个输入逻辑与门。良好电路400A可以包括PMOS晶体管405、410、425和NMOS晶体管415、420、430。PMOS晶体管405、410都将它们的源极连接到Vdd,并且都将它们的漏极连接到节点B,其继而连接到CMOS逆变器连接的PMOS晶体管425和NMOS晶体管430的栅极。NMOS晶体管415、420被连接在能够在节点B和节点GND之间传导电流的栈中。输入A1连接到PMOS晶体管405和NMOS晶体管415的栅极。输入A2连接到PMOS晶体管410和NMOS晶体管420的栅极。输出X通过CMOS逆变器连接的PMOS晶体管425和NMOS晶体管430来驱动。
无论何时输入A1或输入A2处于逻辑低电平或无论何时两个输入都为低时,则NMOS晶体管415、420中的一个或两者都断开并且PMOS晶体管405、410中的一个在靠近Vdd的拉动节点B上并且导致CMOS逆变器连接的PMOS晶体管425和NMOS晶体管430将输出X驱动朝向GND或逻辑低电平。仅仅当两个输入A1和A2都处于逻辑高电平时,PMOS晶体管405、410切断,而NMOS晶体管415、420接通靠近GND的拉动节点B并且导致CMOS逆变器将输出X拉动至逻辑高或接近Vdd电平并且使得良好电路400A能够正确地用作与门。
再次参考图3,接收210数据还可以包括从计算机的用户输入设备接收设置文件315。然后设置文件可以被处理325以获得用户定义的参数,例如选通间隔、时序裕量、恒定引脚值、用户定义的缺陷等。在一个实施例中,设置文件315中指定的一些或所有参数可以被提供为不要求来自计算机的用户输入设备的进一步输入的预定值或默认值。在一个实施例中,可以使用计算机的用户输入设备接收表示缺陷的数据以代替和/或补充由计算机自动生成的缺陷数据。
接收210数据还可以包括从所谓的库文件320接收初始化数据,所述库文件320可以被用于提取330与用于稍后初始化用于获得针对良好电路和缺陷注入电路的时序特性的电路仿真的至少一个参数关联的至少一个值。参数可以包括以下参数的任何组合;时序、电压、温度、负载电容、时钟边缘激活类型(例如正或负边缘)、单元的类型(例如组合逻辑、锁存器和/或触发器单元)、和/或电路的引脚功能(例如时钟、输入/输出、电源或接地引脚)。
图5描绘了根据本发明的一个实施例的根据从图3中描绘的库文件中提取的参数的简化示例性时序图500。参考图3、图4和图5,时序图500描绘作为沿水平轴504描绘的时间T的函数的沿着垂直轴502的输入信号的电压值V。
时序图500还通过实线描绘了输入信号(例如良好电路400A的A1)从逻辑低电压电平VOL 512驱动到逻辑高电压电平VOH 513的转变505,其中可以从库文件320提取330针对参数VOL 512和VOH 513的值。在该示例中,库文件320指定简单地在VOL 512和VOH 513之间的中线或50%514的输入电压电平处发生的逻辑电平转变,然而,在其他实施例中,可以备选地为逻辑电平转变电平指定单独的VIL电压值和VIH电压值。
转变505可以与指定为“0、1”或“0至1”的一对逻辑测试向量输入相关联,其中向量时间间隔515(以下也称为“向量间隔”)与一个输入测试向量(例如“1”)相关联。库文件320还可以指定向量间隔515,其包括连续地跟随有时序裕量时间间隔525的“.lib时钟”时间间隔520。“.lib时钟”时间间隔520可以包括连续地跟随有单元延迟时间间隔535的输入转换时间间隔530,和也可以由库文件320指定的转变时间间隔540。
向量间隔515、“.lib时钟”时间间隔520和输入转换时间间隔530可以全部在转变505的上升的开始时开始。当转变505达到50%514电压电平时输入转换时间间隔530结束,此时可以开始单元延迟时间间隔535。当良好电路400A的输出时序特性510达到50%514的电压电平时单元延迟时间间隔535可以结束,此时开始转变时间间隔540。当输出时序特性510达到高电压电平VOH 513时“.lib时钟”时间间隔520和转变时间间隔540可以结束,此时开始时序裕量时间间隔525。
当输入信号A1的下一转变可以开始时,向量间隔515和时序裕量时间间隔525两者都结束。例如,当输入信号A1可以从VOH 513被驱动到VOL 512时,下一向量间隔515’可以如描绘地开始。下一向量间隔515’可以与如该示例中描绘的指定为“1、0”或“1至0”的另一对逻辑测试向量输入相关联。在一个实施例中,针对下降转变的定义可以由库文件320指定类似如上所述的上升转变,或者在备选实施例中,可以通过与上升转变不同的参数在库文件320来指定。
应当理解,有许多可能的标准单元电路类型,其可以使用库文件320中指定的不同参数值,这是由于例如可能在不同的电压域或不同的时钟时序要求中操作的标准单元,仅举少数原因为例。因此,使用库文件320提供针对晶体管级仿真的许多且不同的初始化参数可以大大简化并且防止在单元感知级缺陷表征期间的错误。
再次参考图3,接收210数据还可以包括使用SPICE网表305、SPICE模型310、从用户输入设备接收到的处理325的参数以及来自库文件320的至少一个提取330的参数以根据表示良好电路400A的至少一个元件的数据来生成335表示多个缺陷中的至少一个缺陷的数据。在一个实施例中,如果不考虑电路元件尺寸,则良好电路400A在该示例中包括两种类型的元件:NMOS晶体管和PMOS晶体管。在一个实施例中,每个晶体管类型可以与不同的多个的缺陷类型相关联。应当理解,其他缺陷类型可以与诸如金属短路或金属开路的非晶体管类型电路元件相关联。
在一个实施例中,对于每种类型的晶体管元件,在生成335数据的步骤中可以生成表示表1中列出的多个缺陷的数据。表1中列出的九个晶体管相关的缺陷(其可能不是所有晶体管相关的缺陷的详尽列表)表明即使对于仅一个电路元件类型有许多方式缺陷可以表现出它们自己。因此,即使对于良好电路400A的简单示例,一个或多个缺陷可以一次被注入到良好电路中的组合的数量可以非常大,这使得自动化缺陷生成和注入期望更好地表征标准单元上的缺陷的影响。在备选实施例中,可以经由用户输入设备提供多个缺陷中的一个或多个。
表1
Figure BDA0001371852180000091
Figure BDA0001371852180000101
再次参考图3和图5,接收210数据还可以包括生成340SPICE测试平台,其包括使用每个测试向量时间间隔515的多个选通S0-S9将表1中列出的多个缺陷中的一个或多个注入到SPICE测试平台中并且初始化SPICE测试平台以形成缺陷注入电路。在一个实施例中,可以通过预定默认值提供选通时序间隔550和/或初始选通时序偏移555。在备选实施例中,可以经由用户输入设备提供选通时序间隔550和/或初始选通时序偏移555。下面将描述可能的多个缺陷的两个示例和它们对良好电路400A的电气时序特性的影响。
图4B描绘了根据本发明的一个实施例的表示注入到图4A中描绘的良好电路400A中以形成一个缺陷注入电路400B的短路435类型缺陷的示例性示意图的数据。图4B描绘了具有以下例外的与如图4A描绘的元件和功能相同的元件和功能。图4B描绘了缺陷注入电路400B可以包括注入在NMOS晶体管415的漏极和GND之间的如上面表1中列出的漏极到衬底短路435类型缺陷。(应当理解,NMOS晶体管415的衬底连接可以被连接到GND)。表示短路435的数据可以由可能具有例如10K欧姆值的电阻的参数来表征。短路435可以导致如下所述的在输出X处从VOL到VOH的较早上升转变。
图4C描绘了根据本发明的一个实施例的表示注入到图4A中描绘的良好电路400A中以形成另一缺陷注入电路400C的开路440类型缺陷的示例性示意图的数据。图4C描绘了具有以下例外的与如图4A中描绘的元件和功能相同的元件和功能。图4C描绘了缺陷注入电路400C可以包括与NMOS晶体管420的漏极串联注入的并且连接在NMOS晶体管420的漏极和NMOS晶体管415的源极之间的如上面表1中列出的漏极开路440类型缺陷。表示开路440的数据可以由可能具有例如100K欧姆的电阻的参数来表征。短路435可能导致如下所述的在输出X处从VOL到VOH的延迟的上升转变。
再次参考图3和图4A,接收210数据还可以包括生成345包括至少一个测试向量的紧凑测试向量集和包括一次具有良好电路400A的多个输入信号中的不超过一个输入的信号转变的紧邻测试向量对的每个组合。表2列出了针对良好电路400A的非紧凑的测试向量集的示例。从表2左侧的第一列列出了针对每个测试向量的向量号并且枚举了总共24个测试向量。
表2
Figure BDA0001371852180000111
Figure BDA0001371852180000121
从表2左侧的第二列和第三列列出了针对良好电路400A的输入A1和输入A2的各自的逻辑输入值。在该表2的实施例中,输入转变可以发生在诸如向量号(2,3)和向量号(8,9)的某个紧邻向量对之间,而在诸如向量(1,2)和向量号(7,8)的其他紧邻向量对既不提供关于输入A1也不提供关于输入A2的任何输入转变以便允许电路的电气行为稳定以便提高单元感知缺陷表征准确性。
针对一次良好电路400A的输入信号A1和输入信号A2的不超过一个输入的信号转变可以被称为例如由在向量号(2,3)和向量号(8,9)处的紧邻向量对提供的“鲁棒转变”。鲁棒转变比非鲁棒转变更有用,因为当电路的多于一个输入变化时更难以关联特定的注入缺陷对电路的电气行为的影响。期望所有可能的鲁棒转变的集合包括在测试向量集中以完全表征缺陷对电路的影响并且被包括在表2中如由向量号(2,3)、向量号(5,6)、向量号(8,9)、向量号(11,12)、向量号(14,15)、向量号(17,18)、向量号(20,21)和向量号(23,24)处的紧邻向量对提供。
尽管表2中列出的非紧凑的测试向量集包括所有鲁棒转变并且为了更好的表征提供了稳定周期。然而,非紧凑的测试向量集还包括例如由向量号(6,7)和向量号(18,19)处的紧邻向量对提供的多个非鲁棒转变。因此,非紧凑的测试向量集包含额外或不期望的测试向量。换句话说,多个非紧凑的测试向量包括通过一次具有电路的多个输入信号中的多于一个的信号转变(即,非鲁棒转变)来表征的至少一个相邻测试向量对。
表3列出了针对良好电路400A的紧凑的测试向量集的示例,其消除了表2中发现的非鲁棒转变但仍包括所有鲁棒转变。换句话说,多个紧凑的测试向量不包括通过一次具有良好电路400A的多个输入信号中的多于一个的信号转变(即,非鲁棒转变)来表征的相邻测试向量对。表3与表2的列指派相同但表3中枚举的测试向量的数量是17个测试向量,明显小于表2中枚举的24个测试向量的数量。换句话说,多个紧凑的测试向量由一个数(例如17)枚举,该数小于枚举了多个非紧凑的测试向量的数,例如24。
表3
向量号 输入A1 输入A2
1 0 0
2 0 0
3 1 0
4 1 0
5 1 1
6 1 1
7 0 1
8 0 1
9 1 1
10 1 1
11 1 0
12 1 0
13 0 0
14 0 0
15 0 1
16 0 1
17 0 0
减少测试向量集的长度改善针对电路表征选择的每个缺陷的组合的计算时间。此外,将示出仅需要一个紧凑的测试向量集以在仅一次计算中执行针对静态缺陷和动态缺陷两者的单元感知缺陷表征,与在两次计算中(在一个计算中用于检测静态缺陷和在另一计算中用于检测动态缺陷)使用非紧凑的测试向量的已知技术相比,甚至更加地减少了计算资源。下面将示出一个紧凑的测试向量集足以在一个计算轮次中检测静态缺陷和动态缺陷两者。
表3中列出的紧凑的测试向量集可以如下生成。应当理解,表2中列出的非紧凑的测试向量集可以被划分为诸如向量号(1,2,3)、向量号(4,5,6)、-、向量号(22,23,24)的三个紧邻顺序测试向量的顺序3元组。顺序测试向量的每个3元组中的第一测试向量表示如上所述的稳定时间间隔,例如向量号1,4,-,22。顺序测试向量的每个3元组中的第二个顺序测试向量和第三个顺序测试向量,例如向量号(2,3)、向量号(5,6)、-、向量号(23,24)表示与输出X处的鲁棒转变相关联的紧邻测试向量对。
可以通过在表2中列出的非紧凑的测试向量集中选择三个紧邻顺序测试向量的顺序3元组中的任何一个(例如通过选择向量号(4,5,6)作为紧凑的测试向量集中的第一顺序测试向量,即紧凑的测试向量集中的向量号(1,2,3))来生成表3中列出的紧凑的测试向量集。然后,在表2中列出的非紧凑的测试向量集中选择三个紧邻顺序测试向量的任何其他顺序3元组,其以与部分生成的紧凑的测试向量集的最后一个测试向量中的测试向量元素相同的测试向量元素开始,例如来自以测试向量元素1,0开始的表2的向量号(13,14,15)。然后将非紧凑的测试向量集的顺序测试向量的当前选择的3元组的第二顺序测试向量和第三顺序测试向量(例如向量号(14,15))附加到紧凑的测试向量集以形成如表3列出的紧凑的测试向量集的向量号(4,5)。
应当注意,测试向量元素1,0被“重新使用”,可以这么说,通过将三个紧邻顺序测试向量的先前选择的顺序3元组与三个紧邻顺序测试向量的下一选择的顺序3元组交叠。重复上述最近的选择过程直到已经使用了表2中列出的非紧凑的测试向量集中的三个紧邻顺序测试向量的所有顺序3元组从而得到表3中列出的紧凑的测试向量集。
应当注意,表3中列出的紧凑的测试向量集包括所有鲁棒转变并且为了更好的表征提供了稳定周期,但紧凑的测试向量集不包括非鲁棒转变。换句话说,多个紧凑的测试向量包括通过一次具有电路的多个输入信号中的仅仅一个输入的信号转变来表征的相邻测试向量对的每个组合,即鲁棒转变的每个组合。
图6描绘了根据本发明的一个实施例的针对如图2描绘的仿真215良好电路400A的步骤的示例性流程图。仿真215良好电路400A的步骤包括选择605紧凑的测试向量集的第一紧邻测试向量对,其实现第一转变,例如来自表3的向量号(2,3)。可选地,正是第一向量,即来自表3的向量号(1)可以在向量号(2,3)之前被选择以为如上所述的良好电路400A提供稳定时间。
然后SPICE测试平台使用每个测试向量时间间隔515的多个选通S0-S9并且使用紧凑的测试向量集的选择的紧邻测试向量对(例如来自表3的向量号(2,3),或者可选地从表3中选择前三个向量号(1,2,3))来仿真610没有缺陷的良好电路400A以获得相关联的输出时序特性。
图7描绘了根据本发明的一个实施例的分别在图4A-图4C中描绘的良好电路400A和缺陷注入电路400B、400C的仿真的时序特性700的简化示例性时序图。仿真的时序特性700包括具有以下例外的与图5中描绘的相同时序定义和波形相同的时序定义和波形。作为示例并且为了更容易地说明实施例,仿真的时序特性700提供负责从良好电路400A和缺陷注入电路400B的输出X的VOL到VOH的正向转变的测试向量对的第二测试向量相关联的细节。
然而,应当理解,选择的第一测试向量对可以产生或可以不产生正转变或者可以根本不产生例如来自表3中的在良好电路400A上操作的前三个向量号(1,2,3)的示例中的转变。必须提前跳过以从表3中选择向量号(4,5)来获得在输出X上的正向转变。然而,本领域技术人员将类似正向转变理解负责除了正转变的转变类型或非转变类型(例如负向转变)的向量对。因此,仿真的时序特性700作为示例包括良好电路400A的输出X的输出时序特性510。
再次参考图6和图7,仿真215良好电路400A的步骤还包括记录615与针对多个选通S0-S9中的每个不同的选通的选通时序相关联以及与表4中列出的在左侧标记为“良好”的行中的仿真的输出时序特性510相关联的逻辑值,即0或1。选通时序可以被指引到向量时间间隔515的开始以仅仅为了更好地说明实施例。可以观察到,在向量时间间隔515的开始和在S0-S3期间之间的间隔期间,输出时序特性510保持在50%的逻辑转变阈值以下。因此,在S0-S3期间针对仿真的输出时序特性510记录的逻辑值为逻辑0。在S4-S9期间针对仿真的输出时序特性510记录的逻辑值为逻辑1,因为输出时序特性510上升超过50%的逻辑转变阈值。
表4
选通识别 S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
选通时序(ns) 3 7 11 15 19 23 27 31 35 39
在1处卡住 1 1 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1
良好 0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1
在0处卡住 0 0 0 0 0 0 0 0 0 0
接下来,仿真215良好电路400A的步骤确定紧凑的测试向量集的选择的紧邻测试向量对是否是多个紧邻测试向量对中的最后一个。如果紧凑的测试向量集的选择的紧邻测试向量对不是多个紧邻测试向量对中的最后一个,则可以选择625产生紧凑的测试向量集的下一紧邻测试向量对并且进行仿真610、记录615,并且可以重复选择625直到已经仿真了多个紧邻测试向量对中的最后一个并且记录615了结果。
应当理解,在备选实施例中,针对测试向量的选择过程可以使用表3中的紧凑的测试向量的整个列表在一个连续的轮次中设置针对SPICE晶体管级仿真610的输入时序波形以生成具有针对良好电路400A的输入A1和输入A2中的每个的多个转变的连续输入时序波形。还应理解,在一个实施例中对于每个测试向量或者在备选实施例中对于紧凑的测试向量集的每个紧邻测试向量对可以记录与选通S0-S9相关联的十个逻辑数据值(例如表4中的逻辑数据行中的一行)。
图8描绘了根据本发明的一个实施例的如图2和图4B-图4C描绘的仿真220多个缺陷注入电路400B、缺陷注入电路400C的步骤的示例性流程图。仿真220多个缺陷注入电路400B、缺陷注入电路400C的步骤包括选择805多个缺陷中的一个来仿真,例如选择具有短路435类型缺陷的缺陷注入电路400B。多个缺陷可以包括针对包括在良好电路400B中的元件中的一些或全部元件的表1中列出的缺陷中的一些或全部缺陷。同时参考图6和图8,接下来的几个步骤选择810第一紧邻测试向量对,进行仿真815,记录820,确定825紧凑的测试向量集的选择的紧邻测试向量对是否是最后一个,并且选择830下一紧邻测试向量对,这除了以下之外,类似于以上参考图6描述的各自的步骤605、步骤610、步骤615、步骤620和步骤625。
当已经仿真了针对选择的缺陷的测试向量对的最后一个时,仿真220多个缺陷注入电路400B、缺陷注入电路400C的步骤包括确定是否835已经选择了多个缺陷中的最后一个并且如果没有,则选择840多个缺陷中的下一缺陷并且重复步骤810-830直到已经仿真了缺陷中的最后一个为止。再次,应当理解,在备选实施例中,针对测试向量的选择过程可以使用表3中的紧凑的测试向量的整个列表在一个连续的轮次中设置针对SPICE晶体管级仿真815的输入时序波形以生成具有针对缺陷注入电路400B、缺陷注入电路400C的输入A1和输入A2中的每个的多个转变的连续的输入时序波形。
再次参考图7、图8和表4,仿真的时序特性700包括具有以下其他例外的与如图5描绘的时序定义和波形相同的时序定义和波形。仿真的时序特性700包括与缺陷注入电路400B的输出X相关联的输出时序特性705。在记录820步骤期间,多个逻辑值可以被记录为如表4中识别为“快”的行中列出的一样,因为上升转变较早并且通过在15ns选通时序处的选通S3达到逻辑1值,而不是通过在如针对良好电路400A指示的19ns选通时序处的选通4。换句话说,多个选通S0-S9包括与良好电路400A的输出X的输出时序特性510的正常转变相关联的选通S4以及与缺陷注入电路400B的输出X的输出时序特性705的较早错误转变相关联的选通S3。
此外,由于多个选通的使用,仿真815可以确定与多个选通S3、S4、输出时序特性510和输出时序特性705相关联的4ns的时间差715。时间差715可以是非常有用的工具,如将在下面说明的,但是是不可使用在仿真期间可以仅使用一个选通的已知单元感知缺陷表征技术获得的。
仿真的时序特性700包括与缺陷注入电路400C的输出X相关联的输出时序特性710。在记录820步骤期间,多个逻辑值可以被记录为如表4中识别为“慢”的行中列出的一样,因为上升转变被延迟并且通过在27ns选通时序处的选通S6达到逻辑1值,而不是通过在如针对良好电路400A指示的19ns选通时序处的选通4。在该示例中,仿真815可以确定与针对缺陷注入电路400C的多个选通S4、S6、输出时序特性510和输出时序特性710相关联的8ns的时间差717。
如果缺陷的电阻值足够极其大,即低于或高于将允许电路在输出处生成转变的缺陷电阻,则可能发生静态缺陷。输出时序特性720是与“在1处卡住”的缺陷相关联的并且将所有S0-S9记录820为逻辑1的静态缺陷的示例。输出时序特性725是与“在0处卡住”的缺陷关联的并且将所有S0-S9记录820为逻辑0的静态缺陷的示例。
图9描绘了根据本发明的一个实施例的针对如图2描绘的识别225至少一个测试向量和至少一个缺陷之间的关联的步骤的示例性流程图。同时参考图4A、图4B、图7和图9,识别225关联的步骤可以包括读取905逻辑值,即与例如在表4中识别为“良好”的行中列出的针对与没有缺陷的良好电路400A相关联的多个选通S0-S9中的每个不同的选通的选通时序相关联的0或1。
与读取905并行或以任何顺序,识别225关联的步骤还可以包括读取910针对多个缺陷中的每个不同的缺陷(例如在表4中分别识别为“快”、“慢”的行列出的分别为短路435、开路440)和针对如表3中列出的紧凑的测试向量集中的多个相邻测试向量对中的每个不同的相邻测试向量对的与针对与缺陷注入电路400B、缺陷注入电路400C相关联的多个选通S0-S9中的每个不同的选通的选通时序相关联的逻辑值,即0或1。
上述逻辑缺陷数据可以通过10个选通×2个缺陷×8个鲁棒紧邻测试向量对(共计160个逻辑数据条目)来枚举。备选地,在另一实施例中,可以对于每个测试向量而不是由测试向量对记录数据并且逻辑缺陷数据可以通过10个选通×2个缺陷×紧凑的测试向量集的17个测试向量(共计340个逻辑数据条目)来枚举。如上所述,当针对完全单元感知缺陷表征完全枚举时缺陷的数量主要依赖于良好电路中的晶体管计数并且与对于缺陷注入电路400B、缺陷注入电路400C描述的仅两个缺陷类型的示例相比,可以创建大得多的逻辑数据集。
接下来,可以使用在多个选通S0-S9中的每个不同的选通处的紧凑的测试向量集中的至少一个测试向量来将良好电路400A的输出时序特性510与各自的缺陷注入电路400B、缺陷注入电路400C的输出时序特性705或输出时序特性710进行915比较,针对多个相邻测试向量对的每个不同的相邻测试向量对或针对每个测试向量进行重复,并且针对表1中列出的并且与易于有缺陷的每个电路元件相关联的多个缺陷中的每个不同的缺陷进行重复。
接下来,确定920输出时序特性705或输出时序特性710是否为时序错误,例如与针对缺陷注入电路的选通S0-S9相关联的逻辑值与针对良好电路的选通S0-S9相关联的逻辑值不匹配,并且如果是的话,则确定输出时序特性705或输出时序特性710是静态错误还是动态错误。图10描绘了根据本发明的一个实施例的针对确定920输出时序特性705或输出时序特性710是否为错误以及是如图9中描绘的什么种类的错误的步骤的示例性流程图。同时参考图4B、4C、图7和图10以及表4,确定920的步骤可以包括检测1005输出时序特性705或输出时序特性710中的错误,并且然后确定1010是否超过逻辑电平阈值(例如50%),并且如果是的话,则确定1015输出时序特性705或输出时序特性710是否包括在输出时序特性510的转变之前或之后发生的转变。如果输出时序特性705或输出时序特性710确实包括在输出时序特性510的转变之前或之后发生的转变,则确定1020输出时序特性705或输出时序特性710中的时序错误是否是可重复的。换句话说,步骤1015确定输出时序特性710是否包括在良好电路400A的输出时序特性510的时序转变之后发生的针对缺陷注入电路400C的输出X的时序转变或者确定输出时序特性705是否包括在良好电路400A的输出时序特性510的时序转变之前发生的针对缺陷注入电路400B的输出X的时序转变。
如果输出时序特性705或710中的时序错误是可重复的,则确定1025输出时序特性705或输出时序特性710中的时序错误类型是动态时序错误并且相关联的缺陷(例如分别为短路435或开路440)是动态类型缺陷。接下来,根据与多个选通S4、选通S6相关联的时间差(例如时间差717)来关联1030表征动态缺陷(例如开路440)的参数(例如电阻)的值(例如100K欧姆)。时间差(例如时间差717)等于与选通S4(例如(来自表4的)19ns)相关联的选通时序和与选通S6(例如27ns)相关联的选通时序之间的差。因此,时间差(例如时间差717)等于27-19=8ns。
假设另一示例,其中开路440的电阻值增大到200K欧姆并且使用上述实施例确定输出时序特性710的转变被进一步延迟以便在仅在选通S8之前上升高于50%的逻辑阈值。那么时间差717等于35-19=16ns,由此建立在缺陷的程度或严重程度与时序行为或电路之间的模型。因此,使用本文所述的实施例,与使用单个选通单元感知缺陷表征比较,现在能够具有更准确的信息来帮助诊断制造缺陷。
如果在步骤1010确定没有超过逻辑电平阈值(例如50%),则确定1040是否存在模式依赖性,即输出时序特性705或输出时序特性710的结果根据紧凑的向量集的输入向量而改变。如果不存在模式依赖性,即输出时序特性705或输出时序特性710的结果不会根据紧凑的向量集的输入向量而改变,则确定1045输出时序特性705或输出时序特性710中的时序错误是否是可重复的。如果时序错误是可重复的,则确定1050输出时序特性705或输出时序特性710在多个选通S0-S9中的每个期间基本上是静态的并且相关联的缺陷是静态缺陷类型。在这种背景下,基本上静态意味着针对输出X的输出时序特性在多个选通S0-S9中的任何期间都不会上升高于或不会下降低于从库文件提取的逻辑阈值电平。因此,在通过计算机实现的方法的单个轮次期间并且根据多个紧凑的测试向量,该方法识别为静态错误和/或动态错误的时序错误和/或缺陷类型,其与使用一个表征轮次来仅识别静态错误和使用另一单独的表征轮次来仅识别动态错误的已知方法相比减少了计算时间和/或资源。
静态缺陷可以进一步被分类为两种类型的静态缺陷类型:“在1处卡住”和“在0处卡住”。仿真的时序特性700还包括:输出时序特性720,其可以被分类为和/或与“在1处卡住”类型的静态缺陷相关联;以及输出时序特性725,其可以被分类为和/或与“在0处卡住”类型的静态缺陷关联。表4指示如由上述实施例记录的“在1处卡住”类型的静态缺陷和“在0处卡住”类型的静态缺陷的逻辑值和选通时序信息。
如果在步骤1015处确定输出时序特性705或输出时序特性710不包括在输出时序特性510的转变之前或之后发生的转变,或者如果在步骤1020或步骤1045确定输出时序特性705、输出时序特性710、输出时序特性720、输出时序特性725中的错误是不可重复的,则该缺陷可以被分类为被检测1035为不一致但有时有效的错误。
再次参考图9,在确定和分类时序缺陷之后,识别225关联的步骤还可以包括在检测到时序错误时写入230单元测试模型(CTM)文件并且包括针对多个缺陷中的每个不同的缺陷的缺陷检测信息。如果检测到静态错误,则与静态缺陷关联的数据和用于检测静态缺陷的相关联的测试向量可以包括在CTM文件中。如果检测到动态错误,则与动态缺陷关联的数据和用于检测动态缺陷的相关联的测试向量可以包括在CTM文件中。CTM文件可以被用作用于仿真一次经受由上述实施例表征的制造缺陷的大量标准单元或甚至整个IC的逻辑行为的另一逻辑仿真工具的输入。
以下提供CTM文件的示例,其中仅用于参考的行号在文件的每行之前。
1.-单元:SEP_AN2_1
2.输入信号:[A1,A2]
3.输出信号:[X]
4.缺陷:
5.-Id:D2
6.类型:短路
7.描述:Cg99VBP VSS 1状态=undet
8.属性:
9.-类别:UD
10.……
11.-Id:D464
12.类型:短路
13.描述:XMNA1I1:F88VBN 10000.0状态=dynamic_det small_delay=30.0ps
14.属性:
15.-类别:DT
16.-DetEquivalent:D26
17.-行为:small_delay
18.……
19.-Id:D595
20.类型:开路
21.描述:R_I1N1_F86_XMNA1I1N1:F86_XMNA1I1N1:F86 100000.0状态=dynamic_det
22.属性:
23.-类别:DT
24.-DetEquivalent:D15
25.-行为:延迟
26.检测:
27.-[表,静态]
28.-[A1,A2,X,D3,D6,D28,D37,D49,D51,D53,D94,D184]
29.-[0,0,0,0,0,1,0,1,1,1,1,1]
30.-[0,1,0,0,0,1,1,1,0,1,0,0]
31.-[1,0,0,0,1,1,0,0,1,1,0,0]
32.-[1,1,1,1,0,0,0,1,1,1,1,0]
33.-[表,动态]
34.-[A1,A2,X,D1,D7,D15,D26,D38,D244,D324,D364,D484,D666,D686,D696]
35.-[R,1,R,0,0,1,0,0,0,1,1,1,1,1,0]
36.-[1,R,R,0,0,1,0,1,1,0,1,1,0,1,1]
37.-[F,1,F,0,1,0,1,1,0,0,1,0,1,1,0]
38.-[1,F,F,1,0,0,1,1,0,0,0,1,0,1,1]
同时参考上面列出的CTM文件和图4B-图4C,D464对应于短路435并且D595对应于开路440。例如,上面列出的CTM文件指示缺陷D595是在行号20处的开路类型缺陷并且对应于负责在行号21处的动态类型时序错误的100K欧姆。上面列出的CTM文件进一步指示缺陷D464是通过如分别在行号37和行号38处指示的向量“A1=F,A2=1”和“A1=1,A2=F”检测的动态缺陷。通过如分别在行号35和行号36处指示的向量“A1=R,A2=1”和“A1=1,A2=R”来检测缺陷595。
图11是可以并入本发明的实施例中的计算机***1100的示例框图。图11仅仅说明并入本发明的实施例并且不限制如权利要求书中记载的本发明的范围。本领域普通技术人员将认识到其他变化、修改和备选方案。在一个实施例中,计算机***1100通常包括监视器1110、计算机1120、用户输出设备1130、用户输入设备1140、通信接口1150等等。
如图11中所描绘的,计算机1120可以包括经由总线子***1190与多个***设备进行通信的(一个或多个)处理器1160。这些***设备可以包括用户输出设备1130、用户输入设备1140、通信接口1150和存储子***(并且诸如随机存取存储器(RAM)1170和磁盘驱动器1180)。
用户输入设备1140包括用于向计算机1120输入信息的所有可能类型的设备和机构。这些可以包括键盘、小键盘、并入到显示器中的触摸屏、诸如语音识别***、麦克风的音频输入设备和其他类型的输入设备。在各种实施例中,用户输入设备1130通常被实现为计算机鼠标、跟踪球、跟踪板、操纵杆、无线遥控器、绘图平板、语音命令***、眼睛跟踪***等等。用户输入设备1140通常允许用户经由诸如按钮的点击等等的命令来选择出现在监视器1110上的对象、图标、文本等等。
用户输出设备1140包括用于从计算机1120输出信息的所有可能类型的设备和机构。这些可以包括显示器(例如监视器1110)、非视觉显示器(例如音频输出设备)等。
通信接口1150向其他通信网络和设备提供接口。通信接口1150可以用作从其他***接收数据和向其他***发送数据的接口。通信接口1150的实施例通常包括以太网卡、调制解调器(电话、卫星、电缆、ISDN)、(异步)数字用户线(DSL)单元、火线接口、USB接口等等。例如,通信接口1150可以耦合到计算机网络、耦合到火线总线、等等。在其他实施例中,通信接口1150可以物理地集成在计算机1120的主板上,并且可以是诸如软DSL的软件程序等等。
在各种实施例中,计算机***1100还可以包括能够通过诸如HTTP、TCP/IP、RTP/RTSP协议等等的网络进行通信的软件。在本发明的备选实施例中,也可以使用其他通信软件和传输协议,例如IPX、UDP等等。在一些实施例中,计算机1120包括来自Intel的一个或多个Xeon微处理器作为(一个或多个)处理器1160。此外,一个实施例,计算机1120包括基于UNIX的操作***。
RAM 1170和磁盘驱动器1180是被配置为存储诸如本发明的实施例的包括可执行计算机代码、人类可读代码等等的数据的有形介质的示例。其他类型的有形介质包括软盘、可移动硬盘、诸如CD-ROM、DVD和条形码的光学存储介质、诸如闪存、非瞬态只读存储器(ROMS)、电池支持的易失性存储器、网络存储设备的半导体存储器等等。RAM 1170和磁盘驱动器1180可以被配置为存储提供本发明的功能的基本编程和数据结构。
提供本发明的功能的软件代码模块和指令可以存储在RAM 1170和磁盘驱动器1180中。这些软件模块可以通过(一个或多个)处理器1160来执行。RAM 1170和磁盘驱动器1180还可以提供用于存储根据本发明使用的数据的存储库。
RAM 1170和磁盘驱动器1180可以包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)和存储固定的非暂态指令的只读存储器(ROM)。RAM 1170和磁盘驱动器1180可以包括为程序和数据文件提供持久(非易失性)存储的文件存储子***。RAM 1170和磁盘驱动器1180还可以包括诸如可移动闪存的可移动存储***。
总线子***1190提供了用于使计算机1120的各个组件和子***按照预期彼此通信的机构。尽管总线子***1190被示意性地描绘为单个总线,但是总线子***的备选实施例可以利用多个总线。
图11表示能够实现本发明的计算机***。对于本领域普通技术人员将显而易见的是许多其他硬件和软件配置适于与本发明一起使用。例如,计算机可以是台式机、便携式、机架安装或平板配置。此外,计算机可以是一系列联网的计算机。此外,预见到使用其他微处理器,例如PentiumTM微处理器或ItaniumTM微处理器;来自Advanced Micro Devices公司的OpteronTM或AthlonXPTM微处理器;等等。此外,预见到其他类型的操作***,例如来自微软公司的
Figure BDA0001371852180000241
Figure BDA0001371852180000242
等、来自Sun Microsystems的Solaris、LINUX、UNIX等等。在另外的其他实施例中,上述技术可以实现在芯片或辅助处理板上。
本发明的各种实施例可以以软件或硬件或两者的组合的逻辑的形式实现。逻辑可以作为适于指导计算机***的处理器执行本发明的实施例中公开的步骤的集合的指令集被存储在计算机可读或机器可读的非暂态存储介质中。逻辑可以形成适于指导信息处理设备执行在本发明的实施例中公开的步骤的集合的计算机程序产品的部分。基于本文提供的公开内容和教导,本领域普通技术人员将认识到实现本发明的其他方式和/或方法。
本文描述的数据结构和代码可以部分地或完全地存储在计算机可读存储介质和/或硬件模块和/或硬件装置上。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、诸如磁盘驱动器、磁带、CD(紧凑盘)、DVD(数字通用盘或数字视频盘)的磁性存储设备和光学存储设备或现在已知的或稍后开发的能够存储代码和/或数据的其他介质。本文中描述的硬件模块或装置包括但不限于专用集成电路(ASIC)、现场可编程门阵列(FPGA)、专用处理器或共享处理器和/或现在已知的或以后开发的其他硬件模块或装置。
本文中描述的方法和过程可以部分地或完全地实现为存储在计算机可读存储介质或设备中的代码和/或数据,使得当计算机***读取并执行代码和/或数据时,计算机***执行相关联的方法和过程。该方法和过程也可以部分或完全地实现在硬件模块或装置上,使得当硬件模块或装置被激活时,它们执行相关联的方法和过程。本文中公开的方法和过程可以使用代码、数据和硬件模块或装置的组合来实现。
本发明的实施例的以上描述是说明性的而不是限制性的。此外,对应于锁存器和/或触发器描述的类似的原理可以应用于其他顺序逻辑电路元件。其他修改和变化对于本领域技术人员将是显而易见的并且旨在落入所附权利要求的范围内。

Claims (48)

1.一种用于表征电路的计算机实现的方法,所述方法包括:
由所述计算机接收表示所述电路的数据和所述电路的至少一个缺陷;
由所述计算机来仿真所述电路以获得第一时序特性;
由所述计算机来仿真具有所述至少一个缺陷的电路以获得第二时序特性;以及
当所述计算机被调用以表征所述电路时,由所述计算机根据所述第一时序特性、所述第二时序特性以及在与至少一个测试向量相关联的第一时间间隔期间应用的多个选通来识别所述至少一个测试向量与所述至少一个缺陷之间的关联,其中,识别还包括确定所述第二时序特性是否包括在所述第一时序特性的第二转变之后发生的第一转变。
2.根据权利要求1所述的计算机实现的方法,还包括:使用所述至少一个测试向量来将所述第一时序特性与所述第二时序特性进行比较。
3.根据权利要求1所述的计算机实现的方法,其中,识别还包括确定所述第二时序特性在所述多个选通中的每个期间是否基本上是静态的。
4.根据权利要求1所述的计算机实现的方法,其中,识别还包括确定所述第二时序特性是否包括在所述第一时序特性的第二转变之前发生的第一转变。
5.根据权利要求1所述的计算机实现的方法,其中,识别还包括确定所述第二时序特性是否为时序错误。
6.根据权利要求1所述的计算机实现的方法,其中,识别还包括当所述第二时序特性被确定为时序错误时确定所述第二时序特性是静态错误还是动态错误。
7.根据权利要求1所述的计算机实现的方法,其中,接收包括使用所述计算机根据表示所述电路的至少一个元件的数据来生成表示所述至少一个缺陷的数据。
8.根据权利要求1所述的计算机实现的方法,其中,所述电路是多个单元的库中的一个单元。
9.根据权利要求1所述的计算机实现的方法,其中,识别还包括确定与所述多个选通、所述第一时序特性和所述第二时序特性相关联的时间差。
10.根据权利要求1所述的计算机实现的方法,其中,所述多个选通包括与所述第一时序特性的第一转变相关联的第一选通和与所述第二时序特性的第二转变相关联的第二选通。
11.根据权利要求1所述的计算机实现的方法,其中,识别还包括根据与所述多个选通相关联的时间差来关联表征所述至少一个缺陷的参数的值。
12.根据权利要求11所述的计算机实现的方法,其中,所述时间差等于与第一选通相关联的第一时间和与第二选通相关联的第二时间之间的差。
13.根据权利要求1所述的计算机实现的方法,其中,接收包括生成第一多个测试向量,其中,所述至少一个测试向量被包括在由第一数枚举的所述第一多个测试向量中,所述第一数小于枚举第二多个测试向量的第二数,所述第二多个测试向量包括由一次具有针对所述电路的多个输入信号中的多于一个的信号转变表征的至少一个相邻测试向量对。
14.根据权利要求13所述的计算机实现的方法,其中,所述第一多个测试向量包括由一次具有针对所述电路的多个输入信号中的一个输入的信号转变表征的相邻测试向量对的每个组合。
15.根据权利要求13所述的计算机实现的方法,其中,所述第一多个测试向量不包括由一次具有针对所述电路的多个输入信号中的多于一个的信号转变表征的相邻测试向量对。
16.根据权利要求1所述的计算机实现的方法,其中,识别还包括在通过所述计算机实现的方法的单个轮次期间根据包括所述至少一个测试向量的第一多个测试向量来识别从由静态错误和动态错误组成的组中选择的错误。
17.一种包括指令的非暂态计算机可读存储介质,所述指令当由计算机运行时使所述计算机:
接收表示电路的数据和所述电路的至少一个缺陷;
仿真所述电路以获得第一时序特性;
仿真具有所述至少一个缺陷的所述电路以获得第二时序特性;以及
当所述计算机被调用以表征所述电路时,根据所述第一时序特性、所述第二时序特性以及在与至少一个测试向量相关联的第一时间间隔期间应用的多个选通来识别所述至少一个测试向量与所述至少一个缺陷之间的关联,其中,识别还包括确定所述第二时序特性是否包括在所述第一时序特性的第二转变之后发生的第一转变。
18.根据权利要求17所述的非暂态计算机可读存储介质,包括指令,所述指令当由所述计算机运行时还使所述计算机使用所述至少一个测试向量来将所述第一时序特性与所述第二时序特性进行比较。
19.根据权利要求17所述的非暂态计算机可读存储介质,其中,识别还包括确定所述第二时序特性在所述多个选通中的每个期间是否基本上是静态的。
20.根据权利要求17所述的非暂态计算机可读存储介质,其中,识别还包括确定所述第二时序特性是否包括在所述第一时序特性的第二转变之前发生的第一转变。
21.根据权利要求17所述的非暂态计算机可读存储介质,其中,识别还包括确定所述第二时序特性是否为时序错误。
22.根据权利要求17所述的非暂态计算机可读存储介质,其中,识别还包括当所述第二时序特性被确定为时序错误时确定所述第二时序特性是静态错误还是动态错误。
23.根据权利要求17所述的非暂态计算机可读存储介质,其中,接收包括使用所述计算机根据表示所述电路的至少一个元件的数据来生成表示所述至少一个缺陷的所述数据。
24.根据权利要求17所述的非暂态计算机可读存储介质,其中,所述电路是多个单元的库中的一个单元。
25.根据权利要求17所述的非暂态计算机可读存储介质,其中,识别还包括确定与所述多个选通、所述第一时序特性和所述第二时序特性相关联的时间差。
26.根据权利要求17所述的非暂态计算机可读存储介质,其中,所述多个选通包括与所述第一时序特性的第一转变相关联的第一选通和与所述第二时序特性的第二转变相关联的第二选通。
27.根据权利要求17所述的非暂态计算机可读存储介质,其中,识别还包括根据与所述多个选通相关联的时间差来关联表征所述至少一个缺陷的参数的值。
28.根据权利要求27所述的非暂态计算机可读存储介质,其中,所述时间差等于与第一选通相关联的第一时间和与第二选通相关联的第二时间之间的差。
29.根据权利要求17所述的非暂态计算机可读存储介质,其中,接收包括生成第一多个测试向量,其中,所述至少一个测试向量被包括在由第一数枚举的所述第一多个测试向量中,所述第一数小于枚举第二多个测试向量的第二数,所述第二多个测试向量包括由一次具有针对所述电路的多个输入信号中的多于一个的信号转变表征的至少一个相邻测试向量对。
30.根据权利要求29所述的非暂态计算机可读存储介质,其中,所述第一多个测试向量包括由一次具有针对所述电路的多个输入信号中的一个输入的信号转变表征的相邻测试向量对的每个组合。
31.根据权利要求29所述的非暂态计算机可读存储介质,其中,所述第一多个测试向量不包括由一次具有针对所述电路的多个输入信号中的多于一个的信号转变表征的相邻测试向量对。
32.根据权利要求17所述的非暂态计算机可读存储介质,其中,识别还包括在通过所述计算机实现的方法的单个轮次期间根据包括所述至少一个测试向量的第一多个测试向量来识别从由静态错误和动态错误组成的组中选择的错误。
33.一种计算机***,能操作用于:
接收表示电路的数据和所述电路的至少一个缺陷;
仿真所述电路以获得第一时序特性;
仿真具有所述至少一个缺陷的所述电路以获得第二时序特性;以及
当所述计算机***被调用以表征所述电路时,根据所述第一时序特性、所述第二时序特性以及在与至少一个测试向量相关联的第一时间间隔期间应用的多个选通来识别所述至少一个测试向量与所述至少一个缺陷之间的关联,其中,识别还包括确定所述第二时序特性是否包括在所述第一时序特性的第二转变之后发生的第一转变。
34.根据权利要求33所述的计算机***,还操作用于使用所述至少一个测试向量来将所述第一时序特性与所述第二时序特性进行比较。
35.根据权利要求33所述的计算机***,其中,识别还包括确定所述第二时序特性在所述多个选通中的每个期间是否基本上是静态的。
36.根据权利要求33所述的计算机***,其中,识别还包括确定所述第二时序特性是否包括在所述第一时序特性的第二转变之前发生的第一转变。
37.根据权利要求33所述的计算机***,其中,识别还包括确定所述第二时序特性是否为时序错误。
38.根据权利要求33所述的计算机***,其中,识别还包括当所述第二时序特性被确定为时序错误时确定所述第二时序特性是静态错误还是动态错误。
39.根据权利要求33所述的计算机***,其中,接收包括使用所述计算机根据表示所述电路的至少一个元件的数据来生成表示所述至少一个缺陷的所述数据。
40.根据权利要求33所述的计算机***,其中,所述电路是多个单元的库中的一个单元。
41.根据权利要求33所述的计算机***,其中,识别还包括确定与所述多个选通、所述第一时序特性和所述第二时序特性相关联的时间差。
42.根据权利要求33所述的计算机***,其中,所述多个选通包括与所述第一时序特性的第一转变相关联的第一选通和与所述第二时序特性的第二转变相关联的第二选通。
43.根据权利要求33所述的计算机***,其中,识别还包括根据与所述多个选通相关联的时间差来关联表征所述至少一个缺陷的参数的值。
44.根据权利要求43所述的计算机***,其中,所述时间差等于与第一选通相关联的第一时间和与第二选通相关联的第二时间之间的差。
45.根据权利要求33所述的计算机***,其中,接收包括生成第一多个测试向量,其中,所述至少一个测试向量被包括在由第一数枚举的所述第一多个测试向量中,所述第一数小于枚举第二多个测试向量的第二数,所述第二多个测试向量包括由一次具有针对所述电路的多个输入信号中的多于一个的信号转变表征的至少一个相邻测试向量对。
46.根据权利要求45所述的计算机***,其中,所述第一多个测试向量包括由一次具有针对所述电路的多个输入信号中的一个输入的信号转变表征的相邻测试向量对的每个组合。
47.根据权利要求45所述的计算机***,其中,所述第一多个测试向量不包括由一次具有针对所述电路的多个输入信号中的多于一个的信号转变表征的相邻测试向量对。
48.根据权利要求33所述的计算机***,其中,识别还包括在通过所述计算机实现的方法的单个轮次期间根据包括所述至少一个测试向量的第一多个测试向量来识别从由静态错误和动态错误组成的组中选择的错误。
CN201710666248.5A 2016-08-05 2017-08-07 使用多个选通点的单元感知缺陷表征和波形分析 Active CN107688694B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/230,079 2016-08-05
US15/230,079 US10515167B2 (en) 2016-08-05 2016-08-05 Cell-aware defect characterization and waveform analysis using multiple strobe points

Publications (2)

Publication Number Publication Date
CN107688694A CN107688694A (zh) 2018-02-13
CN107688694B true CN107688694B (zh) 2021-05-04

Family

ID=61069561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710666248.5A Active CN107688694B (zh) 2016-08-05 2017-08-07 使用多个选通点的单元感知缺陷表征和波形分析

Country Status (5)

Country Link
US (1) US10515167B2 (zh)
KR (1) KR101991393B1 (zh)
CN (1) CN107688694B (zh)
DE (1) DE102017117496A1 (zh)
TW (1) TWI732909B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528692B1 (en) * 2017-11-07 2020-01-07 Synopsis, Inc. Cell-aware defect characterization for multibit cells
CN113126481A (zh) * 2019-12-31 2021-07-16 钟国诚 控制目标装置及用于控制可变物理参数的方法
US11379649B2 (en) * 2020-01-31 2022-07-05 Synopsys, Inc. Advanced cell-aware fault model for yield analysis and physical failure analysis
CN116973736B (zh) * 2023-09-22 2023-12-19 悦芯科技股份有限公司 一种基于fail周期的ATE测试方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102751734A (zh) * 2011-04-18 2012-10-24 周锡卫 一种多电力多蓄电智能平衡供电***与方法
US8683400B1 (en) * 2012-11-21 2014-03-25 Cadence Design Systems, Inc. System and method for fault sensitivity analysis of mixed-signal integrated circuit designs
CN111402945A (zh) * 2019-01-03 2020-07-10 爱思开海力士有限公司 不具有单元阵列的集成电路芯片和裸片测试

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247165B1 (en) 1998-03-31 2001-06-12 Synopsys, Inc. System and process of extracting gate-level descriptions from simulation tables for formal verification
US7194668B2 (en) * 2003-04-11 2007-03-20 Advantest Corp. Event based test method for debugging timing related failures in integrated circuits
EP1480227A1 (en) * 2003-05-22 2004-11-24 Koninklijke Philips Electronics N.V. Testing integrated circuits with fault dictionary
WO2007050799A2 (en) 2005-10-24 2007-05-03 Clearshape Technologies, Inc. Incorporating manufacturing variations in the analysis of integrated circuit design
CN103650345A (zh) 2011-07-22 2014-03-19 辉达公司 部件分析***及方法
TWI537760B (zh) 2012-01-05 2016-06-11 聯華電子股份有限公司 積體電路設計與製造方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102751734A (zh) * 2011-04-18 2012-10-24 周锡卫 一种多电力多蓄电智能平衡供电***与方法
US8683400B1 (en) * 2012-11-21 2014-03-25 Cadence Design Systems, Inc. System and method for fault sensitivity analysis of mixed-signal integrated circuit designs
CN111402945A (zh) * 2019-01-03 2020-07-10 爱思开海力士有限公司 不具有单元阵列的集成电路芯片和裸片测试

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"chapter 4 fault simulation";jin-fu Li;《Advanced Reliable System (ARES) Lab.》;20091231;page1-29 *
"Detection and Diagnosis of Static Scan Cell Internal Defect";Ruifeng Guo等;《2008 IEEE International Test Conference》;20081208;page1-12 *
"digital logic testing and testability";Debany,W.H;《美国政府科技报告》;19910228;page1-53 *

Also Published As

Publication number Publication date
KR101991393B1 (ko) 2019-06-20
DE102017117496A1 (de) 2018-03-15
CN107688694A (zh) 2018-02-13
KR20180016319A (ko) 2018-02-14
US20180039721A1 (en) 2018-02-08
TW201807607A (zh) 2018-03-01
TWI732909B (zh) 2021-07-11
US10515167B2 (en) 2019-12-24

Similar Documents

Publication Publication Date Title
CN107688694B (zh) 使用多个选通点的单元感知缺陷表征和波形分析
US8806406B2 (en) Active net and parasitic net based approach for circuit simulation and characterization
US6249901B1 (en) Memory characterization system
US6083269A (en) Digital integrated circuit design system and methodology with hardware
US8875077B1 (en) Fault sensitivity analysis-based cell-aware automated test pattern generation flow
US8209650B2 (en) Method and system for entry and verification of parasitic design constraints for analog integrated circuits
US8234617B2 (en) Method and system for re-using digital assertions in a mixed signal design
US7401310B1 (en) Integrated circuit design with cell-based macros
WO2007050799A2 (en) Incorporating manufacturing variations in the analysis of integrated circuit design
JPH05167046A (ja) ファクトリ・プログラムドデバイスの製造システム及び製造方法
US8205177B2 (en) Non-linear receiver model for gate-level delay calculation
US9703658B2 (en) Identifying failure mechanisms based on a population of scan diagnostic reports
US6370493B1 (en) Simulation format creation system and method
US7546566B2 (en) Method and system for verification of multi-voltage circuit design
US20170053051A1 (en) Accurate glitch detection
US8091052B2 (en) Optimization of post-layout arrays of cells for accelerated transistor level simulation
US20090288055A1 (en) Method and system for characterizing an integrated circuit design
US8091049B2 (en) Integrated single spice deck sensitization for gate level tools
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US8010919B2 (en) Method for evaluating the quality of a computer program
US20060026479A1 (en) Verification vector creating method, and electronic circuit verifying method using the former method
US9710580B2 (en) Timing analysis method for digital circuit design and system thereof
US7653519B1 (en) Method and mechanism for modeling interconnect structures for integrated circuits
US7689953B1 (en) Method and apparatus for determining cell-based timing elements from a transistor-level design
Liu et al. Fast hierarchical process variability analysis and parametric test development for analog/RF circuits

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
GR01 Patent grant
GR01 Patent grant