论文部分内容阅读
随着集成电路制造技术的快速发展,系统芯片SOC(System on Chip)正逐渐变成现实,它采用基于IP(Intellectual Property)的设计方法,在单一芯片上实现信号采集、转换、存储、处理和I/O接口等全部系统功能,极大地缩小了系统体积,提高了设计效率,缩短了设计周期,减少了产品的上市时间(Time To Market.TTM)。但是IP核的复用导致SOC内经常含有多个时钟域,各时钟域之间存在复杂的数据传递关系。多时钟域SOC很容易出现建立时间或者保持时间不满足的现象,导致电路进入亚稳态而不能正常工作。而且在产生测试矢量时也很容易产生失效的测试矢量。多时钟域给电路的时序设计、功能设计、测试架构的建立以及测试矢量产生等提出了更严峻的挑战。
本文针对IP复用的SOC,首先介绍了测试访问机制的发展现状和一些常见的测试矢量生成算法,然后在此基础上重点研究了基于IP复用的多时钟域SOC的DFT(Design For Testability)架构和测试矢量生成方法,提出了一种基于顶层测试模式控制思想的DFT架构和一种新颖的ATPG(Automatic Test Pattem Generation)方法——安全充分捕获方法,同时分析了嵌入式存储器的故障模型和测试矢量生成算法,提出了MarchC+2算法。然后使用这些方法,针对一款视频叠加芯片进行DFT架构设计和测试矢量生成,通过仿真验证了本文提出的DFT架构和测试生成方法的有效性。
多时钟域SOC经常含有多个IP,各IP经常使用不同的可测试性设计方法,如何在顶层对这些IP的测试进行有效控制,是DFT的一个关键问题。本文提出了一种基于顶层测试控制模块的测试访问机制,根据各IP使用的可测试性设计方法,将电路分为n(n>0)个测试模式。测试控制模块包括测试模式控制模块、测试输入控制模块和测试输出控制模块,在各模式下,测试控制模块用以控制测试输入信号和接收测试响应信号。在顶层,这些测试控制信号和测试响应信号可以共用总线,扫描测试的扫描输入和输出端口还可以和系统端口复用。一般在DFT设计时,系统只需增加5-9个测试端口。在此测试访问机制的基础上,对各IP的可测试性设计进行整合,建立整个SOC的DFT架构。SOC中的多个时钟域之间经常存在着复杂的数据传递关系,使用传统的ATPG算法产生测试矢量时,不考虑时序问题,很可能产生失效的测试矢量。本文在普通方法和安全捕获方法的基础上,提出了一种新颖的ATPG方法,即安全充分捕获方法。使用这种ATPG方法,根据时钟之间的数据传递关系,对时钟进行分组,确定时钟捕获顺序。经过一次扫描移位周期之后,有多个捕获周期,从而使用较少的测试矢量得到较高的测试覆盖率。
嵌入式存储器的测试是SOC可测试性设计的一个重要部分。本文研究了常用的March算法,然后提出了一种适合于双端口SRAM的MarchC+2算法,将存储器的测试分为字间失效检测、字内失效检测和同时读写失效检测三个部分,可以检测多种存储器故障,达到100%的故障覆盖率。然后使用软件实现了MBIST(Memory Build In SelfTest)的设计。
最后,基于课题组AM基金项目VAD-SOC芯片进行了DFT架构设计实现,并使用文中提出的测试矢量生成方法产生了测试矢量,将文章中所提到的设计思想在实际SOC中进行了应用,并取得了较好的结果。