專利名稱:半導體裝置以及使用該半導體裝置的內電路仿真器的制作方法
技術領域:
本發明涉及一種半導體裝置,該半導體裝置被連接到調試工具上時,向調試工具發送內部的數據或程序。本發明還涉及到采用這樣的半導體裝置的內電路仿真器。
背景技術:
在單片微機及根據用戶規格生產的專用產品所用的系統LSI(大規模集成電路)等半導體裝置中,主要搭載方便進行軟件(程序)調試的調試電路。當搭載這種調試電路的半導體裝置在與外部的調試工具連接時,將向調試工具發送半導體裝置內部的ROM(只讀存儲器)、RAM(隨機存儲器)、寄存器等的內容(數據或程序)。進行軟件調試的用戶,可以通過調試工具獲知半導體裝置內部的ROM、RAM、寄存器等內容,這樣就可以很容易地進行軟件的調試。
但是,有的半導體裝置,往往不希望進行軟件調試的用戶以外的人(以下稱為“第三者”)知道其中某些數據或程序,比如,半導體裝置內部的ROM往往裝有解除特定密碼的密碼解除鍵,而這個解除密碼鍵就不希望被第三者獲知。
在這種情況下,為防止半導體裝置內部的數據等被第三者獲知,可以考慮采取如下的對策(i)半導體裝置中不搭載調試電路;(ii)雖然在半導體電路中搭載調試電路,但是不公開調試電路的使用方法。
但是,若采用上述(i)的措施,由于進行軟件調試的用戶不能獲知半導體裝置內部的數據,而使軟件調試變得困難。
還有,若采用上述(ii)的對策,則當有第三者對半導體裝置進行分析而獲知調試電路的使用方法時,半導體裝置內部的數據也同時被第三者獲知。
可是,在日本專利第1998-133906號公告(以下稱“文獻1”)中揭示的內電路仿真器的特征包括存儲器空間被劃分為存儲程序的程序存儲區和存儲數據的數據存儲區,且對具有與其分別對應的地址總線的微機進行仿真時,預先設定表示程序存儲區內被變換的各變換區的屬性的變換數據和表示對數據存儲區內分配的各特殊功能寄存器的訪問許可/不許可的保護數據,檢測出對各變換區或各特殊功能寄存器發生的非法訪問,并在停止仿真的內電路仿真器中輸入各地址總線的總線信號,根據控制信號選擇輸出這些信號的一個總線信號的選擇裝置;以及具有用于地址輸入該選擇裝置的總線信號輸出,預先設定并存儲變換數據及保護數據的存儲裝置。
但是,文獻1所揭示的內電路仿真器具有選擇裝置,用于預先設定表示程序存儲區內被變換的各變換區屬性的變換數據,以及表示對程序存儲區內分配的各種特殊功能寄存器的訪問許可/不許可的保護數據,輸入分別與程序存儲區和數據存儲區相對應的地址總線的總線信號,根據控制信號選擇輸出這些信號的一個總線信號;存儲裝置,用于地址輸入該選擇裝置的總線信號輸出,預先設定并存儲變換數據及保護數據;是通過檢測出對各保護區或對各特殊功能寄存器的非法訪問,停止仿真,將變換存儲器和SFR保護存儲器匯總為一個保護存儲器的,不是使進行軟件調試的用戶可以讀取半導體裝置內部的數據,而第三者不能夠讀取半導體裝置內數據的裝置。
另外,日本專利2000-347942號公報(以下稱為“文獻2”)中揭示的信息處理裝置特征在于具有存儲器,存儲為防止被設在外部的仿真器的非法訪問,而在其存儲信息中包含可由用戶單獨設定的用戶程序的保密解除程序的保護信息;單片調試電路,其與仿真器連接后,在仿真器和信息處理裝置之間進行調試所需信號的輸入輸出控制,支持信息處理裝置的調試;保密電路,用于在接通電源時接收使信息處理裝置復位的通電復位信號,將單片調試電路的功能無效化并設定保密措施,禁止通過仿真器讀取存儲器的存儲信息,接收保密措施指定位和啟動該保密措施指定位的復位啟動代碼后,將單片調試電路的功能有效化并解除保密措施,使通過仿真器讀取存儲器的存儲信息成為可能。
但是,文獻2披露的信息處理裝置,雖然是一種為了保護存儲器中所存儲的信息不被設在外部的仿真器非法訪問的裝置,但在存儲信息中也包含了可由用戶特別設定的用戶程序組成的保密解除程序。
發明內容
因此,鑒于以上幾點,本發明的目的是提供一種能在連接到調試工具上時,在輸入預定的數據和信號的情況下,能夠讀取內部的數據或程序的半導體裝置。本發明的目的還包括提供具有這種半導體裝置的內電路仿真器。
為解決上述課題,本發明所涉及的半導體裝置是具有進行預定運算的運算處理電路和帶有預定功能的M個(M為自然數)功能模塊,當被連接到外部的調試工具上時,向調試工具發送功能模塊內的數據或程序的半導體裝置。其包括N個第一電路,其分別連接在M個功能模塊內的預定的N個(N為小于等于M的自然數)功能模塊和運算處理電路之間,根據指令,分別在N個功能模塊和運算處理電路之間進行數據或程序的傳輸;第二電路,其被連接到調試工具上時,在根據調試工具發出的指令控制運算電路的同時,指示N個第一電路不進行N個功能模塊和運算處理電路間的數據或程序傳輸;第三電路,其在接收到預定的數據和信號時,指示N個第一電路內的響應數據和信號的第一電路進行所述功能模塊與所述運算處理電路間的數據或程序的傳輸,而忽略所述第二電路的指示;運算處理電路,用于當未與調試工具連接時,在M個功能模塊間收發數據或程序的同時進行預定的運算,而當與調試工具連接時,則通過所述N個第一電路讀取(M-N)個功能模塊內的數據或程序,以及讀取所述N個功能模塊內的數據或程序,并發送到調試工具中。
在此,第三電路接收多個數據和信號,可以指示響應多個數據和信號的第一電路進行功能模塊和運算處理電路間的數據或程序傳輸,而忽略第二電路發出的指示,同時,第三電路接收被編碼的數據和信號,將已編碼的數據和信號解碼后,指示N個第一電路中的響應被編碼的數據或信號的第一電路進行功能模塊和運算處理電路間的數據或程序傳輸,而忽略第二電路的指示。
另外,第三電路具有寄存器,當寄存器被訪問時,可指示N個第一電路進行功能模塊和運算處理電路間的數據或程序的傳輸,而忽略第二電路發出的指示。進一步,第三電路具有寄存器,當寄存器內被寫入預定的數據時,可以指示N個第一電路中的響應寄存器所存儲的數據的第一電路進行功能模塊和運算處理電路間的數據或程序的傳輸,而忽略第二電路發出的指示。
還有,第三電路具有多個寄存器,當寄存器被訪問時,可指示響應被訪問的寄存器的第一電路進行功能模塊和運算處理電路間的數據或程序的傳輸,而忽略第二電路發出的指示。進一步,第三電路具有多個寄存器,當多個寄存器中的任何一個或全部被寫入預定的數據時,指示響應被訪問的寄存器或被寫入寄存器內的數據的第一電路進行功能模塊和運算處理電路間的數據或程序的傳輸,而忽略第二電路的指示。
另外,數據和信號也可以由運算處理裝置或外部提供。還有,寄存器也可以被運算處理裝置或外部訪問。
另外,還具有根據預定的協議從外部接收信號的第四電路,第四電路也可以根據從外部接收到的數據向第三電路輸出數據或信號。
同時,本發明所涉及的內電路仿真器還包括本發明所涉及的半導體裝置;以及與半導體裝置中的運算處理電路以及由第二電路連接的調試工具。
通過上述構成的本發明,在輸入預定的數據和信號時,就可以讀取內部的數據或程序。由此,能夠簡單地實現軟件調試的用戶可以讀取內部的數據而其他用戶不能讀取內部數據的目的。
圖1是根據本發明第一實施方式的內電路防真器示意圖。
圖2是圖1中的保護電路的內部構成示意圖。
圖3是表示圖2所示的輸入輸出緩沖器的內部構成一個例子的示意圖。
圖4是表示圖3緩沖器工作的真值表。
圖5是根據本發明的第二實施方式的內電路仿真器的示意圖。
圖6是根據本發明的第三實施方式的內電路仿真器示意圖。
圖7是表示圖2所示輸入輸出緩沖器內部構成的其它示例圖。
圖8為表示圖2所示輸入輸出緩沖器內部構成的其它示例圖。
圖9為表示圖2所示輸入輸出緩沖器內部構成的其它示例圖。
具體實施例方式
下面,參照附圖對本發明的實施方式進行描述。另外,在同一構成要素賦予同樣的附圖標記,省略說明。
圖1是關于本發明的一種實施方式所涉及的內電路仿真器的圖示。如圖1所示,內電路仿真器1具有系統LSI(大規模集成電路)10和調試工具40。
系統LSI10包括CPU(中央處理器)11、調試電路12、保護解除電路13、ROM(只讀存儲器)21、RAM(隨機存儲器)22、寄存器23和25、用戶電路24以及保護電路31~34。
ROM21存儲著CPU11執行的軟件(程序)及CPU11使用的數據等。RAM22以及寄存器23存儲暫存數據等。用戶電路24進行滿足用戶技術要求的工作。
CPU11在未與調試工具40連接時,讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據并進行預定的運算。而CPU11在與調試工具40連接時,根據調試工具40和調試電路12的指令,讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據并輸出到調試工具40中。在本實施方式中,由于CPU11是連接在調試工具40上的,因此,根據調試工具40以及調試電路12的指令,讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據并輸出到調試工具40中。
保護電路31~34分別與ROM21、RAM22、寄存器23以及用戶電路24和CPU11連接,根據調試電路12以及保護解除電路13的指令,進行ROM21、RAM22、寄存器23以及用戶電路24和CPU11間的數據或程序的傳輸。
另外,在CPU11和保護電路31~34之間、CPU11和寄存器25之間,以及保護電路31~34和ROM21、RAM22、寄存器23以及用戶電路24之間,分別用8位寬的總線連接。
當調試電路12在與調試工具40相連接時,根據調試工具40的指令,在控制CPU11的同時,向保護電路31~34輸出高電平的保護有效信號;當未與調試工具40相連接時,向保護電路31~34輸出低電平的保護有效信號。在本實施方式中,由于調試電路12與調試工具40相連接,因此,向保護電路31~34中輸出高電平的保護有效信號。
保護解除電路13從外部輸入控制信號。當保護解除電路13從外部輸入的控制信號為低電平時,將低電平的保護解除信號輸出到保護電路31~34。還有,保護解除電路13從外部輸入的控制信號為高電平時,將高電平的保護解除信號輸出到保護電路31~34。另外,控制信號由系統LSI10的使用說明書中被稱為“未使用”和“預留”的端子輸入。
圖2是表示保護電路31~34的內部構成的示意圖。如圖2所示,保護電路31~34包括輸入輸出緩沖器51~58和與門電路59。
與門電路59,與將保護有效信號和保護解除信號反轉的信號進行邏輯積運算,將作為結果而得到的信號輸出到輸入輸出緩沖器51~58中。
圖3是表示輸入輸出緩沖器51~58內部構成的示意圖。如圖3所示,輸入輸出緩沖器51~58包括帶有輸出啟動功能的緩沖器61和62。緩沖器61的輸入與CPU11相連接,輸出與ROM21、RAM22、寄存器23以及用戶電路24相連接。而且,緩沖器62的輸入與緩沖器61的輸出相連,輸出與緩沖器62的輸入相連接。
緩沖器61和62在與門電路59的輸出信號為低電平時開啟,在與門電路59的輸出信號為高電平時關閉。
圖4是表示緩沖器61和62的動作的真值表。如圖4所示,當保護有效信號為低電平時,不管保護解除信號是高電平還是低電平,與門電路59的輸出信號都變為低電平,緩沖器61和62為開啟狀態。
在保護有效信號為高電平,保護解除信號為低電平時,與門電路59的輸出信號變為高電平,緩沖器61和62關閉。
在保護有效信號和保護解除信號均為高電平時,與門電路59的輸出信號變為低電平,緩沖器61和62開啟。
這樣通過內電路仿真器1,將高電平的控制信號輸入到保護解除電路13時,保護電路31~34中的緩沖器61和62開啟,CPU11就可以讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據并發送到調試工具40。這樣,用戶就可以讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。另外,保護解除電路13被輸入低電平的控制信號時,保護電路31~34內的緩沖器61和62關閉,CPU11就不能讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。這樣,就可以防止用戶讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。另外,可以不管保護信號及保護解除信號的狀態,而讀取寄存器25內部的數據等。
在此,可以只讓被允許讀取ROM21、RAM22、寄存器23以及用戶電路24內部數據的用戶(比如,進行軟件調試的技術人員)知道系統LSI10中用于輸入控制信號的端子(使用說明書中被稱為“未使用”和“預留”的端子),而不讓其他的用戶知道。這樣,被允許讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據的用戶可以很容易地進行調試,還能夠防止其他的用戶讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。
同時,由于在系統LSI10中用來輸入控制信號的端子在使用說明書中被稱為“未使用”和“預留”,因此未被告之輸入控制信號的端子的用戶,在系統LSI10被連接到調試工具40時,因為將緩沖器61和62關閉,所以解析系統LSI10就變得非常困難。同理,在系統LSI10被連接到調試工具40時,未被告之輸入控制信號用的端子的用戶讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據等就變得非常困難。
還有,在系統LSI10被連接到調試工具40上時,除了將高電平的控制信號輸入到保護解除電路13中以外,由于不能使緩沖器61和62開啟,因此不能使用其他方法或裝置讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。
另外,在本實施方式中,當一個控制信號變為高電平時,保護電路31~34內的緩沖器61和62開啟,比如,在輸入第一~第四的控制信號后,第一控制信號變為高電平時,保護電路31內的緩沖器61和62開啟;在第二控制信號變為高電平時,保護電路32內的緩沖器61和62開啟;第三控制信號變為高電平時,保護電路33內的緩沖器61和62開啟;第四控制信號變為高電平時,保護電路34內的緩沖器61和62開啟。這樣,為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據,就可以設定保密級,并根據保密級實現數據等的讀取。
再有,第一~第四的控制信號被編碼,保護解除電路13對第一~第四的控制信號進行解碼,根據解碼結果,可以開啟保護電路31~34中的任何一個或全部的緩沖器61和62。
同時,在保護解除電路13內部設有寄存器,當從外部對寄存器訪問時,也可以輸出高電平的保護解除信號。
另外,保護解除電路13在內部設有寄存器,當從外部將預定值的數據(解除鍵)寫入該寄存器時,也可以根據被寫入的數據,將保護電路31~34中的一個或全部的緩沖器61和62開啟。這樣,就可以為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據而設定保密級,以實現根據保密級的數據等的讀取。
再有,在保護解除電路13內部有多個寄存器,當從外部訪問這些寄存器時,也可以根據被訪問的寄存器,將保護電路31~34中的一個或所有的緩沖器61和62開啟。這樣,就可以為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據而設定保密級,以實現根據保密級進行數據等的讀取。
另外,在保護解除電路13內部有多個寄存器,當從外部向這些寄存器寫入預定值的數據(解除鍵)時,根據進行寫入的寄存器和被寫入的數據,可以將保護電路31~34中的一個或所有的緩沖器61和62開啟。這樣,就可以為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據而設定保密級,以實現根據保密級進行數據等的讀取。
還有,在本實施方式中,在ROM21、RAM22、寄存器23以及用戶電路24和CPU11之間,連接著保護電路31~34,比如,在只想防止ROM21內部的數據被讀取時,可以在ROM21和CPU11之間連接保護電路31,而不需要保護電路32~34。
另外,在系統LSI10未被連接到調試工具40上時,CPU11可以進行預定的運算處理。
下面,對本發明的第二實施方式進行介紹。圖5是本發明的第二實施方式所涉及的內電路仿真器示意圖。
如圖5所示,內電路仿真器71具有系統LSI72和調試工具40。
系統LSI72包括CPU11、調試電路12、保護解除電路13、ROM21、RAM22、寄存器23和25、用戶電路24和保護電路31~34。
在未與調試工具40連接時,CPU11讀取ROM21、RAM22、寄存器23或用戶電路24內部的數據或程序,并進行規定的運算。而CPU11在與調試工具40連接時,則根據調試工具40和調試電路12的指令,向保護解除電路13輸入高電平或低電平的控制信號。在本實施方式中,由于CPU11與調試工具40連接,所以,根據調試工具40和調試電路12的指令,向保護解除電路13輸出高電平或低電平的控制信號。
保護解除電路13從CPU11輸入控制信號。在控制信號是低電平時,保護解除電路13向保護電路31~34輸出低電平的保護解除信號。而在控制信號為高電平時,保護解除電路13向保護電路31~34輸出高電平的保護解除信號。
這樣,通過內電路仿真器71,CPU11根據調試工具40或調試電路12的指令向保護解除電路13輸出高電平的控制信號時,保護電路31~34內的緩沖器61和62呈開啟狀態,CPU11讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據并發送到調試工具40。這樣,用戶就可以讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。另外,當CPU11根據調試工具40或調試電路12的指令向保護解除電路13輸出低電平控制信號時,保護電路31~34內的緩沖器61和62關閉,CPU11便不能讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。這樣,就可以防止用戶讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。
在此,可以做到只讓那些被允許讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據的用戶(比如,進行軟件調試的技術人員)知道使CPU11輸出高電平控制信號的指令,而不讓其他的用戶知道。如果這樣做,既可以使被允許讀取ROM21、RAM22、寄存器23以及用戶電路24內部數據的用戶很容易地進行調試,又可能夠防止其他的用戶讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據等,而且,可以不管保護信號及保護解除信號的狀態,而讀取寄存器25內部的數據等。
還有,由于系統LSI72連接在調試工具40時,緩沖器61和62被關閉,所以不知道使CPU11輸出高電平控制信號的指令的用戶,解析系統LSI72非常困難。因此,不知道使CPU11輸出高電平控制信號的指令的用戶,在系統LSI72被連接在調試工具40的情況下,讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據則變得非常困難。
同時,在系統LSI72被連接在調試工具40的情況下,除了使CPU11輸出高電平的控制信號以外,還不能將緩沖器61和62開啟,因此,無法采用其他裝置或方法讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。
另外,在本實施方式中,當一個控制信號變為高電平時,保護電路31~34中的緩沖器61和62開啟,比如,CPU11向保護解除電路13輸出第一~第四的控制信號,當第一控制信號變為高電平時,保護電路31內的緩沖器61和62開啟;在第二控制信號變為高電平時,保護電路32內的緩沖器61和62開啟;第三控制信號變為高電平時,保護電路33內的緩沖器61和62開啟;第四控制信號變為高電平時,保護電路34內的緩沖器61和62開啟。這樣,就可以實現為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據設定保密級,并根據保密級進行讀取數據等。
再有,當第一~第四的控制信號被編碼后,保護解除電路13對第一~第四的控制信號進行解碼,根據解碼結果,可以將保護電路31~34中的任何一個或所有的緩沖器61和62開啟。
另外,在保護解除電路13內部具有寄存器,當該寄存器被CPU11訪問時,可以輸出高電平的保護解除信號。
進一步,在保護解除電路13內部設有寄存器,當該寄存器從CPU11寫入預定值的數據(解除鍵)時,根據寫入的數據,可以將保護電路31~34中的任何一個或所有的緩沖器61和62開啟。這樣,可實現為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據設定保密級,并根據保密級進行數據等的讀取。
還有,在保護解除電路13內部有多個寄存器,當這些寄存器被CPU11訪問時,可以根據被訪問的寄存器,將保護電路31~34中的任何一個或全部的緩沖器61和62開啟。這樣,可以實現為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據設定保密級,并根據保密級進行數據等的讀取。
進一步,在保護解除電路13內部有多個寄存器,當這些寄存器被CPU11寫入預定值的數據(解除鍵)時,根據執行寫入的寄存器和被寫入的數據,可以將保護電路31~34中的任何一個或全部的緩沖器61和62開啟。以此,可以實現為讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據設定保密級,并根據保密級讀取數據等。
還有,在本實施方式中,在ROM21、RAM22、寄存器23以及用戶電路24和CPU11之間,雖然連接有保護電路31~34,但,比如在只想防止ROM21內部的數據被讀取時,可以在ROM21和CPU11之間連接保護電路31,而不要保護電路32~34。
同時,在內電路仿真器71中,由于沒有必要像內電路仿真器1那樣從外部向保護解除電路13輸入控制信號,所以也不需要輸入控制信號而使用的端子和輸入控制信號而使用的特別裝置。
另外,在系統LSI72未被連接到調試工具40上時,CPU11可以進行預定的運算處理。
下面,對本發明的第三實施方式進行介紹。圖6是本發明的第三實施方式所涉及的內電路仿真器示意圖。
如圖6所示,內電路仿真器81具有系統LSI82和調試工具40。
系統LSI82包括CPU11、調試電路12、保護解除電路13、ROM21、RAM22、寄存器23和25、用戶電路24、保護電路31~34和串行接口電路83。
串行接口電路83按照預定的協議從外部接收串行信號,根據該串行信號,向保護解除電路13輸入高電平或低電平的控制信號。
從串行接口電路83將控制信號輸入到保護解除電路13中。在控制信號是低電平的時候,保護解除電路13向保護電路31~34輸出低電平的保護解除信號。而在控制信號是高電平的時候,保護解除電路13向保護電路31~34輸出高電平的保護解除信號。
這樣,通過內電路仿真器81,根據從外部輸入的串行信號,在串行接口電路83向保護解除電路13輸出高電平控制信號時,保護電路31~34中的緩沖器61和62開啟,CPU11讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據并發送到調試工具40中。這樣,用戶就可以讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。同時,在串行接口電路83根據從外部輸入的串行信號,向保護解除電路13輸出低電平控制信號時,保護電路31~34中的緩沖器61和62關閉,CPU11不能讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。這樣,就可以防止用戶讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據。
在此,可以做到只讓那些被允許讀取ROM21、RAM22、寄存器23以及用戶電路24內部數據的用戶(比如,進行軟件調試的技術人員等)知道使串行接口電路83輸出高電平控制信號的串行信號以及協議,而不讓其他用戶知道。這樣,被允許讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據的用戶就可以很容易地進行調試,同時可以防止其他的用戶讀取ROM21、RAM22、寄存器23以及用戶電路24內部的數據等,而且,可以不管保護信號及保護解除信號的狀態,而讀取寄存器25內部的數據等。
還有,當系統LSI82被連接在調試工具40上時,將緩沖器61和62關閉,這樣不知道使串行接口電路83輸出高電平控制信號及協議規定的用戶就難以進行系統LSI82的解析。所以不清楚使串行接口電路83輸出高電平控制信號的用戶,當系統LSI82被連接在調試工具40上時,讀取ROM21、RAM22、寄存器23及用戶電路24內部的數據就變得非常困難。
而且,系統LSI82被連接在調試工具40上時,除使串行接口電路83輸出高電平控制信號外,由于無法開啟緩沖器61和62,所以不能采用其他方法和裝置讀取ROM21、RAM22、寄存器23及用戶電路24內部的數據等。
另外,在本實施方式中,雖然一個信號變為高電平時,保護電路31~34內的緩沖器61和62為開啟狀態,但也可以如下設定比如串行接口電路83向保護解除電路13輸出第一~第四的控制信號,當第一控制信號變為高電平時,保護電路31內的緩沖器61和62開啟,當第二控制信號變為高電平時,保護電路32內的緩沖器61和62開啟,當第三控制信號變為高電平時,保護電路33內的緩沖器61和62開啟,當第四控制信號變為高電平時,保護電路34內的緩沖器61和62開啟。這樣,就可以實現為讀取ROM21、RAM22、寄存器23及用戶電路24的數據設保密級,并按照保密級讀取數據。
還可以進一步將第一~第四控制信號進行編碼,保護解除電路13對第一~第四控制信號進行解碼,根據解碼結果,使保護電路31~34中的任一電路或所有的緩沖器61和62開啟。這樣,可以為讀取ROM21、RAM22、寄存器23及用戶電路24的數據設保密級,按保密級讀取數據。
另外,在本實施方式中,雖然采用了串行接口電路83,但是也可以采用并行接口。
還有,在本實施方式中,在ROM21、RAM22、寄存器23及用戶電路24與CPU11之間連接著保護電路31~34,但是,例如在只防止ROM21內部數據被讀取時,也可以在ROM21與CPU11之間連接保護電路31,而不要保護電路32~34。
另外,當系統LSI82未被連接在調試工具40上時,CPU11可以進行預定的運算處理。
同時,在第一~第三實施方式中,雖然保護電路31~34具有輸入輸出緩沖器51~58(參照圖3),但是根據需要,保護電路31~34即可以具有如圖7所示的輸出緩沖器91~98,還可以具有如圖8所示的輸入緩沖器101~108。
另外,保護電路31~34如圖9所示,還可以具有包含緩沖器61和62、與非門電路84和85在內的輸入輸出緩沖器111~118。
如上所述,根據本發明輸入預定的數據或信號時,就可以讀取內部數據或程序,這樣,能夠簡單地實現軟件調試用戶可以讀取內部數據,而其他用戶不能讀取內部數據等目的。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的權利要求范圍之內。
附圖標記說明1、71、81內電路仿真器10、72、82系統大規模集成電路11CPU12調試電路13保護解除電路
21ROM22RAM23寄存器24用戶電路31~34保護電路40調試工具51~58、111~118輸入輸出緩沖器59與門電路61、62緩沖器83串行接口電路84、85與非門電路91~98輸出緩沖器101~108輸入緩沖器
權利要求
1.一種半導體裝置,其具有進行預定運算的運算處理電路以及具有預定功能的M個(M為自然數)功能模塊,當與外部調試工具連接時,將所述功能模塊內的數據或程序發送至所述調試工具,其包括N個第一電路,被分別連接在所述M個功能模塊內的預定的N個(N為小于等于M的自然數)功能模塊與所述運算處理電路之間,根據指示,分別在所述N個功能模塊和所述運算處理電路之間進行數據或程序的傳輸;第二電路,當與所述調試工具連接時,其響應于所述調試工具發出的指示,在控制所述運算處理電路的同時,指示所述N個第一電路不在所述N個功能模塊與所述運算處理電路之間進行數據或程序傳輸;以及第三電路,當其接收到預定的數據和信號時,指示所述N個第一電路中的響應所述數據或信號的第一電路進行所述功能模塊與所述運算處理電路之間的數據或程序的傳輸,而忽略所述第二電路發出的指示;所述運算處理電路,在未與所述調試工具連接時,其與所述M個功能模塊之間進行數據或程序的收發的同時進行預定的運算;當與所述調試工具連接時,則通過所述N個第一電路讀取所述(M-N)個功能模塊內的數據或程序,以及讀取所述N個功能模塊內的數據或程序,然后發送給所述調試工具。
2.根據權利要求1所述的半導體裝置,其特征在于所述第三電路接收多個數據和信號,指示響應所述多個數據和信號的第一電路進行所述功能模塊和所述運算處理電路之間的數據或程序的傳輸,而忽略所述第二電路發出的指示。
3.根據權利要求1或2所述的半導體裝置,其特征在于所述第三電路,接收已編碼的數據或信號,并對所述已編碼的數據或信號進行解碼,指示響應所述已解碼數據或信號的第一電路進行所述功能模塊和所述運算處理電路之間的數據或程序的傳輸,而忽略所述第二電路發出的指示。
4.根據權利要求1所述的半導體裝置,其特征在于所述第三電路具有寄存器,當所述寄存器被訪問時,指示所述N個第一電路進行所述功能模塊和所述運算處理電路之間的數據或程序的傳輸,而忽略所述第二電路發出的指示。
5.根據權利要求1或4所述的半導體裝置,其特征在于所述第三電路具有寄存器,當將預定的數據寫入所述寄存器中時,指示響應寫入所述寄存器的數據的第一電路進行所述功能模塊與所述運算處理電路之間的數據或程序的傳輸,而忽略所述第二電路發出的指示。
6.根據權利要求1或4所述的半導體裝置,其特征在于所述第三電路具有多個寄存器,當所述寄存器被訪問時,指示響應所述被訪問的寄存器的第一電路進行所述功能模塊與所述運算處理電路之間的數據或程序的傳輸,而忽略所述第二電路發出的指示。
7.根據權利要求1或4所述的半導體裝置,其特征在于所述第三電路具有多個寄存器,當在所述多個寄存器中的任何一個或全部被寫入預定的數據時,指示響應所述被訪問的寄存器或被寫入所述寄存器內的數據的第一電路進行所述功能模塊與所述運算處理電路之間的數據或程序的傳輸,而忽略所述第二電路發出的指示。
8.根據權利要求1~7中任一所述的半導體裝置,其特征在于由所述運算處理裝置或從外部供給所述數據或信號。
9.根據權利要求4~7中任一所述的半導體裝置,其特征在于由所述運算處理裝置或從外部訪問所述寄存器。
10.根據權利要求1~7中任一所述的半導體裝置,其特征在于,還具有第四電路,其根據特定的協議從外部接收數據,所述第四電路基于從外部接收的數據,向所述第三電路輸出數據或信號。
11.一種內電路仿真器,其具有權利要求1~10中任一所述的半導體裝置,以及連接至所述半導體裝置內的所述運算處理電路及所述第二電路的調試工具。
全文摘要
提供一種能夠在輸入預定的數據或信號時,讀取內部數據或程序的半導體裝置等。其具有保護電路(31)~(34),被分別連接在ROM(21)、RAM(22)、寄存器(23)及用戶電路(24)與CPU(11)之間;調試電路(12),當其被連接在調試工具(40)上時,在控制CPU(11)的同時,指示保護電路不進行數據傳輸;保護解除電路(13),其在接收了預定的信號時,指示保護電路(31)~(34)進行數據傳輸,而忽略來自調試電路(12)的指示;以及CPU(11),用于在未與調試工具(40)連接時,進行預定的運算。
文檔編號H04L1/22GK1489051SQ03156030
公開日2004年4月14日 申請日期2003年8月27日 優先權日2002年8月27日
發明者水田雅彥, 岡義美 申請人:精工愛普生株式會社