CN107345999B - 测试壳设计方法及装置 - Google Patents
测试壳设计方法及装置 Download PDFInfo
- Publication number
- CN107345999B CN107345999B CN201610289656.9A CN201610289656A CN107345999B CN 107345999 B CN107345999 B CN 107345999B CN 201610289656 A CN201610289656 A CN 201610289656A CN 107345999 B CN107345999 B CN 107345999B
- Authority
- CN
- China
- Prior art keywords
- wbr
- scan
- test
- input
- chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318536—Scan chain arrangements, e.g. connections, test bus, analog signals
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明的目的是提供测试壳设计方法及装置。该方法包括:获取设计参数,根据所述设计参数确定所述测试壳的输入输出端口信息以及连接方式,使用相应的连接方式完成每一WBR Cell的连接;将所有WBR Cell的移位路径首尾相连,组成测试壳扫描链;当选通器的数目不为0时,使用相应的连接方式插入每一选通器。在本发明中,可根据设计参数(IP核功能端口信息、IP核内部扫描测试信息、WBR Cell结构、测试壳并行访问宽度和并行外部测试时测试壳并行扫描链长度等)自动进行WBR设计,进而完成测试壳的设计。
Description
技术领域
本发明涉及IP核自动测试集成领域,特别是涉及测试壳设计方法及装置。
背景技术
随着集成电路工艺的进步和人们对集成电路性能以及上市时间要求的不断提高,片上系统(SOC)技术已经成为当今集成电路的发展趋势和技术主流。IP核(CPU、DSP、MEM等都是IP核)作为一个子模块,嵌入到SOC内部,其输入输出端口并不能在SoC顶层访问,其输入输出端口不能在SOC顶层访问。
IEEE STD 1500标准是专为解决SOC中嵌入式IP核的测试访问、隔离、控制等测试问题而开发的一个测试标准。IEEE STD 1500标准规定IP核测试壳结构由测试壳边界寄存器(Wrapper Boundary Register,WBR)、测试壳旁路寄存器(Wrapper Bypass Register,WBY)、测试壳指令寄存器(Wrapper Instruction Register,WIR)、测试壳串行端口(Wrapper Serial Port,WSP)和可选的测试壳并行端口(Wrapper Parallel Port,WPP)组成。
WBR由串行连接的测试壳边界寄存器单元(WBR Cell)组成,WBR Cell能实现测试激励的施加和测试响应的捕获,从而实现对IP核的控制和观察。IP核的每一个输入/输出端口都有一个WBR Cell,但TAM(Test Access Mechanism,测试访问机制)端口和模拟端口可以不设置WBR Cell。
WBR Cell只要达到IEEE STD 1500规定的模式及行为即可,因而没有固定的结构。图1示出了一种最简单的WBR Cell结构,包括1个存储单元和2个选通器单元,图1所示的扫描使能信号用来使能移位路径,保持使能信号用来使能存储单元的保持功能。WBR Cell提供4个输入输出端口:CTI(Cell Test Input,单元测试输入)端口、CTO(Cell Test Output单元测试输出)端口、CFI(Cell Functional Input单元功能输入)端口、CFO(CellFunctional Output单元测试输出)端口。CTI→CTO组成移位路径,CFI→CFO组成功能路径。
如何设计测试壳特别是WBR是目前研究的热门。
发明内容
本发明的目的是提供测试壳设计方法及装置。
为实现上述目的,本发明提供了如下方案:
一种测试壳设计方法,包括:
获取设计参数,所述设计参数包括IP核功能端口信息、IP核内部扫描测试信息、WBR Cell结构、测试壳并行访问宽度Wwpp和并行外部测试时测试壳并行扫描链长度其中,所述IP核内部扫描测试信息至少包括扫描链数目Nscan;
根据所述设计参数确定所述测试壳的输入输出端口信息以及连接方式;所述输入输出端口信息至少包括WBR端口信息;所述WBR端口信息包括WBR Cell的数目、排序、类型,WBR中针对WBR Cell的控制信号端数目、WBR中使用的选通器的数目;所述连接方式至少包括每一WBR Cell的连接方式;当选通器的数目不为0时,所述连接方式还包括每一选通器的插入位置和连接方式;
使用相应的连接方式完成每一WBR Cell的连接;
将所有WBR Cell的移位路径首尾相连,组成测试壳扫描链;
当选通器的数目不为0时,使用相应的连接方式插入每一选通器。
在一个可能的设计中,所述根据所述设计参数确定所述测试壳的输入输出端口信息以及连接方式包括:根据所述IP核功能端口信息确定WBR Cell的数目、排序和类型;根据所述WBR Cell结构和类型确定WBR中针对WBR Cell的控制信号端数目;根据所述WBR Cell的结构、类型和排序,确定每一WBR Cell的连接方式;根据所述Wwpp和Nscan确定所述WBR中使用的选通器的数目;当所述WBR中使用的选通器的数目不为0时,至少根据所述确定每一选通器的插入位置和连接方式。
在一个可能的设计中,所述根据所述Wwpp和Nscan确定所述WBR中使用的选通器的数目包括:根据公式Nmux=N1+N2计算得到所述选通器的数目;其中,Nmux表示WBR中使用的选通器的数目,mux表示选通器;Wwpp=0时,N1=0,Wwpp≠0时,N1=Wwpp+2×Nscan;Nscan=0时,N2=0;Nscan≠0时,N2=1。
在一个可能的设计中,所述IP核功能端口信息包括IP核功能端口的方向、数目和排序;所述根据所述IP核功能端口信息确定WBR Cell的数目、排序和类型包括:根据所述IP核功能端口的数目确定WBR Cell的数目;根据所述IP核功能端口的排序确定所有WBR Cell的排序;根据所述IP核功能端口的方向确定各WBR Cell的类型。
在一个可能的设计中,所述测试壳扫描链包括测试壳输入端口链和测试壳输出端口链。
在一个可能的设计中,当Nscan≠0,Wwpp=0时,所述使用相应的连接方式插入每一选通器包括:将IP核内部的Nscan条扫描链串联成一条串行扫描链;将所述串行扫描链串联在所述测试壳输入端口链和所述测试壳输出端口链之间,并在所述测试壳输出端口链的第1个WBR单元的CTI处插入1个选通器。
在一个可能的设计中,当Nscan≠0,Wwpp≠0时,所述使用相应的连接方式插入每一选通器包括:将IP核内部的Nscan条扫描链串联成一条串行扫描链;
将所述串行扫描链串联在所述测试壳输入端口链和所述测试壳输出端口链之间;在所述测试壳输出端口链的第1个WBR单元的CTI处插入1个选通器;在第0,WBR单元的CTI处插入Wwpp个选通器;将IP核内部Nscan条扫描链和测试壳扫描链并行连接在测试壳并行输入端口和测试壳并行输出端口之间,以得到Nscan+1条并行扫描链;在IP核内部每条扫描链的SI和SO端口处分别插入1个选通器。
一种测试壳设计装置,包括:
获取单元,用于获取设计参数,所述设计参数包括IP核功能端口信息、IP核内部扫描测试信息、WBR Cell结构、测试壳并行访问宽度和并行外部测试时测试壳并行扫描链长度;其中,所述IP核内部扫描测试信息至少包括扫描链数目;
设计单元,用于根据所述设计参数确定所述测试壳的输入输出端口信息以及连接方式;所述输入输出端口信息至少包括WBR端口信息;所述WBR端口信息包括WBR Cell的数目、排序、类型,WBR中针对WBR Cell的控制信号端数目、WBR中使用的选通器的数目;所述连接方式至少包括每一WBR Cell的连接方式;当选通器的数目不为0时,所述连接方式还包括每一选通器的插入位置和连接方式;
连接单元,用于使用相应的连接方式完成每一WBR Cell的连接,将所有WBR Cell的移位路径首尾相连组成测试壳扫描链,以及,当选通器的数目不为0时,使用相应的连接方式插入每一选通器。
在本实施例中,可根据IP核功能端口信息、IP核内部扫描测试信息、WBR Cell结构、测试壳并行访问宽度和并行外部测试时测试壳并行扫描链长度等参数,自动进行WBR设计,进而完成测试壳的设计。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的WBR Cell的一种结构性示意图;
图2、8为本发明实施例提供的测试壳设计方法示例性流程图;
图3为本发明各实施例提供的WBR的对外端口示意图;
图4-7为本发明实施例提供的经设计方法设计后得到的WBR的结构示意图;
图9为本发明实施例提供的设计装置结构示例图。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结如下:
WBY:Wrapper Bypass Register,测试壳旁路寄存器;
WBR:Wrapper Boundary Register,测试壳边界寄存器;
WIR:Wrapper Instruction Register,测试壳指令寄存器;
WDR:Wrapper Data Register,测试壳数据寄存器;
WSP:Wrapper Serial Port,测试壳串行端口;
WPP:Wrapper Parallel Port,测试壳并行端口;
WSC:Wrapper Serial Control,测试壳串行控制;
WSI:Wrapper Serial Input,测试壳串行输入;
WSO:Wrapper Serial Output,测试壳串行输出;
WPC:Wrapper Parallel Control,测试壳并行控制;
WPI:Wrapper Parallel Input,测试壳并行输入;
WPO:Wrapper Parallel Output,测试壳并行输出;
CFI:Cell Functional Input,WBR Cell的功能输入;
CFO:Cell Functional Output,WBR Cell的功能输出;
CTI:Cell Test Input,WBR Cell的测试输入;
CTO:Cell Test Output,WBR Cell的测试输出;
WFI:Wrapper Functional Input,测试壳功能输入;
WFO:Wrapper Functional Output,测试壳功能输出;
CI:Core Input,IP核输入;
CO:Core Output,IP核输出;
SI:Scan Input,IP核内部扫描链扫描输入端口;
SO:Scan Output,IP核内部扫描链扫描输出端口;
SE:Scan Enable,IP核内部扫描链扫描使能端口;
TAM:Test Access Mechanism,测试访问机制。
前已述及,IP核测试壳结构由WBR、WBY、WIR、WSP和可选的WPP组成。
其中:
WBR是数据寄存器,用于提供测试激励和接收测试响应。
WBY是数据寄存器,在测试壳串行输入WSI和测试壳串行输出WSO之间提供一条支路。当没有其他数据寄存器可选的时候,它可以由当前的测试壳指令选择充当默认的数据寄存器,为其他IP核的测试提供一条测试数据快速通过的路径。
WIR用于控制测试壳的操作,测试壳指令寄存器通过WSI和WSC将指令串行地送入测试壳电路。并根据载入的指令决定当前的测试模式是外部测试模式(outward facingmode)还是内部测试模式(inward facing mode),决定访问方式是串行访问还是并行访问,决定被连接在测试壳串行输入WSI与测试壳串行输出WSO之间的寄存器是WIR、WBR还是WBY。最后,指令寄存器负责根据载入的指令产生测试壳控制信号来控制WBY的移位、WBR Cell的移位/捕获/更新/传输等操作、以及选通器的选择。
WSP是测试壳基本端口,用于测试壳寄存器中指令和数据输入输出,它由测试壳串行输入(WSI)、测试壳串行输出(Wrapper Serial Output,WSO)和测试壳并行控制(WSC)组成。WSC由6条强制信号线(WRSTN、WRCK、SelectWIR、ShiftWR、CaptureWR、UpdateWR)和2条可选信号线(TransferDR、AUXCK)组成。当SelectWIR有效时,WIR连接在WSI和WSO之间。当SelectWIR无效时,WBR或WBY连接在WSI和WSO之间。
WPP提供对测试壳的并行访问,它由测试壳并行输入(Wrapper Parallel Input,WPI)、测试壳并行输出(Wrapper Parallel Output,WPO)和测试壳并行控制(WrapperParallel Control,WPC)组成。它可以将串行测试壳扫描链分割成多条并行扫描链,节约测试时间。并行访问宽度越大,测试时间越短,但是所需的测试管脚资源也越多。
表1是几种常见WIR指令的描述。
针对不同IP核设计IEEE STD 1500测试壳时,测试壳结构各子模块的可复用情况分析如下:
WBY:结构简单,主要由移位寄存器组成,寄存器长度最短可以到1bit,可以完全复用。
WIR:结构规整,主要由移位寄存器、更新寄存器和译码逻辑组成,移位寄存器和更新寄存器长度与WIR指令集有关,译码逻辑除与测试壳所支持的WIR指令集有关外,还与所选定的WBR Cell结构有关,如果WIR指令集和WBR Cell结构保持不变,WIR可以完全复用。
WBR:结构多变,可复用情况与IP核功能端口信息(包括名称、方向、数目和排序)、IP核内部扫描链数目、测试壳并行访问方式(包括并行访问宽度和并行扫描链长度)有关。上述任意一个因素发生变化时,WBR都不可直接复用。
本发明在进行测试壳设计时,重点关注的是对WBR的设计。
IEEE STD 1500标准只定义两种WBR Cell类型:输入WBR Cell(input WBR Cell)和输出WBR Cell(output WBR Cell)。对于input WBR Cell,CFI和测试壳WFI相连,CFO和IP核CI相连,对于output WBR Cell,CFI和IP核CO相连,CFO和测试壳WFO相连。以图1所示WBRCell结构为例,同一WBR Cell,其CFI和测试壳WFI相连,CFO和IP核CI相连,则为input WBRCell,而如其CFI和IP核CO相连,CFO和测试壳WFO相连,则为output WBR Cell。
WBR中的所有WBR Cell的移位路径首尾相连组成测试壳扫描链,串行测试模式下,测试壳扫描链可连接在测试壳串行输入(WSI)和测试壳串行输出(WSO)之间,并行测试模式下测试壳扫描链可连接在测试壳并行输入(WPI)和测试壳并行输出(WPO)之间。
本发明实施例提出的测试壳设计方法可以根据IP核功能端口信息(包括名称、方向、数目和排序,不含时钟端口、复位端口、TAM端口和模拟端口)、IP核内部扫描测试信息(包括扫描测试端口信息和扫描链数目Nscan)、WBR Cell结构、测试壳并行访问宽度(Wwpp)和并行外部测试时测试壳并行扫描链长度等参数,自动进行WBR设计。
图2示出了上述测试壳设计方法的一种示例性流程,其可包括:
S201:获取设计参数。
更具体的,IP核功能端口信息可包括IP核功能端口的名称、方向(输入或输出)、数目和排序。例如,请参见图4-7,IP核功能端口的名称为A0、A1、A2、A3、B0、B1、B2、B3,共8个IP核功能端口。其中:A0-A3的方向为输入,B0-B3的方向为输出,端口排序为A0-A1-A2-A3-B3-B2-B1-B0。
IP核内部扫描测试信息至少包括扫描链数目Nscan。此外,IP核内部扫描测试信息还可包括扫描测试端口信息,例如,SI(IP核内部扫描链扫描输入端口)、SO(IP核内部扫描链扫描输出端口)和SE(IP核内部扫描链扫描使能端口)。扫描链数目Nscan是IP核本身的属性。请参见图6或图7,图6或图7所示的IP核的内部扫描链包含Scan chain 0和Scan chain1,则Nscan=2。
至于测试壳并行访问宽度Wwpp,需要说明的是,Wwpp取值可为0,在不为0时,Wwpp由设计者在测试时间和测试壳并行访问宽度之间折中决定,一般为了支持IP核内部扫描测试,要求Wwpp>=Nscan,可以取Wwpp=Nscan+1。
S202:根据上述设计参数确定测试壳的输入输出端口信息以及连接方式。
上述输入输出端口信息至少包括WBR端口信息。还可包括WSP端口信息和WPP端口信息。
进一步的,WBR端口信息可包括WBR Cell的数目、排序、WBR中针对WBR Cell的控制信号端数目、WBR中使用的选通器的数目。
而连接方式可包括每一WBR Cell的连接方式,例如:CFI和CFO的连接方式,CTI和CTO的连接方式。
当选通器的数目不为0时,上述连接方式还可包括每一选通器的插入位置和每一选通器的连接方式:例如,每一选通器的数据输入端的连接方式以及选择信号端的连接方式。
在本发明其他实施例中,上述步骤S202可具体包括如下步骤(A-E):
步骤A:根据上述IP核功能端口信息确定WBR Cell的数目、排序和类型。
前述提及了,IP核功能端口信息可包括IP核功能端口的名称、方向、数目和排序。
则具体的,步骤A可进一步包括:
1):可根据IP核功能端口的数目确定WBR Cell的数目;
例如,请参见图4-7,共8个IP核功能端口(A0、A1、A2、A3、B0、B1、B2、B3),由于每一IP核功能端口都要连接1个WBR Cell,则WBR Cell的数目也为8个。
2):可根据IP核功能端口的名称,确定各WBR Cell的命名;
仍请参见图4-7,8个IP核功能端口名称为A0、A1、A2、A3、B0、B1、B2、B3,则与之对应连接的WBR Cell可分别命名为wbr_A0~wbr_A3(在图4-7中以标号0-3简化表示),wbr_B0~wbr_B3(在图4-7中以标号7-4简化表示)。并且,wbr_A0~wbr_A3的CFI端和CFO端分以wbr_A0_cfi~wbr_A3_cfi、wbr_A0_cfo~wbr_A3_cfo表示,wbr_B0~wbr_B3的CFI端和CFO端分以wbr_B0_cfi~wbr_B3_cfi、wbr_B0_cfo~wbr_B3_cfo表示。
3):可根据IP核功能端口的排序确定所有WBR Cell的排序;
仍请参见图4-7,8个IP核功能端口的排序为A0-A1-A2-A3-B3-B2-B1-B0,则WBRCell的排序确定为:wbr_A0-wbr_A1-wbr_A2-wbr_A3-wbr_B3-wbr_B2-wbr_B1-wbr_B0。
4):根据IP核功能端口的方向确定各WBR Cell的类型。
仍请参见图4-7,IP核功能端口A0-A3方向为输入,则可确定,与之连接的wbr_A0~wbr_A3类型为input WBR cell。同理,IP核功能端口B3-B0方向为输出,则可确定,与之连接的wbr_B3~wbr_B0类型为output WBR cell。
步骤B:根据WBR Cell结构和类型确定WBR Cell的控制信号端数目。
如采用图1所示的WBR Cell结构,则每一个WBR Cell的控制信号端为2,所有WBRCell的控制信号端为4,其中,input WBR Cell的扫描使能信号端和保持使能信号端,以及,output WBR Cell的扫描使能信号端和保持使能信号端。
步骤C:根据WBR Cell的类型、排序和WBR结构,确定各WBR Cell的连接方式。
以WBR Cell的CFI和CFO的连接方式为例,仍请参见图4-7,wbr_A0~wbr_A3类型为input WBR cell,则其连接方式是:wbr_A0~wbr_A3的CFI端和测试壳的WFI相连,wbr_A0~wbr_A3的CFO端和IP核的CI相连(也即,wbr_A0~wbr_A3的CFO端分别连接IP核端口A0-A3)。
同理,仍请参见图4-7,wbr_B3~wbr_B0类型为outputWBR cell,因此,wbr_B3~wbr_B0的CFO端和测试壳WFO相连,wbr_A0~wbr_A3的CFI端和IP核CO相连(也即,wbr_B3~wbr_B0的CFI端分别连接IP核端口B3-B0)。
步骤D:根据Wwpp和Nscan确定WBR中使用的选通器的数目。
更具体的,可根据公式Nmux=N1+N2计算得到选通器的数目;其中,Nmux表示WBR中所使用的选通器的数目,mux表示选通器;Wwpp=0时,N1=0,Wwpp≠0时,N1=Wwpp+2×Nscan;Nscan=0时,N2=0;Nscan≠0时,N2=1。
还可以用公式Nmux=((Wwpp==0)?0:(Wwpp+2×Nscan))+((Nscan==0)?0:1)来计算。
例如,请参见图4所示测试壳,当Nscan=0,Wwpp=0,则Nmux=0。
再例如,请参见图5所示测试壳,当Nscan=0,Wwpp=2,则Nmux=((Wwpp==0)?0:(Wwpp+2×Nscan))+((Nscan==0)?0:1)=2。
再例如,请参见图6所示测试壳,当Nscan=2,Wwpp=0,则Nmux=((Wwpp==0)?0:(Wwpp+2×Nscan))+((Nscan==0)?0:1)=1。
再例如,请参见图7所示测试壳,当Nscan=2,Wwpp=3,则
Nmux=((Wwpp==0)?0:(Wwpp+2×Nscan))+((Nscan==0)?0:1)=8。
步骤E:当WBR中使用的选通器的数目不为0时,至少根据测试壳并行扫描链长度确定每一选通器的插入位置和连接方式。
选通器的连接方式可包括每一选通器的数据输入端的连接方式,以及每一选通器的选择信号端的连接方式。
S203:使用相应的连接方式完成每一WBR Cell的连接。
在本步骤中,主要完成每一WBR Cell的CFI、CFO的连接。其目的是使能功能路径,对于input WBR Cell来说,就是让WFI-CFI-CFO-CI通路连通,对于output WBR Cell来说,就是让CO-CFI-CFO-WFO通路连通。
此外,在步骤203中,还可先完成所有WBR Cell模块的例化,再使用相应的连接方式完成每一WBR Cell的CFI、CFO的连接。
在集成电路设计中,例化(instantiate),是指把子模块例化到上层模块中。例如,在模块A中包括子模块B和子模块C,则需要把子模块B和子模块C例化到模块A中,这样模块A才真正的具有一定的功能。
S204:将所有WBR Cell的移位路径首尾相连,使能移位路径,组成测试壳扫描链;
本步骤主要完成的是WBR Cell的CTI、CTO的连接。请参见图4-7,具体连接方式为:WSI→输入端口链→输出端口链→WSO。其中,输入端口链由wbr_A0~wbr_A3组成,输出端口链由wbr_B3~wbr_B0组成,它们一起组成测试壳扫描链。输入端口链由IP核输入端口对应的WBR Cell组成,输出端口链由IP核输出端口对应的WBR Cell组成,它们一起组成测试壳扫描链。
S205:当选通器的数目不为0时,使用相应的连接方式插入每一选通器。
可见,在本实施例中,可根据IP核功能端口信息、IP核内部扫描测试信息、WBRCell结构、测试壳并行访问宽度和并行外部测试时测试壳并行扫描链长度等参数,自动进行WBR设计,进而完成测试壳的设计。
请参见图3,图3示出了经本发明所提供的设计方法设计得到的WBR的对外端口(管脚),其可包括:
wbr_wrck端口:连接到测试壳时钟端口WRCK;
wbr_wrstn端口:连接到测试壳复位端口WRSTN;
wbr_wsi/wbr_wso端口:wbr_wsi连接到测试壳的WSI,wbr_wso输出后与wby_wso和wir_wso选通,然后连接测试壳的WSO;
wbr_wpi/wbr_wpo端口:wbr_wpi连接到测试壳的WPI,wbr_wpo连接到测试壳的WPO,wbr_wpi和wbr_wpo宽度等于Wwpp;
wbr_X_cfi/wbr_X_cfo端口:IEEE STD 1500规定IP核的每一个输入/输出端口(不含时钟端口、复位端口、TAM端口和模拟端口)都有1个WBR Cell,因此,对IP核的每一个输入/输出端口(端口名记为“X”)(不含时钟端口、复位端口、TAM端口和模拟端口),添加1个WBR Cell功能输入端口(wbr_X_cfi)和1个WBR Cell功能输出端口(wbr_X_cfo),全部wbr_X_cfi/wbr_X_cfo端口数目为(Ninput+Noutput)×2;以图4为例,wbr_X_cfi的端口数目为4,wbr_X_cfo的端口数目为4,则全部wbr_X_cfi/wbr_X_cfo端口数目为16。
wbr_ctrl端口:WBR Cell的控制信号端,与WBR Cell结构和WBR Cell类型(inputWBR Cell或output WBR Cell)有关,根据选定的WBR Cell结构,确定input WBR Cell和output WBR Cell的控制信号,例如,对于图1所示的WBR Cell结构,需要的控制信号端数目为4,包括input WBR Cell的扫描使能信号端、扫描保护信号端和output WBR Cell的扫描使能信号端、扫描保护信号端;WBR Cell的控制信号由WIR电路产生。
wbr_coreSO/wbr_coreSI:为了支持串行内部扫描测试和并行内部扫描测试,测试壳扫描链需要与IP核内部扫描链进行连接,因此,对IP核内部扫描链的每一个扫描输入/输出端口,WBR需要提供与之相连的扫描输出/输入端口,全部wbr_coreSO/wbr_coreSI端口数目为等于Nscan×2;需要说明的是,wbr_coreSO/wbr_coreSI端口对应图6和7中Scan chain0和Scan chain1的SO和SI端口,其中,wbr_coreSO是从IP核的SO到WBR,wbr_coreSI是从WBR到IP核的SI端。
wbr_sel端口:为选通器选择信号端口。选通器选择信号由WIR译码电路根据载入的WIR指令产生,且选通器选择信号的排序应与选通器的排序一致,即:wbr_sel[n]用于控制MUX_n,本方案选通器选择信号宽度等于WBR设计需要的选通器数目。选通器选择信号是多比特的,其比特数根据选通器数目而定。
需要说明的是,当Nscan=0,Wwpp=0时,不用执行上述步骤205(也即,不用插入选通器)。
实际上,Wwpp和Nscan是否等于0,可有四种组合,相应的,设计出的WBR也有四种:WBR_0至WBR_3,这四种WBR支持的指令集各不相同。下面将以更详细的例子,来介绍如何设计测试壳,尤其是WBR。
图8为本发明实施例提供的另一种测试壳设计方法的示例性流程。
步骤801-804与前述的S201-204相类似,在此不作赘述。
S805:判断Nscan=0是否成立,若成立,跳到S806;若不成立,跳到S810;
S806:判断Wwpp=0是否成立,若成立,跳到S807,若不成立,跳到S808。
S807:完成WBR_0设计。跳到S817,结束设计流程。
WBR_0支持的WIR指令集为:WS_INTEST、WS_EXTEST、WS_BYPASS。
需要说明的是,WBR-0设计中不需要计算选通器,Nscan=0,无法支持扫描测试,所以WS_INTEST_SCAN的指令也就没必要支持;而Wwpp=0,也就不用支持并行的内外部测试,所以,WP_EXTEST、WP_INTEST_SCAN、WP_INTEST指令都用不上,也就不用支持。
举例来讲,假定设计参数如下:
IP核功能端口信息:Ninput=4,端口名称为A0、A1、A2、A3,Noutput=4,端口名称为B0、B1、B2、B3,端口排序为A0-A1-A2-A3-B3-B2-B1-B0;
IP核内部扫描测试信息:Nscan=0;
WBR Cell结构如图1所示;
测试壳并行访问宽度:Wwpp=0;
测试壳并行扫描链长度:无。
则WBR的设计过程为:
S801->S802->S803->S804->S805->S806->S807->S817,需要的选通器数目为0,完成的WBR设计如图4所示,图4中粗线是测试访问路径。
S808:在测试壳扫描链中插入Wwpp个选通器(对应Nscan=0,Wwpp≠0)。
上述Wwpp个选通器用于在串行测试输入和并行测试输入之间选择。
选通器是一个三输入端器件,分别为:in0端,in1端和select端(选择信号端),可实现二选一的功能,select为1,输出等于1端输入,否则,输出等于0端输入。
假定上述Wwpp个选通器序号为0~Wwpp-1,则具体的连接方式包括:
令上述Wwpp个选通器的输出端与相应的WBR单元的CTI端相连接。
令上述Wwpp个选通器的in0端(可称为第一输入端)连接测试壳的WPI;
令上述第0个选通器的in1端(可称为第二输入端)连接测试壳的WSI;
令上述Wwpp个选通器的select端(可称为第三输入端)接选对应的选通器控制信号。需要说明的是,如果有n个选择器,则在WBR上会有n个控制信号输入端口,可称为wbr_sel[n-1:0]。
S809,完成WBR_1设计,跳到S817,结束设计流程。
WBR_1支持的WIR指令集为:WS_INTEST、WS_EXTEST、WP_INTEST、WP_EXTEST、WS_BYPASS。
举例来讲,假定设计参数如下:
IP核功能端口信息:Ninput=4,端口名称为A0、A1、A2、A3,Noutput=4,端口名称为B0、B1、B2、B3,端口排序为A0-A1-A2-A3-B3-B2-B1-B0;
IP核内部扫描测试信息:Nscan=0;
WBR Cell结构如图1所示;
测试壳并行访问宽度:Wwpp=2;
测试壳并行扫描链长度:{L1,L2}={4,4}。
WBR设计步骤为:
S801→S802→S803→S804→S805→S806→S808→S809→S817,需要的选通器数目为2。这2个选通器(在图5中以圆形虚线框框出来)分别位于Cell0,Cell4的CTI端,图5中粗线是串行测试访问路径。
S810,将IP核内部Nscan条扫描链串联成1条串行扫描链。
更具体的,将各条扫描链首尾相连即可。如何串联是现有技术,在此不作赘述。例如,请参见图6和图7,是将Scan chain1的SO与Scan chain0的SI相连,组成串行扫描链。该串行扫描链的SI即为Scan chain1的SI,该串行扫描链的SO即为Scan chain0的SO。
S811,将IP核内部串行扫描链串联在测试壳输入端口链和测试壳输出端口链之间,并在测试壳输出端口链的第1个WBR cell处插入1个选通器(序号为Wwpp)。
前述提及的测试壳扫描链包括测试壳输入端口链和测试壳输出端口链,更具体的,input WBR cell的移位路径首尾相连,组成测试壳输入扫描链,而output WBR cell的移位路径首尾相连,组成测试壳输出扫描链。请参见图6和图7,第0-3WBR cell的移位路径首尾相连,组成测试壳输入扫描链,第4-7WBR cell的移位路径首尾相连,组成测试壳输出扫描链。
具体的,请参见图6和图7,该选通器插在测试壳输出端口链的第1个WBR cell(即cell4)的CTI端,其中,选通器的输出端连接测试壳输出端口链的第1个WBR cell的CTI端,该选通器的in1端(可称为第二输入端)连接IP核内部串行扫描链的SO端(也即Scan chain0的SO),该选通器的in0端(可称为第一输入端)连接测试壳输入端口链的CTO端。这样的连接方式可令选通器在IP核内部串行扫描链的SO和测试壳输入端口链的CTO之间选择。
此外,还要完成该选通器的相应信号连接:sel端(可称为第三输入端)连到wbr_sel[Wwpp],被wbr_sel[Wwpp]驱动。wbr_sel[Wwpp]表示第Wwpp个wbr_sel控制信号输入端口,当指令为WS_INTEST_SCAN时,wbr_sel[Wwpp]为1;当指令为WS_EXTEST时,wbr_sel[Wwpp]为0。
S812,判断Wwpp=0是否成立,若成立,进入S813,否则,进入S814;
S813,完成WBR_2设计,跳到S817,结束设计流程。
WBR_2支持的WIR指令集为:WS_INTEST_SCAN、WS_EXTEST、WS_BYPASS。
举例来讲,假定设计参数如下:
IP核功能端口信息:Ninput=4,端口名称为A0、A1、A2、A3,Noutput=4,端口名称为B0、B1、B2、B3,端口排序为A0-A1-A2-A3-B3-B2-B1-B0;
IP核内部扫描测试信息:Nscan=2;
WBR Cell结构如图1所示;
测试壳并行访问宽度:Wwpp=0;
测试壳并行扫描链长度:无。
WBR设计步骤为:
S801→S802→S803→S804→S805→S810→S811→S812→S813→S817,需要的选通器数目为:1。
完成的WBR设计如图6所示,图6中粗线是串行内部测试访问路径。
S814,在测试壳扫描链中插入Wwpp个选通器。
具体如何插入请参见前述步骤S808,在此不作赘述。
针对于图7所示的WBR设计,在步骤S814中完成的是在cell0、cell3、cell5的CTI处插入的选通器。
S815,将IP核内部Nscan条扫描链和测试壳扫描链并行连接在WPI和WPO之间,得到Nscan+1条并行扫描链,并在IP核内部扫描链的SI和SO端插入Nscan×2个选通器(也即,在IP核内部每条扫描链的SI和SO端口处分别插入1个选通器),并完成相应信号连接。
更具体的,是在IP核内部Nscan条扫描链和测试壳扫描链的SI/SO之前先插入选通器,再分别连接到WPI/WPO(SI连接WPI,SO连接WPO)。
上述Nscan×2个选通器用于在串行内部测试、并行内部测试和并行外部测试之间选择。
其中,在IP核内部每条扫描链的SI端插入的选通器的in1端(第二输入端)接串行测试输入接口(例如,前一扫描链的SO端或cellinput-1的CTO),in0端(第一输入端)接WPI。
例如,请参见图7,在scan chain 1的SI端插入的选通器,其in1端接cell3的CTO端,in0端接WPI,输出端接scan chain 1的SI端。
而在IP核内部Nscan每条扫描链的SO端插入的Nscan个选通器,其in1端接测试壳扫描链的的CTO,in0端接相应IP核内部扫描链的SO端,输出接WPO。
请参见图7,在scan chain 0的SO端插入的选通器,其in1端接cell2的CTO端,in0端接scan chain 0的SO端,输出端接WPO。
在scan chain 1的SI端插入的选通器,其in1端接cell4的CTO端,in0端接scanchain 1的SO端,输出端接WPO。
S816,完成WBR_3设计,跳到S817,结束设计流程。
WBR_3支持的WIR指令集为:WS_INTEST_SCAN、WS_EXTEST、WP_INTEST_SCAN、WP_EXTEST、WS_BYPASS。
举例来讲,假定设计参数如下:
IP核功能端口信息:Ninput=4,端口名称为A0、A1、A2、A3,Noutput=4,端口名称为B0、B1、B2、B3,端口排序为A0-A1-A2-A3-B3-B2-B1-B0;
IP核内部扫描测试信息:Nscan=2;
WBR Cell结构如图1所示;
测试壳并行访问宽度:Wwpp=3;
测试壳并行扫描链长度:{L1,L2,L3}={3,2,3};
WBR设计步骤为:
S801→S802→S803→S804→S805→S810→S811→S812→S814→S815→S816→S817,需要的选通器数目为8。
如图7,将上述8个选通器分别依据S811、S814和S815所提供的方式插入,图7中粗线是串行内部测试访问路径。
需要注意的是,测试壳并行扫描链长度是根据Nscan来决定测试壳扫描链分割方式:当Nscan≠0时,决定并行外部测试模式的测试壳扫描链分割方式(本方案并行内部测试模式下测试壳扫描链不分割,如图7所示);当Nscan=0时,同时决定并行内部测试模式和并行外部测试模式的测试壳扫描链分割方式,如图5所示。
S817,结束参数化WBR设计。
本发明实施例还要求保护测试壳设计装置,图9示出了上述装置的一种示例性结构,包括:
获取单元1,用于获取设计参数。
其中,设计参数包括IP核功能端口信息、IP核内部扫描测试信息、WBR Cell结构、测试壳并行访问宽度和并行外部测试时测试壳并行扫描链长度;其中,所述IP核内部扫描测试信息至少包括扫描链数目;
具体内容请参见本文前述记载,在此不作赘述。
设计单元2,用于根据上述设计参数确定测试壳的输入输出端口信息以及连接方式;
具体内容请参见本文前述记载,在此不作赘述。
连接单元3,用于使用相应的连接方式完成每一WBR Cell的连接,将所有WBR Cell的移位路径首尾相连组成测试壳扫描链,以及,当选通器的数目不为0时,使用相应的连接方式插入每一选通器。
具体内容请参见本文前述记载,在此不作赘述。
结合本发明公开内容所描述的方法或者算法的步骤,或者上述装置的单元模块可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种测试壳设计方法,其特征在于,包括:
获取设计参数,所述设计参数包括IP核功能端口信息、IP核内部扫描测试信息、WBRCell结构、测试壳并行访问宽度Wwpp和并行外部测试时测试壳并行扫描链长度其中,所述IP核内部扫描测试信息至少包括扫描链数目Nscan;所述WBRCell表示测试壳边界寄存器单元;
根据所述设计参数确定所述测试壳的输入输出端口信息以及连接方式;所述输入输出端口信息至少包括WBR端口信息;所述WBR端口信息包括WBR Cell的数目、排序、类型,WBR中针对WBR Cell的控制信号端数目、WBR中使用的选通器的数目;所述连接方式至少包括每一WBR Cell的连接方式;当选通器的数目不为0时,所述连接方式还包括每一选通器的插入位置和连接方式;所述WBR表示测试壳边界寄存器;
使用相应的连接方式完成每一WBR Cell的连接;
将所有WBR Cell的移位路径首尾相连,组成测试壳扫描链;
当选通器的数目不为0时,使用相应的连接方式插入每一选通器。
3.如权利要求2所述的方法,其特征在于,所述根据所述Wwpp和Nscan确定所述WBR中使用的选通器的数目包括:
根据公式Nmux=N1+N2计算得到所述选通器的数目;其中,Nmux表示WBR中使用的选通器的数目,mux表示选通器;Wwpp=0时,N1=0,Wwpp≠0时,N1=Wwpp+2×Nscan;Nscan=0时,N2=0;Nscan≠0时,N2=1。
4.如权利要求3所述的方法,其特征在于,
所述IP核功能端口信息包括IP核功能端口的方向、数目和排序;
所述根据所述IP核功能端口信息确定WBR Cell的数目、排序和类型包括:
根据所述IP核功能端口的数目确定WBR Cell的数目;
根据所述IP核功能端口的排序确定所有WBR Cell的排序;
根据所述IP核功能端口的方向确定各WBR Cell的类型。
6.如权利要求4所述的方法,其特征在于,
所述测试壳扫描链包括测试壳输入端口链和测试壳输出端口链。
7.如权利要求6所述的方法,其特征在于,当Nscan≠0,Wwpp=0时,所述使用相应的连接方式插入每一选通器包括:
将IP核内部的Nscan条扫描链串联成一条串行扫描链;
将所述串行扫描链串联在所述测试壳输入端口链和所述测试壳输出端口链之间,并在所述测试壳输出端口链的第1个WBR单元的测试输入处插入1个选通器。
8.如权利要求6所述的方法,其特征在于,当Nscan≠0,Wwpp≠0时,所述使用相应的连接方式插入每一选通器包括:
将IP核内部的Nscan条扫描链串联成一条串行扫描链;
将所述串行扫描链串联在所述测试壳输入端口链和所述测试壳输出端口链之间;
在所述测试壳输出端口链的第1个WBR单元的测试输入处插入1个选通器;
将IP核内部Nscan条扫描链和测试壳扫描链并行连接在测试壳并行输入端口和测试壳并行输出端口之间,以得到Nscan+1条并行扫描链;
在IP核内部每条扫描链的扫描输入端口和扫描输出端口处分别插入1个选通器。
9.一种测试壳设计装置,其特征在于,包括:
获取单元,用于获取设计参数,所述设计参数包括IP核功能端口信息、IP核内部扫描测试信息、WBR Cell结构、测试壳并行访问宽度和并行外部测试时测试壳并行扫描链长度;其中,所述IP核内部扫描测试信息至少包括扫描链数目;所述WBR Cell表示测试壳边界寄存器单元;
设计单元,用于根据所述设计参数确定所述测试壳的输入输出端口信息以及连接方式;所述输入输出端口信息至少包括WBR端口信息;所述WBR端口信息包括WBR Cell的数目、排序、类型,WBR中针对WBR Cell的控制信号端数目、WBR中使用的选通器的数目;所述连接方式至少包括每一WBR Cell的连接方式;当选通器的数目不为0时,所述连接方式还包括每一选通器的插入位置和连接方式;所述WBR表示测试壳边界寄存器;
连接单元,用于使用相应的连接方式完成每一WBR Cell的连接,将所有WBR Cell的移位路径首尾相连组成测试壳扫描链,以及,当选通器的数目不为0时,使用相应的连接方式插入每一选通器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610289656.9A CN107345999B (zh) | 2016-05-04 | 2016-05-04 | 测试壳设计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610289656.9A CN107345999B (zh) | 2016-05-04 | 2016-05-04 | 测试壳设计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107345999A CN107345999A (zh) | 2017-11-14 |
CN107345999B true CN107345999B (zh) | 2020-01-31 |
Family
ID=60253132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610289656.9A Active CN107345999B (zh) | 2016-05-04 | 2016-05-04 | 测试壳设计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107345999B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729191B (zh) * | 2016-08-10 | 2020-06-30 | 中国科学院微电子研究所 | 测试图形翻译方法及芯核测试壳装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101982788A (zh) * | 2010-09-30 | 2011-03-02 | 哈尔滨工业大学 | 基于ieee1500标准的ip核测试传输组件及其控制方法 |
CN102279296A (zh) * | 2011-06-21 | 2011-12-14 | 哈尔滨工业大学 | SOCs测试封装扫描信号输入单元和扫描结果输出单元 |
CN102332306A (zh) * | 2011-07-15 | 2012-01-25 | 桂林电子科技大学 | 基于ieee 1500的嵌入式sram存储器测试结构及测试方法 |
CN103279405A (zh) * | 2013-05-30 | 2013-09-04 | 南京航空航天大学 | 适用于片上网络嵌入式ip核的测试壳 |
CN105203946A (zh) * | 2015-10-30 | 2015-12-30 | 中国科学院微电子研究所 | 一种嵌入式芯核测试壳装置及其设计方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155646B2 (en) * | 1999-02-10 | 2006-12-26 | Texas Instruments Incorporated | Tap and test controller with separate enable inputs |
US6877122B2 (en) * | 2001-12-21 | 2005-04-05 | Texas Instruments Incorporated | Link instruction register providing test control signals to core wrappers |
-
2016
- 2016-05-04 CN CN201610289656.9A patent/CN107345999B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101982788A (zh) * | 2010-09-30 | 2011-03-02 | 哈尔滨工业大学 | 基于ieee1500标准的ip核测试传输组件及其控制方法 |
CN102279296A (zh) * | 2011-06-21 | 2011-12-14 | 哈尔滨工业大学 | SOCs测试封装扫描信号输入单元和扫描结果输出单元 |
CN102332306A (zh) * | 2011-07-15 | 2012-01-25 | 桂林电子科技大学 | 基于ieee 1500的嵌入式sram存储器测试结构及测试方法 |
CN103279405A (zh) * | 2013-05-30 | 2013-09-04 | 南京航空航天大学 | 适用于片上网络嵌入式ip核的测试壳 |
CN105203946A (zh) * | 2015-10-30 | 2015-12-30 | 中国科学院微电子研究所 | 一种嵌入式芯核测试壳装置及其设计方法 |
Non-Patent Citations (2)
Title |
---|
An analysis of the design processes required for the technology conversion of SoC intellectual property;J. Nash;《Proceedings of the IEEE 2000 Custom Integrated Circuits Conference》;20000524;全文 * |
基于IEEE 1500的数字SOC测试系统的设计与实现;陈寿宏,等;《计算机测量与控制》;20130525;第21卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107345999A (zh) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7373432B2 (en) | Programmable circuit and related computing machine and method | |
CN112805577B (zh) | 芯片、芯片测试方法及电子设备 | |
US8677196B1 (en) | Low cost production testing for memory | |
US7313730B1 (en) | Configuration logic for embedded software | |
US8539293B2 (en) | Integrated circuit for compression mode scan test | |
US20180081775A1 (en) | Test unit and test method for efficient testing during long idle periods | |
US10591537B2 (en) | Sleek serial interface for a wrapper boundary register (device and method) | |
US20210374023A1 (en) | Flexible interface | |
US20060149958A1 (en) | Code download in a system having multiple integrated circuits with a jtag capability | |
CN107345999B (zh) | 测试壳设计方法及装置 | |
WO2014048338A1 (en) | Method for testing broadside path delay fault of digital combination integrated circuit | |
WO2017112219A1 (en) | Chip fabric interconnect quality on silicon | |
CN109196481B (zh) | 集成电路及其操作方法 | |
US7725304B1 (en) | Method and apparatus for coupling data between discrete processor based emulation integrated chips | |
CN109960866B (zh) | 信号处理方法、验证方法及电子设备 | |
CN107345997B (zh) | 一种基于测试壳的ip核测试方法 | |
US6463562B1 (en) | Semiconductor device including macros and its testing method | |
US8904249B2 (en) | At speed testing of high performance memories with a multi-port BIS engine | |
CN113589154A (zh) | 一种边界扫描电路 | |
CN109344018A (zh) | 多核cpu测试方法、装置、计算机设备和存储介质 | |
US9164770B2 (en) | Automatic control of multiple arithmetic/logic SIMD units | |
CN215867001U (zh) | 一种边界扫描电路 | |
JP2004077356A (ja) | スキャンチェーン回路、スキャンチェーン構築方法およびそのプログラム | |
US20160161544A1 (en) | Testing of semiconductor devices | |
CN116151187B (zh) | 处理触发条件的方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |