雙主控jtag方法、電路及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種雙主控控制器,包括多個(gè)JTAG數(shù)據(jù)寄存器,多個(gè)JTAG數(shù)據(jù)寄存器包括存儲(chǔ)指示標(biāo)準(zhǔn)JTAG或者處理器控制操作模式的信息的控制器模式寄存器。JTAG?TAP控制器通過標(biāo)準(zhǔn)測試訪問端口接收控制信號(hào),并且處理器控制器通過外部處理器總線接收處理器控制信號(hào)。選擇復(fù)用器響應(yīng)于JTAG模式選擇信號(hào)輸出在標(biāo)準(zhǔn)JTAG訪問端口或者外部處理器總線上的信號(hào)。邏輯電路響應(yīng)于強(qiáng)制JTAG信號(hào)有效或者在控制器模式寄存器中的信息指示標(biāo)準(zhǔn)JTAG模式來激活JTAG模式選擇信號(hào),并且響應(yīng)于強(qiáng)制JTAG信號(hào)被去激活或者在控制器模式寄存器中的信息指示處理器控制器模式來去激活JTAG模式選擇信號(hào)。指令解碼器和復(fù)用器電路施加來自選擇復(fù)用器的控制信號(hào)以控制JTAG數(shù)據(jù)寄存器。
【專利說明】雙主控JTAG方法、電路及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本公開內(nèi)容總體涉及測試系統(tǒng),并且更具體地,涉及一種用于集成電路的聯(lián)合測試行動(dòng)組(JTAG)測試電路裝置,該JTAG測試電路裝置包括兩個(gè)主控控制器,以允許測試電路裝置符合JTAG或者IEEE1149.1標(biāo)準(zhǔn)而同時(shí)為用戶提供用于控制測試電路裝置以執(zhí)行希望的定制的測試的靈活性。
【背景技術(shù)】
[0002]測試在印刷電路板(PCB)上裝配的集成電路器件已經(jīng)變得更困難,因?yàn)檫@樣的器件的密度已經(jīng)增加而在其上裝配器件的印刷電路板的尺寸已經(jīng)減少。裝配技術(shù)(諸如表面裝配器件)也已經(jīng)使測試器件和包含器件的印刷電路板更困難。因此,現(xiàn)代集成電路器件通常包括內(nèi)部測試電路裝置以允許測試在印刷電路板上裝配的器件。更具體而言,現(xiàn)代集成電路器件通常包括符合聯(lián)合測試行動(dòng)組(JTAG)或者IEEE1149.1標(biāo)準(zhǔn)的測試電路裝置,從而允許包含器件的印刷電路板和器件本身更容易根據(jù)標(biāo)準(zhǔn)化的協(xié)議來測試,這些協(xié)議是作為這一廣泛采用的標(biāo)準(zhǔn)的部分。
[0003]如本領(lǐng)域技術(shù)人員將理解的那樣,JTAG標(biāo)準(zhǔn)利用邊界掃描架構(gòu),該邊界掃描架構(gòu)使JTAG測試電路裝置能夠設(shè)置和讀取在印刷電路板上包含的集成電路器件的引腳上的信號(hào)的值,而無需直接物理訪問那些引腳。JTAG測試電路裝置包括稱為測試訪問端口(TAP)的接口和TAP控制器,該TAP控制器響應(yīng)于在接口上提供的信號(hào)來操作以控制指令和數(shù)據(jù)寄存器,以由此測試包含JTAG測試電路裝置的集成電路器件的核心邏輯電路裝置和互連。制造商可以包括定制的測試電路裝置作為在它們的集成電路器件中包含的JTAG測試電路裝置的部分,以便允許對(duì)它們的器件的核心邏輯電路裝置和互連完成各種類型的定制測試。然而在包括這樣的定制的測試電路裝置時(shí),JTAG測試電路裝置必須仍然包括用于符合JTAG標(biāo)準(zhǔn)的某些結(jié)構(gòu)和功能。因此,在這些情形中,JTAG測試電路裝置必須符合標(biāo)準(zhǔn)而同時(shí)執(zhí)行希望的定制的測試功能,這可能不合需要地使測試電路裝置變復(fù)雜并且增加測試電路裝置在集成電路器件上占用的面積。
[0004]需要一種符合JTAG標(biāo)準(zhǔn)而同時(shí)提供希望的定制的測試功能的改進(jìn)的JTAG測試電路裝置。
【發(fā)明內(nèi)容】
[0005]根據(jù)在本公開內(nèi)容中描述的一個(gè)實(shí)施例,一種雙主控控制器包括多個(gè)JTAG數(shù)據(jù)寄存器,多個(gè)JTAG數(shù)據(jù)寄存器包括可操作用于存儲(chǔ)信息的控制器模式寄存器,該信息指示標(biāo)準(zhǔn)JTAG操作模式或者處理器控制操作模式。JTAG TAP控制器適于通過標(biāo)準(zhǔn)測試訪問端口接收控制信號(hào),并且處理器控制器適于通過外部處理器總線接收處理器控制信號(hào)。選擇復(fù)用器耦合到標(biāo)準(zhǔn)訪問端口和外部處理器總線并且耦合到JTAG TAP控制器和處理器控制器。選擇復(fù)用器可操作用于響應(yīng)于JTAG模式選擇信號(hào)在標(biāo)準(zhǔn)JTAG訪問端口或者外部處理器總線上輸出信號(hào)。邏輯電路耦合到控制器模式寄存器,并且耦合到選擇復(fù)用器,并且適于接收強(qiáng)制JTAG信號(hào)。邏輯電路可操作用于響應(yīng)于強(qiáng)制JTAG信號(hào)有效或者在控制器模式寄存器中的信息指示標(biāo)準(zhǔn)JTAG操作模式來激活JTAG模式選擇信號(hào),并且可操作用于響應(yīng)于強(qiáng)制JTAG信號(hào)無效或者在控制器模式寄存器中的信息指示處理器控制器操作模式來去激活JTAG模式選擇信號(hào)。指令解碼器和復(fù)用器電路耦合到選擇復(fù)用器和JTAG TAP控制器并且耦合到標(biāo)準(zhǔn)測試訪問端口,指令解碼器和復(fù)用器電路可操作用于施加來自選擇復(fù)用器的控制信號(hào)以控制JTAG數(shù)據(jù)寄存器。
【專利附圖】
【附圖說明】
[0006]圖1是根據(jù)一個(gè)實(shí)施例的包括JTAG測試電路裝置的集成電路器件的功能框圖,該JTAG測試電路裝置具有雙主控控制器。
[0007]圖2是包括以菊花鏈(daisy-chained)配置互連的若干集成電路器件的電子系統(tǒng)的功能框圖,這些集成電路器件具有圖1的JTAG測試電路裝置。
[0008]圖3A是根據(jù)在本公開內(nèi)容中描述的一個(gè)實(shí)施例的包括雙控制器的JTAG測試電路裝置的功能框圖。
[0009]圖3B圖示圖3A的控制器模式寄存器的一個(gè)實(shí)施例。
[0010]圖3C是用于為無效操作模式提供時(shí)鐘信號(hào)CLK和重置信號(hào)RST的在圖3A的選擇復(fù)用器316中包含的時(shí)鐘和重置電路裝置的功能框圖。
[0011]圖4A是根據(jù)控制器的一個(gè)實(shí)施例的圖3A的CPU到JDR控制器的更具體功能框圖。
[0012]圖4B是圖示外部處理器總線的根據(jù)這一總線的一個(gè)實(shí)施例的命令部分的表。
[0013]圖4C是圖示外部處理器總線的根據(jù)這一總線的一個(gè)實(shí)施例的寫入數(shù)據(jù)部分的表。
[0014]圖4D是圖示外部處理器總線的根據(jù)這一總線的一個(gè)實(shí)施例的字節(jié)序(endian)選擇部分的表。
[0015]圖4E是圖示外部處理器總線的根據(jù)這一總線的一個(gè)實(shí)施例的讀取數(shù)據(jù)部分的表。
[0016]圖4F是圖示外部處理器總線的根據(jù)這一總線的一個(gè)實(shí)施例的忙信號(hào)部分的表。
[0017]圖5是圖示圖4A的狀態(tài)機(jī)的操作的狀態(tài)圖。
[0018]圖6是圖示在圖3A的CPU到JDR控制器的操作期間在外部處理器總線上的信號(hào)的時(shí)序圖。
[0019]圖7是更具體圖示圖4A的字節(jié)序選擇復(fù)用器的操作的功能圖。
【具體實(shí)施方式】
[0020]根據(jù)在本公開內(nèi)容中描述的一個(gè)實(shí)施例,JTAG測試電路裝置包括雙主控控制器。雙主控控制器以標(biāo)準(zhǔn)JTAG模式作為常規(guī)JTAG測試訪問端口(TAP)控制器操作,以控制JTAG測試電路裝置的指令和數(shù)據(jù)寄存器并且執(zhí)行對(duì)包含測試電路裝置的集成電路器件的希望的測試。雙主控控制器也以CPU到JTAG數(shù)據(jù)寄存器(CPU到JDR)模式作為CPU到JDR或者“處理器控制器”操作,以允許在包含JTAG測試電路裝置的集成電路器件內(nèi)部或者外部的中央處理單元(CPU)或者處理器控制JTAG測試電路裝置中的數(shù)據(jù)寄存器并且執(zhí)行對(duì)集成電路器件的希望的定制測試。以下將更具體說明這一實(shí)施例的總體操作。
[0021]在以下描述中,結(jié)合本發(fā)明的描述的實(shí)施例闡述某些細(xì)節(jié)以提供本發(fā)明的充分理解。然而本領(lǐng)域技術(shù)人員將理解無這些具體細(xì)節(jié)仍可實(shí)現(xiàn)本發(fā)明。另外,本領(lǐng)域技術(shù)人員將理解以下描述的示例實(shí)施例未限制本發(fā)明的范圍,并且也將理解公開的實(shí)施例的各種修改、等效物和組合以及這樣的實(shí)施例的部件在本發(fā)明的范圍內(nèi)。包括少于相應(yīng)的描述的實(shí)施例中的任何實(shí)施例的所有部件的實(shí)施例雖然以下未明確地描述,但是也可以在本發(fā)明的范圍內(nèi)。最后,并未具體示出或者描述公知部件和/或過程的操作以免不必要地模糊本發(fā)明。
[0022]圖1是包括JTAG測試電路裝置102的集成電路器件100的功能框圖,該JTAG測試電路裝置具有根據(jù)一個(gè)實(shí)施例的雙主控TAP控制電路裝置104。集成電路器件100包括被設(shè)計(jì)用于執(zhí)行器件的希望的功能的核心邏輯電路裝置106,諸如數(shù)字信號(hào)處理電路裝置、存儲(chǔ)器電路裝置等。核心邏輯電路裝置106通過輸入/輸出焊盤(或者引腳)108耦合到外部電路裝置(未示出),其中外部電路裝置對(duì)應(yīng)于在集成電路器件100外部的其它集成電路器件或者電子部件。JTAG測試電路裝置102包括耦合于核心邏輯電路裝置106與引腳108之間的邊界掃描寄存器110。更具體而言,邊界掃描寄存器110包括以不同模式操作以提供希望的測試功能的多個(gè)串聯(lián)連接的邊界掃描單元112。邊界掃描單元112可以用于測試核心邏輯電路裝置106,但是更通常用于測試在集成電路器件100與在集成電路器件外部的其它器件之間的互連。如本領(lǐng)域技術(shù)人員將理解的那樣,每個(gè)邊界掃描單元112可以鎖存對(duì)應(yīng)引腳108上的信號(hào)的值、施加對(duì)應(yīng)引腳上的希望的信號(hào)值、向核心邏輯電路裝置106供應(yīng)希望的信號(hào)值并且也以移位寄存器模式工作以允許希望的測試數(shù)據(jù)向邊界掃描寄存器110中串行移位輸入和從邊界掃描寄存器110串行移位輸出。
[0023]邊界掃描寄存器110是在JTAG測試電路裝置102中包含的“數(shù)據(jù)寄存器”之一。此外,如以下將更具體說明的那樣,示出JTAG測試電路裝置102也包括其它典型數(shù)據(jù)寄存器,諸如旁路寄存器114和器件標(biāo)識(shí)寄存器116,以及控制器模式寄存器118,該控制器模式寄存器用來控制在雙主控TAP控制電路裝置104中包含的主控控制器中的哪個(gè)主控控制器控制JTAG測試電路裝置102。如以下將更具體描述的那樣,JTAG測試電路裝置102將通常包括用于執(zhí)行希望的互連測試和對(duì)核心邏輯電路裝置106的測試的附加數(shù)據(jù)寄存器(未示出)。復(fù)用器119接收數(shù)據(jù)寄存器110、114、116和118的輸出,并且響應(yīng)于選擇信號(hào)SEL耦合這些寄存器中的選擇的寄存器以提供選擇的寄存器作為測試數(shù)據(jù)輸出(TDO)信號(hào)。
[0024]JTAG測試電路裝置102也包括指令寄存器120,該指令寄存器與雙主控TAP控制電路裝置104組合操作以控制數(shù)據(jù)寄存器110、112-118的操作并且由此提供對(duì)器件100的希望的測試,該測試包括測試核心邏輯電路裝置106。測試訪問端口 122提供去往JTAG測試電路裝置102的標(biāo)準(zhǔn)接口,并且包括形成這一接口的標(biāo)準(zhǔn)控制和數(shù)據(jù)信號(hào),這些控制和數(shù)據(jù)信號(hào)在JTAG操作模式期間控制雙主控TAP控制電路裝置104的操作。更具體而言,測試訪問端口 122包括測試數(shù)據(jù)輸入(TDI)信號(hào),希望的輸入測試數(shù)據(jù)通過該TDI信號(hào)向JTAG測試電路裝置102輸入,并且測試訪問端口 122也包括測試數(shù)據(jù)輸出(TDO)信號(hào),生成的輸出測試數(shù)據(jù)通過該TDO信號(hào)向外部電路提供。
[0025]在本公開內(nèi)容中描述的實(shí)施例中,測試訪問端口 122也包括外部處理器總線(EPB)總線,處理器(在圖1中未示出)通過該EPB總線提供數(shù)據(jù)和控制或者命令信號(hào),以控制該控制器104在CPU到JDR操作模式期間的操作。EPB總線在常規(guī)TAP端口中不存在。也注意處理器在集成電路器件100“外部”并且將在以下描述中稱為“外部處理器”。這對(duì)于EPB總線同樣成立。這僅意味著處理器和EPB總線在形成器件100的電路裝置塊“外部”,而并不意味著處理器和EPB總線(處理器通過該EPB總線與器件100通信)必須在相對(duì)于器件100的單獨(dú)集成電路或者芯片上。處理器和總線EPB可以在與集成電路器件100相同的芯片上,諸如其中處理器和集成電路器件100是片上系統(tǒng)(SOC)。
[0026]如以下將更具體說明的那樣,數(shù)據(jù)寄存器110和114-118中的每個(gè)寄存器與指令寄存器120 —起在雙主控TAP控制電路裝置104的控制之下被選擇,以耦合于在其上施加TDI和TDO信號(hào)的節(jié)點(diǎn)或者引腳之間。注意雙主控TAP控制電路裝置104的操作模式(JTAG或者CPU到JDR模式)確定控制器利用數(shù)據(jù)寄存器中的哪些數(shù)據(jù)寄存器,并且控制器在每個(gè)模式中僅利用寄存器中的某些寄存器。例如雙主控TAP控制電路裝置104僅在以JTAG模式操作時(shí)訪問指令寄存器120,并且在CPU到JDR模式中從不訪問這一寄存器。另外注意對(duì)數(shù)據(jù)寄存器110、114-120的選擇在一些實(shí)例中依賴于寄存器中的其它寄存器的內(nèi)容,因此控制器104在操作中利用這些內(nèi)容以選擇數(shù)據(jù)寄存器。例如在JTAG模式期間,控制器104利用指令寄存器120的內(nèi)容以選擇數(shù)據(jù)寄存器110和114-118中的將在測試期間利用的數(shù)據(jù)寄存器。另外,在以CPU到JDR模式操作時(shí),控制器104響應(yīng)于外部處理器總線EPB上的對(duì)應(yīng)信號(hào)選擇數(shù)據(jù)寄存器,該外部處理器總線EPB是測試訪問端口 122的部分。
[0027]在JTAG模式期間的操作中,雙主控TAP控制電路裝置104在通過測試訪問端口122施加的測試時(shí)鐘(TCK)信號(hào)、測試模式選擇(TMS)信號(hào)和測試模式重置(TRST)信號(hào)的控制之下控制數(shù)據(jù)寄存器110和114-118以及指令寄存器120的選擇和操作。在CPU到JTAG模式期間的操作中,雙主控TAP控制電路裝置104相似地響應(yīng)于外部處理器總線EPB上的信號(hào)控制恰當(dāng)數(shù)據(jù)寄存器110、114-118的選擇。如以下將參照?qǐng)D3A更具體描述的那樣,雙主控TAP控制電路裝置104包括兩個(gè)主控控制器,這些主控控制器是狀態(tài)機(jī),這些狀態(tài)機(jī)響應(yīng)于在測試訪問端口 122上施加的信號(hào)操作以選擇和控制數(shù)據(jù)和指令寄存器110、112-120的操作并且控制JTAG測試電路裝置102的總體操作。TCK信號(hào)是時(shí)鐘信號(hào),并且TMS信號(hào)是具有邏輯O或者邏輯I值的二進(jìn)制信號(hào),而雙主控TAP控制電路裝置104在JTAG模式期間響應(yīng)于TMS信號(hào)轉(zhuǎn)變狀態(tài),并且控制器生成用于控制寄存器110和112-120的對(duì)應(yīng)控制信號(hào)124。外部電路裝置激活TRST信號(hào)以重置雙主控TAP控制電路裝置104的JTAG控制器部分。如以下將關(guān)于圖3A更具體說明的那樣,在EPB總線上的單獨(dú)信號(hào)重置雙主控TAP控制電路裝置104的處理器控制器部分。在圖1的實(shí)施例中,如圖1中所見,測試訪問端口122 因此包括 TD1、TCK、TMS、TRST、TDO 和 EPB 總線。
[0028]圖2是包括在印刷電路板204上以菊花鏈配置互連的若干集成電路器件202a-202c的電子系統(tǒng)200的功能框圖,這些集成電路器件包含圖1的JTAG測試電路裝置102 (未示出)。這是在印刷電路板上互連多個(gè)集成電路器件的TAG測試電路裝置102的典型方式。測試控制器206控制器件202a-c中的JTAG測試電路裝置102以經(jīng)由每個(gè)器件的測試訪問端口 122對(duì)器件執(zhí)行希望的測試操作。更具體而言,測試控制器206控制TD1、TCK、TMS、TRST, TDO和EPB總線上的信號(hào)以由此測試集成電路器件202a_c。EPB總線允許測試控制器206將雙主控TAP控制電路裝置104置于CPU到JDR操作模式,并且隨后控制CPU到JDR控制器以控制數(shù)據(jù)寄存器110、114-118并且執(zhí)行對(duì)器件202a_c的希望的定制的測試。測試控制器206當(dāng)然也可以將雙主控tap控制電路裝置104置于JTAG操作模式并且與控制電路裝置組合操作以執(zhí)行對(duì)器件100的測試。以這一方式,器件202a-c是符合JTAG的器件,并且也可以對(duì)器件執(zhí)行定制測試。
[0029]圖3A是更具體圖示根據(jù)在本公開內(nèi)容中描述的一個(gè)實(shí)施例的JTAG測試電路裝置300的功能框圖。JTAG測試電路裝置300包括雙主控TAP控制電路裝置301,該雙主控TAP控制電路裝置包括JTAG TAP控制器302和CPU到JDR控制器304。圖3A的JTAG測試電路裝置300因而是圖1的JTAG測試電路裝置102的一個(gè)實(shí)施例。在JTAG測試電路裝置300的操作中,雙主控TAP控制電路裝置301以JTAG模式或者CPU到JDR模式操作以控制測試電路裝置和包含測試電路裝置的器件的總體操作。更具體而言,如以下將更具體描述的那樣,在JTAG模式中的TAP控制器302或者在CPU到JDR模式中CPU到JDR控制器304控制JTAG測試電路裝置的其它部件以執(zhí)行希望的互連測試和在包含JTAG測試電路裝置的集成電路器件中包含的核心邏輯電路裝置(在圖3A中未示出)的測試。
[0030]如本領(lǐng)域技術(shù)人員將理解的那樣,在制造期間測試集成電路器件時(shí)主要使用JTAG測試電路裝置以保證器件恰當(dāng)操作。因而在JTAG測試電路裝置300中,在這一情形中啟用JTAG tap控制器302以提供用于集成電路器件的這一常規(guī)測試功能。此外,CPU到JDR控制器304使JTAG測試電路裝置300能夠在包含JTAG測試電路裝置的集成電路器件已經(jīng)完成制造測試之后被利用。例如CPU到JDR控制器304允許處理器或者其它器件(在圖3A中未示出)在包含JTAG測試電路裝置300的集成電路器件在完成的電子系統(tǒng)中操作時(shí)間或測試集成電路器件的功能。如現(xiàn)在下文將更具體描述的那樣,CPU到JDR控制器304包括并行握手接口(parallel-handshake interface),這樣的外部器件通過該并行握手接口與CPU到JDR控制器304通信,并且CPU到JDR控制器304也包括狀態(tài)機(jī)電路裝置,該狀態(tài)機(jī)電路裝置復(fù)制JTAG tap控制器302生成的用于控制JTAG測試電路裝置300中的數(shù)據(jù)寄存器和其它部件的相同控制信號(hào)。
[0031]JTAG測試電路裝置300包括多個(gè)JTAG數(shù)據(jù)寄存器306,而這些JTAG數(shù)據(jù)寄存器中的單獨(dú)JTAG數(shù)據(jù)寄存器在圖3A中標(biāo)注為數(shù)據(jù)寄存器306a-n。這些JTAG數(shù)據(jù)寄存器306a-n如圖3A中所示包括邊界掃描寄存器(BSR) 306a、標(biāo)識(shí)(ID)寄存器306b、旁路寄存器306c和控制器模式寄存器306d。此外,JTAG測試電路裝置300包括其它常規(guī)用戶數(shù)據(jù)寄存器,諸如鎖相環(huán)(PLL)寄存器306e、內(nèi)建自測試(BIST)寄存器306f和在測試核心邏輯電路裝置(未示出)或者對(duì)包含測試電路裝置300的集成電路器件執(zhí)行其它類型的測試?yán)玫钠渌脩魯?shù)據(jù)寄存器306g-n。
[0032]JTAG測試電路裝置300也包括指令解碼和復(fù)用器電路308,該指令解碼和復(fù)用器電路執(zhí)行先前參照?qǐng)D1描述的指令寄存器120的功能以選擇和控制數(shù)據(jù)寄存器306的操作。如以下將更具體討論的那樣,在指令解碼和復(fù)用器電路308中的僅TAP解碼器310在JTAG tap控制器302的控制之下操作以控制邊界掃描寄存器306a、ID寄存器306b、旁路寄存器306c和控制器模式寄存器306d。JTAGtap控制器302也可以訪問數(shù)據(jù)寄存器306e_n。僅TAP解碼器310僅在TAP控制器302而不是CPU到JDR控制器304的控制之下操作。
[0033]在指令解碼和復(fù)用器電路308中的TAP和CPU解碼器312在JTAG tap控制器302或者CPU到JDR控制器304的控制之下操作以控制用戶數(shù)據(jù)寄存器306e-n。如以上提到的那樣,通過TAP和CPU解碼器312,JTAG TAP控制器302也可以訪問數(shù)據(jù)寄存器306e_n。因此,數(shù)據(jù)寄存器306a-d僅可以經(jīng)由僅TAP解碼器310由JTAG tap控制器302訪問。這些數(shù)據(jù)寄存器306a-d不可由CPU到JDR控制器304訪問。因此,JTAG TAP控制器302可以經(jīng)由解碼器310和312訪問所有數(shù)據(jù)寄存器306a-n,而CPU到JDR控制器304僅可以經(jīng)由解碼器312訪問數(shù)據(jù)寄存器306e-n。指令解碼和復(fù)用器電路308也包括測試數(shù)據(jù)輸出(TDO)復(fù)用器314,該TDO復(fù)用器響應(yīng)于復(fù)用選擇(MSEL)信號(hào)操作以將選擇的數(shù)據(jù)寄存器306a-n耦合到它的輸出,并且由此提供來自JTAG測試電路裝置300的TDO信號(hào)。僅TAP解碼器310以及TAP和CPU解碼器312中的有效解碼器向TDO復(fù)用器314施加MSEL信號(hào)以選擇希望的數(shù)據(jù)寄存器306。
[0034]JTAG測試電路裝置300還包括控制信號(hào)復(fù)用器316和318,恰當(dāng)控制信號(hào)通過這些控制信號(hào)復(fù)用器被耦合用于控制TAP和CPU解碼器312。更具體而言,控制信號(hào)復(fù)用器316施加標(biāo)準(zhǔn)JTAG TAP接口 122 (見圖1)的TCK和TRST信號(hào)或者處理器或者系統(tǒng)時(shí)鐘信號(hào)SYS_CLK和處理器或者系統(tǒng)重置信號(hào)SYS_RST以鐘控和重置TAP和CPU解碼器312。控制信號(hào)復(fù)用器318將來自JTAG TAP控制器302的控制信號(hào)320或者來自CPU到JDR控制器304的控制信號(hào)322耦合到TAP和處理器解碼器312。在圖3A的實(shí)施例中是OR門的模式選擇電路324提供用于對(duì)控制信號(hào)復(fù)用器316和318進(jìn)行控制的JTAG模式選擇信號(hào)JMS。模式選擇電路324響應(yīng)于控制模式寄存器306d中的模式位的和處理器(在圖3A中未不出)提供的強(qiáng)制JTAG信號(hào)FJTAG的內(nèi)容生成JMS信號(hào)。如圖3A所見,控制器模式寄存器306d耦合到OR門324的一個(gè)輸入。
[0035]在操作中,JTAG電路裝置300以標(biāo)準(zhǔn)JTAG操作模式或者CPU到JDR操作模式操作而模式由控制器模式寄存器306d和FJTAG信號(hào)的內(nèi)容控制。在FJTAG信號(hào)為有效高(邏輯I)時(shí),OR門324向復(fù)用器316和318施加高JMS信號(hào)。響應(yīng)于高JMS信號(hào),復(fù)用器316將TCK和TRST信號(hào)耦合到TAP和CPU解碼器312,并且復(fù)用器318將來自JTAG TAP控制器302的控制信號(hào)320耦合到TAP和CPU解碼器。以這一方式,確立的FJTAG信號(hào)造成施加來自JTAG TAP控制器302的控制信號(hào)320以及標(biāo)準(zhǔn)JTAG TAP信號(hào)TCK和TRST以控制TAP和CPU解碼器312,并且以這一方式,JTAG測試電路裝置300以JTAG操作模式操作。在這一模式中,JTAG TAP控制器302控制測試電路裝置300的操作,從而通過僅TAP解碼器310訪問和控制數(shù)據(jù)寄存器306a-d并且通過TAP和CPU解碼器312訪問和控制數(shù)據(jù)寄存器306e-n。以這一方式,在確立FJTAG信號(hào)時(shí)強(qiáng)制測試電路300以JTAG模式操作。
[0036]反言之,在FJTAG信號(hào)無效(即邏輯O)時(shí),控制器模式寄存器306d的內(nèi)容確定復(fù)用器316和318施加什么信號(hào)以控制TAP和CPU解碼器312。在寄存器306d存儲(chǔ)邏輯O時(shí),JTAG測試電路裝置300以CPU到JDR模式操作而OR門324驅(qū)動(dòng)JMS信號(hào)為無效低,從而使復(fù)用器316和318耦合SYS_CLK和SYS_RST信號(hào)以鐘控和重置TAP和處理器解碼器312。也通過復(fù)用器318向TAP和CPU解碼器312施加來自CPU到JDR控制器304的控制信號(hào)322以控制數(shù)據(jù)寄存器306e-n。因此,在FJTAG信號(hào)無效并且控制器模式寄存器306d存儲(chǔ)邏輯O時(shí),測試電路裝置300以CPU到JDR模式操作,而CPU到JDR控制器304控制包括數(shù)據(jù)寄存器306e-n的測試電路裝置的操作。控制器模式寄存器306d的默認(rèn)值為邏輯0,從而意味著測試電路裝置300以CPU到JDR模式操作,并且外部處理器控制CPU到JDR控制器304以訪問希望的數(shù)據(jù)寄存器306e-n并且控制測試電路裝置的操作。
[0037]在以CPU到JDR模式操作時(shí),確立FJTAG信號(hào)為有效高強(qiáng)制測試電路裝置300進(jìn)入JTAG操作模式。此外,JTAG TAP控制器302可以通過改變控制器模式寄存器306d的內(nèi)容來隨時(shí)忽略外部處理器的控制(即退出CPU到JDR模式)。將這一寄存器設(shè)置成邏輯I使OR門324驅(qū)動(dòng)JMS信號(hào)為有效高,從而電路裝置300隨后以JTAG模式操作。
[0038]在CPU到JDR操作模式中,處理器在外部處理器總線EPB上施加信號(hào)以控制CPU到JDR控制器304的操作并且由此控制測試電路裝置302的操作。EPB總線如圖3A中所見包括若干信號(hào)。更具體而言,EPB總線包括先前討論的系統(tǒng)時(shí)鐘信號(hào)SYS_CLK和系統(tǒng)重置信號(hào)SYS_RST。EPB總線還包括命令信號(hào)CMD、讀取和寫入數(shù)據(jù)信號(hào)以及如以下將參照?qǐng)D4A更具體說明的其它信號(hào)。
[0039]如圖3B中所示,除了模式位MB之外,控制器模式寄存器306d也包括重置位RB。設(shè)置或者未設(shè)置重置位RB以控制對(duì)共享JTAG寄存器(即圖3A中的可以由JTAG TAP控制器302和CPU到JDR控制器304 二者訪問的JTAG數(shù)據(jù)寄存器306e_n)的重置。在控制器模式寄存器306d中存儲(chǔ)的重置位RB與測試模式重置信號(hào)TRST組合工作以允許僅JTAG寄存器306a-d(圖3)被重置,而不要求處理器在外部處理器總線EPB上確立測試模式重置信號(hào)TRST。以這一方式,在切換成JTAG操作模式時(shí),控制器301將控制模式寄存器306d中的位設(shè)置成MB=I (JTAG模式)和RB=0,這二者將操作模式切換成JTAG模式并且重置共享JTAG寄存器306e-n。隨后將重置位RB設(shè)置成RB=1,從而操作保持于JTAG模式中而又去除向JTAG數(shù)據(jù)寄存器306e-n施加的重置信號(hào)RST。注意用于控制器模式寄存器306d的以上結(jié)構(gòu)無論何時(shí)進(jìn)入JTAG操作模式都無需確立測試模式重置信號(hào)TRST,以保證已經(jīng)恰當(dāng)重置寄存器306e-n。為了保證恰當(dāng)重置所有寄存器306,在控制器模式寄存器306e中的RB位和EP-RST信號(hào)二者在重置集成電路器件100時(shí)默認(rèn)為有效(即在所示實(shí)施例中為邏輯O)。
[0040]圖3C是用于為無效操作模式提供時(shí)鐘信號(hào)CLK和重置信號(hào)RST的在圖3A的選擇復(fù)用器316中包含的時(shí)鐘和重置電路裝置350的功能框圖。在描述電路裝置350的操作之前,應(yīng)當(dāng)注意在CPU到JDR操作模式期間在標(biāo)準(zhǔn)TAP接口的對(duì)應(yīng)引腳上未驅(qū)動(dòng)或者提供時(shí)鐘信號(hào)TCK或者重置信號(hào)TRST。這在JTAG操作模式期間同樣成立,而在外部處理器總線EPB的對(duì)應(yīng)引腳上通常未提供系統(tǒng)時(shí)鐘SYS_CLK或者系統(tǒng)重置SYS_RST。因此,電路裝置350保證時(shí)鐘信號(hào)CLK和重置信號(hào)RST無論操作模式如何都將總是可用于控制寄存器306。
[0041]時(shí)鐘和重置電路裝置350包括第一復(fù)用器352,該第一復(fù)用器接收第一輸入上的TCK信號(hào)和第二輸入上的由時(shí)鐘分頻器354生成的分頻的DCLK信號(hào)。根據(jù)JTAG模式選擇信號(hào)JMS的狀態(tài),復(fù)用器352輸出TCK信號(hào)或者來自時(shí)鐘分頻器354的DCLK信號(hào)作為向數(shù)據(jù)寄存器306施加的時(shí)鐘信號(hào)CLK。時(shí)鐘分頻器354將總是運(yùn)行的系統(tǒng)時(shí)鐘SYS_CLK除以除數(shù)N以生成用于控制數(shù)據(jù)寄存器306的具有恰當(dāng)頻率的分頻的時(shí)鐘信號(hào)DCLK。電路裝置350還包括復(fù)用器356,該復(fù)用器響應(yīng)于JMS信號(hào)進(jìn)行操作以提供測試模式重置信號(hào)TRST或者系統(tǒng)重置信號(hào)SYS_RST(EPB總線的部分)作為施加的用于控制寄存器306的重置信號(hào)。
[0042]圖4A是圖3A的CPU到JDR控制器304的根據(jù)這一控制器的一個(gè)實(shí)施例的更具體功能框圖。CPU到JDR控制器304包括與以上參照?qǐng)D1-3先前討論的外部處理器總線EPB對(duì)應(yīng)的前側(cè)接口 400。前側(cè)接口 400包括CPU到JDR命令總線CMD,處理器(未示出)通過該CPU到JDR命令總線CMD向控制器施加命令CPUJDRCMD[35:0]??刂破?04還包括狀態(tài)機(jī)402,該狀態(tài)機(jī)接收CPUJDRCMD[35:0]命令并且響應(yīng)于命令生成控制圖3A的JTAG數(shù)據(jù)寄存器306e-n的數(shù)據(jù)寄存器控制信號(hào)SHIFTDR、UPDATEDR和CAPTUREDR。狀態(tài)機(jī)402也生成在接收有效CPUJDRCMD[35:0]命令時(shí)激活的并且經(jīng)由接口 400向處理器返回的狀態(tài)信號(hào)BUSY。
[0043]控制器304還包括串行化器404,該串行化器耦合到圖3A的JTAG數(shù)據(jù)寄存器306e-n的測試數(shù)據(jù)輸入TDI,而在圖4A中圖示單個(gè)通用數(shù)據(jù)寄存器306以代表所有JTAG數(shù)據(jù)寄存器306e-n。在圖4A的以下描述中,將僅引用這一信號(hào)數(shù)據(jù)寄存器306,并且應(yīng)當(dāng)理解這樣的引用包括圖3A的所有數(shù)據(jù)寄存器306e-n。串行化器404也耦合到寫入數(shù)據(jù)總線WDR,處理器通過該寫入數(shù)據(jù)總線WDR向控制器304提供寫入測試數(shù)據(jù)字CPUWRDATA[63:O],并且串行化器404在狀態(tài)機(jī)402的控制之下操作以串行化并行寫入測試數(shù)據(jù)字用于通過測試數(shù)據(jù)輸入TDI向適當(dāng)JTAG數(shù)據(jù)寄存器306輸入。注意寫入測試數(shù)據(jù)總線WRD是前側(cè)接口 400的部分。
[0044]在控制器304中的并行化器406耦合到JTAG數(shù)據(jù)寄存器306的測試數(shù)據(jù)輸出TDO并且也通過字節(jié)序選擇復(fù)用器408耦合到讀取數(shù)據(jù)總線RDD,控制器304通過該讀取數(shù)據(jù)總線向處理器提供讀取測試數(shù)據(jù)字CPURDDATA[63:0]。并行化器406在狀態(tài)機(jī)402的控制之下操作以并行化(即使得并行)數(shù)據(jù)寄存器306的測試數(shù)據(jù)輸出TDO上的串行讀取測試數(shù)據(jù),并且提供這一并行化的測試數(shù)據(jù)作為將由處理器讀取的CPURDDATA[63:0]字。字節(jié)序選擇復(fù)用器408操作用于在必要時(shí)改變CPURDDATA[63:0]字中的位的字節(jié)序。
[0045]如本領(lǐng)域技術(shù)人員將理解的那樣,字節(jié)序在本文中是指數(shù)據(jù)字中的位的排序,并且由于其中所有位首先移位最低有效位(LSB)的JTAG數(shù)據(jù)寄存器的操作性質(zhì),字節(jié)序交換或者反轉(zhuǎn)在測試數(shù)據(jù)輸出TDO上輸出的串行化的讀取數(shù)據(jù)。字節(jié)序選擇復(fù)用器408允許CPURDDATA[63:0]字中的位的順序被再次往回反轉(zhuǎn)或者交換,因此位的原始字節(jié)序存在。然而這并非總是希望的,并且因此復(fù)用器408允許處理器確定是否通過作為前側(cè)接口400的部分的字節(jié)序選擇信號(hào)ESL交換CPURDDATA[63:0]字的位。以這一方式,處理器可以激活ESL信號(hào)以反轉(zhuǎn)在RDD總線上讀取的CPURDDATA[63:0]字的字節(jié)序或者可以去激活(deactivate)ESL信號(hào)以讓CPURDDATA[63:0]字的字節(jié)序相同。
[0046]在前側(cè)接口 400中,CMD總線是并行總線,通過該并行總線,測試包含圖3A的測試電路裝置300和CPU到JDR控制器304的集成電路器件的處理器執(zhí)行對(duì)集成電路器件的希望的測試。想要利用由CPU到JDR控制器304提供的附加測試功能的用戶必須提供在處理器總線與CMD總線之間的所需橋接邏輯(未示出)。因此,如果處理器例如利用高級(jí)微控制器總線架構(gòu)(AMBA),則處理器可以利用高級(jí)高性能總線(AHB)、高級(jí)外圍總線(APB)或者高級(jí)可擴(kuò)展接口(AXI),或者處理器可以利用IBM處理器本地總線(PLB)或者PCI Express總線。在每個(gè)情況下,用戶將設(shè)計(jì)在處理器總線與CMD總線之間的所需橋接邏輯。橋接邏輯當(dāng)然將提供在處理器總線與前側(cè)接口 400的CMD、WRD和RRD總線中的每個(gè)總線之間的所需接口。
[0047]狀態(tài)機(jī)402提供狀態(tài)信號(hào)BUSY,該狀態(tài)信號(hào)BUSY在接收命令時(shí)有效(即確立BUSY信號(hào))并且保持有效直至與接收的CPUJDRCMD[63:0]命令對(duì)應(yīng)的讀取數(shù)據(jù)在RDD總線上可用。狀態(tài)機(jī)402因此維持BUSY信號(hào)有效直至讀取的測試數(shù)據(jù)CPURDDATA[63:0]可用,并且這一讀取的測試數(shù)據(jù)僅在狀態(tài)機(jī)402激活BUSY信號(hào)之后由外部處理器讀取。以這一方式,BUSY信號(hào)作為在控制器304與外部處理器之間的“握手”信號(hào)工作。向狀態(tài)機(jī)402施加新CPUJDRCMD[63:0]并且讀取該讀取的測試數(shù)據(jù)CPURDDATA[63:0]因此僅在已經(jīng)去激活BUSY信號(hào)之后出現(xiàn)。
[0048]在圖4A中,兩個(gè)三輸入OR門410a和410b工作用于向狀態(tài)機(jī)402提供開始和結(jié)束信號(hào)以分別由此啟動(dòng)和終止?fàn)顟B(tài)機(jī)的操作。OR門401a響應(yīng)于外部處理器在外部總線EPB的命令CMD部分(處理器接口 400)上提供的信號(hào)CPU-CAPTURE、CPU-SHIFT和CPU-UPDATE啟動(dòng)狀態(tài)機(jī)402的操作。因此,確立的CPU-CAPTURE、CPU-SHIFT或者CPU-UPDATE信號(hào)中的任何信號(hào)使OR門410a激活START信號(hào)并且由此激活狀態(tài)機(jī)402。在CPU-CAPTURE、CPU-SHIFT和CPU-UPDATE信號(hào)都未被確立時(shí),OR門410b驅(qū)動(dòng)END信號(hào)為有效低,從而終止?fàn)顟B(tài)機(jī)402的操作并且由此終止控制器304在CPU到JDR操作模式中的操作。如以下將參照?qǐng)D5更具體說明的那樣,START和END信號(hào)更具體地使?fàn)顟B(tài)機(jī)402退出或者進(jìn)入空閑操作狀態(tài),在該空閑操作狀態(tài)中,狀態(tài)機(jī)監(jiān)視CPU-CAPTURE、CPU-UPDATE和CPU-SHIFT信號(hào)的狀態(tài)以確定下一操作狀態(tài)。
[0049]前側(cè)接口 400或者外部處理器總線EPB利用命令/確認(rèn)類型的握手操作以驅(qū)動(dòng)這一并行接口。如先前提到的那樣,在EPB總線與外部處理器的總線之間的恰當(dāng)橋接邏輯必須由測試電路裝置300(圖3)的用戶提供?,F(xiàn)在將參照?qǐng)D4B-4F更具體描述EPB總線的不同部分?;仡櫲缫陨蠀⒄?qǐng)D4A的OR門410a和410b討論的那樣經(jīng)由這些命令輸入中的一些命令輸入激活狀態(tài)機(jī)402。
[0050]圖4B是圖示外部處理器總線EPB的根據(jù)這一總線的一個(gè)實(shí)施例的命令總線CMD部分的表。如該圖中所見,命令總線CMD包括數(shù)據(jù)寄存器大小字段DR_SIZE、JTAG指令字段INST、命令重置字段RESET_N以及命令捕獲CAPTURE、命令移位SHIFT和命令更新UPDATE字段。圖4C是圖示外部處理器總線EPB的根據(jù)這一總線的一個(gè)實(shí)施例的寫入數(shù)據(jù)總線WRD(也稱為CPUWRDATA)部分的表。在這一實(shí)施例中,WRD總線是64位總線。圖4D是圖示外部處理器總線EPB的根據(jù)這一總線的一個(gè)實(shí)施例的字節(jié)序選擇部分(即ESL信號(hào))的表。ESL信號(hào)是單個(gè)位,該位確定讀取數(shù)據(jù)CPURDDATA的字節(jié)序是否與寫入數(shù)據(jù)CPUWRDATA的字節(jié)序相同或者相反。圖4E是圖示外部處理器總線EPB的根據(jù)這一總線的一個(gè)實(shí)施例的讀取數(shù)據(jù)部分CPURDDATA的表。在這一實(shí)施例中,讀取數(shù)據(jù)總線RDD也是64位總線。圖4F是圖示外部處理器總線EPB的根據(jù)這一總線的一個(gè)實(shí)施例的忙信號(hào)BUSY部分的表。
[0051]圖5是圖示圖4A的狀態(tài)機(jī)402的部分的狀態(tài)圖。狀態(tài)機(jī)402保持于空閑狀態(tài)500中直至CPUCAPTURE、CPUSHIFT和CPUUPDATE信號(hào)中的任何信號(hào)被激活。如該圖中所示,在狀態(tài)機(jī)402檢測到已經(jīng)確立CPUCAPTURE、CPUSHIFT和CPUUPDATE信號(hào)時(shí),狀態(tài)機(jī)從空閑狀態(tài)500分別變成對(duì)應(yīng)捕獲狀態(tài)502、移位狀態(tài)504或者更新狀態(tài)506。如狀態(tài)圖中所示,一旦狀態(tài)機(jī)402已經(jīng)在502中捕獲DR_SIZE、INSTRUCT1N和CPUWRDATA,狀態(tài)機(jī)進(jìn)行步驟504并且將數(shù)據(jù)向適當(dāng)數(shù)據(jù)寄存器306 (圖3)中移位,而移位的位數(shù)由DR_SIZE的值確定。狀態(tài)機(jī)402從狀態(tài)504進(jìn)行到狀態(tài)506并且更新數(shù)據(jù)寄存器306中存儲(chǔ)的值。一旦狀態(tài)機(jī)402已經(jīng)在狀態(tài)506中完成操作,狀態(tài)機(jī)進(jìn)行到狀態(tài)508并且確認(rèn)完成初始命令,而隨后去激活(即邏輯O)BUSY信號(hào)以向外部處理器發(fā)信號(hào)通知讀取數(shù)據(jù)總線RDD上的讀取數(shù)據(jù)可用于由處理器讀取。注意在描述的實(shí)施例中,在EPB總線上的信號(hào)與系統(tǒng)時(shí)鐘SYS_CLK同步,但是無需情況如此。在其它實(shí)施例中,在EPB總線上的信號(hào)(諸如CMD信號(hào))與系統(tǒng)時(shí)鐘SYS_CLK或者測試時(shí)鐘TCK異步。
[0052]圖6是圖示在圖3A的CPU到JDR控制器304的操作期間在外部處理器總線上的信號(hào)的時(shí)序圖。這一時(shí)序圖的上部分圖示在前側(cè)總線400 (即EPB總線)上的信號(hào),而下部分圖示向數(shù)據(jù)寄存器306 (見圖3A和4A)實(shí)際施加的由CPU到JDR控制器304 (件圖4A)生成的后側(cè)信號(hào)600。在時(shí)間T0,處理器在命令總線上施加命令CMD,并且適當(dāng)確立命令CAPTURE、SHIFT和UPDATE信號(hào),從而狀態(tài)機(jī)402恰當(dāng)處理施加的命令。如圖6中所見,命令CMD包括以上先前討論的重置RESET_IN、數(shù)據(jù)寄存器大小DR_SIZE和指令I(lǐng)NST部分。
[0053]在時(shí)間Tl,狀態(tài)機(jī)402激活BUSY信號(hào),從而向處理器指示已經(jīng)接收并且正在處理命令CMD。也在時(shí)間Tl,狀態(tài)機(jī)402激活向數(shù)據(jù)寄存器306施加的后側(cè)DR_CAPTURE信號(hào)以捕獲寄存器中的新測試數(shù)據(jù)。在時(shí)間T2,狀態(tài)機(jī)402激活向數(shù)據(jù)寄存器306施加的DR_SHIFT信號(hào)以由此將數(shù)據(jù)向數(shù)據(jù)寄存器中移位。在時(shí)間T3,已經(jīng)將數(shù)據(jù)移位到數(shù)據(jù)寄存器306中,并且狀態(tài)機(jī)402去激活DR_SHIFT信號(hào)并且脈沖化DR_UPDATE信號(hào)以由此更新數(shù)據(jù)寄存器306的內(nèi)容。狀態(tài)機(jī)402在時(shí)間T4去激活BUSY信號(hào)從而向外部處理器發(fā)信號(hào)通知有效讀取測試數(shù)據(jù)CPURDDATA在讀取數(shù)據(jù)總線RDD上可用。在時(shí)間T5,去激活命令CAPTURE、SHIFT和UPDATE信號(hào)從而發(fā)信號(hào)通知狀態(tài)機(jī)402的所示循環(huán)結(jié)束。
[0054]圖7是更具體圖示圖4A的字節(jié)序選擇復(fù)用器408的操作的功能圖。圖7示出在700來自并行輸入測試數(shù)據(jù)的串行數(shù)據(jù)到向JTAG數(shù)據(jù)寄存器供應(yīng)的串行數(shù)據(jù)702和704、在706從JTAG數(shù)據(jù)寄存器移位輸出的串行數(shù)據(jù)、然后到在RDD總線上提供的在708的并行讀取數(shù)據(jù)的自然流程。利用JTAG數(shù)據(jù)寄存器306 (圖3A),所有位首先移位最低有效位LSB0因此,串行化的讀取數(shù)據(jù)自然地恢復(fù)字節(jié)序交換。在圖7中看見這一點(diǎn),其中示出并行寫入數(shù)據(jù)700并且圖示在704將這一并行寫入數(shù)據(jù)向JTAG寄存器中首先LSB移位702?,F(xiàn)在,在如在706所見將在704的這一數(shù)據(jù)首先LSB移位輸出以使得它在708被并行移位以被提供作為測試數(shù)據(jù)輸出TDO時(shí),如圖所示反轉(zhuǎn)或者字節(jié)序交換它。字節(jié)序選擇復(fù)用器408操作用于在708反轉(zhuǎn)字節(jié)序交換的測試數(shù)據(jù)輸出TD0,即在RDD總線的對(duì)應(yīng)LSB線上提供LSB。然而一些設(shè)計(jì)利用這一自然改變字節(jié)序改變,因此復(fù)用器408允許處理器控制這一復(fù)用器,從而可以支持任一模式。
[0055]本領(lǐng)域技術(shù)人員將理解即使已經(jīng)在前文描述中闡述各種實(shí)施例及其優(yōu)點(diǎn),但是以上公開內(nèi)容僅為示例并且可以在細(xì)節(jié)上進(jìn)行改變而仍在本公開內(nèi)容的廣義原理內(nèi)。例如可以使用數(shù)字或者模擬電路裝置或者二者的組合來實(shí)施并且在適當(dāng)時(shí)也可以通過在適當(dāng)處理電路裝置上執(zhí)行的軟件實(shí)現(xiàn)以上描述的部件中的一些部件。因此,本公開內(nèi)容將僅由所附權(quán)利要求限制。
【權(quán)利要求】
1.一種雙主控控制器,包括: 多個(gè)JTAG數(shù)據(jù)寄存器,包括可操作用于存儲(chǔ)信息的控制器模式寄存器,所述信息指示標(biāo)準(zhǔn)JTAG操作模式或者處理器控制操作模式; JTAG TAP控制器,適于通過標(biāo)準(zhǔn)測試訪問端口接收控制信號(hào); 處理器控制器,適于通過外部處理器總線接收處理器控制信號(hào); 選擇復(fù)用器,耦合到所述標(biāo)準(zhǔn)訪問端口和所述外部處理器總線并且耦合到所述JTAGTAP控制器和所述處理器控制器,所述選擇復(fù)用器可操作用于響應(yīng)于JTAG模式選擇信號(hào)輸出在所述標(biāo)準(zhǔn)JTAG訪問端口或者所述外部處理器總線上的信號(hào); 邏輯電路,耦合到所述控制器模式寄存器并且耦合到所述選擇復(fù)用器,并且適于接收強(qiáng)制JTAG信號(hào),所述邏輯電路可操作用于響應(yīng)于所述強(qiáng)制JTAG信號(hào)有效或者所述控制器模式寄存器中的所述信息指示所述標(biāo)準(zhǔn)JTAG操作模式,來激活所述JTAG模式選擇信號(hào),并且可操作用于響應(yīng)于所述強(qiáng)制JTAG信號(hào)無效或者所述控制器模式寄存器中的所述信息指示所述處理器控制器操作模式,來去激活所述JTAG模式選擇信號(hào); 指令解碼器和復(fù)用器電路,耦合到所述選擇復(fù)用器和所述JTAGTAP控制器,并且耦合到所述標(biāo)準(zhǔn)測試訪問端口 和所述數(shù)據(jù)寄存器,所述指令解碼器和復(fù)用器電路可操作用于施加來自所述選擇復(fù)用器的控制信號(hào)以控制所述JTAG數(shù)據(jù)寄存器。
2.根據(jù)權(quán)利要求1所述的雙主控控制器,其中所述處理器控制器包括狀態(tài)機(jī)。
3.根據(jù)權(quán)利要求1所述的雙主控控制器,還包括:字節(jié)序電路,可操作用于改變從所述指令解碼器和復(fù)用器電路輸出的讀取數(shù)據(jù)的字節(jié)序。
4.根據(jù)權(quán)利要求1所述的雙主控控制器,其中所述控制器模式寄存器存儲(chǔ)重置位和模式位。
5.根據(jù)權(quán)利要求1所述的雙主控控制器,其中所述處理器控制器包括: 狀態(tài)機(jī),適于耦合到所述外部處理器總線的命令總線部分并且可操作用于響應(yīng)于在所述命令總線部分上的命令信號(hào)生成用于控制所述數(shù)據(jù)寄存器的控制信號(hào); 串行化器,適于耦合到所述外部處理器總線的寫入總線部分并且可操作用于響應(yīng)于所述控制信號(hào)向所述數(shù)據(jù)寄存器提供在所述寫入總線部分上施加的寫入測試數(shù)據(jù);以及 并行化器,適于耦合到所述外部處理器總線的讀取總線部分并且可操作用于響應(yīng)于所述控制信號(hào)在所述讀取總線部分上提供來自所述數(shù)據(jù)寄存器的讀取測試數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的雙主控控制器,還包括:字節(jié)序電路,耦合于所述并行化器與所述讀取總線部分之間,并且可操作用于響應(yīng)于來自所述狀態(tài)機(jī)的所述控制信號(hào)改變?cè)谒鲎x取總線部分上施加的讀取測試數(shù)據(jù)的字節(jié)序。
7.根據(jù)權(quán)利要求6所述的雙主控控制器,還包括耦合于所述數(shù)據(jù)寄存器與所述并行化器之間的輸出復(fù)用器。
8.根據(jù)權(quán)利要求1所述的雙主控控制器,其中所述多個(gè)JTAG數(shù)據(jù)寄存器還包括位掃描寄存器、標(biāo)識(shí)寄存器、旁路寄存器和附加用戶數(shù)據(jù)寄存器。
9.根據(jù)權(quán)利要求8所述的雙主控控制器,其中所述位掃描寄存器、標(biāo)識(shí)寄存器、旁路寄存器和控制器模式寄存器僅由所述JTAGTAP控制器控制。
10.根據(jù)權(quán)利要求8所述的雙主控控制器,其中所述指令解碼器和復(fù)用器電路還包括:JTAG TAP控制器解碼電路,可操作用于對(duì)所述選擇復(fù)用器提供的來自所述標(biāo)準(zhǔn)測試訪問端口的信號(hào)解碼。
11.根據(jù)權(quán)利要求10所述的雙主控控制器,其中所述指令解碼器和復(fù)用器電路還包括:處理器解碼電路,可操作用于對(duì)所述選擇復(fù)用器提供的來自所述外部處理器總線的信號(hào)解碼。
12.—種電子系統(tǒng),包括: 核心邏輯電路裝置; 多個(gè)JTAG數(shù)據(jù)寄存器,耦合到所述核心邏輯電路裝置,所述JTAG數(shù)據(jù)寄存器包括可操作用于存儲(chǔ)信息的控制器模式寄存器,所述信息指示標(biāo)準(zhǔn)JTAG操作模式或者處理器控制操作模式; 雙主控控制器,包括: JTAG TAP控制器,適于通過標(biāo)準(zhǔn)測試訪問端口接收控制信號(hào); 處理器控制器,適于通過外部處理器總線接收處理器控制信號(hào); 選擇復(fù)用器,耦合到所述標(biāo)準(zhǔn)訪問端口和所述外部處理器總線并且耦合到所述JTAGTAP控制器和所述處理器控制器,所述選擇復(fù)用器可操作用于響應(yīng)于JTAG模式選擇信號(hào)輸出在所述標(biāo)準(zhǔn)JTAG訪問端口或者所述外部處理器總線上的信號(hào); 邏輯電路,耦合到所述 控制器模式寄存器并且耦合到所述選擇復(fù)用器,并且適于接收強(qiáng)制JTAG信號(hào),所述邏輯電路可操作用于響應(yīng)于所述強(qiáng)制JTAG信號(hào)有效或者所述控制器模式寄存器中的所述信息指示所述標(biāo)準(zhǔn)JTAG操作模式,來激活所述JTAG模式選擇信號(hào),并且可操作用于響應(yīng)于所述強(qiáng)制JTAG信號(hào)無效或者所述控制器模式寄存器中的所述信息指示所述處理器控制器操作模式,來去激活所述JTAG模式選擇信號(hào); 指令解碼器和復(fù)用器電路,耦合到所述選擇復(fù)用器和所述JTAG TAP控制器,并且耦合到所述標(biāo)準(zhǔn)測試訪問端口和所述數(shù)據(jù)寄存器,所述指令解碼器和復(fù)用器電路可操作用于施加來自所述選擇復(fù)用器的控制信號(hào)以控制所述JTAG數(shù)據(jù)寄存器。
13.根據(jù)權(quán)利要求12所述的電子系統(tǒng),其中所述核心邏輯包括微處理器。
14.根據(jù)權(quán)利要求12所述的電子系統(tǒng),其中所述控制器模式寄存器存儲(chǔ)重置位和模式位。
15.根據(jù)權(quán)利要求12所述的電子系統(tǒng),其中所述處理器控制器包括: 狀態(tài)機(jī),適于耦合到所述外部處理器總線的命令總線部分并且可操作用于響應(yīng)于在所述命令總線部分上的命令信號(hào)生成用于控制所述數(shù)據(jù)寄存器的控制信號(hào); 串行化器,適于耦合到所述外部處理器總線的寫入總線部分并且可操作用于響應(yīng)于所述控制信號(hào)向所述數(shù)據(jù)寄存器提供在所述寫入總線部分上施加的寫入測試數(shù)據(jù);以及并行化器,適于耦合到所述外部處理器總線的讀取總線部分并且可操作用于響應(yīng)于所述控制信號(hào)在所述讀取總線部分上提供來自所述數(shù)據(jù)寄存器的讀取測試數(shù)據(jù)。
16.根據(jù)權(quán)利要求15所述的電子系統(tǒng),其中所述雙模式控制器還包括:字節(jié)序電路,耦合于所述并行化器與所述讀取總線部分之間,并且可操作用于響應(yīng)于來自所述狀態(tài)機(jī)的所述控制信號(hào)改變?cè)谒鲎x取總線部分上施加的讀取測試數(shù)據(jù)的字節(jié)序。
17.根據(jù)權(quán)利要求12所述的電子系統(tǒng),其中所述雙主控控制器還包括耦合于所述數(shù)據(jù)寄存器與所述并行化器之間的輸出復(fù)用器。
18.根據(jù)權(quán)利要求12所述的電子系統(tǒng),其中所述多個(gè)JTAG數(shù)據(jù)寄存器還包括位掃描寄存器、標(biāo)識(shí)寄存器、旁路寄存器和附加用戶數(shù)據(jù)寄存器。
19.根據(jù)權(quán)利要求18所述的電子系統(tǒng),其中所述位掃描寄存器、標(biāo)識(shí)寄存器、旁路寄存器和控制器模式寄存器僅由所述JTAG TAP控制器控制。
20.根據(jù)權(quán)利要求18所述的電子系統(tǒng),其中所述指令解碼器和復(fù)用器電路還包括: JTAG TAP控制器解碼電路,可操作用于對(duì)所述選擇復(fù)用器提供的來自所述標(biāo)準(zhǔn)測試訪問端口的信號(hào)解碼,以及 處理器解碼電路,可操作用于對(duì)所述 選擇復(fù)用器提供的來自所述外部處理器總線的信號(hào)解碼。
【文檔編號(hào)】G01R31/28GK104076272SQ201310671302
【公開日】2014年10月1日 申請(qǐng)日期:2013年12月11日 優(yōu)先權(quán)日:2013年3月28日
【發(fā)明者】M·布拉姆比拉, U·拉科爾, C·奧茲德米爾 申請(qǐng)人:意法半導(dǎo)體公司