一种基于测试壳的IP核测试方法与流程

文档序号:12915266阅读:320来源:国知局
一种基于测试壳的IP核测试方法与流程

本申请涉及片上系统(system-on-chip,soc)领域,尤其涉及一种基于测试壳的ip核测试方法。



背景技术:

随着集成电路工艺的进步和人们对集成电路性能以及上市时间要求的不断提高,片上系统技术已经成为当今集成电路的发展趋势和技术主流。整个soc芯片的测试开发需要各个知识产权(intellectualproperty,ip)核的测试信息,这要求ip提供者向soc集成者提供关于ip的内部可测性设计(designfortest,dft)策略、测试模式和相应的测试协议、故障覆盖率及测试图形等。在基于扫描链的测试图形中,测试数据按规定的测试协议完成相应的测试建立、测试数据加载、卸载、捕获等操作。

如图1所示,ip核测试图形包括测试时钟clk、测试复位rstn、ip核内部扫描链扫描使能(scanenable,se)、ip核内部扫描链扫描输入(scaninput,si)、ip核内部扫描链扫描输出(scanoutput,so)、ip核初级输入(primaryinput,pi)、ip核初级输出(primaryoutput,po)等测试数据。阶段(1)扫描输入即进行测试图形的扫描链测试数据装载,阶段(5)扫描输出即进行测试图形的扫描链测试数据卸载,此时扫描使能信号有效,对于第一个测试图形,不存在扫描链测试数据卸载,对于第二个直至最后一个测试图形,在扫描链测试数据的移入的同时进行对上次扫描链捕获的测试结果输出和测量过程,对于最后一个测试图形,仅进行扫描链测试数据的卸载;阶段(2)并行测量指在所有初级输入施加测试图形的输入,同时在所有初级输出进行测试图形的输出及测试数据的测量对比;阶段(3)并行捕获是指将内部逻辑的测试结果捕获(capture)到扫描链中,从而方便在下次的移位操作中将捕获的测试数据卸载,此时,扫描使能信号无效,对于第一个测试图形,不存在寄存器对内部逻辑输出的捕获过程;阶段(4)链首输出即对测试壳扫描链扫描输出的第一个测试数据进行测量对比(图1中所有测量操作发生在测试时钟脉冲之后,因此,在下一个测试图形扫描输入开始之前应先进行链首输出)。

在ip核外围环绕基于ieee1500标准的测试壳后,所有初级输入和初级输出都对应一个wbr单元(cell),无法在初级输入和初级输出直接控制和观测ip核,因此,原本由ip核初级输入端口施加的测试数据将改由测试壳中的测试壳串行端口(wrapperserialport,wsp)或测试壳并行端口(wrapperparallelport,wpp)施加,同样,原本由ip核初级输出端口输出的测试数据也改由wsp或wpp输出,并进行测量对比。因此,图1所示的测试协议以及测试数据的次序将发生变化,可见,如何使用ip核的测试图形,对设置有测试壳的ip核进行测试,成为目前亟待解决的问题。



技术实现要素:

本申请提供了一种基于测试壳的ip核测试方法,目的在于解决如何使用ip核的测试图形,对设置有测试壳的ip核进行测试的问题。

为了实现上述目的,本申请提供了以下技术方案:

一种基于测试壳的ip核测试方法,包括:

从ip核测试图形中提取扫描链扫描输入si测试数据和初级输入pi;

根据测试指令,通过测试壳输入端口装载所述si测试数据和所述pi测试数据,其中,所述si测试数据通过所述输入端口后进入所述ip核的扫描链,所述pi测试数据通过所述输入端口后,被所述测试壳的wbr单元施加到所述ip核的输入端口;

根据所述测试指令,通过所述测试壳的输出端口,卸载so测试数据和po测试数据,所述so测试数据由所述si测试数据经过所述ip核的内部逻辑电路后转换得到,所述po测试数据由所述pi测试数据经过所述ip核的内部逻辑电路后转换得到;

将所述so测试数据与所述ip核测试图形中的so图形进行测量比对,并将所述po测试数据与所述ip核测试图形中的po图形进行测量比对,其中,所述so测试数据由所述ip核的扫描链输出到所述输出端口,所述po测试数据被所述wbr单元从所述ip核的输出端口捕获到所述测试壳的输出端口。

可选地,在所述通过测试壳输入端口装载所述si测试数据和所述pi测试数据之前,还包括:

向所述测试壳中移入测试指令;

所述测试指令为串行测试存取,所述通过测试壳输入端口装载所述si测试数据和所述pi测试数据包括:

通过所述测试壳中的测试壳串行输入wsi输入所述si测试数据和所述pi测试数据。

可选地,所述通过测试壳中的测试壳串行输入wsi输入所述si测试数据和所述pi测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳寄存器移位控制信号shiftwr有效,其他测试壳串行控制信号无效的情况下,根据wbr的数据通路装载所述si测试数据和所述pi测试数据,靠近测试壳串行输出wso的wbr单元的测试数据最先装载,靠近测试壳串行输入wsi的wbr单元的测试数据最后装载,装载的测试数据包括:noutput个无关值、nff个所述si测试数据和ninput个所述pi测试数据,其中,noutput为ip核功能输出端口的数目,nff为ip核内部扫描链扫描单元的数目,ninput为ip核功能输入端口的数目。

可选地,所述通过测试壳中的测试壳串行输入wsi输入所述si测试数据和所述pi测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳寄存器移位控制信号shiftwr有效,其他测试壳串行控制信号无效的情况下,根据wbr的数据通路装载所述si测试数据和所述pi测试数据,靠近测试壳串行输出wso的wbr单元的测试数据最先装载,靠近测试壳串行输入wsi的wbr单元的测试数据最后装载,装载的测试数据包括:(nmax-nimax)个无关值、nff个所述si测试数据和ninput个所述pi测试数据,其中,nmax为所述ip核最长扫描链的长度,为所述ip核最长输入扫描链的长度。

可选地,所述通过所述测试壳的输出端口,卸载so测试数据和po测试数据包括:

如果所述测试指令为串行测试存取,通过所述测试壳中的测试壳串行输出wso卸载所述so测试数据和所述po测试数据。

可选地,所述通过测试壳中的测试壳串行输出wso卸载所述so测试数据和所述po测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳寄存器移位控制信号shiftwr有效,其他测试壳串行控制信号无效的情况下,根据wbr的数据通路卸载所述so测试数据和所述po测试数据,靠近测试壳串行输出wso的wbr单元的测试数据最先卸载,靠近测试壳串行输入wsi的wbr单元的测试数据最后卸载,卸载的测试数据包括:(noutput-1)个所述po测试数据、nff个所述so测试数据和ninput个无关值。

可选地,所述通过测试壳中的测试壳串行输出wso卸载所述so测试数据和所述po测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳寄存器移位控制信号shiftwr有效,其他测试壳串行控制信号无效的情况下,根据wbr的数据通路卸载所述so测试数据和所述po测试数据,靠近测试壳串行输出wso的wbr单元的测试数据最先卸载,靠近测试壳串行输入wsi的wbr单元的测试数据最后卸载,卸载的测试数据包括:(noutput-1)个所述po测试数据、nff个所述so测试数据和个无关值,其中,为所述ip核最长输出扫描链的长度。

可选地,在所述通过测试壳输入端口装载所述si测试数据和所述pi测试数据之前,还包括:

向所述测试壳中移入测试指令;

所述测试指令为并行测试存取,所述通过测试壳输入端口装载所述si测试数据和所述pi测试数据包括:

通过所述测试壳中的测试壳并行输入wpi输入所述si测试数据和所述pi测试数据。

可选地,所述通过测试壳中的测试壳并行输入wpi输入所述si测试数据和所述pi测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳并行扫描使能信号wpse有效的情况下,根据wbr的数据通路装载所述si测试数据和所述pi测试数据,靠近测试壳并行输出wpo的wbr单元的测试数据最先装载,靠近测试壳并行输入wpi的wbr单元的测试数据最后装载,第n条并行扫描链装载的测试数据包括:个无关值和个所述pi测试数据/所述si测试数据,其中,nwpp-max为最长并行扫描链的长度,为第n条并行扫描链输入扫描链的长度。

可选地,所述通过测试壳中的测试壳并行输入wpi输入所述si测试数据和所述pi测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳并行扫描使能信号wpse有效的情况下,根据wbr的数据通路装载所述si测试数据和所述pi测试数据,靠近测试壳并行输出wpo的wbr单元的测试数据最先装载,靠近测试壳并行输入wpi的wbr单元的测试数据最后装载,第n条并行扫描链装载的测试数据包括:个无关值和个所述pi测试数据和所述si测试数据。

可选地,所述通过所述测试壳的输出端口,卸载so测试数据和po测试数据包括:

如果所述测试指令为并行测试存取,通过测试壳中的测试壳并行输出wpo卸载所述so测试数据和所述po测试数据。

可选地,所述通过测试壳中的测试壳并行输出wpo卸载所述so测试数据和所述po测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳并行扫描使能信号wpse有效的情况下,根据wbr的数据通路卸载所述so测试数据和所述po测试数据,靠近测试壳并行输出wpo的wbr单元的测试数据最先卸载,靠近测试壳并行输入wpi的wbr单元的测试数据最后卸载,第n条并行扫描链卸载的测试数据包括:个所述pi测试数据、所述si测试数据和个无关值,其中,为第n条并行扫描链输出扫描链的长度。

可选地,所述通过测试壳中的测试壳并行输出wpo卸载所述so测试数据和所述po测试数据包括:

在ip核内部扫描链扫描使能se信号和测试壳并行扫描使能wpse信号有效的情况下,根据wbr的数据通路卸载所述so测试数据和所述po测试数据,靠近测试壳并行输出wpo的wbr单元的测试数据最先卸载,靠近测试壳并行输入wpi的wbr单元的测试数据最后卸载,第n条并行扫描链卸载的测试数据包括:个所述po测试数据和所述so测试数据和个无关值。

本申请所述的基于测试壳的ip核测试方法,从ip核测试图形中提取扫描链扫描输入si和初级输入pi,根据测试指令,通过测试壳输入端口装载将所述si测试数据装载到ip核的扫描链,将所述pi测试数据通过所述测试壳的wbr单元施加到所述ip核的输入端口,并根据测试指令,卸载由所述si测试数据经过所述ip核的内部逻辑电路后转换得到的so测试数据以及po测试数据,将所述so测试数据与所述ip核测试图形中的so图形进行测量比对,并将所述po测试数据与所述ip核测试图形中的po图形进行测量比较,其中,所述so测试数据由所述ip核的扫描链输出到所述输出端口,所述po测试数据被所述wbr单元从所述ip核的输出端口捕获到所述测试壳的输出端口。可见,本申请所述的方法,能够使用ip核的测试图形,得到基于测试壳的ip核测试数据,并与测试图形中的相应图形进行比对。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为ip核测试图形的示意图;

图2为本申请实施例公开的一种基于测试壳的ip核测试方法的流程图;

图3为一种ip核测试壳的示意图;

图4为本申请实施例公开的又一种基于测试壳的ip核测试方法的流程图;

图5为本申请实施例公开的通过wsp向wir移入测试指令的测试协议的图;

图6a)为本申请实施例公开的根据ip核测试图形转换得到的加装测试壳后的ip核测试图形的示意图;

图6b)为本申请实施例公开的ip核测试图形的示意图;

图7为又一种ip核测试壳的示意图;

图8为本申请实施例公开的又一种基于测试壳的ip核测试的流程图;

图9为从ip核测试图形转换为测试壳的测试图形的示意图;

图10为本申请实施例公开的产生使能信号的电路的示意图;

图11为本申请实施例公开的方法反映的信号示意图;

图12为本申请实施例公开的方法反映的信号示意图。

具体实施方式

ieeestd1500标准规定的ip核测试壳结构由测试壳边界寄存器(wrapperboundaryregister,wbr)、测试壳旁路寄存器(wrapperbypassregister,wby)、测试壳指令寄存器(wrapperinstructionregister,wir)、测试壳串行端口(wrapperserialport,wsp)和可选的测试壳并行端口(wrapperparallelport,wpp)组成。

其中,wbr是数据寄存器,用于提供测试激励和接收测试响应。wbr由串行连接的测试壳边界寄存器单元(wbrcell)组成,wbrcell能实现测试激励的施加和测试响应的捕获,从而实现对嵌入式ip核的控制和观察。嵌入式ip核的每一个输入及输出端口都有一个wbrcell,但测试访问机制(testaccessmechanism,tam)端口和模拟端口可以不设置wbrcell。ieeestd1500只定义了两种类型的wbrcell:输入wbrcell和输出wbrcell。wbrcell提供4个输入输出端口:测试输入端口(celltestinput,cti)、测试输出端口(celltestoutput,cto)、功能输入端口(cellfunctionalinput,cfi)、功能输出端口(cellfunctionaloutput,cfo)cti和cto组成移位路径(cti→cto),cfi和cfo组成功能路径(cfi→cfo)。每个wbrcell至少包括一个存储单元。所有wbrcell的移位路径首尾相连组成测试壳扫描链,连接在测试壳串行输入(wrapperserialinput,wsi)和测试壳串行输出(wrapperserialoutput,wso)之间。对于输入单元(inputcell),cfi和测试壳功能输入相连,cfo和ip核输入相连,对于输出单元(outputcell),cfi和ip核输出相连,cfo和测试壳功能输出相连。wbrcell只要达到ieee1500规定的模式及行为即可,因而没有固定的结构。

wby是数据寄存器,在测试壳串行输入wsi和测试壳串行输出wso之间提供一条支路。当没有其他数据寄存器可选的时候,它可以由当前的测试壳指令选择充当默认的数据寄存器,为其他ip核的测试提供一条测试数据快速通过的路径。

wir用于控制测试壳的操作,wir通过测试壳串行输入wsi和测试封装壳串行控制(wrapperserialcontrol,wsc)将指令串行地送入测试壳电路。并根据载入的指令决定当前的测试模式是核外测试还是内部测试,决定访问方式是串行访问还是并行访问,决定被连接在测试壳串行输入wsi与测试壳串行输出wso之间的寄存器是wir、wbr还是wby,最后,指令寄存器负责根据载入的指令产生测试壳控制信号来控制wby的移位、wbrcell的移位、捕获、更新、传输操作、以及选通器的选择。

wsp是测试壳基本端口,用于测试壳寄存器中指令和数据输入输出,除了测试壳串行输入输出(wsi、wso)以外,它还包含控制所有测试壳寄存器的测试封装壳串行控制(wsc),wsc由6条强制信号线和2条可选信号线组成,包括:复位信号(wrstn)、时钟信号(wrck)、指令寄存器选择信号(selectwir)、寄存器移位控制信号(shiftwr)、寄存器捕获信号(capturewr)、寄存器更新信号(updatewr)、寄存器变换信号(transferdr,可选)、辅助时钟信号(auxck,可选)。当selectwir有效时,wir连接在wsi和wso之间。当selectwir无效时,wbr或wby连接在wsi和wso之间。

可选wpp提供对测试壳的并行访问,它由测试壳并行输入(wrapperparallelinput,wpi)、测试壳并行输出(wrapperparalleloutput,wpo)和测试壳并行控制(wrapperparallelcontrol,wpc)组成。它可以将串行测试壳扫描链分割成多条并行扫描链,节约测试时间。wpp宽度越大,测试时间越短,但是所需的测试管脚资源也越多,所以应该在测试时间和测试资源折中考虑。

本实施例所述的测试图形的转换方法,目的在于将ip核级的测试图形转换为测试壳级的测试图形,以对嵌入测试壳中的ip核进行测试。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开的一种基于测试壳的ip核测试方法,如图2所示,包括以下步骤:

s201:从ip核测试图形中提取si和pi测试数据;

如图1所示,ip核测试图形包括测试时钟clk、测试复位rstn、ip核内部扫描链扫描使能(scanenable,se)、ip核内部扫描链扫描输入(scaninput,si)、ip核内部扫描链扫描输出(scanoutput,so)、初级输入(primaryinput,pi)、初级输出(primaryoutput,po)等测试数据。而加装测试壳后,原本用于访问si、so、pi、po信号的端口被嵌入测试壳内部不能访问,只有用于clk、rstn、se的输入端能被访问。另外,ieee1500测试壳强制支持串行端口(wsp)访问,可选支持并行端口(wpp)访问。因此,基于测试壳的ip核测试首先要从ip核测试图形中提取si和pi测试数据,然后根据测试协议将ip核测试图形转换为包含clk、rstn、se、wsp和wpp的测试图形。

s202:根据测试指令,向测试壳中装载si测试数据和pi测试数据;

其中,所述si测试数据通过所述输入端口后进入所述ip核的扫描链,所述pi测试数据通过所述输入端口后,被所述测试壳的wbr单元施加到所述ip核的输入端口。

s203:根据所述测试指令,通过所述测试壳的输出端口,卸载so测试数据和po测试数据;

其中,所述so测试数据由所述si测试数据经过所述ip核的内部逻辑电路后转换得到,所述po测试数据由所述pi测试数据经过所述ip核的内部逻辑电路后转换得到。

s204:通过卸载获取到so测试数据后,将所述so测试数据与所述ip核测试图形中的so图形进行测量比对;

其中,所述so测试数据由所述ip核的扫描链输出到所述输出端口。需要说明的是,在实际应用中,从输出端口捕获到so测试数据时,即执行与ip核测试图形中的so图形的比对。

s205:通过卸载获取到po测试数据后,将所述po测试数据与所述ip核测试图形中的po图形进行测量比对。

其中,所述po测试数据被所述wbr单元从所述ip核的输出端口捕获到所述测试壳的输出端口。需要说明的是,在实际应用中,从输出端口捕获到po测试数据时,即执行与ip核测试图形中的po图形的比对。

具体地,测试指令的不同,会导致测试壳装载及卸载测试数据的端口的不同,下面从串行和并行测试指令,分别对上述步骤进行详细的说明。

本申请实施例公开的又一种基于测试壳的ip核测试方法,本实施例中,以串行测试指令、并以图3所示的ip核测试壳为例进行说明,图3中,该ip核功能输入端口的数目为ninput=4(不含时钟clk、复位rstn、扫描输入si、扫描使能se),ip核功能输出端口的数目为noutput=4(不含扫描输出so),ip核内部有2条扫描链,其中,扫描链0上扫描寄存器的数目为扫描链1上扫描寄存器的数目为因此,ip核内部扫描链扫描单元的数目为nff=8。ip核内部扫描链和测试壳扫描链串联后的长度为nwsp-max=noutput+nff+ninput。(图3中粗线代表串行内部测试的数据通路,图3中未画出并行外部测试的数据通路。)

如图4所示,本实施例所述方法包括以下步骤:

s401:从ip核测试图形中提取si、pi测试数据、so和po待比对测试数据;

其中,so和po待比对测试数据即为ip核测试图形中的so和po测试图形,这里可以先提取出来,用于后续的比对使用。为了避免混淆,将这里提取出来的so测试数据称为so待比对测试数据,po测试数据称为po待比对测试数据。

s402:向测试壳中移入测试指令;

本实施例中,通过测试壳串行端口(wrapperserialport,wsp)向wir移入测试指令。通过wsp向wir移入测试指令的测试协议如图5所示。图5中,ip核信号包括:时钟信号(clk)、复位信号(rstn)、扫描使能信号(se),测试壳信号包括:复位信号(wrstn)、时钟信号(wrck)、指令寄存器选择信号(selectwir)、寄存器移位控制信号(shiftwr)、寄存器捕获控制信号(capturewr)、寄存器更新控制信号(updatewr)、测试壳串行输入信号(wsi)。在向wir移入测试指令期间,ip核信号均无效。在第1个wrck下降沿,selectwir有效,表示选中wir连接在wsi和wso之间;在第2个wrck下降沿,shiftwr有效,表示下一个wrck上升沿可以开始wir移位操作;在第3个wrck上升沿到第6个wrck上升沿,测试指令从wsi向wso移位,wir移位操作过程中,selectwir和shiftwr保持为1,测试指令宽度由用户自定义,本实施例中,测试指令宽度为4;在第7个wrck上升沿,updatewr有效,表示下一个wrck下降沿开始wir更新操作,更新后的测试指令可以确定当前测试存取机制;在第8个wrck下降沿,selectwir无效,表示选中wbr或wby连接在wsi和wso之间,测试指令移入过程结束。

s403:确定所述测试指令为串行测试存取;

s404:通过测试壳中的测试壳串行输入(wrapperserialinput,wsi),向测试壳中装载si测试数据和pi测试数据;

具体地,在扫描输入阶段,se和shiftwr有效,selectwir、capturewr和updatewr无效,在每个wrck上升沿,根据wbr的数据通路装载所述si测试数据和所述pi测试数据,靠近测试壳串行输出wso的wbr单元的测试数据最先装载,靠近测试壳串行输入wsi的wbr单元的测试数据最后装载。装载的测试数据包括:noutput个无关值(可以是0,也可以是1,下同)、nff个扫描输入测试数据和ninput个初级输入测试数据,其中,noutput为ip核功能输出端口的数目,nff为ip核内部扫描链扫描单元的数目,ninput为ip核功能输入端口的数目。该阶段完成测试图形的扫描输入测试数据和初级输入测试数据装载。

本实施例中,扫描输入阶段即图6b)中第3周期到第18周期,装置的测试数据包括:noutput个无关值个si0测试数据个si1测试数据→ninput个pi测试数据。其中,si0为ip核内部扫描链0的扫描输入,si1为ip核内部扫描链1的扫描输入,pi为初级输入。

s405:将ip核的初级输出捕获到测试壳扫描链;

具体地,在并行测量阶段,selectwir、shiftwr、se和updatewr无效,capturewr信号有效,表示在wrck上升沿可以开始捕获操作,将ip核的初级输出捕获到测试壳扫描链输出wbr单元,从而在下次移位操作中将捕获的初级输出测试数据沿扫描链移出,但是clk无时钟脉冲,从而保证初级输出值在捕获过程中保持不变。

本实施例中,并行测量阶段即图6b)中第19周期。

s406:将ip核的内部逻辑输出捕获到ip核的内部扫描链;

具体地,在并行捕获阶段,selectwir、shiftwr、se、capturewr和updatewr无效,在clk上升沿,ip核内部逻辑输出被捕获到扫描链中,从而在下次的移位操作中将捕获的测试数据沿扫描链移出。

本实施例中,并行捕获阶段即图6b)中第20周期。

s407:输出并测量测试壳扫描链链首;

具体地,在测试壳扫描链链首输出阶段,selectwir、capturewr、updatewr无效,se和shiftwr有效,clk和wrck无时钟脉冲,保证链首输出过程中不进行移位操作,只通过wso对串行扫描链第一个测试数据进行输出,并对测试数据进行测量,测量操作应发生在测试数据稳定之后。

本实施例中,测试壳扫描链链首输出阶段即图6b)中的第2周期。

s408:通过测试壳中的wso,在测试壳中卸载并测量so测试数据和po测试数据。

s409:在测量到so测试数据和po测试数据后,分别将so测试数据与所述ip核测试图形中的so图形即so待比对测试数据进行测量比对,并将所述po测试数据与所述ip核测试图形中的po图形即po待比对测试数据进行测量比对,以得到对于ip核的测量结果。

具体地,在扫描输出阶段,即图6b)中第3周期到第18周期,控制信号状态与s407一致,在每个wrck下降沿,根据wbr的数据通路卸载所述so测试数据和所述po测试数据,靠近测试壳串行输出wso的wbr单元的测试数据最先卸载,靠近测试壳串行输入wsi的wbr单元的测试数据最后卸载。卸载的测试数据包括:(noutput-1)个初级输出测试数据、nff个扫描输出测试数据和ninput个无关值。移出过程中对测试数据进行测量(无关值不用测量),测量操作应发生在测试数据稳定之后。该阶段完成测试图形的扫描输出测试数据和初级输出测试数据卸载。

本实施例中,扫描输出阶段即图6b)中第3周期到第18周期,卸载的测试数据包括:(noutput-1)个po测试数据个so0测试数据个so1测试数据→ninput个无关值。其中,so0为ip核内部扫描链0的扫描输出,so1为ip核内部扫描链1的扫描输出,po为初级输出。

需要注意的是,测试壳级测试图形与ip核级测试图形一致,在进行第二个直至最后一个测试图形的施加过程中,同时进行上一次扫描链捕获测试结果的输出和测量,即当前测试图形的扫描输入阶段和上一次测试图形的扫描输出阶段同时进行。对于第一个测试图形的施加过程,不存在上一次测试结果的输出,同样,对于最后一个测试结果的输出和测量过程,也不存在下一次测试图形的施加过程。图6a)所示的ip核测试图形中,扫描输入输出阶段花费的测试时钟周期等于ip核内部最长扫描链的长度,即其中,代表ip核内部每条扫描链的长度,n代表ip核内部扫描链数目。加装测试壳后,串行测试存取机制下,该阶段花费的测试时钟周期等于连接在wsi和wso之间的扫描链长度,即nwsp-max,图6中nwsp-max=16。

串行测试存取机制下,转换后的测试图形如图6所示(图6中所有测量操作发生在测试数据稳定之后)。图6a)为ip核测试图形,它的各个阶段与图1一一对应,唯一不同的是图1给出两个连续的扫描阶段,第一扫描阶段包括第n-1测试图形扫描输出和第n测试图形扫描输入,第二扫描阶段包括第n测试图形扫描输出和第n+1测试图形扫描输入,而图6a)只给出一个扫描阶段,该扫描阶段包括第n-1测试图形扫描输出和第n测试图形扫描输入。为了保持链首输出与扫描输出的连贯性,图6a)将链首输出阶段放在扫描阶段之前。图6b)为根据ip核测试图形转换得到的加装测试壳后的ip核测试图形。注意,图中并未画出测试复位端口(rstn和wrstn)和测试壳并行端口wpp,这是因为测试复位不需要转换,而wpp在该机制下无效。可以看出,串行测试存取机制下,基于测试壳的ip核测试方法的重点在于把并行pi和po测试数据转换为串行,并根据测试壳扫描链连接方式将它们串行移入或移出,具体地,图6b)中,第n测试图形的pi[3]、pi[2]、pi[1]、pi[0]在第15周期到第18周期依次串行移入,第n-1测试图形的po[0]、po[1]、po[2]、po[3]在第2周期到第6周期依次串行移出。

本申请实施例公开的又一种测试图形的转换方法,本实施例中,以并行测试指令、并以图7所示的ip核测试壳为例进行说明,图7中,ip核功能输入端口的数目为ninput=4(不含时钟clk、复位rstn、扫描输入si、扫描使能se),ip核功能输出端口数目为noutput=4(不含扫描输出so),ip核内部有2条扫描链,其中,扫描链0上扫描寄存器的数目为扫描链1上扫描寄存器的数目为因此,ip核内部扫描链扫描单元的数目为nff=8。测试壳并行端口的宽度为wwpp=3。(图7中粗线代表并行内部测试的数据通路,图7中未画出并行外部测试的数据通路。可以看出,并行内部测试时,3条并行扫描链的长度分别为ip核内部2条扫描链长度以及输入端口链长度和输出端口链长度之和(ninput+noutput)。)

用nwpp-max表征连接在测试壳并行输入和测试壳并行输出之间最长的扫描链(图7中nwpp-max=8),其中,代表ip核内部扫描链的长度,n代表ip核内部扫描链数目。如图8所示,本实施例所述方法包括以下步骤:

s801:从ip核测试图形中提取si、pi测试数据、so和po待对比测试数据;

s802:向测试壳中移入测试指令;

s803:确定所述测试指令为并行测试存取;

s804:通过测试壳中的测试壳并行输入,向测试壳中装载si测试数据和pi测试数据;

具体地,在扫描输入阶段,wpse和se有效,在每个wrck上升沿,根据wbr的数据通路装载所述si测试数据和所述pi测试数据,靠近测试壳并行输出wpo的wbr单元的测试数据最先装载,靠近测试壳并行输入wpi的wbr单元的测试数据最后装载。第n条并行扫描链装载的测试数据包括:个无关值和个初级输入测试数据、扫描输入测试数据。其中,nwpp-max为最长并行扫描链的长度,为第n条并行扫描链输入扫描链的长度。该阶段完成测试图形的扫描输入测试数据和初级输入测试数据装载。

本实施例中,扫描输入阶段即图9中的第3周期到第10周期,各条并行扫描链装载的测试数据为:

a)wpi[2]:个无关值个si0测试数据;

b)wpi[1]:个无关值个si1测试数据;

c)wpi[0]:(nwpp-max-ninput)个无关值→ninput个pi测试数据。

s805:将ip核的初级输出捕获到测试壳扫描链;

具体地,在并行测量阶段,wpse和se无效,表示在wrck上升沿可以开始捕获操作,将ip核的初级输出捕获到测试壳扫描链输出wbr单元,从而在下次移位操作中将捕获的初级输出测试数据沿扫描链移出,但是clk无时钟脉冲,从而保证初级输出值在捕获过程中保持不变。

本实施例中,并行测量阶段即图9中的第11周期。

s806:将ip核的内部逻辑输出捕获到ip核的内部扫描链;

具体地,在并行捕获阶段,wpse和se无效,在clk上升沿,ip核内部逻辑输出被捕获到扫描链中,从而在下次的移位操作中将捕获的测试数据沿扫描链移出。

本实施例中,并行捕获阶段即图9中的第12周期。

s807:输出并测量测试壳扫描链链首;

具体地,在测试壳扫描链链首输出阶段,wpse和se有效,clk和wrck无脉冲,保证链首输出过程中不进行移位操作,只通过wpo对并行扫描链第一个测试数据进行输出,并在测试数据稳定后进行测量。

本实施例中,测试壳扫描链链首输出阶段即图9中的第2周期。

s808:通过测试壳中的wpo卸载并测量so测试数据和po测试数据。

s809:在测量到so测试数据和po测试数据后,分别将so测试数据与so待比对测试数据进行测量比对,并将所述po测试数据与po待比对测试数据进行测量比对,以得到对于ip核的测量结果。

具体地,在扫描输出阶段,即图9中的第3周期到第10周期,控制信号状态与s807一致,在每个wrck下降沿,根据wbr的数据通路卸载所述so测试数据和所述po测试数据,靠近测试壳并行输出wpo的wbr单元的测试数据最先卸载,靠近测试壳并行输入wpi的wbr单元的测试数据最后卸载。第n条并行扫描链卸载的测试数据包括:个初级输出测试数据、扫描输出测试数据和个无关值。移出过程中对输出测试数据进行测量(无关值不用测量),测量操作应发生在测试数据稳定之后。该阶段完成测试图形的扫描输出测试数据和初级输出测试数据卸载。

本实施例中,扫描输出阶段即图9中的第3周期到第10周期,各条并行扫描链卸载的测试数据为:

a)wpo[2]:个so0测试数据个无关值;

b)wpo[1]:个so1测试数据个无关值;

c)wpo[0]:(noutput-1)个po测试数据→(nwpp-max-noutput)个无关值。

需要注意的是,测试壳级测试图形与ip核级测试图形一致,在进行第二个直至最后一个测试图形的施加过程中,同时进行上一次扫描链捕获测试结果的输出和测量,即当前测试图形的扫描输入阶段和上一次测试图形的扫描输出阶段同时进行。对于第一个测试图形的施加过程,不存在上一次测试结果的输出,同样,对于最后一个测试结果的输出和测量过程,也不存在下一次测试图形的施加过程。ip核测试图形中,扫描输入输出阶段花费的测试时钟周期等于ip核内部最长扫描链的长度,即nip-max(=4),加装测试壳后,该阶段花费的的测试时钟周期等于连接在wpi和wpo之间最长的扫描链长度,nwpp-max。图7中nwpp-max=8。

并行测试存取机制下,转换后的测试图形如图9所示(注意:图中所有测量操作发生在测试数据稳定之后)。为了保持链首输出与扫描输出的连贯性,图9将链首输出阶段放在扫描输入输出阶段之前。注意,图中并未画出测试复位端口(rstn和wrstn)和测试壳串行端口wsp,这是因为测试复位不需要转换,而wsp在该机制下无效。可以看出,并行测试存取机制下,测试图形翻译的重点在于把pi和po的测试数据转换为并行,并根据测试壳扫描链连接方式将它们串行移入或移出,具体地,图9中,第n测试图形的pi[3]、pi[2]、pi[1]、pi[0]在第7周期到第10周期依次串行移入,第n-1测试图形的po[0]、po[1]、po[2]、po[3]在第2周期到第6周期依次串行移出。

需要注意的是,与wsp相比,wpp没有专门的捕获操作使能信号capturewr,因此,本方案在测试壳装置内部,采用图10电路产生并行测试存取机制下输出wbr单元的捕获操作使能信号wp_capturewr。图10中所示的电路包括1个寄存器和1个2输入与非门,电路捕获操作使能信号wp_capturewr产生的过程为:先将wpse信号寄存一拍后输出,然后将wpse取反后与寄存器输出相与得到wp_capturewr。

从图6b)和图9可以看出,扫描链扫入无关值和扫出无关值所占用的周期数较多,导致第n测试图形有效测试数据的扫描输入和第n-1测试图形有效测试数据的扫描输出不能完全同时进行。为了节约测试时间,本申请实施例中,对上述实施例所述方法进行优化,提出优化后的基于测试壳的ip核测试方法。该优化方法能最大限度减少扫描链扫入无关值和扫出无关值的周期数,从而降低测试时间,具体方案描述如下。

将ip核输入扫描链定义为测试壳输入端口链加上ip核内部扫描链,假设输入扫描链集合为定义ip核最长输入扫描链长度为串行测试存取机制下并行测试存取机制下

将ip核输出扫描链定义为测试壳输出端口链加上ip核内部扫描链,假设输出扫描链集合为定义ip核最长输出扫描链长度为串行测试存取机制下并行测试存取机制下

因此,定义ip核最长扫描链长度扫描输入输出阶段所花费的测试周期数为nmax,则:

串行测试存取机制下,ip核输入扫描链扫入无关值的周期数为ip核输出扫描链扫出无关值的周期数为扫描输入输出阶段节约的测试周期数为nwsp-max-nmax;

并行测试存取机制下,各条ip核输入扫描链扫入无关值的周期数分别为…;各条ip核输出扫描链扫出无关值的周期数为…;扫描输入输出阶段节约的测试周期数为nwpp-max-nmax。

以图3所示的某ip核测试壳为例阐述优化后串行测试存取机制下基于测试壳的ip核测试方法,该ip核功能输入端口数目为ninput=4(不含时钟clk、复位rstn、扫描输入si、扫描使能se),ip核功能输出端口数目为noutput=4(不含扫描输出so),ip核内部有2条扫描链,其中,扫描链0上扫描寄存器的数目为扫描链1上扫描寄存器的数目为ip核最长输入扫描链长度为ip核最长输出扫描链的长度为ip核最长扫描链的长度为优化的基于测试壳的ip核测试方法如图11所示(图11中所有测量操作发生在测试数据稳定之后),它在扫描输入输出阶段与图6所述的方法不同,其他阶段的处理与图6所示的方法相同,不同之处具体描述如下:

1)在扫描输入阶段,装载的测试数据包括:个无关值、nff个扫描输入测试数据和ninput个初级输入测试数据。本实施例中,扫描输入阶段即图11中的第3周期到第14周期,装载的测试数据为:个无关值个si0测试数据个si1测试数据→ninput个pi测试数据;

2)在扫描输出阶段,卸载的测试数据包括:(noutput-1)个初级输出测试数据、nff个扫描输出测试数据和个无关值。本实施例中,扫描输出阶段即图11中的第3周期到第14周期,卸载的测试数据为:(noutput-1)个po测试数据个so0测试数据个so1测试数据个无关值;

按照上述输入及输出方法,节约的测试周期数为nwsp-max-nmax=16-12=4。

以图7所示的某ip核测试壳为例阐述优化后并行测试存取机制下基于测试壳的ip核测试方法,该ip核功能输入端口数目为ninput=4(不含时钟clk、复位rstn、扫描输入si、扫描使能se),ip核功能输出端口数目为noutput=4(不含扫描输出so),ip核内部有2条扫描链,其中,扫描链0上扫描寄存器的数目为扫描链1上扫描寄存器的数目为测试壳并行端口宽度为wwpp=3。3条ip核输入扫描链的长度分别为:ip核最长输入扫描链的长度为3条ip核输出扫描链长度分别为:ip核最长输出扫描链长度为ip核最长扫描链长度为nmax=4。优化的基于测试壳的ip核测试方法如图12所示(图12中所有测量操作发生在测试数据稳定之后),它在扫描输入输出阶段的处理与图9所示的方法不同,其他阶段的处理与图9所示的方法相同,不同之处具体描述如下:

1)在扫描输入阶段,测试壳并行输入端口同时进行测试数据装载,第n条并行扫描链装载的测试数据包括:个无关值和个初级输入测试数据、扫描输入测试数据。本实施例中,扫描输入阶段即图12中的第3周期到第6周期,各条并行扫描链装载的测试数据为:

a)wpi[2]:个无关值个si0测试数据;

b)wpi[1]:个无关值个si1测试数据;

c)wpi[0]:个无关值→ninput个pi测试数据;

2)在扫描输出阶段,测试壳并行输出端口同时进行测试数据卸载,第n条并行扫描链卸载的测试数据包括个初级输出测试数据、扫描输出测试数据和个无关值。本实施例中,扫描输出阶段即图12中的第3周期到第6周期,各条并行扫描链卸载的测试数据为:

a)wpo[2]:个so0测试数据个无关值;

b)wpo[1]:个so1测试数据个无关值;

c)wpo[0]:(noutput-1)个po测试数据个无关值;

按照上述输入及输出方法,节约的测试周期数为nwpp-max-nmax=8-4=4。

优化的基于测试壳的ip核测试方法减少了输入扫描链扫入无关值的周期数和输出扫描链扫出无关值的周期数,以此达到节约测试周期、优化测试方法的目的。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1