(57)【要約】【課題】既存のテスト回路を用いてセキュリティ性を高める。【解決手段】マイクロコンピュータ（ＬＳＩａ）は、テスト回路に加えて、テスト用制御端子（ＴＣＫ，ＴＲＳＴ＿，ＴＭＳ）に接続された第２入出力制御回路（ＴＡＰ０）、シフトレジスタ（ＳＲＥＧ０）、第１レジスタ（ＳＩＲ）、第２レジスタ（ＳＩＭＲ）、ゲート回路（ＡＮＤ，ＥＸＯＲ）等を有する。シフトレジスタは、データ入出力端子（ＴＤＩ，ＴＤＯ）に接続され、第２入出力制御回路により、データ入出力端子からのパスワードの入出力動作が制御される。第１レジスタには、シフトレジスタからパスワードが転送される。第２レジスタは、外部から読み書き不能であり固有値とされるマスターキーコードが格納されている。ゲート回路は、両者を比較し、一致すればテスト結果を出力するスキャンパスシフトレジスタ（ＳＲＥＧ１）とデータ入出力端子間の経路を接続し、不一致であれば経路を遮断する。【選択図】図１
2008152421.tif 000002
【特許請求の範囲】
【請求項１】
スキャンパスシフトレジスタに接続されたロジック回路と、
前記ロジック回路の入出力を制御する第１入出力制御回路と、
前記第１入出力制御回路に接続されたテスト用制御端子と、
前記スキャンパスシフトレジスタに接続されたテスト用のデータ入出力端子と、を有する半導体集積回路であって、
前記テスト用制御端子に接続された第２入出力制御回路と、
前記データ入出力端子に接続され、前記第２入出力制御回路によって、前記データ入出力端子からのパスワードの入出力動作が制御されるシフトレジスタと、
前記シフトレジスタに入力された前記パスワードが転送される第１レジスタと、
外部から読み書き不能であって、固有値とされるマスターキーコードが格納された第２レジスタと、
前記パスワードと前記マスターキーコードとを比較し、一致すれば前記スキャンパスシフトレジスタと前記データ入出力端子間の経路を接続し、不一致であれば前記経路を遮断するゲート回路と、を有する半導体集積回路。
【請求項２】
前記第１レジスタは、前記第２入出力制御回路からの制御信号によって、前記パスワードを取込む請求項１記載の半導体集積回路。
【請求項３】
前記第１レジスタは、前記ロジック回路の動作基準クロック信号に同期して前記パスワードを取込む請求項１記載の半導体集積回路。
【請求項４】
前記経路が遮断されていることを外部に通知するための通知情報が格納されている記憶回路を更に備え、
前記ゲート回路は、前記パスワードと前記マスターキーコードが不一致であれば、前記記憶回路と前記データ入出力端子間の経路を接続する請求項１乃至請求項３の何れか１項記載の半導体集積回路。
【請求項５】
テスト用制御端子と、
テスト用のデータ入出力端子と、
半導体集積回路の内部状態を示す情報を出力可能なテスト回路と、
前記テスト回路に接続された内部トレース用出力端子と、を有する半導体集積回路であって、
前記テスト用制御端子に接続された入出力制御回路と、
前記データ入出力端子に接続され、前記入出力制御回路によって、前記データ入出力端子からのパスワードの入出力動作が制御されるシフトレジスタと、
前記シフトレジスタに入力された前記パスワードが転送される第１レジスタと、
外部から読み書き不能であって、固有値とされるマスターキーコードが格納された第２レジスタと、
前記パスワードと前記マスターキーコードとを比較し、一致すれば前記テスト回路と前記内部トレース用出力端子間の経路を接続し、不一致であれば前記経路を遮断するゲート回路と、を有する半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に係り、特にＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）により規定されたＪＴＡＧ端子を有する半導体集積回路に関し、例えば携帯機器向けシステムＬＳＩやマイクロプロセッサに適用して有効な技術に関する。
【背景技術】
【０００２】
近年、高集積化が促進された半導体集積回路には、テスト容易化技術が必要とされており、バウンダリスキャンの規格として採用されたＪＴＡＧ端子を備えたものがある。ＪＴＡＧ端子は、外部から読み出し可能なポートであり、例えばデバイステスト時にはテスタが接続される。テスタは、ＪＴＡＧ端子を介して半導体集積回路にテストモードを指示する信号やテストデータを入力し、半導体集積回路内の被テスト回路のテスト結果を読み出し可能とする。
【０００３】
その一方で、半導体集積回路内には、個人情報、機密情報等の秘匿データが記憶されるようになり、秘匿データが外部に漏れないようなセキュリティ性が求められている。しかし、上記したＪＴＡＧ端子を用いれば、秘匿データを外部に読み出すことが可能となる場合があり、テスト容易性とセキュリティ性を共に向上させることは困難であった。
【０００４】
特許文献１には、フラッシュＲＯＭにセキュリティビットＳＥＱを書込み、ＪＴＡＧポートとＴＡＰ（Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ）の間に、セキュリティビットＳＥＱで制御され、信号の禁止や許可を行うＪＴＡＧ制御回路を設けた半導体回路についての記載がある。特許文献２には、ＪＴＡＧポートとＴＡＰの間にスイッチ部を設け、ＪＴＡＧポートに入力されたデータとフラッシュＲＯＭに記憶されたデータを比較し、一致したらフラッシュＲＯＭのセキュリティビットＳＥＱがセットされた状態であっても、スイッチ部をオン状態にするセキュリティ解除手段を設けたマイクロコンピュータが開示されている。
【０００５】
【特許文献１】特開２００２−３２２６７号公報
【特許文献２】特開２００２−１８３１０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明者は、ＪＴＡＧ端子、ＴＡＰ及びスキャンパスレジスタ等からなる既存のテスト回路を利用して、テスト容易性を損なわずにセキュリティ性を高める手段について検討した。特許文献１，２では、セキュリティビットをセットした後でも、特定の操作によりＪＴＡＧポートを使用してデバイステストを行うことができるものの、セキュリティを解除するためにＪＴＡＧポートに入力される情報（パスワード）の入出力動作の制御が既存のＴＡＰではなく、新たな回路で行われており、回路構成が複雑になってしまうという問題があった。さらに、セキュリティビットが外部から書換え可能であり、そのセキュリティビットを用いてＪＴＡＧ制御回路やスイッチ回路が制御されるため、セキュリティ性が損なわれてしまう可能性もある。
【０００７】
本発明の目的は、既存のテスト回路を用いてセキュリティ性を高めることができる半導体集積回路を提供することにある。
【０００８】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【００１０】
即ち、半導体集積回路は、ゲート回路において、第２入出力制御回路からの制御信号に応じて、データ入力端子からシフトレジスタに取込まれて転送され、第１レジスタにラッチされたパスワードと、第２レジスタに格納されたマスターキーコードとを比較する。パスワードとマスターキーコードが不一致であれば、スキャンパスシフトレジスタとデータ入出力端子間の経路を遮断することにより、セキュリティ性を高めることができる。
【発明の効果】
【００１１】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１２】
すなわち、既存のテスト回路を用いてセキュリティ性を高めることができる。
【発明を実施するための最良の形態】
【００１３】
１．代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１４】
〔１〕本発明の代表的な実施の形態に係る半導体集積回路（ＬＳＩａ，ＬＳＩｂ）は、スキャンパスシフトレジスタ（ＳＲＥＧ１）に接続されたロジック回路（ＬＯＧＩＣ）と、前記ロジック回路の入出力を制御する第１入出力制御回路（ＴＡＰ１）とを有する。また、半導体集積回路は、前記第１入出力制御回路に接続されたテスト用制御端子（ＴＣＫ，ＴＲＳＴ＿，ＴＭＳ）と、前記スキャンパスシフトレジスタに接続されたテスト用のデータ入出力端子（ＴＤＩ，ＴＤＯ）と、を有する。さらに、半導体集積回路は、前記テスト用制御端子に接続された第２入出力制御回路（ＴＡＰ０）と、シフトレジスタ（ＳＲＥＧ０）と、第１レジスタ（ＳＩＲ）と、第２レジスタ（ＳＩＭＲ）と、ゲート回路（ＡＮＤ，ＥＸＯＲ）とを有する。シフトレジスタは、前記データ入出力端子に接続され、前記第２入出力制御回路によって、前記データ入出力端子からのパスワードの入出力動作が制御される。第１レジスタは、前記シフトレジスタに入力された前記パスワードが転送される。第２レジスタは、外部から読み書き不能であって、固有値とされるマスターキーコードが格納されている。ゲート回路は、前記パスワードと前記マスターキーコードとを比較し、一致すれば前記スキャンパスシフトレジスタと前記データ入出力端子間の経路を接続し、不一致であれば前記経路を遮断する。
【００１５】
上記より、パスワードは、第２入出力制御回路からの制御信号に応じて、データ入力端子からシフトレジスタに取込まれて転送され、第１レジスタにラッチされる。ゲート回路は、パスワードをマスターキーコードと比較し、両者が不一致であれば固定値を出力する。このため、既存のテスト回路として機能するスキャンパスシフトレジスタの出力側にゲート回路を配置した場合には、両者が不一致であれば、スキャンパスシフトレジスタが被テスト回路とされるロジック回路から取込んだテスト結果がデータ出力端子から外部に読み出されることを制限できる。また、スキャンパスシフトレジスタの入力側にゲート回路を配置した場合には、両者が不一致であれば、テストデータ自体がスキャンパスシフトレジスタに入力されないから、テスト結果そのものが得られない。従って、正しいパスワードを設定しない限り、テスト結果を外部に読み出すことができないから、正しいパスワードを取得していない第三者がテスト結果に基づいて個人情報、機密情報等の秘匿データを不正に解読することはできず、セキュリティ性を高めることができる。さらに、マスターキーコードは、外部から読み書き不能であって固定値とされるから、第三者により不正に解読されたり改竄されることを回避でき、セキュリティ性を高めることができる。
【００１６】
具体的な一つの形態として、前記第１レジスタは、前記第２入出力制御回路からの制御信号（φ３）によって、前記パスワードを取込む。上記より、第１レジスタは、制御信号に含まれるラッチ用クロック信号に応じてパスワードをラッチする。このパスワードは、第２入出力制御回路からの制御信号に含まれるクロック信号に同期してパスワードを取込むシフトレジスタから転送されたものである。これらのラッチ用クロック信号とクロック信号は、テスト用制御端子から取込まれるテストクロック信号に同期しているから、シフトレジスタから第１レジスタへのパスワード転送を容易に行うことができる。
【００１７】
別の形態として、前記第１レジスタは、前記ロジック回路の動作基準クロック信号（ＣＫ４）に同期して前記パスワードを取込む。上記より、第１レジスタは、第２入出力制御回路からシフトレジスタに出力されるクロック信号とは非同期の動作基準クロック信号に応じて、パスワードをラッチするようにしてもよい。
【００１８】
更に別の形態として、前記経路が遮断されていることを外部に通知するための通知情報が格納されている記憶回路（ＲＯＭ）を更に備える。前記ゲート回路は、前記パスワードと前記マスターキーコードが不一致であれば、前記記憶回路と前記データ入出力端子間の経路を接続する。上記より、スキャンパスシフトレジスタとデータ入出力端子間の経路が切断されているときに、その旨を通知情報によって外部に通知できる。これにより、正しいパスワードが設定されていないこと等を例えばテスタ側で容易に認識できる。
【００１９】
〔２〕別の観点によれば、半導体集積回路（ＬＳＩｄ）は、テスト用制御端子と、テスト用のデータ入出力端子と、半導体集積回路の内部状態を示す情報を出力可能なテスト回路（ＤＢＧｇ）と、前記テスト回路に接続された内部トレース用出力端子（ＡＵＤＣＫ，ＡＵＤＳＹＮＣ，ＡＵＤＡＴＴＡ）と、を有する。半導体集積回路は、前記テスト用制御端子に接続された入出力制御回路と、シフトレジスタと、第１レジスタと、第２レジスタと、ゲート回路（ＡＮＤｇ，ＥＸＯＲｇ）とを有する。シフトレジスタは、前記データ入出力端子に接続され、前記入出力制御回路によって、前記データ入出力端子からのパスワードの入出力動作が制御される。第１レジスタは、前記シフトレジスタに入力された前記パスワードが転送される。第２レジスタは、外部から読み書き不能であって、固有値とされるマスターキーコードが格納されている。ゲート回路は、前記パスワードと前記マスターキーコードとを比較し、一致すれば前記テスト回路と前記内部トレース用出力端子間の経路を接続し、不一致であれば前記経路を遮断する。
【００２０】
上記より、テスト用制御端子とテスト用のデータ入出力端子だけでなく、テスト回路に接続された内部トレース用出力端子を有する半導体集積回路に対して、半導体集積回路の内部状態を含むテスト結果が内部トレース用出力端子を介して外部に読み出されることを選択的に制限できるから、セキュリティ性を高めることができる。
【００２１】
２．実施の形態の説明
次に、実施の形態について更に詳述する。
【００２２】
《実施形態１》
図２には、本発明の実施形態１に係る半導体集積回路の概略構成が例示される。半導体集積回路ＬＳＩａは、特に制限されないが、公知の半導体集積回路製造技術によって単結晶シリコンのような１個の半導体チップに形成されている。半導体集積回路ＬＳＩａは、バウンダリスキャンの規格として採用された１組のＪＴＡＧ端子を有しており、不図示のテスタを接続することで、各種デバイステストが可能とされる。ＪＴＡＧ端子は、テスト用制御端子とされるテストクロック端子ＴＣＫ、テストモードセレクト端子ＴＭＳ及びテストリセット端子ＴＲＳＴ＿と、テスト用のデータ入出力端子とされるテストデータ入力端子ＴＤＩ及びテストデータ出力端子ＴＤＯとを有する。
【００２３】
また、半導体集積回路ＬＳＩａは、複数の中央処理装置ＣＰＵ０〜ＣＰＵｎと、これらの中央処理装置ＣＰＵ０〜ＣＰＵｎに対応したデバッグ回路ＤＢＧ０〜ＤＢＧｎと、回路モジュールＰＴＡＰと、メモリＭｅｍｏｒｙ等を有し、互いにバスＢＵＳを介して接続されている。さらに、半導体集積回路ＬＳＩａは、所定の機能を有するＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）モジュールとも称される複数の論理ブロックＩＰ０〜ＩＰｎと、仕様の異なる中央処理装置ＣＰＵｎと他の中央処理装置とをバスＢＵＳに接続するためのバスブリッジ回路ＢＲＤを有している。メモリＭｅｍｏｒｙには、例えばプログラムや、このプログラムにより処理されるデータ等が格納される。データは、メモリＭｅｍｏｒｙに格納されているときは暗号化されている。しかし、データは、中央処理装置ＣＰＵ０〜ＣＰＵｎがプログラムを実行するときには、データ処理が可能なように復号化される。このとき、ＪＴＡＧ端子を介してテスタからアクセスされると、中央処理装置ＣＰＵ０〜ＣＰＵｎ内の各種レジスタの内部状態を示す情報（以下、内部状態情報という）がテスタに読み出し可能とされてしまう。そして、この内部状態情報に、個人情報、機密情報等の秘匿データが含まれている場合には、秘匿データが第三者により不正に解読されてしまう可能性がある。そこで、デバッグ回路ＤＢＧ０〜ＤＢＧｎは、デバイステスト時、更にはデバッグ時に用いられるテスト回路に加えて、上記内部状態情報がＪＴＡＧ端子を介してテスタに読み出されることを選択的に制限する回路モジュールＬＯＣＫを備えている。回路モジュールＰＴＡＰは、ＪＴＡＧ端子と各デバッグ回路ＤＢＧ０〜ＤＢＧｎの間に配置されており、テスタから特定のデバッグ回路が指定されると、その指定されたデバッグ回路とＪＴＡＧ端子とを接続する機能と、後述するパスワード設定機能等を有している。
【００２４】
図３には、半導体集積回路ＬＳＩａの一部が例示されている。同図には、テスタからデバッグ回路ＤＢＧ０が指定され、回路モジュールＰＴＡＰにより、デバッグ回路ＤＢＧ０とＪＴＡＧ端子が接続された状態が示されている。デバッグ回路ＤＢＧ０は、第１入出力制御回路ＴＡＰ１と、回路モジュールＬＯＣＫ等とを備えている。第１入出力制御回路ＴＡＰ１は、不図示のデコーダを有し、回路モジュールＰＴＡＰを介してテスト用制御端子に接続され、例えばテストモードセレクト信号をデコードし、デコード結果がテストモードであれば、回路モジュールＬＯＣＫ内に配置されたスキャンパスシフトレジスタＳＲＥＧ１に制御信号φ１（後述）を出力する。回路モジュールＬＯＣＫは、回路モジュールＰＴＡＰを介してテスト用のデータ入出力端子に接続され、さらに、回路モジュールＰＴＡＰ内に配置された第１レジスタＳＩＲと接続されている。
【００２５】
以下、回路モジュールＬＯＣＫと回路モジュールＰＴＡＰについて更に詳細に説明する。図１には、回路モジュールＬＯＣＫ及び回路モジュールＰＴＡＰの回路構成が詳細に例示されている。回路モジュールＬＯＣＫは、ロジック回路ＬＯＧＩＣと、スキャンパスシフトレジスタＳＲＥＧ１と、第２レジスタＳＩＭＲと、排他的論理和を採りその出力を否定するゲート回路ＥＸＯＲと、アンドゲート回路ＡＮＤ等を有する。ロジック回路ＬＯＧＩＣは、スキャンパスシフトレジスタＳＲＥＧ１に接続されており、図示のように中央処理装置ＣＰＵ０等を含んでいるものとする。スキャンパスシフトレジスタＳＲＥＧ１は、入力側がテストデータ入力端子ＴＤＩに接続され、出力側がアンドゲート回路ＡＮＤに接続されており、テストモードにおいて上記第１入出力制御回路ＴＡＰ１からの制御信号φ１により入出力動作が制御される。制御信号φ１は、クロック信号ＣＫ１と、制御信号ＣＮＴ１〜ＣＮＴ４とを含む。クロック信号ＣＫ１は、テストクロック端子ＴＣＫからのテストクロック信号に同期する信号である。制御信号ＣＮＴ１は、テストデータ入力端子ＴＤＩからテストデータを取込ませるための信号である。制御信号ＣＮＴ２は、取込んだテストデータを被テスト回路とされる例えば中央処理装置ＣＰＵ０に出力させるための信号である。制御信号ＣＮＴ３は、被テスト回路によるテスト結果を取込ませるための信号である。制御信号ＣＮＴ４は、取込んだテスト結果をアンドゲート回路ＡＮＤに出力させるための信号である。このように、スキャンパスシフトレジスタＳＲＥＧ１は、第１入出力制御回路ＴＡＰ１からの制御信号φ１に応じてテスト回路として機能する。
【００２６】
以下、アンドゲート回路ＡＮＤ、ゲート回路ＥＸＯＲ及び第２レジスタＳＩＭＲの機能等については、回路モジュールＰＴＡＰと共に図４に例示されたフローチャートを参照して説明する。回路モジュールＰＴＡＰは、第２入出力制御回路ＴＡＰ０と、シフトレジスタＳＲＥＧ０と、第１レジスタＳＩＲと、セレクタＳＥＬと、アンドゲート回路ＡＮＤ１〜３等とを有する。第２入出力制御回路ＴＡＰ０は、不図示のデコーダを有し、テスト用制御端子に接続され、例えばテストモードセレクト信号をデコードし、デコード結果がパスワード設定を行うモード（以下、パスワード設定モードという）であれば、シフトレジスタＳＲＥＧ０に制御信号φ２を出力し、第１レジスタＳＩＲに制御信号φ３を出力し、セレクタＳＥＬに制御信号φ４を出力する。シフトレジスタＳＲＥＧ０は、シリアルイン・パラレルアウト方式であって、入力側がテストデータ入力端子ＴＤＩに接続され、出力側が第１レジスタＳＩＲとセレクタＳＥＬに接続されており、パスワード設定モードにおいて上記第２入出力制御回路ＴＡＰ０からの制御信号φ２により入出力動作が制御される。制御信号φ２は、クロック信号ＣＫ２と、制御信号ＣＮＴ５，ＣＮＴ６とを含む。クロック信号ＣＫ２は、テストクロック信号と同一周波数を有し、テストクロック信号に同期する信号である。制御信号ＣＮＴ５は、テストデータ入力端子ＴＤＩからパスワードを取込ませるための信号である。制御信号ＣＮＴ６は、取込んだパスワードを第１レジスタＳＩＲに転送させるための信号である。即ち、シフトレジスタＳＲＥＧ０は、テスタからのテストモードセレクト信号を第２入出力制御回路ＴＡＰ０がデコードすることで得られる制御信号ＣＮＴ５が入力されると、クロック信号ＣＫ２に同期して、テストデータ入力端子ＴＤＩから所定ビット数（例えば８ビット）のパスワードをシリアルに取込む（Ｓ１）。その後、シフトレジスタＳＲＥＧ０は、制御信号ＣＮ６が入力されると、クロック信号ＣＫ２に同期して、取込んだパスワードを第１レジスタＳＩＲにパラレルに転送する（Ｓ２）。
【００２７】
第１レジスタＳＩＲは、例えばＤ型フリップフロップからなり、シフトレジスタＳＲＥＧ０からパラレルに転送されたパスワードを制御信号φ３に応じてラッチする。制御信号φ３は、テストクロック信号と同一周波数であり、転送されたパスワードをラッチするためのラッチ用クロック信号ＣＫ３を含む。このため、ステップＳ２において、パスワードの転送元となるシフトレジスタＳＲＥＧ０に出力されるクロック信号ＣＫ２と、パスワードの転送先となる第１レジスタＳＩＲに出力されるラッチ用クロック信号ＣＫ３とが同期しているから、パスワード転送を容易に行うことができる。セレクタＳＥＬは、シフトレジスタＳＲＥＧ０の出力側と上記アンドゲート回路ＡＮＤの出力側に接続され、選択信号とされる制御信号φ４に応じて、いずれかを選択してテストデータ出力端子ＴＤＯに接続する。第２入出力制御回路ＴＡＰ０は、シフトレジスタＳＲＥＧ０にパスワードが取込まれるまでは、シフトレジスタＳＲＥＧ０の出力側が選択されるようにセレクタＳＥＬを制御する。これにより、例えばシフトレジスタＳＲＥＧ０にパスワードが取込まれる前に保持されていたデータをテストデータ出力端子ＴＤＯからテスタに読み出すことができる。また、第２入出力制御回路ＴＡＰ０は、シフトレジスタＳＲＥＧ０にパスワードが取込まれ、第１レジスタＳＩＲに転送された後には、アンドゲート回路ＡＮＤの出力側が選択されるようにセレクタＳＥＬを制御する。これにより、アンドゲート回路ＡＮＤの出力は、テストデータ出力端子ＴＤＯからテスタに読み出すことができる。また、アンドゲート回路ＡＮＤ１〜３は、テスト用制御端子からの信号と、第２入出力制御回路ＴＡＰ０からの信号との論理積を採る。この第２入出力制御回路ＴＡＰ０からの信号とは、複数のデバッグ回路ＤＢＧ０〜ＤＢＧｎのうちテスタから指定されたデバック回路（ここでは、デバッグ回路ＤＢＧ０）を示す情報がテストデータ入力端子ＴＤＩから入力され、不図示の信号線等を介して第２入出力制御回路ＴＡＰ内にフラグがセットされることで発生する。つまり、アンドゲート回路ＡＮＤ１〜３は、テスタで指定されたデバッグ回路ＤＢＧ０だけをテスト用制御端子に接続する機能を有する。
【００２８】
再び、パスワードについて説明する。第１レジスタＳＩＲにラッチされたパスワードは、ゲート回路ＥＸＯＲの１入力とされる。第２レジスタＳＩＭＲには、外部から読み書き不能であって、固定値とされるマスターキーコード（例えば８ビット）が格納されている。第２レジスタＳＩＭＲの出力は、ゲート回路ＥＸＯＲの１入力とされる。パスワードは、ゲート回路ＥＸＯＲによりマスターキーコードの各ビットと比較される（Ｓ３）。ステップＳ３において、ゲート回路ＥＸＯＲは、パスワードとマスターキーコードの全ビットが一致したとき、ハイレベルを出力する。ゲート回路ＥＸＯＲの出力は、アンドゲート回路ＡＮＤの１入力とされる。また、スキャンパスシフトレジスタＳＲＥＧ１は、上記したように制御信号ＣＮＴ４に応じて、被テスト回路から取込んだテスト結果をアンドゲート回路ＡＮＤに出力する。つまり、スキャンパスシフトレジスタＳＲＥＧ１から出力されるテスト結果は、アンドゲート回路ＡＮＤの１入力とされる。即ち、アンドゲート回路ＡＮＤは、ステップＳ３によりパスワードがマスターキーコードに一致すれば、テスト結果を出力することになる。セレクタＳＥＬは、アンドゲート回路ＡＮＤがテスト結果を出力するときには、シフトレジスタＳＲＥＧ０ではなくアンドゲート回路ＡＮＤの出力を選択して、テストデータ出力端子ＴＤＯに接続するように制御されている。これにより、アンドゲート回路ＡＮＤから出力されたテスト結果は、セレクタＳＥＬを介してテストデータ出力端子ＴＤＯからテスタに出力される（Ｓ４）。一方、ステップＳ３においてパスワードとマスターキーコードが不一致であれば、ゲート回路ＥＸＯＲはローレベルを出力する。このとき、アンドゲート回路ＡＮＤは、常にローレベルを出力する（Ｓ５）。
【００２９】
このように、ゲート回路ＥＸＯＲ及びアンドゲート回路ＡＮＤによれば、パスワードとマスターキーコードが不一致であれば、スキャンパスシフトレジスタＳＲＥＧ１とテストデータ出力端子ＴＤＯ間の経路を遮断して、テスト結果がテスタに読み出されてしまうことを制限できる。従って、正しいパスワードを設定しない限り、テスト結果をテスタに読み出すことができないので、テスト結果に含まれる内部状態情報に基づいて秘匿データが第三者により不正に解読されるような事態を回避できるから、セキュリティ性を高めることができる。一方、パスワードとマスターキーコードが一致すれば、スキャンパスシフトレジスタＳＲＥＧ１からのテスト結果がテストデータ出力端子ＴＤＯから出力されるので、テスタを用いて各種デバイステストを行うことができ、テスト容易性は損なわれない。
【００３０】
図５には、マスターキーコードを第２レジスタＳＩＭＲに格納する方法が例示される。マスターキーコードは、図示のように設計段階においてＲＴＬ記述で設定されるか、又はＲＴＬ記述と共に論理合成されるＩＯファイルに設定される。ＩＯファイルには、ＲＴＬ記述で示される論理素子に対する信号の入出力タイミング等が定義されている。そして、ＲＴＬ記述はＩＯファイルと共に論理合成され、Ｇａｔｅレベルのネットリストに変換される。即ち、マスターキーコードは、Ｇａｔｅレベルで第２レジスタＳＩＭＲに格納されることになる。Ｇａｔｅレベルのネットリストに基づいてマスターキーコードを解読することは困難であるから、第三者がネットリストを入手しても、マスターキーコードを得ることはできない。仮に、設計後にマスターキーコードを任意に設定可能としてしまうと、マスターキーコードを示す情報そのものが存在することになる。そして、その情報が第三者に入手されてしまうと、第三者が上記テストデータ入力端子ＴＤＩからマスターキーコードと一致するパスワードを設定し、テスト結果をテスタに読み出すことが可能となり、秘匿データが解読されてしまう。要するに、半導体集積回路ＬＳＩａの設計段階でマスターキーコードを設定すれば、第三者によるマスターキーコードの解読を困難とし、セキュリティ性を高めることができる。
【００３１】
《実施形態２》
図６には、本発明の実施形態２に係る半導体集積回路内のデバッグ回路ＤＢＧａ及び回路モジュールＰＴＡＰａの回路構成が例示される。以下に例示する各実施形態２〜７では、上記した実施形態１に係る半導体集積回路ＬＳＩａと同一機能等を有する部分には同一符号を付し、説明が重複する部分については適宜省略する。デバッグ回路ＤＢＧａは、第１入出力制御回路ＴＡＰ１と回路モジュールＬＯＣＫａとを有する。回路モジュールＬＯＣＫａは、上記回路モジュールＬＯＣＫと異なり、スキャンパスシフトレジスタＳＲＥＧ１の入力側に、アンドゲート回路ＡＮＤａ及びゲート回路ＥＸＯＲａが配置されている。アンドゲート回路ＡＮＤａでは、回路モジュールＰＴＡＰａを介してテストデータ入力端子ＴＤＩから入力されるテストデータが１入力とされ、さらに、ゲート回路ＥＸＯＲａからの出力が１入力とされる。ゲート回路ＥＸＯＲａは、ゲート回路ＥＸＯＲと同様に、第１レジスタＳＩＲにラッチされたパスワードと第２レジスタＳＩＭＲに格納されたマスターキーコードを比較し、一致すればハイレベル、不一致であればローレベルをアンドゲート回路ＡＮＤａに出力する。
【００３２】
即ち、アンドゲート回路ＡＮＤａは、パスワードとマスターキーコードが一致すれば、スキャンパスシフトレジスタＳＲＥＧ１にテストデータを出力することになる。そして、スキャンパスシフトレジスタＳＲＥＧ１は、制御信号φ１に応じてテストデータを取込み、中央処理装置ＣＰＵ０から得たテスト結果を出力する。スキャンパスシフトレジスタＳＲＥＧ１の出力は、セレクタＳＥＬの１入力とされている。セレクタＳＥＬは、スキャンパスシフトレジスタＳＲＥＧ１がテスト結果を出力するときには、シフトレジスタＳＲＥＧ０ではなくスキャンパスシフトレジスタＳＲＥＧ１の出力側を選択するように制御されている。つまり、パスワードとマスターキーコードが一致すれば、スキャンパスシフトレジスタＳＲＥＧ１から出力されるテスト結果は、テストデータ出力端子ＴＤＯからテスタに読み出すことができ、テスト容易性は損なわれない。一方、アンドゲート回路ＡＮＤａは、パスワードとマスターキーコードが不一致であれば、スキャンパスシフトレジスタＳＲＥＧ１に常にローレベルを出力することになる。即ち、スキャンパスシフトレジスタＳＲＥＧ１には、テストデータ自体が入力されないことになり、テスト結果そのものを得られず、テスタにテスト結果が読み出されることがない。従って、スキャンパスシフトレジスタＳＲＥＧ１の入力側に、アンドゲート回路ＡＮＤａ及びゲート回路ＥＸＯＲａを配置しても、半導体集積回路ＬＳＩａと同様に、セキュリティ性を高めることができる。
【００３３】
《実施形態３》
図７には、本発明の実施形態３に係る半導体集積回路ＬＳＩｂ内のデバッグ回路ＤＢＧｂ及び回路モジュールＰＴＡＰｂの回路構成が例示されている。デバッグ回路ＤＢＧｂは、第１入出力制御回路ＴＡＰ１と、回路モジュールＬＯＣＫｂ等とを備えている。回路モジュールＬＯＣＫｂは、回路モジュールＰＴＡＰｂを介してテスト用のデータ入出力端子に接続され、さらに、第１レジスタＳＩＲを有している。このため、半導体集積回路ＬＳＩｂでは、パスワード設定モードにおいて、回路モジュールＰＴＡＰｂから回路モジュールＬＯＣＫｂにパスワード転送が行われることになる。
【００３４】
図８には、回路モジュールＬＯＣＫｂ及び回路モジュールＰＴＡＰｂの回路構成が詳細に例示されている。回路モジュールＬＯＣＫｂ内に配置された第１レジスタＳＩＲには、回路モジュールＰＴＡＰｂ内のシフトレジスタＳＲＥＧ０からパスワードが転送される。パスワード設定モードにおいて、パスワードの転送元となるシフトレジスタＳＲＥＧ０は、比較的低速なクロック信号ＣＫ２に同期してパスワードを転送する。また、パスワードの転送先となる第１レジスタＳＩＲには、ロジック回路ＬＯＧＩＣに含まれる中央処理装置ＣＰＵ０の比較的高速な動作基準クロック信号ＣＫ４が供給されている。このため、第１レジスタＳＩＲは、動作基準クロック信号ＣＫ４に同期して、パスワードをラッチすることになる。このため、半導体集積回路ＬＳＩｂでは、パスワードの転送元と転送先で非同期のクロック信号を用いることになるから、例えばシフトレジスタＳＲＥＧ０からクロック信号ＣＫ２に同期して転送されるパスワードを一時的に蓄え、動作基準クロック信号ＣＫ４に同期してパスワードを第１レジスタＳＩＲに転送する適宜の回路を配置するようにしてもよい。
【００３５】
図９は、半導体集積回路ＬＳＩｂの動作を例示するフローチャートである。パスワード設定モードにおいて、テスタからテストデータ入力端子ＴＤＩを介して回路モジュールＰＴＡＰｂ内のシフトレジスタＳＲＥＧ０にパスワードが設定される（Ｓ６）。設定されたパスワードは、回路モジュールＰＴＡＰｂ内のシフトレジスタＳＲＥＧ０から回路モジュールＬＯＣＫｂ内の第１レジスタＳＩＲに転送される（Ｓ７）。第１レジスタＳＩＲにラッチされたパスワードは、ゲート回路ＥＸＯＲｂによって第２レジスタＳＩＭＲに格納されたマスターキーコードと比較される（Ｓ８）。ステップＳ８において両者が一致すれば、スキャンパスシフトレジスタＳＲＥＧ１とテストデータ出力端子ＴＤＯ間の経路がアンドゲート回路ＡＮＤｂとセレクタＳＥＬを介して接続されることになるから、スキャンパスシフトレジスタＳＲＥＧ１からのテスト結果がテストデータ出力端子ＴＤＯを介してテスタに読み出される（Ｓ９）。これにより、テスタを用いたデバイステストを行うことができるから、テスト容易性は損なわれない。一方、ステップＳ８において両者が不一致であれば、上記経路が遮断され、テスト結果はアンドゲート回路ＡＮＤｂによりローレベルに固定される（Ｓ１０）。これにより、正しいパスワードを設定しなければ、テストデータ出力端子ＴＤＯからテスト結果を読み出すことができず、セキュリティ性を高めることができる。
【００３６】
《実施形態４》
図１０には、本発明の実施形態４に係る半導体集積回路内のデバッグ回路ＤＢＧｃ及び回路モジュールＰＴＡＰｃの回路構成が例示される。デバッグ回路ＤＢＧｃは、第１入出力制御回路ＴＡＰ１と回路モジュールＬＯＣＫｃとを有する。回路モジュールＬＯＣＫｃは、上記回路モジュールＬＯＣＫｂと異なり、スキャンパスシフトレジスタＳＲＥＧ１の入力側に、アンドゲート回路ＡＮＤｃ及びゲート回路ＥＸＯＲｃが配置されている。アンドゲート回路ＡＮＤｃでは、回路モジュールＰＴＡＰｃを介してテストデータ入力端子ＴＤＩから入力されるテストデータが１入力とされ、さらに、ゲート回路ＥＸＯＲｃからの出力が１入力とされる。ゲート回路ＥＸＯＲｃは、第１レジスタＳＩＲにラッチされたパスワードと第２レジスタＳＩＭＲに格納されたマスターキーコードを比較し、一致すればハイレベル、不一致であればローレベルをアンドゲート回路ＡＮＤｃに出力する。
【００３７】
即ち、パスワードとマスターキーコードが一致すれば、アンドゲート回路ＡＮＤｃを介してテストデータがスキャンパスシフトレジスタＳＲＥＧ１に入力される。そして、スキャンパスシフトレジスタＳＲＥＧ１から出力されるテスト結果は、セレクタＳＥＬを介してテストデータ出力端子ＴＤＯからツールに読み出すことができるから、テスト容易性は損なわれない。一方、上記両者が不一致であれば、アンドゲート回路ＡＮＤｃは、スキャンパスシフトレジスタＳＲＥＧ１に常にローレベルを出力する。この場合には、スキャンパスシフトレジスタＳＲＥＧ０にテストデータ自体が入力されず、テスト結果そのものが得られないから、ツールにテスト結果が読み出されることがない。従って、スキャンパスシフトレジスタＳＲＥＧ１の入力側に、アンドゲート回路ＡＮＤｃ及びゲート回路ＥＸＯＲｃを配置しても、半導体集積回路ＬＳＩｂと同様に、セキュリティ性を高めることができる。
【００３８】
《実施形態５》
図１１には、本発明の実施形態５に係る半導体集積回路ＬＳＩｃ内のデバッグ回路ＤＢＧｄと回路モジュールＰＴＡＰｄの回路構成が例示されている。デバッグ回路ＤＢＧｄは、第１入出力制御回路ＴＡＰ１と、回路モジュールＬＯＣＫｄ等とを備えている。回路モジュールＬＯＣＫｄは、回路モジュールＰＴＡＰｄを介してテスト用のデータ入出力端子に接続され、さらに、第１レジスタＳＩＲを有している。第１レジスタＳＩＲには、中央処理装置ＣＰＵ０からパスワードが設定される。このため、回路モジュールＰＴＡＰｄには、上記した回路モジュールＰＴＡＰ，ＰＴＡＰａ〜ＰＴＡＰｃとは異なり、パスワード設定機能はなく、単にテスタから指定されたデバッグ回路ＤＢＧｄとＪＴＡＧ端子とを接続する機能を有する。これにより、回路モジュールＰＴＡＰｄの回路構成を簡略化できる。
【００３９】
以下、図１２及び図１３を参照して、半導体集積回路ＬＳＩｃの構成と動作について説明する。図１２には、回路モジュールＬＯＣＫｄの回路構成が詳細に例示されている。図１３は、半導体集積回路ＬＳＩｃの動作を例示するフローチャートである。パスワード設定モードにおいて、テスタから中央処理装置ＣＰＵ０を介して、回路モジュールＬＯＣＫｄ内の第１レジスタＳＩＲにパスワードが設定される（Ｓ１１）。ステップＳ１１において、中央処理装置ＣＰＵ０は、第１レジスタＳＩＲを示すアドレスにパスワードを設定する処理を行うという命令を含む所定のプログラムを実行する。また、第１レジスタＳＩＲには、中央処理装置ＣＰＵ０の高速な動作基準クロック信号ＣＫ４が供給されている。このため、第１レジスタＳＩＲは、動作基準クロック信号ＣＫ４に同期して、パスワードをラッチすることになる。次に、ゲート回路ＥＸＯＲｄは、第１レジスタＳＩＲにラッチされたパスワードと第２レジスタＳＩＭＲに格納されたマスターキーコードとを比較する（Ｓ１２）。ステップＳ１２において両者が一致すれば、スキャンパスシフトレジスタＳＲＥＧ１とテストデータ出力端子ＴＤＯ間の経路が接続されるから、スキャンパスシフトレジスタＳＲＥＧ１からのテスト結果がテストデータ出力端子ＴＤＯを介してテスタに読み出される（Ｓ１３）。これにより、テスタを用いたデバイステストを行うことができ、テスト容易性は損なわれない。一方、ステップＳ１２において両者が不一致であれば、上記経路が遮断され、テスト結果がアンドゲート回路ＡＮＤｄによりローレベルに固定される（Ｓ１４）。これにより、正しいパスワードを設定しなければ、テストデータ出力端子ＴＤＯからテスト結果を読み出すことができず、セキュリティ性を高めることができる。
【００４０】
《実施形態６》
図１４には、本発明の実施形態６に係る半導体集積回路内のデバッグ回路ＤＢＧｅの回路構成が例示される。デバッグ回路ＤＢＧｅは、第１入出力制御回路ＴＡＰ１と回路モジュールＬＯＣＫｅとを有する。回路モジュールＬＯＣＫｅは、上記回路モジュールＬＯＣＫｄと異なり、スキャンパスシフトレジスタＳＲＥＧ１の入力側に、アンドゲート回路ＡＮＤｅ及びゲート回路ＥＸＯＲｅが配置されている。アンドゲート回路ＡＮＤｅでは、テストデータ入力端子ＴＤＩから入力されるテストデータが１入力とされ、さらに、ゲート回路ＥＸＯＲｅからの出力が１入力とされる。ゲート回路ＥＸＯＲｅは、中央処理装置ＣＰＵ０を介して設定された第１レジスタＳＩＲのパスワードと、第２レジスタＳＩＭＲに格納されたマスターキーコードとを比較し、一致すればハイレベル、不一致であればローレベルをアンドゲート回路ＡＮＤｅに出力する。
【００４１】
即ち、パスワードとマスターキーコードが一致すれば、アンドゲート回路ＡＮＤｅを介してテストデータがスキャンパスシフトレジスタＳＲＥＧ１に入力される。そして、スキャンパスシフトレジスタＳＲＥＧ１から出力されるテスト結果は、テストデータ出力端子ＴＤＯからツールに読み出すことができるから、テスト容易性は損なわれない。一方、上記両者が不一致であれば、アンドゲート回路ＡＮＤｅは、スキャンパスシフトレジスタＳＲＥＧ１に常にローレベルを出力する。この場合には、スキャンパスシフトレジスタＳＲＥＧ１にテストデータ自体が入力されず、テスト結果そのものを得ることができないから、ツールにテスト結果が読み出されることがない。従って、スキャンパスシフトレジスタＳＲＥＧ１の入力側に、アンドゲート回路ＡＮＤｅ及びゲート回路ＥＸＯＲｅを配置しても、半導体集積回路ＬＳＩｃと同様に、セキュリティ性を高めることができる。
【００４２】
《実施形態７》
図１５には、本発明の実施形態７に係る半導体集積回路内のデバッグ回路ＤＢＧｆの回路構成が例示される。デバッグ回路ＤＢＧｆは、第１入出力制御回路ＴＡＰ１と回路モジュールＬＯＣＫｆとを有する。回路モジュールＬＯＣＫｆは、例えば上記回路モジュールＬＯＣＫｄ（図１２参照）と比べると、スキャンパスシフトレジスタＳＲＥＧ１の出力側に、アンドゲート回路ＡＮＤｄの代わりにセレクタＳＥＬａと記憶回路ＲＯＭが配置されている点が異なる。セレクタＳＥＬａは、ゲート回路ＥＸＯＲｆの出力を制御信号とし、その出力はテストデータ出力端子ＴＤＯに接続されている。セレクタＳＥＬａは、制御信号がハイレベル、即ちパスワードとマスターキーコードが一致すれば、スキャンパスシフトレジスタＳＲＥＧ１の出力側を選択し、スキャンパスシフトレジスタＳＲＥＧ１とテストデータ出力端子ＴＤＯ間の経路を接続する。また、セレクタＳＥＬａは、制御信号がローレベル、即ち両者が不一致であれば、記憶回路ＲＯＭを選択し、記憶回路ＲＯＭとテストデータ出力端子ＴＤＯ間の経路を接続する。記憶回路ＲＯＭには、スキャンパスシフトレジスタＳＲＥＧ１とテストデータ出力端子ＴＤＯ間の経路が遮断されたロック状態であることを示す通知情報が格納されている。これにより、上記両者が不一致であれば、記憶回路ＲＯＭに格納された通知情報は、セレクタＳＥＬａを介してテストデータ出力端子ＴＤＯからテスタに出力されることになる。
【００４３】
図１６は、図１５に例示した半導体集積回路の動作を例示するフローチャートである。まず、テスタがテストデータ入力端子ＴＤＩからテストデータを入力する（Ｓ１５）。これにより、スキャンパスシフトレジスタＳＲＥＧ１は、制御信号φ１に応じてテスト回路として機能し、テスト結果を出力する。次に、第１レジスタＳＩＲに中央処理装置ＣＰＵ０を介してパスワードが設定される（Ｓ１６）。ゲート回路ＥＸＯＲｆは、第１レジスタＳＩＲに設定されたパスワードと第２レジスタＳＩＭＲに格納されたマスターキーコードを比較する（Ｓ１７）。ステップＳ１７で両者が一致すれば、上記したようにセレクタＳＥＬａによりスキャンパスシフトレジスタＳＲＥＧ１とテストデータ出力端子ＴＤＯ間の経路が接続されるから、テスタにテスト結果が出力される（Ｓ１８）。一方、ステップＳ１７で両者が不一致であれば、セレクタＳＥＬａによりテストデータ出力端子ＴＤＯと記憶回路ＲＯＭ間の経路が接続される（Ｓ１９）。そして、記憶回路ＲＯＭに格納された通知情報がテストデータ出力端子ＴＤＯを介してテスタに出力される（Ｓ２０）。このようにすれば、テスタ側でロック状態にあること等を認識できる。ステップＳ２０の後は、再びステップＳ１５の処理に戻り、ステップＳ１６で再びパスワード設定を行うことができる。
【００４４】
以上、本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００４５】
例えば上記実施形態１〜６では、ゲート回路ＥＸＯＲ，ＥＸＯＲａ〜ｅにより、パスワードとマスターキーコードを比較し、両者が不一致であればスキャンパスシフトレジスタＳＲＥＧ１からの出力を固定するようにしたが、これに限定されない。図１７は、半導体集積回路の動作を例示する他のフローチャートである。ここでは、図４、図９、図１３に例示したフローチャートと異なり、スキャンパスシフトレジスタＳＲＥＧ１からの出力が固定された後の動作も例示されている。まず、テスタがテストデータ入力端子ＴＤＩからテストデータを入力する（Ｓ２１）。これにより、スキャンパスシフトレジスタＳＲＥＧ１はテスト結果を出力する。次に、第１レジスタＳＩＲにパスワードが設定され（Ｓ２２）、ゲート回路ＥＸＯＲ，ＥＸＯＲａ〜ｅにより、パスワードとマスターキーコードが比較される（Ｓ２３）。ステップＳ２３で両者が一致すれば、テストデータ出力端子ＴＤＯからテスタにテスト結果が出力される（Ｓ２４）。一方、ステップＳ２３で両者が不一致であれば、テストデータ出力端子からテスト結果が読み出されず、その出力が固定される（Ｓ２５）。そして、例えば中央処理装置ＣＰＵ０は、ステップＳ２５の状態が所定期間続けば、パスワードが正しくないこと等により、パスワードロックがかかっていることを示す信号を、テスタに出力する（Ｓ２６）。このようにすれば、他のパスワードを設定する必要があること等をテスタ側で認識できる。そして、ステップＳ２６の後は、再びステップＳ２１の処理に戻り、ステップＳ１６で正しいパスワード設定を行うこともできる。
【００４６】
図１８には、マスターキーコードを第２レジスタＳＩＭＲに格納する他の方法が例示される。ここでは、第２レジスタＳＩＭＲは、８個のレジスタが直列接続されたものとする。各レジスタは、電源ＶｃｃとグランドＧＮＤの間にそれぞれヒューズＦＵＳＥを介して接続されている。マスターキーコードは、例えば電源Ｖｃｃ側のヒューズＦＵＳＥを切断すれば「０」、グランドＧＮＤ側のヒューズＦＵＳＥを切断すれば「１」とそれぞれ定義される８ビットの情報とされる。このように、マスターキーコードは、製造段階でヒューズＦＵＳＥを切断することで設定され、製造後は書換え不能とされる。従って、マスターキーコードを第三者が改竄することを回避でき、セキュリティ性を高めることができる。
【００４７】
また、上記実施形態１〜７では、外部から読み出し可能なポートとしてＪＴＡＧ端子を有する半導体集積回路について説明したが、これに限定されず、内蔵されるテスト回路に適したテスト端子で構成されればよい。図１９には、ＪＴＡＧ端子とＡＵＤ（Ａｄｖａｎｃｅｄ  Ｕｓｅｒ  Ｄｅｂｕｇｇｅｒ）端子を有する半導体集積回路ＬＳＩｄの回路構成が例示される。半導体集積回路ＬＳＩｄは、図示のように、ＪＴＡＧ端子だけでなく、内部トレース用出力端子として端子ＡＵＤＣＫ、端子ＡＵＤＳＹＮＣ及び端子ＡＵＤＡＴＡを有する。内部トレース用出力端子は、半導体集積回路ＬＳＩｄの内部状態情報を出力可能なテスト回路ＤＢＧｇに接続されている。ここでは、上記した各回路モジュールＰＴＡＰを省略するが、第１レジスタＳＩＲに中央処理装置ＣＰＵ０からパスワードを設定するときには、パスワード設定機能のない回路モジュールＰＴＡＰが配置され、ＪＴＡＧ端子からパスワードを設定するときには、パスワード設定機能を有する回路モジュールＰＴＡＰが配置されることになる。テスト回路ＤＢＧｇと端子ＡＵＤＡＴＡの間には、アンドゲート回路ＡＮＤｇが配置されている。また、アンドゲート回路ＡＮＤｇでは、ゲート回路ＥＸＯＲｇの出力が１入力とされる。ゲート回路ＥＸＯＲｇは、第１レジスタＳＩＲに設定されたパスワードと第２レジスタＳＩＭＲに格納されたマスターキーコードを比較し、両者が一致すればハイレベルを出力し、不一致であればローレベルを出力する。即ち、アンドゲート回路ＡＮＤｇとゲート回路ＥＸＯＲｇによれば、上記両者が一致すればテスト回路ＤＢＧｇと端子ＡＵＤＡＴＡ間の経路が接続され、不一致であれば経路が遮断される。このようにすれば、ＪＴＡＧ端子だけでなく、ＡＵＤ端子を有している半導体集積回路ＬＳＩｄに対しても、内部状態情報がＡＵＤ端子を介してツールに読み出されることを選択的に制限できるから、テスト容易性を損なわずにセキュリティ性を高めることができる。
【００４８】
さらに、上記各実施形態では、回路モジュールＬＯＣＫをデバッグ回路ＤＢＧ内に配置するようにしたが、これに限定されない。例えば、複数の中央処理装置ＣＰＵ０〜ＣＰＵｎのデバイステスト方式が共通であれば、回路モジュールＰＴＡＰ内に共通の回路モジュールＬＯＣＫを配置してもよい。また、以上説明した上記半導体集積回路は、携帯電話等の携帯機器向けシステムだけでなく、カーナビゲーションシステム、家電等、ＪＴＡＧ端子やＡＵＤ端子のような外部から読み出し可能なポートを有する各種マイクロコンピュータに適用できる。さらに、上記半導体集積回路は、正しいパスワードを入力することでセキュリティを解除できるので、例えば製品サイクルが短く、量産出荷直前までデバッグ等のデバイステストを要するような製品や、秘匿データを保護する必要のある製品に適用して有効とされる。
【図面の簡単な説明】
【００４９】
【図１】回路モジュールＬＯＣＫ及び回路モジュールＰＴＡＰの回路構成を詳細に例示する説明図である。
【図２】本発明の実施形態１に係る半導体集積回路ＬＳＩａの概略構成を例示する説明図である。
【図３】半導体集積回路ＬＳＩａの一部を例示する説明図である。
【図４】半導体集積回路ＬＳＩａの動作を例示するフローチャートである。
【図５】マスターキーコードを第２レジスタＳＩＭＲに格納する方法を例示する説明図である。
【図６】本発明の実施形態２に係る半導体集積回路内のデバッグ回路ＤＢＧａ及び回路モジュールＰＴＡＰａの回路構成を例示する説明図である。
【図７】本発明の実施形態３に係る半導体集積回路ＬＳＩｂ内のデバッグ回路ＤＢＧｂ及び回路モジュールＰＴＡＰｂの回路構成を例示する説明図である。
【図８】回路モジュールＬＯＣＫｂ及び回路モジュールＰＴＡＰｂの回路構成を詳細に例示する説明図である。
【図９】半導体集積回路ＬＳＩｂの動作を例示するフローチャートである。
【図１０】本発明の実施形態４に係る半導体集積回路内のデバッグ回路ＤＢＧｃ及び回路モジュールＰＴＡＰｃの回路構成を例示する説明図である。
【図１１】本発明の実施形態５に係る半導体集積回路ＬＳＩｃ内のデバッグ回路ＤＢＧｄ及び回路モジュールＰＴＡＰｄの回路構成を例示する説明図である。
【図１２】回路モジュールＬＯＣＫｄの回路構成を詳細に例示する説明図である。
【図１３】半導体集積回路ＬＳＩｃの動作を例示するフローチャートである。
【図１４】本発明の実施形態６に係る半導体集積回路内のデバッグ回路ＤＢＧｅの回路構成を例示する説明図である。
【図１５】本発明の実施形態７に係る半導体集積回路内のデバッグ回路ＤＢＧｆの回路構成を例示する説明図である。
【図１６】図１５に例示した半導体集積回路の動作を例示するフローチャートである。
【図１７】半導体集積回路の動作を例示する他のフローチャートである。
【図１８】マスターキーコードを第２レジスタＳＩＭＲに格納する他の方法を例示する説明図である。
【図１９】ＪＴＡＧ端子とＡＵＤ端子を有する半導体集積回路ＬＳＩｄの回路構成を例示する説明図である。
【符号の説明】
【００５０】
ＬＳＩ  半導体集積回路
ＴＣＫ  テストクロック端子
ＴＭＳ  テストモードセレクト端子
ＴＲＳＴ＿  テストリセット端子
ＴＤＩ  テストデータ入力端子
ＴＤＯ  テストデータ出力端子
ＤＢＧ  デバッグ回路
ＣＰＵ  中央処理装置
ＰＴＡＰ  回路モジュール
ＴＡＰ１  第１入出力制御回路
ＴＡＰ０  第２入出力制御回路
ＳＲＥＧ０  シフトレジスタ
ＳＲＥＧ１  スキャンパスシフトレジスタ
ＳＩＲ  第１レジスタ
ＳＩＭＲ  第２レジスタ
ＡＮＤ  アンドゲート回路
ＥＸＯＲ  ゲート回路
【図１】
2008152421.tif 000003
【図２】
2008152421.tif 000004
【図３】
2008152421.tif 000005
【図４】
2008152421.tif 000006
【図５】
2008152421.tif 000007
【図６】
2008152421.tif 000008
【図７】
2008152421.tif 000009
【図８】
2008152421.tif 000010
【図９】
2008152421.tif 000011
【図１０】
2008152421.tif 000012
【図１１】
2008152421.tif 000013
【図１２】
2008152421.tif 000014
【図１３】
2008152421.tif 000015
【図１４】
2008152421.tif 000016
【図１５】
2008152421.tif 000017
【図１６】
2008152421.tif 000018
【図１７】
2008152421.tif 000019
【図１８】
2008152421.tif 000020
【図１９】
2008152421.tif 000021