專利名稱:為電子電路的基于掃描測試產(chǎn)生測試時(shí)鐘的系統(tǒng)、裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及電子設(shè)備和用于掃描測試電路的時(shí)鐘架構(gòu),尤其涉及用于產(chǎn)生便于例如基于掃描的實(shí)速(at-speed)測試以至少檢測延遲相關(guān)故障的可配置測試時(shí)鐘波形的系統(tǒng)、結(jié)構(gòu)和方法。
技術(shù)背景電子器件制造商使用納米級半導(dǎo)體制造工藝來制造幾何尺寸減小的集成電 路,從而在單位面積上提供更多的晶體管和互連資源。但是制造幾何形狀不斷減小 的器件也增加了導(dǎo)體相關(guān)故障和電阻型缺陷的出現(xiàn)。導(dǎo)體相關(guān)故障通常源于降低金 屬互連質(zhì)量的工藝偏差,從而導(dǎo)致例如不一致的接觸電阻。電阻缺陷導(dǎo)致受影響的電路節(jié)點(diǎn)處的信號轉(zhuǎn)變更緩慢地上升和下降。但是由于常規(guī)的固定型(stuck-at) 和參數(shù)泄漏電流(例如IDDQ測試)測試方法不能有效地檢測這些類型的故障,電 子器件制造通常依賴于延遲測試方法來篩選出這種故障模式。然而,結(jié)構(gòu)延遲測試 比諸如固定型測試的常規(guī)測試方法昂貴得多。例如,實(shí)現(xiàn)延遲測試的數(shù)據(jù)量比常規(guī) 固定型測試的數(shù)據(jù)量大得多。在一些情形中,延遲測試需要比固定型測試多三到五 倍的數(shù)據(jù)。此外,固定型測試檢測諸如"固定"在邏輯值為l或0的的電路節(jié)點(diǎn) 的靜態(tài)故障。作為比較,延遲測試檢測導(dǎo)致信號上升或下降比可接受的更慢的動態(tài) 故障。通常延遲測試需要轉(zhuǎn)變信號通過其中該測試篩選延遲相關(guān)故障的電路來傳 播。并且由于延遲測試需要在確定的時(shí)間限制內(nèi)發(fā)送和獲取轉(zhuǎn)變信號,因此延遲測 試矢量顯然比固定型測試矢量更難產(chǎn)生測試時(shí)鐘并與其同步。圖1是示出通常用來實(shí)現(xiàn)用于檢測待測試電路("CUT") 102中動態(tài)相關(guān)故障 的常規(guī)故障測試的掃描鏈的一部分100的示圖。常規(guī)掃描鏈通常包括觸發(fā)器108 和多路復(fù)用器106。掃描使能("SE")信號104控制多路復(fù)用器106用于與電路 102交換刺激和結(jié)果信號,或者用于將掃描數(shù)據(jù)移進(jìn)或移出觸發(fā)器108。按慣例, 掃描使能104是從單個源通過扇出配置傳播的全局信號,類似于測試時(shí)鐘("CLK")
120。掃描輸入端("SI") 110接收來自諸如自動測試設(shè)備("ATE")的外部源的掃 描數(shù)據(jù),而掃描輸出端("SO" 112)移出由刺激信號產(chǎn)生的結(jié)果。為了使用掃描 鏈部分100協(xié)調(diào)延遲測試,測試時(shí)鐘發(fā)生器通常產(chǎn)生測試時(shí)鐘("CLK") 120以驅(qū) 動掃描數(shù)據(jù)通過掃描鏈。多路復(fù)用器130選通慢時(shí)鐘140或快時(shí)鐘150。具體地, 掃描鏈部分IOO使用慢時(shí)鐘140來驅(qū)動掃描數(shù)據(jù)通過掃描鏈,并且使用快時(shí)鐘150 來對電路102執(zhí)行實(shí)速功能測試。雖然ATE可用作測試時(shí)鐘發(fā)生器,但是諸如芯 片上鎖相回路("PLL")電路的芯片上功能時(shí)鐘電路可以較低成本提供高速測試時(shí) 鐘信號。但是常規(guī)測試時(shí)鐘發(fā)生電路是復(fù)雜和昂貴的,尤其是在待測試器件 ("DUT")包含許多時(shí)鐘域時(shí),諸如20至IOO個時(shí)鐘域或者更多。圖2示出因使用單個掃描使能("SE")信號來在常規(guī)掃描鏈結(jié)構(gòu)中實(shí)現(xiàn)常規(guī) 實(shí)速延遲測試而產(chǎn)生的時(shí)序不確定度。通常用于檢測動態(tài)故障的實(shí)速延遲測試的一 個示例是"上次移位啟動(last-shift-launch)"測試。在該技術(shù)中,為第一測試圖移 位到掃描鏈中的上次掃描數(shù)據(jù)位在再一次移位之后變成第二測試圖的輸入。時(shí)序圖 200示出進(jìn)行常規(guī)上次移位啟動測試的圖1的測試時(shí)鐘120和掃描使能104的信號。 具體地,第一測試圖在掃描模式中使用慢時(shí)鐘140移位到掃描鏈中,且上次掃描數(shù) 據(jù)位移位到掃描鏈中作為啟動沿(launch edge) 210。為了執(zhí)行實(shí)速延遲測試,掃 描使能104改變狀態(tài),并且將快時(shí)鐘150施加到掃描鏈以捕獲功能測試結(jié)果。使用 單個掃描使能信號104來執(zhí)行實(shí)速延遲測試的缺點(diǎn)是捕獲沿220的檢測必須在限定 時(shí)段內(nèi),從而施加了實(shí)速時(shí)序限制202。因此,掃描使能104必須在實(shí)速時(shí)序限制 202內(nèi)從一個狀態(tài)轉(zhuǎn)變成下一個狀態(tài),以充分檢測捕獲沿220。但是,很難期望掃 描使能104能隨著實(shí)速時(shí)序限制202持續(xù)變窄以適應(yīng)更小幾何形狀上的延遲測試而 充分轉(zhuǎn)變狀態(tài)。圖3示出使用傳統(tǒng)測試時(shí)鐘控制技術(shù)影響實(shí)速延遲測試的典型掃描鏈結(jié)構(gòu) 300。如圖所示,掃描鏈結(jié)構(gòu)300包括具有掃描輸入310和掃描輸出312的掃描鏈 320,以及內(nèi)部時(shí)鐘發(fā)生器330 (例如一個或多個PLL電路)和內(nèi)部測試時(shí)鐘控制 器340。掃描鏈結(jié)構(gòu)300使用內(nèi)部測試時(shí)鐘控制器340來對待測試電路("CUT") 302進(jìn)行實(shí)速延遲測試。各個待測試電路302處于時(shí)鐘域304內(nèi)。時(shí)鐘域是與特定 時(shí)鐘同步的電路區(qū)域。時(shí)鐘控制位350定義內(nèi)部測試時(shí)鐘控制器340的操作。但是, 為了配置內(nèi)部測試時(shí)鐘控制器340,常規(guī)實(shí)速測試技術(shù)將時(shí)鐘控制位350與掃描數(shù) 據(jù)位一起嵌入到掃描鏈320中。該方法的一個缺點(diǎn)是掃描鏈320加載有時(shí)鐘控制位 350以在每次掃描鏈加載時(shí)測試一個時(shí)鐘域304。因此,整個掃描鏈320在每次測
試一獨(dú)立域304時(shí)加載和卸載一次。同樣注意到時(shí)鐘控制位350是靜態(tài)的,尤其在 測試過程中。具體地,掃描鏈結(jié)構(gòu)300通常需要時(shí)鐘控制位350在掃描鏈320中保 持固定,使得內(nèi)部測試時(shí)鐘控制器340可以根據(jù)這些位來操作。這樣,掃描鏈結(jié)構(gòu) 300和其它類似常規(guī)掃描鏈結(jié)構(gòu)不是很適于與掃描鏈320中的位無關(guān)地操作內(nèi)部測 試時(shí)鐘控制器340,尤其在實(shí)現(xiàn)時(shí)鐘域間測試(例如啟動和捕獲)時(shí)。另一個缺點(diǎn) 是常規(guī)掃描鏈結(jié)構(gòu)300通常不足以支持控制掃描鏈320多個部分選擇性加載和卸載 以便于減少測試時(shí)間和數(shù)據(jù)量的控制序列和/或程序。例如,大多數(shù)掃描鏈320不 能選擇性地重新加載掃描鏈320 (或其一個或多個部分)以只測試目標(biāo)待測試電路 302。這表示掃描鏈320可能加載有對特定測試非必要的數(shù)據(jù),由此加載到掃描鏈 320中的非必要數(shù)據(jù)增加了測試數(shù)據(jù)量,從而增加了測試時(shí)間。為了檢査目標(biāo)電路 302之一的結(jié)果,常規(guī)掃描鏈320 —趨向于相對冗長一需要移位非必要數(shù)據(jù)和結(jié)果 數(shù)據(jù),兩者的組合通常導(dǎo)致較長的測試時(shí)間。而掃描鏈結(jié)構(gòu)300的又一個缺點(diǎn)是域 間邏輯306通常不足以使一個時(shí)鐘域中的捕獲時(shí)鐘脈沖與來自另一時(shí)鐘域的啟動 時(shí)鐘脈沖充分同步,尤其是在兩個時(shí)鐘域具有不同時(shí)鐘頻率時(shí)。圖4示出應(yīng)用圖3中使用常規(guī)測試時(shí)鐘控制技術(shù)的掃描鏈結(jié)構(gòu)300進(jìn)行的域 間邏輯306的測試。通常,從第一時(shí)鐘域("i") 410中的輸出寄存器("OutReg") 402到第二時(shí)鐘域("j") 420的輸入寄存器("InReg")啟動從邏輯0到1的轉(zhuǎn)變 (或相反)。時(shí)鐘("CLK[i]") 412驅(qū)動從輸出寄存器402經(jīng)由域間組合邏輯306 到輸入寄存器404的轉(zhuǎn)變,輸入寄存器404在時(shí)鐘("CLK[j]") 422下工作以鎖定 該轉(zhuǎn)變的狀態(tài)。期望的啟動沿450提供捕獲沿470的同步以適當(dāng)捕獲測試響應(yīng)。但 是考慮時(shí)鐘422的一個時(shí)鐘周期對應(yīng)于時(shí)鐘412的五個時(shí)鐘周期的情形。如果如常 規(guī)延遲測試中通常實(shí)現(xiàn)的,從時(shí)鐘域410與時(shí)鐘422 (時(shí)鐘域420中)的時(shí)鐘沿460 同步地啟動轉(zhuǎn)變,則在時(shí)鐘域420內(nèi)捕獲到測試響應(yīng)之前可流逝五個時(shí)鐘周期。因 此,沿440處的非期望啟動可能不能在沿470適當(dāng)?shù)夭东@測試響應(yīng)。管理傳統(tǒng)掃描 鏈結(jié)構(gòu)中時(shí)鐘域之間的同步隨著參與時(shí)鐘域數(shù)量的增加變得越來越困難。此外,出 于類似的原因,常規(guī)內(nèi)部測試時(shí)鐘控制器中固有的等待時(shí)間可使時(shí)鐘域間測試變得 復(fù)雜。圖5是示出用于實(shí)現(xiàn)實(shí)速延遲測試的具有常規(guī)測試功能時(shí)鐘路徑530的內(nèi)部 測試時(shí)鐘控制器502的框圖500。內(nèi)部測試時(shí)鐘控制器502接收功能時(shí)鐘("PLL Clk") 510和嵌入時(shí)鐘控制位504以產(chǎn)生經(jīng)延遲的捕獲脈沖。內(nèi)部測試時(shí)鐘控制器 502也包括對功能時(shí)鐘510的沿進(jìn)行計(jì)數(shù)的脈沖計(jì)數(shù)器520、以及響應(yīng)于嵌入時(shí)鐘
控制位504的值產(chǎn)生測試時(shí)鐘550的邏輯522。在工作時(shí),脈沖計(jì)數(shù)器520和邏輯 522合作以將啟動脈沖560之后的捕獲脈沖延遲一時(shí)延562以例如進(jìn)行域間測試。 該方法的一個缺點(diǎn)是內(nèi)部測試時(shí)鐘控制器502包括除了多路復(fù)用器534之外還包含 附加電路元件的測試功能時(shí)鐘路徑530。這些附加元件536在進(jìn)行啟動和捕獲操作 時(shí)使實(shí)速功能時(shí)鐘信號510不利地偏斜,從而導(dǎo)致捕獲脈沖570的時(shí)序中產(chǎn)生不確 定度580。通常延遲562需要時(shí)鐘平衡以確保路徑530上測試模式的實(shí)速功能時(shí)鐘 能在不包括附加元件536的路徑532上模擬處于運(yùn)行模式(例如當(dāng)禁用測試模式或 TM時(shí))的功能時(shí)鐘510。圖6A和6B分別示出寬面(broadside)和上次移位啟動(last-shift-launch)測 試協(xié)議的常規(guī)實(shí)現(xiàn)。圖6A包括含有不同寄存器級612的掃描鏈610。對于如示圖 600所示的寬面協(xié)議測試,期望轉(zhuǎn)變從先前寄存器級612b啟動以傳播通過組合電 路620b,然后在寄存器級612c的寄存器630中捕獲。這直接或間接地測試了組合 電路620a和620b。在啟動沿,寄存器632鎖定邏輯0,從而通過組合電路620b 啟動1到0的轉(zhuǎn)變。寄存器630在捕獲沿捕獲邏輯0。注意,邏輯O的出現(xiàn)取決于 先前從寄存器634中的值的轉(zhuǎn)變601,由此測試組合電路620a。在該技術(shù)中,整個 掃描鏈通過以測試模式將數(shù)據(jù)低速移進(jìn)以及隨后通過功能模式中的兩個實(shí)速時(shí)鐘 脈沖(例如啟動和捕獲沿)而加載數(shù)據(jù)。然后, 一旦捕獲到值,該數(shù)據(jù)可以測試模 式緩慢移出。盡管使用寬面協(xié)議的延遲測試可檢測到否則不可檢測的延遲故障,但 寬面協(xié)議的測試圖大小通常大于上次移位啟動協(xié)議的測試圖。此外,寬面的測試圖 本質(zhì)上是連續(xù)的且因此更難產(chǎn)生。圖6B包括含有不同寄存器級672的掃描鏈660。對于上次移位啟動協(xié)議測試, 轉(zhuǎn)變662從寄存器級672b中的掃描加載或卸載序列期間的上次移位啟動。然后, 它被捕獲到下一寄存器級672c的寄存器680中。由于輸入轉(zhuǎn)變690從上次移位661 啟動,因此上次移位啟動的測試圖大小可比寬面的更小并更容易產(chǎn)生,因?yàn)檫B續(xù)測 試圖比組合圖更難壓縮。但是上次移位啟動協(xié)議具有上述的缺點(diǎn)。由于寬面和上次 移位啟動兩者具有互斥的優(yōu)點(diǎn)和缺點(diǎn),大多數(shù)設(shè)計(jì)者只實(shí)現(xiàn)其一。根據(jù)上述觀點(diǎn),期望提供最小化上述缺點(diǎn)、并提供基于掃描的實(shí)速測試以至 少檢測延遲相關(guān)故障的系統(tǒng)、結(jié)構(gòu)和方法。發(fā)明內(nèi)容公開了用于產(chǎn)生掃描鏈測試時(shí)鐘以實(shí)現(xiàn)電子電路的基于掃描測試的系統(tǒng)、結(jié)
構(gòu)和方法。在一實(shí)施方式中,測試時(shí)鐘控制結(jié)構(gòu)包括可編程測試時(shí)鐘控制器。該可 編程測試時(shí)鐘控制器包括用于產(chǎn)生可配置測試時(shí)鐘的測試時(shí)鐘發(fā)生器。它還包括用 該可配置測試時(shí)鐘驅(qū)動掃描鏈部分的掃描層接口、以及配置成訪問用于控制該掃描 鏈部分的控制信息的控制層接口??删幊虦y試時(shí)鐘控制器也可包括與控制鏈的一部 分連接的控制邏輯。因此,該控制邏輯可基于該控制信息選擇性地將掃描數(shù)據(jù)加載 到該掃描鏈部分。在不同實(shí)施方式中,控制鏈?zhǔn)桥c掃描鏈不同的通道,從而便于控 制信息與掃描數(shù)據(jù)的傳輸獨(dú)立地傳輸?shù)娇删幊虦y試時(shí)鐘控制器。這樣的優(yōu)點(diǎn)是減少 掃描加載和卸載序列,從而減少測試時(shí)間。在一些情形中,控制邏輯可便于實(shí)現(xiàn)兩 個或多個掃描測試協(xié)議,以使用來自掃描鏈的基本相同數(shù)據(jù)測試電路。在另一實(shí)施方式中,可編程測試時(shí)鐘控制器包括時(shí)鐘脈沖控制器和測試時(shí)鐘 發(fā)生器。時(shí)鐘脈沖控制器根據(jù)時(shí)鐘指令信息產(chǎn)生時(shí)鐘控制信號。在一些實(shí)例中,時(shí) 鐘脈沖控制器可保持該時(shí)鐘命令信息。測試時(shí)鐘發(fā)生器根據(jù)時(shí)鐘命令信息的一部分 產(chǎn)生測試時(shí)鐘。時(shí)鐘命令信息指定是否將諸如具有實(shí)速時(shí)鐘速率的測試時(shí)鐘的功能 時(shí)鐘信號施加到掃描鏈。在再一實(shí)施方式中, 一種方法實(shí)現(xiàn)基于掃描的電路測試。該方法包括執(zhí)行至 少一次域內(nèi)測試以及執(zhí)行實(shí)現(xiàn)動態(tài)故障檢測測試圖的至少一次域間測試,該測試圖 可包括上次移位啟動測試圖和寬面測試圖。注意,這些域可以是不同的功率域或不 同的時(shí)鐘域,或者兩者。在一些情形中,該方法還包括將可編程測試時(shí)鐘控制器配 置成基本上并行地測試不同的時(shí)鐘域。這樣的優(yōu)點(diǎn)是在測試不同時(shí)鐘域時(shí)減少一個 或多個掃描鏈加載的次數(shù)。在其它實(shí)施方式中,術(shù)語域一般可指與另一部分和另一 電路比較具有不同工作特性的任一電路或其一部分,無論這些特性就時(shí)鐘、功耗等 而言是否不同。在再一實(shí)施方式中, 一種方法實(shí)現(xiàn)了完成基于掃描的電路測試的測試時(shí)鐘控 制結(jié)構(gòu),該方法包括將可編程測試時(shí)鐘控制器的第一子集配置成加載掃描鏈,以及 根據(jù)指定掃描鏈加載的時(shí)鐘命令信息將掃描數(shù)據(jù)加載到掃描鏈中。該方法通過將可 編程測試時(shí)鐘控制器的第一子集中的可編程測試時(shí)鐘控制器配置成響應(yīng)于指定故 障檢測的附加時(shí)鐘命令信息產(chǎn)生測試時(shí)鐘來繼續(xù)。此外,該方法可包括根據(jù)測試一 個或多個電路的附加時(shí)鐘命令信息產(chǎn)生測試時(shí)鐘。根據(jù)一些實(shí)施方式,可編程測試時(shí)鐘控制器和所附隨的測試時(shí)鐘控制結(jié)構(gòu)提 供成本相對較低的實(shí)速延遲測試。可編程測試時(shí)鐘控制器實(shí)際上可插入到時(shí)鐘樹網(wǎng)絡(luò)(例如功能芯片上的PLL樹內(nèi))的任何地方并可通過ATE編程。測試時(shí)鐘控制
結(jié)構(gòu)可通過對可編程測試時(shí)鐘控制器編程來處理相對大量的時(shí)鐘域??删幊虦y試時(shí) 鐘控制器使得同一芯片上能使用上次移位啟動測試協(xié)議和寬面測試協(xié)議,從而在減 少測試時(shí)間和測試數(shù)據(jù)量(例如通過減少測試器件的掃描加載/卸載序列的數(shù)量) 的同時(shí)增強(qiáng)了測試覆蓋面。
根據(jù)本發(fā)明的不同實(shí)施方式,測試時(shí)鐘控制結(jié)構(gòu)提供了減少測試時(shí)間和測試 數(shù)據(jù)量的有效測試改進(jìn)和測試流。這種減少很重要,尤其是由于延遲測試比僅僅固 定型測試實(shí)施起來要昂貴約3至5倍。而且,在常規(guī)延遲測試中,占用了測試時(shí)間
和測試數(shù)據(jù)量的是掃描加載和卸載操作。通常, 一秒鐘的ATE使用耗費(fèi)約5-10美 分。因此,常規(guī)實(shí)現(xiàn)的延遲測試的增加ATE時(shí)間會將相當(dāng)?shù)臏y試成本額外開支添 加到低價(jià)消費(fèi)電子器件的價(jià)格上。一個或多個實(shí)施方式通過將可編程性引入到測試 時(shí)鐘結(jié)構(gòu)中、通過并發(fā)或幾乎并發(fā)地實(shí)現(xiàn)多個測試協(xié)議、以及通過并行測試多個域 (例如時(shí)鐘域)等等而減少了掃描加載和卸載操作的數(shù)量。
結(jié)合附圖,通過以下的詳細(xì)描述本發(fā)明可得到更全面地理解,在附圖中
圖1是示出通常用于實(shí)現(xiàn)待測試電路的常規(guī)延遲測試的掃描鏈的一部分的示
圖2示出在常規(guī)掃描鏈結(jié)構(gòu)中使用單個掃描使能("SE")信號執(zhí)行實(shí)速延遲 測試的時(shí)序不確定度;
圖3示出使用常規(guī)測試時(shí)鐘控制技術(shù)實(shí)現(xiàn)實(shí)速延遲測試的典型掃描鏈結(jié)構(gòu);
圖4示出使用圖3的掃描鏈結(jié)構(gòu)對域間邏輯進(jìn)行的測試;
圖5是示出具有使實(shí)速時(shí)鐘信號偏斜的測試功能時(shí)鐘路徑的常規(guī)內(nèi)部測試時(shí) 鐘控制器的框圖6A和6B分別示出寬面和上次移位啟動測試協(xié)議的常規(guī)實(shí)現(xiàn);
圖7是示出根據(jù)本發(fā)明至少一個特定實(shí)施方式的用于測試電路的測試時(shí)鐘控 制結(jié)構(gòu)的框圖8是示出根據(jù)本發(fā)明至少一個特定實(shí)施方式的可編程測試時(shí)鐘控制器的框
圖9是示出根據(jù)本發(fā)明一實(shí)施方式的可編程測試時(shí)鐘控制器的一個功能示例 的示圖10是示出根據(jù)本發(fā)明一實(shí)施方式的可編程測試時(shí)鐘控制器的一個示例的示
圖;圖11是示出根據(jù)本發(fā)明一實(shí)施方式的可編程測試時(shí)鐘控制器的基于多個掃描使能控制信號的操作狀態(tài)的表格;圖12A和12B分別示出根據(jù)本發(fā)明不同實(shí)施方式的掃描時(shí)鐘解碼器和可編程 測試時(shí)鐘控制器的具體實(shí)現(xiàn);圖13示出根據(jù)本發(fā)明一實(shí)施方式的適于實(shí)施用于對特定時(shí)鐘域編程的圖12B 的可編程測試時(shí)鐘控制器的時(shí)鐘脈沖控制器的狀態(tài)圖;圖14A和圖14B根據(jù)本發(fā)明的不同實(shí)施方式分別示出將可編程測試時(shí)鐘控制 器配置成構(gòu)建啟動和捕獲各操作的測試時(shí)鐘、以及禁用與其對應(yīng)的時(shí)鐘域的信號時(shí) 序;圖15示出根據(jù)本發(fā)明一實(shí)施方式的包括簡化時(shí)鐘脈沖控制器和簡化測試時(shí)鐘 發(fā)生器的可編程測試時(shí)鐘控制器;圖16示出根據(jù)本發(fā)明一實(shí)施方式的包括補(bǔ)充時(shí)鐘命令源的可編程測試時(shí)鐘控制器;圖17A和17B分別示出根據(jù)本發(fā)明不同實(shí)施方式的實(shí)現(xiàn)成字符串發(fā)生器 (string generator)的補(bǔ)充時(shí)鐘命令源及相應(yīng)狀態(tài)圖;圖18示出根據(jù)本發(fā)明一實(shí)施方式的實(shí)現(xiàn)任何數(shù)量的可編程測試時(shí)鐘控制器以 測試電子器件及其電路的概念性測試時(shí)鐘控制結(jié)構(gòu)的框圖;圖19是示出根據(jù)本發(fā)明一實(shí)施方式的實(shí)現(xiàn)可編程測試時(shí)鐘控制器以測試不同 域中電路的測試時(shí)鐘控制結(jié)構(gòu)的示圖;圖20是示出根據(jù)本發(fā)明一實(shí)施方式的共享初級輸入和初級輸出以減少測試接 入點(diǎn)的控制鏈和掃描鏈的示圖;圖21示出根據(jù)本發(fā)明一實(shí)施方式的配置成執(zhí)行域間測試的測試時(shí)鐘控制結(jié)構(gòu);圖22A和22B示出根據(jù)本發(fā)明不同實(shí)施方式的使用一個或多個時(shí)序參考點(diǎn)計(jì) 算時(shí)間距離以實(shí)現(xiàn)域間測試的不同技術(shù);圖23示出根據(jù)本發(fā)明一實(shí)施方式的配置成執(zhí)行域內(nèi)測試的測試時(shí)鐘控制結(jié)構(gòu);圖24示出根據(jù)本發(fā)明一實(shí)施方式的配置成使用簡化的可編程測試時(shí)鐘控制器 執(zhí)行域內(nèi)測試的測試時(shí)鐘控制結(jié)構(gòu);圖25A至25D示出根據(jù)本發(fā)明一實(shí)施方式的配置成便于使用可編程測試時(shí)鐘
控制器進(jìn)行域間測試和域內(nèi)測試的測試時(shí)鐘控制結(jié)構(gòu);圖26示出根據(jù)本發(fā)明一實(shí)施方式的使用實(shí)現(xiàn)可編程測試時(shí)鐘控制器 ("PTCC")的測試時(shí)鐘控制器結(jié)構(gòu)來測試電路的微觀流程的一個示例;圖27示出根據(jù)本發(fā)明一實(shí)施方式的使用測試時(shí)鐘控制器結(jié)構(gòu)和可編程測試時(shí) 鐘控制器("PTCC")來測試電路的宏觀流程的一個示例。在附圖的若干視圖中,相似的參考標(biāo)號指相應(yīng)的部分。注意,多數(shù)參考標(biāo)號 包括通常標(biāo)識首先引入該參考標(biāo)號的附圖的一位或兩位最左側(cè)數(shù)字。
具體實(shí)施方式
圖7是示出根據(jù)本發(fā)明一特定實(shí)施方式的用于測試至少一個電路的測試時(shí)鐘 控制結(jié)構(gòu)。測試時(shí)鐘控制結(jié)構(gòu)701包括用于測試待測試電路703的一個或多個可編 程測試時(shí)鐘控制器700。如圖所示,可編程測試時(shí)鐘控制器與兩個不同層一控制層 720和掃描層730 —上的數(shù)據(jù)交互作用??删幊虦y試時(shí)鐘控制器700包括用于產(chǎn)生 可配置測試時(shí)鐘("CTC") 714的測試時(shí)鐘發(fā)生器704??删幊虦y試時(shí)鐘控制器700 也可包括掃描層接口 712以用可配置測試時(shí)鐘714經(jīng)由掃描層接口 712來驅(qū)動掃描 鏈732的至少一個掃描鏈部分。如圖所示,掃描鏈732位于掃描層730內(nèi)。此外, 可編程測試時(shí)鐘控制器700可包括控制層接口 710以訪問用于控制例如掃描鏈732 或掃描鏈部分734的控制信息724??删幊虦y試時(shí)鐘控制器700可包括通過控制層接口 710與例如控制層720中 的控制鏈722的一部分連接的控制邏輯706。因此,控制邏輯706可控制是否要基 于控制信息724選擇性地將掃描數(shù)據(jù)加載到掃描鏈732 (或者其一部分)中。在不 同實(shí)施方式中,控制鏈722是與掃描鏈734不同的通道,由此便于與掃描數(shù)據(jù)的傳 輸獨(dú)立地將控制信息724傳輸?shù)娇删幊虦y試時(shí)鐘控制器700。這樣的優(yōu)點(diǎn)是減少掃 描加載和卸載序列的數(shù)量,從而減少測試時(shí)間。在一些情形中,控制邏輯706可便 于實(shí)現(xiàn)兩個或多個掃描測試協(xié)議以使用來自掃描鏈的基本相同數(shù)據(jù)測試電路750 (例如無需在不同測試協(xié)議之間整個地加載或卸載掃描鏈)。例如,可編程測試時(shí) 鐘控制器700可規(guī)定在同一測試流中使用寬面測試和上次移位啟動測試協(xié)議。由于 可編程測試時(shí)鐘控制器700可適應(yīng)單個構(gòu)架中的不同測試協(xié)議,因此與單個延遲測 試協(xié)議的實(shí)現(xiàn)相比,這可有利地增加測試覆蓋面。所以,如果使用例如上次移位啟 動技術(shù)未檢測到故障,則可實(shí)現(xiàn)寬面測試來檢測故障。在一實(shí)施方式中,可編程測 試時(shí)鐘控制器700包括接收共同代替常規(guī)單個掃描使能信號的多個掃描使能控制
信號的輸入端708。在另一實(shí)施方式中,測試時(shí)鐘控制結(jié)構(gòu)701可在包括電路750 的單個襯底上形成。可配置測試時(shí)鐘714可被稱為測試時(shí)鐘以及鏈時(shí)鐘。通常,測 試時(shí)鐘控制結(jié)構(gòu)包括可編程測試時(shí)鐘控制器、控制鏈、掃描鏈、以及用于測試電路 的其它測試相關(guān)結(jié)構(gòu)。圖8是示出根據(jù)本發(fā)明至少一個特定實(shí)施方式的可編程測試時(shí)鐘控制器???編程測試時(shí)鐘控制器800被配置成使用相對低速的掃描時(shí)鐘(即"掃描速度"下) 和相對高速的功能時(shí)鐘(即"實(shí)速")來產(chǎn)生用于結(jié)構(gòu)延遲測試的可配置測試時(shí)鐘, 以將測試時(shí)鐘830配置成實(shí)現(xiàn)多個延遲測試協(xié)議。可編程測試時(shí)鐘控制器800可將 測試時(shí)鐘配置成進(jìn)行一系列掃描鏈加載和卸載操作?;蛘?,它可將測試時(shí)鐘配置成 啟動輸入轉(zhuǎn)變和捕獲測試響應(yīng)。這樣,可編程測試時(shí)鐘控制器800可將測試時(shí)鐘 830配置成掃描速度時(shí)鐘("SCLK") 832以驅(qū)動掃描數(shù)據(jù)進(jìn)入或輸出掃描鏈,或 者配置成實(shí)速功能時(shí)鐘("PCLK") 834以進(jìn)行啟動和/或捕獲操作。在至少一個實(shí) 施方式中,多路復(fù)用器840 (或者能執(zhí)行多路復(fù)用操作的任何等效結(jié)構(gòu))將掃描速 度時(shí)鐘832或?qū)嵥俟δ軙r(shí)鐘834路由到輸出終端以產(chǎn)生測試時(shí)鐘830??删幊虦y試 時(shí)鐘控制器800實(shí)際上可插入到任何功能時(shí)鐘路徑中,并可與諸如芯片上PLL的 任何功能時(shí)鐘源集成,而不顯著改變內(nèi)部時(shí)鐘結(jié)構(gòu)。此外,可編程測試時(shí)鐘控制器 800可編程為禁用任何時(shí)鐘域,從而選擇性地從任一啟動、捕獲、掃描加載和掃描 卸載操作中包括和排除一個或多個時(shí)鐘域??删幊虦y試時(shí)鐘控制器800包括掃描時(shí)鐘解碼器802和時(shí)鐘模塊804,以從功 能時(shí)鐘PCLK[i]817和外部驅(qū)動掃描速度掃描時(shí)鐘("掃描時(shí)鐘")810產(chǎn)生可配置 測試時(shí)鐘,諸如測試時(shí)鐘("CLK") 830。在一些情形中,PLL電路850產(chǎn)生功能 時(shí)鐘834且ATE產(chǎn)生掃描時(shí)鐘810。參考時(shí)鐘("RefClk[k]") 815可提供給PLL 850 以產(chǎn)生功能時(shí)鐘817,并且可控制例如時(shí)鐘模塊804的控制操作。在一些實(shí)施方式 中,實(shí)速功能時(shí)鐘834實(shí)質(zhì)上是功能時(shí)鐘817。掃描時(shí)鐘解碼器802解碼掃描時(shí)鐘 810以同步包括控制層時(shí)鐘信號("TCLK") 820和掃描層時(shí)鐘信號("SCLK") 822 的時(shí)鐘控制信號??刂茖訒r(shí)鐘信號820用于至少將來自控制鏈(未示出)的時(shí)鐘命 令信息提供給時(shí)鐘模塊804。掃描層時(shí)鐘信號("SCLK") 822用于驅(qū)動掃描鏈或 其一部分(未示出)。注意,控制層時(shí)鐘信號820和掃描層時(shí)鐘信號822實(shí)質(zhì)上是 概念性的,并且不需要延伸到可編程測試時(shí)鐘控制器800之外。雖然常規(guī)掃描測試時(shí)鐘控制技術(shù)使用單個掃描使能("SE")信號來在掃描路 徑與功能路徑之間多路復(fù)用,但是可編程測試時(shí)鐘控制器800用至少兩個掃描使能
控制信號一掃描使能時(shí)鐘("SeC")控制信號812和掃描使能數(shù)據(jù)("SeD")控制 信號814 —代替常規(guī)的單個掃描使能信號。SeD控制信號814被配置成在功能路徑 與掃描路徑之間多路復(fù)用,而SeC控制信號812在掃描時(shí)鐘和功能(即實(shí)速)時(shí) 鐘之間多路復(fù)用。有利的是時(shí)鐘和數(shù)據(jù)控制的分離簡化了時(shí)鐘產(chǎn)生結(jié)構(gòu)的設(shè)計(jì),并 使得從掃描移位到啟動和捕獲操作(或相反)的同步容易。此外,分離的SeD時(shí) 鐘控制信號814和SeC數(shù)據(jù)控制信號812也提供了可編程測試時(shí)鐘控制器800在 同一芯片上實(shí)現(xiàn)不同的測試協(xié)議,諸如寬面和上次移位啟動測試協(xié)議的能力。圖9是示出根據(jù)本發(fā)明一實(shí)施方式的由可編程測試時(shí)鐘控制器執(zhí)行的功能示 例的示圖??删幊虦y試時(shí)鐘控制器900被配置成多路復(fù)用相對低速的掃描時(shí)鐘 ("SCLK") 902和相對高速的功能時(shí)鐘("PCLK") 904以產(chǎn)生要在至少寬面和上 次移位啟動延遲測試協(xié)議下實(shí)現(xiàn)的測試時(shí)鐘930。特別地,可編程測試時(shí)鐘控制器 900在掃描時(shí)鐘902和功能時(shí)鐘904的基本穩(wěn)態(tài)部分908期間在時(shí)鐘源之間多路復(fù) 用。通過在具有穩(wěn)態(tài)相位906的相同穩(wěn)態(tài)值(例如邏輯低)的時(shí)鐘源之間多路復(fù)用, 可編程測試時(shí)鐘控制器900提供掃描時(shí)鐘902與功能時(shí)鐘904之間的安全切換,使 得例如負(fù)載循環(huán)保持不變且短時(shí)干擾最小。在一實(shí)施方式中,可編程測試時(shí)鐘控制 器900使用多路復(fù)用器910來在掃描時(shí)鐘902和功能時(shí)鐘904之間多路復(fù)用而無需 實(shí)速時(shí)鐘產(chǎn)生路徑中的附加邏輯元件。這樣,可編程測試時(shí)鐘控制器卯0可避免對 于為了時(shí)鐘選通目的而使用附加邏輯元件的一些常規(guī)測試時(shí)鐘發(fā)生器普遍的時(shí)鐘 偏斜。可編程測試時(shí)鐘控制器900可將測試時(shí)鐘930配置成提供寬面計(jì)時(shí)的時(shí)鐘 926或者提供上次移位啟動計(jì)時(shí)的時(shí)鐘946。這樣,可編程測試時(shí)鐘控制器900可 有利地實(shí)現(xiàn)寬面和上次移位啟動協(xié)議。為了實(shí)現(xiàn)寬面計(jì)時(shí)920,可編程測試時(shí)鐘控 制器900操作以在掃描模式中將N個掃描數(shù)據(jù)位移進(jìn)掃描鏈中,之后在功能模式 中提供實(shí)速的啟動時(shí)鐘沿922和捕獲時(shí)鐘沿924。為了實(shí)現(xiàn)上次移位啟動計(jì)時(shí)940, 可編程測試時(shí)鐘控制器900操作以在掃描模式中移位N-1個掃描數(shù)據(jù)位。在第N-l 位之后,在掃描模式中提供啟動時(shí)鐘沿942作為第N個時(shí)鐘沿,之后在功能模式 中捕獲沿944作為第N+l個時(shí)鐘捕獲時(shí)鐘沿。圖10是示出根據(jù)本發(fā)明一實(shí)施方式的可編程測試時(shí)鐘控制器的一個示例的示 圖??删幊虦y試時(shí)鐘控制器1000包括被配置成根據(jù)編程到時(shí)鐘脈沖控制器1002 中的時(shí)鐘命令信息("CCD 1012產(chǎn)生時(shí)鐘控制信號("TC—En") 1024的時(shí)鐘脈 沖控制器("CPC") 1002。時(shí)鐘脈沖控制器1002可形成控制層中控制鏈1012的一 部分??删幊虦y試時(shí)鐘控制器1000也包括被配置成根據(jù)時(shí)鐘命令信息1012 —部分 產(chǎn)生測試時(shí)鐘("CLK") 1052的測試時(shí)鐘發(fā)生器1030。在一些情形中,時(shí)鐘命令 信息1012指定是否將功能時(shí)鐘信號作為測試時(shí)鐘1052施加到掃描鏈??删幊虦y試 時(shí)鐘控制器1000接收可輸入到PLL電路的參考時(shí)鐘("RefClk") 1046。參考時(shí)鐘 1046的相位可鎖定到來自一個或多個PLL電路的一個或多個PLL輸出時(shí)鐘。在一實(shí)施方式中,時(shí)鐘脈沖控制器1002包括時(shí)鐘控制信號發(fā)生器1010和時(shí) 鐘速率選擇器1020。時(shí)鐘控制信號發(fā)生器1010根據(jù)時(shí)鐘命令信息1012在各個時(shí) 鐘沿產(chǎn)生時(shí)鐘控制信號1024,而時(shí)鐘速率選擇器1020對各個單獨(dú)時(shí)鐘沿設(shè)定時(shí)鐘 循環(huán)周期。時(shí)鐘速率選擇器1020在表示用于實(shí)速測試的第一時(shí)鐘速率的第一周期 與表示用于至少驅(qū)動掃描鏈的第二時(shí)鐘速率的第二周期之間選擇。測試時(shí)鐘發(fā)生器 1030可包括測試構(gòu)建和執(zhí)行控制器1040與測試時(shí)鐘選擇器1050。測試構(gòu)建和執(zhí)行 控制器1040操作以將可編程測試時(shí)鐘控制器IOOO配置成數(shù)據(jù)傳輸模式或測試執(zhí)行 模式。此外,測試構(gòu)建和執(zhí)行控制器1040提供時(shí)鐘速率控制信號("CPC_En") 1022 以選擇單獨(dú)時(shí)鐘沿例如作為測試時(shí)鐘1052移出的時(shí)鐘速率。測試時(shí)鐘選擇器1050 被配置成基于時(shí)鐘控制信號1024將功能時(shí)鐘信號1054或單獨(dú)時(shí)鐘沿的子集施加到 掃描鏈。注意,時(shí)鐘控制信號1024可指定功能時(shí)鐘信號1054的形成測試時(shí)鐘1052 的單獨(dú)時(shí)鐘沿的可編程量。在至少一個實(shí)施方式中,測試時(shí)鐘選擇器1050也提供 掃描時(shí)鐘("SCLK")作為測試時(shí)鐘1052,用于將掃描數(shù)據(jù)移進(jìn)或移出掃描鏈。根 據(jù)一實(shí)施方式,測試時(shí)鐘發(fā)生器1030包括至少兩個輸入。第一輸入被配置成接收 表示以數(shù)據(jù)傳輸模式或測試執(zhí)行模式操作可編程測試時(shí)鐘控制器1000的掃描使能 數(shù)據(jù)("SeD")信號1042,而第二輸入被配置成接收表示將可編程測試時(shí)鐘控制器 1000配置成將功能時(shí)鐘信號("PCLK") 1054或單獨(dú)時(shí)鐘沿的子集施加到掃描鏈 的掃描使能時(shí)鐘("SeC")信號1044。如果掃描使能數(shù)據(jù)信號1042表示數(shù)據(jù)傳輸 模式,則可編程測試時(shí)鐘控制器1000操作以使用掃描速度時(shí)鐘速率將數(shù)據(jù)移進(jìn)掃 描鏈或控制鏈?;蛘撸绻麙呙枋鼓軘?shù)據(jù)信號1042表示測試執(zhí)行模式,它操作以 將其自身配置成使用實(shí)速時(shí)鐘速率進(jìn)行功能測試。然而,掃描使能時(shí)鐘信號1044使得可編程測試時(shí)鐘控制器1000以靜默狀態(tài)(例如用于執(zhí)行泄漏IDDQ測試)或 實(shí)速啟動和/或捕獲狀態(tài)工作。注意,圖IO的可編程測試時(shí)鐘控制器略去了掃描時(shí) 鐘解碼器以簡化討論。圖11是示出根據(jù)本發(fā)明一實(shí)施方式的基于多個掃描使能控制信號的可編程測 試時(shí)鐘控制器的操作狀態(tài)的表格。表1100示出掃描使能數(shù)據(jù)("SeD")控制信 號1101和掃描使能時(shí)鐘("SeC")控制信號1103建立了可用于實(shí)現(xiàn)根據(jù)本發(fā)明不 同實(shí)施方式的可編程測試時(shí)鐘控制器的期望功能的信號狀態(tài)(或測試模式)集合 1105。在靜默狀態(tài)1102期間,待測試電路的所有時(shí)鐘被關(guān)閉,而在啟動/捕獲狀態(tài)1104中實(shí)速功能時(shí)鐘被施加到掃描鏈以執(zhí)行延遲測試。在掃描加載/卸載鏈狀態(tài) 1106中,掃描鏈被加載或卸載,且在控制加載/卸載狀態(tài)1108中,可對編程測試時(shí) 鐘控制器編程。通常,掃描使能數(shù)據(jù)控制信號1101的值確定可編程測試時(shí)鐘控制 器以數(shù)據(jù)傳輸模式或測試執(zhí)行模式工作。當(dāng)SeD控制信號1101具有值l時(shí),可編 程測試時(shí)鐘控制器使用來自諸如ATE器件的外部源的掃描時(shí)鐘參與相對低速的數(shù) 據(jù)傳輸操作。然后,如果SeC控制信號1103具有值0,則可編程測試時(shí)鐘控制器 加載或卸載掃描鏈以將電路的內(nèi)部寄存器初始化到已知狀態(tài)。相反,SeC控制信號 1103的值1導(dǎo)致用時(shí)鐘命令信息對可編程測試時(shí)鐘控制器進(jìn)行編程。在靜默狀態(tài) 1102,可編程測試時(shí)鐘控制器不施加時(shí)鐘脈沖以產(chǎn)生到待測試電路的域的轉(zhuǎn)變。在 該狀態(tài)中,ATE可強(qiáng)加初級輸入("PI")以測量初級輸出("PO")或測量從電源 到接地的IDDQ泄漏電流。注意,當(dāng)SeD控制信號1101具有值0時(shí),可編程測試 時(shí)鐘控制器可參與實(shí)速測試以使用功能時(shí)鐘在相對高速下啟動輸入轉(zhuǎn)變或捕獲測 試響應(yīng)或兩者。圖12A和12B分別示出根據(jù)本發(fā)明不同實(shí)施方式的掃描時(shí)鐘解碼器和可編程 測試時(shí)鐘控制器的特定實(shí)現(xiàn)。在圖12A中,掃描時(shí)鐘解碼器1200包括產(chǎn)生驅(qū)動掃 描鏈的掃描時(shí)鐘("SCLK") 1208和用于編程目的的控制層時(shí)鐘("TCLK") 1210 的邏輯,這兩個時(shí)鐘都是時(shí)鐘控制信號。邏輯門1201使用主掃描時(shí)鐘("ScanClk") 1206、掃描使能時(shí)鐘控制信號("SeC") 1204和時(shí)鐘控制信號("TCEn") 1202來 形成時(shí)鐘控制信號SCLK、 TCLK。在一實(shí)施方式中,ATE可產(chǎn)生主掃描時(shí)鐘1206 和掃描使能時(shí)鐘控制信號1204并將其施加到圖12B中的可編程測試時(shí)鐘控制器。 在一些實(shí)施方式中,掃描使能數(shù)據(jù)控制信號("SeD") 1211可用于控制邏輯門1201a 的操作,以獨(dú)立于通常由外部測試器或ATE提供的主掃描時(shí)鐘("ScanClk") 1206 的狀態(tài)禁用時(shí)鐘控制信號SCLK和TCLK的信息(例如邏輯0的SeD)。在圖12B中,可編程測試時(shí)鐘控制器1220包括時(shí)鐘脈沖控制器("CPC") 1230 和測試時(shí)鐘發(fā)生器("TCG") 1250。時(shí)鐘脈沖控制器1230將時(shí)鐘沿流作為TCEn 信號1202的值提供給測試時(shí)鐘發(fā)生器1250,該發(fā)生器1250使用時(shí)鐘沿值來形成 實(shí)速測試時(shí)鐘。在一實(shí)施方式中,時(shí)鐘脈沖控制器1230包含可分別通過控制掃描 輸入("CSr)終端1236和控制掃描輸出("CSO")終端1238連續(xù)加載和卸載的 2-位移位寄存器("SR") 1234。在操作中,2-位移位寄存器1234基于啟動和/或捕
獲操作中的功能時(shí)鐘("PCLK") 1252向TCEn信號1202提供具有用于產(chǎn)生最多 達(dá)2個實(shí)速脈沖的控制值。在至少一個實(shí)施方式中,2-位移位寄存器1234保持要 移出到測試時(shí)鐘發(fā)生器1250的編程數(shù)量的單獨(dú)時(shí)鐘沿。TCEn信號1202在啟動/ 捕獲狀態(tài)中基于功能時(shí)鐘("PCLK") 1252 "實(shí)速"移位,只要時(shí)鐘脈沖控制器使 能("CPCEn")信號1240具有邏輯值1即可。但是2-位移位寄存器1234在控制 鏈加載和卸載操作過程中基于圖12A的相對較慢的主掃描時(shí)鐘("ScanClk") 1206以"掃描速度"移位。注意,2-位移位寄存器1234在靜默狀態(tài)以及掃描加載/卸載狀態(tài)中未用時(shí)鐘脈 沖計(jì)時(shí),所以存儲其中的時(shí)鐘命令信息在這些狀態(tài)中保持不變。在一些實(shí)施方式中, 時(shí)鐘脈沖控制器1230產(chǎn)生可選擇性地使第"i"個時(shí)鐘域參與啟動和/或捕獲操作 的時(shí)鐘域使能("CDEn[i]")控制信號1244。在可選實(shí)施方式中,時(shí)鐘脈沖控制器 1230向補(bǔ)充時(shí)鐘命令源(未示出)提供ICLK信號1246以從例如字符串發(fā)生器輸 入("Sgenln")接收補(bǔ)充時(shí)鐘命令信息。補(bǔ)充時(shí)鐘命令源將2-位移位寄存器1234 的功能延伸超過2位。測試時(shí)鐘發(fā)生器1250被設(shè)計(jì)成將測試時(shí)鐘("CLK") 1254配置成提供由功能 時(shí)鐘1252的多個部分和掃描時(shí)鐘("SCLK") 1208的多個部分組成的期望波形。 特別地,測試時(shí)鐘發(fā)生器1250在掃描時(shí)鐘("SCLK") 1208與功能時(shí)鐘("PCLK") 1252之間多路復(fù)用。在一些實(shí)施方式中,功能時(shí)鐘1252可與TCEn信號1202邏 輯與以產(chǎn)生測試時(shí)鐘1254。測試時(shí)鐘發(fā)生器1250使用SeD信號1258和SeC信號 1260來選擇功能時(shí)鐘1252或掃描時(shí)鐘1208作為時(shí)鐘源。此外,測試時(shí)鐘發(fā)生器 1250使用這些信號來產(chǎn)生用于加工測試時(shí)鐘("CLK[i]") 1254的TCEn信號1202。 在操作中,測試時(shí)鐘發(fā)生器1250通過時(shí)鐘脈沖控制器使能信號1240使測試時(shí)鐘與 時(shí)鐘脈沖控制器("CPC") 1230同步,該時(shí)鐘脈沖控制器使能信號1240是用于選 擇單獨(dú)時(shí)鐘沿顯現(xiàn)為測試時(shí)鐘1254的時(shí)鐘速率的時(shí)鐘速率控制信號。在一些實(shí)例中,測試時(shí)鐘發(fā)生器1250可被視為具有抑制能力的流多路復(fù)用器。 即,它多路復(fù)用了與TCEn信號值(即單獨(dú)時(shí)鐘沿值)流邏輯與的源時(shí)鐘信號波形 以產(chǎn)生測試時(shí)鐘1254的波形。此外,SeC信號1260和SeD信號1258兩者的狀態(tài) 選擇哪個源時(shí)鐘將與TCEn信號值流邏輯與。如果TCEn信號1202具有0值,則 源時(shí)鐘脈沖被抑制。否則,源脈沖被傳遞以形成測試時(shí)鐘1254的一部分。此外, 測試時(shí)鐘發(fā)生器1250抑制可能的時(shí)鐘偏斜,該偏斜源于通過在初始化啟動和/或捕 獲操作時(shí)選擇處于穩(wěn)態(tài)相("關(guān)閉"或處于低邏輯值)的掃描時(shí)鐘("SCLK") 1208
而用功能時(shí)鐘路徑進(jìn)行逐位-邏輯與操作。穩(wěn)態(tài)相的一個示例是圖9的穩(wěn)態(tài)相908。在圖12B所示的示例中,測試時(shí)鐘發(fā)生器1250包括采樣和保持寄存器 ("SHR") 1270以及時(shí)鐘選擇寄存器("CSR,,) 1272。采樣和保持寄存器1270使 用參考時(shí)鐘("RefClk[k]") 1262對SeC信號1260進(jìn)行采樣,并且向時(shí)鐘脈沖控制 器1230提供時(shí)鐘脈沖控制器使能("CPCEn")信號1240用于選擇測試時(shí)鐘速率。 如果CPCEn信號1240具有值l,則多路復(fù)用器1242選擇功能時(shí)鐘("PCLK")1252。 具有值0時(shí),多路復(fù)用器1242選擇控制層時(shí)鐘("TCLK") 1210以將時(shí)鐘命令信 息位移進(jìn)和移出。如果SeD信號1258具有值0且SeC信號1260具有值1,則采 樣和保持寄存器1270產(chǎn)生邏輯值1。否則,采樣和保持寄存器1270的輸出1271 保持在邏輯O。在一些實(shí)施方式中,采樣和保持寄存器1270也可提供用于執(zhí)行時(shí) 鐘域間測試的同步時(shí)序參考點(diǎn)。采樣和保持寄存器1270也有助于對控制層中的控制邏輯執(zhí)行固定型測試,因 為控制邏輯是由控制層時(shí)鐘("TCLK")1210計(jì)時(shí)的。為了實(shí)現(xiàn)固定型測試,RefClk 1262被關(guān)閉。采樣和保持寄存器1270由SeD信號1258重置,并在靜態(tài)測試過程 中保持重置。采樣和保持寄存器1270的重置值在靜態(tài)測試過程中選擇掃描時(shí)鐘 ("SCLK") 1208。由于采樣和保持寄存器1270阻止SeC信號1260傳播到時(shí)鐘選 擇寄存器1272,則SeC信號1260可用于多路復(fù)用時(shí)鐘控制信號TCLK 1210和 SCLK 1208,以便執(zhí)行固定型測試。因此,可編程測試時(shí)鐘控制器的啟動/捕獲狀 態(tài)可在控制邏輯的固定型測試過程中用于捕獲,而掃描加載/卸載狀態(tài)可用于訪問 數(shù)據(jù)掃描鏈。類似地,安靜狀態(tài)可用于捕獲,而控制加載/卸載狀態(tài)可用于在待測 試電路的固定型測試過程中訪問控制鏈。時(shí)鐘選擇寄存器1272被配置成存儲時(shí)鐘選擇控制信息,該信息選擇源時(shí)鐘以 形成測試時(shí)鐘1254的可配置部分。時(shí)鐘選擇寄存器1272的時(shí)鐘選擇控制信息根據(jù) 采樣和保持寄存器1270以及TCEn信號1202兩者的狀態(tài)確定。在常規(guī)功能模式中, 測試模式信號("TM") 1280重置時(shí)鐘選擇寄存器1272。因此,功能時(shí)鐘1252連 接于測試時(shí)鐘1254。時(shí)鐘選擇寄存器1272的狀態(tài)在功能模式過程中保持不變,除 非施加功率下降信號("PWD") 1282。功率下降信號("PWD") 1282可在正常功 能模式過程中停止相應(yīng)時(shí)鐘域的操作。使時(shí)鐘域功率下降可以是用于測試低功率電 路應(yīng)用的期望特性。但是功率下降信號("PWD") 1282可將增強(qiáng)的功能提供給不 同實(shí)施方式的測試結(jié)構(gòu)。特別地,PWD 1282被結(jié)合到測試時(shí)鐘控制器中以進(jìn)行時(shí) 鐘選通而無需插入沿功能時(shí)鐘邏輯干預(yù)的額外邏輯門。注意,如果PWD信號1282 被設(shè)定成關(guān)閉測試時(shí)鐘1254的功能時(shí)鐘,則多路復(fù)用器1255選擇在正常功能模式 過程中非活性的掃描時(shí)鐘("SCLK") 1208,從而不產(chǎn)生作為測試時(shí)鐘1254的時(shí) 鐘脈沖。此夕卜,PWD信號1282也可在功能測試和硅調(diào)試中用作時(shí)鐘停止電路。這 樣,在嵌入式內(nèi)部監(jiān)控電路(未示出)檢測到系統(tǒng)錯誤的情形中有利地關(guān)閉問題時(shí) 鐘域。如果檢測到錯誤,則可停止相應(yīng)的時(shí)鐘域以防止其進(jìn)一步傳播。這簡化了調(diào) 試過程,尤其在與調(diào)試使用常規(guī)掃描鏈結(jié)構(gòu)(包括缺乏迅速檢測錯誤的控制機(jī)構(gòu)的 相對較長的掃描鏈)的電路作比較時(shí)。通常,常規(guī)掃描鏈的長度和來自居間邏輯的 輸出隱匿了錯誤或?qū)z測延遲了超過幾個時(shí)鐘周期。相反,本發(fā)明的不同實(shí)施方式 可使用PWD 1282來停止測試以在例如一對時(shí)鐘周期或更少的時(shí)鐘周期內(nèi)快速檢 測到錯誤。注意,用于產(chǎn)生功率下降信號("PWD") 1282的PWD信號發(fā)生器在 電路設(shè)計(jì)領(lǐng)域中以提供低功率電路應(yīng)用而眾所周知,因此無需詳細(xì)討論。圖13示出根據(jù)本發(fā)明一實(shí)施方式的用于對特定時(shí)鐘域編程的圖12B的2-位移 位寄存器示例的狀態(tài)圖。通過加載2-位移位寄存器1300,單個時(shí)鐘域可對掃描加 載和卸載操作以及啟動和捕獲操作進(jìn)行編程。狀態(tài)圖1310總結(jié)了圖12A和12B的 TCEn信號1202如何從存儲在2-位移位寄存器1300內(nèi)的編程狀態(tài)產(chǎn)生。狀態(tài)圖 1310假設(shè)未使用來自補(bǔ)充時(shí)鐘命令源的字符串發(fā)生器輸入("SGenln") 1302 (即 Sgenln終端設(shè)定為0值)。從狀態(tài)1312至1318的各個狀態(tài)表示2-位移位寄存器1300 的內(nèi)容,且用"Sgenln/TCEn"符號標(biāo)記該轉(zhuǎn)變。注意,由于排除使用補(bǔ)充時(shí)鐘命 令源的輸入限制(即Sgenln=0),因此如虛線1320指示的一些轉(zhuǎn)變不可用。2-位移 位寄存器1300的初始狀態(tài)包括啟動/捕獲狀態(tài)1312 (SR的內(nèi)容是"11")、僅啟動 狀態(tài)1314 (SR的內(nèi)容是"10")、僅捕獲狀態(tài)1318 (SR的內(nèi)容是"01")以及禁用 狀態(tài)1316 (SR的內(nèi)容是"00")??傊?-位移位寄存器1300中1的數(shù)目對應(yīng)于 可作為測試時(shí)鐘CLK[i]傳遞的功能時(shí)鐘脈沖的數(shù)目。如果例如2-位移位寄存器1300包括內(nèi)容"11",則產(chǎn)生兩個連續(xù)功能時(shí)鐘脈 沖以形成測試時(shí)鐘一一個脈沖沿用于啟動操作而另一個脈沖沿用于捕獲操作。在啟 動/捕獲狀態(tài)1312結(jié)束之后,2-位移位寄存器1300達(dá)到禁用狀態(tài)1316且內(nèi)容為"00",由此禁用測試時(shí)鐘CLK。具體地,禁用狀態(tài)1316禁用掃描時(shí)鐘SCLK。 注意,SCLK可在啟動/捕獲過程中靜默。類似地,如果2-位移位寄存器1300包含"10"或"01"的值,則一個功能時(shí)鐘脈沖對僅啟動狀態(tài)1314和僅捕獲狀態(tài)1318 發(fā)出。啟動和捕獲時(shí)鐘脈沖沿之間的區(qū)別在于其時(shí)鐘沿的時(shí)間位移。例如,啟動時(shí) 鐘脈沖通常領(lǐng)先捕獲時(shí)鐘脈沖至少一個功能時(shí)鐘("PCLK")周期。 為了實(shí)現(xiàn)掃描加載和卸載操作,2-位移位寄存器1300的初始狀態(tài)提供確定測試時(shí)鐘是否包括掃描時(shí)鐘脈沖的TCEn信號值。如果2-位移位寄存器1300包括內(nèi) 容"lx",則掃描時(shí)鐘使能掃描加載和卸載操作,其中x指示"無需考慮"。但是如 果內(nèi)容是"0x",則掃描時(shí)鐘禁用且沒有脈沖沿施加到掃描鏈。注意,TCEn信號 的值通常在掃描加載/卸載過程中不變。在一實(shí)施方式中,如果所有掃描鏈要一次 性加載而非選擇性地加載,則SCLK路徑中的與門可去除。圖14A和14B分別示出根據(jù)本發(fā)明不同實(shí)施方式的將可編程測試時(shí)鐘控制器 配置成構(gòu)建用于進(jìn)行啟動和捕獲操作以及用于禁用與其對應(yīng)的時(shí)鐘域的測試時(shí)鐘 的信號時(shí)序。圖14A的時(shí)序圖1400示出可編程測試時(shí)鐘控制器如何使用掃描時(shí)鐘("SCLK")信號和功能時(shí)鐘("PCLK")信號1402來產(chǎn)生啟動和/或捕獲操作的可 配置測試時(shí)鐘波形("CLK") 1410??紤]其它信號1420被初始化成如圖所示的狀 態(tài)。CPCEn信號1406在掃描加載或卸載操作后設(shè)定成邏輯值0。 CPCEn信號1406 將輸出信號("Mux.SO")的值強(qiáng)制設(shè)定為邏輯1。當(dāng)SeC信號1401和SeD信號 1430兩者設(shè)定為邏輯值0時(shí),CPCEn信號1406保持為邏輯值0,從而將時(shí)鐘選擇 寄存器("CSR")輸出信號("Mux.SO") 1408保持為邏輯值1。這樣,CSR輸出 信號1408使得多路復(fù)用器選擇在掃描模式間隔1413期間形成測試時(shí)鐘1410的掃 描時(shí)鐘("SCLK[i]") 1412。之后,考慮時(shí)鐘脈沖控制器被編程為當(dāng)TCEn信號1404 激活(即值為1)時(shí)在從控制鏈的加載操作過程中在其移位寄存器中包括值"11"(即SR41)。 CSR的狀態(tài)持續(xù)對CPCEn信號1406產(chǎn)生邏輯值0,直到SeC信號 1401轉(zhuǎn)變成邏輯值1。然后,在將SeC信號1401采樣到采樣和保持寄存器中之后 的功能時(shí)鐘信號1402的第一下降沿1409處,在CPCEn信號1406的沿1407處的 邏輯值1被捕獲到時(shí)鐘選擇寄存器。如果時(shí)鐘選擇寄存器內(nèi)容的狀態(tài)將CSR輸出 信號1408從邏輯值1變?yōu)?,則多路復(fù)用器選擇功能時(shí)鐘("PCLK[i]") 1414作為 測試時(shí)鐘1410。在功能模式間隔1415期間,兩個連續(xù)功能時(shí)鐘脈沖1419由TCEn 信號1404激活作為啟動時(shí)鐘脈沖和捕獲時(shí)鐘脈沖。注意,對于各個功能時(shí)鐘脈沖 1419,邏輯值0移位進(jìn)入到移位寄存器中(例如通過設(shè)定為邏輯0的Sgenln輸入)。 當(dāng)移位寄存器達(dá)到禁用狀態(tài)(即其內(nèi)容包括值"OO")時(shí),則TCEn信號1404被禁 用并在沿1421降為邏輯值O。此夕卜,CSR輸出信號1408然后在沿1423改變狀態(tài), 從而使可編程測試時(shí)鐘控制器在間隔1417期間返回到掃描模式以輸出掃描時(shí)鐘("SCLK[i]") 1416作為測試時(shí)鐘1410。注意,當(dāng)SeD信號處于邏輯0時(shí)掃描時(shí)鐘1412通常保持為穩(wěn)態(tài)值0??删幊?測試時(shí)鐘控制器使多路復(fù)用器輸出(即輸出信號1408)大致在功能時(shí)鐘1402處于 穩(wěn)態(tài)邏輯值0時(shí)的其負(fù)載周期中間1430處出現(xiàn)。在穩(wěn)態(tài)相1432的中間1430切換 測試時(shí)鐘1410有利地提供了對可在制造中發(fā)生的工藝變化的容限,從而降低時(shí)序 不確定度以及保持不變的功能時(shí)鐘負(fù)載循環(huán)。圖14B的時(shí)序圖1450示出根據(jù)本發(fā)明一實(shí)施方式的可編程測試時(shí)鐘控制器如 何產(chǎn)生禁用時(shí)鐘域的可配置測試時(shí)鐘波形??紤]其它信號1470被初始化成所示狀 態(tài)。這樣,移位寄存器("SR")加載有內(nèi)容"00",從而產(chǎn)生TCEn信號1454的 邏輯值O。結(jié)果,時(shí)鐘選擇寄存器產(chǎn)生具有邏輯值1的CSR輸出信號1458,從而 選擇掃描時(shí)鐘("SCLK[i]") 1462作為測試時(shí)鐘1460。因此,對于測試時(shí)鐘,沒有 掃描脈沖或功能脈沖產(chǎn)生。圖15示出根據(jù)本發(fā)明一實(shí)施方式的包括簡化時(shí)鐘脈沖控制器和簡化測試時(shí)鐘 發(fā)生器的可編程測試時(shí)鐘控制器??删幊虦y試時(shí)鐘控制器1500包括簡化時(shí)鐘脈沖 控制器1502和簡化測試時(shí)鐘發(fā)生器1520,兩者與圖12B中類似命名的信號交互作 用。雖然可編程測試時(shí)鐘控制器1500與圖12B的可編程測試時(shí)鐘控制器作用類似, 但是它被特別地配置成提供啟動和/或捕獲操作以及連續(xù)測試能力。在該情形中, 簡化時(shí)鐘脈沖控制器1502包括用于存儲和提供單個位的1-位移位寄存器 ("CPCR") 1504。例如,可編程測試時(shí)鐘控制器1500可提供相應(yīng)的TCEn信號 1506值的流,諸如1["00]或0[x1,其中1-位移位寄存器504的初始狀態(tài)只包括 第一位(即括號之間的位是外部供應(yīng)的)。在這樣的情形中,時(shí)鐘速率控制信號(即 CPCEn信號)源自SeD 1521。信號SeD 1521迫使MUS 1508在掃描加載/卸載之 后選擇CLK[i]。然而,CLK[i]通常靜默直到CSR 1524的輸出被設(shè)定成選擇CLK[i]。 這是由信號SeC 1523的值從邏輯0改變到1導(dǎo)致的??删幊虦y試時(shí)鐘控制器1500 可將1-位移位寄存器1504和時(shí)鐘選擇寄存器1526兩者實(shí)現(xiàn)為有效2-位移位寄存 器("SR"),以容納用于啟動和捕獲操作的TCEn信號1506的值。注意,時(shí)鐘選 擇寄存器1526確定時(shí)鐘命令信息加載和實(shí)速測試兩者的測試時(shí)鐘。在操作中,1-位移位寄存器1504的內(nèi)容在啟動或捕獲操作之前被拷貝到時(shí)鐘選擇寄存器1526 中。通過移位1-位移位寄存器1504, TCEn信號1506的值通過輸出1524施加到多 路復(fù)用器1528。在另一實(shí)施方式中,經(jīng)簡化的測試時(shí)鐘發(fā)生器1520包括2-位同步 器1522,以適應(yīng)同步的采樣和保持可能不足以確保準(zhǔn)確或安全的測試操作的情形。 雖然未示出,但是參考時(shí)鐘RefClk[k]也可代替功能時(shí)鐘("PCLK[i]") 1530用于 驅(qū)動同步器1522。
圖16示出根據(jù)本發(fā)明一實(shí)施方式的包括補(bǔ)充時(shí)鐘命令源的可編程測試時(shí)鐘控制器。如圖所示,可編程測試時(shí)鐘控制器1600耦合于補(bǔ)充時(shí)鐘命令源("SCCS") 1602以將產(chǎn)生的功能時(shí)鐘脈沖抑制或延遲可編程的時(shí)間量。補(bǔ)充時(shí)鐘命令源1602 可以是例如產(chǎn)生期望二進(jìn)制位流作為單獨(dú)時(shí)鐘沿的時(shí)鐘控制("TCEn")信號值的 有限狀態(tài)機(jī)。再參照圖12B,注意,如果SGenln信號1248未受限制(即在移出2 位之后它并未保持為否則將禁用可編程測試時(shí)鐘控制器的穩(wěn)態(tài)低值),則由補(bǔ)充時(shí) 鐘命令源1602產(chǎn)生的位流便于多周期路徑測試。這樣,捕獲時(shí)鐘沿可通過抑制特 定啟動時(shí)鐘沿之后的多個功能時(shí)鐘脈沖而延遲多個周期。參照圖13,考慮多周期 計(jì)時(shí)方案可通過首先從作為2-位移位寄存器1300的初始狀態(tài)的僅啟動狀態(tài)1314 (即內(nèi)容編程為"10")開始。然后,圖16的10
的TCEn信號值1604可 支持用于延遲測試的多周期路徑。補(bǔ)充時(shí)鐘命令信息
(即序列的前兩位 "10"之后的剩余部分)可由補(bǔ)充時(shí)鐘命令源1602提供。補(bǔ)充時(shí)鐘命令源1602有利地產(chǎn)生多周期的TCEn值10*100*、連續(xù)的1*00*、 以及僅啟動或僅捕獲的0*100*,以相應(yīng)地實(shí)現(xiàn)多周期路徑測試操作、連續(xù)測試操 作以及延遲的僅啟動操作或僅捕獲操作。TCEn值1604的前2位可存儲在時(shí)鐘脈 沖控制器中。注意,"x*"的首次出現(xiàn)之后是補(bǔ)碼"x",隨后是"00*"。最后的字 符串"00*"在測試動作結(jié)束時(shí)禁用功能時(shí)鐘,從而將可編程測試時(shí)鐘控制器1600 置于禁用狀態(tài)。在一些實(shí)施方式中,補(bǔ)充時(shí)鐘命令源1602可以是提供TCEn信號 1604的最多達(dá)k-位值(或單獨(dú)時(shí)鐘沿)的k-位移位寄存器。然而,如果k相對較 大,則字符串發(fā)生器可用于減少硬件額外開支。圖17A和17B分別示出根據(jù)本發(fā)明各種實(shí)施方式的實(shí)現(xiàn)為字符串發(fā)生器的補(bǔ) 充時(shí)鐘命令源以及相應(yīng)的狀態(tài)圖。在一實(shí)施方式中,字符串發(fā)生器1700產(chǎn)生表示 補(bǔ)充時(shí)鐘命令信息的數(shù)據(jù)位串,其中該串的位長通常比例如在k位寄存器中存儲k 個數(shù)據(jù)位所需的存儲器元件的位數(shù)更長。字符串發(fā)生器1700包括被配置成存儲第 一脈沖值和第二脈沖值的位保持單元1720、和用于在第一脈沖值與第二脈沖值之 間移位了多個插入時(shí)鐘周期之后實(shí)現(xiàn)專用環(huán)計(jì)數(shù)器中最顯著位("MSB")的邏輯 轉(zhuǎn)變的專用環(huán)計(jì)數(shù)器1720。例如,位保持單元1720可在TCEn信號值的流中"n" 次地產(chǎn)生邏輯值0或1。專用環(huán)計(jì)數(shù)器1720追蹤要產(chǎn)生脈沖的數(shù)目。專用環(huán)計(jì)數(shù) 器1720的初始內(nèi)容可通過CSI 1711和CSO 1712串行加載或卸載。在啟動和捕獲 操作過程中,它保持計(jì)數(shù)直到達(dá)到零狀態(tài)。在操作中,位保持單元1710保持初始值直到具有邏輯值0的零("Zero")信 號1716到達(dá)終端1714。這樣,零信號1716表示專用環(huán)計(jì)數(shù)器1720是否己到達(dá)零 狀態(tài)。寄存器("G1") 1702和寄存器("GO") 1704在例如進(jìn)行啟動和/或捕獲操 作之后用補(bǔ)充邏輯值初始化。補(bǔ)充邏輯值在計(jì)數(shù)結(jié)束時(shí)輸出到時(shí)鐘脈沖控制器(未 示出)。專用環(huán)計(jì)數(shù)器1720在直到被重新加載前都保持為零狀態(tài)。為了說明起見, 考慮零信號1716具有邏輯值1且寄存器1702和1704包含補(bǔ)充邏輯值。此外,乂011-門1718引入額外反轉(zhuǎn)以使寄存器1704的內(nèi)容保持不變。然后,考慮零信號1716 具有邏輯值O,從而將位保持單元1710配置為2-位移位寄存器。注意,X0R-門1718 在零信號1716具有邏輯值1時(shí)用作反相器,否則作為緩沖器工作。因此,在零信 號1716達(dá)到值0之后有兩個功能時(shí)鐘循環(huán),各個寄存器1702和1704包含邏輯值 0?;趤碜约拇嫫?702和1704兩者的內(nèi)容SGenEn信號1719產(chǎn)生,以表示字符 串發(fā)生器1700是否被激活。如果寄存器1702和1704分別包含邏輯值0和0,則 SgenEn信號1719指示字符串發(fā)生器170被0禁用(且保持禁用直到被重新加載)。 否則,對于啟動和/或捕獲操作,字符串發(fā)生器1700被激活。圖17B的狀態(tài)圖1750 包括用于描述位保持單元1710的狀態(tài)圖1760。再參照圖17A,專用環(huán)計(jì)數(shù)器1720可編程為包含寄存器("G1") 1704要保 持的多個功能時(shí)鐘周期(例如啟動時(shí)鐘沿與捕獲時(shí)鐘沿之間的多個單獨(dú)時(shí)鐘沿)。 字符串發(fā)生器1700使用具有零檢測能力的專用串計(jì)數(shù)器1720。在所示示例中,專 用環(huán)計(jì)數(shù)器1720實(shí)現(xiàn)3-位環(huán)計(jì)數(shù)器1722。 3-位環(huán)計(jì)數(shù)器1722在啟動和捕獲操作 過程中有利地保持單個OR-門延遲對零輸出的最壞情形延遲。3-位環(huán)計(jì)數(shù)器1722 通過激活專用環(huán)計(jì)數(shù)器1720的最顯著位("MSB")以通過邏輯1至0轉(zhuǎn)變將輸出 信號設(shè)定為零信號1716而將延遲限制在OR (或)-門延遲。OR-門的鏈1724提供 偽路徑,因?yàn)闆]有轉(zhuǎn)變可從最小顯著位("LSB")傳播以直接確定零信號1716的 零值。注意,當(dāng)N是在本發(fā)明其它實(shí)施方式中用于實(shí)現(xiàn)M-位環(huán)計(jì)數(shù)器的觸發(fā)器的 數(shù)目時(shí),專用環(huán)計(jì)數(shù)器1720可計(jì)數(shù)達(dá)2N。其它計(jì)數(shù)器也可結(jié)合在字符串發(fā)生器中。 圖17B的狀態(tài)圖1750包括用于描述3-位環(huán)計(jì)數(shù)器1722的行為的狀態(tài)圖1770。圖18是示出根據(jù)本發(fā)明一實(shí)施方式的實(shí)現(xiàn)任何數(shù)量的可編程測試時(shí)鐘控制器 以測試電子器件及其電路的概念性測試時(shí)鐘控制結(jié)構(gòu)的框圖。測試時(shí)鐘控制結(jié)構(gòu) 1800包括任意數(shù)量N的可編程測試時(shí)鐘控制器("PTCC"),其一被示為PTCC 1810。 測試時(shí)鐘控制結(jié)構(gòu)1800中的各個PTCC包括在諸如掃描時(shí)鐘("SCLK") 1816的 源時(shí)鐘與功能時(shí)鐘("PCLK[L.N]")1806之一之間多路復(fù)用的多路復(fù)用器("MUX") 1812。在該示例中, 一個或多個PLL電路1802從鎖相于PLL輸出時(shí)鐘1806的一
個或多個參考時(shí)鐘("RefClk[l..M]") 1801產(chǎn)生功能時(shí)鐘1806。此外,各個PTCC 包括施加時(shí)鐘命令信息("CCT")以用來自測試時(shí)鐘("CLK[l..N]") 1818的至少 一個測試時(shí)鐘驅(qū)動掃描鏈1820中的一個或多個觸發(fā)器和/或掃描鏈的邏輯1814。掃 描鏈1820包括任意數(shù)目的連續(xù)單元1820a,其一在圖18中示出。在一實(shí)施方式中, 連續(xù)單元1820a包括多路復(fù)用器("mux") 1870和存儲元件1872。多路復(fù)用器1870 由SE2FF信號1871 (掃描使能數(shù)據(jù)("SeD")控制信號1840的重新定時(shí)版)控制, 以在進(jìn)入存儲元件1872的輸入1880 (例如作為來自待測試電路的結(jié)果數(shù)據(jù))或掃 描鏈輸入("SI") 1882 (來自上一連續(xù)單元)之間切換。存儲元件被配置成提供作 為輸出1884的數(shù)據(jù)(例如作為待測試電路的刺激數(shù)據(jù))和/或通過掃描輸出("SO") 1886提供給下一連續(xù)單元。在該示例中,PTCC 1810從控制鏈1830的至少一個部分接收時(shí)鐘命令信息。 注意,在一些實(shí)施方式中,掃描鏈1820和/或控制鏈1830各自可包括單個鏈(例 如串行移位數(shù)據(jù))或掃描鏈任意數(shù)目的部分(例如并行移位數(shù)據(jù))。在一些實(shí)施方 式中,ATE (未示出)產(chǎn)生SeD信號1840、 SeC信號1842、主掃描時(shí)鐘("ScanClk") 信號1844和參考時(shí)鐘1801。在至少一個實(shí)施方式中,這些ATE產(chǎn)生的信號是全 局信號。即,它們被施加于測試時(shí)鐘控制結(jié)構(gòu)1800中的PTCC。在一些實(shí)施方式 中,可添加任選的為測試設(shè)計(jì)("DFT")的塊1850。 DFT塊1850包括由SeD信號 1840和時(shí)鐘域使能("CDEn")信號1852控制的多個觸發(fā)器("SeFF") 1860。通 常,在例如大系統(tǒng)(例如芯片上系統(tǒng))中,確保SeD信號1840的時(shí)序限制的SeFF 1860滿足上次移位啟動測試協(xié)議。當(dāng)邏輯1814包括影響啟動和/或捕獲操作的時(shí)鐘 命令信息時(shí),CDEn信號1852基于編程到相應(yīng)PTCC中的內(nèi)容調(diào)節(jié)SeFF 1860的 內(nèi)容。CDEn信號1852的狀態(tài)在使能時(shí)鐘域中保持SeFF 1860的內(nèi)容并在禁用時(shí) 鐘域中重置SeFF 1860。因此,僅僅使能時(shí)鐘域可參與上次移位啟動測試而其它時(shí) 鐘域可被禁用或可以功能模式操作。圖19是根據(jù)本發(fā)明一實(shí)施方式的實(shí)現(xiàn)可編程測試時(shí)鐘控制器以測試不同域中 電路的測試時(shí)鐘控制結(jié)構(gòu)的示圖。測試時(shí)鐘控制結(jié)構(gòu)1900 (或其一部分)包括分 別與時(shí)鐘域1902a、 1902b和1902c交互作用的可編程測試時(shí)鐘控制器("PTCC") 1910、 1920和1930。各個時(shí)鐘域1902包括一個或多個掃描鏈1904 (或其部分) 和待測試電路l卯6。在該示例中,時(shí)鐘域1902中的掃描鏈l卯4并行,因?yàn)橐粋€ 或多個掃描鏈部分1904可進(jìn)行例如卸載/加載操作而其它部分不能。此外, 一個或 多個時(shí)鐘域可通過相同或不同的測試協(xié)議實(shí)施,而其它時(shí)鐘域則保持空閑或參與其
它測試。例如,考慮分別加載在PTCC 1910和1920中的時(shí)鐘命令信息("CCD 1912和1922導(dǎo)致時(shí)鐘域1920a中的啟動操作和時(shí)鐘域1920b中的捕獲操作,從而 實(shí)現(xiàn)域間測試。這可在時(shí)鐘域1902c的掃描鏈部分1904進(jìn)行加載/卸載操作、或例 如作為PTCC 1930響應(yīng)于CCI 1924禁用域1902c的結(jié)果而未激活(例如進(jìn)行靜態(tài) 測試)時(shí)發(fā)生。由于測試時(shí)鐘控制結(jié)構(gòu)1900提供并行測試一個或多個時(shí)鐘域1902 的靈活性,因此減小了時(shí)鐘域之間的連續(xù)相關(guān)性,這又減小了自動測試圖產(chǎn)生的復(fù) 雜性。測試時(shí)鐘控制結(jié)構(gòu)1900中并行域的實(shí)現(xiàn)有利地可通過減少掃描加載/卸載操 作的次數(shù)而減少總的測試時(shí)間和測試數(shù)據(jù)量。雖然圖19將域1902示為時(shí)鐘域,但 是它們可被表征為任意其它類型的域,諸如功率域。上述相關(guān)的測試時(shí)鐘控制結(jié)構(gòu) 1900也適用于以下圖23和24。圖20是示出根據(jù)本發(fā)明一實(shí)施方式的共享初級輸入2020和初級輸出2022以 減少測試接入點(diǎn)的控制鏈2002和掃描鏈2004的示圖。在該示例中,SeC信號2001 使多路復(fù)用器2006選擇從控制鏈2002或掃描鏈2004移位的數(shù)據(jù),而SeD信號2003 使多路復(fù)用器2008選擇從鏈或從功能輸出移位的數(shù)據(jù)。圖21示出根據(jù)本發(fā)明一實(shí)施方式被配置成執(zhí)行域間測試的測試時(shí)鐘控制結(jié) 構(gòu)。測試時(shí)鐘控制結(jié)構(gòu)2100包括用于調(diào)整兩個時(shí)鐘域的延遲測試的可編程測試時(shí) 鐘控制器("PTCC") 2111和PTCC 2121。時(shí)鐘域2102和時(shí)鐘域2104分別包括電 路2103和2105,兩者都被設(shè)計(jì)成以獨(dú)立時(shí)鐘頻率運(yùn)行。這樣,PTCC2111可使用 功能時(shí)鐘PCLK[i] 2110來產(chǎn)生第一時(shí)鐘速率,而PTCC 2121可使用功能時(shí)鐘 PCLK[j] 2120來產(chǎn)生第二時(shí)鐘速率。根據(jù)本發(fā)明的不同實(shí)施方式,PTCC 2111和 2121中的時(shí)鐘脈沖控制器2130可通過控制鏈2140編程為分別執(zhí)行僅啟動和僅捕 獲操作一相對同步一以測試域間區(qū)域2150中的接口電路等。為了協(xié)調(diào)多周期路徑 測試操作(包括僅啟動和僅捕獲操作),被配置成用作自動測試圖發(fā)生器("ATP 發(fā)生器")的計(jì)算器件可產(chǎn)生使用于實(shí)現(xiàn)域間測試的PTCC 2111和2121操作同步 以檢測域間區(qū)域2150中故障的測試圖。例如,ATP發(fā)生器可使用公共參考時(shí)鐘 ("RefClk") 2160來建立時(shí)序參考點(diǎn)。在其它實(shí)施方式中,ATP發(fā)生器也可使用 彼此不同步的不同參考時(shí)鐘來執(zhí)行域間測試。注意,在一些實(shí)施方式中,術(shù)語"多 周期路徑測試"通常指域間測試或者域內(nèi)測試,或者是指兩者。圖22A和22B示出根據(jù)本發(fā)明不同實(shí)施方式的使用一個或多個時(shí)序參考點(diǎn)計(jì) 算時(shí)間距離以實(shí)現(xiàn)域間測試的不同技術(shù)。圖22A示出公共參考時(shí)鐘("RefClk[k]") 2216如何用來提供時(shí)序參考點(diǎn)2220,以確定將由一個或多個可編程測試時(shí)鐘控制
器("PTCC")執(zhí)行的操作延遲多個時(shí)鐘周期。PTCC可在對SeC信號2218進(jìn)行采 樣之后延遲啟動操作或獲取操作。PTCC相對于在其特定時(shí)域中的測試時(shí)鐘延遲操 作。考慮域間(例如時(shí)鐘域間)測試可被設(shè)計(jì)成實(shí)現(xiàn)從一個時(shí)鐘域[i]進(jìn)入發(fā)生捕獲 的另一時(shí)鐘域[j]的啟動。這樣,時(shí)鐘域W的啟動時(shí)鐘脈沖可在對SeC信號2218進(jìn) 行采樣之后延遲4個PCLK[i]時(shí)鐘周期。此外,時(shí)鐘域[j]的捕獲操作可延遲1個 PCLK[j]時(shí)鐘周期。注意,RefClk[k]時(shí)鐘2216的相位與至少PCLK[i] 2212和PCLK[j] 2214鎖定。"時(shí)間距離"是相對于諸如PCLK[i] 2212或PCLK。] 2214的某一時(shí)鐘 的多個周期的延遲。這樣,ATP發(fā)生器可通過對從參考時(shí)鐘沿2220開始到指定啟 動(或捕獲)時(shí)鐘沿的PCLK[i] 2212的下降沿?cái)?shù)目計(jì)數(shù)來計(jì)算時(shí)間距離。ATP發(fā) 生器可基于時(shí)間距離形成測試圖。然后,ATE可將時(shí)間距離編程到PTCC的時(shí)鐘 脈沖控制器以及字符串發(fā)生器中以提供多周期測試。圖22A的示圖2230示出用于啟動時(shí)鐘域[i]的轉(zhuǎn)變、并在時(shí)鐘域[j]將其捕獲的 經(jīng)計(jì)算時(shí)間距離2232和2234。所以輸入轉(zhuǎn)變可從RefClk[k] 2216的上升沿2220 開始在PCLK[i] 2212的第5上升沿2217 —在4個下降沿的延遲(例如時(shí)間距離2232 為4)之后一開始。該轉(zhuǎn)變在一個下降沿延遲(例如時(shí)間距離2234為1)之后在時(shí) 鐘PCLK[j] 2214的第2上升沿2219處捕獲。示圖2240示出用于從啟動該轉(zhuǎn)變(與 示圖2230反向)的時(shí)鐘域[j]將轉(zhuǎn)變捕獲到時(shí)鐘域[i]中的經(jīng)計(jì)算時(shí)間距離2242和 2244。這樣,轉(zhuǎn)變可在PCLK[j]2214的第2上升沿2219 (例如,在為1的時(shí)間距 離2244之后)啟動,且轉(zhuǎn)變可在延遲了6個下降沿(例如時(shí)間距離2242為6)之 后在PCLK[i] 2212的第7個上升沿2221處捕獲。圖22B示出在參考時(shí)鐘和測試時(shí)鐘不同相的情形中時(shí)間距離的計(jì)算。該示圖 示出了用于時(shí)鐘域間測試的時(shí)序,其中時(shí)鐘域?qū)?yīng)于不同相且不同步的功能時(shí)鐘。 在該示例中,PCLK[i] 2262和PCLK[j] 2264分別源自不同步的參考時(shí)鐘RefClk[k] 2266和RefClk[l] 2268。這樣,時(shí)間距離的計(jì)算是就多個時(shí)間參考點(diǎn)而言的。例如, 參考點(diǎn)2267和2269提供不同的基礎(chǔ),并由此確定時(shí)間距離。圖22B的示圖2280示出分別用于從時(shí)鐘域[i]啟動轉(zhuǎn)變并在時(shí)鐘域m將其捕獲的經(jīng)計(jì)算時(shí)間距離2282 和2284。所以,輸入轉(zhuǎn)變可從RefClk[k] 2266的上升沿2267開始在PCLK[i] 2262 的第5個上升沿2277處一在延遲了4個下降沿(例如時(shí)間距離2282為4)之后一 啟動。該轉(zhuǎn)變在時(shí)鐘PCLK[j] 2264的1個下降沿的延遲(例如時(shí)間距離2284為1) 之后的第2上升沿2279處捕獲。示圖2290示出用于從啟動該轉(zhuǎn)變的時(shí)鐘域[j]將轉(zhuǎn) 變捕獲到時(shí)鐘域[i]中的經(jīng)計(jì)算時(shí)間距離2292和2294。這樣,轉(zhuǎn)變可在PCLK[j] 2264
的第2上升沿2279處(例如在為1的時(shí)間距離2294之后)啟動,且該轉(zhuǎn)變可在延 遲了 7個下降沿(例如時(shí)間距離2292為7)之后的PCLK[i] 2262的第8上升沿2281 處捕獲。在一些實(shí)施方式中,可結(jié)合多個SeC信號2270以允許對時(shí)鐘域間測試的 靈活實(shí)現(xiàn)。多個SeC信號2270 (未示出)可增加對參考時(shí)鐘的沿選擇的可控性, 從而通過選擇參考時(shí)鐘的期望開始沿而減小一個或多個字符串發(fā)生器的大小。例 如,SeC[m]信號和SeC[m+l]信號可將開始沿選擇成第t個周期和t+h個周期的下 降沿或上升沿以使字符串發(fā)生器的大小最小化。圖23示出根據(jù)本發(fā)明一實(shí)施方式的被配置成執(zhí)行域內(nèi)測試的測試時(shí)鐘控制結(jié) 構(gòu)。測試時(shí)鐘控制結(jié)構(gòu)2300包括各自用于控制相應(yīng)子域2302的可編程測試時(shí)鐘控 制器("PTCC") 2304。域2301被劃分成許多更小的域、或子域2302。如果域2301 是時(shí)鐘域,則PTCC 2304共同使用一公共功能時(shí)鐘PCLK 2306來測試作為子時(shí)鐘 "時(shí)鐘"域的子域2302。圖24示出根據(jù)本發(fā)明一實(shí)施方式的被配置成使用簡化可編程測試時(shí)鐘控制器 來執(zhí)行域內(nèi)測試的測試時(shí)鐘控制結(jié)構(gòu)。在本示例中,測試時(shí)鐘控制結(jié)構(gòu)2400包括 用于控制多個子時(shí)鐘域2403的掃描測試的簡化可編程測試時(shí)鐘控制器的配置 2401。如本文中所使用的,在一些實(shí)施方式中術(shù)語"時(shí)鐘域廣義化"是指將一時(shí)鐘 域劃分成一個子時(shí)鐘域2403集的過程,由此簡化可編程測試時(shí)鐘控制器的配置 2401在具有廣義化時(shí)鐘域時(shí)比具有預(yù)劃分的初始時(shí)鐘域的結(jié)構(gòu)時(shí)更加靈活。例如, 簡化可編程測試時(shí)鐘控制器的配置2401在嵌入電路中的功率域可被分割成子域 2403并進(jìn)行檢測時(shí)也很有用。由于功率電路的性能可影響功率域內(nèi)的系統(tǒng)延遲, 因此可期望將各個功率域形成為單獨(dú)的子域2403并在延遲測試過程中獨(dú)立地控 制。注意,時(shí)鐘域廣義化在檢測例如子時(shí)鐘域中的故障觸發(fā)器而不干擾其它子時(shí)鐘 域測試的硅調(diào)試中也很有用。由于配置2401允許用戶在任一時(shí)鐘域中編程掃描加 載/卸載,因此在包含子時(shí)鐘域2403的時(shí)鐘域中僅選擇的掃描鏈需要在診斷過程中 加載/卸載。配置2401被配置成使用功能時(shí)鐘PLK[i] 2405來驅(qū)動"m"個子時(shí)鐘域2403。 配置2401包括母PTCC 2402以及子PTCC 2406和2408。母PTCC 2402運(yùn)行以向 子PTCC 2406和2408傳播可編程數(shù)目的測試時(shí)鐘脈沖2407,子PTCC 2406和2408 的任一個可被編程為使用測試時(shí)鐘脈沖2407或者不使用。雖然PTCC 2406和2408 可具有與母PTCC2402相同的結(jié)果和/或功能,但是在本示例中,它們由簡化可編 程測試時(shí)鐘控制器("SPTCC")構(gòu)成。作為SPTCC的PTCC 2406和2408有利地需要較少的硬件資源來實(shí)現(xiàn)。如圖所示,SPTCC包括簡化時(shí)鐘脈沖控制器("SCPC")和時(shí)鐘域廣義化("CDG")單元。在此,PTCC 2406包括SCPC 2410 和CDG單元2420,而PTCC 2408包括SCPC 2430和CDG單元2440。在一些實(shí) 施方中,SCPC 2430和CDG單元2440可分別被描述為母PTCC 2402的CPC和 TCG (都未示出)的簡化版。在操作中,SCPC 2410和SCPC 2430的輸出與測試 時(shí)鐘脈沖2407在門2470處邏輯與,以產(chǎn)生子域時(shí)鐘CLK[i,l]、 CLK[ij]、直到例 如CLK[i,m]。還要注意,禁用母PTCC 2402導(dǎo)致禁用所有子時(shí)鐘域。還要注意, 門2490和門2492產(chǎn)生時(shí)鐘域使能信號("CEDN[i,l]") 2496和("CEDN[i,m]") 2498以分別激活時(shí)鐘域2403a和2403c的操作。此外要注意,SPTCC的結(jié)構(gòu)可對各個子時(shí)鐘域的特定測試要求進(jìn)行優(yōu)化。例 如,如果測試時(shí)鐘脈沖2407通過或被阻擋,則SPTCC可包括含有控制時(shí)鐘CLK[i,l] 的單個觸發(fā)器("CO") 2472的SCPC 2410。在本情形中,SCPC 2410可使用ICLK[i] 2411加載并在啟動和/或捕獲操作過程中保持不變。在一些實(shí)施方式中,ICLK[i] 2411可使用信號CPCen 1240、 PCLK 1252和TCLK 1210產(chǎn)生,如圖12所示。對 于啟動和/或捕獲操作,SCPC 2410可加載有邏輯值1 (例如加載到元件("CO") 2472),以及母PTCC 2402中的母CPC (未示出)加載有控制圖以產(chǎn)生CLK[i](例 如從字符串發(fā)生器等)。如果局部測試時(shí)鐘CLK[i,j]與母測試時(shí)鐘CLK[i] 2407相同, 則PTCC 2406和2408被激活。如果子時(shí)鐘域2403的測試需要例如在不同時(shí)鐘周 期中執(zhí)行延遲的僅啟動或僅捕獲,貝U SPTCC可包括具有由元件("CO") 2476和 ("CI") 2433構(gòu)成的2-位局部移位寄存器(與母PTCC 2402相似)的SCPC 2430。 有利地,諸如SCPC 2430的SCPC的2-位實(shí)現(xiàn)便于測試時(shí)間和測試容量的減少。圖25A至25D示出根據(jù)本發(fā)明一實(shí)施方式的被配置成便于使用可編程測試時(shí) 鐘控制器的域間測試和域內(nèi)測試的測試時(shí)鐘控制結(jié)構(gòu)。在圖25A中,測試時(shí)鐘控 制結(jié)構(gòu)2500便于電路的域間測試或域內(nèi)測試,或兩者一不管域或子域2510和2530 的多個部分是并行還是串行實(shí)施以測試電路2520。由于可編程測試時(shí)鐘控制器可 被編程為將各域的內(nèi)部交互限制在各個時(shí)鐘域的邊界內(nèi),域的接口可與其余域獨(dú)立 地控制。因此, 一個或多個域接口 (和子域接口)可在與域(或子域)的其它部分 的測試并行或串行的基于掃描測試中實(shí)現(xiàn)。因此,單獨(dú)的PTCC可用于控制子域的 選擇部分,諸如掃描鏈部分、電路等。為了進(jìn)行說明,考慮子域2510的PTCC 2512和2514各自用相同的功能時(shí)鐘 工作,該功能時(shí)鐘具有與子域2530的PTCC 2522和2524所使用的功能時(shí)鐘不同
的時(shí)鐘速率。首先考慮PTCC 2514和2524被編程為在某一時(shí)間Tl激活測試時(shí)鐘 控制結(jié)構(gòu)2500的一部分2502。例如,PTCC 2514和2524可被編程為執(zhí)行啟動和 捕獲操作或一些其它操作,諸如掃描鏈加載或卸載操作。這樣,該部分2502可與 時(shí)鐘控制結(jié)構(gòu)2500的其它部分獨(dú)立地控制。此外,對于本示例,考慮PTCC2512 和2522可被編程為與部分2502的測試并行或串行地執(zhí)行域內(nèi)(或子域內(nèi))動態(tài)和 /或靜態(tài)測試。然后,考慮在時(shí)刻T2,可禁用PTCC 2514和2524,而其它PTCC 被激活以參與測試部分2504的動態(tài)(例如寬面、上次移位啟動、域間、域內(nèi)等) 和/或靜態(tài)測試。注意,在一些實(shí)施方式中,測試時(shí)鐘控制結(jié)構(gòu)2500和伴隨電路通 常定義由PTCC2512、 2514、 2522和2524構(gòu)成的結(jié)構(gòu)。圖25B至25D示出根據(jù)本發(fā)明另一實(shí)施方式的被配置成便于使用可編程測試 時(shí)鐘控制器的域間測試和域內(nèi)測試的測試時(shí)鐘控制結(jié)構(gòu)的再一示例。測試時(shí)鐘控制 結(jié)構(gòu)2550便于域間測試或域內(nèi)測試、或兩者。由于可編程測試時(shí)鐘控制器可被編 程為將內(nèi)部交互限定在各個時(shí)鐘域的邊界內(nèi),因此域的接口可與其余域獨(dú)立地控 制。這種接口的示例包括輸入寄存器和/或輸出寄存器。因此, 一個或多個域接口 (和子域接口)可與該域(或子域)其它部分的測試并行和/或串行的基于掃描測 試中實(shí)現(xiàn)。因此,獨(dú)立的SPCP可用于控制子域的選擇部分,諸如掃描鏈部分、電 路等。例如,圖25B示出子域2560的SPCP 2564和2566各自通過相同的功能時(shí) 鐘工作,兩者都可具有分別與子域2520和2580的SPCP2571和2581所使用的功 能時(shí)鐘不同的時(shí)鐘速率。首先,考慮SPCP2571和2564被編程為激活時(shí)鐘域間測 試以測試電路部分2530中的邏輯2572和/或邏輯2474,而SPCP 2566和2581被 編程為激活時(shí)鐘域間測試以測試電路部分2531中的邏輯2582和/或邏輯2584。所 有SPCP 2571、 2564、 2566和2581可被編程為在某一時(shí)刻Tl操作。注意,寄存 器2559可表示子域("域r") 2580的輸出寄存器。因此,SPCP2571和2564可被 編程為分別執(zhí)行啟動(例如從子域2570)和捕獲操作(例如進(jìn)入子域("域q")2560) 或者其它操作,諸如掃描鏈加載或卸載操作。注意,寄存器2589可表示子域("域 p") 2570的輸入寄存器。類似地,SPCP 2566和2581可被編程為分別進(jìn)行例如啟 動(例如從子域("域q") 2560)和捕獲操作(例如進(jìn)入子域("域r") 2580)或 者一些其它操作,諸如掃描鏈加載或卸載操作。因而電路部分2530和2531可與時(shí) 鐘控制結(jié)構(gòu)2550的其它部分獨(dú)立地(例如獨(dú)立于子域2560的邏輯2561、邏輯2562 和邏輯2563)控制。此外,對于本示例,考慮SPCP2564、 2565和2566可被編程
為與圖25B的部分電路部分2530和2531的測試并行或串行地執(zhí)行域內(nèi)(或子域 內(nèi))動態(tài)和/或靜態(tài)測試。圖25C示出在時(shí)刻T2, SPCP2571和2581可被禁用(例 如保存寄存器2559和2589的內(nèi)容),而SPCP 2564和2565可被配置成參與動態(tài)
(例如寬面、上次移位啟動、域間、域內(nèi)測試等)和/或靜態(tài)測試以測試包括系統(tǒng) 組合邏輯2561的一部分以及可包含內(nèi)部寄存器和邏輯的另一部分2562的電路部分 2590。類似地,圖25D示出在時(shí)刻T3, SPCP2565和2566可被激活以參與動態(tài)和 靜態(tài)測試,以便于測試包括電路的其它部分2562和邏輯2563的電路部分2591。 圖26示出根據(jù)本發(fā)明一實(shí)施方式的使用實(shí)現(xiàn)可編程測試時(shí)鐘控制器
("PTCC")的測試時(shí)鐘控制器結(jié)構(gòu)來測試電路的微觀流程示例。流程2600通常用 于具有2-位移位寄存器且不具有補(bǔ)充時(shí)鐘命令源的PTCC。在一些情形中,在流程 2600中,SeFF在掃描加載/卸載操作開始之前被初始化。SeFF的示例在圖18中稱 為SeFF 1860。流程2600以通過在2601斷言測試模式激活信號而激活掃描測試模 式開始。在2602,控制加載/卸載操作被初始化以訪問控制鏈。然后,PTCC在2604 被編程為激活或禁用測試時(shí)鐘作為掃描時(shí)鐘SCLK的傳播。然后,掃描加載/卸載 操作在掃描路徑被激活時(shí)在2606處開始。在2608,將掃描數(shù)據(jù)加載到掃描鏈部分 或從其卸載,之后PTCC在2610進(jìn)入程序模式。可任選地,SeFF可通過在2612 之前將一個SCLK時(shí)鐘脈沖應(yīng)用到所有SeFF而初始化。 一旦在程序模式中,PTCC 可根據(jù)在2612加載其中的時(shí)鐘命令信息進(jìn)行配置。例如,PTCC可被配置成參與 啟動和/或捕獲操作、僅啟動操作、僅捕獲操作、靜默操作等中的一個或多個。在 2614, PTCC可進(jìn)入靜默狀態(tài)操作??扇芜x地,它可進(jìn)行靜態(tài)測試,諸如IDDQ泄 漏測試。如果這樣,ATE可在2618施加(或強(qiáng)加)輸入,隨后在電源或接地終端 處進(jìn)行參數(shù)IDDQ測量。然后,PTCC在2620進(jìn)入功能測試模式以執(zhí)行與啟動和/ 或捕獲關(guān)聯(lián)的動態(tài)測試。PTCC在2622進(jìn)行經(jīng)編程的啟動或/和捕獲。在2624, ATE 例如確定是否所有域己被測試,并且如果沒有,則下一步行動是什么。如果一個或 多個附加時(shí)鐘域需要檢測,則流程2600在PTCC可編程為改變其功能以進(jìn)一步測 試電路而無伴隨掃描加載/卸載操作時(shí)進(jìn)行到2612。但是,如果需要掃描加載/卸載 操作,則流程2600進(jìn)行到2604。在2630, ATE繼續(xù)測試直到實(shí)現(xiàn)測試圖。
雖然流程2600列出使用控制鏈的PTCC的兩個編程步驟,但是與在2604和 2610處的操作相關(guān)聯(lián)的測試時(shí)間和測試數(shù)據(jù)量相對于掃描加載和卸載操作對總測 試時(shí)間和數(shù)據(jù)量的影響小得多。此外,整個時(shí)鐘域不需要參與掃描加載和卸載操作 直到實(shí)施該時(shí)鐘域。通常,測試時(shí)鐘控制結(jié)構(gòu)被設(shè)計(jì)成僅在實(shí)施的時(shí)鐘域內(nèi)在掃描
鏈上進(jìn)行掃描加載和卸載。流程2600有利地提供相對于更經(jīng)常加載和卸載掃描鏈 的常規(guī)基于掃描測試減小的總測試時(shí)間。
雖然流程2600描述了如何使用在每個配置或構(gòu)建級實(shí)現(xiàn)測試的測試時(shí)鐘控制 結(jié)構(gòu)的一個示例,但是本發(fā)明的其它實(shí)施方式涉及使用本文闡述的測試時(shí)鐘控制結(jié) 構(gòu)的宏觀測試流程。根據(jù)一實(shí)施方式,用于實(shí)現(xiàn)基于掃描測試的測試時(shí)鐘控制結(jié)構(gòu) 的方法可描述如下。該方法可執(zhí)行域內(nèi)測試,以實(shí)施實(shí)現(xiàn)動態(tài)故障檢測測試圖的多 個電路的第一域子集。該方法可進(jìn)一步繼續(xù)執(zhí)行諸如域間測試的另一測試,以實(shí)施 實(shí)現(xiàn)動態(tài)故障檢測測試圖的多個電路的第二域子集。這些動態(tài)故障檢測測試圖可包 括上次移位啟動測試圖和寬面測試圖,以及其它動態(tài)測試圖。在一些實(shí)施方式中, 這些域是時(shí)鐘域。在一些情形中,該方法還包括在與進(jìn)行域間測試的電路分隔的電 路部分上進(jìn)行諸如固定型測試和動態(tài)測試的域間測試。
然后,該方法可將不同的可編程測試時(shí)鐘控制器配置成實(shí)質(zhì)上并行地測試不 同的時(shí)鐘域。通常,這減少了在測試不同時(shí)鐘域時(shí)加載一個或多個掃描鏈的次數(shù)。 注意,可編程測試時(shí)鐘控制器可包括不同子時(shí)鐘域以測試不同子時(shí)鐘域。在一些實(shí) 施方式中,域內(nèi)測試的執(zhí)行可與用固定型測試執(zhí)行的時(shí)鐘域間測試交叉進(jìn)行。例如, 時(shí)鐘域內(nèi)和時(shí)鐘域間測試圖可組合成單個測試圖,從而有利地增加每次掃描鏈操作 的測試覆蓋面。注意,可在執(zhí)行時(shí)鐘域內(nèi)測試之后進(jìn)行域間測試。域間測試的執(zhí)行 也可包括執(zhí)行靜態(tài)故障檢測測試圖。例如,故障檢測測試圖可與用于域間測試的動 態(tài)故障檢測測試圖基本上并發(fā)地加載到掃描鏈中。ATE也可與域間測試過程中的 靜態(tài)故障測試基本上并發(fā)地執(zhí)行上次移位啟動測試。
在一些實(shí)施方式中,該方法的域間測試的執(zhí)行包括計(jì)算時(shí)間距離、以及基于 該時(shí)間距離初始化兩個域之間的啟動和捕獲序列。在至少一個實(shí)施方式中,該方法 包括根據(jù)包括一個或多個控制鏈和一個或多個掃描鏈的特定測試時(shí)鐘控制結(jié)構(gòu)的 自動測試圖產(chǎn)生("ATPG")流程來產(chǎn)生動態(tài)故障檢測測試圖。以下描述ATPG流 程的一個示例。
圖27示出根據(jù)本發(fā)明一實(shí)施方式的使用執(zhí)行可編程測試時(shí)鐘控制器 ("PTCC")的測試時(shí)鐘控制器結(jié)構(gòu)來測試電路的宏觀流程示例。具體地,流程2700 是用于產(chǎn)生執(zhí)行測試時(shí)鐘控制結(jié)構(gòu)的測試圖的ATPG流程。在流程2700中,時(shí)鐘 域內(nèi)和時(shí)鐘域間測試可分開以減少掃描加載/卸載操作的次數(shù)。在時(shí)鐘域內(nèi)和時(shí)鐘 域間測試中,上次移位啟動測試的實(shí)速測試首先用以下的寬面進(jìn)行。寬面之前的上 次移位啟動的定位嘗試優(yōu)化總的測試覆蓋率、測試數(shù)據(jù)量和ATPG運(yùn)行時(shí)間。此外,
測試圖可通過將使用寬面的延遲測試圖添加到使用上次移位啟動的圖上得到。注
意,流程2700中用于固定型測試的ATPG可在時(shí)鐘域間測試中執(zhí)行。這是因?yàn)榘?br>
括在延遲測試圖中的固定型測試圖在延遲測試過程中沒有實(shí)際作用,但是它們可減 少要產(chǎn)生的固定型測試圖的數(shù)目。
這樣,流程2700在2710通過產(chǎn)生實(shí)現(xiàn)對時(shí)鐘域內(nèi)邏輯的延遲測試的測試圖 開始自動測試圖產(chǎn)生。這可包括在2720使用上次移位啟動產(chǎn)生延遲故障的測試圖, 以及在2730使用寬面產(chǎn)生2720中未檢測到的故障的測試圖。注意,在一些實(shí)施方 式中,時(shí)鐘域間測試圖可包括在2722處的上次移位啟動測試的測試圖產(chǎn)生中,以 及在2732處的寬面測試的測試圖產(chǎn)生中。流程2700進(jìn)行到2740,在此流程產(chǎn)生 用于時(shí)鐘域間邏輯的延遲測試圖。在2750, ATPG流程使用上次移位啟動產(chǎn)生用于 延遲故障的測試圖,最后在2760使用寬面產(chǎn)生用于在2750未檢測到的故障的測試 圖。例如,在一些情形中使用上次移位啟動產(chǎn)生延遲測試圖之后可使用寬面測試協(xié) 議進(jìn)行同樣的測試,以便于檢測從使用上次移位啟動的測試中逃脫的故障。在一些 實(shí)施方式中,用于檢測時(shí)鐘域內(nèi)邏輯的固定型圖可包含在2752處的上次移位啟動 測試的測試圖產(chǎn)生中,以及在2762處的寬面測試的測試圖產(chǎn)生中。這樣,流程2700 可產(chǎn)生用于與動態(tài)測試并行地進(jìn)行靜態(tài)測試的固定型測試圖。在2780, ATPG流程 可對在2710與2740之間產(chǎn)生的測試圖執(zhí)行故障模擬,以檢測固定型故障。這之后 是2780處步驟3中產(chǎn)生用于未檢測到的固定型故障的測試圖。這包括在2792處產(chǎn) 生用于時(shí)鐘域內(nèi)邏輯的測試圖和在2794處產(chǎn)生時(shí)鐘域間邏輯的測試圖。以功能速 度執(zhí)行固定型測試圖可增強(qiáng)測試質(zhì)量以及簡化測試過程,因?yàn)闊o需考慮固定型測試 協(xié)議。在2796,流程2700將在2792處產(chǎn)生的固定型測試圖與在2720處產(chǎn)生的延 遲測試圖集成。在2798,流程2700通過將在2794處產(chǎn)生的固定型測試圖與在2750 處產(chǎn)生的延遲測試圖集成而繼續(xù)。在2799,所得寬面測試圖可添加于上次移位啟 動圖以形成最終測試圖。
本發(fā)明一實(shí)施方式涉及使用其上具有用于執(zhí)行各種計(jì)算機(jī)實(shí)現(xiàn)操作的計(jì)算機(jī) 編碼的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)存儲產(chǎn)品。該介質(zhì)和計(jì)算機(jī)編碼可以是為本發(fā)明目
的具體設(shè)計(jì)和構(gòu)建的,或者它們可以是計(jì)算機(jī)軟件領(lǐng)域中技術(shù)人員公知或可用的種 類。計(jì)算機(jī)可讀介質(zhì)的示例包括,但不限于磁性介質(zhì),諸如硬盤、軟盤和磁帶; 光學(xué)介質(zhì),諸如CD-ROM和全息設(shè)備;磁光介質(zhì),諸如光磁軟盤(floptical disk); 以及具體配置成存儲和執(zhí)行程序代碼的硬件設(shè)備,諸如專用集成電路(ASIC)、可 編程邏輯電路(PLD)以及ROM和RAM設(shè)備。計(jì)算機(jī)編碼的示例包括諸如由編
譯器產(chǎn)生的機(jī)器碼和包含由計(jì)算機(jī)使用翻譯器執(zhí)行的含有高級編碼的文件。例如,
本發(fā)明的一個實(shí)施方式可使用Java、 0++或其它面向?qū)ο蟮木幊陶Z言和開發(fā)工具實(shí)
現(xiàn)。本發(fā)明的另一實(shí)施方式可用硬件電路代替機(jī)器可執(zhí)行軟件指令或者與其結(jié)合來 實(shí)現(xiàn)。
為說明目的,上述描述使用特定術(shù)語以提供對本發(fā)明的透徹理解。然而,對 本領(lǐng)域技術(shù)人員顯而易見的是為了實(shí)踐本發(fā)明這些具體細(xì)節(jié)并非是必需的。實(shí)際
上,本說明書不應(yīng)被解讀為將本發(fā)明的任何特征和方面限制于任一實(shí)施方式;相反,
一個實(shí)施方式的特征和方面可容易地與其它實(shí)施方式互換。例如,雖然域間和域內(nèi) 測試通常就時(shí)鐘域進(jìn)行了描述,但是普通技術(shù)人員應(yīng)該理解這些測試可應(yīng)用任何其 它類型的域,諸如功率域。
因此,以上對本發(fā)明具體實(shí)施方式
的描述是為了說明和描述目的而呈現(xiàn)的。
它們并不旨在窮盡本發(fā)明或?qū)⒈景l(fā)明限制于所公開的精確形式;顯然,考慮到以上
示教,有可能進(jìn)行多種更改和變化。這些實(shí)施方式被選擇和描述以最好地解釋本發(fā)
明的原理及其實(shí)際應(yīng)用;從而,它們使本領(lǐng)域其它技術(shù)人員能通過適于期望特定用 途的各種更改來最好地利用本發(fā)明和各個實(shí)施方式。注意,本發(fā)明的各個實(shí)施方式 無需實(shí)現(xiàn)本文描述的每個益處;相反,任何一個特定實(shí)施方式可提供上述優(yōu)點(diǎn)的一 個或多個。旨在由所附權(quán)利要求書及其等效方案限定本發(fā)明的范圍。
權(quán)利要求
1.一種用于產(chǎn)生測試時(shí)鐘以實(shí)現(xiàn)電子電路的基于掃描測試的測試時(shí)鐘控制結(jié)構(gòu),所述測試時(shí)鐘控制結(jié)構(gòu)包括用于測試電路的可編程測試時(shí)鐘控制器,所述可編程測試時(shí)鐘控制器包括測試時(shí)鐘發(fā)生器,它被配置成產(chǎn)生可配置測試時(shí)鐘;掃描層接口,它被配置成用所述可配置測試時(shí)鐘驅(qū)動掃描鏈的掃描鏈部分;以及控制層接口,它被配置成訪問用于控制所述掃描鏈部分的控制信息。
2. 如權(quán)利要求1所述的測試時(shí)鐘控制結(jié)構(gòu),其特征在于,所述可編程測試時(shí) 鐘控制器包括與控制鏈的一部分連接的控制邏輯,所述控制邏輯被配置成基于所述 控制信息將掃描數(shù)據(jù)選擇性地加載到所述掃描鏈部分。
3. 如權(quán)利要求2所述的測試時(shí)鐘控制結(jié)構(gòu),其特征在于,所述控制鏈?zhǔn)桥c所 述掃描鏈不同的通道,由此便于獨(dú)立于所述掃描數(shù)據(jù)的傳輸向所述可編程測試時(shí)鐘 控制器傳輸所述控制信息。
4. 如權(quán)利要求1所述的測試時(shí)鐘控制結(jié)構(gòu),其特征在于,所述控制邏輯被配 置成在掃描時(shí)鐘與功能時(shí)鐘之間多路復(fù)用,以在所述掃描時(shí)鐘和所述功能時(shí)鐘的基 本穩(wěn)態(tài)部分期間形成所述可配置測試時(shí)鐘。
5. 如權(quán)利要求1所述的測試時(shí)鐘控制結(jié)構(gòu),其特征在于,所述可編程測試時(shí) 鐘控制器還包括被配置成接收共同代替常規(guī)單個掃描使能信號的多個掃描使能控 制信號的多個輸入端。
6. 如權(quán)利要求1所述的測試時(shí)鐘控制結(jié)構(gòu),其特征在于,所述可編程測試時(shí) 鐘控制器包括時(shí)鐘脈沖控制器,它被配置成根據(jù)編程到所述時(shí)鐘脈沖控制器中的時(shí)鐘命令 信息產(chǎn)生時(shí)鐘控制信號;以及其中可配置測試時(shí)鐘與所述時(shí)鐘命令信息的一部分相關(guān), 其中所述時(shí)鐘命令信息指定是否將功能時(shí)鐘信號施加于掃描鏈。
7. 如權(quán)利要求6所述的測試時(shí)鐘控制結(jié)構(gòu),其特征在于,所述可編程測試時(shí) 鐘控制器還包括 被配置成使多個控制時(shí)鐘信號同步的掃描時(shí)鐘解碼器,所述多個控制時(shí)鐘信 號包括用于至少向所述時(shí)鐘脈沖控制器提供所述時(shí)鐘命令信息的至少一個控制 層時(shí)鐘信號,以及用于驅(qū)動所述掃描鏈的掃描層時(shí)鐘信號。
8. 如權(quán)利要求6所述的測試時(shí)鐘控制結(jié)構(gòu),其特征在于,所述時(shí)鐘脈沖控制 器包括時(shí)鐘控制信號發(fā)生器,它被配置成產(chǎn)生所述時(shí)鐘控制信號的單獨(dú)時(shí)鐘沿;以及時(shí)鐘速率選擇器,它被配置成設(shè)定各個所述單獨(dú)時(shí)鐘沿的時(shí)鐘循環(huán)周期, 其中所述時(shí)鐘速率選擇器在表示用于實(shí)速測試的第一時(shí)鐘速率的第一周期與 表示用于至少驅(qū)動所述掃描鏈的第二時(shí)鐘速率的第二周期之間選擇。
9. 一種用于產(chǎn)生掃描鏈的測試時(shí)鐘波形以實(shí)現(xiàn)對包括多個電路的電子器件的 基于掃描測試的方法,所述方法包括將可編程測試時(shí)鐘控制器配置成以數(shù)據(jù)傳輸模式運(yùn)行,在所述數(shù)據(jù)傳輸模式 中時(shí)鐘命令信息與所述可編程測試時(shí)鐘交換;確定是否將鏈時(shí)鐘施加于與所述多個電路的一個電路相關(guān)聯(lián)的掃描鏈部分;以及獨(dú)立于將其它掃描時(shí)鐘施加于其它電路,施加所述鏈時(shí)鐘作為測試時(shí)鐘以測 試所述電路。
10. 如權(quán)利要求9所述的方法,還包括將所述可編程測試時(shí)鐘控制器配置成以 其中掃描數(shù)據(jù)與至少所述掃描鏈部分交換的另一數(shù)據(jù)傳輸模式運(yùn)行,其中所述鏈時(shí) 鐘的速度為移位時(shí)鐘速率。
11. 如權(quán)利要求10所述的方法,還包括根據(jù)所述時(shí)鐘命令信息將所述可編程 測試時(shí)鐘控制器配置成以測試執(zhí)行模式運(yùn)行。
12. 如權(quán)利要求IO所述的方法,還包括以所述測試執(zhí)行模式操作所述可編程 測試時(shí)鐘控制器以將所述鏈時(shí)鐘的所述速度設(shè)定為實(shí)速時(shí)鐘速率,以進(jìn)行動態(tài)測 試。
13. 如權(quán)利要求9所述的方法,還包括 基本上同時(shí)地將所述掃描數(shù)據(jù)的掃描數(shù)據(jù)位第一部分和掃描數(shù)據(jù)位第二部分 加載到所述掃描鏈部分,所述第一部分和所述第二部分分別包括N位和N-1位;將所述可編程測試時(shí)鐘控制器配置成在所述N位的N個掃描時(shí)鐘沿之后執(zhí)行 寬面測試,所述時(shí)鐘命令信息在所述N位之后以所述實(shí)速時(shí)鐘速率提供啟動時(shí)鐘 沿和捕獲時(shí)鐘沿;以及將所述可編程測試時(shí)鐘控制器配置成在所述N-1位的N-l個掃描時(shí)鐘沿之后 執(zhí)行上次移位啟動測試,所述時(shí)鐘命令信息提供作為第N時(shí)鐘沿的開始時(shí)鐘沿和 作為第N+1時(shí)鐘捕獲時(shí)鐘沿的所述捕獲時(shí)鐘沿。
14. 一種包括用于產(chǎn)生測試時(shí)鐘以實(shí)現(xiàn)基于掃描測試的測試時(shí)鐘控制結(jié)構(gòu)的 電子裝置,所述電子裝置包括多個電路,包括可以所述電子裝置的功能模式操作的許多域,所述多個域中的至少一個域被細(xì)分成多個子域,用于以測試模式獨(dú)立測試各個子域;以及 用于產(chǎn)生所述多個域的測試時(shí)鐘信號的多個可編程測試時(shí)鐘控制器,包括來 自所述多個可編程測試時(shí)鐘控制器的可編程測試時(shí)鐘控制器子集,所述多個可編程 測試時(shí)鐘控制器被配置成在所述測試模式期間基本上并行測試所述子域中的一個 或多個。
15. 如權(quán)利要求14所述的電子裝置,還包括一個或多個控制鏈,耦合于所述多個可編程測試時(shí)鐘控制器以傳輸用于選擇 哪個所述子域要作為選定子域進(jìn)行測試的時(shí)鐘命令信息;一個或多個掃描鏈,耦合于所述域和所述子域以與所述選定子域交換數(shù)據(jù);以及測試時(shí)鐘發(fā)生器,它被配置成根據(jù)所述時(shí)鐘命令信息產(chǎn)生所述測試時(shí)鐘信號 以控制所述數(shù)據(jù)的交換。
16. 如權(quán)利要求15所述的電子裝置,其特征在于,將所述一個域細(xì)分成所述 多個子域便于通過選擇性地加載或卸載所述數(shù)據(jù)作為相關(guān)于受所述測試時(shí)鐘信號 控制的所述一個或多個掃描鏈的子集的刺激或結(jié)果數(shù)據(jù)來減少測試圖量。
17. 如權(quán)利要求14所述的電子裝置,還包括傳送PWD信號以將所述多個電 路中的至少一部分置于低功率狀態(tài)的功率下降("PWD")信號發(fā)生器,所述功率 下降信號發(fā)生器耦合于所述測試時(shí)鐘發(fā)生器以停止一個或多個所述子域的操作。
全文摘要
公開了用于產(chǎn)生掃描鏈測試時(shí)鐘以實(shí)現(xiàn)電子電路的基于掃描測試的系統(tǒng)、結(jié)構(gòu)和方法。在一實(shí)施方式中,測試時(shí)鐘控制結(jié)構(gòu)包括可編程測試時(shí)鐘控制器。該可編程測試時(shí)鐘控制器包括用于產(chǎn)生可配置測試時(shí)鐘的測試時(shí)鐘發(fā)生器。它還包括用可配置測試時(shí)鐘驅(qū)動掃描鏈部分的掃描層接口、和被配置成訪問用于控制掃描鏈部分的控制信息的控制層接口。在另一實(shí)施方式中,一種方法執(zhí)行電路的基于掃描測試。該方法包括使用包括上次移位啟動測試圖和寬面測試圖的實(shí)現(xiàn)動態(tài)故障檢測的測試圖,執(zhí)行至少一次域內(nèi)測試并執(zhí)行至少一次域間測試。
文檔編號H03K5/19GK101127518SQ20071012792
公開日2008年2月20日 申請日期2007年6月26日 優(yōu)先權(quán)日2006年6月27日
發(fā)明者C·蘇爾 申請人:晶像股份有限公司