孫 元,顏學(xué)龍,李 鵬
(桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林541004)
在當(dāng)今主流工藝條件下,互連線的耦合電容已經(jīng)占據(jù)總電容的60%~70%,隨著半導(dǎo)體工藝的繼續(xù)進(jìn)步,互連線耦合電容與其總電容的比值將不斷增大,因此由耦合電容噪聲導(dǎo)致的信號(hào)完整性問(wèn)題成為IC設(shè)計(jì)的主要挑戰(zhàn)之一[1]。SoC芯片在深亞微米工藝和GHz工作頻率下工作時(shí)所產(chǎn)生的互容和互感,使得連接IP核的系統(tǒng)總線常常發(fā)生相互干擾,產(chǎn)生串?dāng)_故障[2]。針對(duì)串?dāng)_故障,國(guó)內(nèi)外一些學(xué)者已經(jīng)提出了許多故障激勵(lì)檢測(cè)模型,如MAF模型[3]、MT 模型[4]、HT 模型[5]。
為了解決SoC測(cè)試面臨的挑戰(zhàn),IEEE組織制定了 IP 核測(cè)試標(biāo)準(zhǔn)—IEEE Std 1500[6-7],旨在標(biāo)準(zhǔn)化IP核測(cè)試接口,使得IP核的測(cè)試變得方便高效。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í)體檢測(cè),也可以進(jìn)行內(nèi)核與內(nèi)核之間的互連測(cè)試。
本文通過(guò)對(duì)MT故障模型的冗余分析,將測(cè)試矢量分為兩類進(jìn)行精簡(jiǎn),選取種子產(chǎn)生改進(jìn)型MT模型。并對(duì)MT模型和改進(jìn)型模型的測(cè)試矢量數(shù)、種子數(shù)、施加的時(shí)鐘數(shù)進(jìn)行計(jì)算和比較。在IEEE Std 1500標(biāo)準(zhǔn)下,對(duì)可擴(kuò)展的IP核測(cè)試殼各部分進(jìn)行設(shè)計(jì),使測(cè)試殼在不同的測(cè)試指令下,產(chǎn)生全部的測(cè)試矢量集。軟件仿真得到的波形結(jié)果驗(yàn)證設(shè)計(jì)的可行性。
Mohmmad H提出的多重跳度MT(Multiple Transition)故障模型,它同時(shí)考慮了交叉耦合電容和電感對(duì)互連線的影響,可以確保潛在的信號(hào)完整性故障被全部檢測(cè)出來(lái)。MT模型針對(duì)的串?dāng)_故障主要有4類,即正向尖峰脈沖、負(fù)向尖峰脈沖、正跳變延時(shí)、負(fù)跳變延時(shí)。MT模型對(duì)測(cè)試矢量集的定義為:施加在攻擊線上的測(cè)試矢量對(duì)必須同時(shí)發(fā)生翻轉(zhuǎn),而施加在受害線上的激勵(lì)可以保持靜態(tài)或翻轉(zhuǎn)。假設(shè)互連系統(tǒng)中同一時(shí)刻只有一個(gè)受害線(簡(jiǎn)寫為V線),其他的互連線均為攻擊線(簡(jiǎn)寫為A線)。三線系統(tǒng)中,中間線為V線其余為A線的MT模型測(cè)試矢量集如表1所示。
表1 MT模型測(cè)試矢量集
MT模型具有100%故障覆蓋率。n線系統(tǒng)所需要的種子數(shù)為n×2n-1,矢量數(shù)為n×2n+1,采用PGBSC(改進(jìn)的邊界掃描單元)產(chǎn)生測(cè)試矢量時(shí)施加的時(shí)鐘(update)數(shù)為:5n×2n-1。
MT模型在提供了100%故障覆蓋率的同時(shí)也存在大量的測(cè)試矢量冗余。在MT模型中,存在許多測(cè)試矢量對(duì)(V1,V2),它的向量V2和其他測(cè)試矢量對(duì)的向量V1相同,可以將這兩組測(cè)試矢量對(duì)合并,生成包含3個(gè)矢量的矢量組,它可以連續(xù)激勵(lì)串?dāng)_缺陷兩次,同時(shí)某些矢量對(duì)可以同時(shí)激活多根受害線上的串?dāng)_缺陷,但是在原始的故障檢測(cè)模型中,這些測(cè)試矢量對(duì)被多次重復(fù)的應(yīng)用[8]。測(cè)試矢量冗余情況可以根據(jù)兩方面進(jìn)行分析:
(1)不同受害線的時(shí)延故障測(cè)試矢量冗余:由于MT模型的時(shí)延故障測(cè)試矢量產(chǎn)生機(jī)理是受害線和攻擊線同時(shí)發(fā)生跳變,但并沒(méi)有對(duì)正向跳變還是負(fù)向跳變進(jìn)行要求。因此相同的時(shí)延故障測(cè)試矢量可以同時(shí)激勵(lì)不同受害線的時(shí)延故障。例如表1中測(cè)試上升時(shí)延故障的測(cè)試矢量對(duì)P(000,111),不僅是中間線為受害線的時(shí)延故障測(cè)試激勵(lì),同時(shí)可以測(cè)試第1根線和第2根線為受害線時(shí)的時(shí)延故障。
(2)中間向量相同的測(cè)試矢量冗余:如表1中測(cè)試尖峰故障的測(cè)試矢量對(duì) P1(000,101)和P2(101,000),測(cè)試矢量對(duì)P1的向量V2和測(cè)試矢量對(duì)P2的矢量V1相同,存在向量冗余。可以將雙矢量的向量組P1、P2變成3向量的1個(gè)矢量組P(000,101,000)或 P(101,000,101);測(cè)試時(shí)延故障時(shí),測(cè)試矢量對(duì) Q1(000,111)和 Q2(111,000),中間測(cè)試矢量相同,可以精簡(jiǎn)為3矢量的測(cè)試矢量組Q(000,111,000)或 Q(111,000,111)。
改進(jìn)型MT模型在時(shí)延故障和尖峰故障兩方面對(duì)傳統(tǒng)MT模型進(jìn)行精簡(jiǎn)。通過(guò)對(duì)不同的故障模型種子的選拔,最終得到了改進(jìn)模型的測(cè)試矢量集。本節(jié)提出了N線系統(tǒng)的具體改進(jìn)方法、模型的參數(shù)計(jì)算及比較。
改進(jìn)1 針對(duì)時(shí)延故障的矢量冗余精簡(jiǎn)。時(shí)延故障測(cè)試矢量集的產(chǎn)生機(jī)理是受害線與攻擊線同時(shí)發(fā)生翻轉(zhuǎn)。根據(jù)產(chǎn)生機(jī)理,當(dāng)測(cè)試時(shí)延故障時(shí),所有傳輸線均可視為受害線。為此,可將所有傳輸線同時(shí)翻轉(zhuǎn)的測(cè)試矢量集,做為所有受害線的時(shí)延故障測(cè)試矢量集。而具有相同矢量的測(cè)試矢量組可以精簡(jiǎn)為1個(gè)3矢量的矢量組。種子的選擇與矢量變化如下:
(1)找到所有傳輸線可能的跳變情況。
(2)總有2個(gè)測(cè)試矢量,它們的所有信號(hào)跳變相反,從中選擇1個(gè)作為測(cè)試時(shí)延故障的種子。例如3線系統(tǒng)的001與110,選擇其中的1個(gè)001或100。
(3)所有的種子跳變2次得到全部的測(cè)試矢量組。
改進(jìn)2 針對(duì)尖峰故障—尖峰故障的測(cè)試矢量集的產(chǎn)生機(jī)理是受害線保持不變,攻擊線同時(shí)翻轉(zhuǎn)。根據(jù)第2類矢量冗余分析,將2個(gè)具有相同矢量的矢量對(duì)精簡(jiǎn)為1個(gè)3矢量的尖峰測(cè)試矢量組。種子的選擇與矢量變化如下:
(1)選定要檢測(cè)的對(duì)象為第i根受害線。受害線保持不變,其余傳輸線作為攻擊線。
(2)受害線相同,攻擊線信號(hào)正好相反的2個(gè)測(cè)試矢量只選擇1個(gè)。
(3)受害線與攻擊線的信號(hào)都相反的2個(gè)測(cè)試矢量只選擇1個(gè)。
(4)通過(guò)(2)、(3)的篩選,得到測(cè)試尖峰故障的種子。種子的受害線每跳變1次,攻擊線跳變3次,1個(gè)種子共得到6個(gè)測(cè)試矢量。例如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不同的矢量變化情況,所需要的測(cè)試矢量數(shù)S和施加的update數(shù)U計(jì)算公式如下:
式中:Sp表示改進(jìn)1的測(cè)試矢量數(shù),Sq表示改進(jìn)2的測(cè)試矢量數(shù),Up表示改進(jìn)1的update數(shù),Uq表示改進(jìn)2的update數(shù)。由此可見(jiàn),改進(jìn)型MT模型所需要的矢量個(gè)數(shù)明顯小于傳統(tǒng)MT模型。當(dāng)n>2時(shí),MT精簡(jiǎn)模型種子數(shù)小于傳統(tǒng)MT模型。當(dāng)n>1時(shí),MT精簡(jiǎn)模型施加的update數(shù)小于傳統(tǒng)MT模型。
IEEE Std 1500協(xié)議針對(duì)IP核的測(cè)試與訪問(wèn)定義了一種獨(dú)立的、標(biāo)準(zhǔn)化的、可升級(jí)的可測(cè)試性架構(gòu)[9],是環(huán)繞著IP核特殊的“殼”。它主要由6部分組成:串行訪問(wèn)接口WSI/WSO、并行訪問(wèn)接口WPI/WPO、旁路寄存器(WBY)、邊界寄存器(WBR)、指令寄存器(WIR)、測(cè)試殼控制端口(WIP)。
本文采用自行設(shè)計(jì)的帶進(jìn)位的二級(jí)加法器作為IP核為例,按照IEEE Std 1500標(biāo)準(zhǔn)設(shè)計(jì)的測(cè)試殼的結(jié)構(gòu)如圖1。各部分的設(shè)計(jì)如下。
圖1 測(cè)試殼結(jié)構(gòu)
測(cè)試殼邊界單元WBC是WBR的基本組成單元,能實(shí)現(xiàn)測(cè)試激勵(lì)的施加和測(cè)試響應(yīng)的捕獲,從而實(shí)現(xiàn)對(duì)IP核的可控制性和可觀察性[6,10]。WBC數(shù)據(jù)端口包括:測(cè)試輸入(CTI),測(cè)試輸出(CTO),功能輸入(CFI),功能輸出(CFO)。WBC基本操作功能及數(shù)據(jù)路徑:正常功能操作(CFI-CFO),掃描測(cè)試時(shí)掃描移入操作(CTI-CTO),掃描測(cè)試模式下將掃描數(shù)據(jù)施加到功能端口(CTI-CFO),掃描測(cè)試模式下捕獲測(cè)試響應(yīng)進(jìn)入測(cè)試環(huán)單元(CFI-CTO)[11]。本文基于這一思想,對(duì)BSC單元進(jìn)行設(shè)計(jì),作為改進(jìn)型MT模型測(cè)試矢量的硬件實(shí)現(xiàn)。設(shè)計(jì)的測(cè)試環(huán)單元具體結(jié)構(gòu)如圖2所示。
圖2 改進(jìn)WBC單元原理圖
為了符合改進(jìn)型MT模型測(cè)試矢量的生成要求,WBC單元在IEEE Std 1500的基礎(chǔ)上4方面進(jìn)行改進(jìn):
(1)使用di選擇信號(hào),用于對(duì)時(shí)延故障和尖峰故障兩種故障測(cè)試方式進(jìn)行選擇;
(2)設(shè)置si端口對(duì)輸入信號(hào)進(jìn)行選通或者翻轉(zhuǎn);
(3)當(dāng)進(jìn)行尖峰故障檢測(cè)時(shí),在xi端輸入受害線選擇信號(hào);
(4)采用四分頻器確保測(cè)試尖峰故障時(shí)受害線每翻轉(zhuǎn)一次,攻擊線翻轉(zhuǎn)三次。
測(cè)試模式如表2所示。
表2 測(cè)試模式
指令寄存器由3部分構(gòu)成:移位寄存器、更新寄存器、指令譯碼邏輯。本文的指令編碼有4位,控制信號(hào)有12個(gè)??刂菩盘?hào)從低位到高位分別為:m1~m12。
Wrapper的整個(gè)操作是都由WIP的控制信號(hào)以及載入到WIR的指令控制的。針對(duì)串?dāng)_故障的串行測(cè)試和并行測(cè)試,設(shè)計(jì)了5個(gè)WIR指令編碼,具體如表3所示。
表3 WIR指令碼及控制信號(hào)
本文采用Verilog HDL語(yǔ)言描述測(cè)試殼各部分,并連接成測(cè)試殼。通過(guò)Quartus ii軟件進(jìn)行仿真。3線系統(tǒng)的改進(jìn)型MT模型采用尖峰故障和時(shí)延故障兩部分生成。時(shí)延故障通過(guò)施加種子000、001、010、100產(chǎn)生全部的時(shí)延故障測(cè)試矢量;尖峰故障通過(guò)施加種子000、001,產(chǎn)生中間線為受害線時(shí)全部的尖峰故障測(cè)試矢量。
圖3和圖4表示在指令為串行互連外測(cè)試時(shí),qo端生成改進(jìn)型MT模型的測(cè)試矢量。其中圖3的測(cè)試矢量是在第13個(gè)時(shí)鐘開(kāi)始產(chǎn)生。
圖3 串行外測(cè)試的時(shí)延故障測(cè)試
圖4 串行外測(cè)試的尖峰故障測(cè)試
圖5和圖6表示在指令為并行互連外測(cè)試時(shí)的改進(jìn)型MT模型測(cè)試矢量生成。
圖5 并行外測(cè)試的時(shí)延故障測(cè)試
本文改進(jìn)的MT模型與傳統(tǒng)MT模型在不同總線系統(tǒng)所需測(cè)試矢量數(shù)的比較如表4所示。從表4可以看出:本文改進(jìn)的MT模型在故障覆蓋率為100%的前提下,測(cè)試速率提高,施加的測(cè)試矢量減少。而且隨著N線系統(tǒng)的復(fù)雜性增加,精簡(jiǎn)的效果越明顯。
圖6 并行外測(cè)試的尖峰故障測(cè)試
表4 改進(jìn)型MT模型與傳統(tǒng)MT模型的比較
本文首先在原有的MT模型基礎(chǔ)上提出了改進(jìn)型MT模型,減少了MT模型的矢量冗余,降低了測(cè)試成本,體現(xiàn)了改進(jìn)型MT模型的高效性。然后對(duì)IEEE Std 1500協(xié)議標(biāo)準(zhǔn)定義的測(cè)試殼進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了改進(jìn)型模型對(duì)SoC的IP核互連線的串行測(cè)試和并行測(cè)試,體現(xiàn)了改進(jìn)型模型的實(shí)用性,為集成芯片的測(cè)試問(wèn)題的發(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]張金林,沈緒榜,陳朝陽(yáng).SoC中IP核間互聯(lián)總線完整性故障測(cè)試模型[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)_的精簡(jiǎn)MT測(cè)試集[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2008.
[9]楊鵬.嵌入式芯核測(cè)試標(biāo)準(zhǔn)IEEE Std 1500綜述[J].測(cè)控技術(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ì)及故障測(cè)試[J].微電子學(xué)與計(jì)算機(jī),2011.