可测性设计技术
芯片设计中的可测试性设计技术有哪些

芯片设计中的可测试性设计技术有哪些在当今的科技时代,芯片作为各种电子设备的核心组件,其性能和质量直接影响着设备的运行效果。
而在芯片设计过程中,可测试性设计(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 : 可选 引脚 , 用 于异步 测试复 位 , 为输入 引脚 . 低 电平 有 效。 边界扫描寄存器环绕 在器件周围 .功能和 扫描设 计的寄存器类 似, 内部的逻辑可 以通过这些存 储器进行数据和指令 的读写 . 主要包 括指令 寄存器和数据寄存器。而数据 寄存器又包括旁路寄存器 、 边界 扫描寄存器和器件标志寄存 器
- 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控制器。