(57)【要約】 【課題】  外部ＤＤＲ−ＳＤＲＡＭから取り込んだ信号の同期化を高精度で且つ安定して行なう。【解決手段】  メモリインタフェース回路（３）は、データストローブ信号（ＤＱＳ）と共にこれに同期してリードデータ（ＤＱ）を出力するＤＤＲ−ＳＤＲＡＭ（６）を接続可能である。クロック発生回路（５）は、内部クロック信号と前記ＤＤＲ−ＳＤＲＡＭに供給するメモリクロック信号とを発生する。メモリインタフェース回路は、ＤＤＲ−ＳＤＲＡＭに対するリードサイクルで入力されるデータストローブ信号を用いて内部クロック信号に対する前記データストローブ信号の到達遅延を判定すると共に、到達したデータストローブ信号の位相をシフトした信号に基づいて、到達したリードデータをサンプリングし、サンプリングしたリードデータを前記到達遅延の判定結果に基づいて前記内部クロック信号に同期化する。【選択図】        図１
2005078547.tif 000002
【特許請求の範囲】
【請求項１】
メモリインタフェース回路、データ処理回路及びクロック発生回路を有し、
前記メモリインタフェース回路は、データストローブ信号と共にこれに同期してリードデータを出力するダブルデータレートのシンクロナスメモリを接続可能であり、
前記クロック発生回路は、内部クロック信号と前記シンクロナスメモリに供給するメモリクロック信号とを発生し、
前記メモリインタフェース回路は、前記シンクロナスメモリに対するリードサイクルで入力されるデータストローブ信号を用いて前記内部クロック信号に対する前記データストローブ信号の到達遅延を判定すると共に、到達したデータストローブ信号の位相をシフトした信号に基づいて、到達したリードデータをサンプリングし、サンプリングしたリードデータを前記到達遅延の判定結果に基づいて前記内部クロック信号に同期化することを特徴とする半導体集積回路。
【請求項２】
前記メモリインタフェース回路は、前記シンクロナスメモリに対するリードサイクルで入力されるデータストローブ信号を用いて前記内部クロック信号に対する前記データストローブ信号の到達遅延を判定する回路と、到達したデータストローブ信号の位相をシフトした信号を生成する回路と、前記到達したリードデータを前記位相をシフトした信号に基づいてサンプリングする回路と、前記サンプリングされたリードデータを前記到達遅延の判定情報に基づいて前記内部クロック信号に同期化する回路とを有することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記メモリインタフェース回路に接続され、前記シンクロナスメモリのアクセス制御を行なうメモリコントローラを有することを特徴とする請求項１又は２記載の半導体集積回路。
【請求項４】
前記メモリコントローラに制御される前記メモリインタフェース回路は、前記シンクロナスメモリに対する所定のリードサイクルで前記到達遅延の判定を行ない、
前記シンクロナスメモリに対するリードサイクルを発生しない所定期間に前記到達遅延の判定結果を前記同期化する回路に反映することを特徴とする請求項３記載の半導体集積回路。
【請求項５】
前記メモリインタフェース回路は、前記シンクロナスメモリの所定のリフレッシュインターバルでリードサイクルがないとき前記到達遅延の判定を行なうためのダミーリードサイクルを発生させることを特徴とする請求項４記載の半導体集積回路。
【請求項６】
前記メモリインタフェース回路は、パワーオンリセットに応答して前記到達遅延の判定を行なうためのダミーリードサイクルを発生させることを特徴とする請求項４記載の半導体集積回路。
【請求項７】
前記リードサイクルを発生しない所定期間は前記シンクロナスメモリのリフレッシュサイクルあることを特徴とする請求項４記載の半導体集積回路。
【請求項８】
前記到達遅延の判定を行うリードサイクルは、既に遅延判定されている別のリードサイクルでの判定結果をもとに任意に決定された所定のタイミングで行なわれることを特徴とする請求項４記載の半導体集積回路。
【請求項９】
前記位相をシフトした信号を生成する回路は、可変遅延回路の遅延時間設定が行なわれることにより前記内部クロック信号周期を基準とする所要の位相シフト量が決定される回路であることを特徴とする請求項２記載の半導体集積回路。
【請求項１０】
前記可変遅延回路を２組有し、相互に一方の可変遅延回路の遅延時間設定が行なわれるとき、他方の可変遅延回路において既に決定されている遅延時間を用いて前記内部クロック信号周期を基準とする所要の位相シフト量が決定されることを特徴とする請求項９記載の半導体集積回路。
【請求項１１】
前記遅延時間設定は前記シンクロナスメモリのリフレッシュサイクルで開始されることを特徴とする請求項９又は１０記載の半導体集積回路。
【請求項１２】
メモリインタフェース回路、データ処理回路及びクロック発生回路を有し、
前記メモリインタフェース回路は、データストローブ信号と共にこれに同期してリードデータを出力するダブルデータレートのシンクロナスメモリを接続可能であり、
前記クロック発生回路は、内部クロック信号と前記シンクロナスメモリに供給するメモリクロック信号とを発生し、
前記メモリインタフェース回路は、前記メモリクロック信号の伝達系の負荷を模擬する遅延素子を接続した外部端子にテストパルスを与えてシンクロナスメモリへのメモリクロック信号の伝達遅延を判定すると共に、到達したデータストローブ信号の位相をシフトした信号に基づいて、到達したリードデータをサンプリングし、サンプリングしたリードデータを前記到達遅延の判定結果に基づいて前記内部クロック信号に同期化することを特徴とする半導体集積回路。
【請求項１３】
前記メモリインタフェース回路は、前記メモリクロック信号の伝達系の負荷を模擬する遅延素子を接続した外部端子にテストパルスを与えてシンクロナスメモリへのメモリクロック信号の伝達遅延を判定する回路と、到達したデータストローブ信号の位相をシフトした信号を生成する回路と、前記到達したリードデータを前記位相をシフトした信号に基づいてサンプリングする回路と、前記サンプリングされたリードデータを前記到達遅延の判定情報に基づいて前記内部クロック信号に同期化する回路とを有することを特徴とする請求項１２記載の半導体集積回路。
【請求項１４】
前記メモリインタフェース回路に接続され、前記シンクロナスメモリのアクセス制御を行なうメモリコントローラを有することを特徴とする請求項１２又は１３記載の半導体集積回路。
【請求項１５】
前記メモリコントローラに制御される前記メモリインタフェース回路は、前記シンクロナスメモリに対するリードサイクルを発生しない所定期間に前記到達遅延の判定結果を前記同期化する回路に反映することを特徴とする請求項１４記載の半導体集積回路。
【請求項１６】
前記リードサイクルを発生しない所定期間は前記シンクロナスメモリのリフレッシュサイクルあることを特徴とする請求項１５記載の半導体集積回路。
【請求項１７】
前記位相をシフトした信号を生成する回路は、可変遅延回路の遅延時間設定が行なわれることにより前記内部クロック信号周期を基準とする所要の位相シフト量が決定される回路であることを特徴とする請求項１３記載の半導体集積回路。
【請求項１８】
前記可変遅延回路を２組有し、相互に一方の可変遅延回路の遅延時間設定が行なわれるとき、他方の可変遅延回路において既に決定されている遅延時間を用いて前記内部クロック信号周期を基準とする所要の位相シフト量が決定されることを特徴とする請求項１７記載の半導体集積回路。
【請求項１９】
前記遅延時間設定は前記シンクロナスメモリのリフレッシュサイクルで開始されることを特徴とする請求項１７又は１８記載の半導体集積回路。
【請求項２０】
メモリコントローラとこれに接続するメモリインタフェース回路を有し、
前記メモリインタフェース回路はデータストローブ信号と共にこれに同期してリードデータを出力するダブルデータレートのシンクロナスメモリを接続可能であり、
前記メモリインタフェース回路は、前記内部クロック信号に対する前記データストローブ信号の到達遅延を予め判定し、到達したデータストローブ信号の位相を所定シフトした信号に基づいて、到達したリードデータをサンプリングし、サンプリングしたリードデータを前記到達遅延の判定結果に基づいて前記内部クロック信号に同期化することを特徴とするデータプロセッサ。
【請求項２１】
前記内部クロック信号に対する前記データストローブ信号の到達遅延の判定は、前記シンクロナスメモリに対するリードサイクルで入力されるデータストローブ信号を用いて行なうことを特徴とする請求項２０記載のデータプロセッサ。
【請求項２２】
前記内部クロック信号に対する前記データストローブ信号の到達遅延の判定は、前記メモリクロック信号の伝達系の負荷を模擬する遅延素子を接続した外部端子にテストパルスを与えて折り返される信号を用いて行なうことを特徴とする請求項２０記載のデータプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ダブルデータレート（ＤＤＲ）のシンクロナスメモリ、例えばＤＤＲ−ＳＤＲＡM（Synchronous Dynamic Random Access Memory）が接続されるメモリインタフェースコントローラを有するデータプロセッサ等の半導体集積回路に係り、特にシンクロナスメモリからのリードデータをメモリインタフェースコントローラ側の内部クロックに同期化する技術に関する。
【背景技術】
【０００２】
特許文献１にはＤＤＲ−ＳＤＲＡＭを直結可能にしたメモリインタフェースコントローラをオンチップしたマイクロコンピュータについて記載が有る。プロセッサ内部にＤＤＲ−ＳＤＲＡＭを制御するメモリインタフェースコントローラを設け、マイクロコンピュータの動作クロック周波数を利用してＤＤＲ−ＳＤＲＡＭの制御を行なうようにしたものである。ＤＤＲ−ＳＤＲＡＭ用のクロック信号とメモリインタフェースコントローラ側の内部クロックとの同期化について詳細な検討はなされていない。
【０００３】
【特許文献１】特開２００１−１４２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＤＤＲ−ＳＤＲＡＭ用のクロック信号とメモリインタフェースコントローラ側の内部クロックとを同期化するには、メモリコントローラからＳＤＲＡＭに出力するクロック出力を、そのまま内部にフィードバックさせ、ＰＬＬ（フェーズ・ロックド・ロープ）回路によって、外部に供給するクロック信号と内部クロック信号との位相合わせを行なうことができる。
【０００５】
しかしながら、出力クロックを根元でフィードバックする手法は、信号の反射波形を拾ってしまうため、誤動作する可能性がある。また、プロセス／温度／電源電圧のベスト／ワースト条件で、ＤＤＲ−ＳＤＲＡＭに対してクロックを供給するＩＯバッファの遅延量の変動が大きく、マイクロプロセッサ内部の関連する基準クロック信号の２サイクル程度も変動する虞の有ることが本発明者によって見出された。これは、外部のシンクロナスメモリとのインタフェースのクロック周波数が高くなる程顕著になる。マイクロコンピュータなどの半導体集積回路において外部のＤＤＲ−ＳＤＲＡＭからのリードデータに対する内部同期化のタイミング調整を行なう回路は搭載されていない。
【０００６】
本発明の目的は、外部のシンクロナスメモリから取り込んだ信号の同期化を、電圧反射等の影響を受けずに比較的高い精度で且つ安定して、行なうことができる半導体集積回路を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
〔１〕《ＤＱＳ信号の遅延計測》
本発明に係るマイクロコンピュータは、メモリインタフェース回路、データ処理回路及びクロック発生回路を有する。前記メモリインタフェース回路は、データストローブ信号と共にこれに同期してリードデータを出力するダブルデータレートのシンクロナスメモリを接続可能である。前記クロック発生回路は、内部クロック信号と前記シンクロナスメモリに供給するメモリクロック信号とを発生する。前記メモリインタフェース回路は、前記シンクロナスメモリに対するリードサイクルで入力されるデータストローブ信号を用いて前記内部クロック信号に対する前記データストローブ信号の到達遅延を判定すると共に、到達したデータストローブ信号の位相シフト信号に基づいて、到達したリードデータをサンプリングし、サンプリングしたリードデータを前記到達遅延の判定結果に基づいて前記内部クロック信号に同期化する。
【００１０】
更に具体的な形態として、前記メモリインタフェース回路は、前記シンクロナスメモリに対するリードサイクルで入力されるデータストローブ信号を用いて前記内部クロック信号に対する前記データストローブ信号の到達遅延を判定する回路と、到達したデータストローブ信号の位相をシフトした信号を生成する回路と、前記到達したリードデータを前記位相をシフトした信号に基づいてサンプリングする回路と、前記サンプリングされたリードデータを前記到達遅延の判定情報に基づいて前記内部クロック信号に同期化する回路とを有する。
【００１１】
上記した手段によれば、外部のシンクロナスメモリに対して供給するクロックと、内部クロックの位相合わせは行わず、シンクロナスメモリから出力されるデータストローブ信号（ＤＱＳ）を用いて遅延時間を測定し、そこから得られる情報（ＣＮＴｓｙｎｃ）により、外部メモリから取り込んだ信号のタイミング補正を行う。
【００１２】
尚、データリードの際に出力されたデータストローブ信号の遅延時間の情報そのものを、そのデータのタイミング調整に使用するとタイミング的にクリティカルになるため、データストローブ信号の遅延時間の計測は、随時ないしバスサイクルの切れ目で行い、その情報を、実際のタイミング調整機構に反映するのは、メモリリフレッシュサイクル等の期間で行う。また、メモリリフレッシュサイクル間で、１回もタイミング計測の元情報になるデータリードサイクルが発生しない場合、メモリリフレッシュサイクル起動時にチェックを行い、ダミーリードサイクルを挿入する。
【００１３】
このように、内部で同期化すべきデータストローブ信号のタイミングそのものを計測するため、その情報をそのまま使って、リードデータを内部クロックに同期化できる。また、反射等の問題を気にすることなく、外部のシンクロナスメモリの動作タイミングを知ることができる。実際にタイミング調整したい信号そのもの（即ちデータストローブ信号）を使って、遅延時間の計測を行うため、余計な誤差が入らず、しかもクリティカルパス等の問題もないため、動作マージンを最大限に取ることができ、動作を安定化させることが容易となる。さらに、タイミング計測がより正確になるため、余計な設計マージンを持つ必要がなくなり、より高速のシンクロナスメモリのインタフェースの実現に資することができる。
【００１４】
本発明の具体的な形態として、半導体集積回路は、前記メモリインタフェース回路に接続され、前記シンクロナスメモリのアクセス制御を行なうメモリコントローラを有する。
【００１５】
前記メモリコントローラに制御される前記メモリインタフェース回路は、前記シンクロナスメモリに対する所定のリードサイクルで前記到達遅延の判定を行ない、前記シンクロナスメモリに対するリードサイクを発生しない所定期間に前記到達遅延の判定結果を前記同期化する回路に反映する。リードサイクルが発しない場合を考慮すると、前記メモリインタフェース回路は、前記シンクロナスメモリの所定のリフレッシュインターバルでリードサイクルがないとき前記到達遅延の判定を行なうためのダミーリードサイクルを発生させることが望ましい。リセットを考慮すると前記メモリインタフェース回路は、パワーオンリセットに応答して前記到達遅延の判定を行なうためのダミーリードサイクルを発生させるのが望ましい。前記リードサイクを発生しない所定期間は前記シンクロナスメモリのリフレッシュサイクルである。また、前記到達遅延の判定を行うリードサイクルは、既に遅延判定されている別のリードサイクルでの判定結果をもとに任意に決定された所定のタイミングで行なわれるようにすることも可能である。
【００１６】
〔２〕《伝達遅延の模擬計測》
本発明の別の観点による半導体集積回路は、メモリインタフェース回路、データ処理回路及びクロック発生回路を有する。前記メモリインタフェース回路は、データストローブ信号と共にこれに同期してリードデータを出力するダブルデータレートのシンクロナスメモリを接続可能である。前記クロック発生回路は、内部クロック信号と前記シンクロナスメモリに供給するメモリクロック信号とを発生する。そして、前記メモリインタフェース回路は、前記メモリクロック信号の伝達系の負荷を模擬する遅延素子を接続した外部端子にテストパルスを与えてシンクロナスメモリへのメモリクロック信号の伝達遅延を判定すると共に、到達したデータストローブ信号の位相をシフトした信号に基づいて、到達したリードデータをサンプリングし、サンプリングしたリードデータを前記到達遅延の判定結果に基づいて前記内部クロック信号に同期化する。
【００１７】
更に具体的な形態として、前記メモリインタフェース回路は、前記メモリクロック信号の伝達系の負荷を模擬する遅延素子を接続した外部端子にテストパルスを与えてシンクロナスメモリへのメモリクロック信号の伝達遅延を判定する回路と、到達したデータストローブ信号の位相をシフトした信号を生成する回路と、前記到達したリードデータを前記位相をシフトした信号に基づいてサンプリングする回路と、前記サンプリングされたリードデータを前記到達遅延の判定情報に基づいて前記内部クロック信号に同期化する回路とを有する。
【００１８】
上記した手段によれば、外部のシンクロナスメモリに対して供給するクロックと、内部クロックの位相合わせは行わず、外部メモリに対するクロック信号の到達タイミングを知るために、データストローブ信号の入力系とは別の、メモリクロック信号伝達系と等価的な遅延時間測定系を設け、そこから得られる情報により、外部シンクロナスメモリから取り込んだ信号のタイミング補正を行う。
【００１９】
メモリクロック信号伝達系における外部クロック端子入力容量とシンクロナスメモリなどが実装される配線基板上のクロック配線容量とに相当する容量を、反射が起こらないように前記等価的な遅延時間測定系に最短に配置して、当該等価的な遅延時間測定系の負荷とすることにより、メモリクロック信号の本来の入力系と同等の負荷がかかり、それと同じ遅延時間を計測可能になる。例えば標準のＤＤＲ−ＳＤＲＡＭは、ＤＤＲ−ＳＤＲＡＭ上にＤＬＬ（Ｄelay Ｌocked Ｌoop）を搭載しており、この働きで半導体集積回路側からＤＤＲ−ＳＤＲＡＭに供給されたメモリクロック信号（ＣＫ,／ＣＫ）のクロスポイントに同期して、データストローブ信号及びリードデータといった信号が出力される。ＤＤＲ−ＳＤＲＡＭに供給されるメモリクロック信号（ＣＫ,／ＣＫ）のタイミングを計測することで、リードデータやデータストローブ信号といった信号の変化タイミングが判り、内部での同期化の制御情報として使えることになる。反射等の問題を気にすることなく、外部のシンクロナスメモリの動作タイミングを知ることができる。厳密には、半導体集積回路とダブルデータレートのシンクロナスメモリとの間のクロック信号の伝達系と模擬計測する伝達系の夫々の負荷成分若しくは遅延成分が実質的に等しいことを条件としている。また、外部に構成する等化的な遅延時間測定系を構成する等価容量を調整することにより、タイミングの微調整等が可能である。
【００２０】
〔３〕《位相シフト》
本発明の具体的な形態として、前記位相シフト信号を生成する回路は、例えば、可変遅延回路の遅延時間設定が行なわれることにより前記内部クロック信号周期を基準とする所要の位相シフト量が決定される回路である。内部クロック信号の変動に追従することができる。前記遅延時間設定は前記シンクロナスメモリのリフレッシュサイクルで開始すればよい。リフレッシュサイクル中に終了しない場合を考慮するなら、前記可変遅延回路を２組設け、相互に一方の可変遅延回路の遅延時間設定が行なわれるとき、他方の可変遅延回路において既に決定されている遅延時間を用いて前記内部クロック信号周期を基準とする所要の位相シフト量を決定するように動作させればよい。
【００２１】
例えば、ＤＤＲ−ＳＤＲＡＭの規格によると、データリードサイクルでは、ＤＤＲ−ＳＤＲＡＭがドライブしたデータストローブ信号（ＤＱＳ）を９０°位相を遅らせて、同時にドライブされたリードデータ（ＤＱ）をサンプリングする必要がある。この、９０°位相シフト回路を、遅延時間の少ない遅延セルとセレクタの組み合わせで作成し、タイミングのキャリブレーションを、ステートマシンで行う。このとき、遅延量の小さい遅延セルを多段組み合わせると、遅延時間の算出に時間が掛かるため、メモリリフレッシュサイクルの期間でキャリブレーションが終わらない可能性がある。これを回避するために、遅延系を２系統内蔵する。２系統を交互に使うことにより、キャリブレーションがメモリリフレッシュサイクルを超える場合も、問題なく動作する。
【００２２】
余計なキャリブレーション用のタイミングを隠蔽して、高精度なタイミング調整を行なうことができる。更に、高精度のタイミング調整を行いながら、余計な調整時間を使わないため、システム性能を確保しながら、高性能の安定したシステムが構築できる。
【発明の効果】
【００２３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２４】
すなわち、外部のシンクロナスメモリから取り込んだ信号の同期化を電圧反射等の影響を受けずに比較的高い精度で且つ安定して行なうことができる。
【００２５】
外部の信号伝送路からの信号反射等の影響を受けないため、システムとして組み上げたときに安定して動作する。
【００２６】
メモリリフレッシュ周期等で、タイミング調整機構のキャリブレーションをやり直すため、温度変動等に追随してタイミング調整が行われ、最終製品で動作不良が発生しにくい。
【発明を実施するための最良の形態】
【００２７】
《ＤＱＳ信号モニタによるタイミング調整》
図１には本発明の一例に係るデータプロセッサが示される。同図に示されるデータプロセッサ１は、特に制限されないが、単結晶シリコンのような１個の半導体基板に相補型ＭＯＳ集積回路製造技術などによって形成される。
【００２８】
データプロセッサ１は、代表的に示されたデータ処理回路としての中央処理装置（ＣＰＵ）２、メモリインタフェース回路３、外部メモリコントローラ４及びクロック発生器（クロック発生回路）５を有する。ＣＰＵ２は命令制御部と演算部を有し、命令制御部は命令フェッチを制御し、フェッチした命令をデコードする。演算部は命令のデコード結果や命令で指定されるオペランドを用いたデータ演算やアドレス演算を行なって命令を実行する。メモリインタフェース回路３は別チップで構成されたＤＤＲのシンクロナスメモリ例えばＤＤＲ−ＳＤＲＡＭ６を直結可能とされる。
【００２９】
メモリインタフェース回路３は外部メモリコントローラ４に接続され、この外部メモリコントローラ４はＤＤＲ−ＳＤＲＡＭ６をアクセスするためのインタフェース制御を行なう。ＤＤＲ−ＳＤＲＡＭ６それ自体は公知であり、ここではその詳細は説明しないが、ロウアドレスストローブ信号（／ＲＡＳ）、カラムアドレスストローブ信号（／ＣＡＳ）、ライトイネーブル信号（／ＷＥ）など各種制御信号（コマンド）はメモリクロック信号としてのクロック信号ＣＫの立ち上りエッジでラッチされ、入出力データＤＱは双方向ストローブ信号としてのデータストローブ信号ＤＱＳと一緒に転送され、データストローブ信号ＤＱＳはリード／ライト動作時にデータ入出力の動作基準クロックとされる。リード動作時にＤＤＲ−ＳＤＲＡＭ６はデータストローブ信号ＤＱＳのエッジ（変化点）とリードデータのエッジを一致させて出力する。ライト動作時に外部メモリコントローラ４はデータストローブ信号ＤＱＳのエッジをライトデータの中央に位置させてＤＤＲ−ＳＤＲＡＭ６に向けて出力する。図１ではＤＤＲ−ＳＤＲＡＭ６にはクロック信号ＣＫ，／ＣＫの入力端子１０，１１、データＤＱの入出力端子１２、データストローブ信号ＤＱＳの入出力端子１３が代表的に示されている。前記クロック発生器５はＣＰＵ２及び外部メモリコントローラ４の動作基準クロック信号ＣＬＫと共に、ＤＤＲ−ＳＤＲＡＭの同期制御に用いるクロック信号であるクロックａ、クロックｂを生成する。例えばクロックｂはクロックａの２倍の周波数を持つ。
【００３０】
前記メモリインタフェース回路３は外部回路であるＤＤＲ−ＳＤＲＡＭ６を直結するための入力・出力バッファと共に、ＤＤＲ−ＳＤＲＡＭ６から出力されるデータストローブ信号及びリードデータＤＱを、内部クロックに同期化するための回路を有する。
【００３１】
前記入力・出力バッファとして、代表的にクロック信号ＣＫ、／ＣＫの出力バッファ１５，１６、データＤＱの入出力バッファ１７、データストローブ信号ＤＱＳの入出力バッファ１８が例示される。出力バッファ１５，１６はクロック出力端子１９、２０から外部にクロック信号ＣＫ，／ＣＫを出力する。入出力バッファ１７は外部端子２１を介してＤＤＲ−ＳＤＲＡＭ６のデータ端子１２に接続される。入出力バッファ１８は外部端子２２を介してＤＤＲ−ＳＤＲＡＭ６のストローブ端子１３に接続される。ＤＤＲ−ＳＤＲＡＭ６がデータプロセッサ１とを接続する配線には、要所に抵抗が挿入されているが、これは、ＳＳＴＬ−２／class−１相当の構成を一例として記載したものであり、特に制限されるものではない。データプロセッサ１とＤＤＲ−ＳＤＲＡＭ６との間のクロック信号ＣＫ（／ＣＫ）の伝達系とデータストローブ信号の伝達系における負荷成分もしくは遅延成分は実質的に等しい。
【００３２】
前記データストローブ信号ＤＱＳ及びリードデータＤＱを内部クロックに同期化するための回路として、遅延時間判定回路２５、ホールド回路２６、位相シフト回路２７、サンプリング回路２８及びタイミング調整回路２９が設けられる。
【００３３】
前記遅延時間判定回路２５は、ＤＤＲ−ＳＤＲＡＭ６から出力される信号ＤＱＳ及びＤＱを、内部クロックに同期化するため、データストローブ信号ＤＱＳ自体の到達時間を計測する。ＤＱＳ端子２２の入出力バッファ１８から、遅延時間判定回路２５および位相シフト回路２７までの遅延時間（ＤＱＳ−inの系）と、ＤＱ端子２１の入出力バッファ１７からサンプリング回路２８までの遅延時間（ＤＱ−inの系）は、ほぼ同一になる（クロックスキュー（Ｓkew）≒０）ようにされている。遅延時間判定回路２５では、内部クロックを基準にして、信号ＤＱＳ−inの到達時刻（遅延時間）を計測する。例えば、ＤＤＲ−ＳＤＲＡＭ６の動作サイクルを規定するクロックａよりも速い例えばその２倍周期のクロックｂのライズエッジとフォールエッジの双方を用いて、どのタイミングでＤＱＳが１に変化したかを判定することによって、ＤＱＳ−inの到達時刻（遅延時間）を計測する。尚、ＤＱＳの変化エッジが連続した場合に、誤ったエッジを認識してしまわないよう、遅延時間の判定のための計測はリードバスサイクルが連続していないときに行なうことが望ましい。
【００３４】
遅延時間判定回路２５で計測した、ＤＱＳの遅延時間は、バスサイクルの切れ目、例えばメモリリフレッシュサイクル期間、メモリライトサイクルの期間に、同期化制御情報ＣＮＴｓｙｎｃとしてホールド回路２６にセットされ、セットされた同期化制御情報ＣＮＴｓｙｎｃはそれ以降のメモリリードサイクルで使用される。遅延時間判定回路２５による遅延時間計測動作の動作指示は、例えば外部メモリコントローラ４からキャリブレーション開始指示信号３０にて与えられる。
【００３５】
位相シフト回路２７は可変遅延回路を用いた可変位相シフト回路とされ、クロックｂのサイクルを基準に９０°位相シフトを行なうから、可変遅延回路に対する遅延設定（遅延時間調整）が必要になる。遅延時間調整は、メモリリードサイクルが発生していないとき、例えば、メモリリフレッシュサイクルやメモリライトサイクル時等に行なう。例えばその動作指示は外部メモリコントローラ４からキャリブレーション開始指示信号３０にて与えられる。９０°位相シフトされたデータストローブ信号ＤＱＳ−ｉｎはＤＱＳ−９０と表される。尚、ＤＬＬ等を用いて遅延時間が９０°になるように常時調整するように構成することも可能である。
【００３６】
サンプリング回路２８は、位相シフト回路２７にて９０°遅延されたＤＱＳのライズエッジとフォールエッジの両エッジを使って、リードデータＤＱをサンプリングする。
【００３７】
タイミング調整回路２９はクロックｂの正相及び逆相クロックでラッチ動作を行なうフリップフロップの直列段数を相違させた複数経路を有し、その中から一つの経路を同期化制御情報ＣＮＴｓｙｎｃで選択するようになっている。これにより、タイミング調整回路２９は、遅延時間判定回路２５で計測されて、バスサイクルの切れ目で逐次アップデートされ、ホールド回路２６に保持された同期化制御情報ＣＮＴｓｙｎｃにより、サンプリング回路２８でサンプリングされたデータＤＱ（ＤＱsampled）を、内部クロックｂに同期化する。
【００３８】
図２にはデータストローブ信号ＤＱＳをモニタすることによる同期化動作のタイミングチャートが示される。図２においてＤelay ＣＫ-i-oは、タイミングを合わせたクロックＣＫｂ-outとＣＫ-outのクロックポイントの末端から、クロックバッファ１５、１６を経由して、ＤＤＲ−ＳＤＲＡＭ６のＣＫ端子１０，１１までの遅延時間を示す。この端子１０，１１におけるクロックＣＫ、／ＣＫのクロスポイントが、データストローブ信号ＤＱＳ及びデータＤＱの基準タイミングとなる。Ｓkew ＣＫ-DQSは、外部に接続されたＤＤＲ−ＳＤＲＡＭ６における、クロックＣＫと／ＣＫのクロスポイントと、信号ＤＱ，ＤＱＳの変化タイミングの差を示す。汎用のＤＤＲ−ＳＤＲＡＭ６ではデータストローブ信号ＤＱＳの出力段にＤＬＬ回路を内蔵して、端子１０，１１におけるクロックＣＫ，／ＣＫ同期でＤＱＳを出力するように構成されているから、Ｓkew ＣＫ-DQSは±サブナノ秒程度である。但し、図１の構成では、必ずしもＳkew ＣＫ-DQSは小さな値にならなくてもよく、値が短時間で変動さえしなければ、同期化に必要なＤＱＳの値は得られるため、特に問題なく、同期化情報を得ることが可能である。Ｄelay ＤＱＳ-o-iは、ＤＱＳ端子２２からバッファ１８を経由して、遅延時間判定回路２５や位相シフト回路２７至るまでの遅延時間を表す。
【００３９】
ＤＱsampledは、ＤＱ端子２１からバッファ１７を経由したデータＤＱ-inを、９０°位相シフト信号ＤＱＳ−９０でサンプリングしたものである。
【００４０】
データＤＱＳsynchronizedは、データＤＱsampledを、遅延時間判定回路２５で算出した同期化制御情報ＣＮＴｓｙｎｃを保持するホールド回路２６の出力に従って、タイミング調整回路２９で内部クロック（クロックｂ）に同期化されたデータである。
【００４１】
図３には前記サンプリング回路２８の具体例が示される。データＤＱは例えば６４ビットとされる。入力はＤＱ-in[63:0]とされ、各ビットに対し、９０°位相シフトされた信号ＤＱＳ−９０のライズエッジとフォールエッジで別々のＦＦｒ、ＦＦｆにラッチしてサンプリングするようになっている。ＤＱＳ-f90は９０°位相シフトされた信号ＤＱＳ−９０のフォールエッジ同期パルス、ＤＱＳ-r90は９０°位相シフトされた信号ＤＱＳ−９０のライズエッジ同期パルスである。サンプリング回路２８の出力は、ライズエッジで同期化されたデータＤＱsampled-r[63:0]と、フォールエッジで同期化されたデータＤＱsampled-ｆ[63:0]として出力される。
【００４２】
図４にはタイミング調整回路２９の具体例が示される。タイミング調整回路２９はサンプリング回路２８から出力されるデータＤＱsampled-r[63:0]、ＤＱsampled-f[63:0]を同期化制御情報ＣＮＴｓｙｎｃに従って可変遅延ＦＩＦＯにて内部クロックｂに同期化している。ＦＦｔ１はクロックｂの正相クロックのライズエッジでラッチ動作を行なうフリップフロップ、ＦＦｔ２はクロックｂの正相クロックのライズエッジでラッチ動作を行なうフリップフロップ、ＦＦｂ３はクロックｂの逆相クロックのライズエッジでラッチ動作を行なうフリップフロップである。ＳＥＬ１，ＳＥＬ２，ＳＥＬ３はセレクタである。セレクタＳＥＬ２，ＳＥＬ３はホールド回路２６からの同期化制御情報ＣＮＴｓｙｎｃでパスＰＡＳ１、ＰＡＳ２、ＰＡＳ３を選択可能にされる。セレクタＳＥＬ１はライズ／フォールの切換え制御に同期して交互に入力を選択する。例えば、クロックａのハイレベルとローレベルによって入力の選択を切り換える。遅延時間判定回路２５で判定された遅延時間に照らし、内部クロックに対してデータＤＱの到達が最も早かった場合は、パスＰＡＳ１を選択することで、セレクタＳＥＬ２，ＳＥＬ３からの出力をクロックｂの１サイクル分遅延させて内部クロックｂに同期化する。もう少し遅かった場合は、パスＰＡＳ２を選択し、更にクロックｂの１／２サイクル分遅延させる。もっと遅かった場合、パスＰＡＳ３を選択し、余計な遅延を介さない。セレクタＳＥＬ２，ＳＥＬ３の出力はＦＦｔ１でクロックｂに同期されてラッチされ、これによってＤＱsynchrinizedはクロックｂに同期化されたデータとして後段に供給される。
【００４３】
図５にはＤＤＲ−ＳＤＲＡＭに対するライトアクセス時およびリードアクセス時におけるデータＤＱとデータストローブ信号ＤＱＳの関係が示される。ライトアクセス時は、データＤＱに対して、データストローブ信号ＤＱＳを９０°位相を遅らせて出力する。これを受けるＤＤＲ−ＳＤＲＡＭ６はデータＤＱをデータストローブ信号ＤＱＳのエッジに同期してサンプリングする。リードアクセス時は、ＤＤＲ−ＳＤＲＡＭ６がデータＤＱとデータストローブ信号ＤＱＳを同時に出力する。インタフェース回路３は、前述のように、それらを受けて、９０°位相を遅らせたデータストローブ信号ＤＱＳ−９０で、データＤＱのサンプリングを行なう。
【００４４】
図６には遅延時間判定回路２５の一例が示される。遅延時間判定回路２５はフリップフロップの直列回路３２とその出力から遅延時間を判定して２ビットの同期化制御情報ＣＮＴｓｙｎｃを出力する論理回路３３によって構成される。フリップフロップの直列回路３２はフリップフロップＦＦａ，ＦＦｂ，ＦＦｃ，ＦＦｄの４段直列回路と、フリップフロップＦＦｅ，ＦＦｆ，ＦＦｇ，ＦＦｈの４段直列回路を有する。フリップフロップＦＦａ，ＦＦｂはクロックｂの逆相クロック（クックｂ逆相）のライズエッジでラッチ動作を行ない、フリップフロップＦＦｃ〜ＦＦｈはクロックｂの正相クロック（クックｂ）のライズエッジでラッチ動作を行う。論理回路３３はＦＦｃ、ＦＦｄ、ＦＦｆ、ＦＦｇ、ＦＦｈの出力を入力して、取り込んだデータＤＱＳ−ｉｎが、クロックｂに対してどのタイミングで１に変化したかを判定し、その結果を２ビットの同期化制御情報ＣＮＴｓｙｎｃとしてホールド回路２６に出力する。
【００４５】
図７には論理回路３３による判定動作がタイミングが提示される。判定態様はＣＡＳＥ１〜ＣＡＳＥ５に分類される。信号ＤＱＳ−ｉｎの到達時間（遅延時間）によって、５通りのケースを想定する。クロックａのｔ０を基準と考えると、論理回路３３はＦＦｃ、ＦＦｄ、ＦＦｆ、ＦＦｇ、ＦＦｈの出力に基づいて、図のｅ、ｆ、ｇ、ｈ、ｊの５つのタイミングで、入力された信号ＤＱＳ―ｉｎが１（ハイレベル）にされる入力タイミングを判定する。ＣＡＳＥ１はＤＱＳ−ｉｎの１をｅのタイミングで検出する。タイミング調整回路２９から同期化データＤＱsynchronizedが出力されるタイミングは時刻ｔ０を起点にクロックｂの２．５サイクル後である（時刻ｔ２）。サンプリング回路２８の動作にクロックｂの０．５サイクルを要し、タイミング調整回路２９の出力動作にクロックｂの２．０サイクルを要するからである。ＣＡＳＥ１の場合にはｅのタイミングでＤＱＳ−ｉｎの１を検出するから、時刻１の直後に得られたサンプルドデータＤＱsampledはタイミング調整回路２９にてクロックｂの２サイクル遅延されて時刻ｔ２に同期化データＤＱsynchronizedとして出力される。他のＣＡＳＥ２はＤＱＳ−ｉｎの１をｆのタイミングで検出する場合であり、ＣＡＳＥ３はＤＱＳ−ｉｎの１をｇのタイミングで検出する場合であり、ＣＡＳＥ４はＤＱＳ−ｉｎの１をｈのタイミングで検出する場合であり、ＣＡＳＥ５はＤＱＳ−ｉｎの１をｊのタイミングで検出する場合である。特にＣＡＳＥ４とＣＡＳＥ５の場合には、時刻ｔ０からクロックａの１サイクルを超えてＤＱ−ｉｎの１が検出されるから、この場合にはクロックｂの２．５サイクルで動作を完了できず、時刻ｔ３でタイミング調整回路２９から同期化データＤＱsynchronizedが出力される。
【００４６】
図８には遅延時間判定動作及びその判定結果による同期化制御情報の更新動作度とメモリアクセス動作の代表的な関係が示される。ＤＤＲ−ＳＤＲＡＭ６は、一定周期毎のメモリリフレッシュが必要となり、それ以外の期間は通常のメモリアクセスが行われる。このメモリアクセスの期間におけるリードアクセス期間に、遅延時間判定回路２５でストローブ信号ＤＱＳの遅延時間判定（ＤＱＳ到着タイミング判定）を行ない、判定結果によるホールド回路の保持値更新（制御情報更新）はメモリアクセスの発生しないメモリリフレッシュの期間、或いはリードサイクルの発生しないライトアクセス期間に行なえばよい。
【００４７】
図９には遅延時間判定動作及びその判定結果による同期化制御情報ＣＮＴｓｙｎｃの更新動作度とメモリアクセス動作の別の関係が示される。メモリリフレッシュインターバルに一回もメモリリードアクセスが発生しないことが考えられる。その場合にはホールド回路２６が保持する同期化制御情報ＣＮＴｓｙｎｃを更新することができない。ホールド回路２６が保持する古すぎる同期化制御情報ＣＮＴｓｙｎｃを使うことを回避するには、メモリリフレッシュインターバルに一回もメモリリードアクセスが発生しないとき、メモリリフレッシュサイクルを始める直前に、自動的にダミーリードアクセスサイクルを発生させる。これにより、同期化制御情報ＣＮＴｓｙｎｃが古くなり過ぎることを回避できる。
【００４８】
図１０には遅延時間判定回路２５を用いたタイミング調整動作を考慮した動作制御フローが示される。パワーオンリセットに続けてダミーリードサイクルが発生され遅延時間判定回路２５による判定動作が行なわれる（Ｓ１）。その直後にメモリリフレッシュが行なわれる（Ｓ２）。次に、メモリリードアクセスフラグを判定し（Ｓ３）、直前のリフレッシュインターバルに１回でもメモリリードサイクルが無かった場合にはステップＳ１と同様にダミーリードサイクルを発生して遅延時間判定を行なう（Ｓ４）。そして、ステップＳ１又はＳ４で得られた同期化制御情報ＣＮＴｓｙｎｃによってホールド回路２６の保持値を更新する（Ｓ５）。更にメモリリードアクセスフラグをクリアして（Ｓ６）メモリアクセス動作期間に入る。リードアクセス要求の有無を判定し（Ｓ７）、リードアクセス要求が有ればメモリリードを行ない（Ｓ８）、リードアクセスフラグをセットする（Ｓ９）。途中でリフレッシュ要求の有無を判定し（Ｓ１０）、リフレッシュ要求が有ればステップＳ２に戻る。無ければ、セルフリフレッシュ要求の有無を判定し（Ｓ１０）、無ければステップＳ７に戻る。セルフリフレッシュ要求があるときは、メモリセルフリフレッシュの設定を行ない（Ｓ１２）、メモリセルフリフレッシュ要求解除があるまでセルフリフレッシュを行なう（Ｓ１３，Ｓ１４）。
【００４９】
上記した手段によれば、ＤＤＲ−ＳＤＲＡＭ６に対して供給するクロックＣＫと内部クロックとの位相合わせは行わず、ＤＤＲ−ＳＤＲＡＭ６から出力されるデータストローブ信号ＤＱＳを用いて遅延時間を測定し、そこから得られる情報により、ＤＤＲ−ＳＤＲＡＭ６から取り込んだ信号のタイミング補正を行う。
【００５０】
データストローブ信号ＤＱＳの遅延時間の計測は、随時ないしバスサイクルの切れ目で行い、その情報を、実際のタイミング調整機構に反映するのは、メモリリフレッシュサイクル等の期間で行うから、データリードの際に出力されたデータストローブ信号の遅延時間の情報そのものをデータのタイミング調整に使用する場合に比べて、遅延時間計測と計測結果の反映タイミングがクリティカルになることを抑制することができる。また、メモリリフレッシュサイクル間で、１回もタイミング計測の元情報になるデータリードサイクルが発生しない場合、メモリリフレッシュサイクル起動時にチェックを行い、ダミーリードサイクルを挿入する。
【００５１】
このように、内部で同期化すべきデータストローブ信号のタイミングＤＱＳそのものを計測するため、その情報をそのまま使って、内部クロックに同期化することができる。また、反射等の問題を気にすることなく、ＤＤＲ−ＳＤＲＡＭ６の動作タイミングを知ることができる。実際にタイミング調整したい信号ＤＱＳそのものを使って、ＤＤＲ−ＳＤＲＡＭ６が出力するデータストローブ信号ＤＱＳを計測を行うため、余計な誤差が入らず、しかもクリティカルパス等の問題もないため、動作マージンを最大限に取ることができ、動作を安定化させることが容易となる。さらに、タイミング計測がより正確になるため、余計な設計マージンを持つ必要がなくなり、より高速のＤＤＲ−ＳＤＳＲＡＭのインタフェース実現に資することができる。
【００５２】
《擬似容量によるタイミング調整回路》
図１１にはデータプロセッサの別の例が示される。同図に示されるデータプロセッサ１ＡはＤＤＲ−ＳＤＲＡＭ６からのリードデータに対する内部同期を擬似容量によって行なう点が図1の例と異なる。すなわち、ＤＤＲ−ＳＤＲＡＭ６から出力されるＤＱＳ、ＤＱ信号を内部クロックｂに同期化するため、ＤＱＳ、ＤＱの基準クロックとなるＤＤＲ−ＳＤＲＡＭの入力端子１０，１１におけるクロックＣＫ、／ＣＫのタイミングを判定しようとするものである。そのために、例えば端子２０からＤＤＲ−ＳＤＲＡＭ６のクロック端子１１に至るクロック信号の伝達系の負荷、例えばＤＤＲ−ＳＤＲＡＭの端子１１の入力容量とクロック配線の容量成分の合計容量に相当する遅延素子若しくは負荷素子としてのコンデンサ４０を接続する計測端子（ＣＡＰ端子）４１を設ける。反射の影響を抑えるため、ＣＡＰ端子４１とコンデンサ４０の距離は極力短くするのが望ましい。メモリインタフェース回路３Ａには、パルスコントロール回路４３と遅延時間判定回路４４を設ける。パルスコントロール回路４３は入出力バッファ４５を介してＣＡＰ端子４１に向けてテストパルスＣＡＰ−ｏｕｔを出力する。テストパルスＣＡＰ−ｏｕｔは負荷を構成するコンデンサ４０によってその変化が遅延され、遅延時間判定回路４４は入出力バッファ４５から折り返される信号ＣＡＰ−ｉｎを入力する。
【００５３】
パルスコントロール回路４３から入出力バッファ４５までの遅延時間（ＣＡＰ−outの系）は、クロック出力系パス（クロックＣＫ−outの系）とほぼ同一の遅延時間になるようにしておく。同様に、入出力バッファ４５から遅延時間判定回路４４までの遅延時間（ＣＡＰ−inの系）は、ストローブ信号ＤＱＳの入出力バッファ１８から位相シフト回路２７までの遅延時間（ＤＱＳ−inの系）とほぼ同一になるようにしておく。
【００５４】
ストローブ信号ＤＱＳの入出力バッファ１８から位相シフト回路２７までの遅延時間（ＤＱＳ−inの系）と、データＤＱの入出力バッファ１７からサンプリング回路２８までの遅延時間（ＤＱ−inの系）はほぼ同一になるようにしておく。
【００５５】
パルスコントロール回路４３からテストパルスＣＡＰ−ｏｕｔを出力し、その信号がコンデンサ４０の負荷がかかった入出力バッファ４５を経由し、折り返しパルスＣＡＰ−inとして遅延時間判定回路４４に入力される。遅延時間判定回路４４は折り返しパルスＣＡＰ−inが戻ってくるまでの遅延時間を計測する。この遅延時間が、信号ＤＱ、ＤＱＳがメモリインタフェース回路３Ａに到達するまでの遅延時間と同等となり、その情報を、バスサイクルの切れ目（リフレッシュサイクルやメモリライトサイクル等）でホールド回路２６にセットする。セットされた情報を使って、信号ＤＱ、ＤＱＳを内部クロックに同期化する。遅延判定回路４４の構成は基本的に図６で説明した遅延判定回路２５と同じである。即ち、図６の構成において入力信号がＤＱＳ−ｉｎからＣＡＰ−ｉｎに変更されればよい。尚、図1と同じ機能を有する機能ブロックには同一参照符号を付してその詳細な説明を省略する。
【００５６】
図１２には模擬コンデンサを用いた同期化動作のタイミングチャートが示される。同図においてＤelay ＣＡＰ-i-oは、パルスコントロール回路４３からコンデンサ４０の負荷が接続された状態での入出力バッファ４５の出力までの遅延時間を示す。Ｄelay ＣＡＰ-o-iは、ＣＡＰ端子４１からの入出力バッファ４５を介して遅延時間判定回路４４までの遅延時間を示す。Ｓkew ＣＫ−ＤＱＳは、外部に接続されたＤＤＲ−ＳＤＲＡＭ６における、ＣＫの変化タイミングと、信号ＤＱ、ＤＱＳの変化タイミングの差を示し、ＤＱＳ出力にＤＬＬを用いる汎用のＤＤＲ−ＳＤＲＡＭ６では、±サブナノ秒程度である。Ｄelay ＤＱＳ-o-iは、ＤＱＳ端子２２から入出力バッファ１８を経由して、位相シフト回路２７までの遅延時間を示す。
【００５７】
図１３には遅延判定回路４４による判定タイミングが示される。ＣＡＰ端子経由のパルス信号の遅延時間によって、５通りのケースを想定する。ｅ、ｆ、ｇ、ｈ、ｊの５つのタイミングで、ループバックされたテストパルス信号ＣＡＰ−ｉｎを判定し、１が入力されたタイミングを判定する。判定結果に応じたＣＡＳＥ１〜ＣＡＳＥ５の夫々の場合におけるＤＱ−ｉｎ、ＤＱＳ−ｉｎに対する同期化の処理は図７で説明したのと同じである。
【００５８】
上記した手段によれば、ＤＤＲ−ＳＤＲＡＭ６に対して供給するクロックＣＫと、内部クロックの位相合わせは行わず、ＤＤＲ−ＳＤＲＡＭ６に対するクロック信号の到達タイミングを知るために、データストローブ信号ＤＱＳの入力系とは別の、メモリクロック信号ＣＫの伝達系と等価的な遅延時間測定系、即ちＣＡＰ−ｏｕｔ、バッファ４５、端子４１、コンデンサ４１及びＣＡＰ−ｉｎによる遅延時間測定系を設け、そこから得られる情報により、ＤＤＲ−ＳＤＲＡＭ６から取り込んだ信号ＤＱのタイミング補正を行う。
【００５９】
メモリクロック信号ＣＫの伝達系における外部クロック端子２０入力容量とＤＤＲ−ＳＤＲＡＭ６などが実装される配線基板上のクロック配線容量とに相当する容量４０を、反射が起こらないように前記等価的な遅延時間測定系に最短に配置して、当該等価的な遅延時間測定系の負荷とすることにより、メモリクロック信号ＣＫの本来の入力系と同等の負荷がかかり、それと同じ遅延時間を計測可能になる。ＤＤＲ−ＳＤＲＡＭ６は、ＤＬＬ回路を搭載しており、この働きでメモリインタフェース３側からＤＤＲ−ＳＤＲＡＭ６に供給されたメモリクロック信号（ＣＫ,／ＣＫ）のクロスポイントに同期して、データストローブ信号ＤＱＳ及びリードデータＤＱといった信号が出力される。ＤＤＲ−ＳＤＲＡＭ６に供給されるメモリクロック信号（ＣＫ,／ＣＫ）のタイミングを計測することで、リードデータやデータストローブ信号といった信号の変化タイミングが判る。データプロセッサ１ＡとＤＤＲ−ＳＤＲＡＭ６との間のクロック信号の伝達系と模擬計測する伝達系の夫々の負荷成分若しくは遅延成分が実質的に等しくされているからである。計測された情報はメモリインタフェース回路３の内部で同期化制御情報ＣＮＴｓｙｎｃとして使えることになる。反射等の問題を気にすることなく、ＤＤＲ−ＳＤＲＡＭ６の動作タイミングを知ることができる。外部に構成する等化的な遅延時間測定系を構成する等価容量を調整することにより、タイミングの微調整等が可能である。
【００６０】
《位相シフト回路》
図１４には前記位相シフト回路２７の具体例が示される。位相シフト回路２７は可変遅延回路５０を有する。この可変遅延回路５０は３２段の遅延段ｄを通る経路を順次２分法で選択して遅延時間を可変に設定可能になっている。経路選択はセレクタ５１〜５５の選択で行なわれる。可変遅延回路５０の入力段にはストローブ信号ＤＱＳ−ｉｎ又はフリップフロップ５７の出力信号がセレクタ５６で選択されて供給される。フリップフロップ５７は制御回路５９からキャリブレーションパルス６０が供給され、それをクロックｂの逆相でラッチする。可変遅延回路５０の出力はフリップフロップ６１、６２を介して制御回路に帰還される。フリップフリップフロップ６１はクロックｂの正相で入力をラッチし、フリップフリップ６２はクロックｂの逆相で入力をラッチする。制御回路５９はキャリブレーション指示信号３０によってキャリブレーション指示を受けると、セレクタ５６にフリップフロップ５７の出力を選択させ、キャリブレーションパルス６０をフリップフロップ５７に供給する。そしてキャリブレーションパルス６０の出力毎に遅延パス制御信号６３で遅延段の経路を２分法で順次切換え、その都度、フリップフロップ６１，６２を経由してキャリブレーションパルス６０を帰還入力する。フリップフロップ５９，６０のラッチタイミングはクロックｂにおける１８０°の位相ずれ、クロックａ即ちストローブ信号ＤＱＳ―ｉｎにおける９０°の位相ずれに相当するラッチタイミングのずれを有している。従って、フリップフロップ６１によるラッチデータが反転から非反転に転ずるときの遅延時間を可変遅延回路５０に設定することにより、可変遅延回路５０から出力される信号はストローブ信号ＤＱＳ−ｉｎに対して９０°位相シフトされた信号とされる。
【００６１】
そのような遅延時間を設定するのに２分法で可変遅延回路５０の遅延経路を選択していく。具体的には、まず遅延時間を最長遅延時間の１／２に設定し、その遅延回路を経由したパルスがフリップフロップ６１のサンプリングに間に合ったかどうかで、次の遅延時間を１／４又は３／４に設定し、さらに１／８若しくは３／８又は５／８若しくは７／８というように、順次遅延時間を細かく調整していく。図１５にはその動作タイミングが例示されている。この例では、クロックｂの２サイクルで１キャリブレーションサイクルを構成し、キャリブレーションサイクルを６サイクル繰返すことによって（クロックｂの１２クロックサイクルで）遅延時間のキャリブレーションが完了する。図１６には２分法による遅延パスの選択順序が示される。横欄の０〜３１は遅延パス番号、縦欄の１ｓｔ〜６ｔｈはキャリブレーションサイクル番号を意味する。図１７には２分法による遅延時間設定処理を行なう制御回路のステート制御フローの一部が例示される。最初の制御ステートで＝０の場合に遷移する方向のステートフローは、＝１の場合と同様であるので図示を省略してある。
【００６２】
キャリブレーションが完了すると、入力セレクタ５６は、ストローブ信号ＤＱＳ−ｉｎの入力側を選択する。これにより、入力されたストローブ信号ＤＱＳ−ｉｎは、９０°位相シフトに相当する時間分だけ遅延して、９０°位相シフトしたストローブ信号（ＤＱＳ−９０）６５として、サンプリング回路２８に出力され、そのストローブ６５信号に同期してデータＤＱ−ｉｎをサンプリングする。
【００６３】
タイミング微調整指示信号６６は、キャリブレーション用のフリップフロップ５７からフリップフロップ６１までの遅延時間と、本来のパスであるストローブ信号ＤＱＳ−ｉｎから９０°位相シフトしたストローブ信号６５までの遅延時間のずれを補正するためにセレクタ６８，６９の入力を選択して、遅延時間の微調整を行う。タイミング微調整指示信号７３は、可変遅延回路５０の遅延時間が所望の遅延値にならなかった場合に、各遅延段ｄの遅延時間を微調する指示する信号である。
【００６４】
可変遅延回路５０には更に別の可変遅延回路７０が直列に接続され、双方の可変遅延回路５０，７０の出力が論理和ゲート７１に入力され、論理和ゲートの出力が９０°位相シフトされたストローブ信号６５として出力される。これは、ストローブ信号ＤＱＳ−ｉｎが、バスサイクルの終了時に不定になり、そのときに誤ったデータをサンプリングしないように、そのような不定の値を除去することを目的とする。これによって位相シフトされたストローブ信号６５のデューティーが正規のデューティーに対して変化されることになるが、追加の可変遅延回路７０を可変遅延回路５０と同じとしても実質的な悪影響はないと考える。追加の可変遅延回路７０は省略してもよいし、固定遅延回路等に置き換える事も可能である。
【００６５】
図１８には位相シフト回路における遅延時間のタイミング調整動作とメモリアクセス動作の関係が示される。メモリリフレッシュ期間に、９０°位相シフト回路のキャリブレーション（タイミング調整）を行い、調整された値に基づいて、メモリアクセスを行なえばよい。
【００６６】
図１９には遅延時間設定を更に細かく行なうことができるようにした位相シフト回路が示される。同図に示される位相シフト回路２７は、夫々６４段の遅延段ｄを有する２個の可変遅延回路５０Ａ、５０Ｂを設け、それに応じて、キャリブレーションパルス６０，ストローブ信号ＤＱＳ−ｉｎを５０Ａ又は５０Ｂのどちらの可変遅延回路に入力するかを選択する入力セレクタ７４Ａ，７４Ｂ、５０Ａ又は５０Ｂのどちらの可変遅延回路の出力を遅延時間調整のキャリブレーションに使用するかを選択するキャリブレーション切り換えセレクタ７５、そして、５０Ａ又は５０Ｂのどちらの可変遅延回路の出力を位相シフト動作に使用するかを選択するシフト出力切り換えセレクタ７６を設けた点が、図１４と相違される。前記セレクタ７４Ａ，７４Ｂ，７５，７６に対する選択制御は制御回路５９が行なう。遅延パス制御信号６３Ａ，６３Ｂは可変遅延回路５０Ａ，５０Ｂに個別に供給される。７４ＳＡ、７４ＳＢ、７５Ｓ、７６Ｓは前記セレクタ７４Ａ、７４Ｂ、７５、７６の選択制御信号である。
【００６７】
可変遅延回路５０Ａ，５０Ｂは図１４の可変遅延回路５０に比べて遅延素子ｄの段数が多く、調整にはより多くのクロックサイクル数が必要となる。このため、図２０で示すように、可変遅延回路５０Ａ及び５０Ｂに対する遅延時間設定のキャリブレーションがメモリアクセスの発生しないメモリリフレッシュ期間内等に収まらないことが予想される。このため、可変遅延回路５０Ａのキャリブレーションの時は、可変遅延回路５０Ｂを使用してメモリアクセスを行い、逆に可変遅延回路５０Ｂのキャリブレーションの時は、可変遅延回路５０Ａを使用してメモリアクセスを行うというように、可変遅延回路５０Ａ，５０Ｂを交互に切り替えて使用する。これにより、５０Ａ、５０Ｂのように可変延回路を高精度化して、キャリブレーション時間が増大しても、見かけ上の動作タイミングを変えずに隠蔽できる。したがって、高精度のタイミング調整を行いながら、余計な調整時間を使わないため、システム性能を確保しながら、高性能の安定したシステムが構築できる。
【００６８】
図２１には時間経過に対する遅延変動量の変化が例示される。遅延時間が、遅延量の各ＣＡＳＥ１〜ＣＡＳＥ４のレンジに収まっている場合は、遅延時間判定回路２５及び位相シフト回路２７に対する頻繁なキャリブレーションは不要（電力消費も抑止可）だが、何らかの要因で遅延量が大きく変動したり、各ＣＡＳＥの境界付近の場合は、頻繁なキャリブレーションが必要となる。
【００６９】
図２２には図２１で説明した遅延変動を考慮したキャリブレーション周期制御の一例が示される。図１０フローチャートとの相違はステップＳ５の次に、ステップＳ１５，１６を挿入したことである。ステップＳ１又はＳ４で得られた遅延情報（同期化制御情報）ＣＮＴｓｙｎｃによってホールド回路２６の保持値を更新したとき、その同期化制御情報ＣＮＴｓｙｎｃが３回前までの同期化制御情報ＣＮＴｓｙｎｃに対して変化が有ったかを判定し（Ｓ１５）、変化が無かった場合にはキャリブレーション周期を遅く設定する、つまり前の判定結果を参照して次回以降のキャリブレーションを行なうべき遅延時間を任意に調整、設定することが可能である（Ｓ１６）。この制御は外部メモリコントローラ４が行なえばよい。図１０、図２２の説明では位相シフト回路２７のキャリブレーションについては触れなかったが、実際には図１８及び図２０で説明したようにリフレッシュサイクルで位相シフトのキャリブレーションが開始される。例えば図２２のステップＳ２におけるリフレッシュサイクルで位相シフトのキャリブレーションを開始する。従って、図２２のキャリブレーション周期は遅延時間判定回路２５と共に位相シフト回路２７のキャリブレーションについても適用される。
【００７０】
上記図２２のフローチャートの制御手順により、例えば温度変化等の変化が収束し、遅延情報（制御情報）の変化が少なくなってきたら、キャリブレーション頻度が低くされる。これにより、消費電力を抑えたり、ノイズの放射を減らすことができる。
【００７１】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７２】
例えば、ダブルデータレートのシンクロナスメモリはＤＤＲ−ＳＤＲＡＭに限定されない。スタティック型等その他の記憶形式のメモリにも適用可能である。半導体集積回路はデータプロセッサに限定されず、マイクロコンピュータ、マイクロプロセッサ又はシステムＬＳＩ等と称される半導体デバイスに広く適用する事ができる。
【図面の簡単な説明】
【００７３】
【図１】本発明の一例に係るデータプロセッサのブロック図である。
【図２】ＤＱＳ信号モニタによる同期化動作のタイミングチャートである。
【図３】サンプリング回路の具体例を示すブロック図である。
【図４】タイミング調整回路の具体例を示すブロック図である。
【図５】ＤＤＲ−ＳＤＲＡＭに対するライトアクセス時およびリードアクセス時におけるデータＤＱとデータストローブ信号ＤＱＳの関係を示すタイミングチャートである。
【図６】遅延時間判定回路の一例を示すブロック図である。
【図７】遅延時間判定回路の論理回路による判定動作を例示するタイミングチャートである。
【図８】遅延時間判定動作及びその判定結果による同期化制御情報の更新動作度とメモリアクセス動作の代表的な関係を示す説明図である。
【図９】遅延時間判定動作及びその判定結果による同期化制御情報の更新動作度とメモリアクセス動作の別の関係を示す説明図である。
【図１０】遅延時間判定回路によるタイミング調整動作を考慮した動作制御フローである。
【図１１】データプロセッサの別の例を示すブロック図である。
【図１２】模擬コンデンサを用いた同期化動作を例示するタイミングチャートである。
【図１３】図１１の遅延時間判定回路による判定動作を示すタイミングチャートである。
【図１４】位相シフト回路の具体例を示すブロック図である。
【図１５】２分法で可変遅延回路の遅延経路を選択して遅延時間を設定する動作タイミングを例示するタイミングチャートである。
【図１６】２分法による遅延パスの選択順序を例示する説明図である。
【図１７】２分法による遅延時間設定処理を行なう制御回路のステート制御フローの一部を示すフローチャートである。
【図１８】位相シフト回路における遅延時間のタイミング調整動作とメモリアクセス動作の関係を示す説明図である。
【図１９】遅延時間設定を更に細かく行なうことができるようにした位相シフト回路を示すブロック図である。
【図２０】遅延素子の段数が多く可変遅延回路を用いる場合の調整に多くのクロックサイクル数が必要となるのを考慮して一対の可変遅延回路に対する遅延時間設定のキャリブレーションと、キャリブレーション結果により位相シフト動作を交互に切り換えて行なう動作状態を示す説明図である。
【図２１】時間経過に対する遅延変動量の変化の状態を例示する説明図である。
【図２２】図２１で説明した遅延変動を考慮したキャリブレーション周期制御を採用した動作の一例を示すフローチャートである。
【符号の説明】
【００７４】
１、１Ａ  データプロセッサ
２  ＣＰＵ
３  メモリインタフェース回路
４  外部メモリコントローラ
５  クロック発生器
６  ＤＤＲ−ＳＤＲＡＭ
２５  遅延時間判定回路
２６  ホールド回路
２７  位相シフト回路
２８  サンプリング回路
２９  タイミング調整回路
ＤＱ  外部端子に与えられるデータ
ＤＱＳ  外部端子に与えられるデータストローブ信号
ＤＱ−ｉｎ  入出力バッファから取り込まれたリードデータ
ＤＱＳ−ｉｎ  入出力バッファから取り込まれたデータストローブ信号
ＤＱＳ-90  ９０°位相シフトされたデータストローブ信号
ＤＱsampled  位相シフト信号でサンプリングされたリードデータ
ＤＱsynchronized  内部クロックに同期化されたリードデータ
ＣＮＴｓｙｎｃ  同期化制御情報
３２  フリップフロップの直列回路
３３  論理回路
４０  遅延素子としてのコンデンサ
４１  外部端子としての計測端子
４３  パルスコントロール回路
４４  遅延時間判定回路
５０，５０Ａ，５０Ｂ  可変遅延回路
【図１】
2005078547.tif 000003
【図２】
2005078547.tif 000004
【図３】
2005078547.tif 000005
【図４】
2005078547.tif 000006
【図５】
2005078547.tif 000007
【図６】
2005078547.tif 000008
【図７】
2005078547.tif 000009
【図８】
2005078547.tif 000010
【図９】
2005078547.tif 000011
【図１０】
2005078547.tif 000012
【図１１】
2005078547.tif 000013
【図１２】
2005078547.tif 000014
【図１３】
2005078547.tif 000015
【図１４】
2005078547.tif 000016
【図１５】
2005078547.tif 000017
【図１６】
2005078547.tif 000018
【図１７】
2005078547.tif 000019
【図１８】
2005078547.tif 000020
【図１９】
2005078547.tif 000021
【図２０】
2005078547.tif 000022
【図２１】
2005078547.tif 000023
【図２２】
2005078547.tif 000024