欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多核處理器的jtag調(diào)試方法

文檔序號:6376491閱讀:796來源:國知局
專利名稱:一種多核處理器的jtag調(diào)試方法
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器芯片的基于JTAG標準的調(diào)試技術(shù)領(lǐng)域,尤其是一種多核處理器的JTAG調(diào)試方法。
背景技術(shù)
隨著對處理能力和能耗的要求日趨提高,多核處理器已經(jīng)成為目前高端處理器芯片的主要解決方案。然而隨著多核架構(gòu)的規(guī)模增大,其設(shè)計復(fù)雜度也隨之增大,這給多核處理器的在線調(diào)試帶來了很大的挑戰(zhàn)和困難。本發(fā)明巧妙的設(shè)計了多核處理器芯片測試接口與仿真器JTAG調(diào)試接口之間的多路測試接入端口控制器,有效實現(xiàn)了對單核調(diào)試的仿真器和調(diào)試軟件的復(fù)用,僅對調(diào)試軟件增加了針對某個核的選擇和查看相應(yīng)調(diào)試信息的指令。 JTAG (Joint Test Action Group)是一種國際標準測試協(xié)議,目前,大多多數(shù)芯片或IP (Intellectual Protocol,知識產(chǎn)權(quán))模塊都采用基于IEEE1149. I標準的JTAG接口作為調(diào)試接口,這些每個芯片都有一個TAP (Test Access Pot) controller (測試接入端口控制器),用于控制芯片與JTAG接口之間的連接,完成調(diào)試。現(xiàn)有的JTAG標準接口一般有以下幾個信號引腳TCK (Test Clock,測試時鐘信號),為TAP的操作提供了一個獨立的、基本的時鐘信號,TAP的所有操作都是通過這個時鐘信號來驅(qū)動的。TMS (Test ModeSelection,測試模式選擇信號),用來控制TAP狀態(tài)機的轉(zhuǎn)換。通過TMS信號,可以控制TAP在不同的狀態(tài)間相互轉(zhuǎn)換。TMS信號在TCK的上升沿有效。TDKTestData Input測試數(shù)據(jù)輸入信號),是芯片測試數(shù)據(jù)輸入的接口,所有要輸入到特定寄存器的數(shù)據(jù)都是通過TDI接口一位一位串行輸入的(由TCK驅(qū)動)。TDO (Test Data Output,測試數(shù)據(jù)輸出信號),這是測試數(shù)據(jù)輸出的接口,所有要從特定的寄存器中輸出的數(shù)據(jù)都是通過TDO接口一位一位串行輸出的(由TCK驅(qū)動)。TRST (Test Reset,測試復(fù)位信號),可以用來對TAP Controller進行復(fù)位(初始化)。為了能夠高效、便捷的實現(xiàn)的對多個核的調(diào)試,一個標準的multiple-tapcontroller (多路測試接入端口控制器)是十分必要的。另外,必須要有針對multiple-tapcontroller的調(diào)試軟件工具,而通過增加針對某個核的選擇和查看相應(yīng)調(diào)試信息的指令,可以有效實現(xiàn)最大限度的復(fù)用原有調(diào)試軟件。為達到與IEEE 11 49 I協(xié)議的兼容性,有人提出一種增加TAP連接模塊TLM(TAPLinking Module)的方案,在多核處理器芯片上只提供一個完全與IEEE149. I協(xié)議兼容的TAP接口,對外提供仲TMS、TCK、TDI、TD0、TRST5個引腳,仿真器的JTAG調(diào)試接口通過TLM連接到各個TAP,TLM負責(zé)把JTAG調(diào)試接口的信號連接到某個指定的要測試的處理器核的TAP上,而芯片內(nèi)部處理器核的TAP與TLM進行互連,每個TAP除了綁定的JTAG調(diào)試接口的5根信號線外,還增加了選擇信號SEL和使能信號ENA,通過SEI和ENA確定哪一個處理器核的TAP連接到仿真器的JTAG調(diào)試接口上。TLM根據(jù)SEL和ENA將仿真器的測試信號TDI、TMS、TCK、TRST傳遞到片內(nèi)某個TAP相應(yīng)的TDI、TMS,TCK和TRST端口,將該TAP的TDO端口輸出的數(shù)據(jù)通過TDO引腳經(jīng)過JTAG仿真器送回調(diào)試軟件,以實現(xiàn)對多核芯片中的某個處理器核的JTAG調(diào)試。但這種方法必須為處理器核內(nèi)部的TAP增加額外的選擇和使能信號,這就必須修改處理器核內(nèi)部的TAP,將ENA和SEL信號加入TAP的設(shè)計中。每個TAP的TAP控制器從TLM獲得的ENA作為輸入使能或禁止該TAP,TAP中的指令寄存器增加SEL信號輸出到TLM以響應(yīng)掃入其指令寄存器的指令,這使硬件設(shè)計變得復(fù)雜。為了實現(xiàn)對TAP控制器與標準JTAG之間的連接控制,實現(xiàn)多核處理器的有效調(diào)試,有人提出了通過增加一個芯片級的TAP控制器調(diào)試支持模塊DMS (Debug SupportModule)。這種方法兼容標準的JTA G調(diào)試接口,并且不需要對各個芯片或IP模塊的TAP控制器做改動,但是它需要仿真器提供額外的控制信號MDS (Multiple-core Debug Select,多核調(diào)試選擇)引腳。設(shè)計者希望通過仿真器產(chǎn)生多個時鐘周期的MDS低電平信號,控制調(diào)試指令存入調(diào)試支持模塊的指令寄存器,并從譯碼器獲得相應(yīng)處理器核的選擇信號,這就使得設(shè)計者必須修改仿真器來適應(yīng)這個關(guān)鍵的調(diào)試信號。因此該仿真器雖然具有兼容性,但并不是IEEE1149. I標準的JTAG協(xié)議描述的調(diào)試接口。另外,由于該調(diào)試支持模塊僅僅是單純的譯碼器和多路選擇器的連接,不具備數(shù)據(jù)信號存儲功能,調(diào)試期間無法觀測調(diào)試支持模塊的當(dāng)前調(diào)試信息和狀態(tài),這對于在線調(diào)試來講存在著極大地弊端,因為調(diào)試者在調(diào)試過程中并不能確認當(dāng)前調(diào)試的處理器核。這種不確定在MDS信號發(fā)生不穩(wěn)定如信號抖動時就會發(fā)生,使得希望調(diào)試處理器核1,而實際選中了處理器核2。這對于商用芯片的調(diào)試是一種極大的風(fēng)險。圖I是采用增加TLM模塊連接各個處理器核TAP控制器的框圖TLM作為芯片唯一的調(diào)試接口,它的輸入是TDI、TMS、TCK和TRST,輸出是TD0。每個IP核TAP的5針信號TDI、TMS、TCK、TRST和TDO都與TLM進行互連,TLM負責(zé)把JTAG調(diào)試接口的信號連接到某一個指定的要測試的IP核的TAP上。這種方法需要為每個TAP增加選擇信號SEL和使能信號ENA與TLM相連,通過SEL和ENA確定選擇哪一個處理器核的TAP連接到芯片的TAP接口上。因此這種方法必須修改處理器核內(nèi)部的TAP,將SEL和ENA加入TAP的設(shè)計中,使硬件設(shè)計變得復(fù)雜。圖2是采用調(diào)試支持模塊連接各個處理器核TAP控制器的框圖調(diào)試支持模塊除具有TDI、TMS、TCK、TRST、TDO這五個輸入引腳與仿真器的JTAG調(diào)試接口相連外,還需要一個多核調(diào)試選擇引腳接受鏈選命令的使能信號MDS,MDS由仿真器產(chǎn)生并輸入。調(diào)試支持模塊的輸出TDIl TDIn,TMSl TMSn,TCK, TRST分別與Corel Coren這η的各個TAP的TDI、TMS、TCK、TRST相連,調(diào)試支持模塊將仿真器的測試信號TDI、TMS、TCK和TRST信號傳送到片內(nèi)要調(diào)試的某個IP核的TAP相應(yīng)的TDII、TMS、TCK和TRST端口 ;調(diào)試支持模塊各有TDOl TDOn,這η個輸入分別與Corel Coren的TAP控制器的輸出信號TDO相連。的TAP的輸出信號TDO相連,將被調(diào)試的處理器核的TAP輸出的數(shù)據(jù)通過TDO引腳經(jīng)過JTAG仿真器送達調(diào)試主機。調(diào)試支持模塊的輸入TDI、TMS、TCK、TRST、MDS和輸出TDO連接至片外作為整個芯片統(tǒng)一的JTAG接口,通過調(diào)試支持模塊這樣一個芯片級TAP控制器通道對多核芯片上的各個處理器核進行JTAG調(diào)試。因此,這種方法必須修改仿真器設(shè)計來提供使能信號MDS,這使得該調(diào)試支持模塊在對不同類型的多核處理器芯片的調(diào)試時移植復(fù)雜度增力口,因為必須針對其仿真器也增加相應(yīng)的MDS信號。另外,由于該調(diào)試支持模塊僅僅是單純的譯碼器和多路選擇器的連接,不具備數(shù)據(jù)信號存儲功能,調(diào)試期間無法觀測調(diào)試支持模塊的當(dāng)前調(diào)試信息和狀態(tài),這對于在線調(diào)試來講存在著極大地弊端,因為調(diào)試者在調(diào)試過程中并不能確認當(dāng)前調(diào)試的處理器核。這種不確定情況在MDS信號發(fā)生不穩(wěn)定(如信號抖動)時就會發(fā)生,例如希望調(diào)試處理器核1,而實際選中了處理器核2。這對于商用芯片的調(diào)試是一種極大的風(fēng)險。

發(fā)明內(nèi)容
為了克服已有多核處理器的JTAG調(diào)試方法的無法有效完成各個處理器核的選擇控制和調(diào)試信息存儲反饋、可靠性差的不足,本發(fā)明提供一種有效完成各個處理器核的選擇控制和調(diào)試信息存儲反饋、提升可靠性的多核處理器的JTAG調(diào)試方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種多核處理器的JTAG調(diào)試方法,在各個處理器核的標準測試接入端口控制器和仿真器JTAG調(diào)試接口之間連接多路測試接口控制器,所述多路測試接口控制器由狀態(tài)控制模塊和調(diào)試控制模塊組成;所述調(diào)試方法包括如下步驟 第一步系統(tǒng)上電,多路測試接入端口控制器的功能狀態(tài)機進入測試邏輯復(fù)位狀態(tài);第二步發(fā)送調(diào)試指令,經(jīng)過仿真器JTAG調(diào)試接口輸出特定的TCK、TDI、TMS信號,使得狀態(tài)控制模塊依次進入測試進行狀態(tài)、選擇數(shù)據(jù)掃描寄存器狀態(tài)、選擇指令掃描寄存器狀態(tài)、捕獲指令狀態(tài)、移入指令狀態(tài)、退出指令I(lǐng)狀態(tài)、更新指令狀態(tài),最后回到測試進行狀態(tài);在捕獲指令狀態(tài)中,一個編碼序列被加載到指令寄存器當(dāng)中;然后進入到移入指令狀態(tài),在移入指令狀態(tài)下,通過TCK的驅(qū)動,將TDI輸入的選擇指令送到邊界掃描寄存器當(dāng)中去,然后在更新指令狀態(tài),輸入到邊界掃描掃描寄存器中的選擇指令用來更新指令寄存器,最后,進入到測試進行狀態(tài),指令生效,完成對多路調(diào)試接口控制器的指令寄存器的訪問;所述選擇指令被指令譯碼器譯碼,產(chǎn)生內(nèi)部選擇信號選中控制寄存器,并產(chǎn)生配置信號使控制寄存器進入控制寄存器配置模式;第三步發(fā)送選擇信號,配置控制寄存器;第四步延時一個時鐘周期之后,控制寄存器中的信息被加載到狀態(tài)寄存器,狀態(tài)寄存器中的信息經(jīng)譯碼器產(chǎn)生的譯碼信號控制第一多路選擇器把JTAG調(diào)試接口輸出的TDI信號和TMS信號傳給選定的處理器核;而被選中的處理器核的DTO信號也在譯碼信號控制下經(jīng)過第二多路選擇器傳遞回多路測試接口控制器;多路測試接口控制器中的狀態(tài)信息和傳入的TDO信號在狀態(tài)寄存器讀取信號控制下經(jīng)過第三多路選擇器傳遞回JTAG調(diào)試接口 ;第五步完成對處理器核的選擇后,發(fā)送調(diào)試指令,進行單核處理器調(diào)試過程。進一步,所述調(diào)試方法還包括第六步當(dāng)需要查看當(dāng)前各個處理器核TAP信息及多路測試接口控制器的狀態(tài)信息,利用查詢指令實現(xiàn);所述查詢指令進入指令寄存器并獲得譯碼后,通過內(nèi)部狀態(tài)寄存器讀取信號的控制,使多路測試接口控制器進入狀態(tài)查詢模式;在此模式下,通過TDO輸出的信息得到當(dāng)前所被調(diào)試的核的信息和多路測試接口控制器狀態(tài)信息。本發(fā)明的技術(shù)構(gòu)思為設(shè)計了一個標準的多路測試接口控制器,用于連接各個標準測試接入端口控制器和仿真器JTAG調(diào)試接口,由狀態(tài)控制模塊和調(diào)試控制模塊兩大部分組成。其中狀態(tài)控制模塊實現(xiàn)了 JTAG標準協(xié)議的各個功能狀態(tài),用于控制調(diào)試控制模塊實現(xiàn)具體的功能操作。調(diào)試控制模塊實現(xiàn)的具體功能主要包括存儲調(diào)試選擇指令,譯碼調(diào)試選擇指令,將調(diào)試指令和數(shù)據(jù)信號傳遞給選中的處理器核,以及反饋當(dāng)前調(diào)試信息。其中,當(dāng)前調(diào)試信息既可以是多路測試接入控制器的狀態(tài)信息也可以是正處于調(diào)試狀態(tài)的某個具體的處理器核的狀態(tài)信息。為了完成調(diào)試還需要對原有的調(diào)試軟件做簡單的修改。需要增加特殊的指令,即調(diào)試選擇指令,調(diào)試選擇指令用于選擇需要調(diào)試的某個具體的處理器核。另外,復(fù)用原有信息查詢指令,結(jié)合選擇指令,就可以對實現(xiàn)查看多路測試接口控制器的狀態(tài)信息或者正處于調(diào)試狀態(tài)的某個具體的處理器核的狀態(tài)信息。本發(fā)明的有益效果主要表現(xiàn)在 I、多路測試訪問接入端口控制器并不是簡單的多路選擇器,它支持基于IEEE1149. I協(xié)議標準的JTAG接口,擁有標準的狀態(tài)機和指令寄存器、指令譯碼器和數(shù)據(jù)寄存器(用于存儲控制信息)。2、對原有的各個處理器核的測試接口不需要做任何改動,通過本控制器將標準JTAG調(diào)試信號傳給對應(yīng)的調(diào)試處理器核,不僅能充分使用原有的調(diào)試接口,對于非本公司開發(fā)的芯片產(chǎn)品也能實現(xiàn)簡單移植,提高了設(shè)計的復(fù)用率。3、支持原有仿真器復(fù)用,對仿真而言,只連接多路測試接口控制器,它是一個標準的芯片調(diào)試接口,而對各個處理器核透明,因此不需要做額外的改動來適應(yīng)調(diào)試需要。4、支持原有調(diào)試軟件復(fù)用,對原有的單核調(diào)試軟件做了簡單的修改。增加相應(yīng)處理器選擇指令用作挑選指定的處理器核進行調(diào)試,以及對應(yīng)的信息查詢指令,用于查詢當(dāng)前多路測試接口控制器和各個處理器核的調(diào)試狀態(tài)信息。


圖I是背景技術(shù)中采用增加TLM模塊連接各個處理器核TAP控制器的框圖。圖2是背景技術(shù)中采用調(diào)試支持模塊連接各個處理器核TAP控制器的框圖。圖3是本發(fā)明采用多路測試接口控制器連接各個處理器核TAP控制器的框圖。圖4是本發(fā)明多路測試接口控制器的控制模塊內(nèi)部結(jié)構(gòu)圖。圖5是本發(fā)明所涉及的功能狀態(tài)機狀態(tài)轉(zhuǎn)換圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明作進一步描述。參照圖3 圖5,一種多核處理器的JTAG調(diào)試方法,包括如下步驟第一步系統(tǒng)上電,多路測試接入端口控制器的功能狀態(tài)機進入Test-LogicReset (測試邏輯復(fù)位)狀態(tài)。第二步調(diào)試軟件發(fā)送調(diào)試指令,經(jīng)過仿真器JTAG調(diào)試接口輸出特定的TCK、TDI、TMS信號,使得多路接口測試模塊的狀態(tài)控制模塊依次進入Run-Test/Idle (測試進行)狀態(tài)、Select-DR-Scan (選擇數(shù)據(jù)掃描寄存器)狀態(tài)、Select-IR-Scan (選擇指令掃描寄存器)狀態(tài)、Capture-IR (捕獲指令)狀態(tài)、Shift-IR (移入指令)狀態(tài)、Exitl-IR (退出指令I(lǐng))狀態(tài)、Update-IR (更新指令)狀態(tài),最后回到Run-Test/Idle狀態(tài)。在Capture-IR狀態(tài)中,一個特定的編碼序列被加載到指令寄存器當(dāng)中;然后進入到Shift-IR狀態(tài),在Shift-IR狀態(tài)下,通過TCK的驅(qū)動,可以將TDI輸入的選擇指令送到邊界掃描寄存器當(dāng)中去。然后在Update-IR狀態(tài),剛才輸入到邊界掃描掃描寄存器中的指令將用來更新指令寄存器。最后,進入到Run-Test/Idle狀態(tài),指令生效,完成對多路測試接口控制器的指令寄存器的訪問。該調(diào)試選擇指令被指令譯碼器譯碼,產(chǎn)生內(nèi)部選擇信號cr_Sel (控制寄存器選擇)選中控制寄存器,并產(chǎn)生配置信號cr_Write (控制寄存器寫入)使控制寄存器進入控制寄存器配置模式。第三步軟件發(fā)送具體的選擇信號,配置控制寄存器。經(jīng)過第二步中描述的各個狀態(tài)后,這條選擇指令編碼(具體的配置信息)被更新到控制寄存器。第四步延時一個時鐘周期之后,控制寄存器中的信息被加載到狀態(tài)寄存器。狀態(tài)寄存器中的信息經(jīng)譯碼器產(chǎn)生的譯碼信號core_sel控制多路選擇器I把JTAG接口輸出的TDI信號和TMS信號傳給選定的處理器核;而被選中的處理器核的DTO信號也在core_sel信號控制下經(jīng)過多路選擇器2傳遞回多路測試接入端口控制器。之后多路接口控制端口控 制器中的狀態(tài)信息(sr_tdo)和傳入的TDO信號在狀態(tài)寄存器讀取信號(sr_read)控制下經(jīng)過多路選擇器3傳遞回JTAG接口后反饋給調(diào)試軟件。這里將控制信息存儲到狀態(tài)寄存器,不僅能使便于實現(xiàn)后面提到的狀態(tài)信息查詢,而且提高了設(shè)計的魯棒性。第五步完成對處理器核的選擇后,就可以發(fā)送普通的調(diào)試指令,進行和同對單核處理器一樣的調(diào)試工作。第六步當(dāng)任何時候需要查看當(dāng)前各個處理器核TAP信息及多路測試接口控制器的狀態(tài)信息,都可以利用查詢指令實現(xiàn)。查詢指令進入指令寄存器并獲得譯碼后,通過內(nèi)部sr_read (狀態(tài)寄存器讀取)信號的控制,使多路測試接口控制器進入狀態(tài)查詢模式。在此模式下,可以通過TDO輸出的信息了解當(dāng)前所被調(diào)試的核的信息和多路測試接口控制器狀態(tài)息。圖3是發(fā)明采用多路測試接口控制器連接各個處理器核TAP控制器的框圖多路測試接口控制器由狀態(tài)控制模塊和調(diào)試控制模塊兩大部分組成。其中狀態(tài)控制模塊實現(xiàn)了 JTAG標準協(xié)議的各個功能狀態(tài),用于控制調(diào)試控制模塊實現(xiàn)具體的功能操作。調(diào)試控制模塊式多路測試接入端口控制器的核心模塊,實現(xiàn)的具體功能主要包括存儲調(diào)試選擇指令,譯碼調(diào)試選擇指令,將調(diào)試指令和數(shù)據(jù)信號傳遞給選中的處理器核,以及反饋當(dāng)前調(diào)試信息。其中當(dāng)前調(diào)試信息既可以是多路測試接入端口控制器的狀態(tài)信息也可以是正處于調(diào)試狀態(tài)的某個具體的處理器核的狀態(tài)信息。JTAG接口輸出的TDI信號和TMS信號將在多路測試接口控制器的控制下傳給選定的處理器核,或者多路測試接口控制器自身,而各個處理器核的DTO信號及多路測試接口控制器自身的DTO將在多路測試接口控制器控制選擇下傳遞回JTAG接口。TCK和TRST信號則有仿真器直接連接至多路測試接口控制器和各個核。為了完成調(diào)試還需要對原有的調(diào)試軟件做簡單的修改。我們只需要增加調(diào)試選擇指令,調(diào)試選擇指令分為兩個階段,第一個階段控制進入多核調(diào)試選擇模式,第二個階段配置控制寄存器用于選擇需要調(diào)試的具體的處理器核。另外,復(fù)用原有信息查詢指令,結(jié)合選擇指令,就可以對實現(xiàn)查看多路測試接入端口控制器的狀態(tài)信息或者正處于調(diào)試狀態(tài)的某個具體的處理器核的狀態(tài)信息。圖4是本發(fā)明多路測試接口控制器的控制模塊內(nèi)部結(jié)構(gòu)圖調(diào)試控制模塊式將接受來自外部的TDI、TCK、TMS、TRST信號和內(nèi)部狀態(tài)控制模塊的控制信號實現(xiàn)對多個處理器核TAP的控制,并且將選定的處理器核TDO信號傳遞給JTAG調(diào)和接口反饋調(diào)試軟件,具體的調(diào)試步驟如下圖5是本發(fā)明所涉及的功能狀態(tài)機狀態(tài)轉(zhuǎn)換圖I.系統(tǒng)上電,TAP控制器進入Te st-Logic Reset (測試邏輯復(fù)位)狀態(tài),然后依次進入Run-Test/Idle (測試進行)狀態(tài)、Select-DR-Scan (選擇數(shù)據(jù)掃描寄存器)狀態(tài)、Select-IR-Scan (選擇指令掃描寄存器)狀態(tài)、Capture-IR (捕獲指令)狀態(tài)、Shift-IR (移入指令)狀態(tài)、Exitl-IR (退出指令I(lǐng))狀態(tài)、Update-IR (更新指令)狀態(tài),最后回到Run-Test/Idle狀態(tài)。在Capture-IR狀態(tài)中,一個特定的編碼序列被加載到指令寄存器當(dāng)中;然后進入到Shift-IR狀態(tài),在Shift-IR狀態(tài)下,通過TCK的驅(qū)動,可以將TDI輸入的選擇指令送到邊界掃描寄存器當(dāng)中去。然后在Update-IR狀態(tài),剛才輸入到邊界掃描掃描寄存器中的指令將用來更新指令寄存器。最后,進入到Run-Test/Idle狀態(tài),指令生效,完成對多路測試接口控制器的指令寄存器的訪問。2.當(dāng)前可以訪問的數(shù)據(jù)寄存器由指令寄存器中的當(dāng)前指令決定。要訪問由剛才的指令選定的數(shù)據(jù)寄存器,需要以Run-Test/Idle為起點,依次進入Select-DR-Scan、Capture-DR、Shift-DR (移入數(shù)據(jù))狀態(tài)、Exitl-DR (退出數(shù)據(jù)I)狀態(tài)、Update-DR (更新數(shù)據(jù))狀態(tài),最后回到Run-Test/Idle狀態(tài)。在這個過程當(dāng)中,被當(dāng)前指令選定的數(shù)據(jù)寄存器會被連接在TDI和TDO之間。通過TDI和TD0,就可以將新的數(shù)據(jù)加載到數(shù)據(jù)寄存器當(dāng)中去,同時,也可以捕獲數(shù)據(jù)寄存器中的數(shù)據(jù)。
權(quán)利要求
1.一種多核處理器的JTAG調(diào)試方法,其特征在于在各個處理器核的標準測試接入端口控制器和仿真器JTAG調(diào)試接口之間連接多路測試接口控制器,所述多路測試接口控制器由狀態(tài)控制模塊和調(diào)試控制模塊組成;所述調(diào)試方法包括如下步驟 第一步系統(tǒng)上電,多路測試接入端口控制器的功能狀態(tài)機進入測試邏輯復(fù)位狀態(tài); 第二步發(fā)送調(diào)試指令,經(jīng)過仿真器JTAG調(diào)試接口輸出特定的TCK、TDI、TMS信號,使得狀態(tài)控制模塊依次進入測試進行狀態(tài)、選擇數(shù)據(jù)掃描寄存器狀態(tài)、選擇指令掃描寄存器狀態(tài)、捕獲指令狀態(tài)、移入指令狀態(tài)、退出指令I(lǐng)狀態(tài)、更新指令狀態(tài),最后回到測試進行狀態(tài);在捕獲指令狀態(tài)中,一個編碼序列被加載到指令寄存器當(dāng)中;然后進入到移入指令狀態(tài),在移入指令狀態(tài)下,通過TCK的驅(qū)動,將TDI輸入的選擇指令送到邊界掃描寄存器當(dāng)中去,然后在更新指令狀態(tài),輸入到邊界掃描掃描寄存器中的選擇指令用來更新指令寄存器,最后,進入到測試進行狀態(tài),指令生效,完成對多路調(diào)試接口控制器的指令寄存器的訪問;所述選擇指令被指令譯碼器譯碼,產(chǎn)生內(nèi)部選擇信號選中控制寄存器,并產(chǎn)生配置信號使控制寄存器進入控制寄存器配置模式; 第三步發(fā)送選擇信號,配置控制寄存器; 第四步延時一個時鐘周期之后,控制寄存器中的信息被加載到狀態(tài)寄存器,狀態(tài)寄存器中的信息經(jīng)譯碼器產(chǎn)生的譯碼信號控制第一多路選擇器把JTAG調(diào)試接口輸出的TDI信號和TMS信號傳給選定的處理器核;而被選中的處理器核的DTO信號也在譯碼信號控制下經(jīng)過第二多路選擇器傳遞回多路測試接口控制器;多路測試接口控制器中的狀態(tài)信息和傳入的TDO信號在狀態(tài)寄存器讀取信號控制下經(jīng)過第三多路選擇器傳遞回JTAG調(diào)試接口 ; 第五步完成對處理器核的選擇后,發(fā)送調(diào)試指令,進行單核處理器調(diào)試過程。
2.如權(quán)利要求I所述的一種多核處理器的JTAG調(diào)試方法,其特征在于所述調(diào)試方法還包括 第六步當(dāng)需要查看當(dāng)前各個處理器核TAP信息及多路測試接口控制器的狀態(tài)信息,利用查詢指令實現(xiàn);所述查詢指令進入指令寄存器并獲得譯碼后,通過內(nèi)部狀態(tài)寄存器讀取信號的控制,使多路測試接口控制器進入狀態(tài)查詢模式;在此模式下,通過TDO輸出的信息得到當(dāng)前所被調(diào)試的核的信息和多路測試接口控制器狀態(tài)信息。
全文摘要
一種多核處理器的JTAG調(diào)試方法,在各個處理器核的標準測試接入端口控制器和仿真器JTAG調(diào)試接口之間連接多路測試接口控制器,調(diào)試方法包括如下步驟第一步系統(tǒng)上電,多路測試接入端口控制器的功能狀態(tài)機進入測試邏輯復(fù)位狀態(tài);第二步發(fā)送調(diào)試指令,經(jīng)過仿真器JTAG調(diào)試接口輸出特定的TCK、TDI、TMS信號,使得狀態(tài)控制模塊依次進入各個狀態(tài);第三步發(fā)送選擇信號,配置控制寄存器;第四步延時一個時鐘周期之后,控制寄存器中的信息被加載到狀態(tài)寄存器;第五步完成對處理器核的選擇后,發(fā)送調(diào)試指令,進行單核處理器調(diào)試過程。本發(fā)明有效完成各個處理器核的選擇控制和調(diào)試信息存儲反饋、提升可靠性。
文檔編號G06F11/26GK102880536SQ201210328478
公開日2013年1月16日 申請日期2012年9月7日 優(yōu)先權(quán)日2012年9月7日
發(fā)明者馮炯, 金孝飛, 黃凱, 嚴曉浪 申請人:杭州中天微系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
潮安县| 桐梓县| 札达县| 毕节市| 津市市| 营口市| 栖霞市| 郁南县| 三原县| 建德市| 江阴市| 南和县| 观塘区| 贡觉县| 盐源县| 章丘市| 广饶县| 囊谦县| 盐津县| 遵义县| 鄂托克旗| 穆棱市| 西乌| 金阳县| 定州市| 台南市| 泸水县| 阿坝| 宜宾县| 孟连| 平潭县| 依兰县| 库尔勒市| 雷山县| 伽师县| 安顺市| 吉隆县| 长海县| 眉山市| 华安县| 邹平县|