上回书说到SA0和SA1的测试方法。

这种测试方法是建立在一个前提上的,就是我们可以任意改变输入信号的逻辑值。如果这个输入正好就是整个芯片的输入还好办,直接在芯片外部改变即可。但很多时候我们需要测试芯片内部的各个逻辑单元,它们的输入就会是在芯片内部,不那么好调整了,这可咋办呢?

这个时候人们就想到了芯片中的重要元件——寄存器。如果我们给寄存器存储相应的测试的逻辑值,让这些reg的存储的数据作为我们DFT测试的输入,不就可以达到控制输入信号的目的了吗?但这种方法有一定局限性,这样我们的DFT测试输入位置必须保证是时序逻辑中寄存器的输出pin才行,接收输出信号就还是用探针就可以,没有太多限制。这样的输入限制有可能会导致我们无法完全测试出所有combinational cell的问题,但DFT工程师还是可以控制输入信号测很多次,来尽可能多的覆盖到能测的cell。DFT测试中有一个测试覆盖率的概念,一般都会要求到90%以上。

然而使用reg来作为测试输入又带来了新的问题,那就是我如何给这些reg灌进我想要的值呢?要知道芯片在正常工作时reg之间是会互相影响的,我们很难控制在某一个时刻,很多个reg都正好输出我们想要的某个逻辑值组(一般DFT工程师称这种输入逻辑组叫pattern,比如上篇提到的例子里,11、10就是不同的两个pattern),怎么办呢?为了DFT测试,我们要对芯片进行大刀阔斧的改革!我们要把芯片中所有的正常reg全部升级!升级后的reg在可以正常工作的同时,还要支持一种模式,这种模式可以让我们直接控制每个reg寄存的值。但是我们不可能把每个reg都接一根net到整个芯片的port,那port数量就太多了,根本不现实。如何只用控制一个port就能控制所有reg的值呢?别忘了,我们要控制的是寄存器,是被时钟控制的,时钟每跳变一次,信号往后传输一次,那么人们就想到把所有reg都串起来,后一个reg的输入是前一个reg的输出,我们只需要往第一个reg的输入一个个灌值就行了。比如三个reg串起来,我们想要一个101的pattern,就在第一个时钟周期给第一个reg灌进去1,三个reg状态是1xx;下个时钟周期灌0,状态变为01x,第三个周期灌1,状态变为101.这就是我们想要的pattern,在这个时刻进行测试即可。这里的reg的输入输出就是不同于电路的输入输出了,就是别的pin,称为SI和SO,控制信号SE,我们把这个串称为扫描链(scan chain)。并且芯片工作的时钟很快,DFT测试的时候相对就很慢,我们就需要一个专门的慢速时钟用来测试,相应的这个慢速时钟和正常的时钟要经过一个选择器接到reg上。

而后DFT工程师就要生成各个pattern了,最终把这一串值一个一个送到ATE机台完成测试。呼~写了这么多只讲完了DC mode,但还有AC mode没讲...就是说我们上文提到的测试不涉及电路transition的问题,如果某个cell transition比预期的要慢,也会发生错误,这也得测才行,因此就不能用慢速时钟了,得用常速时钟才行,相应的测试方法更加复杂了。

这两天写的DFT相对细了点,讲的东西就少了点。我昨天刚开始写的时候以为1000个字大概讲讲就行,结果发现大概讲讲也得少说一万字。DFT更深入的内容之后有机会再写吧。

这是我的第23篇文章。微信公众号:伟酱的芯片后端之路

DFT的简单介绍(下)相关推荐

  1. 简单介绍下我使用了一年多还不知道的Sql server 2005 组件知识

    简介 Microsoft SQL Server 2005 是用于大规模联机事务处理 (OLTP).数据仓库和电子商务应用的数据库平台:也是用于数据集成.分析和报表解决方案的商业智能平台. SQL Se ...

  2. python网站设计理念_简单介绍下python Django框架的历史,设计理念及优势_Django讲解2...

    简单介绍下python Django框架的历史,设计理念及优势 Django是一个高层次的 Python Web 框架,它是一个鼓励快速开发和干净,实用的框架设计.Django可以更容易地快速构建更好 ...

  3. 简单介绍下微信群大全500人大群及免费微信互投群万人群

    简单介绍下微信群大全500人大群及免费微信互投群万人群 当前很多微信投票活动慢慢变多,许多人在网上寻找关于"微信群大全500人大群及免费微信互投群万人群"来自己拉票,那么网上那么多 ...

  4. [面试]:能简单介绍下您现在所做项目和过程中的技术难点或有遇到瓶颈吗?

    思路转载自Hollis的知识星球,有兴趣的可以搜一下,很不错. 业务介绍: 1.痛点:解决的问题,用户痛点 2.正确性 3.可用性 4.大规模:量级 思考问题: 宏观,不局限于业务 这种问题直接回答高 ...

  5. 简单介绍下去掉虚线框的几种方式

    最新简单介绍下去掉虚线框的几种方式 以下是三零网为大家整理的最新简单介绍下去掉虚线框的几种方式的文章,希望大家能够喜欢! 1.CSS样式表的outline属性(IE9.FF等浏览器推荐)  对于最新的 ...

  6. DFT的简单介绍(上)

    对于我每天一千来字的文章来说,这个题目起的着实有点大.要知道现在的DFT所涉及的内容实在太多了,以至于催生了专门的DFT team和专门做DFT的工程师.但是对于芯片设计中的每一环,对DFT所要做的工 ...

  7. 简单介绍下曝光,感光度,光圈,快门,白平衡。

    大家好     今天我介绍下    摄影的相关知识 现在的手机越来越是智能化,我个人认为手机有可能取代部分专业的照相机,这个结论嗯并不是没有道理的.虽然高端的照相机是手机无法企及的,作为小巧的随身物品 ...

  8. 简单介绍下gbk和utf-8这两种编码的区别

    那么gbk与utf-8之间有什么区别呢?首先简单介绍一下gbk编码和utf-8编码. gbk编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符"gb2312&qu ...

  9. ASP.NET一款免费富文本(RichText)编辑器KindEditor,实现在线排版编辑文章。这里简单介绍下如何使用

    一般用到富文本编辑器的地方:留言板,论坛的发帖页以及回复页等. 所用软件VS2012旗舰版 KindEditor下载地址(本文实例中所用版本4.1.10): http://download.csdn. ...

最新文章

  1. java泛型的逆变_Java泛型的逆变
  2. Graves of the Internet - 互联网坟墓
  3. SAP Commerce Accelerator从2005升级到2011的步骤
  4. [Leedcode][JAVA]第[945]题
  5. bzoj4554 [HEOI2016]游戏 二分匹配
  6. 豆瓣电影 知识图谱 Neo4j
  7. Linux Rsync实现文件同步备份(转载)
  8. Django搭建网站笔记
  9. Visio2010的下载
  10. tictac 立体井字棋--数学问题
  11. MYSQL 大于号,小于号
  12. 按位与、按位异或、按位取反
  13. 金戈铁马 Android NDK 实战篇:男人之间的那些事
  14. php 表格制作教程下载,word表格如何制作教程?
  15. 高端配置台式计算机,高配置台式电脑清单 3款高性能主机推荐
  16. 获得root权限的命令 su和sudo命令
  17. 2020-11-30
  18. c语言 程序竞赛题,C语言程序设计竞赛题目(学生使用).doc
  19. python编程软件免费吗_Python Mac下载-Python for Mac(Python编程工具) v3.10.0a2免费版
  20. LED驱动电源有几种保护方式

热门文章

  1. FileReader 和 FileWriter(Second)
  2. MATLAB 生成高清 矢量图+图局部放大
  3. java 反转字符串
  4. 思科、华为、华三模拟器大比拼,你最爱哪一款?(附模拟器下载)
  5. 理解paxos算法--事前咨询,事中决定,事后提交
  6. 安卓动画之ObjectAnimator
  7. VLAN 、PVLAN
  8. STM32学习(二)
  9. linux实验实训报告,linux实验实训报告.doc
  10. 财务报告及会计基础知识