DFT:数字电路(fpga/asic)设计入门之可测试设计与可测性分析,离散傅里叶变换,(DFT)Direct Fouriet Transformer
可测试性技术(Design For Testability-DFT)就是试图增加电路中信号的可控制性和可观测性,以便及时经济地测试芯片是否存在物理缺陷,使用户拿到良好的芯片。其中包括Ad Hoc技术和结构化设计技术。目前,任何高IC设计系统都采用结构化设计技术,其中主要扫描技术和内建自测两种技术。
一个电路的测试性问题应该包括两个方面:由外部输入信号来控制电路中的各个节点的电平值,称为可控制性。从外部输出端观测内部故障地难易程度,称为可观测性
扫描技术是指电路中的任一状态移进或移出的能力,其特点使测试数据的串行化。比较常使用的是全扫描技术和边界扫描技术。全扫描技术是将电路中的所有触发器用特殊设计的具有扫描功能的触发器代替,使其在测试时链接成一个或几个移位寄存器,这样,电路分成了可以进行分别测试的纯组合电路和移位寄存器,电路中的所有状态可以直接从原始输入和输出端得到控制和观察。这样子的电路将时序电路的测试生成简化成组合电路的测试生成,由于组合电路的测试生成算法目前已经比较完善,并且在测试自动化生成方面比时序电路的测试生成容易得多,因此大大降低了测试生成的难度。
对于存储器模块的测试一般由生产厂家提供专门的BIST电路,通过BIST电路可以方便地对存储单元地存取功能进行测试,所谓的BIST电路是指把测试电路做到IC里面,利用测试电路固有的能力自行执行一个测试存储器的程序。另外MBIST还可以解决RAM SHADOW的问题提高芯片的可测试性。
为什么要做DFT呢?因为我们的设计,也就是RTL到GDSII交出去的只是一个版图,最后芯片需要生产织造是在foundry做的,也就是厂家根据你提供的数据GDSII做成芯片。这个流程过程中可能出现缺陷,这个缺陷可能是物理存在的,也可能是设计当中的遗留问题导致的,另外一方面在封装的过程也可能出现缺陷。为了保证我们的芯片能够不存在物理上的缺陷,所以就要做DFT。也就是说,你交给foundry一个加法器的GDSII,他在做的过程和封装的时候都可能引入缺陷;拿到这个加法器芯片你怎么知道,里面的一个与门,厂家给你做的就是一个正常工作的与门呢?你怎么知道厂家做好的加法器的dier在封装之后引脚就能正常输入呢?一句话,就是通过DFT!