为什么要做DFT ?

随着集成电路制造技术和复杂度的提高,集成电路设计工程师可以将一个系统集成在一个芯片中,其中可能包括逻辑部分、存储器、模拟部分、模数混合部分等等,这样的系统称为片上系统,也称为系统芯片(SoC)。相对于板上系统,系统芯片极大地缩小了系统体积,减少了板级系统中芯片与芯片之间的互连延迟,从而极大地提高了系统的性能。为了缩短上市时间和节约开发成本,系统芯片越来越多的采用嵌入式核进行设计,这些嵌入式核被称为IP(Intellectual Property)核,这种基于库资源的IP复用设计方式将成为IC设计的主流方式可测试性设计就是其中的难题之一。

常用技术有哪些呢

1. 边界扫描测试BSD

如图所示,为BSD(Boundray-Scan DFT)的总体拓扑结构,主要包括边界扫描单元(BSC)和测试访问端口控制器(TAP Controller)两部分,其核心就是TAP Controller。

图中的移位寄存器单元插入到IC的核心逻辑与I/O管脚之间,以提供通过所有IC的一条串行测试数据通路。因为移位寄存器单元位于IC的边界处,所以这些单元被称为边界扫描单元(BSC,Boundary Scan Cell),由它们构成的移位寄存器称为边界扫描寄存器。为了完成测试功能,相互连接的边界扫描单元必须具有数据移位、数据更新、数据捕获等功能,这些功能是由测试控制逻辑来控制的。测试控制逻辑由两条信号线驱动:TMS和TCK。所以,整个边界扫描测试要求IC中至少有四个可利用的测试管脚,或将它们附加到其他的功能管脚上。四个管脚TMS、TCK、TDI和TDO被称为测试访问端口(TAP, Test Access Port)

2.BIST

BIST技术是一种内建自测试技术,对于它的研究目前主要集中在低功耗和高故障覆盖率方面。

为了缩短测试时间,要考虑到很多因素,下面列出几个最重要的问题:

  1. 功耗约束: 芯片各个模块在并行测试时,功耗往往很高,所以必须确定功耗极限值,该值的确定往往与芯片的材料、电路性质等多种因素有关;
  2. 模块优先级: 系统芯片中各个模块的测试并非完全独立,外层模块的测试有时需要它的嵌入式模块先完成测试;
  3. 资源冲突: 测试资源包括内部与外部的各种总线、激励产生单元、响应分析器等。在并行测试期间,同一个测试资源不能在同一时刻分配给不同的测试模块,同一个模块也不能同时分配给不同的测试资源。

3 SCAN CHAIN

DFT的根基是什么?

接下来给出stuck at fault 测试的基本原理。以SA0测试为例。如图2-2所示,

暂记向量VIN=[A B C D] ,T=[A B C D Y] ,向输入端口加入激励,使得VIN=[1 0 0 0],则当SAO发生时,输出端口Y为0,反之,Y为1。可知SA0可以通过输出端口测试出来了。T被称为测试图形。认真分析会发现,VIN并不是任意的,

这牵扯到测试路径算法的问题,比较经典的是D算法,不再赘述

执行DFT的过程有哪些?

  1. 读入设计文件(电路代码.v 时序约束文件 .sdf 等) 图3-3 为电路的rtl结构。
  2. 设定测试协议。测试协议包括测试的模式,测试所采取的测试信号。常见的包括测试所需的时钟信号,控制端信号,复位信号等。

  3. 在插入DFT之前,要进行电路的设计规则检查,要在没有发生错误的前提再插入DFT

  4. 明确扫描架构 。简单的说就是明确测试的时序,包括周期,时钟,数据的延迟等

  1. 插入扫描链

  2. 做插入扫描链后的DRC,如果不通过需要进行修改。即使通过,如果错误覆盖率很低,也要进行迭代设计

  3. 提交设计文件方便以后的查询与更正。的部分内容截图,易知利于读者查询测试激励信号设置,同样也可以自己书写该文件,这要求比较高,可以提高设计的效率

DFT交付标准是什么?

1. DFT设计文档,测试策略

2. pattern 数据

3. 覆盖率出口要求, 报告,如图所示,覆盖率出口标准因项目而异,重要的是要分析出来那些确实是ND, UD

竹海杂谈:DFT step by ZHUHAI相关推荐

  1. 竹海杂谈0(曾经走过的坑2)- ----- cadence的环境配置

    时间回溯到9年前,接收到一个任务,帮助导师去搭建模拟环境,一看好多套套件,当时还是一个初识环境变量的小伙.网上的各种,个人觉得真的有点乱,于是再次分享一下新的.环境变量无非是两种,一种是我自定义的环境 ...

  2. 竹海杂谈8----------------------滤波器设计实例

    low-pass:(no feedback) low-pass:(feedback) band-pass(no feedback):

  3. 竹海杂谈:利用proteus设计电路(实例:485通信)

    1有时候缺乏实际的硬件平台,对于电子设计来说是很不利的.但是有很多软件平台帮助我们解决了这个问题. 本文以485通信为例.下图为整个通信系统的原理图.其中包括AT89C51,MAX487芯片,虚拟中端 ...

  4. 竹海设计:-fixed node method under time-altering for DSP

    想象一下:对于DSP应用来说,速度和功耗尤为重要. 深入分析一下,为了提高系统的运行速度,常常会加入流水线的结构.加入流水线肯定会造成面积增大,有的时候我们不需要那么快的速度,可能需要撤去一部分流水线 ...

  5. 一个工科生的竹资源探索之旅

    一个工科生的竹资源探索之旅 本人爱竹,故我寻竹. 梅寒显骨风,兰温露雅花, 竹凛映冰雪,菊冷彰清月. 竹为何物   竹又名竹子,品种繁多,为多年生禾本科竹亚科植物,茎为木质,是禾本科的一个分支,学名为 ...

  6. android studio finish,Android Studio finish()方法的使用与解决app点击“返回”(直接退出)...

    在这里,我们将用到finish(),简单介绍一下它的使用: finish()官方解析:Call this when your activity is done and should be closed ...

  7. 遇见你们,真好 ---致我的舍友

    浮生一梦,落地尘埃.遇见你们,是我最美丽的意外. 一年前,因命运的机缘巧合,我们组建了这个新的宿舍.一年间,和着四季的旋律,我们嬉闹着相伴走过.一年后,伴着毕业的节奏,我们也许四散天涯.今夜无眠,写下 ...

  8. 豆瓣评分9.4!这一部纪录片,探秘中国人迹罕至的未至之境!

    全世界只有3.14 % 的人关注了 爆炸吧知识 Bilibili 联合"美国国家地理",悄悄出品了一部史诗级动物记录片,忍不住要推荐给大朋友小朋友们--<未至之境>. ...

  9. 豆瓣评分9.4!这一部纪录片,探秘中国的未至之境!

    全世界只有3.14 % 的人关注了 爆炸吧知识 Bilibili 联合"美国国家地理",悄悄出品了一部史诗级动物记录片,忍不住要推荐给大朋友小朋友们--<未至之境>. ...

最新文章

  1. Python:numpy生成正态分布的平均数
  2. win32 wmi编程获取系统信息
  3. java自学手记——继承
  4. python之按位运算
  5. OSPF两种组播地址的区别和联系
  6. java集合的扩容研究
  7. jsp--请求转发与重定向
  8. 空冷器投用步骤_石油二厂制氢装置为空冷器“洗澡”【奋进之路】
  9. 谷歌升级AutoML,可用于大规模图像分类和物体检测
  10. Linux下安装MySQL8
  11. 家庭上网用路由器和ADSL的连接
  12. maya python 游戏与影视编程指南pdf_《Maya Python游戏与影视编程指南》.( [美]Adam Mechtley).[PDF]...
  13. unity 暂停按钮_Unity VideoPlayer教程之 视频播放暂停切换
  14. 胰蛋白酶的化学性质及应用
  15. 阿里技术风险与效能部负责人张瓅玶:阿里集团深度用云实践
  16. Failed to initiate the GitHub login process. Please try again(1.1.25.1678)
  17. webstorm 安装激活破解方法
  18. 互联网企业使用云计算,有什么优势?
  19. Keras少量样本训练强大图像分类模型
  20. ftl模板生成的word文档打不开

热门文章

  1. @Configuration注解的类的加载(注意不是处理@Configuration注解处理)实现原理
  2. 怎么查询京东白条还款记录
  3. 网页拷贝工具XFT使用,方便简介,远胜WebCopy
  4. 彩色图像分割方法汇总
  5. 火影推荐程序连载23-Robot Framework自动化测试框架核心指南-如何做好自动化测试平台框架的设计
  6. (转链接)Linux 正则表达式
  7. iOS - 用Hopper反编译 Nike+ 二进制文件
  8. ffmpeg 视频转码命令
  9. 启用或禁用 UPnP 框架
  10. Apache web服务器(LAMP架构)(week3_day4)--技术流ken