(57)【要約】【課題】  暗号用の鍵や個人情報などの秘匿データを内部に持つ半導体集積回路の検査において、高い秘匿性を維持しながらその検査を容易に行える半導体集積回路を提供する。【解決手段】  秘匿データが格納された第１のＲＯＭ１０２と、該第１のＲＯＭ１０２と同じ内容のデータが格納された第２のＲＯＭ１０３と、前記第１，第２のＲＯＭ１０２，１０３にアクセスするためのアドレスを発生させるアドレス発生回器１０１と、第１，第２のＲOＭ１０２，１０３それぞれから読み出された第１，第２の秘匿データＳ１０３，Ｓ１０４を比較し、一致・不一致信号Ｓ１０５を、第１の外部端子１０５を介して当該半導体集積回路１００外部に出力する比較回路１０４と、を備える。【選択図】      図８
2006228425.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、
前記第１及び第２の記憶部に記憶されているデータが同一か否かを比較し、その比較結果を当該半導体集積回路外部に出力する比較部と、を備えた、
ことを特徴とする半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記第１及び第２の記憶部は、同一の秘匿データが記憶されている、
ことを特徴とする半導体集積回路。
【請求項３】
それぞれ秘匿データを保持し、半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、該第１及び第２の記憶部に対してアドレスを発生させ、記憶されているデータを読み出すアドレス発生部と、該アドレス発生部にて前記第１及び第２の記憶部から読み出されたデータが同一か否かを比較し、その比較結果を半導体集積回路外部に出力する比較部と、を備えた半導体集積回路の検査方法であって、
前記アドレス発生部にて、前記第１及び第２の記憶部に対してアドレスを発生させ、前記第１及び第２の記憶部に記憶されているデータを前記比較部に読み出させる第１の工程と、
前記比較部にて前記第１及び第２の記憶部から読み出されたデータが同一か否かを比較させ、その比較結果を前記半導体集積回路外部に出力させる第２の工程と、を含む、
ことを特徴とする半導体集積回路の検査方法。
【請求項４】
請求項３に記載の半導体集積回路の検査方法において、
前記第１及び第２の記憶部には、同一の秘匿データが記憶されており、
前記第２の工程で出力された比較結果がすべて一致していた場合に、前記半導体集積回路を良品と判定する第３の工程をさらに含む、
ことを特徴とする半導体集積回路の検査方法。
【請求項５】
請求項３に記載の半導体集積回路の検査方法をコンピュータに実施させる、
ことを特徴とする半導体集積回路の検査プログラム。
【請求項６】
それぞれ秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、
前記第１の記憶部と前記第２の記憶部とに記憶されているデータが異なっているか否かを比較し、その比較結果を当該半導体集積回路外部に出力する比較部と、を備えた、
ことを特徴とする半導体集積回路。
【請求項７】
請求項６に記載の半導体集積回路において、
前記第１及び第２の記憶部は、互いに反転した秘匿データが記憶されている、
ことを特徴とする半導体集積回路。
【請求項８】
それぞれ秘匿データを保持し、半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、該第１及び第２の記憶部に対してアドレスを発生させ、記憶されているデータを読み出すアドレス発生部と、前記第１の記憶部と前記第２の記憶部とに記憶されているデータが異なっているか否かを比較し、その比較結果を半導体集積回路外部に出力する比較部と、を備えた半導体集積回路の検査方法であって、
前記アドレス発生部にて、前記第１及び第２の記憶部に対してアドレスを発生させ、前記第１及び第２の記憶部に記憶されているデータを前記比較部に読み出させる第１の工程と、
前記比較部にて前記第１及び第２の記憶部から読み出されたデータが互いに異なっているか否かを比較させ、その比較結果を前記半導体集積回路外部に出力させる第２の工程と、を含む、
ことを特徴とする半導体集積回路の検査方法。
【請求項９】
請求項８に記載の半導体集積回路の検査方法において、
前記第１及び第２の記憶部には、互いに反転した秘匿データが記憶されており、
前記第２の工程で前記半導体集積回路外部に出力された比較結果がすべて異なっていた場合に、前記半導体集積回路を良品と判定する第３の工程をさらに含む、
ことを特徴とする半導体集積回路の検査方法。
【請求項１０】
請求項８に記載の半導体集積回路の検査方法をコンピュータに実施させる、
ことを特徴とする半導体集積回路の検査プログラム。
【請求項１１】
請求項１、請求項２、請求項６、または請求項７のいずれかに記載の半導体集積回路において、
前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行い、その演算結果を当該半導体集積回路外部に出力する第１及び第２の演算部をさらに備えた、
ことを特徴とする半導体集積回路。
【請求項１２】
請求項３または請求項８に記載の半導体集積回路の検査方法において、
前記半導体集積回路は、前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行い、その演算結果を当該半導体集積回路外部に出力する第１及び第２の演算部をさらに備えるものであり、
前記第１の工程において、前記第１及び第２の記憶部に記憶されているデータを、前記比較部に加えて前記第１及び第２の演算部にも読み出させ、
前記演算部にて、前記第１及び第２の記憶部から読み出されたデータの正当性を確認する演算を行わせ、その演算結果を外部に出力する第４の工程をさらに含む、
ことを特徴とする半導体集積回路の検査方法。
【請求項１３】
請求項１２に記載の半導体集積回路の検査方法をコンピュータに実施させる、
ことを特徴とする半導体集積回路の検査プログラム。
【請求項１４】
それぞれ秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、
前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行う第１及び第２の演算部と、
前記第１及び第２の演算部による演算結果に基づき、前記第１及び第２の記憶部のいずれに記憶されたデータが正しいかを判定する自己判定部と、
前記自己判定部による判定結果に基づき、前記第１及び第２の記憶部のうち、使用する記憶部を選択する選択部と、を備えた、
ことを特徴とする半導体集積回路。
【請求項１５】
それぞれ秘匿データを保持し、半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、該第１及び第２の記憶部に対してアドレスを発生させ、記憶されているデータを読み出すアドレス発生部と、前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行う第１及び第２の演算部と、前記第１及び第２の演算部による演算結果に基づき、前記第１及び第２の記憶部のいずれに記憶されたデータが正しいかを判定する自己判定部と、を備えた半導体集積回路の検査方法において、
前記アドレス発生部にて前記第１及び第２の記憶部に対してアドレスを発生させ、前記第１及び第２の記憶部に記憶されているデータを前記第１及び第２の演算部に読み出させる第５の工程と、
前記第１及び第２の演算部にて前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行わせ、その演算結果を前記半導体集積回路外部に出力させる第６の工程と、を含む、
ことを特徴とする半導体集積回路の検査方法。
【請求項１６】
請求項１５に記載の半導体集積回路の検査方法において、
前記第６の工程で前記半導体集積回路外部に出力された判定結果が、前記第１、第２の記憶部のどちらか一方の演算結果が正しものである場合に、前記半導体集積回路を良品と判定する第７の工程をさらに含む、
ことを特徴とする半導体集積回路の検査方法。
【請求項１７】
秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な記憶部と、
前記記憶部に記憶されている秘匿データと同一のデータを内部データとして保持する情報処理装置と、を備える半導体集積回路であって、
前記情報処理装置は、前記記憶部に記憶されているデータと、前記内部データとを比較し、その比較結果を当該半導体集積回路外部に出力する、
ことを特徴とする半導体集積回路。
【請求項１８】
請求項１７に記載の半導体集積回路において、
前記情報処理装置は、前記記憶部に記憶されているデータと同一のデータを、当該情報処理装置内に格納されたソフトウエアの一部に保持する、
ことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有効データを記憶した半導体集積回路、半導体集積回路の検査方法、半導体集積回路の検査プログラムに関するものである。
【背景技術】
【０００２】
これまで半導体集積回路は、様々な装置やシステムの部品としてその役割を担ってきた。しかしながら、近年の半導体技術の進歩により、幾つもの部品で構成されていた機能を１つの半導体集積回路で実現することが可能となり、半導体集積回路は、装置やシステムの部品としてだけではなく、それ自身がシステムとしての機能を有するようになっている。
【０００３】
一方、インターネットの普及により、これまでの電話等によるネットワークに次ぐ巨大な通信インフラとして、パソコンを中心としたネットワークが拡大してきている。そして、上述のパソコンを中心とした、インターネットによるネットワークにおいては、これまでの電話等によるネットワークのように、安全性を保証してくれるのが誰なのかが明快であったシステムと異なり、ネットワークの安全性は、利用者個人による自衛が求められる。従って、電子商取引に代表されるような、インターネットのシステムにおいては、第三者によるデータの改ざんや盗聴などの不正行為を防ぐための暗号・認証技術を使ったシステムが必要となっている。
【０００４】
このように、インターネットのネットワーク上において、システムが機能する上で必要とされる情報としての暗号・認証用の鍵や個人情報など、第三者に公開したくない秘匿データが使用される機会が増加するにつれて、これらの秘匿データを半導体集積回路内部に保持する機会が多くなっている。そして、このようなネットワークにおいては、情報の所有者やシステムの所有者などの、限定された（許可を与えられた）者だけが、半導体集積回路内部に保持された秘匿データを使用してシステムを動作させたり、秘匿データそのものを読み出せるようにすることが求められているため、これらの秘匿データが第三者に漏洩しないよう、強固に保護することが重要となる。
【０００５】
前述のように、秘匿データは、第三者に漏洩しないよう強固に保護する必要があるが、一方、前記秘匿データを内部に保持する半導体集積回路の出荷フローなどにおいては、該秘匿データを容易に読み出せることが必要となる。そのため、従来においては、前記半導体集積回路にテスト回路等を設けて、前記秘匿データを該テスト回路等により直接読み出せるようにしていた。
【０００６】
例えば、図１８に示す従来の半導体集積回路のテスト回路は、外部のテスト端子３３により、情報処理装置３４の任意の部分の出力データ４３（秘匿データ）を、外部端子６３にありのまま直接出力し、その状態を観測するものであり、ＲＯＭダンプ方式などがこれらの範ちゅうに入る。この従来のテスト回路は、機能が比較的単純で、観測性に優れているという長所を持つ。しかし、観測性が良い反面、第三者に容易に情報処理装置３４の処理結果を利用されるという弱点を合わせ持っていた。
【０００７】
このように従来では、半導体集積回路において秘匿データを強固に保護しても、その半導体集積回路のテスト回路の仕様が第三者に漏れた場合は、容易にその処理結果を利用されるため、半導体集積回路における秘匿データの保護そのものが意味をなさなくなる、という課題を有していた。
【０００８】
そして、従来においては、この課題を解決するものとして、ＬＳＩの守秘性をさらに高めたテスト回路が開示されている（特許文献１参照）。
【０００９】
以下、図１９を用いて、従来のＬＳＩの守秘性をさらに高めたテスト回路について説明する。図１９は、従来のテスト回路の構成を示す図である。
図１９において、従来のテスト回路は、半導体集積回路７１内部に、制御回路７２、アドレス発生器７３、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃ Ｅｒａｓａｂｌｅ Ｐｒｏｇｒａｍｍａｂｌｅ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）７５、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）７６、スクランブル回路７７を設け、その外部には、ＥＥＰＲＯＭ７８が出力端子８８を介して接続されている。
【００１０】
そして、前記構成を有する半導体集積回路７１は、内部のＲＯＭ７６に含まれている各種の命令やデータ等により、制御回路７２を通して制御・演算し、半導体集積回路７１全体の動きを制御している。
【００１１】
また、端子としては、テスト端子７４，コントロール信号入力端子８６，データ・アドレス入力端子８７が設けられ、制御回路７２には、テスト回路本体９０が設けられている。そして、スクランブル回路７７は、内部ＥＥＰＲＯＭ７５の出力８３、ＲＯＭ７６の出力８２、及び外部ＥＥＰＲＯＭ（ＲＯＭ）７８の出力８９を受け、その回路７７の内部で処理した後、各種制御回路への出力８１、及び外部出力８０を出力するものである。
【００１２】
一般に、半導体集積回路７１の生産側とそれを委託するユーザ側はお互いに共通のデータを有し、該共通のデータに基づいて検証等の判断が行われる。つまり、ここでは、半導体集積回路７１の内部に設けられたＥＥＰＲＯＭ７５と、外部に設けられたＥＥＰＲＯＭ７８とに含まれる内容が同一であれば、検証等の判断が正しく行われる。そして、前記ＲＯＭ７６の内容（秘匿データ）は、内部ＥＥＰＲＯＭ７５によりスクランブルがかけられ、前記スクランブル回路７７を通過したあと、正常なデータとなる。従って、このスクランブルが正しく行われないと、各種制御回路へ正しく制御信号が供給されない。一方、テストモード時には、ＲＯＭ７６の内容は、外部ＥＥＰＲＯＭ７８によりスクランブルがかけられ、外部端子（図示せず）を通して出力され、観測される。従って、外部ＥＥＰＲＯＭ７８に対して正しくデータを入力し、スクランブルが正しく行われないと、正しく命令コード等が観測できない。
【００１３】
前記構成を有する従来の半導体集積回路７１の動作について述べる。
制御回路７２は、半導体集積回路７１の動作、演算を制御し、コントロール信号入力端子８６から入力される複数のコントロール信号によって制御される。同時に、データ・アドレス信号入力端子８７を介して外部から入力されるアドレス，データ等は、内部ＥＥＰＲＯＭ７５への書き込み、及び制御回路７２での制御，演算に用いられる。そして、制御回路の一種であるアドレス発生器７３は、内部ＥＥＰＲＯＭ７５、ＲＯＭ７６、及び出力端子８８を介して外部ＥＥＰＲＯＭ７８に、アドレス信号８４を出力する。そして、前記ＲＯＭ７６からの出力８２、及び内部ＥＥＰＲＯＭ７５からの出力８３は、スクランブル回路７７に入力され、制御回路７２からの制御信号７９により、スクランブル回路７７の制御を、内部ＥＥＰＲＯＭ７５からの出力８３により行うか、外部ＥＥＰＲＯＭ７８からの出力８９により行うか、を決定する。
【００１４】
そして、テストモード時には、制御信号７９により、スクランブル回路７７の制御を、外部ＥＥＰＲＯＭ７８からの出力８９により行うよう決定し、それにより、ＲＯＭ７６の内容は、前記外部ＥＥＰＲＯＭ７８によりスクランブルをかけられ、該スクランブルをかけられた外部出力８０は、外部端子（図示せず）を通して観測される。
【００１５】
すなわち、上述した従来技術においては、半導体集積回路７１の内部に、スクランブル回路７７、及び外部にスクランブルをかける命令を発するＥＥＰＲＯＭ７８を設けて、ＲＯＭ７６内の秘匿データを外部から読みにくくしている。
【特許文献１】特開平６−１２４２４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、前記半導体集積回路７１の内部ＥＥＰＲＯＭ７５と同じ内容のＥＥＰＲＯＭ７８を外部に持つことは、外部ＥＥＰＲＯＭ７８の内容が漏洩してしまえば、テストモード時のみならず、通常使用時でも内部の秘匿データが漏洩する問題があった。
【００１７】
また、テストのため、半導体集積回路の外部にＥＥＰＲＯＭ７８を設けることは、製造コストやテストの容易さの面においても問題があった。
【００１８】
本発明は、以上のような問題を解決するためになされたもので、高い秘匿性を維持しつつ半導体集積回路の検査を容易にする半導体集積回路、半導体集積回路装置の検査方法、及び半導体集積回路装置の検査プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
前記課題を解決するために、本発明の半導体集積回路は、それぞれ秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、前記第１及び第２の記憶部に記憶されているデータが同一か否かを比較し、その比較結果を当該半導体集積回路外部に出力する比較部と、を備えたものである。
【００２０】
さらに、本発明の半導体集積回路は、前記第１及び第２の記憶部は、同一の秘匿データが記憶されているものである。
【００２１】
これにより、半導体集積回路内の、第三者に公開することのできない秘匿データを保持する記憶部のデータの正当性チェックを、その半導体集積回路の外部から直接制御・観測することなく、その内部で行うことが可能な半導体集積回路を提供できる。
【００２２】
また、本発明の半導体集積回路の検査方法は、それぞれ秘匿データを保持し、半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、該第１及び第２の記憶部に対してアドレスを発生させ、記憶されているデータを読み出すアドレス発生部と、該アドレス発生部にて前記第１及び第２の記憶部から読み出されたデータが同一か否かを比較し、その比較結果を半導体集積回路外部に出力する比較部と、を備えた半導体集積回路の検査方法であって、前記アドレス発生部にて、前記第１及び第２の記憶部に対してアドレスを発生させ、前記第１及び第２の記憶部に記憶されているデータを前記比較部に読み出させる第１の工程と、前記比較部にて前記第１及び第２の記憶部から読み出されたデータが同一か否かを比較させ、その比較結果を前記半導体集積回路外部に出力させる第２の工程と、を含むものである。
【００２３】
これにより、半導体集積回路の、第三者に公開することのできない秘匿データを保持する記憶部のデータの正当性チェックを、該半導体集積回路の外部から直接制御・観測することなく、その内部で行うことができる。
【００２４】
さらに、本発明の半導体集積回路の検査方法は、前記第１及び第２の記憶部には、同一の秘匿データが記憶されており、前記第２の工程で出力された比較結果がすべて一致していた場合に、前記半導体集積回路を良品と判定する第３の工程をさらに含むものである。
【００２５】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査を行うことができる。
【００２６】
また、本発明の半導体集積回路の検査プログラムは、請求項３に記載の半導体集積回路の検査方法をコンピュータに実施させるものである。
【００２７】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査を行うことができる。
【００２８】
また、本発明の半導体集積回路は、それぞれ秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、前記第１の記憶部と前記第２の記憶部とに記憶されているデータが異なっているか否かを比較し、その比較結果を当該半導体集積回路外部に出力する比較部と、を備えたものである。
【００２９】
これにより、半導体集積回路内の、第三者に公開することのできない秘匿データを保持する記憶部のデータの正当性チェックを、その半導体集積回路の外部から直接制御・観測することなく、その内部で行うことが可能な半導体集積回路を提供できる。  
【００３０】
さらに、本発明の半導体集積回路は、前記第１及び第２の記憶部は、互いに反転した秘匿データが記憶されているものである。
【００３１】
これにより、半導体集積回路の記憶部のデータの正当性チェックをより正しく行える半導体集積回路を提供できる。
【００３２】
また、本発明の半導体集積回路の検査方法は、それぞれ秘匿データを保持し、半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、該第１及び第２の記憶部に対してアドレスを発生させ、記憶されているデータを読み出すアドレス発生部と、前記第１の記憶部と前記第２の記憶部とに記憶されているデータが異なっているか否かを比較し、その比較結果を半導体集積回路外部に出力する比較部と、を備えた半導体集積回路の検査方法であって、前記アドレス発生部にて、前記第１及び第２の記憶部に対してアドレスを発生させ、前記第１及び第２の記憶部に記憶されているデータを前記比較部に読み出させる第１の工程と、前記比較部にて前記第１及び第２の記憶部から読み出されたデータが互いに異なっているか否かを比較させ、その比較結果を前記半導体集積回路外部に出力させる第２の工程と、を含むものである。
【００３３】
これにより、半導体集積回路の、第三者に公開することのできない秘匿データを保持する記憶部のデータの正当性チェックを、該半導体集積回路の外部から直接制御・観測することなく、その内部で行うことができるため、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査を行うことができる。
【００３４】
さらに、本発明の半導体集積回路の検査方法は、前記第１及び第２の記憶部には、互いに反転した秘匿データが記憶されており、前記第２の工程で前記半導体集積回路外部に出力された比較結果がすべて異なっていた場合に、前記半導体集積回路を良品と判定する第３の工程をさらに含むものである。
【００３５】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査をより正しく行える。
【００３６】
また、本発明の半導体集積回路の検査プログラムは、請求項８に記載の半導体集積回路の検査方法をコンピュータに実施させるものである。
【００３７】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査をより正しく行える。
【００３８】
また、本発明の半導体集積回路は、前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行い、その演算結果を当該半導体集積回路外部に出力する第１及び第２の演算部をさらに備えたものである。
【００３９】
これにより、半導体集積回路内の、第三者に公開することのできない秘匿データを保持する記憶部のデータの正当性チェックを、その半導体集積回路の外部から直接制御・観測することなく、その内部でより一層正しく行うことが可能な半導体集積回路を提供できる。
【００４０】
また、本発明の半導体集積回路の検査方法は、前記半導体集積回路は、前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行い、その演算結果を当該半導体集積回路外部に出力する第１及び第２の演算部をさらに備えるものであり、前記第１の工程において、前記第１及び第２の記憶部に記憶されているデータを、前記比較部に加えて前記第１及び第２の演算部にも読み出させ、前記演算部にて、前記第１及び第２の記憶部から読み出されたデータの正当性を確認する演算を行わせ、その演算結果を外部に出力する第４の工程をさらに含むものである。
【００４１】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査をより一層正しく行うことができる。
【００４２】
また、本発明の半導体集積回路の検査プログラムは、請求項１２に記載の半導体集積回路の検査方法をコンピュータに実施させるものである。
【００４３】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査をより一層正しく行うことができる。
【００４４】
また、本発明の半導体集積回路は、それぞれ秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行う第１及び第２の演算部と、前記第１及び第２の演算部による演算結果に基づき、前記第１及び第２の記憶部のいずれに記憶されたデータが正しいかを判定する自己判定部と、前記自己判定部による判定結果に基づき、前記第１及び第２の記憶部のうち、使用する記憶部を選択する選択部と、を備えたものである。
【００４５】
これにより、半導体集積回路内の、第三者に公開することのできない秘匿データを保持する記憶部のデータの正当性チェックを、その半導体集積回路の外部から直接制御・観測することなく、その内部で行うことが可能であると共に、前記判定結果がいずれか一方正しければ、前記記憶部のデータが正しいと判定できるため、その正当性チェックによる歩留りを向上できる半導体集積回路を提供できる。
【００４６】
また、本発明の半導体集積回路の検査方法は、それぞれ秘匿データを保持し、半導体集積回路外部から読み出し不可能な第１及び第２の記憶部と、該第１及び第２の記憶部に対してアドレスを発生させ、記憶されているデータを読み出すアドレス発生部と、前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行う第１及び第２の演算部と、前記第１及び第２の演算部による演算結果に基づき、前記第１及び第２の記憶部のいずれに記憶されたデータが正しいかを判定する自己判定部と、を備えた半導体集積回路の検査方法において、前記アドレス発生部にて前記第１及び第２の記憶部に対してアドレスを発生させ、前記第１及び第２の記憶部に記憶されているデータを前記第１及び第２の演算部に読み出させる第５の工程と、前記第１及び第２の演算部にて前記第１及び第２の記憶部に記憶されているデータの正当性を確認する演算を行わせ、その演算結果を前記半導体集積回路外部に出力させる第６の工程と、を含むものである。
【００４７】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査を行うことができる。
【００４８】
さらに、本発明の半導体集積回路の検出方法は、前記第６の工程で前記半導体集積回路外部に出力された判定結果が、前記第１、第２の記憶部のどちらか一方の演算結果が正しものである場合に、前記半導体集積回路を良品と判定する第７の工程をさらに含むものである。
【００４９】
これにより、半導体集積回路の秘匿データの守秘性を守りながら、半導体集積回路の検査を行うことができると共に、その検査時の歩留りも向上できる。
【００５０】
また、本発明の半導体集積回路は、秘匿データを保持し、当該半導体集積回路外部から読み出し不可能な記憶部と、前記記憶部に記憶されている秘匿データと同一のデータを内部データとして保持する情報処理装置と、を備える半導体集積回路であって、前記情報処理装置は、前記記憶部に記憶されているデータと、前記内部データとを比較し、その比較結果を当該半導体集積回路外部に出力するものである。
【００５１】
これにより、半導体集積回路内の、第三者に公開することのできない秘匿データを保持する記憶部のデータの正当性チェックを、より速く、その半導体集積回路の外部から直接制御・観測することなく、その内部で行うことが可能な半導体集積回路を提供できる。
【００５２】
さらに、本発明の半導体集積回路は、前記情報処理装置は、前記記憶部に記憶されているデータと同一のデータを、当該情報処理装置内に格納されたソフトウエアの一部に保持するものである。
【００５３】
これにより、半導体集積回路の検査の実効速度をはやめることができる。
【発明の効果】
【００５４】
本発明の半導体集積回路、半導体集積回路の検査方法、半導体集積回路の検査プログラムによれば、第１の秘匿データを保持する第１の記憶部と、前記第１の秘匿データと同一、もしくは該第１の秘匿データの反転データを保持する第２の記憶部と、前記第１の記憶部のデータと前記第２の記憶部のデータとを比較して、一致・不一致信号を出力する比較部とを備えることによって、あるいはこれらに相当するステップを含むことによって、第三者に公開したくない秘匿データが格納された記憶部のデータの正当性のチェックを、当該半導体集積回路外部から直接制御・観測することなく、前記記憶部の内部において行うことができ、前記秘匿データの守秘性を守りながら、回路検査を実施することができるという効果がある。
【００５５】
また、本発明の半導体集積回路、半導体集積回路の検査方法、半導体集積回路の検査プログラムによれば、第１の秘匿データを保持する第１の記憶部と、前記第１の秘匿データと同一、もしくは該第１の秘匿データの反転データを保持する第２の記憶部と、前記第１の記憶部のデータと第２の記憶部のデータとを比較して、一致・不一致信号を出力する比較部と、前記第１の記憶部と第２の記憶部のデータの正当性をチェックするそれぞれの演算部とを備えることによって、あるいはこれらに相当するステップを含むことによって、一層高い確率で不良品をチェックでき、第三者に公開したくない秘匿データが格納された記憶部を外部から直接制御・観測しないで、該秘匿データの守秘性を守ることができる効果があり、且つ、前記２つの記憶部のうち１つの記憶部が不良品であっても、もう１つの記憶部を選択することができるので、その結果、当該半導体集積回路の検査における歩留りを向上することができるという効果もある。
【００５６】
また、本発明の半導体集積回路によれば、それぞれ秘匿データを保持する第１及び第２の記憶部と、前記第１及び第２の記憶部に記憶されている前記秘匿データの正当性を確認する演算を行う第１及び第２の演算部と、前記第１及び第２の演算部による演算結果に基づき、前記第１及び第２の記憶部のいずれに記憶されたデータが正しいかを判定する自己判定部と、前記自己判定部による判定結果に基づき、前記第１及び第２の記憶部のうち、使用する記憶部を選択する選択部と、を備えるようにしたので、第三者に公開したくない秘匿データが格納された記憶部を、外部から直接制御・観測することなく、当該半導体集積回路の検査が可能となり、前記秘匿データの守秘性を守ることができる効果があり、また、前記２つの記憶部のうち１つの記憶部が不良品であっても、もう１つの記憶部を使用することができるので、その結果、当該半導体集積回路の検査における歩留りを向上することができるという効果もある。
【００５７】
また、本発明の半導体集積回路によれば、秘匿データを保持する記憶部と、前記記憶部と同じ内容を内部データとして保持する情報処理装置と、を備え、前記情報処理装置は、前記記憶部に記憶されている内容と自己の内部データとを比較し、その比較結果を外部に出力するようにしたので、第三者に公開したくない秘匿データが格納された記憶部を、外部から直接に制御・観測することなく、前記秘匿データの守秘性を守りながら、当該半導体集積回路の検査を実施することができるという効果がある。また、前記情報処理装置に保持する内部データをソフトウエアの一部として保持すれば、前記検査の実効速度をはやめることができる効果がある。
【発明を実施するための最良の形態】
【００５８】
（実施の形態１）
以下、実施の形態１について説明する。
図１は、本発明の実施の形態１による半導体集積回路の構成図である。
図１において、半導体集積回路１は、通常使用時に使用するアドレス信号（第１のアドレス信号）Ａ１〜Ａｎを生成するアドレス生成回路２と、回路検査時に使用する、外部から入力されるアドレス信号（第２のアドレス信号）Ｂ１〜Ｂｎの入力端子であるアドレス入力端子３と、切替制御信号（選択信号）Ｃ１に応じて前記アドレス信号Ａ１〜Ａｎもしくはアドレス信号Ｂ１〜Ｂｎのいずれかを選択するアドレス信号選択回路（アドレス信号選択部）４と、該アドレス信号選択回路４における前記アドレス信号Ａ，Ｂの選択を制御する切替制御信号Ｃ１の入力端子である切替制御信号入力端子７と、第三者に公開したくない秘匿データを格納し、アドレス信号選択回路４から出力されるアドレス信号によって、格納されている任意の秘匿データを読み出すことができる記憶部５と、選択された秘匿データＤ１〜Ｄｍに対して或る一定の秘密法則に従って演算処理を行う演算回路（演算部）６と、前記演算回路６の演算結果Ｅ１〜Ｅｋを半導体集積回路１の外部へ出力する出力端子である検査用出力端子８と、前記記憶部５に秘匿データとともに記憶している鍵情報により、秘匿データに対しデコード等の処理を行うＤＳＰ(Digital Signal Processor)１００１と、このＤＳＰ１００１の処理結果を半導体集積回路１の外部へ出力する本来の出力端子である出力端子１００２と、から構成されている。
【００５９】
次に、前記のように構成された半導体集積回路１の動作を、通常使用時と回路検査時とに分けて説明する。
まず、通常使用時の場合、アドレス信号選択回路４は、半導体集積回路１内部にあるアドレス生成回路２から生成されたアドレス信号Ａ１〜Ａｎを、自動的に選択する。そして、記憶部５にアドレス信号選択回路４からアドレス信号Ａ１〜Ａｎが入力されると、記憶部５は、該アドレス信号Ａ１〜Ａｎにより、格納されている秘匿データＨ１〜Ｈｑを出力する。この秘匿データＨ１〜Ｈｑは、例えば鍵情報を用いて暗号化されてデータ格納領域に格納されている音楽データ等である。そして、ＤＳＰ１００１等のマイコン（情報処理装置）は、前記秘匿データを、鍵情報を用いてデコードなどの加工を施して所望の形態に変化させた後、出力端子１００２より半導体集積回路１の外部に出力させる。なお、通常使用時には、秘匿データＨ１〜Ｈｑそれ自体を、そのほかに設けられた端子３，７，８から半導体集積回路１の外部へ読み出すことは不可能となっている。
【００６０】
次に、回路検査時の場合、切替制御信号入力端子７より、アドレス入力端子３から入力されるアドレス信号Ｂ１〜Ｂｎを選択する切替制御信号Ｃ１を入力する。そして、前記切替制御信号Ｃ１を受け取ったアドレス信号選択回路４は、該切替制御信号Ｃ１に従って、アドレス信号Ｂ１〜Ｂｎを選択し、記憶部５にアドレス信号Ｂ１〜Ｂｎが入力されると、記憶部５は、該アドレス信号Ｂ１〜Ｂｎにより、格納されている秘匿データＤ１〜Ｄｍを出力する。前記記憶部５から読み出された秘匿データＤ１〜Ｄｍは、演算回路６において、通常使用時にＤＳＰ１００１で行われた処理とは異なる一定の秘密法則に従った演算が行われ、その演算結果であるデータＥ１〜Ｅｋが検査用出力端子８に出力される。そして、該検査用出力端子８から出力されたデータＥ１〜Ｅｋを、半導体集積回路１の外部にあるテスタ（図示せず）で観測して、該データＥ１〜Ｅｋが予め決められている正しいデータか否かを判定することで、半導体集積回路１が正しく作成されているかを判断する。なお、前記検査用出力端子８から出力される演算結果Ｅ１〜Ｅｋは、前記演算回路６において秘密法則に従って演算されているため、第三者が不正に検査用回路を使って半導体集積回路１から秘匿データを読み出したとても、前記演算回路６の演算法則を知らなければ解読不可能である。例えば、前述したように、記憶部５に格納されている秘匿データが暗号化された音楽データ及びその暗号を解くための鍵データであり、前記演算回路６による演算の秘密法則が、データを反転させるものであるとする場合、検査用出力端子８から出力されるデータは、記憶部５に格納されたデータの反転データとなる。しかし、演算回路６における秘密法則（ここでは、反転データを出力させること）を予め知っておかなければ、検査用出力端子８から出力されるデータは、意味を持たない単なる０，１のデータに過ぎない。
【００６１】
以上のように、本実施の形態１の半導体集積回路によれば、アドレス生成回路２において生成される通常使用時に使用するアドレス信号Ａ１〜Ａｎと、外部から入力される回路検査時に使用するアドレス信号Ｂ１〜Ｂｎとを、切替制御信号Ｃ１に従って選択するアドレス信号選択回路４を設け、記憶部５にアドレス信号Ｂ１〜Ｂｎが与えられるように切替制御信号Ｃ１が入力されたときだけ、前記記憶部５から出力される秘匿データに対して一定の秘密法則に従った演算を行う演算回路６を設けるようにしたので、不正に検査用の回路を使って秘匿データを読み出そうとしても、その半導体集積回路１の外部に読み出されるデータは、前記演算回路６において秘密法則に従った演算処理後の演算結果Ｅ１〜Ｅｋとなり、半導体集積回路１内の記憶部５に格納された第三者に公開したくない秘匿データを強固に保護すると共に、半導体集積回路１の回路検査する際には、前記秘匿データを容易かつ安全に、半導体集積回路１の外部に読み出して、回路検査を容易に行うことができる効果がある。
【００６２】
なお、本実施の形態１において、前記ＤＳＰ１００１はデコード処理を行うものとして説明したが、秘匿データに対して、デコード以外の処理、例えば、エンコード等の処理を行うようにしてもよい。
【００６３】
また、記憶部５には、秘匿データと鍵情報とを記憶するようにしたが、鍵情報のみを記憶し、秘匿データは別の記憶部を設けて、その記憶部に記憶するようにしてもよい。
【００６４】
また、前記記憶部５に格納する秘匿データは、暗号用の鍵情報や音楽データ等の著作権データ以外であってもよく、例えば個人情報など、秘匿性を要するものであれば、どのようなデータであってもよい。
【００６５】
（実施の形態２）
以下、実施の形態２について図面を参照しながら説明する。
前記実施の形態１では、記憶部５から回路検査時にアドレス信号Ｂ１〜Ｂｎによって読み出される秘匿データを、秘密法則に従って演算して演算結果Ｅ１〜Ｅｋを出力する演算回路６を設けるようにしたが、本実施の形態２においては、前記演算回路６の代わりに、記憶部５から出力される秘匿データを外部に出力するか否かを、外部から入力される複数のデータ信号の組み合わせにより判断する演算回路２１を設ける。
【００６６】
図２は、本発明の実施の形態２による半導体集積回路の構成を示す図である。
図２において、９及び１０は、それぞれデータ信号Ｆ１〜ＦｊとＧ１〜Ｇｐとを半導体集積回路１ａの内部へ入力する入力端子であり、２１は外部から入力された前記データ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐを演算し、その入力の組み合わせに応じてアドレス信号Ｂ１〜Ｂｎにより読み出された秘匿データを半導体集積回路１ａの外部へ出力するか否かを制御する演算回路（演算部）である。
【００６７】
なお、本実施の形態２による半導体集積回路１ａは、前記実施の形態１における半導体集積回路１の演算回路６の代わりに演算回路２１を設け、該演算回路２１は、入力端子９，１０から入力されるデータ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐの組み合わせの演算結果に基づいて、半導体集積回路１ａの外部に秘匿データを出力するか否かを決める点においてのみ、前述した実施の形態１による半導体集積回路と異なる。
【００６８】
このため、前述した実施の形態１による半導体集積回路と同じ構成要素については同じ符号を付し説明を省略する。
【００６９】
次に、本実施の形態２による半導体集積回路１ａの動作について説明する。
まず、通常使用時の動作は、前記実施の形態１での動作と同一であるため、説明を省略する。
【００７０】
次に、回路検査時の場合、切替制御信号入力端子７より、アドレス入力端子３から入力されるアドレス信号Ｂ１〜Ｂｎを選択する切替制御信号Ｃ１を入力する。そして、前記切替制御信号Ｃ１を受け取ったアドレス信号選択回路４は、該切替制御信号Ｃ１に従って、アドレス信号Ｂ１〜Ｂｎを選択する。そして、記憶部５にアドレス信号Ｂ１〜Ｂｎが入力されると、記憶部５は、該アドレス信号Ｂ１〜Ｂｎにより、格納されている秘匿データＤ１〜Ｄｍを出力する。ここまでは、前記実施の形態１の動作と同様である。
【００７１】
そして、複数の入力端子９，１０から、複数のデータ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐを演算回路２１に入力し、該演算回路２１は、入力されたデータ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐを演算し、その入力されたデータ信号の組み合わせが正しい場合のみ、前記秘匿データＤ１〜Ｄｍを、検査用出力端子８を介して外部へ出力するように制御する。
【００７２】
以上のように、本実施の形態２の半導体集積回路によれば、データ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐを入力する複数の入力端子９，１０と、前記入力端子９，１０からの入力の組み合わせをチェックする演算回路２１とを設け、前記複数の入力端子９，１０に、データ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐの正しい組み合わせを入力しなければ、秘匿データが外部に出力されないようにしたので、半導体集積回路１ａ内の記憶部５に格納された第三者に公開したくない秘匿データを強固に保護することができ、一方、データ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐの正しい組み合わせを知り得る者（秘匿データを参照すること、あるいは秘匿データを使用して半導体集積回路１ａを動作させることを許可された者）が回路検査する際には、前記秘匿データを容易に外部に読み出すことができ、回路検査を容易に行うことができる。
【００７３】
なお、本実施の形態２による半導体集積回路１ａに対し、前述した実施の形態１の演算回路６をさらに設け、秘匿データＤ１〜Ｄｍに対して秘密演算を行ってから外部に出力するようにしてもよく、このようにすれば、秘匿データを二重に保護する効果があり、秘匿データをより一層外部に漏れにくくすることができる。
【００７４】
（実施の形態３）
以下、実施の形態３について図面を参照しながら説明する。  
前記実施の形態１では、切替制御信号Ｃ１を、制御信号入力端子７を介して外部より入力するようにしていたが、本実施の形態３においては、外部から入力される複数のデータ信号の組み合わせを演算することで切替制御信号Ｃ１を生成する演算回路１１を設ける。
【００７５】
図３は、本発明の実施の形態３による半導体集積回路の構成を示す図である。
図３において、本実施の形態３における半導体集積回路１ｂは、通常使用時に使用するアドレス信号Ａ１〜Ａｎを生成するアドレス生成回路２と、回路検査時に使用する、外部から入力されるアドレス信号Ｂ１〜Ｂｎの入力端子であるアドレス入力端子３と、切替制御信号Ｃ１に応じて前記アドレス信号Ａ１〜Ａｎもしくはアドレス信号Ｂ１〜Ｂｎのいずれかを選択するアドレス信号選択回路４と、第三者から保護したい秘匿データを格納し、アドレス信号選択回路４から出力されるアドレス信号により、格納されている任意の秘匿データを読み出すことができる記憶部５と、それぞれのデータ信号（複数のデータ）Ｆ１〜ＦｊとＧ１〜Ｇｐとを半導体集積回路１ｂ内部へ入力する入力端子９，１０と、前記データ信号Ｆ１〜ＦｊとＧ１〜Ｇｐとを演算し、その組み合わせに応じて切替制御信号Ｃ１を生成する演算回路（演算部）１１と、秘匿データを外部へ出力する検査用出力端子８と、から構成される。
【００７６】
次に、本実施の形態３による半導体集積回路１ｂの動作について説明する。
まず、通常使用時の動作は、前記実施の形態１での動作と同一であるため、説明を省略する。
【００７７】
次に、回路検査時の場合、複数の入力端子９，１０から複数のデータ信号Ｆ１〜Ｆｊ、Ｇ１〜Ｇｐを演算回路１１に入力し、該演算回路１１は、その入力されたデータ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐを演算して、その組み合わせが正しいときのみ、秘匿データを外部から直接読み出すことができる切替制御信号Ｃ１を生成して、アドレス信号選択回路４へ出力する。
【００７８】
そして、前記切替制御信号Ｃ１を受け取ったアドレス信号選択回路４は、該切替制御信号Ｃ１に従って、アドレス信号Ｂ１〜Ｂｎを選択する。そして、記憶部５にアドレス信号Ｂ１〜Ｂｎが入力されると、記憶部５は、該アドレス信号Ｂ１〜Ｂｎにより、格納されている秘匿データＤ１〜Ｄｍを出力する。
【００７９】
そして、記憶部５から読み出された秘匿データＤ１〜Ｄｍは、検査用出力端子８から外部へ出力される。
【００８０】
以上のように、本実施の形態３の半導体集積回路によれば、複数の入力端子９，１０と、前記入力端子９，１０から入力される複数のデータ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐが正しい組み合わせである時のみ、秘匿データを外部から直接読み出すことができる切替制御信号Ｃ１を生成する演算回路１１と、を設け、前記入力端子９，１０に、データ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐの正しい組み合わせを入力しなければ、前記演算回路１１において、秘匿データを外部から直接読み出せる切替制御信号Ｃ１を生成しないようにしたので、半導体集積回路１ｂ内の記憶部５に格納された第三者に公開したくない秘匿データを強固に保護することができ、一方、データ信号Ｆ１〜Ｆｊ，Ｇ１〜Ｇｐの正しい組み合わせを知り得る者（秘匿データを参照すること、あるいは該秘匿データを使用して半導体集積回路１ｂを動作させることを許可された者）が回路検査する際には、前記秘匿データを容易に読み出すことができ、回路検査を容易に行うことができる。
【００８１】
なお、本実施の形態３による半導体集積回路１ｂにおいて、記憶部５と検査用出力端子８との間に、前述した実施の形態１の演算回路６を設け、記憶部５から出力される秘匿データＤ１〜Ｄｍが演算回路６を通過してから外部に出力されるようにすれば、秘匿データを二重に保護する効果があり、該秘匿データをより一層外部に漏れにくくすることができる。
【００８２】
（実施の形態４）
以下、実施の形態４について図面を参照しながら説明する。  
前記実施の形態３では、外部から演算回路１１に入力される複数のデータ信号Ｆ，Ｇの組み合わせを演算することで切替制御信号Ｃ１を生成するようにしたが、本実施の形態４においては、ある一定期間のみ切替制御信号Ｃ１を生成するタイミング検出回路１２を設ける。
【００８３】
図４は、本発明の実施の形態４による半導体集積回路の構成を示す図である。
図４において、１２はある一定の期間だけアドレス入力端子３からのアドレス信号Ｂ１〜Ｂｎを有効化し、秘匿データを外部から直接読み出すことができる切替制御信号Ｃ１を生成して、アドレス信号選択回路４へ出力するタイミング検出回路（タイミング検出部）である。
【００８４】
本実施の形態４における半導体集積回路１ｃは、前記実施の形態３における入力端子９，１０、及び演算回路１１の代わりに、タイミング検出回路１２を備える点においてのみ、前記実施の形態３と異なる。そのため、前述した実施の形態３よる半導体集積回路１ｂと同じ構成要素については同じ符号を付し説明を省略する。
【００８５】
以下、本実施の形態４による半導体集積回路１ｃの動作について説明する。
まず、通常使用時の動作は、前記実施の形態１での動作と同一であるため、説明を省略する。
【００８６】
次に、回路検査時の場合、例えば、前記タイミング検出回路１２が、電源投入直後からクロックの立ち上がりをカウントするカウンタであるとし、該タイミング検出回路１２でのカウント回数が所定の範囲内にあるとき、アドレス信号選択回路４がアドレス入力端子３からのアドレス信号Ｂ１〜Ｂｎを選択するように、切替制御信号Ｃ１を生成する。
【００８７】
具体的に述べると、秘匿データを外部へ読み出すことができる期間を、たとえば、カウント回数が１００回から１１０回までの間であると設定した場合、前記タイミング検出回路１２は、そのカウント数が１００回から１１０回までの間のみ、記憶部５に格納されている秘匿データを外部から直接読み出すことができる切替制御信号Ｃ１を生成して、アドレス信号選択回路４へ出力する。そして、記憶部５にアドレス信号Ｂ１〜Ｂｎが入力されると、記憶部５は、該アドレス信号Ｂ１〜Ｂｎにより、格納されている秘匿データＤ１〜Ｄｍを出力する。
【００８８】
そして、記憶部５から読み出された秘匿データＤ１〜Ｄｍは、検査用出力端子８から外部へ出力される。
【００８９】
なお、前記タイミング検出回路１２において、カウント数が９９回以下、または１１１回以上である時は、タイミング検出回路１２は、秘匿データを外部から直接読み出せない制御信号Ｃ１を生成する。したがって、前記タイミング検出回路１２が、秘匿データを外部から直接読み出すことができる切替制御信号Ｃ１を生成する期間を知る者だけが、秘匿データを直接読み出し、回路検査を実施することが可能となる。
【００９０】
以上のように、本実施の形態４の半導体集積回路によれば、外部より直接秘匿データを読み出すことができる切替制御信号Ｃ１をある一定の期間のみ生成するタイミング回路１２を設け、該切替制御信号Ｃ１により選択される、秘匿データを読み出すアドレス信号Ｂ１〜Ｂｎを所定の期間のみ有効とし、秘匿データを外部へ読み出すことができる期間を制限するようにしたので、半導体集積回路１ｃ内の記憶部５に格納された第三者に公開したくない秘匿データを強固に保護することができ、一方、その切替制御信号Ｃ１が生成される所定期間を知り得る者（秘匿データを参照すること、あるいは該秘匿データを使用して半導体集積回路１ｃを動作させることを許可された者）が回路検査する際には、前記秘匿データを容易に読み出すことができ、回路検査を容易に行うことができる。
【００９１】
さらに、本実施の形態４による半導体集積回路１ｃにおいて、記憶部５と検査用出力端子８との間に、前述した実施の形態１の演算回路６を設け、記憶部５から出力される秘匿データＤ１〜Ｄｍが演算回路６を通過してから外部に出力されるようにすれば、秘匿データを二重に保護する効果があり、該秘匿データをより一層外部に漏れにくくすることができる。
【００９２】
また、図５に示すように、前述した実施の形態１の半導体集積回路１において、記憶部５から出力される秘匿データに対して一定の秘密法則に従った演算を行う演算回路６の代わりに、本実施の形態４によるタイミング検出回路１２、及び選択回路２２を設け、前記タイミング検出回路１２において予め設定された期間のみ、前記選択回路２２が秘匿データＤ１〜Ｄｍを検査用出力端子８より出力するようにしても、同様の効果を上げることが可能である。
【００９３】
（実施の形態５）
以下、実施の形態５について図面を参照しながら説明する。
本実施の形態５においては、回路検査時に用いられる端子と、半導体集積回路の構成要素とを接続する配線を切断するヒューズを設け、回路検査が終了後は、記憶部５に格納された秘匿データを外部より直接読み出せないようにする。
【００９４】
図６は、本発明の実施の形態５による半導体集積回路の構成を示す図である。
図６において、半導体集積回路１ｄは、通常使用時に使用するアドレス信号Ａ１〜Ａｎを生成するアドレス生成回路２と、回路検査時に使用する外部から入力されるアドレス信号Ｂ１〜Ｂｎの入力端子であるアドレス入力端子３と、切替制御信号Ｃ１に応じて前記アドレス信号Ａ１〜Ａｎもしくはアドレス信号Ｂ１〜Ｂｎのいずれかを選択するアドレス信号選択回路４と、前記切替制御信号Ｃ１の入力端子である制御信号入力端子７と、第三者に公開したくない秘匿データを格納し、アドレス信号選択回路４から出力されるアドレス信号により、格納されている任意の秘匿データを読み出すことができる記憶部５と、特定の電圧や電流の印加などを行うことによって導通している経路を切断可能なヒューズ１３、１６と、アドレス入力端子３から入力されるアドレス信号Ｂ１〜Ｂｎをヒューズ１３に伝播させる配線１４と、ヒューズ１３とアドレス信号選択回路４とを接続する配線１５と、前記記憶部５から出力されるデータＤ１〜Ｄｍをヒューズ１６に伝播させる配線１７と、該ヒューズ１６と検査用出力端子８とを接続する配線１８とから構成される。
【００９５】
次に、本実施の形態５による半導体集積回路１ｄの動作について説明する。
半導体集積回路の検査では、ウエハ状態での検査を行い、その検査で良品となったチップをパッケージに組立てて、組立てた状態で検査を行うなど、出荷までに複数回の検査を行うのが通常である。
【００９６】
従って、本実施の形態５においては、ウエハ状態の検査では、ヒューズ１３、１６を切断せずに、アドレス入力端子３からアドレス信号Ｂ１〜Ｂｎを入力して配線１４、ヒューズ１３、配線１５を介して記憶部５にアドレス信号Ｂ１〜Ｂｎを伝えることにより、該記憶部５から秘匿データであるＤ１〜Ｄｍを読み出し、該秘匿データＤ１〜Ｄｍを、配線１７、ヒューズ１６、配線１８を介して検査用出力端子８より外部に出力するようにし、またウエハ状態での検査終了後は、特定の電圧や電流の印加などを行うことによってヒューズ１３，１６を切断して、アドレス入力端子３、及び検査用出力端子８を使用して秘匿データを外部に読み出すことができないようにする。
【００９７】
以上のように、本実施の形態５の半導体集積回路によれば、回路検査のためのアドレス入力端子３、及び検査用出力端子８と、半導体集積回路内の構成部との間に、それぞれのヒューズ１３，１６を設けて、回路検査終了後に、特定の電圧や電流の印加などを行うことによって前記ヒューズ１３，１６を切断することによって、回路検査終了後は、回路検査のための端子３，８を介して秘匿データを外部へ読み出すことを不可能にしたので、記憶部５に格納されている秘匿データの秘匿性を落とすことなく、また、回路検査時には該秘匿データを容易に読み出して、回路検査を簡単に実施することができる。
【００９８】
なお、本実施の形態５においては、２つのヒューズを、アドレス入力端子3とアドレス信号選択回路４との間と、記憶部５と検査用出力端子８との間に設ける場合を例に挙げて説明したが、ヒューズを、記憶部５と検査用出力端子８との間にのみ設ける構成にしても、同様の効果が得られる。
【００９９】
（実施の形態６）
以下、実施の形態６について図面を参照しながら説明する。
本実施の形態６においては、半導体集積回路をパッケージに組み立てる前に、ウエハ状態で回路検査を行い、検査終了後にパッケージに組み立てる際に、回路検査用の入力端子及び出力端子は、前記パッケージの端子に接続しないようにすることにより、記憶部５に格納された秘匿データを外部より直接読み出せないようにするものである。
【０１００】
図７は、本発明の実施の形態６による半導体集積回路の構成を示す図である。
図７において、半導体集積回路１ｅは、通常使用時に使用するアドレス信号Ａ１〜Ａｎを生成するアドレス生成回路２と、回路検査時に使用する外部から入力されるアドレス信号Ｂ１〜Ｂｎのウエハ上での入力端子であるアドレス入力端子３と、切替制御信号Ｃ１に応じて前記アドレス信号Ａ１〜Ａｎもしくはアドレス信号Ｂ１〜Ｂｎを選択するアドレス信号選択回路４と、前記切替制御信号Ｃ１のウエハ上での入力端子である切替制御信号入力端子７と、第三者から保護したい秘匿データを格納し、アドレス信号選択回路４から出力されるアドレス信号により、格納されている任意の秘匿データを読み出すことができる記憶部５と、選択された秘匿データＤ１〜Ｄｍを半導体集積回路１ｅの外部へ出力するウエハ上での出力端子である検査用出力端子８と、から構成される。なお、ここでいうウエハ上とは、半導体集積回路１ｅをパッケージに組み立てる際にボンディングされないことを意味する。
【０１０１】
次に、本実施の形態６による半導体集積回路１ｅの動作について説明する。
本実施の形態６における半導体集積回路１ｅは、ウエハ状態で回路検査される。
回路検査時の場合、切替制御信号入力端子７より、アドレス入力端子３から入力されるアドレス信号Ｂ１〜Ｂｎを選択する切替制御信号Ｃ１を入力する。そして、前記切替制御信号Ｃ１を受け取ったアドレス信号選択回路４は、該切替制御信号Ｃ１に従って、アドレス信号Ｂ１〜Ｂｎを選択する。そして、記憶部５にアドレス信号Ｂ１〜Ｂｎが入力されると、記憶部５は、該アドレス信号Ｂ１〜Ｂｎにより、格納されている秘匿データＤ１〜Ｄｍを読み出す。そして、前記記憶部５から読み出された秘匿データＤ１〜Ｄｍは、検査用出力端子８を介して外部に出力される。
【０１０２】
そして、回路検査終了後、本半導体集積回路１ｅをパッケージに組立てる際に、ウエハ上での回路検査のための端子３，７，８を、パッケージの外部端子に電気的に接続しないこととする。
【０１０３】
以上のように、本実施の形態６の半導体集積回路によれば、回路検査のためにウエハ上に設けた端子３，７，８を、回路検査終了後、パッケージに電気的に接続しない、例えばボンディングしないことにより、回路検査終了後、回路検査のための端子３，７，８を介して、記憶部５に格納された秘匿データを外部に読み出すことを不可能にしたので、半導体集積回路１ｅの出荷後、第三者に秘匿データが漏洩することを防ぐことが可能となり、また、回路検査時には、記憶部５に格納されている秘匿データの秘匿性を落とすことなく、秘匿データを容易に読み出して、回路検査を簡単に行なうことができる。
【０１０４】
（実施の形態７）
以下、実施の形態７について図面を参照しながら説明する。
本実施の形態７においては、検査用の入力，出力端子として、静電破壊保護が施されていない端子を用い、回路検査終了後の通常使用時には、半導体集積回路の置かれる環境や、それ自身が帯電した静電気により、該検査用の入力，出力端子が破壊され、記憶部５に格納された秘匿データを外部より直接読み出せないようにする。
【０１０５】
図７は、本発明の実施の形態７による半導体集積回路の構成を示す図である。
本実施の形態７は、上述の実施の形態６による半導体集積回路と同じ構成であるため、説明を省略する。ただし、本実施の形態７による半導体集積回路１ｅにおいては、アドレス入力端子３、切替制御信号入力端子７、及び検査用出力端子８として、静電破壊保護が施されていない端子を用いる。
【０１０６】
半導体集積回路が故障する原因の１つに、半導体集積回路の置かれた環境や半導体集積回路自身に帯電した静電気の放電による破壊が挙げられる。
【０１０７】
しかし、半導体集積回路の検査工程においては、静電破壊対策が十分になされた環境下で検査が行われるため、端子が静電破壊保護を施されなかったことが原因で半導体集積回路が故障することは、ほとんど有り得ない。
【０１０８】
そこで、本実施の形態７による半導体集積回路１ｅでは、回路検査時に使用する端子、つまり、アドレス入力端子３、切替制御信号入力端子７、及び検査用出力端子８として、静電破壊保護が施されていない端子を用いる。
【０１０９】
次に、本実施の形態７による半導体集積回路の動作について説明する。
本実施の形態７における半導体集積回路１ｅの回路検査は、静電破壊対策が十分になされた環境下で行われる。
【０１１０】
まず、回路検査時の場合、切替制御信号入力端子７より、アドレス入力端子３から入力されるアドレス信号Ｂ１〜Ｂｎを選択する切替制御信号Ｃ１を入力する。そして、前記切替制御信号Ｃ１を受け取ったアドレス信号選択回路４は、該切替制御信号Ｃ１に従って、アドレス信号Ｂ１〜Ｂｎを選択する。そして、記憶部５にアドレス信号Ｂ１〜Ｂｎが入力されると、記憶部５は、該アドレス信号Ｂ１〜Ｂｎにより、格納されている秘匿データＤ１〜Ｄｍを読み出す。そして、前記記憶部５から読み出された秘匿データＤ１〜Ｄｍは、検査用出力端子８を介して外部に出力される。
【０１１１】
そして、検査終了後、良品と判定された半導体集積回路１ｅに対して、故意に電圧印加や電流印加を行い、アドレス入力端子３、切替制御信号入力端子７、及び検査用出力端子８を破壊する。
【０１１２】
以上のように、本実施の形態７の半導体集積回路によれば、回路検査用の端子である、アドレス入力端子３、切替制御信号入力端子７、及び検査用出力端子８に、静電破壊保護が施されていない端子を用いるようにして、静電破壊対策が十分になされた環境下で行われる回路検査時においては、前記回路検査用の端子３，７，８により、記憶部５から秘匿データＤ１〜Ｄｍを読み出し可能とし、回路検査終了後には、前記端子３，７，８対して、電流あるいは電圧を印加することによって該端子を破壊し、出荷後に記憶部５の秘匿データＤ１〜Ｄｍを外部から直接読み出すことを不可能としたので、回路検査時には、記憶部５に格納されている秘匿データの秘匿性を落とすことなく、秘匿データを容易に読み出して、回路検査を簡単に行なうことができ、また、出荷後には検査用端子が破壊されているので、第三者に秘匿データが漏洩することを防ぐことができる。
【０１１３】
なお、前述した実施の形態１ないし７では、通常使用時に使用するアドレス信号Ａ１〜Ａｎを、半導体集積回路１内部のアドレス生成回路２により与えるようにしたが、回路検査時に使用するアドレス信号Ｂ１〜Ｂｎと同様、半導体集積回路１の外部から直接入力するようにしてもよい。
【０１１４】
（実施の形態８）
以下、実施の形態８について図面を参照しながら説明する。
本実施の形態８は、半導体集積回路内に同一内容の秘匿データを格納した記憶部を２つ設け、前記各記憶部に格納された秘匿データをアドレス毎に比較することにより、外部から直接制御・観測することなく、該記憶部に格納されたデータの正当性のチェックを行う。
【０１１５】
図８は、本実施の形態８における半導体集積回路のブロック図を示すものである。
図８において、本実施の形態８における半導体集積回路１００は、第三者に公開したくない秘匿データが格納された第１のＲＯＭ（第１の記憶部）１０２と、前記第１のＲＯＭ１０２と全く同一内容のデータが格納された第２のＲＯＭ（第２の記憶部）１０３と、前記第１のＲＯＭ１０２に対して第１のアドレス信号Ｓ１０１を、また前記第２のＲＯＭ１０３に対し第２のアドレス信号Ｓ１０２を発生してアクセスするアドレス発生器１０１と、第１のＲＯＭ１０２からの第１の秘匿データＳ１０３と第２のＲＯＭ１０３からの第２の秘匿データＳ１０４とを比較し、一致・不一致信号Ｓ１０５を第１の外部端子１０５に出力する比較回路（比較部）１０４と、から構成されている。
【０１１６】
以下、以上のように構成された本実施の形態８における半導体集積回路１００の動作について説明する。
まず、第１のＲＯＭ１０２に対して、アドレス発生器１０１が発生した第１のアドレス信号Ｓ１０１でアクセスする。また、第２のＲＯＭ１０３に対しても同様に、アドレス発生器１０１が発生した第２のアドレス信号Ｓ１０２でアクセスする。この時、アドレス発生器１０１が第１のＲＯＭ１０２及び第２のＲＯＭ１０３に対して発生する第１及び第２のアドレス信号Ｓ１０１，Ｓ１０２は、同一である。
【０１１７】
そして、第１のアドレス信号Ｓ１０１でアクセスされた第１のＲＯＭ１０２は、比較回路１０４に対して第１の秘匿データＳ１０３を出力し、同時に、第２のアドレス信号Ｓ１０２でアクセスされた第２のＲＯＭ１０３は、比較回路１０４に対し、第２の秘匿データＳ１０４を出力する。
【０１１８】
そして、比較回路１０４は、前記第１のＲＯＭ１０２からの第１の秘匿データＳ１０３と、第２のＲＯＭ１０３からの第２の秘匿データＳ１０４とを、アドレス毎に１ビットづつ比較し、一致・不一致信号Ｓ１０５を出力する。一致・不一致信号Ｓ１０５は、第１の外部端子１０５を介して出力され、外部のＬＳＩテスタ（図示せず）にて観測する。そして、外部のＬＳＩテスタでは、その観測された一致・不一致信号Ｓ１０５のすべてが一致した場合は良品と判定し、一方、一致・不一致信号Ｓ１０５のうちの１つでも不一致である場合は不良品と判定する。
【０１１９】
そして、上述したような処理を、順次アドレスをインクリメントして、第１及び第２のＲＯＭ１０２，１０３の最終アドレスまで繰り返し行うことによって、半導体集積回路１００の外部から直接制御・観測することなしに、前記第１及び第２のＲＯＭ１０２，１０３の全領域テストを可能にする。
【０１２０】
以上のように、本実施の形態８の半導体集積回路によれば、アドレス発生器１０１と、同一の秘匿データを保持する第１の記憶部１０２及び第２の記憶部１０３と、前記第１及び第２の記憶部１０２，１０３からの出力が同一か否かを比較する比較回路１０４と、を備えるようにしたので、第三者に公開することができない秘匿データを保持する記憶部のデータの正当性のチェックを、半導体集積回路１００の外部から直接制御・観測することなく、半導体集積回路１００の内部において行ことができるため、秘匿データの守秘性を守りながら、テストを実施することができる。
【０１２１】
なお、アドレス発生器１０１と比較回路１０４とをマイクロコンピュータ（以下、マイコンと称す）より構成し、プログラムにより、第１の記憶部１０２及び第２の記憶部１０３に記憶されている各秘匿データを読み出し、第１の記憶部１０２及び第２の記憶部１０３より読み出された各秘匿データが等しいか否かを調べ、その比較結果を半導体集積回路１００の外部に出力するようにしてもよく、上述と同様の効果が得られる。
【０１２２】
（実施の形態９）
以下、実施の形態９について図面を参照しながら説明する。
前記実施の形態８において説明したように、第１のＲＯＭ１０２と第２のＲＯＭ１０３とに同一の内容を保持させて、比較回路１０４で判定を行った場合、正しい判定結果が得られない場合がある。例えば、製造工程上において何らかの要因で、前記第１のＲＯＭ１０２と第２のＲＯＭ１０３との両方に対して、秘匿データの記憶が正しく行われず、２つのＲＯＭの全領域が全て“０”、または２つのＲＯＭの全領域が全て“１”のデータを持つ場合は、不良品であるにも拘わらず良品と判定され、正しい判定結果が得られない。また、前記２つのＲＯＭが、同一アドレス、同一ビットに故障を持った場合も、前記と同様、不良品であると正しく判定できない。そこで、本実施の形態９においては、前記実施の形態８と同様、半導体集積回路内に秘匿データを格納する記憶部を２つ設けるが、各記憶部に、互いに反転した秘匿データを記憶する。
【０１２３】
図８は、本発明の実施の形態９による半導体集積回路の構成を示す図である。
本実施の形態９における半導体集積回路１００は、上述の実施の形態８による半導体集積回路と同じ構成であるため、同じ符号を付しここでは説明を省略する。ただし、本実施の形態９においては、第１のＲＯＭ１０２と第２のＲＯＭ１０３には、互いに反転した秘匿データが記憶されているものとする。
【０１２４】
以下、本実施の形態９による半導体集積回路１００の動作について説明する。
まず、第１のＲＯＭ１０２に対して、アドレス発生器１０１が発生した第１のアドレス信号Ｓ１０１でアクセスする。また、第２のＲＯＭ１０３に対しても同様に、アドレス発生器１０１が発生した第２のアドレス信号Ｓ１０２でアクセスする。この時、アドレス発生器１０１が第１のＲＯＭ１０２及び第２のＲＯＭ１０３に対して発生する第１及び第２のアドレス信号Ｓ１０１，Ｓ１０２は、同一である。
【０１２５】
そして、第１のアドレス信号Ｓ１０１でアクセスされた第１のＲＯＭ１０２は、比較回路１０４に対して第１の秘匿データＳ１０３を出力し、また、第２のアドレス信号Ｓ１０２でアクセスされた第２のＲＯＭ１０３は、比較回路１０４に対し、第２の秘匿データＳ１０４を出力する。
【０１２６】
そして、比較回路１０４は、前記第１のＲＯＭ１０２からの第１の秘匿データＳ１０３と、第２のＲＯＭ１０３からの第２の秘匿データＳ１０４とを、アドレス毎に１ビットづつ比較し、一致・不一致信号Ｓ１０５を出力する。一致・不一致信号Ｓ１０５は、第１の外部端子１０５に接続されており、該第１の外部端子１０５を介して、外部のＬＳＩテスタ（図示せず）にて観測する。そして、外部のＬＳＩテスタでは、その観測された一致・不一致信号Ｓ１０５のすべてが不一致である場合は良品と判定し、一方、一致・不一致信号Ｓ１０５のうちの１つでも一致した場合は不良品と判定する。
【０１２７】
そして、上述したような処理を、順次アドレスをインクリメントして、第１及び第２のＲＯＭ１０２，１０３の最終アドレスまで繰り返し行うことによって、半導体集積回路１００の外部から直接制御・観測することなしに、前記第１及び第２のＲＯＭ１０２，１０３の全領域テストを可能にする。
【０１２８】
以上のように、本実施の形態９の半導体集積回路によれば、２つの記憶部１０２，１０３に互いに反転したデータを格納し、外部のＬＳＩテスタにおいて観測された一致・不一致信号Ｓ１０５を観測し、該一致・不一致信号Ｓ１０５が全て不一致の場合は良品と判定するようにしたので、製造工程上において、何らかの要因で前記２つの記憶部１０２，１０３の両方に対して、データの記憶が正しく行われず、記憶部の全領域が２つ共全て“０”、または記憶部の全領域が２つ共全て“１”のデータを持つ場合、あるいは、２つの記憶部が、同一アドレス、同一ビットに故障を持った場合でも、これを不良品と正しく判定することができ、前述実施の形態８の効果に加え、一層正しく不良品を判定することができる。
【０１２９】
なお、本実施の形態９においても、アドレス発生器１０１と比較回路１０４とをマイコンにより構成し、そのプログラムにより、第１の記憶部１０２及び第２の記憶部１０３に記憶されている秘匿データを読み出し、第１の記憶部１０２及び第２の記憶部１０３より読み出された秘匿データが等しいか否かを比較し、その比較結果を半導体集積回路１００の外部に出力するようにしてもよく、上述と同様の効果が得られる。
【０１３０】
（実施の形態１０）
以下、実施の形態１０について図面を参照しながら説明する。
本実施の形態１０においては、半導体集積回路内に同一内容の秘匿データを格納した記憶部を２つ設け、該各記憶部に格納された秘匿データをアドレス毎に比較する判定に加え、前記各記憶部の秘匿データを演算する演算回路をさらに設けるようにし、該演算結果によってもデータの正当性のチェックを行う。
【０１３１】
図９は、本発明の実施の形態１０による半導体集積回路の構成を示す図である。
図９において、本実施の形態１０による半導体集積回路１００ａは、第三者に公開したくない秘匿データが格納された第１のＲＯＭ１０２と、前記第１のＲＯＭ１０２と全く同一内容のデータが格納された第２のＲＯＭ１０３と、前記第１のＲＯＭに対し第１のアドレス信号Ｓ１０１を、また前記第２のＲＯＭ１０３に対し第２のアドレス信号Ｓ１０２を発生させてアクセスするアドレス発生器１０１と、前記第１のＲＯＭ１０２からの第１の秘匿データＳ１０３と、前記第２のＲＯＭ１０３からの第２の秘匿データＳ１０４とを比較し、一致・不一致信号Ｓ１０５を第１の外部端子１０５に出力する比較回路１０４と、前記第１のＲＯＭ１０２からの第１の秘匿データＳ１０３を入力してチェックサムを実施し、その演算結果Ｓ２０６を第２の外部端子２０８に出力する第１の演算回路２０６（第１の演算部）と、前記第２のＲＯＭ１０３からの第２の秘匿データＳ１０４を入力してチェックサムを実施し、その演算結果Ｓ２０７を第３の外部端子に出力する第２の演算回路（第２の演算部）２０７と、から構成されている。
【０１３２】
以下、以上のように構成された本実施の形態１０による半導体集積回路１００ａの動作について説明する。
まず、第１のＲＯＭ１０２に対して、アドレス発生器１０１が発生した第１のアドレス信号Ｓ１０１でアクセスする。また、第２のＲＯＭ１０３に対しても同様に、アドレス発生器１０１が発生した第２のアドレス信号Ｓ１０２でアクセスする。この時、アドレス発生器１０１が、第１のＲＯＭ１０２及び第２のＲＯＭ１０３に対して発生する第１及び第２のアドレス信号Ｓ１０１，Ｓ１０２は、同一である。
【０１３３】
そして、第１のアドレス信号Ｓ１０１によりアクセスされた第１のＲＯＭ１０２は、比較回路１０４に対して第１の秘匿データＳ１０３を出力し、また、第２のアドレス信号Ｓ１０２によりアクセスされた第２のＲＯＭ１０３は、比較回路１０４に対し、第２の秘匿データＳ１０４を出力する。
【０１３４】
そして、比較回路１０４は、第１のＲＯＭ１０２からの第１の秘匿データＳ１０３と、第２のＲＯＭ１０３からの第２の秘匿データＳ１０４とを、アドレス毎に１ビットづつ比較し、一致・不一致信号Ｓ１０５を出力する。そして、その一致・不一致信号Ｓ１０５は、第１の外部端子１０５を介して出力され、外部のＬＳＩテスタ（図示せず）にて観測する。そして、外部のＬＳＩテスタでは、その観測された一致・不一致信号Ｓ１０５のすべてが一致した場合は良品と判定し、一方、一致・不一致信号Ｓ１０５のうちの１つでも不一致である場合は不良品と判定する。
【０１３５】
そして、上述したような処理を、順次アドレスをインクリメントして、第１及び第２のＲＯＭ１０２，１０３の最終アドレスまで繰り返し行うことによって、半導体集積回路１００ａの外部から直接制御・観測することなしに、前記第１及び第２のＲＯＭ１０２，１０３の全領域テストを可能にする。
【０１３６】
さらに、本実施の形態１０においては、前記比較回路１０４による判定に加え、前記第１及び第２のＲＯＭ１０２，１０３からの秘匿データＳ１０３、Ｓ１０４を演算回路２０６，２０７に入力し、該各演算回路２０６，２０７においてチェックサムによりデータの正当性の判定を行う。
【０１３７】
つまり、第１のＲＯＭ１０２からの第１の秘匿データＳ１０３を、第１の演算回路２０６に入力し、該第１の演算回路２０６において、入力された第１の秘匿データＳ１０３に対してチェックサムを実施し、演算結果Ｓ２０６を出力する。そして、該演算結果Ｓ２０６は第２の外部端子２０８を介して出力され、外部のＬＳＩテスタ（図示せず）で良否判定を行う。
【０１３８】
同様に、第２のＲＯＭ１０３からの第２の秘匿データＳ１０４を、第２の演算回路２０７に入力し、該第２の演算回路２０７で、入力された第２の秘匿データＳ１０４に対してチェックサムを実施し、演算結果Ｓ２０７を出力する。そして、その演算結果Ｓ２０７は第３の外部端子２０９を介して出力され、外部のＬＳＩテスタ（図示せず）で良否判定を行う。
【０１３９】
そして、外部のＬＳＩテスタ（図示せず）では、前述したように一致・不一致信号Ｓ１０５を観測することにより行う良否判定に加え、あらかじめ用意しておいた正しいＲＯＭデータを数値とみなし、その合計値を第１及び第２の演算結果Ｓ２０６，Ｓ２０７の期待値とし、前記第１及び第２のＲＯＭ１０２，１０３に格納されたデータの良否判定を行う。
【０１４０】
以上のように、本実施の形態１０の半導体集積回路によれば、アドレス発生器１０１と、同一の秘匿データが格納された第１及び第２の記憶部１０２，１０３と、前記第１及び第２の記憶部１０２，１０３からの出力を比較する比較回路１０４と、各記憶部１０２，１０３に格納されている秘匿データの正当性についてのチェックサムを行う第１及び第２の演算回路２０６，２０７と、を備えるようにしたので、秘匿データが格納された記憶部１０２，１０３を、半導体集積回路１００ａ外部から直接制御・観測することなく、秘匿データの守秘性を守りながら、回路検査を実施することができる。また、前記２つの記憶部１０２，１０３が、同一アドレス、同一ビットに故障を持った場合でも、演算回路２０６，２０７による演算結果Ｓ２０６，Ｓ２０７も合わせて出力することにより、その演算結果が予め用意しておいた正しいデータによる演算結果と不一致である場合は不良品と判定できるため、記憶部内のデータを、より一層正しく良否判定を行うことが可能となる。
【０１４１】
また、本実施の形態１０によれば、演算回路２０６，２０７によるチェックサム演算結果により、どちらか一方の記憶部が正しいとき、その正しい記憶部を選択することもできる。すなわち、第１のＲＯＭ１０２が不良品でも、第２のＲＯＭ１０３が良品であれば、正しいＲＯＭの良品判定が可能なため、テスト時の歩留りを向上することができる。
【０１４２】
なお、本実施の形態１０では、２つのＲＯＭ１０２，１０３が同一の内容を持つものとしたが、２つのＲＯＭが互いに反転したデータを持つものとしてもよく、この場合は、各演算回路２０６，２０７におけるチェックサムとして、一方のＲＯＭでは“０”の合計を、他方のＲＯＭでは“１”の合計をカウントする等、データの正当性を確認できる演算方法を用いることで、同様な効果が得られる。
【０１４３】
また、本実施の形態１０においても、アドレス発生器１０１と比較回路１０４と演算回路２０６，２０７とをマイコンにより構成し、そのプログラムにより、第１の記憶部１０２及び第２の記憶部１０３に記憶されている秘匿データを読み出し、第１の記憶部１０２及び第２の記憶部１０３より読み出された秘匿データが等しいか否かを比較して、その比較結果を半導体集積回路１００ａの外部に出力し、また、第１の記憶部１０２及び第２の記憶部１０３に記憶されているデータの正当性を確認するための演算を行い、その演算結果を半導体集積回路１００ａの外部に出力するようにしてもよく、上述と同様の効果が得られる。
【０１４４】
また、本実施の形態１０においては、演算回路２０６，２０７にてチェックサムを行うとしたが、これはチェックサムだけに限定するものではなく、たとえば、ＣＲＣチェックのようなものでもよい。
【０１４５】
（実施の形態１１）
以下、実施の形態１１について説明する。
本実施の形態１１においては、半導体集積回路内に演算結果によりデータの正当性を判定する自己判定回路と、その判定結果により正しく記憶されている記憶部を選択する選択部とを設け、外部から直接制御・観測することなく、記憶部に格納された秘匿データの正当性のチェックを行う。
【０１４６】
図１０は、本発明の実施の形態１１による半導体集積回路の構成を示す図である。
図１０において、本実施の形態１１における半導体集積回路１００ｂは、アドレス発生器１０１と、同一の秘匿データを格納した第１のＲＯＭ１０２及び第２のＲＯＭ１０３と、各ＲＯＭの秘匿データの正当性をチェックする第１の演算回路２０６及び第２の演算回路２０７と、前記２つの演算回路の結果を入力とする自己判定回路（自己判定部）３００と、自己判定回路３００の結果から使用するＲＯＭを選択するＲＯＭ選択信号Ｓ３０１を出力するＲＯＭ選択回路（選択部）３０１と、から構成される。
【０１４７】
ここで、前記自己判定回路３００の判定規則は、第１の演算回路２０６及び第２の演算回路２０７の両方の演算結果が正しい場合、どちらのＲＯＭを使用してもよいとし、片方だけ演算回路の結果が正しい場合、正しい結果を出したＲＯＭを選択するとし、両方の演算結果がともに正しくない場合、テスト時に不良品として落とすものとする。
【０１４８】
以下、以上のように構成された本実施の形態１１による半導体集積回路１００ｂの動作について説明する。
まず、第１のＲＯＭ１０２に対して、アドレス発生器１０１が発生した第１のアドレス信号Ｓ１０１でアクセスする。そして、前記第１のアドレス信号Ｓ１０１により、第１のＲＯＭ１０２からの第１の秘匿データＳ１０３が出力され、該第１の秘匿データＳ１０３は、第１の演算回路２０６に入力される。そして、第１の演算回路２０６において、第１の秘匿データＳ１０３に対して所定の演算を行った後、その演算結果Ｓ２０６を自己判定回路３００に入力する。
【０１４９】
同様に、第２のＲＯＭ１０３に対して、アドレス発生器１０１が発生した第２のアドレス信号Ｓ１０２でアクセスする。第２のＲＯＭ１０３からの第２の秘匿データＳ１０４が第２の演算回路２０７に入力され、所定の演算を行った後、その演算結果Ｓ２０７を自己判定回路３００に入力する。
【０１５０】
上述したような処理を、順次アドレスをインクリメントして、各ＲＯＭの最終アドレスまで繰り返し行うことによって、半導体集積回路１００ｂの外部から直接制御・観測することなしに、前記第１及び第２のＲＯＭ１０２，１０３の全領域テストを可能にする。
【０１５１】
そして、自己判定回路３００では、チェックサム等により２つのＲＯＭの演算結果Ｓ２０６、Ｓ２０７を判定し、両方の演算結果が正しい場合、どちらのＲＯＭを使用してもよいとし、片方だけ演算回路の結果が正しい場合、正しい結果を出したＲＯＭを選択するとし、両方の演算結果がともに正しくない場合、不良品であると判定し、該判定結果Ｓ３００をＲＯＭ選択回路３０１に出力する。
【０１５２】
そして、ＲＯＭ選択回路３０１においては、前記自己判定回路３００からの判定結果Ｓ３００に基づき、ＲＯＭ選択信号Ｓ３０１を前記第１及び第２のＲＯＭに出力する。
【０１５３】
すなわち、第１のＲＯＭ１０２が不良品でも、第２のＲＯＭ１０３が良品であれば、半導体集積回路のテストとしては、良品判定とすることができ、テスト時の歩留りが向上する。
【０１５４】
以上のように、本実施の形態１１の半導体集積回路によれば、アドレス発生器１０１と、同一の秘匿データを保持する第１の記憶部１０２及び第２の記憶部１０３と、各記憶部１０２，１０３からの出力を演算する第１演算回路２０６及び第２の演算回路２０７と、前記演算回路２０６，２０７の演算結果を判定する自己判定回路３００と、該自己判定回路３００からの判定結果に基づいて使用する記憶部を選択するＲＯＭ選択回路と、を備えるようにしたので、第三者に公開したくない秘匿データを持った記憶部のデータの正当性のチェックを、半導体集積回路１００ｂ外部から直接制御・観測することなく、秘匿データの守秘性を守りながら回路検査を実施することができ、さらに、どちらか一方の演算回路２０６，２０７における演算結果が正しければ、半導体集積回路１００ｂを良品判定とすることができるので、テスト時の歩留りを向上することもできる。
【０１５５】
（実施の形態１２）
以下、実施の形態１２について説明する。
本実施の形態１２においては、秘匿データが格納された記憶部を備える半導体集積回路上に、前記記憶部に格納されているデータと同一内容のデータが記憶されたＲＯＭを含むＤＳＰを設け、外部から直接制御・観測することなく、前記記憶部に格納された秘匿データの良否判定を行う。
【０１５６】
図１１は、本実施の形態１２による半導体集積回路の構成を示す図である。
図１１において、本実施の形態１２における半導体集積回路１００ｃは、第三者に公開したくない秘匿データを格納した内蔵ＲＯＭ（記憶部）４０１と、前記内蔵ＲＯＭ４０１と同等のデータを、その内部のＲＯＭ（図示せず）等にもつＤＳＰ（情報処理装置）４０２と、外部端子４０３と、からなる。
【０１５７】
以下、以上のように構成された本実施の形態１２による半導体集積回路１００ｃの動作について説明する。
回路検査時、まずＤＳＰ４０２は、内蔵ＲＯＭ４０１に対して、アドレス信号Ｓ４００でアクセスする。そして、内蔵ＲＯＭ４０１に格納された秘匿データＳ４０１を取り込む。ＤＳＰ４０２は、その内部に内蔵ＲＯＭ４０１に格納された秘匿データＳ４０１と同等のデータを持ち、前記ＤＳＰ４０２内部のデータと、内蔵ＲＯＭ４０１の秘匿データＳ４０１とを比較して、良否判定を行い、判定結果Ｓ４０２を外部端子４０３へ出力する。
【０１５８】
以上のように、本実施の形態１２の半導体集積回路によれば、内蔵ＲＯＭ４０１の内容と同一のデータをその内部にもつＤＳＰ４０２を備えるようにしたので、第三者に公開したくない秘匿データが格納された内蔵ＲＯＭ４０１を、半導体集積回路１００ｃ外部から直接制御・観測することなく、その秘匿データの守秘性を守りながら、回路検査を実施することができる。
【０１５９】
（実施の形態１３）
以下、実施の形態１３について図面を参照しながら説明する。
前記実施の形態１２では、秘匿データと同一のデータをＤＳＰ内のＲＯＭに記憶するようにしたが、本実施の形態１３では、前記秘匿データと同一内容のデータを、ＤＳＰ内に、ソフトウエアで保持する。
【０１６０】
図１２は、本発明の実施の形態１３による半導体集積回路の構成を示す図である。
本実施の形態１３における半導体集積回路１００ｄは、ＤＳＰ４０２（情報処理装置）内に、ソフトウェア５００により、内蔵ＲＯＭ４０１内に格納されている秘匿データと同一のデータを保持する点においてのみ異なり、そのほかの構成は、前記実施の形態１２による半導体集積回路１００ｃと同じ構成である。よって、ここでは説明を省略する。
【０１６１】
以下、以上のように構成された本実施の形態１３による半導体集積回路１００ｄの動作について説明する。
回路検査時、まずＤＳＰ４０２は、内蔵ＲＯＭ４０１に対して、アドレス信号Ｓ４００でアクセスし、内蔵ＲＯＭ４０１からの秘匿データＳ４０１を取り込む。そして、ＤＳＰ４０２は、ソフトウェア５００のデータ領域内に、内蔵ＲＯＭ４０１の秘匿データと同一内容のデータを保持しておき、該ＤＳＰ４０２のソフトウェア５００内のデータと、内蔵ＲＯＭ４０１の秘匿データＳ４０１とを比較することで良否判定を行い、その判定結果Ｓ４０２を外部端子４０３へ出力する。
【０１６２】
このように、本実施の形態１３による半導体集積回路によれば、内蔵ＲＯＭ４０１の内容と同一のデータを、ＤＳＰ４０２のソフトウェア５００に保持するようにしたので、第三者に公開したくない秘匿データが格納された内蔵ＲＯＭ４０１を、半導体集積回路１００ｄの外部から直接制御・観測することなく、その守秘データの守秘性を守りながら、より速く回路検査を実施することができる。
【０１６３】
なお、実施の形態１２または１３では、半導体集積回路内に、記憶部に格納された秘匿データと同一のデータを持つＤＳＰ４０２を備えるようにしたが、ＤＳＰの代わりに、通常のマイコンを用いてもよい。
【０１６４】
（実施の形態１４）
以下、実施の形態１４について説明する。
従来、記憶部ｍ１０００のメモリマップは、図１３に示すように、記憶部ｍ１０００の、メモリアドレスａ１０００〜ａ１００３、及びデータビットｄ１０００〜ｄ１００３で表されるすべての空間をデータ保持領域として使用しており、この際、例えば、記憶部ｍ１０００が、マスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）であって、コンタクトマスクを使用して“０”と“１”との区別をつけるような一般的なメモリである場合、前述のようなデータ配置では、第三者がチップを開封して記憶部ｍ１０００内の秘匿データの内容を解析しようとすれば、コンタクトマスクの有り無しを見ることで、その内部に保持しているデータの“０”及び“１”の判別が可能であるため、容易に解析できてしまう。そこで、本実施の形態１４においては、記憶部ｍ１０００内に、守秘すべき秘匿データである有効なデータを保持する第１のデータ保持領域以外に、無効なランダムデータを保持する第２のデータ保持領域を設ける。
【０１６５】
図１４は、本発明の実施の形態１４における半導体記憶装置の記憶部のデータ配置を示したメモリマップの概念図である。
図１４において、ｍ１０００は、秘匿データを記憶する記憶部を表し、ａ１０００〜ａ１００３は、それぞれメモリアドレスを表し、ｄ１０００〜ｄ１００３は、データビットをあらわしている。また、データ保持領域は、アドレスａ１０００〜ａ１００３と、データビットｄ１０００〜ｄ１００３とであらわされている空間であり、この空間のうち、斜線を施したアドレスａ１００１〜ａ１００２及びデータビットｄ１００１〜ｄ１００２で囲まれた第１のデータ保持領域ｍ１００１には、守秘すべき秘匿データ等の有効データが配置されており、この第１のデータ保持領域ｍ１００１以外のメモリ空間である第２のデータ保持領域ｍ１００２には、無効なランダムデータが配置されている。
【０１６６】
この一連のデータの保持機構には、たとえばマスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を使用し、コンタクトマスクを使用して“０”と“１”の区別をつけるような一般的な記憶手段を使用するものとする。
【０１６７】
前述したように、本記憶部ｍ１０００がマスクＲＯＭであり、コンタクトマスクを使用して“０”と“１”の区別をつけるような一般的な記憶手段である場合には、第三者がデータ内容を解析せんがために、このチップを開封し解析しようとすれば、コンタクトマスクの有り無しを見ることで、容易に保持しているデータの解析が可能である。
【０１６８】
しかし、例えば、第三者がアドレスａ１００１に格納されているデータ列を知りえたとしても、このうちどの部分のデータが有効であるかは分からない。そして、このデータの有効部分を判別して、秘匿データを解析するためには、この記憶部ｍ１０００の後段に接続される、秘匿データを利用する回路を解析しなければならない。しかし、この後段の部分は一般的に大規模なゲート回路で構成されているため、前記記憶部ｍ１０００の解析にくらべて格段に困難である。
【０１６９】
このように、本実施の形態１４の半導体記憶装置によれば、秘匿データを記憶する記憶部として、格納すべきデータ容量よりも大きな容量を持つ記憶部ｍ１０００を用い、その記憶部ｍ１０００のデータ保持領域の中心部分に守秘すべき秘匿データ等の有効データを保持する第１のデータ保持領域ｍ１００１を配置し、該有効データを配置した第１のデータ保持領域ｍ１００１以外の部分には、ランダムな無効データを保持する第２のデータ保持領域ｍ１００２を配置するようにしたので、たとえ前記記憶部ｍ１０００が開封され、その保持している秘匿データの“０”、“１”情報が解析されたとしても、その有効データ部分を切り出して活用することは大変困難なこととなるため、本半導体記憶装置に保持されたデータの守秘性を大きく上げることができる。
【０１７０】
なお、本実施の形態１４では、有効データ部分の各周辺部に無効データを配置する構成を例に説明したが、これは、必ずしも必要なことではなく、少なくとも１つの辺に隣接する部分に無効データが存在すれば、同等な効果が得られる。
【０１７１】
（実施の形態１５）
以下、実施の形態１５について説明する。
本実施の形態１５においては、記憶部として、同じ形状的特徴をもつ第１の記憶部と第２の記憶部とを設け、第１の記憶部には秘匿データ等の有効データを保持し、第２の記憶部には無効データを保持するものである。
【０１７２】
図１５は、本発明の実施の形態１５における半導体記憶装置の記憶部のデータ配置を示したメモリマップの概念図である。
図１５において、ｍ２０００，ｍ２１００は、第１、第２の記憶部であり、該第１の記憶部ｍ２０００は秘匿データ等の有効データを保持し、第２の記憶部ｍ２１００は、無効データを保持するものである。また、ａ２０００〜ａ２００３は、それぞれメモリアドレスを表し、ｄ２０００〜ｄ２００３は、データビットをあらわしている。
【０１７３】
前記第１の記憶部ｍ２０００は、図中斜線を施したアドレスａ２０００〜ａ２００１と、データビットｄ２０００〜ｄ２００１とであらわされる空間であって、守秘すべき秘匿データ等の有効データが配置されている。また、この秘匿データを保持する第１の記憶部ｍ２０００と、容量やデータ配置形状などの特徴が同じである第２の記憶部ｍ２１００（アドレスａ２００２〜ａ２００３と、データビットｄ２００２〜ｄ２００３とであらわされる空間）に、無効なランダムデータを配置する。
【０１７４】
この一連のデータの保持機構には、たとえばマスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を使用し、コンタクトマスクにより“０”と“１”の区別をつけるような一般的な記憶手段を使用するものとする。
【０１７５】
前述したように、本記憶部ｍ２０００、ｍ２１００がマスクＲＯＭであって、コンタクトマスクにより“０”と“１”の区別をつけるような一般的な記憶手段である場合には、第三者がデータ内容を解析せんがために、このチップを開封し解析しようとすれば、コンタクトマスクの有り無しを見ることで、容易に保持しているデータの解析が可能である。
【０１７６】
しかし、例えば、第三者がアドレスａ２０００に格納されているデータ列を知りえたとしても、この記憶部のデータが有効であるか無効であるかは、この記憶部ｍ２０００，ｍ２１００の後段に接続される、秘匿データを利用する回路を解析しなければ知ることができない。しかしながら、この後段の部分は一般的に大規模なゲート回路で構成されており、それを解析することは、前記記憶部ｍ２０００，ｍ２１００の解析にくらべて格段に困難である。
【０１７７】
このように、本実施の形態１５の半導体記憶装置によれば、記憶部として、秘匿データ等の有効データを保持する第１の記憶部ｍ２０００と、同じ形状的特徴をもつ無効データを保持する第２の記憶部ｍ２１００を備えるようにしたので、どの記憶部が秘匿データ等の有効データを持っているかは簡単には分からず、たとえ全部の記憶部が開封されてその保持しているデータの“０”、“１”情報が解析されたとしても、どのデータが有効であるかを判断して活用することは大変困難なこととなるため、本半導体記憶装置に保持されたデータの守秘性を大きく上げることができる。
【０１７８】
なお、本実施の形態１５では、記憶部が２つの場合を示したが、これは、多ければ多いほど、秘匿データを解析しようとする第三者に対しては困難さを増大させることになり、より守秘性能を高めることができることは言うまでもない。
【０１７９】
（実施の形態１６）
以下、実施の形態１６について説明する。
本実施の形態１６においては、記憶部として、同じ形状的特徴をもつ第1から第９の記憶部を設け、秘匿データ等の有効データを第１の記憶部に保持し、該第１の記憶部を囲むように配置された第２〜第９の記憶部に、無効データを保持するものである。
【０１８０】
図１６は、本発明の実施の形態１６における半導体記憶装置のデータ配置を示したメモリマップの概念図である。
図１６において、ｍ３０００は、有効データを保持する第１の記憶部であり、ｍ３００１〜ｍ３００８は、無効データを保持する第２〜第９の記憶部をあらわしている。また、ａ３０００〜ａ３００５は、それぞれメモリアドレスを表し、ｄ３０００〜ｄ３００５は、データビットをあらわしている。
【０１８１】
前記第１の記憶部ｍ３０００は、図中斜線を施したアドレスａ３００２〜ａ３００３と、データビットｄ３００２〜ｄ３００３とであらわされる空間であって、守秘すべき秘匿データ等の有効データが配置されている。
【０１８２】
また、この秘匿データを保持する第１の記憶部ｍ３０００と、容量やデータ配置形状などの特徴が同じである８個の記憶部、つまり、第２の記憶部ｍ３００１（アドレスａ３０００〜ａ３００１と、データビットｄ３０００〜ｄ３００１とであらわされる空間）と、第３の記憶部ｍ３００２（アドレスａ３００２〜ａ３００３と、データビットｄ３０００〜ｄ３００１とであらわされる空間）と、第４の記憶部ｍ３００３（アドレスａ３００４〜ａ３００５と、データビットｄ３０００〜ｄ３００１とであらわされる空間）と、第５の記憶部ｍ３００４（アドレスａ３０００〜ａ３００１と、データビットｄ３００２〜ｄ３００３とであらわされる空間）と、第６の記憶部ｍ３００５（アドレスａ３００４〜ａ３００５と、データビットｄ３００２〜ｄ３００３とであらわされる空間）と、第７の記憶部ｍ３００６（アドレスａ３０００〜ａ３００１と、データビットｄ３００４〜ｄ３００５とであらわされる空間）と、第８の記憶部ｍ３００７（アドレスａ３００２〜ａ３００３と、データビットｄ３００４〜ｄ３００５とであらわされる空間）と、第９の記憶部ｍ３００８（アドレスａ３００４〜ａ３００５と、データビットｄ３００４〜ｄ３００５とであらわされる空間）に、それぞれ無効なランダムデータを配置する。
【０１８３】
この一連のデータの保持機構には、たとえばマスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を使用し、コンタクトマスクを使用して“０”と“１”の区別をつけるような一般的な記憶手段を使用するものとする。
【０１８４】
そして、これらの第１〜第９の記憶部の物理的な配置は、図１６に示したメモリマップの概念図のように、秘匿データ等の有効データを保持する第１の記憶部ｍ３０００の周囲を、無効データを保持する第２〜第９の記憶部ｍ３００１〜ｍ３００８が取り囲むように配置をする。
【０１８５】
そして、前記第２〜第９の記憶部ｍ３００１〜ｍ３００８は、テスト回路によって外部から読み出し可能となるようにし、中心に配置した有効データを保持する第１の記憶部ｍ３０００は、テスト回路による読み出しは不可能となるようにする。
【０１８６】
前述したように、本記憶装置の９個の記憶部ｍ３０００〜ｍ３００８がマスクＲＯＭであって、コンタクトマスクにより“０”と“１”の区別をつけるような一般的な記憶手段である場合には、第三者がデータ内容を解析せんがために、このチップを開封し解析しようとすれば、コンタクトマスクの有り無しを見ることで、容易に保持しているデータの解析が可能である。
【０１８７】
しかし、この９個の記憶部ｍ３０００〜ｍ３００８に格納されたデータのうち、どこに格納されているデータ列が有効であるかは、この記憶部の後段に接続される、秘匿データを利用する回路を解析しなければ知ることができない。しかしながら、この後段の部分は一般的に大規模なゲート回路で構成されており、それを解析することは、前記記憶部ｍ３０００〜ｍ３００８の解析にくらべて格段に困難である。
【０１８８】
さらに、通常、半導体集積回路の不良は、工程における「ごみ」の付着などのために起こることはよく知られており、ある一部分が「ごみ」によって不具合を持つ場合は、その隣接部分にも不具合が及ぶことがよくあることも知られている。
【０１８９】
従って、周辺部分に１つでも不具合があれば、中心部分が良品である確率は格段に下がり、周辺部分が不良であればそれをもって中心部分も不良であるとしても大きくは違わない。
【０１９０】
ここで、本実施の形態１６では、図１６に示すように、秘匿データ等の有効データを保持する第１の記憶部ｍ３０００は、無効データを保持する第２〜第９の記憶部ｍ３００１〜ｍ３００８が取り囲むように配置され、さらに該第２〜第９の記憶部ｍ３００１〜ｍ３００８は、外部から読み出しできるように構成されている。
【０１９１】
以上に示す構成により、第１の記憶部ｍ３０００は外部から読み出しできないため、外部から検査することは困難である。しかし、第２〜第９の記憶部ｍ３００１〜ｍ３００８を外部から検査することは容易であるため、これら８個の記憶部ｍ３００１〜ｍ３００８の検査を行い、その結果が１つでも不良と判定されれば、上述した理由により、これを以て中心部分の第１の記憶部ｍ３０００も不良であると判定しても差し支えない。従って、本実施の形態１６に示す記憶部の配置方法を採用すれば、検査を実施する者にも秘匿データの内容を知り得ないという効果がある。
【０１９２】
このように、本実施の形態１６の半導体記憶装置によれば、記憶部として、秘匿データ等の有効データを保持する第１の記憶部ｍ３０００と、同じ形状的な特徴をもつ無効データを保持する８個の記憶部ｍ３００１〜ｍ３００８とを備えるようにしたので、どの記憶部が秘匿データ等の有効データを持っているかは簡単には分からず、また、たとえ全部の記憶部が開封されてその保持しているデータの“０”、“１”情報が解析されたとしても、どのデータが有効であるかを判断して活用することは大変困難なことであり、半導体記憶装置に保持されたデータの守秘性を大きく上げることができる。
【０１９３】
さらに、本実施の形態１６では、９個の記憶部ｍ３０００〜ｍ３００８のうち無効データを格納するべき８個の記憶部ｍ３００１〜ｍ３００８が外部から読み出しできるように構成されているために、これらの記憶部ｍ３００１〜ｍ３００８を外部から検査することは容易である。従って、これら８個の記憶部ｍ３００１〜ｍ３００８の検査を行い、その結果が１つでも不良と判定されれば、これを以て中心部分の有効データの記憶部も不良であると判定するようにし、良品テストを実施する者も第１の記憶部ｍ３０００に保持された秘匿データの内容を知り得ないようにして回路検査することができ、この結果、本半導体集積回路のデータ守秘性をさらにアップすることができる。
【０１９４】
（実施の形態１７）
以下、実施の形態１７について説明する。
図１７は、本発明の実施の形態１７における半導体記憶装置の記憶部のデータ配置を示したメモリマップの概念図である。
図１７において、ｍ４０００〜ｍ４０１５は、１つの記憶部において、データを保持する第１〜第１６のデータ保持領域をあらわしており、ａ４０００〜ａ４００４は、それぞれメモリアドレスを表し、ｄ４０００〜ｄ４００４は、データビットをあらわしている。そして、本実施の形態１７においては、図中斜線のハッチングを施した空間が、秘匿データ等の有効データを保持する有効データ保持領域を示しており、第２のデータ保持領域ｍ４００１（アドレスａ４００２〜ａ４００３と、データビットｄ４０００〜ｄ４００１とであらわされる空間）、第４のデータ保持領域ｍ４００３（アドレスａ４０００〜ａ４００１と、データビットｄ４０００〜ｄ４００１とであらわされる空間）、第１０のデータ保持領域ｍ４００９（アドレスａ４００２〜ａ４００３と、データビットｄ４００２〜ｄ４００３とであらわされる空間）、及び第１２のデータ保持領域ｍ４０１１（アドレスａ４０００〜ａ４００１と、データビットｄ４００２〜ｄ４００３とであらわされる空間）、秘匿データ等の有効データが配置される。これ以外の記憶部の空間には、無効データが配置される。
【０１９５】
この一連のデータの保持機構には、たとえばマスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を使用し、コンタクトマスクを使用して“０”と“１”の区別をつけるような一般的な記憶手段を使用するものとする。
【０１９６】
また、有効データ保持空間は、半導体集積回路の外部からの読み出しはできない様に構成されるが、これ以外の無効データ保持空間は、外部からテスト回路によって読み出し可能になるように設計される。
【０１９７】
前記のようにデータ配置をした記憶部に対して、前記実施の形態１６と同様に、第三者がデータ内容を解析せんがためにこのチップを開封し解析するとき、たとえばコンタクトマスクの有り無しを見ることで、容易に保持しているデータの“０”および“１”の判別は可能である。
【０１９８】
しかし、この“０”及び“１”を判別されたデータのうち、どこに格納されているデータ列が有効であるかは、この記憶部の後段に接続された、取得データ利用する回路を解析しなければ知ることができない。しかしながら、この後段の部分は一般的に大規模なゲート回路で構成されており、その解析は記憶部の解析にくらべて格段に困難である。
【０１９９】
このように、本実施の形態１７の半導体集積回路によれば、記憶部として、第１〜第１６のデータ保持領域を設け、そのうちの第２、４、１０、１２のデータ保持領域ｍ４００１，ｍ４００３、ｍ４００９，ｍ４０１１に、秘匿データ等の有効データを保持するようにしたので、たとえ、該第２、４、１０、１２のデータ保持領域において、その保持している有効データの“０”、“１”情報が解析されたとしても、それのデータの有効部分を切り出して活用することは大変困難なことであり、本半導体集積回路のデータ守秘性を大きく上げることができる。
【０２００】
さらに、前記実施の形態１６と同じように、記憶部において、有効データ保持領域と無効データ保持領域とが隣接して配置されているため、無効データ保持領域に不具合があれば有効データ保持領域に不具合がある確率が格段に増加する。したがって、有効データ保持領域を直接に検査せず、無効データ保持領域の良否検査のみを行うだけで、その結果を有効データ保持領域の不具合発見の結果の代用とすることができる。つまり、本実施の形態１７による構成では、無効データ保持領域は半導体集積回路の外部から直接読み出しが可能であるように設計されているため、該無効データ保持領域の判定検査は極めて容易にでき、該無効データ保持領域の判定結果に基づいて、有効データ保持領域の良否も簡単に分かることになる。また、この検査方法は、検査を実施する者にも有効データの内容を知り得ないという効果があるので、本半導体集積回路のデータ守秘性をさらにアップすることができる。
【０２０１】
なお、本実施の形態１７では、記憶部内のデータ保持領域の配置を、アドレス及びデータビットを、それぞれ４分割する例で説明したが、これらは、両者ともに分割数を“１”とする以外の、それぞれ独立な任意の分割数を取ることにしても、同様の効果を得ることはいうまでもない。
【０２０２】
また、前記記憶部内を分割するに際し、その分割量は、それぞれの分割により独立にかつ、アドレス及びデータビットの最小単位以上で任意の量に取れることはいうまでもない。
【０２０３】
さらに、実施の形態１５〜１７では、１つの記憶部に１つのデータ保持領域、または複数のデータ保持領域を収容するようにしたが、逆に、１つのデータ保持領域が複数の記憶部にまたがっていてもよい。
【０２０４】
（実施の形態１８）
以下、実施の形態１８について説明する。
前記実施の形態１４ないし実施の形態１７では、データ保持機構にマスクＲＯＭなどの記憶手段を用いる場合について説明した。しかしながら、このマスクＲＯＭ方式は、マスクＲＯＭを収容する半導体集積回路のパッケージを開封して解析すれば、容易に“０”，“１”の判別ができるという欠点を有している。
【０２０５】
前記の欠点を補うために、本実施の形態１８では、この記憶部として、ＥＰ−ＲＯＭ方式を用いる。
ＥＰ−ＲＯＭは、データを保持する機構が、電荷の保持によるもので、紫外線によってその保持された電荷が消失する。ＥＰ−ＲＯＭ方式は、ＥＰ−ＲＯＭチップを紫外線に対し不透明なパッケージに封入したものである。ＥＰ−ＲＯＭ方式の半導体記憶装置では、保持されたデータを知りたいと考える第三者が、記憶部を内蔵する半導体集積回路のパッケージを開封してこれを解析しようとしても、パッケージを開封した後、そのデータ保持機構の上層の保護膜等を除去してデータ保持機構を露出する必要がある。このため、解析作業中に、照明光に含まれる紫外線等により保持されているデータが消去され、データ内容の解析は不可能となる。
【０２０６】
このように、本実施の形態１８の半導体記憶装置によれば、秘匿データを保持する記憶部として、ＥＰ−ＲＯＭ方式の記憶手段を用い、前述した他の実施の形態で説明した発明、すなわち、秘匿データ等の有効データと、ランダムデータを配置した無効データとをあわせ持つようにしたり、有効データと無効データとを相互に配置したりするようにすることによって、どの部分のデータが有効であるかを簡単に判別できないようにし、また、ＥＰ−ＲＯＭ方式の記憶部の開封を試みると、データそのものが消失してしまうようにすることによって、本半導体集積回路のデータ守秘性を極めて高いものとすることを可能にしたものである。また、上述のように構成することによって、ほかの手法で有効データや無効データを分別して切り出し活用することをも特段に困難にすることができる。
【産業上の利用可能性】
【０２０７】
本発明の半導体集積回路、半導体集積回路の検査方法、及び半導体集積回路の検査プログラムは、高い秘匿性を維持しつつ半導体集積器回路の検査を容易にするものとして有用である。
【図面の簡単な説明】
【０２０８】
【図１】本発明の実施の形態１による半導体集積回路の構成を示すブロック図である。
【図２】本発明の実施の形態２による半導体集積回路の構成を示すブロック図である。
【図３】本発明の実施の形態３による半導体集積回路の構成を示すブロック図である。
【図４】本発明の実施の形態４による半導体集積回路の構成を示すブロック図である。
【図５】本発明の実施の形態４による半導体集積回路の別の構成を示すブロック図である。
【図６】本発明の実施の形態５による半導体集積回路の構成を示すブロック図である。
【図７】本発明の実施の形態６及び実施の形態７による半導体集積回路の構成を示すブロック図である。
【図８】本発明の実施の形態８及び実施の形態９による半導体集積回路の構成を示すブロック図である。
【図９】本発明の実施の形態１０による半導体集積回路の構成を示すブロック図である。
【図１０】本発明の実施の形態１１による半導体集積回路の構成を示すブロック図である。
【図１１】本発明の実施の形態１２による半導体集積回路の構成を示すブロック図である。
【図１２】本発明の実施の形態１３による半導体集積回路の構成を示すブロック図である。
【図１３】従来の半導体集積回路内の記憶部のデータ配置を示したメモリマップ図である。
【図１４】本発明の実施の形態１４による半導体集積回路内の記憶部のデータ配置を示したメモリマップの概念図である。
【図１５】本発明の実施の形態１５による半導体集積回路内の記憶部のデータ配置を示したメモリマップの概念図である。
【図１６】本発明の実施の形態１６による半導体集積回路内の記憶部のデータ配置を示したメモリマップの概念図である。
【図１７】本発明の実施の形態１７による半導体集積回路内の記憶部のデータ配置を示したメモリマップの概念図である。
【図１８】従来における、半導体集積回路のテスト回路の一構成を示す図である。
【図１９】従来における、半導体集積回路のテスト回路の一構成を示す図である。
【符号の説明】
【０２０９】
１、７１、１００  半導体集積回路
２  アドレス生成回路
３  アドレス入力端子
４  アドレス信号選択回路
５  記憶部
６、１１、２１、２０６、２０７  演算回路
７  切替制御信号入力端子
８  検査用出力端子
９、１０  入力端子
１２  タイミング検出回路
１３、１６  ヒューズ
１４、１５、１７、１８  配線
２２  選択回路
３３、７４  テスト端子
３４  情報処理装置
４３  出力データ
６３、８８、１００２  出力端子
７２  制御回路
７５、７８  ＥＥＰＲＯＭ
７７  スクランブル回路
７９  制御信号
８６  コントロール信号入力端子
８０、８１、８２、８３、８９    出力
８４  アドレス信号
８７  データ・アドレス信号入力端子
９０  テスト回路本体
７３、１０１  アドレス発生器
７６、１０２、１０３、４０１  ＲＯＭ
１０４  比較回路
１０５、２０８、２０９、４０３  外部端子
３００  自己判定回路
３０１  ＲＯＭ選択回路
４０２、１００１    ＤＳＰ
５００  ＤＳＰのソフトウェア
Ｓ１０１、Ｓ１０２、Ｓ４００  アドレス信号
Ｓ１０３、Ｓ１０４、Ｓ４０１  秘匿データ
Ｓ１０５  一致・不一致信号
Ｓ２０６、Ｓ２０７  演算結果
Ｓ３００、Ｓ４０２  判定結果
Ｓ３０１  ＲＯＭ選択信号
ａ１０００、ａ１００１、ａ１００２、ａ１００３、ａ２０００、ａ２００１、ａ２００２、ａ２００３、ａ３０００、ａ３００１、ａ３００２、ａ３００３、ａ３００４、ａ３００５、ａ４０００、ａ４００１、ａ４００２、ａ４００３、ａ４００４  メモリアドレス
ｄ１０００、ｄ１００１、ｄ１００２、ｄ１００３、ｄ２０００、ｄ２００１、ｄ２００２、ｄ２００３、ｄ３０００、ｄ３００１、ｄ３００２、ｄ３００３、ｄ３００４、ｄ３００５、ｄ４０００、ｄ４００１、ｄ４００２、ｄ４００３、ｄ４００４  データビット
ｍ１０００、ｍ２０００、ｍ２１００  ｍ３０００〜ｍ３００９  記憶部
ｍ１００１、ｍ１００２、ｍ４０００〜ｍ４０１５  データ保持領域
【図１】
2006228425.tif 000003
【図２】
2006228425.tif 000004
【図３】
2006228425.tif 000005
【図４】
2006228425.tif 000006
【図５】
2006228425.tif 000007
【図６】
2006228425.tif 000008
【図７】
2006228425.tif 000009
【図８】
2006228425.tif 000010
【図９】
2006228425.tif 000011
【図１０】
2006228425.tif 000012
【図１１】
2006228425.tif 000013
【図１２】
2006228425.tif 000014
【図１３】
2006228425.tif 000015
【図１４】
2006228425.tif 000016
【図１５】
2006228425.tif 000017
【図１６】
2006228425.tif 000018
【図１７】
2006228425.tif 000019
【図１８】
2006228425.tif 000020
【図１９】
2006228425.tif 000021