可测性设计技术
芯片设计中的可测试性设计技术有哪些
芯片设计中的可测试性设计技术有哪些在当今的科技时代,芯片作为各种电子设备的核心组件,其性能和质量直接影响着设备的运行效果。
而在芯片设计过程中,可测试性设计(Design for Testability,DFT)技术起着至关重要的作用。
它不仅有助于提高芯片的测试效率和质量,还能降低测试成本,确保芯片在投入使用前能够满足预期的性能和可靠性要求。
那么,芯片设计中的可测试性设计技术究竟有哪些呢?扫描测试(Scan Testing)是一种常见且重要的可测试性设计技术。
简单来说,它就像是给芯片内部的逻辑电路建立了一条“快速通道”。
在正常工作时,电路按照设计的功能运行;而在测试模式下,这些逻辑电路会被重新配置成一系列的移位寄存器,也就是所谓的“扫描链”。
测试数据可以通过这些扫描链逐位地加载到电路中,然后再逐位地读取出来,从而实现对芯片内部逻辑的全面检测。
这种技术大大提高了测试的覆盖率,能够有效地发现潜在的故障。
内建自测试(BuiltIn SelfTest,BIST)技术则是让芯片具备自我检测的能力。
想象一下,芯片内部有一个专门的模块,就像一个“小医生”,能够自动产生测试向量并对芯片的关键部分进行测试,然后将测试结果与预期结果进行比较。
BIST 技术可以用于测试存储器、逻辑电路等,减少了对外部测试设备的依赖,提高了测试的自主性和效率。
边界扫描(Boundary Scan)技术主要用于解决芯片引脚和电路板之间的连接测试问题。
通过在芯片的输入输出引脚处添加边界扫描单元,形成一个边界扫描链,可以方便地检测芯片引脚之间的连接是否正常,以及电路板上的走线是否存在断路或短路等故障。
这对于复杂的电路板系统的测试和故障诊断非常有帮助。
还有一种技术是存储器内建自修复(Memory BuiltIn SelfRepair,MBISR)。
存储器在芯片中占据着重要的地位,但也是容易出现故障的部分。
MBISR 技术能够在测试过程中检测到存储器的故障单元,并通过备用的存储单元来替换这些故障单元,从而实现存储器的自我修复,提高了存储器的可靠性。
第七章:可测试性设计(上课)
随着计算机技术的飞速发展和大规模集成电路的广泛应 用,智能仪器在改善和提高自身性能的同时,也大大增加了 系统的复杂性。这给智能仪器的测试带来诸多问题,如测试 时间长、故障诊断困难、使用维护费用高等,从而引起了人 们的高度重视。
自20世纪80年代以来,测试性和诊断技术在国外得到了 迅速发展,研究人员开展了大量的系统测试和诊断问题的研 究,测试性逐步形成了一门与可靠性、维修性并行发展的学 科分支。
(2)可测试性的标准
可测试性的概念最早产生于航空电子领域,1975年由Liour等 人在《设备自动测试性设计》中最先提出 1985年美国颁布的MIL-STD 2165----《电子系统和设备测试 性大纲规定了可测试性管理、分析、设计与验证的要求和实施 方法,是可测试性从维修性分离出来,作为一门独立的新学科 确立的标志。 我国现在执行的两部相关的测试性大纲,分别是1995年颁布 的GJB 2547《装备测试性大纲》以及1997年颁布的HB 7503
13
7.3 机内测试技术--BIT(Built IN Test)
BIT简介 常规BIT技术 智能BIT技术
14
一、BIT简介
◆ BIT的由来: 传统的测试主要是利用外部的测试仪器对被测设 备进行测试; 所需测试设备费用高、种类多、操作复杂、人员 培训困难,而且只能离线检测; 随着复杂系统维修性要求的提高,迫切需要复杂 系统本身具备检测、隔离故障的能力以缩短维修 时间; BIT在测试研究当中占据了越来越重要的地位, 成为维护性、测试性领域的重要研究内容; 在测试性研究中,BIT技术应用范围越来越广, 正发挥着越来越重要的作用。
《测试性预计程序》。
(3)产品的测试性组成
• 1.产品的固有测试; • 2.产品外部测试。
可测性设计-1
国内研究现状(续1)
在重要系统和设备研制中明确提出了测试性要求,使其 故障率降低、检测率提高,并延长全寿命周期、降低全 寿命周期费用 80 年代中期,对新研武器装备提出测试性设计要求; 90 年代后期,对所有武器装备提出测试性要求,特 别是军用飞机上电子设备 国军标:《装备测试性大纲》( GJB-2547-95 )、 《测试与诊断术语》(GJB-3385-98)等 行业标准:QJ-3050《航天产品故障模式、影响及危 害性分析指南》、QJ-3051《航天产品测试性设计准 则》等
重要性
可测性与维修性、可靠性密切相关。具有良好的测试性将减少故障检测 及隔离时间,进而减少维修时间,改善维修性。系统可测性与系统可靠 性共同决定了系统的可信性
应用
测试性设计( DFT )是实现电子系统、电子设备故障检测和故障隔离的 重要手段,在复杂系统中的应用可极大地提高系统的可靠性、可维修性。 如要求系统具有高可靠性,测试性设计是系统开发的关键
不同的故障类型需要不同的检测与诊断方法。一般而言,永久故障、 硬件故障、定值故障及单故障的检测和诊断相对较易(讨论对象), 而对应的间歇故障、软件故障、非定值故障及多故障检查与诊断较 难
18 可测性设计-1
故障影响的后果
安全性后果 —— 发生故障会对 设备使用安全性有直接不利的影响, 后果可能会引起人身伤害,甚至机 毁人亡。这种后果除来源于对使用 安全有直接影响的功能丧失外,还 可能来自因某种功能丧失所造成的 继发性二次损伤。 非使用性后果 —— 故障对设备 的使用能力没有直接的不利影响, 仅影响直接的修理费用(经济性后 果)。如,多余度领航系统的飞机 中的1个领航装臵出故障,其余领航 装臵仍可完成领航任务。 使用性后果——故障对设备使 用能力具有直接不利影响,包括间 接经济损失(如工作进度拖延、停 工等造成的损失)、直接修理费用。 故,每当因排除故障而打断计划好 的正常运行时,该故障就具有使用 性后果。 隐患性后果 —— 没有直接不利 影响,但增加了发生多故障的可能, 隐含产生直接的不利影响,属于隐 蔽功能项目的故障后果。如灭火系 统在无需灭火时,表现不出功能是 否丧失。
PCB可测试性设计技术要概述
PCB可测试性设计技术要概述随着技术进入超大规模集成(VLSI)时代,VLSI电路的高度复杂性及多层印制板、表面封装(SMT)、圆片规模集成(WSI)和多模块(MCM)技术在电路系统中的运用,都使得电路节点的物理可访问性正逐步削弱以至于消失,电路和系统的可测试性急剧下降,测试成本在电路和系统总成本中所占的比例不断上升,常规测试方法正面临着日趋严重的测试困难。
PCB可测试性设计技术要概述在电路的逻辑设计完成后,通常是以手工的方式来加入可测试性(Testability)设计。
激烈的市场竞争要求更短的设计开发周期,这样的可测试性设计方法已成为严重的设计瓶颈。
随着设计进入了以综合为基础的阶段,将测试与综合结合起来,以自动化的方式来实现可测试性设计已成为必须的趋势。
1.PCB可测试性的关键技术PCB可测试性的关键技术包括:可测试性的度量、可测试性机制的设计与优化和测试信息的处理与故障诊断。
提高印制板的可测试性,首先就要对PCB的可测试性水平进行度量,一般包括精确性和简单性两个方面。
精确性是指可测试性的度量方法能准确地预计产品测试程序生成的困难,并且定位到产品某一部位,从而便于产品设计进行可测试性更改。
简单性是指度量可测试性的计算量应小于测试程序生成的计算量。
PCB的可测试性设计过程实际上就是将某种能够方便测试进行的可测试性机制引入到PCB中,提供获取被测对象内部测试信息的信息通道。
因此,合理有效的设计可测试性机制是成功地提高PCB可测试性水平的保障。
现有的可测试性机制的设计方法包括LFSR方法、IDDQ技术、电平灵敏度设计以及边界扫描机制等。
可测试性机制的引入一方面会提高系统的可测试性水平,从而降低产品的全寿命周期费用,但另一方面也在一定程度上提高了产品的初始成本。
进行可测试性机制设计优化就是要综合权衡各种可测试性机制的性能和费用,采用性能费用比最佳的设计机制。
提高产品质量和可靠性,降低产品全寿命周期费用,要求可测试性设计技术能够方便快捷地获取测试时的反馈信息,能够很容易地根据反馈信息做出故障诊断。
可测试性设计技术
系统测试的目的是验证软件系 统是否符合需求规格,以及是
否能够正常地运行。
系统测试通常在集成测试之后 进行,以确保整个软件系统的
稳定性和可靠性。
系统测试可以发现软件系统中 的缺陷、漏洞和性能问题。
验收测试
01
验收测试是对软件系统的一种评估,以确定它是否满足用户需求和预 期结果。
详细描述
在测试过程中,测试数据的质量直接影响到测试结果的可信度。因此,需要管理好测试数据,确保其质量和一致 性。这包括数据的生成、存储、保护和使用等方面。有效的测试数据管理可以提高测试的效率和可靠性,降低测 试成本和风险。
自动化测试工具
总结词
自动化测试工具是用于执行自动化测试的软件工具,它能够提高测试效率和准确性,减 少人为错误和重复工作。
详细描述
TDD的基本原则是在编写任何功能代码之前,先编写测试代码。这些测试代码描述了预期的功能行为 ,然后通过实现功能代码来满足这些测试。这种方法有助于提高代码质量和可维护性,降低软件缺陷 的风险。
行为驱动开发(BDD)
总结词
行为驱动开发是一种软件开发方法论,它强调从行为角度描述软件系统,并通过 明确的行为规格来驱动设计和开发。
详细描述
BDD关注的是系统的行为和功能,而不是具体的实现细节。它使用简洁明了的自 然语言来描述系统行为,以便各方利益相关者能够理解并达成共识。BDD通过明 确的行为规格来驱动设计和开发,确保最终的软件系统符合预期的行为。
测试数据管理
总结词
测试数据管理是确保测试数据的质量、一致性和可靠性的过程,它对于测试的有效性和可靠性至关重要。
02
验收测试通常由用户或客户进行,以确保软件系统能够满足实际应用 场景的需求。
可测性设计技术
可测性设计技术摘要本文从可测性设计与VLSI测试,VLSI设计之间的关系出发,将与可测性设计相关的VLSI 测试方法学、设计方法学的内容有机地融合在一起,文中简要介绍了VLSI可测性设计的理论基础和技术种类,可测性设计的现状,发展趋势,可测试性设计的内涵、意义和分类,并且探讨了可测性设计的实现方法。
关键词:可测性设计,自动测试生产,扫描技术,边界扫描技术,嵌入式自测试。
1可测性设计技术概述可测性的起源于发展过程20世纪70年代,美军在装备维护过程中发现,随着系统的复杂度不断提高,经典的测试方法已不能适应要求,甚至出现测试成本与研制成本倒挂的局面。
20世纪80年代中,美国军方相继实施了综合诊断研究计划。
并颁布《系统和装备的可测性大纲》,大纲将可测性作为与可靠性及维修等同的设计要求,并规定了可测性分析,设计及验证的要求及实施方法。
该标准的颁布标志这可测性作为一门独立学科的确立。
尽管可测性问题最早是从装备维护的角度提出,但随着集成电路(IC)技术的发展,满足IC测试的需求成为推动可测性技术发展的主要动力。
从发展的趋势上看,半导体芯片技术发展所带来的芯片复杂性的增长远远超过了相应测试技术的进步。
随着数字电路集成度不断提高,系统日趋复杂,对其测试也变得越来越困难。
当大规模集成电路LSI和超大规模集成电路VLSI问世之后,甚至出现研制与测试费用倒挂的局面。
这就迫使人们想到能否在电路的设计阶段就考虑测试问题,使设计出来的电路既能完成规定的功能,又能容易的被测试,这就是所谓的可测性设计技术。
因此也就出现了可测性的概念。
可测性的基本原理可测试性大纲将可测试性(testability)定义为:产品能及时准确地确定其状态(可工作、不可工作、性能下降),隔离其内部故障的设计特性。
以提高可测试性为目的进行的设计被称为可测试性设计(DFT: design for testability)。
可测试性是测试信息获取难易程度的表征。
DFT,可测试性设计--概念理解
DFT,可测试性设计--概念理解⼯程会接触DFT。
需要了解DFT知识,但不需要深⼊。
三种基本的测试(概念来⾃参考⽂档):1. 边界扫描测试:Boundary Scan Test: 测试⽬标是IO-PAD,利⽤JTAG接⼝互连以⽅便测试。
(jtag接⼝,实现不同芯⽚之间的互连。
这样可以形成整个系统的可测试性设计)2. 内建⾃测试BIST:(模拟IP的关键功能,可以开发BIST设计。
⼀般情况,BIST造成系统复杂度⼤⼤增加。
memory IP⼀般⾃带BIST,简称MBIST)3. 扫描测试(ATPG)Scan path: 与边界扫描测试的区别,是内部移位寄存器实现的测试数据输⼊输出。
测试⽬标是std-logic,即标准单元库。
(扫描测试和边界扫描,不是⼀个概念。
需要区别对待。
内部的触发器,全部要使⽤带SCAN功能的触发器类型。
)补充:还有⼀种测试:4. 全速测试at-speed-test(其实是属于扫描测试的⼀种。
只不过测试时钟来源频率更快。
)at-speed 就是实速测试,主要⽤于scan测试-即AC测试和mbist测试。
这种测试⼿段的⽬的是-测试芯⽚在其⼯作频率下是否能正常⼯作,实速即实际速度。
测试时钟往往是由芯⽚内部的PLL产⽣很快的测试时钟,⽤于实速测试。
相对⽽⾔,⼀般的测试是20~40兆的测试时钟,频率低,测不到transition fault。
即使测试通过,实际使⽤中还会由于使⽤⾼频时钟发⽣芯⽚电路故障。
常见的DFT/OCC结构如下:特点:1. Clock MUX必须放在OCC模块/DFT MUX之前。
(OCC:On Chip Clock)2. 时钟⼤于50MHz时,使⽤OCC模块,否则使⽤DFT MUX。
3. Clock Gate放在OCC模块/DFT MUX之后。
4. 对于⼿动添加的Clock Gate,DFT_SE端⼝接到 dft_glb_gt_se。
5. 对于综合⼯具添加的Clock Gate,DFT_SE端⼝接到dft_syn_gt_se注意:1. DFT_MODE有效时,clock mux的sel信号要保证dft_clk来源于最⾼频率的时钟源。
可测性设计技术的发展
理; 最后 总结 了可测行设 计面临的难题。
【 关键词 】 可测性设计; 扫描设计; 边界扫描: 内建 自测试
O . 概 述
随着集成 电路的集成度和复杂度 的急剧增大 . 随之增加的是集成 电路 的测试难度 和测试 成本 一方 面. 由于 自动测试设 备( A T E ) 成本 和数据通道 、 测试频率等的限制 , 导致芯片的测试成本越来越大[ 1 1 2 ] 另 方面, 测试时间越来越长 . 测试矢量 的数 目越来越多 , 测试覆盖率却
测试存取通道包括测试数据输. A . ( T D I ) 、 测试数据输 出( T D O ) 、 测 L o n g e s t P a t h s P e r G a t e ( K L P G ) “ T e s t G e n e r a t i o n f o r S c a n - B a s e d S e q u e n t i a l C i r c u i t 试方 法选择 ( T M S ) 、 测试时钟 ( T C K ) 和测试 复位( T R S T ) 五个信号 . 它 【 c ] ” . I E E E l n t e ma t i o n a l T e s t C o n f e r e n c e , 2 0 0 4 : 2 2 3 — 2 3 1 . 们各 自的功能如下 : ①T c K : 专门用于测试 的时钟信号 ②T D I : 以串行方式移人数据 , 包括测试激励和指令数据 ③T D 0 : 以串行方式移出数据 . 包括测试响应和指令数据 ④T M s : T M S 用来传递测试 控制信息 . 设置 J T A G口处于某种特定 的测试模式 ⑤T R S T : 可选 引脚 , 用 于异步 测试复 位 , 为输入 引脚 . 低 电平 有 效。 边界扫描寄存器环绕 在器件周围 .功能和 扫描设 计的寄存器类 似, 内部的逻辑可 以通过这些存 储器进行数据和指令 的读写 . 主要包 括指令 寄存器和数据寄存器。而数据 寄存器又包括旁路寄存器 、 边界 扫描寄存器和器件标志寄存 器
软件工程中的可测试性设计技术
软件工程中的可测试性设计技术在当今数字化的时代,软件几乎无处不在,从我们日常使用的手机应用程序到复杂的企业级系统。
而确保软件的质量和可靠性是至关重要的,这就离不开软件工程中的可测试性设计技术。
可测试性设计技术,简单来说,就是在软件开发的过程中,有意识地采用一些方法和策略,使得软件更容易被测试,从而能够更高效地发现和修复潜在的问题。
这就好比在建造一座房子时,提前规划好如何方便地检查房屋的结构和设施是否稳固,而不是等到建成后才发现难以进行检查和维修。
为什么可测试性设计如此重要呢?首先,它能够显著提高测试的效率。
想象一下,如果一个软件的架构混乱,模块之间的交互复杂且不清晰,那么测试人员在进行测试时就会像在迷宫中摸索,浪费大量的时间和精力,还可能遗漏一些重要的测试点。
相反,如果软件在设计时就考虑了可测试性,测试用例的编写和执行会变得更加顺畅,测试的覆盖度也能够得到更好的保证。
其次,良好的可测试性有助于提高软件的质量。
通过更全面和有效的测试,可以更早地发现软件中的缺陷和错误,降低软件在实际运行中出现故障的风险。
而且,可测试性设计能够促进开发人员在编写代码时更加注重代码的质量和规范性,因为他们知道自己的代码将会接受严格的测试。
那么,在软件工程中,有哪些常见的可测试性设计技术呢?一种常见的技术是模块化设计。
将软件系统分解为独立的模块,每个模块具有明确的功能和接口。
这样,测试人员可以单独对每个模块进行测试,而不必担心其他模块的影响。
同时,模块化设计也使得模块的替换和维护更加容易,如果某个模块出现问题,可以快速定位并进行修复或替换。
接口设计也是关键的一环。
清晰、简洁和稳定的接口能够让测试人员更容易理解模块之间的交互方式,从而更有效地设计测试用例。
此外,定义良好的接口还能够提高代码的可复用性,减少代码的冗余。
另外,使用设计模式也能够增强可测试性。
例如,观察者模式可以方便地对事件的触发和响应进行测试,策略模式可以轻松地替换不同的算法策略进行测试。
第九章 DFT可测性设计.ppt.Convertor
第九章 DFT可测性设计DFT基本原理扫描技术芯片内装自测试特征分析“可测性设计”的基本原理强调的是设计目标的核心是可测性。
设计中的测试逻辑扮演着两个角色。
帮助设计者排除一个芯片的设计缺陷捕获芯片在物理上的缺陷问题(1)帮助设计者排除一个芯片的设计缺陷:这些设计缺陷所引起的问题是芯片也可能会按照设计者所设计的功能运行,但这个芯片一旦用到系统的时候,就不会正常的工作。
(2)捕获芯片在物理上的缺陷问题:物理上的缺陷问题通常在生产过程中表现出来,但有时候某些处于边沿极限的问题,只有当芯片在工作现场运行了一段时间之后才会出现。
有些时候,同样的测试逻辑能够同时担任两个角色,但有些时候,这两个角色需要不同的测试结构来担任。
一般来说,我们都采用10/10原则进行可测性设计。
测试电路的规模不要超过整个FPGA逻辑电路的10%花费在设计和仿真测试逻辑上的时间不应超过设计整个逻辑电路所花时间的10%1、测试备用逻辑备用逻辑一般用于需要连续不断工作的系统而不能出现故障。
军事系统和银行系统就是典型的例子。
在这类系统中,逻辑电路是双重双倍的。
在备用硬件电路后面有一个电路装置,用于比较各个备用电路的输出。
这些系统常常有三个备用电路模块,如果一个模块失效,那么另外两个模块还可以正常的工作。
比较电路也被称为表决逻辑,因为它比较来自于三个备用模块的信号,然后判决出相一致的多数信号是正确的值。
2、如何测试备用逻辑测试备用逻辑是一个独立的问题,图9-1(a)显示了一个具有备用逻辑电路的电路图结构。
图9-1 测试备用逻辑然而,因为此电路是不可测试的,所以其用途并不是很有用。
如果存在一个设计缺陷,或者是芯片在起运之前就出现了物理性的故障,备用逻辑都不能很好的发现这些问题。
如果某一个问题发生在故障的现场,那么运行的芯片就只能产生错误的结果―――一个不正确的备用逻辑将无法避免这个故障的发生。
图9-1(b)显示了如何为一个测试目的而对图9-1(a)所做的改进。
可测性设计
七、边界扫描技术
七、边界扫描技术
边界扫描的整体结构如下图所示:
1.具有4或5个引 脚的测试存取通 道TAP;
2.一组边界扫描 寄存器,指令寄存 器IR,数据寄存 器DR;
3.一个TAP控制 器。
八、随机逻辑的内建自测试设计
随机逻辑内建自测试是将测试作为电路自 身的一部分,将测试矢量生成电路及测试响应 分析逻辑置入电路的内部,使具有BIST(内建 自测试)功能的电路无须外部支持即可以产生 测试激励、分析测试响应。内建自测试一般包 括测试矢量生成电路(激励)、特征分析电路、 比较分析电路,存储特征符号的ROM(ReadOnly Memory)和测试控制电路,一般结构如 下图所示。
五、可测性设计的分类
专项设计:即按功能基本要求,采取一些比较 简单易行的措施,使所设计电路的可靠性得到 提高。它是针对一个已成型的电路设计中的测 试问题而提出来的。它采用传统的方法对电路 某些部分进行迭代设计,以提高可测试性。
结构设计:是从设计一开始就建立测试结构, 每个子电路都具有嵌入式测试的特征。它是根 据可测性设计的一般规则和基本模式来进行电 路的功能设计,主要包括扫描技术和内建自测 试两种测试技术。
九、嵌入式存储器的内建自测试设计
十、结束语
目前装备系统和芯片的复杂化有加快增长 的趋势,而当今能掌握的测试诊断方法面对复 杂性增长如此迅速系统的测试验证几乎处于 “无解”的状态,因此采用可测性设计技术简 化复杂测试问题成为一种必然的选择,为可测 性设计技术提供了良好的发展前景,然而,目 前可测性设计技术在理论和应用环节上仍存在 很多制约其发展的难点和技术问题,尚远不能 满足复杂性增长对测试验证的需求。在未来的 工作中,还应不断的进行完善。
六、专项可测性设计
可测试性设计技术与芯片质量
条件 覆 盖 率 检 查 等 )帮 助开 发 更有 效 的 功能 仿 真 向量 集 实 抽 象 就 称 为故 障 模 型 。 比 如 某 种 类 型 的 电 学 故 障 可 以 抽
现 尽 可 能 多 的设 计 代 码 行 、条 件 语 句 分 支 、FSM 状 态 、条 象 为 单 元 中的 信 号 状 态 被 锁 定 在 逻 辑 “0”或 者 逻 辑 “1”
质量 也 得 不 到 保 证 ,与 此 同时 ,功 能 测 试 向 量 也 不 便 于 失 辑 。测 试 逻 辑 不 仅便 于 高 质 量 测 试 向量 的 自动 产 生 ,同 时
效 器 件 的 故 障 诊 断 。
也 提 供 诊 断 失效 器 件 的 高 效 率 方 法 。
如 果 可 以 为 一 个 芯 片 设 计 产 生 合 适 的 测 试 向量 集 ,
118 ·2002.9.B I耄号座品t幕 WWW.edw.corn.crl
维普资讯
热 点 /f ’、、
~
\ 、
值 。很 显然 ,高 的 测 试 覆 盖率 对 于 减 小 DPM 来 说 是 必 须 本 以 及 名 誉 的 损 失 ;其 次 ,DFT可 以 提 升 和 确 保 产 品 质
来 决 定 ,通 常 有 一 些 辅 助 的 工具 来 评 估 功 能 仿 真 向 量 集 结 间穿 Байду номын сангаас 等 问 题 。 而 这 样 的 物 理 失 效 必 然 导 致 电 路 功 能
的完备程 度 ,一些 覆盖率检 查工具(如代码覆 盖率检查 , 或者性 能方面 的故障 。对这 些 电学故障进 行的逻辑行 为
件转 移 等 的 覆 盖 。
上 (SA0或 者 SA1),这 种 类 型 物 理 失 效 的抽 象 模 式 也 称 为
可测性设计及DFT软件的使用
可测性设计及DFT软件的使用可测性设计是指在集成电路设计过程中,考虑到测试的需求和限制,通过特定的设计技术和方法,提高电路的测试覆盖率和测试质量。
DFT (Design for Testability)软件是用于实施可测性设计的工具,可以帮助设计工程师分析和优化设计,以满足测试要求。
可测性设计的目的是为了确保设计中的各个模块都能够被有效测试,以提高故障的发现概率。
在芯片设计中,由于电路越来越复杂,测试变得更加困难,因此需要采取可测性设计来解决这一问题。
可测性设计技术主要有以下几种:1. 扫描设计:通过插入扫描链(Scan Chain)在设计中,可以将芯片状态以串行链的形式移出到外部,然后通过向扫描链输入测试向量,将测试信号直接送入到芯片内部,从而避免了复杂的测试模式生成。
2.随机模式生成:使用随机模式生成器产生大量高质量的测试模式,并增加测试模式的多样性,提高测试覆盖率。
3.冗余设计:通过增加冗余逻辑或器件,提高故障的可检测性。
例如,在存储器设计中,可以增加冗余的存储单元来修复故障。
4.割线测试:通过在设计中插入特定的割线,将电路分割成可独立测试的模块,从而提高测试的效率和灵活性。
DFT软件是用于实施可测性设计的工具,可以帮助设计工程师分析和优化设计,以满足测试要求。
主要功能包括:1.扫描链生成与优化:DFT软件可以自动生成扫描链,并根据测试目标对扫描链进行优化。
它还可以按照指定的扫描链长度进行荷载分析,以确定扫描链的最佳长度。
2.灵活的测试模式生成:DFT软件可以根据设计规范和测试要求,生成高质量的测试模式,并提供多种测试模式生成方法,如随机模式生成和割线测试。
3.冗余设计分析:DFT软件可以快速分析设计中的冗余元件,并根据故障覆盖率和面积开销等指标,提供最佳的冗余设计方案。
4.测试覆盖率评估:DFT软件可以评估测试向量对设计中故障的覆盖率,并根据测试覆盖率结果,优化测试向量生成策略。
5.割线分析:DFT软件可以对割线进行分析,并根据割线的特性和测试需求,优化割线的位置和数量。
可测性设计
准的集成电路。 ➢ 优先选用同时支持IEEE1149.1和IEEE1532标准的可编程
集成电路。IEEE1532标准能使来自不同厂家的可编程逻 辑集成电路使用相同软件进行编程。
可测性设计
边界扫描技术
❖ 设计边界扫描链
➢ 由于LATTICE、XILINX、ALTERA、TI和AD公司的编程 软件工具不兼容,因此,为了便于使用各自的编程软件 工具进行编程,不同公司的可编程集成电路应放置在不 同的扫描链上,每一个扫描链提供一个独立的用于编程 和测试的JTAG接口。根据IEEE1149.1标准,JTAG测试 接口包括TMS、TCK、TRST、TDI和TDO等5种信号。 为了适应多JTAG接口的要求,边界扫描测试系统应提供 多个JTAG接口,例如ScanWorks最多能提供16个JTAG 接口。
可测性设计
边界扫描技术
➢
可测性设计
边界扫描技术
❖ 特殊功能引脚的连接方法 ➢ 某些支持边界扫描测试的集成电路有一些特殊功能引脚,
这些引脚影响边界扫描测试功能。 ➢ 当进行边界扫描测试时,需要将这些引脚设置到特定的
状态。 ➢ 在使用集成电路之前,应仔细阅读该集成电路的BSDL文
件,然后按照特殊功能引脚的使用要求进行合理的连接。 ➢ BSDL文件是由集成电路制造商提供的描述该芯片边界扫
可测性设计
边界扫描技术
❖ 内部扫描设计技术有两种: ➢ 全扫描技术,将电路中所有的触发器用特殊设计的具有
扫描功能的触发器代替,使其在测试时链接成一个或几 个移位寄存器; ➢ 部分扫描技术,只选择一部分触发器构成移位寄存器, 降低了扫描设计的硬件消耗和测试响应时间。 ❖ 边界扫描测试方法于1990年成为IEEE的标准,即IEEE Std 1149.1-1990,目前最新的版本为IEEE1149.12001[2] 。该标准由JTAG(Joint Test Action Group) 组织制订。边界扫描测试技术的基本思想是从集成电路 本身的测试性设计入手,解决数字电路板的测试问题。
可测性设计技术
可测性设计技术摘要本文从可测性设计与VLSI测试,VLSI设计之间的关系出发,将与可测性设计相关的VLSI 测试方法学、设计方法学的内容有机地融合在一起,文中简要介绍了VLSI可测性设计的理论基础和技术种类,可测性设计的现状,发展趋势,可测试性设计的内涵、意义和分类,并且探讨了可测性设计的实现方法。
关键词:可测性设计,自动测试生产,扫描技术,边界扫描技术,嵌入式自测试。
1可测性设计技术概述可测性的起源于发展过程20世纪70年代,美军在装备维护过程中发现,随着系统的复杂度不断提高,经典的测试方法已不能适应要求,甚至出现测试成本与研制成本倒挂的局面。
20世纪80年代中,美国军方相继实施了综合诊断研究计划。
并颁布《系统和装备的可测性大纲》,大纲将可测性作为与可靠性及维修等同的设计要求,并规定了可测性分析,设计及验证的要求及实施方法。
该标准的颁布标志这可测性作为一门独立学科的确立。
尽管可测性问题最早是从装备维护的角度提出,但随着集成电路(IC)技术的发展,满足IC测试的需求成为推动可测性技术发展的主要动力。
从发展的趋势上看,半导体芯片技术发展所带来的芯片复杂性的增长远远超过了相应测试技术的进步。
随着数字电路集成度不断提高,系统日趋复杂,对其测试也变得越来越困难。
当大规模集成电路LSI和超大规模集成电路VLSI问世之后,甚至出现研制与测试费用倒挂的局面。
这就迫使人们想到能否在电路的设计阶段就考虑测试问题,使设计出来的电路既能完成规定的功能,又能容易的被测试,这就是所谓的可测性设计技术。
因此也就出现了可测性的概念。
可测性的基本原理可测试性大纲将可测试性(testability)定义为:产品能及时准确地确定其状态(可工作、不可工作、性能下降),隔离其内部故障的设计特性。
以提高可测试性为目的进行的设计被称为可测试性设计(DFT: design for testability)。
可测试性是测试信息获取难易程度的表征。
第七章:可测试性设计(上课)
随着计算机技术的飞速发展和大规模集成电路的广泛应 用,智能仪器在改善和提高自身性能的同时,也大大增加了 系统的复杂性。这给智能仪器的测试带来诸多问题,如测试 时间长、故障诊断困难、使用维护费用高等,从而引起了人 们的高度重视。
自20世纪80年代以来,测试性和诊断技术在国外得到了 迅速发展,研究人员开展了大量的系统测试和诊断问题的研 究,测试性逐步形成了一门与可靠性、维修性并行发展的学 科分支。
我国现在执行的两部相关的测试性大纲,分别是1995年颁布 的GJB 2547《装备测试性大纲》以及1997年颁布的HB 7503 《测试性预计程序》。
(3)产品的测试性组成
• 1.产品的固有测试; • 2.产品外部测试。
二、可测试性设计要求
在尽可能少地增加硬件和软件的基础上, 以最少的费用使产品获得所需的测试能力, 简便、迅速、准确地实现检测和诊断。
电子信息与自动化学院《智能仪器》
2019年8月6日
27
三 智能BIT技术
常规BIT技术有以下两个方面问题:
功能相对简单,诊断技术单一, 诊断能力差;
虚警率高; 智能BIT主要研究内容 BIT智能设计 BIT智能检测 BIT智能诊断 BIT智能决策
电子信息与自动化学院《智能仪器》
◆ BIT的定义
BIT是指系统、设备内部提供的检测、隔 离故障的自动测试能力。
系统主装备不用外部测试设备就能完成对 系统、分系统或设备的功能检查、故障诊 断与隔离以及性能测试,它是联机检测技 术的新发展。
16
2.BIT技术的作用
(1)提高系统的诊断能力 (2)简化设备维护 (3)降低总体费用
培训困难,而且只能离线检测; 随着复杂系统维修性要求的提高,迫切需要复杂
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
可测性设计技术【摘要】随着微电子技术的迅速发展、芯片集成度的不断提高以及电路板复杂性的不断增加,传统的测试模型和测试方法已经不能满足当前的测试要求,测试费用急剧增加。
本文介绍了可测试性设计的内涵、意义和分类,可测试性设计有两种方法:专项可测试性设计和结构化可测试性设计(边界扫描和内建自测试),并讲述了这些方法的基本原理。
【关键词】可测试性设计;边界扫描;内建自测试随着数字电路集成度不断提高,系统日趋复杂,对其测试也变得越来越困难。
当大规模集成电路LSI和超大规模集成电路VLSI问世之后,甚至出现研制与测试费用倒挂的局面。
这就迫使人们想到能否在电路的设计阶段就考虑测试问题,使设计出来的电路既能完成规定的功能,又能容易的被测试,这就是所谓的可测性设计技术。
因此也就出现了可测性的概念。
一、基本概念在可测性的概念出先不久之后,人们又遇到了一个难题,即大家设计出来的电路在测试方面到底谁优谁劣,没有统一的标准,因此就需要对电路的测试难易程度进行数量描述,即可测性分析。
可测性分析是指对一个初步设计好的电路或待测电路不进行故障模拟就能定量地估计出其测试难易程度的一类方法。
在可测性分析中,经常遇到三个概念:可控制性、可观察性和可测性。
可控制性:通过电路的原始输入向电路中的某点赋规定值(0或1)的难易程度。
可观察性:通过电路的原始输入了解电路中某点指定值(0或1)的难易程度。
可测性:可控制性和可观察性的综合,它定义为检测电路中故障的难易程度。
可测性分析就是对可控制性、可观察性和可测性的定量分析。
但在分析过程中,为了不失去其意义,必须满足下面两条基本要求:(1)精确性,即通过可测性分析之后,所得到的可控制性、可观察性和可测性的值能够真实的反映出电路中故障检测的难易程度。
(2)复杂性,即计算的复杂性,也就是对可控制性和可观察性的定量分析的计算复杂性要低于测试生成复杂性,否则就失去了存在的价值。
二、可测性设计的意义据统计资料表明,检测一个故障并排除它,所需的开销若以芯片级为1,则插件级为10,系统级为100,机器使用现场为1000。
这表明,故障一定要在芯片级测出并排除它,绝不能把坏芯片带到插件中去。
但由于现在的芯片,一般都是几千到几百万个门的电路,而外部可用于测试的端脚又非常的少,因此,芯片的测试是一件十分困难的事。
尽管新的测试方法不断涌现,但由于集成技术的快速发展,测试生成的速度远远赶不上集成度的增长的需要。
根据很多实验证实,测试生成和故障模拟所用的计算机的时间与电路中门数的平方到立方成正比,也就是说测试的开销呈指数关系增长。
但另一方面,由于微电子技术的发展,研制与生产成本的增长速度远远小于指数增长。
因此,就使得测试成本与研制成本的比例关系发生了极大的变化,有的测试成本甚至占产品总成本的70%以上,出现了测试与研制开销倒挂的局面。
图2.1 测试生成处理开销与电路规模的关系1所示。
图中DT表示可测性设计,UD表示无拘束设计,H表示测试开销,G表示电路中的门数。
从图中可以看出,对于无拘束设计,测试开销将随电路规模的增大呈指数上升,而采用了可测性设计之后,测试开销与电路规模基本上呈线性增长关系。
因此,我们可以得出结论:对于LSI和VLSI,可测性设计是必不可少的。
三、可测性设计的目标可测性设计,简单地说,就是使逻辑电路易于测试的设计,或者说是以改善逻辑电路可测性、可诊断性为目标的设计。
可测性设计并不是改变原来电路的功能和能力,而是尽量少用附加的硬件,力求用一个简单的测试序列去测试逻辑电路的一种设计方法。
从上述观点出发,可得可测性设计目标为:(1)缩短测试序列的生成时间,也就是对被测电路生成测试码时,所用的算法尽量简单。
(2)缩小测试序列的集合,即使测试施加时间尽量缩短。
四、可测性设计的分类为了达到上述的可测性设计的目标,一般来说都会增加硬件的费用。
在这方面有两种基本的策略:一种是为了获得最大的可测性而不惜成本地作设计;另一种是采取一些有效的方法,增加少量或有限的硬件开销来提高电路的可测性。
基于这两种基本策略,把可测性设计方法分成两类:一类是专项设计,即按功能基本要求,采取一些比较简单易行的措施,使所设计电路的可靠性得到提高。
它是针对一个已成型的电路设计中的测试问题而提出来的。
它采用传统的方法对电路某些部分进行迭代设计,以提高可测试性。
另一类是结构设计,是从设计一开始就建立测试结构,每个子电路都具有嵌入式测试的特征。
它是根据可测性设计的一般规则和基本模式来进行电路的功能设计,主要包括扫描技术和内建自测试两种测试技术。
这两类设计中,前者处理时序电路是十分困难的,不能根本解决测试问题。
因此对时序电路可测性设计,只有采取结构设计才能解决测试时序电路的困难。
对于上述两类设计,它们的基本设计思想是一致的,首先要把电路分块。
因为电路的测试序列长度与电路的输入数与元件数有关。
前文提到,产生电路测试码时间与电路的门数的平方到立方成正比。
因此可以直观的看出若把电路均匀分成两块,则计算测试时间可下降到四分之一至八分之一左右。
其次是提高电路的可控制性值与可观察性值,也就是提高电路的可测性值。
提高了电路的可测性值,也就减少了测试矢量产生与施加的开销。
五、专项可测试性技术设计专项可测试性常用的方法是用可测试性的度量值来寻找有限的附加测试点和控制点,以提高电路的可观性和可控性,从而提高电路的可测试性。
为了对可测试性进行量化分析,Goldstein于1979年提出了可测试性度量的概念进而对可测试性的两个度量:可控性值和可观性值进行了定义,Goldstein 于1980年提出的SCOAP(Sandia Controllability/Observability Analysis Program)可测试性度量被广为接受。
SCOAP可测试性度量规定电路中每个节点由6个参量来描述,即组合0可控性(CC0),组合1可控性(CC1),时序0可控性(SC0),时序1可控性(SC1),以及组合可观性(CO)和时序可观性(SO)。
可控性值范围在1~∞之间,可观性值位于0~∞之间。
线路度量值越高,控制和观测将越困难。
可控性值的估计:定义1:欲置节点N值为组合逻辑值0(1),需要对相关节点赋以确定组合逻辑值的最小赋值次数,称为节点N的组合0(1)可控性值,用CC0(N)(CC1(N))表示。
定义2:欲置节点N值为时序0(1),需要对相关节点赋以确定时序逻辑的最小赋值次数,称为节点N的时序0(1)可控性值,用SC0(N)(SC1(N))表示。
实际上,时序可控性值提供了控制节点所需的时段数。
为了计算数字系统各节点的可控性值,首先将原始输入的组合可控性值置为‘1’,时序可控性值置为‘0’。
然后,从原始输入开始,按照电路描述,用表5.1列出的标准单元可控性值计算公式,依次计算电路各节点的可控性值。
表5.1标准单元的可控性值计算公式可观性值的估计:定义3:为把节点N的信息传播到原始输出,所需最少的组合逻辑值赋值次数叫节点N的组合可观性值,CO(N)表示。
定义4:为把节点N的信息传播到原始输出,所需最少的时序逻辑值赋值次数叫节点N的时序可观性值,SO(N)表示。
为了计算电路各节点的可观性值,首先将原始输出端的可观性值置为‘0’。
然后,从原始输出开始,按照表5.2列出的标准单元可观性值计算公式,用前面已算出的可控性值,即可求出电路各节点的可观性值。
表5.2标准单元的可控性值计算公式专用可测试性技术采用迭代的方法对局部电路进行修改,而结构化可测试性设计技术则是从全局的角度出发对电路进行系统化设计,在结构化可测试性技术形成之前,采用传统方法改善可测试性,例如时序电路测试前先进行初始化,插入测试点,及电路分块。
以图5.1(a)为例,说明专项可测性技术的具体实现:图5.1(a)原始电路图5.1(a)电路中1,2,3为原始输入,对图中各节点进行‘0’可控性值的计算,如下:CC0(1)=CC0(2)=CC0(3)=CC1(1)=CC1(2)=CC1(3)=1(原始输入)CC0(4)=CC1(3)+1=2CC1(4)=CC0(3)+1=2CC0(7)=min[CC0(1),CC0(2)]+1=2CC0(8)=CC1(2)+1=2CC0(10)=min[CC0(8),CC0(9)]+1=3(CC0(9)虽然没有计算,但是显然大于2)CC0(11)=[CC0(7)+CC0(10)]+1=6CC0(6)=CC1(11)+1=min[CC1(7),CC1(10)]+1=CC1(7)+1=CC1(1)+CC2(2)+2=4CC1(4)=CC0(3)+1=2CC0(5)=CC0(6)+CC0(4)+CC1(4)=7+2+2=11CC0(12)=CC0(5)+CC0(4)+CC0(4)=11+2+2=15CC0(9)=CC0(5)+CC0(12)+1=11+15+1=27可见在节点9处的‘0’可控性值最大,为27,即该点可控性最差,如在该节点处插入两输入与门,则CC0(9)将由27降为2。
插入与门后的电路如图5.1(b)所示。
因此电路的可控性值减小,可控性将提高。
同样,对图2.3所示电路,可计算出各节点的‘1’可控性值和可观性值。
通过插入或门和引出观测点则可降低节点的‘1’可控性和可观性值。
图5.1(b)插入与门后的电路六、边界扫描技术边界扫描测试是通过在芯片的每个I/O脚附加一个边界扫描单元以及一些附加的测试控制逻辑实现的,BSC主要是由寄存器组成的。
每个I/O管脚都有一个BSC,每个BSC有两个数据通道:一个是测试数据通道,测试数据输入、测试数据输出;另一个是正常数据通道,正常数据输入(Normal Data Input,NDI)、正常数据输出(Normal Data Output,NDO)。
如图6.1所示。
在正常工作状态,输入和输出数据可以自由通过每个BSC,正常工作数据从NDI进,从NDO出。
在测试状态,可以选择数据流动的通道:对于输入的集成电路(Integrated Circuit,IC)管脚,可以选择从NDI或从TDI输入数据;对于输出的IC管脚,可以选择从BSC输出数据至NDO,也可以选择从BSC输出数据至TDO。
图6.2给出了基本扫描单元的电路,模块MUX21是一个二选一,PI:并行输入,PO:并行输出,clk1和clk2是两个时钟信号,SI:串行输入,SO串行输出,shift:移位/装载,test mode:测试方法选择。
每一个扫描单元有四个端口:PI,PO,SI 和SO,具有移位(Shift)、捕获(Capture)、刷新(Update)三种功能。
图6.1 边界扫描单元BSC的连接图6.2 基本的边界扫描测试单元BSC边界扫描的整体结构如图6.3所示,主要由以下硬件组成:1.具有4或5个引脚的测试存取通道(Test Access Port,TAP);2.一组边界扫描寄存器,指令寄存器(Instruction Register,IR)数据寄存器(Data Register,DR);3.一个TAP控制器。