基于JTAG的星型掃描接口的設(shè)計及其仿真
邊界掃描測試技術(shù)飛速發(fā)展,測試與調(diào)試功能不斷增強,硬件IP模塊向集成多個內(nèi)核方向發(fā)展,以往芯片中傳統(tǒng)的測試訪問端口(TAP)中嵌入單一的測試訪問端口控制器(TAPC)逐漸被系統(tǒng)芯片中嵌入多個TAPC所取代。為使單芯片中集成多TAPC的操作規(guī)范標準化,2009年提出的新的測試標準IEEE 1149.7。為解決系統(tǒng)集成復(fù)雜度越來越高所帶來的測試調(diào)試任務(wù)困難,標準規(guī)范了一種支持星型掃描功能的IEEE 1149.7測試訪問端口(在本文中稱為TAP.7接口),其接口在原有的IEEE1149.1端口(JTAG)器件的基礎(chǔ)上提供新的功能與特征[1]。目前,大量的集成系統(tǒng)和芯片接口都為IEEE 1149.1標準規(guī)范測試訪問端口(TAP.1接口),既滿足復(fù)雜系統(tǒng)測試的需要,又避免了重復(fù)開發(fā)所帶來的浪費,最大化地重復(fù)利用目前已有的IEEE 1149.1 IP,基于原有JTAG器件的星型掃描技術(shù)的研究非常有應(yīng)用價值和市場需求,本文針對支持星型掃描功能的接口進行研究、設(shè)計及驗證。
1 IEEE 1149.7標準簡介
IEEE 1149.7標準以IEEE 1149.1-2001邊界掃描標準為基礎(chǔ),保持與之兼容的同時還增加新特性以支持測試與調(diào)試的擴展功能。標準規(guī)范了新特性的IEEE 1149.7測試訪問端口(在本文中稱為TAP.7接口)結(jié)構(gòu)和控制時序邏輯,與IEEE 1149.1標準規(guī)范測試訪問端口(TAP.1接口)所不同的是芯片中可嵌入多個測試存取端口控制器(TAPC),并給它們劃分等級。標準中規(guī)范的TAPC等級由高到低包括:ADTAPC、CLTAPC和EMTAPC,它們在接口中成串型連接,且高等級的TAPC控制和管理低等級的TAPC。在功能特性方面:TAP.7接口定義了T0~T5 6個功能層次,每一層向上體現(xiàn)升級特性,向下體現(xiàn)兼容特性。T0層在啟動時提供與TAP.1接口所規(guī)定的操作行為;T1層主要增加了電源控制功能;T2層增加了芯片級旁路功能,同時提供一種“熱連接保護”作用;T3層增加了支持4-線星型拓撲掃描的機制;T4層提供了支持2-引腳連接方式的功能特性; T5層增加數(shù)據(jù)傳輸功能以及支持邊界掃描以外的其他功能。
2 基于JTAG的TAP.7接口的升級特性
IEEE 1149.7測試標準定義了一種以IEEE 1149.1測試標準為基礎(chǔ)的調(diào)試及測試系統(tǒng)(DTS)與目標系統(tǒng)(TS)之間的連接。此連接表現(xiàn)為:在IEEE 1149.1標準規(guī)范測試訪問端口[2](在本文中簡稱TAP.1接口)上添加一個由IEEE 1149.7標準規(guī)范的標準控制邏輯來實現(xiàn)新的功能特性(在本文中稱添加層為TAP.7控制器)。TAP.7控制器主要為IEEE 1149.7標準規(guī)范的測試調(diào)試信號與IEEE 1149.1標準規(guī)范IP的TAP.1接口提供兼容的測試調(diào)試接口(本文中簡稱TAP.7接口),這樣可在原有TAP.1接口上對調(diào)試與測試新功能升級,其TAP.7接口升級特性的測試連接框圖如圖1所示。
如圖1所示,TAP.7接口升級層中TAP控制器為ADTAPC(在本文中簡稱為TAPC),主要完成對TAP.7信號的控制操作,從而實現(xiàn)新的升級功能特性,并將TAP.7信號的測試與調(diào)試邏輯解碼為符合TAP.1接口的時序信號,從而完成對IEEE 1149.1器件TAPC的控制。IEEE 1149.1 IP也可認為是具有符合IEEE 1149.1測試標準的測試JTAG口的器件[3] (在本文中以后簡稱為STL),其中包含的TAP控制器(在本文中統(tǒng)稱為芯片級TAPC即CLTAPC)是完全符合IEEE 1149.1測試標準規(guī)范的TAP接口,主要完成器件的測試與調(diào)試邏輯的控制,從而完成相應(yīng)的測試與調(diào)試任務(wù)。
3 星型掃描技術(shù)接口的原理及設(shè)計
完整的TAP.7接口升級層包括RSU、APU、EPU。RSU(復(fù)位選擇單元)提供復(fù)位操作和TAP.7控制器選擇取消操作。EPU(擴展協(xié)議單元)主要為T1-T3層 TAP.7接口提供了一個IEEE 1149.1 接口。APU為T4-T5層提供窄式(2-引腳)或?qū)捠?4-引腳)TAP.7接口,為高級協(xié)議操作提供硬件支撐。根據(jù)實際功能的設(shè)計需求,TAP.7控制器可以由RSU、EPU和APU 中的任意組合構(gòu)成,為TAP.7信號與STL的TAP.1接口之間提供了一座橋梁,且RSU、APU和EPU層并不影響STL掃描路徑的長度。
3.1 星型掃描功能接口硬件設(shè)計
4-線星型掃描拓撲功能是TAP.7接口T0~T3層所定義的,組成星型拓撲的技術(shù)分支是廣義的,可包括:TAP.7接口串型拓撲的技術(shù)分支、4線星型拓撲的技術(shù)分支、TAP.1接口的串型技術(shù)分支和其他的技術(shù)分支。本文主要是對前兩種技術(shù)分支共享DTS連接的掃描功能進行研究。根據(jù)TAP.7功能擴展性和硬件層次性,星型掃描功能的TAP.7接口硬件層主要包括:RUS和EPU單元。其硬件設(shè)計原理框圖如圖2所示。
圖2中,RSU單元層主要實現(xiàn)TAP.7控制器的在線或離線狀態(tài)的控制操作,可以將不必要進行測試調(diào)試的控制器置于離線狀態(tài),大大優(yōu)化了測試調(diào)試操作。在星型掃描拓撲或多種掃描拓撲技術(shù)分支共享DTS操作時, RSU單元提供了選擇不同技術(shù)分支和控制器的功能。EPU單元的功能是將TAP.7信號解碼成符合IEEE 1149.1標準規(guī)范的TAP.1信號,實現(xiàn)對CLTAPC的控制和完成STL的調(diào)試測試任務(wù)。
3.2 星型掃描技術(shù)接口設(shè)計原理
星型掃描的應(yīng)用,可以優(yōu)化掃描鏈的長度,它是并行的連接方式,因此在TAP可以靈活地添加或移出測試系統(tǒng)(比如:插卡式構(gòu)架)中,星型掃描拓撲是很有效的。支持星型掃描的TAP.7接口具備以下功能:(1)支持星型掃描拓撲中的尋址能力。(2)JTAG接口中的TDO數(shù)據(jù)的驅(qū)動沖突保護。(3)在多技術(shù)分支共享DTS的操作中,提供選擇不同技術(shù)分支的操作。下面對這些功能的原理進行詳細介紹。
3.2.1 TAPC停泊狀態(tài)
TAPC等級制度中存在一個稱為“parking”(停泊)的TAPC 狀態(tài),當某一等級TAPC的狀態(tài)處于停泊時,其高等級TAPC可操作,而該等級以及低等級TAPC不能操作,它的狀態(tài)不隨高等級TAPC的操作同步改變。某一等級TAPC控制的掃描鏈不作用時,TAPC的狀態(tài)就可以停泊。選擇與取消用來描述在任何等級中TAPC的掃描與停泊狀態(tài)。支持星型掃描功能的TAP.7接口有TAP.7控制器的ADTAPC和STL的CLTAPC兩個TAPC等級,其ADTAPC可以在任何狀態(tài)下停泊,CLTAPC 狀態(tài)可停泊的狀態(tài)包括Test-Logic-Reset、Run-Test/Idle和Pause-XR狀態(tài)。本文中取消與選擇的設(shè)計,用門限時鐘信號來達到對ADTAPC與CLTAC的選擇與取消操作。
3.2.2 選擇與取消
在IEEE 1149.7標準規(guī)范中,選擇與取消功能的實現(xiàn)方法一般包括取消選擇逃脫和取消選擇警報。在本文中主要設(shè)計和驗證了逃脫的操作。逃脫(Escapes)就是在1 bit周期內(nèi),不改變正常的信息交換情況下,將控制信息加載到正常傳輸?shù)腡CK(C)與TMS(C)信號上。TAP.7控制器探測TCK為邏輯“1”時TMS邊沿的數(shù)目值從而作為逃脫產(chǎn)生的條件。當邊沿數(shù)為4或5時,產(chǎn)生一個取消逃脫,使控制器離線;當邊沿數(shù)為6或7時,產(chǎn)生一個選擇逃脫,告知隨之而來的是一串選擇序列[4],如符合選擇序列標準,將選擇此控制器或控制器所在的技術(shù)分支并將它們置于在線狀態(tài),反之將置于離線。選擇序列部分包括:技術(shù)相關(guān)部分與技術(shù)無關(guān)部分。其中技術(shù)無關(guān)部分指定要被選擇的技術(shù)分支,技術(shù)相關(guān)部分響應(yīng)在線申請和初始化在線設(shè)備。選擇序列具體功能及格式如圖3所示。
3.2.3 CID分配
在傳統(tǒng)的串型掃描拓撲中,TAP控制器在串型掃描鏈中與DTS的相對位置提供了直接尋址能力,使用星型拓撲時,串型掃描拓撲提供的尋址能力消失了,因為TAP控制器在掃描鏈中具有相同的相對位置。控制器地址(TCA)可由IEEE 1149.1 器件的識別碼(27 bit)與節(jié)點識別碼(8 bit)組成。在實際應(yīng)用中,TS中的TAP數(shù)一般很少,這樣35 bit的TCA顯得開銷過大。從而,可利用一條TAP.7命令[5]CIDA分配一個4 bit的控制器識別碼(CID)給TAP.7控制器,也可利用一條TAP.7命令CIDD取消控制器的CID。DTS可動態(tài)地分配CID到不同的TAP.7控制器,因此16個CID可被大于16的TAP.7控制器使用。
3.2.4 SSD
掃描選擇指令(SSD)添加到TAP.7 控制器功能中用以提供一種在Pause-xR 或 Run-Test/Idle 狀態(tài)停泊CLTAPC 的方式,它可防止星型掃描拓撲的TDO數(shù)據(jù)驅(qū)動沖突并提供與串型拓撲等價的掃描性能。SSD有三種類型:SSD_DA取消所有的CLTAPC;SSD_SA選擇所有的CLTAPC;SSD_SOT或 SSD_SOC,根據(jù)TCA或CID選擇目標CLTAPC。SSD_SOT與SSD_SOC 指令在不同的ADTAPC狀態(tài)下有不同的操作:在Run-Test/Idle狀態(tài)下, SSD傳遞的CID 或 TCA 與某一TAP.7控制器的CID或TCA匹配時,將選擇這一TAP.7控制器的CLTAPC,但不對其他CLTAPC進行操作;但在Pause-XR狀態(tài)下,它將選擇目標CLTAPC,同時取消非目標CLTAPC。SSD必須在SSDE寄存器激活并且掃描格式支持星型掃描的情況下才能激活使用,SSD使用TDI數(shù)據(jù)來同時選擇與取消一個或多個CLTAPC。
4 星型掃描技術(shù)接口的設(shè)計及驗證
在本文中,星型掃描技術(shù)接口是基于JTAG接口,根據(jù)硬件升級層次化的方法進行設(shè)計,并利用FPGA硬件平臺進行設(shè)計和QuartusⅡ軟件進行仿真驗證。此接口的特點是在原有的TAP.1接口上添加了支持星型掃描技術(shù)的功能,此功能中最為關(guān)鍵的技術(shù)是技術(shù)分支的選擇和串型等價掃描。下面重點對它們進行設(shè)計驗證。
4.1 技術(shù)分支選擇的設(shè)計及驗證
選擇與取消逃脫的探測和一串選擇序列完成技術(shù)分支的選擇操作。TAP.7控制器通過掃描拓撲訓(xùn)練識別不同分支所在的位置。一旦訓(xùn)練完成,每一技術(shù)分支呈現(xiàn)出單獨的技術(shù)特性,提供技術(shù)分支選擇的基礎(chǔ)。在選擇序列中包含了選擇技術(shù)分支的信息TOPOL寄存器值,不同的技術(shù)分支類型具有不同的TOPOL寄存器值。只有技術(shù)分支被選擇,它才能被操作。技術(shù)分支選擇的流程設(shè)計如圖4所示。
下面分別就長型選擇序列和短型選擇序列對技術(shù)分支選擇功能進行仿真驗證, 其驗證仿真結(jié)果如圖5所示。
4.2 串型等價掃描的設(shè)計及驗證
在星型拓撲掃描技術(shù)中,提供了一種串型等價掃描的方法,這樣既完成了星型掃描功能,又實現(xiàn)了TDO數(shù)據(jù)的驅(qū)動沖突保護。其具體設(shè)計過程為:
(1)選擇所有的分支;
(2)選擇所有分支中的所有CLTAP,并指明標準協(xié)議的應(yīng)用;
(3)選擇單一的技術(shù)分支,并將狀態(tài)推進至Run-Test/Idle狀態(tài);
(4)使用SSD指令選擇技術(shù)分支中不參與串型等價掃描的STL,使它們成為閑置組成員(其余的 STL 為掃描組成員);
(5)推進掃描組中的STL的CLTAPC狀態(tài)移入Pause-xR 狀態(tài);
(6)使用SSD來識別一個掃描目標的STL,并對目標STL進行移位掃描,再回到Pause-xR狀態(tài),但不經(jīng)過Update-xR狀態(tài),使其他不是閑置組成員的STL成為Pause-xR組成員(這使得被SSD識別的STL成為掃描組唯一的成員);
(7)對技術(shù)分支中不是閑置組成員的每一個STL重復(fù)步驟(6);
(8)待技術(shù)分支中所有非閑置組成員完成掃描移位后,選擇技術(shù)分支中非閑置組的CLTAPC經(jīng)過Update-xR狀態(tài),并最終回到Pause-xR狀態(tài),中間不經(jīng)過Shift-xR 狀態(tài);
(9)重復(fù)步驟(6)、(7),完成整個單一技術(shù)分支的掃描;
(10)重復(fù)步驟(3)至(9),完成所有技術(shù)分支的掃描;
(11)將所有的CLTAPC狀態(tài)同步到ADTAPC的狀態(tài),完成串型等價掃描的整個過程。
串型等價掃描的設(shè)計流程如圖6所示。
串型等價掃描的關(guān)鍵是SSD操作,本文中,以單個TAP.7控制器和CLTAPC為例,對SSD指令的功能仿真驗證,結(jié)果分別如圖7所示。
邊界掃描測試技術(shù)廣泛應(yīng)用于超大規(guī)模集成電路中,測試標準的發(fā)展為測試接口設(shè)計提出了更高的要求。IEEE 1149.7測試標準中規(guī)范的TAP.7接口具有傳統(tǒng)TAP.1接口所沒有的功能特性,因此對它的研究具有深遠意義。本文中設(shè)計的支持星型掃描技術(shù)的接口是一種基于原有JTAG器件的TAP.1接口,在TAP.1接口上添加相應(yīng)的邏輯硬件層實現(xiàn)擴展功能的升級接口,在目前基于TAP.1接口的系統(tǒng)級測試中有很好的應(yīng)用前景。本文中的接口設(shè)計方法具有良好的可擴展特性,為以后進一步功能升級奠定基礎(chǔ),從而避免了重復(fù)開發(fā)所帶來的資源浪費,同時對IEEE 1149.7標準規(guī)范的系統(tǒng)器件的研究和設(shè)計具有很好的參考價值。