Asic设计学习总结之可测性设计及书籍推荐
本文为EETOP网友:tfpwl_lj 的《ASIC设计学习》 系列博客之一
博客地址:http://www.eetop.cn/blog/1638430
一、可测性设计
测试的目的是为了过滤掉流片中有缺陷的芯片。可测性设计,意思是在设计的时候就考虑到测试的问题。通过在原有设计的基础上增加部分电路(增加一小部分电路成本)使得设计出的芯片能够1,通过ATE测试很容易的过滤出坏片,2,更加全面的把握芯片的内部节点信息,利于后续芯片Debug,3减少测试成本(大成本)。所以,可测性设计(DFT=design for test)这个内容,注定是设计和测试的结合体。
目前,可测性设计的方法有很多种,主流的方法一共有三种(个人获得的信息)。分别为芯片内部扫描,芯片边界扫描,芯片BIST,下面对这三种方法做简单的介绍,笔者了解得不是很多,这里不再赘述,详细的内容烦请查阅参考书籍。
内部扫描,将芯片内部的普通寄存器替换为具有扫描功能的寄存器,并且把这些寄存器连接起来,组成内部的一条或者多条扫描链。内部扫描还可以分为全扫描或者部分扫描,全扫描是指替换芯片内部所有寄存器,部分扫描是指替换芯片内部的部分寄存器。这样组成的扫描链能够有效监测所有的寄存器节点。同时,利用这些寄存器向芯片灌入测试向量,达到测试的目的。
边界扫描(JTAG),原来是测试工程师们提出的一种用于PCB板级测试的一种方法,现在不仅仅只是这个作用。它还常用于传输数据,比如FPGA利用JTAG端口烧录临时数据,进行硬件在线仿真。边界扫描的方式与内部扫描寄存器类似,不过,它是在芯片的I/O口周围插入边界扫描寄存器(该寄存器与内部扫描寄存器一致),并与I/O口相连。通过TAP控制器的控制,截获I/O的数据,或者通过I/O口往芯片内部灌入激励信号。边界扫描有专门的协议(JTAG协议),有固定的电路接口,通常为TMS、TCK、TDI、TDO、nTRST,nTRST端口不常用。
BIST,内建自测试。简单的说,就是在芯片内部设计一个测试电路,它负责产生随机激励,以及检测芯片的输出结果。这种可测试性设计方法常用于构建存储器的自检测电路。依据不同的芯片要求进行自行设计BIST电路,产生随机激励的电路一般为线性反馈移位寄存器电路。
二、推荐书籍
《专用集成电路设计实用教程》
《数字IC系统设计》
《Verilog HDL高级数字设计》
《BSD Compiler User Guide, version L-2016.03》
《DFTCompiler_scan_user_guide》
《DFTMAX LogicBIST User Guide, version L-2016.03》
《DFT Compiler, DFTMAX, and DFTMAX Ultra User Guide, version L-2016.03》
三、工具:
每一种可测试性方法对应不同的工具组合。
内部扫描,一般使用DFT Complier+ TetraMAX工具组合,DFTComplier负责对综合之后或者综合过程中的门级网表插入扫描链寄存器,TetraMAX根据DFTComplier产生的测试协议,产生对应的测试激励。
边界扫描,使用DC工具内含的BSD Complier来对门级网表进行边界扫描寄存器的插入工作。
BIST,常用的工具为MBIST Architecture(Mentor公司),该信息属于旧信息,工具软件应该已经有升级了。