文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.007
中文引用格式: 焦芳,張玥,嚴(yán)韞瑤,等. 多時(shí)鐘域并行測試控制器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(9):29-31,35.
英文引用格式: Jiao Fang,Zhang Yue,Yan Yunyao,et al. Design of parallel test controller applied to multiple clock domains[J].Application of Electronic Technique,2016,42(9):29-31,35.
0 引言
隨著集成電路產(chǎn)業(yè)的發(fā)展,設(shè)計(jì)、制造、測試已成為電路中十分關(guān)鍵的技術(shù)。測試成本伴隨著集成電路規(guī)模的增大,已經(jīng)占到整個(gè)生產(chǎn)制造成本的三成以上,并且還有向上增長的趨勢[1]。如圖1[2]顯示了近幾年測試數(shù)據(jù)量的增加。
從上圖可以看出,測試數(shù)據(jù)量正在逐年增加,對測試的要求也會越來越高,因此,是否可以提高測試效率日趨成為集成電路產(chǎn)業(yè)的關(guān)鍵。
JTAG(聯(lián)合測試行動小組)希望可以找到一個(gè)通用的解決方案來處理測試問題。該機(jī)構(gòu)推出了IEEE 1149.1這個(gè)標(biāo)準(zhǔn),是IEEE推出用來進(jìn)行芯片測試的一個(gè)標(biāo)準(zhǔn),現(xiàn)在又發(fā)展更新出了IEEE1500及IEEE1687,而業(yè)內(nèi)多使用IEEE1149及IEEE1500作為測試標(biāo)準(zhǔn)[3]。
陳壽宏[4]等通過IEEE1500搭建SOC測試平臺對電路進(jìn)行測試,雖然可以正確地實(shí)現(xiàn)測試任務(wù),但若對大規(guī)模電路進(jìn)行測試則會消耗很多的測試時(shí)間,增加測試成本。談恩民等[5]通過使用IEEE1500 wrapper的相關(guān)概念設(shè)計(jì)出可以支持sram故障測試的測試控制器。Elvira K[6]等也認(rèn)為基于IEEE1500標(biāo)準(zhǔn)可以提高測試質(zhì)量。本設(shè)計(jì)中同樣采用了IEEE1149、IEEE1500的相關(guān)概念,并加入了不同時(shí)鐘域并行配置通用寄存器的概念,在超大規(guī)模集成電路中可以提高測試效率,節(jié)省測試時(shí)間。
1 TAP控制器的設(shè)計(jì)[7]
引言提到的IEEE 1149.1標(biāo)準(zhǔn)里,有兩類非常重要的寄存器:數(shù)據(jù)寄存器和指令寄存器。TAP的主要功能就是用來訪問芯片的所有數(shù)據(jù)寄存器和指令寄存器。TAP結(jié)構(gòu)的TMS信號用來控制狀態(tài)機(jī)的轉(zhuǎn)換,TDI、TDO分別為數(shù)據(jù)的輸入和輸出。TCK和TRST分別為時(shí)鐘信號和復(fù)位信號。
TAP的狀態(tài)機(jī)如圖2所示,狀態(tài)機(jī)的轉(zhuǎn)換是由TMS所控制的,整個(gè)TAP Controller 在TCK的驅(qū)動下,通過TMS=0,1會分別指向不同的次狀態(tài)。
本設(shè)計(jì)采用IEEE1149中TAP的相關(guān)概念來進(jìn)行數(shù)據(jù)寄存器和指令寄存器的配置以此搭建測試平臺。
2 IEEE1500 wrapper的設(shè)計(jì)[8]
IEEE工作組提出了一種稱為外殼(wrapper)的結(jié)構(gòu),它是IEEE1500標(biāo)準(zhǔn)對比IEEE1149標(biāo)準(zhǔn)的重大創(chuàng)新和突破。
wrapper標(biāo)準(zhǔn)測試殼結(jié)構(gòu)包括旁路寄存器(WBY)、指令寄存器(WIR)、邊界寄存器(WBR)等。該結(jié)構(gòu)殼的特點(diǎn)在于可以增強(qiáng)內(nèi)部不可見節(jié)點(diǎn)的可觀察性,提高測試質(zhì)量。wrapper的結(jié)構(gòu)圖如圖3所示[9]。
該外殼在正常工作模式情況下,由于測試功能未被啟動,完全不會影響到芯片的正常邏輯功能。具體的實(shí)現(xiàn)是通過相應(yīng)的bypass功能。外殼wrapper通過bypass寄存器單純將外部電路與內(nèi)部的function IP正常連接。正常模式下,輸入被打入外殼后被輸入到bypass寄存器1拍后隨后從輸出端口輸出。只有在測試模式下才會將輸入輸出連接入相應(yīng)的掃描鏈。
3 并行配置通用寄存器的研究
通過在不同時(shí)鐘域設(shè)計(jì)并行總線,來滿足同時(shí)并行配置通用寄存器的要求。每個(gè)時(shí)鐘域同時(shí)含有總線WPI,一旦輸入相應(yīng)的并行配置指令,WPI同時(shí)作為所有時(shí)鐘域通用寄存器的輸入,對通用寄存器進(jìn)行配置,對其做如下設(shè)計(jì)的主要目的是可以提高測試效率,滿足同時(shí)對通用寄存器配置的需要。其結(jié)構(gòu)簡圖如圖4所示。
4 結(jié)果分析
下面將從IEEE1149中tap的實(shí)現(xiàn),IEEE1500中wrapper的實(shí)現(xiàn),以及多時(shí)鐘域并行配置通用寄存器的實(shí)現(xiàn)這3個(gè)方面分析結(jié)果。
4.1 IR、DR的訪問實(shí)現(xiàn)
TAP控制器對IR、DR的訪問實(shí)現(xiàn)verdi波形圖如圖5所示。
觀察該波形圖可知,該波形圖依次體現(xiàn)了TAP對指令寄存器的訪問和對數(shù)據(jù)寄存器訪問的實(shí)現(xiàn),完成了如圖2所示TAP狀態(tài)機(jī)的轉(zhuǎn)換,成功實(shí)現(xiàn)了IEEE1149 TAP的相關(guān)功能。
4.2 IEEE1500 wrapper的仿真實(shí)現(xiàn)
IEEE1500 wrapper實(shí)現(xiàn)的仿真電路圖如圖6所示。
上面一系列仿真圖是帶有wrapper的基于IEEE1500標(biāo)準(zhǔn)測試器的仿真實(shí)現(xiàn)。與IEEE1149相比它增加了一個(gè)SelectWIR signal,從而只用一個(gè)CAPTUTURE_DR即可實(shí)現(xiàn)CAPUTURE_IR及CAPTURE_DR的功能。SHIFT_DR、UPDATE_DR同理。其中所有測試信號均包上了一層wrapper。
上述仿真圖實(shí)現(xiàn)了完整的指令寄存器及數(shù)據(jù)寄存器的訪問實(shí)現(xiàn)。
4.3 并行配置通用寄存器的仿真實(shí)現(xiàn)
實(shí)現(xiàn)并行配置通用寄存器的仿真圖如圖7所示。
所配置的寄存器是5個(gè)clock domain均有的通用寄存器,首先不采用并行配置的方法,即各個(gè)時(shí)鐘域以串行的方式配置其值均為’h26e,完成5個(gè)時(shí)鐘域通用寄存器的配置共耗時(shí)間0.15 ns;而當(dāng)采用多個(gè)時(shí)鐘域并行配置通用寄存器的方法,并行配置通用寄存器值為’h34d,則可同時(shí)完成5個(gè)時(shí)鐘域的配置,節(jié)省掉串行配置寄存器所耗時(shí)間,可以提高測試效率。
上圖僅以5個(gè)時(shí)鐘域舉例,然而在現(xiàn)階段的大規(guī)模集成電路設(shè)計(jì)中,所用到時(shí)鐘域往往有幾十個(gè),可以推測出此種配置通用寄存器的方法可以大大地節(jié)省測試時(shí)間。
4.4 測試時(shí)間
表1為普通的測試控制器配置通用寄存器消耗的仿真時(shí)間隨時(shí)鐘域數(shù)目增加的變化(所有時(shí)鐘域串行配置)。普通的基于IEEE1500標(biāo)準(zhǔn)的測試控制器配置通用寄存器時(shí),所需要消耗的時(shí)間會隨著clock domain的增加而增加,會消耗大量的測試時(shí)間,在大規(guī)模集成電路中,所需要配置通用寄存器的時(shí)鐘域會非常多,通用寄存器數(shù)同樣也很多,會消耗大量的資源。
表2為增加了不同時(shí)鐘域并行配置通用寄存器結(jié)構(gòu)的測試控制器配置通用寄存器消耗的仿真時(shí)間隨時(shí)鐘域數(shù)目增加的變化。
如上表我們可以清楚地看到,對比表1大量節(jié)省了配置通用寄存器的時(shí)間,并且節(jié)省的測試時(shí)間會隨著寄存器數(shù)目、時(shí)鐘域數(shù)目的增加而增加,可以極大地提高測試效率。
5 結(jié)論
本文詳細(xì)介紹了IEEE1149中TAP及TAP controller,以及IEEE 1500 wrapper的相關(guān)概念,并成功實(shí)現(xiàn)了基于以上標(biāo)準(zhǔn)的測試控制器的設(shè)計(jì),IEEE1500的wrapper的設(shè)計(jì)實(shí)現(xiàn)增強(qiáng)了測試的可控制性和可觀測性。同時(shí)提出了一種針對多時(shí)鐘域并行配置寄存器的方法來提高測試效率,縮短測試時(shí)間,該方法節(jié)省的測試時(shí)間會隨寄存器數(shù)、時(shí)鐘域數(shù)目的增加而增加。
參考文獻(xiàn)
[1] 吳明行,韓銀和,李曉維.基于CTL的SOC IP核的測試技術(shù)[J].計(jì)算機(jī)工程與科學(xué),2005(4):43-45.
[2] 向剛.SoC測試優(yōu)化及其應(yīng)用技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.
[3] 薛利興,張展,左德承,等.基于JTAG的硬件故障注入工具[J].智能計(jì)算機(jī)與應(yīng)用,2011(4):40-43,48.
[4] 陳壽宏,顏學(xué)龍,陳凱.基于IEEE 1500的數(shù)字SOC測試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測量與控制,2013(5):1140-1142.
[5] 談恩民,馬江波,秦昌明.SoC的存儲器Wrapper設(shè)計(jì)及故障測試[J].微電子學(xué)與計(jì)算機(jī),2011(6):122-125.
[6] ELVIRA K,MARYNA K,OLESIA G,et al.Fault Coverage Improving for SoC Based on IEEE1500 SECT standard. IEEE; 2006.
[7] IEEE Standard Test Access Port and Boundary-Scan Architecture.IEEE Std 1149.1-2001.2001
[8] IEEE 1500Group.IEEE Standard Testability Method for Embed-ded Core Based Integrated Circuits.2005
[9] 韓貴博.基于測試控制器的SOC低功耗優(yōu)化設(shè)計(jì)方法的研究[D].哈爾濱:哈爾濱理工大學(xué),2012