Why Test?

Why Test?

可测试性(testability)是一种设计的属性,衡量了全面测试制造设计的正确性的难易程度。原始的设计和测试过程是分开的,只有在设计周期的结尾考虑测试。而DFT将测试和设计融合在一起。

来自foundary的devices需要被测试以识别出有缺陷的devices。通过插入scan来增加芯片本身的可测试性,并且使用ATPG生成patterns以识别这些缺陷。没有缺陷的devices被销售给顾客,有时有缺陷的devices通过了所有的应用测试——这被称为测试逃避(test escapes)。在顾客手中出现失败的devices会被返回。

 缺陷是发生在silicon上的物理问题,可能会导致silicon的性能与设计不同。制造问题能够造成各种缺陷,例如:

1. hard tie到电源或地,节点总是stuck-at 1或stuck-at 0。当创建test pattern以force节点到相反值是,该defect容易被检测到。

2.两个连接之间短路,或桥接。节点在周围的net状态下,有条件的出现stuck-at 1或stuck-at 0;在一个path上的数据会带给不同path上的数据不利影响。

3.capacitive或resistive节点。慢的0->1 transition,或1->0 transition。可以被扩展到查找沿着关键路径的精确时间延迟。或者是path延迟比期望延迟更长。

有不同类型的测试尝试捕获可能出现在device中的任意缺陷。过去,在使用scan testing和ATPG之前,应用的是功能测试。功能或工程测试应用激励到设计上为了证明在测试下device满足工程规格。

manufacturing tests是为了确保device被正确制造。能够验证设计没有制造缺陷,但是不能验证silicon满足预期的行为,电路可能通过测试,但是设计可能功能不正确(例如,不能像功能规格描述的那样操作)。

manufacturing测试的类型:

  • scan test
  • 具有压缩的scan test
  • BIST:Memorytest和Logic test
  • Functional test:效率低;难以确定测试覆盖率

Introduction to Scan Test and ATPG

测试是一个控制和观测问题。

control:能够使用test pattern有目的地激励目标位置?

observe:能够观察激励地效应?

fault models提供模拟defects的一种缺陷,为了可以生成patterns来识别defects。当在good behavior和faulty behavior之间观测到差异时能够检测到故障。最常见的fault model是stuck-at。

 test patterns伴随两件事:fault activation(control)和fault propagation (observe)。

fault activation在故障模型位置建立一个信号值,与故障模型产生的值相反。fault propagation通过敏化从故障位到PO或scan cell的path,将产生的结果信号值或故障效应向前移动。

test patterns,有时被称为test vectors,是在测试过程期间放置在PI引脚上的一系列1s或0s。当应用test pattern时,ATE确定电路是否存在制造缺陷。

ATPG process的基础流程:

  • 从user-selected故障集中选择故障。
  • 创建pattern以control和observe故障。
  • pattern是被仿真的故障以确定在good和faulty机制仿真之间时候存在差异。
  • 如果目标故障被检测到,则保存pattern。
  • 如果其他故障偶然也被检测到,这些故障也会被划分为detected。

Basic Scan Test Process

scan test的流程:

  • 通过使用scan cells取代flip-flops来创建control和observation点。
  • 将scan flops连接在一起创建扫描链。
  • 利用这些扫描链,生成测试patterns:在指定节点(control)设置指定值;传播结果,为了它能够被测试到(observe)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
If you are experiencing problems with the Universal Plug and Play service, your computer might not be able to automatically detect the presence of other networked devices, such as PCs, printers, Internet access points and so on. That is where the UPnP Test application comes in. This simple program is designed to help you identify the issues that prevent the UPnP protocol from functioning correctly. Before you get your hopes up, you should know that this tool does not solve the detected problems, but only performs a series of tests to identify the possible causes. One advantage is that the application does not require installation, so your system registry is not affected in any way. The interface is compact and simple, comprising only two panels: one that displays the test type and its short description and the other for viewing which of the tests passed and which failed. The program can verify whether the operating system provides support for the UPnP service and allows you to check if the Simple Service Discovery Protocol (SSDP) and the UPnPHost services are running. It also verifies the connection between your network adapter and your router and the system's capacity to receive UPnP messages, as well as the router's capability to report an external IP address. One of the tests is designed to check if the Windows firewall service is blocking the traffic between your router and the system, thus preventing UPnP from working. The results can be copied to your clipboard by simply pressing a button and the tests can be redone easily. If you want to fix the detected issues, the link in the main interface can prove useful. In conclusion, UPnP Test is a simple tool for detecting problems related to device-to-device networking. However, it can only suggest possible reasons why the UPnP is not working, fixing the detected issues is totally up to you.
This book will teach the concepts of test driven development in Java so you can build clean, maintainable and robust code About This Book Explore the most popular TDD tools and frameworks and become more proficient in building applications Create applications with better code design, fewer bugs, and higher test coverage, enabling you to get them to market quickly Implement test-driven programming methods into your development workflows Who This Book Is For If you're an experienced Java developer and want to implement more effective methods of programming systems and applications, then this book is for you. What You Will Learn Explore the tools and frameworks required for effective TDD development Perform the Red-Green-Refactor process efficiently, the pillar around which all other TDD procedures are based Master effective unit testing in isolation from the rest of your code Design simple and easily maintainable code by implementing different techniques Use mocking frameworks and techniques to easily write and quickly execute tests Develop an application to implement behavior-driven development in conjunction with unit testing Enable and disable features using feature toggles In Detail Test-driven development (TDD) is a development approach that relies on a test-first procedure that emphasizes writing a test before writing the necessary code, and then refactoring the code to optimize it.The value of performing TDD with Java, one of the longest established programming languages, is to improve the productivity of programmers and the maintainability and performance of code, and develop a deeper understanding of the language and how to employ it effectively. Starting with the basics of TDD and understanding why its adoption is beneficial, this book will take you from the first steps of TDD with Java until you are confident enough to embrace the practice in your day-to-day routine.You'll be guided through setting up tools, frameworks, and the environment you need,

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值