数字IC后端设计实现OCC(On-chip Clock Controller)电路介绍及时钟树综合案例

数字IC后端时钟树综合专题(OCC电路案例分享)

复杂时钟设计时钟树综合(clock tree synthesis)常见20个典型案例

1、什么是OCC?

片上时钟控制器(On-chip Clock Controllers ,OCC),也称为扫描时钟控制器(Scan Clock Controllers,SCC)。OCC 是插在SoC上的逻辑电路。在ATE(自动测试设备)上对芯片做ATPG测试时,OCC用于控制内部scan flip-flop时钟。

OCC电路可以实现ate clock和function clock之间的切换,并且控制在什么时刻跳转。所以standard的OCC在设计时需要拥有三个主要功能:clock selection, clock chopping control and clock gating。

2、OCC的架构及功能

这里我们会介绍一下Synopsys的OCC 1.0 ,Synopsys的OCC定义了多个输入输出端口:

-OCC的基本逻辑

下图显示了one-single clock OCC的概念操作,未显示电路实现细节,本文目的是演示它是如何工作的。

当OCC处于function mode时,test mode = 0,此时pll _clk选通,OCC会向内部 design输入function clock,此时可以将OCC电路视为transparent。

当OCC处于shift mode时,我们在ate clock的控制下将测试向量load进internal scan chain和clock chain内,所以test mode = 1,scan_en = 1,此时ate _clk选通,完成shift操作。


OCC的shift mode

Synopsys的OCC 1.0 没有真正的slow capture mode,需要做stuck-at 测试时,可以直接从ATE机台提供OCC bypass mode capture clock。通过外部ATE机台对ate clock的pulse进行适当的控制就可以进行stuck-at测试,不需要clock chain的控制。此时test mode = 1,pll_bypass = 1。

OCC的bypass mode

当OCC处于fast capture mode时,期望在capture阶段生成两个function clock脉冲。所以test mode = 1,scan_en = 0,pll_bypass = 0,此时pll _clk选通,并且PLL cycle counter 和clock chain的输出经过ICG共同决定gating几个时钟脉冲,完成at-speed测试。

OCC的fast capture mode

Fast capture mode的波形图如下图所示,下面我们来简单地分析一下。

Fast capture mode波形图

当我们进行capture操作时,scan enable信号要从1变为0,为了保证得到的是稳定的0信号,我们需要先经过sync cell的3个synchronization cycles。

通过先前shift过程中load在clock chain里的test pattern(0110)以及PLL cycle counter的共同控制,在第2、3个cycle给出两个pulse,即launch和capture。

最后scan enable信号从0变为1,完成capture的操作,进入shift过程。

需要注意的是,对于Synopsys的OCC,Scan_en = 1后,ate clock在第二个pulse才出现 ,此过程被称为pre_shift 。

介绍完OCC电路的结构和工作模式后,我们来看看一个包含OCC设计的时钟树综合。一般来说这个电路在长clock tree阶段不做特殊处理,func clock的时钟树会被拖得比较长。

下图所示为典型OCC电路的时钟结构(本次复杂时钟clock gen训练营新增案例)。欢迎大家来讨论应该如何长clock tree? 如果直接让工具自动做clock tree,通常会遇到哪些问题?

相关推荐
常乐か5 天前
occ中以鼠标所在位置进行缩放
qt·occ
IC拓荒者3 个月前
数字IC后端层次化Hierarchical Flow子系统Sub-System模块 block partition和pin assignment细节盘点
数字后端培训·数字后端入门·零基础innovus·层次化设计·block partition·pin assignment·子系统模块切分
JoannaJuanCV5 个月前
BEV和OCC学习-5:数据预处理流程
深度学习·目标检测·3d·occ·bev
JoannaJuanCV5 个月前
BEV和OCC学习-3:mmdet3d 坐标系
3d·occ·bev
IC拓荒者6 个月前
数字IC后端零基础入门基础理论(Day2)
数字后端培训·数字后端零基础入门·后端基础概念·零基础innovus·innovus数字后端·数字后端入门教程·后端入门基本概念
IC拓荒者8 个月前
数字IC后端设计实现教程 |Innovus &ICC2 Routing Pin Access Setting设置方法
数字后端培训·innovus零基础入门·零基础入门后端·pin access连线·innovus icc2·ecoroute·数字ic项目
IC拓荒者9 个月前
Innovus中快速获取timing path逻辑深度的golden脚本
数字后端培训·innovus零基础入门·floorplan布局·timing path·逻辑深度脚本
IC拓荒者9 个月前
数字后端实现之Innovus中open net原因解析及解决方案
时钟树·ic后端培训·clock tree·innovus零基础·后端项目实战·open net·skiprouting
IC拓荒者1 年前
数字IC后端设计实现十大精华主题分享
数字ic后端·数字后端培训·calibre lvs·clock tree·clock gating时序·innovus案例