(57)【要約】【課題】メモリチップと該メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置において、メモリ単体検査のための端子数増加を抑制できる半導体装置を提供する。【解決手段】メモリチップ２の単体検査を実施する場合、まずＬＳＩテスタ用のプログラム言語で記述されたメモリチップ２を単体で検査するためのテストプログラムを、ＣＰＵ４によって実行可能な機械語データに変換する。そして、この機械語データをＣＰＵ４が外部バスＩＦ５を介して読み込んで実行し、メモリＩＦ６を介してメモリチップ２へテストパターンを発生させ、ＣＰＵ４がメモリチップ２の単体検査を実施する。【選択図】図１
2006228357.tif 000002
【特許請求の範囲】
【請求項１】
複数のチップを１パッケージ化した半導体装置において、前記複数のチップはメモリチップと前記メモリチップを制御するロジックチップを少なくとも含み、前記ロジックチップは、前記メモリチップを検査するためのプログラムを実行可能な制御装置を具備することを特徴とする半導体装置。
【請求項２】
請求項１記載の半導体装置であって、前記ロジックチップは、前記メモリチップを検査するためのプログラムを記憶可能な記憶装置を具備し、前記制御装置は、前記記憶装置に記憶されたプログラムを読み出して実行することを特徴とする半導体装置。
【請求項３】
請求項１もしくは２のいずれかに記載の半導体装置であって、前記制御装置は、前記メモリチップを検査するためのプログラムのうちのアドレス演算に供するアクセラレータを備えることを特徴とする半導体装置。
【請求項４】
複数のチップを１パッケージ化した半導体装置において、前記複数のチップはメモリチップと前記メモリチップを制御するロジックチップを少なくとも含み、前記ロジックチップは、前記メモリチップを検査するためのプログラムを実行するプログラマブルなＢＩＳＴ回路を具備することを特徴とする半導体装置。
【請求項５】
複数のチップを１パッケージ化した半導体装置において、前記複数のチップはメモリチップと前記メモリチップを制御するロジックチップを少なくとも含み、前記ロジックチップは、命令セットが拡張され前記メモリチップを検査するための命令が追加された制御装置を具備することを特徴とする半導体装置。
【請求項６】
メモリチップと前記メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置の前記メモリチップを検査する方法であって、
ＬＳＩテスタのプログラム言語で記述された前記メモリチップを検査するためのプログラムを、前記ロジックチップに内蔵される制御装置が解読できるプログラム言語に変換する工程と、
変換された前記プログラムを、ＬＳＩテスタのベクタファイル形式に変換する工程と、
ＬＳＩテスタのベクタファイル形式に変換された前記プログラムをＬＳＩテスタにより前記ロジックチップへ供給する工程と、
供給された前記プログラムを前記制御装置が実行することにより、前記メモリチップを検査するためのテストパターンを生成する工程と、
生成された前記テストパターンを基に前記制御装置が前記メモリチップを検査する工程と、
を有することを特徴とする半導体装置の検査方法。
【請求項７】
メモリチップと前記メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置の前記メモリチップを検査する方法であって、
ＬＳＩテスタのプログラム言語で記述された前記メモリチップを検査するためのプログラムを、前記ロジックチップに内蔵される制御装置が解読できるプログラム言語に変換する工程と、
変換された前記プログラムを前記ロジックチップに内蔵される記憶装置に記憶させる工程と、
前記記憶装置に記憶された前記プログラムを前記制御装置が読み出す工程と、
読み出された前記プログラムを前記制御装置が実行することにより、前記メモリチップを検査するためのテストパターンを生成する工程と、
生成された前記テストパターンを基に前記制御装置が前記メモリチップを検査する工程と、
を有することを特徴とする半導体装置の検査方法。
【請求項８】
メモリチップと前記メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置の前記メモリチップを検査する方法であって、
ＬＳＩテスタのプログラム言語で記述された前記メモリチップを検査するためのプログラムを、前記ロジックチップに内蔵される制御装置が解読できるプログラム言語に変換する工程と、
変換された前記プログラムを半導体装置外部の記憶装置に記憶させる工程と、
前記記憶装置に記憶された前記プログラムを前記制御装置が読み出す工程と、
読み出された前記プログラムを前記制御装置が実行することにより、前記メモリチップを検査するためのテストパターンを生成する工程と、
生成された前記テストパターンを基に前記制御装置が前記メモリチップを検査する工程と、
を有することを特徴とする半導体装置の検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリチップと該メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置、および該半導体装置内の前記メモリチップを検査する半導体装置の検査方法に関する。
【背景技術】
【０００２】
近年、メモリチップ、アナログチップ、ロジックチップなど異なる複数の半導体チップを１つのパッケージに収めるマルチ・チップ・モジュール（以下、ＭＣＭと称す。）技術が注目されている。これにより、実装面積の省スペース化やチップ間接続線の寄生素子削減による高速化および低消費電力化が可能となるとともに、市場に供給されている半導体チップを１パッケージ化でき開発コストを削減できるためである。
【０００３】
ＭＣＭの代表的な構成のものに、ＳＤＲＡＭやフラッシュメモリなどのメモリチップとそのメモリチップを制御するＣＰＵやＡＳＩＣなどのロジックチップが１パッケージ化されシステムとして動作する半導体装置がある。このように１パッケージ化された複数の半導体チップが１つのシステムとして機能するＭＣＭ（半導体装置）は、ＳＩＰ（システム・イン・パッケージ）とも呼ばれる。
【０００４】
以下、メモリチップと該メモリチップを制御するロジックチップで構成されるＭＣＭの従来の検査方法について、図面を用いて説明する。図９に、従来のＭＣＭ検査のフローチャートを示す。
【０００５】
図９に示すように、まずＭＣＭを構成する各チップのウェハテストを実施し（ステップＳ９０１）、ＭＣＭのパッケージを組み立てた後（ステップＳ９０２）、ＭＣＭ内のメモリチップとロジックチップをそれぞれ単体で検査し、（ステップＳ９０３、Ｓ９０４）、チップ間の接続検査を実施する（ステップＳ９０５）。メモリチップの単体検査は、メモリ検査用のＬＳＩテスタで実施し、ロジックチップの単体検査とチップ間接続検査は、ロジックチップ検査用のＬＳＩテスタで実施する。
【０００６】
このように、ＭＣＭは、メモリチップとロジックチップをそれぞれ単体で検査する必要がある。そのため従来は、ＭＣＭ実装および回路構成を、各チップに対してＭＣＭ外部から直接アクセスできるようにするとともに、ロジックチップとメモリチップの接続箇所において、それぞれの検査時に他方のチップが影響を与えないようにしていた（例えば、特許文献１参照。）。
【０００７】
図１０に上記した従来のＭＣＭの回路構成を示す。
図１０において、ＭＣＭ１０１は、メモリチップ１０２と該メモリチップ１０２を制御するロジックチップ１０３により構成されている。メモリチップ１０２とロジックチップ１０３は接続線１０４により接続されている。また、接続線１０４はＭＣＭ１０１の外部端子１０５に接続されている。
【０００８】
この構成によれば、外部端子１０５から直接メモリチップ１０２にアクセスでき、メモリチップの単体検査が可能となる。つまり、メモリ検査用のＬＳＩテスタにより生成したテストパターンをメモリチップ１０２へ直接供給して期待値照合処理を行うことができるようになる。但し、メモリ単体検査時は、チップ間の接続箇所における信号衝突を防ぐため、ロジックチップ１０３側の端子がＨｉ−Ｚ（ハイ・インピーダンス）になるように制御する。なお、ロジックチップの検査については、通常動作時の外部端子を介してロジックチップにアクセスすればよく、また、チップ間接続検査についても、通常動作時の外部端子を介してロジックチップにアクセスし、ロジックチップに通常動作時の信号経路を介したメモリチップへのアクセスを行わせることで実現できる。
【０００９】
また、この構成によれば、比較的簡単且つ小規模のテスト回路でＭＣＭ検査を実現できるとともに、ＬＳＩテスタ用のプログラム言語で記述された既存のテストプログラムをそのまま流用して検査することができる。ＭＣＭに搭載するチップとして汎用的な設計済み完成品（例えば、汎用ＳＤＲＡＭ）を用いる場合、該チップに対応するテストプログラムをチップとともに調達しそのまま流用することは、検査品質の面でも有利である。
【００１０】
しかしながら、上記従来のＭＣＭ検査方法によると、メモリチップを単体で検査するために、メモリチップの外部パッドをパッケージ外部へ引き出す必要がある。例えば、図１０に示す構成の場合、ＭＣＭのシステム動作としてはメモリチップ１０２とロジックチップ１０３間の接続に資するメモリチップの外部パッドをパッケージ外部へ引き出す必要はないが、検査のために、外部端子１０５を設けてメモリチップ１０３の外部パッドを該外部端子１０５に接続しなければならない。これは、端子数が増加することを意味し、端子数の増加によるパッケージサイズの増大を招き、省スペース化や低コスト化の面でデメリットになる。
【００１１】
また、上記従来のＭＣＭ検査方法によると、メモリ単体検査時にチップ間の接続箇所における信号衝突を防ぐための設計的ケアが必要であった。さらに、通常動作時の信号経路とは異なる信号経路を使用してメモリ単体検査を行うため、チップ間の接続については別途検査を実施する必要があった。
【特許文献１】特開２００３−２１５２１１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、上記問題点に鑑み、ロジックチップに内蔵されるＣＰＵやＡＳＩＣなどの制御装置にメモリチップを検査するためのプログラムを実行させるか、もしくは、ロジックチップにメモリチップを検査するためのプログラムを実行するプログラマブルなＢＩＳＴ回路を具備させるか、もしくは、制御装置の命令セットを拡張してメモリチップを検査するための命令を追加することにより、メモリ単体検査のための端子数増加を抑制でき、信号衝突を防ぐための設計的ケアも必要なく、メモリ単体検査時にロジックチップからメモリチップへアクセスするのでこの検査時にチップ間接続検査も実施でき、既存のテストプログラムの流用が可能な半導体装置および半導体装置の検査方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の請求項１記載の半導体装置は、複数のチップを１パッケージ化した半導体装置において、前記複数のチップはメモリチップと前記メモリチップを制御するロジックチップを少なくとも含み、前記ロジックチップは、前記メモリチップを検査するためのプログラムを実行可能な制御装置を具備することを特徴とする。
【００１４】
また、本発明の請求項２記載の半導体装置は、請求項１記載の半導体装置であって、前記ロジックチップは、前記メモリチップを検査するためのプログラムを記憶可能な記憶装置を具備し、前記制御装置は、前記記憶装置に記憶されたプログラムを読み出して実行することを特徴とする。
【００１５】
また、本発明の請求項３記載の半導体装置は、請求項１もしくは２のいずれかに記載の半導体装置であって、前記制御装置は、前記メモリチップを検査するためのプログラムのうちのアドレス演算に供するアクセラレータを備えることを特徴とする。
【００１６】
また、本発明の請求項４記載の半導体装置は、複数のチップを１パッケージ化した半導体装置において、前記複数のチップはメモリチップと前記メモリチップを制御するロジックチップを少なくとも含み、前記ロジックチップは、前記メモリチップを検査するためのプログラムを実行するプログラマブルなＢＩＳＴ回路を具備することを特徴とする。
【００１７】
また、本発明の請求項５記載の半導体装置は、複数のチップを１パッケージ化した半導体装置において、前記複数のチップはメモリチップと前記メモリチップを制御するロジックチップを少なくとも含み、前記ロジックチップは、命令セットが拡張され前記メモリチップを検査するための命令が追加された制御装置を具備することを特徴とする。
【００１８】
また、本発明の請求項６記載の半導体装置の検査方法は、メモリチップと前記メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置の前記メモリチップを検査する方法であって、ＬＳＩテスタのプログラム言語で記述された前記メモリチップを検査するためのプログラムを、前記ロジックチップに内蔵される制御装置が解読できるプログラム言語に変換する工程と、変換された前記プログラムを、ＬＳＩテスタのベクタファイル形式に変換する工程と、ＬＳＩテスタのベクタファイル形式に変換された前記プログラムをＬＳＩテスタにより前記ロジックチップへ供給する工程と、供給された前記プログラムを前記制御装置が実行することにより、前記メモリチップを検査するためのテストパターンを生成する工程と、生成された前記テストパターンを基に前記制御装置が前記メモリチップを検査する工程と、を有することを特徴とする。
【００１９】
また、本発明の請求項７記載の半導体装置の検査方法は、メモリチップと前記メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置の前記メモリチップを検査する方法であって、ＬＳＩテスタのプログラム言語で記述された前記メモリチップを検査するためのプログラムを、前記ロジックチップに内蔵される制御装置が解読できるプログラム言語に変換する工程と、変換された前記プログラムを前記ロジックチップに内蔵される記憶装置に記憶させる工程と、前記記憶装置に記憶された前記プログラムを前記制御装置が読み出す工程と、読み出された前記プログラムを前記制御装置が実行することにより、前記メモリチップを検査するためのテストパターンを生成する工程と、生成された前記テストパターンを基に前記制御装置が前記メモリチップを検査する工程と、を有することを特徴とする。
【００２０】
また、本発明の請求項８記載の半導体装置の検査方法は、メモリチップと前記メモリチップを制御するロジックチップを少なくとも含む複数のチップを１パッケージ化した半導体装置の前記メモリチップを検査する方法であって、ＬＳＩテスタのプログラム言語で記述された前記メモリチップを検査するためのプログラムを、前記ロジックチップに内蔵される制御装置が解読できるプログラム言語に変換する工程と、変換された前記プログラムを半導体装置外部の記憶装置に記憶させる工程と、前記記憶装置に記憶された前記プログラムを前記制御装置が読み出す工程と、読み出された前記プログラムを前記制御装置が実行することにより、前記メモリチップを検査するためのテストパターンを生成する工程と、生成された前記テストパターンを基に前記制御装置が前記メモリチップを検査する工程と、を有することを特徴とする。
【発明の効果】
【００２１】
本発明によれば、メモリ単体検査のために半導体装置の端子数を増加させることなく、ロジックチップとメモリチップ間の通常の信号経路を介してメモリチップの単体検査を行うことができる。このため、端子数増加によるパッケージサイズの増大およびコストの増大を抑制でき、信号衝突を防ぐための設計的ケアも必要なく、メモリ単体検査時にチップ間接続検査も実施できる。さらに、ＬＳＩテスタ用のプログラム言語で記述されたメモリ検査用のテストプログラムを所定のプログラムへ変換するだけでよいので、既存のテストプログラムの流用が可能で検査開発に関わる工数を削減できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態では、メモリチップと該メモリチップを制御するロジックチップの２チップで構成されるＭＣＭ（半導体装置）を例に説明するが、無論、２チップに限定されるものではなく、少なくともメモリチップと該メモリチップを制御するロジックチップを含むものであればよい。
【００２３】
（実施の形態１）
図１は本実施の形態１におけるＭＣＭの構成を示すブロック図である。図１において、ＭＣＭ１は、ＳＤＲＡＭなどの書き換え可能なメモリチップ２と該メモリチップ２を制御するロジックチップ３により構成されている。
【００２４】
ロジックチップ３は、制御装置としてのＣＰＵ４と、ＭＣＭ外部とデータの遣り取りをするための外部バスインターフェース（以下、外部バスＩＦと称す。）５と、メモリチップ２とデータの遣り取りをするためのメモリインターフェース（以下、メモリＩＦと称す。）６の機能を具備している。なお、図１には、ロジックチップ３が内蔵する機能として、本実施の形態１を説明する上で必要な最小限の機能ブロックのみを図示しており、その他の機能ブロックについては割愛している。
【００２５】
通常動作時、ＣＰＵ４は、外部バスＩＦ５を介して、ＭＣＭ外部にあるＲＯＭなどのプログラム記憶装置からプログラムを読み出し、そのプログラムを実行する。また、メモリＩＦ６を介してメモリチップ２にアクセスする。このように、ＭＣＭ外部のプログラム記憶装置とメモリチップ２とロジックチップ３により、いわゆるマイコンシステムが構成される。
【００２６】
次に、メモリ単体検査時の当該ＭＣＭの動作について説明する。
まず検査前に、ＬＳＩテスタ用のプログラム言語で記述されたテストプログラム（メモリ検査用のテストプログラム）をＣＰＵ４で実行できる機械語データに変換する。このプログラム変換は、専用に作成したソフトウェアにより自動的に実行できるものとする。
【００２７】
メモリ単体検査を開始すると、まずＣＰＵ４が機械語データに変換されたメモリ検査用のテストプログラムを外部バスＩＦ５を介して外部からロードして、そのテストプログラムを実行する。すなわち、ＣＰＵ４は、メモリＩＦ６を介して、ＬＳＩテスタと同様のアクセス手順でメモリチップ２へアクセスし、ＬＳＩテスタによる検査で使用されるテストパターンと同内容のパターンを用いた期待値照合処理を行う。
【００２８】
このように、ＣＰＵ４は、メモリ単体検査時に、メモリ検査用のテストプログラムを実行するプログラム実行手段として機能する。いわば、メモリ検査用のＬＳＩテスタのＣＰＵに相当する役割を担う。また、メモリ単体検査時のテストプログラムのロードとメモリチップ２へのアクセスは、通常動作時と同じ信号経路で行われる。したがって、チップ間の接続やタイミングなどの検査（チップ間接続検査）をメモリ単体検査時に同時に行うことができる。
【００２９】
以上のように、本実施の形態１では、通常動作時の機能として実装している回路や信号経路などのハードウェア資源をメモリ単体検査時にテスト機能として利用し、かつ、ＬＳＩテスタ言語で記述された既存のテストプログラムを流用することで、従来のメモリ単体検査と同じ検査を行うことができる。したがって、従来のようにメモリ単体検査のための外部端子をＭＣＭに設ける必要がなく、テストのための回路付加も抑えることができ、さらにテストパターンのフレキシビリティを維持することもできる。
【００３０】
図２に本実施の形態１におけるメモリ単体検査のフローチャートを示す。
まず、一般のＬＳＩテスタに搭載されているテストパターン発生器（ＡＬＰＧ：ａｌｇｏｒｉｔｈｍｉｃ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｏｒ）用のプログラムなどＬＳＩテスタ用のプログラム言語で記述されたテストプログラムを、プログラム変換工程（ステップＳ２０１）において、ＣＰＵ４が解読できるプログラム言語、例えばＣＰＵ４用のアセンブル言語に変換する。そして、既存のＣＰＵ４用のアセンブラ等のツールにより、テストプログラムを機械語データに変換した後、実際の検査を開始する。
【００３１】
なお、ステップＳ２０１のプログラム変換工程は、ＬＳＩテスタ用のプログラム言語およびＣＰＵ４用のプログラム言語に依存した専用の変換ソフトウェアにより自動的に行うものとする。また、ＬＳＩテスタ用のプログラム言語で記述されたテストプログラムは、作成済み且つメモリ単体検査で実績があるものとする。
【００３２】
検査の実行は、通常動作時と同様に、ＣＰＵ４が上記の機械語データに変換されたテストプログラムをロードおよびフェッチして、該テストプログラムを逐次実行することにより行う（ステップＳ２０２、Ｓ２０３）。すなわち、ＣＰＵ４は、被検査対象であるメモリチップ２を検査するためのテストパターンを発生し期待値照合処理を行うことで、メモリップ２を検査する。この検査は、ＣＰＵ４がプログラムの終了あるいは期待値不一致によるブレークを判断することで終了する。
【００３３】
ここで、機械語データのロード方法について、図３を用いて説明する。図３に示すように、ＭＣＭ１による機械語データのロードには、ロジックチップ検査用のＬＳＩテスタ（ロジックテスタ）３０１を使用する。すなわち、機械語データを、使用するＬＳＩテスタのベクタファイル形式のフォーマットに変換して、ＬＳＩテスタ３０１からＭＣＭ１内のロジックチップへ入力ベクタとして供給する。なお、機械語データからベクタファイルへの変換は、一般的なＬＳＩテスタのファンクションテスト用ベクタを作成する方法で容易に生成することができる。このように本実施の形態１では、ロジックチップ検査用のＬＳＩテスタを用いて機械語データのロードを行う。
【００３４】
次に、本実施の形態１におけるＭＣＭ検査方法について、図４を用いて説明する。図４は、本実施の形態１におけるＭＣＭ検査のフローチャートを示す図である。
図４に示すように、まずＭＣＭを構成する各チップのウェハテストを実施して（ステップＳ４０１）、ＭＣＭのパッケージを組み立てた後（ステップＳ４０２）、上記したようにメモリ単体検査およびチップ間接続検査を実施して（ステップＳ４０３）、ロジック単体検査を実施する（ステップＳ４０４）。なお、ロジック単体検査は、従来と同様に、ロジックチップ検査用のＬＳＩテスタが通常動作時の信号経路を介してロジックチップにテストパターンを供給することで実現する。
【００３５】
上述したように従来のＭＣＭ検査ではテスタの変更を伴う所謂２パスフローであったが、本実施の形態１では、すべての検査項目をロジックテスタを使用して実施できるので、１パスフローになる。したがって、ＭＣＭ検査全体で、検査に係る工数の削減、テストに係るコストの削減が可能となる。
【００３６】
（実施の形態２）
続いて、本実施の形態２について説明する。
前述した実施の形態１では、メモリ検査用のテストプログラムを実行するプログラム実行手段はロジックチップに内蔵されるＣＰＵであったが、本実施の形態２では、ロジックチップに内蔵したＢＩＳＴ回路（組み込みテスト回路）をプログラム実行手段とする。
【００３７】
但し、ＢＩＳＴ回路は、パターン発生手段などの検査に必要な機能をハードウェアで構成するのではなくプログラマブルＤＳＰ（デジタル信号処理回路）で構成する。このプログラマブルＤＳＰは、メモリ検査用のテストプログラムを実行するための必要最小限の命令セットやハードウェア機能で構成され、回路規模を極力削減したものである。
【００３８】
ＢＩＳＴ回路をプログラマブルな構成にするのは、ハードウェアで構成すると、検査内容の変更に対するフレキシビリティが制限されてしまうためである。例えばメモリチップの変更やＭＣＭ構成の変更などによってテストパターンの変更が必要になった場合や不具合解析のために解析用パターンを適用しようとする場合に不利となる。
【００３９】
このようにプログラマブルなＢＩＳＴ回路を内蔵させることで、ロジックチップにＣＰＵが内蔵されていない場合であっても、１パスフローでＭＣＭ検査を実施することができる。また、ＢＩＳＴ回路はＬＳＩテスタ用のプログラム言語で記述されたテストプログラムを実行できるので、内蔵されているＣＰＵ用のプログラム言語へ変換するためのソフトウェアの開発工数を削減したい場合に有用である。
【００４０】
（実施の形態３）
続いて、本実施の形態３について説明する。
前述した実施の形態１では、メモリ単体検査時に機械語データをロードするために、機械語データをＬＳＩテスタのベクタファイル形式へ変換したが、本実施の形態３では、ＣＰＵが、ＭＣＭ外部に設置された記憶装置から機械語データを読み出すようにする。
【００４１】
本実施の形態３におけるメモリ単体検査時の機械語データのロード方法について、図５を用いて説明する。このロード方法では、検査用のパフォーマンスボード上に、機械語データに変換されたテストプログラムを格納するためのフラッシュメモリなどの記憶装置（ＲＯＭ）５０１を搭載する。この記憶装置５０１に機械語データを書き込んでおき、ＭＣＭ１内のＣＰＵが、通常のプログラム実行時と同様に記憶装置５０１から機械語データを読み出すことにより検査を実施する。
【００４２】
（実施の形態４）
続いて、本実施の形態４について説明する。
前述した実施の形態３では、機械語データに変換されたメモリ検査用のテストプログラムを記憶する記憶装置をＭＣＭ外部に設けたが、本実施の形態４では、機械語データに変換されたメモリ検査用のテストプログラムをロジックチップ内部に記憶させる。
【００４３】
図６は本実施の形態４におけるＭＣＭの構成を示すブロック図である。図６において、記憶装置６０１には、メモリ単体検査時に、機械語データに変換されたメモリ検査用のテストプログラムが記憶される。
【００４４】
ＣＰＵ４は、機械語データを外部バスＩＦ５を介して直接読み出すのではなく、まず記憶装置６０１にコピーする。そして、ＣＰＵ４は、記憶装置６０１から命令を読み出すことによりプログラムを実行して、メモリ単体検査を実施する。データの読み出しに係る時間は、ＭＣＭ外部からデータを読み出す場合よりも内部の記憶装置から読み出す場合のほうが短いので、この構成により、メモリ単体検査の高速化が可能となる。
【００４５】
なお、記憶装置を検査用に追加すると回路規模が増大するデメリットがあるので、通常のシステム機能としてロジックチップ内に搭載している命令メモリ、つまりロジックチップ内に通常機能として搭載しているハードウェア資源を利用する。
【００４６】
（実施の形態５）
続いて、本実施の形態５について説明する。
本実施の形態５におけるＭＣＭは、プログラム実行手段であるロジックチップ内のＣＰＵの通常の命令セットを拡張して、メモリ検査用のテストプログラムの命令の一部あるいは全部と同じ処理内容の命令を拡張命令として追加した構成とする。
【００４７】
図７に、ＬＳＩテスタ用のプログラム言語（ＡＬＰＧプログラム）で記述されたメモリ検査用のテストプログラムの実施例の一部を抜粋したものを示す。図７において、「ＮＯＰ」はノーオペレーション命令であり、特になにも処理をせずに、次の命令へ処理を進めるための命令である。「ＪＮＩ１」はループ処理のためのジャンプ命令であり、プログラム中に別途設定したインデックス値の回数分だけ処理を繰り返すための命令である。
【００４８】
「ＸＣ＜０」「ＹＣ＜０」「Ｘ＜ＸＣ」「ＸＣ＜ＸＣ＋１」「ＹＣ＜ＹＣ＋1＾ＣＹ」などは、それぞれアドレス演算用の命令である。例えば「ＸＣ＜ＸＣ＋１」は、ＸＣの値を‘＋１’インクリメントし代入するための命令である。
【００４９】
「ＡＴ」「ＷＲ」「ＰＲ」「ＲＤ」は、メモリアクセス動作パターンの指示命令である。ここでは、それぞれＳＤＲＡＭにおける「アクティベート」「書き込み」「プリチャージ」「読み出し」の指示命令に相当する。
【００５０】
２行目から４行目はラベル「Ｌ１」と「ＪＮＩ１」命令のループ処理を示す。参考のためにこの部分のプログラムの内容を簡単に説明すると、２行目は「ＡＴ」により、ＳＤＲＡＭに「アクティベート」コマンドを発生し、Ｘアドレスに‘ＸＣ’を、Ｙアドレスに‘ＹＣ’を代入する。なお、１行目で「ＸＣ＝０」、「ＹＣ＝０」の代入が行われているので、Ｘ、Ｙアドレスとも初期値は‘０’である。
【００５１】
３行目は「ＷＲ」により、ＳＤＲＡＭに「書き込み」コマンドを発生し、Ｘ、Ｙアドレスにデータを書き込む。なお、書き込まれるデータは‘０’と別途設定している。
４行目は「ＰＲ」により、ＳＤＲＡＭに「プリチャージ」コマンドを発生し、‘ＸＣ’を‘＋１’だけインクリメントする。「ＹＣ＜ＹＣ＋1＾ＣＹ」は、Ｘアドレスが別途設定した最大値ＸＭＡＸでなければ‘ＹＣ’の値は変化させず、Ｘアドレスが最大値ＸＭＡＸであれば‘ＹＣ’を‘＋１’だけインクリメントするための命令である。
【００５２】
４行目までの命令実行後、「ＪＮＩ１」命令により、ラベル「Ｌ１」がある２行目にジャンプする。そして、これらの動作を別途設定したインデックス値の回数だけ繰り返す。この２行目から４行目の処理は、Ｘアドレスを行アドレス、Ｙアドレスを列アドレスとして、検査対象のＳＤＲＡＭ（メモリチップ）のサイズおよび構成に合わせて最大値ＸＭＡＸやインデックス値を設定することにより、ＳＤＲＡＭ全領域に「０」を書き込む処理となる。
【００５３】
このようなテストプログラムをロジックチップに搭載したＣＰＵの命令に変換する場合、ＬＳＩテスタ用のプログラム言語の命令は１命令で複数の処理を行うようになっているが、一般的なＣＰＵの命令セットでは１命令で複数の処理を行うようにはなっておらず、ＬＳＩテスタ用のプログラム言語の命令を複数の命令に分けて変換せざるをえない。そのため、変換ソフトウェアが複雑になり、また変換後のプログラムサイズが大きくなり、ＣＰＵがプログラムを実行する際の実行時間が長くなるといった問題が発生するおそれがある。
【００５４】
そこで、本実施の形態５では、プログラム実行手段であるＣＰＵの通常の命令セットを拡張して、メモリ検査用のテストプログラムの命令の一部あるいは全部と同じ処理内容の命令を拡張命令として追加した構成とした。
【００５５】
（実施の形態６）
続いて、本実施の形態６について説明する。
上記したように、ＬＳＩテスタ用のプログラム言語の１命令には、例えばＸアドレス値とＹアドレス値の２種類のデータの演算を含んでいるものがある。そこで、本実施の形態６では、図８に示すように、ＣＰＵに、メモリチップを高速に検査することが可能となるアクセラレータとして、Ｘアドレス用の演算器８０１と、Ｙアドレス用の演算器８０２を有せしめる。
【００５６】
このようにアドレス演算に供するアクセラレータを備える構成とすることにより、ＬＳＩテスタ用のプログラム言語の１命令に含まれるＸアドレス値とＹアドレス値のそれぞれのデータ演算を演算器８０１、８０２で並列処理させることができ、処理速度を向上させることができる。
【００５７】
なお、ＣＰＵはＸアドレス用とＹアドレス用の演算器の他にＡＬＵ（論理算術演算器）も備えているため、３つの処理を並列に実行することもできる。また、ＣＰＵに内蔵される演算器は２つに限られない。
【００５８】
また、本実施の形態６では、ハードウェアを追加してアドレス演算の処理速度を高速化したが、アドレス演算をソフトウェアによって行う構成の場合には、ソフトウェアのアクセラレータを有せしめればよい。
【産業上の利用可能性】
【００５９】
本発明にかかる半導体装置および半導体装置の検査方法は、ＬＳＩテスタ用のプログラム言語で記述されたテストプログラムを実行する手段を半導体装置内部に有し、特にメモリチップを含むＭＣＭの検査に有用である。また、ＭＣＭに限らず通常の１チップＬＳＩにおける内蔵メモリの検査にも応用できる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態１におけるＭＣＭの構成を示すブロック図
【図２】本発明の実施の形態１におけるメモリ検査のフローチャートを示す図
【図３】本発明の実施の形態１における機械語データのロード方法を説明するための図
【図４】本発明の実施の形態１におけるＭＣＭ検査のフローチャートを示す図
【図５】本発明の実施の形態３における機械語データのロード方法を説明するための図
【図６】本発明の実施の形態５におけるＭＣＭの構成を示すブロック図
【図７】ＬＳＩテスタ用のプログラム言語で記述されたメモリ検査用のテストプログラムの実施例の一部抜粋を示す図
【図８】本発明の実施の形態６におけるＭＣＭが具備するロジックチップに内蔵されるＣＰＵの構成を示すブロック図
【図９】従来のＭＣＭ検査のフローチャートを示す図
【図１０】従来のＭＣＭの構成を示すブロック図
【符号の説明】
【００６１】
１、１０１      ＭＣＭ（マルチ・チップ・モジュール）
２、１０２      メモリチップ
３、１０３      ロジックチップ
４      ＣＰＵ
５      外部バスインターフェース
６      メモリインターフェース
１０４      信号線
１０５      外部端子
３０１      ロジックテスタ
５０１      ＲＯＭ
６０１      記憶装置
８０１      Ｘアドレス演算器
８０２      Ｙアドレス演算器
【図１】
2006228357.tif 000003
【図２】
2006228357.tif 000004
【図３】
2006228357.tif 000005
【図４】
2006228357.tif 000006
【図５】
2006228357.tif 000007
【図６】
2006228357.tif 000008
【図７】
2006228357.tif 000009
【図８】
2006228357.tif 000010
【図９】
2006228357.tif 000011
【図１０】
2006228357.tif 000012