(57)【要約】【課題】外部メモリをアクセス制御可能な回路におけるテスト設計コストを低減する。【解決手段】メモリインタフェース（８）に接続される外部メモリ（４）に対するアクセス要求に応答してメモリ制御を行うメモリコントローラ（６）とは別に、外部メモリのテストに用いられるビルトインセルフテスト回路（１１）を有し、ビルトインセルフテスト回路の制御とテスト結果を参照するのにＴＡＰコントローラ（１２）を用いる。ＴＡＰコントローラを介して外部から入力する制御情報に従ってメモリインタフェースに接続する回路としてメモリコントローラ又ビルトインセルフテスト回路を切り替え可能に選択するマルチプレクサ（１３）を採用する。ビルトインセルフテスト回路は、ＴＡＰコントローラを介して入力される指示に従ってプログラマブルにメモリテスト用パターンを生成して出力し、且つ、外部メモリから読み込んだデータを期待値と比較判定する。【選択図】図１
2008269669.tif 000002
【特許請求の範囲】
【請求項１】
外部メモリに接続可能なメモリインタフェースと、
前記外部メモリのデータに基づいたデータ処理を含むデータ処理を行うプロセッシングユニットと、と、
前記外部メモリをテストするテスト信号を生成するビルトインセルフテスト回路と、
前記メモリインタフェースに前記プロセッシングユニット又ビルトインセルフテスト回路を切り替え可能に接続するマルチプレクサと、
前記マルチプレクサに、前記プロセッシングユニット又ビルトインセルフテスト回路の切り替えを指示する信号が入力される端子と、を有する半導体装置。
【請求項２】
前記端子は、前記ビルトインセルフテスト回路の制御とテスト結果を参照さるためIEEE１１４９．１準拠のＴＡＰコントローラを介して、前記マルチプレクサと接続される、請求項１に記載の半導体装置。
【請求項３】
前記端子は、前記ＴＡＰコントローラを介して、前記ビルトインセルフテスト回路と接続される、請求項２に記載の半導体装置。
【請求項４】
前記プロセッシングユニットは、前記外部メモリに対してアクセス要求主体となり得るロジック回路と、前記ロジック回路からのアクセス要求に応答して前記外部メモリを制御するためのメモリコントローラとを含み、
前記ビルトインセルフテスト回路は、前記ＴＡＰコントローラを介して入力される指示に従ってプログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して前記メモリインタフェースを介して出力すると共に、前記外部メモリから読み込んだデータを期待データと比較判定可能である、請求項３に記載の半導体装置。
【請求項５】
前記マルチプレクサが前記ビルトインセルフテスト回路と接続されている場合に、前記外部メモリへのコマンドが有効であることを示すコマンド入力イネーブルの前にアドレスストローブ信号をイネーブルにすると共にアドレス信号を確定させ、前記メモリインタフースから出力する、請求項１記載の半導体装置。
【請求項６】
前記ビルトインセルフテスト回路は、ロウアドレス系のコマンド入力イネーブルの前にロウアドレスストローブ信号をイネーブルにすると共にロウアドレス信号を確定させ、カラムアドレス系のコマンド入力イネーブルの前にカラムアドレスストローブ信号をイネーブルにすると共にカラムアドレス信号を確定させる、請求項５記載の半導体装置。
【請求項７】
前記インタフェースは、アドレス、データ及びデータストローブ信号と共に、選択的に有効とされる複数対のコマンド入力イネーブル信号とクロックイネーブル信号の出力端子を有し、アドレス、データ及びデータストローブ信号を共通に受ける複数の前記外部メモリに対して選択的に動作可能とする、請求項５記載の半導体装置。
【請求項８】
前記ビルトインセルフテスト回路は、前記クロックイネーブル信号の初期値をハイレベル又はローレベルに選択可能である、新請求項７記載の半導体装置。
【請求項９】
前記ビルトインセルフテスト回路は、所定のコマンドセットのコマンドを前記外部メモリの仕様に応じたメモリコマンドセットのコマンドに変換するコマンドテーブルを複数個有し、前記複数個のコマンドテーブルの出力を選択するマルチプレクサによる選択を、コマンドテーブルから出力される選択信号によって選択可能である、請求項１記載の半導体装置。
【請求項１０】
前記ビルトインセルフテスト回路は、前記メモリから読み込んだリードデータと前記ＴＡＰコントローラを介して読み込んだ期待データとを比較判定し、判定結果が不一致になる回数が指定回数になるまで、判定結果が不一致に係るメモリアクセス情報を逐次上書き保持する比較判定回路を有する、請求項３記載の半導体装置。
【請求項１１】
前記ビルトインセルフテスト回路は、前記外部メモリから読み込んだリードデータと前記ＴＡＰコントローラを介して読み込んだ期待データとを比較判定する比較回路と、前記比較回路のリードデータ入力端子と期待データ入力端子の双方に選択的に期待データを入力可能にする入力選択回路とを有する請求項４記載の半導体装置。
【請求項１２】
前記ビルトインセルフテスト回路は、プログラマブルに前記外部メモリのテスト用アドレス、データおよびコマンドを生成して出力すると共に、前記外部メモリのテスト用アドレス及びデータとして擬似乱数を生成して出力可能である、請求項１記載の半導体装置。
【請求項１３】
前記メモリインタフェースは、半導体装置の外部に設けられた配線を介して前記外部メモリと接続可能である請求項１記載の半導体装置。
【請求項１４】
前記メモリインタフェースは、前記外部メモリとして、クロック信号の立ち上がり及び立下りの双方のエッジ変化に同期して外部との間でデータの入出力動作を行うクロック同期型のＤＲＡＭと接続可能なものである、請求項１３記載の半導体装置。
【請求項１５】
外部メモリと、前記外部メモリに接続されたデータプロセッサとを有する半導体装置であって、
前記データプロセッサは、前記外部メモリが接続されるメモリインタフェースと、アクセス要求主体と、前記アクセス要求主体からのアクセス要求に応答して外部メモリを制御するためのメモリコントローラと、前記外部メモリのテストに用いられるビルトインセルフテスト回路と、前記メモリインタフェースに前記メモリコントローラ又ビルトインセルフテスト回路を切り替え可能に接続するマルチプレクサと、前記データプロセッサにデータもしくは信号与える端子とを有し、
前記ビルトインセルフテスト回路は、前記端子を介して入力される指示に従ってプログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して前記メモリインタフェースを介して出力し、
前記マルチプレクサは、前記端子を介して外部から入力される制御情報に従って前記ビルトインセルフテスト回路を選択する、半導体装置。
【請求項１６】
前記ビルトインセルフテスト回路は、外部メモリから読み込んだデータを期待データと比較判定可能である、請求項１５記載の半導体装置。
【請求項１７】
前記端子は、前記ビルトインセルフテスト回路の制御とテスト結果を参照するためのＩＥＥＥ１１４９．１準拠のＴＡＰコントローラを介して、前記マルチププレクサに接続される、請求項１５記載の半導体装置。
【請求項１８】
前記外部メモリと前記データプロセッサはそれぞれ異なる半導体チップに形成された請求項１５記載の半導体装置。
【請求項１９】
前記外部メモリ及び前記データプロセッサはモジュール基板に搭載され、前記データプロセッサの外部インタフェース端子を露出させて樹脂封止された請求項１８記載の半導体装置。
【請求項２０】
全体的に樹脂で封止された半導装置であって、
外部からメモリが接続可能にされるメモリインタフェースと、アクセス要求主体となり得るロジック回路と、前記ロジック回路からのアクセス要求に応答して前記メモリを制御するためのメモリコントローラと、前記メモリのテストに用いられるビルトインセルフテスト回路と、前記ビルトインセルフテスト回路の制御とテスト結果を参照するためのＩＥＥＥ１１４９．１準拠のＴＡＰコントローラと、前記メモリインタフェースに前記メモリコントローラ又ビルトインセルフテスト回路を切り替え可能に接続するマルチプレクサとを有し、
前記ビルトインセルフテスト回路は、前記ＴＡＰコントローラを介して入力される指示に従ってプログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して出力すると共に、前記メモリから読み込んだデータを期待データと比較判定可能であり、
前記マルチプレクサは前記ＴＡＰコントローラを介して外部から入力する制御情報に従って前記ビルトインセルフテスト回路を選択する、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部メモリのテストを行うＢＩＳＴ（ビルトインセルフテスト回路）を備えた半導体装置に関し、システム・オン・チップ形態の半導体装置、更には当該システム・オン・チップ形態のデータプロセッサチップと共にメモリチップを搭載したシステム・イン・パッケージ形態の半導体装置に適用して有効な技術に関する。
【背景技術】
【０００２】
本発明の完成後に行った先行技術調査において以下の公知文献が見出された。特許文献１にはフラッシュメモリの動作テストをＴＡＰ（Test Access Port）コントローラを用いてダイレクトに行う技術が記載される。フラッシュメモリに対するコマンドやアドレス等のテスト情報はＴＡＰコントローラで入出力が制御されるスキャンチェーンを用いて直接与えられる。特許文献２にはＴＡＰコントローラを用いて入力した制御情報に基づいてテストパターンを生成して被テスト回路としてのＳＤＲＡＭに与え、ＳＤＲＡＭからの出力を入力して性能比較を行うＢＩＳＴ回路について記載される。特許文献３にはテスト動作中にメモリ回路部のリフレッシュを可能とするテスト回路を有する半導体集積回路について記載がある。
【０００３】
【特許文献１】特開２００４−０９３４３３号公報
【特許文献２】特開２００５−３３２５５５号公報
【特許文献３】特開平１０−６９８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明者は、外部メモリをアクセス制御可能なデータプロセッサのような半導体集積回路における当該外部メモリのセルフテスト機能について以下の点を検討した。例えば、夫々別々の半導体チップに形成されたデータプロセッサにＤＤＲ２−ＳＤＲＡＭのような外部メモリを接続して１個のＳＩＰ（システム・イン・パッケージ）として形成した半導体モジュールについて検討した。これによれば、外部メモリの仕様はその半導体集積回路の製造メーカによって相違され、ＪＥＤＥＣ標準に準拠されている場合であってもそれはパッケージの外部端子機能や端子配列にとどまる。チップ内部の仕様は各社で相違する。そのような外付けメモリに対するＢＩＳＴ回路をデータプロセッサに内蔵する場合、外部メモリの仕様に応じてＢＩＳＴ回路を個別化していたのでは効率的ではない。ＢＩＳＴ回路を用いずにＣＰＵにテストプログラムを実行させてメモリコントローラによるテストを行うことも可能であるが、種々のメモリテストを行うには、メモリコントローラの仕様が充分開示されていなければならない。顧客仕様によってメモリコントローラの設計が行われ、或いはＩＰ（知的所有権）モジュールと称されるような設計資産をそのまま用いる場合には、テスト機能に制約を受けることが余儀なくされる。これらを考慮すると、テスト設計のコストを低減するには、テスト対象メモリの仕様の相違に対して広く適応可能なＢＩＳＴ回路を採用することの有用性が見出された。上記何れの文献においても、そのような着眼点について記載はない。
【０００５】
本発明の目的は、外部メモリをアクセス制御可能な回路におけるテスト設計コストを低減させることができる半導体装置を提供することにある。
【０００６】
本発明の別の目的は、テスト対象メモリの仕様の相違に対してメモリテストへの対応が容易な半導体装置を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、メモリインタフェースに接続される外部メモリに対するアクセス要求に応答してメモリ制御を行うプロセッシングユニットとは別に、外部メモリのテストに用いられるビルトインセルフテスト回路を有し、ビルトインセルフテスト回路の制御とテスト結果を参照するのに例えばＴＡＰコントローラを用いる。このＴＡＰコントローラを介して外部から入力する制御情報に従って前記メモリインタフェースに接続する回路として前記プロセッシングユニット又ビルトインセルフテスト回路を切り替え可能に選択するマルチプレクサを採用する。ビルトインセルフテスト回路は、前記ＴＡＰコントローラを介して入力される指示に従ってプログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して出力止し、且つ、前記外部メモリから読み込んだデータを期待データと比較判定する。
【００１０】
これによれば、セルフテスト内容はプロセッシングユニットの機能に制限されない。ビルトインセルフテスト回路はテスト対象メモリの仕様に応じた指示をＴＡＰコントローラから受けてメモリテスト用アドレス、データおよびコマンドを生成することができるから、テスト対象メモリの仕様の相違に対して、ＢＩＳＴ回路の個別的な設計変更を少なくすることができる。
【発明の効果】
【００１１】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１２】
すなわち、半導体集積回路において外部メモリをアクセス制御可能な回路に対するテスト設計コストを低減させることができる。
【００１３】
また、テスト対象メモリの仕様の相違に対してメモリテストへの対応が容易である。
【発明を実施するための最良の形態】
【００１４】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１５】
〔１〕本発明の代表的な実施の形態に係る半導体装置は、外部メモリ（４）に接続可能なメモリインタフェース（８）と、前記外部メモリのデータに基づいたデータ処理を含むデータ処理を行うプロセッシングユニットと、前記外部メモリをテストするテスト信号を生成するビルトインセルフテスト回路（１１）と、前記メモリインタフェースに前記プロセシングユニット又ビルトインセルフテスト回路を切り替え可能に接続するマルチプレクサ（１３）と、前記マルチプレクサに、前記プロセッシングユニット又ビルトインセルフテスト回路の切り替えを指示する信号が入力される端子とを有する。これによれば、セルフテスト内容はプロセッシングユニットの機能に制限されない。
【００１６】
一つの具体的な形態として、前記端子は、前記ビルトインセルフテスト回路の制御とテスト結果を参照さるためIEEE１１４９．１準拠のＴＡＰコントローラを介して、前記マルチプレクサと接続される。
【００１７】
更に具体的な形態として、前記端子は、前記ＴＡＰコントローラを介して、前記ビルトインセルフテスト回路と接続される。これによれば、ビルトインセルフテスト回路はテスト対象メモリの仕様に応じた指示をＴＡＰコントローラから受けてメモリテスト用アドレス、データおよびコマンドを生成することができる。
【００１８】
更に具体的な形態として、前記プロセッシングユニットは、前記外部メモリに対してアクセス要求主体となり得るロジック回路と、前記ロジック回路からのアクセス要求に応答して前記外部メモリを制御するためのメモリコントローラとを含む。前記ビルトインセルフテスト回路は、前記ＴＡＰコントローラを介して入力される指示に従ってプログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して前記メモリインタフェースを介して出力すると共に、前記外部メモリから読み込んだデータを期待データと比較判定可能である。これにより、セルフテスト内容はメモリコントローラの機能に制限されない。ビルトインセルフテスト回路はテスト対象メモリの仕様に応じた指示をＴＡＰコントローラから受けてメモリテスト用アドレス、データおよびコマンドを生成することができる。したがって、テスト対象メモリの仕様の相違に対して、ＢＩＳＴ回路の個別的な設計変更を少なくすることができ、ＢＩＳＴ回路を広く適応させることが容易になり、テスト設計コストの低減に寄与することができる。
【００１９】
更に具体的な形態として、前記ビルトインセルフテスト回路は、コマンド入力イネーブル（ｃｓｉ＿ｎ＝０）の前にアドレスストローブ信号をイネーブルにすると共にアドレス信号を確定させる。例えば、前記ビルトインセルフテスト回路は、ロウアドレス系のコマンド入力イネーブル（ｃｓｉ＿ｎ＝０）の前にロウアドレスストローブ信号をイネーブルにする（ｒａｓ＿ｎ＝０）と共にロウアドレス信号を確定させ、カラムアドレス系のコマンド入力イネーブル（ｃｓｉ＿ｎ＝０）の前にカラムアドレスストローブ信号をイネーブルにする（ｃａｓ＿ｎ）と共にロウアドレス信号を確定させる。これにより、コマンド入力イネーブルと一緒にアドレスストローブ信号をイネーブルにしなければならないようなタイミング的な制約を緩和することができ、これはアドレスストローブ信号及びアドレス信号に対するセットアップ時間の確保を容易化する。その結果、ノイズ等の影響によってテスト結果が不正確になることを抑制することが可能になり、テスト結果に高い信頼性を得ることができる。
【００２０】
別の具体的な形態として、前記ビルトインセルフテスト回路は、アドレス、データ及びデータストローブ信号と共に、選択的に有効とされる複数対のコマンド入力イネーブル信号とクロックイネーブル信号の出力端子を有し、アドレス、データ及びデータストローブ信号を共通に受ける複数の前記メモリに対して選択的に動作可能とする。これにより、複数のメモリを選択的にアクセス制御する所謂ランク切り替えによる利用形態にも容易に対応することができる。  別の具体的な形態として、前記ビルトインセルフテスト回路は、クロックイネーブル信号の初期値をハイレベル又はローレベルに選択可能である。クロックイネーブル信号に対するメモリ仕様の相違に容易に対処できるようにするためである。
【００２１】
別の具体的な形態として、前記ビルトインセルフテスト回路は、所定のコマンドセットのコマンド（ＢＣＭＤ）を前記外部メモリの仕様に応じたメモリコマンドセットのコマンド（ＭＣＭＤ）に変換するコマンドテーブル（ＤＥＣＴＬＢ＿１〜ＤＥＣＴＢＬ＿３）を複数個有し、前記複数個のコマンドテーブルの出力を選択するマルチプレクサ（３６＿ＭＵＸ）による選択を、コマンドテーブルから出力される選択信号によって選択可能である。各種外部メモリのコマンド仕様に対応するとき、前記所定のコマンドセットのコマンドのビット数を少なくすることができ、ビルトインセルフテスト回路の回路規模縮小に寄与することができる。
【００２２】
別の具体的な形態として、前記ビルトインセルフテスト回路は、前記メモリから読み込んだリードデータと前記ＴＡＰコントローラを介して読み込んだ期待データとを比較判定し、判定結果が不一致になる回数が指定回数になるまで、判定結果が不一致に係るメモリアクセス情報（フェール情報）を逐次上書き保持する比較判定回路（３８）を有する。これにより、上書きされずに取得できるフェール情報の取得タイミングをフェール回数によって指定することができる。これにより、例えば上書きされずに取得できるフェール情報の取得タイミングをずらして設定したりすることにより、不良解析や不良原因を特定し易くなる。
【００２３】
別の具体的な形態として、前記比較判定回路は、前記外部メモリから読み込んだリードデータと前記ＴＡＰコントローラを介して読み込んだ期待データとを比較判定する比較回路（３８Ｂ）と、前記比較回路のリードデータ入力端子と期待データ入力端子の双方に選択的に同じデータを入力可能にする入力選択回路（３８Ｅ）とを有する。これにより、前記入力選択回路を介して前記比較回路のリードデータ入力端子と期待データ入力端子の双方に期待データを入力することにより、比較回路に対するセルフテストを予め行うことができ、比較回路の比較結果に対する信頼性の保証が容易になる。
【００２４】
別の具体的な形態として、前記ビルトインセルフテスト回路は、プログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して出力すると共に、メモリテスト用アドレス及びデータとして擬似乱数を生成して出力可能である。これにより、メモリテスト用アドレス及びデータのパターンを容易に擬似的に無限ループ化でき、テスト効率を向上させることができる。
【００２５】
別の具体的な形態として、半導体装置は前記外部メモリとは別個の１個の半導体チップに形成される。例えば半導体装置はシステム・オン・チップのデータプロセッサとして構成される。
【００２６】
別の具体的な構成として、半導体装置は、前記半導体チップとは別の半導体チップに形成された前記外部メモリを更に有し、全体的に樹脂で封止されてモジュール化される。例えば半導体装置はシステム・オン・チップのデータプロセッサと、メモリチップを有するシステム・イン・パッケージの半導体モジュールとして構成される。
【００２７】
別の具体的な構成として、前記外部メモリは、クロック信号の立ち上がり及び立下りの双方のエッジ変化に同期して外部との間でデータの入出力動作を行うクロック同期型のＤＲＡＭ、例えばＤＤＲ２−ＳＤＲＡＭである。
【００２８】
〔２〕別の観点による半導体装置は、外部メモリと、前記外部メモリに接続されたデータプロセッサとを有する。前記データプロセッサは、前記外部メモリが接続されるメモリインタフェースと、アクセス要求主体と、前記アクセス要求主体からのアクセス要求に応答して外部メモリを制御するためのメモリコントローラと、前記外部メモリのテストに用いられるビルトインセルフテスト回路と、前記ビルトインセルフテスト回路の制御とテスト結果を参照するためのＩＥＥＥ１１４９．１準拠のＴＡＰコントローラと、前記メモリインタフェースに前記メモリコントローラ又ビルトインセルフテスト回路を切り替え可能に接続するマルチプレクサとを有する。前記ビルトインセルフテスト回路は、前記ＴＡＰコントローラを介して入力される指示に従ってプログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して出力すると共に、外部メモリから読み込んだデータを期待データと比較判定可能である。前記マルチプレクサは前記ＴＡＰコントローラを介して外部から入力する制御情報に従って前記ビルトインセルフテスト回路を選択する。
【００２９】
例えば、前記外部メモリと前記データプロセッサはそれぞれ異なる半導体チップに形成される。たとえば、前記外部メモリ及び前記データプロセッサはモジュール基板に搭載され、前記データプロセッサの外部インタフェース端子を露出させて樹脂封止された、半導体モジュール（１）として構成される。
【００３０】
〔３〕別の観点による半導体装置は全体的に樹脂で封止されていて、外部からメモリが接続可能にされるメモリインタフェースと、アクセス要求主体となり得るロジック回路と、前記ロジック回路からのアクセス要求に応答して前記メモリを制御するためのメモリコントローラとを有する。更に、前記メモリのテストに用いられるビルトインセルフテスト回路と、前記ビルトインセルフテスト回路の制御とテスト結果を参照するためのＩＥＥＥ１１４９．１準拠のＴＡＰコントローラと、前記メモリインタフェースに前記メモリコントローラ又ビルトインセルフテスト回路を切り替え可能に接続するマルチプレクサとを有する。前記ビルトインセルフテスト回路は、前記ＴＡＰコントローラを介して入力される指示に従ってプログラマブルにメモリテスト用アドレス、データおよびコマンドを生成して出力すると共に、前記メモリから読み込んだデータを期待データと比較判定可能である。前記マルチプレクサは前記ＴＡＰコントローラを介して外部から入力する制御情報に従って前記ビルトインセルフテスト回路を選択する。
【００３１】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００３２】
図１には本発明に係る半導体装置の一例である半導体モジュールが例示される。同図に示される半導体モジュール1は、裏面に半田バンプ電極等の外部接続電極を多数備えたジュール基板２に、データプロセッサ３と、ＤＤＲ２−ＳＤＲＡＭ（ダブル・データレート２−シンクロナスＤＲＡＭ）４が搭載され、表面が樹脂で封止されて成る。
【００３３】
データプロセッサ３はマイクロコンピュータ等のＳＯＣ（システム・オン・チップ）形態の半導体集積回路として構成される。同図においてＤＤＲ２−ＳＤＲＡＭ４に対するセルフテストのための回路構成が詳細に示されている。
【００３４】
ＤＤＲ２−ＳＤＲＡＭ４は、ＳＯＣの物理インタフェース８とＳＯＣに接続された配線や電極を介して接続されている。
【００３５】
また、ＳＯＣ内部では、データプロセッサ３としての本来のデータ処理のための回路構成として、メモリコントローラ（ＭＣＮＴ）６と回路ブロック７を代表的に示している。メモリコントローラ（ＭＣＮＴ）６及び回路ブロック７はプロセッシングユニットの一例である。回路ブロック７には、命令をフェッチして実行する中央処理装置（ＣＰＵ）、アクセス頻度の高いデータや命令を連想検索によって出力可能に保持するキャッシュメモリ（ＣＡＣＨＥ）、ＣＰＵ等からのアクセス対象アドレスエリアに応じたバス制御を行うバスステートコントローラ（ＢＳＣ）、及びＢＳＣに周辺バスを介して接続するタイマ等の周辺回路（ＰＲＰＨ）等を含んでいる。メモリコントローラ６は周辺回路の一つであり、前記ＣＰＵ等からのアクセス要求に応答して外部メモリに対するメモリ制御を行う回路である。例えばＤＤＲ２−ＳＤＲＡＭ４に対するＲＡＳ（ロウ・アドレス・ストローブ）、ＣＡＳ（カラム・アドレス・ストローブ）に同期するアドレスマルチプレクスを行ったアドレス出力制御、コマンド出力制御、リフレッシュ制御等を行う。特にデータプロセッサ１はＤＤＲ２−ＳＤＲＡＭ４の物理インタフェース仕様に応じた物理インタフェース（ＰＨＹＬＯＧ）８を備え、ＤＤＲ２−ＳＤＲＡＭ４は物理インタフェース８を介してメモリコントローラ６に接続される。物理インタフェース８はＤＤＲ２−ＳＤＲＡＭ４の外部インタフェースの内の物理層のインタフェース仕様を満足させる回路である。例えばＤＤＲ２−ＳＤＲＡＭ４の物理インタフェース８はクロック信号の差動出力、データストローブ信号に対する差動入出力やデータ入出力のための回路等を有する。ＤＤＲ−ＳＤＲＡＭの場合の物理インタフェースはデータストローブ信号の差動入出力を行うことを要しない。物理インタフェースの回路構成は使用する外部メモリの仕様によって一義的に決まる。
【００３６】
ＤＤＲ２−ＳＤＲＡＭ４に対するセルフテストのための構成として、ビルトインセルフテスト回路（ＢＩＳＴＣ）１１、前記ビルトインセルフテスト回路１１の制御とテスト結果を参照するためのＩＥＥＥ１１４９．１準拠のＴＡＰコントローラ（ＴＡＰＣＮＴ）１２と、前記物理インタフェース８に前記メモリコントローラ６又ビルトインセルフテスト回路１１を切り替え可能に接続するマルチプレクサ（ＭＵＸ＿ＢＭ）１３と、マルチプレクサ１３及びビルトインセルフテスト回路１１に対する動作モードの選択回路（ＭＤＳＥＬ））１４とを有する。ＢＩＳＴＣ１１を用いたテストを行うとき、ＴＡＰＣＮＴ１２にはテスタ（ＴＳＴ）１５が接続される。
【００３７】
図２にＴＡＰＣＮＴ１２の詳細が例示される。ＴＡＰＣＮＴ１２は、テストアクセスポート（ＴＡＰ）２０、コマンドレジスタ（ＳＤＩＲ）２１、デコーダ（ＳＤＤＥＣ）２２、バイパスレジスタ（ＳＤＢＰＲ）２３、及びマルチプレクサ（ＭＵＸ＿ＳＤ）２４を有する。ＴＡＰＣＮＴ１２はモード端子ＴＭＳ、クロック端子ＴＣＫ、リセット端子ＴＲＥＳ、データ入力端子ＴＤＩ、及びデータ出力端子ＴＤＯの全５ビットを有する。セルフテストを行うときそれら端子は前記テスタ１５に接続される。ＴＡＰＣＮＴ１２は、クロック端子ＴＣＫに入力されるクロック信号に同期して、データ入力端子ＴＤＩからデータを取り込み、データ出力端子ＴＤＯからデータを出力する。モード端子ＴＭＳの値がクロック端子ＴＣＫに入力されるクロック信号に同期してこの変化させることで、入力端子ＴＤＩから入力するデータの意味が決定される。このプロトコルはＩＥＥＥ１１４９．１で規定されている状態遷移に準拠し、それに従って入力データがコマンドであるのかデータであるのかが決まる。データ入力端子ＴＤＩからデータ出力端子ＴＤＯの間には幾つかのスキャンレジスタの直列回路であるスキャンパスレジスタ回路（ＳＰＲＥＧ）２５が配置される。スキャンパスレジスタ回路２５はＭＤＳＥＬ１４やＢＩＳＴＣ１１の内部に配置されたデータレジスタや制御レジスタ等を所定の順番でシフトレジスタ形態に直列された回路構成を有する。デコーダ２２はコマンドレジスタ２１に入力されたコマンドをデコードして、ＢＩＳＴ制御信号２６を生成する。ＢＩＳＴ制御信号２６は前記スキャンパスの選択とその切り替え、入力データがコマンドであるのかデータであるのかの選択をする。これによって、スキャンパスレジスタ回路２５を構成するＭＤＳＥＬ１４やＢＩＳＴＣ１１の内部データレジスタや制御レジスタ等にデータ入力端子ＴＤＩからデータや制御情報をセットし、また、データレジスタ等が保有するテスト結果をデータ出力端子ＴＤＯから取り出すことができる。マルチプレクサ１３によるＢIＳＴＣ１１の出力動作は、スキャンパスを介してＭＤＳＥＬ１４に内蔵されたコントロールレジスタの選択ビットを初期値から反転することによって選択される。
【００３８】
尚、バイパスレジスタ２３はデータ入力端子ＴＤＩから入力したデータをＴＤＯにバイパスさせるためのレジスタである。マルチプレクサ２４はデータ出力端子ＴＤＯに接続する経路を選択する。
【００３９】
図３及び図４にはＢＩＳＴＣ１１の詳細が例示される。特に図３はテストパターンによってＤＤＲ２−ＳＤＲＡＭをアクセス動作させるコマンド、アドレス及びデータの経路と共にその構成を例示する。ビルトインセルフテスト回路１１は、上述したように、マルチプレクサ１３および物理インタフェース（ＰＨＹＬＯＧ）８を介してＤＤＲ２−ＳＤＲＡＭと接続されている。図４はＴＡＰＣＮＴとのスキャンパスとによる接続チェーンに着目している。
【００４０】
ＢＩＳＴＣ１１はＴＡＰＣＮＴ１２に接続するＢＩＳＴ制御回路（ＢＩＳＴＣＮＴ）３０を備える。ＢＩＳＴ制御回路３０はＴＡＰＣＮＴ１２からの入力情報に従ってＢＩＳＴＣ１１に形成されておいるスキャンパスレジスタのパスの選択と、ビルトインセルフテスト動作（単にテスト動作とも記す）の起動及び終了、並びにテスト結果の回収を制御する。スキャンパスレジスタの選択可能なパスは図４に提示されるＣＨＮ１〜ＣＨＮ４とされる。図に破線で示されるパスに沿って各回路内のレジスタがクロックに同期して直列的にデータを順次シフト可能に接続されている。テスト動作ではテストパターンを発生する前に、先ず、ＢＩＳＴＣＮＴ１１の各種回路に対してＴＡＰＣＮＴ１２からの制御データ等が初期設定される。図５にはＢＩＳＴＣＮＴ３０の入出力信号の詳細が例示される。
【００４１】
テスト用のテストパターンを発生するのにモードレジスタ用パターン発生器（ＭＲＳＰＧ）３１及びメモリテストアルゴリズム用パターン発生器（ＭＴＡＰＧ）３２が設けられている。モードレジスタ設定用パターン発生器３１はＢＩＳＴ回路１１内部のモードレジスタに設定すべき制御データのパターンを発生する。メモリテストアルゴリズム用パターン発生器（ＭＴＡＰＧ）３２は、所定のテストアルゴリズムにしたってＤＤＲ２−ＳＤＲＡＭのテスト動作を順次行うために必要なＢＩＳＴコマンド（ＢＣＭＤ）、アドレス（ＡＤＲ）、及びデータ（ＤＡＴ）を順次生成する。生成されるパターンはマルチプレクサ（ＭＵＸ＿ＰＧ）３３で選択される。最初に起動信号ＳＴＲ１に応答してモードレジスタ用パターン発生器（ＭＲＳＰＧ）３１からテストパターンが出力され、次に、起動信号ＳＴＲ２に応答してメモリテストアルゴリズム用パターン発生器（ＭＴＡＰＧ）３２からテストパターンが出力される。夫々のテストパターンの生成終了は信号ＥＮＤ１，ＥＮＤ２にてテスト終了信号生成器（ＴＥＧ）３４に伝達され、テスト終了信号ＥＮＤ３にてＢＩＳＴ制御回路（ＢＩＳＴＣＮＴ）３０に通知される。図６にはＭＴＡＰＧ３２の具体的構成が例示される。図６においてＭＴＡＰＧ３２はパターン発生の制御を行うメインコントローラ（ＭＮＣＮＴ）３２Ａ、パターン発生の繰り返しに用いるループカウンタ（ＬＰＣＵＮＴ）３２Ｂ、アドレス（ＡＤＲ）及びデータ（ＤＡＴ）を発生するアドレス・データ発生器（ＡＤＧ）３２Ｃ、及びＢＩＳＴコマンド（ＢＣＭＤ）を発生するコマンドシーケンス発生器（ＭＣＳＧ）３２Ｄを備える。ここでは、発生されるアドレス(ＡＤＲ)として、ロウアドレスＡＤＲ＿Ｘ、カラムアドレスＡＤＲ＿Ｙ、バンクアドレスＡＤＲ＿Ｂが例示される。
【００４２】
マルチプレクサ３３から出力されるテストパターンはプログラマブルスクランブラ（ＰＳＲＭＢ）３５に供給される。プログラマブルスクランブラ３５は、アドレス（ＡＤＲ）に対するスクランブルと、データ（ＤＡＴ）に対するスクランブル、更にはアドレス及びデータとして擬似乱数を発生する。何れの動作を行うかはモードレジスタ用パターン発生器３１もしくはメモリテストアルゴリズム用パターン発生器（MTAPG）から出力されるモード制御データパターンによって決まる。
【００４３】
ＳＤＲＡＭインタフェース制御回路（ＳＤＲＡＭＩＦ）３６は、必要に応じてスクランブルされたアドレス（ＡＤＲ）及びデータ（ＤＡＴ）、更に前記ＢＩＳＴコマンド（ＢＣＭＤ）を入力する。ＳＤＲＡＭＩＦ３６はＢＩＳＴコマンドをデコードしてＤＤＲ２−ＳＤＲＡＭのメモリコマンド（ＭＣＭＤ）を生成し、所定のアクセスタイミングに従って、メモリコマンド（ＭＣＭＤ）、アドレス（ＡＤＲ）及び必要な書込みデータ（ＷＤＡＴ）をメモリバス３７に出力する。メモリバス３７にはＤＤＲ２−ＳＤＲＡＭ４からリードデータが供給される。
【００４４】
メモリバス３７には圧縮器（ＭＩＳＲ：Multiple Input Signature Register）３９を備えたデータ比較判定器（ＣＭＰＤＴ）３８が接続される。尚、図３に２点鎖線で占めするように圧縮器３９はデータ比較判定器（ＣＭＰＤＴ）３８の外に配置することも可能である。
【００４５】
データ比較判定器（ＣＭＰＤＴ）３８はテスト動作においてＤＤＲ２−ＳＤＲＡＭ４から出力されたリードデータと期待データの比較判定を行って、不一致を生じたコマンド、アドレス及びデータ等のフェール情報を蓄積したりする。テスト結果ＲＳＬＴはＢＩＳＴＣＮＴ３０に与えられる。期待データは、ここではメモリに対する書込みデータ（ＷＤＡＴ）と同じであり、この例ではテストパターンの一部として期待データを発生することはせず、書込みデータを期待データとする。期待データをテストパターンの一部として特別に生成することを妨げるものではない。テスト動作の内容によっては書込みデータ（ライトデータ）と異なる期待データパターンを必要する場合もあるからである。
【００４６】
ＭＩＳＲ３９はＳＤＲＡＭＩＦ３６から出力されるメモリコマンド（ＭＣＭＤ）、データ（ＤＡＴ）及びアドレス(ＡＤＲ)を圧縮し、これを期待値と比較することによって、ＢＩＳＴＣ１１に異常があるか否かを予め検出可能にする。
【００４７】
デバッグ用タイマ（ＤＢＧＴＭＲ）４０はロジックアナライザ用のトリガ信号を発生可能なタイマ回路である。
【００４８】
図７にはＰＳＲＭＢ３５の詳細が例示される。例えばＰＳＲＭＢ３５は、ロウアドレスＡＤＲ＿Ｘのアドレススクランブルを行うスクランブル回路３５Ａ、カラムアドレスＡＤＲ＿Ｙのアドレススクランブルを行うスクランブル回路３５Ｂ、バンクアドレスＡＤＲ＿Ｂのアドレススクランブルを行うスクランブル回路３５Ｃ、及びデータＤＡＴのアドレススクランブルを行うスクランブル回路３５Ｄを有する。前記スクランブル回路３５Ａ〜３５Ｄはアドレス及びデータを擬似乱数化して出力可能である。例えば、図８に概略が示されるように、４ビット毎の入力ａ，ｂ，ｃ，ｄに対して任意スクランブル論理（ＳＲＢＭＬＯＧ）３５＿ＬＯＧを用いて擬似乱数化された出力Ａ，Ｂ，Ｃ，Ｄ２を形成することができる。前記スクランブル回路３５Ａ〜３５Ｄが備えるはスクランブル論理は任意スクランブル論理３５＿ＬＯＧだけでなく、ＤＤＲ２−ＳＤＲＡＭ４のメモリアレイに対するアドレスマッピングの構成に従って所要のメモリテストに必要なスクランブルを選択的に行うことができるその他のスクランブル論理を備え、ＴＡＰＣＮ１２を介して設定される制御情報に従って所要のスクランブル論理を選択できるようになっている。
【００４９】
任意スクランブル論理（ＳＲＢＭＬＯＧ）３５＿ＬＯＧを備えることにより、メモリテスト用アドレス及びデータのパターンを容易に擬似的に無限ループ化でき、テスト効率を向上させることができる。
【００５０】
図９にはＳＤＲＡＭＩＦ３６の詳細が例示される。ＳＤＲＡＭＩＦ３６はＢＩＳＴコマンドＢＣＭＤを入力コードとしてメモリコマンドＭＣＭＤを生成するコマンドデコーダ（ＣMＤＤＥＣ）３６Ａ、ＰＳＲＭＢ３５から出力されるアドレスＡＤＲ＿Ｘ，ＡＤＲ＿Ｙ，ＡＤＲ＿Ｚをメモリアクセスに適する配列に整列させて出力するアドレス整列回路（ＡＤＲＩＬ）３６Ｂ、ＰＳＲＭＢ３５から出力されるデータＤＡＴをメモリライトアクセスに適する配列に整列させて出力するデータ整列回路（ＤＡＴＩＬ）３６Ｃを備える。コマンドデコーダ３６ＡはメモリコマンドＭＣＭＤとして、ｉ＋１ビットのクロックイネーブル信号ｃｋｅ[i:0]、ｉ＋１ビットのコマンド入力イネーブル信号ｃｓ＿ｎ[i:0]、1ビットのロウアドレスストローブ信号ｒａｓ＿ｎ、1ビットのカラムアドレスストローブ信号ｃａｓ＿ｎ、1ビットのライトイネーブル信号ｗｅ＿ｎ、データマスク信号ｄｍ、及びデータストローブ信号ｄｑｓ等を出力すると共に、ＰＨＹＬＯＧ８に対する制御情報を出力する。ＰＨＹＬＯＧ８に対する制御情報は、例えば、データストローブ信号ｄｑｓから差動のデータストローブ信号ＤＱＳ，ＤＱＳ＿ｎを生成することをＰＨＹＬＯＧ８に指示する。
【００５１】
コマンドデコーダ３６Ａが出力するコマンド信号のうち、クロックイネーブル信号ｃｋｅと外部から供給されるコマンドの有効性を示すコマンドイネーブル信号ｃｓ＿ｎはｉ＋１セットとされ、その他のロウアドレスストローブ信号ｒａｓ＿ｎ、カラムアドレスストローブ信号ｃａｓ＿ｎ、ライトイネーブル信号ｗｅ＿ｎ、及びデータストローブ信号ｄｑｓ等は１セットとされる。これにより、アドレス、データ及びデータストローブ信号を共通に受ける最大でｉ＋１個のランクを構成するＤＤＲ２−ＳＤＲＡＭ４に対して、クロックイネーブル信号ｃｋｅとコマンドイネーブル信号ｃｓ＿ｎを個別化することにより、それらを選択的に動作させることができる。図３にはｉ＝２の例が示される。これにより、複数のＤＤＲ２−ＳＤＲＡＭ４を選択的にアクセス制御する所謂ランク切り替えによる利用形態にも容易に対応することができる。
【００５２】
図１０にはコマンドデコーダ３６Ａの原理的な構成が例示される。コマンドデコーダ３６ＡはＢＩＳＴコマンドセットのコマンドＢＣＭＤをＤＤＲ２−ＳＤＲＡＭ４の仕様に応じたメモリコマンドセットのコマンドに変換する複数個のコマンドテーブルＤＥＣＴＬＢ＿１〜ＤＥＣＴＬＢ＿ｎを有し、前記複数個のコマンドテーブルＤＥＣＴＬＢ＿１〜ＤＥＣＴＬＢ＿ｎの出力をマルチプレクサ（ＭＰＸ＿ＤＥＣ）３６＿ＭＰＸで選択する。マルチプレクサ３６＿ＭＵＸの初期的な選択はＴＡＰＣＮＴ１２からスキャンパスを通してレジスタ３６＿ＲＥＧに与えられる制御情報に従って行われる。その後の選択は、先に選択されたコマンドテーブルから出力される選択制御情報（コマンドテーブル切換え制御情報）ＩＮＦＯ＿ＴＣに従って可能にされる。各種ＤＤＲ２−ＳＤＲＡＭのコマンド仕様に対応するとき、前記ＢＩＳＴコマンドセットのコマンドＢＣＭＤのビット数を少なくすることができ、コマンドデコーダ３６Ａの回路規模縮小に寄与することができる。
【００５３】
図１１にはコマンドデコーダ３６ＡによるメモリコマンドＭＣＭＤの物理インタフェース（ＰＨＹＬＯＧ）８での出力タイミングが例示される。図にはコマンド信号として、ｃｌｋ、ｃｓ＿ｎ、ｒａｓ＿ｎ，ｃａｓ＿ｎ，ｗｅ＿ｎ，ｄｑｓが例示される。ｃｌｋはクロック信号である。ＤＤＲ２＿ＳＤＲＡＭ４の代表的なコマンドとして、例えばロウアドレス系回路を動作させるアクティブコマンド（ＡＣＴ）及びカラムアドレスを指定して書込み動作を指示する書込みコマンド（ＷＲＴ）がある。コマンドデコーダ３６ＡはＤＤＲ２−ＳＤＲＡＭ４のＪＥＤＥＣ標準に対してアクティブコマンド（ＡＣＴ）及び書込みコマンド（ＷＴ）を先出しする。先出しされたサイクルにはＡＣＴ’、ＷＲＴ’を付してある。即ち、コマンドデコーダ３６Ａは、ｃｓ＿ｎがローレベルにされるコマンドイネーブルの前にアドレスストローブ信号ｒａｓ＿ｎをイネーブルにすると共にアドレス信号ＡＤＲを確定させる。更に具体的には、ロウアドレス系のコマンドイネーブル（ｃｓ＿ｎ＝ローレベル）の前にロウアドレスストローブ信号ｒａｓ＿ｎをイネーブルにすると共にロウアドレス信号を確定させ（Ａ部分）、カラムアドレス系のコマンドイネーブル（ｃｓ＿ｎ＝ローレベル）の前にカラムアドレスストローブ信号ｃａｓ＿ｎをイネーブルにすると共にカラムアドレス信号を確定させる（Ｂ部分）。これにより、コマンドイネーブル（ｃｓ＿ｎ＝ローレベル）と一緒に若しくは同一クロックサイクルでアドレスストローブ信号をイネーブル（ｒａｓ＿ｎ＝ローレベル、ｃａｓ＿ｎ＝ローレベル、）にしなければならないようなタイミング的な制約を緩和することができ、これはアドレスストローブ信号及びアドレス信号に対するセットアップ時間の確保を容易化するのに役立つ。その結果、ノイズ等の影響によってテスト結果が不正確になることを抑制することが可能になり、テスト結果に高い信頼性を得ることができる。
【００５４】
図１２にはデータ比較判定器（ＣＭＰＤＴ）３８の詳細が例示される。ＳＤＲＡＭＩＦ３６から出力されるライトデータＷＤＡＴ，アドレスＡＤＲおよびコマンドＭＣＭＤはラッチ回路ＬＡＴを介して一旦サイクル調整回路（ＣＹＣＡＤＪ）３８Ａに入力される。それらコマンドＭＣＭＤに応答してＤＤＲ２−ＳＤＲＡＭ４から出力されるリードデータＲＤＡＴが到達するのを待ってサイクル調整回路（ＣＹＣＡＤＪ）３８Ａは前記ライトデータＷＤＡＴ、アドレスＡＤＲおよびコマンドＭＣＭＤを後段に出力する。データ比較回路３８ＢはリードデータＲＤＡＴとライトデータＷＤＡＴをサイクル単位で比較する。比較結果データＣＤＡＴはフェール情報制御回路（ＦＬＣＯＮＴ）３８Ｃに与えられる。フェール情報制御回路（ＦＬＣＯＮＴ）３８Ｃは比較結果に応じてフェールレジスタ回路３８Ｄにフェール情報を取得する制御を行う。即ち、比較結果データＣＤＡＴが不一致を示す場合には、それに対するメモリサイクルのリードデータＲＤＡＴもしくはビット毎の比較データをフェールデータレジスタＦＬＤＲＥＧに、当該メモリサイクルのアドレスＡＤＲをフェールアドレスレジスタＦＬＡＲＥＧに、当該メモリサイクルのコマンドＭＣＭＤをフェールコマンドレジスタＦＬＣＲＥＧに格納する。ＳＴＲはフェールレジスタに対するレジスタストア信号である。比較結果データＣＤＡＴの不一致はテスト結果信号ＲＳＬＴを用いてＢＩＳＴＣＮＴ３０及びＴＡＰＣＮＴ１２経由で外部に通知可能にされる。各種フェールレジスタＦＬＤＲＥＧ，ＦＬＡＲＥＧ，ＦＬＣＲＥＧの値はＴＡＰＣＮＴ１２の制御でスキャンパスを経由して外部に取り出し可能にされる。
【００５５】
フェールレジスタ回路３８Ｄに対するフェール情報の取得制御の詳細を説明する。フェール情報制御回路３８ＢはデータＣＤＡＴによって検出される比較結果の不一致回数を計数するカウンタＣＯＵＮＴを有し、不一致回数が所定回数になるまでフェールレジスタ回路３８Ｄを新たなフェール情報によって更新する制御を行い、其の後は更新を抑制して、そのときのフェール情報を保持するようになっている。図１３にはフェール情報の取得制御フローが例示される。テスト動作が開始されると、カウンタＣＯＵＮＴの計数レジスタｃｏｕｎｔに値ｉがセットされ、アクセスサイクル毎にライトデータＷＤＡＴとリードデータＲＤＡＴを取得して（Ｓ２）、比較する（Ｓ３）。比較結果が一致であれば次メモリサイクルでステップＳ２に戻って同様に処理を行なう。不一致であれば、計数レジスタｃｏｕｎｔの値を１デクリメントし（Ｓ４）、そのときのフェール情報によってフェールレジスタ回路３８Ｄの対応するフェールレジスタの格納データを更新する（Ｓ５）。更新後、計数レジスタｃｏｕｎｔの値が０であるかを判定し（Ｓ６）、０でなければ、ステップＳ２に戻って、計数レジスタｃｏｕｎｔの値が０になるまで上記処理を繰り返す。計数レジスタｃｏｕｎｔの値が０になったとき、それ以降、新たにフェールを生じても、そのときにフェール情報がフェールレジスタ回路３８Ｄに維持される。これにより、上書きされずに取得できるフェール情報の取得タイミングをレジスタｃｏｕｎｔに設定したフェール回数（ｉ）によって指定することができる。したがって、例えば上書きされずに取得できるフェール情報の取得タイミングをずらして設定したりすることにより、不良解析や不良原因を特定し易くなる。
【００５６】
図１２に例示されるように、前記ライトデータＷＤＡＴの入力経路はマルチプレクサ３８Ｅを用いて選択的にリードデータの経路に接続可能にされる。その制御はスキャンパスを介して供給される制御データによって行うことができる。これにより、データ比較回路３８Ｂに同じライトデータＷＤＡＴを入力して比較させることができる。即ち、データ比較回路３８Ｂに対するセルフテストを予め行うことができ、データ比較回路３８Ｂの比較結果に対する信頼性の保証が容易になる。
【００５７】
ＭＩＳＲ３９は図１４にも例示されるように信号圧縮器（ＣＭＰＲＳ）３９Ａと圧縮信号比較判定回路（ＣＯＭＰＣＭＰ）３９Ｂを有する。信号圧縮器（ＣＭＰＲＳ）３９Ａはバス３７上のメモリコマンドＭＣＭＤ、ライトデータＷＤＡＴ、及びアドレスＡＤＲを受ける前記ラッチ回路を介して受け取って圧縮し、圧縮信号を圧縮信号比較判定回路３９Ｂに与える。圧縮信号比較判定回路３９Ｂは入力された圧縮データを期待値レジスタＥＶＲＥＧの期待値と比較して、ＳＤＲＡＭＩＦ３６までの回路の異常を検出する。期待値レジスタＥＶＲＥＧにはスキャンパスを介して予め期待値がセットされる。ＢＩＳＴＣ１１によるメモリテストの前に予めＢＩＳＴＣ１１に異常があるか否かを検出することができる。ＭＩＳＲ３９をデータ比較判定器（ＣＭＰＤＴ）３８に配置すればラッチ回路ＬＡＴをそれと共用することができる。ＭＩＳＲ３９をデータ比較判定器（ＣＭＰＤＴ）３８とは別個に配置する場合にはＭＩＳＲ３９にはデータ比較判定器（ＣＭＰＤＴ）３８のラッチ回路ＬＡＴとは別のラッチ回路若しくはレジスタを設けなければならない。ＭＩＳＲ３９をデータ比較判定器３８に配置することは回路規模の縮小に寄与する。
【００５８】
図１４にはＭＩＳＲ３９の具体例が示される。ＭＩＳＲ３９は信号圧縮器（ＣＭＰＲＳ）３９Ａと圧縮信号比較判定回路（ＣＯＭＰＣＭＰ）３９Ｂを有する。信号圧縮器（ＣＭＰＲＳ）３９Ａはバス３７上のメモリコマンドＭＣＭＤ、ライトデータＷＤＡＴ、及びアドレスＡＤＲを圧縮して圧縮信号比較判定回路３９Ｂに与える。圧縮信号比較判定回路３９Ｂは入力された圧縮データを期待値レジスタＥＶＲＥＧの期待値と比較して、ＳＤＲＡＭＩＦ３６までの回路の異常を検出する。期待値レジスタＥＶＲＥＧにはスキャンパスを介して予め期待値がセットされる。ＢＩＳＴＣ１１によるメモリテストの前に予めＢＩＳＴＣ１１に異常があるか否かを検出することができる。
【００５９】
図１５にはＭＤＳＥＬ１４の一例が示される。ＭＤＳＥＬ１４はスキャンパスに配置された制御レジスタ１４Ａを有し、そのビットＣＩＦ１はクロック切換え制御ビット、ビットＣＩＦ２はｃｋｅ初期値制御ビット、ＣＩＦ３はＭＵＸ＿ＢＭの切換え制御ビットとされる。
【００６０】
クロック切換え制御ビットＣＩＦ１はＤＤＲ２−ＳＤＲＡＭ４のクロックｃｌｋの切り替えを可能にするビットであり、データプロセッサ３の実クロックを用いるか、又はテスト用の外部クロックを用いるかを選択する。
【００６１】
ビットＣＩＦ２はＤＤＲ２−ＳＤＲＡＭ４のクロックイネーブル信号ｃｋｅの初期値をローレベルにするかハイレベルにするかを決定する。図１６に例示されるように、クロックイネーブル信号ｃｋｅの初期値決定は経路ＰＳａで示されるようにＢＩＳＴＣ１１による反転設定に限定されず、経路ＰＳｂで示されるようにMUX＿ＢＭ１３を経由する外部端子Ｔｂのレベルによる設定、経路ＰＳｃで示されるように外部端子Ｔｃのレベルによる直接ＰＨＹＬＯＧ８を経由する設定等であってもよい。これにより、クロックイネーブル信号に対するメモリ仕様の相違に容易に対処できる。
【００６２】
切換え制御ビットＣＩＦ３を初期値から反転することによってＭＵＸ＿ＢＭによるＭＣＮＴ６とＰＨＹＬＯＧ８との接続をＢＩＳＴＣ１とＰＨＹＬＯＧ８との接続に切換える。
【００６３】
以上説明した半導体モジュールによれば、全体として以下の作用効果を得ることができる。マルチプレクサＭＵＸ＿ＢＭ１３は前記ＴＡＰＣＮＴ１２を介してテスタ１５から入力する制御情報に従って前記ＢＩＳＴＣ１１を選択して外部メモリに対するセルフテストを行うことができる。これによれば、セルフテスト内容はメモリコントローラ６の機能に制限されない。ビルトインセルフテスト回路１１はテスト対象メモリの仕様に応じた指示をＴＡＰコントローラ１２から受けてメモリテスト用アドレスＡＤＲ、データＤＡＴおよびコマンドＣＶＭＤを生成することができる。したがって、テスト対象メモリの仕様の相違に対して、ＢＩＳＴ回路１１の個別的な設計変更を少なくすることができ、ＢＩＳＴ回路１１を広く適応させることが容易になり、テスト設計コストの低減に寄与することができる。ＢＩＳＴ回路に対する制御データの設定やテスト結果データの回収にＴＡＰＣ１２を用いるので、テスト対象のＤＤＲ２−ＳＤＲＡＭ４のメモリ動作速度を規定するメモリクロックの周波数よりも低い周波数のテストクロックＴＣＫを用いてテスタとの入出力インタフェースを行うことができる。しかもテスタとのインタフェースに必要な端子数も少なくてよい。安価なテスタでテスト及び評価が可能であり、デバッグの容易性と、テストコストの大幅な削減を実現することができる。特に、ＢＩＳＴＣ１１はＰＨＹＬＯＧ８に接続されるため、特殊な物理インタフェースを有するメモリをテスト対象とする場合にも、当該メモリに対応するＰＨＹＬＯＧが搭載されることによって、種類や機能が大きく変わるメモリをテスト対象にする場合であっても、ＢＩＳＴＣ１１の変更を最小限として対応することができる。
【００６４】
図１７には本発明に係る半導体装置の別の例が示される。ここでは前記データプロセッサ３のチップが単体で樹脂性パッケージに封止されて、図示を省略する実装基板に搭載される。テスト対象メモリはＤＩＭＭ（Dual Inline Memory Module）形態のメモリモジュール５０とされる。メモリモジュール５０はデータメプロセッサ３と共に実装基板に実装され、例えばデータプロセッサ３のメインメモリ等に用いられる。このようなデータプロセッサ３の利用形態においてもメモリ４に対するセルフテストでは上記同様の作用・効果を奏することができる。
【００６５】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００６６】
例えば、テスト対象にされるメモリはＤＤＲ２−ＳＤＲＡＭに限定されず、ＤＤＲ−ＳＤＲＡＭ、あるいはそれ以上高速化されたシンクロナスＤＲＡＭ、更にはシンクロナスＳＲＡＭ、或いはフラッシュメモリ等の電気的に書換え可能な不揮発性メモリであってもよい。ＰＨＹＬＯＧ８に代表される物理インタフェースはテスト対象とするメモリに応じた構成を備えることになり、特殊な物理インタフェースを要しないメモリの場合には単なる入出力バッファであってもよい。また、ＩＥＥＥ１１４９．１によるアクセスポートの標準は、通称としてＪＴＡＧ（Joint Test Action Group）とも称される。コマンド入力イネーブル信号ｃｓ＿ｎ[i:0]はチップ選択信号と同じＣＳを信号の記号に用いているが、本発明はそれに限定されない。
【図面の簡単な説明】
【００６７】
【図１】本発明に係る半導体装置の一例である半導体モジュールを例示するブロック図である。
【図２】ＴＡＰＣＮＴの詳細がを例示するブロック図である。
【図３】ＢＩＳＴＣの詳細としてテストパターンによってＤＤＲ２−ＳＤＲＡＭをアクセス動作させるコマンド、アドレス及びデータの経路と共にその構成を例示するブロック図である。
【図４】ＢＩＳＴＣ１１の詳細としてＴＡＰＣＮＴとのスキャンパスとによる接続チェーンに着目してその構成を例示するブロック図である。
【図５】ＢＩＳＴＣＮＴの入出力信号の詳細を例示するブロック図である。
【図６】ＭＴＡＰＧの具体的構成を例示するブロック図である。
【図７】ＰＳＲＭＢの詳細を例示するブロック図である。
【図８】スクランブル回路によるアドレス及びデータの擬似乱数化を可能にする構成を例示する論理回路図である。
【図９】ＳＤＲＡＭＩＦの詳細を例示するブロック図である。
【図１０】コマンドデコーダの原理的な構成を例示するブロック図である。
【図１１】コマンドデコーダによるメモリコマンドの出力タイミングを例示するタイミングチャートである。
【図１２】ＣＭＰＤＴの詳細を例示する  ブロック図である。
【図１３】フェール情報の取得制御について例示摺るフローチャートである。
【図１４】ＭＩＳＲの具体例を示すブロック図である。
【図１５】ＭＤＳＥＬの一例を示すブロック図である。
【図１６】クロックイネーブル信号ｃｋｅの初期値決定が可能な複数種類の方法を例示する説明図である。
【図１７】本発明に係る半導体装置の別の例を示すブロック図である。
【符号の説明】
【００６８】
１  半導体モジュール
２  ジュール基板
３  データプロセッサ
４  ＤＤＲ２−ＳＤＲＡＭ
６  メモリコントローラ（ＭＣＮＴ）
７  回路ブロック
８  物理インタフェース（ＰＨＹＬＯＧ）
１１  ビルトインセルフテスト回路（ＢＩＳＴＣ）
１２  ＴＡＰコントローラ（ＴＡＰＣＮＴ）
１３  マルチプレクサ（ＭＵＸ＿ＢＭ）
１４  動作モードの選択回路（ＭＤＳＥＬ）
１５  テスタ（ＴＳＴ）
２０  テストアクセスポート（ＴＡＰ）
２１  コマンドレジスタ（ＳＤＩＲ）
２２  デコーダ（ＳＤＤＥＣ）
２３  バイパスレジスタ（ＳＤＢＰＲ）
２４  マルチプレクサ（ＭＵＸ＿ＳＤ）
ＴＭＳ  モード端子
ＴＣＫ  クロック端子
ＴＲＥＳ  リセット端子
ＴＤＩ  データ入力端子
ＴＤＯ  データ出力端子
２５  スキャンパスレジスタ回路（ＳＰＲＥＧ）
３０  ＢＩＳＴ制御回路（ＢＩＳＴＣＮＴ）
ＣＨＮ１〜ＣＨＮ４  スキャンパスレジスタの選択可能なパス
３１  モードレジスタ用パターン発生器（ＭＲＳＰＧ）
３２  メモリテストアルゴリズム用パターン発生器（ＭＴＡＰＧ）
３３  マルチプレクサ（ＭＵＸ＿ＰＧ）
３４  テスト終了信号生成器（ＴＥＧ）
３５  プログラマブルスクランブラ（ＰＳＲＭＢ）
３６  ＳＤＲＡＭインタフェース制御回路（ＳＤＲＡＭＩＦ）
３７  メモリバス
３８  データ比較判定器（ＣＭＰＤＴ）
３９  圧縮器（ＭＩＳＲ）
【図１】
2008269669.tif 000003
【図２】
2008269669.tif 000004
【図３】
2008269669.tif 000005
【図４】
2008269669.tif 000006
【図５】
2008269669.tif 000007
【図６】
2008269669.tif 000008
【図７】
2008269669.tif 000009
【図８】
2008269669.tif 000010
【図９】
2008269669.tif 000011
【図１０】
2008269669.tif 000012
【図１１】
2008269669.tif 000013
【図１２】
2008269669.tif 000014
【図１３】
2008269669.tif 000015
【図１４】
2008269669.tif 000016
【図１５】
2008269669.tif 000017
【図１６】
2008269669.tif 000018
【図１７】
2008269669.tif 000019