scan chain的原理和实现——5.UDTP

摘要:
UDTP(用户定义的测试点)指示DFTC在设计中用户指定的位置插入控制点和观察点。1.为什么使用UDTP?修复不可控的时钟和/或异步输入;增加设计的测试覆盖率;减少模式数量2.UDTP类型① 力0、力1、力01、力z0、力z1、力z01②控制_ 0

UDTP(user defined test point)

指示DFTC在设计中用户指定的位置插入控制点和观察点

1.为什么要使用UDTP?

修复无法控制的clock和/或asynch pins; 

增加设计的测试覆盖率;

 减少pattern数量

2.UDTP的类型

①Force

force_0、force_1、force_01、force_z0、force_z1、force_z01

scan chain的原理和实现——5.UDTP第1张

scan chain的原理和实现——5.UDTP第2张

②Control

control_0、control_1、control_01、control_z0、control_z1、 control_z01

scan chain的原理和实现——5.UDTP第3张

③Observe

observe

scan chain的原理和实现——5.UDTP第4张

 scan chain的原理和实现——5.UDTP第5张

3.使用set_test_point_element

set_test_point_element   [pin list] -type <test_point_type>

pin list指定了插入UDTP的位置,type只可指定一种类型的type

4.示例——定义control and clock signals

control signals

需要先定义过testmode或scanenable

set_test_point_element  pin_list -type control_01 -control_signal  port_name l pin_name

clock signals

需要先定义过scanclock

set_test_point_element   pin_list -type control_01 -clock_signal  port_name | pin_name

scan chain的原理和实现——5.UDTP第6张

scan chain的原理和实现——5.UDTP第7张scan chain的原理和实现——5.UDTP第8张
#Read in the design and synthesize it
acs_read hdl -hdl_source ./rt1/verilog A_DESGN
llink
compile -scan
#Define the clocks and asynchs in the design
set_dft_signal -type scanclock -view exist -timing {45 55] -port CLK1
set_dft_signal -type scanclock -view exist -timing { 45 55] -port CLK2
set_dft_signal -type Reset -view exist -active 0 -port RST_N
set_dft_signal -type TestMode -active 1 -port TM
set_scan_configuration -chain_count 10 . . .
#UDTP specification. Specify observe and control TPs
#Turn power saving ON for observe test points
set_test_point_element -type observe -power_saving enable -clock_signal CLK1 {alpha_1/Q beta_5/out gamma_3/Q}
#use an existing clock as clock signal and existing port as control signal for control TP
set_test_point_element -type control_1 {u3/omega_2/q alpha_7/Q} -clock_siqnal CLK2 -control_siqnal TM
#Run pre-DRC
create_test_protocol -capture_procedure multi_clock
dft_drc -verbose
#Preview the scan chains
preview_dft -show all -test_points all
#scan insertion
insert_dft
#Run post-DRC
dft_drc -verbose
report_scan_ path -view exist
#write out the netlist
change_names -rules verilog -hier
write -hier -f ddc -out A_DESIGN_udtp_scan.ddc
write -hier -f verilog -out TEST_udtp_scan.v
UDTP参考脚本

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

上篇Json对象转Ts类docker安装MySQL5.7示例!!坑,ERROR 1045 (28000): Access denied for user下篇

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

相关文章

Apache CarbonData 2.0 开发实用系列之一:与Spark SQL集成使用

【摘要】 在Spark SQL中使用CarbonData 【准备CarbonData】 在浏览器地址栏输入以下链接,点击"download"按钮下载已经准备好的CarbonData jar包 链接:https://github.com/QiangCai/carbonjars/blob/master/master/apache-carbondata-2.1....

ansible 基本使用-1

概述 ansible  当前主流的批量配置管理工具,相比于saltstack 它是无agent 模式,基于ssh 去远程管理主机。有密码和密钥两种方式远程认证方式。 安装 yum -y install  ansible  (前提是有epel 源,如果没有需要安装) pip install ansible github源码包安装 环境 服务端 python ...

connect() to 192.168.30.71:8082 failed (99: Cannot assign requested address) while connecting to upstream, client: 114.80.182.136, server: localhost, request: "GET /home/senior HTTP/1.1", upstream: "

 connect() to 192.168.30.71:8082 failed (99: Cannot assign requested address) while connecting to upstream, client: 114.80.182.136, server: localhost, request: "GET /home/senior H...

HiveSQL——row_number() over() 使用

语法格式:row_number() over(partition by 分组列 order by排序列 desc) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。 例一: 表数据: creat...

基于tensorflow的CNN卷积神经网络对Fasion-MNIST数据集的分类器(1)

写一个基于tensorflow的cnn,分类fasion-MNIST数据集 这个就是fasion-mnist数据集 这张图片是CNN的一般结构 先上代码,在分析: import tensorflow as tf import pandas as pd import numpy as np config = tf.ConfigProto() confi...

ABAP学习(24):Smartforms示例

ABAP Smartforms        ABAP创建可以打印的窗体,二维码等。Tcode: SMARTFORMS,可以创建对应Form以及对应样式Style。 1.创建Style   创建Style:ZTOM_TEST_STYLE1; 整体样式, 指定默认Paragraph的格式L1; 指定字体,大小等;   Paragraph样式, 指定段落字体对...