(57)【要約】【課題】構成を複雑にすることなく、耐タンパ性の高いテスト回路を提供すること。【解決手段】このため本発明では、機能の機密性を確保するセキュリティ回路１と、このセキュリティ回路１の機能をテストするテスト回路２を具備するＬＳＩのテスト回路において、前記テスト回路２に、記憶素子を有する回路テーブルと、ゲート素子を有し、前記回路テーブルの記憶素子に予め定められたデータを設定することにより特定の機能で動作するルックアップテーブル形回路素子を設けたプログラマブルテスト回路を具備し、前記セキュリティ回路へのテスト用入力データを前記プログラマブルテスト回路を経由して入力することを特徴とする。【選択図】図１
2006003088.tif 000002
【特許請求の範囲】
【請求項１】
機能の機密性を確保するセキュリティ回路と、このセキュリティ回路の機能をテストするテスト回路を具備するＬＳＩのテスト回路において、
前記テスト回路に、記憶素子を有する回路テーブルと、ゲート素子を有し、前記回路テーブルの記憶素子に予め定められたデータを設定することにより特定の機能で動作するルックアップテーブル形回路素子を設けたプログラマブルテスト回路を具備し、
前記セキュリティ回路へのテスト用入力データを前記プログラマブルテスト回路を経由して入力することを特徴とするテスト回路。
【請求項２】
機能の機密性を確保するセキュリティ回路が正しく製造されているか否かをスキャンテストする故障検出用回路と、この故障検出用回路をテストするテスト回路を具備するＬＳＩのテスト回路において、
前記テスト回路に、記憶素子を有する回路テーブルと、ゲート素子を有し、前記回路テーブルの記憶素子に予め定められたデータを設定することにより特定の機能で動作するルックアップテーブル形回路素子を設けたプログラマブルテスト回路を具備し、
前記故障検出用回路へのテスト用入力データを前記プログラマブルテスト回路を経由して入力することを特徴とするテスト回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）のテスト回路に関するものである。
【背景技術】
【０００２】
ＬＳＩは膨大な数の素子を高い集積度で構成しているので、機能が予定どうり構成されているのかを調べる機能テスト、正確に製造されているのかを調べる製造テスト等のテストが必要である。このためこれらのテストにおいて、観測し難い、または観測不可能なＬＳＩの内部ノード、つまり内部のチェックしたい観測ポイントのテストを容易にするために、専用のテスト回路を予め組み込んでおくことが一般的に行われている。
【特許文献１】特開平６−３４２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように専用の、複数のテスト回路を予め組み込んで置き、これを通常の命令情報により選択するので、このテスト回路のためにハード構成が大きくなる。またテストの種類が異なる場合には、テストの種類の数だけテスト回路を設けてこれを選択することが必要になるため、ハード量が大きくなるのみならず、テスト回路が覗かれる可能性が高い。
【０００４】
しかし、これらのテスト回路を選択するような、単純な回路構成では、セキュリティ回路のような秘匿性の高い回路に対しては、内部が覗かれることにより防御システムが破られることを防止する耐タンパ性を確保することが困難である。
【０００５】
したがって、耐タンパ性を高めるために、従来ではセキュリティ回路等の秘匿性の高い回路に組み込まれるテスト回路は、構成を複雑にしている。従来のこの種のテスト回路を図７〜図１０により説明する。
【０００６】
ところでＬＳＩのテストには、ＬＳＩの機能のテストを行う機能テストと、ＬＳＩの製造時の不良品の有無をテストする製造テストがある。図７、図８は従来の機能テスト回路を示し、図９、図１０は従来の製造テストを示すスキャンテスト回路を示す。
【０００７】
図７に示す如く、セキュリティ回路を有する従来のＬＳＩ１００には、第１テスト回路１０１、第２テスト回路１０２、第１モード選択回路１０３を具備する機能テスト回路と、セキュリティ回路１０４が設けられる。また図８に示す如く、第１テスト回路１０１にはアンド回路１１０、１１１、オア回路１１２、インバータ１１３等を具備する。
【０００８】
第２テスト回路１０２はアンド回路１１４を具備し、第１モード選択回路１０３はパスワードＡ0 が格納されるＲＯＭ１１５、テストモード選択入力信号のパスワードＡ0 が一時保持されるレジスタ１１６、一致回路１１７等を具備する。
【０００９】
テスト時ではない通常の動作時の場合は、レジスタ１１６にはパスワードＡ0 が保持されていないので、一致回路１１７は“０”を出力し、インバータ１１３は“1"を出力するので、アンド回路１１０はオン、アンド回路１１１はオフ、アンド回路１１４はオフとなり、オア回路１１２はアンド回路１１０に入力される通常入力を出力し、この通常入力がセキュリティ回路１０４でセキュリティ処理されて通常出力となる。
【００１０】
テスト時のとき、テストモード選択入力信号に含まれるパスワードＡ0 がレジスタ１１６に保持されてＲＯＭ１１５に保持されているパスワードＡ0 と一致回路１１７で比較される。そしてこれらが一致すると一致回路１１７より一致信号“１”が出力される。これによりインバータ１１３は“０”を出力するので、今度はアンド回路１１０はオフ、アンド回路１１１はオン、アンド回路１１４はオンとなり、オア回路１１２はアンド回路１１１に入力されるテスト用入力を出力し、このテスト用入力が出力され、セキュリティ回路１０４でセキュリティ処理されてアンド回路１１４よりテスト用出力として出力される。そしてこれがテスト用入力に応じた期待値であるか否かをチエックすることによりセキュリティ回路１０４の機能が正常か否かチエックできる。
【００１１】
図９に示す如く、セキュリティ回路を有する従来のＬＳＩ２００には、第３テスト回路２０１、第４テスト回路２０２、第２モード選択回路２０３を具備するスキャンテスト回路とセキュリティ回路２０４が設けられる。また図１０に示す如く、第３テスト回路２０１はアンド回路２１０を具備し、第４テスト回路２０２はアンド回路２１１を具備し、第２モード選択回路２０３はパスワードＢ0 が格納されるＲＯＭ２１２、テストモード選択入力信号のパスワードＢ0 が一時保持されるレジスタ２１３、一致回路２１４等を具備している。
【００１２】
ＬＳＩ２００にはフリップフロップＦＦ１〜ＦＦｂを具備し、機能Ａを遂行する機能回路Ａ’と、フリップフロップＦＦｄ〜ＦＦ１０を具備し、機能Ｂを遂行する機能回路Ｂ’が設けられ、機能回路Ａ’のフリップフロップＦＦｂとセキュリティ回路２０４のフリップフロップＦＦＢとの間には、図示省略したアンド回路の如きゲート回路が設けられ、セキュリティ回路２０４のフリップフロップＦＦＤと機能回路Ｂ’のフリップフロップＦＦｄの間には、図示省略したアンド回路の如きゲート回路が設けられている。
【００１３】
図示省略したこれらのゲート回路は、テストモードのときにはいずれもオフとなり、通常モードのときはいずれもオンとなる。
【００１４】
テスト時のとき、テストモード選択入力に含まれるパスワードＢ0 がレジスタ２１３に保持されてＲＯＭ２１２に保持されているパスワードＢ0 と一致回路２１４で比較される。そしてこれらが一致すると一致回路２１４より一致信号“１”が出力し、アンド回路２１０、２１１がオンとなる。
【００１５】
従って、図９に示す如く、フリップフロップＦＦ１に入力されたテスト用入力は、ＦＦ１〜ＦＦａを経由したスキャンパス出力、ＦＦＡ〜ＦＦＣを経由したスキャンパス出力、ＦＦｃ〜ＦＦ１０を経由したスキャンパス出力が、テスト用出力として読み出され、正常に製造されているか否かチェックできる。
【００１６】
通常の場合は、図示省略した前記ゲート回路がそれぞれオンとなり、第３テスト回路２０１のアンド回路２１０および第４テスト回路２０２のアンド回路２１１がいずれもオフのため、フリップフロップＦＦａ、ＦＦＡ、ＦＦＣ、ＦＦｃを経由せずに通常動作が行われる。
【００１７】
しかし、これら図７、８及び図９、１０に示す如き、従来の耐タンパ性を高めるためにセキュリティ回路などの秘匿性が高い回路に組み込まれるテスト回路は構成を複雑にする方法が使用されているが、このような構成では、テストモードに入る方法が複雑になるだけでテスト回路自体はハードとして存在するために、構造は複雑であってもいつかは覗かれる可能性があり、耐タンパ性に限界がある。
【課題を解決するための手段】
【００１８】
上記課題を解決するため、本発明では、機能の機密性を確保するセキュリティ回路と、このセキュリティ回路の機能をテストするテスト回路を具備するＬＳＩのテスト回路において、前記テスト回路に、記憶素子を有する回路テーブルと、ゲート素子を有し、前記回路テーブルの記憶素子に予め定められたデータを設定することにより特定の機能で動作するルックアップテーブル形回路素子を設けたプログラマブルテスト回路を具備し、前記セキュリティ回路へのテスト用入力データを前記プログラマブルテスト回路を経由して入力することを特徴とする。
【００１９】
また、機能の機密性を確保するセキュリティ回路が正しく製造されているか否かをスキャンテストする故障検出用回路と、この故障検出用回路をテストするテスト回路を具備するＬＳＩのテスト回路において、前記テスト回路に、記憶素子を有する回路テーブルと、ゲート素子を有し、前記回路テーブルの記憶素子に予め定められたデータを設定することにより特定の機能で動作するルックアップテーブル形回路素子を設けたプログラマブルテスト回路を具備し、前記故障検出用回路へのテスト用入力データを前記プログラマブルテスト回路を経由して入力することを特徴とする。
【発明の効果】
【００２０】
（１）秘匿性の重要なセキュリティ回路のテストにおいて、回路テーブルの記憶素子に設定するテスト回路の回路データを所持しているユーザだけがセキュリティ回路にアクセス可能になるため、耐タンパ性の高い、安全なＬＳＩが実現可能となる。
【００２１】
（２）従来の固定組み込みのテスト回路に比べて、構成が単純で使い易いテスト回路が使用可能となり、テスト効率が向上する。
【発明を実施するための最良の形態】
【００２２】
図１に示すように、機能の機密性を確保するセキュリティ回路１と、このセキュリティ回路の機能をテストするテスト回路を具備するＬＳＩ１０において、第１テスト回路２、第２テスト回路３を、それぞれ記憶素子を有する回路テーブルと、ゲート素子を有し前記回路テーブルの記憶素子にあらかじめ定められたデータを設定することにより、特定の機能で動作するルックアップテーブル形回路素子を設けたプログラマブルテスト回路で構成する。そして前記セキュリティ回路へのテスト用入力データを前記プログラマブルテスト回路を経由して入力する。
【００２３】
第１テスト回路２、第２テスト回路３を特定の機能で動作させるためには、ユーザだけしか知らない特定データを記憶素子に設定することが必要のため、耐タンパ性の高い、テスト回路を提供することができる。
【実施例１】
【００２４】
本発明の実施例１を図１〜図３にもとづき説明するに先立ち、図１１、図１２によりプログラマブル回路について説明する。図１１はプログラマブル回路の構成例を示し、図１２はその詳述例を示す。
【００２５】
図１１に示す如く、プログラマブル回路２５０は、ルックアップテーブル方式回路素子２５１と、回路テーブル２５２を具備する。
【００２６】
ルックアップテーブル方式回路素子２５１は、例えば３個のＰチャネルのゲートＧＰ0 、ＧＰ1 、ＧＰ2 と、３個のＮチャネルのゲートＧＮ0 、ＧＮ1 、ＧＮ2 を有し、入力ＡはゲートＧＰ0 とＧＮ0 に入力され、入力ＢはゲートＧＰ1 とＧＮ1 及びＧＰ2 とＧＮ2 に入力されている。そしてゲートＧＰ1 とＧＮ1 の出力はゲートＧＰ0 に伝達され、ゲートＧＰ2 とＧＮ2 の出力はゲートＧＮ0 に伝達される。そしてゲートＧＰ0 とＧＮ0 の共通出力が、プログラマブル回路２５０の出力Ｃとなる。
【００２７】
いま入力Ａ、Ｂと出力Ｃの関係をオア論理で構成するとき、図１２（Ｃ）に示す如く、記憶素子Ｗ、Ｘ、Ｙ、Ｚに「１、１、１、０」を入力する。これにより入力ＡとＢのいずれか一方が「１」または入力Ａ、Ｂの両方が「１」のとき出力Ｃが「１」となる。
【００２８】
また入力Ａ、Ｂと出力Ｃの関係をアンド論理で構成するとき、図１２（Ｃ）に示す如く、記憶素子Ｗ、Ｘ、Ｙ、Ｚに「１、０、０、０」を入力する。これにより入力ＡとＢがともに「１」のとき、出力Ｃが「１」となる。
【００２９】
さらに入力Ａ、Ｂと出力Ｃをナンド論理、ノア論理、エクスクルシーブ・オア論理で得たい場合は、図１２（Ｃ）に示す如く、記憶素子Ｗ、Ｘ、Ｙ、Ｚに「１」、「０」をセットすればよい。
【００３０】
記憶素子Ｗ、Ｘ、Ｙ、Ｚは「１」、または「０」の混合したデータを初期値として出力する場合には、出力の正、負論理でこれらを選択するように構成することができる。
【００３１】
本発明の実施例１を図１〜図３により説明する。図１は本発明のプログラマブル機能テスト回路の一実施例構成図、図２は、通常時における動作状態説明図、図３はテスト時における動作説明図である。
【００３２】
図１に示す本発明の一実施例において、１はセキュリティ回路、２は第１テスト回路、３は第２テスト回路、１０はこれらセキュリティ回路１、第１テスト回路２、第２テスト回路３等が構成されるＬＳＩである。
【００３３】
第１テスト回路２は、前記図１１、図１２に示す如く構成されたプログラマブル回路であり、通常時ではその記憶素子Ｗ、Ｘ、Ｙ、Ｚに「１、１、０、０」が入力され、第１テスト回路２から、図２に示す如く、通常入力が出力される。
【００３４】
また第２テスト回路３は、これまた前記図１１、図１２に示す如く構成されたプログラマブル回路であり、通常時ではその記憶素子Ｗ、Ｘ、Ｙ、Ｚに「０、０、０、０」が入力され、図２に示す如く、第２テスト回路３からは、第２テスト回路３に入力される信号が「１」、「０」のいずれであってもこれに関係なく「０」がテスト用出力として出力する。このとき図２の第２テスト回路３における入力Ｂ（図１２）はＨまたはＬに固定される。
【００３５】
図２に示す如く、通常時では、第１テスト回路２、第２テスト回路３の、図示省略された回路テーブルにはデータ入力ロードはなく、回路テーブルの記憶素子Ｗ、Ｘ、Ｙ、Ｚの初期値が、第１テスト回路２では「１、１、０、０」、第２テスト回路３では「０、０、０、０」を示す。通常時では、第１テスト回路２のテスト用入力はＨ又はＬのいずれでもよい。
【００３６】
図３に示す如く、テスト時では、第１テスト回路２及び第２テスト回路３の記憶素子に、図１２（Ｂ）に示す如く、第１テスト回路２においては「１、０、１、０」を、第２テスト回路３においては「１、１、０、０」を設定する。この記憶素子へのデータ入力はシリアルでもパラレルでも可能である。そして第１テスト回路２には通常入力と、テスト用入力が入力されるが、第１テスト回路２の記憶素子が「１、１、０、０」に初期値が定められているとき、その出力は通常入力が出力され、テスト用入力Ｂには無関係であるので、テスト用入力はＨでもＬでもよい。
【００３７】
図１に示す如く、このようにして第１テスト回路２から出力された通常入力は、セキュリティ回路１によりセキュリティ処理されたのち、通常出力として取出される。このとき第２テスト回路３では、図１２（Ａ）に示す入力ＢがＬまたはＨに固定され、テスト用出力としてＬが出力される。
【００３８】
テスト時の場合、図３に示す如く、第１テスト回路２と第２テスト回路３の記憶素子Ｗ、Ｘ、Ｙ、Ｚに、図１２（Ｂ）に示す如く、それぞれ「１、０、１、０」及び「１、１、０、０」を設定する。
【００３９】
これにより図３に示す如く、第１テスト回路２では、通常入力のＬ、Ｈにかかわらずテスト用入力を出力し、これが図１に示すセキュリティ回路１によりセキュリティ処理されたのち、第２テスト回路３の入力Ａ側に入力される。このとき第２テスト回路３の入力ＢはＬまたはＨに固定され、入力Ａ側に入力された前記セキュリティ処理されたものをテスト用出力として取出す。これによりこのテスト用出力がテスト用入力をセキュリティ回路１によりセキュリティ処理されたものか否かをチェックすることにより、セキュリティ回路１をテストすることができる。
【００４０】
次に図４〜図６により本発明の第２実施例について説明する。第２実施例では、ＬＳＩの製造時のスキャンテストすなわち故障検出用テストに関するものである。第２実施例では、セキュリティ回路３０１を有するＬＳＩ３００において、セキュリティ回路３０１内に多数のフリップフロップＦＦＡ〜ＦＦＣを構成するものであるが、このとき各ＦＦ間にプログラマブル・スキャンテスト回路３５０、３５１・・・３５８を設け、各ＦＦＡ〜Ｃとプログラマブル・スキャンテスト回路３５０〜３５８をシリアル接続する。
【００４１】
プログラマブル・スキャンテスト回路３５０〜３５８は、前記図１１、図１２に示すプログラマブル回路と同様に構成され、その記憶素子Ｗ、Ｘ、Ｙ、Ｚに適当なデータを選択的に設定することにより、あらかじめ定められた機能を遂行するものである。プログラマブル・スキャンテスト回路３５０について代表的にその動作を説明する。
【００４２】
通常時においては、回路テーブルの記憶素子Ｗ、Ｘ、Ｙ、Ｚには図１２（Ｂ）に示す如く、「０、０、０、０」が設定される。これにより、入力Ａにスキャンパス入力が入力され、入力ＢはＬまたはＨに固定されている。これにより出力Ｃにはスキャンパス出力が得られる。
【００４３】
初期値は、前記の如く、記憶素子Ｗ、Ｘ、Ｙ、Ｚに「０、０、０、０」が設定されているので、スキャンパス出力は、図５に示す如く、Ｌつまり「０」固定である。他のプログラマブル・スキャンテスト回路３５１〜３５８も同様に「０」を出力する。このためセキュリティ回路３０１内のＦＦＡ〜ＦＦＣにより構成されるスキャンパスは切断状態であり、セキュリティ回路３０１のセキュリティ機能に対する悪影響は存在しない。
【００４４】
しかしテスト時には、記憶素子Ｗ、Ｘ、Ｙ、Ｚに、図１２（Ｂ）に示す如く、「１、１、０、０」が設定される。このとき入力Ａからスキャンパス入力が伝達され、入力ＢはＬ又はＨに固定されているので出力Ｃとしては入力Ａがそのまま出力される。これにより図４に示す如く、テスト用入力は、セキュリティ回路３０１の前後の回路の各ＦＦを経由して、またセキュリティ回路３０１のＦＦＡ〜ＦＦＣを経由してテスト用出力として取出すことができるので、これがテスト用入力とあらかじめ定められた値であるか否か、例えば同一の値であるか否か、等をチェックすることにより、ＬＳＩが正確に製造されているか否かチェックすることができる。
【００４５】
プログラマブル・スキャンテスト回路の回路テーブルの記憶素子へのデータの設定は、図では説明簡略化の関係上パラレル設定状態で説明したが、プログラマブル回路素子数が多ければシリアル設定の方が容易である。
【００４６】
本発明では、通常動作を保証するために、プログラマブル回路素子の回路テーブルには初期値を持たせることができる。通常動作に必要な回路は初期値を持つように構成する。      
【００４７】
またセキュリティ回路には、通常の論理回路の他に、メモリなどの機能ブロックも含まれる。
【００４８】
プログラマブル回路素子の回路テーブルに回路データを保持する方式には、揮発方式と不揮発方式がある。前者は電源を切れば回路データが消え、後者は電源を切っても消えない。
【００４９】
揮発方式の場合、電源投入後に回路データをロードすることでテスト回路が構成され、電源断により回路データが消える。不揮発方式の場合、一旦回路データをロードすると、その後は消去するまで電源断にかかわらず回路データは保持される。
【００５０】
本発明によれば、セキュリティ回路など秘匿性の重要な回路のテストにおいて、テスト回路の回路データを所有している人だけが、セキュリティ回路にアクセス可能になるため、耐タンパ性のより高い、安全なＬＳＩが実現可能となる。従来の固定組み込みのテスト回路に比べ、構成が単純で使い易いテスト回路が使用可能となり、テスト効率が向上する。
【図面の簡単な説明】
【００５１】
【図１】本発明の第１実施例である。
【図２】通常時における動作状態説明図である。
【図３】テスト時における動作状態説明図である。
【図４】本発明の第２実施例である。
【図５】通常時の動作説明図である。
【図６】テスト時の動作説明図である。
【図７】従来の機能テスト回路である。
【図８】従来の機能テスト回路説明図である。
【図９】従来のスキャンテスト回路である。
【図１０】従来のスキャンテスト回路説明図である。
【図１１】プログラマブル回路の構成図である。
【図１２】ルックアップテーブル形回路素子の説明図である。
【符号の説明】
【００５２】
１  セキュリティ回路
２  第１テスト回路
３  第２テスト回路
１０  ＬＳＩ
１００  ＬＳＩ
１０１  第１テスト回路
１０２  第２テスト回路
１０３  モード選択回路
【図１】
2006003088.tif 000003
【図２】
2006003088.tif 000004
【図３】
2006003088.tif 000005
【図４】
2006003088.tif 000006
【図５】
2006003088.tif 000007
【図６】
2006003088.tif 000008
【図７】
2006003088.tif 000009
【図８】
2006003088.tif 000010
【図９】
2006003088.tif 000011
【図１０】
2006003088.tif 000012
【図１１】
2006003088.tif 000013
【図１２】
2006003088.tif 000014