一种测试芯片的方法及装置的制作方法

文档序号:6126961阅读:366来源:国知局
专利名称:一种测试芯片的方法及装置的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种测试芯片的方法及装置。
背景技术
芯片被大批量生产后,需要用测试图形(test pattern)对其进行制造缺陷测试,所谓测试图形就是在测试时加载到芯片集成电路中的测试信号以及期望响应。测试图形主要包括用于测试芯片内只读存储器的测试图形(ROM BISTPattern、用于测试芯片内随机存取存储器的测试图形(RAM BIST Pattern)和扫描链测试图形(Scan Pattern)。
目前,芯片的量产测试需要在自动测试仪(Auto Test Equipment,ATE)上进行,ATE是用于测试集成电路的仪器,它按照预先设定的测试信号对集成电路施加测试向量(测试向量),同时把观测到的响应与预期的结果进行对比以判断所述集成电路是否存在缺陷;ATE的操作是由工作站或个人电脑上相应的程序来控制的,在进行芯片测试时需要先在ATE上对相应的测试图形进行调试,但使用ATE对芯片进行测试存在如下缺点1、大部分的芯片设计公司没有自己的ATE,需要另外租用ATE来对芯片进行测试;而ATE的租金比较昂贵,这在无形中便增加了测试的成本。
2、ATE的价格十分昂贵,因而拥有ATE的芯片测试公司数量非常少,而且ATE的数量也极为有限,所以经常会出现由于ATE的机时紧张而延误了测试图形的调试,从而推迟了芯片的的交货日期。
3、Scan Pattern的源程序非常庞大,在使用ATE对Scan Pattern进行调试时,如果遇到需要修改测试图形的情况,那么对Scan Pattern的源程序进行更新和重新保存需要等待很长的时间,这在一定程度上浪费了机时,也给ScanPattern的调试带来很大的不便。

发明内容
本发明提供一种测试芯片的方法及装置,用以解决现有技术中,用户在对芯片进行量产测试时,因使用自动测试仪而使测试成本增加的问题。
本发明具体技术方案如下一种测试芯片的装置,包括相互独立的服务器、控制电路板和执行电路板,其中服务器,用于根据测试任务编译相应的测试程序,并通过仿真器将所述测试程序传输给控制电路板;控制电路板,通过仿真器与所述服务器连接,用于从服务器发送的测试程序中读取相应的测试向量,并将该测试向量发送给执行电路板,以及根据所述执行电路板返回的测试响应判断相应的芯片是否正常;执行电路板,与控制电路板连接,用于根据控制电路板下发的测试向量对相应的芯片进行测试,并将测试响应发送给所述控制电路板。
根据上述测试装置所述控制电路板包括处理器,用于从服务器发送的编译后的测试程序中读取相应的测试向量,并将该测试向量下发给被测试芯片;排针,用于建立测试点并将所述测试点与所述处理器的相应的引脚相连接,以及将该处理器读取的测试向量传送给被测试芯片,或者将所述芯片返回的测试响应传送给所述处理器。
所述处理器还用于判断所述被测试芯片返回的测试响应是否符合期望响应。
所述执行电路板包括芯片插座,用于放置测试芯片,所述测试芯片用于接收所述处理器下发的测试向量并返回相应的测试响应;排针,用于建立测试点并将所述测试点与所述测试芯片的相应的引脚相连接,以及传送所述控制电路板下发的测试向量,或者将该被测试芯片返回的测试响应传送给所述控制电路板。
所述控制电路板按照所述测试文件中设定的时间顺序依次向所述执行电路板发送测试向量。
所述控制电路板向执行电路板发送一定数量的测试向量后,下发相应的执行命令。
所述测试装置为引脚数目不同的被测试芯片分别配置相应的执行电路板。
一种测试芯片的方法,包括步骤服务器根据测试任务编译相应的测试程序并通过仿真器将编译后的测试程序输出给外部的控制电路板;所述控制电路板从所述测试程序中读取相应的测试向量,并将该测试向量发送给外部的执行电路板,所述执行电路板根据控制电路板下发的测试向量对相应的芯片进行测试,并将测试响应发送给所述控制电路板;所述控制电路板根据所述执行电路板返回的测试响应判断相应的芯片是否正常。
根据上述方法所述控制电路板判断所述执行电路板返回的测试响应是否符合预期响应,并在确定所述测试响应符合预期响应时判断相应的被测试芯片状态正常。
所述控制电路板按照所述测试程序中设定的时间顺序依次向所述执行电路板发送测试向量。
根据被测试芯片的引脚数目的变化而配置相应的执行电路板。
本发明有益效果如下本发明通过相互独立的服务器、控制电路板和执行电路板对芯片进行量产测试,这样易于对单个测试图形进行调试,并且可以根据调试需求随时对测试程序进行修改;同时,通过本发明中的测试装置可以随时对芯片进行量产测试,而不用租用租金昂贵的自动测试仪,并因受到自动测试仪机时的限制而不能随意对测试程序进行修改,这样便大大降低了测试成本;另一方面,针对不同的芯片,本发明只需对执行电路板的设计和相应的测试程序作少量修改即可适应,这在一定程序上简化了操作流程。


图1A为本发明实施例中一种测试电路示意图;图1B-图1E为本发明实施例中测试图形及相关寄存器示意图;图2为本发明实施例中测试装置功能结构图。
具体实施例方式
为了解决现有技术下,用户在对芯片进行量产测试时因使用自动测试仪而使测试成本增加,以及因受到自动测试仪数量和机时的限制而不能按时完成测试任务的问题。本实施例中,测试装置通过相互独立的服务器、控制电路板和执行电路板,先根据测试任务编译相应的测试程序,接着从编译后的测试程序中读取测试向量对芯片进行测试,并且根据芯片返回的测试响应判断该芯片的状态是否正常。
下面以扫描链测试图形(Scan Pattern)为例,并结合附图进行详细说明。
本实施例中,测试方案由两部分组成,一部分是测试程序的设计,另一部分是测试装置的设计,通过在测试装置上运行测试程序来完成对测试芯片施加测试向量和观测相应的输出响应。
本实施例在测试程序上的设计包括如下内容首先,产生芯片量产测试所用的测试图形(即测试数据)。所述测试图形即是在测试过程中需要输入到芯片引脚的测试向量和期望芯片引脚输出的响应值。Scan Pattern需要用自动测试图形生成(Auto Test Pattern Generation,ATPG)工具来产生,如TetraMax。TetraMax可以产生两种不同的文件,一种是用于在ATE上量产测试的测试图形文件(包括*.wgl文件和*.stil文件;另一种是用于对测试图形进行仿真的仿真文件(包括*.v文件和*.hdl文件),这两种文件都包含了芯片量产测试时用到的所有测试数据;由于仿真文件的可读性更强一些,所以在使用Scan Pattern进行测试时通常会选用仿真文件里的测试数据。
其次,开发测试所用的程序。测试程序的主要功能是把内存中存储的测试图形内的测试向量读出来,并按照一定的时序关系把其施加到芯片测试用的引脚上,同时检测输出引脚的值并将其与内存中存储的期望响应行比较,如果一致,则判定芯片是正常的。
下面以A芯片Scan Pattern的调试为例进行说明。Scan Pattern是一种基于扫描链可测试性设计技术而产生的用于测试芯片制造工艺缺陷的测试图形;基于扫描链的可测性设计技术主要是采用固定值故障模型来检查电路是否工作正常;在固定值故障模型中,所有缺陷都表现为逻辑门层次上的节点逻辑值被固定为0或1。例如,参阅图1A和1B所示,在A芯片内的某个电路中,反相器的输出端有一个SA0错误(即此点的逻辑值固定为0),为了发现这个故障应该给反相器施加测试向量,并使它的预期输出为1。如图1A所示,将C端置为0,同时将A端、B端和D端分别置为1、0、0,则电路的输出为0,而这与期望响应1不符,这样就可以检测到错误的发生,如图1B所示,“10001”中前四位“1000”为此电路中测试SA0错误的测试向量,而最后一位“1”则是此电路中测试SA0错误的期望响应,类似“1010”这样的一个测试向量和这个测试向量所对应的期望响应“1”组合在一起就叫做一个测试图形;参阅图1C所示,A、B、C、D四个端点的测试向量分别是通过由寄存器串联起来的扫描链依次输入的,而相应的输出响应“1”被锁存到寄存器Z中并从芯片相应的引脚输出。另一方面,参阅图1D所示,测试图形中也可以包含更多数量的测试向量和/或更多数量的输出响应,此时图1C中的D寄存器后面也需串联相应数量的寄存器以保存增加的测试向量,Z寄存器后面也需串联相应数量的寄存器以保存增加的输出响应。
在程序开发的过程中要注意程序的通用性,以便使编写好的程序可以用于多种类型的测试图形的调试以及后续项目的调试,同时要注意对测试相关的所有输入输出控制引脚和数据引脚的可控性和可观性的设计。在对测试序程进行编写时,可以把准备好的测试数据以数组的形式保存起来,这样,当调试出现问题提时,可以很方便的进行问题的分析和定位。
例如,本实施例中,以Scan Pattern为例,在测试程序的设计上,用ATPG工具(如TetraMax)根据扫描测试技术、测试协议及故障模型自动生成相应的测试图形。参阅图1E所示,A芯片中共有四4条扫描链,每条扫描链由3000个寄存器组成,即3000个测试向量和相应的输出响应组成一个测试图形,而四个这样的测试图形称为一个Scan Pattern。为了使测试覆盖率达到95%,TetraMax共产生1500个Scan Pattern,如果需要单独使用第300个Scan Pattern对芯片进行测试、测试装置可以用TetraMax产生所述第300个Scan Pattern的测试图形仿真文件,并通过JTAG仿真器把所述4条扫描链对应的测试向量按C语言的格式写入文件,同时把相应的期望响应也写入文件,如图1D所示,第300个Scan Pattern的输入向量在仿真后被以C语言16进制的格式写入到文件scan_in.dat中,同时也把期望响应以同样的格式写入到文件scan_out.dat中;scan_in.dat和scan_out.dat中的数据以数组形式进行定义,如unsigned short scan_in ={0x5,0x6,0xd,0xf,0x2,0x0,0xd,0xb,…};unsigned short scan_out ={…};另一方面,参阅图2所示,所述测试装置包括控制电路板20和执行电路板21,以及服务器(PC)与联合测试行动小组(Joint Test Action Group,JTAG)仿真器。其中,
所述服务器用于根据测试任务编译相应的Scan Pattern测试程序,并将编译后的Scan Pattern测试程序通过JTAG仿真器传输给控制电路板20;所述控制电路板20中包含一块带有嵌入式电路仿真器(embedded-ICE)逻辑单元的ARM处理器,所述embedded-ICE逻辑单元是集成在ARM处理器内部的专门用于调试的模块,它支持JTAG实时调试功能,并支持断点设置等功能。控制电路板20主要用于通过JTAG电缆与JTAG仿真器连接,并通过JTAG仿真器获取服务器传输的编译后的测试程序;以及在相应的调试软件的控制下从所述测试程序中依次读取相应的测试向量,并通过ARM处理器中预先定义好的通用输入输出引脚(GPIO引脚)将所述读取的测试向量传输给被测芯片;同时,接收被测芯片返回的输出响应并观测该响应是否为预期响应,以及将测试结果返回给服务器。
所述执行电路板21用于放置被测芯片,该电路板中带有芯片插座,是被测芯片的载体,被测芯片可以用吸笔很容易的放入到所述插座中,因为一个芯片的测试结果不足以说明用于测试的测试图形是正确的以及被测芯片本身是正常的,所以这样设计可以方便的测试许多它同类的芯片。而执行电路板21的电源由电源调节器提供,这样可以使被测芯片的电压是可调的,并且可以对执行电路板21板进行上电复位操作。另外,单一一颗芯片并不能完成芯片的主要功能,必须有一些外围电路作为辅助,如在芯片的某个管脚外接上拉电阻,以保证芯片在特定模式下的功能是正确的;而本实施例中,芯片在测试时是处于测试模式的,此时,测试的结果与芯片具有何种功能无关,因此执行电路板21上不需要设计周边电路,这在一定程度上也简化了测试操作。
如图所示,所述控制电路板20和执行电路板21的边缘设置有排针,以建立相应的测试点,本实施例中,将ARM处理器上预先定义好的所有GPIO引脚和控制电路板20上对应的测试点相连;同样,将被测芯片上的扫描链引脚与执行电路板21上对应的测试点相连,然后把控制电路板20和执行电路板21按引脚的对应关系分别用插线连接起来,便完成了测试电路的连接。
上述方法中,控制电路板20上ARM处理器的GPIO引脚与执行电路板21上A芯片的扫描链引脚之间的映射关系如表1所示,其中GPIOA和GPIOB所对应的寄存器的比特(bit)关系如表2和表3所示;除此之外,还要在ARM处理器的GPIO引脚中定义GPIOC_0、GPIOC_1和GPIOC_2,它们分别为A芯片时钟引脚、A芯片控制引脚test_mode
和A芯片控制引脚test_mode[1]的驱动引脚。
表1

表2

表3

所述服务器用于运行Multi-ICE服务器软件和ARM集成开发软件(ARMDeveloper Suit,ADS)以编译出适合ARM处理器的测试程序。
在对芯片进行测试时,服务器先启动Multi-ICE服务器软件,自动检测JTAG仿真器,然后通过JTAG仿真器对ARM处理器进行初始化配置,接着再启动ARM的集成开发软件ADS,并在ADS环境中编译写好的源程序,生成相应的测试程序。
当控制电路板20从服务器上获取相应的Scan Pattern测试程序后,首先驱动GPIOC_1和GPIOC_2引脚为0和1,使A芯片进入扫描测试模式(shift模式),此模式可以把测试向量通过扫描链载入到A芯片中或把测试结果从扫链中传出来,然后读出数组scan_in的第一个元素0x5,它的二进制表示为0101,将其写入到GPIOA所对应的寄存器中,使寄存器中的GPIOA_0、GPIOA_1、GPIOA_2、GPIOA_3的值分别为1、0、1、0,寄存器的每一位值会驱动ARM处理器上的每一根相应的GPIO引脚,接着控制电路板20驱动时钟引脚GPIOC_0,产生一个时钟脉冲,把测试向量输入到对应的扫描链中,然后再读下一个测试向量,当读完scan_in数组中的3000个测试向量后,控制电路板20便驱动GPIOC_1引脚为1,然后再驱动时钟引脚产生一个时钟脉冲,使A芯片进入捕获(capture)模式,在此模式下测试向量开始在在A芯片的组合逻辑电路中传输,并且A芯片的输出响应被锁存到对应的寄存器中,然后控制电路板20驱动GPIOC_1引脚为0,使A芯片再此进入shift模式,在此模式下将所述输出响应从扫描链的输出引脚(AOUT、BOUT、COUT和DOUT)上传出来,并锁存到GPIOB所对应的寄存器中,最后,控制电路板20读取scan_out数组中的元素(即期望响应)与GPIOB所对应的寄存器中的输出响应进行比较,如果一致,则说明测试结果正确,这样,便完成了所述第300个Scan Pattern的测试。
此外,用户使用上述测试装置可以生成任意一个或多个Scan Pattern测试程序而对芯片进行相应的测试;并且在测试的过程中,用户如果发现某段测试程序的设计有不妥之处,可以随时停下测试进程对该测试程序进行修改,这并不会浪费过多的时间。
上述测试装置中,控制电路板20的设计是通用的,即它可以用于不同芯片的测试,而执行电路板21只能针对于某个类型的芯片,一旦芯片引脚数目发生变化,就需要重新设计,因此将两个电路板分别设计,以达到可以重用控制电路板20的目的。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种测试芯片的装置,其特征在于,包括相互独立的服务器、控制电路板和执行电路板,其中服务器,用于根据测试任务编译相应的测试程序,并通过仿真器将所述测试程序传输给控制电路板;控制电路板,通过仿真器与所述服务器连接,用于从服务器发送的测试程序中读取相应的测试向量,并将该测试向量发送给执行电路板,以及根据所述执行电路板返回的测试响应判断相应的芯片是否正常;执行电路板,与控制电路板连接,用于根据控制电路板下发的测试向量对相应的芯片进行测试,并将测试响应发送给所述控制电路板。
2.如权利要求1所述的装置,其特征在于,所述控制电路板包括处理器,用于从服务器发送的编译后的测试程序中读取相应的测试向量,并将该测试向量下发给被测试芯片;排针,用于建立测试点并将所述测试点与所述处理器的相应的引脚相连接,以及将该处理器读取的测试向量传送给被测试芯片,或者将所述芯片返回的测试响应传送给所述处理器。
3.如权利要求2所述的装置,其特征在于,所述处理器还用于判断所述被测试芯片返回的测试响应是否符合期望响应。
4.如权利要求1所述的装置,其特征在于,所述执行电路板包括芯片插座,用于放置测试芯片,所述测试芯片用于接收所述处理器下发的测试向量并返回相应的测试响应;排针,用于建立测试点并将所述测试点与所述测试芯片的相应的引脚相连接,以及传送所述控制电路板下发的测试向量,或者将该被测试芯片返回的测试响应传送给所述控制电路板。
5.如权利要求1-4任一项所述的装置,其特征在于,所述控制电路板按照测试程序中设定的时间顺序依次向所述执行电路板发送测试向量。
6.如权利要求5所述的装置,其特征在于,所述控制电路板向执行电路板发送一定数量的测试向量后,下发相应的执行命令。
7.如权利要求5所述的装置,其特征在于,所述测试装置为引脚数目不同的被测试芯片分别配置相应的执行电路板。
8.一种测试芯片的方法,其特征在于,包括步骤服务器根据测试任务编译相应的测试程序并通过仿真器将编译后的测试程序输出给外部的控制电路板;所述控制电路板从所述测试程序中读取相应的测试向量,并将该测试向量发送给外部的执行电路板,所述执行电路板根据控制电路板下发的测试向量对相应的芯片进行测试,并将测试响应发送给所述控制电路板;所述控制电路板根据所述执行电路板返回的测试响应判断相应的芯片是否正常。
9.如权利要求8所述的方法,其特征在于,所述控制电路板判断所述执行电路板返回的测试响应是否符合预期响应,并在确定所述测试响应符合预期响应时判断相应的被测试芯片状态正常。
10.如权利要求8所述的方法,其特征在于,所述控制电路板按照所述仿真文件中设定的时间顺序依次向所述执行电路板发送测试向量。
11.如权利要求8、9或10所述的方法,其特征在于,根据被测试芯片的引脚数目的变化而配置相应的执行电路板。
全文摘要
本发明公开了一种测试芯片的装置,包括相互独立的服务器、仿真器、控制电路板和执行电路板,其中所述服务器用于根据测试任务生成相应的测试程序,并输出给仿真器;所述仿真器与服务器连接,用于对所述测试程序进行仿真处理,生成包含测试数据的仿真文件并发送给控制电路板;所述控制电路板与仿真器连接,用于从所述仿真文件中读取相应的测试向量,并将该测试向量发送给执行电路板,以及根据所述执行电路板返回的测试响应判断相应的芯片是否正常;所述执行电路板与控制电路板连接,用于根据控制电路板下发的测试向量对相应的芯片进行测试,并将测试响应发送给所述控制电路板。这样,在对芯片进行量产测试时便不用租用租金昂贵的自动测试仪,从而在很大程度上降低了测试成本。本发明同时公开了一种测试芯片的方法。
文档编号G01R31/317GK101038325SQ200710063930
公开日2007年9月19日 申请日期2007年2月14日 优先权日2007年2月14日
发明者崔云飞, 吴大畏 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1