DFT测试-OCC电路介绍
https://www.jianshu.com/p/f7a2bcaefb2e
SCAN技术,也就是ATPG技术-- 测试std-logic, 主要实现工具是:
产生ATPG使用Mentor的 TestKompress和synopsys TetraMAX;
插入scan chain主要使用synopsys 的DFT compiler。
通常,我们所说的DCSCAN就是normal scan test 即慢速测试,测试频率是10M-30M
AC SCAN 也就是at-speed scan 即实速测试,测试频率与芯片真实工作频率是一样的。
70年代到1995年这段时间里,由于芯片的工作频率很低只有20-100M,scan测试只有DC SCAN,我们就能捕捉到所有std-logic的制造缺陷。但是1995年以后,测试科学家和工程师发现通过DC SCAN测试没有缺陷的芯片在高工作频率下使用会有问题。其根本原因是随着制造工艺向深亚微米迈进,芯片的工作频率也提高到200M-1G,原来的SCAN测试方法和模型不再能捕捉到所有的std-logic的制造缺陷。大家的一致想法就是-“奔跑吧,SCAN” ,把SCAN的频率增加到与芯片的真实工作频率一致,同时使用新的Transition atpg model来产生测试pattern.
下面我们介绍DC SCAN与AC SCAN的异同

现在的工业量产的高速芯片都会要求能做DC SCAN测试和AC SCAN测试,所以DFT工程师也要同时插入两种测试电路,产生两套测试patterns。
具体实现流程如下
1 读入没有插入scan的网表
2 使用Design compiler 插入scan chain和OCC (on chipclocking)模块,同时插入mux, fix DRC
3 使用Testcompress 实现EDT压缩scan chain
4 使用Testcompress 产生测试DC/ACpattern,同时产生测试验证的Testbench
5 验证DC/AC patterns的正确性和电路的正确性
6 使用SDF,验证DC/ACpatterns相关电路的时序是否满足要求
7 使用DC/AC patterns (wgl文件)转换成ATE所需格式,在ATE上调试和使用
所以,OCC电路实现了在shift阶段和capture阶段对时钟(PLL/ATE)进行选择的功能。有两种方式可以插入OCC电路:
1. DFT Compiler自动插入。2. 手动编写OCC 的verilog 电路,在dft_insert阶段。
ATPG工具使用的Transition faultmodel如下图

OCC :On Chip Clock
OPCG :On-Product Clock Gating
SCM:scan clock mux
上面三种是同一东西的不同叫法,就是为了at-speed ATPG测试时在function clock和shift clock之间切换的控制逻辑。不同人设计的电路不一样,它就是一个2选一的clock mux,设计时注意处理一下cdc的path,不要产生glitch就行了。
何为全速测试(at speed test):在工艺节点在130nm以下的时候,很多情形下的物理缺陷都是由于延时来引起的。因此在对这种类型的chip做dft的时候,需要建立一个新的故障模型,业内称之为延时故障模型(time delay model)。解决的方法就是全速测试,所谓的全速测试就是让芯片工作在自己高倍时钟频率上,这个频率往往是要高过ATE的时钟的。这样对扫描模型的建立就提出了新的要求。即至少要保证芯片的latch clock和capture clock为芯片内部的高倍时钟。synopsys对此种问题的解决方法就是OCC(on chip clocking)。OCC/OPCG的基本原理是在 scan shift 模式下, 选通慢速的ATE 时钟,load 或 unload 扫描链; 在 capture 模式下,对 free-running PLL clock 过滤筛选出 lauch 和 capture clock 进行at-speed 测试
常用的OCC电路结构如下

在做SCAN的时候,由于ATE时钟速度和芯片port的传输速度的限制,导致ATE无法向片传输高速时钟。但是,芯片内部需要 进行At Speed 测试的时候,用到和system mode一致的时钟频率进行测试。此时,需要由芯片内部自己产生测试时钟。在capture的时候,对于内部寄存器来说,到达clock pin上的时钟波形如intclk 所示。Launche clock和capture clock为PLL产生的脉冲。Shift clock为ATE产生的时钟。PLL时钟和ATE时钟的切换电路是由OCC (On-Chip Clocking) 电路实现的。
我们典型的插入OCC以后的电路如下图

DFT测试-OCC电路介绍的更多相关文章
- [原创]移动安全测试框架MobSF介绍
[原创]移动安全测试框架MobSF介绍 1 mobsf简介 Mobile Security Framework (移动安全框架) 是一款智能.集成型.一体化的开源移动应用(Android/iOS)自动 ...
- python nose测试框架全面介绍十---用例的跳过
又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的S ...
- python nose测试框架全面介绍七--日志相关
引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的 ...
- python nose测试框架全面介绍六--框架函数别名
之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.pa ...
- python nose测试框架全面介绍五--attr介绍
之前写了一系列nose框架的,这篇介绍下attr tag 在nose框架中attr用来标识用例,使得在运行时可以通过标识来执行用例,之前在nose测试框架全面介绍四中有说明,但没有说明清楚,这里再总结 ...
- RS485总线典型电路介绍
一.RS485总线介绍: RS485总线是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力.在一些要求通信距离为几十米到上千米的时候,RS485总线是一种应用最为广泛的 ...
- [原创]Android Monkey测试工具使用介绍
[原创]Android Monkey测试工具使用介绍 1 Android Monkey介绍 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件 ...
- 渗透测试平台Vulnreport介绍与使用
渗透测试平台Vulnreport介绍与使用 在这篇文章中,我们将跟大家讨论一些关于渗透测试方面的内容,并给大家介绍一款名叫Vulnreport的新型开源工具,而这款工具将能够让任何场景下的渗透测试 ...
- DC综合及仿真验证和DFT测试
综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是R ...
随机推荐
- 吴裕雄--天生自然 HADOOP大数据分布式处理:安装XShell
下载安装包
- 42.MySQL数据库安装,及驱动程序选择
MySQL驱动程序安装: 我们使用Django来操作Mysql,实际上底层还是通过Python来操作的,因此我们想要使用Django来操作mysql,首先还是需要安装一个驱动程序,在Python3中, ...
- 封装的Redis队列
封装的Redis队列 MyRedisQueue.py #!usr/bin/env python2.7 # -*- coding: utf-8 -*- import redis class RedisQ ...
- selenium规避网站监测
规避网站监测 现在不少大网站有对selenium采取了监测机制.比如正常情况下我们用浏览器访问淘宝等网站的window.navigator.webdriver的值为undefined.而使用sel ...
- JS:JS中常见的 “函数名 is not a function” 错误
js中常见的错误,例如Uncaught TypeError: x is not a function 其原因除了函数本身有错之外,还有一种很奇怪的情况:函数本身没有错,但是运行时就是不能正常运行.这种 ...
- 洛谷【P2022 有趣的数】 题解
题目链接 https://www.luogu.org/problem/P2022 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10 ...
- A Simple Problem with Integers POJ - 3468 线段树区间修改+区间查询
//add,懒标记,给以当前节点为根的子树中的每一个点加上add(不包含根节点) // #include <cstdio> #include <cstring> #includ ...
- 【剑指Offer】04、重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
- sqlserver创建和删除外键约束
x先找出约束名字然后删除它我给个例子 --测试环境--主表create table test1(id int primary key not null,value int)insert test1 s ...
- 05-SV面向对象编程基础
1.测试平台的构建 发生器(generator):创建事务并且将它们传给下一级 驱动器(drive):与设计进行会话 监视器(monitor):捕获设计返回的事务 计分板(scoreboard):将捕 ...