孫 元,顏學(xué)龍,李 鵬
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林541004)
在當(dāng)今主流工藝條件下,互連線的耦合電容已經(jīng)占據(jù)總電容的60%~70%,隨著半導(dǎo)體工藝的繼續(xù)進(jìn)步,互連線耦合電容與其總電容的比值將不斷增大,因此由耦合電容噪聲導(dǎo)致的信號完整性問題成為IC設(shè)計(jì)的主要挑戰(zhàn)之一[1]。SoC芯片在深亞微米工藝和GHz工作頻率下工作時(shí)所產(chǎn)生的互容和互感,使得連接IP核的系統(tǒng)總線常常發(fā)生相互干擾,產(chǎn)生串?dāng)_故障[2]。針對串?dāng)_故障,國內(nèi)外一些學(xué)者已經(jīng)提出了許多故障激勵(lì)檢測模型,如MAF模型[3]、MT 模型[4]、HT 模型[5]。
為了解決SoC測試面臨的挑戰(zhàn),IEEE組織制定了 IP 核測試標(biāo)準(zhǔn)—IEEE Std 1500[6-7],旨在標(biāo)準(zhǔn)化IP核測試接口,使得IP核的測試變得方便高效。IEEE Std 1500標(biāo)準(zhǔn)定義的硬件結(jié)構(gòu)是環(huán)繞在IP核周圍的一個(gè)標(biāo)準(zhǔn)的可配置的芯核外殼(Wrapper)。Wrapper與周圍環(huán)境隔離,使得內(nèi)核既可以做為單獨(dú)實(shí)體檢測,也可以進(jìn)行內(nèi)核與內(nèi)核之間的互連測試。
本文通過對MT故障模型的冗余分析,將測試矢量分為兩類進(jìn)行精簡,選取種子產(chǎn)生改進(jìn)型MT模型。并對MT模型和改進(jìn)型模型的測試矢量數(shù)、種子數(shù)、施加的時(shí)鐘數(shù)進(jìn)行計(jì)算和比較。在IEEE Std 1500標(biāo)準(zhǔn)下,對可擴(kuò)展的IP核測試殼各部分進(jìn)行設(shè)計(jì),使測試殼在不同的測試指令下,產(chǎn)生全部的測試矢量集。軟件仿真得到的波形結(jié)果驗(yàn)證設(shè)計(jì)的可行性。
Mohmmad H提出的多重跳度MT(Multiple Transition)故障模型,它同時(shí)考慮了交叉耦合電容和電感對互連線的影響,可以確保潛在的信號完整性故障被全部檢測出來。MT模型針對的串?dāng)_故障主要有4類,即正向尖峰脈沖、負(fù)向尖峰脈沖、正跳變延時(shí)、負(fù)跳變延時(shí)。MT模型對測試矢量集的定義為:施加在攻擊線上的測試矢量對必須同時(shí)發(fā)生翻轉(zhuǎn),而施加在受害線上的激勵(lì)可以保持靜態(tài)或翻轉(zhuǎn)。假設(shè)互連系統(tǒng)中同一時(shí)刻只有一個(gè)受害線(簡寫為V線),其他的互連線均為攻擊線(簡寫為A線)。三線系統(tǒng)中,中間線為V線其余為A線的MT模型測試矢量集如表1所示。

表1 MT模型測試矢量集
MT模型具有100%故障覆蓋率。n線系統(tǒng)所需要的種子數(shù)為n×2n-1,矢量數(shù)為n×2n+1,采用PGBSC(改進(jìn)的邊界掃描單元)產(chǎn)生測試矢量時(shí)施加的時(shí)鐘(update)數(shù)為:5n×2n-1。
MT模型在提供了100%故障覆蓋率的同時(shí)也存在大量的測試矢量冗余。在MT模型中,存在許多測試矢量對(V1,V2),它的向量V2和其他測試矢量對的向量V1相同,可以將這兩組測試矢量對合并,生成包含3個(gè)矢量的矢量組,它可以連續(xù)激勵(lì)串?dāng)_缺陷兩次,同時(shí)某些矢量對可以同時(shí)激活多根受害線上的串?dāng)_缺陷,但是在原始的故障檢測模型中,這些測試矢量對被多次重復(fù)的應(yīng)用[8]。測試矢量冗余情況可以根據(jù)兩方面進(jìn)行分析:
(1)不同受害線的時(shí)延故障測試矢量冗余:由于MT模型的時(shí)延故障測試矢量產(chǎn)生機(jī)理是受害線和攻擊線同時(shí)發(fā)生跳變,但并沒有對正向跳變還是負(fù)向跳變進(jìn)行要求。因此相同的時(shí)延故障測試矢量可以同時(shí)激勵(lì)不同受害線的時(shí)延故障。例如表1中測試上升時(shí)延故障的測試矢量對P(000,111),不僅是中間線為受害線的時(shí)延故障測試激勵(lì),同時(shí)可以測試第1根線和第2根線為受害線時(shí)的時(shí)延故障。
(2)中間向量相同的測試矢量冗余:如表1中測試尖峰故障的測試矢量對 P1(000,101)和P2(101,000),測試矢量對P1的向量V2和測試矢量對P2的矢量V1相同,存在向量冗余。可以將雙矢量的向量組P1、P2變成3向量的1個(gè)矢量組P(000,101,000)或 P(101,000,101);測試時(shí)延故障時(shí),測試矢量對 Q1(000,111)和 Q2(111,000),中間測試矢量相同,可以精簡為3矢量的測試矢量組Q(000,111,000)或 Q(111,000,111)。
改進(jìn)型MT模型在時(shí)延故障和尖峰故障兩方面對傳統(tǒng)MT模型進(jìn)行精簡。通過對不同的故障模型種子的選拔,最終得到了改進(jìn)模型的測試矢量集。本節(jié)提出了N線系統(tǒng)的具體改進(jìn)方法、模型的參數(shù)計(jì)算及比較。
改進(jìn)1 針對時(shí)延故障的矢量冗余精簡。時(shí)延故障測試矢量集的產(chǎn)生機(jī)理是受害線與攻擊線同時(shí)發(fā)生翻轉(zhuǎn)。根據(jù)產(chǎn)生機(jī)理,當(dāng)測試時(shí)延故障時(shí),所有傳輸線均可視為受害線。為此,可將所有傳輸線同時(shí)翻轉(zhuǎn)的測試矢量集,做為所有受害線的時(shí)延故障測試矢量集。而具有相同矢量的測試矢量組可以精簡為1個(gè)3矢量的矢量組。種子的選擇與矢量變化如下:
(1)找到所有傳輸線可能的跳變情況。
(2)總有2個(gè)測試矢量,它們的所有信號跳變相反,從中選擇1個(gè)作為測試時(shí)延故障的種子。例如3線系統(tǒng)的001與110,選擇其中的1個(gè)001或100。
(3)所有的種子跳變2次得到全部的測試矢量組。
改進(jìn)2 針對尖峰故障—尖峰故障的測試矢量集的產(chǎn)生機(jī)理是受害線保持不變,攻擊線同時(shí)翻轉(zhuǎn)。根據(jù)第2類矢量冗余分析,將2個(gè)具有相同矢量的矢量對精簡為1個(gè)3矢量的尖峰測試矢量組。種子的選擇與矢量變化如下:
(1)選定要檢測的對象為第i根受害線。受害線保持不變,其余傳輸線作為攻擊線。
(2)受害線相同,攻擊線信號正好相反的2個(gè)測試矢量只選擇1個(gè)。
(3)受害線與攻擊線的信號都相反的2個(gè)測試矢量只選擇1個(gè)。
(4)通過(2)、(3)的篩選,得到測試尖峰故障的種子。種子的受害線每跳變1次,攻擊線跳變3次,1個(gè)種子共得到6個(gè)測試矢量。例如3線系統(tǒng)種子000的變化:000→101→000→111→010→111。
由上節(jié)的篩選方法得到種子數(shù)C:
式中:Cp表示改進(jìn)1的種子數(shù),Cq表示改進(jìn)2的種子數(shù)。
根據(jù)改進(jìn)1和改進(jìn)2不同的矢量變化情況,所需要的測試矢量數(shù)S和施加的update數(shù)U計(jì)算公式如下:

式中:Sp表示改進(jìn)1的測試矢量數(shù),Sq表示改進(jìn)2的測試矢量數(shù),Up表示改進(jìn)1的update數(shù),Uq表示改進(jìn)2的update數(shù)。由此可見,改進(jìn)型MT模型所需要的矢量個(gè)數(shù)明顯小于傳統(tǒng)MT模型。當(dāng)n>2時(shí),MT精簡模型種子數(shù)小于傳統(tǒng)MT模型。當(dāng)n>1時(shí),MT精簡模型施加的update數(shù)小于傳統(tǒng)MT模型。
IEEE Std 1500協(xié)議針對IP核的測試與訪問定義了一種獨(dú)立的、標(biāo)準(zhǔn)化的、可升級的可測試性架構(gòu)[9],是環(huán)繞著IP核特殊的“殼”。它主要由6部分組成:串行訪問接口WSI/WSO、并行訪問接口WPI/WPO、旁路寄存器(WBY)、邊界寄存器(WBR)、指令寄存器(WIR)、測試殼控制端口(WIP)。
本文采用自行設(shè)計(jì)的帶進(jìn)位的二級加法器作為IP核為例,按照IEEE Std 1500標(biāo)準(zhǔn)設(shè)計(jì)的測試殼的結(jié)構(gòu)如圖1。各部分的設(shè)計(jì)如下。

圖1 測試殼結(jié)構(gòu)
測試殼邊界單元WBC是WBR的基本組成單元,能實(shí)現(xiàn)測試激勵(lì)的施加和測試響應(yīng)的捕獲,從而實(shí)現(xiàn)對IP核的可控制性和可觀察性[6,10]。WBC數(shù)據(jù)端口包括:測試輸入(CTI),測試輸出(CTO),功能輸入(CFI),功能輸出(CFO)。WBC基本操作功能及數(shù)據(jù)路徑:正常功能操作(CFI-CFO),掃描測試時(shí)掃描移入操作(CTI-CTO),掃描測試模式下將掃描數(shù)據(jù)施加到功能端口(CTI-CFO),掃描測試模式下捕獲測試響應(yīng)進(jìn)入測試環(huán)單元(CFI-CTO)[11]。本文基于這一思想,對BSC單元進(jìn)行設(shè)計(jì),作為改進(jìn)型MT模型測試矢量的硬件實(shí)現(xiàn)。設(shè)計(jì)的測試環(huán)單元具體結(jié)構(gòu)如圖2所示。

圖2 改進(jìn)WBC單元原理圖
為了符合改進(jìn)型MT模型測試矢量的生成要求,WBC單元在IEEE Std 1500的基礎(chǔ)上4方面進(jìn)行改進(jìn):
(1)使用di選擇信號,用于對時(shí)延故障和尖峰故障兩種故障測試方式進(jìn)行選擇;
(2)設(shè)置si端口對輸入信號進(jìn)行選通或者翻轉(zhuǎn);
(3)當(dāng)進(jìn)行尖峰故障檢測時(shí),在xi端輸入受害線選擇信號;
(4)采用四分頻器確保測試尖峰故障時(shí)受害線每翻轉(zhuǎn)一次,攻擊線翻轉(zhuǎn)三次。
測試模式如表2所示。

表2 測試模式
指令寄存器由3部分構(gòu)成:移位寄存器、更新寄存器、指令譯碼邏輯。本文的指令編碼有4位,控制信號有12個(gè)。控制信號從低位到高位分別為:m1~m12。
Wrapper的整個(gè)操作是都由WIP的控制信號以及載入到WIR的指令控制的。針對串?dāng)_故障的串行測試和并行測試,設(shè)計(jì)了5個(gè)WIR指令編碼,具體如表3所示。

表3 WIR指令碼及控制信號
本文采用Verilog HDL語言描述測試殼各部分,并連接成測試殼。通過Quartus ii軟件進(jìn)行仿真。3線系統(tǒng)的改進(jìn)型MT模型采用尖峰故障和時(shí)延故障兩部分生成。時(shí)延故障通過施加種子000、001、010、100產(chǎn)生全部的時(shí)延故障測試矢量;尖峰故障通過施加種子000、001,產(chǎn)生中間線為受害線時(shí)全部的尖峰故障測試矢量。
圖3和圖4表示在指令為串行互連外測試時(shí),qo端生成改進(jìn)型MT模型的測試矢量。其中圖3的測試矢量是在第13個(gè)時(shí)鐘開始產(chǎn)生。

圖3 串行外測試的時(shí)延故障測試

圖4 串行外測試的尖峰故障測試
圖5和圖6表示在指令為并行互連外測試時(shí)的改進(jìn)型MT模型測試矢量生成。

圖5 并行外測試的時(shí)延故障測試
本文改進(jìn)的MT模型與傳統(tǒng)MT模型在不同總線系統(tǒng)所需測試矢量數(shù)的比較如表4所示。從表4可以看出:本文改進(jìn)的MT模型在故障覆蓋率為100%的前提下,測試速率提高,施加的測試矢量減少。而且隨著N線系統(tǒng)的復(fù)雜性增加,精簡的效果越明顯。

圖6 并行外測試的尖峰故障測試

表4 改進(jìn)型MT模型與傳統(tǒng)MT模型的比較
本文首先在原有的MT模型基礎(chǔ)上提出了改進(jìn)型MT模型,減少了MT模型的矢量冗余,降低了測試成本,體現(xiàn)了改進(jìn)型MT模型的高效性。然后對IEEE Std 1500協(xié)議標(biāo)準(zhǔn)定義的測試殼進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了改進(jìn)型模型對SoC的IP核互連線的串行測試和并行測試,體現(xiàn)了改進(jìn)型模型的實(shí)用性,為集成芯片的測試問題的發(fā)展提供了一定的理論基礎(chǔ)和技術(shù)支持。
[1]張富彬,H O Ching-yen,彭思龍.靜態(tài)串?dāng)_噪聲識(shí)別算[J].電子器件,2006.
[2]Narender,Hanchateand,Nagarajan,et al.Simultaneous Interconnect Delay and Crosstalk Noise Optimization through Gate Sizing Using Game Theory[J].IEEE Transactions,2006,55:1011-1023.
[3]Cuviello M,Dey S,Bai X,et al.Fault Modeling and Simulation for Crosstalk in System-on-Chip Interconnects[J].Proceedings of the IEEE/ACM International Conference on Computer-Aided Design,1999:297-303.
[4]Mohammad H T,Nisar Ahmed,Mehrdad Nourani.Testing SoC Interconnects for Signal Integrity Using Extended JTAG Architecture[J].IEEE Trans CAD of IC and Syst,2004,23(5):800-811.
[5]張金林,沈緒榜,陳朝陽.SoC中IP核間互聯(lián)總線完整性故障測試模型[J].電子科技大學(xué)學(xué)報(bào),2007.
[6]IEEE Std 1500.IEEE Standard Testability Method for Embedded Core Based Integrated Circuits[S].2005.
[7]Institute of Electrical and Electronic Engineers:IEEE Standard Testability Method for Embedded Core-Based Integrated Circuits[C]//IEEE Std.1500-2005,2005:1-127.
[8]張穎,李華偉,李曉維.SoC總線串?dāng)_的精簡MT測試集[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2008.
[9]楊鵬.嵌入式芯核測試標(biāo)準(zhǔn)IEEE Std 1500綜述[J].測控技術(shù),2006.
[10]李廣進(jìn),陳圣儉,牛金濤,等.數(shù)字IP核的IEEE Std 1500外殼構(gòu)架設(shè)計(jì)研究[J].微電子學(xué)與計(jì)算機(jī),2012.
[11]談恩民,馬江波,秦昌明.SoC的存儲(chǔ)器Wrapper設(shè)計(jì)及故障測試[J].微電子學(xué)與計(jì)算機(jī),2011.