深入浅出FPGA-5-DFT

引言

DFTDesign For Tesability(可测试性设计)的简称。是设计人员在进行系统和电路设计的同时,考虑测试的需求,通过在芯片中增加一些测试电路从而简化测试过程。是一种为达到故障检测目的所进行的辅助性设计方法,使制作完成后的芯片能达到可控制性可测试性两个目的。

目前较流行的DFT设计方法包括内部扫描通路测试(Scan)、内建自测试(BIST)和边界扫描测试(BSD)等。

5.1. 内部扫描测试(SCAN

通过插入scan chain能检测芯片内部包括电路短路/开路,连线和器件延迟等现象,同时可减少芯片的测试成本,它被认为是目前最理想的结构故障测试结构。扫描测试要求每个扫描单元处于可控制和可测试的状态,只有这样才能保证其可替换为相应的扫描单元,并保证测试故障覆盖率。为保证电路中的每个设计节点都符合要求,在进行扫描链插入通常会进行设计规则检查。基本规则如:能使用带多路选择的扫描触发器替代同类触发器(DFF->SDFF);原始输入端能对所有触发器的时钟和异步复位端进行控制;时钟信号避免作为触发器的输入信号;三态总线在扫描测试模式时可至于disable状态。可用DFT Compiler等工具进行DFT设计,如果能在RTL设计阶段考虑DFT方面的限制,那么能使后面的DFT instertion效率更高。

5.2. 内建自测(BISTBilud-in selftest

BIST一般是指Memory的内建自测。由于现在芯片设计中memory的使用越来越多(50%以上?),用普通的测试方法将使测试时间越来越长,测试成本大大增加。而且由于memory本身物理结构密度很大,对其测试也无法从片外通过端口直接访问memory的每个地址。导致当memory中数万个 bit中有一位出现物理缺陷时很难快速查找其芯片的失效原因。于是需要通过内建的自测试方法对内嵌的memory进行快速有效的扫描和测试,以确定 memory的可靠性。 BIST的算法都是基于一些故障模型,有多种算法。一般情况下,BIST电路作为逻辑电路的一部分在RTL级插入,并与其它逻辑一起进行综合。目前也有较多的EDA工具能在RTL级自动生成BIST电路并集成到设计中,如Mentor-mBISTArchitSynopsys-SocBIST等。

5.3. 边界扫描(BSD:Boundary Scan

BSD是为了解决PCB上芯片与芯片间互连测试而由一个组织--JTAGJiont Testable Action Group?:联合测试行动组?)提出的一个解决方案。1990年正式被IEEE采纳成为一个标准,即IEEE1149.1。该标准规定了边界扫描的测试端口、测试结构和操作指令。 其基本原理是在核心逻辑电路的输入输出端口都增加一个寄存器。通过将这些IO上的寄存器连接起来,可以将数据串行输入被测单元并从相应端口串行读出。从而实现芯片与PCB之间互连的测试、芯片级测试、系统级测试通过对板上FlashCPLD的在线编程实现系统测试。业界的BSD产生工具主要有Mentor-BSDArchit,sysnopsy-BSD Compiler


5.4小结

最后分享一本书:

http://download.csdn.net/detail/rill_zhen/4502279

作为DFT这一小节的结束。

你可能感兴趣的:(算法,测试,Flash,action,工具,compiler)