目录
1.含义及功能
1.1基本概念
OCC :On Chip Clock
OPCG :On-Product Clock Gating
SCM:scan clock mux
上面三种是同一东西的不同叫法。就是为了at-speed 测试时在function clock和shift clock之间切换的控制逻辑。不同人设计的电路不一样,它就是一个2选一的clock mux,设计时注意处理一下cdc的path,不要产生glitch就行了。
1.2 何为全速测试(at speed test):
在工艺节点在130nm以下的时候,很多情形下的物理缺陷都是由于延时来引起的。因此在对这种类型的chip做dft的时候,需要建立一个新的故障模型,业内称之为延时故障模型(time delay model)。解决的方法就是全速测试,所谓的全速测试就是让芯片工作在自己的高频时钟频率上,这个频率往往是要高过ATE[Automatic Test Equipment 自动测试机台]的时钟的。这样对扫描模型的建立就提出了新的要求。即至少要保证芯片的launch clock和capture clock为芯片内部的高频率时钟。synopsys对此种问题的解决方法就是OCC(on chip clocking)。
2 occ电路结构
OCC/OPCG的基本原理是在 scan shift 模式下, 选通慢速的ATE 时钟,load 或 unload 扫描链; 在 capture 模式下,对 free-running PLL clock 过滤筛选出 lauch 和 capture clock 进行at-speed 测试
图1 OCC电路结构
下面分别介绍各个模块的作用:
- OCC_SYNC对控制信号(通常为scan_enable)使用本地时钟进行同步处理,避免亚稳态。
- OCC_DLY对控制信号进行延时,确保OCC在输出系统前,芯片处于稳定状态。一般OCC_DLY中使用计数器计算延时,计数器位宽由Dly_cfg[N:0 ]配置。此模块可以根据需要决定是否加入。
- OCC_CTRL电路用来产生图2 中的at-speed测试时钟。
图2 at-speed测试clk波形
OCC_CTRL的 电路如图3所示。
图3 OCC_CTRL的测试时钟的产生
在2 pulse generation中前2个寄存器用来对控制信号做同步,后面的2个寄存器和与门产生2个周期长度的控制信号。
然后和clock gating 中的PLL_CLK做一个gating,生成2个功能脉冲,第一个即launch 时钟, 第二个为capture 时钟。
最后用scan_enable信号来实现图2中不同阶段的选择。
Occ_en信号用来配置此OCC电路是否使能。
以上摘自(上海交通大学,上海200052)李 冬,任敏华《如何用OCC电路实现at - speed测试》,该文详细给出了scan at-speed mode的详细过程和OCC电路原理
进一步可参考