(57)【要約】【課題】セキュリティを向上させることができる半導体装置を提供する。【解決手段】ＪＴＡＧポート２０に、ＪＴＡＧポート２０に、コマンドを示すコマンド情報及びパスワードを示すパスワード情報が一体的に入力されており、入力されたパスワード情報により示されるパスワードが予め定められた正規のパスワードと一致しない場合に、入出力トライステート回路２２により、コマンド情報のＣＰＵ３２への転送及びＣＰＵ３２による当該コマンド情報により示されるコマンドに応じた処理の実行結果を示す結果情報のＪＴＡＧポート２０への転送を遮断する。【選択図】図１
2008165534.tif 000002
【特許請求の範囲】
【請求項１】
コマンドを示すコマンド情報及びパスワードを示すパスワード情報が一体的に入力される入力ポートと、
前記入力ポートに入力されたコマンド情報により示されるコマンドに応じた処理を行う処理手段と、
前記処理手段による処理の実行結果を示す結果情報が出力される出力ポートと、
前記入力ポートから入力された前記コマンド情報を前記処理手段に転送すると共に、前記処理手段による当該コマンド情報により示されるコマンドの実行結果を示す結果情報を前記出力ポートへ転送する転送手段と、
前記入力ポートより入力された前記パスワード情報により示されるパスワードが予め定められた正規のパスワードと一致しない場合に、前記コマンド情報の前記処理手段への転送及び前記結果情報の前記出力ポートへの転送の少なくとも一方を遮断する遮断手段と、
を備えた半導体装置。
【請求項２】
所定のタイミング毎に新たなパスワードを生成する生成手段をさらに備え、
前記比較手段は、前記入力ポートより入力された前記パスワード情報により示されるパスワードを前記生成手段により生成されたパスワードと比較する
請求項１記載の半導体装置。
【請求項３】
前記所定のタイミングは、前記処理手段によって特定のコマンドに応じた処理が実行されるタイミングである
請求項２記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＪＴＡＧ（Joint Test Action Group）ポートを備えた半導体装置に関する。
【背景技術】
【０００２】
近年、システムＬＳＩ（Large Scale Integration）等の半導体装置には、検査装置にを接続するためのインタフェースとしてＪＴＡＧポートを備えているものがあり、更には、内部に設けられたフラッシュＲＯＭ等の記憶部に予め記憶されたプログラムがＪＴＡＧポートを介して読み出されたり、書き換えられたりすることを防止するため、記憶部にセキュリティビットが設けられているものもある。
【０００３】
この種の半導体装置では、セキュリティビットが有効状態とされた場合に、ＪＴＡＧポートから内部へのアクセスを遮断することにより、記憶部に記憶されたプログラムの読み出しや、書き換えを防止している。
【０００４】
ところで、半導体装置は、完成したプログラムを書き込んでセキュリティビットを有効状態にしたとしても、プログラムのバグの発見や、仕様変更などにより、プログラムの書き換えが必要になる場合がある。
【０００５】
しかし、この種の半導体装置では、セキュリティビットが有効状態にされると、ＪＴＡＧポートから内部へのアクセスが遮断されてしまうため、当該半導体装置を廃棄しなければならなくなり、また、場合によっては、当該半導体装置を組み込んだ装置全体を取り替える必要が生じることもある。
【０００６】
そこで、セキュリティビットが有効状態であってもＪＴＡＧポートから内部へのアクセスを可能にするための技術として、特許文献１には、半導体装置に設けられた汎用ポートのうちの１本又は複数本をデコードして得られた入力状態が所定のパターンである場合に、ＪＴＡＧポートから内部へのアクセスを可能にする技術が開示されている。
【０００７】
また、特許文献２には、セキュリティビットが有効状態であっても、ＪＴＡＧポートに特定のパターンのデータが入力された場合に、ＪＴＡＧポートから内部へのアクセスを可能にする技術が開示されている。
【０００８】
以上の各特許文献に開示されている技術により、セキュリティビットが有効状態とされた場合であっても、ＪＴＡＧポートから内部へアクセスしてセキュリティビットを無効状態に書き換えることにより、内部に記憶されたプログラムの読み出しや書き換えが可能になる。
【特許文献１】特許３７６００８７号
【特許文献２】特開２００２−１８３１０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１及び特許文献２に開示されている技術では、セキュリティビットが無効状態とされた場合、ＪＴＡＧポートから内部へアクセスしてプログラムの読み出しや書き換えが可能であるため、必ずしもセキュリティが高いとは限らない、という問題点があった。
【００１０】
本発明は上記問題点を解決するためになされたものであり、セキュリティを向上させることができる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、請求項１記載の発明は、コマンドを示すコマンド情報及びパスワードを示すパスワード情報が一体的に入力される入力ポートと、前記入力ポートに入力されたコマンド情報により示されるコマンドに応じた処理を行う処理手段と、前記処理手段による処理の実行結果を示す結果情報が出力される出力ポートと、前記入力ポートから入力された前記コマンド情報を前記処理手段に転送すると共に、前記処理手段による当該コマンド情報により示されるコマンドの実行結果を示す結果情報を前記出力ポートへ転送する転送手段と、前記入力ポートより入力された前記パスワード情報により示されるパスワードが予め定められた正規のパスワードと一致しない場合に、前記コマンド情報の前記処理手段への転送及び前記結果情報の前記出力ポートへの転送の少なくとも一方を遮断する遮断手段と、を備えている。
【００１２】
請求項１記載の発明よれば、入力ポートに、コマンドを示すコマンド情報及びパスワードを示すパスワード情報が一体的に入力され、処理手段により、入力ポートに入力されたコマンド情報により示されるコマンドに応じた処理が行なわれ、出力ポートから処理手段による処理の実行結果を示す結果情報が出力されるものとされおり、転送手段により、入力ポートから入力されたコマンド情報が処理手段に転送されると共に、処理手段による当該コマンド情報により示されるコマンドの実行結果を示す結果情報が出力ポートへ転送される。
【００１３】
そして、本発明では、遮断手段により、入力ポートより入力されたパスワード情報により示されるパスワードが予め定められた正規のパスワードと一致しない場合に、コマンド情報の前記処理手段への転送及び前記結果情報の前記出力ポートへの転送の少なくとも一方が遮断される。
【００１４】
このように請求項１記載の発明によれば、入力ポートに、コマンドを示すコマンド情報及びパスワードを示すパスワード情報が一体的に入力されており、入力されたパスワード情報により示されるパスワードが予め定められた正規のパスワードと一致しない場合に、コマンド情報の処理手段への転送及び処理手段による当該コマンド情報により示されるコマンドに応じた処理の実行結果を示す結果情報の出力ポートへの転送の少なくとも一方を遮断しているので、セキュリティを向上させることができる。
【００１５】
なお、請求項１記載の発明は、請求項２記載の発明のように、所定のタイミング毎に新たなパスワードを生成する生成手段をさらに備え、前記比較手段が、前記入力ポートより入力された前記パスワード情報により示されるパスワードを前記生成手段により生成されたパスワードと比較するようにしてもよい。
【００１６】
また、請求項２記載の発明は、請求項３記載の発明のように、前記所定のタイミングが、前記処理手段によって特定のコマンドに応じた処理が実行されるタイミングあってもよい。
【発明の効果】
【００１７】
以上説明したように、本発明によれば、入力ポートに、コマンドを示すコマンド情報及びパスワードを示すパスワード情報が一体的に入力されており、入力されたパスワード情報により示されるパスワードが予め定められた正規のパスワードと一致しない場合に、コマンド情報の処理手段への転送及び処理手段による当該コマンド情報により示されるコマンドに応じた処理の実行結果を示す結果情報の出力ポートへの転送の少なくとも一方を遮断しているので、セキュリティを向上させることができる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。なお、以下では、本発明をシステムＬＳＩに適用した場合について説明する。
【００１９】
［第１の実施の形態］
図１には、本実施の形態に係るシステムＬＳＩ１０及び当該システムＬＳＩ１０を検査する検査装置としてのイン・サーキット・エミュレータ（In Circuit Emulator）（以下、「ＩＣＥ」という。）１２の構成が示されている。
【００２０】
同図に示されるように、システムＬＳＩ１０は、ＪＴＡＧポート２０と、入出力トライステート回路２２と、ＴＡＰ（Test Access Port）コントローラ２４と、キーデータセル２６と、入力データセル２８と、出力データセル３０と、ＣＰＵ（中央演算処理装置）３２と、メモリ３４と、キー検出回路３６と、端子パターン検出回路３８と、２入力１出力のＡＮＤ回路４０とを備えている。
【００２１】
システムＬＳＩ１０は、ＪＴＡＧポート２０を介してＩＣＥ１２と接続されている。このＪＴＡＧポート２０は、ＪＴＡＧ信号を入出力するためのものであり、５つのＪＴＡＧポート端子２０Ａ〜２０Ｅにより構成され、当該ＪＴＡＧポート端子２０Ａ〜２０Ｅを介して、ＪＴＡＧ信号として、入力データ信号（以下「ＴＤＩ信号」という。）、クロック信号（以下、「ＴＣＫ信号」という。）、モード選択信号（以下、「ＴＭＳ信号」という。）、及びリセット信号（以下、「ＴＲＳＴ信号」という。）が入力され、出力データ信号（以下、「ＴＤＯ信号」という。）が出力される。
【００２２】
ＪＴＡＧポート２０は、入出力トライステート回路２２を介してＴＡＰコントローラ２４に接続されている。
【００２３】
入出力トライステート回路２２は、制御端子に後述するイネーブル信号Ｓ２０が入力されるように構成されており、当該イネーブル信号Ｓ２０に応じてＪＴＡＧ信号の入出力、及び当該ＪＴＡＧ信号の遮断を制御する回路である。
【００２４】
ＴＡＰコントローラ２４は、ＪＴＡＧポート２０を介して入力されるＪＴＡＧ信号により示されるＪＴＡＧコマンドに応じてＬＳＩ内部の動作を制御すると共に、ＬＳＩ内部の信号をＪＴＡＧポート２０を介して出力させる制御を行なうものである。本実施の形態に係るＴＡＰコントローラ２４は、入力されたＴＤＩ信号を内部ＴＤＩ信号Ｓ１として出力する。また、ＴＡＰコントローラ２４は、入力されたＴＭＳ信号により示されるＪＴＡＧコマンドに対応するデバッグ制御信号Ｓ１６を出力する。このデバッグ制御信号Ｓ１６は、当該信号により示される値により、ＪＴＡＧキャプチャコマンド、ＪＴＡＧシフトコマンド及びＪＴＡＧランコマンドに対応して“キャプチャ”、“シフト”、“ラン”のコマンドを示すものとする。
【００２５】
一方、本実施の形態に係るキーデータセル２６、入力データセル２８及び出力データセル３０は、それぞれ複数（ここでは、３個）のフリップフロップ回路（図１では「Ｆ／Ｆ」と記載。）がシリアルに接続された回路を備えている。また、キーデータセル２６、入力データセル２８及び出力データセル３０は、ＴＡＰコントローラ２４に接続されており、デバッグ制御信号Ｓ１６がそれぞれ入力される。
【００２６】
キーデータセル２６の初段のフリップフロップ回路の入力端子は、ＴＡＰコントローラ２４に接続されており、内部ＴＤＩ信号Ｓ１が入力される。また、キーデータセル２６の最終段のフリップフロップ回路の出力端子は、入力データセル２８の初段のフリップフロップ回路の入力端子に接続されている。さらに、キーデータセル２６の各フリップフロップ回路の出力端子は、それぞれキー検出回路３６の入力端子に接続されている。
【００２７】
キーデータセル２６は、入力されたデバッグ制御信号Ｓ１６が“シフト”を示す場合、各フリップフロップ回路が自身でラッチ（自己保持）しているデータを後段に出力すると共に、前段より入力されたデータをラッチするものとされている。すなわち、キーデータセル２６では、“シフト”を示すデバッグ制御信号Ｓ１６が入力される毎に、内部ＴＤＩ信号Ｓ１より入力されたデータが各フリップフロップ回路を順次移動し、最後段のフリップフロップ回路より入力データセル２８に出力される。
【００２８】
また、キーデータセル２６は、入力されたデバッグ制御信号Ｓ１６が“ラン”を示す場合、各フリップフロップ回路がラッチしているデータをキーデータ信号Ｓ１７としてキー検出回路３６に出力するものとされている。
【００２９】
前述したように、入力データセル２８の初段のフリップフロップ回路の入力端子は、キーデータセル２６の最終段のフリップフロップ回路の出力端子に接続されており、キーデータセル２６から出力されたデータが入力される。また、入力データセル２８の各フリップフロップ回路の出力端子は、それぞれＣＰＵ３２に接続されている。
【００３０】
入力データセル２８は、入力されたデバッグ制御信号Ｓ１６が“シフト”を示す場合、各フリップフロップ回路が自身でラッチしているデータを後段に出力すると共に、前段より入力されたデータをラッチするものとされている。
【００３１】
また、入力データセル２８は、入力されたデバッグ制御信号Ｓ１６が“ラン”を示す場合、各フリップフロップ回路がラッチしているデータをデバッグ入力信号Ｓ１４としてＣＰＵ３２に出力する。
【００３２】
ＣＰＵ３２は、ＴＡＰコントローラ２４に接続されており、デバッグ制御信号Ｓ１６が入力される。また、ＣＰＵ３２は、バスＳ１５を介してメモリ３４と接続されている。
【００３３】
ＣＰＵ３２は、入力されたデバッグ制御信号Ｓ１６が“ラン”を示す場合、入力データセル２８より入力されたデバッグ入力信号Ｓ１４により示されるコマンドを解釈し、メモリ３４に対するデータの書き込みや、メモリ３４からのデータの読み出しを行なうものとされている。そして、ＣＰＵ３２は、メモリ３４から読み出したデータをデバッグ出力信号Ｓ１３として出力する。
【００３４】
出力データセル３０の各フリップフロップ回路の入力端子は、ＣＰＵ３２に接続されており、ＣＰＵ３２から出力されるデバッグ出力信号Ｓ１３が入力される。また、出力データセル３０の最後段のフリップフロップ回路の出力端子は、ＴＡＰコントローラ２４に接続されている。
【００３５】
出力データセル３０は、入力されたデバッグ制御信号Ｓ１６が“キャプチャ”を示す場合、各フリップフロップ回路がＣＰＵ３２から出力されるデバッグ出力信号Ｓ１３をラッチするものとされている。
【００３６】
また、出力データセル３０は、入力されたデバッグ制御信号Ｓ１６が“シフト”を示す場合、各フリップフロップ回路が自身でラッチしているデータを後段に出力すると共に、前段より入力されたデータをラッチするものとされている。すなわち、キーデータセル２６では、“シフト”を示すデバッグ制御信号Ｓ１６が入力される毎に、各フリップフロップ回路によりラッチされたデータが順次移動し、最後段のフリップフロップ回路より内部ＴＤＯ信号Ｓ２としてＴＡＰコントローラ２４に出力される。
【００３７】
端子パターン検出回路３８には、所定の汎用ポート（図示省略）の入力状態を示すパターン入力端子信号Ｓ１２が入力される。端子パターン検出回路３８は、当該端子パターン検出回路３８に駆動用の電力の供給が開始されたタイミングで、パターン入力端子信号Ｓ１２により示される汎用ポートに対する入力状態を、予め記憶しているパターンと比較して、一致する場合に端子パターンイネーブル信号Ｓ８をアサート（Assert）とし、一致しない場合に端子パターンイネーブル信号Ｓ８をネゲート（Negate）とする。
【００３８】
キー検出回路３６は、ＴＡＰコントローラ２４に接続されており、デバッグ制御信号Ｓ１６が入力される。
【００３９】
キー検出回路３６は、キーパターンイネーブル信号Ｓ１９を出力するものとされており、当該キー検出回路３６に駆動用の電力の供給が開始されると、キーパターンイネーブル信号Ｓ１９をアサートとする。
【００４０】
また、キー検出回路３６は、入力されたデバッグ制御信号Ｓ１６が“ラン”を示す場合、キーデータセル２６より入力されるキーデータ信号Ｓ１７により示される情報を、予め記憶している正規のパスワードと比較し、一致しない場合にキーパターンイネーブル信号Ｓ１９をネゲートに変更するものとされている。キー検出回路３６は、端子パターンイネーブル信号Ｓ８を一度ネゲートにすると、駆動用の電力が供給されている間、ネゲート状態を保持するものとされている。
【００４１】
すなわち、端子パターンイネーブル信号Ｓ８は、一度ネゲートとされると、キー検出回路３６への駆動用の電力の供給が停止されるまでアサートにならない。
【００４２】
ＡＮＤ回路４０の一方の入力端子は、端子パターン検出回路３８に接続され、他方の入力端子はキー検出回路３６に接続されており、キーパターンイネーブル信号Ｓ１９と端子パターンイネーブル信号Ｓ８が入力される。
【００４３】
ＡＮＤ回路４０は、キーパターンイネーブル信号Ｓ１９及び端子パターンイネーブル信号Ｓ８の論理積となる信号をイネーブル信号Ｓ２０として入出力トライステート回路２２の各素子に出力している。このイネーブル信号Ｓ２０は、キーパターンイネーブル信号Ｓ１９及び端子パターンイネーブル信号Ｓ８が共にアサートである場合にアサートとなり、キーパターンイネーブル信号Ｓ１９及び端子パターンイネーブル信号Ｓ８の少なくとも一方がネゲートである場合にネゲートとなる。
【００４４】
一方、本実施の形態に係るＩＣＥ１２は、ＨＯＳＴインタフェース部５０と、コマンド生成部５２と、キーデータ記憶部５４と、ＪＴＡＧインタフェース制御部５６とを備えている。
【００４５】
ＨＯＳＴインタフェース部５０は、ＩＣＥ１２の動作を制御するホスト装置とのインタフェースであり、本実施の形態では、パーソナル・コンピュータ（以下、「ＰＣ」という。）１４と接続されている。ＰＣ１４は、システムＬＳＩ１０の検査を制御するために各種コマンドをＨＯＳＴインタフェース部５０に出力し、またＬＳＩ内部のデータをＨＯＳＴインタフェース部５０を介して受け取る。
【００４６】
キーデータ記憶部５４は、システムＬＳＩ１０をテストする際にデータに付加するパスワードを示すパスワードデータが予め記憶されている。
【００４７】
コマンド生成部５２は、ＨＯＳＴインタフェース部５０、キーデータ記憶部５４及びＪＴＡＧインタフェース制御部５６と接続されており、ＨＯＳＴインタフェース部５０からシステムＬＳＩ１０の検査を制御するために各種コマンドが入力される。
【００４８】
コマンド生成部５２は、ＰＣ１４からＨＯＳＴインタフェース部５０を介して入力されるコマンドを解釈してＪＴＡＧコマンドに変換し、ＪＴＡＧコマンドにキーデータ記憶部５４に記憶されているパスワードデータを付加してＪＴＡＧインタフェース制御部５６に出力する一方、ＪＴＡＧインタフェース制御部５６より入力されたデータをＨＯＳＴインタフェース部５０を介してＰＣ１４に出力する制御を行なうものとされている。
【００４９】
ＪＴＡＧインタフェース制御部５６は、コマンド生成部５２により生成されたＪＴＡＣシフトコマンドをＪＴＡＧポート２０に出力する一方、ＪＴＡＧポート２０より入力されたデータをコマンド生成部５２に出力するものとされている。
【００５０】
次に、本実施の形態に係るシステムＬＳＩ１０の作用を説明する。なお、以下ではＰＣ１４からシステムＬＳＩ１０に備えられたメモリ３４のデータを１回読み出す場合を例にして説明する。
【００５１】
本実施の形態に係るシステムＬＳＩ１０は、ＪＴＡＧポート２０を介してデータを読み出す場合、システムＬＳＩ１０に対して駆動用の電力の供給を開始する際に、上記所定の汎用ポートに対する入力状態を所定のパターンとする。
【００５２】
システムＬＳＩ１０への駆動用の電力の供給が開始されると、キー検出回路３６は、キーパターンイネーブル信号Ｓ１９をアサートにする。
【００５３】
一方、端子パターン検出回路３８は、駆動用の電力の供給が開始されると、パターン入力端子信号Ｓ１２を読み取り、パターン入力端子信号Ｓ１２により示される汎用ポートに対する入力状態を、予め記憶しているパターンと比較して、一致する場合に端子パターンイネーブル信号Ｓ８をアサートとし、一致しない場合に端子パターンイネーブル信号Ｓ８をネゲートとする。この端子パターンイネーブル信号Ｓ８がネゲートになると、ＡＮＤ回路４０から出力されるイネーブル信号Ｓ２０がネゲートになるため、ＪＴＡＧポート２０が無効となる。
【００５４】
これにより、上記所定の汎用ポートに対するＪＴＡＧポート２０を有効にするためのパターンを知らないユーザからのシステムＬＳＩ１０内部へアクセスを防止できる。
【００５５】
ＰＣ１４は、ＪＴＡＧポート２０が有効である場合、ＨＯＳＴインタフェース部５０に対してメモリ３４からデータを１回読み出すことを指示するリードコマンドを出力する。
【００５６】
ＩＣＥ１２では、ＨＯＳＴインタフェース部５０から入力されたコマンドをコマンド生成部５２において解釈し、当該コマンドを実行するためのＪＴＡＧ信号を生成して順次出力する。なお、本実施の形態に係るＩＣＥ１２は、メモリ３４からデータを１回読み出すために、図２に示すように、以下の順序でＪＴＡＧコマンドを出力する。
（１）ＪＴＡＧシフトコマンドＣ１１
（２）ＪＴＡＧランコマンドＣ１２
（３）ＪＴＡＧキャプチャコマンドＣ１３
（４）ＪＴＡＧシフトコマンドＣ１４
ＩＣＥ１２は、ＪＴＡＧシフトコマンドＣ１１を示すＴＭＳ信号を出力すると共に、ＣＰＵ３２のリードコマンドを示すデータの最後にキーデータ記憶部５４に記憶されているパスワードを示すパスワードデータを付加してＴＤＩ信号を出力する。
【００５７】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧシフトコマンドＣ１１を示すＴＭＳ信号が入力されると、入出力トライステート回路２２を介して入力されたＴＤＩ信号を内部ＴＤＩ信号Ｓ１に順次出力する共に、当該内部ＴＤＩ信号Ｓ１の出力に同期させて“シフト”を示すデバッグ制御信号Ｓ１６を、キーデータセル２６及び入力データセル２８に含まれるフリップフロップ回路の個数分の回数だけ出力する。
【００５８】
これにより、内部ＴＤＩ信号Ｓ１により示されるデータが順次、キーデータセル２６及び入力データセル２８へシフトされる。
【００５９】
シフトが完了すると、キーデータセル２６の各フリップフロップ回路には、パスワードを示すデータがラッチされ、入力データセル２８の各フリップフロップ回路には、ＣＰＵ３２のリードコマンドを示すデータがラッチされる。
【００６０】
ＩＣＥ１２は、次に、ＪＴＡＧランコマンドＣ１２を示すＴＭＳ信号を出力する。
【００６１】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧランコマンドＣ１２を示すＴＭＳ信号が入力されると、“ラン”を示すデバッグ制御信号Ｓ１６を出力する。
【００６２】
これにより、入力データセル２８の各フリップフロップ回路にラッチされたデータは、デバック入力信号１４としてＣＰＵ３２へ出力される一方、キーデータセル２６の各フリップフロップ回路にラッチされているデータは、キーデータ信号Ｓ１７としてキー検出回路３６に出力される。
【００６３】
ＣＰＵ３２は、入力データセル２８より入力されたデータにより示されるコマンドを解釈してメモリ３４からデータを読み出し、読み出したデータをデバッグ出力信号Ｓ１３として出力する。
【００６４】
一方、キー検出回路３６は、キーデータ信号Ｓ１７により示されるパスワードを、予め記憶している正規のパスワードと比較し、一致しない場合にキーパターンイネーブル信号Ｓ１９をネゲートに変更する。
【００６５】
すなわち、パスワードが一致しない場合、キー検出回路３６から出力されるキーパターンイネーブル信号Ｓ１９は、ネゲートとなり、この結果、ＡＮＤ回路４０から出力されるイネーブル信号Ｓ２０がネゲートとなるため、入出力トライステート回路２２はディスエーブルされて、ＪＴＡＧポート２０が遮断される。
【００６６】
このキー検出回路３６から出力されるキーパターンイネーブル信号Ｓ１９は、一度ネゲートになると、システムＬＳＩ１０への駆動用の電力の供給が停止されるまでネゲートが維持されるため、以降のＩＣＥ１２からのＪＴＡＧ信号のデータはシステムＬＳＩ１０内部に伝達されず、かつＴＤＯ信号はハイ・インピーダンスとなり、内部ＴＤＯ信号Ｓ２を出力することもできなくなる。
【００６７】
一方、キーデータ信号Ｓ１７が予め記憶している正規のパスワードと一致する場合は、キーパターンイネーブル信号Ｓ１９はアサートのまま維持されるため、ＡＮＤ回路４０から出力されるイネーブル信号Ｓ２０がアサートのまま維持される。
【００６８】
ＩＣＥ１２は、次に、ＪＴＡＧキャプチャコマンドＣ１３を示すＴＭＳ信号を出力する。
【００６９】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧキャプチャコマンドＣ１３を示すＴＭＳ信号が入力されると、“キャプチャ”を示すデバッグ制御信号Ｓ１６を出力する。
【００７０】
これにより、出力データセル３０は、デバッグ出力信号Ｓ１３をラッチする。
【００７１】
ＩＣＥ１２は、次に、ＪＴＡＧシフトコマンドＣ１４を示すＴＭＳ信号を出力する。
【００７２】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧシフトコマンドＣ１４を示すＴＭＳ信号が入力されると、“シフト”を示すデバッグ制御信号Ｓ１６を出力データセル３０に含まれるフリップフロップ回路の個数分の回数だけ出力する。
【００７３】
これにより、出力データセル３０の各フリップフロップ回路にラッチされたデータは、内部ＴＤＯ信号Ｓ２としてＴＡＰコントローラ２４に出力され、ＴＡＰコントローラ２４を介してＴＤＯ信号としてＩＣＥ１２へ出力される。
【００７４】
ＩＣＥ１２は、ＴＤＯ信号をホストインターフェース信号Ｓ１１として、ＰＣへ出
力する。
【００７５】
以上のように本実施の形態によれば、ＪＴＡＧポート２０に、ＪＴＡＧポート２０に、コマンドを示すコマンド情報及びパスワードを示すパスワード情報が一体的に入力されており、入力されたパスワード情報により示されるパスワードが予め定められた正規のパスワードと一致しない場合に、入出力トライステート回路２２により、コマンド情報のＣＰＵ３２への転送及びＣＰＵ３２による当該コマンド情報により示されるコマンドに応じた処理の実行結果を示す結果情報のＪＴＡＧポート２０への転送を遮断しているので、セキュリティを向上させることができる
［第２の実施の形態］
図３には、第２の実施の形態に係るシステムＬＳＩ１０及びＩＣＥ１２の構成が示されている。なお、同図における図１と同一の構成要素には図１と同一の符号を付して、その説明を省略する。
【００７６】
同図に示されるように、第２の実施の形態に係るシステムＬＳＩ１０は、ＬＳＩ内ワンタイムパスワード生成回路４２をさらに備えている。
【００７７】
ＬＳＩ内ワンタイムパスワード生成回路４２は、第１暗証値を記憶しており、当該第１暗証値に対して所定の演算を行なってパスワードを生成するものとされている。また、ＬＳＩ内ワンタイムパスワード生成回路４２は、ＴＡＰコントローラ２４と接続されてデバッグ制御信号Ｓ１６が入力されており、当該デバッグ制御信号Ｓ１６が“ラン”を示す場合に、その都度、第１暗証値を更新して新たなパスワードを生成するものとされている。この生成されたパスワードはパスワード信号Ｓ２１として、キー検出回路３６に出力される。
【００７８】
また、第２の実施の形態に係るキー検出回路３６は、入力されたデバッグ制御信号Ｓ１６が“ラン”を示す場合、キーデータ信号Ｓ１７により示されるパスワードをパスワード信号Ｓ２１により示されるパスワードと比較し、一致しない場合にキーパターンイネーブル信号Ｓ１９をネゲートに変更するものとされている。
【００７９】
一方、第２の実施の形態に係るＩＣＥ１２は、ＩＣＥ内ワンタイムパスワード生成回路５８をさらに備えている。
【００８０】
ＩＣＥ内ワンタイムパスワード生成回路５８は、第２暗証値を記憶しており、当該第２暗証値に対して所定の演算を行なってパスワードを生成するものとされている。また、ＩＣＥ内ワンタイムパスワード生成回路５８は、ラン発生信号Ｓ２０が入力された場合に、その都度、第２暗証値を更新して新たなパスワードを生成するものとされている。
【００８１】
また、第２の実施の形態に係るコマンド生成部５２は、“ラン”を示すＪＴＡＧコマンドを出力した場合、ＩＣＥ内ワンタイムパスワード生成回路５８にラン発生信号Ｓ２０を出力するものとされている。
【００８２】
なお、本実施の形態に係るＬＳＩ内ワンタイムパスワード生成回路４２及びＩＣＥ内ワンタイムパスワード生成回路５８では、それぞれが予め記憶される第１暗証値及び第２暗証値のデフォルト値を同じ値としている。また、ＬＳＩ内ワンタイムパスワード生成回路４２及びＩＣＥ内ワンタイムパスワード生成回路５８は、それぞれ第１暗証値及び第２暗証値を同じ演算を行なって更新するものとされている。さらに、ＬＳＩ内ワンタイムパスワード生成回路４２及びＩＣＥ内ワンタイムパスワード生成回路５８は、同じ演算を行なって第１暗証値及び第２暗証値からそれぞれパスワードを生成するものとされている。
【００８３】
次に、第２の実施の形態に係るシステムＬＳＩ１０の作用を説明する。なお、以下ではＰＣ１４からシステムＬＳＩ１０に備えられたメモリ３４のデータを２回読み出す場合を例にして説明する。
【００８４】
上述したように、本実施の形態に係るシステムＬＳＩ１０は、ＪＴＡＧポート２０を介してデータを読み出す場合、システムＬＳＩ１０に対して駆動用の電力の供給を開始する際に、上記所定の汎用ポートに対する入力状態を所定のパターンとして、ＪＴＡＧポート２０を有効にする。
【００８５】
ＰＣ１４は、ＪＴＡＧポート２０が有効である場合、ＨＯＳＴインタフェース部５０に対してメモリ３４からデータを２回読み出すことを指示するリードコマンドを出力する。
【００８６】
ＩＣＥ１２では、ＨＯＳＴインタフェース部５０から入力されたコマンドをコマンド生成部５２において解釈し、当該コマンドを実行するためのＪＴＡＧ信号を生成して順次出力する。なお、本実施の形態に係るＩＣＥ１２は、メモリ３４からデータを２回読み出すために、図４に示すように、以下の順序でＪＴＡＧコマンドを出力する。
（１）ＪＴＡＧシフトコマンドＣ２１（１回目のリード）
（２）ＪＴＡＧランコマンドＣ２２（１回目のリード）
（３）ＪＴＡＧキャプチャコマンドＣ２３（１回目のリード）
（４）ＪＴＡＧシフトコマンドＣ２４（１回目のリード／２回目のリード）
（５）ＪＴＡＧランコマンドＣ２５（２回目のリード）
（６）ＪＴＡＧキャプチャコマンドＣ２６（２回目のリード）
（７）ＪＴＡＧシフトコマンドＣ２７（２回目のリード）
ＩＣＥ内ワンタイムパスワード生成回路５８は、第１暗証値に基づいて生成したパスワードＡを示すパスワード信号Ｓ２２を、コマンド生成部５２に出力している。
【００８７】
ＩＣＥ１２は、ＪＴＡＧシフトコマンドＣ２１を示すＴＭＳ信号を出力すると共に、ＣＰＵ３２のリードコマンドを示すデータの最後に、パスワード信号Ｓ２２により示されるパスワードデータＡを付加してＴＤＩ信号に出力する（図４のＰ１参照。）。
【００８８】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧコマンドＣ２２を示すＴＭＳ信号が入力されると、上述したように、ＴＤＩ信号を内部ＴＤＩ信号Ｓ１に順次出力する共に、“シフト”を示すデバッグ制御信号Ｓ１６を、キーデータセル２６及び入力データセル２８に含まれるフリップフロップ回路の個数分の回数だけ出力して、内部ＴＤＩ信号Ｓ１により示されるデータをキーデータセル２６及び入力データセル２８へシフトさせる。
【００８９】
これにより、キーデータセル２６の各フリップフロップ回路には、パスワードＡを示すデータがラッチされ、入力データセル２８の各フリップフロップ回路には、ＣＰＵ３２のリードコマンドを示すデータがラッチされる。
【００９０】
ＩＣＥ１２は、次に、ＪＴＡＧランコマンドＣ２２を示すＴＭＳ信号を出力する。ＩＣＥ内ワンタイムパスワード生成回路５８は、この際にラン発生信号Ｓ２０がコマンド生成部５２より入力することにより、第１暗証値を更新して新たなパスワードＢを示すパスワード信号Ｓ２２をコマンド生成部５２に出力する（図４のＰ２参照。）。このパスワード信号Ｓ２２により示されるパスワードデータＢは、後述するＪＴＡＧシフトコマンドＣ２４の処理の際にＴＤＩ信号に付加されて出力される（図４のＰ３参照。）。
【００９１】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧランコマンドＣ２２を示すＴＭＳ信号が入力されると、“ラン”を示すデバッグ制御信号Ｓ１６を出力する。
【００９２】
これにより、入力データセル２８の各フリップフロップ回路にラッチされたデータは、デバック入力信号１４としてＣＰＵ３２へ出力される一方、キーデータセル２６の各フリップフロップ回路にラッチされているデータは、キーデータ信号Ｓ１７としてキー検出回路３６に出力される。
【００９３】
ＣＰＵ３２は、入力データセル２８より入力されたデータにより示されるコマンドを解釈してメモリ３４からデータを読み出し、読み出したデータをデバッグ出力信号Ｓ１３として出力する。
【００９４】
一方、ＬＳＩ内ワンタイムパスワード生成回路４２は、第２暗証値に基づいて生成したパスワードＡ’を示すパスワード信号Ｓ２１をキー検出回路３６に出力している。
【００９５】
キー検出回路３６は、キーデータ信号Ｓ１７により示されるパスワードＡをパスワード信号Ｓ２１により示されるパスワードＡ’と比較し、一致しない場合にキーパターンイネーブル信号Ｓ１９をネゲートに変更する（図４のＰ４参照。）。
【００９６】
すなわち、パスワードが一致しない場合、キー検出回路３６から出力されるキーパターンイネーブル信号Ｓ１９は、ネゲートとなり、この結果、ＡＮＤ回路４０から出力されるイネーブル信号Ｓ２０がネゲートとなるため、入出力トライステート回路２２はディスエーブルされて、ＪＴＡＧポート２０が遮断される。
【００９７】
一方、パスワードが一致する場合、キーパターンイネーブル信号Ｓ１９はアサートのまま維持されるため、ＡＮＤ回路４０から出力されるイネーブル信号Ｓ２０はアサートのまま維持される。
【００９８】
また、ＬＳＩ内ワンタイムパスワード生成回路４２は、“ラン”を示すデバッグ制御信号Ｓ１６が入力することにより、第２暗証値を更新して新たなパスワードＢ’を示すパスワード信号Ｓ２１をキー検出回路３６に出力する（図４のＰ５参照）。
【００９９】
ＩＣＥ１２は、次に、ＪＴＡＧキャプチャコマンドＣ２３を示すＴＭＳ信号を出力する。
【０１００】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧキャプチャコマンドＣ２３を示すＴＭＳ信号が入力されると、“キャプチャ”を示すデバッグ制御信号Ｓ１６を出力する。
【０１０１】
これにより、出力データセル３０は、デバッグ出力信号Ｓ１３をラッチする。
【０１０２】
ＩＣＥ１２は、次に、ＪＴＡＧシフトコマンドＣ２４を示すＴＭＳ信号を出力すると共に、２回目のＣＰＵ３２のリードコマンドを示すデータの最後に、パスワード信号Ｓ２２により示されるパスワードデータＢを付加してＴＤＩ信号に出力する（図４のＰ３参照。）。
【０１０３】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧシフトコマンドＣ２４を示すＴＭＳ信号が入力すると、入出力トライステート回路２２を介して入力されたＴＤＩ信号を内部ＴＤＩ信号Ｓ１に順次出力する共に、当該内部ＴＤＩ信号Ｓ１の出力に同期させて“シフト”を示すデバッグ制御信号Ｓ１６を、キーデータセル２６及び入力データセル２８に含まれるフリップフロップ回路の個数分の回数だけ出力する。
【０１０４】
これにより、出力データセル３０の各フリップフロップ回路にラッチされたデータは、内部ＴＤＯ信号Ｓ２としてＴＡＰコントローラ２４に出力され、ＴＡＰコントローラ２４を介してＴＤＯ信号としてＩＣＥ１２へ出力される。
【０１０５】
また、同時に、キーデータセル２６の各フリップフロップ回路には、パスワードＢを示すデータがラッチされ、入力データセル２８の各フリップフロップ回路には、２回目のＣＰＵ３２のリードコマンドを示すデータがラッチされる。
【０１０６】
ＩＣＥ１２は、次に、ＪＴＡＧランコマンドＣ２５を示すＴＭＳ信号を出力する。
【０１０７】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＴＡＧランコマンドＣ２５を示すＴＭＳ信号が入力されると、“ラン”を示すデバッグ制御信号Ｓ１６を出力する。
【０１０８】
これにより、入力データセル２８の各フリップフロップ回路にラッチされたデータは、デバック入力信号１４としてＣＰＵ３２へ出力される一方、キーデータセル２６の各フリップフロップ回路にラッチされているデータは、キーデータ信号Ｓ１７としてキー検出回路３６に出力される。
【０１０９】
ＣＰＵ３２は、入力データセル２８より入力されたデータにより示されるコマンドを解釈してメモリ３４からデータを読み出し、読み出したデータをデバッグ出力信号Ｓ１３として出力する。
【０１１０】
一方、キー検出回路３６は、キーデータ信号Ｓ１７により示されるパスワードＢをパスワード信号Ｓ２１により示されるパスワードＢ’と比較し、一致しない場合にキーパターンイネーブル信号Ｓ１９をネゲートに変更する（図４のＰ６参照。）。
【０１１１】
この時のパスワード信号Ｓ２１により示されるパスワードＢ’は、上記の１回目の読み出しによって更新されたパスワードとなっており、また、キーデータ信号Ｓ１７は上記の１回目の読み出しによって更新されたパスワードＢとなっている。よって、キーデータ信号Ｓ１７により示されるパスワードと、パスワード信号Ｓ２１により示されるパスワードは一致し、キーパターンイネーブル信号Ｓ１９はアサートされ続け、その結果イネーブル信号Ｓ２０はアサートされたままとなる。
【０１１２】
ここで、仮に、キーデータ信号Ｓ１７により示されるパスワードとパスワード信号Ｓ２１により示されるパスワードが一致しない場合は、キーパターンイネーブル信号Ｓ１９はネゲートに変更され、この結果、ＡＮＤ回路４０から出力されるイネーブル信号Ｓ２０がネゲートとなるため、入出力トライステート回路２２はディスエーブルされて、ＪＴＡＧポート２０が遮断される。
【０１１３】
一方、ＬＳＩ内ワンタイムパスワード生成回路４２は、“ラン”を示すデバッグ制御信号Ｓ１６が入力することにより、第２暗証値を更新して新たなパスワードＣ’を示すパスワード信号Ｓ２１をキー検出回路３６に出力する（図４のＰ６参照）。
【０１１４】
ＩＣＥ１２は、次に、ＪＴＡＧキャプチャコマンドＣ２６を示すＴＭＳ信号を出力する。
【０１１５】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧキャプチャコマンドＣ２６を示すＴＭＳ信号が入力されると、“キャプチャ”を示すデバッグ制御信号Ｓ１６を出力する。
【０１１６】
これにより、出力データセル３０は、デバッグ出力信号Ｓ１３をラッチする。
【０１１７】
ＩＣＥ１２は、次に、ＪＴＡＧシフトコマンドＣ２７を示すＴＭＳ信号を出力する。
【０１１８】
ＴＡＰコントローラ２４は、入出力トライステート回路２２を介してＪＴＡＧシフトコマンドＣ２７を示すＴＭＳ信号が入力されると、“シフト”を示すデバッグ制御信号Ｓ１６を出力データセル３０に含まれるフリップフロップ回路の個数分の回数だけ出力する。
【０１１９】
これにより、出力データセル３０の各フリップフロップ回路にラッチされたデータは、内部ＴＤＯ信号Ｓ２としてＴＡＰコントローラ２４に出力され、ＴＡＰコントローラ２４を介してＴＤＯ信号としてＩＣＥ１２へ出力される。
【０１２０】
以上の様に本実施の形態によれば、ランコマンドが実行される毎にパスワードが更新されるので、セキュリティをより高めることができる。
【０１２１】
なお、上記各実施の形態では、入出力トライステート回路２２により、ＪＴＡＧ信号を全て遮断する場合について説明したが、本発明はこれに限定されるものではなく、一部の信号のみを遮断するものとしてもよい、例えば、ＴＤＩ信号、ＴＤＯ信号の一方のみを遮断するものとしてもよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１２２】
また、上記各実施の形態では、リードコマンドを示すデータの最後にパスワードデータを付加する場合について説明したが、本発明はこれに限定されるものではなく、例えば、一体的であればいずれの位置でもよい。この場合、パスワードデータに対応する範囲を抽出して比較を行なえばよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１２３】
また、上記各実施の形態では、入出力トライステート回路２２により、ＪＴＡＧ信号を遮断する場合について説明したが、本発明はこれに限定されるものではなく、例えば、ＴＡＰコントローラ２４を無効として転送を遮断するものとしてもよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１２４】
さらに、上記第２の実施の形態では、ＬＳＩ内ワンタイムパスワード生成回路４２及びＩＣＥ内ワンタイムパスワード生成回路５８にそれぞれ同一の値を記憶させておき、当該値に基づいてパスワードを生成する場合について説明したが、本発明はこれに限定されるものではなく、例えば、ＬＳＩ内ワンタイムパスワード生成回路４２及びＩＣＥ内ワンタイムパスワード生成回路５８に時刻を保持可能な回路を設けて当該時刻を同期させ、時刻に基づいてパスワードを生成するものとしてもよい。この場合も、本実施の形態と同様の効果を奏することができる。
【０１２５】
その他、上記各実施の形態で説明したシステムＬＳＩ１０及びＩＣＥ１２の構成（図１及び図３参照。）は一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
【０１２６】
また、上記各実施の形態で説明したデータを読み出す際のＪＴＡＧコマンドの構成（図２及び図４参照。）は一例であり、本発明の主旨を逸脱しない範囲内において適宜変更可能であることは言うまでもない。
【図面の簡単な説明】
【０１２７】
【図１】第１の実施の形態に係るシステムＬＳＩ及びイン・サーキット・エミュレータの構成を示すブロック図である。
【図２】第１の実施の形態に係る、メモリからデータを１回読み出す際のＪＴＡＧコマンドの流れを示す模式図である
【図３】第２の実施の形態に係るシステムＬＳＩ及びイン・サーキット・エミュレータの構成を示すブロック図である。
【図４】第２の実施の形態に係る、メモリからデータを２回読み出す際のＪＴＡＧコマンドの流れを示す模式図である
【符号の説明】
【０１２８】
１０  システムＬＳＩ
２０  ＪＴＡＧポート（入力ポート、出力ポート）
２２  入出力トライステート回路（遮断手段）
２４  ＴＡＰコントローラ（転送手段）
３２  ＣＰＵ（処理手段）
４２  ＬＳＩ内ワンタイムパスワード生成回路（生成手段）
【図１】
2008165534.tif 000003
【図２】
2008165534.tif 000004
【図３】
2008165534.tif 000005
【図４】
2008165534.tif 000006