传统电路板的设计方法SoB(System on Board)与现在开发中的SoC(System on chip;系统单晶片)设计方法十分类似,同样是整合事先设计好的IP Core(个别设计的电路,功能不一),但是在做系统的整合测试时,却有基本上的差异。
在SoB设计方法中,是将各IP Core 晶片分别生产出来,再整合成系统,所以可以针对每颗IP Core 晶片,个别测试其硬体层级的电路功能;但是在SoC的整合过程中则不是这样,因为SoC强调的就是单晶片的观念,在此系统晶片生产之前,个别的IP Core与UDL(User-Defined Logic)并不会有实际的硬体产生,因此只能做软体层级的验证,无法对个别的IP Core做硬体层级的电路测试,只有等到SoC生产的时候,与整个系统同时进行测试。因此IP Core的供应者只提供测试的方法与测试资料,而SoC的设计者却必须负责系统的整合,并将各个IP Core的测试资料,转换成SoC相对应的测试资料,进行测试。
对此,学界、业界现今在开发一套技术,以针对SoC进行整合测试,也就是所谓的P1500标准,其原理是对IP Core外加一些电路,使其具有一定规格,方便做SoC整合测试;而为了描述P1500标准,也同时发展出另一套测试语言CTL(Core Test Language)。 CTL目前是属于IEEE P1450.6标准的范围,其目的是为了描述P1500标准的包装界面以及系统测试的各项资讯而产生的。以下将分别就P1500标准及CTL两种技术,提出说明。
P1500标准介绍
IEEE P1500 标准的全名为IEEE P1500 Standard for Embedded Core Test (SECT),编号前的P代表此标准目前仍处于Proposal的阶段,尚未成为IEEE正式的标准。 P1500标准目标是在建立一套完善的方法,使其满足各种不同的测试项目与测试策略,并尽可能的支援各项测试的需求。
事实上,因为SoC的整合者,对IP Core内部的了解十分有限,即使是软体层级的IP Core,也可能经过加密而无法知悉IP Core内部的资讯。 IP Core的供应商必须提供给系统或设计厂测试的方法,例如其DFT(Design for Test)的方法以及测试资料,但在设计这些IP Core的测试方法的时候,IP Core的供应商有时并不了解SoC测试的条件及环境,因此这些测试方法有可能会不符合SoC的测试要求;例如Test Coverage太低、或者测试成本太高。对于一个SoC系统整合者而言,要如何确保IP Core供应商给予足够的测试资料,才能在完全不知道IP内部的资讯,也不能加以更动IP Core原有设计的情形下,在系统的层级完成对IP Core的测试?这便是发展P1500标准,主要想达成的任务。
P1500标准包含了平行(parallel)测试与循序(serial)测试的机制、以及标准的测试控制指令,以测试SoC晶片内的IP Core与其接线,有效的达到测试时隔离与保护的目的。发展P1500标准可以达到系统晶片测试自动化,并且利用更佳的DFT(Design for Testability)技术来降低SoC的测试成本,同时提高测试的品质。参考(图一)。
在此测试架构中,须先将内部每一个IP Core1~IP CoreN以P1500 标准包装(Standard P1500 Core TestWrapper),利用输入输出埠(图一的TAM-source、TAM-Sink),将测试资料由TAM -Source输入,再以循序或平行的模式由TAM-in 送进待测的IP Core,并将结果由TAM-out 输出,最后送到TAM-Sink 观察,依此顺序我们可以针对每一个IP Core做测试。
此测试架构可分成三部分:
- (1) IP cores:将所有IP cores包上P1500的标准包装,传送测试资料及控制讯号,完成对特定IP core 所需的测试。
- (2)Chip Level Controller:SoC晶片的设计者可以自行定义其测试控制器,此控制器能产生控制讯号,并利用这些控制讯号来控制TAM 和标准包装中的WIR (Wrapper Instruction Register),完成对chip及IP cores 所需进行的测试流程。
- (3)User-Defined Test Access Mechanism:SoC晶片的设计者可以自行定义,透过TAM-in 将所需的测试资料传送入IP Core,并将结果由TAM-out 输出。
(图二)为IP Core以P1500包装后的图。 P1500标准在核心的外围,加上供指令输入的暂存器Wrapper Instruction Register(WIR),供资料输入的暂存器Wrapper Bypass Register(WBY)及Wrapper Boundary Register(WBR),并藉由9个标准的信号来存取(包括WSI、WSO、WRST、WCLK、SelectWR、Capture、Shift、Update、Transfer)。
"
P1500 Wrapper的界面IO 可分为两大类型,如(图三)所示,即循序存取的 Wrapper Serial Port (WSP),以及平行存取的Wrapper Parallel Port (WPP)。
![《图三 P1500 Wrapper的接口IO[6]》](/art/2005/03/051417564764/p3.gif)
《图三 P1500 Wrapper的接口IO[6]》 |
|
WSP是标准中必要的介面,其讯号分别定义如下:
- ˙Wrapper Serial Input(WSI):资料循序的输入端。
- ˙Wrapper Serial Output(WSO):资料循序的输出端。
- ˙Wrapper Clock(BCLK):时脉输入。
- ˙Wrapper Reset(WEST):重置讯号。
- ˙Instruction Register Selector(SelectOR);用来决定输入至WIR还是其余的 Data Registers。
- ˙Wrapper Capture(Capture):控制Wrapper资料的撷取。
- ˙Wrapper Shift(Shift):控制Wrapper资料的移动。
- ˙Wrapper Update(Update):控制Wrapper资料的更新。
- ˙Wrapper Transfer(Transfer:控制Wrapper资料的传递。
在串列式(serial)存取机制中,测试资料从WSI传至WSO,有多条路径可供选择,经由P1500包装介面的控制讯号,也就是(图四)中的Wrapper Control &Clocks,发出控制讯号(绿色线)来控制多工器(Gn、G1)及暂存器(WBR、WIR、Bypass、CDR 1-N),就可以选择所需的资料路径,由于所有资料皆由WSI一笔一笔排成一列输入,所以称其为串列式。其测试过程一开始,先利用Wrapper Control & Clocks 将指令资料输入至指令暂存器(Wrapper Instruction Register; WIR)中,决定其测试模式,再由此指令配合控制讯号选择一个配合此测试模式的资料暂存器(WBR、CDR、Bypass)输入资料,以进行测试。
其中的WBR(Wrapper Boundary Register)是由周边暂存器单元(Wrapper Boundary Cell;WBC)所组合而成的暂存器。在P1500 标准中规定,在核心电路的每一输入输出线上皆需加上此WBC,所以其bit 数必须视IP Core而定。 WBC的主要功能在于可接收由存取机制传送来的测试资料,并传入IP Core的输入埠(TAM in),亦可将由IP Core输出的资料,经由此暂存器送出给存取机制。因为由WBC管理IP Core的输出入埠的资料进出,所以其存取机制,可以是并列式的,也可以是串列式的。CDR为原本IP Core中的Scan Chain,由Scan Cell(IP Core内部暂存器)组成,可配合IP Core输出入埠的资料,进行测试。 Bypass为 1-bit 的暂存器,
当不对此IP Core 进行测试时,即可经由此此暂存器通过,使测试资料可以不进入IP Core内部,直接由WSI 输入通过bypass 再由WSO 输出快速到达下
一个被测试的IP Core。
在串列式的存取机制中,仅有单一位元的资料输入输出线,所以在IP Core 内部只能有一条Scan Chain,在使用上显然有所限制,所以P1500 必须支援并列式存取,才能满足多条Scan Chain同时存在。 (图五)即并列式机制架构,除了原先的串列式存取界面(WrapperSerial Input;WSI、Wrapper Serial Outpu;WSO)外,并加了并列存取界面(TAM-in、TAMout)。经由并列存取界面之多条输出输入线(图中红色路径)同时存取资料,自然可大幅增加测试准确率。
CTL简介
核心电路测试描述语言(Core Test Language;CTL)是专为P1500 所制定的一套电路测试描述语言,用来描述IP core及SoC晶片的整合测试等资讯。 CTL是由IEEE 1450 Standard Test Information Language(简称STIL)所延伸而来的,STIL的主要目的在描述测试资料与测试讯号时序。在SoC技术时,因为不只单一个IP Core在晶片上,要测试这些IP Core,我们使用P1500来使每一个IP Core 有类似的外壳,在此情况下,IP core 跟IP Core 之间的沟通就变的较为容易;相对的,因为CTL是随P1500的发展而一同制定的,CTL也必须符合SoC技术的要求,要比STIL多加上不同测试模式下的测试需求,来描述IP core 跟IP Core 之间电路的整合测试方式。
从(图六)可看出CTL需要相同于STIL的一些资讯,有输出输入端(Signals)、系统时脉讯号及一些输出输入的时间控制(Timing)、Scan Chain的内部结构(ScanStructures)、测试资料(Patterns)、测试讯号次序及模式(Protocols),亦需要原本STIL没有的资讯,例如原本IP Core的测试模式及资讯(Internal)、P1500外接线路的测试模式及资讯(External)、不同的测试模
式下输入测试讯号的描述(Pattern Information)。
(图七)为P1500-CTL 示意图,左边为包装P1500的IP Core;一般来说CTL针对此SoC层级的晶片,需包含Signals、SignalGroups、Timing、Pattern、MacroDefs、ScanStructures、Internal、External、PatternInformation等描述。
如(图八),CTL可以在不清楚IP Core内部的情况下进行测试,而这项特性是必须的,因为大部分的情况下,系统中每个IP Core是由不同的个人或团队分别完成,如果要求系统整合者了解晶片中每一个IP Core,显然是强人所难。
如(图九),CTL可以支援阶层式的描述,也就是说可以描述SoC内每一个IP Core的资讯,同时也描述其测试模式。
CTL 对测试模式的描述
Environment {
CTL{}
CTL mode1{TestMode InternalTest;}
CTL mode2{TestMode EXternalTest;}
CTL modeN{TestMode N;}
}
在CTL中将测试模式定义在Environment之下,每个CTL宣告都是在定义一种测试模式,若此宣告没有名称,表示其为global,其余每一个CTL皆可看到,其内容,如上方第一个CTL宣告即是global,而测试模式mode1则表示InternalTest,一般来说一个CTL测试模式的宣告,除一开始注明所代表的操作模式外,仍须定义Protocols、各Signals讯号在此测试模式下,分别扮演的角色、接线的连接情形,此操作模式的定义才算完整。
一般来说CTL的测试模式如(图十)所示;以下并列举三种必要的测试模式。
(1)BYPASS Mode
如(图十一),当不对此IP Core做测试时使用此模式,经由外部控制讯号WSC,输入指令给指令暂存器(WIR),使其测试模式为BYPASS Mode,并提供控制讯号给WBR 、Bypass、IP Core等,使测试资料从WSI→Bypass→WSO通过,并前进到其欲测试的IP Core。
<资料来源:2002 IEEE P1500>
(2)WS_INTEST Mode
如(图十二),当对此IP Core内部做测试时使用此模式;同样经由外部控制讯号WSC,输入指令给指令暂存器,使其测试模式为WS_ INTEST Mode,其测试资料从WSI→ WBR→Internal Scan→WBR→WSO一一输入,等一定位元的测试资料输入到暂存器中(WBR、Internal Scan),观察其输出,然后输入下一段一定位元的测试资料,直到测试结束。
(3)WS_EXTEST Mode
如(图十三),当对此IP Core外部P1500接线做测试时使用此模式,同样经由外部控制讯号WSC,输入指令给指令暂存器,使其测试模式为WS_ EXTEST Mode,其测试资料从WSI→WBR→WBR→WSO一一输入,等一定位元的测试资料输入到暂存器中(WBR),观察其输出,然后输入下一段一定位元的测试资料,直到测试结束。
<资料来源:2002 IEEE P1500>
结论
目前SoC晶片的设计研究,正走在时代的趋势,许多设计大厂陆续投入研发人力,着力于开发相容的原型设计,并拥有各自的SoC测试整合技术。 P1500标准做为发展SoC晶片设计的重要技术,也趋近成熟,虽然目前P1500技术仍处于Proposal的阶段,相信其成为IEEE正式的标准,也是指日可待。目前数个市场领导EDA厂商早已藉由参与P1500的制订取得最新的讯息,以开发相关的EDA工具;而CTL技术,正由测试机台的厂商积极研发支援CTL标准的测试机台与软体环境。
所以一旦P1500及CTL成为IEEE正式的标准,符合P1500标准的SoC测试整合的EDA工具就会出现在市面上,同时先进的设计公司也都会拥有公司内部测试整合的能力,并且市面上也有能够支援CTL的测试机台可实际使用。如果国内的IC设计产业朝SoC晶片设计的领域前进,P1500跟CTL两项辅助技术之发展值得特别关注。
(作者李建模为台大电子工程学研究所/台大系统晶片中心研发教授,高琮评为研究生)
<参考文献:
[1]工研院/系统晶片技术中心‧可测试设计课"Introduction to IEEE P1500 Test Standard"
http://www.taiwansoc.org/download/member_file/2002/test/2002-7.pdf
[2] Maurice Lousberg Philips "P1500's Core Test Launguage"
http://grouper.ieee.org/groups/1500/date01/ctl-date01.pdf
[3]黄稚存、吴诚文 "简介IEEE P1500: 嵌入式核心测试的工业界标准(上)"
http://nsoc.eic.nctu.edu.tw/Uploads/p1500-031009-2154617.doc
[4]黄稚存、吴诚文 "简介IEEE P1500: 嵌入式核心测试的工业界标准(下)"
http://nsoc.eic.nctu.edu.tw/Uploads/p1500-031009154533.doc
[5] Erik Jan Marinissen "Update of IEEE P1500 Core Wrapper Architecture"
http://grouper.ieee.org/groups/1500/itc02/ctag0210.pdf
[6] Jin-Fu Li; Hsin-Jung Huang; Jeng-Bin Chen; Chih-Pin Su; Cheng-Wen Wu; Chuang Cheng; Shao-I Chen; Chi-Yi Hwang; Hsiao-Ping Lin;"A HIERARCHICAL TEST METHODOLOGY FOR SYSTEMS ON CHIP" Micro, IEEE , Volume: 22 , Issue: 5 , Sept.-Oct. 2002 Pages:69 - 81
[7] ERIK JAN MARINISSEN, ROHIT KAPUR,MAURICE LOUSBERG, TERESA MCLAURIN, MIKE RICCHETTI, YERVANT ZORIAN "On IEEE P1500's Standard for Embedded Core Test"
JOURNAL OF ELECTRONIC TESTING: Theory and Applications 18, 365-383, 2002>