DFT小记_synchronous occ-程序员宅基地

技术标签: DFT  前端  

记录DFT见闻

Bridging Fault
What are not bridging fault
1. BF does not consider shorts to power and group
2. BF does not consider defect resistance value
3. BF does not consider Intra-cell(intra-gate) defects
BF is gate-level, not transistor-level fault model
4. BF does not distinguish between fanout stem and branches
5. BF is not transient fault
Need to identify pairs of neighbor signals from layout
Fault extraction

Like below:

I_ORCA_TOP/I_PCI_READ_FIFO/U164/A1 I_ORCA_TOP/I_PCI_READ_FIFO/U164/A2
I_ORCA_TOP/I_PCI_READ_FIFO/U164/A1 I_ORCA_TOP/I_PCI_READ_FIFO/U164/Z
I_ORCA_TOP/I_PCI_READ_FIFO/U164/A2 I_ORCA_TOP/I_PCI_READ_FIFO/U164/

One pattern test for stuck-at fault, two-pattern test for delay test(one pattern for initialize circuit state; second pattern for launch transition, propagate fault effect to output)

Example 1 Script for Bridging Faults

# read netlist and libraries, build, run_drc
read_netlist design.v -delete
run_build_model design
run_drc design.spf

# bridging faults
set_faults -model bridging

# allow instance input pins to be valid victim sites
set_faults -bridge_input

# to optimize strengths during atpg
set_atpg -optimize_bridge_strengths

# read in fault list
add_faults -node_file nodes.txt

# run atpg with merging
set_atpg -merge high
run_atpg -auto_compression

# write the bridging patterns out
write_patterns bridge_pat.bin -format binary -replace

# now fault simulate bridge patterns with stuck-at faults
# this part is intended to reduce the set of patterns by not generating
# patterns for stuck-at faults detected by the bridging patterns
remove_faults -all
set_faults -model stuck
add_faults -all

# read in bridging pattern
set_patterns -external bridge_pat.bin

# fault simulate
run_fault_sim

# generate additional stuck-at patterns
set_atpg -merge high
set_patterns -internal
run_atpg -auto_compression

Untestable faults
examples of untestable faults:
1. redundant circuitry
2. unused output or tied input
3. hazard control circuitry
4. error control circuitry
5. ATPG constraints

report_nofaults -all #Use this command to report faults that have the nofault attribute
 TEST> add_nofaults -module MUX2H -stuck 1 SL
  4 faults were added to nofault list.
 TEST> report_nofaults -all
 sa1 ** mux0/SL
 sa1 ** mux1/SL
 sa1 ** mux2/SL
 sa1 ** mux3/SL
 TEST> report_nofaults mux2
 sa1 ** mux2/SL

Example Script for Combining Multiple Fault Models in a Single Run

########################################################################################
#
# Example script for running TetraMAX performing multi-fault ATPG
# -Script is for use in Tcl mode TetraMAX
# -Script is for system clock launch Transition/SDD fault ATPG
# -Script includes Power Aware ATPG settings
# -Script for use with TetraMAX 2008.09-SP1 or later
#
# Script performs the following steps
# 1. Runs Path Delay ATPG and stores patterns stand-alone
# 2. Runs combined SDD/Transition ATPG
# 3. Fault grades SDD/Transition patterns against Dynamic Bridge model
# 4. Generates additional Dynamic Bridge fault patterns
# 5. Fault grades all at-speed patterns against stuck-at model
# 6. Generates additional stuck-at patterns
# 7. Fault grades at-speed and stuck-at patterns against bridging fault model
# 8. Generates additional bridging fault patterns

########################################################################################

# Define a logfile for run
set_messages -log multi_fault_atpg.log -replace

# Read Libraries
read_netlist my_cell_lib.v
read_netlist my_tmax_ram_lib.v

# Read netlist
read_netlist my_design.v

# If working with Fault coverage, do not remove unused gates during build
# by removing comment from following command
# set_build -nodelete_unused_gates
 
# Build image of design in memory
run_build_model MY_TOP_LEVEL

#  Optionally Enable low power shift
set_atpg -fill adjacent
set_atpg -chain_tes
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/seahqsky/article/details/111251247

智能推荐

struts 下载中文名文件_sturts下载中文文件-程序员宅基地

文章浏览阅读401次。text/plain attachment;fileName="${fileName}" downloadFile 10240 对文件名的处理fileName = new String((URLEncoder.encode(fileName , "UTF-8")).getBytes("UTF-8"), "GBK");有_sturts下载中文文件

Django REST framewrok使用:__str__ returned non-string (type NoneType)错误_django __str__ returned non-string-程序员宅基地

文章浏览阅读1k次。错误在使用Django REST framewrok序列化的时候,访问接口,出现下面的错误:出错原因因为我自己写了User模型,替换了django自带的User,通过继承AbstractUser来完成,并重写了__str__方法,返回了自己的name,并且设置这个name的null==True, 所以导致的这个错误。如图:解决方式:在自己定义的User模型中__str__方法中返回A..._django __str__ returned non-string

移动端无法获取event.clientX和event.clientY的解决办法_event.clientx为undefined-程序员宅基地

文章浏览阅读5.7k次,点赞5次,收藏7次。最近在制作一个实现类似于手机的锁屏手势密码效果的页面时,由于需要应用获取canvas中,手指划过的位置,于是遇到了一些小问题。 众所周知,在PC端,我们通常用event.clienX或者event.clientY来获取手指的坐标,可是在移动端,打开开发者模式,调试touch事件时,这一值通过console.log始终返回是undefined。通过查询,我发现了TouchEvent里面有touche_event.clientx为undefined

3D宏文件制作一_在已经导入开关电源3d模型,制作3d宏时,第一步应完成的步骤是( )。(2分)-程序员宅基地

文章浏览阅读1.1k次。1.新建宏项目。选择【项目】→【新建】,进入创建项目对话框,选择【确定】。修改项目类型为【宏项目】,选择【确定】。2.导入3D文件。选择宏项目,选择【布局空间】→【导入3D图形】3.放置面定义。选择【编辑】→【设备逻辑】→【放置区域】→【定义】光标移动到部件安装面上并单击鼠标左键,确定放置面。此时,鼠标会变成捕捉面的形式。光标移动到部件安装面上并单击鼠标左键,确定放置面4.宏项目发布。首先将模型调整到正视面,如下图所示选择部件布局空间名称,单击鼠标右键,选择【属性】,进入属性:_在已经导入开关电源3d模型,制作3d宏时,第一步应完成的步骤是( )。(2分)

metamask_在MetaMask主导航上-程序员宅基地

文章浏览阅读884次。metamaskMaking software—especially on the blockchain—that is both powerful and usable is very hard, I know. And sometimes we plan a lot of our UI but new features get added, some changes are done in t...

技术分享 | MySQL 数据库巡检需要做些什么?-程序员宅基地

文章浏览阅读1k次。今天,想写下这篇文章,把我的这些个人的经验和想法总结下来,也为了证明,即使巡检那么小的一件事,只要你愿意,也能得出个最佳实践。

随便推点

初始化一个React项目create-react-app_create-react-app初始化react项目-程序员宅基地

文章浏览阅读371次。1.create-react-app是一个通过npm发布的安装包,在确认Node.js和npm安装好之后,输入下面命令创建。2.安装结束后,使用下面命令创建应用目录。3.打开目录4.运行项目_create-react-app初始化react项目

Dynamics 365 CRM 开发架构简介_dynamiccrm架构图-程序员宅基地

文章浏览阅读1.2k次。Dynamics 365 CRM提供了多种编程模型,你可以灵活地按需选用最佳模式。本文是对Dynamics 365 CRM编程模型的综述。下图表明了Dynamics 365 CRM的主要可编程场景。请根据整体解决方案选择合适的模型从扩展的角度来看,你可以在Dynamics 365中实现以下附加功能:应用于PC或移动设备的控制台应用程序或者WPF(Windows Presentation Foundation),即图中上方.Net下的绿框。处理Dynamics的Web表单的扩展,即图中右侧web a_dynamiccrm架构图

linux/ubuntu中制作deb安装包_dh_make命令-程序员宅基地

文章浏览阅读1.3k次。1 创建一个简单的源码包ls -ltotal 24-rw-rw-r– 1 mountzf mountzf 73 Jul 8 14:05 helloworld.c-rw-rw-r– 1 mountzf mountzf 323 Jul 8 14:32 Makefile_dh_make命令

HTML5、CSS3_h5设置flash cookie-程序员宅基地

文章浏览阅读740次。HTML5、CSS3_h5设置flash cookie

es6第六章_"es6:从键盘获取一个邮箱,检测是否为合法的邮箱(含\"@\"和\".\"且\"@\"在\".\"-程序员宅基地

文章浏览阅读95次。正则的扩展1. RegExp构造函数ES5 中,RegExp构造函数的参数有两种情况。第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。ES6中,如果RegExp构造函数第一个参数是一个正则对象,那么可以使用第二个参数指定修饰符。而且,返回的正则表达式会忽略原有的正则表达式的修饰符,只使用..._"es6:从键盘获取一个邮箱,检测是否为合法的邮箱(含\"@\"和\".\"且\"@\"在\".\"之前),如果是"

设计模式之桥接模式(Java语言描述)_设计模式作业桥接模式银行账户java-程序员宅基地

文章浏览阅读892次。桥接模式定义將抽象部分与它的具体实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体模式或接口模式。Decouple an abstraction from its implementation so that the two can vary independently.单从定义来看,读者未必能够真正理解桥接模式的含义,假设我们有这样的应用_设计模式作业桥接模式银行账户java

推荐文章

热门文章

相关标签