張昊
?。ㄎ髂想娮蛹夹g(shù)研究所,四川 成都 610000)
摘要: 為滿足大規(guī)模數(shù)字電路系統(tǒng)測試、故障診斷的需要,可測性(DFT)設(shè)計已成為大規(guī)模數(shù)字電路系統(tǒng)設(shè)計中不可或缺的重要組成部分。結(jié)合邊界掃描測試原理和大規(guī)模數(shù)字電路系統(tǒng)的主要特點,研究DFT實現(xiàn)的技術(shù)途徑,并將其用于某大規(guī)模數(shù)字電路系統(tǒng)的設(shè)計中。實現(xiàn)了該大規(guī)模數(shù)字電路系統(tǒng)的一鍵式互連故障診斷及可掃描網(wǎng)絡(luò)準(zhǔn)確定位,有效簡化了測試復(fù)雜度。
關(guān)鍵詞:大規(guī)模數(shù)字電路測試;邊界掃描;故障診斷
中圖分類號:TP216文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.02.010
引用格式:張昊.大規(guī)模數(shù)字電路系統(tǒng)可測性設(shè)計技術(shù)研究[J].微型機(jī)與應(yīng)用,2017,36(2):28-31,36.
0引言
隨著微電子、計算機(jī)領(lǐng)域新技術(shù)和新工藝的迅猛發(fā)展,數(shù)字電路系統(tǒng)處理能力越來越強(qiáng),其電路規(guī)模越來越大,系統(tǒng)中采用的DSP、PPC、FPGA等大規(guī)模數(shù)字芯片越來越多[13]。這類芯片大多采用BGA封裝、引腳數(shù)量多且間距小,使得數(shù)字系統(tǒng)上可供測試的節(jié)點間距越來越小。傳統(tǒng)示波器、邏輯分析儀等物理探針能夠接觸到的管腳越來越少,造成系統(tǒng)可測性急劇下降,測試復(fù)雜度急劇上升,為系統(tǒng)調(diào)試、故障檢測帶來巨大困難,尤其不利于大批量生產(chǎn)及檢測。
因此,提高系統(tǒng)的可測試性、簡化測試步驟是這類大規(guī)模數(shù)字電路設(shè)計過程中需要考慮的重要問題。而可測試性的提高必須在系統(tǒng)硬件電路設(shè)計階段就將測試性問題考慮進(jìn)去。文獻(xiàn)[4]、[5]中采用的設(shè)計方法均是直接利用單個器件的邊界掃描鏈進(jìn)行可測性設(shè)計和測試,沒有對整個系統(tǒng)的掃描鏈路進(jìn)行統(tǒng)一管理和規(guī)劃,對于提供系統(tǒng)的可測性和故障覆蓋率的提高具有一定局限性。本文結(jié)合大規(guī)模數(shù)字電路系統(tǒng)的特點,重點研究基于邊界掃描原理的結(jié)構(gòu)性可測性設(shè)計(DFT)在大規(guī)模數(shù)字系統(tǒng)硬件設(shè)計中的實現(xiàn)方法。
1邊界掃描測試原理
1.1邊界掃描標(biāo)準(zhǔn)
IEEE1149.1[6]邊界掃描標(biāo)準(zhǔn)是IEEE組織和JTAG組織于1990年共同推出的,目前該標(biāo)準(zhǔn)已成為數(shù)字集成電路與系統(tǒng)的主流測試技術(shù)。
邊界掃描標(biāo)準(zhǔn)僅使用4根或5根邊界掃描測試總線(TMS、TCK、TRST、TDI、TDO)而不必借助針床、示波器等其他設(shè)備即可以實現(xiàn)對電路的測試。它不僅能測試符合IEEE1149.1標(biāo)準(zhǔn)的數(shù)字芯片的輸入/輸出管腳狀態(tài),還能測試這類芯片內(nèi)部工作情況及芯片相關(guān)引腳的開路和斷路故障,從而實現(xiàn)高精度的故障定位。其原理圖如圖1所示。
圖1數(shù)字芯片邊界掃描測試原理圖邊界掃描測試標(biāo)準(zhǔn)在數(shù)字芯片管腳和芯片內(nèi)部邏輯之間(即集成電路的邊緣)增加了附加的掃描單元(BSC),通過邊界掃描單元控制和觀察芯片引腳的狀態(tài)。符合IEEE1149.1標(biāo)準(zhǔn)的數(shù)字芯片均可以在普通工作模式和邊界掃描模式之間自由切換。如圖1所示,在邊界掃描模式下各BSC以串行方式連接成掃描鏈,可實現(xiàn)測試向量的加載、采集以及其他數(shù)字芯片引腳的控制??梢酝ㄟ^輸入端(TDI)將測試向量以串行移位方式輸入(由SI移位到SO),設(shè)定芯片A的管腳狀態(tài),并從與之相連的芯片B管腳采集該響應(yīng);也可以通過設(shè)定芯片B的管腳狀態(tài),間接對芯片C的管腳進(jìn)行控制,最后從輸出端(TDO)將系統(tǒng)的測試響應(yīng)串行輸出到主控計算機(jī),進(jìn)行數(shù)據(jù)分析與處理,從而形成電路故障判據(jù)。在正常工作期間,這些附加的移位寄存器單元會直接被旁通(PI與PO直連),達(dá)到不影響數(shù)字芯片正常工作的目的。
1.2測試原理
利用上述原理,就可以通過邊界掃描單元,將指定的狀態(tài)從測試數(shù)據(jù)輸入端口(TDI)串行移位到某個器件的輸出引腳,這時可在與之相連器件的輸入引腳上采集到響應(yīng),再通過輸出端口(TDO)將該響應(yīng)與理論值進(jìn)行對比,從而實現(xiàn)芯片之間的互連診斷;還可通過掃描路徑串行移位將測試向量施加到某芯片的核心邏輯輸入端(PO),在輸出單元(PI)捕獲其核心邏輯的響應(yīng)向量,以檢測芯片的內(nèi)部故障。所有測試方法均圍繞邊界掃描單元,因此,這種測試方法又被稱為邊界掃描測試技術(shù)(BoundaryScan Test,BST)。
邊界掃描測試技術(shù)雖然大多用于對純數(shù)字電路進(jìn)行故障診斷,但在部分情況下還可用于混合數(shù)字電路的測試。主要通過邊界掃描技術(shù)控制數(shù)字芯片管腳狀態(tài),對混合型芯片施加激勵或采集響應(yīng)實現(xiàn)。
大規(guī)模數(shù)字電路系統(tǒng)大量采用了符合IEEE1149.1邊界掃描測試規(guī)范的數(shù)字芯片,如PPC、DSP、FPGA、TSI等,并且這類數(shù)字芯片大多采用BGA封裝使得物理探針無法直接接觸到管腳。這一特點為邊界掃描測試技術(shù)在大規(guī)模數(shù)字電路故障診斷中的應(yīng)用提供了前提條件。然而,在大規(guī)模數(shù)字電路系統(tǒng)的硬件電路設(shè)計過程中,如果不考慮結(jié)構(gòu)性DFT設(shè)計,就難以完全發(fā)揮邊界掃描測試技術(shù)在這類系統(tǒng)故障診斷中的作用而達(dá)到最終簡化測試步驟的目的。
2可測性設(shè)計的實現(xiàn)
所謂可測試性(DFT)設(shè)計,就是在進(jìn)行電路和系統(tǒng)設(shè)計的同時,考慮系統(tǒng)的測試問題。這里討論的可測性設(shè)計問題主要針對結(jié)構(gòu)性測試。結(jié)構(gòu)性邊界掃描測試是指通過大規(guī)模數(shù)字系統(tǒng)提供的IEEE1149.1測試總線實現(xiàn)數(shù)字芯片的互連故障診斷測試。
基于邊界掃描測試的可測性設(shè)計,首先必須考慮的是邊界掃描鏈路的連接方式、管理方法;其次,滿足IEEE1149.1標(biāo)準(zhǔn)的邊界掃描器件,如PPC、DSP、FPGA等,可工作于正常模式和邊界掃描模式,但某些芯片的邊界掃描測試引腳并沒有完全按照IEEE1149.1進(jìn)行設(shè)計,所以,在電路設(shè)計階段還應(yīng)當(dāng)考慮工作模式的切換方法,避免影響電路正常工作。此外,為進(jìn)一步提高電路故障測試覆蓋率,還應(yīng)當(dāng)考慮非邊界掃描器件的引腳測試問題,如BUFFER、TRANCEIVER、RAM等。
2.1邊界掃描鏈組織方式
掃描鏈路是邊界掃描測試的基礎(chǔ),邊界掃描鏈器件連接方式有三種:串行方式、并行方式和獨立路徑方式。串行方式是所有器件的TMS管腳和TCK管腳并聯(lián)在一起,前一級的TDO輸出管腳接到下一級的TDI輸入管腳的測試總線連接方式;并行方式是兩個或多個串行方式連接的JTAG掃描鏈并行連接,串行掃描鏈的TMS信號各自獨立,確保只有一個串行掃描鏈在指定的時間內(nèi)有掃描數(shù)據(jù)輸出;獨立路徑方式是所有器件的TMS和TCK連在一起,而每個器件的TDI和TDO相互獨立的測試總線連接方式。
2.1.1串行邊界掃描鏈
串行方式只需要一個JTAG接口即可連接到邊界掃描控制器上,并且不需要在模塊上增加額外電路,適合于邊界掃描器件、功能模塊較少且器件之間連接關(guān)系較簡單的系統(tǒng)。在系統(tǒng)級測試中,所有兼容IEEE1149.1數(shù)字芯片的邊界掃描鏈?zhǔn)菢?gòu)造一條完整的測試通路的最好的鏈。采用這種串聯(lián)方式可實現(xiàn)最簡單的系統(tǒng)級邊界掃描測試環(huán)路,如圖2所示。
串行連接方式主要缺點是系統(tǒng)如果有空槽或鏈路中有芯片損壞,整個邊界掃描鏈路就會斷開,導(dǎo)致掃描鏈路癱瘓,系統(tǒng)級邊界掃描測試也隨之癱瘓。此外,當(dāng)某些邊界掃描器件需要反復(fù)訪問時,邊界掃描單元串行移位操作特別繁瑣。比如,對較長掃描鏈上的某個可編程器件進(jìn)行編程時,比通常情況下需要執(zhí)行更多次的邊界掃描操作。有時串行移位所需要的額外數(shù)據(jù)位邊界掃描軟件無法自動產(chǎn)生,而手動修改特別耗時也容易出錯。因此,這種方式難以用在邊界掃描器件較多、系統(tǒng)較復(fù)雜的場合。
2.1.2并行邊界掃描鏈
當(dāng)模塊上邊界掃描器件較多時,將所有邊界掃描器件串聯(lián)到一起的方法雖然有助于簡化電路設(shè)計,但正如前文所述,較長的鏈路不便于邊界掃描測試軟件管理以及器件編程。更好的方法是將鏈路分割分組管理,采用并聯(lián)的連接方式。這種連接方式通過路由芯片間接對分支鏈路進(jìn)行管理,極大地簡化了串行移位操作,增加了掃描鏈路的靈活性。
并行邊界掃描鏈具有較強(qiáng)健壯性,各個模塊既可獨立進(jìn)行模塊級邊界掃描測試,也可互相配合進(jìn)行系統(tǒng)級邊界掃描測試。如圖3所示,每個通用處理模塊的掃描鏈路并聯(lián)在測試總線上的,即使某個模塊損壞,也不會影響到其余模塊的測試工作。實現(xiàn)方法是在每個通用處理模塊上增加一片邊界掃描路由芯片,把模塊內(nèi)邊界掃描鏈分成多個區(qū)段,每個區(qū)段都按照規(guī)則分配獨立的邊界掃描鏈。測試系統(tǒng)通過每個模塊上的邊界掃描路由芯片,管理通用處理模塊上的多個掃描鏈進(jìn)行邊界掃描測試。
2.1.3獨立的邊界掃描鏈
獨立的邊界掃描鏈路組織方式為每個模塊提供單獨的邊界掃描測試接口和測試總線,如圖4所示。這種連接方式通過各個模塊的邊界掃描測試接口即可實現(xiàn)模塊級邊界掃描測試。但是,由于各個模塊的邊界掃描鏈路相互隔開,相互配合實現(xiàn)系統(tǒng)級邊界掃描測試難度較高,操作較復(fù)雜,并且隨著模塊數(shù)量的增加,背板需要更多的空間用于測試總線,因此這種連接方式不適合規(guī)模較大的復(fù)雜系統(tǒng)。
2.2兼容性設(shè)計
通過一定的方法如邊界掃描使能管腳,支持邊界掃描測試的數(shù)字芯片能實現(xiàn)邊界掃描測試和正常工作模式的切換。為不影響模塊正常工作,在通用處理模塊設(shè)計階段,應(yīng)根據(jù)不同的數(shù)字芯片,進(jìn)行模塊正常工作模式和邊界掃描模式的兼容性設(shè)計。
2.2.1JTAG引腳的兼容性設(shè)計
某些數(shù)字芯片在傳統(tǒng)的5個JTAG引腳的基礎(chǔ)上增加了額外的引腳,對邊界掃描進(jìn)行控制。這時需要對這些數(shù)字芯片的JTAG引腳進(jìn)行兼容性設(shè)計,其實質(zhì)就是對額外的引腳進(jìn)行處理。例如,TI公司DSP的JTAG引腳在IEEE1149.1標(biāo)準(zhǔn)的基礎(chǔ)上增加了EMU0和EMU1腳。EMU0和EMU1在上拉時為正常工作和仿真調(diào)試狀態(tài),下拉時為JTAG邊界掃描狀態(tài)。在DSP正常工作和仿真調(diào)試時,兩個信號需做上拉處理,使JTAG接口無效,而在JTAG測試時則需要驅(qū)動其為低電平。部分邊界掃描器件還有邊界掃描功能使能管腳,如PEB20320的65腳(TEST),AMD的ELANSC400的Y11(BNDSCNEN),該管腳為高時,方可使能邊界掃描功能。對于此類芯片,要按照芯片手冊,并根據(jù)實際需要進(jìn)行上拉電阻或者下拉電阻處理。
如果器件的BSDL文件中要求器件的某些管腳在進(jìn)行JTAG接口測試時處于特定的邏輯電平,則這些管腳必須按照BSDL文件中的要求設(shè)置成特定的邏輯電平。這些要求一般都包含在BSDL文件實體部分(Entity)的兼容使能描述中。按照IEEE 1149.1標(biāo)準(zhǔn)的規(guī)定,兼容使能描述格式如下:
<compliance enable description>::=
attribute COMPLIANCE_PATTERNS of
<component name> : entity is <compliance pattern string>;
<compliance pattern string>::= " ( <compliance port list> ) ( <pattern list> )"
<compliance port list>::= <port ID> { , <port ID>}
<pattern list>::= <pattern> { , <pattern> }
例如在xc3s200an_ft256的BSDL文件中有這樣的描述:
-- Compliance-Enable Description
attribute COMPLIANCE_PATTERNS of
XC3S200AN_FT256 : entity is
"(PROG_B, PUDC_B) (10)";
則PROG_B、PUDC_B兩個管腳在進(jìn)行邊界掃描測試時必須使能為"10"。
2.2.2BSDL文件的兼容性設(shè)計
如果要在FPGA配置完成后對其進(jìn)行邊界掃描測試,則需要按照芯片引腳實際狀態(tài)修改其默認(rèn)的BSDL文件。對于XILINX公司的XC4000E/EX/XL/XLA、XC5200、Spartan、SpartanXL等系列的FPGA,還需要在邏輯設(shè)計中加入邊界掃描功能模塊,否則芯片只在配置之前可進(jìn)行邊界掃描測試。
3簇測試設(shè)計
除了兼容于IEEE1149.1標(biāo)準(zhǔn)的邊界掃描數(shù)字芯片,通用處理模塊還包括緩沖器、傳輸器、電平轉(zhuǎn)換器等數(shù)字芯片,這類非邊界掃描器件被統(tǒng)稱為“簇(Cluster)”。簇測試一般采用“虛擬測試通道”的方法,其基本思想是:利用具有邊界掃描機(jī)制的器件為不具有邊界掃描機(jī)制的器件提供測試通道,實現(xiàn)測試向量的加載和測試響應(yīng)的讀取,測試原理如圖5所示。
圖5中邊界掃描器件與簇器件1、2相連,通過邊界掃描測試總線可間接在測試點B處讀取簇器件1的輸出,對簇器件2施加激勵,并在其余電路配合下實現(xiàn)簇器件1和2的簇測試。
由于邊界掃描軟件無法獲得與邊界掃描控制器或被觀測網(wǎng)表相連的簇器件性質(zhì),因此,還必須為軟件提供這些器件的模型,即簇模型。簇模型提供了非邊界掃描器件的一些基本信息。例如,非邊界掃描器件的某個引腳是輸入、輸出、三態(tài)還是雙向的。對于具有三態(tài)和雙向性質(zhì)的引腳,在簇模型中應(yīng)該提供控制引腳狀態(tài)的方法,便于邊界掃描控制器在必要的時候改變器件的引腳狀態(tài)來避免總線競爭。
簇模型的引入還可間接增加電路故障測試覆蓋率。某些特別的非邊界掃描器件,如串聯(lián)電阻或驅(qū)動器,具有直通特性,因此器件的輸入邏輯值可以不變地輸出。根據(jù)這個特點,可利用簇模型將兩個分開的網(wǎng)表合并為一個連續(xù)的網(wǎng)表,達(dá)到降低網(wǎng)表規(guī)模、增加測試覆蓋率的目的。
4實驗結(jié)果
將上述可測性設(shè)計方法用于某大規(guī)模數(shù)字系統(tǒng)的設(shè)計中,該系統(tǒng)由多個數(shù)字模塊構(gòu)成,各個模塊通過背板總線互聯(lián),模塊內(nèi)部大量采用了FPGA、DSP、PPC等滿足邊界掃描標(biāo)準(zhǔn)的數(shù)字芯片,邊界掃描鏈路拓?fù)浣Y(jié)構(gòu)采用并行掃描鏈,各個模塊的邊界掃描鏈路并聯(lián)到背板的邊界掃描測試總線上。
利用邊界掃描測試系統(tǒng)對該系統(tǒng)進(jìn)行互聯(lián)故障診斷測試。邊界掃描測試系統(tǒng)由圖6所示三個部分構(gòu)成,分別為運行在主控計算機(jī)上的邊界掃描測試軟件、邊界掃描控制器以及待測系統(tǒng)。
表1是采用DFT前后,故障覆蓋率、定位精度等指標(biāo)的對比。由表1可知,采用該技術(shù)后,系統(tǒng)可測試性大幅提高。采用該技術(shù)前,系統(tǒng)內(nèi)部的邊界掃描鏈路沒有進(jìn)行一定的組織,使得各個支持邊界掃描的數(shù)字芯片之間無法進(jìn)行協(xié)同掃描,導(dǎo)致某些管腳無法進(jìn)行讀寫對比。由于DDR等存儲芯片均被當(dāng)做普通器件,通過控制與之相連的數(shù)字芯片的邊界掃描寄存器,產(chǎn)生測試序列,選取地址并進(jìn)行讀寫內(nèi)容校驗即可,所以采用通用測試程序即可完成存儲器測試。采用該技術(shù)前,每個模塊必須取下對每個鏈路進(jìn)行單獨測量,而改進(jìn)過后無需取下模塊,通過背板的測試總線即可實現(xiàn)所有
模塊的診斷。
為驗證采用DFT技術(shù)后的待測系統(tǒng)可利用邊界掃描測試系統(tǒng)實現(xiàn)管腳級故障定位的精度,將DFT設(shè)計后的待測系統(tǒng)中某個模塊的DSP與FPGA之間的某條互連線通過跳線設(shè)置為短路,利用邊界掃描系統(tǒng)進(jìn)行測試,故障定位圖如圖7所示,圖7中十字標(biāo)注出來的位置即為短路管腳,與實際情況相符。
5結(jié)論
大規(guī)模數(shù)字電路結(jié)構(gòu)復(fù)雜、集成度高。其采用的數(shù)字芯片間距小、物理探針測試點少,調(diào)試、故障診斷難度大、復(fù)雜度高。得益于IEEE1149.1兼容的這類數(shù)字芯片,邊界掃描測試技術(shù)在提高系統(tǒng)可測性、簡化系統(tǒng)測試方面具有較大優(yōu)勢。該技術(shù)與系統(tǒng)可測性設(shè)計(DFT)技術(shù)配合,可搭建結(jié)構(gòu)簡單、診斷精度高的故障測試系統(tǒng)。本文分別從掃描鏈路結(jié)構(gòu)選擇、器件建模方法、模塊兼容性設(shè)計幾
個方面研究了超大規(guī)模數(shù)字電路的結(jié)構(gòu)性可測性(DFT)設(shè)計實現(xiàn)方法,并在某大規(guī)模數(shù)字系統(tǒng)中成功應(yīng)用了該技術(shù),實現(xiàn)了一鍵式互連故障診斷及可掃描網(wǎng)絡(luò)故障精確定位。該技術(shù)對邊界掃描測試技術(shù)在大規(guī)模數(shù)字電路故障測試中應(yīng)用具有一定的指導(dǎo)作用。
參考文獻(xiàn)
?。?] 邵龍,劉金山. 基于TMS320C6455的大尺寸非連續(xù)代碼加載方法[J].電子技術(shù)應(yīng)用,2012,38(11):26-27.
[2] 鐘瑜,陳穎,盧建川.新一代航空數(shù)據(jù)鏈端機(jī)的SCA架構(gòu)設(shè)計[J].電訊技術(shù),2012,52(4):447-451.
?。?] 陳穎.從復(fù)雜系統(tǒng)觀點看模塊級綜合集成航空電子結(jié)構(gòu)[J].電訊技術(shù),2009,49(4):98102.
?。?] 蘇波.基于邊界掃描的混合信號電路可測性結(jié)構(gòu)設(shè)計[J].電子技術(shù)應(yīng)用,2012,38(10):68-71.
?。?] 陳圣儉,徐磊,陳健.基于FPGA的嵌入式邊界掃描總線控制系統(tǒng)設(shè)計[J].計算機(jī)測量與控制,2008,16(2): 159-162.
?。?] IEEE Std 1149.11990.Test access port and boundaryscan architecture[S].2001.