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 ...
随机推荐
- android中的常用布局管理器(三)
接上篇博客 (5)TableLayout 表格布局管理器 在android中,线性布局和表格布局用的是最多的. 在很多的输出操作中,往往会使用表格的形式对显示的数据进行排版,tablelayo ...
- Wannafly Winter Camp 2020 Day 6G 单调栈 - 贪心
对于排列 \(p\),它的单调栈 \(f\) 定义为,\(f_i\) 是以 \(p_i\) 结尾的最长上升子序列的长度 先给定 \(f\) 中一些位置的值,求字典序最小的 \(p\) 使得它满足这些值 ...
- 《京东B2B业务架构演变》阅读
转载:https://mp.weixin.qq.com/s/5xmmuw8O-I_Fi5bzE-_baA?tdsourcetag=s_pcqq_aiomsg 京东 B2B 业务的定位是让各类型的企业都 ...
- Linux指令(Terminal命令):
刚开始学习Linux,整理了一下常用指令和快捷键,不足的日后补充. 指令:# cd:进入目录 pwd:查看当前所在路径 ls:查看当前所在目录下的所有子目录或者子文件 ls-l | l ...
- PAT (Basic Level) Practice (中文)1076 Wifi密码 (15 分)
下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1:B-2:C-3:D-4:请同学们自己作答,每两日一 ...
- Android 基础知识 -- BroadcastReceiver
BroadcastReceiver 广播,是一种事件传递机制,可以跨应用进行事件传递(系统级). 在使用广播的时候,不宜添加过多的逻辑或者耗时(广播内不允许开辟线程)操作,超过10秒,导致ANR 1 ...
- Python论做游戏外挂,Python输过谁?
玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢? 我打开了4399小游戏网,点开了一个不知名的游戏,唔,做寿司的,有材料在一边,客人过来后说出他们的要求,你按照菜 ...
- Sql Server2008忘记sa登陆密码
Sql的sa登陆密码忘记解决方法: 语句执行的前提: 1.系统可以登陆进去(当不记得sa密码的时候,可以使用windows用户验证的方式进行登陆) 2.平时用sa登陆,点了记住密码但是不记得密码是多少 ...
- ECMAScript基本语法——⑤运算符 逻辑运算符
&&与,会短路:左边为false右边就不参与运算||或,会短路:左边为true右边就不参与运算!非, 注意:在JavaScript中,如果运算数不是运算符要求的类型,那么JavaScr ...
- LAMP+discuz网站搭建过程
LAMP+discuz网站的搭建 一. LAMP环境搭建 0x01下载配置虚拟机 网上下载centOS7 64的镜像,然后在vmware里面配置好,我配置的是linux终端桌面,运行快,占内存小. 0 ...