(57)【要約】【課題】従来の半導体集積回路におけるテスト回路生成方法で生成されたテスト回路を用いたメモリのテストでは、“０”と“１”の両方の値が正しく読み書きできるかを、メモリの全ビットを対象にして行っていたため、通常動作時には不使用ビットの故障についても不良として扱っていて、歩留まりの低下を招いていた。【解決手段】メモリ１を備える半導体集積回路１０のテストを行うためのテスト回路３を生成する方法であって、第１のステップＳＴ１において、メモリの構造等にかかわるメモリ情報を入力し、第２のステップＳＴ２において、メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報Ｊ１を入力し、メモリ情報を参照しつつ、故障判定ビット情報Ｊ１における判定対象ビットのみを使用してメモリの故障判定を行うための故障判定制御回路５Ａを生成する。【選択図】図５
2007305223.tif 000002
【特許請求の範囲】
【請求項１】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、
前記メモリの構造等にかかわるメモリ情報を入力する第１のステップと、
前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報を入力し、前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットのみを使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップとを含む半導体集積回路におけるテスト回路生成方法。
【請求項２】
前記第２のステップにおいて、前記故障判定ビット情報を格納するためのレジスタを生成する請求項１に記載の半導体集積回路におけるテスト回路生成方法。
【請求項３】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、
前記メモリの構造等にかかわるメモリ情報を入力するとともに、前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報を入力する第１のステップと、
前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットのみを使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップとを含む半導体集積回路におけるテスト回路生成方法。
【請求項４】
前記メモリにはシステムのアドレスマップに基づくメモリアドレスが格納されることを前提として、
前記第１のステップにおいて、前記故障判定ビット情報として、前記半導体集積回路で実現されるシステムにおいて使用されるアドレスマップに基づいて決定される故障判定ビット情報を用いる請求項３に記載の半導体集積回路におけるテスト回路生成方法。
【請求項５】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、
前記メモリの構造等にかかわるメモリ情報を入力する第１のステップと、
前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力し、前記メモリ情報を参照しつつ、前記固定値ビットでは期待値が前記固定値情報における固定値と一致する場合にのみ故障判定を行う故障判定制御回路を生成する第２のステップとを含む半導体集積回路におけるテスト回路生成方法。
【請求項６】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、
前記メモリの構造等にかかわるメモリ情報を入力する第１のステップと、
前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報と、前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力し、前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットが有効で、かつ、前記固定値ビットでは期待値が前記固定値情報における固定値と一致する場合にのみ故障判定を行う故障判定制御回路を生成する第２のステップとを含む半導体集積回路におけるテスト回路生成方法。
【請求項７】
前記第２のステップにおいて、前記固定値ビット情報および前記固定値情報を格納するためのレジスタを生成する請求項５または請求項６に記載の半導体集積回路におけるテスト回路生成方法。
【請求項８】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、
前記メモリの構造等にかかわるメモリ情報を入力するとともに、前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力する第１のステップと、
前記メモリ情報を参照しつつ、前記固定値ビット情報および前記固定値情報を使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップとを含む半導体集積回路におけるテスト回路生成方法。
【請求項９】
前記メモリにはシステムのアドレスマップに基づくメモリアドレスが格納されることを前提として、
前記第１のステップにおいて、前記メモリに格納され得る全ての前記メモリアドレスにおいて常に“０”または“１”となるビットを前記固定値ビットとして入力する請求項６または請求項８に記載の半導体集積回路におけるテスト回路生成方法。
【請求項１０】
前記第２のステップにおいて、前記故障判定ビット情報における前記判定対象ビットを使用して、前記判定対象ビットでの出力のみを期待値と比較する機能を持つ比較器を生成する請求項１から請求項９までのいずれかに記載の半導体集積回路におけるテスト回路生成方法。
【請求項１１】
前記第２のステップにおいて、前記固定値ビット情報における前記固定値ビットを使用して、前記固定値ビットからの出力値と期待値の比較は除外する比較器を生成する請求項５から請求項９までのいずれかに記載の半導体集積回路におけるテスト回路生成方法。
【請求項１２】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する装置であって、
前記メモリの構造等にかかわるメモリ情報を入力する第１のステップを実行する手段と、
前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報を入力し、前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットのみを使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップを実行する手段とを備えた半導体集積回路におけるテスト回路生成装置。
【請求項１３】
前記第２のステップを実行する手段は、前記故障判定ビット情報を格納するためのレジスタを生成する請求項１２に記載の半導体集積回路におけるテスト回路生成装置。
【請求項１４】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する装置であって、
前記メモリの構造等にかかわるメモリ情報を入力するとともに、前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報を入力する第１のステップを実行する手段と、
前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットのみを使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップを実行する手段とを備えた半導体集積回路におけるテスト回路生成装置。
【請求項１５】
前記メモリにはシステムのアドレスマップに基づくメモリアドレスが格納されることを前提として、
前記第１のステップを実行する手段は、前記故障判定ビット情報として、前記半導体集積回路で実現されるシステムにおいて使用されるアドレスマップに基づいて決定される故障判定ビット情報を用いる請求項１４に記載の半導体集積回路におけるテスト回路生成装置。
【請求項１６】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する装置であって、
前記メモリの構造等にかかわるメモリ情報を入力する第１のステップを実行する手段と、
前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力し、前記メモリ情報を参照しつつ、前記固定値ビットでは期待値が前記固定値情報における固定値と一致する場合にのみ故障判定を行う故障判定制御回路を生成する第２のステップを実行する手段とを備えた半導体集積回路におけるテスト回路生成装置。
【請求項１７】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する装置であって、
前記メモリの構造等にかかわるメモリ情報を入力する第１のステップを実行する手段と、
前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報と、前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力し、前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットが有効で、かつ、前記固定値ビットでは期待値が前記固定値情報における固定値と一致する場合にのみ故障判定を行う故障判定制御回路を生成する第２のステップを実行する手段とを備えた半導体集積回路におけるテスト回路生成装置。
【請求項１８】
前記第２のステップを実行する手段は、前記固定値ビット情報および前記固定値情報を格納するためのレジスタを生成する請求項１６または請求項１７に記載の半導体集積回路におけるテスト回路生成装置。
【請求項１９】
メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する装置であって、
前記メモリの構造等にかかわるメモリ情報を入力するとともに、前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力する第１のステップを実行する手段と、
前記メモリ情報を参照しつつ、前記固定値ビット情報および前記固定値情報を使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップを実行する手段とを備えた半導体集積回路におけるテスト回路生成装置。
【請求項２０】
前記メモリにはシステムのアドレスマップに基づくメモリアドレスが格納されることを前提として、
前記第１のステップを実行する手段は、前記メモリに格納され得る全ての前記メモリアドレスにおいて常に“０”または“１”となるビットを前記固定値ビットとして入力する請求項１７または請求項１９に記載の半導体集積回路におけるテスト回路生成装置。
【請求項２１】
前記第２のステップを実行する手段は、前記故障判定ビット情報における前記判定対象ビットを使用して、前記判定対象ビットでの出力のみを期待値と比較する機能を持つ比較器を生成する請求項１２から請求項２０までのいずれかに記載の半導体集積回路におけるテスト回路生成装置。
【請求項２２】
前記第２のステップを実行する手段は、前記固定値ビット情報における前記固定値ビットを使用して、前記固定値ビットからの出力値と期待値の比較は除外する比較器を生成する請求項１６から請求項２０までのいずれかに記載の半導体集積回路におけるテスト回路生成装置。
【請求項２３】
メモリと、
前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、
各ビットの前記不一致検出回路による不一致判定データを故障判定ビット情報における判定対象ビットに基づいてスルー制御する複数の判定対象ゲート回路を有する故障判定制御回路とを備えた半導体集積回路。
【請求項２４】
さらに、前記故障判定ビット情報を格納するレジスタを備えている請求項２３に記載の半導体集積回路。
【請求項２５】
メモリと、
前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、
前記複数の不一致検出回路のうち故障判定ビット情報における判定対象ビットに対応する不一致検出回路に限定してこの不一致検出回路による不一致判定データをスルー制御する判定対象ゲート回路を有する故障判定制御回路とを備えた半導体集積回路。
【請求項２６】
メモリと、
前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、
固定値情報における各ビットの固定値を期待値と比較する複数の固定値ゲート回路、および固定値ビット情報における各ビットの値に従って前記固定値ゲート回路のスルー阻止を制御する複数の固定値ビットゲート回路を有する故障判定制御回路とを備えた半導体集積回路。
【請求項２７】
メモリと、
前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、
固定値情報における各ビットの固定値を期待値と比較する複数の固定値ゲート回路、および固定値ビット情報における各ビットの値に従って前記固定値ゲート回路のスルー阻止を制御する複数の固定値ビットゲート回路、および各ビットの前記不一致検出回路による不一致判定データを前記固定値ビットゲート回路の出力値と故障判定ビット情報における判定対象ビットとに基づいてスルー制御する複数の判定対象ゲート回路を有する故障判定制御回路とを備えた半導体集積回路。
【請求項２８】
前記固定値ビット情報における値と前記固定値情報における固定値がともに有効であるビットについては、前記固定値ゲート回路および前記固定値ビットゲート回路が省略され、そのビットの前記固定値が前記判定対象ゲート回路に入力されている請求項２６または請求項２７に記載の半導体集積回路。
【請求項２９】
故障判定ビット情報における判定対象ビットが不使用ビットに該当するビットについては、前記メモリから前記比較器への入力が省略され、かつ、前記不使用ビット以外のビットについては前記比較器における前記複数の不一致検出回路に対する前記判定対象ゲート回路が省略されている請求項２３に記載の半導体集積回路。
【請求項３０】
前記固定値ビット情報における値と前記固定値情報における固定値がともに有効であるビットについては、前記固定値ゲート回路および前記固定値ビットゲート回路が省略され、かつ、そのビットにおける前記比較器の前記不一致検出回路が論理反転回路に置き換えられている請求項２６または請求項２７に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリを内蔵する半導体集積回路において、半導体メモリのテストを行うためのテスト回路を生成するテスト回路生成方法およびテスト回路生成装置ならびにそのテスト回路生成方法によって構成されるテスト回路を有する半導体集積回路に関する。
【背景技術】
【０００２】
近年では、半導体集積回路に搭載されるメモリをテストするために、搭載されるメモリに応じて自己検査可能なテスト回路を実装するケースが増えてきている（例えば、特許文献１参照）。搭載されるメモリの容量や種類は一般的に半導体集積回路ごとに異なるため、それぞれの半導体集積回路に搭載されるメモリに応じたテスト回路を設計し、実装する必要がある。一方で、搭載されるメモリの種類や構造、容量といった情報を基にテスト回路を自動で生成することが可能である（非特許文献１参照）。このようにして、テスト回路を設計する工数および設計期間を短縮している。
【特許文献１】特開平１１−２６００９６号公報（第３−４頁、第１３図）
【非特許文献１】"Embedded Memory Test (EMT)"by Logic Vision, Inc.<URL:http://www.logicvision.com/Products/Silicon_Test/Memory/EMT_Datasheet.pdf>（Ｆｉｇ１，Ｆｉｇ２）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
半導体集積回路によって実現されるシステムにおいては、特定のビットは使用されないような使われ方（不使用ビット）や、常に固定値（“０”または“１”の決まった値）が出力されるような使われ方をする場合がある。このような場合でも、従来のテスト回路では、全てのビットについて、期待値を“０”と“１”の両方の値にする状態でテストして故障判定を行っている。
【０００４】
しかし、このように故障判定を行うと、半導体集積回路が通常動作をする場合には影響を与えないビットで故障があった場合でも、本来は無関係であるにもかかわらず、半導体集積回路そのものが故障していると誤判定してしまう。すなわち、そのビットでテストしたときに、そのビットで故障が生じているとして故障判定がでるが、そもそもこのビットは不使用であるため、たとえ故障が生じているとしても、半導体集積回路の実動作にはなんら影響を与えない。それにもかかわらず、半導体集積回路が故障していると誤判定してしまうので、歩留まりを低下させてしまう。
【０００５】
本発明は、このような事情に鑑みて創作したものであり、不使用ビットがある場合や常に“０”または“１”の固定値が出力される固定値ビットがある場合のテストにおいて、従来技術では良品であっても不良と誤判定されるような状況でも、誤判定を回避し、テストにおける歩留まりを改善できる半導体集積回路におけるテスト回路生成方法およびテスト回路生成装置ならびに半導体集積回路を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明による半導体集積回路におけるテスト回路生成方法は、メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、前記メモリの構造等にかかわるメモリ情報を入力する第１のステップと、前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報を入力し、前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットのみを使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップとを含むものである。このテスト回路生成方法に対応する本発明のテスト回路生成装置は、その方法に対応する各ステップの実行手段を備えた構成のものである。
【０００７】
ここで、メモリ情報とは、メモリの種類や構造、容量といった情報である。例えば、出力データ１ビットごとのカラム数（列数）、ロウ数（行数）やデータ幅などがある。故障判定ビット情報は、故障判定の対象としたい故障判定対象ビットを指定するものである。故障判定制御回路は、不使用ビットがある場合や常に“０”または“１”の固定値が出力される固定値ビットがある場合など所要の条件を満たすときには、故障判定対象の除外を行う機能を有するものである。このような故障判定制御回路を生成するに、故障判定ビット情報における判定対象ビットのみを使用して故障判定制御回路を生成する。
【０００８】
このテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路としては、メモリと、前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、各ビットの前記不一致検出回路による不一致判定データを故障判定ビット情報における判定対象ビットに基づいてスルー制御する複数の判定対象ゲート回路を有する故障判定制御回路とを備えたものがある。なお、この構成については、後述する実施の形態における図５を参照することができる。
【０００９】
このように、判定対象ビットのみを使用して生成された故障判定制御回路は、通常動作時の不使用ビットについてこれを故障判定の対象から除外したテスト回路を構成する。結果として、不使用ビットでの故障に起因する半導体集積回路の不良については、これを除外することができる。すなわち、従来技術では良品ではあっても不使用ビットでの故障に起因して不良と誤判定されていた半導体集積回路について、これを正しく良品として扱うことができる。このようにして、歩留まりの向上を図ることができる。
【００１０】
上記の半導体集積回路におけるテスト回路生成方法またはテスト回路生成装置の前記第２のステップにおいて、前記故障判定ビット情報を格納するためのレジスタを生成するという態様がある。これに対応する半導体集積回路は、上記構成において、さらに、前記故障判定ビット情報を格納するレジスタを備えたものとなる。
【００１１】
この場合、故障判定ビット情報を格納するためのレジスタを生成して得られたテスト回路においては、外部から故障判定ビット情報を入力しテストを行うテスト回路に比べて、半導体集積回路の周波数仕様範囲でのより高速なテストが可能である。また、半導体集積回路の設計後において、外部から故障判定ビット情報をレジスタへ入力することが可能であるので、故障判定ビット情報の変更を通じてより柔軟なテストが可能となる。
【００１２】
また、本発明による半導体集積回路におけるテスト回路生成方法は、メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、前記メモリの構造等にかかわるメモリ情報を入力するとともに、前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報を入力する第１のステップと、前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットのみを使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップとを含むものである。このテスト回路生成方法に対応する本発明のテスト回路生成装置は、その方法に対応する各ステップの実行手段を備えた構成のものである。
【００１３】
これに対応する半導体集積回路は、メモリと、前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、前記複数の不一致検出回路のうち故障判定ビット情報における判定対象ビットに対応する不一致検出回路に限定してこの不一致検出回路による不一致判定データをスルー制御する判定対象ゲート回路を有する故障判定制御回路とを備えたものとなる。なお、この構成については、後述する実施の形態における図７を参照することができる。
【００１４】
この場合、故障判定ビット情報を第２のステップではなく第１のステップで入力するのが特徴である。また、故障判定制御回路において、判定対象ゲート回路は判定対象ビットに対応するものになっていることが特徴である。第１のステップで故障判定ビット情報を入力するので、テスト回路生成時には事前に判定対象ビットが分かっていることになる。その結果として、その判定対象ビットの信号のみを対象とする最適化された故障判定制御回路を生成することができる。全ビットを対象とする故障判定制御回路の構成とする必要はない。これにより、テスト回路の構成が簡素化され、テスト回路の面積縮小と消費電力の削減を図ることができる。
【００１５】
ところで、一般に、アドレスの格納に必要なビット数は、データを格納するためのビット数より少ない。つまり、アドレスについては不使用ビットが存在する。不使用ビットについては、テストを省略してよい。全ビットに対するテストは無駄であるばかりでなく、誤判定に起因する不必要な歩留まり低下を招くからである。
【００１６】
そこで、上記の第１のステップで故障判定ビット情報を入力するテスト回路生成方法またはテスト回路生成装置において、前記メモリにはシステムのアドレスマップに基づくメモリアドレスが格納されることを前提として、その第１のステップにおいて、前記故障判定ビット情報として、前記半導体集積回路で実現されるシステムにおいて使用されるアドレスマップに基づいて決定される故障判定ビット情報を用いるという態様がある。
【００１７】
この場合、アドレスマップに基づいて故障判定対象のビット列を決めることにより、不使用ビットは故障判定対象から除外したテスト回路を効率良く生成することができる。
【００１８】
また、本発明による半導体集積回路におけるテスト回路生成方法は、メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、前記メモリの構造等にかかわるメモリ情報を入力する第１のステップと、前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力し、前記メモリ情報を参照しつつ、前記固定値ビットでは期待値が前記固定値情報における固定値と一致する場合にのみ故障判定を行う故障判定制御回路を生成する第２のステップとを含むものである。このテスト回路生成方法に対応する本発明のテスト回路生成装置は、その方法に対応する各ステップの実行手段を備えた構成のものである。
【００１９】
これに対応する半導体集積回路は、メモリと、前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、固定値情報における各ビットの固定値を期待値と比較する複数の固定値ゲート回路、および固定値ビット情報における各ビットの値に従って前記固定値ゲート回路のスルー阻止を制御する複数の固定値ビットゲート回路を有する故障判定制御回路とを備えたものとなる。固定値ビット情報における各ビットの値というのは、そのビットが固定値ビットであるのか否かを表す値である。なお、この構成については、後述する実施の形態における図１０を参照することができる。
【００２０】
この構成において、通常動作時には常に“０”または“１”が出力されるような特殊なビットである固定値ビットについては、故障判定の対象から除外したテスト回路を生成することができる。すなわち、期待値が前記の固定値とは逆論理となるテスト結果の場合に故障であると判断されても、通常の使用時には常に固定値を出力するため動作には支障をきたさないことから、従来技術で生成されるテスト回路では不良と判断されていた半導体集積回路の良品は、これを本来通り良品として扱うことができ、歩留まりの向上を図ることができる。
【００２１】
また、本発明による半導体集積回路におけるテスト回路生成方法は、メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、前記メモリの構造等にかかわるメモリ情報を入力する第１のステップと、前記メモリの出力全ビットのうちで故障判定対象とする判定対象ビットを指定する故障判定ビット情報と、前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力し、前記メモリ情報を参照しつつ、前記故障判定ビット情報における前記判定対象ビットが有効で、かつ、前記固定値ビットでは期待値が前記固定値情報における固定値と一致する場合にのみ故障判定を行う故障判定制御回路を生成する第２のステップとを含むものである。このテスト回路生成方法に対応する本発明のテスト回路生成装置は、その方法に対応する各ステップの実行手段を備えた構成のものである。
【００２２】
これに対応する半導体集積回路は、メモリと、前記メモリの各ビットの出力データを期待値と比較する複数の不一致検出回路を有する比較器と、固定値情報における各ビットの固定値を期待値と比較する複数の固定値ゲート回路、および固定値ビット情報における各ビットの値に従って前記固定値ゲート回路のスルー阻止を制御する複数の固定値ビットゲート回路、および各ビットの前記不一致検出回路による不一致判定データを前記固定値ビットゲート回路の出力値と故障判定ビット情報における判定対象ビットとに基づいてスルー制御する複数の判定対象ゲート回路を有する故障判定制御回路とを備えたものとなる。なお、この構成についても、後述する実施の形態における図１０を参照することができる。
【００２３】
これによれば、故障判定対象除外を不使用ビットと特殊ビットとで二重に行えるため、さらなるテスト回路の構成が簡素化され、テスト回路の面積縮小と消費電力の削減を図ることができる。
【００２４】
上記の半導体集積回路におけるテスト回路生成方法またはテスト回路生成装置の前記第２のステップにおいて、前記固定値ビット情報および前記固定値情報を格納するためのレジスタを生成するという態様がある。
【００２５】
この場合、固定値ビット情報および固定値情報を格納するためのレジスタを生成して得られたテスト回路においては、外部からこれらの情報を入力しテストを行うテスト回路に比べて、半導体集積回路の周波数仕様範囲でのより高速なテストが可能である。また、半導体集積回路の設計後において、外部から固定値ビット情報や固定値情報をレジスタへ入力することが可能であるので、固定値ビット情報や固定値情報の変更を通じてより柔軟なテストが可能となる。
【００２６】
また、本発明による半導体集積回路におけるテスト回路生成方法は、メモリを備える半導体集積回路のテストを行うためのテスト回路を生成する方法であって、前記メモリの構造等にかかわるメモリ情報を入力するとともに、前記メモリの出力全ビットのうちで前記メモリからの出力値が“０”または“１”のどちらか一方の固定値となる固定値ビットを指定する固定値ビット情報と、前記固定値ビットでの出力値である固定値を指定する固定値情報とを入力する第１のステップと、前記メモリ情報を参照しつつ、前記固定値ビット情報および前記固定値情報を使用して前記メモリの故障判定を行うための故障判定制御回路を生成する第２のステップとを含むものである。このテスト回路生成方法に対応する本発明のテスト回路生成装置は、その方法に対応する各ステップの実行手段を備えた構成のものである。
【００２７】
これに対応する半導体集積回路は、上記構成において、前記固定値ビット情報における値と前記固定値情報における固定値がともに有効であるビットについては、前記固定値ゲート回路および前記固定値ビットゲート回路が省略され、そのビットの前記固定値が前記判定対象ゲート回路に入力されているものとなる。なお、この構成については、後述する実施の形態における図１１を参照することができる。
【００２８】
この場合、着目のビットにおいて、固定値が“１”であるときは、固定値ビットゲート回路の出力が期待値と一致することになるため、固定値ゲート回路と固定値ビットゲート回路とを省略しても結果には影響がない。このように構成することにより、テスト回路生成時に故障判定制御回路の最適化（回路要素の削減）を行うことができ、さらなる回路面積の縮小と消費電力の削減が期待される。
【００２９】
また、上記の半導体集積回路におけるテスト回路生成方法またはテスト回路生成装置において、前記メモリにはシステムのアドレスマップに基づくメモリアドレスが格納されることを前提として、前記第１のステップにおいて、前記メモリに格納され得る全ての前記メモリアドレスにおいて常に“０”または“１”となるビットを前記固定値ビットとして入力するという態様がある。
【００３０】
このようにメモリアドレスを格納するメモリの場合、常に“０”または“１”となるビットの情報はシステムのアドレスマップの情報から判別すること可能であり、アドレスをメモリに格納する場合において、上記と同様に、テスト回路の生成が容易となる。
【００３１】
さらに好ましくは、前記第２のステップにおいて、前記故障判定ビット情報における前記判定対象ビットを使用して、前記判定対象ビットでの出力のみを期待値と比較する機能を持つ比較器を生成するのでもよい。
【００３２】
これに対応する半導体集積回路は、上記構成において、故障判定ビット情報における判定対象ビットが不使用ビットに該当するビットについては、前記メモリから前記比較器への入力が省略され、かつ、前記不使用ビット以外のビットについては前記比較器における前記複数の不一致検出回路に対する前記判定対象ゲート回路が省略されているものとなる。なお、この構成については、後述する実施の形態における図１３を参照することができる。
【００３３】
このように判定対象ビットの出力のみを比較することにより、動作不要な判定対象ゲート回路を故障判定制御回路において省略するだけでなく、動作不要な不一致検出回路を省略した比較器を生成することができ、さらなる回路面積の縮小と消費電力の削減を図ることが可能となる。
【００３４】
さらに好ましくは、前記第２のステップにおいて、前記固定値ビット情報における前記固定値ビットを使用して、前記固定値ビットからの出力値と期待値の比較は除外する比較器を生成するのでもよい。
【００３５】
これに対応する半導体集積回路は、上記構成において、前記固定値ビット情報における値と前記固定値情報における固定値がともに有効であるビットについては、前記固定値ゲート回路および前記固定値ビットゲート回路が省略され、かつ、そのビットにおける前記比較器の前記不一致検出回路が論理反転回路に置き換えられているものとなる。なお、この構成については、後述する実施の形態における図１４を参照することができる。
【００３６】
このように構成することにより、固定値ビットでは期待値の比較を行わず不一致検出回路が論理反転回路（インバータ）に置き換えられているため、さらなる回路面積の縮小と消費電力の削減を図ることができる。
【発明の効果】
【００３７】
本発明によれば、通常動作時に使用しない不使用ビットについては、これを故障判定から除外するテスト回路を生成するため、従来技術で生成されるテスト回路では不良と判定されていた半導体集積回路の良品は、これを本来通り良品として扱うことができる。これにより、従来技術で生成されたテスト回路でのテスト時と比較して、半導体集積回路の歩留まりを向上させることができる。
【００３８】
また、通常動作時には常に“０”または“１”が出力されるような特殊なビットについては、通常動作時に出力される値が正しく出力される場合は、これを故障と判定しないテスト回路を生成でき、従来技術で生成されるテスト回路では不良と判断されていた半導体集積回路の良品は、これを本来通り良品として扱うことができるため、上記同様に半導体集積回路の歩留まりを向上させることができる。
【００３９】
また、不使用ビットや特殊ビットについては、比較器による比較自体を省略することも可能であるため、回路面積の縮小と消費電力の削減も期待できる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明にかかわる半導体集積回路におけるテスト回路生成方法および得られる半導体集積回路の実施の形態を図面に基づいて詳細に説明する。メモリの様々な態様に対してそれぞれ特有のテスト回路生成方法がある。
【００４１】
（実施の形態１）
図１は、本発明の実施の形態１の半導体集積回路におけるテスト回路生成方法の処理の手順を示すフローチャートである。
【００４２】
本実施の形態のテスト回路生成方法は、メモリの構成、構造およびテスト方法などに関する情報であるメモリ情報の入力を行う第１のステップＳＴ１と、前記メモリ情報を参照してテスト回路（故障判定制御回路・比較器）の生成を行う第２のステップＳＴ２とを有している。
【００４３】
図２は半導体集積回路に搭載されるメモリの一例として、３２ビットの出力をもつメモリ１を例示している。図２において、１ａは１ビットのメモリセルである。Ｃは出力１ビットごとのカラム数を示しており、この例では４つのカラムで出力１ビットが構成されている。Ｅはメモリ１のビット幅を示しておりエントリと呼ばれる。この例では、１２８ビットである。エントリＥの幅を持つ一連のメモリセル１ａ群が縦方向に行数Ｎだけ並ぶことにより、メモリ１を構成している。
【００４４】
メモリ１へのデータ要求が発生した場合、メモリインデックスＳ１により選択されたエントリが読み出しの対象となる。メモリ１は出力部に一連（この例では３２個）のセレクタ２をもち、読み出し対象のエントリのデータは、４つのカラムのうち選択信号Ｓ２に従って１つのカラムのデータが選択され、幅Ｗのデータがメモリ１から出力される。この例ではデータ幅Ｗは３２ビットである。前記のＣ，Ｎ，Ｗがメモリの構造を示すメモリ情報として、第１のステップＳＴ１で入力される。その他、メモリをテストする際のテストパターンの定義やテストを行う順などがメモリ情報として入力される。
【００４５】
さらに、第２のステップＳＴ２において、図３に示す故障判定ビット情報Ｊ１を用いてメモリ１の故障判定を行うための故障判定制御回路５（図４、図５参照）を生成する。故障判定ビット情報Ｊ１は、メモリ１から出力されるデータのビット幅と同じビット幅の情報であり、各ビットには“０”または“１”が格納されている。
【００４６】
ここでは、図２で示した３２ビット幅のメモリ１をテストする際の判定対象ビットの例を示している。各ビットに定義されている数値は故障判定の対象となるビットであるか否かを示している。“１”は故障判定対象のビットであることを示し、“０”は故障判定対象外のビットであることを示している。なお、逆論理としてもよい。
【００４７】
図４は第２のステップＳＴ２にて生成されるテスト回路３を含む半導体集積回路１０の構成を示すブロック図である。
【００４８】
図４において、４はメモリ１からの出力データＳｍと所望の期待値Ｖ１を各ビットごとに比較する比較器、５は比較器４による比較結果である不一致判定データＳｃに対して、不使用ビットがあるという所要条件を満たすときには故障判定対象の除外を行う機能を有する故障判定制御回路である。テスト回路３は、比較器４と故障判定制御回路５から構成されている。
【００４９】
第２のステップＳＴ２において、メモリ１の出力全ビットのうちで故障判定対象とする判定対象ビットを指定するための故障判定ビット情報Ｊ１を入力し、第１のステップＳＴ１で入力されたビット幅などのメモリ情報を参照して、故障判定制御回路５を生成する。この故障判定制御回路５は、故障判定ビット情報Ｊ１における判定対象ビットのみを使用してメモリ１の故障判定を行うものとして構成される。
【００５０】
このようにして生成された故障判定制御回路５は、次のような機能を有する。メモリ１からの出力データＳｍは比較器４に入力され、期待値Ｖ１との不一致判定が行われ、不一致ビットが“１”で一致ビットが“０”の不一致判定データＳｃが故障判定制御回路５に出力される。
【００５１】
この比較器４から出力される不一致判定データＳｃをそのまま出力すれば、従来の技術と同等のテスト回路となる。不一致判定データＳｃの全ビットのうちテストが不要と認められるビット（不使用ビット）について、不一致判定データＳｃを除外して、その不使用ビットでのテストを排除する役目を担うのが故障判定制御回路５である。
【００５２】
故障判定制御回路５は、比較器４からの不一致判定データＳｃと故障判定ビット情報Ｊ１を伴う判定対象ビット信号Ｓ３とを入力し、不一致判定データＳｃのうち故障判定ビット情報Ｊ１で“１”が設定されているビットすなわち判定対象ビットに該当するビットのみを使用するかたちで、その不一致判定データＳｃが故障判定の対象となる。つまり、故障判定ビット情報Ｊ１は、故障判定の対象としたい判定対象ビットを指定するものである。このような機能を有する故障判定制御回路５を、第２のステップＳＴ２で入力した故障判定ビット情報Ｊ１を使用するかたちで生成するのである。
【００５３】
生成された結果の故障判定制御回路５は、故障判定ビット情報Ｊ１を伴う判定対象ビット信号Ｓ３を半導体集積回路１０の外部から入力するようになっている。故障判定制御回路５は、比較器４からの不一致判定データＳｃと外部から入力した判定対象ビット信号Ｓ３に含まれる故障判定ビット情報Ｊ１とを用いて不使用ビットでの故障判定は除外するかたちで故障判定を行い、故障判定信号Ｓ４を生成出力するようになっている。
【００５４】
図５は比較器４と故障判定制御回路５Ａの詳細を示すブロック回路図である。
【００５５】
図５において、Ｖ１は比較において使用される期待値であり、テスト回路３の内部で生成される。比較器４は、不一致検出回路４ａを用いてメモリ１からの出力データＳｍと期待値Ｖ１とを比較し、不一致のときにアクティブとなる不一致判定データＳｃを故障判定制御回路５Ａへ出力するように構成されている。ここでは不一致検出回路４ａとして排他的論理和回路（ＥｘＯＲ）を使用している。
【００５６】
故障判定制御回路５Ａは、比較器４からの不一致判定データＳｃと判定対象ビット信号Ｓ３とを入力とし、各ビットにおいて、判定対象ビット信号Ｓ３に含まれる故障判定ビット情報Ｊ１をスルー制御信号として不一致判定データＳｃを選択する判定対象ゲート回路５ａが設けられているとともに、全ビット分の判定対象ゲート回路５ａの出力を取りまとめて故障判定信号Ｓ４として出力する故障判定出力回路５ｂが設けられている。ここでは、判定対象ゲート回路５ａとして論理積回路（ＡＮＤ）が用いられ、故障判定出力回路５ｂとして論理和回路（ＯＲ）が用いられている。比較器４を構成する不一致検出回路４ａのビット数を３２ビットとすると、故障判定制御回路５Ａにおける判定対象ゲート回路５ａも３２ビット分ある。
【００５７】
このようにして、故障判定ビット情報Ｊ１において“０”が定義されたビットでは、論理積回路で構成された判定対象ゲート回路５ａの出力が常に“０”となり、故障判定の対象外とすることができる。
【００５８】
一方、故障判定ビット情報Ｊ１において“１”が定義されたビットでは、判定対象ゲート回路５ａの出力は比較器４からの不一致判定データＳｃがそのまま反映されるため、比較器４による比較結果に基づいた故障判定が可能となる。なお、このことは、比較器４においてメモリ１からの出力データＳｍと期待値Ｖ１との各ビットにおける比較の結果が“０”であるか“１”であるかには無関係である。
【００５９】
比較器４において、不一致検出回路４ａが不一致検出を行って不一致判定データＳｃが“１”となるようなビットであっても、もしそのビットが故障判定ビット情報Ｊ１＝“０”によって故障判定の対象から外されていれば、そのビットにおける不一致検出回路４ａからの不一致判定データＳｃは採用されないのである。したがって、誤判定の個数を削減することができる。
【００６０】
このように故障判定ビット情報Ｊ１に基づいて判定対象ビットのみを比較することにより、常に全ビットの比較を行って故障判定を行っていた従来技術と比べ、故障判定対象外のビットの故障に起因する半導体集積回路の不良の数を低減できるため、歩留まりの向上を図ることができる。
【００６１】
なお、比較器４、故障判定制御回路５Ａについては、図５の回路構造に限定されるものではなく、同様の機能を有するものであれば、他の任意の形態を取り得るものとする。
【００６２】
以上のように本実施の形態のテスト回路生成方法によれば、判定対象ビットのみを使用して生成された故障判定制御回路は、通常動作時の不使用ビットについてこれを故障判定しないテスト回路を構成する。結果として、不使用ビットでの故障に起因する半導体集積回路の不良については、これを除外することができる。すなわち、従来技術では良品ではあっても不使用ビットでの故障に起因して不良と誤判定されていた半導体集積回路について、これを正しく良品として扱うことができる。このようにして、歩留まりの向上を図ることができる。
【００６３】
（実施の形態２）
図６は、本発明の実施の形態２におけるテスト回路生成方法によって生成されたテスト回路３を含む半導体集積回路１０の構成を示すブロック図である。図６において、実施の形態１の図４におけるのと同じ符号は同一構成要素を指している。
【００６４】
本発明の実施の形態２の半導体集積回路におけるテスト回路生成方法は、上記の実施の形態１を前提に、第２のステップＳＴ２において、故障判定ビット情報Ｊ１を格納するためのレジスタ６を生成するものである。
【００６５】
テスト回路３は、第２のステップＳＴ２で生成されたレジスタ６を備えている。このレジスタ６は、第２のステップＳＴ２において生成された故障判定ビット情報Ｊ１を格納するためのものである。このレジスタ６は、半導体集積回路１０の外部から供給された情報を格納することも可能となっている。その他の構成については、実施の形態１と同様であるので、説明を省略する。
【００６６】
本実施の形態のテスト回路生成方法で生成されたテスト回路３によれば、その内部に故障判定ビット情報Ｊ１を格納するレジスタ６を持っているので、外部から故障判定ビット情報Ｊ１を入力するテスト回路に比べて、半導体集積回路の周波数仕様範囲でより高速な動作が可能となる。また、半導体集積回路の設計後において、外部から故障判定ビット情報Ｊ１をレジスタ６へ入力することも可能であるので、故障判定ビット情報Ｊ１の変更を通じてより柔軟なテストが可能となる。
【００６７】
（実施の形態３）
本発明の実施の形態３の半導体集積回路におけるテスト回路生成方法は、上記の実施の形態１を前提に、故障判定ビット情報Ｊ１を第２のステップＳＴ２で入力することに代えて、第１のステップＳＴ１で故障判定ビット情報Ｊ１を入力するものである。
【００６８】
図７は、本発明の実施の形態３におけるテスト回路生成方法によって生成されたテスト回路３の構成を示すブロック図である。この場合、テスト回路３における故障判定制御回路５Ｂについて、実施の形態１の場合の図５における論理積回路（ＡＮＤ）で構成された判定対象ゲート回路５ａがすべて省略され、論理和回路（ＯＲ）で構成された故障判定出力回路５ｂの入力も簡素化されている。すなわち、故障判定出力回路５ｂがビット数が削減された簡易な構成の論理和回路（ＯＲ）で構成されている（図５の場合は３２ビット入力で複雑）。
【００６９】
このように、判定対象ゲート回路５ａをすべて省略してよく、故障判定出力回路５ｂの入力ビット数が削減されたのは、メモリ１における判定対象ビットがあらかじめ分かっており、その判定対象ビットにおいてのみ故障判定を行うように故障判定制御回路５Ｂを構成するからである。そして、このような態様の故障判定制御回路５Ｂを第２のステップＳＴ２で生成するために、第１のステップＳＴ１において故障判定ビット情報Ｊ１を入力するようにしているのである。
【００７０】
図７では具体的に、故障判定ビット情報Ｊ１が、３１ビット目と３０ビット目とが判定対象ビットを定義する“１”で、０ビット目から２９ビット目までがすべて不使用ビットを定義する“０”となっている場合に、故障判定制御回路５Ｂは、比較器４における３１ビット目の不一致検出回路４ａの出力と３０ビット目の不一致検出回路４ａの出力との論理和をとる２ビット入力の論理和回路で構成された故障判定出力回路５ｂとなっている。図７のメモリ１の場合には、判定対象ビットが事前に分かっていることから、故障判定制御回路５Ｂにおいては、故障判定ビット情報Ｊ１を用いる必要はなく、図５の場合の全ビット分の判定対象ゲート回路５ａは一切用いられていない。さらに、判定対象ビットが“０”であるビットについては、比較器４における不一致検出回路４ａの出力端子を故障判定出力回路５ｂへ配線する必要がない。すなわち、回路素子および素子間配線の大幅な簡略化が実現されている。結果として、回路面積および消費電力を低減することができる。
【００７１】
なお、図７で示される故障判定制御回路５Ｂは一例に過ぎず、本発明のテスト回路生成方法で生成される故障判定制御回路はこの構造に限るものではない。
【００７２】
（実施の形態４）
本発明の実施の形態４は、システム上の不使用ビットを含むメモリを使用して半導体集積回路を設計する場合に対応するものである。
【００７３】
メモリ空間は、データを格納する領域と、システムが使用するアドレスを格納する領域に分けて考えることができる。アドレスの格納に必要なビット数は、一般にデータを格納するためのビット数より少ない。すなわち、アドレスについては、不使用ビットが存在する。この不使用ビットについては、テストを省略してよいことになる。全ビットに対するテストは無駄であるばかりでなく、誤判定に起因する不必要な歩留まり低下を招く。
【００７４】
本発明の実施の形態４の半導体集積回路におけるテスト回路生成方法は、上記の実施の形態３において、第１のステップＳＴ１で入力する故障判定ビット情報Ｊ１として、半導体集積回路で実現されるシステムにおいて使用されるアドレスマップに基づいて決定される故障判定ビット情報を用いるものである。そして、本実施の形態のテスト回路生成方法により生成されるテスト回路がテスト対象とするメモリは、システムのアドレスを格納するものとする。
【００７５】
図８はメモリ空間とアドレスマップを示す。図８において、１１は３２ビットで表現可能な４ＧＢのメモリ空間、ｍ１はシステムが使用するメモリ領域である。この例では、メモリ領域ｍ１は１ＭＢである。このとき、使用されるアドレスビットはＡで示される下位の２０ビットであり、Ｂで示される上位の１２ビットは使用されない。Ａが故障判定対象ビット、Ｂが不使用ビットである。このとき、半導体集積回路に搭載されるメモリ１にアドレスの情報が格納され、上位の１２ビットは半導体集積回路内で使用されないことがあらかじめ判明しているので、第１のステップＳＴ１で入力される故障判定ビット情報Ｊ１は、図示されるような数値を入力すればよい。この故障判定ビット情報Ｊ１では、故障判定対象ビットＡがすべて故障判定対象ビットを表す“１”で定義され、不使用ビットＢは故障判定対象外のビットを表す“０”で定義されている。
【００７６】
本実施の形態のテスト回路生成方法で生成されたテスト回路によれば、システム上の不使用ビットを含むメモリを使用して半導体集積回路を設計する場合に、システム上の必要ビットのみを判定対象ビットとして定義することにより、不使用ビットの故障に起因する半導体集積回路の不良を排除することができ、歩留まりの向上を図ることができる。
【００７７】
なお、図８で示されるメモリ領域ｍ１および故障判定ビット情報Ｊ１のビット配列は一例であり、本発明のテスト回路生成方法に使用される判定対象ビットはこれに限るものではない。
【００７８】
（実施の形態５）
本発明の実施の形態５は、メモリの出力のうち常に同一の値を出力するビットを固定値ビットとし、固定値ビットから出力される値を固定値とし、これらの値を使用してテスト回路を生成することを特徴とする。これは、常に同一の値を出力する固定値ビットについては、これをテスト対象から除外してよいとの観点に立っている。固定値“１”に対して期待値“０”の場合、および固定値“０”に対して期待値“１”の場合にはテスト対象外とする。固定値ビットでは、期待値が固定値と同一の場合にのみ故障判定を行えばよく、不一致の場合は故障判定から除外してよいということになる。
【００７９】
図９には、図３で示した故障判定ビット情報Ｊ１のほか、固定値ビット情報Ｊ２と固定値情報Ｊ３とが示されている。
【００８０】
固定値ビット情報Ｊ２は、そのビットが固定値を格納しているビットであることを示すものであり、“１”で固定値ビットであることが定義され、“０”は固定値ビットでないことを意味する。固定値ビット情報Ｊ２で“１”が定義されたビットは固定値ビットであり、この固定値ビットにおいて出力される値は固定値情報Ｊ３に定義される。
【００８１】
固定値情報Ｊ３は、固定値ビットにおいて格納されている値を示すものであり、常に“１”が格納されているときはその固定値ビットの固定値情報は“１”であり、常に“０”が格納されているときはその固定値ビットの固定値情報は“０”である。
【００８２】
例として、ビット３１をみると、故障判定ビット情報Ｊ１が“１”であることから、このビット３１は故障判定の対象とすべきビットであり、しかも、固定値ビット情報Ｊ２が“１”であるから、条件によって値“０”と値“１”が入れ替わるようなビットではなく、“０”なら“０”、“１”なら“１”に固定化されているビットであり、固定値情報Ｊ３が“１”であるから、固定値は“１”の方であることが分かる。このようにして、ビット３１は値が“１”であると事前に分かっているため、メモリ１から“１”が出力される誤動作の場合は、故障判定を除外してよいことになる。後述で図１０を用いて明らかにするが、故障判定制御回路５Ｃにおける固定値ゲート回路５ｃは、固定値が期待値と異なる場合を除外することを前提とし、この前提を受けて、固定値ビットゲート回路５ｄは、固定値ビットで固定値と期待値が異なっていれば、それは除外するものであり、判定対象ゲート回路５ｅは、判別対象のビットでは比較器４の出力データについて故障判定を行うものとなっている。ビット３１では、“０”を出力するテストが不要である。“１”を出力することが可能であれば、“０”が出力できなくとも故障と判定する必要はない。
【００８３】
また、図９で別の例として、ビット３をみると、故障判定ビット情報Ｊ１が“１”であることから、このビット３は故障判定の対象とすべきビットであり、しかも、固定値ビット情報Ｊ２が“１”であるから、値が固定化されているビットであり、固定値情報Ｊ３が“０”であるから、固定値は“０”であることが分かる。ビット３では、固定値情報Ｊ３が“０”に定義されているため、“１”を出力するテストが不要となる。
【００８４】
また、別の例として、ビット３０をみると、故障判定ビット情報Ｊ１が“１”であることから、このビット３０は故障判定の対象とすべきビットであるが、固定値ビット情報Ｊ２が“０”であるから、値が固定化されていないで条件によって値“０”と値“１”が入れ替わるビットであることが分かる。なお、この場合の固定値情報Ｊ３の具体的な値は特に意味をもたない。
【００８５】
また、別の例として、ビット２９をみると、故障判定ビット情報Ｊ１が“０”であることから、このビット２９は故障判定の対象から除外してもよいビットであることが分かる。なお、この場合の固定値ビット情報Ｊ２および固定値情報Ｊ３の具体的な値は特に意味をもたない。
【００８６】
図１０は、故障判定ビット情報Ｊ１と固定値ビット情報Ｊ２と固定値情報Ｊ３を用いるテスト回路３の一例を示している。
【００８７】
故障判定制御回路５Ｃは、各ビットごとの固定値ゲート回路５ｃ、固定値ビットゲート回路５ｄおよび判定対象ゲート回路５ｅと、故障判定出力回路５ｆを備えている。固定値ゲート回路５ｃは、排他的論理和回路で構成されており、期待値Ｖ１と固定値情報Ｊ３とを１ビットずつ入力して、期待値に対して固定値が不一致となるかを判定するものである。固定値ビットゲート回路５ｄは、論理積回路の出力を反転する回路で構成され、固定値ゲート回路５ｃの出力データと固定値ビット情報Ｊ２とを１ビットずつ入力して、固定値ビットでないときは次段の判定対象ゲート回路５ｅの１入力を活性化し、固定値ビットのときは固定値ゲート回路５ｃの不一致判定出力を判定対象ゲート回路５ｅにスルーさせないように機能するものである。判定対象ゲート回路５ｅは、３入力の論理積回路で構成され、比較器４における不一致検出回路４ａの出力データのスルーを、故障判定ビット情報Ｊ１と固定値ビットゲート回路５ｄの出力データとの相関関係で制御するものである。すなわち、判定対象ゲート回路５ｅは、故障判定対象ビットであることが分かっていて、固定値ビットがある場合に、その固定値が期待値に一致するときは、比較器４における不一致検出回路４ａの出力データをスルーさせて故障判定対象とし、その固定値が期待値と異なるときは不一致検出回路４ａの出力データをスルーさせないで故障判定対象から除外するように機能する。故障判定対象ビットであって固定値ビットがある場合に、その固定値が期待値と異なるときは、あり得ないこととして故障判定対象から除外してよいからである。
【００８８】
このような回路の構成にすることにより、判定対象ビットが“１”でかつ、固定値ビット情報Ｊ２が“１”かつ期待値Ｖ１と固定値情報Ｊ３とが異なる場合に、論理和回路で構成された故障判定出力回路５ｆへの入力が常に“１”となり、当該ビットは故障ではないと判定される。
【００８９】
図９で示されるビットを例にとると、次のようになる。
【００９０】
前述したとおりに、まず、故障判定ビット情報Ｊ１が“０”であるビットは判定対象ゲート回路５ｅの出力が“０”となり、故障判定の対象から外される。
【００９１】
次に、判定対象ビットが“１”であるビットについて、固定値ビット情報Ｊ２の値が“０”の場合、固定値ビットゲート回路５ｄの出力は“１”となり、比較器４からの不一致判定データＳｃが故障判定出力回路５ｆへ伝播される。一方、固定値ビット情報Ｊ２が“１”の場合は、固定値情報Ｊ３と期待値Ｖ１の値を比較した結果が伝播される。
【００９２】
図９のビット３１の例では、故障判定ビット情報Ｊ１は“１”であり、固定値ビット情報Ｊ２も“１”であり、固定値情報Ｊ３も“１”である。このとき期待値Ｖ１が“１”の場合、固定値ゲート回路５ｃの出力は“０”となり、固定値ビットゲート回路５ｄの出力は“１”となるため、判定対象ゲート回路５ｅの出力には比較器４からの不一致判定データＳｃが伝播され、故障が判定される。一方、期待値Ｖ１が“０”の場合、固定値ゲート回路５ｃの出力は“０”となり、固定値ビットゲート回路５ｄの出力は“０”となるため、判定対象ゲート回路５ｅの出力は“０”となり、ビット３１は故障ではないと判定される。つまり、固定値情報Ｊ３と逆の期待値となるテストでは比較器４の結果にかかわらず、故障ではないと判断される。
【００９３】
このように固定値ビット情報Ｊ２と固定値情報Ｊ３を使用してテスト回路を生成することにより、従来の方法で生成したテスト回路では固定値ビットにおいて、期待値と固定値が異なる場合に故障と判定されていた半導体集積回路の不良判定を排除することができ、歩留まりの向上を図ることができる。
【００９４】
また、図６で示されるようなレジスタ６へ固定値ビット情報Ｊ２および固定値情報Ｊ３を格納しておき、故障判定制御回路５Ｃへ信号を入力してもよい。これにより、実施の形態２で説明した効果と同様の効果が期待できる。
【００９５】
さらに、第１のステップＳＴ１にて固定値ビット情報Ｊ２および固定値情報Ｊ３を入力し、テスト回路３を生成してもよい。図１１は図９の固定値ビット情報Ｊ２および固定値情報Ｊ３に従って第２のステップＳＴ２にて故障判定制御回路５Ｄを生成した場合の回路構造を示している。図９によると、ビット３１は固定値ビットであり、固定値は“１”である。これを基に回路を生成すると、図１１のＱのようにビット３１において固定値ゲート回路５ｃと固定値ビットゲート回路５ｄを省略することが可能である。
【００９６】
具体的には次のとおりである。固定値ビット情報Ｊ２における値が有効で“１”となっていることを前提にする。固定値が“０”で期待値が“０”のときは、固定値ゲート回路５ｃの出力は“０”で、固定値ビットゲート回路５ｄの出力は“１”となる。固定値が“１”で期待値が“０”のときは、固定値ゲート回路５ｃの出力は“１”で、固定値ビットゲート回路５ｄの出力は“０”となる。固定値が“０”で期待値が“１”のときは、固定値ゲート回路５ｃの出力は“１”で、固定値ビットゲート回路５ｄの出力は“０”となる。固定値が“１”で期待値が“１”のときは、固定値ゲート回路５ｃの出力は“０”で、固定値ビットゲート回路５ｄの出力は“１”となる。この４つの状態をながめると、固定値が“１”であることを前提にすれば、固定値ビットゲート回路５ｄの出力は期待値と一致することになる。すなわち、固定値ゲート回路５ｃと固定値ビットゲート回路５ｄとの直列回路は、期待値のビットラインと同等となる。したがって、固定値ビット情報Ｊ２における値と固定値情報Ｊ３における固定値がともに有効の“１”であるビットについては、固定値ゲート回路５ｃおよび固定値ビットゲート回路５ｄを省略してよいことになる。判定対象ゲート回路５ｅへの１入力は期待値のビットラインに接続されている。
【００９７】
このように構成することにより、本発明の実施の形態３と同様に故障判定制御回路の最適化が可能であり、回路面積および消費電力の削減を図ることができる。
【００９８】
なお、本実施の形態において示された回路構成は一例であり、本発明のテスト回路生成法で生成される回路の構成は、これらに限るものではない。
【００９９】
（実施の形態６）
本発明の実施の形態６では、システムのアドレスマップに基づいて決定された固定値ビット情報Ｊ２および固定値情報Ｊ３を第１のステップＳＴ１に入力することを特徴とする。さらに、本実施の形態のテスト回路生成方法によってテストされるメモリ１は、システムのアドレスを格納することを特徴とするメモリである。
【０１００】
図１２は図８で示されたアドレスマップにおけるメモリ領域ｍ１に加えて、さらにメモリ領域ｍ２を定義したアドレスマップを示している。このとき、メモリ領域ｍ２はアドレスの２１ビット目までを使用するため、故障判定ビット情報Ｊ１は、０ビット目から２１ビット目までが“１”となる。さらに、メモリ領域ｍ１およびメモリ領域ｍ２のどちらにアクセスする場合においても、２０ビット目は常に“０”であるため、このビットに“１”が書き込まれることはない。このようなときに、２０ビット目を固定値ビットであると定義し、固定値ビット情報Ｊ２のように定義する。さらに、固定値が“０”であるため、２０ビット目が“０”となるように固定値情報Ｊ３を定義する。固定値情報Ｊ３では、２０ビット目以外も“０”に定義しているが、固定値ビット情報Ｊ２が“０”の場合使用されないため、２０ビット目が“０”であればよい。
【０１０１】
このように、システムのアドレスを格納するメモリをテストするテスト回路を生成する場合に、システムのアドレスマップに従って固定値ビット情報Ｊ２と固定値情報Ｊ３を入力する。このことにより、システムのアドレスマップにおいて常に一定の値となるビットについては“０”と“１”の両方についてテストをする必要はない。測定結果、従来の方法で生成したテスト回路では固定値ビットにおいて、期待値と固定値が異なる場合に故障と判定されていた半導体集積回路の不良判定を排除することができ、歩留まりを向上させることができる。
【０１０２】
なお、図１２におけるメモリ領域、判定対象ビット、固定値ビット情報および固定値情報は一例であり、これに限るものではない。
【０１０３】
（実施の形態７）
本発明の実施の形態７では、第１のステップＳＴ１にて故障判定ビット情報Ｊ１を入力することにより、第２のステップＳＴ２にて故障判定ビット情報Ｊ１に基づいて比較器を生成することを特徴とする。これは、比較器の構成を簡素化するためのものである。
【０１０４】
図１３は第２のステップにて生成する比較器４Ｅの例を示している。この比較器４Ｅでは、故障判定ビット情報Ｊ１の値に基づいて必要な不一致検出回路４ａのみを生成している。０ビット目、１ビット目には不一致検出回路４ａが存在しない構造となっているため、入力される期待値Ｖ１のビット数は故障判定ビット情報Ｊ１において故障判定を行うと定義されたビット数分だけ必要となる。故障判定制御回路５Ｅは、論理和回路からなる故障判定出力回路５ｂのみとなっている。
【０１０５】
このように、判定対象ビットに基づいて必要な分の不一致検出回路４ａを生成することにより、不要な不一致検出回路４ａを削減することができ、回路面積および低消費電力化に効果が期待できる。
【０１０６】
なお、図１３で示した比較器４Ｅの回路構成は一例であり、これに限るものではない。
【０１０７】
（実施の形態８）
本発明の実施の形態８では、第１のステップＳＴ１にて入力された固定値ビット情報Ｊ２および固定値情報Ｊ３に基づいて、第２のステップＳＴ２にて比較器を生成することを特徴とする。
【０１０８】
図１４は第２のステップＳＴ２にて生成される比較器４Ｆの例を示している。図１４の比較器４Ｆは固定値ビット情報Ｊ２および固定値情報Ｊ３により、ビット３１の不一致検出回路４ａを簡略化し、当該部分をインバータ４ｂで実現している。この回路では、ビット３１の出力が常に“１”となることがあらかじめ判明しているため、ビット３１の出力が“０”となる場合にのみ故障と判断すればよい。よって、インバータ４ｂでの実現が可能である。故障判定制御回路５Ｆでは、図１１の場合と同様に、ビット３１は固定値ビットであり、固定値は“１”であることから、Ｑのようにビット３１において固定値ゲート回路５ｃと固定値ビットゲート回路５ｄを省略することが可能である。判定対象ゲート回路５ｅへの１入力は期待値のビットラインに接続されている。
【０１０９】
なお、図１４の比較器４Ｆの回路構成は、図９での固定値の例に沿った場合の一例であり、これに限るものではない。
【０１１０】
（実施の形態９）
図１５は本発明の実施の形態９における半導体集積回路におけるテスト回路生成装置のシステム構成図に示す。このシステムには、処理装置（ＣＰＵ）２１、入力装置（キーボード）２２、出力装置（ディスプレイ）２３、記憶装置（ディスク）２４が備えられている。上述の各テスト回路生成方法は、入力装置２２を用いて故障判定ビット情報Ｊ１、固定値ビット情報Ｊ２および固定値情報Ｊ３を入力し、記憶装置２４から半導体集積回路の情報を読み出し、処理装置２１にてテスト回路の生成を行い、処理結果を出力装置２３に出力することにより実施することができ、テスト回路情報は記憶装置２４へ保存される。
【０１１１】
このようにして、半導体集積回路の設計と同様に、テスト回路生成方法に沿ったテスト回路の生成を実施することができる。
【産業上の利用可能性】
【０１１２】
本発明の半導体集積回路におけるテスト回路生成方法は、半導体集積回路に搭載されるメモリのビット単位でのテスト実行有無を制御可能であるため、半導体集積回路の自己検査などに有用である。特にプロセッサなどのキャッシュを持つ回路については特に有用であり、アドレスを格納するタグ部、ＴＬＢ（Translation Lookaside Buffers）のテストに適用できる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施の形態１の半導体集積回路におけるテスト回路生成方法の処理の手順を示すフローチャート
【図２】本発明の実施の形態１における半導体集積回路に搭載されるメモリの構成図
【図３】本発明の実施の形態１における故障判定ビット情報の例示図
【図４】本発明の実施の形態１におけるテスト回路を含む半導体集積回路の概略構成を示すブロック図
【図５】本発明の実施の形態１におけるテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路の構成を示すブロック回路図
【図６】本発明の実施の形態２におけるテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路の構成を示すブロック図
【図７】本発明の実施の形態３におけるテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路の構成を示すブロック回路図
【図８】本発明の実施の形態４におけるアドレスマップ
【図９】本発明の実施の形態５における固定値ビット情報および固定値情報の例示図
【図１０】本発明の実施の形態５におけるテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路の構成を示すブロック回路図（その１）
【図１１】本発明の実施の形態５におけるテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路の構成を示すブロック回路図（その２）
【図１２】実施の形態６におけるアドレスマップである。
【図１３】本発明の実施の形態７におけるテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路の構成を示すブロック回路図
【図１４】本発明の実施の形態８におけるテスト回路生成方法によって生成されたテスト回路を含む半導体集積回路の構成を示すブロック回路図
【図１５】本発明の実施の形態９における半導体集積回路におけるテスト回路生成装置のシステム構成図
【符号の説明】
【０１１４】
１  メモリ
２  セレクタ
３  テスト回路
４，４Ｅ，４Ｆ  比較器
４ａ  不一致検出回路
４ｂ  インバータ
５，５Ａ〜５Ｆ  故障判定制御回路
５ａ  判定対象ゲート回路
５ｂ  故障判定出力回路
５ｃ  固定値ゲート回路
５ｄ  固定値ビットゲート回路
５ｅ  判定対象ゲート回路
５ｆ  故障判定出力回路
６  レジスタ
１０  半導体集積回路
２１  処理装置（ＣＰＵ）
２２  入力装置（キーボード）
２３  出力装置（ディスプレイ）
２４  記憶装置（ディスク）
Ａ  故障判定対象ビット
Ｂ  不使用ビット
Ｊ１  故障判定ビット情報
Ｊ２  固定値ビット情報
Ｊ３  固定値情報
Ｓ３  判定対象ビット信号
Ｓ４  故障判定信号
Ｓｃ  不一致判定データ
Ｓｍ  出力データ
Ｖ１  期待値
【図１】
2007305223.tif 000003
【図２】
2007305223.tif 000004
【図３】
2007305223.tif 000005
【図４】
2007305223.tif 000006
【図５】
2007305223.tif 000007
【図６】
2007305223.tif 000008
【図７】
2007305223.tif 000009
【図８】
2007305223.tif 000010
【図９】
2007305223.tif 000011
【図１０】
2007305223.tif 000012
【図１１】
2007305223.tif 000013
【図１２】
2007305223.tif 000014
【図１３】
2007305223.tif 000015
【図１４】
2007305223.tif 000016
【図１５】
2007305223.tif 000017