精华内容
下载资源
问答
  • CPU芯片测试技术.doc

    2020-10-12 14:10:10
    CPU芯片测试技术简介,介绍CPU类的芯片如何进行测试,CPU芯片测试技术简介,介绍CPU类的芯片如何进行测试,可以提供给初学者进行学习
  • 分治算法 芯片测试.py

    2020-04-14 17:55:22
    芯片测试:蛮力测试和分治策略都有写到,算法按设计与分析课的笔记,博主自己写的,仅仅参考了讲义的伪代码,若有错误请指出,谢谢。 重要的假设:好芯片至少比坏芯片多一片。 测试结果:奇数个芯片√ 偶数个芯片...
  • 51单片机芯片测试仪,能对常用的14引脚以内的74系列芯片进行检测,自动检测: 按下键盘上的自动检测键并按确定键确认开始自动检测,并将测试结果显示在OLED 手动检测: 以知芯片信号的情况下,输入要测试的芯片型号,并...
  • 基于J750的MCU芯片测试程序开发与调试.pdf
  • 清华大学芯片测试讲义,主要内容包括: 1.可测试性测试和设计的基础知识 2.组合测试生成 3.故障模拟 4.顺序测试生成 5.内存测试 6.可测性测量 7.可测试性设计 8.边界扫描 9....
  • 设计制作一个集成电路芯片测试仪,能对常用的74系列逻辑芯片进行逻辑功能测试,以确定芯片的好坏和型号。 二、要求 1.基本要求 (1)通过键盘输入型号,可以对74系列的00/02/04/08/10/11/20/21/27/30十种组合逻辑...
  • 芯片测试的几个术语及解释pdf,CP是把坏的Die挑出来,可以减少封装和测试的成本。可以更直接的知道Wafer 的良率。FT是把坏的chip挑出来;检验封装的良率。现在对于一般的wafer工艺,很多公司多把CP给省了;减少成本。
  • 芯片测试功能

    2020-12-10 02:31:18
    1. Screen Interface / Command Language 2. Graphical Programming Language ( Testview & Labview ) 3. Mixed Signal IC Test 4. Scan Test 5. IDDQ Test (Not Support by CIC)
  • 晶圆及芯片测试.doc

    2019-09-15 16:51:29
    晶圆及芯片测试,过程讲解
  • 本文将介绍射频/无线芯片测试。射频/无线系统会同时包含一个发射器和接收器分别用于发送和接收信号。我们先介绍发射器的基本测试,接下来再介绍接收器的基本测试。  发射器测试基础  如图1所示,...
  • 谐波电能计量芯片测试分析.pdf
  • 温度传感器芯片测试与研究.pdf
  • 景尚科技推出模拟芯片测试机.pdf
  • 电源类芯片测试修调方法及问题分析.pdf
  • 芯片测试

    千次阅读 2019-01-04 10:15:17
    而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。  给出所有芯片的测试结果,问哪些芯片是好芯片。 输入格式  输入数据第一行为一个整数n,表示芯片个数。  第...

    问题描述

    有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多。
      每个芯片都能用来测试其他芯片。用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏。而用坏芯片测试其他芯片时,会随机给出好或是坏的测试结果(即此结果与被测试芯片实际的好坏无关)。
      给出所有芯片的测试结果,问哪些芯片是好芯片。
    输入格式
      输入数据第一行为一个整数n,表示芯片个数。
      第二行到第n+1行为n*n的一张表,每行n个数据。表中的每个数据为0或1,在这n行中的第i行第j列(1≤i, j≤n)的数据表示用第i块芯片测试第j块芯片时得到的测试结果,1表示好,0表示坏,i=j时一律为1(并不表示该芯片对本身的测试结果。芯片不能对本身进行测试)。
    输出格式
      按从小到大的顺序输出所有好芯片的编号
    样例输入
    3
    1 0 1
    0 1 0
    1 0 1
    样例输出
    1 3

    代码

    #include<stdio.h> 
    int main()
    {
    	int a[20][20]={0},b[20]={0};
    	int n,i,j,k;
    	scanf("%d",&n);
    	
    	for(i=1;i<=n;i++)
    	    for(j=1;j<=n;j++)
    		scanf("%d",&a[i][j]);
    	
    	for(i=1;i<=n;i++)
    		for(j=1;j<=n;j++)
    			if(a[i][j]==0)
    			a[i][j]=-1;
    	
    	for(i=1;i<=n;i++)
    		for(j=1;j<=n;j++)
    		if(i!=j)
    			b[i]+=a[i][j];
    	
    	for(i=1;i<=n;i++)
    		if(b[i]>=0)
    		{
    			for(j=1;j<=n;j++)
    			if(a[i][j]==1)
    			printf("%d\t",j);
    			printf("\n");
    			break;
    		}
    	return 0;
    }
    

    运行截图

    在这里插入图片描述

    展开全文
  • 电源芯片测试规范.doc

    2019-09-12 18:51:00
    电源芯片测试规范doc,本文介绍了电源芯片测试规范。此处的“电源芯片”主要指基于PCB板焊接的电源芯片,包括DC/DC、LDO电源芯片等,也包括小功率DC/DC电源模块;非PCB焊接的大功率DC/DC、AC/DC电源模块不在此列。
  • 集成电路RFID芯片测试系统设计与实现 (1).pdf
  • 集成电路RFID芯片测试系统设计与实现.pdf
  • 基于ATE的卫星导航射频芯片测试技术.pdf
  • NORFLASH存储芯片测试程序的设计.pdf
  • 以ADF4153小数分频频率合成器为例,研究了其外围环路滤波器的设计方法,给出了基于芯片测试的环路滤波器设计流程,并进行了验证测试。测试结果表明,该滤波器可满足小数分频频率合成器芯片测试的需要。  在进行...
  • 高功率半导体激光列阵芯片测试表征与仿真优化.pdf
  • D/A 转换器作为连接数字系统与模拟系统的桥梁,...大规模芯片测试时则使用自动测试设备(ATE),但是成本很高;最近提出的DAC 的测试方法,比如结合V777 数字测试系统可以进行DAC 测试,应用模拟滤波器进行音频DAC 测试
  • FLASH EPROM芯片测试机pdf,FLASH EPROM芯片测试
  • 分治法之芯片测试

    2019-12-06 09:12:16
    最近在看算法导论时,看到了这道芯片测试的题,想了很久,总结一下我的思路 一、问题描述 Diogenes教授有n个被认为是完全相同的VLSI芯片,原则上它们是可以互相测试的。教授的测试装置一次可测二片,当该装置中放有...

    最近在看算法导论时,看到了这道芯片测试的题,想了很久,总结一下我的思路

    一、问题描述

    Diogenes教授有n个被认为是完全相同的VLSI芯片,原则上它们是可以互相测试的。教授的测试装置一次可测二片,当该装置中放有两片芯片时,每一片就对另一片作测试并报告其好坏。一个好的芯片总是能够报告另一片的好坏,但一个坏的芯片的结果是不可靠的。这样,每次测试的四种可能结果如下:

    A芯片报告B芯片报告结论
    B是好的A是好的都是好的,或都是坏的
    B是好的A是坏的至少一片是坏的
    B是坏的A是好的至少一片是坏的
    B是坏的A是坏的至少一片是坏的

    a)证明若多于n/2的芯片是坏的,在这种成对测试方法下,使用任何策略都不能确定哪个芯片是好的。假设坏的芯片可以联合起来欺骗教授。

    b)假设有多于n/2的芯片是好的,考虑从n片中找出一片好芯片的问题。证明n/2对测试就足以使问题的规模降至近原来的一半。

    c)假设多于n/2片芯片是好的,证明好的芯片可用Θ(n)对测试找出。给出并解答表达式测试次数的递归式。

    二、题干解读

    1. 当两个芯片都报告是好的,如果其中一个A是坏的,因为另一个B说A是好的,所以B也是坏的
    2. 当两个芯片的报告一好一坏时:
      1. 说对方好的那个芯片一定是坏的:假设A说B是好的,B说A是坏的,若A是好的,则B是好的,那么B说A是坏的就自相矛盾了,所以A一定是坏的。
      2. 说对方坏的那个芯片可能是好的,也可能是坏的:经过上面的分析,A一定是坏的,那么A说的就不可信(可能是对的可能是错的),那么B说A是坏的,B好的坏的都有可能
    3. 当两个芯片的报告都是坏的时:
      1. 首先不可能两个都是好的
      2. 若一个是好的:假设A是好的,则A说B是坏的,成立;B是坏的,所以还不管B的说辞
      3. 两个都是坏的,就无所谓他们说啥了

    三、算法分析

    对于问题a,采用穷举法,将任何一片芯片与其它所有芯片进行比较,因为有多于n/2的芯片是坏的,且坏的芯片可以联合起来欺骗教授,则测试结果是不可靠的,无法判断出该芯片是好是坏。

    对于问题b和c,先假设:设有a个好的芯片数,b个坏的芯片数,z测试结果为全好的测试对,其中芯片(注意这里是芯片全为好的,不是测试结果为好的)全是好的测试对为x芯片全为坏的测试对为yx+y=z

    分治算法设计思想

    这里先说明一下前提:好芯片比坏芯片至少多1片!(以下例子,想不明白可以假设总共有4片或者6片芯片)

    一、随机的两两配对,则共有⌊n/2⌋对,分别测试。

    二、根据问题描述:

    (1)如果测试结果为一好一坏,或者两坏,那么把这对丢弃

    • 很好理解,本来好的比坏的多,丢一个好的一个坏的,那么好的还是比坏的多,丢两个坏的就更不用说了

    (2)如果测试结果为两好,那么随意丢弃其中一个,留下一个:

    • 解释:这样做的主要目的是减小芯片的规模,经过第一步后,现在就剩两个都报告好的情况了(因为好的芯片比坏的芯片多,所以不存在所有的芯片对均测试为一好一坏),这种情况一对的两个芯片要么都是好的,要么都是坏的,那么从每对芯片中随意扔一个,最后好的芯片还是比坏的芯片多,但芯片数减少了一半

    (3)这里要考虑芯片为奇数的情况:

    • n为奇数,则剩余一个芯片没有配对。那么这个时候,就要根据第(2)步中测试结果为两好的芯片对数z进行判断:若z为奇数,丢弃这个芯片;若z为偶数(0也是偶数),留下这个芯片。
      • 解释:(a)当z为奇数时,假设最坏的情况,即最后剩的那一个芯片是好的,假设前面(z-1)对的好芯片与坏芯片数相同,那么现在就剩一对芯片了,这对芯片要么都是好的,要么都是坏的,如果是坏的,则好的芯片数比坏的芯片数少一,不成立,则这对芯片都是好的。即当z为奇数时,好芯片对数-坏芯片对数>= 1对,即好芯片数-坏芯片数>= 2,丢掉一半后,好芯片数-坏芯片数>=1(见下图);那么把最后多出来的一个芯片必须丢掉,最后好的芯片还是比坏的芯片多
      • (b)若z为偶数(0也是偶数),还是假设最坏的情况,即这z对芯片好的与坏的一样多,那么这多出来的一片必是好的;若多出来的这一片是坏的,那么z对芯片中,好的芯片对数-坏的芯片对数>=2对,即好芯片数-坏芯片数>= 4,减半后,好芯片数-坏芯片数>= 2,即使放进来一个坏芯片,最后好的芯片还是比坏的芯片多

    这样操作后,留下的好芯片数一定还是大于坏的芯片数的,且经过⌊n/2⌋对测试后,原问题的规模降低了近一半(解决了问题(b))。

    三、 重复第(二)步,当n<=2时,就只剩下了好的芯片。

    因为始终是好芯片数多于坏芯片数,那么当n<=2时,就只有好的芯片了

    总结:

    测试结果为一好一坏或者两坏的芯片对中至少一片是坏的,把这对丢弃能保证剩下的芯片中好芯片的数量仍大于坏芯片的数量。
    
    测试结果为全好的,这对芯片有可能全为好,有可能全为坏,随意丢弃其中一个,留下 一个。
    
    设好芯片的对数为x,坏芯片的对数为y。考虑n的情况:
    
          若n为偶数,则x>y,所以留下的好芯片数还是大于坏的芯片数;
    
          若n为奇数,则剩余一个没有配对的芯片。考虑z的情况:
    
               若z是奇数,则x>y,丢弃这个芯片,这样留下的好芯片数还是大于坏的芯片数;
    
               若z是偶数,考虑这个芯片的情况:
    
                    若芯片是好的,则x>=y,留下这个好的芯片,这样留下的好芯片数还是大于坏的芯片数;            
    
                    若芯片是坏的,则x-y>=2,留下这个坏的芯片,这样留下的好芯片数还是大于坏的芯片数。
    
    综上所述,留下的好芯片数一定还是大于坏的芯片数的。
    
    

    对于问题c:采用b中的操作方法,递归式为:f(n) = f(n/2) + n/2。这个递归式符合主定理中的第三种情况,所以好的芯片可用Θ(n)对测试找出。

    四、代码实现

    class Test {
        public static void main(String[] args) {
        	//用数组来存储芯片,1代表为好的芯片,0代表为坏的芯片,下面的数组总有23个芯片,12个为好的
            int[] arr = {1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1};
            System.out.println(Arrays.toString(getRight(arr,arr.length)));
        }
    
        //定义一个测试平台,来模拟题干中的测试装置,好的芯片输出对的,坏的芯片随机输出
        public static boolean[] judge(int x, int y) {
            boolean[] result = new boolean[2];
            if (x == 1 && y == 1) {
                result[0] = true;
                result[1] = true;
            } else if (x == 1 ^ y == 1) {
                result[0] = false;
                result[1] = ((int) (Math.random() * 2)) == 1;
            } else {
                result[0] = ((int) (Math.random() * 2)) == 1;
                result[1] = ((int) (Math.random() * 2)) == 1;
            }
            return result;
        }
    
        //返回一个正确的芯片
        public static int[] getRight(int[] arr,int length) {
        	//当芯片个数小于等于2时,均为好的芯片,返回
            if (length<= 2) {
                int[] z = new int[length];
                for (int i = 0; i < length; i++) {
                    z[i] = arr[i];
                }
                return z;
            }
            //这里用数组存储选出来的芯片,数组定义为最坏情况下的长度,其它情况数组后边可能有多余的位数
            //所以用length来标明数组中的有效长度
            int[] tmp = new int[length / 2 + 1];
            boolean[] result = null;//这个数组用来接收测试结果
    
            int point = 0;//记录选出来的芯片个数
            //芯片两两为一组,进行测试
            for (int i = 0; i < length-1; i += 2) {
                result = judge(arr[i], arr[i + 1]);
                if (!result[0] ^ result[1]) {
                    //两个芯片都测试为好的情况,则随机选出其中一个芯片
                    int x = (int) (Math.random() * 2);
                    tmp[point] = arr[i + x];
                    point++;
                }
            }
            //考虑总个数为奇数的情况
            if (length % 2 == 1) {
            	//这时要根据选出来的个数进行判断,偶数就加进去,奇数就扔掉
                if (point % 2 == 0) {
                    tmp[point] = arr[length - 1];
                    point++;
                }
            }
    		//递归,继续两两进行测试,直到芯片个数少于3个
            return getRight(tmp,point);
        }
    }
    
    展开全文
  • D/A 转换器作为连接数字系统与模拟系统的桥梁,...大规模芯片测试时则使用自动测试设备(ATE),但是成本很高;近提出的DAC 的测试方法,比如结合V777 数字测试系统可以进行DAC 测试,应用模拟滤波器进行音频DAC 测试,
  • 芯片测试术语 ,片内测试(BIST),ATE测试

    万次阅读 多人点赞 2019-09-24 18:26:48
    芯片测试分为如下几类: 1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试; 2. CP:chip probing,wafer level 的电路测试含功能; 3. FT:Final Test,device level 的电路测试含功能。 CP测试 CP是...

    芯片测试分为如下几类:
    1. WAT:Wafer AcceptanceTest,wafer level 的管芯或结构测试;
    2. CP:chip probing,wafer level 的电路测试含功能;
    3. FT:Final Test,device level 的电路测试含功能。

    CP测试

    CP是wafer level的chip probing,是整个wafer工艺,包括backgrinding和backmetal(if need),对一些基本器件参数的测试,如vt(阈值电压),Rdson(导通电阻),BVdss(源漏击穿电压),Igss(栅源漏电流),Idss(漏源漏电流)等,一般测试机台的电压和功率不会很高;

    CP 测试对Memory来说还有一个非常重要的作用,那就是通过MRA计算出chip level 的Repair address,通过Laser Repair将CP测试中的Repairable die 修补回来,这样保证了yield和reliability两方面的提升。

    CP是对wafer进行测试,能把坏的Die挑出来,可以减少封装和测试的成本。可以更直接的知道Wafer 的良率。CP测试可检查fab厂制造的工艺水平。

    现在对于一般的wafer工艺,很多公司多把CP给省了;减少成本。

    FT测试

    FT是packaged chip level的Final Test,主要是对于这个(CPpassed)IC或Device芯片应用方面的测试,有些甚至是待机测试;FT是把坏的chip挑出来;检验封装的良率。通过FT可检验封装厂制造的工艺水平。

    而FT则对封装好的Chip来测试。CP Pass 才会去封装。然后FT,确保封装后也Pass。

    WAT

    WAT是Wafer AcceptanceTest,对专门的测试图形(test key)的测试,通过电参数来监控各步工艺是否正常和稳定;

    对于测试项来说,有些测试项在CP时会进行测试,在FT时就不用再次进行测试了,节省了FT测试时间;但是有些测试项必须在FT时才进行测试(不同的设计公司会有不同的要求)
    一般来说,CP测试的项目比较多,比较全;FT测的项目比较少,但都是关键项目,条件严格。但也有很多公司只做FT不做CP(如果FT和封装yield高的话,CP就失去意义了)。
    在测试方面,CP比较难的是探针卡的制作,并行测试的干扰问题。FT相对来说简单一点。还有一点,memory测试的CP会更难,因为要做redundancy analysis,写程序很麻烦。
    CP在整个制程中算是半成品测试,目的有2个,1个是监控前道工艺良率,另一个是降低后道成本(避免封装过多的坏芯片),其能够测试的项比FT要少些。最简单的一个例子,碰到大电流测试项CP肯定是不测的(探针容许的电流有限),这项只能在封装后的FT测。不过许多项CP测试后FT的时候就可以免掉不测了(可以提高效率),所以有时会觉得FT的测试项比CP少很多。
    应该说WAT的测试项和CP/FT是不同的。CP不是制造(FAB)测的!
    而CP的项目是从属于FT的(也就是说CP测的只会比FT少),项目完全一样的;不同的是卡的SPEC而已;因为封装都会导致参数漂移,所以CP测试SPEC收的要比FT更紧以确保最终成品FT良率。还有相当多的DH把wafer做成几个系列通用的die,在CP是通过trimming来定向确定做成其系列中的某一款,这是解决相似电路节省光刻版的最佳方案;所以除非你公司的wafer封装成device是唯一的,且WAT良率在99%左右,才会盲封的。
    据我所知盲封的DH很少很少,风险实在太大,不容易受控。

    CP 一般是在测试晶圆,封装之前看,封装后都要FT的。不过bumpwafer是在装上锡球,probing后就没有FT
    FT是在封装之后,也叫“终测”。意思是说测试完这道就直接卖去做application。
    CP用prober,probe card。FT是handler,socket
    CP比较常见的是roomtemperature=25度,FT可能一般就是75或90度
    CP没有QA buy-off(质量认证、验收),FT有
    CP两方面
    监控工艺,所以呢,觉得probe实际属于FAB范畴
    控制成本。Financial fate。我们知道FT封装和测试成本是芯片成本中比较大的一部分,所以把次品在probe中reject掉或者修复,最有利于控制成本

    终测通常是测试项最多的测试了,有些客户还要求3温测试,成本也最大。
    至于测试项呢,如果测试时间很长,CP和FT又都可以测,像trim项,加在probe能显著降低时间成本,当然也要看客户要求。
    关于大电流测试呢,FT多些,但是我在probe也测过十几安培的功率mosfet,一个PAD上十多个needle。
    有些PAD会封装到device内部,在FT是看不到的,所以有些测试项只能在CP直接测,像功率管的GATE端漏电流测试Igss
    CP测试主要是挑坏die,修补die,然后保证die在基本的spec内,functionwell。
    FT测试主要是package完成后,保证die在严格的spec内能够function。
    CP的难点在于,如何在最短的时间内挑出坏die,修补die。
    FT的难点在于,如何在最短的时间内,保证出厂的Unit能够完成全部的Function。

     


     

     


    DFT是design for test的缩写,意为可测性设计。
    从广义上讲DFT包含两个范畴:一个是设计范畴,一个是测试模式生成(ATPG)范畴。
    设计范畴的DFT设计技术常用的有两种:扫描设计和内建自测试(BIST)。
    扫描设计就是将普通的触发器替换为具有扫描功能的扫描触发器并将它们连接起来
    形成扫描链。这就是通常意义上的测试综合。
    BIST则要求片上生成测试模式和进行测试响应分析,synopsys的工具还不具有BIST
    控制器的自动生成,MENTOR则有相应BIST控制器的自动生成工具,不过也可以自己
    写一个BIST控制器,bist一般用于存储器的测试。

    BIST一般分为logic BIST和memory BIST。现在logic BIST
    还处于研究阶段,没有真正的工业应用;memory BIST是用
    于测试memory的工作是否正常,芯片内部有一个bist
    controller,用于产生memory测试的各种pattern和预期的
    结果,并比较memory的读出结果和预期结果。目前较常用的
    memory BIST算法有March算法及其变种。工业界常用的工具
    有Mentor Graphics的MBIST Architecture.

    总结一下:
    JTAG( JOINT TEST ACTION GROUP):原本就是用来作芯片测试,无论是管脚和板子的连接
    还是内部逻辑的测试都可以通过JTAG实现
    JTAG在片内由TAP控制实现各种功能,TAP可以扩展作很多事情,除了上面的基本测试任务
    芯片设计者,可以充分利用JTAG有限的管脚作很多额外的工作。

    JTAG(或者更通俗的称 边界扫描BST)关键有两个部分组成,
    一个是一条由边界扫描寄存器组成的串行边界扫描链,位于外部引脚和内部
    逻辑之间,用于采集/施加 内部逻辑或外部引脚的信号。另外一个就是所谓
    的状态控制器TAP了,用来控制JTAG口的状态。这俩部分都是嵌入在符合JTAG
    规范的芯片内部的。

    JTAG最初主要应该还是是针对测试提出的一种方式:由于他的边界扫描寄存器
    位于内部逻辑和外部引脚之间,如果让它替代外部引脚作为内部逻辑的输入/输
    出,可以检查芯片逻辑的实现正确与否,就是所谓的内测试INTEST;如果让边界
    扫描寄存器替代内部逻辑作为外部引脚的输入/输出, 来检查外部引脚连接的可
    靠性,这就是所谓的外测试EXTEST。许多复杂的ICE/ICD程序似乎都是基于这两个
    基本的测试来开发的。

    当然,真正的JTAG口远不止一个边界扫描寄存器,为了配合菊花链,增加了BYPASS
    寄存器,某些芯片(比如基于EEPROM的CPLD)也增加了ISP寄存器用于编程。为了
    选择这些不同的寄存器,还需要一个专门的指令寄存器。

    而且,JTAG口也不再仅仅只用来测试了。比如利用他的外部测试EXTEST特性,将芯
    片内部逻辑和芯片外部引脚隔离开来,通过JTAG口串行的把信号/数据移位进入BSR,
    然后同时从芯片的外部引脚上发送出去,可以实现对相联芯片的操作。如果这个相联
    的外部芯片是一个存储器,如FLASH,是否就可以实现对外存的编程?Intel的JFLASH
    程序就是这样来烧写FLASH的。而如果串行数据流先移入的一个寄存器和内部EEPROM
    或SRAM的CELLs相连,是否也可以对内部的存储器编程?ISP或程序下载就是酱紫的。
    Lattice的吹得很牛的什么isPAC模拟器件ISP,好象也是酱紫的。

    芯片设计初期加入JTAG口可能是为了DFT,可是后来它的功能似乎又远不止这些了。

    另外本人水平有限,很多东西也没有自己真正动手作过,大家一起讨论,今天先说一些有关
    测试,测试仪器方面的,往后再慢慢往前端设计走
    1.什么是ATE?
    Automatic test equipment. 是用来给测试芯片提供测试模式,分析芯片对测试模式
    的响应来检测芯片是好还是坏的测试系统。ATE通常由工作站或是PC机控制(以工作站,
    sun平台居多,我注:) 有一个或多个CPU。 测试系统有一个或多个测试头(test he
    aders), 包含了到被测芯片的电路。
    2.how to test chips?
    基本原则:施加激励(测试向量),测量芯片响应输出(response), 与事先预测
    的结果比较,若符合,芯片是好的。 基本原理图如下:
    input patterns ---->> ----------------> output response
    DUT
    ----------

    ----------
    stored correct
    response ----->> COMPARATOR<-------------
    ----------

    V
    test result
    3.测试种类?
    按目的分,主要有四种
    (1) characterization. 或是design debug / verifaction testing. 应用于一个新
    的设计量产之前,验证设计是否正确和符合spec. 功能测试,AC/DC测试都会做。在这一
    过程中诊断和修改设计错误,测量最终spec用的芯片特性,并且开发一个量产用的测试
    程序。
    (2) production. (量产) 每个芯片均需经此测试。测试向量相对第一种而言
    要简化,但必须保证对错误模型的一个较高的覆盖率。这里面主要考虑是成本因素,因
    为每个芯片都要经过测试,要求测试时间短,只做go/no-go测试,不做错误诊断。 这是
    一个out-going inspection test.
    (3) Burn-in.主要用于测试可靠性(reliability). 器件失效模型-
    浴盆曲线。 采用各种加速因子来模拟器件长期的失效模型,常用的有加高温,加高出其
    额定电压的电压等。
    (4)Incoming inspection. 系统厂商所为。一般是抽样进行的,过程可象上
    面的测试,主要目的是为了防止在系统中使用坏的芯片,这引进的成本要远远高出inco
    ming inspection的成本。
    按测试特性分主要是功能测试(funcional tests)和电气参数测试(parametric
    tests)。 Parametric tests 有DC 和AC测试,DC 主要是短路(short),开路(open
    ),最大电流(maximmum current),漏电流(leakage),输出驱动电流(output dr
    ive current),开启电平(threshold)测试等。AC主要包括传输延时(propagation d
    elay test),建立和保持时间(setup & hold),速度测试(functional speed),访问
    时间(access time), 等等。这些通常跟工艺有关。 功能测试主要是输入测试向量和响
    应的一致性。功能测试可以覆盖极高比例的逻辑电路的失效模型。
    4.test specification & test plan:
    Specification 应该包括以下一些内容:functional characteristics;
    types of devices-逻辑电路,微处理器,存储器,模拟器件等;physical characteri
    stics - 封装,引脚;工艺 - cmos, gate-array, standard cell等; evironmental
    characteristics - 工作电压范围,供电电压等;reliability可靠性 - DPM( defecti
    ve parts per million), 1000小时失效率,噪声特性等。
    在test plan 中,指定测试系统和所需的测试。
    5.test programming
    当芯片已经放到测试系统上,做测试需要三个东西:1.test program; 2,
    digital test vectors; 3. analog test waveforms. test program 包括了tester 做
    测试所需的一系列指令,举个例子,一个简单的可以是:加电压(apply power), 加时
    钟信号和输入向量(apply clock and input vectors) , 测量输出引脚(probe output
    pins),比较输出和预期响应(compare output response with stored expected resp
    onse).
    6. 测试数据分析
    主要三个目的:accept/reject; provide info about fab process; provide
    info about design weakness.
    7. T6682简介
    T6682 tester是advantest非常昂贵的高端测试系统,它的测试能力你参看它的网址,这里
    就不说了(http://www.advantest.com.cn/Chinese/t6682.htm)。主要功能模块如下:
    ALPG
    (option--> ----------------- -----------
    SCPG Pin Data Selector--> Formatter ---
    (option)-> ----------------- -----------<- PMU's (MDC/UDC)
    ^ ^ ^ ^ A
    ___________________
    Rater generator --> Timing
    ----------------- generator V
    ---> PE <--> DUT --
    ---
    Test V
    Device Power Supplies
    Controller--> SQPG \ --^----> timing Memory
    \ /
    TTB -V-----> waveform Memory ---

    Data Fail memory <----- Digital compare<<BR>
    AFM(w/ALPG) <----------

    This column is "Frame processor"---->>>>>>>>> VVV
    测试向量产生:SQPG - standard pattern generator;
    ALPG - algorithmic pattern generator;



    BIST

    介绍了SoC片上嵌入式微处理器核的一种测试技术——片内测试(BIST)。讲述了片上系统的由来以及两个重要特点。与传统的测试方法比较后,讨论了MereBIST、LogicBIST等常用BIST测试技术的结构和特点,分析了这几种测试方法的优缺点。

    引 言
       
    随着科技的不断发展,集成电路的制造工艺和设计水平得到了飞速提高,设计者能够将非常复杂的功能集成到硅片上。将PCB板上多块芯片的系统集成到一块芯片内部,这个芯片就是系统级芯片,即SoC(System on Chip)。SoC芯片的特点主要有两方面:第一是其高度的复杂性,第二是大量运用可重用的IP(Intellectual Property)模块。以往的芯片设计往往只专注于某个特定功能的模块设计,例如压缩/解压、无线模块、网络模块等。而一块SoC芯片的功能可能是多个独立模块的总和。另外,芯片的制造需要经历化学、冶金、光学等工艺过程,在这些过程中可能引入物理缺陷导致其不能正常工作。因此对芯片的测试成为必不可少的环节。可测性设计(Design ForTest,DFT)是在芯片的设计阶段就考虑以后测试的需要,使芯片测试更加容易和充分,并降低测试成本。一个SoC包含各种可复用的功能IP核,其中嵌入式微处理器核是其中的关键部分,大部分都嵌有一个或多个微处理器核以获得最好的性能。所以,对微处理器核可测性问题的研究越来越迫在眉睫。

    1 传统测试方法
        20世纪七八十年代之前,集成电路还都是小规模电路时,测试大都通过加入激励,探测相应的方式来完成。这种方式在电路规模不大并且频率不快的情况下还是可行的,但是随着集成电路规模的增长,功能验证内容增多,或者需要使用异步激励信号时,这样的测试方式就存在局限性。为了提高故障点的测试覆盖率,出现了自动向量生成(ATPG)工具。运用ATPG算法以及强大的计算机,可以检测到尽可能多的故障点。随着芯片规模的增长,芯片门数相对于引脚数目的比例变得太悬殊,只通过输入/输出引脚进行测试的方法几乎不能再应用了,于是出现了另外一种基于扫描的测试技术——DFT。但当扫描链很长而且数量很多时,单芯片测试时间还是很长。同时高级测试仪器的价格急速攀升,使得BIST(Built-In Self-Test)即片内测试方法的产生成为必然。

     

    2 几种常用的BIST方法及其优缺点
        片内测试是节省芯片测试时间和成本的有效手段,外部测试的测试速度以每年12%的幅度增长,而片内芯片的速度以每年30%的幅度增长,这一矛盾进一步推动了BIST的应用。由于SoC芯片内部的IP种类繁多,对不同的IP核采用不同的BIST测试方法。采用BIST技术的优点在于:降低测试成本、提高错误覆盖率、缩短测试时间、方便客户服务和独立测试。目前BIST测试方法主要有MemBIST和LogicBIST。
    2.1 MemBIST
        MemBIST是面向嵌入式芯片存储器的测试方式,用于测试存储器工作是否正常。芯片内部有一个BISTController,用于产生存储器测试的各种模式和预期的结果,并比较存储器的读出结果和预期结果。MemBIST可分为RAMBIST和ROMBIST。目前较常用的存储器BIST算法有March算法及其变种。业界常用的工具有Mentor Graphics的MBIST Architecture。
    2.1.1 RAMBIST测试结构
        用RAM实现的数据Cache和指令Cache均使用普通的BIST方法。因为这两个RAM的结构完全相同,因此为了减少面积消耗,只使用一组测试电路。在测试时有外部信号TE0、TE1分别控制RAM1、RAM2是否处于测试状态,TE0、TE1不能同时有效。测试电路结构如图1所示。

     

        控制器在外部输入信号BIST的控制下,产生读写控制信号、访问地址和测试码,对RAM的相应数据进行压缩分析,并将得到的特征值与存放在芯片中的标准特征值比较。通过两个I/O口报告测试结果,还实现了初步的故障诊断功能。当发现有故障时,通过TAP控制器,可以将出错的地址移出芯片,为进一步的故障诊断和修复提供信息。
    2.1.2 ROMBIST测试结构
        通常使用循环冗余校验(CRC)电路实现ROM的测试,这种方法虽然测试结果很可靠,但是需要逐位读取信息,而对ROM的访问是每次32位,如果使用该方法则需要一个缓冲机制,并且速度会很慢。在此仍使用RAM测试中并行的数据压缩,故障覆盖率能够达到要求,测试电路也比CRC电路简单。测试电路如图2所示。

     

        BIST测试信号由TAP控制器的TDT口输入,是整个测试电路的使能信号,测试过程经过触发后,完全在电路内部完成,结束后通过一个I/O口报告测试结果。多输入寄存器(MISR)作为TAP控制器的数据寄存器,测试初始化时设置为初始状态。
    2.2 LogicBIST
        LogicBIST方法是利用内部的向量产生器逐个地产生测试向量,将它们施加到被测电路上,然后经过数字压缩和鉴别产生一个鉴别码,将这个鉴别码同预期值进行比较。LogicBIST通常用于测试随机逻辑电路,一般采用伪随机测试图形生成器来产生输入测试图形,应用于器件内部机制;采用MISR作为获得输出信号产生器。由于MI-SR的结构和多输入序列的鉴别码的固有特点,这是一个多对一的映射关系。不同的输入序列通过MISR之后可能产生相同的鉴别码,这被称之为alias。
        LogicBIST测试只能得到芯片能否通过测试的结果。一旦芯片不能通过测试,该如何确定芯片内部的故障点在何处呢?这就是诊断工作,不过LogicBIST对故障诊断的支持太弱,如果一块芯片未能通过,单单凭错误的鉴别码是很难确定故障点在何处的。有时会出现芯片内部多个故障点的共同作用使得鉴别码反而是正确的现象,这被称之为漏测试。它产生的概率非常小,也有算法来尽量减小漏测试发生的概率。其中一种方法是将正确的序列输入,和正确的鉴别码作单一映射,其他的错误输人一定得到错误的鉴别码。这种方法对MISR、PRRG以及CUT都需要具体分析,以改变其结构或者PRPG的生成顺序。

    结 语
        本文介绍了SoC片上嵌入式微处理器核可测性技术的研究现状;介绍了设计时在电路中植入相关功能电路,用于提供自我测试功能的技术,以降低器件测试对自动测试设备(ATE)的依赖程度。BIST技术可以实现自我测试,也可以解决很多电路无法直接测试的问题(因为它们没有外部引脚)。
        可以预见,在不久的将来即使最先进的ATE也无法完全测试最快的电路,这也是采用BIST的原因之一。但是BIST也存在一些缺点,如额外的电路会占用宝贵的面积,会产生额外的引脚和可能出现测试盲点等。BIST技术正成为高价ATE的替代方案,但是目前还无法完全取代ATE,他们将在未来很长一段时间内共存。



    ATE

    自动测试设备ATE Primer

    自动测试或自动测试设备广泛用于生产测试中,以便在最短的时间内完成最佳测试:有几种不同类型可用。

    自动测试设备,ATE包括:

    ATE基础知识自动光学检测,AOI自动X射线检测,AXI在线测试,ICT功能测试,FATE开发测试策略

    ATE自动测试设备是当今电子测试领域的重要组成部分。自动测试设备可以进行印刷电路板测试,并且可以非常迅速地进行设备测试 - 比手动测试设备测试速度快得多。由于生产人员的时间是电子设备项目的总生产成本的主要因素,因此必须尽可能缩短生产时间。这可以通过使用ATE,自动测试设备来实现。

    自动测试设备一般情况下很昂贵,因此必须确保使用正确的原理和正确的类型或方式的自动测试设备。只有正确使用适用的自动测试设备才能获得最大的收益。

    有多种不同的方法可用于自动测试设备。每种类型都有自己的优点和缺点,在某些情况下可以起到很好的互补作用。在选择ATE系统时,有必要全面地了解不同类型的系统并能够正确应用它们。

    ATE自动测试系统的类型

    可以使用各种类型的ATE系统。 当他们以各种不同的方式检测电子产品,他们通常适合生产测试周期的不同阶段。 目前使用最广泛的ATE形式的自动测试设备如下:

    l PCB检测系统:PCB检测是任何生产过程中的关键要素,人工检查多年前使用过,但总是不可靠和不一致。现在印刷电路板复杂得多,人工检查不是一个可行的选择。因此使用自动化系统:

    l AOI,自动光学检测:广泛用于许多制造环境。它本质上是一种检查形式,是自动方式实现的。与手动检查相比,这提供了更高程度的可重复性和速度。 AOI,自动光学检测,当它位于生产焊接板的生产线末端时特别有用。在这里,它可以快速定位生产问题,包括焊接缺陷,以及是否正确的组件和安装,以及他们的方向是否正确。由于AOI系统通常位于PCB焊接工艺之后,因此在太多印刷电路板受到影响之前,可以快速解决任何焊接工艺问题。

    AOI自动光学检测需要一些时间来设置和测试设备以学习电路板。一旦设置,它可以非常快速和轻松地处理板。它是大批量生产的理想选择。尽管人工干预水平较低,但正确设置需要时间,并且测试系统本身也需要大量投资。

    l 自动X射线检测,AXI:自动X射线检测与AOI有许多相似之处。然而,随着BGA封装的出现,必须能够使用一种可以查看光学上看不到的物品的检查形式。自动X射线检测,AXI系统可以查看IC封装并检查封装下方的焊点以评估焊点。

    l ICT在线测试:在线测试,ICT是ATE的一种形式,已经使用多年,是一种特别有效的印刷电路板测试形式。这种测试技术不仅可以查看短路,开路,元件值,还可以检查IC的工作情况。

    ICT测试.jpg

    尽管在线测试中,ICT是一种非常强大的工具,但由于大多数设计中的高密度轨道和组件导致无法访问电路板,因此它受到限制。用于与节点接触的探针必须非常精确地放置在非常精细的节距的位置,并且可能不总是良好接触。鉴于这一点以及今天在许多电路板上发现的节点数量不断增加,它的使用量比往年少,尽管它仍然被广泛使用。

    制造缺陷分析仪,MDA是印刷电路板测试的另一种形式,它实际上是ICT的简化形式。然而,这种形式的印刷电路板测试仅测试制造缺陷,查看短路,开路并查看某些元件值。因此,这些测试系统的成本远低于完整ICT的成本,但故障覆盖率较低。

    l ·JTAG边界扫描测试:边界扫描是近年来出现的一种测试形式。边界扫描也称为JTAG,联合测试行动小组或其标准IEEE 1149.1,与传统的测试形式相比具有明显的优势,因此已成为自动测试的主要工具之一。

    开发边界扫描测试的主要原因是为了克服无法访问电路板和集成电路进行测试的问题。边界扫描通过在大型集成电路中具有特定的边界扫描寄存器来克服这一点。在电路板设置为边界扫描模式的情况下,集成电路中的串行数据寄存器将数据传递给它们。响应以及从串行数据链传出的数据使测试人员能够检测到任何故障。由于能够以非常有限的物理测试访问来测试电路板甚至IC,因此Boundary Scan / JTAG已经得到了广泛的应用。

    l ·功能测试:功能测试可被视为执行电路功能的任何形式的电子测试。根据电路类型(RF,数字,模拟等),所需的测试程度,可以采用许多不同的方法。主要方法概述如下:

    功能自动测试设备,FATE:该术语通常指特殊设计的控制台中的大型功能自动测试设备。这些自动测试设备系统通常用于测试数字板,但是目前这些大型测试仪并未得到广泛应用。现在许多电路板运行的速度越来越快,这些测试仪无法容纳测试板和测试仪测量或激励点之间的导线会导致大电容,从而降低操作速度。除了治具(工装)以外,程序开发也很昂贵。尽管存在这些缺点,但这些测试仪仍可用于生产量高且速度不是特别高的区域。它们常见于测试数字板,以及模拟电路板。

    1533885256.jpg

    l 使用GPIB总线的系统集成和堆叠测试设备:可以测试板或单元本身的一种方法是使用一堆远程控制的测试设备。

    尽管GPIB总线标准有很多年,许多机架安装或台架测试设备仍然具有GPIB功能。尽管GPIB相对较慢并且已经存在超过30年,但它仍然被广泛使用,因为它提供了非常灵活的测试方法。 GPIB的主要缺点是速度和编写程序的成本,尽管像LabView这样的测试执行程序包可用于帮助程序在测试环境中生成和执行。固定装置或测试接口也很昂贵。

    l ·基于机箱或机架的测试设备:GPIB机架和堆叠自动测试设备方法的主要缺点之一是它占用大量空间,并且运行速度受到GPIB速度的限制。为了克服这些问题,已经开发了包含更加复杂的测试系统在内的多种测试标准。

    虽然ATE有可以使用的自动测试设备的各种方法,这些是一些比较流行的系统。他们都可以使用LabView等测试管理软件来协助运行各个测试。这样可以实现测试排序,结果收集和打印输出以及结果记录等功能。

    l ·组织测试(Combinational test):目前没有一种测试方法能够提供完整的解决方案。为了帮助克服这一点,各种ATE自动测试设备系统采用了各自测试方法。这些组合测试仪通常用于印刷电路板测试。通过这样做,单个电子测试设备能够对印刷电路板测试获得更高水平的访问,并且测试覆盖率更高。此外,组合测试仪能够进行各种不同类型的测试,而无需将电路板从一个测试仪移动到另一个测试仪。通过这种方式,单组测试可能包括在线测试以及一些功能测试,然后是一些JTAG边界扫描测试。

    每种类型的自动测试理念都有其优势,因此有必要为所设想的测试选择正确类型的测试方法。

    结束语:

    通过适当地利用所有不同的测试技术,可以使ATE自动测试设备得到最充分的利用。 这将使测试能够迅速执行,同时仍然提供高水平的覆盖。 包括AOI和X射线检查在内的检查技术可与在线测试和JTAG边界扫描测试一起使用。 也可以使用功能测试。 虽然可以使用不同类型的测试,但有必要确保产品不会过度测试,因为这会浪费时间。当然,这应排除互补性质的测试。 例如,如果使用AOI或X射线等光学检查,则还可针对它们无法检测的盲点加一步对电路板上元器件电气特性的检测-ICT在线测试,检测元器件电气特性的好坏如缺件、极反等。 还应考虑JTAG边界扫描测试的位置。 通过这种方式,可以定义最有效的测试策略
     

    展开全文
  • 基于二维码的半导体芯片测试信息自动化识别及追溯系统的设计与应用.pdf
  • 行业分类-物理装置-芯片测试转接装置及芯片测试设备.zip

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 122,449
精华内容 48,979
关键字:

芯片测试