具有多个同构ip核的片上系统芯片测试装置和方法

文档序号:5843851阅读:134来源:国知局
专利名称:具有多个同构ip核的片上系统芯片测试装置和方法
技术领域
本发明涉及集成电路测试领域,特别是涉及含有同构IP核的片上系统芯片(soc
芯片)的测试,尤其是涉及需要降低测试开销和测试成本的多核处理器的扫描测试激励施 加装置和方法,以及测试响应片上比较装置和方法。
背景技术
当前,绝大部分集成电路都采用扫描设计并通过扫描链进行测试。这种通过扫描 链来进行测试的结构测试方法能大大降低自动测试向量生成(Automatic Test Pattern Genaration, ATPG)的复杂度,并极大地提高故障的测试覆盖率。 通过扫描链进行扫描测试的基本步骤是1)通过扫描输入端口沿着扫描链将测 试向量施加到芯片上;2)切换到功能状态,并运行一拍或几拍;3)切换到移位状态,将保存 在扫描触发器中的测试响应通过扫描输出端口一位一位的移出来观测,并与期望值进行比 较,来判定芯片是否存在故障。 由上面的步骤,可以看出,扫描测试是需要占用输入输出端口的,即需要一定的10 资源。在芯片规模一定的情况下,较少的输入输出端口会导致较长的扫描链,因而使得移位 周期变长,测试时间和测试成本也随之增加。 制造工艺的不断进步使得电路规模按照摩尔定律指数增长,而可利用的10资源增
长却缓慢得多。采用传统的测试技术来测试大规模电路会使得测试时间和成本难以接受。 为了缓解这一 问题,测试压縮技术被广泛采用。但是,尽管如此,对于含有几亿个
晶体管的多核处理器来说,测试成本仍然在芯片总成本中占有较大比重。 而现有技术中的多核处理器的一个显著特征是含有多个同构的处理器核,同构处
理器核对相同的测试激励会产生相同的响应,这个特征可以被用来显著地减少测试数据
量,进而减少测试成本。 现有技术中,在多核处理器UltraSPARCTM(相关内容请参考文献1 :I.Parulkar, T.Ziaja, R.Pendurkar, A. D' Souza and A. Majumdar,"A Scalable, LowCost Design-for-Test Architecture for UltraSPARC Chip Multi_Processors,,, Proc. IEEE International Test Conference,October 2002)中,同构IP核就共用了一组测试向量,并 且只输出了一个IP核的测试响应。在含有16个IP核的UltraSPARCTM第三代多线程处理器 (参考文献2 :1. Parulkar, S. Anandakumar, G. Agarwal, G. Liu, K. Rajan and F. Chiu, "DFX of a 3rd Generation,16_core/32_thread UltraSPARC CMT Microprocessor",Proc. IEEE InternationalTest Conference, Paper 2. 2, October 2008)中,扫描输入数据也是广播到 四个簇群(cluster),每个簇群(cluster)有自己独立的扫描输出端口 。
但是,在UltraSPARCTM系列处理器中,扫描输入数据没有经过缓存而是直接广播 到每个核,这样不仅大大增加了扫描输入的负载,对时序也有较高要求,不利于核的扩展; 另一方面,同构IP核的测试响应进行比较时,相关文献也没有给出对X位的处理方法。
在多处理器芯片Vega2 (参考文献3 :S. Makar, T. Altinis, N. Patkar and J. Wu,
4"Testing of Vega2, a Chip Multi-Processor with Spare Processors", Proc. IEEE International Test Conference, P即er 9. 1, October 2007)中,也提供了一禾中模式进行 多核同时测试和片上比较,但其基准测试响应是从测试仪上直接输入的,这就需要额外的 扫描输入通道,同时扫描输入也是直接广播,不利于核的扩展。 G. Giles等学者在2008年提出了一种针对多个同构IP核的测试访问机制(参 考 文 献4:G. Giles, J. Wang, A. Sehgal, K. J. Balakrishnan, and J. Wingf ield, "Test Access Mechanism for Multiple Identical Cores,,, Proc. IEEE InternationalTest Conference, Paper 2. 3, October 2008),其给出了三种测试模式来支持多核同时测试和片 上比较,其中核间比较模式(inter-core compare mode)已在一款AMD四核处理器中进行 了应用。虽然该方法有很好的可扩展性和灵活性,但由于每个核的运行状态不一致,需要额 外的命令对每个核的状态进行控制,使得控制复杂,另外向量的转换和对X位的处理也不 直观,对X位的处理需占用额外的移位时间。

发明内容
本发明的目的在于提供一种具有多个同构IP核的片上系统(S0C)芯片测试装置
和方法,其利用同构IP核的特性,用有限的io资源和简单的控制逻辑降低了测试数据量,
减少了测试成本;与现有技术相比,不仅具有良好的可扩展性和灵活性,而且实现复杂度 低,控制简单。 为实现本发明目的而提供的一种具有多个同构IP核的片上系统芯片测试装置, 包括 —种具有多个同构IP核的片上系统芯片测试装置,包含在具有多个同构IP核的
片上系统芯片中,包括控制器,多个相应于所述同构IP核的条件比较器,其中 所述控制器,具有连接到相应每个同构IP核的多个控制信号接口,用于向每个同
构IP核输入测试控制信号,控制对其中一个或者多个同构IP核进行测试,测试激励数据广
播到这些IP核,同时控制输出某一 IP核的测试响应,该测试响应作为基准测试响应与其他
IP核的测试响应进行比较; 较佳地,为了减轻对时序的要求,测试激励数据是通过流水方式广播到每个同构 IP核的;同样地,为了减轻对时序的要求,作为基准的测试响应数据也是通过流水方式进 行广播。 进一步地,如果作为基准的测试响应数据通过流水进行广播,控制器需根据同构
IP核的连接顺序控制输出所测IP核中离扫描输入端口最近的IP核的测试响应。 所述条件比较器,用于根据屏蔽数据选择性地将相应IP核的测试响应与基准测
试响应进行比较,并对比较结果进行处理产生1位的错误标识信号,所述错误标识信号用
于指示比较是否一致。 较优地,所述片上系统芯片测试装置还包括测试输入同步寄存器(TISR),测试输 出同步寄存器(TOSR),流水寄存器,以及屏蔽数据输入端口,其中 所述TISR,用于同步每个同构IP核接收到的扫描测试激励,保证每个IP核在同样 的时刻接收到相同的测试激励或测试向量; 所述TOSR,用于同步基准测试响应数据和自身的测试响应数据,并保证任一同构
5IP核的测试响应直接输出到扫描输出端口的时间一致; 所述流水寄存器,用于对扫描输入数据和屏蔽数据进行缓存,通过流水寄存器进 行广播减轻了对时序的要求; 所述屏蔽数据输入端口,用于向条件比较器输入屏蔽数据,来屏蔽掉对X的比较, 保证比较结果的正确性。 较佳地,所述片上系统芯片测试装置,所述控制器,还用于根据测试仪实际测试的 结果决定是否产生新的控制信号以进行新一轮测试。如果作为基准的,即测试响应直接输 出的IP核有故障,则其他IP核的条件比较器给出的错误标识信号就不具有参考性,控制器 就会产生新的时钟使能控制信号将作为基准的有故障的IP核旁路掉,并产生新的测试响 应输出控制信号,重新进行测试,直到作为基准的IP核不存在故障。 为实现本发明目的还提供一种具有多个同构IP核的片上系统(SOC)芯片测试方 法,其包括如下步骤 步骤SIOO,控制器向每个IP核输入时钟使能控制信号Core—clk—en,控制一个或 多个IP核处于测试模式(Core_Clk_en为0的核被旁路掉,Core_Clk_en为1的核则能接 受扫描输入数据,从而可以被测试),扫描测试数据广播到这些IP核;同时控制器根据处于 测试模式下的IP核的信息,向每个同构IP核输入测试响应输出控制信号(core_sei_out), 控制所测IP核中某一IP核的测试响应作为基准响应,并直接输出它的测试响应结果,其他 IP核则与该IP核进行比较; 步骤S200,在测试仪上对直接输出的测试响应进行观测,并与期望响应进行比较, 来判定测试响应直接输出的IP核是否存在故障;同时对处于测试模式下的其他IP核的条 件比较器给出的错误标识信号进行观测,来判定相应核的响应是否与基准响应一致;
步骤S300,如果测试响应直接输出的IP核不存在故障,那么错误标识信号Err_ fig就反映了相应IP核是否存在故障,这时由错误标识信号Err_flg来判定处于测试模式 下的其他IP核是否存在故障。 本发明提供了一种具有多个同构IP核的片上系统(SOC)芯片测试装置和方法,具 有以下优点 1.通过测试激励广播和测试响应核间比较将n个核的测试数据量减少到一个核
的测试数据量,大大节省了 10资源,同时减少了测试时间和测试成本。 2. TISR和TOSR寄存器的存在保证了 IP核状态的一致性,避免了复杂的控制逻辑
来单独控制每个核的行为,这样使得控制简单,面积开销也最小。 3. TISR和TOSR寄存器的存在也保证了同构IP核对测试仪的等价性,即从测试仪 的角度来看,所有的核是一样的。这样,通过修改相应的控制信号来处于特定模式,同一组 测试向量就可以用来测试任意一个核,任意两个核或者任意多个核。向量的这种通用性减 少了向量调试的时间,同样节省了测试成本。 4.屏蔽数据通路的存在保证了含有X位的向量比较的正确性。其可以处理任意多 的X位,同时不增加额外的时间。


图1是本发明实施例具有同构IP核的片上系统(SOC)芯片测试装置结构示意 图2是本发明实施例中1位条件比较器的示意图; 图3是本发明实施例片上系统(S0C)芯片在test_setup和capture过程中捕获 "l"值的流水寄存器的示意图; 图4是本发明实施例具有同构IP核的片上系统(SOC)芯片测试方法流程图;
图5是本发明实施例将IP核级的向量转换成芯片级向量的实例图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明的一种具有同构IP核的片上系统(SOC)芯片测试装置和方法进行进一步详细说明。 应当理解,此处所描述的具体实施例仅仅用以解释本发明而不是对本发明的限制。
本发明提供的解决方案利用同构IP核的特性,用有限的10资源和简单的控制逻 辑达到了降低测试数据量和减少测试成本的目的。 本发明实施例的具有同构IP核的片上系统(SOC)芯片测试装置,如图1所示,在 具有多个同构IP核6的片上系统芯片中,包括控制器1,以及多个相应于每个同构IP核6 的条件比较器2,其中 所述控制器1 ,具有连接到相应每个同构IP核6的多个控制信号接口 ,包括时钟使 能信号Core_clk_en和测试响应输出控制信号Core_sel_out,时钟使能信号Core_clk_en 控制是否对相应的核进行测试,该信号为0使得相应核被旁路掉,该信号为1则使得相应核 能接受扫描数据的输入,从而使得该核处于测试模式;测试响应输出控制信号C0re_Sel_ out根据扫描测试数据(测试向量)到达所述SOC芯片的顺序,控制处于测试模式的IP核 中离扫描输入端口最近的IP核的测试响应直接输出,而其他IP核的响应则与该基准响应 进行比较并产生相应的错误标识信号Err_flg,如果在测试仪上观测到测试响应直接输出 的IP核无故障,则其他IP核输出的Err_f lg信号就反映了相应核是否存在故障,通过错误 标识信号Err_f lg信号就能判定处于测试模式的其他IP核是否存在故障;
更佳地,所述控制器l,还用于根据测试仪实际测试的结果决定是否产生新的控 制信号以进行新一轮测试,如果作为基准的,即测试响应直接输出的IP核有故障,则其他 IP核的条件比较器给出的错误标识信号就不具有参考性,这时需要产生新的时钟使能信号 C0re_clk_en将作为基准的有故障的IP核旁路掉,然后根据扫描测试数据到达所述片上系 统芯片的顺序,产生新的测试响应输出控制信号Core—sel—out,然后重新进行测试,直到新 的作为基准的IP核不存在故障。 所述条件比较器2,用于将所述IP核6的测试响应与来自上游的基准测试响应进 行比较,并对比较结果进行处理产生1位的错误标识信号Err—flg,所述错误标识信号用于 指示比较是否一致。 较佳地,所述条件比较器2还用于处理含有不确定位X的测试响应数据的比较,当 条件比较器2接收到的屏蔽数据的某一位为1时,相应的测试响应位则不进行比较,这样通 过输入合适的屏蔽数据就能屏蔽掉对X位的比较,从而保证含有X位的测试响应数据比较 的正确性。 本发明实施例的具有多个同构IP核的片上系统(S0C)芯片测试装置,通过控制器 1,利用连接到相应每个同构IP核的多个控制信号接口 ,在进行片上系统芯片测试时,向每个同构IP核6发出时钟使能控制信号和测试响应输出控制信号,使得只输出一个核的测试 响应结果,而处于测试模式的其它IP核的测试响应通过与该特定IP核6的测试响应进行 比较来判定其正确性。 设控制IP核是否处于测试模式的时钟使能控制信号是C0re_clk_en,控制测试响 应是否直接输出的测试响应输出控制信号是Core—sel—out,统称为测试控制信号。
在本发明实施例中,如果第一同构IP核Core。的测试响应输出控制信号Core。_ Sel_out为1,则其它的同构IP核的选择输出信号为0,则第一同构IP核Core。的测试响应 结果直接利用扫描链输出到测试仪(未示出)进行观测,其它核则与Core。的测试响应结 果进行比较,并通过Err_f lg信号来标识比较结果;如果Err_f lg输出为0,则表示不出错, 即与Core。结果一致;如果Err_flg输出为1,则表示出错,即与Core。结果不一致。
作为一种可实施方式,所受控制直接被观测的同构IP核取决于同构IP核之间 的连接顺序。如果扫描测试数据首先到达第一同构IP核Core。,然后到达第二同构IP核 Cor 第三同构IP核Core2,……最后达到Coren—n则在所有同构IP核同时测试(所有IP 核的时钟使能信号都为1)的模式下应控制Core。—sel—out = 1,Corei_sel_out = 0,Core2_ Sel_out = 0,……,Coren—^sel—out = 0,使得直接通过测试仪利用扫描链观测第一同构IP 核Core。的测试响应结果,其它的同构IP核由相应的条件比较器对本核的测试响应与Core。 的测试响应结果进行比较,并通过Err_flg信号来标识比较结果,进而得到测试结果;如果 测试过程中发现Core。存在故障,则其他IP核的条件比较器给出的Err_f lg信号就不具有 参考性,因为基准测试响应数据是错误的;这时需要控制Core。_Clk_en = 0, Corei_Clk_en
=1, Core2_clk_en = 1, ......, Coren—^elk—en = 1禾口 Core0_sel_out = 0, CoreLsel—out
=1, Core2_sel_out = 0, Core3_sel_out = 0, ......, Coren—^sel—out = 0,将Core。旁路
掉,重新对其他的n-1个核进行测试,并在测试仪上直接观测第二同构IP核Corei的测试 响应结果,其它n-2个核的测试响应则相应地与Corei的响应进行比较来判断正确性,依此 类推。 作为一种可实施方式,所述条件比较器2的位数取决于S0C芯片扫描输出端口的 个数,有多少个扫描输出端口,就需要多少位的条件比较器2。一个n位的条件比较器,可由 n个如图2所示的1位条件比较器组成,它的Err_f lg信号是这n个1位比较器Err_f lg错 误标识信号或运算的结果。 作为另一种可实施方式,在某些情况下,基于功耗的考虑,一般不同时对所有的核 进行测试。比如,在圆片测试阶段(wafer test),圆片未进行切割,所有的芯片是紧挨着,这 种情况下散热效果不好,如果所有的核一块测试,极易因功耗过大而造成对芯片的损害。在 对功耗要求比较严格的情况下,可以选择少数核进行同时测试。比如,在本发明实施例中, 一次可以选择两个核进行测试或者一次只选择一个核进行测试。 本发明的装置对这些类型的测试都完全支持。以单独测试每个核为例,测试Core。 时,控制Core0_sel_out = 1, CoreLsel—out = 0, Core2_sel_out = 0, Core3_sel_out = 0 来直接输出Core。的测试响应,并控制Core。_clk_en = 1, Corei_clk_en = 0, Core2_clk_ en = 0, Core3_clk_en = 0将Core" Core2和Core3旁路掉,即关掉这些核的时钟来达到降 低功耗的目的,这样只有Core。正常运行;测试Core2时,控制Core。_sel_out = 0, Core^ sel_out = 0,Core2_sel_out = 1, Core3_sel_out = 0来直接输出Core2的测试响应,并控
8制Core0_clk_en = 0, CoreLclk—en = 0, Core2_clk_en = 1, Core3_clk_en = 0将Core。, Corei和Core3旁路掉。不进行片上比较的核的Err_f lg信号都没有意义,实际测试中不需 要进行观测。 较佳地,所述装置还包括多个连接到同构IP核上的多个测试输入同步寄存器 (test input synchronization registers, TISR) 3和测试输出同步寄存器(test output synchronization registers, T0SR)4。其中 所述测试输入同步寄存器3,用于同步每个同构IP核接收到的扫描测试激励,保 证每个IP核在同样的时刻接收到相同的测试激励或测试向量; 所述测试输出同步寄存器4,用于同步基准测试响应数据和自身的测试响应数据, 并保证任一同构IP核的测试响应直接输出到扫描输出端口的时间一致。
对含有n个同构IP核的片上系统(片上电路系统)S0C来说,核Corem有ni个 TISR寄存器3, m个T0SR寄存器4。比如对含有4个同构核的芯片,Core。有4个TISR寄 存器3和0个T0SR寄存器4, Corei有3个TISR寄存器3和1个T0SR寄存器4, Core2有2 个TISR寄存器3禾P 2个TOSR寄存器4,而Core3有1个TISR寄存器3禾P 3个TOSR寄存器 4。这样,扫描输入数据到达每个同构IP核都需要经过相同的级数(n级),而每个同构IP 核的测试响应传播到扫描输出也需要相同的级数(n级)。采用这种结构后,所有的同构核 对测试仪来说都是等价的。 考虑到每个核的物理位置不同,扫描测试数据(测试向量)是通过流水的方式广 播到每个同构IP核的,这样大大减轻了对时序的要求。同时为了保证每个IP核在同一时刻 接收到相同的数据,每个核都包含了不同数目的测试输入同步寄存器3,这样使得每个IP 核的工作状态完全一致,省去了复杂的控制逻辑来对每个IP核的状态进行控制。
为了减轻对时序的要求,作为基准的测试响应数据是通过流水的方式广播到下游 的每个同构IP核的,所以每个同构IP核接收到基准测试响应的时间是不一致的,为了保证 比较的正确性,每个同构IP核都包含了不同数目的测试输出同步寄存器(T0SR)4,用于同 步基准测试响应数据和自身的测试响应数据。 通过TISR寄存器3,使得相同的扫描测试数据(即测试向量)以流水的方式广播 到每个同构IP核6,并且保证每个核在相同的时间接收到完全相同的测试数据,这样每个 核的工作方式都相同(即同时进入移位状态和捕获状态),不需要额外的控制逻辑来单独 对每个核进行控制。 作为一种可实施方式,可以用一组扫描测试数据(即测试向量)来实现这样的测 试四个核同时测,两个核同时测,每次只测一个核。从测试仪的角度来看,因为TISR寄存 器的存在,无论哪种模式,无论测试哪些核或哪个核,输入的扫描测试数据都是相同的,同 时因为TOSR寄存器的存在,输出的测试响应结果也都是相同的,都是缓存四拍再输出。唯 一不同的是控制器l发出的控制信号不一样,错误标识信号Err—flg代表的意义有差异,而 这些测试仪都可以实时控制。所以,采用本发明中的测试装置生成的扫描测试向量具有很 强的通用性。 更佳地,所述装置还包括连接到条件比较器的多个屏蔽数据输入总线7和流水寄 存器5,其中 所述流水寄存器5,用于缓存屏蔽数据,使得屏蔽数据以流水方式进行传播,减轻
9对时序的要求。 所述输入总线7,用于将屏蔽数据(mask data)输入到每个条件比较器2,使得条 件比较器2只对确定值(0或1)进行比较,屏蔽对不确定的X值的比较。
所述输入总线7的宽度等于同构IP核的扫描输出管脚(未示出)的数目。
由于很多宏单元(macro cell)(比如处理器核中的cache存储器)(未示出)的存 在,在具有多个同构IP核的片上系统电路中不可避免地会存在很多不确定状态的点,即这 些点的值是未知的,而这会导致向量产生X位。另一方面,检测故障有时候不需要对所有的 触发器和原始输入(PI)进行赋值,也不需要对所有的触发器和原始输出(P0)进行观测,这 些不需要观测的点在向量响应中也表现为X值。另外,向量生成过程中用户施加的一些限 制也会导致向量响应中出现X值。X值的存在会破坏同构IP核之间的比较结果,引起Err— flg信号输出错误的值。为了避免向量中X的存在导致的错误,在本发明实施例中,设置多 个连接到每个同构IP核的条件比较器的输入总线7,这些输入总线7输入屏蔽数据(mask data)到每个条件比较器2,使得条件比较器只对确定值(0或1)进行比较。
作为一种可实施方式,如果在含有压縮结构的电路中,可以采用非对称 (asymmetrical)的压縮结构来减少扫描输出管脚的数目,从而减少额外的输入管脚8的数 目。 所述屏蔽数据(mask data)是从扫描测试数据(即测试向量文件)中抽取的。对 扫描测试数据的测试响应中为确定值0或1的位,设置相应的屏蔽(mask)位为0 ;对响应中 为X的位,即不进行观测的位,设置相应的屏蔽(mask)位为1。这样就能屏蔽掉X的影响, 保证比较结果的正确性。 为了减轻对时序的要求,屏蔽数据也是通过流水广播到每个IP核的。
由于基准测试响应数据到达每个核的时间不一样,所以每个核开始比较的时间也 不一样。如果Core。直接被观测,则Coi^首先开始比较操作,Coren—工最后开始比较操作。 一般的,Corem是在m个时钟周期后开始比较操作的,这就要求在前m个时钟周期,传播到 Corem的屏蔽位必须为1。从屏蔽数据输入端口来输入这些屏蔽(mask)位是不可行的,因 为屏蔽数据到达Corem也需要m个时钟周期。本发明实施例采用流水寄存器5来解决这个 问题,如图3所示,这些流水寄存器5属于专门用以测试的"TESTCLK"时钟域,并能在test_ setup和capture过程中捕获"l"值。这样,对于Corem,在前m个时钟周期,保存在流水寄 存器中的"l"用来屏蔽掉相应的比较,m个时钟周期后,来自屏蔽数据输入端口的数据用来 屏蔽掉对X位的比较。 相应地,本发明实施例还提供一种具有多个同构IP核的片上系统(SOC)芯片测试 方法,如图4所示,其包括如下步骤 步骤S100,控制器向每个IP核输入时钟使能控制信号Core—clk—en,控制一个或 多个IP核处于测试模式,时钟使能控制信号C0re_clk_en为0的核被旁路掉,时钟使能控 制信号Core—clk—en为1的核则能接受扫描输入数据,从而可以被测试,扫描测试激励通过 流水方式广播到这些IP核;同时控制器根据扫描测试数据到达片上系统芯片的顺序和处 于测试模式下的IP核的信息,向每个同构IP核输入测试响应输出控制信号Core—sel—out, 控制所测IP核中离扫描输入端口最近的IP核的测试响应作为基准响应,并直接输出它的 测试响应结果,其他IP核则与该IP核进行比较;
步骤S200,在测试仪上对直接输出的测试响应进行观测,并与期望响应进行比较, 来判定测试响应直接输出的IP核是否存在故障;同时对处于测试模式下的其他IP核的条 件比较器给出的错误标识信号进行观测,来判定相应核的响应是否与基准响应一致;
较佳地,所述步骤S200还包括下列步骤 屏蔽数据通过屏蔽数据输入端口 (mask data in) 8将屏蔽数据通过流水寄存器5 以流水方式传播到每个同构IP核的条件比较器中,使得相应的条件比较器屏蔽掉对X位的 比较,只对确定位(0或1)进行比较,从而保证Err_flg信号的正确性;对于Corem,在前m 个时钟周期,保存在流水寄存器5中的"l"用来屏蔽掉相应的比较,m个时钟周期后,来自 屏蔽数据输入端口的数据用来屏蔽掉对X位的比较。 如果在测试仪上观测到测试响应直接输出的IP核存在故障,那么处于测试模式
的其他IP核的条件比较器给出的Err—flg信号不反映相应的IP核是否存在故障,Err—flg
信号给出的信息无效,这时需要旁路掉存在故障的IP核,并进行新一轮测试。 步骤S300,如果测试响应直接输出的IP核不存在故障,那么错误标识信号Err_
fig就反映了相应IP核是否存在故障,这时由错误标识信号Err_flg来判定处于测试模式
的其他IP核是否存在故障。 较佳地,所述步骤S300还包括下列步骤 —轮测试完成之后,判断是否存在未被判定的同构IP核,如果还存在IP核未被判 定为无故障或有故障,控制器1就产生新的测试控制信号(包括C0re_clk_en和C0re_Sel_ out)来启动新一轮测试对未被判定的核进行测试,如果所有的同构IP核都已经被判定,则 对这些核的测试结束。 下面以一含有4个同构的处理器核的片上系统(SOC)芯片为例,说明本发明实施 例的具有多个同构IP核的片上系统(SOC)芯片测试装置和方法。 如图l所示,本发明实施例涉及到一个多核处理器芯片,该芯片含有4个同构的 处理器核6,处理器核6内部包含各种宏单元,包括寄存器堆(regfile)和内容寻址存储器 (CAM)等(未示出)。 扫描输入数据(scan in data,也称测试向量),屏蔽数据(mask data)依次经过 同构IP核Core。, Core" Core2和Core3,测试响应数据也按流水顺序依次经过Core" Core2 和Corep在图1中,还包括多个测试输入同步寄存器(TISR)3和测试输出同步寄存器 (T0SR) 4, Core。有4个TISR3和0个T0SR4, Corei有3个TISR3禾P 1个T0SR4, Core2有2 个TISR3和2个T0SR4, Core3有1个TISR3和3个T0SR4。这样,这四个核的工作状态就能 保持一致,即同时进入移位状态和捕获状态。 图1中,还包括对屏蔽数据进行缓存的流水寄存器5,这些流水寄存器5在非移位 状态(包括test—setup和capture过程)下能捕获"1 "值,从而为最初几拍的比较提供屏 蔽(mask)数据。 图3是这些流水寄存器5的示意图,从图中可以看出,当Scan—enable信号为1时, 电路处于移位状态,屏蔽数据(mask data)可以通过这些流水寄存器5进行传播;当Scan_ enable为0时,电路处于test_setup或capture状态,屏蔽数据(mask data)则不能通过 相应的或门传播到流水寄存器5,每个流水寄存器5都捕获到"l"值。 作为一种可实施方式,图3只是给出了流水寄存器5的一种实现形式,但是,应当
11说明的是,其它任何可以保证这些流水寄存器5在移位之前保持"l"值的方案都是可行的。
图1中,除了最上游的Core。之外,其它的同构IP核的条件比较器2用以比较该 同构IP核的响应与来自上游同构IP核的响应,并输出Err—flg信号。
图2是一位条件比较器的示意图。当屏蔽数据(mask data)为0时,相应的响应 值可以通过或门进而到达异或门的输入端进行比较;当屏蔽数据(mask data)为1时,响应 值则不能通过或门,异或门的两个输入端是屏蔽数据(mask data)引起的l值,从而异或门 输出O,表示结果一致。这样,屏蔽数据(mask data)为1就能屏蔽两个响应之间的比较操 作。 如果对四个同构核一块进行测试,则Core。应首先被直接观测,它的响应作为基准 响应与其它核进行比较,即控制Core。_clk_en = 1, Corei_clk_en = 1, Core2_clk_en = 1, Core3_clk_en = 1禾口 Core0_sel_out = 1, CoreLsel—out = 0, Core2_sel_out = 0, Core3_ sel_out = 0。 ATE设备(Auto-Test Equipment,自动化测试设备)(未示出)对期望响应 (expected responses)与Core。的响应进行比较来判断Core。是否存在故障,同时Err_ flgr3分别给出Corei, Core2, Core3与Core。进行比较的结果。如果Core。的响应与期望响 应完全一致,则说明Core。不存在故障,那么Err_flgl~3就反映了 Core^是否存在故障,测 试过程结束;如果Core。的响应与期望响应不一致,则说明Core。存在故障,那么Err_flgl~3 给出的信息就不具有参考性,只是说明了与Core。的结果是否一致,这时还需要新一轮的 测试。当Core。存在故障时,需要将Core。旁路掉,直接输出Cor^的结果,Core2, Core3与 Core!进行比较来判断其正确性,即控制Core。_clk_en = 0, Corei_clk_en = 1, Core2_clk_ en = 1, Core3_clk_en = 1禾口 Core0_sel_out = 0, CoreLsel—out = 1, Core2_sel_out = 0,Core3_sel_out = 0。这时,Err—flgi的输出没有意义,因为Corei的响应是在测试仪上进 行比较的,不是片上比较的。当Coi^不存在故障时,Coi^和Core3是否存在故障则分别由 Err_flg2和Err_flg3给出,测试过程结束;否则还需要进一步的测试来判定Core2和Core3 是否存在故障。以此类推,直到所有的核是否存在故障都被判定。可以看出,最好情况下 (Core。不存在故障的情况),只需要一轮测试就可以对所有的同构核进行判定;最坏情况下 (Core。, Corei和Core2都存在故障的情况),需要4轮测试才能对所有的核进行判定。
本发明中的扫描测试装置使得自动测试向量生成(ATPG)可以在核级进行,测试 向量(Test Pattern)在核级仿真验证过之后,再映射到顶层作为最终的测试向量。
图5给出了由IP核级测试向量产生芯片级测试向量的一个可实施方式,其中包含 屏蔽(mask)数据的抽取。从该实施例中可以看到,芯片级向量比IP核级向量多了 4拍移 位操作,这4拍操作,对扫描输入来说,对应TISR寄存器,对扫描输出来说,对应T0SR寄存 器。屏蔽(Mask)数据根据扫描输出的值得到,需要比较的位,屏蔽(mask)对应位为0 ;输 出为X的位,屏蔽(mask)对应位为l,即屏蔽对X的比较。在核级产生向量大大减少了向量 生成时间和向量调试时间。 本发明实施例的具有多个同构IP核的片上系统(S0C)芯片测试装置和方法,其通 过测试激励广播和测试响应核间比较将n个核的测试数据量减少到一个核的测试数据量, 大大节省了 1/0资源,同时减少了测试时间和测试成本。相对于其它的多核测试方法,本发 明的测试装置和方法具有良好的可扩展性和灵活性,而且实现复杂度低,控制简单。其具有 以下优点
1.通过测试激励广播和测试响应核间比较将n个核的测试数据量减少到一个核
的测试数据量,大大节省了 10资源,同时减少了测试时间和测试成本。 2. TISR和TOSR寄存器的存在保证了 IP核状态的一致性,避免了复杂的控制逻辑
来单独控制每个核的行为,这样使得控制简单,面积开销也最小。 3. TISR和TOSR寄存器的存在也保证了同构IP核对测试仪的等价性,即从测试仪 的角度来看,所有的核是一样的。这样,通过修改相应的控制信号来处于特定模式,同一组 测试向量就可以用来测试任意一个核,任意两个核或者任意多个核。向量的这种通用性减 少了向量调试的时间,同样节省了测试成本。 4.屏蔽数据通路的存在保证了含有X位的向量比较的正确性。其可以处理任意多 的X位,同时不增加额外的时间。 5.这种结构也有利于自动测试向量生成(ATPG)。向量可以在核级进行产生和仿 真,经过核级验证的向量再映射到顶层作为最终的向量来使用。这样可大大减少测试向量 生成的时间,同时减少向量调试时间。 最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变 型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。
权利要求
一种具有多个同构IP核的片上系统芯片测试装置,包含在具有多个同构IP核的片上系统芯片中,其特征在于,包括控制器,以及多个相应于所述同构IP核的条件比较器,其中所述控制器,具有连接到相应每个同构IP核的多个控制信号接口,用于向每个同构IP核输入测试控制信号,控制对其中一个或者多个同构IP核进行测试,相同的测试激励数据广播到这些IP核,同时控制输出某一IP核的测试响应,该测试响应作为基准测试响应与其他IP核的测试响应进行比较;所述条件比较器,用于根据屏蔽数据选择性地将相应IP核的测试响应与基准测试响应进行比较,并对比较结果进行处理产生1位的错误标识信号,所述错误标识信号用于指示比较是否一致。
2. 根据权利要求1所述的片上系统芯片测试装置,其特征在于,所述控制器,还用于 根据测试仪实际测试的结果决定是否产生新的控制信号以进行新一轮测试,如果作为基准 的,即测试响应直接输出的IP核有故障,则其他IP核的条件比较器给出的错误标识信号就 不具有参考性,控制器就会产生新的时钟使能控制信号将作为基准的有故障的IP核旁路掉,并产生新的测试响应输出控制信号,重新进行测试,直到作为基准的IP核不存在故障。
3. 根据权利要求1至2任一项所述的片上系统芯片测试装置,其特征在于,还包括多个 连接到同构IP核上的多个测试输入同步寄存器和测试输出同步寄存器,其中所述测试输入同步寄存器,用于同步每个同构IP核接收到的扫描测试激励,保证每个 IP核在同样的时刻接收到相同的测试激励或测试向量;所述测试输出同步寄存器,用于同步基准测试响应数据和自身的测试响应数据,并保 证任一同构IP核的测试响应直接输出到扫描输出端口的时间一致。
4. 根据权利要求3所述的片上系统芯片测试装置,其特征在于,对含有n个同构IP核 的片上系统芯片,核C0rem有n-m个测试输入同步寄存器,m个测试输出同步寄存器。
5. 根据权利要求1至2任一项所述的片上系统芯片测试装置,其特征在于,还包括连接 到条件比较器的屏蔽数据输入总线和流水寄存器,其中所述流水寄存器,用于缓存屏蔽数据,使得屏蔽数据以流水方式进行传播,减轻对时序 的要求;所述屏蔽数据输入总线,用于将屏蔽数据输入到每个所述条件比较器,使得所述比较 器只对确定值进行比较,屏蔽对不确定的X值的比较,从而保证含有X值的测试响应数据比 较的正确性;所述屏蔽数据是从扫描测试数据中抽取的。
6. 根据权利要求5所述的片上系统芯片测试装置,其特征在于,所述屏蔽数据输入总 线的宽度等于同构IP核的扫描输出管脚的数目。
7. 根据权利要求1或2所述的片上系统芯片测试装置,其特征在于,所述条件比较器的 位数取决于所述片上系统芯片同构IP核的扫描输出管脚的数目;一个n位的条件比较器, 可由n个1位条件比较器组成,它的比较结果输出信号是这n个1位条件比较器比较结果 输出信号的或运算值。
8. 根据权利要求1至2任一项所述的片上系统芯片测试装置,其特征在于,测试激励数 据通过流水方式进行广播,所述控制器根据同构IP核的连接顺序控制输出所测IP核中离扫描输入端口最近的IP核的测试响应来作为基准测试响应;所述基准测试响应通过流水的方式广播到下游的每个同构IP核。
9. 一种具有多个同构IP核的片上系统芯片测试方法,其特征在于,包括下列步骤 步骤S100,控制器向每个IP核输入时钟使能控制信号,控制一个或多个IP核处于测试模式,相同的测试激励数据广播到这些IP核;同时控制器根据处于测试模式下的IP核的信 息,向每个同构IP核输入测试响应输出控制信号,控制所测IP核中某一 IP核的测试响应 作为基准响应,并直接输出它的测试响应结果,其他IP核则与该IP核进行比较;步骤S200,在测试仪上对直接输出的测试响应进行观测,并与期望响应进行比较,来判 定测试响应直接输出的IP核是否存在故障;同时对处于测试模式下的其他IP核的条件比 较器给出的错误标识信号进行观测,来判定相应IP核的响应是否与基准响应一致;步骤S300,如果测试响应直接输出的IP核不存在故障,那么错误标识信号就反映了相 应IP核是否存在故障,这时由错误标识信号来判定处于测试模式下的其他IP核是否存在 故障。
10. 根据权利要求9所述的片上系统芯片测试方法,其特征在于,所述步骤S100还包括 下列步骤相同的测试激励数据通过流水方式广播到每个同构IP核,作为基准的测试响应通过 流水方式广播到下游的同构IP核;控制器根据扫描测试数据到达片上系统芯片的顺序和处于测试模式下的IP核的信 息,控制所测IP核中离扫描输入端口最近的IP核的测试响应作为基准响应,并直接输出;测试输入同步寄存器同步每个同构IP核接收到的扫描测试激励,保证每个IP核在同 样的时刻接收到相同的测试激励或测试向量;测试输出同步寄存器同步基准测试响应数据和自身的测试响应数据,并保证任一同构 IP核的测试响应直接输出到扫描输出端口的时间一致。
11. 根据权利要求9所述的片上系统芯片测试方法,其特征在于,所述步骤S200还包括 下列步骤屏蔽数据通过屏蔽数据输入端口将屏蔽数据通过流水寄存器以流水方式传播到每个 同构IP核的条件比较器中,使得相应的比较器屏蔽掉对X位的比较,只对确定位进行比较, 从而保证错误标识信号的正确性;对于Corem,在前m个时钟周期,保存在流水寄存器中的 "1"用来屏蔽掉相应的比较,m个时钟周期后,来自屏蔽数据输入端口的数据用来屏蔽掉对 X位的比较;如果在测试仪上观测到测试响应直接输出的IP核存在故障,那么处于测试模式的其 他IP核的条件比较器给出的错误标识信号不反映相应的IP核是否存在故障,错误标识信 号给出的信息无效,这时需要旁路掉存在故障的IP核,并进行新一轮测试。
12. 根据权利要求9至11任一项所述的片上系统芯片测试方法,其特征在于,所述步骤 S300还包括下列步骤一轮测试完成之后,判断是否存在未被判定的同构IP核,如果还存在IP核未被判定 为无故障或有故障,控制器就产生新的控制信号来启动新一轮测试对未被判定的核进行测 试,如果所有的同构IP核都已经被判定,则对这些核的测试结束。
全文摘要
本发明公开了一种具有多个同构IP核的片上系统芯片测试装置和方法,该装置包括控制器,具有连接到相应每个同构IP核的多个控制信号接口,用于向每个同构IP核输入测试控制信号,控制对其中一个或者多个同构IP核进行测试,相同的测试激励数据广播到这些IP核,同时控制输出某一IP核的测试响应,该测试响应作为基准测试响应与其他IP核的测试响应进行比较;所述条件比较器,用于将相应IP核的测试响应与基准测试响应进行比较,并对比较结果进行处理产生1位的错误标识信号,来标识比较是否一致。
文档编号G01R31/317GK101788644SQ20091024440
公开日2010年7月28日 申请日期2009年12月30日 优先权日2009年12月30日
发明者刘慧 , 胡伟武, 齐子初 申请人:北京龙芯中科技术服务中心有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1