伴随着现代大规模集成电路制造工艺的快速发展,设计工程师必需直面芯片制造过程中可能产生的物理缺陷。现今流行的可测试性设计(DFT:Design For Testability)应运而生,并为保证芯片的良品率担任着越来越重要的角色。
在DFT设计中,测试覆盖率及其测试效率是最重要的指标。一方面,理想的设计目标当然希望测试能够遍及整个芯片的逻辑,尽管理想值100%是不容易达到的;另一方面,测试效率亦非常重要,设计工程师总希望用最少的测试向量达到预期的测试覆盖率,来降低芯片的测试成本。
当然,DFT设计必须保证正常的逻辑功能为前提。不幸的是,功能设计总会忽略一些潜在的问题,导致最终的测试覆盖率往往不尽如人意。这种情况下,设计中有一些逻辑无论如何都不能被观测到或控制到,因此即使测试矢量的数量有很大的增幅,也不能使结果改善很多。
在实际的DFT设计中,存在对测试覆盖率有较大损害的两种情况:一种存在于数字逻辑-模拟逻辑(包括存储器)输入-输出处之阴影部分,另一种存在于特定的多芯片封装情况下未绑出的输入-输出焊垫处。二者的共同点在于:测试模式下部分逻辑的不可控或不可观测。
设计背景
本文探讨的设计目标是一个来自意法半导体的数字音频信号处理芯片,要求对数字功能逻辑进行扫描链测试,覆盖率达到98%以上。其功能逻辑中存在一些模拟模块,如锁相环、模数转换器和一些存储器单元等。更为重要的是,该芯片需要基于不同的应用系统需要,不但需要单独封装形式,也需要多芯片共享同一封装。这样,在某些多芯片封装中,就有部分焊垫未引出或接地。而测试的设计初衷是产生一组测试向量适用于所有封装形,就要求考虑最严格的封装下可用的管脚资源。
DFT设计有两个基本原则:可控制性和可观测性,即DFT设计要求所有输入逻辑是可控的和输出逻辑是可测的。显然,考虑到本设计中的模拟模块接口和封装形式的资源有限性,不可控逻辑和不可观测逻辑对不小于98%的目标测试覆盖率给出了很大的挑战。
如图1所示,在某种芯片封装情况下,除信号test_si和test_so外,其余焊垫并未绑出(接地或悬空),从而造成信号port_A、port_B、port_C和port_D的不可控,以及信号port_Z1、port_Z2和port_Z3的不可观测(悬空)。导致很多相关逻辑不能正常参于DFT测试,测试覆盖率受到较大的损害。
图1 封装造成的测试逻辑不可控和不可测
DFT设计的可控制性和可观测性是通过原始的管脚来实现的,事实上功能设计不可能专门为DFT保留足够多的管脚。如图2所示的数字-模拟接口,由于PLL模块的存在,显然信号net_1、net_2和net_3上得到的测试结果不可直接观测(不可测),组合逻辑1相应的测试覆盖率降低了;同时,由于PLL模块的存在,信号net_4、net_5和的net_6不能直接赋值(不可控),导致组合逻辑2的部分逻辑不能正常参于DFT测试,相应的测试覆盖率受到较大的损害。总的来说,芯片的测试覆盖率降低了。
图2 模拟模块造成的测试逻辑不可控和不可测
解决方案
针对设计中的上述情况,可以通过适当添加测试点的方式,使原来不可控和不可测的逻辑变化反映到扫描链上,使之变得间接可控和可测,以期提高整个芯片的测试覆盖率和测试效率。
对于图1所示的某些封装中,不可控和不可测的未绑出(接地或悬空)管脚,图3给出了相应的定制的解决方案。
图3 添加控制点和观测点提高测试覆盖率(封装部分管脚未绑出情况)
对于输入管脚,添加一个带有选择端的寄存器。当控制选择信号为“0”时,电路处于正常工作状态,功能逻辑从输入端接收到正常的输入数值。当选择控制为“1”时,电路处于测试状态。在移位过程中,这些点由测试链预置相应的值;在捕获过程中,将之接地防止不定态在设计中的传播。
在输出管脚处,添加少量异或门和选择器件。当控制选择信号为“0”时,电路处于正常工作状态,输出管脚正常输出功能信号。当选择控制为“1”时,电路处于测试状态,用异或门将未能绑出的管脚的变化引出,相当于这些管脚也可以被观测了。
针对图2所示的数字-模拟接口,部分模拟模块输入信号通过组合逻辑给出,但在测试时并没有逻辑将这些“终点”的信号影响引出观察,因此这些点是不可观测的。这与DFT设计可观测要求(需管脚直接输出)不相符,可能造成测试覆盖率的损害。同时,部分模拟模块输出信号控制相应的组合逻辑,但在测试中,这些点是“浮空”(不可控制)的。这与DFT设计可控要求(需管脚直接输入)不相符,造成测试覆盖率的降低。图4给出了类似前者的定制解决方案,其实质也是把这些不可控和不可测点连到测试链上去,让这些逻辑间接可观测或可控制以改善测试结果。
图4添加控制点和观测点提高测试覆盖率(数字-模拟接口情况)
如图所示,在模拟模块输入信号处添加少量异或门和选择器件,并将它们连到扫描链上去。当控制选择信号为“0”时,电路处于正常工作状态,模拟模块的输入管脚正常接收功能信号。当选择控制为“1”时,电路处于测试状态,用异或门或者其他器件将未能观测管脚的变化引出,相当于这些管脚间接可以被观测了。
如图所示,在模拟模块输出信号处添加一个带有选择端的寄存器。当控制选择信号为“0”时,电路处于正常工作状态,模拟模块信号正常输出到后续的功能逻辑。当选择控制为“1”时,电路处于测试状态:在移位过程中,这些点由测试链预置相应的值;在捕获过程中,将之接地防止不定态在设计中的传播。
对于其他的模拟模块如ADC, 存储器等,采用类似的方法可改善整个芯片的测试覆盖率和测试效率,达到目标测试效果。
结语
在前面提及的实际项目DFT设计中,功能逻辑部分含有万余寄存器。为提高测试覆盖率,添加仅12个寄存器及很少部分组合逻辑作为测试点后,即可将测试覆盖率从原来的95%提高到 98.3%。由此看来,这种方法是很有效率的。并且可根据项目实际需要,添加更多点以期达到更高覆盖率,理论上测试覆盖率可接近100%。
推荐RTL功能设计时就能考虑这种测试结构。这样做设计工程师之间能够了解彼此的设计需求,功能测试结构明晰,在DFT设计过程中省去很多麻烦。如果发现这类问题在RTL完成之后,一些DFT工具也提供用户自定义的测试点插入,但是要注意测试控制信号选取一定要与需要的测试模式匹配,否则无法完成相应的测试期望。这种方法的关键是了解在哪里加测试点更为有效。
关键字:寄存器 逻辑 存储器 RTL 接口 扫描 模拟
引用地址:提高DFT设计测试覆盖率的有效方法
在DFT设计中,测试覆盖率及其测试效率是最重要的指标。一方面,理想的设计目标当然希望测试能够遍及整个芯片的逻辑,尽管理想值100%是不容易达到的;另一方面,测试效率亦非常重要,设计工程师总希望用最少的测试向量达到预期的测试覆盖率,来降低芯片的测试成本。
当然,DFT设计必须保证正常的逻辑功能为前提。不幸的是,功能设计总会忽略一些潜在的问题,导致最终的测试覆盖率往往不尽如人意。这种情况下,设计中有一些逻辑无论如何都不能被观测到或控制到,因此即使测试矢量的数量有很大的增幅,也不能使结果改善很多。
在实际的DFT设计中,存在对测试覆盖率有较大损害的两种情况:一种存在于数字逻辑-模拟逻辑(包括存储器)输入-输出处之阴影部分,另一种存在于特定的多芯片封装情况下未绑出的输入-输出焊垫处。二者的共同点在于:测试模式下部分逻辑的不可控或不可观测。
设计背景
本文探讨的设计目标是一个来自意法半导体的数字音频信号处理芯片,要求对数字功能逻辑进行扫描链测试,覆盖率达到98%以上。其功能逻辑中存在一些模拟模块,如锁相环、模数转换器和一些存储器单元等。更为重要的是,该芯片需要基于不同的应用系统需要,不但需要单独封装形式,也需要多芯片共享同一封装。这样,在某些多芯片封装中,就有部分焊垫未引出或接地。而测试的设计初衷是产生一组测试向量适用于所有封装形,就要求考虑最严格的封装下可用的管脚资源。
DFT设计有两个基本原则:可控制性和可观测性,即DFT设计要求所有输入逻辑是可控的和输出逻辑是可测的。显然,考虑到本设计中的模拟模块接口和封装形式的资源有限性,不可控逻辑和不可观测逻辑对不小于98%的目标测试覆盖率给出了很大的挑战。
如图1所示,在某种芯片封装情况下,除信号test_si和test_so外,其余焊垫并未绑出(接地或悬空),从而造成信号port_A、port_B、port_C和port_D的不可控,以及信号port_Z1、port_Z2和port_Z3的不可观测(悬空)。导致很多相关逻辑不能正常参于DFT测试,测试覆盖率受到较大的损害。
图1 封装造成的测试逻辑不可控和不可测
DFT设计的可控制性和可观测性是通过原始的管脚来实现的,事实上功能设计不可能专门为DFT保留足够多的管脚。如图2所示的数字-模拟接口,由于PLL模块的存在,显然信号net_1、net_2和net_3上得到的测试结果不可直接观测(不可测),组合逻辑1相应的测试覆盖率降低了;同时,由于PLL模块的存在,信号net_4、net_5和的net_6不能直接赋值(不可控),导致组合逻辑2的部分逻辑不能正常参于DFT测试,相应的测试覆盖率受到较大的损害。总的来说,芯片的测试覆盖率降低了。
图2 模拟模块造成的测试逻辑不可控和不可测
解决方案
针对设计中的上述情况,可以通过适当添加测试点的方式,使原来不可控和不可测的逻辑变化反映到扫描链上,使之变得间接可控和可测,以期提高整个芯片的测试覆盖率和测试效率。
对于图1所示的某些封装中,不可控和不可测的未绑出(接地或悬空)管脚,图3给出了相应的定制的解决方案。
图3 添加控制点和观测点提高测试覆盖率(封装部分管脚未绑出情况)
对于输入管脚,添加一个带有选择端的寄存器。当控制选择信号为“0”时,电路处于正常工作状态,功能逻辑从输入端接收到正常的输入数值。当选择控制为“1”时,电路处于测试状态。在移位过程中,这些点由测试链预置相应的值;在捕获过程中,将之接地防止不定态在设计中的传播。
在输出管脚处,添加少量异或门和选择器件。当控制选择信号为“0”时,电路处于正常工作状态,输出管脚正常输出功能信号。当选择控制为“1”时,电路处于测试状态,用异或门将未能绑出的管脚的变化引出,相当于这些管脚也可以被观测了。
针对图2所示的数字-模拟接口,部分模拟模块输入信号通过组合逻辑给出,但在测试时并没有逻辑将这些“终点”的信号影响引出观察,因此这些点是不可观测的。这与DFT设计可观测要求(需管脚直接输出)不相符,可能造成测试覆盖率的损害。同时,部分模拟模块输出信号控制相应的组合逻辑,但在测试中,这些点是“浮空”(不可控制)的。这与DFT设计可控要求(需管脚直接输入)不相符,造成测试覆盖率的降低。图4给出了类似前者的定制解决方案,其实质也是把这些不可控和不可测点连到测试链上去,让这些逻辑间接可观测或可控制以改善测试结果。
图4添加控制点和观测点提高测试覆盖率(数字-模拟接口情况)
如图所示,在模拟模块输入信号处添加少量异或门和选择器件,并将它们连到扫描链上去。当控制选择信号为“0”时,电路处于正常工作状态,模拟模块的输入管脚正常接收功能信号。当选择控制为“1”时,电路处于测试状态,用异或门或者其他器件将未能观测管脚的变化引出,相当于这些管脚间接可以被观测了。
如图所示,在模拟模块输出信号处添加一个带有选择端的寄存器。当控制选择信号为“0”时,电路处于正常工作状态,模拟模块信号正常输出到后续的功能逻辑。当选择控制为“1”时,电路处于测试状态:在移位过程中,这些点由测试链预置相应的值;在捕获过程中,将之接地防止不定态在设计中的传播。
对于其他的模拟模块如ADC, 存储器等,采用类似的方法可改善整个芯片的测试覆盖率和测试效率,达到目标测试效果。
结语
在前面提及的实际项目DFT设计中,功能逻辑部分含有万余寄存器。为提高测试覆盖率,添加仅12个寄存器及很少部分组合逻辑作为测试点后,即可将测试覆盖率从原来的95%提高到 98.3%。由此看来,这种方法是很有效率的。并且可根据项目实际需要,添加更多点以期达到更高覆盖率,理论上测试覆盖率可接近100%。
推荐RTL功能设计时就能考虑这种测试结构。这样做设计工程师之间能够了解彼此的设计需求,功能测试结构明晰,在DFT设计过程中省去很多麻烦。如果发现这类问题在RTL完成之后,一些DFT工具也提供用户自定义的测试点插入,但是要注意测试控制信号选取一定要与需要的测试模式匹配,否则无法完成相应的测试期望。这种方法的关键是了解在哪里加测试点更为有效。
上一篇:计算机近距离无线数据采集系统设计
下一篇:分布式测试系统的一种网络通信设计
推荐阅读最新更新时间:2024-03-30 22:06
LED显示接口模块的元器件选型
LED显示器分为共阴极LED和共阳极LED两种。 共阴极LED电路连接如图1(a)所示。8支发光二极管的阴极共同接到地上,所以叫共阴极LED,在每个发光二极管的阳极接的电阻将起到保护作用。在输入管脚接高电平时,对应的发光二极管将会发光。适当编码后,8支发光二极管组合起来就可以显示数据了。 共阳极LED电路连接如图1(b)所示。8支发光二极管的阳极共同接到电源上,所以叫共阳极LED,在每个发光二极管的阳极接的电阻将起到保护作用。在输入管脚接低电平时,对应的发光二极管将会发光。和共阴极LED一样,适当编码后,8支发光二极管组合起来就可以显示数据了。 图1 共阴极接法的7段译码器 7段译码器器件管脚图如图
[电源管理]
加州大学首次实现用神经元模拟芯片执行仿生任务
模拟人类大脑的电子芯片已经算不上新鲜事物 IBM已于去年就发布了达到量产级别的神经突触模拟芯片SyNAPSE 但要说利用这样的芯片来执行大脑任务,则还尚未有过先例。不过加州大学圣巴巴拉分校的研究人员已经打破了这个僵局。他们利用了一个最基础的、只有100个神经元突触的仿生芯片,执行并完成了人类大脑最典型的任务 图像识别。这在人类史上尚属首次。 利用基于记忆电阻(memristor)的技术来避开视觉干扰,并辨识出字母,从整体上看有点类似人要在人群中鉴别出好友。传统电脑当然也能完成这样的仿生任务,但代价却是需要配置极其昂贵,且性能异常突出的芯片。 加州大学圣巴巴拉分校的研究实验与真正的能媲美人类
[模拟电子]
MSP430单片机各种寄存器总结(4)——WDT
参考资料: 王宏波老师的PPT MSP430F6638用户手册 王宏波老师实验教程 本章最新更新日期:2018.12.22 第四章 WDT寄存器 4.1 WDTCTL 4.2 SFRIE1 & SFRIFG1
[单片机]
是德科技推出全新汽车测试解决方案 用于移动产业处理器接口
9月12日,先进设计和验证解决方案供应商是德科技(Keysight Technologies)宣布推出新的汽车串行器/解串器(SerDes)接收器(Rx)一致性测试解决方案,用于根据一致性测试规范(CTS)要求验证移动产业处理器接口(MIPI)A-PHY设备。 图片来源:是德科技 该解决方案由是德科技与BitifEye Digital Test Solutions GMBH和Wilder Technologies合作开发,并得到了Valens Semiconductor的支持。
[汽车电子]
MDK软件不能模拟仿真STM32的问题解决方法
引言 MDK软件在模拟仿真时,不能很好地支持各种STM32系列芯片,目前对STM32F103系列芯片支持模拟仿真,但对于其他系列芯片不支持或只是部分支持。主要存在的问题是:PC和SP不能自动装载,存储器不能访问,中断服务程序不能执行或触发,外设寄存器不能修改或观察。要解决上述问题,必须通过相应的设置和相关的操作,才能完成模拟仿真。 1 模拟仿真的实现及PC和SP的自动装载 在MDK软件中,只有部分STM32芯片支持模拟仿真(如STM32F103),大部分芯片都不支持模拟仿真。主要的问题是,当进入调试界面后,R15 (PC)的值为0x00000000,不能进行调试操作(如单步、全速等)。要能对STM32进行模拟仿真,必须使P
[单片机]
Nexperia推出新一代低压模拟开关
简化汽车和工业系统设计 奈梅亨,2024年3月5日: 全球基础半导体器件领域的高产能生产专家Nexperia今日宣布推出全新的专用于监测和保护1.8 V电子系统的4通道和8通道模拟开关系列产品 。该系列多路复用器包含适用于汽车应用的AEC-Q100认证型号,以及适用于更广泛的消费类和工业应用的标准版本,例如用于传感器监测与诊断、企业计算以及家用电器等场景。 在使用模拟开关时,由于控制电路的电压与模拟开关的电源电压不匹配,设计人员通常需要额外采用电平转换器。相比之下,NMUX1308和NMUX1309开关中的控制引脚可以不受其供电电压范围的影响,这意味着无需额外使用元件来进行电平转换操作,从而可以节省电路板空间并降低成
[电源管理]
用蛋白质和DNA制造的高性能存储器
日前在日本千叶县召开的日本应用物理学会会议上,科学家发布了由松下公司、东北大学、东京工业大学和大阪大学联合开发的利用蛋白质制造高性能存储器的技术。 日本科技人员为了使极小的金属微粒能够规则排列,利用了蛋白质所具有的特殊的“自组织”现象。研究人员所使用的蛋白质是内部有空洞的球状铁蛋白,其直径为12纳米。利用新技术制作的存储器已成功地实现了数据存储。传统的半导体工艺很难加工几纳米线宽的半导体器件。该技术实际使用后,可在一张邮票大小的面积上存储1T(10的12次方)比特的数据,比目前的传统存储器容量大30倍。 研究人员使用大肠杆菌制作大量铁蛋白,再将嵌入金属微粒的铁蛋白在衬底上规则排列,从而制成蛋白质存储器。具体的步骤是
[焦点新闻]
基于STM32平台的BMP180测试(模拟IIC)
1.测试描述: 使用模拟IIC,从BMP180中获取ID号、温度值、气压值以及计算海拔高度。 2.测试准备: 硬件平台:原子战舰V3开发板 测试工具:逻辑分析仪、串口调试工具 3.数据手册解读: (1) 首先是多个字节的读取时序图,从这里也可以看出BMP180芯片的地址+写信号是0xEE,地址+读信号为0xEF,当然手册前面也有提到过,有兴趣的可以自己去查看一下手册。 (2) 然后本人测试时默认使用的是下图画横线部分的部分,也就是气压这块使用的是低功耗模式。OSS的值要注意,因为后期的计算需要这个,并且读取UT值时也要做对应的处理。 (3) 下图就是手册里给出的利用BMP180里的参数计算气压和温度的
[单片机]
最新测试测量文章
更多精选电路图
更多热门文章
更多每日新闻
更多往期活动
厂商技术中心
随便看看