admin管理员组

文章数量:1531463

2023年12月28日发(作者:)

基于IEEE Std 1500标准的SOC可测性设计研究

周银;周浔;陈圣俭;王月芳

【摘 要】he technology of IP core based on SOC design is widely used,

which is attribute to the rapid development of deep submicron meter

manufacture technology and design technology of integrated circuit.

Because of the fact that IP cores usually come from different providers and

the incompatibility of interface between IP core providers and core users

and aims at improving ease of test reuse and test integration with respect

to the core based SOC. 1500 standard for embedded core test is presented

to solve this problem. The detail includes the test architecture, usage of

this standard and core test description language.%集成电路深亚微米制造技术和设计技术的迅速发展,使得基于IP核复用的SOC设计技术得到越来越广泛的应用,但由于IP核的来源不同,设计标准的不兼容等因素,使得SOC的测试变得越来越困难;IEEE为解决SOC的测试问题提出了嵌入式芯核测试标准IEEE Std 1500,致力于建立标准化的IP核供应商和用户之间的测试接口,简化核测试信息的复用;文章详细介绍了IEEE Std 1500标准的测试架构,使用方法和核测试描述语言CTL,同时给出标准中提出的SOC可测性设计方法.

【期刊名称】《计算机测量与控制》

【年(卷),期】2012(020)005

【总页数】4页(P1190-1193)

【关键词】SOC;IEEE Std 1500;IP核;边界扫描;测试

【作 者】周银;周浔;陈圣俭;王月芳

【作者单位】装甲兵工程学院控制工程系,北京100072;装甲兵工程学院控制工程系,北京100072;装甲兵工程学院控制工程系,北京100072;装甲兵工程学院信息工程系,北京10072

【正文语种】中 文

【中图分类】TP331.1

0 引言

随着半导体工艺、集成电路深亚微米制造技术和设计技术的迅速发展,片上系统

(System on chip,SOC)的设计已成为业界主流,SOC就是指在单一芯片上实现信号采集、转换、存储、处理和I/O接口等功能[1]。SOC的规模通常都比较大,其组成中大量使用可复用的嵌入式模块 (或称为IP核),一般既包括数字部分,也包括模拟部分。

SOC的设计特点和它的复杂度,给测试带来了很大的挑战,对它的测试不能像测试小规模芯片那样作为一个整体进行。通常的方法是对SOC芯片上的各个模块分别进行测试。但是SOC芯片包含相当数量功能复杂的模块,测试它们的可观性和可控性将成为测试的主要问题[2]。1995年,IEEE计算机学会的测试技术学会

(TTTC,Test Technology Technical Council)就开始了对嵌入式芯核的测试问题的研究,并于1997年建立了嵌入式核测试工作组 (The Embedded Core

Test Group),被授权制订对包含嵌入式芯核集成电路的测试标准,即IEEE Std

1500标准,该标准于2005年8月正式发布。标志着测试技术进入新的历程。

1 SOC测试的难点

SOC使集成电路设计分为两个部分,IP核的设计和SOC的集成。IP核是设计者提供的具有特定功能和相关参数描述的模块,而SOC集成者利用它们和用户自定义逻辑 (UDL)集成在一起,实现既定的功能。

从SOB和SOC的整体设计来看,IP核与片上系统(SOC)的关系类似于板载芯片与PCB的关系,但它们在测试方面,两者还是有着本质区别。如图1所示,SOB(板上系统)的设计分为IC设计和SOB集成,相应的测试也分为IC测试和SOB测试,IC提供方和系统设计集成方分别独立的完成设计和测试工作,也就是说SOB中的IC是经制造生产和测试后的实体[3]。而对于SOC (片上系统)测试,由于IP核只是预先被设计出来而没有被制造出来,购买一个IP核所得到的只是一些设计数据,而不是实际芯片。IP设计者只能保证他所设计的IP通过设计验证,却不能保证IP核在SOC中集成以后能通过测试,这跟SOC的具体设计有很大关系。SOC集成者要完成包括IP核在内的整个芯片的测试方案。出于对IP核知识产权的保护,集成者往往不能或只能获得很少关于IP内部信息,因此,SOC测试较传统的SOB测试而言,更加复杂,也更具挑战性。

另一方面,在SOC的设计中,每个IP核都内嵌在芯片中,因此无法通过芯片外面的引脚来对内核的所有端点进行完全观测和控制。所能掌握的就是个别IP核设计的测试信息,以及测试仪器所控制的芯片对外的输入输出端。而且系统中的某些模块 (如第三方提供的IP核)可能会应用不同的可测性设计(DFT)方法,甚至不包含任何的测试结构,而且不同厂家采用的不同设计标准和测试标准也使系统集成后的测试趋于复杂。

因此,需要寻求一个测试机制,能够通过芯片外部管脚实现对内部IP核端点状态的可观及可控,同时能够实现对IP核的电气隔离的功能。这3个方面也正是IEEE

Std 1500所要重点解决的问题。

图1 SOB与SOC测试流程比较

2 IEEE Std 1500标准的基本原理

20世纪90年代,IEEE成功发布了IEEE 1149.1边界扫描测试标准,在芯片内部插入边界扫描单元后,大幅提高了SOB系统的可测性,如今这种方式被推广应用于SOC的IP核测试中,形成了IEEE Std 1500标准。IEEE Std 1500标准和1149.1标准在测试思路上有许多相似之处,但着重的层次略有不同,1149.1标准着重于描述一个测试结构和访问机制,以完成对电路板上元件的测试[4];而1500标准采用了相似的结构来对SOC内IP核进行测试,它着重于规范IP核供应商与用户之间的测试接口,从而利于IP核测试在系统级的复用,如图2所示,wrapper既是IP核级的标准化接口的硬件部分,它大大增强了不同类型IP核的交互能力,而对系统级的TAM(测试访问机制)、Source(测试矢量源)和sink(测试响应宿)1500标准仅给出了一些概念性的设计指导,并未规范其具体实现,具有很强的灵活性;在软件部分,1500标准定义了一种标准核测试语言CTL(core test language),用于描述核测试的各种相关信息[5]。

图2 IEEE Std 1500wrapper结构图

2.1 测试核wrapper的结构

IEEE Std 1500标准定义的wrapper结构是环绕在IP核周围的外壳,它为IP核的测试提供了一个标准化的测试接口,它主要由外壳串行访问端口WSP(WSI/WSO/WSC)、外壳并行访问端口 WPP (WPI/WPO)、外壳旁路寄存器

(WBY)、外壳边界扫描寄存器 (WBR)和外壳指令寄存器 (WIR)组成。该结构的组成类似于1149.1标准中的边界扫描结构。通过这些定义的wrapper结构,即可在测试指令作用下,实现对IP核端口的隔离、状态观测与控制[6]。

2.1.1 外壳边界扫描寄存器 (WBR)

外壳边界扫描寄存器是IEEE Std 1500标准中wrapper结构的重要组成部分,它能够实现测试激励的施加和测试响应的捕获,完成对IP核管脚的隔离、状态观测

与控制。标准并没有规定WBR统一的设计方法,针对不同的工程需求可灵活进行设计。其单元框图如图3所示,图中标出了必须包含的数据线,分别为:CTO、CTI、CFO、CFI,控制信号未在图中标出。当WBR作为输入单元时,CFI信号由外壳功能输入端 (WFI)提供,CFO则为核心逻辑 (Core input)提供输入;当WBR作为输出单元时,CFI信号由核心逻辑输出端 (Core output)提供,CFO则为外壳功能输出端 (WFO)提供输入。控制信号由指令寄存器 (WIR)提供。多个WBR的CTO与CTI的相互连接构成了外壳边界扫描寄存器移位链路 (WBR

shift path),在一个系统中,为提高测试效率,可以设计多条移位链路。

图3 外壳边界扫描寄存器 (WBR)单元

IEEE Std1500标准为WBR定义了5类事件:Shift event、Capture event、Update event、Transfer event和 Apply;4种工作模式:Normal mode、Inward facing(IF)mode、Outward facing(OF)mode和Nonhazardous

mode。其中,Normal mode是正常工作模式,指WBR对系统正常工作不产生任何影响,但仍能执行Shift、Capture、Transfer事件;IF mode和OF mode都是测试模式,IF mode表示WBR用于控制核心逻辑的输入并观测核心逻辑的输出,OF mode表示WBR用于控制外壳功能输出 (WFO)并观测外壳功能输入

(WFI);在Nonhazardous模式时,核心逻辑输入端和外壳功能输出端的数据在WBR控制下被保存。为进一步提高测试效率,IEEE Std 1500标准还为WBR定义了并行访问端口作为测试专用通道。

2.1.2 外壳旁路寄存器 (WBY)

WBY是用于旁路其它数据寄存器的寄存器,在WSI与WSO之间提供一条快速的数据通道,提高了测试效率。IEEE Std 1500标准规定wrapper结构必须拥有WBY单元。当WIR中的测试指令为 WS_BYPASS、WS_CLAMP或者 WS_SAFE时,都应选择 WBY;当没有其它数据寄存器 (WDR)可选时,也应选择

WBY充当默认的数据寄存器。

图4 外壳旁路寄存器 (WBY)

WBY至少由一位串行移位寄存器 (serial shift register)构成,为尽量缩短移位路径,优先选择一位,但根据设计需求,也可设计成多为的WBY。控制信号由WSC和WIR提供,具体根据WBY的设计而定。WBY框图如图4所示,WBY的移位过程发生在WRCK的上升沿,WRCK是IEEE Std 1500标准中的时钟信号,相当于1149.1标准中的TCK,ShiftWBY信号由WIR提供。

2.1.3 外壳指令寄存器 (WIR)

外壳指令寄存器WIR首先通过WSI接收串行输入的指令信号,译码后产生相应的控制信号对WBR、WBY和WDR等进行操作,使测试壳wrapper处于不同的工作模式,实现对IP核的测试。WIR结构框图如图5所示,它主要由三部分构成:串行移位寄存器、指令译码逻辑和相应的更新寄存器。从图中可以看出,WSC提供了6路控制信号用于对WIR进行控制,分别是:外壳寄存器移位ShiftWR、外壳寄存器捕获CaptureWR、外壳寄存器选择SelectWIR、外壳寄存器更新UpdateWR、时钟信号WRCK和复位信号WRSTN。WSI为指令串行输入端,WIR_WSO为指令串行输出端;还有可选的指令并行捕获端。测试指令经译码并更新后,产生相应的控制信号对WBR、WBY等其它一些数据寄存器和对核心逻辑的工作模式进行操作。

图5 外壳指令寄存器 (WIR)

WIR的动作由WSP端口信号控制,从指令的加载、译码到更新都必须遵守规范的操作协议,WIR时序关系图如图6所示。从图中可以看出,所有的控制信号都是在测试壳时钟WRCK的同步下进行,当SelectWIR有效时,WIR被选中在WSI和WSO之间,当ShiftWR有效时,数据将在WRCK的上升沿从WSI串行移入,移位完成后ShiftWR变成无效的低电平,此时,测试指令被寄存在WIR中,暂时

不影响当前的测试壳状态,直到UpdateWR有效,在WRCK的下降沿指令被译码并存放到更新寄存器中,同时,译码信号将对WBR、WBY和多路选择器等进行控制,实现对测试的控制。

图6 WIR时序关系图

2.2 测试壳指令集

IEEE Std 1500标准定义了11条指令,其中3条必选指令,一条需根据设计情况决定是否为必选指令,其它7条为可选指令。下面主要对必选指令进行介绍。

(1)WS_BYPASS指令

该指令允许嵌入式芯核 (IP)处于正常工作模式,并选择WBY连接在WSI和WSO之间,在测试壳中提供一条最短的测试移位路径,在执行指令过程中,不影响芯核的正常运行。该指令的二进制代码可由Wrapper设计者进行定义。

(2)WS_EXTEST指令

该指令用于实现对嵌入式芯核 (IP)、用户自定义逻辑(UDL)等之间的外围电路进行互联测试,当执行该指令时,仅有WBR数据寄存器作为串行访问端连接在WSI和WSO之间,此时,WBR工作在OF模式,芯核处于复位或者保持状态。在WFO上外壳边界单元用于施加测试激励,而在测试壳输入端口的单元则用于捕获测试结果。由此完成互联测试。该指令的二进制代码可由Wrapper设计者进行定义。

(3)Wx_INTEST指令

该指令可实现对嵌入式芯核 (IP)的内部逻辑测试。Wx_INTEST指令包含了

WS_INTEST_RING指令和 WS_INTEST_SCAN指令,WS_INTEST_RING和 WS_INTEST_SCAN均为可选指令,其中,当在WSI和WSO之间的单一扫描链路上包含一个内部扫描链则用WS_INTEST_SCAN指令,而当WSI和WSO之间仅有一条外壳扫描链时则用WS_INTEST_RING指令。当执行该指令

时,WBR工作在IF模式,对芯核的操作不能影响到其外部电路的工作,所有的WFO端口需被置于保存或静态的状态。其二进制代码可由Wrapper设计者进行定义。

以上是设计者必须进行定义的3条必选指令,它们可实现对芯核的内部逻辑测试和互联测试。为完善对SOC的测试,IEEE Std 1500中定义了其它的一些测试指令如表1所示。

表1 测试指令指令 要求 说明WS_BYPASS 必选 正常工作模式,测试壳被旁路WS_EXTEST 必选 外测试模式,在WBR中使用单一链路配置WP_EXTEST 可选 外测试模式,在WBR中使用多条链路配置Wx_EXTEST 可选 用户自定义外测试指令 (互联测试)WS_SAFE 可选芯核进入安静模式,所有的输出管脚输出预先定义的静态数据,WBR被旁路WS_CLAMP 可选PRELOAD _PRELOAD 条件必选 为WBR的单一silent shift path加所有的输出管脚输出可设计的静态数据,测试壳被旁路,Preceded by a Wx_载数据WP_PRELOAD

可选 为WBR的多条silent shift path加载数据WS_INTEST_RING 可选 在WBR中使用单一链路配置进行内测试WS_INTEST_SCAN 可选 通过一条内部链接的测试壳进行内测试Wx_INTEST 必选 用户自定义的核心逻辑测试指令

2.3 核测试描述语言CTL

CTL是专为1500标准定制的一套嵌入式芯核测试描述语言,用来描述芯核的测试信息,它的特点是人机可读,可将测试信息从IP设计者传达给SOC集成者,由SOC集成者通过CTL所描述的芯核信息来完成对SOC的测试。CTL是IEEE 1450(standard test interface language,STIL)的扩展,它们语法类似,具体详细的书写规范及规则可参考IEEE P1450.6标准[7]。一般来讲,CTL可用于描述的内容包括:测试图样、测试方法及测试信号时序;不同测试模式间的测试数据、信号属性及连接方式;核集成到SOC中的连接方式等。

3 结束语

在目前的SOC测试当中,通常采用的是多种方法的组合,如全扫描测试、功能测试、逻辑BIST和RAM BIST等。而IEEE Std 1500标准通过为嵌入式芯核 (IP核)添加标准的测试接口、制定了统一的测试访问机制,很好地解决了对嵌入式芯核的测试访问、测试控制和观测等问题。使得对SOC中IP核的测试变得更加容易可行。同时可扩展的测试壳结构和测试集成方法的任意性,又为SOC的可测性设计保留了足够的灵活空间。只有有效地解决了SOC的测试问题,才能进一步促进国内SOC产业的发展。

【相关文献】

[1]IEEE Std 1500,IEEE Standard Testability Method for Embedded Core-Based

Integrated Circuits [S].2005.

[2]Erik Jan Marinissen,et IEEE P1500's standard for embedded core test[J].Journal of Electronic Testing:Theory and Applications,2002,18 (4/5):365-383.

[3]Kapur R,Lousberg M,Taylor the Language for Describing Core-Based Test[A].ITC International Test Conference [C].2001:131-139.

[4]陈圣俭,周 银,李 坤.基于SOPC高速边界扫描主控器设计[J].计算机测量与控制,2011,19 (10):2410-2412.

[5]Marinissen of IEEE P1500Core Wraper cal report,DAC03 [R].Anaheim:2003.

[6]吴 超,王 红,杨士元.基于复用的SOC测试集成和IEEE P1500标准 [J].微电子学,2005,(3):240-244.

[7]杨 鹏,邱 静,刘冠军.嵌入式芯核测试标准IEEE Std 1500综述 [J].测控技术,2006,25

(8):40-43.

本文标签: 测试设计指令标准控制