(57)【要約】【課題】既存のテスト回路を用いて簡単な回路や制御を追加することでセキュリティ性を高める。【解決手段】スキャンレジスタ方式の回路を保持したLSIにおいて、スキャン入力端子181〜183から入力したパスワードを、パスワード入力レジスタ101〜103に保持する。パスワード入力レジスタ101〜103とマスター・パスワード131〜133とをそれぞれ比較器111〜113で比較し、結果をパスワード判定回路100に送る。比較結果が全て一致していたら、スキャンパス・チェーン191〜193と出力バッファ151〜153との間の経路をスルーにする。逆に比較結果に不一致がある場合は、スキャンパス・チェーン191〜193と出力バッファ151〜153との間の経路を遮断する。【選択図】図１
2012068119.tif 000002
【特許請求の範囲】
【請求項１】
スキャンデータを入力する複数のスキャンデータ入力端子から少なくとも１つのパスワードをビットパラレルに入力可能なパスワード入力パスを設け、
テストモードかつスキャンモードでは前記スキャンデータをシフトする既存のスキャンパス、テストモードかつキャプチャモードでは前記パスワード入力パスを機能させ、
前記入力した各パスワードと記憶している対応するマスター・パスワードとが全て一致したときのみ、前記スキャンデータによる被テスト回路のテスト結果データを外部へ出力することを特徴とするスキャンパス内蔵半導体集積回路。
【請求項２】
スキャンデータ、または少なくとも１つのパスワードをビットパラレルに入力するための複数のスキャン入力端子と、
テストモードかつシフトモードでは前記入力したスキャンデータを順次にシフトしながら保持し、被テスト回路に供給してテスト結果データを受け取る少なくとも１つのスキャンチェーンと、
テストモードかつキャプチャモードでは前記入力したパスワードを順次にシフトしながら保持する少なくとも１つのパスワード入力レジスタと、
外部から読出しと書込みの不能な固定値のマスター・パスワードを記憶している前記パスワード入力レジスタと同数のパスワード記憶レジスタと、
前記パスワード入力レジスタが保持するパスワードと前記パスワード記憶レジスタが保持している対応するマスター・パスワードを比較する比較器と、
前記比較の結果、全てが一致したときのみ前記テスト結果データを外部へ出力し、いずれか１つでも不一致ならば前記テスト結果データの外部への出力を遮断するためのスキャンパス遮断信号を生成するパスワード判定回路を有することを特徴とするスキャンパス内蔵半導体集積回路。
【請求項３】
スキャンデータ、または少なくとも１つｍ個のパスワードそれぞれをビットパラレルに複数ｎ回に亘って入力するための複数のスキャン入力端子と、
テストモードかつシフトモードでは前記入力したスキャンデータを順次にシフトしながら保持し、被テスト回路に供給してテスト結果データを受け取る少なくとも１つのスキャンチェーンと、
テストモードかつキャプチャモードでは前記ｎ回に亘って入力したパスワードを順次に保持するｎ個のパスワード入力レジスタを、シフトしながら保持するｍ個のパスワード入力レジスタ群と、
外部から読出しと書込みの不能な固定値のマスター・パスワードを記憶しているｍ個のパスワード記憶レジスタと、
前記パスワード入力レジスタ群が保持するパスワードと前記パスワード記憶レジスタが保持している対応するマスター・パスワードを比較する比較器と、
前記比較の結果、全てが一致したときのみ前記テスト結果データを外部へ出力し、いずれか１つでも不一致ならば前記テスト結果データの外部への出力を遮断するためのスキャンパス遮断信号を生成するパスワード判定回路を有することを特徴とするスキャンパス内蔵半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンパス内蔵半導体集積回路に関し、特に、パスワードによる認証機能を具備したスキャンパス内蔵半導体集積回路に関する。
【背景技術】
【０００２】
近年、高集積化が促進された半導体集積回路には、その内部を容易にテストできる技術が必要とされていて、スキャンパス回路を備えたものも少なくない。スキャンパスは、周知のように、外部から読み出し可能なポートを備え、例えばデバイステスト時にはテスタが接続される。テスタは、スキャンパス制御信号の端子を介して半導体集積回路にテストモードを指示する信号やテストデータを入力し、半導体集積回路内の被テスト回路のテスト結果を読み出し可能にする。
【０００３】
その一方で、半導体集積回路の内部アーキテクチャは半導体メーカーにとって機密情報であるところ、スキャンパス回路を用いれば、機密情報である内部アーキテクチャ情報が読み出され、解析を行うことで内部アーキテクチャが解読されてしまう惧れがある。このことからテスト容易性とセキュリティ性を共に向上させることが要請されている。
【０００４】
このような要請に応える従来技術の一例として、スキャンパスレジスタに接続されたテスト用のデータ入出力端子から入力されたパスワードと、内部のレジスタに格納されている固定値のマスター・キーコードとを比較して、一致すればスキャンパスレジスタとデータ入出力端子間の経路を接続し、不一致であればその経路を遮断するようにしたものを挙げることができる。
【０００５】
しかし、この半導体集積回路では、先ず、JTAG端子とTAPが必須であり、これらを搭載していることが前提になるという問題点がある。また、パスワードを１つのみ搭載しているが、パスワード数が少ないと他者に見破られる可能性が高いからセキュリティ性能が低いという問題点がある。また、JTAGはシリアルシーケンスのため、１つのパスワードを入力するのに複数サイクルのパターンが必要なため、パスワードの入力にかかるパターン量が増大し、更にシリアルを使ったデータ転送は制御等が複雑なので回路や制御が複雑化するという問題点もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2008-152421
【発明の概要】
【発明が解決しようとする課題】
【０００７】
解決しようとする問題点は、既存のテスト回路を利用し、かつテスト容易性を損なわずにパスワード認証ができない点である。
【課題を解決するための手段】
【０００８】
本発明は、既存のテスト回路を利用してパスワード認証を実現するため、スキャンパスと並列にパスワード入力パスを設けて、切り分け動作させることを最も主要な特徴とする。
【発明の効果】
【０００９】
本発明のスキャンパス内蔵半導体集積回路は、複数のスキャンデータ入力端子からパスワードをビットパラレルに入力可能なパスワード入力パスを既存のスキャンパステスト手段に併設し、既存のスキャンパスとパスワード入力パスを切り分けて動作させる構成としたため、パスワード認証用に少量のハードウェアを追加するだけで、複数のパスワードによる高度な機密性を迅速に担保できるという利点がある。
【図面の簡単な説明】
【００１０】
【図１】本発明のスキャンパス内蔵半導体集積回路の実施例１を示す回路図である。
【図２】スキャン制御回路の詳細図である。
【図３】パスワード判定回路の詳細図である。
【図４】Scanチェーンの詳細図である。
【図５】Scanチェーンの要素であるFFの詳細図である。
【図６】実施例１の動作を示すタイミングチャートである。
【図７】本発明の実施例２を示す回路図である。
【図８】本発明の実施例３を示す回路図である。
【図９】本発明の実施例４を示す回路図である。
【発明を実施するための形態】
【００１１】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００１２】
図１は、本発明のスキャンパス内蔵半導体集積回路の実施例１を示している。この半導体集積回路は、並列して動作する３本のScanチェーン191,192,193を具備しており、スキャン入力端子181,182,183からのスキャンデータを入力バッファ171,172,173経由で入力する。Scanチェーン191,192,193は、クロック毎にスキャンデータを内部に伝搬して、被テスト回路（不図示）に供給する。被テスト回路のスキャンデータに対する応答は、テスト結果としてScanチェーン191,192,193を伝搬し、ANDゲート141,142,143および出力バッファ151,152,153を介してスキャン出力端子161,162,163から外部に取り出される。
【００１３】
スキャン入力端子181,182,183は、主にスキャンデータを入力するが、パスワードも３ビットパラレルに入力し、パスワードは入力バッファ171,172,173を介してパスワード入力レジスタ101,102,103に導いて保持される。パスワード入力レジスタ101は、スキャン入力端子181,182,183から並列で入力してくる１番目のパスワード、パスワード入力レジスタ102は、スキャン入力端子181,182,183から並列で入力してくる２番目のパスワード、パスワード入力レジスタ103は、スキャン入力端子181,182,183から並列で入力してくる３番目のパスワードをそれぞれ保持する。なお、スキャンデータはブロックされる。
【００１４】
パスワード記憶レジスタ131,132,133は、外部から読出しと書込みの不能な固定値のマスター・パスワードを記憶している。比較器111,112,113は、パスワード入力レジスタ101,102,103が保持する入力パスワードと、パスワード記憶レジスタ131,132,133が記憶しているマスター・パスワードとを比較する。即ち、３つのパスワードが比較され、三重にパスワード認証がされることになる。
【００１５】
パスワード判定回路100は、比較器111,112,113における比較結果を入力し、スキャン出力を制御するためのスキャンパス遮断信号120を出力する。即ち、比較器111,112,113の比較結果全てがパスワードの一致を告げるものであるときは、パスワード判定回路100はスキャンパス遮断信号として“１”、一方、比較器111,112,113の比較結果のいずれの１つでもがパスワードの不一致を告げるものであるときは、スキャンパス遮断信号120として“０”を出力する。
【００１６】
ANDゲート141,142,143は、スキャンパス遮断信号120に応答して、Scanチェーン191,192,193と出力バッファ151,152,153との経路の接続/遮断を行う。すなわち、スキャンパス遮断信号120が“１”なら接続し、“０”なら遮断する。出力バッファ151,152,153はScanチェーン191,192,193が保持するテスト結果データをスキャン出力端子161,162,163から本半導体集積回路の外部に伝達する。
【００１７】
クロック入力端子186はこの半導体集積回路を動作させるためのクロック186を入力し、入力バッファ176はクロック186を本半導体集積回路の内部（上述の各回路）へ伝達する。リセット入力端子187は本半導体集積回路を初期化するためのリセット信号187入力し、入力バッファ177はリセット信号187を半導体集積回路の内部（上述の各回路）へ伝達する。
【００１８】
AMC端子184は本半導体回路をテストモードと通常モードを切り替えるためのAMC信号184を入力し、SMC端子185はScanチェーン191,192,193をシフトモードとキャプチャモードに切り替えるためのSMC信号185を入力する。キャプチャモードとは、パスワードを入力してマスター・パスワードと比較する動作モードをいう。
【００１９】
スキャン制御回路110は、AMC信号184とSMC信号185とにより、シフトモード信号221とキャプチャモード信号222を生成して、主にScanチェーン191,192,193の動作を制御する。シフトモード信号221はScanチェーン191,192,193、キャプチャモード信号222はゲート104と被テスト回路（不図示）へ供給される。ゲート104は、キャプチャモード信号222がイネーブルであるときは、スキャン入力端子181,182,183からのパスワードをパスワード入力レジスタ101,102,103に導く。また、スキャン制御回路110は、AMC信号184とSMC信号185とにより、パスワード設定信号223を生成して、パスワード判定回路100の制御も行う。
【００２０】
図２はスキャン制御回路110の詳細図である。図２において、ANDゲート211は、テストモード（AMC信号201が“１”）であって、かつSMC信号201が“１”のとき、Scanチェーン191,192,193に対するシフトモード信号221を生成する。インバータ213とANDゲート212は、テストモード（AMC信号201が“１”）であって、かつSMC信号201が“０”のときに、Scanチェーン191,192,193のキャプチャモード信号222を生成する。通常モード（AMC信号201が“０”）のときは、シフトモード信号221もキャプチャモード信号222も生成されない。
【００２１】
カウンタ回路231はパスワードの個数を数える。すなわち、入力の必要なパスワード数が初期値に設定され、パスワードが入力されるタイミングでデクリメントする。比較回路233はカウンタ232の値が０（パスワードの入力完了）かどうかを判定し、０でなければパスワード設定信号223を生成する。パスワード設定信号223は、パスワード入力レジスタ101,102,103へのパスワード入力を制御するための信号であり、カウンタ232の値が０になると、“１”から“０”になる。ANDゲート214は、キャプチャモード信号222とパスワード設定信号223の論理積をカウンタ回路231に出力し、カウンタ232をデクリメントさせる制御信号を生成する。従って、カウンタ232の値が０になると、カウンタ232は以後停止状態となる。
【００２２】
図３はパスワード判定回路100の詳細図である。図３において、ANDゲート311は、比較器101,102,103における比較結果301,302,303の論理積信号341を生成する。微分回路312はパスワード設定信号223の変化点を検出し、FF313をセットするタイミングパルス342を生成する。FF313は、タイミングパルス342でANDゲート311の出力（パスワードの判定結果）を入力・保持し、スキャンパス遮断信号120を出力する。
【００２３】
従って、スキャンパス遮断信号120は、比較結果301,302,303が全て“１”なら“１”となって、スキャンパスと出力バッファ151,152、153の間の経路を透過にし、比較結果301,302,303のいずれか１つでもが“０”なら“０”となって、スキャンパスと出力バッファ151,152、153の間の経路を遮断する。
【００２４】
図４はScanチェーン191,192,193の１チェーン分の詳細図であり、この例ではｍ個のフリップフロップであるFF411,412,413〜41mが縦続接続されている。信号401は、例えば入力バッファ171からのスキャンインデータをFF411のSIN端子に導き、信号402はFF41mのQ端子からのスキャンアウトデータを出力バッファ151へ導く。シフトモード信号221，クロック信号176，リセット信号404は、FF411〜41mのそれぞれSMC端子，CK端子，RB端子へ導かれる。被テスト回路420は組み合わせ回路で組まれた論理回路であり、FF411〜41mそれぞれのQ端子，D端子およびLoad端子との間でデータを授受する。Load端子は被テスト回路からのFFセット信号を入力し、FF411〜41mはFFセット信号によりテスト結果信号をD端子から入力する。
【００２５】
図５、図４における各FF411,412,413〜41mの詳細図である。FF514はデータ入力端子Dとクロック入力端子CLKとリセット入力端子RBと出力端子Qを持つ、Dフリップフロップである。クロック入力端子CLK，リセット入力端子RB，出力端子Qは、図４におけるCK端子，RB端子，Q端子とそれぞれストレートに対応する。
【００２６】
しかし、データ入力端子Dは、図４におけるD端子とストレートには対応しない。即ち、データ入力端子Dは、図４におけるD端子，SIN端子，SMC端子，Load端子の各信号と対応するテスト結果信号501，データ401，シフトモード信号221，FFセット信号503および出力端子Qの信号502について、２つのセレクタ511，512およびORゲート513による処理を経た信号を入力する。
【００２７】
即ち、セレクタ511は、シフトモード信号221が“１”のときはスキャンインデータ401、シフトモード信号221が“０”のときはテスト結果信号501を選択する。ORゲート513は、シフトモード信号221が“１”のときか又はFFセット信号503が“１”のときに“１”を出力する。セレクタ512は、ORゲート513の出力が“１”のとき、セレクタ511の出力、ORゲート513の出力が“０”のときときは出力端子Qの出力信号502を選択する。ORゲート513は、シフトモード信号221とFFセット信号503の論理和により、セレクタ512に対するセレクト信号を生成する。
【００２８】
次に、以上のように構成された本スキャンパス内蔵半導体集積回路の動作を図６のタイムチャートを参照しながら説明する。AMC信号201が“１”になると、この半導体集積回路はテストモードになる。テストモード期間中においては、SMC信号185がScanチェーン191,192,193のシフト動作とキャプチャ動作を区別する。当初、カウンタ232は３であり、またスキャンパス遮断信号120は遮断(“０”)を示している。
【００２９】
図６のタイミングS1〜S3の３サイクルでは、AMC信号184が“１”、SMC信号185が“０”でキャプチャモードとなり、パスワード確認のサイクルになる。１番目のクロック(タイミングS1)で、スキャン入力181,182,183から１番目のパスワードが入力し、パスワード入力レジスタ103に保持される。カウンタ232は２となる。
【００３０】
２番目のクロック(タイミングS2)で、スキャン入力181,182,183から２番目のパスワードが入力し、パスワード入力レジスタ103に保持される。それと同時に、これまでパスワード入力レジスタ103に保持されていた１番目のパスワードはレジスタパスワード入力102に移送されて保持される。カウンタ232は１となる。
【００３１】
３番目のクロック(タイミングS3)で、スキャン入力181,182,183から３番目のパスワードが入力し、パスワード入力レジスタ103)に保持される。それと同時に、これまでパスワード入力レジスタ103に保持されていた２番目のパスワードは、パスワード入力レジスタ102に移送されて保持される。また、これまでパスワード入力レジスタ102に保持されていた１番目のパスワードは、パスワード入力レジスタ101に移送されて保持される。カウンタ232は０となる。
【００３２】
このようにして、パスワード入力レジスタ101,102,103の全てにパスワードが保持された時点で、それぞれをキーパスワード131,132,133と比較する。３つのパスワードが全て一致すると、パスワード判定回路100は、スキャンパス遮断信号120を透過(“１”)とする(図６タイミングS4)。しかし、３つのパスワードの内のいずれかに不一致があると、パスワード判定回路100は、スキャンパス遮断信号120を遮断(“０”)のままとする(図６タイミングS4)。この動作が終了した後は、SMC信号185を“１”としてシフトモードにする。
【００３３】
シフトモードでは、スキャン入力181,182,183からスキャンデータが供給され、入力バッファ171,172,173を通ってScanチェーン191,192,193に到達する。そして、スキャンデータはクロック186の１サイクル毎に、Scanチェーン191,192,193内部のFF間を伝搬する。
【００３４】
もし、スキャンパス遮断信号120が透過(“１”)であれば、Scanチェーン191,192,193の最終端から、ANDゲート141,142,143を透過し、出力バッファ151,152,153を通り、スキャン出力161,162,163に到達する。そして、スキャン出力161,162,163から、スキャンデータが外部へ取り出される(タイミングS4、S5、S6、・・・)。しかし、スキャンパス遮断信号120が遮断(“０”)であれば、Scanチェーン191,192,193の最終端からのキャンデータは、ANDゲート141,142,143で遮断され、外部へ取り出されない。
【００３５】
タイミングSXにおいて、SMC信号185が“０”に遷移すると、キャプチャモードとなる。Scanチェーン191,192,193におけるスキャンデータがタイミング（SX+1）で被テスト回路420（図４参照）に供給され、このスキャンデータに対する被テスト回路420の応答（テスト結果）データがタイミング（SX+2）でScanチェーン191,192,193に返され保持される。てくる。タイミング（SX+2）において、SMC信号185が“１”に遷移し、再びシフトモードとなり、テスト結果データがスキャン出力161,162,163から外部へ取り出される。
【００３６】
なお、SMC信号185が“１”から“０”へ遷移するタイミングSXとタイミング（SX+2）の間のタイミング（SX+1）、およびSMC信号185が“０”から“１”へ遷移するタイミング（SX+2）とタイミング（SX+4）の間のタイミング（SX+3）においては、SMC信号185の切替わりの遅延を考慮しクロック186は発生しない。
【００３７】
以上の説明では、パスワードの数は３としているが、任意のｎ個としてもよい。このように、本発明では、パスワードの数を任意に追加できるので、セキュリティをより厳格化することができる。この場合には、図７に示すように、n個の比較器711〜71nを設けることになる。勿論、セキュリティの厳格度は下げても良い場合には、パスワード数を１つにして構成してもよい。
【００３８】
また、スキャンイン入力のパラレル入力信号数が少なく、１回のパスワード入力だけでは十分な長さのパスワードを得られず信頼性が低い場合に、任意回数のアクセスよって長い所望のワード長のパスワードを得るようにしてもよい。図８は、その一例を示している。図８においては、３回のパスワード入力によって、３つのパスワード入力レジスタ601,602,603に十分な長さのパスワードを入力して、パスワード記憶レジスタ604が保持しているマスター・パスワードと比較することとしている。なお、図８は、図面の煩雑化を回避するために、一組のパスワード入力レジスタ601,602,603とパスワード記憶レジスタ604のみを示しているが、図１の例のように、パスワード認証を三重化するのであれば、三組のパスワード入力レジスタ群とパスワード記憶レジスタを必要とする。
【００３９】
また、図９に示すように、スキャンパスの遮断は、ANDゲート141,142,143による出力バッファ151,152,153のイネーブル論理によって制御できるようにしてもよい。
【００４０】
（付記１）スキャンデータを入力する複数のスキャンデータ入力端子から少なくとも１つのパスワードをビットパラレルに入力可能なパスワード入力パスを設け、テストモードかつスキャンモードでは前記スキャンデータをシフトする既存のスキャンパス、テストモードかつキャプチャモードでは前記パスワード入力パスを機能させ、前記入力した各パスワードと記憶している対応するマスター・パスワードとが全て一致したときのみ、前記スキャンデータによる被テスト回路のテスト結果データを外部へ出力することを特徴とするスキャンパス内蔵半導体集積回路。
【００４１】
（付記２）スキャンデータ、または少なくとも１つのパスワードをビットパラレルに入力するための複数のスキャン入力端子と、テストモードかつシフトモードでは前記入力したスキャンデータを順次にシフトしながら保持し、被テスト回路に供給してテスト結果データを受け取る少なくとも１つのスキャンチェーンと、テストモードかつキャプチャモードでは前記入力したパスワードを順次にシフトしながら保持する少なくとも１つのパスワード入力レジスタと、外部から読出しと書込みの不能な固定値のマスター・パスワードを記憶している前記パスワード入力レジスタと同数のパスワード記憶レジスタと、前記パスワード入力レジスタが保持するパスワードと前記パスワード記憶レジスタが保持している対応するマスター・パスワードを比較する比較器と、前記比較の結果、全てが一致したときのみ前記テスト結果データを外部へ出力し、いずれか１つでも不一致ならば前記テスト結果データの外部への出力を遮断するためのスキャンパス遮断信号を生成するパスワード判定回路を有することを特徴とするスキャンパス内蔵半導体集積回路。
【００４２】
（付記３）スキャンデータ、または少なくとも１つｍ個のパスワードそれぞれをビットパラレルに複数ｎ回に亘って入力するための複数のスキャン入力端子と、テストモードかつシフトモードでは前記入力したスキャンデータを順次にシフトしながら保持し、被テスト回路に供給してテスト結果データを受け取る少なくとも１つのスキャンチェーンと、テストモードかつキャプチャモードでは前記ｎ回に亘って入力したパスワードを順次に保持するｎ個のパスワード入力レジスタを、シフトしながら保持するｍ個のパスワード入力レジスタ群と、外部から読出しと書込みの不能な固定値のマスター・パスワードを記憶しているｍ個のパスワード記憶レジスタと、前記パスワード入力レジスタ群が保持するパスワードと前記パスワード記憶レジスタが保持している対応するマスター・パスワードを比較する比較器と、前記比較の結果、全てが一致したときのみ前記テスト結果データを外部へ出力し、いずれか１つでも不一致ならば前記テスト結果データの外部への出力を遮断するためのスキャンパス遮断信号を生成するパスワード判定回路を有することを特徴とするスキャンパス内蔵半導体集積回路。
【符号の説明】
【００４３】
100            パスワード判定回路
101〜103      パスワード入力レジスタ
104           ゲート
111〜113      比較器
120           スキャンパス遮断信号
131〜133      パスワード記憶レジスタ
141〜143     ANDゲート
151〜153     出力バッファ
161〜163     スキャン出力
171〜177     入力バッファ
181〜183     スキャン入力
184          AMC端子
185          SMC端子
186          クロック端子
187          リセット端子
191〜193     Scanチェーン
201          AMC信号
202          SMC信号
211,212,214  ANDゲート
213          インバータ
221          シフトモード信号
222          キャプチャモード信号
223          パスワード設定信号
231          カウンタ回路
232          カウンタ
233          比較回路
301〜303     比較結果
311          ANDゲート
312          微分回路
313          FF
401,402      信号
411〜41m     FF
501          テスト結果信号
502          出力信号
503          FFセット信号
511,512      セレクタ
513          ORゲート
514          DFF
601〜603     パスワード入力レジスタ
604          パスワード記憶レジスタ
605          比較器
【図１】
2012068119.tif 000003
【図２】
2012068119.tif 000004
【図３】
2012068119.tif 000005
【図４】
2012068119.tif 000006
【図５】
2012068119.tif 000007
【図６】
2012068119.tif 000008
【図７】
2012068119.tif 000009
【図８】
2012068119.tif 000010
【図９】
2012068119.tif 000011