專利名稱:一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及微處理器測(cè)試技術(shù)領(lǐng)域,特別是涉及到一種利用JTAG接口對(duì)微處理 器芯片的內(nèi)部的故障進(jìn)行在線診斷和調(diào)試的檢測(cè)裝置和方法。
背景技術(shù):
隨著計(jì)算機(jī)芯片規(guī)模的增加,對(duì)于復(fù)雜的計(jì)算機(jī)芯片尤其是復(fù)雜的處理器芯片來(lái) 說(shuō)故障診斷已經(jīng)成為一個(gè)復(fù)雜的問(wèn)題。在處理器芯片發(fā)生故障時(shí),只通過(guò)一些表面的現(xiàn)象 來(lái)分析故障點(diǎn)是非常困難的,而且由于執(zhí)行程序的復(fù)雜性使得利用仿真工具重現(xiàn)故障也變 的非常困難。對(duì)于大規(guī)模程序運(yùn)行的故障進(jìn)行診斷和調(diào)試已經(jīng)成為微處理器芯片設(shè)計(jì)和測(cè) 試中的一個(gè)難題。 在處理器芯片測(cè)試中,掃描測(cè)試已經(jīng)成為診斷和檢測(cè)處理器芯片制造中產(chǎn)生的故 障的主要手段。 除掃描測(cè)試外,符合IEEE1149. 1標(biāo)準(zhǔn)的JTAG也已經(jīng)成為檢測(cè)芯片接口故障的一 個(gè)手段?,F(xiàn)有技術(shù)中,IFFE1149. 1標(biāo)準(zhǔn)通過(guò)邊界掃描觸發(fā)器的技術(shù)對(duì)1/0進(jìn)行控制,來(lái)測(cè)試 芯片I/0連接。符合IEEE1149. 1的JTAG (Joint TestAction Group,聯(lián)合測(cè)試行動(dòng)小組) 接口芯片包括5個(gè)TAP(Test Access Port,測(cè)試存取端口 )引腳,測(cè)試時(shí)鐘TCK(Test Clock Input),測(cè)試輸入數(shù)據(jù)TDI (Test Data Input),測(cè)試輸出數(shù)據(jù)TD0 (Test Data Output),測(cè) 試模式選擇信號(hào)TMS(Test Mode Select)和測(cè)試復(fù)位信號(hào)TRST (Test Reset),利用這5個(gè) 引腳對(duì)處理器芯片的1/0端口及1/0端口的內(nèi)部邏輯進(jìn)行測(cè)試。 但是現(xiàn)有技術(shù)中,只有應(yīng)用JTAG接口對(duì)處理器芯片1/0端口進(jìn)行控制以達(dá)到測(cè)試 的目的,其無(wú)法進(jìn)行處理器芯片內(nèi)部邏輯進(jìn)行掃描并對(duì)芯片內(nèi)部信號(hào)進(jìn)行分析診斷,更沒(méi) 有對(duì)處理器芯片內(nèi)部存儲(chǔ)器RAM接口進(jìn)行讀寫,無(wú)法得到微處理器芯片內(nèi)部運(yùn)行程序的更 詳細(xì)的資料,不能重現(xiàn)復(fù)雜程序和大規(guī)模程序運(yùn)行的故障,無(wú)法得到發(fā)生故障的真實(shí)狀態(tài), 更不能進(jìn)行在線診斷和調(diào)試,不能獨(dú)立完成整個(gè)處理器芯片的檢測(cè)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法,其克服現(xiàn) 有技術(shù)中的缺陷,對(duì)整個(gè)處理器芯片內(nèi)部的邏輯電路進(jìn)行在線診斷和調(diào)試,完成整個(gè)處理 器芯片內(nèi)部邏輯的檢測(cè),實(shí)現(xiàn)處理器芯片故障的在線分析。 為實(shí)現(xiàn)本發(fā)明目的而提供的一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置,包括JTAG 接口 ,還包括接入到所述JTAG接口的由處理器芯片內(nèi)部掃描觸發(fā)器連接所形成的掃描鏈;
所述JTAG接口的TAP控制器包括一擴(kuò)展檢測(cè)控制模塊,用于利用TAP控制器內(nèi)部 的信號(hào),控制輸入TCK時(shí)鐘和輸入的TMS產(chǎn)生擴(kuò)展檢測(cè)的時(shí)鐘和掃描使能信號(hào),控制處理器 芯片內(nèi)部的多個(gè)掃描觸發(fā)器連成一條掃描鏈,和控制處理器芯片內(nèi)部RAM端口的多個(gè)掃描 觸發(fā)器連成一條掃描鏈,并控制JTAG接口芯片的TDI和TDO端口分別連接到所述掃描鏈的 掃描輸入和掃描輸出,在相應(yīng)的檢測(cè)模式下,通過(guò)控制TCK時(shí)鐘掃描移位,進(jìn)行處理器芯片
41內(nèi)部電路的檢測(cè)。
所述掃描觸發(fā)器,包括一掃描輸入端口,一掃描輸出端口,以及一掃描使能端口 ;
所述掃描觸發(fā)器所連成的掃描鏈,其首個(gè)掃描觸發(fā)器的掃描輸入端口接入JTAG接口的TDI端口 ,最末的掃描觸發(fā)器的掃描輸出端口連接到JTAG接口的TDO端口 ;當(dāng)前掃描觸發(fā)器的掃描輸入端口連接到上一個(gè)掃描觸發(fā)器的掃描輸出端口;
所述掃描觸發(fā)器的掃描使能端口連接到掃描使能信號(hào)。 所述JTAG接口還包括擴(kuò)展指令寄存器,用于存儲(chǔ)實(shí)現(xiàn)所述擴(kuò)展檢測(cè)控制模塊功能的觸發(fā)器檢測(cè)指令; 所述擴(kuò)展檢測(cè)控制模塊運(yùn)行時(shí),讀取擴(kuò)展指令寄存器中相應(yīng)的觸發(fā)器檢測(cè)指令并執(zhí)行擴(kuò)展檢測(cè)控制模塊功能,進(jìn)行相應(yīng)的擴(kuò)展檢測(cè)。 所述檢測(cè)模式或者為觸發(fā)器診斷模式,或者為RAM掃描讀寫模式。 為實(shí)現(xiàn)本發(fā)明目的還提供一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的方法,包括下列步
驟 步驟SIOO, JTAG接口的TAP控制器的狀態(tài)和輸入TCK時(shí)鐘產(chǎn)生擴(kuò)展檢測(cè)的時(shí)鐘和掃描使能信號(hào)SCAN—EXT,控制處理器芯片內(nèi)部的掃描觸發(fā)器連成掃描鏈;
步驟S200,控制JTAG接口的TDI和TDO端口分別連接到所述掃描鏈的掃描輸入和掃描輸出,在相應(yīng)的檢測(cè)模式下,通過(guò)控制TCK時(shí)鐘掃描移位,進(jìn)行處理器芯片內(nèi)部電路檢 本發(fā)明提供了對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法,利用JTAG接口接入到處理器芯片內(nèi)部的掃描觸發(fā)器中,掃描出處理器芯片內(nèi)部的狀態(tài),對(duì)整個(gè)處理器芯片內(nèi)部進(jìn)行在線診斷和調(diào)試,完成整個(gè)處理器芯片內(nèi)部的檢測(cè),其能夠進(jìn)行處理器芯片內(nèi)部掃描和分析診斷,對(duì)處理器芯片內(nèi)部存儲(chǔ)器RAM接口進(jìn)行讀寫,得到微處理器芯片內(nèi)部運(yùn)行程序的更詳細(xì)的資料,重現(xiàn)復(fù)雜程序和大規(guī)模程序故障的缺點(diǎn),得到發(fā)生故障的真實(shí)狀態(tài),進(jìn)行在線診斷和調(diào)試,完成整個(gè)處理器芯片的檢測(cè)。
圖1是本發(fā)明實(shí)施例的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置結(jié)構(gòu)示意圖; 圖2是本發(fā)明實(shí)施例中TAP控制器所運(yùn)行的狀態(tài)示意圖; 圖3是本發(fā)明實(shí)施例中掃描觸發(fā)器在觸發(fā)器診斷模式下連成1條掃描鏈的示意圖; 圖4是本發(fā)明實(shí)施例中RAM周圍掃描觸發(fā)器B_cell串成一條掃描鏈; 圖5是本發(fā)明實(shí)施例中TMS端口輸入不同序列產(chǎn)生掃描信號(hào)的示意圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明的一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明而不是對(duì)本發(fā)明的限制。 本發(fā)明實(shí)施例的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法,在對(duì)芯片內(nèi)部電路進(jìn)行在線檢測(cè)(包括測(cè)試診斷和在線調(diào)試)時(shí),通過(guò)接入到處理器芯片1內(nèi)部的掃描觸發(fā)器5 (不是邊界掃描觸發(fā)器)連成一條掃描鏈3并連接到JTAG接口 2的端口上;在對(duì)處理器芯片1內(nèi)部的RAM進(jìn)行檢測(cè)(包括測(cè)試診斷和在線調(diào)試)時(shí),RAM端口的掃描觸發(fā)器連成一條掃描鏈4并連接到JTAG接口 2的端口上,這樣可以通過(guò)JTAG接口 2的端口以掃描的模式來(lái)訪問(wèn)內(nèi)部掃描觸發(fā)器的狀態(tài)以及內(nèi)部RAM的狀態(tài),并且可以初始化內(nèi)部觸發(fā)器的狀態(tài)和內(nèi)部RAM的狀態(tài),然后運(yùn)行1拍或者多拍來(lái)達(dá)到在線檢測(cè)的目的。更佳地,本發(fā)明實(shí)施例中,還通過(guò)JTAG指令寄存器6存儲(chǔ)2條擴(kuò)展指令一條是觸發(fā)器診斷指令, 一條是RAM診斷指令。在執(zhí)行觸發(fā)器診斷指令時(shí),JTAG接口 2的TDI和TDO連接的是內(nèi)部掃描觸發(fā)器的掃描鏈3輸入端口和掃描鏈3的掃描鏈輸出端口 。在執(zhí)行RAM診斷指令時(shí),JTAG接口 2的TDI和TDO連接的是RAM端口的掃描觸發(fā)器所形成的一條掃描鏈4的掃描輸入和掃描輸出。
如圖1所示,為本發(fā)明實(shí)施例的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置,其包括JTAG接口 2和接入到JTAG接口的由處理器芯片1內(nèi)部掃描觸發(fā)器連接所形成的掃描鏈3和掃描鏈4,所述JTAG接口 2的TAP控制器8包括一擴(kuò)展檢測(cè)控制模塊7 ;
所述擴(kuò)展檢測(cè)控制模塊7,用于利用TAP控制器8內(nèi)部的信號(hào),控制輸入TCK時(shí)鐘和輸入的TMS產(chǎn)生擴(kuò)展檢測(cè)的時(shí)鐘和掃描使能信號(hào),控制處理器芯片1內(nèi)部的多個(gè)掃描觸發(fā)器5連成一條掃描鏈3,和控制處理器芯片1內(nèi)部RAM端口的多個(gè)掃描觸發(fā)器5連成一條掃描鏈4,并控制JTAG接口芯片2的TDI和TDO端口分別連接到所述掃描鏈3、4的掃描輸入和掃描輸出,在相應(yīng)的檢測(cè)模式下,通過(guò)控制TCK時(shí)鐘掃描移位,進(jìn)行處理器芯片1內(nèi)部電路的檢測(cè)。 所述處理器芯片內(nèi)部的掃描觸發(fā)器5,包括一掃描輸入端口 (TI), 一掃描輸出端口 (TQ),以及一掃描使能端口 (SE); 所述處理器芯片1內(nèi)部的掃描觸發(fā)器所連成的掃描鏈3、4的首個(gè)掃描觸發(fā)器的掃描輸入端口 (TI)接入JTAG接口2的TDI端口,最末的掃描觸發(fā)器的掃描輸出端口 (TQ)連接到JTAG接口 2的TDO端口 ;當(dāng)前掃描觸發(fā)器的掃描輸入端口 (TI)連接到上一個(gè)掃描觸發(fā)器的掃描輸出端口 (TO); 所述掃描觸發(fā)器的掃描使能端口 (SE)連接到掃描使能信號(hào)(SCAN_EXT)。本發(fā)明實(shí)施例利用標(biāo)準(zhǔn)的JTAG接口 2以及標(biāo)準(zhǔn)的JTAG的TAP控制器8,通過(guò)進(jìn)一
步擴(kuò)展該TAP控制器8,在其中增加擴(kuò)展檢測(cè)控制模塊7,控制處理器芯片1中多個(gè)掃描觸
發(fā)器連成掃描鏈3、4,對(duì)處理器芯片1內(nèi)部進(jìn)行掃描檢測(cè)。 所述檢測(cè)模式包括觸發(fā)器診斷模式和RAM掃描讀寫模式。 較佳地,本發(fā)明實(shí)施例的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置,其JTAG接口 2還包括擴(kuò)展指令寄存器6,用于存儲(chǔ)實(shí)現(xiàn)擴(kuò)展檢測(cè)控制模塊7功能的觸發(fā)器檢測(cè)指令。
JTAG接口 2利用標(biāo)準(zhǔn)的TAP控制器8的一個(gè)有限狀態(tài)機(jī)來(lái)控制指令的執(zhí)行。
—般地,在現(xiàn)有的JTAG接口 2中,存儲(chǔ)JTAG的測(cè)試指令,例如JTAG的常規(guī)測(cè)試指令EXTEST、 INTEST、 SAMPLE/PRELOAD、 BYPASS等。 所述擴(kuò)展指令寄存器6,存儲(chǔ)相應(yīng)的實(shí)現(xiàn)擴(kuò)展檢測(cè)控制模塊功能的觸發(fā)器檢測(cè)指令。在擴(kuò)展檢測(cè)控制模塊運(yùn)行時(shí),讀取相應(yīng)的觸發(fā)器檢測(cè)指令并執(zhí)行擴(kuò)展檢測(cè)控制模塊功能,進(jìn)行相應(yīng)的擴(kuò)展檢測(cè)。 處理器芯片1內(nèi)部的掃描觸發(fā)器串成掃描鏈3、4,在掃描測(cè)試時(shí),通過(guò)處理器芯片1端口輸入掃描數(shù)據(jù),對(duì)內(nèi)部掃描觸發(fā)器進(jìn)行賦值,接著正常運(yùn)行1拍或者多拍,然后掃描輸出觸發(fā)器運(yùn)行的狀態(tài),從而觀測(cè)運(yùn)行的結(jié)果,完成故障診斷和測(cè)試等檢測(cè)?;趻呙桄溈梢杂^測(cè)觸發(fā)器的狀態(tài)的特性,在芯片實(shí)際運(yùn)行中如果出現(xiàn)故障,可以通過(guò)掃描鏈掃出觸發(fā)器的值,然后根據(jù)此時(shí)的狀態(tài)進(jìn)行故障分析。而且可以通過(guò)掃描鏈對(duì)掃描觸發(fā)器和RAM進(jìn)行賦值,然后正常運(yùn)行1拍,實(shí)現(xiàn)單拍運(yùn)行的操作。 對(duì)于微處理器這樣復(fù)雜的芯片來(lái)說(shuō),內(nèi)部設(shè)計(jì)非常復(fù)雜,而通過(guò)外部接口直接可觀測(cè)的值很少,根據(jù)掃描輸出的觸發(fā)器的值和存儲(chǔ)器RAM的值能夠分析得到現(xiàn)在芯片所處的狀態(tài)、指令以及部分的結(jié)果,從而能夠進(jìn)行在線診斷和調(diào)試等,完成處理器檢測(cè)。
相應(yīng)地,本發(fā)明還提供一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的方法,包括如下步驟
步驟S100, JTAG接口的TAP控制器的狀態(tài)和輸入TCK時(shí)鐘產(chǎn)生擴(kuò)展檢測(cè)的時(shí)鐘和掃描使能信號(hào)SCAN—EXT,讀取由擴(kuò)展指令寄存器所存儲(chǔ)的擴(kuò)展指令并執(zhí)行,控制處理器芯片內(nèi)部的掃描觸發(fā)器連成掃描鏈3、4 ; 步驟S200,控制JTAG接口的TDI和TD0端口分別連接到所述掃描鏈的掃描輸入和掃描輸出,在相應(yīng)的檢測(cè)模式下,通過(guò)控制TCK時(shí)鐘掃描移位,進(jìn)行處理器芯片內(nèi)部電路檢 所述的檢測(cè)模式包括但不限于觸發(fā)器診斷模式和RAM掃描讀寫模式。 下面進(jìn)一步詳細(xì)說(shuō)明本發(fā)明實(shí)施例的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法
在觸發(fā)器診斷模式和RAM掃描讀寫模式下的工作過(guò)程。 在一 JTAG接口中,設(shè)置擴(kuò)展指令寄存器,存儲(chǔ)2條擴(kuò)展檢測(cè)指令, 一條是觸發(fā)器診斷指令, 一條是RAM診斷指令,在觸發(fā)器診斷指令執(zhí)行時(shí),觸發(fā)器診斷模式有效,進(jìn)行觸發(fā)器診斷檢測(cè);在RAM診斷指令執(zhí)行時(shí),RAM掃描讀寫模式有效,進(jìn)行RAM掃描讀寫檢測(cè)。
這個(gè)擴(kuò)展指令寄存器和JTAG指令寄存一樣,通過(guò)TDI和TDO, TMS,以及TCK進(jìn)行讀寫。 在執(zhí)行觸發(fā)器診斷指令時(shí),TDI端口和TDO端口分別連接的是內(nèi)部觸發(fā)器掃描鏈3的掃描輸入和掃描輸出;在執(zhí)行RAM診斷指令時(shí),TDI端口和TDO端口分別連接的是RAM端口掃描鏈4的掃描輸入和掃描輸出。 這樣,通過(guò)2條擴(kuò)展指令,JTAG接口內(nèi)部的支持2種掃描模式, 一種是觸發(fā)器診斷
模式,另一種是RAM掃描讀寫模式。在觸發(fā)器診斷模式時(shí),內(nèi)部的所有觸發(fā)器連接為一條掃
描鏈3 ;在RAM掃描讀寫模式時(shí),RAM周圍的觸發(fā)器連接為一條掃描鏈4。 在這兩種擴(kuò)展測(cè)試指令下,TDI和TDO分別連接相對(duì)應(yīng)的掃描模式的掃描輸入和
掃描輸出接口上; 如圖1所示,JTAG接口利用輸入TCK時(shí)鐘和TAP控制器的狀態(tài)產(chǎn)生掃描時(shí)鐘TCK_G,和掃描使能SCAN_EXT。 作為一種可實(shí)施方式,掃描使能信號(hào)為TAP控制器的Shift—DR控制信號(hào),當(dāng)Shift—DR有效時(shí)內(nèi)部觸發(fā)器處于掃描狀態(tài),掃描使能信號(hào)SCAN—EXT有效而當(dāng)Update—DR有效時(shí)內(nèi)部觸發(fā)器處于正常功能模式,可以在正常功能模式下通過(guò)TCK_G時(shí)鐘正常執(zhí)行1拍或者多拍。 只當(dāng)控制信號(hào)Shift—DR或者控制信號(hào)Update—DR有效時(shí)(即TAP控制器處于Shift_DR狀態(tài)或者Update_DR狀態(tài)時(shí)),TCK_G為TCK時(shí)鐘,否則TCK_G為0,從而在處理器芯片運(yùn)行實(shí)際程序發(fā)生故障時(shí),就可以停止程序的運(yùn)行。
圖2顯示本發(fā)明實(shí)施例中TAP控制器所運(yùn)行的狀態(tài),當(dāng)TAP控制器處于圖2所示 的Shift—DR狀態(tài)時(shí),控制信號(hào)Shift—DR值為有效;當(dāng)TAP控制器處于Update_DR狀態(tài)時(shí), 控制信號(hào)Update—DR有效。 當(dāng)進(jìn)行本發(fā)明實(shí)施例的對(duì)處理器芯片進(jìn)行在線檢測(cè)時(shí),首先利用JTAG的TAP控制
器的狀態(tài)和輸入TCK時(shí)鐘產(chǎn)生故障診斷和在線調(diào)試的時(shí)鐘和掃描使能。 然后擴(kuò)展檢測(cè)控制模塊從擴(kuò)展指令寄存器中,讀取并執(zhí)行觸發(fā)器診斷指令,把連
接到處理器芯片內(nèi)部的掃描觸發(fā)器連成掃描鏈;再控制JTAG接口芯片的TDI和TD0端口分
別連接到所述掃描鏈的掃描輸入和掃描輸出,進(jìn)行處理器芯片內(nèi)部電路的檢測(cè)。 作為一個(gè)實(shí)施例,為了實(shí)現(xiàn)掃描處理器內(nèi)部電路的掃描觸發(fā)器的狀態(tài)的目的,在
處理器芯片進(jìn)行內(nèi)部電路掃描時(shí),擴(kuò)展檢測(cè)控制模塊設(shè)置第一種掃描模式觸發(fā)器診斷模
式,則擴(kuò)展檢測(cè)控制模塊從擴(kuò)展指令寄存器中讀取并執(zhí)行觸發(fā)器診斷指令,使得JTAG接口
內(nèi)部的掃描鏈處于觸發(fā)器診斷模式。在這種掃描模式下,處理器芯片內(nèi)部的所有掃描觸發(fā)
器串成一條掃描鏈,稱為觸發(fā)器診斷掃描鏈3。 作為一種可實(shí)施方式,在觸發(fā)器診斷模式下,對(duì)處理器芯片進(jìn)行在線檢測(cè)的過(guò)程 如下 步驟AIO,在處理器芯片運(yùn)行的過(guò)程中,如果發(fā)生錯(cuò)誤,可以通過(guò)JTAG接口的端口 設(shè)置擴(kuò)展指令寄存器為觸發(fā)器診斷指令,此時(shí)執(zhí)行觸發(fā)器診斷指令,將處理器芯片內(nèi)部的 掃描觸發(fā)器串成一條掃描鏈; —般地,在其他利用自動(dòng)化測(cè)試設(shè)備(Automatic Test Equipment,ATE)測(cè)試的模 式下,JTAG接口可以有m(m〉二 1)條掃描鏈。 如圖3所示,本發(fā)明實(shí)施例中,擴(kuò)展檢測(cè)控制模塊控制掃描觸發(fā)器在觸發(fā)器診斷 模式下連成1條掃描鏈的示意圖。 本發(fā)明實(shí)施例中,TAP控制器中的擴(kuò)展檢測(cè)控制模塊控制JTAG接口,在觸發(fā)器診 斷模式時(shí),n個(gè)掃描觸發(fā)器首尾相連,連成一條掃描鏈(如粗線線所示),第0個(gè)掃描觸發(fā)器 的輸入在這時(shí)接入TDI的端口,最末的一個(gè)掃描觸發(fā)器(第n個(gè)掃描觸發(fā)器)的輸出接入 TD0的端口。作為一種示意圖,為了方便起見(jiàn),圖3中只給出了掃描鏈的連接,沒(méi)有給出掃描 觸發(fā)器之間的功能邏輯連接。圖3中每個(gè)掃描觸發(fā)器都有TI (掃描輸入端口 ) ,TQ(掃描輸 出端口)以及SE(掃描使能端口);當(dāng)前觸發(fā)器的TI端口連接上一個(gè)觸發(fā)器的TQ端口,SE 連接掃描使能信號(hào)。 在處于觸發(fā)器診斷模式時(shí),掃描使能信號(hào)為SCAN_EXT信號(hào),否則掃描使能是ATE 輸入的SCAN—EN信號(hào)。在處于觸發(fā)器診斷模式時(shí),芯片內(nèi)部的多條掃描鏈通過(guò)首尾連接為 1條掃描鏈。 步驟A20,控制測(cè)試模式選擇信號(hào)TMS,使得Shif t_DR信號(hào)有效,從而使得掃描信 號(hào)SCAN_EXT信號(hào)有效,控制JTAG接口的TDI和TDO端口分別連接到所述掃描鏈的掃描輸 入和掃描輸出; 步驟A30,控制TCK時(shí)鐘,使得在掃描觸發(fā)器的值可以通過(guò)TDO的端口一拍拍輸出 到芯片外部;TDO值的序列可以記錄到文件中。 通過(guò)檢查處理器芯片內(nèi)部的相關(guān)部件的掃描觸發(fā)器的值,得到芯片運(yùn)行的狀態(tài), 診斷芯片出錯(cuò)的原因,完成處理器芯片檢測(cè)。
作為另一個(gè)實(shí)施例,為了實(shí)現(xiàn)掃描內(nèi)部存儲(chǔ)器RAM的目的,在處理器掃描設(shè)置第 二種掃描模式RAM掃描讀寫模式。在這種模式下,芯片內(nèi)部的RAM周邊的掃描觸發(fā)器串成 一條掃描鏈,方便對(duì)RAM進(jìn)行讀寫操作。 為了實(shí)現(xiàn)利用掃描進(jìn)行RAM讀寫的目的,對(duì)RAM的每個(gè)端口都插入了掃描觸發(fā)器。 每個(gè)掃描觸發(fā)器對(duì)應(yīng)一個(gè)RAM的端口 。 作為一種可實(shí)施方式,在RAM掃描讀寫模式下,對(duì)處理器芯片進(jìn)行在線檢測(cè)的過(guò) 程如下 步驟B10,通過(guò)JTAG接口的端口設(shè)置擴(kuò)展指令寄存器為RAM診讀寫模式,執(zhí)行RAM 診斷指令,處理器芯片內(nèi)部的RAM的端口所設(shè)置多個(gè)掃描觸發(fā)器,在處于RAM掃描讀寫模式 下時(shí),首尾相接串為一條RAM讀寫的掃描鏈4 ; 在RAM掃描讀寫模式下,多個(gè)掃描觸發(fā)器串為一條RAM讀寫掃描鏈4的過(guò)程,與 在觸發(fā)器診斷模式下串成一條掃描鏈的過(guò)程相同,因此在本發(fā)明實(shí)施例中不再一一詳細(xì)描 述。 如圖4所示,這些命名為B—ce11的掃描觸發(fā)器可以串成一條掃描鏈。 多個(gè)掃描觸發(fā)器首尾相接串為一條RAM讀寫的掃描鏈,這條掃描鏈稱為RAM讀寫
掃描鏈4。 步驟B20,控制JTAG接口的TDI和TDO端口分別連接到所述掃描鏈的掃描輸入和
掃描輸出,在RAM掃描讀寫模式下,進(jìn)行RAM讀寫檢測(cè)。 所述在RAM掃描讀寫模式下,進(jìn)行RAM讀寫檢測(cè),包括如下步驟 步驟B21,在處于RAM掃描讀寫模式下,當(dāng)掃描使能SCAN_EXT為1時(shí),通過(guò)掃描鏈
對(duì)這些掃描觸發(fā)器進(jìn)行初始賦值; 步驟B22,當(dāng)掃描使能SCAN_EXT為0時(shí),如果WEN端口的初始值為0 (有效值),對(duì) RAM進(jìn)行寫操作,把掃描進(jìn)來(lái)的D端口的B_cell中的值寫入RAM中; 步驟B23,如果WEN端口的初始值為1 (無(wú)效寫),而CSN端口的B_cell值為0 (有 效值),則對(duì)RAM進(jìn)行讀操作,把從RAM的Q端口讀出的值儲(chǔ)存到Q端口的對(duì)應(yīng)的B_cell 中; 步驟B24,如果需要觀測(cè)RAM讀出的Q端口的值,則使掃描使能信號(hào)SCAN_EXT再次 為l,通過(guò)掃描鏈掃描輸出讀出的數(shù)據(jù)。 本發(fā)明實(shí)施例中,利用JTAG接口,在這兩種掃描模式下實(shí)現(xiàn)對(duì)掃描輸入,掃描輸 出,掃描時(shí)鐘以及掃描使能信號(hào)SCAN—EXT進(jìn)行控制。利用JTAG接口輸入測(cè)試指令,使得 TDI和TDO和芯片內(nèi)部的掃描鏈相連接,根據(jù)測(cè)試模式選擇信號(hào)TMS的狀態(tài)使得TAP控制器 處于Shift_DR狀態(tài)和Capture_DR狀態(tài)。 首先,利用JTAG接口的端口 ,對(duì)JTAG指令寄存器寫入BYPASS指令,并對(duì)擴(kuò)展指令 寄存器寫入一條擴(kuò)展指令,此時(shí)JTAG接口處于執(zhí)行擴(kuò)展指令狀態(tài),當(dāng)寫入的是觸發(fā)器診斷 指令時(shí),實(shí)現(xiàn)觸發(fā)器診斷模式;而當(dāng)寫入的是RAM掃描讀寫指令時(shí),實(shí)現(xiàn)RAM掃描讀寫模式。
BYPASS指令是IEEE1149. 1規(guī)定的一個(gè)強(qiáng)制指令,它是一位寄存器,提供了從TDI 到TDO之間的最短路徑。當(dāng)不需要對(duì)該Chip進(jìn)行任何I/O測(cè)試操作的時(shí)候可以使用該指 令。 當(dāng)指令為觸發(fā)器診斷模式時(shí),TDI和TDO端口分別連接觸發(fā)器診斷掃描鏈3的掃描輸入和掃描輸出端口。 當(dāng)指令為RAM掃描讀寫模式時(shí),TDI和TD0端口分別連接RAM讀寫掃描鏈4的掃 描輸入和掃描輸出端口。 其次,輸入不同的TMS序列,使得TAP控制器處于不同的狀態(tài)。如圖5所示,測(cè)試 模式選擇TMS端口首先輸入0100序列使得TAP控制器進(jìn)入Shift_DR狀態(tài),同時(shí)控制信號(hào) Shift_DR為高時(shí)有效,此時(shí)掃描鏈?zhǔn)鼓苄盘?hào)SCAN_EXT有效,對(duì)掃描鏈進(jìn)行掃描,得到輸入 輸出狀態(tài),對(duì)處理器內(nèi)部的觸發(fā)器置入新的狀態(tài),并掃描出故障點(diǎn)的狀態(tài)。當(dāng)整個(gè)掃描鏈的 觸發(fā)器的狀態(tài)都被掃描輸出后,測(cè)試模式選擇TMS端口輸入11序列使得TAP控制器進(jìn)入 Update_DR狀態(tài),使得控制信號(hào)Update_DR高有效。此時(shí)Shift_DR為低處于無(wú)效狀態(tài),所以 處理器芯片內(nèi)部處于正常功能狀態(tài),Update—DR控制輸出一拍時(shí)鐘TCK—G,所以此時(shí)處理器 芯片內(nèi)部正常運(yùn)行一個(gè)節(jié)拍。 最后,測(cè)試模式選擇TMS端口輸入0100序列使得TAP控制器再次進(jìn)入Shift_DR 狀態(tài),掃描輸出新的運(yùn)行結(jié)果。這樣多次重復(fù)后就能對(duì)處理器運(yùn)行的狀態(tài)進(jìn)行分析,得到故 障診斷結(jié)果。 對(duì)于RAM掃描讀寫模式來(lái)說(shuō),測(cè)試模式選擇TMS端口經(jīng)過(guò)上述序列之后實(shí)現(xiàn)即時(shí) 對(duì)RAM進(jìn)行讀寫操作,通過(guò)重復(fù)這種TMS序列就能夠得到所有RAM地址內(nèi)的數(shù)據(jù),從而達(dá)到 觀測(cè)RAM內(nèi)部數(shù)據(jù)的目的。 本發(fā)明實(shí)施例的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法,利用JTAG接口接入 到處理器芯片內(nèi)部的掃描觸發(fā)器中,掃描出處理器芯片內(nèi)部的狀態(tài),并對(duì)存儲(chǔ)器進(jìn)行讀操 作和掃描操作,讀出并掃描出內(nèi)部存儲(chǔ)器的狀態(tài)。其優(yōu)點(diǎn)在于 1、通過(guò)掃描鏈,觀測(cè)處理器芯片內(nèi)部的掃描觸發(fā)器的狀態(tài)和RAM的狀態(tài),得到處 理器芯片運(yùn)行程序的更詳細(xì)的資料,克服了仿真器不能重現(xiàn)復(fù)雜程序和大規(guī)模程序故障的 缺點(diǎn)。 2、通過(guò)JTAG接口接入到處理器芯片內(nèi)部的掃描觸發(fā)器,對(duì)處理器芯片正常功能 的管腳沒(méi)有改變,從而得到發(fā)生故障的真實(shí)狀態(tài)。 最后應(yīng)當(dāng)說(shuō)明的是,很顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變 型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要 求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型。
權(quán)利要求
一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置,包括JTAG接口,其特征在于,還包括接入到所述JTAG接口的由處理器芯片內(nèi)部掃描觸發(fā)器連接所形成的掃描鏈;所述JTAG接口的TAP控制器包括一擴(kuò)展檢測(cè)控制模塊,用于利用TAP控制器內(nèi)部的信號(hào),控制輸入TCK時(shí)鐘和輸入的TMS產(chǎn)生擴(kuò)展檢測(cè)的時(shí)鐘和掃描使能信號(hào),控制處理器芯片內(nèi)部的多個(gè)掃描觸發(fā)器連成一條掃描鏈,和控制處理器芯片內(nèi)部RAM端口的多個(gè)掃描觸發(fā)器連成一條掃描鏈,并控制JTAG接口芯片的TDI和TDO端口分別連接到所述掃描鏈的掃描輸入和掃描輸出,在相應(yīng)的檢測(cè)模式下,通過(guò)控制TCK時(shí)鐘掃描移位,進(jìn)行處理器芯片1內(nèi)部電路的檢測(cè)。
2. 根據(jù)權(quán)利要求1所述的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置,其特征在于,所述掃描觸發(fā)器,包括一掃描輸入端口 , 一掃描輸出端口 ,以及一掃描使能端口 ;所述掃描觸發(fā)器所連成的掃描鏈,其首個(gè)掃描觸發(fā)器的掃描輸入端口接入JTAG接口的TDI端口 ,最末的掃描觸發(fā)器的掃描輸出端口連接到JTAG接口的TDO端口 ;當(dāng)前掃描觸發(fā)器的掃描輸入端口連接到上一個(gè)掃描觸發(fā)器的掃描輸出端口;所述掃描觸發(fā)器的掃描使能端口連接到掃描使能信號(hào)。
3. 根據(jù)權(quán)利要求2所述的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置,其特征在于,所述JTAG接口還包括擴(kuò)展指令寄存器,用于存儲(chǔ)實(shí)現(xiàn)所述擴(kuò)展檢測(cè)控制模塊功能的觸發(fā)器檢測(cè)指令;所述擴(kuò)展檢測(cè)控制模塊運(yùn)行時(shí),讀取擴(kuò)展指令寄存器中相應(yīng)的觸發(fā)器檢測(cè)指令并執(zhí)行擴(kuò)展檢測(cè)控制模塊功能,進(jìn)行相應(yīng)的擴(kuò)展檢測(cè)。
4. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置,其特征在于,所述檢測(cè)模式或者為觸發(fā)器診斷模式,或者為RAM掃描讀寫模式。
5. —種對(duì)處理器芯片進(jìn)行在線檢測(cè)的方法,其特征在于,包括下列步驟步驟SIOO, JTAG接口的TAP控制器的狀態(tài)和輸入TCK時(shí)鐘產(chǎn)生擴(kuò)展檢測(cè)的時(shí)鐘和掃描使能信號(hào)SCAN—EXT,控制處理器芯片內(nèi)部的掃描觸發(fā)器連成掃描鏈;步驟S200,控制JTAG接口的TDI和TDO端口分別連接到所述掃描鏈的掃描輸入和掃描輸出,在相應(yīng)的檢測(cè)模式下,通過(guò)控制TCK時(shí)鐘掃描移位,進(jìn)行處理器芯片內(nèi)部電路檢測(cè)。
6. 根據(jù)權(quán)利要求5所述的對(duì)處理器芯片進(jìn)行在線檢測(cè)的方法,其特征在于,所述S100中,還包括如下步驟從存儲(chǔ)觸發(fā)器檢測(cè)指令的擴(kuò)展指令寄存器中讀取相應(yīng)的觸發(fā)器檢測(cè)指令到TAP控制器,執(zhí)行相應(yīng)的觸發(fā)器檢測(cè)指令。
7. 根據(jù)權(quán)利要求5或6所述的對(duì)處理器芯片進(jìn)行在線檢測(cè)的方法,其特征在于,當(dāng)所述檢測(cè)模式為觸發(fā)器診斷模式時(shí),對(duì)處理器芯片進(jìn)行在線檢測(cè)包括如下步驟步驟A10,在處理器芯片運(yùn)行的過(guò)程中,如果發(fā)生錯(cuò)誤,通過(guò)JTAG接口的端口設(shè)置擴(kuò)展指令寄存器為觸發(fā)器診斷模式,執(zhí)行觸發(fā)器診斷指令,將處理器芯片內(nèi)部的掃描觸發(fā)器串成一條掃描鏈;步驟A20,控制測(cè)試模式選擇信號(hào)TMS,使得Shif t_DR信號(hào)有效,從而使得掃描信號(hào)SCAN_EXT信號(hào)有效,控制JTAG接口的TDI和TDO端口分別連接到所述掃描鏈的掃描輸入和掃描輸出,在觸發(fā)器診斷模式下進(jìn)行處理器芯片內(nèi)部電路的檢測(cè);步驟A30,控制TCK時(shí)鐘,使得在掃描觸發(fā)器的值可以通過(guò)TDO的端口一拍拍輸出到芯片外部。
8. 根據(jù)權(quán)利要求5或6所述的對(duì)處理器芯片進(jìn)行在線檢測(cè)的方法,其特征在于,當(dāng)所述 檢測(cè)模式為RAM掃描讀寫模式時(shí),對(duì)處理器芯片進(jìn)行在線檢測(cè)包括如下步驟步驟BIO,通過(guò)JTAG接口的端口設(shè)置擴(kuò)展指令寄存器為RAM診讀寫模式,執(zhí)行RAM診斷 指令,處理器芯片內(nèi)部的RAM設(shè)置多個(gè)掃描觸發(fā)器,這些掃描觸發(fā)器處于RAM掃描讀寫模式 下時(shí),首尾相接串為一條RAM讀寫的掃描鏈;步驟B20,控制JTAG接口的TDI和TD0端口分別連接到所述掃描鏈的掃描輸入和掃描 輸出,在RAM掃描讀寫模式下,進(jìn)行RAM讀寫檢測(cè)。
9. 根據(jù)權(quán)利要求8所述的對(duì)處理器芯片進(jìn)行在線檢測(cè)的方法,其特征在于,所述步驟 B20中,在RAM掃描讀寫模式下,進(jìn)行RAM讀寫檢測(cè),包括如下步驟步驟B21,在處于RAM掃描讀寫模式下,當(dāng)掃描使能SCAN_EXT為1時(shí),通過(guò)掃描鏈對(duì)這 些掃描觸發(fā)器進(jìn)行初始賦值;步驟B22,當(dāng)掃描使能SCAN_EXT為0時(shí),如果WEN端口的初始值為有效值,對(duì)RAM進(jìn)行 寫操作,把掃描進(jìn)來(lái)的D端口的掃描觸發(fā)器中的值寫入RAM中;步驟B23,如果WEN端口的初始值為無(wú)效寫,而CSN端口的掃描觸發(fā)器值為有效值,則對(duì) RAM進(jìn)行讀操作,把從RAM的Q端口讀出的值儲(chǔ)存到Q端口的對(duì)應(yīng)的掃描觸發(fā)器中;步驟B24,如果需要觀測(cè)RAM讀出的Q端口的值,則使掃描使能信號(hào)SCAN_EXT再次為 1 ,通過(guò)掃描鏈掃描輸出讀出的數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種對(duì)處理器芯片進(jìn)行在線檢測(cè)的裝置和方法。其裝置包括JTAG接口和接入到JTAG接口的由處理器芯片內(nèi)部掃描觸發(fā)器連接所形成的掃描鏈;JTAG接口的TAP控制器包括一擴(kuò)展檢測(cè)控制模塊,用于控制輸入TCK時(shí)鐘和輸入的TMS產(chǎn)生擴(kuò)展檢測(cè)的時(shí)鐘和掃描使能信號(hào),控制處理器芯片內(nèi)部的多個(gè)掃描觸發(fā)器連成一條掃描鏈,和控制處理器芯片內(nèi)部RAM端口的多個(gè)掃描觸發(fā)器連成一條掃描鏈,并控制JTAG接口芯片的TDI和TDO端口分別連接到所述掃描鏈的掃描輸入和掃描輸出,在相應(yīng)的檢測(cè)模式下,通過(guò)控制TCK時(shí)鐘掃描移位,進(jìn)行處理器芯片1內(nèi)部電路的檢測(cè)。其對(duì)整個(gè)處理器芯片內(nèi)部電路進(jìn)行在線診斷和調(diào)試。
文檔編號(hào)G06F11/267GK101719088SQ20091023804
公開(kāi)日2010年6月2日 申請(qǐng)日期2009年11月23日 優(yōu)先權(quán)日2009年11月23日
發(fā)明者明奎良, 胡偉武, 齊子初 申請(qǐng)人:北京龍芯中科技術(shù)服務(wù)中心有限公司