DFT笔记15

2.6 SCAN DESIGN RULES(scan设计规则)

一些典型的scan设计规则如下表:

*标记"avoid"表示在shift和capture整个操作过程中都要避免

*标记"avoid during shift"表示在只在shift操作过程中避免

一些重要的规则在下面小分节细讲。

2.6.1 Tristate Buses

Bus contention:总线争用的定义,两个总线驱动不同的逻辑值进入tristate bus,这会损坏芯片。

目前测试生成时可以在normal operation和capture operation情况避免总线争用,但是在shift operation时没办法保证,所以为了避免这个情况,要对tristate bus做一些修正保证只有一个驱动控制总线,举例子如下图,a图所示有3个总线驱动D1、D2、D3(可能会争用):

修正后的电路如下图b,SE = 1为shift mode时,EN1 = 1(使能D1),EN2和EN3 = 0(禁止D2和D3)(一次只允许一个驱动):

还有一个注意点,总线不能是floating的状态,因为这样它的状态是不确定的,在检测故障的时候就会带来困难,所以总线要设置上拉或下拉或者加上bus keeper(如图b),这样bus就不会floating。

2.6.2 Bidirectional I/O Ports

Bidirectional I/O ports:双向的I/O端口用来提升数据传输带宽。

在capture operation时,双向I/O会被指定成输入或者输出,不会有冲突;但是在shift operation时,会发生冲突,例子见下图:

图a,scan cell控制I/O的方向,shift operation时scan cell的值会变,所以图中的三态buffer可能处于active状态,这时候如果BO和I/O(测试机控制值)不一致,就会发生冲突。

图b经过修正,SE = 1时,为shift operation,BO为inactive,测试机驱动I/O(测试向量从测试机通过I/O传到芯片内部),这样就不会发生冲突。

在capture operation时,SE = 0,三态buffer像图a一样,都由scan cell控制,所以I/O可能是输入也可能是输出,可以灵活控制测试机。

2.6.3 Gated Clocks

Clock gating:时钟门控,通过去掉存储单元没必要的开关行为降低功耗,设计中被广泛使用。

例子如下图:

图a中,时钟要先控制EN,然后变成CEN,然后才变成GCK去控制DFF(存储单元的时钟不能直接受控于primary inputs),但是我们想让shift mode下时钟能直接控制到存储单元。

所以有了修正后的b图,在shift operation时门控时钟不作用。是用了一个或门,然后借助TM或者SE迫使CEN是1,然后控制到DFF:

  1. 如果用TM,那么TM = 1,那么就是整个scan测试过程开启过程中CEN都是1,缺点是门控时钟电路中的故障无法被检测到,造成故障覆盖率损失
  2. 如果用SE,那么SE =1,那么就是shift operation过程中CEN是1,门控时钟能被测试,故障覆盖率更高,缺点是测试生成可能更复杂

2.6.4 Derived Clocks(派生时钟)

派生时钟指的就是内部的存储单元或者时钟生成器产生的内部时钟信号。典型的有锁相环phase-locked loop (PLL)、分频器frequency divider、脉冲发生器pulse generator

因为派生时钟不是直接受控于primary inputs,所以为了测试派生时钟控制的逻辑的话,这些时钟信号在测试时需要被bypass。

例子如下图:

图a派生时钟ICK控制DFF1和DFF2。图b,CK是直接受控于primary inputs,测试时TM = 1,此时CK控制DFF1和DFF2。

2.6.5 Combinational Feedback Loops(组合逻辑反馈环)

组合逻辑的feedback loop中反相器是奇数还是偶数决定了是否会引入时序行为或者震荡。测试时没办法控制和决定环内的数据,所以引起测试生成变复杂或者故障覆盖率下降(这种组合逻辑环其实在设计的时候就是不建议的,彻底改掉它就要改RTL代码),但是例如已经不能改了,那么下图a的例子就可以修正:

当TM = 1时,图b的修改就可以打断这个环。

相关推荐
元气少女小圆丶1 小时前
SenseGlove Nova 2+Unity开发笔记1
笔记·学习·unity
冰暮流星2 小时前
javascript之history对象介绍
前端·笔记
jialiguo3 小时前
博客摘录「 尚硅谷Vue3入门到实战,最新版Vue3+TypeScript前端开发教程」2024年8月7日
笔记
風清掦4 小时前
【STM32学习笔记-14】WDG看门狗 - 14.2 WWDG窗口看门狗
笔记·stm32·单片机·嵌入式硬件·学习·fpga开发
晓梦林5 小时前
bughush靶场学习笔记
笔记·学习
sakiko_5 小时前
Swift学习笔记34-MVC架构,SwiftUI与UIkit混编练习
笔记·学习·swiftui·mvc·swift
Afans_fire6 小时前
多渠道广告归因:3种逻辑解决效果分配难题
笔记·内容运营·广告投放·广告营销·徐州巨量星河
泉飒6 小时前
qt软件无法打开编译
笔记·工业视觉
穗余7 小时前
2026 AI x Web3 School共学营笔记-Day10-Women Builders in AI × Web3
人工智能·笔记·web3
暴躁小师兄数据学院7 小时前
【AI大数据工程师特训笔记】第10讲:数据库用户、权限管理、数据库约束
大数据·数据库·笔记·sql·postgresql