scan chain的原理和实现——8.AT SPEED Test & OCC

摘要:
ATSPEDTestlast_ Shift启动模式(低速测试)系统_时钟启动模式(启动捕获)1.atspeedteststructure和OCCController2.OCController当使用set_ dft_ configuration-clock_ Control_renable run insert_ dftDFT编译器将_
AT SPEED Test

last_shift launch mode (低速测试)

system_clock launch mode ( launch on capture)

scan chain的原理和实现——8.AT SPEED Test & OCC第1张1.at speed test structure and OCC Controller

scan chain的原理和实现——8.AT SPEED Test & OCC第2张

2.OCC Controller

当使用set_dft_configuration -clock_controller enable运行insert_dft

DFT编译器会将DFT_clk_mux和DFT_clk_chain组件添加到网表中。

2.1OCC Controller的结构

scan chain的原理和实现——8.AT SPEED Test & OCC第3张

①fast pulse controller

scan chain的原理和实现——8.AT SPEED Test & OCC第4张

 ②clock selection circuit

scan chain的原理和实现——8.AT SPEED Test & OCC第5张

 DFT_clk_mux I/O ports

port namedirectionfunction
resetinput1重置控制器,0允许控制器运行
test_modeinput1控制时钟,0无条件选择快速时钟
pll_bypassinput1选择slow_clk,0选择clock switch-over操作
scan_eninput调解clock switch-over操作
clk_enable[m:0]input从时钟链捕获脉冲控制
fast_clk[n:0]inputPLL的快速时钟
slow_clkinputATE时钟
clk[n:0]output扫描触发器output clock

scan chain的原理和实现——8.AT SPEED Test & OCC第6张

2.2 OCC脚本示例:

Reference clock ==> ref_clk
ATE clock ==> ate_clk
PLL clock (output of pll) ==> pll/out
External clock ==> ext_clk

scan chain的原理和实现——8.AT SPEED Test & OCC第7张scan chain的原理和实现——8.AT SPEED Test & OCC第8张
#test_default period is 100
set test_default_period 100# specify the reference clock with proper period and timing (only one command for reference clock)
set_dft_signal -yiew exist -type refclock -period 73 -timing { 40 50} -port ref_clk
# specify the pll clock (output from PLL), as type oscillator
set_dft_signal -view exist -type oscillator -hookup_pin pll/out #Specify the ATE clock,as type oscillator and scanclock both
set_dft_signal -view exist -type oscillator -port ate_clk
set_dft_signal -view exist-type scanclock -tining {50 80} -port ate_clk
#specify the external clock (if any)
set_dft_signal -view exist -type scanclock -timing {50 80} -port ext_clk
clock period is not equal to ATE clock period
scan chain的原理和实现——8.AT SPEED Test & OCC第9张scan chain的原理和实现——8.AT SPEED Test & OCC第10张
#test_default period is 100
set test_default period 100
# specify the reference clock (as type refclock and Masterclock )
set_dft_signal -view exist -type MasterClock -timing {50 80} -port ref_clk
set_dft_signal -view exist -type refclock -period 100 -timing {50 80) -port ref_clk
#specify the pll clock (output from PLL),as type oscillator
set_dft_signal -view exist -type oscillator -hookup_pin pll/out
#Specify the ATE clock,as type oscillator and scanclock both
set_dft_signal -view exist -type oscillator -port ate_clk
set_dft_signal -view exist -type scanclock -timing {50 80} -port ate_clk
#specify the external clock(if any)
set_dft_signal -view exist -type scanclock -timing (50 80} -port ext_clk
clock period is equal to ATE clock period

注意:

OCC控制器使用的ATE时钟也不能用作为扫描单元提供时钟的外部时钟。 这些时钟必须分别驱动。(使用ATE时钟为扫描单元提供时钟将导致TetraMAX中C39违规以及随后的仿真失败 

插入DFT的OCC控制器要求ATE时钟必须是定义为振荡器时钟的自由运行时钟。

不要在内部和外部时钟之间执行域间测试。内部时钟与外部时钟和ATE时钟异步,因此它们的相对时序是不可预测的。

3.scanmasterclock & masterclock

对于多路复用触发器(Mux-D),ScanClock的信号“type”是用于指定ScanMasterClock(扫描移位时钟)和MasterClock(捕获时钟)。 用于Mux-D扫描设计,同一时钟通常用于移位和捕获。 当定义了Scanclock并report_dft_signal,将同时看到ScanMasterClock和MasterClock属性。 

set_dft_signal -view existing_dft -type scanclock -port ext_clk -timing {50 80}

report_dft_signal -view existing dft

scan chain的原理和实现——8.AT SPEED Test & OCC第11张

免责声明:文章转载自《scan chain的原理和实现——8.AT SPEED Test & OCC》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇rocketmq学习并发编程(十二)—— Java 线程池 实现原理与源码深度解析 之 submit 方法 (二)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

qt quick中qml编程语言

Qt QML 入门 — 使用C++定义QML类型 发表于2013 年 3 月 11 日 注册C++类 注册可实例化的类型 注册不实例化的QML类型 附带属性 注册C++类 注册可实例化的类型 如果一个C++类继承自QObject,如果需要在QML中使用创建对象,则需要注册为可实例化的QML类型。 使用qmlRegisterType()注册可...

理解杀进程的实现原理

copy from : http://gityuan.com/2016/04/16/kill-signal/ 基于Android 6.0的源码剖析, 分析kill进程的实现原理,以及讲讲系统调用(syscall)过程,涉及源码: /framework/base/core/java/android/os/Process.java /framework/bas...

Nginx二级域名及多Server反向代理配置

Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了。 注:nginx反向代理同一ip多个域名,给header加上host就可以了 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_name指令主要...

dbus-python的API及示例

目录 1. Data types 2. Connecting to the Bus 3. Making method calls (同步调用) 3.1. Proxy objects 3.2. Interfaces and methods 4. Making asynchronous calls(异步调用) 4.1. Setting up an...

条件变量用例--解锁与signal的顺序问题

         我们知道,当调用signal/broadcast唤醒等待条件变量的其他线程时,既可以在加锁的情况下调用signal/broadcast,也可以在解锁的情况下调用。          那么,到底哪种情况更好呢?man手册中其实已经给出了答案:          The pthread_cond_broadcast() or pthread_...

Linux 系统编程 学习:3-进程间通信1:Unix IPC(2)信号

背景 上一讲我们介绍了Unix IPC中的2种管道。 回顾一下上一讲的介绍,IPC的方式通常有: Unix IPC包括:管道(pipe)、命名管道(FIFO)与信号(Signal) System V IPC:消息队列、信号量、共享内存 Socket(支持不同主机上的两个进程IPC) 我们在这一讲介绍Unix IPC,中有关信号(Signal)的处理。...