在现代化设计中,on-chip clock control(OCC)电路通常被用来在测试期间管理时钟,这样的时钟控制器在ATPG process的控制下可以生成slow-speed或者at-speed时钟序列。Tessent OCC时通过Tessent Shell创建一个时钟控制器的实现,被设计用来满足ATPG、Logic BIST、EDT和Low Pin Count Testde scan test。
Tessent OCC Overview
使用Tessent Shell,可以在设计中生成和插入Tessent OCCs。在ATPG控制下,配置OCC可生成可编辑时钟脉冲,除此之外,可以连接TK/LBIST混合控制器到Tessent OCC上,OCC具有捕获-使能触发和外部时钟控制的能力。
在这种情况下,Tessent OCC的使用确保满足以下要求:
- ATPG对每个时钟域进行独立控制,来提高覆盖率,减少pattern的数量,以最小的用户干预实现安全计时。
- 在捕获期间,在每一个pattern基础上传递正确的脉冲数。
- 在移位时钟和捕获时钟之间进行精确切换。
- 在捕获期间使能slow或者fast时钟(功能时钟),为了应用slow和全速pattern(在capture期间,如果进行slow pattern测试,则使能slow_clock)。
- 在wrapped core内生成Scan-programmable 时钟波形以此来在core level中产生pattern,这些patterns可以重新定位到top level中,并合并以同时测试多个core,而不会在每个core中的时钟控制方式存在矛盾(?)。
Tessent on-chip clock control方法,适用于所有时钟域在内部的设计,如果也存在external clocks然后必须划分transition ATPG为两个单独的sessions:一个session为了external clocks,一个session为了internal clocks。
Primary OCC Functions
通常OCC控制器有三个主要的功能:
Clock Selection
选择使用always-capture或者always-pulse时钟
基于频率、测试类型和其他标准选择时钟
Clock Chopping Control
Scan-programmabe移位寄存器控制时钟脉冲删除
为时钟选通创建使能信号
Clock Gating
选通时钟基于clock chopping 使能信号
默认情况下,Tessent OCC包括一个内部时钟选通器(OCC内部存在clock gater),在生成步骤,该选项可被disabled,当设计已经包含时钟选通器时,可以生成具有时钟使能信号的Tessent OCC。
当具有时钟使能的Tessent OCC被使用时,工具检测被OCC控制的时钟选通单元,该过程是自动的不要求用户输入。
通过使用kill_clock_mode OCC controller(会在OCC上添加一个控制信号)属性来re-use OCC内部的clock gater,在func mode期间使用该属性以kill功能时钟,比如,inactive cores。
On-Chip Clock Controller Design Description
有三种类型的OCC设计,standard、parent、和child。基于设计的要求进行选择。
The Standard OCC
standard OCC为fast capturetignfase clock,为shift和slow capture提供slow clock。一个扫描可编程寄存器使能ATPG根据要求suppress或pulse clock周期standard OCC的一个用法是pattern retaring的intest mode(内部模式)。
standard OCC执行OCC的三个功能:clock selection、clock chopping control和clock gating。
在hier cores中推荐使用标准OCC。
Design Placement
应该插入OCC,OCC的fast clock input由功能时钟source驱动,通常是PLL。理想情况下,OCC被放置在接近时钟源(PLL)的位置,但是应该放置在cores的内部,以便在pattern retargeting流程需要时使能local clock控制。OCC使用一个top-level slow为了shift和slow capture,以及一个test mode信号,该信号决定在设计中提供测试或者功能时钟。
可能需要只是时钟树不要balance OCC内部的flops和latches与它驱动的clock tree。
在OCC之后不需要为了func mode添加clock mux,因为当test模式信号被确定时fast_clock传播,除此之外,在功能模式和测试模式子啊fast clock有一个公共路径可以简化时钟树综合和时序收敛。
时钟控制设计在功能和测试模式下提供时钟,在功能模式下,fast clock通过设计,在测试模式下,fast-clock被用来at-speed capture,而top-level slow clock被用来shift和slow capture,提供给PLL的reference clock是free_running clock,通常是pulse-always。
在layot期间不应该flatten时钟控制blocks,为了容易自动化定义时钟gating逻辑和它的操作。
Standard OCC Schematic
下图展示OCC的原理