IC中的DFT指的是什么?
姓名:李沈轩学号:20181214373学院:广研院
原文链接 可能是DFT最全面的介绍--入门篇 - 知乎 (zhihu.com)
嵌牛导读本文对IC的DFT做了一个基本介绍
嵌牛鼻子IC DFT
嵌牛提问什么是DFT?为什么要做DFT?
嵌牛正文
随着芯片的制程越来小(5nm), 芯片的规模越来越大,对芯片的测试也就变得越来越困难。
而测试作为芯片尤为重要的一个环节,是不能忽略的。DFT也是随着测试应运而生的一个概念,目前在芯片设计中都离不开DFT。
本文先对DFT做一个全面的介绍,旨在让大家了解DFT的中的基本概念。
什么是DFT?
提到DFT, 大部分人想到的应该是离散傅里叶变换(Discrete Fourier Transform,缩写为DFT), 嗯…, 笔者大学被信号与系统这门课虐的不轻。但是在IC界,DFT的全称是 Design For Test。
指的是在芯片原始设计中阶段即插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑,通过这部分逻辑,生成测试向量,达到测试大规模芯片的目的。
Design--实现特定的辅助性设计,但要增加一定的硬件开销
For test--利用实现的辅助性设计,产生高效经济的结构测试向量在ATE上进行芯片测试。
为什么要做DFT?
从1958年Jack Kilby发明了第一只包含一个双极性晶体管开始,集成电路经过了半个多世纪的发展,
芯片的制程工艺越来越小,数字芯片的规模越来越大,测试成本进一步增加,甚至超过芯片功能部分本来的成本。如何在芯片设计的过程中考虑测试的问题,成为当前芯片设计很重要的一部分。
测试已经成为集成电路设计和制造过程中非常重要的因素,它已经不再单纯作为芯片产品的检验、验证手段,而是与集成电路设计有着密切联系的专门技术,与设计和制造成为了一个有机整体。可测性设计(DFT)给整个测试领域开拓了一条切实可行的途径,目前国际上大中型IC设计公司基本上都采用了可测性设计的设计流程,DFT已经成为芯片设计的关键环节。
3. “测试”与“验证”的区别
验证(Verification)的目的是检查设计中的错误,确保设计符合其设计规范和所期望的功能;而测试(Testing)则是检查芯片的加工制造过程中所产生的缺陷和故障。
4. DFT的核心技术
1)扫描路径设计(Scan Design)
扫描路径法是一种针对时序电路芯片的DFT方案.其基本原理是时序电路可以模型化为一个组合电路网络和带触发器(Flip-Flop,简称FF)的时序电路网络的反馈。
Scan 包括两个步骤,scan replacement和scan stitching,目的是把一个不容易测试的时序电路变成容易测试的组合电路。
2)内建自测试 (Bist)
内建自测试(BIST)设计技术通过在芯片的设计中加入一些额外的自测试电路,测试时只需要从外部施加必要的控制信号,通过运行内建的自测试硬件和软件,检查被测电路的缺陷或故障。和扫描设计不同的是,内建自测试的测试向量一般是内部生成的,而不是外部输入的。内建自测试可以简化测试步骤,而且无需昂贵的测试仪器和设备(如ATE设备),但它增加了芯片设计的复杂性。
3)JTAG
JTAG(Joint Test Action Group,联合测试工作组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.
JTAG的基本原理是在器件内部定义一个TAP(Test Access Port,测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试.
4)ATPG
ATPG(Automatic Test Pattern Generation)自动测试向量生成是在半导体电器测试中使用的测试图形向量由程序自动生成的过程。测试向量按顺序地加载到器件的输入脚上,输出的信号被收集并与预算好的测试向量相比较从而判断测试的结果。
5. DFT工程师的岗位职责:
1、芯片级DFT设计与集成,包括SCAN, MBIST和JTAG;
2、负责DFT测试向量的自动生成及仿真;
3、与逻辑设计工程师紧密合作,提高DFT测试覆盖率;
4、与产品工程师和测试工程师紧密合作,调试并解决在测试机上失败的DFT测试向量;
5、芯片级综合;
6、与后端工程师紧密合作,完成芯片级timing signoff;
7、芯片级形式验证
本发明涉及芯片测试技术领域,尤其涉及一种基于fpga芯片实现的scan chain电路的测试系统及方法。
背景技术:
2.scan chain(扫描链测试)作为数字集成电路测试的重要方法之一,可以有效的筛选出坏片,提高产品质量。芯片插入scan chain进行测试的基本原理是从芯片外部设定电路中各个触发器的状态,并通过简单的扫描链的设计,扫描观测触发器是否工作在正常状态,以此来检测电路的正确性。
3.在芯片tape out前会使用dft工具在芯片内部插入scan chain,scan chain电路作为设计出来的电路,同样也需要进行仿真。在ic t/o回来后,scan chain作为测试电路,其本身电路设计的功能性及可靠性也需要做验证。在业界,通常是使用ate设备(aotuomatic test equipment)对其做测试和验证,但ate作为ic测试环节的专用设备,价格昂贵,通常ic design house不会单独购买,一般都是在ic验证后期开发cp/ft程序时,才会使用ic测试厂的ate设备去做scan chain测试方案的开发。
4.从以上的描述可以看出,scan chain电路的测试存在测试设备专业化、单一化的问题,对于小型的design house来说,to前期使用ate设备做fpga验证不方便,要么买,要么租ate设备,或者去测试厂做验证,如果只做仿真的话,又存在后仿速度非常慢的问题。
技术实现要素:
5.本发明的主要目的在于解决目前scan chain电路的测试存在测试设备专业化、单一化的问题,在提出了一种基于fpga实现的芯片scan chain电路的测试系统的同时,还提供了该测试系统的测试方法。
6.其中,一种基于fpga芯片实现的scan chain电路的测试系统,其特征在于,所述测试系统集成于fpga芯片上,包括:数据解析单元、存储单元、时序发生单元、控制单元和结果输出单元;
7.所述数据解析单元,用于将仿真生成原始scan chain电路的激励信号和原始scan chain电路的预期输出信号进行数据解析;
8.所述存储单元,对数据解析单元解析的用于scan chain电路的激励信号进行编码,确定待检测点后经过scan chain电路进行激励,并存储激励后的输出信号,还用于对数据解析单元解析后scan chain电路的预期输出信号进行编码并存储;
9.所述时序发生单元,用于发出测试scan chain电路的时序波形;
10.所述控制单元,用于按照scan chain电路的检测要求,针对激励的输出信号在时序发生单元提供的采样时序下采样,并将采样数据和存储的预期输出信号进行数据比对;
11.所述结果输出单元,用于输出控制单元比较的结果,当比对结果不一致时,则上报错误,当比对结果正确,则继续下一个周期的检测,直到经过scan chain电路后的激励信号
完全检测完毕,输出比对结果。
12.进一步地,所述结果输出单元包括对比正确结果输出单元和对比错误结果输出单元。
13.进一步地,所述系统还包括测试结果显示单元,用于根据预先定义好的输出显示时序显示比对结果。
14.本发明还提供一种基于fpga芯片实现的scan chain电路的测试方法,其特征在于,所述方法包括:
15.s1,将仿真生成原始scan chain电路的激励信号和原始scan chain电路的预期输出信号进行数据解析,并对数据解析单元解析的用于scan chain电路的激励信号进行编码,编码后经过scan chain电路进行激励,并存储激励后的输出信号,并对数据解析单元解析后scan chain电路的预期输出信号进行编码并存储;
16.s2,按照scan chain电路的检测要求,并根据测试scan chain电路的时序波形对经过编码后的scan chain电路的激励信号进行采样,并将采样数据和存储的预期输出信号进行数据比对;
17.s3,输出结果,当比对结果不一致时,则上报错误,当比对结果正确,则继续下一个周期的检测,直到激励信号完全检测完毕。
18.进一步地,s1中,对scan chain电路的激励信号进行编码和对scan chain电路的预期输出信号进行编码时是针对需要检测点的进行编码,并使两者在时间点及检测点相匹配。
19.进一步地,所述方法还包括对输出结果进行显示,在收到比较结果后,如果比较出错,则锁存该时刻点的出错信息,记录现场数据,根据预先定义好的输出显示时序,显示出错信息;若比较结果正确,则不发送出错信息,按照预先定义好的表示比对正确显示时序进行显示。
20.本发明的有益效果:
21.实现了在小型fpga平台上对scan chain电路的测试,实现方案价格便宜,测试速度快。
附图说明
22.图1为本发明实施例中的方法流程图。
具体实施方式
23.本发明实施例提供了一种快充协议测试板及其测试方法。
24.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
25.为便于理解,下面对本发明实施例的系统及方法的具体流程进行描述。一种基于fpga芯片实现的scan chain电路测试的系统,所述测试系统集成于fpga芯片上,包括:数据解析单元、存储单元、时序发生单元、控制单元和结果输出单元;
26.所述数据解析单元,用于将仿真生成原始scan chain电路的激励信号和原始scan chain电路的预期输出信号进行数据解析;
27.所述存储单元,对数据解析单元解析的用于scan chain电路的激励信号进行编码,确定待检测点后经过scan chain电路进行激励,并存储激励后的输出信号,还用于对数据解析单元解析后scan chain电路的预期输出信号进行编码并存储;需要说明的是,对scan chain电路的激励信号进行编码和对scan chain电路的预期输出信号进行编码时是针对需要检测点的进行编码,并使两者在时间点及检测点相匹配,这是由于,并不是scan chain电路中所有部分都要检测,而是特点的点需要检测,针对这些特定的点,需要做标记,所以才需要编码。
28.所述时序发生单元,用于发出测试scan chain电路的时序波形,使用状态机实现,根据存储单元存储的波形文件,发出测试scan chain的时序波形;
29.所述控制单元,用于按照scan chain电路的检测要求,针对激励的输出信号在时序发生单元提供的采样时序下采样,并将采样数据和存储的预期输出信号进行数据比对;
30.所述结果输出单元,用于输出控制单元比较的结果,当比对结果不一致时,则上报错误,当比对结果正确,则继续下一个周期的检测,直到仿真的经过ate设备后的激励信号完全检测完毕,输出比对结果。
31.需要说明的是,所述结果输出单元包括对比正确结果输出单元和对比错误结果输出单元,通过两个输出通道输出不同的检测结果,所述系统还包括测试结果显示单元,用于根据预先定义好的输出显示时序显示比对结果,用于分别显示对比正确结果输出单元和对比错误结果输出单元。
32.请参阅图1,本发明实施例中基于fpga芯片实现的scan chain电路测试方法的实施例,包括:
33.s1,将仿真生成原始scan chain电路的激励信号和原始scan chain电路的预期输出信号进行数据解析,并对数据解析单元解析的用于scan chain电路的激励信号进行编码,编码后经过scan chain电路进行激励,并存储激励后的输出信号,并对数据解析单元解析后scan chain电路的预期输出信号进行编码并存储;
34.s2,按照scan chain电路的检测要求,并根据测试scan chain电路的时序波形对经过编码后的scan chain电路的激励信号进行采样,并将采样数据和存储的预期输出信号进行数据比对,比对时使两者在时间点及检测点相匹配;
35.s3,输出结果,本实施例中是按照scan chain的check要求,在测试scan chain电路的时序波形scan clk的上升沿来时,采样scan data,并和存储的数据比对,如果比对结果不一致则上报错误,如果比对正确,则继续下一个cycle的check,直到scan data check完毕,输出比对结果;
36.所述方法还包括对输出结果进行显示,在收到比较结果后,如果比较出错,则锁存该时刻点的出错信息,记录现场数据,根据预先定义好的输出显示时序,显示出错信息;若比较结果正确,则不发送出错信息,按照预先定义好的表示比对正确显示时序进行显示。
37.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
本文由用户上传,如有侵权请联系删除!转转请注明出处:https://nongye.s666.cn/bk/6_6572098213.html