DFT Architecture
Design For Test

- 在实际生产过程中产生的physical defect是导致芯片功能出错的根本原因
- 如何根据结构产生测试向量呢?主要考虑physical defect
- physical defect有多种,针对不同的physical defect有不同的处理方式

- Design - 是为了产生结构性测试向量,利用设计对于fault model数学模型进行求解,求解之后产生结构性的测试向量
- physical defect具有复杂性和多样相,直接对于fault model进行求解,模型会非常大
- DFT - 首先将physical defect进行分解,建立不同的fault model,针对这些fault model(故障模型)进行求解
DFT Structure Test

- 主要介绍function logic进行讲解
时序电路和组合逻辑电路

- 对于组合电路而言,如果中间出现故障,可以在input pin上输入激励,在output pin上接受结果进行测试
- 对于时序电路,如果要对某个模型进行求解,输入需要经过多级logic进行输入,输出也需要经过多级logic进行输出,因为中间的延时或者其他因素,导致可能检测不出其中的问题
- 时序逻辑电路测试 - 时间更长,难度更大
- 能否将时序逻辑电路转变为组合逻辑电路的方式进行测试?
  
Scan Synthesis
针对function logic需要做的辅助性设计

- scan replacement - 替换操作
- scan stitching - 连接操作
- scan synthesis不是在RTL级别进行的,scan synthesis是作用在综合之后的网表上的,在综合完成之后,进行插入scan的操作
- scan synthesis插入的方式:可以综合之后,独立进行,或者是包含在逻辑综合过程之中
- scan synthesis作用:将难测试的时序电路转变为一个易于测试的时序逻辑电路
scan replacement & scan stitching

- 在数据输入端添加mux,增加SI,SE pin,当SE为低电平的时候,输出为D,和原来的DFF一致,SE为低的时候,实现function功能
- scan插入不能破坏原来的function logic
- 替换之后SE和SI是floating,scan stitching就是将SI和SE连接出来
- SE连接:在芯片输入端添加一个sacn_en port,这个port会驱动所有替换之后cell的SE pin,当这个port为0的时候,design工作在function mode下
- SI连接:替换之后的DFF,SI将Q端进行连接,形成chain,连接SI和SO
- 辅助性设计完成,需要产生结构性测试向量?如何实现将时序电路的测试转变为组合逻辑电路
Scan Operation



Circuit Transition

- 将时序逻辑转变为组合逻辑模型,进行求解结构性测试向量
- PIs - 直接通过pin输入,POs通过输出pin观察稳定的值
- PPIs和PPOs如何进行输入和观察? PPIs和PPOs是假设的pin,用于转变时序逻辑为组合逻辑,PPIs有很多电路内部的结果,如何进行输入,通过辅助性设计实现SI和SO(输入PPIs和PPOs)


- scan synthesis进行可以在综合的过程中,综合过程是需要考虑时序和面积的,加入scan之后,会添加组合逻辑,在综合过程中可以考虑到scan replacement之后的的cell delay和timing优化


- PPOs观测过程:PIs和PPIs输入之后,经过一段时间,POs和PPOs的值都是稳定的,此时scan enbale为低的时候,function logic是被打通的,此时来一个clock pluse,组合逻辑输入到时序逻辑的值是可以被DFF锁存起来的;scan enable拉高,可以将锁存的值一拍一拍的拿到,可以观测SI
Test Procedure

- 对于scan chain进行测试,在扫描链上是否能够正确的shift in和shift out,只有能正确的移入0和1的值,才能在PPO上添加正确的激励
- 对于scan chain进行测试,实际上也包含了对于时序逻辑的测试
- 时序逻辑测试过程:enable scan mode打通扫描链,shifter register test - 输入一组固定的pattern进行测试,通过scan input一拍一拍的输入pattern,通过scan out,一拍一拍向外取出值,看输入pattern的值是否被正确取出,正确取出表示scan chain没有问题
- 组合逻辑测试:scan enable拉高,选择scan mode;sacn in test pattern,是对PPI赋值的过程,如果有5个cell,经过5拍就可以将PPI的值赋好;对PIs进行赋值,通过chip io上进行赋值,赋值完成之后切换到function mode,等待一段时间之后,POs和PPOs都是稳定的;进行比较POs的值;在时钟边沿,捕获PPOs的值锁存到DFF中,然后切换到scan mode,通过scan out端口一拍一拍取出
- 前一条pattern shift out的时候,后一条pattern可以进行shift in,两个过程互不影响
Scan synthesis中经常遇到的问题
- Negative + Positive,一部分cell上升沿驱动,一部分下降沿驱动,连在一起需要考虑什么?
- Clock Domain Crossing
- Scan Design Rule Check(DRC),cell连接起来是不是能够形成scan chain
How to consider scan synthesis in project

- 从项目的角度考虑辅助设计
- scan chain测试时间主要在shift in
- 实际项目中会有很多条scan chain,对于IO数量有要求,在chip level上需要考虑有多少个IO,通常项目中,不会为scan test增加新的IO,通常会考虑IO复用,使用function mode的IO进行复用
- 考虑share IO需要使用Pin Mux
- 考虑减小scan chain的长度,减小时间成本
How many IOs are available for scan testing

- 使用ATE进行测试,需要考虑ATE的channel的数量
- 芯片IO数量会影响Package方式,通常按照最小pin数量的封装方式进行设计
- scan channels/scan enable/test mode/scan clock
Shared IO and Pin Mux

- pin mux io复用,列举出当前chip一共有多少个io,在不同的模式下(function mode/dft mode/bist test/cpu test等)选择不同的io
How to define compression ratio

- sacn chain越短,test成本越低
- scan chain越短,IO数量越多
- 通过解码和编码的方式,通过少的输入=,将少量的输入进行编码,得到多种不同的组合,然后通过解码输出,可以减少io pin的使用和减少scan chain length,从而减少成本
- 加入综合之后有100万个DFF,有100对pin,需要shift 10000个cycle才能讲PPI进行输入完成,时间比较长
  
How to form scan chains?

实例
输入综合之后的网表

输入library

执行脚本

DFT Architecture的更多相关文章
- DFT 问答 II
		1. Boundary Scan A:Boundary scan 顾名思义,是附加在芯片I/O 周边的扫描测试链,它通过专门的测试端口(TAP)访问.在测试模式下,边界扫描链会接管功能逻辑,对I/O进 ... 
- Undefined symbols for architecture arm64解决方案
		在iOS开发中经常遇到的一个错误是Undefined symbols for architecture arm64,这个错误表示工程某些地方不支持arm64指令集.那我们应该怎么解决这个问题了?我们不 ... 
- Optimal Flexible Architecture(最优灵活架构)
		来自:Oracle® Database Installation Guide 12_c_ Release 1 (12.1) for Linux Oracle base目录命名规范: /pm/s/u 例 ... 
- EF框架组件详述【Entity Framework Architecture】(EF基础系列篇3)
		我们来看看EF的框架设计吧: The following figure shows the overall architecture of the Entity Framework. Let us n ... 
- [Architecture] 系统架构正交分解法
		[Architecture] 系统架构正交分解法 前言 随着企业成长,支持企业业务的软件,也会越来越庞大与复杂.当系统复杂到一定程度,开发人员会发现很多系统架构的设计细节,很难有条理.有组织的用一张大 ... 
- Stack Overflow: The Architecture - 2016 Edition
		To get an idea of what all of this stuff “does,” let me start off with an update on the average day ... 
- ios build时,Undefined symbols for architecture xxx问题的总结
		简单来说,Undefined symbols基本上等于JAVA的ClassNotFoundException,最常见的原因有这几种: build的时候没有加framework 比如说,有一段代码我用了 ... 
- Undefined symbols for architecture x86_64:   "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel", referenced from:       objc-class-ref in The49DayPersonalRoomGiftModel.o ld: symbol(s) not found for a
		Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel&q ... 
- ios开发错误之: Undefined symbols for architecture x86_64
		错误如下: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RoutingHTTPServer", refere ... 
- 转载:一幅图弄清DFT与DTFT,DFS的关系
		转载:http://www.cnblogs.com/BitArt/archive/2012/11/24/2786390.html 很多同学学习了数字信号处理之后,被里面的几个名词搞的晕头转向,比如DF ... 
随机推荐
- JDK1.8下载阿里云盘不限速
			JDK1.8下载阿里云盘不限速 专门给你写篇jdk文章容纳方便下载 废话不多说直接上链接 「jdk-8u202-windows-x64.exe」https://www.aliyundrive.com/ ... 
- Collection和Map的区别
			Collection接口,包含list和set子接口Collection和Map接口之间的主要区别在于:Collection中存储了一组对象,而Map存储关键字/值对.在Map对象中,每一个关键字最多 ... 
- loader编写小记
			此项目在一些大佬的基础上进行了修改,或许能提供一些思路.还在学习中很菜很菜,不足之处还请师傅们多多指点 tips 对shellcode使用AES + Base85加密后以txt保存在远端供下载. 针对 ... 
- X410的白嫖方案
			微软商店下的x410要收费试用也就几天,记录白嫖方案.配置和使用跳转到上一篇文章:Windows下使用图形化的Havoc C2 编译运行 GitHub上start最多的是这个仓库,但是已经很久没有维护 ... 
- 马某 说c# 不开源,他是蠢还是坏?
			马某在视频 计算机主流开发语言的现状和未来3-5年的发展前景--Java.Golang.Python.C\C#\C++.JS.前端.AI.大数据.测试.运维.网络安全 点评各种语言,其中说到C# 的时 ... 
- 如何用axios加后端数据库传值给前端
			小杰笔记: 如何用axios : 第一步:编写数据库实体类 @Data @AllArgsConstructor @NoArgsConstructor public class User { priva ... 
- electron入门之配置镜像加速(四)
			electron入门到入土,配置阿里镜像加速.为了防止后面我们打包龟速,需要给electron配置阿里镜像加速 在下面的文件内添加阿里镜像加速,你的文件位置不一定是这个 C:\Program File ... 
- POJ 3537 Crosses and Crosses 博弈论 SG函数 记忆化搜索
			原题链接 题意 两人在一个长为n * 1的棋盘上下棋,两人持相同棋子,如果某人下完之后,棋盘上有三个棋子相连,则此人获胜.给出n,求是否先手必胜. 思路 一开始分析成了最少取3个,最多取5个的巴什博弈 ... 
- GaussDB技术解读丨数据库迁移创新实践
			本文分享自华为云社区<DTCC 2023专家解读丨GaussDB技术解读系列之数据库迁移创新实践>,作者:GaussDB 数据库. 近日,以"数智赋能 共筑未来"为主题 ... 
- DevCloud加持下的青软,让教育“智”上云端
			摘要:构建多体系人才云实践环境,提供企业所需人才培养平台,构建以学习为中心的全新教育生态. 本文分享自华为云社区<[云享·伙伴]第5期:华为云DevCloud加持下的青软,让教育"智& ... 
