(57)【要約】【課題】半導体装置の機能テストに際し、入力回路と出力回路、位相調整回路を含めた全チップの機能テストを行なうことができ、テストパターンの作成を容易にし、実システムでの動作状態と同様にリクエストの密な機能テストを行なうことができる半導体装置を提供する。【解決手段】半導体装置内にテスト論理を備え、半導体装置の入力回路と出力回路に、内蔵テスト論理が入出力する信号を接続する端子を備えることで、入力回路と出力回路を含めた半導体装置の機能テストを行なうことが出来るようにした。また、内蔵テスト論理が出力する信号にスキューを付加する手段を設け、位相調整回路の機能テストを行なうことが出来るようにした。さらに、発行するリクエストを制御する手段を備えることで、テストパターンの作成を簡単にし、リクエストの密な機能テストを行えるようにした。【選択図】図１
2005283537.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置において、該半導体装置内に内蔵テスト論理を備え、半導体装置の入力回路に、内蔵テスト論理が出力する信号を接続する入力端子を備え、さらに半導体装置の出力回路に内蔵テスト論理に接続する出力端子を備えることで、入力回路と出力回路を含めた半導体装置の機能テストを行なうことを特徴とする半導体装置。
【請求項２】
前記内蔵テスト論理が出力するリクエストとデータにスキューを付加する付加手段を設け、該付加手段を前記入力回路の入力端子に接続することにより、位相調整回路の機能テストを行なうことを特徴とする請求項１記載の半導体装置。
【請求項３】
半導体装置において、該半導体装置内に内蔵テスト論理を備え、機能テスト時に発行中のリクエストを記憶する手段と、記憶した発行中のリクエストによって発行するリクエストを制御する手段を備えることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特にテスト論理を当該半導体装置に内蔵させ、半導体装置の機能テストを実施する半導体装置に関する。
【背景技術】
【０００２】
半導体装置のテスト方法の一般的な手法として、パターン発生器、応答圧縮器を半導体装置に内蔵させたＢＩＳＴ(Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ)と呼ばれる手法が広く用いられている。しかし、ＢＩＳＴは半導体装置に搭載された論理部やメモリ部などのコンポーネント単位でテストが行なわれるため、メモリ部の動作で発生するノイズによる論理部の動作不良など、実システム上でのみ発生するような不良を検出することが出来ないという問題がある。また、各コンポーネント毎の限界動作周波数と実システム上での半導体装置の限界動作周波数が異なるため、オーバーキル（良品を不良品と判定してしまう）や不良品を出荷してしまうという問題も生じる。このため、実システムでの動作状態と同様にチップ全体を動作させる機能テストが必要になる。
【０００３】
また、テスタと呼ばれる装置によりテストパターンデータを発生して半導体装置に入力し、半導体装置から出力されたデータと論理シミュレーションから得られた期待値とを比較判定する方法がある。この方法では、実システムでの動作状態と同様にチップ全体を動作させる機能テストが実施可能であるが、半導体装置の高速化、多ピン化により、非常に高価なテスタが必要となり、半導体装置テストのコストを増大させてしまうという問題がある。
【０００４】
そこで、特開２００３−２０８７９７号公報に示されるように、内蔵のテスト論理を用いて半導体装置の機能テストを行なう方法が開示されている。
【０００５】
【特許文献１】特開２００３−２０８７９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記公報では、内蔵テスト論理が生成したリクエストはセレクタによってテスト対象である内部論理に入力され、内部論理からのレスポンスは半導体装置の出力回路の前から取り込む。このため、半導体装置の入力回路と出力回路はテスト対象外となってしまい、入力回路と出力回路が発生するノイズの影響がテストに反映されない。さらに、リクエストを入力するセレクタの前段に、半導体装置の入力信号のスキューをキャンセルするための位相調整回路等がある場合もテスト対象外となってしまい、全チップの機能テストが出来ないという問題がある。
【０００７】
さらに、実システムでプロセッサに接続されるキャッシュチップ等の半導体装置において、プロセッサが発行するリクエストに、発行中のリクエストの種類やリクエストのタグにより、半導体装置に発行できるリクエストが制限される場合がある。このような半導体装置の機能テストを前記公報で示されている内蔵テスト論理を用いて行なう場合、上記制限を満たすテストパターンの作成は複雑になる。また、リクエストの終了待ちのためのＮＯＰ命令を記述しなければならず、テストパターン中のリクエストの密度が低下し、テストが不十分になってしまう。
【０００８】
そこで、本発明の目的は、内蔵テスト論理を用いた半導体装置の機能テストにおいて、入力回路と出力回路、位相調整回路を含めた全チップの機能テストを行なうことができる半導体装置を提供することにある。
【０００９】
また、本発明の他の目的は、テストパターンの作成を容易にし、実システムでの動作状態と同様にリクエストの密な機能テストを行なうことができる半導体装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様によれば、半導体装置内にテスト論理を備え、半導体装置の入力回路に、内蔵テスト論理が出力する信号を接続する入力端子を備え、さらに半導体装置の出力回路に内蔵テスト論理に接続する出力端子を備えることで、入力回路と出力回路を含めた半導体装置の機能テストを行なうことが出来るようにしたものである。
【００１１】
さらに、内蔵テスト論理が出力する信号にスキューを付加する手段を設け、前記の入力回路の入力端子に接続することにより、位相調整回路の機能テストを行なうことが出来るようにしたものである。
【００１２】
さらに、発行中のリクエストを記憶する手段と、記憶した発行中のリクエストによって発行するリクエストを制御する手段を備えることで、テストパターンの作成を簡単にし、リクエストの密な機能テストを行えるようにしたものである。
【発明の効果】
【００１３】
実システムの動作状態と同様に、リクエストの密な全チップの機能テストを行なうことができ、オーバーキルや不良品を出荷してしまうという可能性を低減することが可能である。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１５】
図１はキャッシュチップ１００を中央に配置し、該キャッシュチップ１００の外部にテスタ１０１を設けた構成例を示す図である。キャッシュチップ１００にはテスト論理１０２が内蔵され、テスタ１０１からマイクロプログラムを読み込み、テスト論理１０２が処理を行なうことで機能テストを行なう。ここで、キャッシュチップ１００の機能テストの説明を行なう前に、キャッシュチップ１００の実システムにおける動作を説明する。
【００１６】
図２は実システムの構成図であり、キャッシュチップ１００はプロセッサ２００およびメインメモリコントローラ２０１に接続されている。キャッシュチップ１００は実システムにおける通常動作では、プロセッサ２００から出力されるリクエスト１を受けて以下に示す２通りの動作を実施する。
【００１７】
（ｉ）プロセッサ２００からのリクエスト１を受けて、キャッシュチップ１００は前記リクエスト１を処理する。次に、キャッシュチップ１００はリクエスト１をリクエスト２としてメインメモリコントローラ２０１に転送する。メインメモリコントローラ２０１はリクエスト２を受信し、処理した後、キャッシュチップ１００にレスポンス２を送信する。キャッシュチップ１００はレスポンス２をレスポンス１としてプロセッサ２００に送信する。
【００１８】
（ｉｉ）プロセッサ２００からのリクエスト１を受けて、キャッシュチップ１００は前記リクエスト１を処理する。その後、キャッシュチップ１００はレスポンス１をプロセッサ２００に対し送信する。
【００１９】
ここで、リクエスト１は図１に示すＡｄｄｒｅｓｓ／Ｃｏｎｔｒｏｌ／Ｄａｔａ１０３であり、リクエスト２はＡｄｄｒｅｓｓ／Ｃｏｎｔｒｏｌ／Ｄａｔａ１０４である。また、レスポンス１はＣｏｎｔｒｏｌ／Ｄａｔａ１０５であり、レスポンス２はＣｏｎｔｒｏｌ／Ｄａｔａ１０６である。
【００２０】
また、実システムでは、前記通常動作を行なう前に、チップ間の通信を確実に行なうようにするため、各チップに内蔵する位相調整回路を動作させ、各チップ間の信号の位相調整を行なう。位相調整回路は、他のチップから送信される信号のスキューをキャンセルするため、信号の各ビットのディレイを調節し、安定して信号を受信できるようにする。
【００２１】
図３は実システムにおける位相調整の処理の流れを示す。まず、プロセッサ→キャッシュチップ間の位相調整３００において、プロセッサ２００は特定のパターンの信号をキャッシュチップ１００に送信し、キャッシュチップ１００内のプロセッサ側位相調整回路１０７にて受信した信号のスキューを調整する。次のキャッシュチップ→プロセッサ間の位相調整３０１において、キャッシュチップ１００内のプロセッサ側位相調整回路１０８にて特定のパターン信号を生成し、プロセッサ２００に対し送信することで、プロセッサ２００内にある位相調整回路にて信号のスキューを調整する。以下同様にキャッシュチップ→メインメモリコントローラ間の位相調整３０２、メインメモリコントローラ→キャッシュチップ間位相調整３０３を順に行ない、その後前記の通常動作が開始される。
【００２２】
次に、図１を用いて、キャッシュチップ１００の通常動作テストについて説明する。通常動作テストはプロセッサ側位相調整のテストとメインメモリコントローラ側位相調整のテストを行ない、その後通常動作のテストを行なう。
【００２３】
まず、テスタ１０１にてプロセッサ側位相調整テスト用のマイクロプログラムを内蔵テスト論理１０２内のマイクロプログラム格納回路１０９に送信する。マイクロプログラム格納回路にはテストモードを切り替えるレジスタを備えており、転送されたマイクロプログラムによりプロセッサ側位相調整テストモードに切り替えられる。
【００２４】
実行制御回路１１０はリクエスト生成回路１１１に対し、特定パターンの出力を指示する。リクエスト生成回路１１１から出力された特定パターンは、可変ディレイヤ１１２に入力される。
【００２５】
可変ディレイヤ１１２は実システム上のプロセッサ→キャッシュチップ間のスキューを模擬するための回路であり、リクエスト生成回路１１１からの信号の各ビットにディレイを付加する。各ビットのディレイ値の設定はマイクロプログラムに指定されており、実行制御回路１１０がその設定値を解釈し設定を行なう。可変ディレイヤ１１２の出力は入力回路１１３に入力される。
【００２６】
入力回路１１３内には、チップ外からのＡｄｄｒｅｓｓ／Ｃｏｎｔｒｏｌ／Ｄａｔａ１０３と可変ディレイヤ１１２の出力を選択するセレクタが設けられ、このセレクタによりスキューが付加された可変ディレイヤ１１２の出力信号がプロセッサ側位相調整回路に入力される。
【００２７】
さらに、実行制御回路１１０は、プロセッサ側位相調整回路１０７に対し、位相調整動作の開始を指示し、プロセッサ→キャッシュチップ間の位相調整３００が実行される。実行制御回路１１０はプロセッサ側位相調整回路１０７の位相調整動作の完了を監視し、完了を検出すると、リクエスト生成回路１１１に特定パターンの出力の停止を指示する。また、テスト結果判定回路１１４に対しプロセッサ側位相調整回路１０７内に保持されている位相調整結果のデータを読み込むように指示し、テスト結果判定回路１１４は読み込んだ位相調整結果のデータから、位相調整動作が正しく行われたか判定する。
【００２８】
次に実行制御回路１１０はプロセッサ側位相調整回路１０７に特定パターンの出力を指示する。プロセッサ側位相調整回路１０７が出力する特定パターンは出力回路１１５を通じテスト結果判定回路１１４に入力され、テスト結果判定回路１１４は特定パターンが正しくプロセッサ側位相調整回路１０７より出力されているかを判定する。
【００２９】
前記プロセッサ側位相調整回路１０７の位相調整動作の判定結果と特定パターンの判定結果より、テスト結果判定回路１１４はテストのＰＡＳＳ／ＦＡＩＬを判定し、外部のテスタ１０１に結果を出力する。
【００３０】
テスタ１０１にてプロセッサ側位相調整テストのＰＡＳＳを検出後、続いて、メインメモリコントローラ側位相調整テストを、プロセッサ側位相調整テストと同様に行なう。すなわち、テスタ１０１にてメモリコントローラ側位相調整テスト用のマイクロプログラムを内蔵テスト論理１０２内のマイクロプログラム格納回路１０９に送信し、メモリコントローラ側位相調整テストモードに切り替える。実行制御回路１１０はレスポンス生成回路１１６に対し、特定パターンの出力を指示し、出力された特定パターンは、可変ディレイヤ１１７に入力される。可変ディレイヤ１１７によってスキューが付加された特定パターンは、入力回路１１８に入力され、メインメモリコントローラ側位相調整回路１０８にて位相調整を行ない、その結果のデータをテスト結果判定回路１１４によって読み込む。また、メインメモリコントローラ側位相調整回路１０８の特定パターン出力のテストも、出力回路１１９を用いてプロセッサ側位相調整テストと同様に行なう。
【００３１】
以上より、入力回路１１３、１１８に内蔵テスト論理１０２からの信号を入力し、出力回路１１５、１１９に内蔵テスト論理１０２に半導体装置の内部信号を出力させ、内蔵テスト論理１０２に可変ディレイヤ１１２、１１７を内蔵することにより、位相調整回路の機能テストを行なうことが可能となる。
【００３２】
次に、キャッシュチップ１００の通常動作テストについて説明する。通常動作テストにおける可変ディレイヤ１１２、１１７のディレイの設定とプロセッサ側位相調整回路１０７、メインメモリコントローラ側位相調整回路１０８は、それぞれ位相調整テスト終了時の状態を保持したまま行われる。すなわち、内蔵テスト論理１０２から各入力回路に入力されるリクエストには、実システムと通常動作時と同様なスキューが付加された状態で通常動作テストが行われる。
【００３３】
まず、テスタ１０１にて通常動作テスト用マイクロプログラムをマイクロプログラム格納回路１０９に送信し、通常動作テストのモードに切り替える。実行制御回路１１０は、マイクロプログラム格納回路１０９に格納されたマイクロプログラムを実行し、リクエスト生成回路１１１に、リクエストとデータの出力を指示する。ここで、リクエスト生成回路が生成するリクエストは、実システムでプロセッサ２００がキャッシュチップ１００に送信するリクエスト１に相当する。
【００３４】
図４はリクエスト生成回路１１１の構成図である。リクエスト生成回路１１１は、リクエスト発行判定回路４００、発行中のリクエストの種類やタグ情報を記憶するリクエスト記憶回路４０１、位相調整テスト時に特定パターンを発生する特定パターン発生回路４０２、位相調整テスト時と通常動作テスト時でリクエスト出力４０７を切り替えるセレクタ４０３から構成されている。
【００３５】
通常動作テスト実行時、実行制御回路１１０からのリクエスト発行命令４０４により、リクエスト発行判定回路４００はリクエスト記憶回路４０１から、発行中のリクエストの種類とタグ情報を読み出し、リクエストが発行可能かどうか判定する。リクエストが発行可能であればリクエストを発行し、リクエスト記憶回路４０１に発行したリクエストの種類とタグ情報を書き込む。また、発行不可であれば、発行不可の要因となった発行中のリクエストがリクエスト記憶回路４０１から消去されるまでリクエストを保持したままＮＯＰ命令を発行し、さらに実行制御回路１１０にリクエスト発行停止信号４０６を出力し、実行制御回路１１０での新たなリクエスト発行命令４０４の出力を停止させる。レスポンス生成回路１１６から、リクエスト処理完了信号４０５が入力されると、リクエスト発行判定回路４００は、終了したリクエストの情報をリクエスト記憶回路から消去する。
【００３６】
リクエスト生成回路１１１から出力されたリクエストは可変ディレイヤ１１２、入力Ｉ／Ｏ１１３、プロセッサ側位相調整回路１０７を通じ通常論理に入力され、処理される。
【００３７】
また、キャッシュチップ１００の出力信号であるＡｄｄｒｅｓｓ／Ｃｏｎｔｒｏｌ／Ｄａｔａ１０４とＣｏｎｔｒｏｌ／Ｄａｔａ１０５は、それぞれ出力回路１１９と出力回路１１５を通じて、レスポンス生成回路１１６、テスト結果判定回路１１４に出力される。
【００３８】
レスポンス生成回路１１６では、出力回路１１９からの信号に対し、実システムにおけるメインメモリコントローラ２０１の出力であるレスポンス２と同等のレスポンスを生成し、出力する。出力されたレスポンスは入力回路１１８、メインメモリコントローラ側位相調整回路１０８を通じ通常論理に入力され、処理される。また、出力回路１１５からの、実システムにおけるキャッシュチップ１００のレスポンス１に相当する信号により、レスポンス生成回路１１６はリクエスト生成回路１１１に当該リクエストのリクエスト処理完了信号４０５を出力する。
【００３９】
また、テスト結果判定回路１１４では、出力回路１１５、１１９から出力されたキャッシュチップ１００のレスポンスがそれぞれ正しいかをチェックし、外部のテスタ１０１に結果を出力する。
【００４０】
以上より、実システムでプロセッサ２００がリクエスト１の発行を制御するように、リクエスト生成回路１１１でリクエストの発行を制御できるようになり、マイクロプログラム格納回路１０９に格納するマイクロプログラムからリクエスト発行待ちの命令を省くことが出来、リクエストの密な通常動作テストを行なうことが出来る。
【図面の簡単な説明】
【００４１】
【図１】本発明の半導体装置の実施例を示すブロック図である。
【図２】図１に示す半導体装置が実システムで動作する際の構成図である。
【図３】実システムにおける位相調整の処理の流れを示す図である。
【図４】内蔵テスト論理内のリクエスト生成回路のブロック図である。
【符号の説明】
【００４２】
１００…キャッシュチップ、１０１…テスタ、１０２…内蔵テスト論理、１０７…プロセッサ側位相調整回路、１０８…メモリコントローラ側位相調整回路、１１０…実行制御回路、１１１…リクエスト生成回路、１１２…可変ディレイヤ、１１３…入力回路、１１４…テスト結果判定回路、１１５…出力回路、１１６…レスポンス生成回路、１１７…可変ディレイヤ、１１８…入力回路、１１９…出力回路
【図１】
2005283537.tif 000003
【図２】
2005283537.tif 000004
【図３】
2005283537.tif 000005
【図４】
2005283537.tif 000006