(57)【要約】【課題】  １つの機能マクロに相当する回路を複数のチップに分割して実現する場合に、複数のチップに分割することで発生するスキューを自動で調整し、回路全体として正しく動作できるようにする。【解決手段】  １つの機能マクロを構成する機能回路を分割して複数のチップに実装するとともに、基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成して、選択した内部クロック信号を用いて行うテスト動作の結果に基づいてチップ内の機能回路に供給するクロック信号の位相を調整するようにして、位相が互いに異なる複数の内部クロック信号のなかから最適な位相のクロック信号を得て、複数のチップに分割することで発生するスキューを自動で調整し、回路全体として正しく動作できるようにする。【選択図】  図２
2006275616.tif 000002
【特許請求の範囲】
【請求項１】
１つの機能マクロを構成する機能回路を分割して複数のチップに実装するとともに、
基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成して、生成した上記複数の内部クロック信号のなかの１つを選択し、選択した内部クロック信号を用いて行うテスト動作の結果に基づいて上記チップ内の機能回路に供給するクロック信号の位相を調整するようにしたことを特徴とする半導体装置。
【請求項２】
上記複数の内部クロック信号のなかから１つずつ順次選択した内部クロック信号を用いて上記テスト動作を行い、上記テスト動作にて正常動作が確認された内部クロック信号を上記チップ内の機能回路に供給するクロック信号に決定するようにしたことを特徴とする請求項１記載の半導体装置。
【請求項３】
上記機能回路は、少なくともアドレス生成部とデータ入出力部が異なる上記チップに実装されたメモリコントロール回路であって、
上記クロック信号の位相調整により、上記アドレス生成部から出力されるアドレス信号と上記データ入出力部に入出力されるデータ信号とのスキューを調整するようにしたことを特徴とする請求項１記載の半導体装置。
【請求項４】
上記テスト動作は、メモリ自己テスト回路を用いてメモリに対するテストデータの書き込み及び読み出しを行い、読み出しデータと上記テストデータとが一致した場合の内部クロック信号を上記チップ内の機能回路に供給するクロック信号に決定するようにしたことを特徴とする請求項３記載の半導体装置。
【請求項５】
１つの機能マクロを構成する機能回路を分割して複数のチップに実装した半導体装置であって、
基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成するクロック生成回路と、
上記クロック生成回路により生成された複数の内部クロック信号のなかの１つを選択するクロック選択回路と、
上記クロック選択回路により選択された内部クロック信号を用いて行われるテスト動作の結果に基づいて上記チップ内の機能回路に供給するクロック信号の位相を調整する位相調整回路とを備えることを特徴とする半導体装置。
【請求項６】
上記クロック選択回路は、上記テスト動作の結果を参照して上記内部クロック信号を自動選択することを特徴とする請求項５記載の半導体装置。
【請求項７】
上記テスト動作にて正常動作が確認されるまで、上記クロック生成回路により生成された複数の内部クロック信号を上記クロック選択回路により１つずつ順次選択し、
上記テスト動作にて正常動作が確認された内部クロック信号を上記チップ内の機能回路に供給するクロック信号に決定することを特徴とする請求項６記載の半導体装置。
【請求項８】
上記機能回路は、少なくともアドレス生成部とデータ入出力部が異なる上記チップに実装されたメモリコントロール回路であることを特徴とする請求項５記載の半導体装置。
【請求項９】
上記テスト動作を実行するメモリ自己テスト回路を備え、
上記メモリ自己テスト回路は、
メモリに対してテストデータを書き込んだ後、当該書き込みを行った領域からデータを読み出すメモリアクセス回路と、
上記メモリアクセス回路により読み出したデータと上記テストデータとを比較し、比較結果を上記テスト動作の結果として出力する比較回路とを有することを特徴とする請求項８記載の半導体装置。
【請求項１０】
１つの機能マクロを構成する機能回路を分割して複数のチップに実装した半導体装置のスキュー調整方法であって、
基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成し、
上記生成した内部クロック信号を１つずつ選択し、
上記選択された内部クロック信号を用いてテスト動作を行い、その結果に基づいて上記チップ内の機能回路に供給するクロック信号の位相を調整することを特徴とするスキュー調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びスキュー調整方法に関し、詳しくは複数のチップに分割された回路におけるチップ間でのスキュー調整技術に関する。
【背景技術】
【０００２】
従来、メモリコントローラにおいては、それを構成するすべての回路を１チップ上に実装することで、アドレス信号とデータ信号との間（以下、「アドレス・データ間」とも称す。）のスキューの軽減を実現してきた。しかし、近年の他ピンパッケージ化にもかかわらず、機能の複雑化や多機能化などの機能向上に伴って、１チップでは十分なピン数（外部端子数）を確保できない場合が少なくない。
【０００３】
それに対して、メモリコントローラを例えば複数のチップに分割して実現すると、アドレス・データ間でのスキュー調整は非常に困難である。このことがメモリコントローラの複数チップ化を妨げる要因の１つになっている。
【０００４】
ここで、差し替え可能なＳＤＲＡＭモジュールを有するメモリシステムにおいて、ＳＤＲＡＭモジュール毎にそのメモリ容量（負荷容量）の差によって発生するクロックスキューを調整する方法が提案されている（例えば特許文献１参照。）。特許文献１に示された方法では、記録されている調整値設定情報と装着されたＳＤＲＡＭモジュールから取得したメモリ容量情報とに基づいて、位相調整器を制御してＳＤＲＡＭモジュールに供給するクロックの位相調整を行っている。しかし、特許文献１に示された方法においては、調整値設定情報やメモリ容量情報を予め設定し記録させておく必要があり、任意のＳＤＲＡＭモジュールに柔軟に対応することは困難である。
【０００５】
また、チップが有するピン数（外部端子数）による制限に限らず、回路規模の増大等により消費電力の制限から１チップ上に実装することが不可能なこともある。
【０００６】
【特許文献１】特開２００３−２７１４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、メモリコントローラなどの１つの機能マクロに相当する回路を複数のチップに分割して実現する場合に、複数のチップに分割することで発生するスキューを自動で調整し、回路全体として正しく動作できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の半導体装置は、１つの機能マクロを構成する機能回路を分割して複数のチップに実装するとともに、基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成して、生成した複数の内部クロック信号のなかの１つを選択し、選択した内部クロック信号を用いて行うテスト動作の結果に基づいてチップ内の機能回路に供給するクロック信号の位相を調整する。
これにより、１つの機能マクロを構成する回路を複数のチップに分割しても、位相が互いに異なる複数の内部クロック信号のなかから、テスト動作の結果を基に位相調整した最適な位相のクロック信号を得ることができる。
【発明の効果】
【０００９】
本発明によれば、基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成し、それらを用いて行うテスト動作の結果に基づいてチップ内の回路に供給するクロック信号の位相を調整する。これにより、複数の内部クロック信号のなかから最適な位相のクロック信号が得られ、複数のチップに分割することで発生するスキューを自動で調整することができ、１つの機能マクロを構成する回路を複数のチップに分割しても、回路全体として正しく動作させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
なお、以下の説明においては、本発明の実施形態による半導体装置の一例として、メモリコントローラ（メモリコントロール回路）を示しているが、本発明はこれに限定されるものではない。本発明は、例示するメモリコントローラを含め、例えばインタフェース回路やクロックデータリカバリ回路などのスキューが動作に影響を及ぼす他の回路にも適用可能である。
【００１１】
図１は、本発明の一実施形態による半導体装置を適用したメモリコントローラを有するメモリシステムの機能構成例を示すブロック図である。
図１において、１は制御部であり、５は外部メモリである。制御部１は、メモリコントローラ（メモリコントロール回路）２及び複数のマクロ４Ａ〜４Ｃを有する。
【００１２】
メモリコントローラ２は、外部からの要求に応じて外部メモリ５へのアクセス等を行い、外部メモリ５を制御するためのものである。本実施形態では、メモリコントローラ２は、外部からの要求等に応じてアドレス信号ＡＤＤ及びコマンド信号ＣＭＤを外部メモリ５に供給するとともに、外部メモリ５との間でデータ信号ＤＴの授受を行う。なお、図１においては、データ信号ＤＴは、下位側（ｘ＋１）ビット分に対応するデータ信号ＤＴ（０：ｘ）と上位側（Ｅ−ｘ）ビット分に対応するデータ信号ＤＴ（ｘ＋１：Ｅ）とに分けて図示している。
【００１３】
また、メモリコントローラ２は、メモリコントロールテスト回路３を有している。メモリコントロールテスト回路３は、メモリを自己テストする機能回路であり、いわゆるＢＩＳＴ（Built In Self Test）回路（より詳細にはＲＡＭＢＩＳＴ回路）である。
マクロ４Ａ〜４Ｃは、それぞれ任意の機能を実現するための回路である。
【００１４】
ここで、１つの機能マクロとしての図１に示すようなメモリコントローラ２を構成する回路は、従来においては１チップ上にまとめて実装されていたが、本実施形態では、それを分割して複数のチップに実装する。
【００１５】
具体的には、メモリコントローラ２におけるアドレス生成部分とデータ入出力部分をそれぞれ別のチップ、つまり異なるチップに構成する。また、メモリコントロールテスト回路３についても、メモリコントローラ２と同様に、アドレスに係る機能部分とデータに係る機能部分に分割する。なお、以下の説明では、メモリコントローラ２におけるデータ入出力部分は、上位データ側と下位データ側にさらに分割し、それぞれ別のチップに構成している。
【００１６】
このように、メモリコントローラ２におけるアドレス生成部分とデータ入出力部分を別のチップに構成すると、通常、アドレス・データ間、言い換えればチップ間のスキューが発生する。本実施形態では、この複数のチップに分割したことにより発生するアドレス・データ間のスキューをメモリコントロールテスト回路３の機能を用いて調整し、スキューの軽減を図る。
【００１７】
図２は、本発明の実施形態におけるメモリコントローラの構成例を示す図である。なお、図２においては、メモリコントローラのうちスキュー調整（クロック信号の位相調整）に関係する部分のみを図示し、他の構成についてはアドレス部分及びデータ部分（上位側、下位側）に分割するだけで従来と同様であるので図示は省略する。
【００１８】
図２において、１０はアドレス生成回路、２０は第１のデータ入出力回路（分割回路Ａ）、３０は第２のデータ入出力回路（分割回路Ｂ）、４０は外部メモリである。上述したように、アドレス生成回路１０、第１のデータ入出力回路２０、及び第２のデータ入出力回路３０は、互いに異なるチップ上に構成される。なお、第１のデータ入出力回路２０は、データの上位側（Ｅ−ｘ）ビット分、詳細にはデータの（ｘ＋１）ビット目からＥビット目に対応するものである。同様に、第２のデータ入出力回路３０は、データの下位側（ｘ＋１）ビット分、詳細にはデータの０ビット目からｘビット目に対応するものである。
【００１９】
アドレス生成回路１０は、コントロール回路１１、テストコントローラ（アドレス）１２、及びラッパー回路（アドレス）１３を有する。
【００２０】
コントロール回路１１は、アドレス生成回路１０を統括的に制御する。コントロール回路１１には、外部からのリセット信号ＲＳＴが入力されるとともに、第１及び第２のデータ入出力回路２０、３０からテストモード信号Ｔ＿Ａ１、Ｔ＿Ａ２が入力される。そして、コントロール回路１１は、これらリセット信号ＲＳＴ及びテストモード信号Ｔ＿Ａ１、Ｔ＿Ａ２に応じて、テスト動作状態であるか否かを示すテスト信号ＴＳＴ及びテストモード信号Ｔ＿ＡＤを出力する。
【００２１】
テストコントローラ１２は、テスト動作時に、メモリ試験に必要なテストアルゴリズムを実施するための状態遷移制御とテストアドレスの生成を行う。テストコントローラ１２には、コントロール回路１１からテストモード信号Ｔ＿ＡＤが入力されており、当該テストモード信号Ｔ＿ＡＤに応じてテストコントローラ１１は動作する。
【００２２】
ラッパー回路１３は、メモリをラッピングする回路である。ラッパー回路１３は、テストコントローラ１２からの制御を受け、テストコントローラ１２で生成されたテストアドレス及びコマンドを、アドレス信号ＡＤＤ及びコマンド信号ＣＭＤによりテスト対象の外部メモリ４０に供給する。
【００２３】
なお、テストコントローラ１２及びラッパー回路１３には、基準となるクロック信号ＣＬＫが供給されており、テストアドレス及びコマンドは、このクロック信号ＣＬＫに基づいて（例えば同期させて）外部メモリ４０に供給される。なお、基準となるクロック信号ＣＬＫは、外部メモリ４０にも供給されている。
【００２４】
第１のデータ入出力回路２０は、コントロール回路２１、テストコントローラ（データ）２２、ラッパー回路（データ）２３、カウンタ回路２４、クロック生成回路２５、及びクロック選択回路２６を有する。また、第２のデータ入出力回路３０は、コントロール回路３１、テストコントローラ（データ）３２、ラッパー回路（データ）３３、カウンタ回路３４、クロック生成回路３５、及びクロック選択回路３６を有する。なお、明らかなように第１及び第２のデータ入出力回路２０、３０の構成は同様であるので、以下では第１のデータ入出力回路２０について詳細に説明し、第２のデータ入出力回路３０については説明を省略する。
【００２５】
コントロール回路２１は、データ入出力回路２０を統括的に制御する。コントロール回路２１には、外部からのリセット信号ＲＳＴが入力されるとともに、ラッパー回路２３からテスト結果を示すテストモード信号Ｔ＿Ｒ１が入力される。コントロール回路２１は、これらリセット信号ＲＳＴ及びテストモード信号Ｔ＿Ｒ１に応じて、テストモード信号Ｔ＿Ａ１、Ｔ＿Ｄ１及びカウンタイネーブル信号ＥＮ１を出力する。
【００２６】
テストコントローラ２２は、テスト動作時に、メモリ試験に必要なテストアルゴリズムを実施するための状態遷移制御とテストデータの生成を行う。テストコントローラ２２には、コントロール回路２１からテストモード信号Ｔ＿Ｄ１が入力されており、当該テストモード信号Ｔ＿Ｄ１に応じてテストコントローラ２１は動作する。
【００２７】
ラッパー回路２３は、メモリをラッピングする回路である。ラッパー回路２３は、テストコントローラ２２からの制御を受けてデータ信号ＤＴ（ｘ＋１：Ｅ）により、テストコントローラ２２で生成されたテストデータをテスト対象の外部メモリ４０に供給するとともに、外部メモリ４０からの出力を受ける。また、ラッパー回路２３は、外部メモリ４０からの出力結果と供給したテストデータを比較して、それらが一致するか否かを判定し、判定結果をテストモード信号Ｔ＿Ｒ１として出力する。
【００２８】
カウンタ回路２４は、コントロール回路１１から供給されるカウンタイネーブル信号ＥＮ１に応じてカウント動作を行い、カウンタ値ＣＮＴをクロック選択回路２６に出力する。
【００２９】
クロック生成回路２５は、基準となるクロック信号ＣＬＫが入力され、それを基に位相が互いに異なる複数の内部クロック信号を生成し出力する。
クロック選択回路２６は、クロック生成回路２５にて生成される位相が互いに異なる複数の内部クロック信号が入力され、その中からカウンタ回路２４から供給されるカウンタ値ＣＮＴに従って１つの内部クロック信号を選択し、内部クロック信号ＣＫＩ１として出力する。
【００３０】
ここで、クロック選択回路２６より出力された内部クロック信号ＣＫＩ１は、テストコントローラ２２に供給されており、テストデータは、この内部クロック信号ＣＫＩ１に基づいて（例えば同期させて）外部メモリ４０に供給される。
【００３１】
図３は、図２に示したデータ入出力回路２０、３０が有するクロック生成回路の構成を示す図である。なお、図３においては、基準となるクロック信号ＣＬＫを基に、互いに位相が異なる６つの内部クロック信号を生成するクロック生成回路５１を一例として示している。
【００３２】
クロック生成回路５１は、図３に示すように、複数の遅延素子５２−１〜５２−６がカスケード（縦続）接続されて構成されている。その最前段の遅延素子５２−１の入力端に基準となるクロック信号ＣＬＫが供給される。また、各遅延素子５２−１〜５２−６の接続点がクロック選択回路５３の複数の入力端に接続されることにより、クロック信号ＣＬＫを基に生成された互いに位相の異なる内部クロック信号ＣＫ１〜ＣＫ６がクロック選択回路５３に供給される。
【００３３】
図３に示した例では、図示したようにクロック選択回路５３は、カウンタ回路から供給されるカウント値ＣＮＴがｉ（ｉは１〜６の自然数）のとき、供給される内部クロック信号ＣＫｉを内部クロック信号ＣＫＩとして出力する。
【００３４】
なお、図３においては、６つの遅延素子５２−１〜５２−６を用いて、互いに位相が異なる６つの内部クロック信号ＣＫ１〜ＣＫ６を生成するクロック生成回路５１を一例として示したが、本発明はこれに限定されるものではなく、基準となるクロック信号を基に互いに位相が異なる複数のクロック信号を生成する任意の従来公知のクロック生成回路を適用することが可能である。
【００３５】
次に、動作について説明する。
なお、以下ではスキュー調整動作（クロック信号の位相調整動作）についてのみ説明し、他の通常時の動作は従来と同様に行えば良いので説明は省略する。
図４は、本実施形態におけるクロック信号の位相調整処理を示すフローチャートである。
【００３６】
まず、外部から供給されるリセット信号ＲＳＴが活性化され、初期化処理が行われる（ステップＳ１）。このステップＳ１での初期化処理により、各信号の論理値は、テスト信号ＴＳＴが０、テストモード信号Ｔ＿Ａ１、Ｔ＿Ａ２、Ｔ＿Ｄ１、Ｔ＿Ｄ２が０、各コントロール回路内部論理信号ＰＡＳＳ（図示せず）が０となり、カウンタ値ＣＮＴが１となる。ここで、コントロール回路内部論理信号ＰＡＳＳは、クロック信号の選択を指示するための信号であり、０のとき次に進み、１のとき最終決定とする。すなわち、コントロール回路内部論理信号ＰＡＳＳが０である期間は、スキューの調整が行われていることとなる。
【００３７】
次に、各テストコントローラ１２、２２、３２の制御に従って、アドレス生成回路１０及びデータ入出力回路２０、３０によりテストデータが外部メモリ４０に書き込まれる（ステップＳ２）。
【００３８】
次に、各テストコントローラ１２、２２、３２の制御に従って、アドレス生成回路１０及びデータ入出力回路２０、３０により、外部メモリ４０からデータが読み出される（ステップＳ３）。具体的には、外部メモリ４０において、ステップＳ２でテストデータを書き込んだ領域からデータが読み出される。
【００３９】
続いて、データ入出力回路２０、３０のラッパー回路２３、３３は、ステップＳ２において書き込んだテストデータと、ステップＳ３において読み出されたデータとを比較する（ステップＳ４）。
【００４０】
その結果、テストデータと読み出されたデータとが不一致の場合には、ラッパー回路２３、３３は、テスト結果がＦＡＩＬである（テスト動作にて異常動作が確認された）と判断し、テストモード信号Ｔ＿Ｒ１、Ｔ＿Ｒ２の論理値を０にする。テストモード信号Ｔ＿Ｒ１、Ｔ＿Ｒ２の論理値が０である場合には、テスト信号ＴＳＴ、及びテストモード信号Ｔ＿Ａ１、Ｔ＿Ａ２、Ｔ＿Ｄ１、Ｔ＿Ｄ２の論理値は変化せず、カウンタイネーブル信号ＥＮ１、ＥＮ２の論理値は０であり、カウンタ値ＣＮＴが１だけインクリメントされる（ステップＳ５）。なお、カウンタ回路の仕様によってはデクリメントであっても良い。
【００４１】
そして、ステップＳ２に戻り、再びステップＳ２以降の処理を行う。これにより、テスト結果がＦＡＩＬである（テスト動作にて異常動作が確認された）と判断された場合には、カウンタ値ＣＮＴが更新されることで、位相の異なる次の内部クロック信号が自動的に選択され、上述した処理が行われる。
【００４２】
一方、ステップＳ４での比較の結果、テストデータと読み出されたデータとが一致する場合には、ラッパー回路２３、３３は、テスト結果がＰＡＳＳである（テスト動作にて正常動作が確認された）と判断し、テストモード信号Ｔ＿Ｒ１、Ｔ＿Ｒ２の論理値を１にする。これにより、テスト信号ＴＳＴ、及びテストモード信号Ｔ＿Ａ１、Ｔ＿Ａ２、Ｔ＿Ｄ１、Ｔ＿Ｄ２の論理値が１に変化するとともに、コントロール回路内部論理信号ＰＡＳＳの論理値が１に変化し、そのときの内部クロック信号ＣＫＩ１、ＣＫＩ２がクロック位相の調整された（スキュー調整された）内部クロック信号として決定される（ステップＳ６）。
【００４３】
なお、上述した説明では、データ入出力回路２０、３０の動作をまとめて説明したが、テスト結果の判定及びそれに応じた内部クロックの決定は、データ入出力回路２０、３０がそれぞれ独立して行う。以上のようにして、内部クロック信号ＣＫＩ１、ＣＫＩ２の位相をずらしながら、テスト動作を逐次行うことにより、データ入出力回路２０、３０が構成された各チップでのクロック信号の位相調整が行われる。
【００４４】
上述した説明では、アドレス生成回路１０、データ入出力回路２０、３０により１つの外部メモリ４０が制御される場合を一例として示したが、図５に示すように、データ入出力回路２０、３０にそれぞれ１つの外部メモリ４０Ａ、４０Ｂを対応させ、アドレス生成回路１０、データ入出力回路２０、３０により２つの外部メモリ４０Ａ、４０Ｂを制御するようにしても良い。なお、アドレス生成回路１０、データ入出力回路２０、３０の構成及び動作は、図２に示したそれらと同様であるので説明は省略する。
図５に示すように構成した場合には、１チップに構成されたアドレス生成回路１０からのアドレス信号ＡＤＤ及びコマンド信号ＣＭＤを複数の外部メモリで共有することが可能となり、システム全体で見た場合にコストの削減を図ることができる。なお、同様にして、２つの外部メモリに限らず、さらに多数の外部メモリを制御するようにしても良いことは言うまでもない。
【００４５】
以上、説明したように本実施形態によれば、メモリコントローラをアドレス生成部分であるアドレス生成回路１０と、データ入出力部分であるデータ入出力回路２０、３０に分割して複数のチップにより構成しても、基準となるクロック信号ＣＬＫを基にクロック生成回路２５、２６にて生成した位相が異なる内部クロック信号を、テスト結果に基づいて逐次位相をずらすようにして自動的に順次選択し、テスト動作の検証を行うことで、各チップにて最適な位相のクロック信号を選択することができ、複数のチップに分割することにより生じるスキューの調整を自動で行い、メモリコントローラとして正しく動作させることができる。したがって、メモリコントローラを含め、１チップに実装可能な機能が複雑化及び多機能化するのに伴ってサイズが必然的に増大するが、上述のようにして複数のチップに分割することで、サイズの縮小及び消費電力の削減が期待される。
【００４６】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００４７】
（付記１）１つの機能マクロを構成する機能回路を分割して複数のチップに実装するとともに、
基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成して、生成した上記複数の内部クロック信号のなかの１つを選択し、選択した内部クロック信号を用いて行うテスト動作の結果に基づいて上記チップ内の機能回路に供給するクロック信号の位相を調整するようにしたことを特徴とする半導体装置。
（付記２）上記複数の内部クロック信号のなかから１つずつ順次選択した内部クロック信号を用いて上記テスト動作を行い、上記テスト動作にて正常動作が確認された内部クロック信号を上記チップ内の機能回路に供給するクロック信号に決定するようにしたことを特徴とする付記１記載の半導体装置。
（付記３）上記テスト動作は、自己テスト回路を用いて実行されることを特徴とする付記１記載の半導体装置。
（付記４）上記機能回路は、少なくともアドレス生成部とデータ入出力部が異なる上記チップに実装されたメモリコントロール回路であって、
上記クロック信号の位相調整により、上記アドレス生成部から出力されるアドレス信号と上記データ入出力部に入出力されるデータ信号とのスキューを調整するようにしたことを特徴とする付記１記載の半導体装置。
（付記５）上記テスト動作は、メモリ自己テスト回路を用いてメモリに対するテストデータの書き込み及び読み出しを行い、読み出しデータと上記テストデータとが一致した場合の内部クロック信号を上記チップ内の機能回路に供給するクロック信号に決定するようにしたことを特徴とする付記４記載の半導体装置。
（付記６）１つの機能マクロを構成する機能回路を分割して複数のチップに実装した半導体装置であって、
基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成するクロック生成回路と、
上記クロック生成回路により生成された複数の内部クロック信号のなかの１つを選択するクロック選択回路と、
上記クロック選択回路により選択された内部クロック信号を用いて行われるテスト動作の結果に基づいて上記チップ内の機能回路に供給するクロック信号の位相を調整する位相調整回路とを備えることを特徴とする半導体装置。
（付記７）上記クロック選択回路は、上記テスト動作の結果を参照して上記内部クロック信号を自動選択することを特徴とする付記６記載の半導体装置。
（付記８）上記テスト動作にて正常動作が確認されるまで、上記クロック生成回路により生成された複数の内部クロック信号を上記クロック選択回路により１つずつ順次選択し、
上記テスト動作にて正常動作が確認された内部クロック信号を上記チップ内の機能回路に供給するクロック信号に決定することを特徴とする付記７記載の半導体装置。
（付記９）上記テスト動作を実行する自己テスト回路を有することを特徴とする付記６記載の半導体装置。
（付記１０）上記機能回路は、少なくともアドレス生成部とデータ入出力部が異なる上記チップに実装されたメモリコントロール回路であることを特徴とする付記６記載の半導体装置。
（付記１１）上記テスト動作を実行するメモリ自己テスト回路を備え、
上記メモリ自己テスト回路は、
メモリに対してテストデータを書き込んだ後、当該書き込みを行った領域からデータを読み出すメモリアクセス回路と、
上記メモリアクセス回路により読み出したデータと上記テストデータとを比較し、比較結果を上記テスト動作の結果として出力する比較回路とを有することを特徴とする付記１０記載の半導体装置。
（付記１２）１つの機能マクロを構成する機能回路を分割して複数のチップに実装した半導体装置のスキュー調整方法であって、
基準となるクロック信号を基に位相が互いに異なる複数の内部クロック信号を生成し、
上記生成した内部クロック信号を１つずつ選択し、
上記選択された内部クロック信号を用いてテスト動作を行い、その結果に基づいて上記チップ内の機能回路に供給するクロック信号の位相を調整することを特徴とするスキュー調整方法。
（付記１３）上記機能回路は、少なくともアドレス生成部とデータ入出力部が異なる上記チップに実装されたメモリコントロール回路であり、
メモリ自己テスト回路を用いて実行される上記テスト動作の結果に基づいて、上記内部クロック信号の選択を行い、上記チップ内の機能回路に供給するクロック信号の位相を調整することを特徴とする付記１２記載のスキュー調整方法。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施形態におけるメモリシステムの機能構成例を示すブロック図である。
【図２】本実施形態におけるメモリコントローラの構成例を示す図である。
【図３】クロック生成回路の構成を示す図である。
【図４】本実施形態におけるクロック位相の調整処理を示すフローチャートである。
【図５】本実施形態におけるメモリコントローラの他の構成例を示す図である。
【符号の説明】
【００４９】
１０  アドレス生成回路
１１  コントロール回路
１２  テストコントローラ（アドレス）
１３  ラッパー回路（アドレス）
２０、３０  データ入出力回路
２１、３１  コントロール回路
２２、３２  テストコントローラ（データ）
２３、３３  ラッパー回路（データ）
２４、３４  カウンタ回路
２５、３５  クロック生成回路
２６、３６  クロック選択回路
４０、４０Ａ、４０Ｂ  外部メモリ
【図１】
2006275616.tif 000003
【図２】
2006275616.tif 000004
【図３】
2006275616.tif 000005
【図４】
2006275616.tif 000006
【図５】
2006275616.tif 000007