INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作。
和INTEST SCAN 对应的就是EXTEST SCAN, 顾名思义,所指的也就是IP之间的glue logic的SCAN CELL的测试。这部分SCAN CELL 包括了IP之间的flip-flop以及IP的input的第一级flip-flop,这主要是因为IP的第一级flip-flop在做INTEST测试时只能用于shift data,并不能进行capture,所以需要在EXTEST的时候进行测试。
下图所示,就是一个IP的INTEST的data flow。

每个IP有对应的scan_in,scan_out channel,它们的channel的数量是由每个IP内部的scan_cell数量,EDT的压缩比,以及short chain的数量决定的。
1. 根据Mentor的工具建议来看,一个short chain上面的scan_cell数量可以在250~300之间。
2. 每个IP每部的压缩比的尽量在100~150条之间,如果压缩比过大,可能导致的问题是compressor/decompressor的内部logic过大,会插入较多的pipeline,从而导致整条scan chain的长度变得很大。
在计算scan_in/out 和内部的short chain数量时,会经过多次迭代,每次根据生成的EDT模块来看压缩比否合适,尽量保持EDT内部的pipeline长度小于short chain的 1/5.

为什么会分为intest和extest两种测试模式?
原因其实还是在于做scan时无法测到IP之间的gule logic。
首先来看一下SOC的整体结构,再做scan时我们会划分为ip leve和soc level。
IP level就是指测试ip内部的所有scan cell,通过shift->capture->shift这个过程,将内部所有的flop进行检查,主要是检查flop通路,以及logical path是否存在stuck at fault,以及测试signal transition能否满足timing。这些问题可以通过DC/AC mode来进行检查。

这张图画出了IP level intest的结构,红色的线代表的是scan data input/output,蓝色的线代表function data input/output。
当进行scan的时候:
1. SE =1, SDI shift data  8 cycle,将所有的flop的D pin都已经给到一个data。
2. SE = 0,  clock切换到function clock,进入capture mode,此时用fuction clock shift 1 cycle,将D pin数据输出到下一个flop的D pin上。
3. SE = 1, clock切回shift clock,进入到shift mode,将flop的数据逐个SHIFT 出来,输出到SDO,在ATE上完成一组vector的测试。
看起来整个流程是可以的,但在整个流程上,第一级的flop,也就是途中input chain中的紫色三个flop实际上是没有办法测到正常的capture模式,因为在capture mode情况下,INPUT CHAIN的SE始终要保持为1(也就是第一级的flop一直要选择红儿箭头的输入),如图蓝色的箭头所示,蓝色箭头是外部给过来的function input,在IP level,是没有办法控制它们的input,所以在capture mode下,SE =1,此时capture出来的数据实际上就是shift进来的scan input data。
在这种情况下,IP之间的glue logic没有办法验证到。


如下图所示,当两个IP之间的glue logic需要进行测试的时候,此时,第一个IP的最后一级flop就变成了INPUT CHAIN, 而第二个IP的第一级flop就变成了OUTPUT CHAIN.此时也就形成了一个IP之间的SCAN test,这样也就可以完全测试到capture mode下的flop以及logic部分。

INTEST/EXTEST SCAN的更多相关文章

  1. INTEST/EXTEST SCAN 的学习

    intest scan的一些基本知识.INTEST scan指的是对IP 内部的scan cell的扫描测试,针对IP内部的flip-flop进行shift/capture的操作.和INTEST SC ...

  2. go-hbase的Scan模型源码分析

    git地址在这里: https://github.com/Lazyshot/go-hbase 这是一个使用go操作hbase的行为. 分析scan行为 如何使用scan看下面这个例子,伪代码如下: f ...

  3. theano scan optimization

    selected from Theano Doc Optimizing Scan performance Minimizing Scan Usage performan as much of the ...

  4. Sql Server 聚集索引扫描 Scan Direction的两种方式------FORWARD 和 BACKWARD

    最近发现一个分页查询存储过程中的的一个SQL语句,当聚集索引列的排序方式不同的时候,效率差别达到数十倍,让我感到非常吃惊 由此引发出来分页查询的情况下对大表做Clustered Scan的时候, 不同 ...

  5. MySQL的loose index scan

    众所周知,InnoDB采用IOT(index organization table)即所谓的索引组织表,而叶子节点也就存放了所有的数据,这就意味着,数据总是按照某种顺序存储的.所以问题来了,如果是这样 ...

  6. Golang 逐行读写之scanner.Scan

    Go语言实现逐行读的方法多种,本文只介绍Scaner的方法,也是go推荐的方法. 官方文档 例子: file, err := os.Open("filename") if err ...

  7. theano中的scan用法

    scan函数是theano中的循环函数,相当于for loop.在读别人的代码时第一次看到,有点迷糊,不知道输入.输出怎么定义,网上也很少有example,大多数都是相互转载同一篇.所以,还是要看官方 ...

  8. hbase scan 的例子

    /** * Created by han on 2016/1/28. */ import org.apache.hadoop.conf.Configuration; import org.apache ...

  9. Index Seek和Index Scan的区别

    Index Seek是Sql Server执行查询语句时利用建立的索引进行查找,索引是B树结构,Sql Server先查找索引树的根节点,一级一级向下查找,在查找到相应叶子节点后,取出叶子节点的数据. ...

随机推荐

  1. CentOS 5.5 防火墙开启、关闭以及开放指定端口

    之前有讲过公司新买的服务器使用的是CentOS5.5, 部署好Tomcat之后却发现输入114.80.*.*:8080(即ip:8080)却无法显示Tomcat默认的首页. 因为以前部署在Win Se ...

  2. noip第28课作业

    分段数列 [问题描述] 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入格式: 输入第1行包含两个正整 ...

  3. Maven中项目的启动

    在run选项卡中,选择Run Configurations

  4. ASP.NET MVC Form表单验证与Authorize特性

    一.Form表单验证 1.基本概念 表单验证是一个基于票据(ticket-based)[也称为基于令牌(token-based)]的系统.当用户登录系统以后,会得到一个包含基于用户信息的票据(tick ...

  5. 团队项目(HCL)

    一.团队展示 队名:盐酸队 队员学号及风采: 团队项目描述:经典90坦克大战(基于java) 团队合照: 二.团队选题 经典90坦克大战是以坦克为题材的射击类小游戏,我们将在java上实现并拓展,我们 ...

  6. cxGrid单元格获得输入焦点

    cxGrid单元格获得输入焦点   cxGrid单元格获得输入焦点 cxGrid1.SetFocus;cxGrid1DBTableView1.Controller.EditingController. ...

  7. 【转】利用线程更新ListView (2014-09-28 08:25:20)

    http://blog.sina.com.cn/s/blog_44fa172f0102v2x0.html procedure TForm5.Button3Click(Sender: TObject); ...

  8. C#读取excel文件提示未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

    错误描述: 在VS2010执行读取excel文件时,报错"未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序" 业务代码: //下 ...

  9. datatable绑定数据源

    DataTable dt = new DataTable(); dt.Columns.Add("clmn1", System.Type.GetType("System.S ...

  10. 背水一战 Windows 10 (54) - 控件(集合类): ItemsControl 的布局控件 - OrientedVirtualizingPanel, VirtualizingStackPanel, WrapGrid

    [源码下载] 背水一战 Windows 10 (54) - 控件(集合类): ItemsControl 的布局控件 - OrientedVirtualizingPanel, VirtualizingS ...