文獻(xiàn)標(biāo)識(shí)碼: 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ù)量正在逐年增加,,對(duì)測試的要求也會(huì)越來越高,因此,,是否可以提高測試效率日趨成為集成電路產(chǎn)業(yè)的關(guān)鍵,。
JTAG(聯(lián)合測試行動(dòng)小組)希望可以找到一個(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測試平臺(tái)對(duì)電路進(jìn)行測試,,雖然可以正確地實(shí)現(xiàn)測試任務(wù),但若對(duì)大規(guī)模電路進(jìn)行測試則會(huì)消耗很多的測試時(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信號(hào)用來控制狀態(tài)機(jī)的轉(zhuǎn)換,TDI,、TDO分別為數(shù)據(jù)的輸入和輸出,。TCK和TRST分別為時(shí)鐘信號(hào)和復(fù)位信號(hào)。
TAP的狀態(tài)機(jī)如圖2所示,,狀態(tài)機(jī)的轉(zhuǎn)換是由TMS所控制的,,整個(gè)TAP Controller 在TCK的驅(qū)動(dòng)下,通過TMS=0,,1會(huì)分別指向不同的次狀態(tài),。
本設(shè)計(jì)采用IEEE1149中TAP的相關(guān)概念來進(jìn)行數(shù)據(jù)寄存器和指令寄存器的配置以此搭建測試平臺(tái)。
2 IEEE1500 wrapper的設(shè)計(jì)[8]
IEEE工作組提出了一種稱為外殼(wrapper)的結(jié)構(gòu),,它是IEEE1500標(biāo)準(zhǔn)對(duì)比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]。
該外殼在正常工作模式情況下,由于測試功能未被啟動(dòng),,完全不會(huì)影響到芯片的正常邏輯功能,。具體的實(shí)現(xiàn)是通過相應(yīng)的bypass功能。外殼wrapper通過bypass寄存器單純將外部電路與內(nèi)部的function IP正常連接,。正常模式下,,輸入被打入外殼后被輸入到bypass寄存器1拍后隨后從輸出端口輸出。只有在測試模式下才會(huì)將輸入輸出連接入相應(yīng)的掃描鏈,。
3 并行配置通用寄存器的研究
通過在不同時(shí)鐘域設(shè)計(jì)并行總線,,來滿足同時(shí)并行配置通用寄存器的要求。每個(gè)時(shí)鐘域同時(shí)含有總線WPI,,一旦輸入相應(yīng)的并行配置指令,,WPI同時(shí)作為所有時(shí)鐘域通用寄存器的輸入,對(duì)通用寄存器進(jìn)行配置,,對(duì)其做如下設(shè)計(jì)的主要目的是可以提高測試效率,,滿足同時(shí)對(duì)通用寄存器配置的需要。其結(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控制器對(duì)IR、DR的訪問實(shí)現(xiàn)verdi波形圖如圖5所示。
觀察該波形圖可知,,該波形圖依次體現(xiàn)了TAP對(duì)指令寄存器的訪問和對(duì)數(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同理,。其中所有測試信號(hào)均包上了一層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í)間會(huì)隨著clock domain的增加而增加,,會(huì)消耗大量的測試時(shí)間,,在大規(guī)模集成電路中,所需要配置通用寄存器的時(shí)鐘域會(huì)非常多,,通用寄存器數(shù)同樣也很多,,會(huì)消耗大量的資源。
表2為增加了不同時(shí)鐘域并行配置通用寄存器結(jié)構(gòu)的測試控制器配置通用寄存器消耗的仿真時(shí)間隨時(shí)鐘域數(shù)目增加的變化,。
如上表我們可以清楚地看到,,對(duì)比表1大量節(jié)省了配置通用寄存器的時(shí)間,并且節(jié)省的測試時(shí)間會(huì)隨著寄存器數(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í)提出了一種針對(duì)多時(shí)鐘域并行配置寄存器的方法來提高測試效率,,縮短測試時(shí)間,,該方法節(jié)省的測試時(shí)間會(huì)隨寄存器數(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的存儲(chǔ)器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