(57)【特許請求の範囲】
【請求項１】
ＲＡＭと論理が混載する半導体装置において、該半導体装置内に内蔵テスト論理を備え、前記内蔵テスト論理は前記半導体装置の外部に設けられたテスト装置により複数回に分けて書き込まれるテストプログラムを順次解読し、前記半導体装置のテストを複数回に分けて行う半導体装置であって、
前記内蔵テスト論理は前記ＲＡＭのテストモード及び前記混載する半導体装置の機能テストモードを切り替えてテストするためのモード切換えビットを備え、前記モード切換えビットの設定に基づき、前記内蔵テスト論理が前記ＲＡＭ及び前記混載する半導体装置の機能の何れかをテストする半導体装置であって、
前記テストプログラムは、テストパターン生成手順を記述したマイクロコード及びテスト対象へ供給する信号を記述した前記マイクロコードとはフォーマットが異なるナノコードを含み、前記内蔵テスト論理は前記マイクロコードを格納する第１の格納手段と前記ナノコードを格納する第２の格納手段を備え、前記マイクロコードは前記ナノコードを読み出す第１コマンドを有し、前記ナノコードはＲＡＭテスト用と機能テスト用から成り、前記マイクロコードが前記内蔵テスト論理により解読されると、前記第１コマンドに従い前記ＲＡＭテスト用ナノコード又は機能テスト用ナノコードの何れかが読み出され、前記内蔵テスト論理は前記半導体装置のテストをすることを特徴とする半導体装置。
【請求項２】
請求項１において、
前記内蔵テスト論理は低周波数にて書き込まれた前記テストプログラムを解読し、前記半導体装置を高周波数にてテストすることを特徴とする半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
半導体装置のテスト方法に関し、特にテスト論理を当該半導体装置に内蔵させ、半導体装置に具備されるＲＡＭ或いは論理のテストを実施する半導体装置のテスト方法に関する。
【０００２】
【従来の技術】
半導体装置のテストを内蔵論理を使って行なう場合、どうしてもその半導体装置に本来求められる機能に比べてテストの優先度が低いためテストを実施する為の内蔵論理のボリュームなどがごく限られる傾向がある。当該半導体装置のテストを行う際に、テストの範囲、テスト項目、テスト時間と、内蔵テスト論理のボリュームが、トレードオフとなる。
【０００３】
特開２０００−２６６８１６号公報（以下、文献１）において、半導体装置に内蔵されたメモリに格納されたテストパターン発生プログラムがテストパターンを半導体装置内の被テスト回路に供給する例が開示されている。被テスト回路の特性評価後、測定データがメモリに内蔵されている判定プログラムに送られ判定される。上記文献１では、被テスト回路をテストするテストパターンが内蔵メモリのテストパターン発生プログラムのみから生成される為、テストパターンのボリュームが限定されるという問題が生じる。
【０００４】
特開平１０−２４１３９９号公報（以下、文献２）及び特開平１１−２１３７００号公報（以下、文献３）には、論理チップに組み込まれたＤＲＡＭアレイのテストを実施する為の組み込み自己検査（ＢＩＳＴ）方法が開示されている。上記文献２、文献３では、ＤＲＡＭアレイに限定した自己テストの検査法のみが記載されている。
【０００５】
【発明が解決しようとする課題】
上記文献１、２及び３では、半導体装置の外部にテストパターンを供給するテスタが備えられていない為、テストする範囲及びテスト項目が限定されている。ボリュームの少ない論理により広範囲、複雑、高速なテストを実現することが本発明の課題である。
【０００６】
【課題を解決するための手段】
前記課題を解決する為、本発明はＲＡＭを含む半導体装置において、該半導体装置内に内蔵テスト論理を備え、前記半導体装置の外部に設けられたテスト装置により前記内蔵テスト論理に対しテストプログラムを書き込み、前記内蔵テスト論理により前記半導体装置のテストを行う事を特徴とする半導体装置を提供する。
【０００７】
さらに、本発明はＲＡＭを含む半導体装置のテスト方法において、前記半導体装置はテスト論理を備え、前記半導体装置の外部に設けられたテスト装置により前記テスト論理に対し、テストプログラムの書き込みを複数回に分けて実施するステップと、前記テスト論理が書き込まれた前記テストプログラムに従って前記半導体装置をテストするステップとを含むことを特徴とするテスト方法を提供することにある。
【０００８】
【発明の実施の形態】
以下、本発明の各実施例を図を用いて説明する。まず本発明の実施形態の１つを図１（ａ）を用いて説明する。図１（ａ）は半導体チップ１０１を中央に配置し、該半導体チップ１０１の外部にテスタ１１０を設けた構成例を示す図である。
【０００９】
図１（ａ）において、１０８はＤＲＡＭを示す。半導体チップ１０１には、ＤＲＡＭテスト用内蔵テスト論理１０２が搭載される。この内蔵テスト論理１０２内には、マイクロコード保持回路１０３、ナノコード内蔵回路１０４、モードビットレジスタ１０５、マイクロコード実行制御回路１０６及びＤＲＡＭへのリクエスト生成部１０７が設けられている。
【００１０】
ここで、モードビットレジスタ１０５は半導体チップ１０１のテストを実施する際、テストモードを切り替える為のモード切換えビットを有するレジスタである。
【００１１】
マイクロコード保持回路１０３は後述するように図６に示すマイクロコードを内蔵し、ナノコード内蔵回路１０４は図７に示すナノコードを内蔵している。マイクロコード実行制御回路１０６はマイクロコードの実行や中断を制御する。
【００１２】
半導体チップ１０１の外部には、内蔵テスト論理１０２に対するマイクロプログラムの書き込みを行い、ＤＲＡＭ１０８からのテスト結果をモニタするテスタ１１０が設けられている。
【００１３】
テスタ１１０からマイクロコード保持回路１０３に書き込まれたマイクロコードは、マイクロコード実行制御回路１０６にて実行される。マイクロコード実行制御回路１０６は、図１（ｂ）に示すようにレジスタＸ１０６−１，レジスタＹ１０６−２，レジスタＡ１０６−３，レジスタＢ１０６−４，レジスタＣ１０６−５，レジスタＤＲ１０６−６，レジスタＥ１０６−７，レジスタＲＸ１０６−８を含む。
【００１４】
マイクロコード実行制御回路１０６による制御のもと、１０６−６に示すデータレジスタＤＲを使用し、図６に示すマイクロコードを構成するコマンドの内、ＣＹＣＬＥ＿ＤＲコマンドがデータレジスタ（ＤＲ）のＲＡＭ書き込み値及び読み出し期待値の入れ替えを行う。その入れ替えられたレジスタ値はリクエスト生成部１０７に入力される。
【００１５】
ここで上記レジスタＸ，Ｙ，Ａ，Ｂ，Ｃ，ＤＲ，Ｅ，ＲＸについて説明する。Ｘ、Ｙはアドレス用レジスタ、Ａ，Ｂ，Ｃ、Ｅは予備レジスタ、ＲＸはｒｅｆｒｅｓｈレジスタである。ＤＲはＤＲＡＭ書き込み値及び読み出し期待値を保持しており、加算、減算が可能なレジスタである。
【００１６】
又、マイクロコード保持回路１０３に保持されるマイクロコードには上記レジスタＸ〜Ｙのセット、加算、減算、ナノコード内蔵回路１０４のナノコードの読み出し指示コマンドが記述されている。
【００１７】
ナノコード内蔵回路１０４のナノコードにはＤＲＡＭへ供給するＲｏｗ  Ａｄｄｒｅｓｓ  Ｓｅｔ信号（ＲＡＳ），Ｃｏｌｕｍｎ  Ａｄｄｒｅｓｓ  Ｓｅｔ信号（ＣＡＳ）などが記述されている。しかも、上記マイクロコードにはテストパターン生成手順が記述されており、その生成手順には、ＤＲＡＭへのアクセス手順も記述されている。
【００１８】
さらに、テスタ１１０からナノコード内蔵回路１０４に書き込まれたナノコードは、図７に示すように、ＤＲＡＭ内蔵テストモード用１４ｂｉｔデータから構成される。さらに、その１４ｂｉｔデータが１６個並んだ形式でリクエスト生成部１０７に供給される。
【００１９】
上記レジスタＸ〜レジスタＲＸの値及び１４ｂｉｔデータに基づいてリクエスト生成部１０７にてＤＲＡＭへの書き込み値及び読み出し期待値が生成され出力される。ここで、上記１４ｂｉｔデータは後述するようにＲＡＳ，ＣＡＳ及びもとのプログラムに戻るリターンコマンドＲＴＮから構成される。又、ナノコード内蔵回路１０４は上述したビット列を保持する回路でも有る。
【００２０】
ＤＲＡＭ１０８は、リクエスト生成部１０７からの書き込み値を基に実際の読み出し値を出力する。その後、比較回路１０９にてその読み出し値とリクエスト生成部１０７から供給される読み出し期待値が比較され、比較結果がテスト結果として上記テスタ１１０に出力され、モニタされる。
【００２１】
ここで半導体チップ１０１内の内蔵テスト論理１０２、ＤＲＡＭ１０８及び比較回路１０９を含めた論理素子は高周波数クロックにて動作し、半導体チップの機能テストが実施される。他方、テスタ１１０は上記マイクロプログラムを内蔵テスト論理１０２に対し書き込むだけであるので、低周波数クロックにて動作すれば充分である。
【００２２】
上記比較回路１０９からのテスト結果として、ＤＲＡＭが正常に動作している場合、“０”が出力され、ＤＲＡＭが異常動作の場合、“１”が出力される。テスタ１１０は、この異常値“１”をモニタしている。
【００２３】
ここで比較回路１０９について、その機能をさらに詳細に説明する。複数のＤＲＡＭ別々に読み出し値と読み出し期待値との一致チェックを行ない、全ＤＲＡＭを別々にテストする方法がある。
【００２４】
他に書込み時は全ＤＲＡＭに対し同時に書込みを行ない、読み出し時は各ＤＲＡＭ別々に読み出し期待値との一致チェックを行なう事により全ＤＲＡＭをテスト可能にする方法もある。全ＤＲＡＭの読み出し値と読み出し期待値の比較結果をテスト結果として出力するのには時間を要するが、ＤＲＡＭにエラーが有るか無いかを調べたい場合は、この情報は有益である。
【００２５】
図２は本願発明に関わる半導体装置のテストを実行する為のフローチャートを示す。
【００２６】
半導体チップの電源投入後、ステップ２０１にて半導体チップ１０１全体のリセットを行う。次のステップ２０２にて図１に示すテスタ１１０が１回目のマイクロプログラムを内蔵テスト論理１０２内のマイクロコード保持回路１０３及びナノコード内蔵回路１０４に書き込む。
【００２７】
ステップ２０３で内蔵テスト論理１０２によるマイクロプログラムの解読を実施する。次にステップ２０４で解読されたマイクロプログラムに従い、ＤＲＡＭのテストを実行する。ステップ２０５にて、テスト結果の判定を実施し、テスタ１１０にテスト結果が出力され、テスト終了となる。
【００２８】
ここで、ステップ２０３からステップ２０５までの処理は、半導体チップ１０１（図１（ａ））内にて実施される。
【００２９】
図３は、図２に示す１回目のマイクロプログラム書き込みから内蔵テスト論理による解読を経てテストの実行及びテストの判定を実施する処理を２回目以降ｎ回目まで複数回実施する為のフローチャートを示している。このように複数回に分けて行うことにより、少ないマイクロプログラムの物量で広範囲、複雑かつ高速なテストの実行が可能となる。
【００３０】
前述した半導体チップ１０１が備える内蔵テスト論理によるテストは上記ＤＲＡＭ以外にＳＲＡＭにも適用可能である。
【００３１】
次に本発明の他の実施形態として、キャッシュチップ１０１の機能をテストする機能テストモードによるテストの構成例を図４に示す。
【００３２】
図４に示されている内蔵テスト論理１０２内の各ブロックの働きは図１に示す内蔵テスト論理１０２と比較した場合、以下の事が述べられる。リクエスト生成部４０１、レスポンスの生成部４０２、テスト結果判定部４０３、リクエスト終了判定部４０４及びモードビットレジスタ１０５以外のブロックでは実質的に同じ機能を有する。
【００３３】
図１との更なる相違点として、図４ではキャッシュを構成するＤＲＡＭ４０５に加え、論理部４１４，４１５、制御部４１３が設けられ、セレクタ４０８〜４１２が追加されている。このセレクタ４０８〜４１２により、ＤＲＡＭ４０５、論理部４１４，４１５、制御部４１３の機能テストモードと通常動作モードが切替えられる。ここで、通常動作モードにおける信号線は点線にて明記され、機能テストモードにおける信号線は実線にて明記される。
【００３４】
図４においてテスタ１１０が図１にて前述したようにキャッシュチップ１０１の外部に設けられる。テスタ１１０は内蔵テスト論理１０２に対し、マイクロプログラムの書き込みを行い、テスト結果判定部４０３からのテスト結果のモニタなどを実施している。
【００３５】
次に上述した機能テストモードと通常動作モードについて以下に説明する。図５はプロセッサ４３０、キャッシュチップ１０１及びメインメモリコントローラ４３１から構成され、通常動作モードにおけるブロック構成図を示す。
【００３６】
通常動作モードにおいて、キャッシュチップ１０１はプロセッサ４３０から出力されるリクエスト１を受けて以下に示す２通りの動作を実施する。
【００３７】
（ｉ）プロセッサ４３０からのリクエスト１を受けて、キャッシュチップ１０１は上記リクエスト１を処理する。次に、キャッシュチップ１０１はリクエスト１をリクエスト２としてメインメモリコントローラ４３１に転送する。メインメモリコントローラ４３１はリクエスト２を受信して、処理する。その後、メインメモリコントローラ４３１はレスポンス２をキャッシュチップ１０１に返信する。キャッシュチップ１０１はレスポンス２を受信し、処理する。その後、キャッシュチップ１０１はレスポンス２をレスポンス１としてプロセッサ４３０に転送する。
【００３８】
（ｉｉ）プロセッサ４３０からのリクエスト１を受けて、キャッシュチップ１０１は上記リクエスト１を処理する。その後、キャッシュチップ１０１はレスポンス１をプロセッサ４３０に対し返信する。
【００３９】
ここで、リクエスト１は図４に示すＡｄｄｒｅｓｓ／Ｃｏｎｔｒｏｌ４１７及びＤａｔａ４１８であり、リクエスト２はＡｄｄｒｅｓｓ／Ｃｏｎｔｒｏｌ４２１及びＤａｔａ４２２である。レスポンス１はＣｏｎｔｒｏｌ４１６及びＤａｔａ４１９であり、レスポンス２はＣｏｎｔｒｏｌ４２０及びＤａｔａ４２３である。
【００４０】
次に機能テストモードにおける図４の各ブロックの動作について説明する。
【００４１】
リクエスト生成部４０１は、モードビットレジスタ１０５から供給されるモード切換えビットに従い、キャッシュチップ１０１を機能テストモードに切り替える。内蔵テスト論理１０２によるマイクロコード保持回路１０３内のマイクロコード（図６）の解読により、ＣＡＬＬコマンドに従い、ナノコード内蔵回路１０４のナノコード（図７）が読み出される。
【００４２】
リクエスト生成部４０１はナノコード内蔵回路１０４から出力される機能テストモードに使用される１４ｂｉｔデータ（図７）を受信する。この１４ｂｉｔデータを基に、リクエスト生成部４０１は、セレクタ４１０へ疑似プロセッサデータ４２５を供給する。又、上記１４ｂｉｔデータを基に、リクエスト生成部４０１は、セレクタ４０９へ疑似プロセッサリクエスト４２６を与える。セレクタ４０９は疑似プロセッサリクエスト４２６を制御部４１３に転送し、疑似プロセッサリクエスト４２６は制御部４１３にて処理される。制御部４１３はレスポンス生成部４０２に対しプロセッサへのレスポンス４２８を返信する。
【００４３】
この際、制御部４１３はレスポンス４２８と同一の信号Ｃｏｎｔｒｏｌ４１６を図５に示すプロセッサ４３０に対しレスポンスとして返信する。しかし、キャッシュチップ１０１が機能テストモードに切り替わっているので、Ｃｏｎｔｒｏｌ４１６はプロセッサ４３０にて無視される。
【００４４】
さらに、制御部４１３はテスト結果判定部４０３に対し、同様にプロセッサへのレスポンス４２８を返信する。セレクタ４１０は疑似プロセッサデータ４２５を論理部４１５に転送し、疑似プロセッサデータ４２５は処理される。
【００４５】
疑似プロセッサリクエスト４２６はセレクタ４０９を介して制御部４１３に転送され、制御部４１３にて処理される。その後、制御部４１３からメモリコントローラへのリクエスト４２７をレスポンス生成部４０２に対し返信する。
【００４６】
この際、制御部４１３はリクエスト４２７と同一の信号Ａｄｄｒｅｓｓ／ｃｏｎｔｒｏｌ４２１を図５に示すメインメモリコントローラ４３１に対し、リクエストとして転送する。しかし、キャッシュチップ１０１が機能テストモードに切り替わっているので、Ａｄｄｒｅｓｓ／ｃｏｎｔｒｏｌ４２１はメインメモリコントローラ４３１にて無視される。
【００４７】
レスポンス生成部４０２は、制御部４１３からのメモリコントローラへのリクエスト４２７を受けて、疑似メモリコントローラレスポンス４３０をセレクタ４１１を介して制御部４１３に返信する。レスポンス生成部４０２は、同じリクエスト４２７を受けて、疑似メモリコントローラデータ４３１をセレクタ４１２を介し論理部４１５に返信する。レスポンス生成部４０２は、プロセッサへのレスポンス４２８を受けて、セレクタ４０８を介し、疑似プロセッサレスポンス４２９を制御部４１３に転送する。
【００４８】
テスト結果判定部４０３は、Ｓｉｇｎａｔｕｒｅ生成信号とプロセッサへのレスポンス４２８との内容が合っているか否かをパリテイをみてチェックする。Ｓｉｇｎａｔｕｒｅ生成信号は、マイクロコード実行制御回路１０６からテスト結果判定部４０３に供給される信号である。
【００４９】
テストが全て終了の際には、テスト結果判定部４０３は１３ｂｉｔデータであるＳｉｇｎａｔｕｒｅ（テスト結果）を生成し、テスタ１１０に出力する。
【００５０】
リクエスト終了判定部４０４は、リクエストの終了を判定し、その判定結果によりマイクロプログラムの実行の中断を制御並びに監視する。詳しく説明すると、ＤＲＡＭ４０５の機能テストを行なう際、ＤＲＡＭが受付可能なリクエストには限りがあることがある。受付けてもらえる様にリクエストを作成するのは非常にむずかしいか、または機能テストが不十分にしか実行できなくなる。
【００５１】
そこで受け付けられたリクエストの終了を監視しリクエストが受け付けてもらえるように、必要であれば、マイクロプログラムを中断させるような論理を設ける。当該論理が有ればテストパターンの作成者はＤＲＡＭが受付可能なリクエストの数などを気にせずに済み、複雑なテストパターンを作成せずに済む。
【００５２】
図６は、図１（ａ）及び図４に示すマイクロコード１０３を詳細に示したフォーマットテーブルである。
【００５３】
前述した図２及び図３に示すフローチャートにおける内蔵テスト論理１０２に依るマイクロプログラムの解読の際、マイクロコード１０３が読み出される。このマイクロコード１０３の内、ＣＡＬＬコマンドはナノコードを読み出すコマンドである。当該ナノコードが読み出された後、図７に示すナノコードの内、ＤＲＡＭ内蔵テストモード或いは半導体装置の機能テストモード用のＲＴＮコマンドに従い、再度マイクロコードに戻る事が出来る。ＢＲＮＣは、分岐指示コマンドである。ＣＮＴＬは制御コマンドであり、ＬＤＩはレジスタに値を読み込むコマンドである。ＡＤＤ及びＳＵＢはレジスタの計算を実施するコマンドである。
【００５４】
さらにＣＡＬＬコマンドに関連したｎａｎｏＡｄｄｒコマンドはナノアドレスが指定出来るコマンドである。
【００５５】
上記ＢＲＮＣコマンドは、ＢｒＣｏｎｄｉｔｉｏｎにより指示された条件成立でｍｉｃｒｏＡｄｄｒにより指定されたｍｉｃｒｏＣｏｄｅへの分岐指示をする。
条件不成立の場合は、後続ｍｉｃｒｏＣｏｄｅを実行する。
【００５６】
上記ＣＮＴＬコマンドは、主に以下に示す各種命令コマンドに分けられ、そのコマンドの機能をさらに詳細に述べる。
【００５７】
ＥＮＤはｍｉｃｒｏＣｏｄｅの終了指示コマンドを示す。ＣＹＣＬＥ＿ＤＲはＤＲＡＭをテストする際にテストに使用されるプログラムを実行し易くするコマンドである。このＣＹＣＬＥ＿ＤＲコマンドの実際の動作は、先述したようにＤＲＡＭへの書込みデータ格納用データレジスタＤＲ（０−１５）とＤＲＡＭ読み出しの期待値データ格納用のデータレジスタＤＲ（１６−３１）の値を入れ替える事である。
【００５８】
上記ＬＤＩコマンドは、ｉｍｍｅｄｉａｔｅ値（即値）をレジスタＡ（０−７）あるいはデータレジスタ（０−７）に読み込むコマンドである。上記ＡＤＤコマンドは、Ｓｏｕｒｃｅ０（０−２）と  Ｓｏｕｒｃｅ１（０−２）で指示されたレジスタの格納値あるいは即値を加算して、その結果をＤｅｓｔ（０−２）で指定されるレジスタに格納する。上記ＳＵＢコマンドは、Ｓｏｕｒｃｅ０  −  Ｓｏｕｒｃｅ１  の減算を行う。
【００５９】
図７は、ナノコード１０４を詳細に示したフォーマットテーブルである。このテーブルは、図１（ａ）に示すＤＲＡＭ内蔵テストモード及び図４に示すキャッシュチップの機能テストモードから成る２つのテストモードにて使用されるナノコードを示す。
【００６０】
先述したように図４に示す内蔵テスト論理１０２内のモードビットレジスタ１０５はモード切り替えビットを有する。このモード切り替えビットは上述した２つのテストモードの内、いずれかのモードに変更する為に設けられている。
【００６１】
上記ＤＲＡＭ内蔵テストモードに用いられるナノコードは、主にＲＡＳ、ＣＡＳ、ＲＴＮのコマンドから構成される。図１（ａ）に示すナノコード内蔵回路１０４は、このＲＡＳ、ＣＡＳ、ＲＴＮコマンドを含む０から１３ｂｉｔまでの１４ｂｉｔデータをリクエスト生成部１０７へ供給する。
【００６２】
上述した半導体チップの機能テストモードに用いられるナノコードは、主にＣｍｄ（０−５）及びＲＴＮコマンドから構成される。ここで、Ｃｍｄ（０−５）コマンドはリクエスト生成部４０１（図４）からセレクタ４０９を介して制御部４１３へ与えられるコマンドである。又、ＲＴＮコマンドは図６に示すマイクロコードに戻る為に設けられたコマンドである。
【００６３】
この機能テストモードを表す１４ｂｉｔデータは図４にて前述した疑似リクエスト作成のためのコマンドに相当する。この１４ｂｉｔデータはナノコード内蔵回路１０４からリクエスト生成部４０１へ送信される１４ｂｉｔデータと同一である。
【００６４】
以上に本発明の各実施形態に依る半導体装置の特徴を記述したが、さらに、本発明の半導体装置は、以下に示す項目（ａ）から（ｇ）の特徴点を有する半導体装置として提供することも可能である。
【００６５】
（ａ）ＲＡＭを含む半導体装置において、該半導体装置内に内蔵テスト論理を備え、前記内蔵テスト論理は前記半導体装置の外部に設けられたテスト装置により書き込まれるテストプログラムを解読し、前記半導体装置のテストを行うことを特徴とする半導体装置。
【００６６】
（ｂ）前記半導体装置内の前記内蔵テスト論理による前記テストを行う際に、複数回に分けて書き込まれた前記テストプログラムを解読し、テストを実行することを特徴とする、上記（ａ）に記載の半導体装置。
【００６７】
（ｃ）前記内蔵テスト論理による前記テスト装置から書き込まれた前記テストプログラムの解読、前記テストプログラムに従う前記テストの実行、及び前記テスト結果の判定を複数回実行することを特徴とする、上記（ｂ）に記載の半導体装置。
【００６８】
（ｄ）前記内蔵テスト論理は前記ＲＡＭに対する書込み値と読み出し期待値を生成するテスト回路を有し、該テスト回路は前記書き込み値と読み出し期待値を使用し、前記ＲＡＭのテストを行うことを特徴とする、上記（ｃ）に記載の半導体装置。
【００６９】
（ｅ）前記半導体装置はＤＲＡＭと論理の混載半導体装置から成り、前記内蔵テスト論理は前記ＤＲＡＭのテストモード及び前記混載半導体装置の機能テストモードを切り替えテストする為のモード切換えビットを備え、前記モード切換えビットの設定に基づき、前記内蔵テスト論理は前記ＤＲＡＭ及び前記混載半導体装置の機能の何れかをテストすることを特徴とする、上記（ｂ）に記載の半導体装置。
【００７０】
（ｆ）前記テストプログラムは、第１コード及び第２コードを含み、前記第１コードは前記第２コードを読み出す第１コマンドを有し、前記第１コードが前記内蔵テスト論理により解読されると、前記第１コマンドに従い前記第２コードが読み出され、前記第２コードが有する第２コマンドに従い、前記内蔵テスト論理は前記半導体装置の機能をテストすることを特徴とする、上記（ｅ）に記載の半導体装置。
【００７１】
（ｇ）前記内蔵テスト論理は低周波数にて書き込まれた前記テストプログラムを解読し、前記半導体装置を高周波数にてテストすることを特徴とする、上記（ｆ）に記載の半導体装置。
【００７２】
しかも、前述した半導体装置をテストする方法として、以下に示す項目（Ｉ）から（ＩＩＩ）の特徴を有するテスト方法を提供することも可能である。
【００７３】
（Ｉ）ＲＡＭを含む半導体装置のテスト方法において、前記半導体装置はテスト論理を備え、前記半導体装置の外部に設けられたテスト装置により前記テスト論理に対し、テストプログラムの書き込みを複数回に分けて実施するステップと、
前記テスト論理が書き込まれた前記テストプログラムに従って前記半導体装置をテストするステップとを含むことを特徴とするテスト方法。
【００７４】
（ＩＩ）前記実施するステップは、前記テスト装置による前記テストプログラムの書き込み、前記テスト論理による前記テストプログラムの解読、前記テストプログラムに従うテストの実行、及び該テスト結果の判定を複数回実行するステップを含むことを特徴とする、上記（Ｉ）に記載のテスト方法。
【００７５】
（ＩＩＩ）前記テスト論理がモード切換えビットを有し、前記モード切換えビットは前記ＲＡＭのテストモードと前記半導体装置の機能テストモードを切り替えテストする為に前記テスト論理内に設けられることを特徴とする、上記（Ｉ）に記載のテスト方法。
【００７６】
【発明の効果】
以上のように本発明によりＤＲＡＭ、論理混載半導体装置の内蔵論理によるテストにおいて少ない物量で広範囲、複雑かつ高速なテストの実行が可能となる。
【図面の簡単な説明】
【図１】図１（ａ）はキャッシュチップが備える内蔵テスト論理に対しテスタからマイクロプログラムを書き込み、ＤＲＡＭのテストを実施する為の基本構成を示す図であり、図１（ｂ）は図１（ａ）のマイクロコード実行制御回路１０６内部のレジスタ群を示した図である。
【図２】図１（ａ）に示す内蔵テスト論理に対しテスタによる１回目のマイクロプログラム書き込みから内蔵テスト論理による解読を経てテストの実行及びテストの判定を実施する処理を示すフローチャート図である。
【図３】図２に示す１回目のマイクロプログラム書き込みから内蔵テスト論理による解読を経てテストの実行及びテストの判定を実施する処理を２回目以降ｎ回目まで複数回実施する為のフローチャート図である。
【図４】キャッシュチップが備える内蔵テスト論理による機能テストを実施する為の構成図である。
【図５】図４に示すキャッシュチップがプロセッサ及びメインメモリコントローラ間で通常動作する場合のブロック図である。
【図６】マイクロコードのフォーマットを示す図である。
【図７】ナノコードのフォーマットを示す図である。
【符号の説明】
１０１…キャッシュチップ、１０２…内蔵テストユニット、１０３…マイクロプログラム保持回路、１０４…ナノコード内蔵回路、１０５…汎用レジスタ、１０７、４０１…リクエスト生成部、４０２…レスポンスの生成部、４０４…リクエスト終了判定部、４０４…Ｓｉｇｎａｔｕｒｅ生成部、１０８…ＤＲＡＭ、４０５…論理部。
【図１】
0004009461.tif 000002
【図２】
0004009461.tif 000003
【図３】
0004009461.tif 000004
【図４】
0004009461.tif 000005
【図５】
0004009461.tif 000006
【図６】
0004009461.tif 000007
【図７】
0004009461.tif 000008