專利名稱:集成電路的制作方法
技術領域:
本發(fā)明涉及一種其中裝有存儲器的集成電路,特別涉及一種包括按預定標準制造的存取口的集成電路。
在此之前,已開發(fā)和制造出各種除邏輯部分外轉有微處理器(例如CPU(中央處理單元)、DSP(數(shù)字信號處理器)等)或存儲器的集成電路。對于這種集成電路來說調試是必須的,以便在開發(fā)利用微處理器執(zhí)行的軟件時,如果存在的話,檢查軟件中的錯誤,并糾正這種錯誤。為了進行這種調試,通常讀出并檢測存儲于引入到集成電路中的存儲器內的軟件。
為進行這種調試,要標準化可以利用其比較容易地從裝于集成電路中的存儲器讀出軟件的規(guī)約。已開發(fā)出一種包括按根據(jù)IEEE1149.1標準標準化了的JTAG(聯(lián)合測試行動組織)標準制造的存取口的集成電路,其中集成電路內的信息可以利用由JTAG標準標準化的規(guī)約在集成電路和外部之間交換。
圖1是展示這種集成電路的例子的框圖。如圖1所示,集成電路10包括微處理器11。關于在這種微處理器11的控制下處理數(shù)據(jù)的電路,集成電路10包括存儲作為軟件的程序數(shù)據(jù)的ROM(只讀存儲器)12、暫時存儲處理時的數(shù)據(jù)的RAM(隨機存取存儲器)13、和執(zhí)行處理的邏輯單元14??偩€15與ROM12、RAM13、邏輯單元14和微處理器11連接。集成電路10包括數(shù)據(jù)輸入和輸入(I/O)口16,由集成電路10處理的數(shù)據(jù)從該口輸出,或數(shù)據(jù)通過該口輸入到集成電路10。連接到這種數(shù)據(jù)I/O口16的外存儲器(例如,外部ROM、外部RAM等)20,變得可以通過總線15在它和集成電路10內的各單元之間傳輸數(shù)據(jù)。
在集成電路為符合上述JTAG標準的集成電路時,這類集成電路包括獨立于數(shù)據(jù)I/O口16且根據(jù)JTAG標準標準化了的存取口17。連接到存取口17以進行調試的器件和微處理器11變得能夠通過JTAG接口(I/F)電路18傳輸數(shù)據(jù)。根據(jù)JTAG標準標準化了的存取口17最少包括四個端口(測試時鐘信號口TCK,測試模式選擇信號口TMS,測試復位信號口TRST,測試數(shù)據(jù)輸入信號口TDI)和一個輸出口(測試數(shù)據(jù)輸出信號口TDO)。信息在JTAGI/F電路18和微處理器11間通過JTAG規(guī)約控制信號進行傳輸和接受。盡管未示出,但微處理器11在其中引入了能夠解釋JTAG規(guī)約控制信號的部分。
在這樣設置集成電路的情況下,通過從外部給存取口17提供用于從ROM12讀取數(shù)據(jù)的JTAG規(guī)約控制信號,可以從ROM12將所有數(shù)據(jù)讀出到與I/O口16連接的器件,從而使調試建立于集成電路中的軟件變得更容易。
然而,如果已利用如JTAG規(guī)約控制信號等規(guī)約控制信號,從裝在集成電路內的存儲器讀出了數(shù)據(jù),則如不可懂數(shù)據(jù)等加密數(shù)據(jù)將容易輸出到外部。例如,最好是用于加密通信數(shù)據(jù)的程序不容易從用于通信處理的集成電路讀出。具體說,在如JTAG規(guī)約等標準化規(guī)約的情況下,由于其控制程序也是對公眾開放的,并且內建軟件的調試工具也是對公眾開放的,所以不具備軟件方面先進知識的人能夠從裝于集成電路內的存儲器讀出數(shù)據(jù)。從保密的觀點看最好不這樣。
從上述觀點出發(fā),本發(fā)明的目的是提供一種集成電路,其中可以根據(jù)預定的規(guī)約將數(shù)據(jù)讀出到外部,并且應制作成不可懂的數(shù)據(jù)的讀出會受限。
根據(jù)本發(fā)明的一個方案,提供一種可以從存儲器讀出數(shù)據(jù)的集成電路。該集成電路包括一個存取探測裝置,用于探測是否進行了利用存取口的存取,還包括一個輸出禁止裝置,用于禁止存儲于存儲器中的預定數(shù)據(jù)輸出。即使在從外部提供命令利用存取口從存儲器中讀出數(shù)據(jù)的控制數(shù)據(jù)時,根據(jù)由輸出禁止裝置根據(jù)其執(zhí)行禁止處理的預定數(shù)據(jù),禁止其輸出處理,并目預定數(shù)據(jù)不輸出到外部。
圖1是展示常規(guī)集成電路的例子的示意框圖;圖2是展示本發(fā)明一個實施例的集成電路的框圖;圖3是展示本發(fā)明實施例的ROM的輸出控制部分的例子的框圖;圖4是在解釋根據(jù)本發(fā)明實施例的數(shù)據(jù)輸出處理時參考的流程圖;圖5是展示根據(jù)本發(fā)明另一實施例的ROM的輸出控制部分的例子的框圖。
下面將參考圖2-4介紹根據(jù)本發(fā)明一個實施例的集成電路。
在該實施例中,本發(fā)明應用于其中可以利用預定標準化規(guī)約(例如JTAG規(guī)約)在外設和其內傳輸數(shù)據(jù)的集成電路。圖2是展示根據(jù)本發(fā)明的該實施例的集成電路的整體設置的框圖。下面結合圖2介紹本發(fā)明。如圖2所示,在該實施例中一般由參考數(shù)字100表示的集成電路包括用于根據(jù)JTAG啟動通信的存取口101。因此,控制信號通過連接到該存取口101的接口(I/F)電路102在連接到存取口101的外設和微處理器103之間傳輸。
存取口101至少包括四個輸入端口(測試時鐘信號口TCK,測試模式選擇信號口TMS,測試復位信號口TRST,測試數(shù)據(jù)輸入信號口TDI)和一個輸出口(測試數(shù)據(jù)輸出信號口TDO)。信息在JTAG接口電路102和微處理器103之間進行傳輸和接受。在微處理器103中,設置有用于解釋JTAG規(guī)約控制信號的部分。
集成電路100包括用于存儲如軟件等程序數(shù)據(jù)的ROM107、用于暫時存儲正處理數(shù)據(jù)的RAM106、和用于執(zhí)行處理的邏輯單元105,它們都在微處理器103的控制之下操作。ROM107、RAM106、邏輯單元105和微處理器103彼此通過總線104連接。ROM107具有在其預定地址預先存儲的程序數(shù)據(jù)作為操作該集成電路100所必需的軟件。
集成電路100還包括用于輸出由集成電路100處理的數(shù)據(jù)并且輸入數(shù)據(jù)到集成電路的數(shù)據(jù)輸入/輸出(I/O)口108。與數(shù)據(jù)I/O口108連接的外部存儲器(如,外部ROM、外部RAM等)190,變得可以在它和設置于集成電路100內的各單元之間,通過總線104傳輸數(shù)據(jù)。線外部存儲190外的其它電路也可以與I/O口108連接。
在該實施例中,集成電路100包括ROM輸出控制電路120,用于控制從集成電路100內的ROM107讀出數(shù)據(jù)的方式。讀出所存儲的數(shù)據(jù)的輸出控制信息通過該ROM輸出控制電路120提供到ROM107。來自邏輯單元105的輸出控制信息提供到ROM輸出控制電路120,來自以探測電路111的輸出禁止信息提供到ROM輸出控制電路120。輸出啟動息還從輸出啟動信息產生電路113提供ROM輸出控制電路120。
存取探測電路111適于探測是否利用存取口101進行了存取。即,存取探測電路111根據(jù)設置于存取口101內的預定輸入口(例如測試時鐘信號口TCK)的狀態(tài)探測存取。關于其狀態(tài)被存取探測電路111探測的輸入口,利用其電平在根據(jù)JTAG規(guī)約控制信號存取時固定變化的輸入口。
存取探測電路111利用邊緣探測電路(未示出)探測存取,例如,探測信號邏輯電平從低電平0變到高電平1的前沿,或信號邏輯電平從高電平1變到低電平0的后沿。在邊緣探測電路探測上述前沿或后沿時,存取探測電路111探測存取。在該存取探測電路電路探測存取時,輸入禁止信息提供到ROM輸出控制電路120。ROM輸出控制電路120響應提供給的輸出禁止信息,禁止數(shù)據(jù)從預定ROM107的預定地址讀出。
輸出啟動信息產生電路113適于根據(jù)從外部得到的數(shù)據(jù),或通過總線104到輸出啟動信息產生電路113得到的數(shù)據(jù),產生用于啟動到設置于集成電路100內的讀控制口112的輸出的輸出啟動信息。在輸出啟動信息產生電路113探測到預定數(shù)據(jù)(簡單信號或如密碼等復雜數(shù)據(jù))從外部提供給讀控制電路112時,產生輸出啟動信息,用于啟動ROM107輸出數(shù)據(jù)。或者,在從集成電路100內的微處理器103等給讀控制電路112提供預定數(shù)據(jù)時,輸出啟動信息產生電路113可以產生輸出啟動信息,用于啟動ROM107輸出數(shù)據(jù)。在來自該輸出啟動信息產生電路113的輸出啟動信息提供到ROM輸出控制電路120后,ROM輸出控制電路120從ROM107的預定地址讀出數(shù)據(jù)。此時,輸出啟動信息優(yōu)先于輸出禁止信息被采用(即,在輸出啟動信息和輸出禁止信息同時提供時,啟動輸出)。
下面結合圖3介紹從ROM107讀出數(shù)據(jù)的方式。
如圖3所示,在ROM輸出控制電路120中,從邏輯單元105給端子121提供輸出控制信息,從存取探測電路11給端子122提供輸出禁止信息,從輸出啟動信息產生電路113給端子123提供輸出啟動信息。下面將具體說明各信息的例子。即,輸出控制信息是一種在信號邏輯電平為低電平0信號時啟動輸出,并且在信號邏輯電平為高電平1信號時禁止輸出的信息。輸出禁止信息是一種在信號邏輯電平為高電平1信號時禁止輸出的信息。輸出啟動信息是一種在信號邏輯電平為高電平1信號時啟動輸出的信息。就在集成電路100復位后,輸出禁止信息和輸出啟動信息都保持低電平0信號(既不執(zhí)行輸出禁止也不執(zhí)行輸出啟動的狀態(tài))。
提供給端子122的輸出禁止信息信號和通過反相提供給端子123的輸出啟動信息而得到的信號提供給AND門124,其中它們以邏輯積方式運算。根據(jù)邏輯積運算結果,AND電路124僅在需要輸出禁止時輸出高電平1信號,在不需要輸出禁止時輸出低電平0信號。
然后,提供給端子121的輸出控制信息和來自AND門124的輸出提供給OR門125,其中它們以邏輯和的方式運算。來自OR門125的邏輯和輸出從端子126提供給ROM107的輸出控制端OE(輸出啟動端子)。在給ROM107的輸出控制端OE提供低電平0信號時,存儲于由通過預定總線107a提供的地址數(shù)據(jù)指定的地址中的數(shù)據(jù)從預定總線107b輸出。相反,在給輸出控制端OE提供高電平1信號時,盡管提供了地址數(shù)據(jù),但仍禁止存儲于該地址中的數(shù)據(jù)從總線107b輸出。
由于提供給端子121的輸出控制信息是在邏輯信號電平為低電平0信號時啟動輸出的信息,所以在從AND門124給OR門125提供低電平0信號的條件下,低電平0信號的輸出控制信息直接提供給端子126到ROM107,從而存儲于由通過預定總線107a提供的地址數(shù)據(jù)指定的地址中的數(shù)據(jù)從ROM107讀出。然后,在得到表示輸出應被禁止的狀態(tài)的高電平1信號作為AND門124的輸出時,從OR門125提供給輸出控制端OE的信息變?yōu)楦唠娖?信號,以便禁止從ROM107讀出數(shù)據(jù)。
甚至在從存取探測電路111提供的輸出禁止信息為表示輸出應被禁止的高電平1信號時,如果來自輸出啟動信息產生電路113的輸出啟動信號為表示應啟動輸出的高電平1信號,則變?yōu)橛糜诮馆敵龅牡碗娖?信號且提供給端子121的輸出控制信息,作為AND門124的輸出提供給ROM107。
下面將結合圖4的流程介紹存儲于ROM107中的數(shù)據(jù)在這樣設置電路的控制下輸出的方式。
參見圖4,在集成電路在100在S11步被初始化和復位時,在S12步設置來自ROM的表示普通操作的輸出啟動狀態(tài)。在該輸出啟動狀態(tài),輸出禁止信息為低電平0信號,輸出啟動信息也為低電平0信號。
在下一判斷步S13,確定存取探測電路111是否探測到存取。如果探測電路111探測的預定口(例如測試時鐘信號口TCK)的電平不改變,象判斷步S13的NO表示的,則控制返回到S12、S13步,并重復S12和S13步。如果上述電平改變,象判斷步S13的YES表示的,則控制前進到下一步S14。在S14步,禁止存儲于裝在集成電路100內的ROM107中的數(shù)據(jù)輸出。下面將更充分地說明該輸出禁止處理。即,由存取探測電路111提供的輸出禁止信息變?yōu)楦唠娖?信號,且提供給ROM107的輸出控制端子的信息變?yōu)楦唠娖?信號,從而禁止數(shù)據(jù)從ROM107讀出。
在執(zhí)行該輸出禁止處理的狀態(tài)下,在下一判斷步S15,由輸出啟動信息產生電路113確定是否滿足輸出啟動條件,例如彼此相符的密碼。如果滿足輸出啟動條件,象判斷步S15的YES所示的,則控制前進到下一步S16,在此步,從輸出啟動信息產生電路113提供給輸出控制電路120的輸出啟動信息變?yōu)楦唠娖椒焦镄盘枺姨峁┙oROM107的輸出控制端子OE的信息變?yōu)榈碗娖?信號,從而可以從ROM107讀出數(shù)據(jù)。順便提及,為了在S16步啟動數(shù)據(jù)讀取的狀態(tài)下恢復原始狀態(tài),必需復位集成電路。
根據(jù)上述處理,在從外部通過存取口101給該實施例的集成電路100提供JTAG規(guī)約控制信號時,微處理器103變得能夠訪問外部,從而可以從外部控制該集成電路100內的各單元的操作。在該實施例中,在探測存取口101的預定端口(例如測試時鐘信號口TCK)的電平時,ROM輸出控制電路120禁止從所裝的ROM107中讀出數(shù)據(jù),所以不能從ROM107將數(shù)據(jù)讀出到例如與I/O口108連接的設備側。因此,通過從外部提供JTAG規(guī)約控制信號,可以禁止從ROM107讀出數(shù)據(jù),從而可以保密存儲于ROM107中的數(shù)據(jù)。
另一方面,如果通過提供JTAG規(guī)約控制信號總是可以控制從ROM107的數(shù)據(jù)讀取,則例如在利用存儲于ROM107中的數(shù)據(jù)進行調試時會產生麻煩。在該實施例中,通過從外部向讀控制口112輸入特定的密碼等,使輸出啟動信息產生電路113變得能夠產生輸出啟動信息,解除由ROM輸出控制電路120執(zhí)行的讀取禁止操作,以便可以利用JTAG規(guī)約控制信號從ROM107讀出所有數(shù)據(jù)、于是可以進行調試。如果解除ROM輸出控制電路120的輸出禁止處理的密碼等,則可以使存儲于ROM107中的數(shù)據(jù)的保密性和調試過程生產率的提高彼此兼容。
順便提及,可以省略其中在存取JTAG口時利用來自輸出啟動信息產生電路的輸出啟動信息啟動輸出的配置,并且可以利用其中在存取JTAG口時不能解除用于禁止存儲器輸出數(shù)據(jù)的輸出禁止處理的配置。而且,由于在利用該輸出啟動信息產生電路113解除輸出禁止處理的配置,可以改變輸出啟動信息產生電路113,使輸出啟動信息產生電路113響應從集成電路100的如微處理器103等電路提供給它的預定控制數(shù)據(jù),產生輸出啟動信息。
盡管如上所述根據(jù)測試時鐘信號口TCK電平的改變探測利用ITAG規(guī)約控制信號進行的存取,但也可以根據(jù)其它JTAG存取口電平的改變探測上述存取。即,只要在利用JTAG規(guī)約控制信號進行存取時,該口的電平改變,則可以從任何端口狀態(tài)探測存取。例如,可以根據(jù)測試模式選擇信號口TMS、測試復位信號口TRST和測試數(shù)據(jù)輸入信號口TDI電平的改變探測存取。另外,通過探測上述各口中的幾個口電平的變化,可以更容易地探測存取。再者,盡管本發(fā)明應用于可以利用ITAG規(guī)約控制信號從外部被存取的集成電路,但本發(fā)明不限于此,以下的變形也是可以的。即,在可以利用根據(jù)其它標準標準化了的規(guī)約從外部被存取的集成電路中,本發(fā)明應用于在利用這種規(guī)約進行存取時限制從所裝存儲器讀取數(shù)據(jù)的情況。限制所存儲數(shù)據(jù)讀取的電路可以改變?yōu)橄拗茝某鲜鯮OM外的其它存儲裝置讀取數(shù)據(jù)的裝置。
盡管如上所述在利用如JTAG規(guī)約等預定規(guī)約進行存取時,禁止從所裝存儲器中讀取所有數(shù)據(jù),但本發(fā)明不限于此,可以限制存儲于如存儲器等存儲數(shù)據(jù)內的部分地址中的數(shù)據(jù)的讀取。
盡管如上所述通過利用輸出控制電路120控制提供給ROM107的輸出啟動端子的數(shù)據(jù),執(zhí)行輸出禁止處理,但本發(fā)明不限于此,如ROM等存儲器的存儲數(shù)據(jù)的輸出禁止處理可以利用其它裝置執(zhí)行。例如,在禁止輸出時,可以取消提供給存儲器的讀取地址數(shù)據(jù)。圖5是展示用于這種情況的裝置的例子。如圖5所示,在ROM輸出控制電路130中,地址數(shù)據(jù)從圖2所示的邏輯單元提供給一個端子,輸出禁止信息從圖2所示的存取探測電路111提供給端子132,輸出啟動信息從圖2所示的輸出啟動信息產生電路113提供給端子133。這種情況下,地址數(shù)據(jù)是表示從中讀出存儲于ROM107中的數(shù)據(jù)的地址的數(shù)據(jù)。這種情況下,關于在端子132得到的輸出禁止信息,可以利用在輸出被禁止時變?yōu)楦唠娖?信號的數(shù)據(jù)。關于在端子133得到的輸出啟動信息,可以用在輸出被啟動時變?yōu)楦唠娖?信號的數(shù)據(jù)。
然后,給AND門134提供在端子132得到的輸出禁止信息信號和反相在端子133得到的輸出啟動信息獲得的信號,其中這些信號以邏輯積的方式運算。AND門134的所得邏輯積提供給地址取消電路(address nullify circuit)135。地址取消電路134是一根據(jù)來自AND門134的輸出控制在端子131得到的地址數(shù)據(jù)的電路。在從AND門134提供低電平0信號時,例如,地址取消電路134直接給輸出端子136提供地址數(shù)據(jù)。另一方面,在從AND門134輸出高電平1信號時,地址取消電路134取消地址數(shù)據(jù)(例如,取消地址數(shù)據(jù),提供如0地址等沒意義的數(shù)據(jù))。然后,地址取消電路134給ROM107的讀地址數(shù)據(jù)輸入端子提供在輸出端子136得到的地址數(shù)據(jù)。順便提及,控制數(shù)據(jù)從圖2所示的邏輯單元105直接提供給ROM107的輸出啟動端子。
由于如上所述設計集成電路,所以限制了對ROM提供地址數(shù)據(jù),以便在從外部利用根據(jù)如JTAG規(guī)約等預定標準化標準化了的規(guī)約進行存取時,限制對存儲于ROM中數(shù)據(jù)的讀取,從而可以與上述實施例所述的裝置的情況類似保密所存儲的數(shù)據(jù)。
結合附圖對本發(fā)明的優(yōu)選實施例作了介紹,但應理解,本發(fā)明不限于這些明確的實施例,所屬領域的技術人員可以進行各種改變和改形,而不脫離所附權利要求書所限定的本發(fā)明的精神或范圍。
權利要求
1·一種集成電路,包括存儲預定數(shù)據(jù)的存儲器;控制從預定端子讀取存儲于所說存儲器中的數(shù)據(jù)的控制裝置;從外部給所說控制裝置提供控制數(shù)據(jù)的存取口;探測是否從外部給所說存取口提供了數(shù)據(jù)的存取探測裝置;及禁止從所說預定端子輸出存儲于所說存儲器中的所說預定數(shù)據(jù)的輸出禁止裝置。
2·根據(jù)權利要求1的集成電路,其中所說存取裝置是用于探測在所說存取口得到作為輸入信號的測試時鐘信號、測試模式選擇信號、測試復位信號和測試數(shù)據(jù)輸入信號中至少一個信號電平變化的裝置。
3·根據(jù)權利要求1的集成電路,還包括輸出禁止解除裝置,該裝置用于通過寫入特定數(shù)據(jù),解除由所說輸出禁止裝置執(zhí)行的輸出禁上處理。
4·根據(jù)權利要求1的集成電路,還包括輸出禁止解除裝置,該裝置用于通過探測到輸入端子的特定數(shù)據(jù)的輸入,解除由所說輸出禁止裝置執(zhí)行的輸出禁止處理。
全文摘要
在通過存取口提供控制信號從而可以從存儲器(107)讀出數(shù)據(jù)的集成電路中,該集成電路包括探測利用存取口(101)的存取的存取探測裝置(111)、在存取探測裝置(111)探測到存取時禁止從存儲器(107)輸出預定數(shù)據(jù)的輸出禁止裝置(120)。因此,在可以利用預定規(guī)約把數(shù)據(jù)讀出到外部的集成電路中,可以限制應為不可懂數(shù)據(jù)的讀取。
文檔編號G06F21/00GK1232214SQ99105568
公開日1999年10月20日 申請日期1999年3月19日 優(yōu)先權日1998年3月19日
發(fā)明者滑川敦夫 申請人:索尼公司