工程会接触DFT。需要了解DFT知识,但不需要深入。

三种基本的测试(概念来自参考文档):
1. 边界扫描测试:Boundary Scan Test: 测试目标是IO-PAD,利用JTAG接口互连以方便测试。(jtag接口,实现不同芯片之间的互连。这样可以形成整个系统的可测试性设计)
2. 内建自测试BIST:(模拟IP的关键功能,可以开发BIST设计。一般情况,BIST造成系统复杂度大大增加。memory IP一般自带BIST,简称MBIST
3. 扫描测试(ATPG)Scan
path:
与边界扫描测试的区别,是内部移位寄存器实现的测试数据输入输出。测试目标是std-logic,即标准单元库。(扫描测试和边界扫描,不是一个概念。需要区别对待。内部的触发器,全部要使用带SCAN功能的触发器类型。)


补充:
还有一种测试:
4. 全速测试at-speed-test(其实是属于扫描测试的一种。只不过测试时钟来源频率更快。)
at-speed 就是实速测试, 主要用于scan测试-即AC测试和mbist测试。这种测试手段的目的是-测试芯片在其工作频率下是否能正常工作,实速即实际速度。测试时钟往往是由芯片内部的PLL产生很快的测试时钟,用于实速测试。
相对而言,一般的测试是20~40兆的测试时钟,频率低,测不到transition fault。即使测试通过,实际使用中还会由于使用高频时钟发生芯片电路故障。


常见的DFT/OCC结构如下:

特点:

1. Clock MUX必须放在OCC模块/DFT MUX之前。 (OCC:On Chip Clock)
2. 时钟大于50MHz时,使用OCC模块,否则使用DFT MUX。
3. Clock Gate放在OCC模块/DFT MUX之后。
4. 对于手动添加的Clock Gate,DFT_SE端口接到 dft_glb_gt_se。
5. 对于综合工具添加的Clock Gate,DFT_SE端口接到dft_syn_gt_se


注意:
1. DFT_MODE有效时,clock mux的sel信号要保证dft_clk来源于最高频率的时钟源。
2. DFT_MUX或者OCC,不能串联。

OCC(On Chip Clock)结构如下:
注意:
1. slow_clk是类似dft_clk;这个时钟源由后端提供。个人认为所有dft_clk的来源,频率不一样,来源由后端决定,应该是测试引脚输入的吧?!
2. fast_clk是正常工作时钟源。

DFT工程师手里有三大法宝:
法宝一:BSCAN技术– 测试IO pad,主要实现工具是Mentor-BSDArchit,sysnopsy-BSD Compiler;
法宝二:MBIST技术– 测试mem,主要实现工具是Mentor的MBISTArchitect 和 Tessent mbist;
法宝三:ATPG 技术– 测试std-logic,主要实现工具是:产生ATPG使用Mentor的 TestKompress 和synopsys TetraMAX,插入scan chain主要使用synopsys 的DFT compiler。
以下对工具的使用原则做一些介绍:

ATPG工具
Insert scan:
1、虽然教科书会介绍很多种DFT DRC但是在实际设计中95%的工作在修复scan_clk和scan_reset的DRC violation;
2、修复clk/reset violation 的方法主要是用DC插入mux
,目的是使在scan_mode下clk和reset被芯片scan_clk和scan_reset pad控制。
同时,scan_clk和scan_reset pad会用于ATE给芯片施加激励;
3、插入scan时,DFT Compiler必须修复的DRC violations 类别为D1/D2/D3/D9;
4、做全片级的DFT设计时,需要在scan_in,scan_out,scan_reset,scan_clk的IO pad 的OEN/IE/REN端插入mux,控制pad的输入和输出方向。

Atpg patterns产生和仿真:
1、所有的模拟模块,例如PLL、POR等,一般设置为black-box,无法用ATPG测试其内部;
2、芯片clk、power、reset的控制寄存器,一般不会放到scan_chain上,以免在测试时由于寄存器的动作,改变芯片工作状态;
3、考虑power domain的开关,一般必须保证在scan测试时,所有power domain都打开,每个数字标准单元都能测试到;
4、如果有模拟的IO pad,一般必须在产生pattern时mask掉,因为他们不是数字的,ATPG工具无法控制它们;
5、业界一般使用DC插入OCC (on chip clocking)模块,实现at-speed scan测试电路。

MBIST工具
目前使用较多的是MBISTArchi,但是Tessent MBIST以后会成为主流。原因是Mentor公司2013年已经宣布MBISTArchi将不再提供技术支持,而且Tessent MBIST技术更为先进。
1、所有的MBIST设计应该考虑diagnose。加入diagnose电路,方便诊断mem故障,这会在芯片量产时大大提高成品率;
2、由于ARM与Mentor有合作,Coretex-A9以上的ARM核具有share-bus接口,可以很好支持Tessent Mbist,就能够实现ARM内核的mem的高速测试和访问,也提高了ARM CPU的性能;
3、Tessent MBIST会使用JTAP,只占用TCK/TMS/TDO/TDI/TRST五个pad,比MBISTArich使用更少的pad资源。
BSCAN 工具
1、所有的模拟IO,一般无法用bscan来测试,不要加上bscan_cells;
2、所有需要测试的数字pad的OEN/IE/REN 在bscan_mode下,需要插mux来控制;
3、所有需要测试的数字pad的PU/PD 在bscan_mode下,一般需要插mux来控制,保证在bscan_mode下,PU和PD=0,才能使bscan HIGHZ测试仿真通过;
4、所有JTAG的强制要求指令如IDCODE,EXIST必须在bscan电路中实现,特别是BYPASS。

DFT,可测试性设计--概念理解的更多相关文章

  1. IDDD 实现领域驱动设计-理解限界上下文

    上一篇:<IDDD 实现领域驱动设计-理解领域和子域> <实现领域驱动设计>前两章内容,基本上读完了,和<领域驱动设计>不同的是,它把很多的概念都放在前面进行讲述了 ...

  2. DDD领域驱动设计的理解

    DDD领域驱动设计的理解 从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能 ...

  3. 我对面向对象设计的理解——Java接口和Java抽象类

    在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解. 刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有 ...

  4. 大数据核心知识点:Hbase、Spark、Hive、MapReduce概念理解,特点及机制

    今天,上海尚学堂大数据培训班毕业的一位学生去参加易普软件公司面试,应聘的职位是大数据开发.面试官问了他10个问题,主要集中在Hbase.Spark.Hive和MapReduce上,基础概念.特点.应用 ...

  5. SpringIOC的概念理解、构造器注入、setter注入、p命名空间注入、IOC容器介绍与比较

    1.IOC概念理解 IOC(Inversion of Control)即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象 ...

  6. Kubernetes重要概念理解

    Kubernetes重要概念理解 kubernetes是目前最主流的容器编排工具,是下一代分布式架构的王者.2018年的kubernetes第一个版本1.10已经发布.下面整理一下,kubernete ...

  7. SNF快速开发平台2019-角色、权限、账户的概念理解-非常全的理论讲解权限控制

    组织模型   资源模型  操作模型 谁能够执行哪些操作    执行资源的范围 资源概念资源就是想要的到的最终物质,我们可以给每一个资源定义一个权限,也可以给某一类资源定义一个权限 权限概念权限是对资源 ...

  8. fragment概念理解

    fragment概念理解知识,fragment概念理解图片 fragment概念理解内容,fragment概念理介绍,fragment概念理正文 Fragment是Android honeycomb ...

  9. Ceph 概念理解

    简介 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务. 在虚拟化领域里,比较常用到的是Ceph的块设备存储, ...

随机推荐

  1. TSQL--验证身份证是否有效

    /****** Object: UserDefinedFunction [dbo].[udf_IsvalidIDCard] Script Date: 02/27/2014 16:03:20 ***** ...

  2. solrcloud 搭建资料

    SolrCloud4.9+zookeeper在CentOS上的搭建与安装 http://www.open-open.com/lib/view/open1411307048750.html 官网教程 h ...

  3. JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

    问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabi ...

  4. Linq中的group by多表多字段

    在sql中,如果有group by,那么select的字段只能包含分组内容,或者count.sum.avg这些统计字段. 但在linq里面,是:group 你想要什么字段 by 分组字段 比如: va ...

  5. C#注册表操作类(完整版) 整理完整

    /// <summary> /// 注册表基项静态域 /// /// 主要包括: /// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 /// ...

  6. swagger简单配置

    第一步: 在nuget.org中查找Swashbuckle并下载 在nuget.org中查找Swagger.net.UI,并下载 第二步: 下载完之后,App_Start多了三个文件 Swagger. ...

  7. 一个CXF集成SPRING的WEBSERVICE完整实例

    1 首先准备以下JAR包 activation.jar commons-logging-1.1.1.jar cxf-2.5.6.jar jaxb-api-2.2.1.jar jaxb-impl-2.1 ...

  8. “全栈2019”Java第一百零八章:匿名内部类与final关键字

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. Java-File类获取目录下文件名-遍历目录file.listFiles

    package com.hxzy.IOSer;import java.io.*;/*File 类获取功能 * List * ListFile * */public class Demo06 { pub ...

  10. BZOJ 1834--网络扩容(最大流&费用流)

    1834: [ZJOI2010]network 网络扩容 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 3351  Solved: 1750[Submit ...