实现芯片测试的系统及方法与流程

文档序号:21404565发布日期:2020-07-07 14:37阅读:380来源:国知局
实现芯片测试的系统及方法与流程
本发明涉及芯片领域,尤其涉及芯片测试领域,具体是指一种实现芯片测试的系统及方法。
背景技术
:芯片的测试设计,在管脚足够的情况下,一般会专门用一个脚作为测试使能,另选几个脚作为测试模式选择,根据不同测试模式,通过管脚打入所需激励,通过输出观察比较。在做dft的时候,只需运行脚本中定义好相应测试管脚,确认状态,读入的io库又是纯数字的标准io库,结构定义明确,工具便可自行插入扫描链,扫描链检查、覆盖率统计等。测试使能独立存在,测试模式管脚足够,使用的纯数字的标准io库,这类电路的可测性设计要基于管脚足够,io口相对简单,所以它的适用性不高,随之带来的弊端就是管脚过多、面积过大、成本过高,对测试机的板卡要求也相应提高,增加测试成本、降低了效率。技术实现要素:本发明的目的是克服了上述现有技术的缺点,提供了一种效率高、成本低、适用范围较为广泛的实现芯片测试的系统及方法。为了实现上述目的,本发明的实现芯片测试的系统及方法如下:该实现芯片测试的系统,其主要特点是,所述的系统包括:模拟ip模块,用于进行模拟ip测试;数字模块,与所述的模拟ip模块相连接,用于进行内部通信信号的测试;输入输出单元库,与所述的数字模块相连接,用于封装连接线;测试模块,与所述的模拟ip模块、数字模块和输入输出单元库相连接,用于对芯片进行测试;所述的测试模块包括控制管脚,所述的控制管脚与所述的输入输出单元库通过输入输出单元库的引脚相连接,用于控制芯片的不同测试模式。较佳地,所述的测试模块还包括:输入选择控制单元,与所述的模拟ip模块相连接,用于选择模拟ip模块输入端的正常功能模式与测试模式,提供扫描链的输入脚,控制时钟复位模块在不同模式下的状态;输出选择控制单元,与所述的模拟ip模块相连接,用于在正常功能模式下该模块将相应的正常功能信号传送到pad输出端,在测试模式下将被测的模拟ip模块或时钟复位模块的输出信号传给pad输出端;端口复用测试控制单元,与所述的输入输出单元库相连接,用于对pad的输入输出、模拟/数字选择进行控制;端口选择控制单元,与所述的输入输出单元库相连接,用于在正常功能模式下将pad的输入脚正常信号传输给glue_scan模块;在测试模式下,将pad输入脚上的测试信号传输给测试模块test_ctrl_top。较佳地,所述的端口复用测试控制单元分为正常功能模式控制状态和测试模式控制状态。该基于上述系统实现芯片测试的方法,其主要特点是,所述的方法包括以下步骤:(1-1)通过所述的控制管脚选择功能模式和测试模式;(1-2)利用综合及插链工具对数字逻辑进行综合、插链,并进行布局布线和后仿网表集成修改;(1-3)进行扫描链检查和其他测试模式仿真并生成测试pattern;(1-4)根据测试码的信息对芯片管脚按规定时序打入相应激励,通过数据输出和测试码的输出值判断芯片异常。较佳地,所述的步骤(1-1)具体包括以下步骤:(1-1.1)判断所述的控制管脚的状态是否为1,如果是,则芯片进入测试模式,继续步骤(1-1.2);否则,芯片为正常功能模式;(1-1.2)通过扫描链模式和寄存器状态控制不同的测试模式。较佳地,所述的步骤(1-3)具体包括以下步骤:(1-3.1)根据扫描链模式判断后仿网表扫描链是否正常,如果是,则生成测试向量,否则,继续步骤(1-1);(1-3.2)其他测试模式进行仿真,i2c协议打入激励;(1-3.3)通过输出信号验证芯片各个功能的正确性,生成测试码并验证功能。较佳地,所述的方法还包括晶圆测试(cp,chipprobing)和最终测试(ft,finaltest),其中晶圆测试是晶圆级(waferlevel)的测试,一般称为“中测”,最终测试是封装芯片级(packagedchiplevel)的测试,一般称为“成测”,所述的晶圆测试(cp,chipprobing)和最终测试(ft,finaltest)具体包括以下步骤:(2-1)进行接触测试;(2-2)进行待机电流测试和工作电流测试;(2-3)进行扫描链测试和存储器自检测试;(2-4)进行时钟复位测试和各模拟ip测试。较佳地,所述的方法还包括进入测试模式的具体步骤,具体包括以下步骤:(3-1)设计模拟/数字复用引脚;(3-2)给所述的引脚加高压,产生由低变高的信号,进入测试模式。较佳地,所述的方法还包括进入测试模式的具体步骤,具体包括以下步骤:(4-1)给引脚打入测试模式码;(4-2)通过译码进入测试模式。采用了本发明的实现芯片测试的系统及方法,在满足芯片所用管脚最少的情况下,解决了dft相关工具出错问题,实现了芯片的各项测试,无需增加测试管脚,从而尽可能的降低芯片面积,控制成本,测试也变得更灵活,可通过个别脚的输入,控制整个芯片,对于测试机台的测试板卡也相应降低要求,接口简单,降低成本,本发明涉及芯片已量产,测试稳定。附图说明图1为本发明的实现芯片测试的系统的结构示意图。图2为本发明的实现芯片测试的方法的流程图。图3为利用本发明的实现芯片测试的方法进行ft测试的流程图。图4为本发明的实现芯片测试的方法中的进入测试模式的线路示意图。具体实施方式为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。本发明的该实现芯片测试的系统,其中,所述的系统包括:模拟ip模块,用于进行模拟ip测试;数字模块,与所述的模拟ip模块相连接,用于进行内部通信信号的测试;输入输出单元库,与所述的数字模块相连接,用于封装连接线;测试模块,与所述的模拟ip模块、数字模块和输入输出单元库相连接,用于对芯片进行测试;所述的测试模块包括控制管脚,所述的控制管脚与所述的输入输出单元库通过输入输出单元库的引脚相连接,用于控制芯片的不同测试模式。作为本发明的优选实施方式,所述的测试模块还包括:输入选择控制单元,与所述的模拟ip模块相连接,用于选择模拟ip模块输入端的正常功能模式与测试模式,提供扫描链的输入脚,控制时钟复位模块在不同模式下的状态;输出选择控制单元,与所述的模拟ip模块相连接,用于在正常功能模式下该模块将相应的正常功能信号传送到pad输出端,在测试模式下将被测的模拟ip模块或时钟复位模块的输出信号传给pad输出端;端口复用测试控制单元,与所述的输入输出单元库相连接,用于对pad的输入输出、模拟/数字选择进行控制;端口选择控制单元,与所述的输入输出单元库相连接,用于在正常功能模式下将pad的输入脚正常信号传输给glue_scan模块;在测试模式下,将pad输入脚上的测试信号传输给测试模块test_ctrl_top。作为本发明的优选实施方式,所述的端口复用测试控制单元分为正常功能模式控制状态和测试模式控制状态。该基于上述系统实现芯片测试的方法,所述的方法包括以下步骤:(1-1)通过所述的控制管脚选择功能模式和测试模式;(1-1.1)判断所述的控制管脚的状态是否为1,如果是,则芯片进入测试模式,继续步骤(1-1.2);否则,芯片为正常功能模式;(1-1.2)通过扫描链模式和寄存器状态控制不同的测试模式;(1-2)利用综合及插链工具对数字逻辑进行综合、插链,并进行布局布线和后仿网表集成修改;(1-3)进行扫描链检查和其他测试模式仿真并生成测试pattern;(1-4)根据测试码的信息对芯片管脚按规定时序打入相应激励,通过数据输出和测试码的输出值判断芯片异常。作为本发明的优选实施方式,所述的步骤(1-3)具体包括以下步骤:(1-3.1)根据扫描链模式判断后仿网表扫描链是否正常,如果是,则生成测试向量,否则,继续步骤(1-1);(1-3.2)其他测试模式进行仿真,i2c协议打入激励;(1-3.3)通过输出信号验证芯片各个功能的正确性,生成测试码并验证功能。作为本发明的优选实施方式,所述的方法还包括晶圆测试(cp,chipprobing)和最终测试(ft,finaltest),其中晶圆测试是晶圆级(waferlevel)的测试,一般称为“中测”,最终测试是封装芯片级(packagedchiplevel)的测试,一般称为“成测”,所述的晶圆测试(cp,chipprobing)和最终测试(ft,finaltest)具体包括以下步骤:(2-1)进行接触测试;(2-2)进行待机电流测试和工作电流测试;(2-3)进行扫描链测试和存储器自检测试;(2-4)进行时钟复位测试和各模拟ip测试。作为本发明的优选实施方式,所述的方法还包括进入测试模式的具体步骤,具体包括以下步骤:(3-1)设计模拟/数字复用引脚;(3-2)给所述的引脚加高压,产生由低变高的信号,进入测试模式。作为本发明的优选实施方式,所述的方法还包括进入测试模式的具体步骤,具体包括以下步骤:(4-1)给引脚打入测试模式码;(4-2)通过译码进入测试模式。本发明的具体实施方式中,在芯片有限的管脚下,采用自建数模通用管脚,解决芯片dft、模拟修调、性能等可测性设计。对于自建数模通用管脚单元库无法完整描述,工具插入dft时,出错的问题得到了很好的解决,其他测试模式也能正常工作。文中dft是指designfortestability,可测性测试。pad其实是指钝化孔,io总的来说由两部分组成,一个是pad,一个是电路,实现芯片的输入输出,pad的作用是为了封装时候连接金线,而晶圆测试的时候探针接触的就是pad。ip是指ip核,intellectualpropertycore,也就是预先设计好的电路功能模块。muxin、muxout、testgpio分别是指输入的选择控制、输出的选择控制、端口复用测试控制模块,ft是指芯片的最终测试,cp是指晶圆测试。mem_bist:存储器及自检测模块。数模通用管脚是参考标准io库,增加了模拟输入输出的复用,是通过硬件电路构成的,数模通用管脚结构可参考图4所示。本发明的芯片已经通过封装测试验证其功能可靠性,产品型号为cs4977。芯片可测性设计大体通过muxin、muxout的方式提供了对内部ip、数字逻辑、存储器以及整芯片的测试。为实现测试功能,pad模块、模拟ip模块(analog_top)和整个数字内部各模块(glue_top)的通信信号的链接都必须先经过测试模块(test_ctrl_top),测试模块与各模块的关系如图1所示。测试模块内部可分为四大部分,各部分功能如下:1、muxin:测试模式的进入与选择;实现对模拟ip模块输入端正常功能模式与测试模式的选择;提供扫描链的输入脚;对时钟复位模块在不同模式下的状态控制。2、mxuout:在正常功能模式下该模块将相应的正常功能信号传送到pad输出端;在测试模式下将被测的模拟ip模块或时钟复位模块的输出信号传给pad输出端,以便外部pin脚观察输出波形是否正确。3、testgpio:对pad的输入输出、模拟/数字选择进行控制,可分为正常功能模式控制或测试模式控制。4、testscanmux:正常功能模式下,pad的输入脚正常信号被传输给glue_scan模块,以使其内部个子模块正常工作;而在测试模式下,pad输入脚上的测试信号则被传输给测试模块test_ctrl_top。芯片的可测性设计满足芯片的测试流程,一般来说ft测试(最终测试)测试最为齐全,流程如图3所示。其中接触测试无需进入测试模式,直接对所有管脚进行接触测试,而之后的各项测试则需进入各个测试模式。下面就从进入测试模式开始。对于芯片的可测性设计,在不占用正常功能管脚的情况下,首先要做的就是如何进入测试模式,可以有几种方法:1、设计一个模拟/数字复用引脚,当给这个引脚加入高压,比如正常数字是3.3v,可以把电压加到7v以上,此时可产生由低变高的信号,可由此进入测试模式,线路图如图4所示。2、通过个别脚打入测试模式码,通过译码后来控制是否进入测试模式。用第一种方法,优点在于该模拟/数字复用脚在功能模式中依然可以使用,不会浪费管脚,且在工具生成dft测试码,可直接用于电路测试,无需考虑测试模式码与dft测试码的拼接及时序控制;第二种方法的话,可避免正常功能模式时,不可预见的情况误入测试模式,不过需要dft拼接码及调试时序,其他模式也可能要考虑时序问题。两种进入测试模式的方案,从结构原理来说不同,只是都可以节省一个专用的测试管脚。如图4所示,pad即为芯片的管脚,上图中仅为输入脚。其中虚线框中是正常功能的输入管脚,工作电压为5.5v,当数字信号输入的时候,ie_dig开关控制输入,数字信号通过c_dig输出到芯片内部,ie_ana来开关控制模拟的输入,模拟信号通过c_ana输出到芯片内部,pe是控制上下拉;当给pad加入7v电压,通过齐纳管反向击穿(z1)和正向导通(z2)加上mos管(m1)导通,最终使得test_en输出高电平(即进入测试模式),加入7v电压是由vz1+vz2+vm1=5.5v+0.7v+0.8v组成,z3是用来保证超过5.5v将不会影响虚线框中正常功能。进入测试模式之后,接下来则是选择各个测试模式。以上述第一种方法为例,选择scan_mode为高电平时为扫描链测试模式,为低电平时为其他测试模式,其他测试模式可由i2c模块来通过寄存器来控制数字部分测试及模拟ip测试模式。其他测试模式只需test_en为1(pad加高压7v产生),scan_mode为0,不同测试模式的选择都是通过i2c器件寻址来实现的,不同的器件地址对应不同的测试模式;test_enscan_modepad1pad2pad3pad4pad5状态0xxxi2c_scli2c_sdaxnormal_func11scan_clkscan_rstnscan_enscan_inscan_outscan_test10test_clktest_rstni2c_scli2c_sdatest_outother_test上述表格中测试模式主要由test_en来控制,test_en为0时是正常功能模式,为1时是测试态,scan_mode用来选择scan模式或其他测试模式,pad1~pad5为其他管脚,各个不同测试模式下用途不同。至此电路设计从代码设计角度都没有问题,除扫描链模式,其他测试模式相当灵活,可控,不过对于dft工具及后面扫描链测试向量生成工具对于这样的设计就会出错,问题如下:1、数模混合接口,由于信号过多,io库描述lib文件无法很清楚的描述,造成工具读入出错;2、dft工具对于加高压、打入测试模式码,进而进入测试模式及扫描链模式无法辨认,无法正确插入扫描链;3、扫描链测试向量生成工具会先通过仿真模型模块检查扫描链各个问题,对于这种复杂io不能辨识,生成不了测试向量。解决上述问题,可以在综合之前rtl代码阶段将dft所用测试管脚都引到top层,测试模块原先连接的信号悬空,设置好dont_toutch,待综合、做完dft结束后,插链、检查、覆盖率统计都无误后,并用工具进行检查及生成测试向量进行综合后dft仿真,最后将网表进行修改,恢复原有的连接,交给后端进行布局布线;反之,后仿网表出来之后,还需把dft所用端口引到top层,再用工具进行扫描链检查及生成后仿测试向量,进行扫描链模式后仿,并生成测试码。如果是用的测试模式码进入测试模式,需要将前面的模式码和扫描链的码进行拼接,芯片在cp、ft测试的时候,要考虑到仿真与实际测试的偏差,调整时序,最终完成扫描链测试。仿真的话主要是通过后仿,一般会仿真两种极端情况,而实际测试中工作电压、温度都是在正常范围,测试和仿真可打入同样时序的数据,但在数据输出比较时,可参考仿真数据与打入时钟的相位关系,仿真如果是低压高温(最坏情况,数据翻转最慢),芯片测试环境一般情况比较好,数据翻转快,可以在数据比较时往前比较。可以采用其他办法进入测试模式,做dft的时候,可以自行进行插链及测试向量生成,但需花费大量人力,增加成本,测试覆盖率降低的风险。具体操作就是不用dft工具,手工把扫描链串起来,自行生成测试向量,或者用工具对底层逻辑进行插链,再手工把链接到接口。共通之处就是为了实现扫描链检查,保证芯片正常。该基于上述系统实现芯片测试的方法,其中,包括以下操作过程:1、测试模块设计、管脚设计:前者是数字设计,后者是模拟版图设计;测试模块设计就是本文中确定测试使能(test_en)、扫描链模式(scan_mode),通过控制脚来选择功能模式、测试模式下各个输入输出管脚状态,内部及ip的工作状态;管脚设计如图3实现测试管脚的功能。2、系统集成:将测试模式、pad、ip、数字逻辑进行集成,定义将测试管脚直接拉到顶层输入输出便于综合、插链工具正常操作。3、综合及插链:利用综合及插链工具对数字逻辑进行综合、插链,完成后的综合网表将顶层测试管脚去掉接到自建通用管脚的输入输出。4、布局布线:综合后的网表进行时钟树插入、布局布线等。5、后仿网表集成修改:继续将测试管脚拉到顶层输入输出,便于工具进行插链检查及生成测试码。6、扫描链检查、其他测试模式仿真并生成测试pattern:扫描链模式用tetramax检查后仿网表扫描链是否正常,检查通过可生成测试向量用于仿真以及测试码;其他测试模式通过仿真,i2c协议打入激励,使得内部电路工作,输出信号判断芯片各个功能是否正确,生成测试码用于芯片测试时打入激励,并验证功能。7、芯片测试调试:测试机台根据测试码的信息,对芯片管脚按规定时序打入相应激励,通过数据输出和测试码的输出值进行比较,判断芯片是否异常。采用了本发明的实现芯片测试的系统及方法,在满足芯片所用管脚最少的情况下,解决了dft相关工具出错问题,实现了芯片的各项测试,无需增加测试管脚,从而尽可能的降低芯片面积,控制成本,测试也变得更灵活,可通过个别脚的输入,控制整个芯片,对于测试机台的测试板卡也相应降低要求,接口简单,降低成本,本发明涉及芯片已量产,测试稳定。在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1