文章目录

  • 回顾作业
  • scan.tcl的脚本
  • 如何分析SPF文件
  • 做scan时候的Flow脚本
  • 让工具autofix rst问题
  • 如何看preview_dft
  • set_scan_element false
  • Scan reorder
  • scan compression

本博文是博主记录DFT实训教程的笔记版本,此笔记并没有对所有的知识进行记录,仅仅以自身的认知水平,来记录了一些部分笔记并加上了自己的理解。

回顾作业

思考如下的问题:
在设计里面还有别的cell,当然主流仍然是MUX-D。
A、双端口扫描单元:为了把扫描时钟与正常时钟、扫描数据与正常触发器数据输入数据区分开,扫描触发器采用双(数据)双时钟触发器,有两个数据端口D和SI、两个时钟clk1和clk2,clk1和clk2时钟信号到来后SI端口的信号被捕获。
B、电平敏感扫描设计(Level-sensitive scan design, LSSD):采用双锁存设计,对瞬态特性,如上升沿、下降沿都不铭感,电路结构中包括两个相互链接的电平敏感锁存器、信号有效数据输入D、系统时钟CK、串行扫描输入SI和两个互不重复的时钟clk1和clk2、串行扫描输出SO。测试中L1(主)和L2(从)结构,正常function状态时只有L2起作用,作用如同触发器。


对于问题2:
如果当你进行capture时候,就可能会改变reg/Q上面的值,相当于PPI发生了变化,与PI共同作用,会导致PO的值改变。所以,此时PO上面的值不是PI+PPI的值,而是PI+caputure后PPI上的值的作用结果。一般而言我们是希望前面一种,如果采用后面一种方式,工具会多了一个新的计算,相当于用新的PPI+PI运算结果。
如下图所示,对于measure PO, 如果发生在capture之后,由于capture这个动作会冲掉reg上面的值,导致产生新的PPI。

scan.tcl的脚本

#configure library
set search_path "$search_path ./netlist ./lib"
set target_library {./lib/typical.db}
set link_library {* ./lib/typical.db}#read and link the design
read_verilog -netlist ./netlist/top.v
current_design top link
link
#configure DFT
set_scan_configuration -chain_count 1
set_dft_signal -type Scanclock -port clk -view existing_dft -timing {45 55}
set_dft_signal -type ScanDataOut -view spec -port outa#preview and inset DFT
create_test_protocol
dft_drc
preview_dft
inset_dft
dft_drc#write out the information
report scan_path -view existing_dft -chain all
write -format verilog -hierachy -output netlist/top._scan.v
write_test_protocol -output generated/scan.spf

如何分析SPF文件

header是文件的基本信息
signals代表我这个芯片有哪些port。
signalGroup就是对信号的分类。
_si包含了信号test_in,作用是ScanIn
_so包含了信号outa,作用是ScanOut
_clk包含了信号clk。
我们知道IO有input output 和bid 所以这边spf文件里面还给出了以下的分类。
all_inputs
all_puts
所有的ports
_pi
_po
这些分组会简化下面的书写过程。
接着是Scan Structure的部分,描述了我现在scan这个这个structure的基本信息。
接下来就是timing的部分了,最关键的部分,比如我们之前谈到scan shift, force pi, measure po,shif out,以及shift out的比值的点在哪里,就包含在其中timing的信息中。
period就是测试时钟周期是100ns



下面再看一下Procedures的描述

做scan时候的Flow脚本

rundftc.tcl

dc_shell-t -f scan.cmd | tee -i my.log

scan.cmd

#settings
source -echo -verbose dc_setup.tcl
#design
source -echo -verbose designReadIn.tcl
#Constraints
source -echo -verbose designConstrainIn.tcl
#scan
source -echo -verbose InsertScan.tcl#source -echo -verbose designRecompile.tcl#outputs
source -echo -verbose designOutput.tcl

dc_setup.tcl如下

designReadIn.tcl如下

。。。。。
这里不一一展示,以后再workshop中再看官方的脚本,总结出自己的一套flow

PPI的是什么的简称。如下图。

让工具autofix rst问题

如何看preview_dft

set_scan_element false

因为timing关系,不希望增加mux,不希望串scan等原因

Scan reorder

在PR之前是按照字母顺序进行串chain。在做了PR之后,考虑到布局布线的资源,可能就会调换scan cell的位置。但如果跨了clock domain换的话,就会出现问题,所以需要告诉工具只能在一个clock domain内换。所以,在做scan flow的时候有command可以产生-scandef的文件。
scan reorder就是要解决优化链接关系,节省布线的资源。

在解决DFTviolation的时候可以,通过autofix来修改,然后反馈给DD,这样,能从中学习到解决violation的方法。

scan compression

ATE设备按照2-10美分/s来收费。
测试时间主要花费在了shift上面,如果我的chain的条数增加,shift时间就变短了。
采用如下图所示的broadcast结构。

DFT实训教程笔记3(bibili版本)-SOC Scan Implementtation Scan Practice Session II相关推荐

  1. DFT实训教程笔记4(bibili版本)- ATPG

    文章目录 Physical Defects Fault model Delay Fault Model Transition Delay Faults Path Delay Fault IDDQ Fa ...

  2. DFT实训教程笔记2(bibili版本)- Scan synthesis practice

    文章目录 Scan synthesis practice 本博文是博主记录DFT实训教程的笔记版本,此笔记并没有对所有的知识进行记录,仅仅以自身的认知水平,来记录了一些部分笔记并加上了自己的理解. S ...

  3. DFT实训教程笔记1(bibili版本)- introduction to DFT DFT Architecture

    文章目录 introduction to DFT DFT Architecture 本笔记来源于小破站的视频教程,本博文系列是本博主的笔记系列,只以博主目前的知识水平对视频教程的知识进行的提取和知识理 ...

  4. 计算机基础操作与应用实训教程,计算机应用基础实训教程の第 3 章 Word 2003 基本操作.pdf...

    计算机应用基础实训教程の第 3 章 Word 2003 基本操作.pdf (37页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 第 3 章 ...

  5. linux 系统网络服务器组建,配置和管理实训教程 pdf,Linux网络服务器配置管理项目实训教程2...

    Linux网络服务器配置管理项目实训教程2 附录2 Linux常用命令 在文本模式和终端模式下,经常使用Linux命令来查看系统的状态和监视系统的操作,如对文件和目录进行浏览.操作等.在Linux较早 ...

  6. as上的git到码云操作_高校版News||码云联合实训邦发布软件工程在线实训教程

    前情摘要:目前市场上对于软件工程专业的人才需求剧增,各大高校计算机/软件专业的教师也在为如何更高效得培养出更多精专选手而不断创新教育模式.码云作为云端软件协作的领跑者,于2018年6月推出高校版,旨在 ...

  7. 计算机办公软件应用实训,计算机专业职业教育实训系列教材:Office 2007办公软件实训教程...

    Office2007是微软Office产品史上最具创新与革命性的一个版本.它具有全新设计的用户界面,稳定安全的文件格式.无缝高效的沟通协作.<Office2007办公软件实训教程>从初学者 ...

  8. 设计模式实训教程 前言

    今天下午收到了清华大学出版社的<设计模式实训教程>,终于出版了,,出版时间为2012年1月,这本书作为<设计模式>的配套教程,融合了我近几年收集到的设计模式实例,还编制了大量设 ...

  9. 《设计模式实训教程》前言

    今天下午收到了清华大学出版社的<设计模式实训教程>,终于出版了,,出版时间为2012年1月,这本书作为<设计模式>的配套教程,融合了我近几年收集到的设计模式实例,还编制了大量设 ...

最新文章

  1. tcl c语言笔试题,TCL技术类笔试题目.doc
  2. 集成学习(一)—预备知识:分类树和回归树
  3. 【Mybatis 之应用篇】1_Mybatis简介、第一个Mybatis程序和增删改查在Mybatis中的使用方式
  4. c语言case可以判断多个条件吗,case 多个条件
  5. 按行拼接两个txt文件的python实现
  6. php MySQL定义,PHP + MySQL用户定义函数
  7. 矩池云上Ubuntu18.6安装COMSOL Multiphysics 5.5
  8. PHP面向对象学习五 类中接口的应用
  9. Fragment 源码解析add()和replace()方法
  10. 大数据市场交易趋旺物联网平台争夺加剧
  11. 尚硅谷大数据之Linux
  12. Zynq7000硬件开发之硬件开发流程简介(二)
  13. 大华服务器装系统,clonezilla安装系统理论篇
  14. 升级opengl和显卡驱动_又更新了!英伟达OpenGL 4.4显卡驱动下载
  15. apache - mod_rewrite配置指令RewriteBase
  16. android实现多任务多线程支持断点下载的下载软件
  17. 输入数字怎么变成大写python_Python将阿拉伯数字转化为中文大写
  18. python三年a班的成绩_Python题集:2019春Python程序设计选修课习题笔记
  19. 来自互联网的悲哀:不是你选择加班,而是 KPI 驯化你
  20. 利用html制作网页的小结,HTML_CSS制作网页的一些经验分享,CSS制作网页总结的一些经验 1: - phpStudy...

热门文章

  1. Deming管理系列(2)——怎样开发度量能力
  2. 【计算机视觉】Objectness算法(一)---总体理解,整理及总结
  3. Memcached内存存储
  4. UA STAT675 统计计算I 随机数生成8 Adaptive Rejection Sampling
  5. UA STAT687 线性模型II 最小二乘理论3 广义最小二乘
  6. Mathematica 对曲线进行拟合
  7. 初次使用CxImage类库、VC6配置UNICODE的方法
  8. asp.net控件库FineUI使用入门图解
  9. python数组排序(递归实现)
  10. ACID、数据库隔离级别