数字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,通常会遇到哪些问题?

相关推荐
IC拓荒者3 天前
Innovus中快速获取timing path逻辑深度的golden脚本
数字后端培训·innovus零基础入门·floorplan布局·timing path·逻辑深度脚本
IC拓荒者3 天前
数字后端实现之Innovus中open net原因解析及解决方案
时钟树·ic后端培训·clock tree·innovus零基础·后端项目实战·open net·skiprouting
IC拓荒者2 个月前
数字IC后端设计实现十大精华主题分享
数字ic后端·数字后端培训·calibre lvs·clock tree·clock gating时序·innovus案例
IC拓荒者2 个月前
芯片Tapeout power signoff 之IR Drop Redhawk Ploc文件格式及其意义
数字后端培训·ic后端培训·innovus零基础·io ring·pad ring·redhawk·ir drop
IC拓荒者2 个月前
数字IC后端设计实现篇之TSMC 12nm TCD cell(Dummy TCD Cell)应该怎么加?
数字ic后端·数字后端培训·tsmc12nm·dummy tcd·tcd工艺校准·数字后端零基础入门·a55 a72 cpu
IC拓荒者2 个月前
数字IC后端实现常见的physical only cell都有哪些?如何添加这些cell?
数字ic后端·数字后端培训·physical cell·latchup栓锁效应·endcap cell·boundary cell·ic后端设计实现
IC拓荒者3 个月前
数字IC后端设计实现之分段长clock tree经典案例
occ·时钟产生电路·ic后端培训·时钟树综合·clock tree·innovus零基础·分段长clock tree
IC拓荒者3 个月前
IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)
数字ic后端·静态时序分析·数字后端培训·ic后端笔试题·ic秋招笔试真题·芯原ic后端笔试·时序timing分析
IC拓荒者3 个月前
数字后端零基础入门系列 | Innovus零基础LAB学习Day11(Function ECO流程)
数字ic后端·数字后端培训·innovus零基础lab·innovus零基础入门·function eco·post-mask eco·innovus eco步骤