亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

半導(dǎo)體集成電路的制作方法

文檔序號:6466846閱讀:129來源:國知局
專利名稱:半導(dǎo)體集成電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及半導(dǎo)體集成電路。更特別地,本發(fā)明涉及包括接收控 制信號的宏的半導(dǎo)體集成電路。
背景技術(shù)
迄今為止,用于調(diào)試程序的調(diào)試器一般通過事先獲取有關(guān)程序的 執(zhí)行歷史信息,并且之后通過在調(diào)試的異常終止后參考和分析執(zhí)行歷 史信息而識別出程序的執(zhí)行狀態(tài)。在這種方法中,使用者可以容易地 獲取表示在調(diào)試異常終止時所獲取的信息的數(shù)據(jù)。然而,關(guān)于表示調(diào) 試如何異常終止的信息,使用者需要回顧該信息并且之后分析該信息。在此方面中,日本專利申請公開No.2004-252684公開了一種調(diào)試方法, 包括信息獲取步驟,該信息獲取步驟具有以下步驟在執(zhí)行程序時輸出執(zhí)行歷史信息,稍后獲取執(zhí)行程序所需的調(diào)試信息,并且輸出用于將執(zhí)行歷史信息與調(diào)試信息相關(guān)聯(lián)的信息;以及通過使用在信息獲 取步驟中獲取的信息而復(fù)制當(dāng)輸出任何執(zhí)行歷史信息時的狀態(tài)的步 驟,并且之后再次執(zhí)行所述程序。以公開在日本專利申請公開 No.2004-252684中的方法,通過使用在信息獲取步驟中獲取的信息而容 易地說明調(diào)試異常終止的原因。此外,日本專利申請公開No.2005-352591公開了一種多處理器系 統(tǒng),該多處理器系統(tǒng)試圖在不增加專用于調(diào)試的特定硬件裝置的情況 下通過設(shè)置多個斷點而提高調(diào)試效率。關(guān)于斷點的設(shè)置,該多處理器 系統(tǒng)允許斷點發(fā)生條件在多個CPU中通過使用斷點設(shè)置表格而被獨立 設(shè)置。所述多處理器系統(tǒng)被配置為中斷調(diào)試目標程序的執(zhí)行并且之后 在全部這些條件均被滿足并且斷點設(shè)置表格中的信息和斷點歷史表格 中的信息相互匹配的情況下呼叫調(diào)試器程序。然而,在前述常規(guī)的技術(shù)中,存在以下問題。當(dāng)某些宏作為調(diào)試 目標而由調(diào)試器調(diào)試時,假設(shè)這些作為調(diào)試目標的宏的狀態(tài)是由調(diào)試 器以外的因素改變。此外,宏的狀態(tài)涉及例如該宏的內(nèi)部信號或輸出 信號??尚械脑O(shè)定是例如當(dāng)除了作為調(diào)試目標的宏以外的宏發(fā)送例如 重置信號的控制信號到調(diào)試目標宏時,接收該控制信號的調(diào)試目標宏 的狀態(tài)轉(zhuǎn)換。在此情況下,盡管宏被調(diào)試器調(diào)試,但調(diào)試目標宏的狀 態(tài)轉(zhuǎn)換。結(jié)果,調(diào)試器丟失信息,該信息表示將在調(diào)試的執(zhí)行期間執(zhí) 行的程序位置并且之后異常終止調(diào)試(掛起)。這種異常終止因調(diào)試 器不能識別出例如將由除了調(diào)試器的因素發(fā)送的控制信號的外部原因 而發(fā)生。在包括多主控器的實際系統(tǒng)中,例如,甚至于均為主控器的多個 宏中存在主控器/從控器關(guān)系。因此,存在這些多個宏中的主控器重置 這些多個宏中的從控器的情況。在調(diào)試器調(diào)試這些宏的情況下,由此 需要在程序中提供設(shè)置以避免在調(diào)試期間變?yōu)橛行У闹骺仄鞅恢刂脼?從控器。然而,這種設(shè)置不在軟件程序的原始序列中。發(fā)明內(nèi)容根據(jù)本發(fā)明的半導(dǎo)體集成電路包括宏,該宏基于收到的控制信號而轉(zhuǎn)換到一定狀態(tài);第一寄存器,該第一寄存器存儲表示所述宏是否接收了控制信號的值;以及第二寄存器,該第二寄存器用于存儲表示在所述宏在開始接收所述控制信號之前是否已在過去接收到了控制信 號的值。假設(shè)當(dāng)調(diào)試器調(diào)試作為目標的宏時由于該宏的狀態(tài)由除了調(diào) 試器之外的因素轉(zhuǎn)換,則調(diào)試器變?yōu)椴荒芾^續(xù)調(diào)試。此時,通過參考 第一寄存器和第二寄存器,調(diào)試器可以識別出引起調(diào)試器變得不能繼 續(xù)調(diào)試的因素并且之后執(zhí)行所需要的相應(yīng)于所述因素的處理。例如, 通過參考第一寄存器和第二寄存器,調(diào)試器可以識別出作為調(diào)試目標 的宏在過去已接收了控制信號,并且之后,不被調(diào)試器檢測的宏的狀 態(tài)已經(jīng)發(fā)生轉(zhuǎn)換。在此情況下,鑒于調(diào)試目標宏在過去已經(jīng)轉(zhuǎn)換的事實,調(diào)試器可以通過執(zhí)行重新開始調(diào)試所需的處理而再次開始調(diào)試。 例如,在調(diào)試目標宏的狀態(tài)由從不同宏發(fā)送的控制信號轉(zhuǎn)換后,調(diào)試 器執(zhí)行處理以使其自身已知的關(guān)于調(diào)試目標宏的信息與關(guān)于調(diào)試目標 宏的信息相匹配。在這種處理完成之后,調(diào)試器可以重新開始調(diào)試目 標宏的調(diào)試。此外,調(diào)試器可以識別出被從不同宏發(fā)送到調(diào)試目標宏 的控制信號并且調(diào)試目標宏的狀態(tài)由此被固定到基于控制信號的狀 態(tài)。在此情況下,調(diào)試器等待不同的宏以阻止控制信號被發(fā)送到調(diào)試 目標宏,并且在不同的宏停止控制信號被發(fā)送到調(diào)試目標宏之后,調(diào) 試器可以通過執(zhí)行重新開始調(diào)試所需要的處理而再次開始調(diào)試。根據(jù)本發(fā)明,即使在由于被調(diào)試器調(diào)試的宏的狀態(tài)由除了調(diào)試器 之外的因素改變的情況下,調(diào)試器變?yōu)椴荒芾^續(xù)調(diào)試時,調(diào)試器也可 以在不引起調(diào)試器的異常終止的情況下重新開始調(diào)試。


通過以下結(jié)合附圖的一些優(yōu)選實施例的描述,本發(fā)明的以上和其 他目的、優(yōu)點和特征將更加清楚,其中圖l是示出了根據(jù)本發(fā)明的實施例的半導(dǎo)體集成電路的圖; 圖2是示出了TAP控制器251的狀態(tài)的圖;圖3是提供了根據(jù)本發(fā)明的實施例的描述重置監(jiān)測方法的圖;圖4是提供了描述TAP狀態(tài)的圖; 圖5是示出了H寄存器的構(gòu)造的圖。
具體實施方式
以下,應(yīng)用了本發(fā)明的特定實施例將參考附圖進行詳細描述。應(yīng) 該注意實施例將通過使用在以下說明中適當(dāng)?shù)奶囟ㄊ纠幻枋?,?這種特定的示例不限制本發(fā)明的權(quán)利要求的范圍。圖l是示出了根據(jù)本發(fā)明的實施例的半導(dǎo)體集成電路的圖。調(diào)試器10將JTAG信號和重置信號nSRST作為控制信號發(fā)送到半導(dǎo)體集成電路20并調(diào)試宏。JTAG信號是由JTAG標準(IEEE 1149.1)定義的信號并 且此處提及包括TCK、 TMS、 TDI、 TDO和nTRST的五個信號。nTRST 信號是用于調(diào)試CPU的重置信號?;谶@些信號的各種操作將在以下描 述。半導(dǎo)體集成電路20是包括多個宏21-23、數(shù)據(jù)寄存器24、 TAP 25、 與門26、與門27和與門28的片上系統(tǒng)(SOC)。多個宏21-23作為主控 器并且還分別輸出重置信號RST1-RST3。數(shù)據(jù)寄存器24經(jīng)由終端41-44 接收JTAG信號并且還輸出重置信號RST4。 TAP 25也接收JTAG信號并 且基于接收到的JTAG信號而控制數(shù)據(jù)寄存器24等。與門26接收 RST1-RST3。與門27接收從與門26輸出的信號并且還從數(shù)據(jù)寄存器25 接收重置信號RST4。與門28接收從與門27輸出的信號并且還接收從調(diào) 試器10輸出的nSRST信號。與門28還接收從半導(dǎo)體集成電路20的外部輸 出的重置信號并且該重置信號經(jīng)由終端47由半導(dǎo)體集成電路20接收。 與門28輸出重置信號RST5。此處,如圖1所示,包括在半導(dǎo)體集成電路20中的宏29-31分別與 宏21-23相同。雖然宏21-23是每個均作為主控器的宏,但是宏21-23的 每個還是作為宏21-23中的任一者的從控器的宏。此外,存在作為主控 器的宏21發(fā)送控制信號到同樣作為主控器的宏22或23的情況。例如, 在此情況下將被發(fā)送的控制信號是使得宏22或23處于重置狀態(tài)的重置 信號。圖l由以下方式表示這種情況。宏21首先輸出低有效的重置信號 RST1,并且之后該重置信號RSTl經(jīng)由與門電路26-28而由表示與宏22 相同的宏的宏30接收或由表示與宏23相同的宏的宏31接收。這是因為 宏22和30相同,并且宏23和31相同。此外,存在宏21控制其本身的情 況。換句話說,宏21使得其本身的狀態(tài)處于前述重置狀態(tài)。圖l以下方 式表示這種情況。宏21首先輸出RST1信號并且之后該RST1信號經(jīng)由與 門電路26-28而由宏29接收。這是因為宏21和29表示相同的宏。此處, 術(shù)語"重置狀態(tài)"表示宏的內(nèi)部信號或輸出信號的某些特定狀態(tài)(高 電平或低電平)。在宏接收表示有效信號值的重置信號的情況下,宏 的內(nèi)部信號或輸出信號保持相應(yīng)于該有效重置信號的狀態(tài)。圖1中所示的TAP 25是基于JTAG標準(IEEE1149.1)執(zhí)行操作的 控制器并且包括TAP控制器251和指令寄存器252。 TAP控制器251從調(diào) 試器接收JTAG信號中的TCK、 TMS禾卩nTRST。 TCK是時鐘信號,并且 TAP控制器251通過該TCK而同步操作。TMS是控制TAP控制器251的特 定操作的信號。TAP控制器251在TCK的上升沿上獲得從調(diào)試器輸出的 TMS。指令寄存器252接收JTAG信號中的TDI信號和TDO信號。TDI信 號是從調(diào)試器輸出到指令寄存器252和TAP25的數(shù)據(jù)寄存器24的信號。 例如,TDI信號是串行比特流。調(diào)試器發(fā)送指令代碼到TAP控制器251 以使得TAP控制器251執(zhí)行期望的操作。調(diào)試器10輸出作為TDI信號的 該指令代碼。TAP控制器251在寄存器252中存儲這種指令代碼,之后相 應(yīng)于所存儲的指令而解譯指令并且之后執(zhí)行所述指令。TDO信號是從 數(shù)據(jù)寄存器24和指令寄存器252輸出的信號。例如,基于由TAP控制器 251執(zhí)行的指令的算法計算的結(jié)果作為TDO信號從數(shù)據(jù)寄存器24輸出 到調(diào)試器。數(shù)據(jù)寄存器24是由TAP 25基于JTAG信號而控制的寄存器。數(shù) 據(jù)寄存器24包括狀態(tài)寄存器241 (此后,稱作S寄存器)和歷史寄存 器242 (此后,稱作H寄存器)。在圖1中,S寄存器32和H寄存器 33被由均包括在數(shù)據(jù)寄存器24中的S寄存器241和H寄存器242分 離地描述。S寄存器241和32是相同的寄存器。此外,H寄存器242 和33是相同的寄存器。如上所述,圖1示出了宏21-23和宏29-31分 別相同。這是因為宏21-23分別作為主控器,但每個宏均可以作為任一 個宏的從控器。根據(jù)這種標記,均包括在數(shù)據(jù)寄存器24中的S寄存器 241和H寄存器242以及連接到宏29-31的S寄存器32和H寄存器33 是相同的。換句話說,S寄存器32和H寄存器33是包括在數(shù)據(jù)寄存 器24中的寄存器的一種類型。數(shù)據(jù)寄存器24包括邊界掃描寄存器、旁路寄存器和其他數(shù)據(jù)寄存 器。邊界掃描寄存器放置在核心邏輯引腳和輸入/輸出引腳之間的邊界 處。旁路寄存器形成允許從調(diào)試器輸出的TDI信號像TDO信號一樣避開邊界掃描寄存器的路徑。數(shù)據(jù)寄存器24還可以包括用于作為選擇的 不同用途的寄存器。例如,數(shù)據(jù)寄存器24可以包括用于識別出裝置或 制造商的ID代碼寄存器等。在本實施例中,數(shù)據(jù)寄存器24包括S寄 存器32和H寄存器33 (這些寄存器分別與S寄存器241和H寄存器 242相同)。S寄存器32和H寄存器33均由TAP 25基于JTAG信號 而控制。S寄存器32和H寄存器33的功能將在以下進行描述。此處,圖2示出了包括在TAP 25中的TAP控制器251的操作和 TMS之間的關(guān)系。圖2說明了狀態(tài)機,該狀態(tài)機示出了 TAP控制器251 的操作狀態(tài)的轉(zhuǎn)換。TAP控制器251的操作狀態(tài)基于由TAP控制器251 響應(yīng)于TCK的上升沿而獲得的TMS信號而轉(zhuǎn)換。在測試-邏輯-重置中,全部測試邏輯均被禁止,并且集成電路(IC) 的正常操作被使能。不考慮初始狀態(tài),當(dāng)響應(yīng)于TCK的上升沿而五次 接收高信號電平的TMS時,TAP控制器251的操作狀態(tài)轉(zhuǎn)換為測試-邏輯-重置狀態(tài)。此外,雖然nTRST是用于TAP控制器251的重置信 號,但是由于TAP控制器251的操作狀態(tài)根據(jù)前述方式轉(zhuǎn)換到測試-邏輯-重置狀態(tài),nTRST被選擇性地使用。在TAP控制器251的操作狀 態(tài)為運行-測試-空閑的情況下,TAP控制器251使得IC內(nèi)的測試邏輯 僅在存在特定指令時有效。除此情況外,TAP控制器251使得IC內(nèi)的 測試邏輯處于空閑狀態(tài)。TAP控制器251的操作狀態(tài)經(jīng)由選擇-DR-掃描(Select-DR-Scan) 狀態(tài)進行到捕捉-DR(Capture-DR)狀態(tài)或選擇-IR-掃描(Select-IR-Scan)狀態(tài)。TAP控制器251的操作狀態(tài)從選擇-IR-掃描狀態(tài)轉(zhuǎn)換到捕捉-IR (Capture-IR)狀態(tài)或測試-邏輯-重置狀態(tài)。在捕捉-IR中, 一系列固定值被指令寄存器252在TCK的上升沿上并行讀取。在移位-IR (Shift-IR)中,指令寄存器252響應(yīng)TCK的上升沿并 且之后獲得串行比特流,該串行比特流為TDI信號。調(diào)試器輸出作為 TDI信號的指令代碼。之后,指令寄存器252獲得從調(diào)試器輸出的指令 代碼。在結(jié)束l-IR (Exitl-IR)中,TAP控制器251轉(zhuǎn)換到暫停-IR狀態(tài) 和更新-IR狀態(tài)中的任一者。在暫停-IR中,TAP控制器251被允許暫時停止指令寄存器252 的移位。在結(jié)束2-DR (Exit2-DR)中,TAP控制器251的操作狀態(tài)轉(zhuǎn)換到 移位-IR狀態(tài)和更新-IR狀態(tài)中的任一者。在更新-IR中,TAP控制器251執(zhí)行相應(yīng)于存儲在移位-IR狀態(tài)中 的指令寄存器252中的指令代碼的指令。在捕捉-DR (Capture-DR)中,在TCK的上升沿上,數(shù)據(jù)被并行 地讀入由當(dāng)前指令選擇的數(shù)據(jù)寄存器中。移位-DR( Shift-DR)、結(jié)束1 -DR( Exit 1-DR )、暫停-DR( Pause-DR )、 結(jié)束2-DR (Exit2-DR)和更新-DR (Update-DR)與指令路徑的移位-IR (Shift-IR)、結(jié)束l-IR (Exitl-IR)、暫停-IR (Pause-IR)、結(jié)束2-IR (Exit2-IR)和更新-IR (Update-IR)狀態(tài)相同。如上所述,TAP控制器251是包括16種狀態(tài)的狀態(tài)機。TAP控制 器251的操作狀態(tài)基于TMS信號和TCK信號而轉(zhuǎn)換。之后,TAP控 制器251控制數(shù)據(jù)寄存器、指令寄存器252、多路復(fù)用器等并且由此執(zhí)行JTAG功能。測試重置(TRST)信號是用于初始化TAP控制器251 的信號并且其是可選擇的。TRST信號經(jīng)由終端45輸入到TAP控制器 251。在TMS處于"H"狀態(tài)并且TCK的上升沿還被檢測到五次的情 況下,TAP控制器251同樣被初始化。例如前述的TDI、TDO、TMS和TCK的JTAG信號經(jīng)由終端41-44 而輸入到控制電路250和宏21-23。此外,用于調(diào)試CPU的重置信號 nSRST和來自半導(dǎo)體集成電路20的外部的重置信號分別經(jīng)由終端46 和終端47而輸入。其次,將給出當(dāng)調(diào)試器10調(diào)試包括在半導(dǎo)體集成電路20中的宏 時調(diào)試器10和半導(dǎo)體集成電路20的操作的說明。所述說明將通過假 設(shè)調(diào)試器10調(diào)試宏(M0) 21 (也就是宏29)而給出。圖1中的由虛 線表示的和朝向宏22和宏23以及宏30和宏31的每個箭頭表示宏22 和宏23,也就是,宏30和宏31不是調(diào)試目標。此處,假設(shè)當(dāng)調(diào)試器 調(diào)試宏21時,不同的宏發(fā)送某些控制信號到宏21,從而使接收控制信 號的宏21的狀態(tài)改變。具體地,宏21的輸出信號或內(nèi)部信號的狀態(tài) 改變。此后,該控制信號被假設(shè)為作為特定示例的重置信號。具體地, 例如,假設(shè)當(dāng)調(diào)試器10調(diào)試宏21時,重置信號RST2從宏22輸出, 并且之后重置信號RST2由宏29接收。在此情況下,雖然調(diào)試器10調(diào) 試宏21,但是宏21的狀態(tài)變?yōu)榕c由調(diào)試器10執(zhí)行的控制沒有任何關(guān) 系的重置狀態(tài)。調(diào)試器10檢測到其本身已知的宏21的狀態(tài)和宏21的 實際狀態(tài)不再相互匹配。在此情況下,調(diào)試器IO需要執(zhí)行處理以將該 調(diào)試器10已知的宏21的狀態(tài)與宏21的實際狀態(tài)相互匹配。這是因為 除非調(diào)試器執(zhí)行這種處理,否則調(diào)試器10不能重新開始宏21的調(diào)試, 從而使得由調(diào)試器10執(zhí)行的宏21的調(diào)試不得不異常終止。鑒于此, 調(diào)試器10執(zhí)行處理以參考存儲在S寄存器32和H寄存器33中的值。此處,將概念性地給出S寄存器32和H寄存器33的基本功能和 操作的說明。應(yīng)該注意的是,關(guān)于JTAG信號或TAP控制器251的特定操作將在以下描述。S寄存器32存儲關(guān)于作為調(diào)試目標的宏21是否 接收了重置信號的信息。具體地,S寄存器存儲關(guān)于從與門28輸出的 RST5是否被接收以及宏21-23、數(shù)據(jù)寄存器24、調(diào)試器10和半導(dǎo)體集 成電路20外部的元件是否已經(jīng)分別輸出RST1-RST4、 nSRST和重置信 號到宏29 (也就是宏21)的信息。例如,假設(shè)當(dāng)信號值為"0"時每 個重置信號變?yōu)橛行?。在此情況下,如果RST1-RST4、 nSRST和從外 部輸出的重置信號中的任一者變?yōu)?0",則信號值經(jīng)由與門26、 27 和28變?yōu)橹刂眯盘朢ST5并且因此由宏29接收。S寄存器32接收信 號值變?yōu)?O"的重置信號RST5并且在其中存儲重置信號RST5。此后, 在全部RST1-RST4、 nSRST和從外部輸出的重置信號均被取消的情況 下,也就是,在這些信號值變?yōu)?1"的情況下,RST5變?yōu)?1" 。 S 寄存器32重新存儲變?yōu)?1"的RST5的值從而代替之前存儲的值"O"。 如所述,S寄存器32是存儲表示宏21當(dāng)前是否處于重置狀態(tài)的值的寄 存器。另一方面,H寄存器33存儲信息,該信息關(guān)于作為調(diào)試目標的宏 21在接收了將被存儲在S寄存器32中的宏21的重置信號之前是否接 收了 RSTl-RST4、nSRST和從半導(dǎo)體集成電路20的外部輸出的重置信 號中的任意一個。換句話說,H寄存器33是存儲歷史的寄存器,該歷 史表示宏21的操作狀態(tài)是否在過去已變?yōu)橹刂脿顟B(tài)。例如,假設(shè)當(dāng)信 號值為"0"時每個重置信號變?yōu)橛行АT诖饲闆r下,如果RST1-RST4、 nSRST和從外部輸出的重置信號中的任一者在開始接收將被存儲在S 寄存器中的宏21的重置信號之前變?yōu)?0",也就是,在所述信號中 的任一者在過去已變?yōu)?0"的情況下,信號值經(jīng)由與門26、 27和28 變?yōu)橹刂眯盘朢ST5并且因此由宏29接收。這種情況表示宏21已響應(yīng) 前述信號,并且宏21的狀態(tài)在過去已變?yōu)橹刂脿顟B(tài)。H寄存器33接 收信號值變?yōu)?0"的重置信號RST5并且在其中存儲該重置信號RST5 的值。即使在此后全部RST1-RST4、 nSRST和從外部輸出的重置信號 均被取消的情況下,也就是,當(dāng)這些信號的信號值變?yōu)?1"時,H寄 存器33不以"1"替代之前存儲在其中的RST5的信號值"0" 。 H寄存器33保持信號值"0"。將再次描述當(dāng)調(diào)試器10調(diào)試宏21時調(diào)試器10的操作。如上所述, 調(diào)試器10參考S寄存器32和H寄存器33。調(diào)試器10輸出JTAG信號 中的TDI信號到包括在TAP 25中的指令寄存器252。在此情況下TDI 信號是指令代碼。所述指令代碼表示將包括在數(shù)據(jù)寄存器24中的S寄 存器32和H寄存器33中的存儲值輸出到調(diào)試器IO的操作。當(dāng)包括在 TAP 25中的TAP控制器251的操作狀態(tài)變?yōu)橐莆?IR時,指令寄存器 252在TCK的上升沿獲得從調(diào)試器10輸出的將被接收的指令代碼。此 后,當(dāng)TAP控制器251的操作狀態(tài)轉(zhuǎn)換為更新-IR時,TAP25執(zhí)行相 應(yīng)于存儲在指令寄存器252中的指令代碼的指令。具體地,TAP 25輸 出存儲在包括在數(shù)據(jù)寄存器24中的S寄存器32和H寄存器33中的每 個信號值到調(diào)試器10。在此情況下,從S寄存器32和H寄存器33輸 出的每個信號值均為TDO信號。調(diào)試器IO接收作為TDO信號的分別 存儲在S寄存器32和H寄存器33中的值。調(diào)試器10接收存儲在S寄存器32和H寄存器33中的值。通過 本操作,調(diào)試器10可以識別出作為調(diào)試目標的宏21是否在過去已處 于重置狀態(tài)以及宏21當(dāng)前是否處于重置狀態(tài)。調(diào)試器10根據(jù)獲得的S 寄存器32和H寄存器33的值執(zhí)行以下處理。首先,考慮由調(diào)試器IO 獲得的S寄存器32的值為"1"并且由調(diào)試器10獲得的H寄存器33 的值為"0"的情況。在此情況下,調(diào)試器10識別出宏21此時未接收 有效重置信號并且雖然宏21當(dāng)前未處于重置狀態(tài),但宏21過去已處 于重置狀態(tài)。調(diào)試器10迅速執(zhí)行重新開始宏21的調(diào)試的處理。應(yīng)該 注意的是,重新開始調(diào)試的處理基于所使用的調(diào)試器的規(guī)格而變化。 具體地,所述處理基于調(diào)試器的制造商而彼此不同。對于重新開始調(diào) 試的處理,例如, 一個處理可以是試圖將包括在調(diào)試器本身中的宏21 上的信息與宏21上的信息相匹配的處理,該處理由通過宏21接收的 重置信號而改變。在重新開始調(diào)試所需要的處理完成之后,調(diào)試器10 開始再次調(diào)試宏21。另一方面,考慮由調(diào)試器10獲得的S寄存器32的值為"0",并 且由調(diào)試器10獲得的H寄存器33的值為"1"或"0"的情況。在此 情況下,調(diào)試器10識別出作為調(diào)試目標的宏21此時接收有效重置信 號并且宏21當(dāng)前處于重置狀態(tài)。因此,調(diào)試器10首先等待直至宏21 不再接收重置信號。為了執(zhí)行該操作,調(diào)試器IO需要連續(xù)獲得S寄存 器32的值。為此原因,例如,調(diào)試器10執(zhí)行以下操作。調(diào)試器10再 次發(fā)送TDI信號到指令寄存器252。在此情況中的TDI信號也是指令 代碼。指令寄存器252根據(jù)TCK同樣地獲得指令代碼。TAP 25此后相 應(yīng)于由指令寄存器252最新獲得的指令代碼而執(zhí)行指令。在此情況下, TAP 25繼續(xù)輸出S寄存器32的值到調(diào)試器10直至存儲在S寄存器32 中的值從"0"變?yōu)?1"。在此情況下由調(diào)試器10接收的S寄存器32 的值也作為TDO信號而輸出到調(diào)試器10。調(diào)試器10繼續(xù)參考S寄存 器32的值并且等待直至S寄存器32的值從"0"變?yōu)?1"。之后, 假設(shè)將由調(diào)試器IO接收的S寄存器32的值在某一點處從"0"變?yōu)?1"。 調(diào)試器10此后執(zhí)行重新開始宏21的調(diào)試的處理。在所述處理完成之 后,調(diào)試器10重新開始宏21的調(diào)試。由于宏21的狀態(tài)變?yōu)榕c由調(diào)試器10執(zhí)行的控制沒有任何關(guān)系的 重置狀態(tài),在調(diào)試器IO變?yōu)椴荒芾^續(xù)宏21的調(diào)試的情況下,調(diào)試器 10執(zhí)行前述處理。調(diào)試器10可以通過執(zhí)行前述處理而再次開始宏21 的調(diào)試。換句話說,即使宏21的狀態(tài)變?yōu)榕c由調(diào)試器10執(zhí)行的控制 沒有任何關(guān)系的重置狀態(tài),調(diào)試也不會異常終止。圖3示出了基于概念的S寄存器32和H寄存器33的操作,其中 沒有考慮根據(jù)JTAG信號的TAP 25的操作。在圖3中,"S"表示存 儲在S寄存器32中的值,并且"H"表示存儲在H寄存器33中的值。 TCK是時鐘信號。主重置是由調(diào)試器IO調(diào)試的宏所接收的重置信號。 在信號處于低電平時該重置信號變?yōu)橛行АH鐣r間點tl所示,S寄存 器32和H寄存器33分別存儲值"1"作為初始值。在時間點t2,主重置信號變?yōu)榈碗娖剑⑶艺{(diào)試目標宏轉(zhuǎn)換為重置狀態(tài)。在此時間點上,存儲在S寄存器32中的值變?yōu)?0"。存儲在H寄存器33中的值在時 間點t2不改變。在時間點t3,主重置信號處于低電平,并且調(diào)試目標 宏處于重置狀態(tài)。在此情況下,S寄存器32繼續(xù)在其中存儲"0"。另一方面,H寄存器33在時間點t2處響應(yīng)主重置信號從高電平 改變至低電平的事件,并且將存儲在該H寄存器33中的值從"1"更 新為"0"。在時間點t3和時間點t4之間的S寄存器32和H寄存器 33的操作如下。S寄存器32在每個時鐘的上升沿將主重置信號的值存 儲于其中。由于主重置信號在該時段中保持在低電平,在時間點t3和 時間點t4之間S寄存器32繼續(xù)存儲值"0"于其中。另一方面,H寄 存器33在時間點3處響應(yīng)主重置信號在時間點t2處改變?yōu)榈碗娖降氖?件而保持存儲在該H寄存器33中的值"0",從而使調(diào)試目標宏變?yōu)?重置狀態(tài)。主重置信號在時間點t4處從低電平改變?yōu)楦唠娖?。具體地,調(diào)試 目標宏不再處于重置狀態(tài)。在此情況下,由于S寄存器32在每個時鐘 的上升沿存儲主重置信號的值,S寄存器32將存儲在該S寄存器32 中的值從"0"更新為"1"。另一方面,H寄存器33在時間點t3處響 應(yīng)主重置信號變?yōu)榈碗娖降氖录3执鎯υ谠揌寄存器33中的值 "0",從而使調(diào)試目標宏在時間點t2處變?yōu)橹刂脿顟B(tài)。主重置信號處于高電平并且在時間點t5和時間點t6之間恒定。因 此,存儲在S寄存器32和H寄存器33中的值分別均不改變。假設(shè)調(diào)試所述調(diào)試目標宏的宏在時間點t6參考存儲在S寄存器32 和H寄存器33中的值。這種"參考操作"依照前述流程被執(zhí)行。在此 情況下,在時間點t6后的任何時間時段中,將被存儲在S寄存器32 和H寄存器33中的值不改變直至主重置信號再次變?yōu)榈碗娖?。在主?置信號再次變?yōu)榈碗娖胶蟮臅r間時段中的操作與以上描述的操作相同。另一方面,存在調(diào)試器執(zhí)行操作以在時間點t6初始化H寄存器 33的值的情況。H寄存器33包括在任意時間初始化存儲在該H寄存器 33中的值的功能。具體地,例如該初始化操作在以下情況中執(zhí)行。假 設(shè)調(diào)試器參考存儲在S寄存器32和H寄存器33中的值并且之后執(zhí)行 重新開始調(diào)試所需的處理。假設(shè)調(diào)試器之后重新開始宏的調(diào)試。在此 情況下,不再需要存儲在H寄存器33中的歷史信息。因此,調(diào)試器初 始化存儲在H寄存器33中的值。考慮圖1中的情況,調(diào)試器10可以 發(fā)送指令代碼到TAP 25,并且之后TAP 25可以初始化H寄存器33的 值。目前為止給出了結(jié)合TAP 25、 S寄存器32和H寄存器33,由調(diào) 試器10執(zhí)行的宏21的調(diào)試的說明。此后,在更詳細地考慮TAP25基 于JTAG標準而執(zhí)行操作的觀點的同時,將給出S寄存器32和H寄存 器33的操作的說明。TAP 25根據(jù)圖2中所示的TAP控制器251的操 作狀態(tài)的轉(zhuǎn)換而執(zhí)行各種控制。在本實施例中,當(dāng)TAP 25從調(diào)試器10 接收指令以輸出存儲在S寄存器32和H寄存器33中的值時,當(dāng)TAP 控制器251處于捕捉-DR狀態(tài)時S寄存器32和H寄存器33的值被輸 出到調(diào)試器。另一方面,當(dāng)TAP控制器251的操作狀態(tài)處于更新-DR 狀態(tài)時,TAP25在H寄存器33中寫入RST5的值。雖然TAP 25執(zhí)行對S寄存器32和H寄存器33的操作以在TAP 控制器251處于一定操作狀態(tài)時存儲所述值,但是在更新將被存儲在H 寄存器33中的值時發(fā)生了以下問題??紤]TAP控制器251的操作狀態(tài) 以捕捉-DR、移位-DR、結(jié)束l-DR、暫停-DR、結(jié)束2-DR到更新-DR 的順序轉(zhuǎn)換的情況,并且之后在完成更新-DR的操作狀態(tài)之后,操作 狀態(tài)再次返回到捕捉-DR并且之后以相同的順序轉(zhuǎn)換。之后,例如, 假設(shè)重置信號RST5的值在捕捉-DR狀態(tài)下從"1"變?yōu)?0",并且 之后在捕捉-DR狀態(tài)之后但是在更新-DR狀態(tài)之前的操作狀態(tài)中從"O"變?yōu)?1"。當(dāng)TAP控制器251的操作狀態(tài)處于更新-DR狀態(tài)時,TAP 25在H寄存器33中寫入RST5的值。在此情況下,H寄存器33在不 存儲表示RST5的值在過去曾變?yōu)?0"的歷史的情況下存儲信號值"1" 于其中。在H寄存器33不能存儲調(diào)試目標宏的重置信號的正確接收歷 史的情況下,調(diào)試器IO變?yōu)椴荒芾^續(xù)所述宏的調(diào)試,從而使調(diào)試異常 終止。圖5示出了可以解決該問題的H寄存器33的構(gòu)造。實際存儲表示 調(diào)試目標宏是否已變?yōu)橹刂脿顟B(tài)的歷史的元件是觸發(fā)器FFd。觸發(fā)器 FFa和FFb是用于使得圖1中的RST5信號與TCK同步的寄存器。圖 5中所示的H寄存器33還包括與電路51、 52、 54和55以及選擇器53 和56。FFc保持在TAP控制器251的操作狀態(tài)是捕捉-DR時獲得的FFb 的輸出信號。FFb的輸出信號的這個值是RST5的值。應(yīng)該注意的是, S寄存器32被放置在FFa的前面并且存儲RST5中的改變。由于FFa 和FFb被放置在S寄存器32和H寄存器33之間,H寄存器33在S 寄存器32更新了存儲值之后的兩個時鐘周期更新存儲值。此時,如果作為FFb的輸出信號的RST5的信號值在其中TAP控 制器251的操作狀態(tài)是移位-DR、結(jié)束l-DR、結(jié)束2-DR和暫停-DR的 時段中從"1"變?yōu)?0",則FFc存儲值"0"。在FFc—旦存儲了值 "0"的情況下,即使此后FFb的輸出信號值從"0"變?yōu)?1" , FFc 也保持"0"。另一方面,與門54在FFc的輸出為"1",并且TAP 控制器251的操作狀態(tài)也為更新-DR的情況下輸出值"1"。與門54 在其他情況下輸出值"0"。另一方面,F(xiàn)Fd響應(yīng)于作為FFb的輸出信 號的RST5的信號值在其中TAP控制器251的操作狀態(tài)是移位-DR、結(jié) 束l-DR、結(jié)束2-DR和暫停-DR的時段中從"1"變?yōu)?0"的事件而 存儲值"0"。之后,F(xiàn)Fc輸出值"0"到與門54。因此,在TAP控制器251的操作狀態(tài)是移位-DR、結(jié)束1-DR、結(jié) 束2-DR和暫停-DR時,即使FFb的輸出信號從"0"變?yōu)?1",并且之后,TAP控制器251的操作狀態(tài)變?yōu)楦?DR,此后與門54的輸出 值為"0"。因此,選擇器56發(fā)送與門55的輸出信號到FFd而不是發(fā) 送FFb的輸出信號到FFd,所述與門55的輸出信號是之前存儲在FFd 中的值。FFd由此可以保持存儲值"0"。具體地,如圖4中的實線所 示,存儲在H寄存器32中的值在清除信息的時刻未被更新(重置歷史 信息未被清除)。由此,可以在捕捉-DR之后更新-DR之前的時段中留 下關(guān)于變?yōu)榉怯行У闹刂眯盘柕男畔⒆鳛闅v史。在本實施方式中,在每個系統(tǒng)以及SOC中均包括多個主控器,通 過使用S寄存器32和H寄存器33,即使當(dāng)宏21通過以下方式重置時, 調(diào)試器IO也可以監(jiān)測當(dāng)前重置狀態(tài)以及過去的重置狀態(tài)作為調(diào)試目 標宏(目標)的宏21通過因素而重置,該因素在由調(diào)試器IO對宏21 執(zhí)行的控制的外部;調(diào)試目標宏21重置其本身;調(diào)試目標宏21由在 系統(tǒng)或SOC外部的按鈕開關(guān)等進行重置;或者另一個主控器重置調(diào)試 目標宏21等。此處,通過重置的重置目標資源是存在于主控器的內(nèi)部 或外部的資源并且由諸如斷點、檢查點、狀態(tài)控制寄存器、改變JTAG 鏈長度的系統(tǒng)等的調(diào)試器IO使用。因此,即使調(diào)試器10不再獲知調(diào)試目標宏的狀態(tài),調(diào)試器10也 可以確定下一個動作。調(diào)試器10由此可以執(zhí)行調(diào)試目標的重置并且之 后在不引起該調(diào)試器IO自身被掛起(異常終止)的情況下繼續(xù)調(diào)試所 述調(diào)試目標。此外,由于可以通過使用JTAG鏈而執(zhí)行重置監(jiān)測的狀態(tài)的讀取 和寫入操作,因此即使調(diào)試目標宏重置其本身,調(diào)試器也可以識別出 重置狀態(tài)。因此,調(diào)試器的可用性被提高。應(yīng)該注意的是,本發(fā)明不限于前述實施例,并且照例,可以在不 脫離本發(fā)明的精神和范圍的范圍內(nèi)進行各種修改。顯而易見的是,本發(fā)明不限于以上實施例,而是可以在不脫離本 發(fā)明的范圍和精神的情況下進行修改和變化。
權(quán)利要求
1.一種半導(dǎo)體集成電路,包括宏,所述宏能夠變?yōu)轭A(yù)定狀態(tài);第一寄存器,所述第一寄存器存儲第一值,所述第一值表示所述宏在特定時間點上是否處于所述預(yù)定狀態(tài);以及第二寄存器,所述第二寄存器存儲第二值,所述第二值表示在所述特定時間點之前所述宏是否已處于所述預(yù)定狀態(tài)。
2. 根據(jù)權(quán)利要求l所述的半導(dǎo)體集成電路,其中所述預(yù)定狀態(tài)是 重置狀態(tài),并且所述宏響應(yīng)于接收重置信號而變?yōu)樗鲋刂脿顟B(tài)。
3. 根據(jù)權(quán)利要求l所述的半導(dǎo)體集成電路,其中當(dāng)所述宏被調(diào)試 時,所述第一寄存器和所述第二寄存器分別存儲所述第一值和所述第 二值。
4. 根據(jù)權(quán)利要求l所述的半導(dǎo)體集成電路,該半導(dǎo)體集成電路還 包括-控制電路,所述控制電路從所述第一寄存器和所述第二寄存器輸 出所述第一值和所述第二值到外部裝置。
5. 根據(jù)權(quán)利要求4所述的半導(dǎo)體集成電路,其中所述控制電路響 應(yīng)于來自所述外部裝置的指令而輸出所述第一值和所述第二值到所述 外部裝置。
6. 根據(jù)權(quán)利要求4所述的半導(dǎo)體集成電路,其中所述外部裝置是 執(zhí)行所述宏的調(diào)試的調(diào)試器。
7. 根據(jù)權(quán)利要求4所述的半導(dǎo)體集成電路,其中所述控制電路是 TAP控制器,所述TAP控制器具有捕捉DR狀態(tài),在該捕捉DR狀態(tài)中所述控制電路輸出所述第一值和所述第二值到所述外部裝置,并且所述TAP控制器具有更新DR狀態(tài),在該更新DR狀態(tài)中所述控制電 路在所述第二寄存器中存儲所述第二值,所述控制電路在所述捕捉DR 狀態(tài)后變?yōu)樗龈翫R狀態(tài),其中,響應(yīng)于變?yōu)樗龈翫R狀態(tài),在所述宏的所述預(yù)定狀態(tài) 在所述捕捉DR狀態(tài)和所述更新DR狀態(tài)之間改變?yōu)榱硪粋€狀態(tài)的情況 下,所述控制電路在所述第二寄存器中存儲所述第二值,所述第二值 表示所述宏已處于所述預(yù)定狀態(tài)。
全文摘要
涉及一種半導(dǎo)體集成電路。本發(fā)明的一個目的所要解決的問題是如果作為調(diào)試目標的宏的狀態(tài)在調(diào)試器調(diào)試作為目標的宏時由除了調(diào)試器之外的因素改變,則調(diào)試器變?yōu)椴荒芾^續(xù)調(diào)試并且調(diào)試異常終止。為了解決上述問題,公開了一種半導(dǎo)體集成電路,該半導(dǎo)體集成電路包括第一寄存器,該第一寄存器存儲表示所述宏響應(yīng)于在宏的調(diào)試期間接收的重置信號而處于重置狀態(tài)的值;以及第二寄存器,該第二寄存器存儲表示所述宏過去是否通過接收重置信號而已經(jīng)處于重置狀態(tài)的值。
文檔編號G06F11/28GK101403989SQ20081016106
公開日2009年4月8日 申請日期2008年9月26日 優(yōu)先權(quán)日2007年9月26日
發(fā)明者國江周市, 町村廣喜 申請人:恩益禧電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1