(57)【要約】【課題】高速化を実現したインタフェース回路を備えた半導体集積回路装置を提供する。【解決手段】データストローブ信号を第１入力回路で入力し、その信号変化タイミングに同期して形成されたデータを第２入力回路で入力する。上記第１入力回路を通して入力されたデータストローブ信号を受けて所定の判定領域内での内部クロックに対する到達遅延時間を第２遅延時間判定回路で判定し、上記データストローブ信号を用いてサンプリンされた上記第２入力回路を通して入力されたデータを上記内部クロックに同期化する。上記第１出力回路及び上記第１、第２入力回路の信号遅延時間に同等に設定されたダミー入力・出力回路を通したテストクロックにより信号遅延時間を判定する第１遅延時間判定回路とを設け、上記判定領域を上記第１遅延時間判定回路の判定結果に基づいて時間的に変化させる。【選択図】図１
2007109203.tif 000002
【特許請求の範囲】
【請求項１】
インタフェース回路、データ処理回路及びクロック発生回路を備え、
上記クロック発生回路は、内部クロックと外部クロックとを発生し、
前記インタフェース回路は、
上記外部クロックを外部装置に対して供給する第１出力回路と、
上記外部装置において上記外部クロックに対応して形成されたデータストローブ信号を入力する第１入力回路と、
上記外部装置において上記データストローブ信号の信号変化タイミングに同期して形成されたデータを入力する第２入力回路と、
上記第１出力回路及び上記第１、第２入力回路のいずれかとの信号遅延時間がそれぞれ同等に設定されたダミー入出力回路と、
上記ダミー入出力回路にテストクロックを供給するパルスコントロール回路と、
上記ダミー入出力回路を通したテストクロックを受けて信号遅延時間を判定する第１遅延時間判定回路と、
上記第１入力回路を通して入力されたデータストローブ信号を受けて所定の判定領域内での上記内部クロックに対する到達遅延時間を判定する第２遅延時間判定回路と、
上記第１入力回路を通して入力されたデータストローブ信号の位相を９０°シフトしたタイミング信号により上記第２入力回路を通して入力されたデータをサンプリングするサンプリング回路と、
上記サンプリングされたデータを上記第２遅延時間判定回路の判定結果に基づいて上記内部クロックに同期化する同期化回路とを含み、
上記第２遅延時間判定回路の上記判定領域を上記第１遅延時間判定回路の判定結果に基づいて時間的に変化させることを特徴とする半導体集積回路装置。
【請求項２】
請求項１において、
上記インタフェース回路は、
上記第１入力回路の入力端子に出力端子が接続された第２出力回路及び上記第２入力回路の入力端子に出力端子が接続された第３出力回路とを更に備え、
上記第２出力回路は、上記外部装置に対してデータストローブ信号を供給し、
上記第３出力回路は、上記第２出力回路を通した出力されるデータストローブの信号変化タイミングに同期してデータを上記外部装置に対して供給することを特徴とする半導体集積回路装置。
【請求項３】
請求項２において、
上記ダミー入力・出力回路を構成する出力回路の出力端子及び入力回路の入力端子は、外部端子に接続されることを特徴とする半導体集積回路装置。
【請求項４】
請求項２において、
上記第１遅延時間判定回路の出力信号を受ける補正回路を更に備え、
上記第１遅延時間判定回路の判定出力は、上記補正回路により上記第１出力回路及び上記第１、第２入力回路のいずれかとの信号遅延時間に合わせられることを特徴とする半導体集積回路装置。
【請求項５】
請求項３において、
上記外部装置は、クロック同期化回路を持たないモバイル向ＤＤＲ  ＳＤＲＡＭであることを特徴とする半導体集積回路装置。
【請求項６】
請求項５において、
上記インタフェース回路に対応して設けられ、上記モバイル向ＤＤＲ  ＳＤＲＡＭのアクセス制御を行なうメモリコントローラを更に備えてなることを特徴とする半導体集積回路装置。
【請求項７】
請求項６において、
上記メモリコントローラは、上記モバイル向ＤＤＲ  ＳＤＲＡＭの所定のリフレッシュインターバルでリードサイクルがないときに上記第２遅延時間判定回路の判定動作を行なうためのダミーリードサイクルを発生させることを特徴とする半導体集積回路装置。
【請求項８】
請求項７において、
上記メモリコントローラは、パワーオンリセットに応答して上記第２遅延時間判定回路の判定動作を行なうためのダミーリードサイクルを発生させることを特徴とする半導体集積回路装置。
【請求項９】
請求項８において、
上記第１遅延時間判定回路の判定動作は、上記モバイル向ＤＤＲ  ＳＤＲＡＭのリフレッシュサイクルで行われることを特徴とする半導体集積回路装置。
【請求項１０】
請求項９において、
上記第１遅延時間判定回路の判定動作は、複数リフレッシュサイクル毎に行われることを特徴とする半導体集積回路装置。
【請求項１１】
インタフェース回路、データ処理回路及びクロック発生回路を備え、
上記クロック発生回路は、内部クロックと外部クロックとを発生し、
前記インタフェース回路は、
上記外部クロックを外部装置に対して供給する第１出力回路と、
上記外部装置において上記外部クロックに対応して形成されたデータストローブ信号を入力する第１入力回路と、
上記外部装置において上記データストローブ信号の信号変化タイミングに同期して形成されたデータを入力する第２入力回路と、
第１容量部に接続される第３入出力回路と、
上記第３入出力回路にパルス信号を出力可能なパルスコントロール回路と、
上記第３入出力回路を通したパルス信号を受けて信号遅延時間を判定する第１遅延時間判定回路と、
上記第１入力回路を通して入力されたデータストローブ信号を受けて所定の判定領域内での上記内部クロックに対する到達遅延時間を判定する第２遅延時間判定回路と、
上記第１入力回路を通して入力されたデータストローブ信号の位相を９０°シフトしたタイミング信号により上記第２入力回路を通して入力されたデータをサンプリングするサンプリング回路と、
上記サンプリングされたデータを上記第２遅延時間判定回路の判定結果に基づいて上記内部クロックに同期化する同期化回路とを含み、
上記第２遅延時間判定回路の上記判定領域を上記第１遅延時間判定回路の判定結果に基づいて時間的に変化させることを特徴とする半導体集積回路装置。
【請求項１２】
請求項１１において、
上記インタフェース回路は、
上記第１入力回路の入力端子に出力端子が接続された第２出力回路及び上記第２入力回路の入力端子に出力端子が接続された第３出力回路とを更に備え、
上記第２出力回路は、上記外部装置に対してデータストローブ信号を供給し、
上記第３出力回路は、上記第２出力回路を通して出力されるデータストローブの信号変化タイミングに同期してデータを上記外部装置に対して供給することを特徴とする半導体集積回路装置。
【請求項１３】
請求項１２において、
上記第３入出力回路は、出力回路と入力回路とを有し、
上記出力回路の出力端子は、上記第１容量部と上記入力回路の入力端子とに並列に接続されることを特徴とする半導体集積回路装置。
【請求項１４】
請求項１３において、
上記第１容量部は上記出力回路の出力端子が接続され、半導体基板上に形成されたＰＡＤ端子であることを特徴とする半導体集積回路装置。
【請求項１５】
請求項１２において、
上記第１遅延時間判定回路の出力信号を受ける補正回路を更に備え、
上記第１遅延時間判定回路の判定出力は、上記補正回路により上記第１出力回路及び上記第１、第２入力回路のいずれかとの信号遅延時間に合わせられることを特徴とする半導体集積回路装置。
【請求項１６】
請求項１３において、
上記外部装置は、クロック同期化回路を持たないモバイル向ＤＤＲ  ＳＤＲＡＭであることを特徴とする半導体集積回路装置。
【請求項１７】
請求項１６において、
上記インタフェース回路に対応して設けられ、上記モバイル向ＤＤＲ  ＳＤＲＡＭのアクセス制御を行なうメモリコントローラを更に備えてなることを特徴とする半導体集積回路装置。
【請求項１８】
請求項１７において、
上記メモリコントローラは、上記モバイル向ＤＤＲ  ＳＤＲＡＭの所定のリフレッシュインターバルでリードサイクルがないときに上記第２遅延時間判定回路の判定動作を行なうためのダミーリードサイクルを発生させることを特徴とする半導体集積回路装置。
【請求項１９】
請求項１８において、
上記メモリコントローラは、パワーオンリセットに応答して上記第２遅延時間判定回路の判定動作を行なうためのダミーリードサイクルを発生させることを特徴とする半導体集積回路装置。
【請求項２０】
請求項１９において、
上記第１遅延時間判定回路の判定動作は、上記モバイル向ＤＤＲ  ＳＤＲＡＭのリフレッシュサイクルで行われることを特徴とする半導体集積回路装置。
【請求項２１】
請求項２０において、
上記第１遅延時間判定回路の判定動作は、複数リフレッシュサイクル毎に行われることを特徴とする半導体集積回路装置。
【請求項２２】
インタフェース回路、データ処理回路及びクロック発生回路を備え、
上記クロック発生回路は、内部クロックと外部クロックとを発生し、
前記インタフェース回路は、
上記外部クロックを第１外部端子を通して外部装置に対して供給する第１出力回路と、
上記データ処理回路で形成された制御信号を第２外部端子を通して上記外部装置に対して供給する第２出力回路と、
上記外部クロックに対応された第１データストローブ信号を第３外部端子を通して上記外部装置に供給する第３出力回路と、
上記第１データストローブ信号の信号変化タイミングに同期したデータを第４外部端子を通して上記外部装置に供給する第４出力回路と、
上記外部装置において上記外部クロックに対応された第２データストローブ信号が上記第３外部端子を介して入力される第１入力回路と、
上記外部装置において上記第２データストローブ信号の信号変化タイミングに同期したデータが上記第４外部端子を介して入力される第２入力回路と、
上記第１入力回路を通して入力された第２データストローブ信号を受けて上記内部クロックに対する到達遅延時間を判定する遅延時間判定回路と、
上記第１入力回路を通して入力された第２データストローブ信号の位相を９０°シフトしたタイミング信号により上記第２入力回路を通して入力されたデータをサンプリングするサンプリング回路と、
上記サンプリングされたデータを上記遅延時間判定回路の判定結果に基づいて上記内部クロックに同期化する同期化回路とを含み、
上記第３出力回路と上記第４出力回路は、出力制御信号が一方のレベルのときに出力動作を行い、上記出力制御信号が他方のレベルのときに出力ハイインピーダンス状態にされるトライステート出力回路からなり、
上記第３出力回路には、上記出力制御信号により出力ハイインピーダンス状態のときに、所定信号により上記第３出力外部端子をハイレベル又はロウレベルの固定レベルに設定する回路が設けられ、この期間に上記遅延時間判定回路による判定動作が行われることを特徴とする半導体集積回路装置。
【請求項２３】
請求項２２において、
上記外部装置は、クロック同期化回路を持たないＤＤＲ  ＳＤＲＡＭであることを特徴とする半導体集積回路装置。
【請求項２４】
請求項２３において、
上記インタフェース回路に対応して設けられ、上記クロック同期化回路を持たないＤＤＲ  ＳＤＲＡＭのアクセス制御を行なうメモリコントローラを更に備えてなることを特徴とする半導体集積回路装置。
【請求項２５】
請求項２４において、
上記メモリコントローラは、パワーオンリセットに応答して上記所定信号を発生させて遅延時間判定回路の判定動作を行なうためのダミーリードサイクルを実行することを特徴とする半導体集積回路装置。
【請求項２６】
請求項２５において、
上記メモリコントローラは、上記クロック同期化回路を持たないＤＤＲ  ＳＤＲＡＭのリフレッシュサイクルを指示するときに、上記所定信号を発生させて遅延時間判定回路の判定動作を行わせることを特徴とする半導体集積回路装置。
【請求項２７】
請求項２６において、
上記遅延時間判定回路の判定動作は、複数リフレッシュサイクル毎に行われることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばモバイル向のＤＤＲ−ＳＤＲＡＭ（Double Data Rate-Synchronous Dynamic Random Access Memory ）が接続されるメモリインタフェースコントローラを有するマイクロコントローラ等の半導体集積回路装置に関し、特にリードデータを内部クロックに同期化する同期化回路に適用して有効な技術に関するものである。
【背景技術】
【０００２】
本願発明者等においては、特開２００５−７８５４７公報において、ＤＤＲ−ＳＤＲＡＭが接続されるメモリインタフェースコントローラを有するデータプロセッサ等の半導体集積回路において、リードデータをメモリインタフェースコントローラ側の内部クロックに同期化する技術を提案している。この同期化技術では、特許文献１の図１のようにＤＤＲ−ＳＤＲＡＭに対するリードサイクルで入力されるデータストローブ信号を用いて内部クロックに対する上記データストローブ信号の到達遅延を判定しておき、メモリから到達したデータストローブ信号の位相をシフトした信号に基づいてリードデータをサンプリングし、サンプリングしたリードデータを上記到達遅延の判定結果に基づいて上記内部クロックに同期化するというものである。また、特許文献１の図１１のようにパルスコントロール回路により入出力バッファでの信号遅延を計測して、それを用いて信号ＤＱ，ＤＱＳを同期化する。
【０００３】
【特許文献１】特開２００５−７８５４７公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記ＤＤＲ−ＳＤＲＡＭではＤＬＬ（又はＰＬＬ）のようなクロック同期化回路を内蔵し、外部クロックと内部クロックとの同期化を行うものである。しかしながら、携帯電話機を代表とするようなモバイル（Mobile) 向の小型電子機器のために、上記ＤＬＬ又はＰＬＬのようなクロック同期化回路を削除して低消費電力化を図った、いわゆるモバイル仕様のＤＤＲ−ＳＤＲＡＭが提案されている。本願発明者においては、上記特許文献１のメモリインタフェースを図１６に示すようなマイクロコントーラ（以下、単にＭＣＵという）に搭載し、上記モバイル向のＤＤＲ−ＳＤＲＡＭ（以下、単にＭＢ−ＤＤＲ  ＳＤＲＡＭという）を接続することを検討した。この検討において、以下のような問題の生じることが判明した。
【０００５】
図１６において、ＭＣＵの出力側では内部クロックに対してクロック／ＣＫ，ＣＫに遅延時間ｔｄ１が発生し、ＭＢ−ＤＤＲ  ＳＤＲＡＭでは上記クロック同期化回路が搭載されていないのでクロック／ＣＫ，ＣＫの入力からＤＱ，ＤＱＳの信号出力までに遅延時間ｔｄ２が発生し、ＭＣＵの入力側では上記信号ＤＱ，ＤＱＳに対してＤＱｉｎ，ＤＱＳｉｎに遅延時間ｔｄ３が発生する。図１７（Ａ）に示すように、ＭＣＵではプロセスバラツキ、電源電圧変動及び温度変化等を考慮したワーストケースとベストケースの遅延時間ｔｄ１＋ｔｄ３には変動幅が存在する。図１７（Ｂ）に示すように、ＭＢ−ＤＤＲ  ＳＤＲＡＭでもプロセスバラツキ、電源電圧変動及び温度変化等を考慮したワーストケースとベストケースの遅延時間ｔｄ２には変動幅が存在する。そして、ＭＣＵの内部クロックからみると、図１７（Ｃ）に示すように上記（Ａ）と（Ｂ）を加えたベストケースとワーストースの遅延時間ｔｄ１＋ｔｄ２＋ｔｄ３に大きな変動幅が発生してしまう。
【０００６】
図１８（Ａ）に示すように、上記遅延時間ｔｄ１〜ｔｄ３が小さな場合は、内部クロックｃｋｂに同期したタイミング判定ポイントｔ１〜ｔ５によって、ＤＱＳｉｎがロウレベルからハイレベルに変化するポイントが判定ポイントｔ１とｔ２の間にあること、ハイレベルからロウレベルへの変化するポイントが判定ポイントｔ３とＴ４の間にあることが判定できる。しかしながら、図１８（Ｂ）に示すように、上記遅延時間ｔｄ１〜ｔｄ３が大きくなると、タイミング判定ポイントｔ１〜ｔ５の判定領域内にＤＱＳｉｎの信号不定期間が含まれてしまう。
【０００７】
この理由は、次の通りである。ＭＣＵからＭＢ−ＤＤＲ  ＳＤＲＡＭに対するライトモードでは、ＭＣＵがＤＱＳを発生させてライトデータとともにＭＢ−ＤＤＲ  ＳＤＲＡＭに供給する。ＭＣＵからＭＢ−ＤＤＲ  ＳＤＲＡＭに対するリードモードでは、ＭＢ−ＤＤＲ  ＳＤＲＡＭがＤＱＳを発生させてリードデータとともにＭＣＵに供給する。このようにＤＱＳ信号はＭＣＵとＭＢ−ＤＤＲ  ＳＤＲＡＭとの間で双方向に伝えられるものであるので、メモリアクセス開始前ではフローティング（ハイインピーダンスＨｉＺ）状態になっている。
【０００８】
上記リードモードでは、ＭＣＵからＭＢ−ＤＤＲ  ＳＤＲＡＭに上記リードモードが伝えられた結果、ＭＢ−ＤＤＲ  ＳＤＲＡＭによりＤＱＳがロウレベルにされるので、上記遅延時間ｔｄ１〜ｔｄ３の増大に対応して長い時間にわたってＤＱＳがフローティング状態にされる。このため、ＭＣＵにおいて最初の判定ポイントｔ１が上記フローティング状態による信号不定領域となってしまう。例えば、入力回路が不定レベルをハイレベルとしてＤＱＳｉｎを取り込むと、判定回路では既に上記判定ポイントｔ１でＤＱＳｉｎがハイレベルに変化した後であるという誤った判定を行ってしまう。そこで、判定ポイントｔ１を遅らせるようにすると、図１８（Ａ）に示すように上記遅延時間ｔｄ１〜ｔｄ３が小さな場合のＤＱＳｉｎの立ち上りポイントを判定できなくなる。結局、特許文献１の技術では、上記遅延時間ｔｄ１〜ｔｄ３の変動幅に対して内部クロックの最小周期が決められてしまうことになるので、クロックの高速化に限界がある。
【０００９】
本発明の目的は、高速化を実現したインタフェース回路を備えた半導体集積回路装置を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。第１出力回路より外部クロックを外部装置に対して供給し、上記外部クロックに対応して上記外部装置で形成されたデータストローブ信号を第１入力回路で入力し、その信号変化タイミングに同期して形成されたデータを第２入力回路で入力する。上記第１入力回路を通して入力されたデータストローブ信号を受けて所定の判定領域内での内部クロックに対する到達遅延時間を第２遅延時間判定回路で判定し、その判定結果に基づいて上記データストローブ信号を用いてサンプリンされた上記第２入力回路を通して入力されたデータを上記内部クロックに同期化する。上記第１出力回路及び上記第１、第２入力回路のいずれかとの信号遅延時間がそれぞれ同等に設定されたダミー入力・出力回路と、上記ダミー入力・出力回路にテストクロックを供給するパルスコントロール回路と、上記ダミー入力・出力回路を通したテストクロックを受けて信号遅延時間を判定する第１遅延時間判定回路とを設け、上記第２遅延時間判定回路の上記判定領域を上記第１遅延時間判定回路の判定結果に基づいて時間的に変化させる。
【００１１】
本願において開示される発明のうち他の代表的なものの概要を簡単に説明すれば、下記の通りである。半導体集積回路装置は、インタフェース回路、データ処理回路及びクロック発生回路を備える。上記クロック発生回路は、内部クロックと外部クロックとを発生する。上記インタフェース回路として、以下の回路が設けられる。第１出力回路は、上記外部クロックを第１外部端子を通して外部装置に対して供給する。第２出力回路は、上記データ処理回路で形成された制御信号を第２外部端子を通して上記外部装置に対して供給する。第３出力回路は、上記外部クロックに対応された第１データストローブ信号を第３外部端子を通して上記外部装置に供給する。第４出力回路は、上記第１データストローブ信号の信号変化タイミングに同期したデータを第４外部端子を通して上記外部装置に供給する。第１入力回路は、上記外部装置において上記外部クロックに対応された第２データストローブ信号が上記第３外部端子を介して入力される。第２入力回路は、上記外部装置において上記第２データストローブ信号の信号変化タイミングに同期したデータが上記第４外部端子を介して入力される。遅延時間判定回路は、上記第１入力回路を通して入力された第２データストローブ信号を受けて上記内部クロックに対する到達遅延時間を判定する。サンプリング回路は、上記第１入力回路を通して入力された第２データストローブ信号の位相を望ましくは９０°シフトしたタイミング信号により上記第２入力回路を通して入力されたデータをサンプリングする。同期化回路は、上記サンプリングされたデータを上記遅延時間判定回路の判定結果に基づいて上記内部クロックに同期化する。そして、上記第３出力回路と上記第４出力回路は、出力制御信号が一方のレベルのときに出力動作を行い、上記出力制御信号が他方のレベルのときに出力ハイインピーダンス状態にされるトライステート出力回路である。上記第３出力回路には、上記出力制御信号により出力ハイインピーダンス状態のときに、所定信号により上記第３出力外部端子をハイレベル又はロウレベルの固定レベルに設定する回路が設けられ、この期間に上記遅延時間判定回路による判定動作が行われる。
【００１２】
上記第２入力回路を通して入力されたデータをサンプリングする際に、第２データストローブ信号を「９０°」シフトしたタイミング信号を用いる理由は、サンプリング回路におけるデータ信号に対するセットアップ／ホールド時間を確保であり、データ信号の周期によらず最も時間的な余裕を確保可能となるのが、第２データストローブ信号を９０°シフトした信号をサンプリング周期を決める信号として用いることである。このため、データ信号の周期がより長い場合などでは上記セットアップ／ホールド時間をより多く確保可能となる為、シフト量を９０°に限定せずに適宜変更が可能である。
【発明の効果】
【００１３】
入力・出力回路での遅延時間に対応した判定領域の時間的変化により、等価的に信号遅延の変動幅を小さく抑えて高速化が可能となる。出力ハイインピーダンス状態での不定レベルが遅延判定時に固定レベルとなり、入力・出力回路での遅延時間の変動に影響されないで入力データの同期化を行うことができる。
【発明を実施するための最良の形態】
【００１４】
図１には、この発明に係る半導体集積回路装置の一実施例のブロック図が示されている。同図では、それによりアクセスされる外部装置としてのメモリ６も合わせて示されている。同図の半導体集積回路装置１は、特に制限されないが、ＭＣＵ（マイクロコントローラ）を構成し、例えば単結晶シリコンのような１個の半導体基板に相補型ＭＯＳ集積回路製造技術などによって形成される。
【００１５】
ＭＣＵ１は、代表的に示されたデータ処理回路としてのＣＰＵ（中央処理装置）２、メモリインタフェース回路３、外部メモリコントローラ４及びクロック発生回路５を有する。上記ＣＰＵ２は命令制御部と演算部を有し、命令制御部は命令フェッチを制御し、フェッチした命令をデコードする。演算部は命令のデコード結果や命令で指定されるオペランドを用いたデータ演算やアドレス演算を行って命令を実行する。メモリインタフェース回路３は別チップで構成された上記メモリ６と直結可能とされる。上記メモリ６は、例えば、前記ＭＢ−ＤＤＲ  ＳＤＲＡＭとされる。
【００１６】
メモリインタフェース回路３は、外部メモリコントローラ４に接続される。この外部メモリコントローラ４は、上記ＭＢ−ＤＤＲ  ＳＤＲＡＭ６をアクセスするためのインタフェース制御を行う。上記ＭＢ−ＤＤＲ  ＳＤＲＡＭ６は、特に制限されないが、前記説明したような公知のＤＤＲ  ＳＤＲＡＭからＤＬＬやＰＬＬのようなクロック同期化回路を除いたものである。その詳細は説明しないが、上記ＭＢ−ＤＤＲ  ＳＤＲＡＭ６は、ロウアドレスストローブ信号（／ＲＡＳ）、カラムアドレスストローブ信号（／ＣＡＳ）、ライトイネーブル信号（／ＷＥ）など各種制御信号（コマンド）はメモリクロックとしてのクロックＣＫの立ち上りエッジでラッチされる。入出力データＤＱは双方向ストローブ信号としてのデータストローブ信号ＤＱＳと一緒に転送される。データストローブ信号ＤＱＳはリード／ライト動作時にデータ入出力動作の基準クロックとされる。
【００１７】
リード動作時にＭＢ−ＤＤＲ  ＳＤＲＡＭ６は、データストローブ信号ＤＱＳのエッジ（変化点）とリードデータのエッジを一致させて出力する。ライト動作時にＭＣＵ１の外部メモリコントローラ４は、データストローブ信号ＤＱＳのエッジをライトデータの中央に位置させてＭＢ−ＤＤＲ  ＳＤＲＡＭ６に向けて出力する。図１ではＭＢ−ＤＤＲ  ＳＤＲＡＭ６にはクロックＣＫ，／ＣＫの入力端子１０，１１、データＤＱの入出力端子１２、データストローブ信号ＤＱＳの入出力端子１３が代表的に示されている。前記クロック発生回路５はＣＰＵ２及び外部メモリコントローラ４の動作基準クロックＣＬＫと共に、上記ＭＢ−ＤＤＲ  ＳＤＲＡＭの同期制御に用いるクロックであるクロックｃｋａ、ｃｋｂのような内部クロック生成する。例えばクロックｂはクロックａの２倍の周波数を持つ。
【００１８】
前記メモリインタフェース回路３は、外部装置であるＭＢ−ＤＤＲ  ＳＤＲＡＭ６を直結するための入力・出力回路と共に、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６から出力されるデータストローブ信号ＤＱＳ及びリードデータＤＱを、内部クロックｃｋｂに同期化するための同期化回路を有する。
【００１９】
前記入力・出力回路として、代表的にクロックＣＫ、／ＣＫの出力回路１５，１６、データＤＱの入力・出力回路１７、データストローブ信号ＤＱＳの入力・出力回路１８が例示されている。上記ＭＢ−ＤＤＲ  ＳＤＲＡＭ６への読み出し動作指示（ＲＥＡＤコマンド）に応じて、出力回路１５，１６は、クロック出力端子１９、２０から外部にクロックＣＫ，／ＣＫを出力する。入力・出力回路１７は、外部端子２１を介してＭＢ−ＤＤＲ
ＳＤＲＡＭ６のデータ端子１２に接続される。入力・出力回路１８は、外部端子２２を介してＭＢ−ＤＤＲ  ＳＤＲＡＭ６のデータストローブ端子１３に接続される。前記データストローブ信号ＤＱＳ及びリードデータＤＱを内部クロックに同期化するための回路として、遅延時間判定回路４３、ホールド回路４４、位相シフト回路２７、サンプリング回路２８及び同期化回路４５が設けられる。
【００２０】
前記遅延時間判定回路４３は、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６から出力される信号ＤＱＳ及びＤＱを、内部クロックに同期化するため、データストローブ信号ＤＱＳ自体の到達時間を計測する。ＤＱＳ端子２２の入力・出力回路１８から、遅延時間判定回路４３および位相シフト回路２７までの遅延時間（ＤＱＳin系）と、ＤＱ端子２１の入力・出力回路１７からサンプリング回路２８までの遅延時間（ＤＱinの系）は、ほぼ同一になる（クロックスキュー（Ｓkew）≒０）ようにされている。遅延時間判定回路４３では、内部クロックを基準にして、信号ＤＱＳinの到達時刻（遅延時間ｔｄ１＋ｔｄ２＋ｔｄ３）を計測する。例えば、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６の動作サイクルを規定するクロックｃｋａよりも速い例えばその２倍周期のクロックｃｋｂのライズエッジとフォールエッジの双方を用いて、どのタイミングでＤＱＳがロウレベルからハイレベル（論理０から論理１）１に変化したかを判定することによって、ＤＱＳinの到達時刻（遅延時間）を計測する。ＤＱＳの変化エッジが連続した場合に、誤ったエッジを認識してしまわないよう、遅延時間の判定のための計測はリードバスサイクルが連続していないときに行うことが望ましい。
【００２１】
遅延時間判定回路４３で計測されたＤＱＳの遅延時間は、バスサイクルの切れ目、例えばメモリリフレッシュサイクル期間、メモリライトサイクルの期間に、同期化制御情報ＣＮＴｓｙｃとしてホールド回路２６にセットされる。ホールド回路２６にセットされた同期化制御情報ＣＮＴｓｙｃは、それ以降のメモリリードサイクルで使用される。遅延時間判定回路４３による遅延時間計測動作の動作指示は、例えば外部メモリコントローラ４からキャリブレーション開始指示信号３０にて与えられる。
【００２２】
位相シフト回路２７は、可変遅延回路を用いた可変位相シフト回路とされる。位相シフト回路２７は、クロックｃｋｂのサイクルを基準に９０°位相シフトを行うから、可変遅延回路に対する遅延設定（遅延時間調整）が必要になる。遅延時間調整は、メモリリードサイクルが発生していないとき、例えば、メモリリフレッシュサイクルやメモリライトサイクル時等に行う。例えばその動作指示は外部メモリコントローラ４からキャリブレーション開始指示信号３０にて与えられる。９０°位相シフトされたデータストローブ信号ＤＱＳｉｎはＤＱＳ−９０と表される。サンプリング回路２８は、位相シフト回路２７にて９０°遅延されたＤＱＳのライズエッジとフォールエッジの両エッジを使って、リードデータＤＱをサンプリングする。
【００２３】
同期化回路４５は、クロックｃｋｂの正相及び逆相クロックでラッチ動作を行うフリップフロップの直列段数を相違させた複数経路を有し、その中から一つの経路を同期化制御情報ＣＮＴｓｙｃで選択するようになっている。これにより、同期化回路４５は、遅延時間判定回路４３で計測されて、バスサイクルの切れ目で逐次アップデートされ、ホールド回路２６に保持された同期化制御情報ＣＮＴｓｙｃにより、サンプリング回路２８でサンプリングされたデータＤＱ（ＤＱsmp ）を、内部クロックｃｋｂに同期化する。データＤＱＳsyc は、データＤＱsap を、遅延時間判定回路２７及び４１で算出した同期化制御情報ＣＮＴｓｙｃを保持するホールド回路２６の出力に従って、同期化回路４５で内部クロック（クロックｃｋｂ）に同期化されたデータである。
【００２４】
この実施例では、前記のようなＭＣＵ１の出力時での遅延時間ｔｄ１及び前記クロック同期化回路を有さないＭＢ−ＤＤＲ  ＳＤＲＡＭ６での遅延時間ｔｄ２が、上記遅延時間判定回路４３で計測したＤＱＳの遅延時間（ｔｄ１＋ｔｄ２＋ｔｄ３）に含まれることになってしまう。この結果、計測された遅延時間の変動幅が前記図１７（Ｃ）に示したように大きくなり、結果としてクロック周期を制限してしまう。
【００２５】
この実施例では、上記遅延時間の変動幅を等価的に小さくさせるために、ダミー入力・出力回路２３、パルスコントロール回路４０、遅延時間判定回路４１及びホールド回路４２が設けられる。上記ダミー入力・出力回路２３は、前記入力・出力回路１７や１８及び入力回路に関しては前記入力回路１５と同等の回路、いわゆるレプリカ回路とされる。上記入力・出力回路２３の出力回路の出力端子と入力回路の入力端子とは外部端子２４に接続されている。かかる外部端子２４には、特に制限されないが、上記ＭＢ−ＤＤＲ  ＳＤＲＡＭ６の入力容量、若しくは更にＭＣＵ１とＭＢ−ＤＤＲ  ＳＤＲＡＭ６との間の配線容量に相当する容量を付加した容量と等価なダミー容量ＤＣが接続される。
【００２６】
なお、上記入力・出力回路２３や出力回路１５，１６等の入力回路・出力回路は、図示しないパッド（ＰＡＤ）を介して夫々の外部端子２４，１９，２０等に接続される。このＰＡＤは半導体基板上に形成される所定の大きさを持つ金属領域であり、その大きさに応じた容量を持ち、半導体集積回路装置の外部端子として一部が露出されるリードフレームと金配線によるボンディング等で接続される。
【００２７】
上記パルスコントロール回路４０は、上記入力・出力回路２３の出力回路の入力にテストパルスＲＰｏｕｔを供給する。上記入力・出力回路２３の入力回路を通して伝えられたテストパルスＲＰｉｎは、上記遅延時間判定回路４１に入力される。この遅延時間判定回路４１では、上記入力・出力回路２３が前記のようにレプリカ回路とされていること、及びダミー容量ＣＤが接続されていることから、ＭＣＵ１の出力回路と入力回路の遅延時間ｔｄ１＋ｔｄ３を計測する。この計測結果（ｔｄ１＋ｔｄ３）をホールド回路３２に取り込み、上記遅延時間判定回路４３に送り、遅延時間判定回路４３では、実質的に遅延時間ｔｄ２の計測動作を行ようにする。
【００２８】
図２には、この発明に係るメモリインタフェース回路３の動作の一例を説明するための波形図が示されている。図２においてｔｄ１は、タイミングを合わせたクロックＣＫＢout とＣＫout のクロックポイントの末端から、出力回路１５、１６を経由して、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６のＣＫ端子１０，１１までの遅延時間を示す。この端子１０，１１におけるクロックＣＫ、／ＣＫのクロスポイントが、データストローブ信号ＤＱＳ及びデータＤＱの基準タイミングとなる。ＭＢ−ＤＤＲ  ＳＤＲＡＭ６ではデータストローブ信号ＤＱＳの出力段にＤＬＬ回路を内蔵せず、端子１０，１１におけるクロックＣＫ，／ＣＫに対して遅延時間ｔｄ２を持って出力するように構成されている。遅延時間ｔｄ３は、ＤＱＳ端子２２から入力回路１８を経由して、遅延時間判定回路４３や位相シフト回路２７至るまでの遅延時間を表す。これらの遅延時間ｔｄ１及びｔｄ３は、前記ダミー入力・出力回路での遅延時間ｔｄ１及びｔｄ３と同等となるようにされている。
【００２９】
図２（Ａ）では、上記遅延時間ｔｄ１及びｔｄ３とｔｄ２が最も小さなＭＣＵ１とＭＢ−ＤＤＲ  ＳＤＲＡＭ６のベスト／ベスト組み合わせの例が示されている。かかる組み合わせを基準にして、可変タイミング判定ポイントｔ１〜ｔ５が設定されている。同図（Ａ）では、判定ポイントｔ１とｔ２の間でＤＱＳｉｎがロウレベルからハイレベルに変化したことを検出する。これに対して、図２（Ｂ）では、ＭＣＵ１での遅延時間ｔｄ１及びｔｄ３がベストで、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６での遅延時間ｔｄ２がワーストのベスト／ワーストの組み合わせの例が示されている。この例では、ＭＣＵ１での遅延時間ｔｄ１及びｔｄ３がベストの状態であり、前記遅延時間判定回路４３での上記可変タイミング判定ポイントｔ１〜ｔ５はそのままに維持される。したがって、前記遅延時間判定回路４３では上記ＭＢ−ＤＤＲ  ＳＤＲＡＭ６での遅延時間ｔｄ２に対応して、判定ポイントｔ３とｔ４の間でＤＱＳｉｎがロウレベルからハイレベルに変化したことを検出する。
【００３０】
図３には、この発明に係るメモリインタフェース回路３の動作の他の一例を説明するための波形図が示されている。図３（Ａ）では、前記図２（Ａ）と同様に上記遅延時間ｔｄ１及びｔｄ３とｔｄ２が最も小さなＭＣＵ１とＭＢ−ＤＤＲ  ＳＤＲＡＭ６のベスト／ベスト組み合わせの例が示されている。これに対して、図３（Ｂ）では、ＭＣＵ１での遅延時間ｔｄ１及びｔｄ３がワーストで、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６での遅延時間ｔｄ２がベストのワースト／ベストの組み合わせの例が示されている。この例では、ＭＣＵ１での遅延時間ｔｄ１及びｔｄ３の遅延時間を前記遅延時間判定回路４１が判定し、その判定結果に対応して前記遅延時間判定回路４３での上記可変タイミング判定ポイントｔ１〜ｔ５を内部クロックｃｋｂの１．５周期（３ポイント）遅らせるように変化（シフト）させる。この結果、ものと判定ポイントｔ１のままならＤＱＳｉｎの不定レベルを取り込んでしまうという誤動作が回避されて、上記図３（Ａ）と同様に判定ポイントｔ１とｔ２の間でＤＱＳｉｎがロウレベルからハイレベルに変化したことを検出する。つまり、図３（Ｂ）の例では、上記のようなＤＱＳｉｎの判定誤動作を防止しつつ、前記遅延時間判定回路４１での判定時間（１．５周期分）に、上記前記遅延時間判定回路４３での判定結果が反映されて同期化動作が行われる。
【００３１】
図４には、この発明に係るメモリインタフェース回路３の動作の更に他の一例を説明するための波形図が示されている。図４（Ａ）では、前記図２（Ａ）と同様に上記遅延時間ｔｄ１及びｔｄ３とｔｄ２が最も小さなＭＣＵ１とＭＢ−ＤＤＲ  ＳＤＲＡＭ６のベスト／ベスト組み合わせの例が示されている。これに対して、図４（Ｂ）では、ＭＣＵ１での遅延時間ｔｄ１及びｔｄ３と、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６での遅延時間ｔｄ２がともに図４（Ａ）のベストよりも悪い組み合わせの例が示されている。この例では、ＭＣＵ１での遅延時間ｔｄ１及びｔｄ３の遅延時間を前記遅延時間判定回路４１が判定し、その判定結果に対応して前記遅延時間判定回路４３での上記可変タイミング判定ポイントｔ１〜ｔ５を内部クロックｃｋｂの１．０周期分（２ポイント）遅らせるように変化（シフト）させる。この結果、ものと判定ポイントｔ１のままならＤＱＳｉｎの不定レベルを取り込んでしまうという誤動作が回避されて、上記遅延時間ｔｄ２の増大に対応して判定ポイントｔ３とｔ４の間でＤＱＳｉｎがロウレベルからハイレベルに変化したことを検出する。つまり、図４（Ｂ）の例では、上記のようなＤＱＳｉｎの判定誤動作を防止しつつ、前記遅延時間判定回路４１での判定結果（１．０周期分）に、上記前記遅延時間判定回路４３での判定結果が反映されて同期化動作が行われる。
【００３２】
図５には、この発明に係る半導体集積回路装置の他の一実施例のブロック図が示されている。この実施例では、ダミー入力・出力回路２３に、外部端子２４が設けられない。この結果、テストパルスＲＰｉｎの遅延時間ｔｄ１’＋ｔｄ３’には、前記外部端子及び外部装置の入力容量に対応したダミー容量ＣＤでの信号遅延分が含まれない。そこで、補正回路４６が設けられる。補正回路４６は、上記信号遅延分を補正する動作を行う。例えば、図６に示すように、遅延時間判定回路４１の計測時間に補正テーブルを用い、あるいは演算を行って補正値を加えて疑似的に前記遅延時間（ｔｄ１＋ｔｄ３）を形成し、それをホールド回路４６に保持させる。他の構成は、前記図１の実施例と同様である。この構成では、外部端子やダミー容量を省略することができる。
【００３３】
図７には、遅延時間判定動作及びその判定結果による同期化制御情報の更新動作度とメモリアクセス動作の代表的な説明図が示される。ＭＢ−ＤＤＲ  ＳＤＲＡＭ６は、通常のダイナミック型ＲＡＭと同様に一定周期毎のメモリリフレッシュが必要となり、それ以外の期間は通常のメモリアクセスが行われる。このメモリアクセスの期間におけるリードアクセス期間に、遅延時間判定回路４３でストローブ信号ＤＱＳの遅延時間判定（ＤＱＳ到着タイミング判定）を行い、判定結果によるホールド回路４４の保持値更新（制御情報更新）や遅延時間判定回路４１を用いた内部遅延計測はメモリアクセスの発生しないメモリリフレッシュの期間、或いはリードサイクルの発生しないライトアクセス期間に行えばよい。
【００３４】
ただし、メモリリフレッシュインターバルに一回もメモリリードアクセスが発生しないことが考えられる。その場合にはホールド回路４４が保持する同期化制御情報ＣＮＴｓｙｃを更新することができない。ホールド回路４４が保持する古すぎる同期化制御情報ＣＮＴｓｙｃを使うことを回避するには、メモリリフレッシュインターバルに一回もメモリリードアクセスが発生しないとき、メモリリフレッシュサイクルを始める直前に、自動的にダミーリードアクセスサイクルを発生させる。これにより、同期化制御情報ＣＮＴｓｙｃが古くなり過ぎることを回避できる。また、ＭＣＵのパワーオン時には内部遅延計測及びダミーリードを実施し、内部状態をクリアするためにメモリリフレッシュが実施される。この間に、上記内部遅延やＤＱＳ判定タイミング判定及び制御情報更新が実施される。
【００３５】
図８には、前記図７に示した前記遅延時間判定回路４１及び４３を用いたタイミング調整動作制御のフロー図が示されている。パワーオンリセットに続けて前記テストパルスを用いて前記遅延時間判定回路４１による１）内部遅延計測、２）メモリリード時のＤＱＳタイミング判定のウィンドウ設定が行われる。３）ダミーリードサイクルが発生され遅延時間判定回路４３による判定動作が行なわれる。その直後に４）メモリリフレッシュが行なわれる。次に、５）メモリリードアクセスフラグをクリアし、６）上記内部遅延計測、７）メモリリード時のＤＱＳタイミング判定のウィンドウ設定が行われる。
【００３６】
８）メモリアクセス期間スタートを経て、９）メモリリフレッシュ要求の判定が行われる。もしもリフレッシュ要求がなければ、１０）メモリリードアクセス要求の判定が行われる。もしもメモリリード要求がなければ、ステップ９）に戻る。メモリリード要求があると、１１）メモリリードが行われる。このとき、メモリ応答速度計測が実施される。１２）上記メモリリードフラグセットして、上記ステップ９）に戻る。
【００３７】
メモリリフレッシュ要求があると、１７）メモリアクセス期間エンドとし、１８）上記メモリードフラグ判定して、直前のメモリアクセス期間に１回でもメモリリードがあったかを判定する。もしも、メモリリードがないと１９）ダミーリード発生し、メモリ応答速度計測を行う。上記メモリリードがある場合と上記ダミーリードが終了すると、１３メモリリフレッシュ（同期化機構タイミング設定）が行われる。この同期化機構タイミング設定は、１４）メモリリードフラグがクリアされる。１５）内部遅延計測が行われる。１６）メモリリード時のＤＱＳタイミング判定ウィンドウ設定されることをいう。このメモリリフレッシュ後に上記ステップ８）メモリアクセス期間スタートに移行する。
【００３８】
この構成では、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６に対して供給するクロックＣＫと内部クロックとの位相合わせは行わず、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６から出力されるデータストローブ信号ＤＱＳを用いて遅延時間及び自身の入出力動作での遅延時間を測定し、そこから得られる情報により、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６から取り込んだデータのタイミング補正を行う。
【００３９】
データストローブ信号ＤＱＳの遅延時間の計測は、随時ないしバスサイクルの切れ目で行い、その情報を実際のタイミング調整機構に反映するのは、メモリリフレッシュサイクル等の期間で行うから、データリードの際に出力されたデータストローブ信号の遅延時間の情報そのものをデータのタイミング調整に使用する場合に比べて、遅延時間計測と計測結果の反映タイミングがクリティカルになることを抑制することができる。また、メモリリフレッシュサイクル間で、１回もタイミング計測の元情報になるデータリードサイクルが発生しない場合、メモリリフレッシュサイクル起動時にチェックを行い、ダミーリードサイクルを挿入する。
【００４０】
このように、内部で同期化すべきデータストローブ信号のタイミングＤＱＳそのものを自身の入出力動作での遅延時間を考慮した可変タイミング判定ウィンドウ（可変タイミング判定ポイント）により計測するため、ＤＱＳの不定レベルよる誤判定を回避した信頼性の高い情報を使って、内部クロックに同期化することができる。また、可変タイミング判定ウィンドウでＤＱＳ信号の判定を行ため、反射等の問題を気にすることなく、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６の動作タイミングを知ることができる。実際にタイミング調整したい信号ＤＱＳそのものを使って、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６が出力するデータストローブ信号ＤＱＳを計測を行ため、余計な誤差が入らず、しかもクリティカルパス等の問題もないため、動作マージンを最大限に取ることができ、動作を安定化させることが容易となる。さらに、タイミング計測が自身の入出力動作での遅延時間を用いることでより正確になるため、汎用ＤＤＲ  ＳＤＲＡＭのようにクロック同期化回路を持たない外部装置に対しても余計な設計マージンを持つ必要がなくなり、より高速のＤＤＲインタフェースの実現が可能となる。
【００４１】
図９には、遅延時間判定動作及びその判定結果による同期化制御情報の更新動作度とメモリアクセス動作の他の代表的な説明図が示される。この実施例は、図７の実施例の変形例であり、メモリリフレッシュ毎に内部遅延測定（遅延時間計測によるＤＱＳタイミング設定ウィンドウタイミング決定）を行のではなく間引きが行われる。つまり、複数のメモリリフレッシュに１回の割合で上記内部遅延測定（遅延時間計測によるＤＱＳタイミング設定ウィンドウタイミング決定）を行ようにするものである。それ故、メモリアクセスのときにリードが１回も無い場合のダミーリードは、その直後のメモリリフレッシュにおいて、上記内部遅延測定が行われることを条件に実施される。
【００４２】
図１０には、この発明に用いられる遅延時間判定回路４１及び４３を用いたタイミング調整動作制御のフロー図が示されている。ステップ１）〜１９）は前記図８と同様であり、それに６）内部遅延計測後に７’）内部遅延計測回数カウンタクリアが追加され、同様に１５）内部遅延計測後に１６’）内部遅延計測回数カウンタクリアが追加される。そして、１８）及び１９）の後に２０）内部遅延計測回数が規定値を超えたかの判定が行われ、もしも規定値を超えたときには１３）メモリリフレッシュに移行する。上記規定値を超えないと、２１）メモリリフレッシュ（同期化機構タイミング設定）が実施され、この同期化機構タイミング設定として、２２）メモリリードフラグクリア、内部遅延計測回数カウンタ＋１、２４）メモリリード時のＤＱＳタイミング判定ウィンドウ設定が行われて、ステップ８）メモリアクセス期間スタートに移行する。
【００４３】
図１１には、この発明に用いられるサンプリング回路２８の具体例が示されている。データＤＱは例えば６４ビットとされる。入力はＤＱin[63:0]とされ、各ビットに対し、９０°位相シフトされた信号ＤＱＳ−９０のライズエッジＤＱＳ−ｒ９０とフォールエッジＤＱＳ−ｆ９０で別々のフリップフロップ回路ＦＦｒ、ＦＦｆにラッチしてサンプリングするようになっている。ＤＱＳ-f９０は９０°位相シフトされた信号ＤＱＳ−９０のフォールエッジ同期パルス、ＤＱＳ-r９０は９０°位相シフトされた信号ＤＱＳ−９０のライズエッジ同期パルスである。サンプリング回路２８の出力は、ライズエッジで同期化されたデータＤＱsmp-r[63:0] と、フォールエッジで同期化されたデータＤＱsmp-ｆ[63:0]として出力される。
【００４４】
図１２には、この発明に用いられる同期化回路４５の具体例が示されている。同期化回路４５はサンプリング回路２８から出力されるデータＤＱsm-r[63:0]、ＤＱsmp-f[63:0]を同期化制御情報ＣＮＴｓｙｃに従って可変遅延ＦＩＦＯにて内部クロックｃｋｂに同期化している。ＦＦｔ１はｃｋｂの正相クロックのライズエッジでラッチ動作を行うフリップフロップ、ＦＦｔ２はｃｋｂの正相クロックのライズエッジでラッチ動作を行うフリップフロップ、ＦＦｂ３はｃｋｂの逆相クロックのライズエッジでラッチ動作を行うフリップフロップである。ＳＥＬ１，ＳＥＬ２，ＳＥＬ３はセレクタである。セレクタＳＥＬ２，ＳＥＬ３はホールド回路４４からの同期化制御情報ＣＮＴｓｙｃでパスＰＡＳ１、ＰＡＳ２、ＰＡＳ３を選択可能にされる。セレクタＳＥＬ１はライズ／フォールの切り換え制御に同期して交互に入力を選択する。
【００４５】
例えば、ｃｋａのハイレベルとロウレベルによって入力の選択を切り換える。遅延時間判定回路４１及び遅延時間判定回路４３で判定された遅延時間に照らし、内部クロックに対してデータＤＱの到達が最も早かった場合は、パスＰＡＳ１を選択することで、セレクタＳＥＬ２，ＳＥＬ３からの出力をｃｋｂの１サイクル分遅延させて内部ｃｋｂに同期化する。もう少し遅かった場合は、パスＰＡＳ２を選択し、更にｃｋｂの１／２サイクル分遅延させる。もっと遅かった場合、パスＰＡＳ３を選択し、余計な遅延を介さない。セレクタＳＥＬ２，ＳＥＬ３の出力はＦＦｔ１でｃｋｂに同期されてラッチされ、これによってＤＱsyc はｃｋｂに同期化されたデータとして後段に供給される。
【００４６】
図１３には、ＭＢ−ＤＤＲ  ＳＤＲＡＭに対するライトアクセス時およびリードアクセス時におけるデータＤＱとデータストローブ信号ＤＱＳの関係が示される。ライトアクセス時は、データＤＱに対して、データストローブ信号ＤＱＳの位相を９０°遅らせて出力する。これを受けるＭＢ−ＤＤＲ  ＳＤＲＡＭ６はデータＤＱをデータストローブ信号ＤＱＳのエッジに同期してサンプリングする。リードアクセス時は、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６がデータＤＱとデータストローブ信号ＤＱＳを同時に出力する。インタフェース回路３は、前述のようにそれらを受けて、９０°位相を遅らせたデータストローブ信号ＤＱＳ−９０で、データＤＱのサンプリングを行う。
【００４７】
図１４には、遅延時間判定回路４３の一例が示されている。遅延時間判定回路４３はフリップフロップの直列回路３２とその出力から遅延時間を判定して２ビットの同期化制御情報ＣＮＴｓｙｃを出力する論理回路３３によって構成される。フリップフロップの直列回路３２はフリップフロップＦＦａ，ＦＦｂ，ＦＦｃ，ＦＦｄの４段直列回路と、フリップフロップＦＦｅ，ＦＦｆ，ＦＦｇ，ＦＦｈの４段直列回路を有する。フリップフロップＦＦａ，ＦＦｂはｃｋｂの逆相クロック（ｃｋｂ逆相）のライズエッジでラッチ動作を行い、フリップフロップＦＦｃ〜ＦＦｈはｃｋｂの正相クロック（ｃｋｂ）のライズエッジでラッチ動作を行う。
【００４８】
論理回路３３はＦＦｃ、ＦＦｄ、ＦＦｆ、ＦＦｇ、ＦＦｈの出力を入力して、取り込んだデータＤＱＳｉｎが、ｃｋｂに対してどのタイミングで１に変化したかを判定し、その結果を２ビットの同期化制御情報ＣＮＴｓｙｃとしてホールド回路２６に出力する。遅延時間判定回路４１も同様に取り込んだデータｒｐｉｎが、ｃｋｂに対してどのタイミングで１に変化したかを判定する。これらのフリップフロップ回路の段数は、クロックｃｋｂの周期と遅延時間ｔｄ１＋ｔｄ３及びｔｄ２の関係で選ばれる。
【００４９】
図１５には、この発明に係る半導体集積回路装置の他の一実施例のブロック図が示されている。この実施例では、ダミー入力・出力回路２３は半導体基板上のパッド（ＰＡＤ）２４’に接続される。パッド２４’にはパッド自体の寄生容量Ｃｐがあるため、同図には模擬的にパッド２４’に容量Ｃｐが接続されている。この容量Ｃｐは半導体基板上に形成される容量を含むものであっても良い。パッド２４’の寄生容量及び半導体基板上に形成される容量は、外部に接続される容量ＤＣと比較して少ない容量しか形成できないことも考えられる。その場合、遅延時間ｔｄ１’＋ｔｄ３’に対して前記図５の実施例で説明したような補正値による補正により前記遅延時間（ｔｄ１＋ｔｄ３）を形成すればよい。
【００５０】
図１９には、この発明に係る半導体集積回路装置の他の一実施例のブロック図が示されている。この実施例では、前記図１、図５及び図１５のようなダミー入力・出力回路２３が省略される。これに対応して、パルスコントロール４０、遅延時間判定回路４１及び補正回路４６やホールド回路４２も省略される。これに代えて、データストローブ信号ＤＱＳの入力・出力回路１８に、プルアップ回路が付加される。つまり、外部端子２２と電源電圧との間に、抵抗Ｒ１とＰチャネルＭＯＳＦＥＴＱ１が直列形態に設けられる。上記ＭＯＳＦＥＴＱ１のゲートには、外部メモリコントローラ４で形成されたプルアップ制御信号ＤＱＳpuが供給される。また、同図においては、前記図１、図５及び図１５では省略されているアドレスＡＤＤ、コマンドＣＯＭ等を出力する出力回路５０及びその外部端子５１も示されている。
【００５１】
図２０には、前記図１９のメモリインタフェース回路３の動作の一例を説明するための波形図が示されている。電源投入直後には、トレーニング期間が設けられる。外部メモリコントローラ４は、このトレーニング期間に入るとプルアップ制御信号ＤＱＳpuをロウレベルにする。これにより、上記ＭＯＳＦＥＴＱ１がオン状態となり、外部端子２２をハイレベルにプルアップする。つまり、信号ＤＳＱは、ハイインピーダンスＨiZでの不定レベルから上記プルアップによるハイレベルに固定される。このトレーニング期間にダミーリードが実施される。トレーニング期間が終了し、通常期間に入ると上記プルアップ制御信号ＤＱＳpuがハイレベルに戻される。これにより、通常期間では、上記外部端子２２は、ＭＣＵが出力動作を行わないとき、あるいはＭＢ−ＤＤＲ  ＳＤＲＡＭが出力動作を行わないときに信号ＤＳＱがハイインピーダンスＨiZでの不定レベルとなる。この通常期間において、ＭＣＵからＭＢ−ＤＤＲ  ＳＤＲＡＭに書き込みが行われるときには、入力・出力回路１８の出力回路が動作状態となり、書き込み動作のためのデータストローブ信号ＤＱＳが出力される。逆に、ＭＢ−ＤＤＲ  ＳＤＲＡＭからＭＣＵへの読み出し動作が行われるときには、ＭＢ−ＤＤＲ  ＳＤＲＡＭからのデータストローブ信号ＤＱＳが上記入力・出力回路１８の入力回路に入力される。
【００５２】
上記トレーニング期間は、電源投入直後に設けられるもの他、前記図７、図９のようなメモリリフレッシュに先立って挿入されたダミーリードで行うようにするもの、あるいはＭＣＵがスリープモードやスタイバイモードのような低消費電力モードが終了して、信号処理動作を開始してメモリアクセスを行う前に設けるようにされる。あるいは、上記ＭＣＵあるいはＭＢ−ＤＤＲ  ＳＤＲＡＭでの動作条件（電源電圧又は温度）が大きく変化した場合、あるいはメモリエラーが多発したときに上記トレーニング期間を設けるようにしてもよい。このようにトレーニング期間は、上記メモリアクセス動作を考慮して必要に応じて設定されればよい。
【００５３】
図２１には、前記図１９のメモリインタフェース回路３のトレーニング動作の一例を説明するための波形図が示されている。図１９においてｔｄ１は、前記同様にタイミングを合わせたクロックＣＫＢout とＣＫout のクロックポイントの末端から、出力回路１５、１６を経由して、ＭＢ−ＤＤＲ  ＳＤＲＡＭ６のＣＫ端子１０，１１までの遅延時間を示す。この端子１０，１１におけるクロックＣＫ、／ＣＫのクロスポイントが、データストローブ信号ＤＱＳ及びデータＤＱの基準タイミングとなる。ＭＢ−ＤＤＲ  ＳＤＲＡＭ６ではデータストローブ信号ＤＱＳの出力段にＤＬＬ回路を内蔵せず、端子１０，１１におけるクロックＣＫ，／ＣＫに対して遅延時間ｔｄ２を持って出力するように構成されている。遅延時間ｔｄ３は、ＤＱＳ端子２２から入力回路１８を経由して、遅延時間判定回路４３や位相シフト回路２７至るまでの遅延時間を表す。
【００５４】
図２１（Ａ）では、上記遅延時間ｔｄ１及びｔｄ３とｔｄ２が最も小さなＭＣＵとＭＢ−ＤＤＲ  ＳＤＲＡＭのベスト／ベスト組み合わせの例が示されている。図２１（Ｂ）では、ＭＣＵでの遅延時間ｔｄ１及びｔｄ３がワーストで、ＭＢ−ＤＤＲ  ＳＤＲＡＭでの遅延時間ｔｄ２がベストのワースト／ベストの組み合わせの例が示されている。この実施例では、前記のようにトレーニング期間のときに信号ＤＱＳがプルアップされてハイレベルにされているので、前記のような信号ＤＱＳの不定レベルの期間がない。そのために、不定レベルを避けるように判定ポイントを可変とする必要がない。したがって、判定ポイントの数は前記のように制限されていない。
【００５５】
同図（Ａ）の例では、判定ポイントｔ２とｔ３の間でＤＱＳｉｎがロウレベルからハイレベルに変化したことを検出する。これに対して、図２１（Ｂ）では、ＭＣＵでの遅延時間ｔｄ１及びｔｄ３がワーストの分だけ遅れて、判定ポイントｔ６とｔ７の間でＤＱＳｉｎがロウレベルからハイレベルに変化したことを検出することができる。さらに、上記遅延時間ｔｄ１及びｔｄ３とｔｄ２が最も大きなＭＣＵとＭＢ−ＤＤＲ  ＳＤＲＡＭのワートス／ワースト組み合わせなら、上記判定ポイントが上記遅延時間ｔｄ２のワースト分だけ遅れるだけ例えばｔ７とｔ８あるいはｔ８とｔ９のように遅れるだけである。そして、上記ｔｄ１及びｔｄ３がワーストの分だけ遅れても、前記プルアップ動作によって判定ポイントｔ１、ｔ２でもハイレベル（Ｈ）と認識されて、前記図１８での判定ポイントｔ１のように不定レベルを判定してしまうことが回避できる。
【００５６】
この実施例では、ＭＣＵの端子２２とＭＢ−ＤＤＲ  ＳＤＲＡＭの端子１３のハイインピーダンス期間の存在する双方向のデータ用ストローブ信号に、単純な選択的にオン／オフできるプルアップ回路を付加し、初期化時等のトレーニング期間のみプルアップ機能をオンにし、上記判定ポイントが固定された簡便なクロック同期のハイレベル／ロウレベルの判定回路等を用いて、ロウレベルからハイレベルへの変化点を見つけてデータ用ストローブ信号の到達タイミングを判定することが可能となる。
【００５７】
前記のようなモバイルＤＤＲ  ＳＤＲＡＭ等のタイミング変動の大きいメモリの他にも、クロック周波数が高くコントローラ自身の入出力素子の遅延値の変動量が相対的に大きくなるＤＤＲ１−ＳＤＲＡＭやＤＤＲ２−ＳＤＲＡＭメモリ等を接続する際にも、ハイレベル／ロウレベルを正しく判定できないハイインピーダンス期間の存在するデータ用ストローブ信号に、選択的にオン／オフできるプルアップ機能を付加し、初期化時等のトレーニング期間のみプルアップ機能をオンにすることにより、データ用ストローブ信号のハイインピーダンス期間による誤認識を完全に回避できるようになる。
【００５８】
このように、図１９の実施例ではメモリにおけるＤＬＬ等を内蔵しない場合での遅延時間ｔｄ２の大きな変動に対応するものの他に、上記ＤＬＬを内蔵して遅延時間ｔｄ２が比較的小さく、しかも比較的安定したものであっても、ＭＣＵ側での上記のような遅延時間ｔｄ１＋ｔｄ３の変動幅が、クロックｃｋｂ等の高周波数化により相対的に大きくなる場合でも、上記のような単純なプルアップ回路の付加及びトレーニング期間の設定により、かかる問題を解決することができる。
【００５９】
上記のようにＤＬＬを内蔵しないモバイルＤＤＲ  ＳＤＲＡＭは、ＤＬＬ回路での比較的大きな電流消費分を低減できる。これにより、携帯電話装置等のように電池駆動されるメモリには好適なものとなる。複数のメモリチップを１つのパッケージに搭載して、大記憶容量のメモリを構成する場合、消費電流による発熱が大きな問題となる。上記のようなＤＬＬを持たないモバイルＤＤＲ  ＳＤＲＡＭの消費電流が小さいという特徴に着目して、１つのパッケージに複数メモリチップを積層構造に組み立てて画像メモリ等を構成することが有益となる。この場合には、上記のような遅延時間の変動によって高速アクセスに問題が生じるが、メモリコントローラのインタフェース回路として、この発明に係るインタフェース回路を用いることによりかかる問題を解決することができる。
【００６０】
以上本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、テストパルスを発生させるパルスコントール４０、遅延時間判定回路４１、４３、同期化回路４５及びサンプリング回路２８や９０°位相シフト回路２７の具体的構成は、種々の実施形態を採ることができるものである。例えば、同期化回路４５は、図２〜図４のＰＲｏｕｔのタイミングを基準にし、上記遅延時間判定回路４１と４３の判定結果から上記ＤＱＳｉｎがロウレベルからハイレベルに変化した直後のｃｋｂの立ち上りポイントを探し出し、ＤＱsmp を取り出せるようにするものであれば何であってもよい。また、９０°位相シフト回路２７の具体的構成についは、前記特許文献１に記載のものをそのまま利用するものであってもよい。
【００６１】
上記図１９のプルアップ回路に代えて、プルダウン回路でもよい。このとき、抵抗Ｒ１は、ポリシリコン抵抗、拡散抵抗あるいはＭＯＳＦＥＴで構成されてもよい。上記ＭＯＳＦＥＴＱ１を小さなサイズにする等としてそのオン抵抗値を抵抗Ｒ１として利用し、抵抗とスイッチの両機能を持たせるものであってもよい。
【００６２】
マイクロコントローラＭＣＵには、図１や図５等に示したＣＰＵや外部メモリコントローラの他にＲＯＭ、ＲＡＭのようなメモリ、キャッシュメモリ、乗除演算回路等の演算ユニット等必要に応じて設けられるものである。外部装置は前記ＭＢ−ＤＤＲ  ＳＤＲＡＭの他に、ＭＣＵから送れたクロックと、それに対応して形成されたＤＱＳの両エッジに同期してデータＤＱをＭＣＵに送り返すものであれば何であってもよい。
【図面の簡単な説明】
【００６３】
【図１】この発明に係る半導体集積回路装置の一実施例を示すブロック図である。
【図２】この発明に係るメモリインタフェース回路３の動作の一例を説明するための波形図である。
【図３】この発明に係るメモリインタフェース回路３の動作の他の一例を説明するための波形図である。
【図４】この発明に係るメモリインタフェース回路３の動作の更に他の一例を説明すための波形図である。
【図５】この発明に係る半導体集積回路装置の他の一実施例を示すブロック図である。
【図６】図５の補正回路による一実施例の補正説明図である。
【図７】この発明に係る遅延時間判定動作及びその判定結果による同期化制御情報の更新動作度とメモリアクセス動作の代表的な説明図である。
【図８】図７に示した前記遅延時間判定回路４１及び４３を用いたタイミング調整動作制御のフロー図である。
【図９】この発明に係る遅延時間判定動作及びその判定結果による同期化制御情報の更新動作度とメモリアクセス動作の他の代表的な説明図である。
【図１０】図９に示した前記遅延時間判定回路４１及び４３を用いたタイミング調整動作制御のフロー図である。
【図１１】この発明に用いられるサンプリング回路２８の具体例を示すブロック図である。
【図１２】この発明に用いられる同期化回路４５の具体例を示すブロック図である。
【図１３】この発明に用いられるＭＢ−ＤＤＲ  ＳＤＲＡＭに対するライトアクセス時およびリードアクセス時におけるデータＤＱとデータストローブ信号ＤＱＳの説明図である。
【図１４】この発明に用いられる遅延時間判定回路４３の一例のブロック図が示されている。
【図１５】この発明に係る半導体集積回路装置の他の一実施例を示すブロック図である。
【図１６】この発明に先立って検討されたＭＣＵとメモリの接続図である。
【図１７】図１６のＭＣＵとメモリとの間遅延時間の説明図である。
【図１８】図１６のメモリリードを説明するための波形図である。
【図１９】図１９には、この発明に係る半導体集積回路装置の他の一実施例のブロック図が示され
【図２０】図１９のメモリインタフェース回路の動作を説明するための波形図である。
【図２１】図１９のメモリインタフェース回路３のトレーニング動作の一例を説明するための波形図である。
【符号の説明】
【００６４】
１…ＭＣＵ、２…ＣＰＵ、３…メモリインタフェース回路、４…外部メモリコントローラ、５…クロック発生回路、６…ＭＢ−ＤＤＲ  ＳＤＲＡＭ、１６…出力回路、１７，１８，２３…入力・出力回路、２７…９０°位相シフト回路、２８…サンプリン回路、４０…パルスコントローラ、４１，４３…遅延時間判定回路、４２，４４…ホールド回路、４５…同期化回路、５０…出力回路、Ｑ１…ＭＯＳＦＥＴ、Ｒ１…抵抗。
【図１】
2007109203.tif 000003
【図２】
2007109203.tif 000004
【図３】
2007109203.tif 000005
【図４】
2007109203.tif 000006
【図５】
2007109203.tif 000007
【図６】
2007109203.tif 000008
【図７】
2007109203.tif 000009
【図８】
2007109203.tif 000010
【図９】
2007109203.tif 000011
【図１０】
2007109203.tif 000012
【図１１】
2007109203.tif 000013
【図１２】
2007109203.tif 000014
【図１３】
2007109203.tif 000015
【図１４】
2007109203.tif 000016
【図１５】
2007109203.tif 000017
【図１６】
2007109203.tif 000018
【図１７】
2007109203.tif 000019
【図１８】
2007109203.tif 000020
【図１９】
2007109203.tif 000021
【図２０】
2007109203.tif 000022
【図２１】
2007109203.tif 000023