(57)【要約】 【課題】データの読み出し順序が書き込み順序とずれてリサンプリングされることをなくする。【解決手段】位相判定レジスタ１８＿１及び１８＿２の出力を、乗せ換えクロックに同期して取り込んだ位相判定取込回路２８＿２及び３０＿２の出力は、それぞれ、第１のメモリ２６＿１及び第２のメモリ２６＿２のメモリリードイネーブルの元信号生成手段である第１のメモリリードオン生成回路３４＿１及び第２のメモリリードオン生成回路３４＿２に入力される。第１のメモリリードオン生成回路及び第２のメモリリードオン生成回路は、位相判定取込回路より供給された信号に基づいて、第１のメモリ及び第２のメモリの何れからＤＤＲデータの書き込みが開始されたかを判断し、先に書き込みが開始されたメモリに対するメモリリードイネーブルの元信号を生成する。【選択図】図２
2008011453.tif 000002
【特許請求の範囲】
【請求項１】
ＤＤＲ転送方式を採用したインタフェースに適用するクロック乗せ換え回路において、
ＤＤＲインタフェースより供給された第１のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第１の同期化リセット回路と、
前記第１のＤＤＲクロック信号を反転した第２のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第２の同期化リセット回路と、
前記第１の同期化リセット回路の出力と前記第２の同期化リセット回路の出力より、前記第１および第２の同期化リセット回路から出力されたリセット信号の何れが先にリセットが解除されたかを判定する位相判定回路と、
前記位相判定回路の判定結果に起因して生成される第１のメモリライトイネーブル信号に基づいて、前記第１のＤＤＲクロック信号の立ち上がりに同期して、前記ＤＤＲインタフェースより供給された入力データの格納を開始する第１の記憶素子と、
前記位相判定回路の判定結果に起因して生成される第２のメモリライトイネーブル信号に基づいて、前記第２のＤＤＲクロック信号の立ち上がりに同期して、前記入力データの格納を開始する第２の記憶素子と、
前記第１のＤＤＲクロック信号に同期して前記第１の記憶素子への書き込みアドレス信号を生成する第１のアドレス生成回路と、
前記第２のＤＤＲクロック信号に同期して前記第２の記憶素子への書き込みアドレス信号を生成する第２のアドレス生成回路と、
前記位相判定回路の判定結果に起因して生成される第１のメモリリードイネーブル信号に基づいて、前記第１または第２のＤＤＲクロック信号の周波数の２倍の周波数の乗せ換えクロック信号に同期して、前記第１の記憶素子に格納された前記入力データを読み出すための読み出しアドレス信号を生成する第３のアドレス生成回路と、
前記位相判定回路の判定結果に起因して生成される第２のメモリリードイネーブル信号に基づいて、前記乗せ変えクロック信号に同期して、前記第２の記憶素子に格納された前記入力データを読み出すための読み出しアドレス信号を生成する第４のアドレス生成回路と
を備えたことを特徴とするクロック乗せ換え回路。
【請求項２】
ＤＤＲ転送方式を採用したインタフェースに適用するクロック乗せ換え回路において、
ＤＤＲインタフェースより供給された第１のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第１の同期化リセット回路と、
前記第１のＤＤＲクロック信号を反転した第２のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第２の同期化リセット回路と、
前記第１の同期化リセット回路の出力と前記第２の同期化リセット回路の出力より、前記第１および第２の同期化リセット回路から出力されたリセット信号の何れが先にリセットが解除されたかを判定する位相判定回路と、
前記位相判定回路の判定結果に起因して生成される第１のメモリライトイネーブル信号に基づいて、前記第１のＤＤＲクロック信号の立ち上がりに同期して、前記ＤＤＲインタフェースより供給された入力データの格納を開始する第１の記憶素子と、
前記位相判定回路の判定結果に起因して生成される第２のメモリライトイネーブル信号に基づいて、前記第２のＤＤＲクロック信号の立ち上がりに同期して、前記入力データの格納を開始する第２の記憶素子と、
前記第１のＤＤＲクロック信号に同期して前記第１の記憶素子への書き込みアドレス信号を生成する第１のアドレス生成回路と、
前記第２のＤＤＲクロック信号に同期して前記第２の記憶素子への書き込みアドレス信号を生成する第２のアドレス生成回路と、
前記位相判定回路の判定結果に起因して生成される第１及び第２のメモリリードイネーブル信号に基づいて、前記第１または第２のＤＤＲクロック信号の周波数の２倍の周波数の乗せ換えクロック信号に同期して、前記第１及び第２の記憶素子に格納された前記入力データを読み出すためのアドレス信号をカウントイネーブルに基づいて生成する第５のアドレス生成回路と
を備えたことを特徴とするクロック乗せ換え回路。
【請求項３】
前記位相判定回路は、
前記第１のＤＤＲクロック信号の立ち上がりに同期して動作し、かつ前記第１のＤＤＲクロック信号の立ち上がりに同期した第１の同期リセット信号によりリセットを解除される第１のフリップフロップと、
前記第２のＤＤＲクロック信号の立ち上がりに同期して動作し、かつ前記第２のＤＤＲクロック信号の立ち上がりに同期した第２の同期リセット信号によりリセットを解除される第２のフリップフロップと
を備え、
前記第１及び第２のフリップフロップは、リセット期間中、共にローレベルＬの状態を保持し、前記第１のフリップフロップは、前記第１及び第２の同期リセット信号のリセットの解除タイミングのずれに基づき、前記第１のフリップフロップのリセットが解除されたタイミングにおいて、前記第２のフリップフロップがローレベルＬである場合にはハイレベルＨの状態に遷移し、該第２のフリップフロップがハイレベルＨである場合にはローレベルＬの状態を保持することにより、前記第１または第２のＤＤＲクロック信号の何れに同期してリセットが解除されたかを判定することで、前記第１または第２の何れの記憶素子から前記入力データの格納が開始されたかを判定することを特徴とする請求項１または２に記載のクロック乗せ換え回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＤＤＲ（Double Data Rate）モードという高速なデータ転送機能を持った半導体集積回路（ＬＳＩ等）のインタフェース回路に係り、特に供給されるクロック（クロック信号のこと。以下同様）の両エッジに同期して転送されるデータを、該クロックから生成した整数倍のクロックの片エッジに同期してデータのリサンプリングを行うためのクロック乗せ換え回路に関する。
【背景技術】
【０００２】
供給されるクロックの両エッジ（立ち上がり及び立ち下がり）に同期して送出されるデータを転送するデータ転送方式は、ＤＤＲ転送方式と呼ばれている。この方式によれば、クロックの周波数を低減できること、またはクロックはそのままで、通常の倍の転送速度が実現できること等から、ＬＳＩ（Large Scale Integration）間のデータ転送や、ＤＲＡＭの読み書き等に一般に使用されている。尚、ＤＤＲ転送方式を採用したデバイスには、データ転送のためのクロックを供給する等の処理を行うＤＤＲインタフェースと呼ばれるインタフェースが設けられている。このＤＤＲインタフェースについては従来周知の技術であるので詳細な説明は省略する。
【０００３】
一方、特にＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）等では、ＤＤＲ転送方式を採用せずに、供給されるクロックの片側のエッジ（立ち上がりまたは立ち下がり）に同期して動作する回路設計が成されるのが一般的である。
【０００４】
このため、例えば、ＡＳＩＣと、ＤＤＲ転送方式を採用したＬＳＩとの間でデータ転送を行おうとした場合、ＬＳＩ側からの両エッジに同期して出力されたデータを、ＬＳＩ側の２倍の周波数のクロックの片側のエッジに同期させてリサンプリング、すなわち、データをサンプリングするための周波数の変更を行うインタフェース回路を用意する必要がある。
【０００５】
一般に、この種のインタフェース回路（クロック乗せ換え回路）では、ＤＤＲインタフェースから供給されるクロックの立ち上がりに同期してＬＳＩからＤＤＲインタフェースを介して供給されるデータを格納する第１の記憶素子と、供給されるクロックの立ち下がりに同期して、データを格納する第２の記憶素子を具備し、例えば、ＬＳＩ側（ＤＤＲインタフェース）から供給されるクロックから、ＰＬＬ（Phase Locked Loop）などを用いた逓倍回路によって、２倍の周波数のクロックを生成し、この生成された２倍のクロックの片側のエッジ（立ち上がりまたは立ち下がり）を用いて、第１の記憶素子及び第２の記憶素子に格納されたデータを交互に読み出すことにより、クロックの乗せ換えが行われる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このようにしてクロックの乗せ換えを行う場合、第１の記憶素子に格納されたデータ及び第２の記憶素子に格納されたデータの読み出し順序が書き込み順序とずれてしまった場合、データの転送順序が逆転してしまい、異なるデータ群としてリサンプリングされてしまうという問題が生じる。
【０００７】
一方、この問題については、従来何ら指摘されていないし、また解決手段も提案されていない。
【０００８】
そこで、この発明の目的は、第１の記憶素子に格納されたデータ及び第２の記憶素子に格納されたデータの読み出し順序が書き込み順序とずれてリサンプリングされることの無い（データの欠落や破綻等の無い）クロック乗せ換え回路を提供することにある。
【課題を解決するための手段】
【０００９】
上述した目的を達成するため、この発明の第１の要旨のクロック乗せ換え回路によれば、ＤＤＲ転送方式を採用したインタフェースに適用するクロック乗せ換え回路において、
ＤＤＲインタフェースより供給された第１のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第１の同期化リセット回路と、第１のＤＤＲクロック信号を反転した第２のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第２の同期化リセット回路と、第１の同期化リセット回路の出力と第２の同期化リセット回路の出力より、第１および第２の同期化リセット回路から出力されたリセット信号の何れが先にリセットが解除されたかを判定する位相判定回路を備える。
【００１０】
また、位相判定回路の判定結果に起因して生成される第１のメモリライトイネーブル信号に基づいて、第１のＤＤＲクロック信号の立ち上がりに同期して、ＤＤＲインタフェースより供給された入力データの格納を開始する第１の記憶素子と、位相判定回路の判定結果に起因して生成される第２のメモリライトイネーブル信号に基づいて、第２のＤＤＲクロック信号の立ち上がりに同期して、入力データの格納を開始する第２の記憶素子と、第１のＤＤＲクロック信号に同期して第１の記憶素子への書き込みアドレス信号を生成する第１のアドレス生成回路と、第２のＤＤＲクロック信号に同期して第２の記憶素子への書き込みアドレス信号を生成する第２のアドレス生成回路を備える。
【００１１】
さらに、位相判定回路の判定結果に起因して生成される第１のメモリリードイネーブル信号に基づいて、第１または第２のＤＤＲクロック信号の周波数の２倍の周波数の乗せ換えクロック信号に同期して、第１の記憶素子に格納された入力データを読み出すための読み出しアドレス信号を生成する第３のアドレス生成回路と、位相判定回路の判定結果に起因して生成される第２のメモリリードイネーブル信号に基づいて、乗せ変えクロック信号に同期して、第２の記憶素子に格納された入力データを読み出すための読み出しアドレス信号を生成する第４のアドレス生成回路を備えている。
【００１２】
また、この発明の第２の要旨のクロック乗せ換え回路によれば、ＤＤＲ転送方式を採用したインタフェースに適用するクロック乗せ換え回路において、ＤＤＲインタフェースより供給された第１のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第１の同期化リセット回路と、第１のＤＤＲクロック信号を反転した第２のＤＤＲクロック信号の立ち上がりに同期してリセット信号を解除する第２の同期化リセット回路と、第１の同期化リセット回路の出力と第２の同期化リセット回路の出力より、第１および第２の同期化リセット回路から出力されたリセット信号の何れが先にリセットが解除されたかを判定する位相判定回路を備える。
【００１３】
また、位相判定回路の判定結果に起因して生成される第１のメモリライトイネーブル信号に基づいて、第１のＤＤＲクロック信号の立ち上がりに同期して、ＤＤＲインタフェースより供給された入力データの格納を開始する第１の記憶素子と、位相判定回路の判定結果に起因して生成される第２のメモリライトイネーブル信号に基づいて、第２のＤＤＲクロック信号の立ち上がりに同期して、入力データの格納を開始する第２の記憶素子を備える。
【００１４】
そして、第１のＤＤＲクロック信号に同期して第１の記憶素子への書き込みアドレス信号を生成する第１のアドレス生成回路と、第２のＤＤＲクロック信号に同期して第２の記憶素子への書き込みアドレス信号を生成する第２のアドレス生成回路を備える。
【００１５】
さらに、位相判定回路の判定結果に起因して生成される第１及び第２のメモリリードイネーブル信号に基づいて、第１または第２のＤＤＲクロック信号の周波数の２倍の周波数の乗せ換えクロック信号に同期して、第１及び第２の記憶素子に格納された入力データを読み出すためのアドレス信号をカウントイネーブルに基づいて生成する第５のアドレス生成回路を備えている。
【００１６】
また、この発明では、前記位相判定回路は、第１のＤＤＲクロック信号の立ち上がりに同期して動作し、かつ第１のＤＤＲクロック信号の立ち上がりに同期した第１の同期リセット信号によりリセットを解除される第１のフリップフロップと、第２のＤＤＲクロック信号の立ち上がりに同期して動作し、かつ第２のＤＤＲクロック信号の立ち上がりに同期した第２の同期リセット信号によりリセットを解除される第２のフリップフロップを備えており、第１及び第２のフリップフロップは、リセット期間中、共にローレベルＬの状態を保持し、第１のフリップフロップは、第１及び第２の同期リセット信号のリセットの解除タイミングのずれに基づき、第１のフリップフロップのリセットが解除されたタイミングにおいて、第２のフリップフロップがローレベルＬである場合にはハイレベルＨに状態に遷移し、第２のフリップフロップがハイレベルＨである場合にはローレベルＬの状態を保持することにより、第１または第２のＤＤＲクロック信号の何れに同期してリセットが解除されたかを判定することで、第１または第２の何れの記憶素子から入力データの格納が開始されたかを判定する構成とするのが好ましい。
【発明の効果】
【００１７】
この発明の第１の要旨のクロック乗せ換え回路によれば、位相判定回路において、リセット解除後、第１の記憶素子と第２の記憶素子のどちらから先にデータが格納されたかを判定して、データの読み出し順序を決めているので、第１のＤＤＲクロックに同期したリセット信号と、第２のＤＤＲクロックに同期したリセット信号のどちらから先にリセットが解除された場合でも、データの欠落・破綻なしに確実にデータを転送可能にすることが出来る。
【００１８】
また、この発明の第２の要旨のクロック乗せ換え回路によれば、第１及び第２の記憶素子からデータを読み出す際に、１つのアドレス生成回路のみを使用しているので、回路規模の低減が図れる。
【００１９】
また、この発明の好適な実施の形態によれば、位相判定回路を、２つのフリップフロップのみの構成としたので、より単純な回路構成にて、データの欠落・破綻なしに確実にデータを転送可能にすることが出来る。
【発明を実施するための最良の形態】
【００２０】
以下、図を参照して、この発明の実施形態について説明する。なお、図中、各構成要素は、この発明が理解できる程度に概略的に示してあるに過ぎない。また、以下に述べる条件等は、この発明の範囲内の単なる好適例に過ぎない。
【００２１】
（第１実施形態）
図１乃至図４は、この発明の第１実施形態を説明するための図であり、先ず、構成について説明し、続いて動作について説明する。なお、この実施形態では、図１に示すように、ＤＤＲ方式を採用したＬＳＩから、この発明のクロック乗せ換え回路を介して、ＤＤＲ方式を採用していないＡＳＩＣに対して、クロックの乗せ換えの行われたデータを転送する場合について説明を行う。以降の実施形態でも同様である。
【００２２】
図１は、この発明の使用用途の一例を概略的に示したブロック図である。図１に示すように、クロック乗せ換え回路１００には、ＬＳＩ２が備えるＤＤＲインタフェース４から、リセット信号ａ，ＤＤＲクロックｄ，ＤＤＲクロックｅが入力されるとする。また、ＬＳＩ２からＤＤＲインタフェース４を介して、ＤＤＲデータｆが入力されるとする。また、図示しない信号発生回路より、クロック乗せ換え回路１００を構成する、後述する回路の切換えを制御するためのハイレベル信号“１”及びローレベル信号“０”が入力されるとする。なお、この信号発生回路は、クロック乗せ換え回路１００内に設けるようにしても良い。また、ハイレベル信号“１”及びローレベル信号“０”は、論理演算の論理レベルであるハイレベル“Ｈ”及びローレベル“Ｌ”にそれぞれ対応する。
【００２３】
さらに、クロック乗せ換え回路１００は、ＡＳＩＣ６に対して、乗せ換えクロックｇ及びクロック乗せ換え後データｈを出力するとする。
【００２４】
〔第１実施形態の構成〕
図２はこの発明のクロック乗せ換え回路の一構成例を示すブロック図である。また、図３及び図４はこの発明のクロック乗せ換え回路の動作を説明するためのタイミングチャート（ライト（書込み）系及びリード（読出し）系）である。以下、図２を主に参照し、かつ、図３及び図４を適宜参照しながら説明を行う。
【００２５】
図２におけるクロック乗せ換え回路１００は、第１の同期化リセット回路１０（同期化レジスタ１０＿１，１０＿２）、第２の同期化リセット回路１２（同期化レジスタ１２＿１，１２＿２）、位相判定回路１８（位相判定レジスタ１８＿１，１８＿２）、第１のアドレス生成回路すなわちメモリライトアドレス生成回路２４＿１、第２のアドレス生成回路すなわちメモリライトアドレス生成回路２４＿２、第３のアドレス生成回路すなわちメモリリードアドレス生成回路３８＿１、第４のアドレス生成回路すなわちメモリリードアドレス生成回路３８＿２、第１の記憶素子すなわちメモリ２６＿１、第２の記憶素子すなわちメモリ２６＿２を備えている。
【００２６】
さらに、このクロック乗せ換え回路１００は、周辺回路として、メモリライトデータ取込回路１４＿１，１４＿２、メモリライトイネーブル生成回路２２＿１，２２＿２、メモリライトイネーブル遅延回路３２＿１〜３２＿ｎ（ｎは自然数）、位相判定取込回路２８＿１，２８＿２，３０＿１，３０＿２、メモリリードオン生成回路３４＿１，３４＿２、２進カウンタ３６＿１，３６＿２、メモリリードデータ取込回路４２＿１，４２＿２、統合タイミング生成回路４０＿１，４０＿２、メモリリードデータ統合回路４４、ＯＲ回路４８，５０、逓倍回路５２を備えている。
【００２７】
また、このクロック乗せ換え回路１００には、ＤＤＲインタフェース４から、リセット信号（以下、単にリセットとも称する。）ａ、ＤＤＲクロック（以下、第１のＤＤＲクロックとも称する。）ｄ及びＤＤＲクロック（以下、第２のＤＤＲクロックとも称する。）ｅが入力され、さらに、ＬＳＩ２からＤＤＲインタフェース４を介してＤＤＲデータｆが入力される。ＤＤＲクロックｄ及びＤＤＲクロックｅは、それぞれ位相が反転の関係にある。また、例えば、クロック乗せ換え回路１００内部において、ＤＤＲインタフェース４から供給されるＤＤＲクロックｄまたはｅより、ＰＬＬなどを用いた逓倍回路５２によって、２倍の周波数に逓倍された乗せ換えクロックｇが生成される。さらに、クロック乗せ換え回路１００に入力されたＤＤＲデータｆが、ＤＤＲクロックの周波数の２倍の周波数の乗せ換えクロックｇに乗せ換えられたクロック乗せ換え後データｈとして出力される。すなわち、ＤＤＲデータｆの生成周期とデータｈの生成周期は、同一周期であるが、ＤＤＲデータｆを生成するクロックの周期は２Ｔであり、データｈを生成するクロックの周期はＴであり、しかも、データｆ及びデータｈの何れも、それぞれのクロックの立ち上がりで生成される。
【００２８】
以下、上述したＤＤＲデータｆからクロック乗せ換え後データｈとして生成される処理につき説明する。
【００２９】
同期化レジスタ１０＿１及び１０＿２（第１の同期化リセット回路）は、それぞれ、そのリセット端子にはリセット信号ａが入力され、及びクロック入力端子にはＤＤＲクロックｄが入力される。また、同期化レジスタ１０＿１にはハイレベル信号“１”が入力され、同期化レジスタ１０＿１の出力は、同期化レジスタ１０＿２に入力される。第１の同期化リセット回路は、リセット信号ａで非同期リセットされ、リセット解除時にＤＤＲクロックｄでハイレベル信号“１”を２サイクルシフトして、ＤＤＲクロック同期リセット信号ｂを出力する（図３参照）。
【００３０】
また、同期化レジスタ１２＿１及び１２＿２（第２の同期化リセット回路）は、それぞれ、そのリセット端子にはリセット信号ａが入力され、及びクロック入力端子にはＤＤＲクロックｅが入力される。また、同期化レジスタ１２＿１にはハイレベル信号“１”が入力され、同期化レジスタ１２＿１の出力は、同期化レジスタ１２＿２に入力される。第２の同期化リセット回路は、リセット信号ａで非同期リセットされ、リセット解除時にＤＤＲクロックｅでハイレベル信号“１”を２サイクルシフトして、ＤＤＲクロック同期リセット信号ｃを出力する。尚、この発明では、第１の同期化リセット回路から先に同期化リセットが行われるものとして説明する。
【００３１】
メモリライトデータ取込回路１４＿１のリセット端子にはＤＤＲクロック同期リセット信号ｂが入力され、及びクロック入力端子にはＤＤＲクロックｄが入力される。メモリライトデータ取込回路１４＿１は、ＤＤＲデータｆをＤＤＲクロックｄの立ち上がりエッジで取り込み、メモリ２６＿１に入力する。この場合、このＤＤＲデータｆは、メモリ２６＿１（以下、第１の記憶素子と称することもある。）のライトデータとなる。
【００３２】
メモリライトデータ取込回路１４＿２のリセット端子にはＤＤＲクロック同期リセット信号ｃが入力され、及びクロック入力端子にはＤＤＲクロックｅが入力される。メモリライトデータ取込回路１４＿２は、ＤＤＲデータｆをＤＤＲクロックｅの立ち上がりエッジで取り込み、メモリ２６＿２に入力する。この場合、このＤＤＲデータｆは、メモリ２６＿２（以下、第２の記憶素子と称することもある。）のライトデータとなる。
【００３３】
位相判定レジスタ１８＿１のリセット端子にはＤＤＲクロック同期リセット信号ｂが入力され、及びクロック入力端子にはＤＤＲクロックｄが入力される。また、位相判定レジスタ１８＿１の出力信号は、位相判定レジスタ１８＿２に入力されると共に、位相判定取込回路２８＿１に入力される。位相判定レジスタ１８＿１を第１のフリップフロップとも称する。
【００３４】
位相判定レジスタ１８＿２のリセット端子にはＤＤＲクロック同期リセット信号ｃが入力され、及びクロック入力端子にはＤＤＲクロックｅが入力される。また、位相判定レジスタ１８＿２の出力信号は、位相判定レジスタ１８＿１に入力されると共に、位相判定取込回路３０＿１に入力される。位相判定レジスタ１８＿２を第２のフリップフロップとも称する。
【００３５】
位相判定レジスタ１８＿１は、ＤＤＲクロックｄの立ち上がりエッジで、位相判定レジスタ１８＿２の出力信号が“０”ならば“１”を、“１”ならば“０”を取り込む。また、位相判定レジスタ１８＿２は、ＤＤＲクロックｅの立ち上がりエッジで、位相判定レジスタ１８＿１の出力信号が“０”ならば“１”を、“１”ならば“０”を取り込む。位相判定レジスタ１８＿１及び位相判定レジスタ１８＿２を合わせて位相判定回路１８と称する。
【００３６】
メモリライトイネーブル生成回路２２＿１（負論理）のリセット端子にはＤＤＲクロック同期リセット信号ｂが入力され、及びクロック入力端子にはＤＤＲクロックｄが入力される。また、メモリライトイネーブル生成回路２２＿１にはローレベル信号“０”が入力され、その出力信号は、メモリライトアドレス生成回路２４＿１及びメモリ２６＿１に入力される。メモリライトイネーブル生成回路２２＿１は、ＤＤＲクロックｄの立ち上がりエッジで固定値、すなわちローレベル信号“０”を取り込み、メモリ２６＿１のライトイネーブル信号（以降、第１のメモリライトイネーブル信号とも称する。）を生成する。
【００３７】
メモリライトイネーブル生成回路２２＿２（負論理）のリセット端子にはＤＤＲクロック同期リセット信号ｃが入力され、及びクロック入力端子にはＤＤＲクロックｅが入力される。また、メモリライトイネーブル生成回路２２＿２にはローレベル信号“０”が入力され、その出力信号は、メモリライトアドレス生成回路２４＿２及びメモリ２６＿２に入力される。メモリライトイネーブル生成回路２２＿２は、ＤＤＲクロックｄの立ち上がりエッジで固定値、すなわちローレベル信号“０”を取り込み、メモリ２６＿２のライトイネーブル信号（以降、第２のメモリライトイネーブル信号とも称する。）を生成する。尚、上述した説明及び以下の説明において、ライトイネーブル信号及びメモリライトイネーブル信号を単にライトイネーブル及びメモリライトイネーブルとも略称する。
【００３８】
メモリライトアドレス生成回路２４＿１（第１のアドレス生成回路）のリセット端子にはＤＤＲクロック同期リセット信号ｂが入力され、及びクロック入力端子にはＤＤＲクロックｄが入力される。メモリライトアドレス生成回路２４＿１は、メモリライトイネーブル生成回路２２＿１の出力信号が、“０”のときにＤＤＲクロックｄの立ち上がりエッジでカウントアップし、メモリ２６＿１のライトアドレスを生成する。
【００３９】
メモリライトアドレス生成回路２４＿２（第２のアドレス生成回路）のリセット端子にはＤＤＲクロック同期リセット信号ｃが入力され、及びクロック入力端子にはＤＤＲクロックｅが入力される。メモリライトアドレス生成回路２４＿２は、メモリライトイネーブル生成回路２２＿２の出力信号が、“０”のときにＤＤＲクロックｅの立ち上がりエッジでカウントアップし、メモリ２６＿２のライトアドレスを生成する。
【００４０】
メモリ２６＿１は、そのライト側にＤＤＲクロックｄ及びＤＤＲクロックｄに同期したメモリライトデータ取込回路１４＿１、メモリライトイネーブル生成回路２２＿１、メモリライトアドレス生成回路２４＿１のそれぞれからの出力が入力されて、このメモリ２６＿１にＤＤＲデータｆのライト（書込み）が行われる。すなわち、メモリライトイネーブル生成回路２２＿１の出力が“０”の時にＤＤＲクロックｄの立ち上がりエッジで、メモリライトアドレス生成回路２４＿１の出力であるライトアドレス（番地）に、メモリライトデータ取込回路１４＿１の出力であるライトデータ（ＤＤＲデータｆ）の書き込みが行われる。
【００４１】
また、メモリ２６＿１は、そのリード側に、乗せ換えクロックｇ及び乗せ換えクロックｇに同期したＯＲ回路４８、メモリリードアドレス生成回路３８＿１のそれぞれからの出力が入力されて、メモリ２６＿１から、ライトされたＤＤＲデータｆのリード（読出し）が行われる。すなわち、ＯＲ回路４８の出力であるメモリリードイネーブル信号ｉ（第１のメモリリードイネーブル信号）が“０”の時に乗せ換えクロックｇの立ち上がりエッジに同期して、メモリリードアドレス生成回路３８＿１の出力であるリードアドレス（番地）のデータを、メモリリードデータｋとしてメモリリードデータ取込回路４２＿１に出力する。尚、以降、メモリリードイネーブル信号を、単にメモリリードイネーブルと略称する。メモリリードイネーブルｉが“１”の時の出力は前値すなわち、メモリ２６＿１に過去に記憶されたデータを保持する。尚、前値を保持せずに不確定のデータを出力するようなメモリで構成することも可能である。図３及び図４のタイミングチャートは前値保持のものである。
【００４２】
メモリ２６＿２は、そのライト側にＤＤＲクロックｅ及びＤＤＲクロックｅに同期したメモリライトデータ取込回路１４＿２、メモリライトイネーブル生成回路２２＿２、メモリライトアドレス生成回路２４＿２のそれぞれからの出力信号が入力されて、このメモリ２６＿２からＤＤＲデータｆのライトが行われる。すなわち、メモリライトイネーブル生成回路２２＿２の出力信号が“０”の時に、ＤＤＲクロックｅの立ち上がりエッジで、メモリライトアドレス生成回路２４＿２の出力信号であるライトアドレス（番地）信号（単にライトアドレスとも称する。）に、メモリライトデータ取込回路１４＿２の出力信号であるライトデータ（ＤＤＲデータｆ）の書き込みをメモリ２６＿２に行う。
【００４３】
また、メモリ２６＿２は、そのリード側に、乗せ換えクロック及び乗せ換えクロックに同期したＯＲ回路５０、メモリリードアドレス生成回路３８＿２のそれぞれからの出力信号が入力されて、メモリ２６＿２から、ライトされたＤＤＲデータのリードが行われる。すなわち、ＯＲ回路５０の出力信号であるメモリリードイネーブルｊ（第２のメモリリードイネーブル）が“０”の時に、乗せ換えクロックｇの立ち上がりエッジに同期して、メモリリードアドレス生成回路３８＿２の出力信号であるリードアドレス（番地）信号（単に、リードアドレスとも称する。）のデータをメモリリードデータｌとしてメモリリードデータ取込回路４２＿２に出力する。メモリリードイネーブルｊが“１”の時の出力信号は前値すなわち、メモリ２６＿２に過去に記憶されたデータを保持する。尚、メモリ２６＿１と同様に、前値を保持せずに不確定のデータを出力するようなメモリで構成することも可能である。図３及び図４のタイミングチャートは前値保持のものである。
【００４４】
メモリライトイネーブル遅延回路３２＿１〜３２＿ｎは、それぞれのリセット端子にリセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、メモリライトイネーブル遅延回路３２＿ｎの出力信号は、メモリリードオン生成回路３４＿１及び３４＿２に入力される。メモリライトイネーブル遅延回路３２＿１〜３２＿ｎは、ＤＤＲクロックｄに同期したメモリライトイネーブル生成回路２２＿１の出力信号を、乗せ換えクロックｇの立ち上がりエッジで取り込んでｎ段シフトする。これは、メモリのライトアドレスとリードアドレスに距離を持たせる、すなわち信号を遅延させるためのものであり、このメモリライトイネーブル遅延回路３２＿ｎの出力信号は、メモリリードイネーブルｉ及びメモリリードイネーブルｊを生成するための元信号となる。
【００４５】
尚、この遅延は、メモリライトイネーブル生成回路２２＿２の出力に対して行うようにしても良い。すなわち、この遅延回路は、既に述べたように、ライトアドレスとリードアドレスに距離を持たせるためのものであるので、ＤＤＲクロックで半相分しかずれていないメモリライトイネーブル生成回路２２＿１の出力信号及びメモリライトイネーブル生成回路２２＿２の出力信号を別々にシフトする必要が無いためである（およその距離を保てばよい）。なお、これらを別々にシフトした場合には、初段の取り込みで、クロックのジッタ等により、ＤＤＲクロック１サイクル分のずれが生じる可能性があるため好ましくない。よって、メモリライトイネーブル生成回路２２＿１の出力信号及びメモリライトイネーブル生成回路２２＿２の出力信号のいずれか一方のみをシフトさせる構成とした。この実施形態では、メモリライトイネーブル生成回路２２＿１の出力信号を遅延させている。
【００４６】
位相判定取込回路２８＿１及び２８＿２の各リセット端子には、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、位相判定取込回路２８＿１の出力信号は、位相判定取込回路２８＿２に入力され、及び位相判定取込回路２８＿２の出力はメモリリードオン生成回路３４＿１に入力される。位相判定取込回路２８＿１及び２８＿２は、ＤＤＲクロックｄに同期した位相判定レジスタ１８＿１の出力信号を、乗せ換えクロックｇの立ち上がりエッジで取り込んで該位相判定レジスタ１８＿１の出力信号をシフトする。
【００４７】
位相判定取込回路３０＿１及び３０＿２の各リセット端子には、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、位相判定取込回路３０＿１の出力信号は、位相判定取込回路３０＿２に入力され、及び位相判定取込回路３０＿２の出力信号はメモリリードオン生成回路３４＿２に入力される。位相判定取込回路３０＿１及び３０＿２は、ＤＤＲクロックｅに同期した位相判定レジスタ１８＿２の出力信号を、乗せ換えクロックの立ち上がりエッジで取り込んで、該位相判定レジスタ１８＿２の出力信号をシフトする。
【００４８】
メモリリードオン生成回路３４＿１は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、メモリリードオン生成回路３４＿１の出力信号は、ＯＲ回路４８、２進カウンタ３６＿１、及びメモリリードオン生成回路３４＿２に入力される。メモリリードオン生成回路３４＿１は、メモリライトイネーブル遅延回路３２＿ｎの出力信号が“０”の時に乗せ換えクロックｇに同期して以下の動作をする。すなわち、位相判定取込回路２８＿２の出力信号が“１”であれば“０”を保持し、及び位相判定取込回路２８＿２の出力信号が“０”であれば、メモリリードオン生成回路３４＿２の出力信号を取り込む。メモリリードオン生成回路３４＿１の出力信号は、メモリリードイネーブルｉを生成するための元信号となる。
【００４９】
メモリリードオン生成回路３４＿２は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、メモリリードオン生成回路３４＿２の出力信号は、ＯＲ回路５０、２進カウンタ３６＿２、及びメモリリードオン生成回路３４＿１に入力される。メモリリードオン生成回路３４＿２は、メモリライトイネーブル遅延回路３２＿ｎの出力信号が“０”の時に乗せ換えクロックｇに同期して以下の動作をする。すなわち、メモリリードオン生成回路３４＿２は、位相判定取込回路３０＿２の出力が“１”であれば“０”を保持し、及び位相判定取込回路３０＿２の出力信号が“０”であれば、メモリリードオン生成回路３４＿１の出力信号を取り込む。メモリリードオン生成回路３４＿２の出力信号は、メモリリードイネーブルｊを生成するための元信号となる。
【００５０】
２進カウンタ３６＿１は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、２進カウンタ３６＿１の出力信号は、ＯＲ回路４８、統合タイミング生成回路４０＿１及びメモリリードアドレス生成回路３８＿１に入力される。２進カウンタ３６＿１は、メモリリードオン生成回路３４＿１の出力信号が“０”の時に乗せ換えクロックに同期してトグル（Ｈ“１”とＬ“０”）を繰り返す）する。メモリリードオン生成回路３４＿１の出力信号と、この２進カウンタ３６＿１の出力信号とのＯＲ論理をとったものがメモリリードイネーブルｉとなる。
【００５１】
２進カウンタ３６＿２は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、２進カウンタ３６＿２の出力信号は、ＯＲ回路５０、統合タイミング生成回路４０＿２及びメモリリードアドレス生成回路３８＿２に入力される。２進カウンタ３６＿２は、メモリリードオン生成回路３４＿２の出力が“０”の時に乗せ換えクロックに同期してトグルする。メモリリードオン生成回路３４＿２の出力信号と、この２進カウンタ３６＿２の出力信号とのＯＲ論理をとったものがメモリリードイネーブルｊとなる。
【００５２】
メモリリードアドレス生成回路３８＿１（第３のアドレス生成回路）は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。メモリリードアドレス生成回路３８＿１は、２進カウンタ３６＿１の出力信号が“１”の時に乗せ換えクロックの立ち上がりエッジでカウントアップして、メモリ２６＿１のリードアドレスを生成する。
【００５３】
メモリリードアドレス生成回路３８＿２（第４のアドレス生成回路）は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。メモリリードアドレス生成回路３８＿２は、２進カウンタ３６＿２の出力信号が“１”の時に乗せ換えクロックの立ち上がりエッジでカウントアップして、メモリ２６＿２のリードアドレスを生成する。
【００５４】
メモリリードデータ取込回路４２＿１は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。メモリリードデータ取込回路４２＿１は、乗せ換えクロックｇの立ち上がりエッジでメモリリードデータｋを取り込む。
【００５５】
メモリリードデータ取込回路４２＿２は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。メモリリードデータ取込回路４２＿２は、乗せ換えクロックｇの立ち上がりエッジでメモリリードデータｌを取り込む。
【００５６】
統合タイミング生成回路４０＿１は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、統合タイミング生成回路４０＿１の出力信号は、メモリリードデータ統合回路４４に入力される。統合タイミング生成回路４０＿１は、２進カウンタ３６＿１を１サイクル遅延させるレジスタである。
【００５７】
統合タイミング生成回路４０＿２は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、統合タイミング生成回路４０＿２の出力信号は、メモリリードデータ統合回路４４に入力される。統合タイミング生成回路４０＿２は、２進カウンタ３６＿２を１サイクル遅延させるレジスタである。
【００５８】
メモリリードデータ統合回路４４は、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。メモリリードデータ統合回路４４は、乗せ換えクロックｇの立ち上がりエッジで、統合タイミング生成回路４０＿１の出力信号が“１”の時にメモリリードデータ取込回路４２＿１の出力信号を取り込み、統合タイミング生成回路４０＿２の出力信号が“１”の時にメモリリードデータ取込回路４２＿２の出力信号を取り込み、ＤＤＲデータｆを、クロック乗せ換え後データｈとして出力する。
【００５９】
〔第１実施形態の動作〕
＜メモリへのデータの書き込み＞
先ず、図３のタイミングチャートを参照して、第１及び第２の記憶素子２６＿１，２６＿２へのＤＤＲデータｆの書き込みについて説明する。
【００６０】
ＤＤＲインタフェース４を介し、このクロック乗せ換え回路１００に転送されてきたＤＤＲデータｆは、ＤＤＲクロックｄの立ち上がりに同期し、メモリライトデータ取込回路１４＿１を介してメモリ２６＿１に格納されると共に、ＤＤＲクロックｅの立ち上がりに同期し、メモリライトデータ取込回路１４＿２を介してメモリ２６＿２に格納される。既に述べたとおり、ＤＤＲクロックｄとＤＤＲクロックｅの位相は反転の関係にある。したがって、ＤＤＲインタフェースを介し、このクロック乗せ換え回路に転送されてきたＤＤＲデータｆは、メモリ２６＿１及びメモリ２６＿２に時間的に交互に書き込まれることになる。
【００６１】
ＤＤＲデータｆを、メモリ２６＿１及びメモリ２６＿２に格納するためのアドレスは、メモリライトアドレス生成回路２４＿１及びメモリライトアドレス生成回路２４＿２により生成される。これら、メモリライトアドレス生成回路２４＿１及びメモリライトアドレス生成回路２４＿２は、それぞれ、ＤＤＲクロックｄの立ち上がり及びＤＤＲクロックｅの立ち上がりに同期して動作する。すなわち、どちらかのクロックを基準とすると、ＤＤＲデータｆを、メモリ２６＿１及びメモリ２６＿２に格納するためのアドレスは、それぞれ、半相ずれたクロックに同期してアドレスの更新が行われるように動作する（図３参照）。
【００６２】
また、メモリライトアドレス生成回路２４＿１及びメモリライトアドレス生成回路２４＿２は、それぞれ対応するメモリライトイネーブル生成回路２２＿１（負論理）及びメモリライトイネーブル生成回路２２＿２（負論理）の出力信号により動作を開始する。この実施形態では、メモリライトアドレス生成回路２４＿２より早くメモリライトアドレス生成回路２４＿１が動作を開始する。
【００６３】
メモリライトイネーブル生成回路２２＿１はＤＤＲクロックｄに同期して、固定値、すなわちローレベル信号“０”を取り込む動作をし、同期化レジスタ１０＿２よりＤＤＲクロックｄに同期化されたＤＤＲクロック同期リセット信号ｂが入力される。同様に、メモリライトイネーブル生成回路２２＿２はＤＤＲクロックｅに同期して、固定値、すなわちローレベル信号“０”を取り込む動作をし、同期化レジスタ１２＿２よりＤＤＲクロックｅに同期化されたＤＤＲクロック同期リセット信号ｃが入力される。
【００６４】
なお、この発明においては、メモリライトイネーブル生成回路２２＿１及びメモリライトイネーブル生成回路２２＿２と、後述の位相判定回路１８において、メモリライトイネーブル生成回路２２＿１及び位相判定レジスタ１８＿１における、同期化レジスタ１０＿２の出力信号であるＤＤＲクロック同期リセット信号（第１の同期リセット信号）ｂの解除タイミングが同じ（ＤＤＲクロック同期リセット信号ｂの遅延が１サイクル以内）である。また、同様にメモリライトイネーブル生成回路２２＿２及び位相判定レジスタ１８＿２における、同期化レジスタ１２＿２の出力信号であるＤＤＲクロック同期リセット信号（第２の同期リセット信号）ｃの解除タイミングが同じ（ＤＤＲクロック同期リセット信号ｃの遅延が１サイクル以内）である。その結果、位相判定結果、すなわち、メモリ２６＿１とメモリ２６＿２の何れからＤＤＲデータｆの書き込みが最初に開始されたかを示す位相判定回路１８の判定結果と、実際にＤＤＲデータｆの書き込みが開始された側とは常に一致することになる。
【００６５】
＜メモリからのデータの読み出し＞
次に、図４のタイミングチャートを参照して、第１及び第２の記憶素子２６＿１，２６＿２に格納されたＤＤＲデータｆを読み出す場合の動作について説明する。
【００６６】
位相判定回路１８（位相判定レジスタ１８＿１及び１８＿２）の出力信号を、乗せ換えクロックｇに同期して取り込んだ位相判定取込回路２８＿２及び３０＿２は、それぞれ、メモリ２６＿１及びメモリ２６＿２のメモリリードイネーブルの元信号生成手段であるメモリリードオン生成回路３４＿１及びメモリリードオン生成回路３４＿２に信号を出力する。メモリリードオン生成回路３４＿１及びメモリリードオン生成回路３４＿２は、位相判定取込回路２８＿２及び位相判定取込回路３０＿２より入力された信号に基づいて、メモリ２６＿１及びメモリ２６＿２の何れからＤＤＲデータの書き込みが開始されたかを判断（後述）し、先に書き込みが開始された側のメモリに対するメモリリードイネーブルの元信号を生成する。
【００６７】
メモリリードイネーブルの元信号生成手段であるメモリリードオン生成回路３４＿１及びメモリリードオン生成回路３４＿２の出力信号は、２進カウンタ３６＿１及び３６＿２に入力され、２進カウンタ３６＿１は、メモリリードオン生成回路３４＿１の出力信号が“０”の時に乗せ換えクロックに同期してトグルし、２進カウンタ３６＿２は、メモリリードオン生成回路３４＿２の出力が“０”の時に乗せ換えクロックに同期してトグルする。尚、２進カウンタ３６＿１とメモリリードオン生成回路３４＿１のＯＲ論理出力がメモリリードイネーブルｉとなり、２進カウンタ３６＿２とメモリリードオン生成回路３４＿２のＯＲ論理出力がメモリリードイネーブルｊとなる。
【００６８】
２進カウンタ３６＿１及び３６＿２の出力信号は、第３及び第４のアドレス生成回路に入力され、第３及び第４のアドレス生成回路であるメモリリードアドレス生成回路３８＿１及びメモリリードアドレス生成回路３８＿２は、２進カウンタ３６＿１及び２進カウンタ３６＿２がそれぞれ“１”の時に、乗せ換えクロックに同期してカウントアップする。
【００６９】
メモリリードアドレス生成回路３８＿１及び３８＿２により生成された読み出しアドレスと、メモリリードイネーブルｉ及びメモリリードイネーブルｊとに基づいて、メモリ２６＿１及びメモリ２６＿２より読み出されたＤＤＲデータは、一旦、メモリリードデータ取込回路４２＿１及びメモリリードデータ取込回路４２＿２に読み出された後、メモリリードデータ統合回路４４に入力され、ＤＤＲクロックｄ及びＤＤＲクロックｅから乗せ換えクロックｇにクロックを乗せ換えられたクロック乗せ換え後データｈとして、この発明のクロック乗せ換え回路１００から、ＡＳＩＣ６に出力される。
【００７０】
次に、この発明の特徴である前述の位相判定回路について詳細に説明する。
【００７１】
位相判定回路は、ＤＤＲクロックｄに同期して動作し、ＤＤＲクロックｄに同期化された、同期化レジスタ１０＿２の出力信号であるＤＤＲクロック同期リセット信号ｂが入力される位相判定レジスタ１８＿１（第１のフリップフロップ）と、ＤＤＲクロックｅに同期して動作し、ＤＤＲクロックｅに同期化された、同期化レジスタ１２＿２の出力信号であるＤＤＲクロック同期リセット信号ｃが入力される位相判定レジスタ１８＿２（第２のフリップフロップ）とにより構成される。また、位相判定レジスタ１８＿１の出力信号は位相判定レジスタ１８＿２に入力され、位相判定レジスタ１８＿２の出力信号は位相判定レジスタ１８＿１に入力される。
【００７２】
位相判定レジスタ１８＿１及び位相判定レジスタ１８＿２を構成する第１のフリップフロップ及び第２のフリップフロップの状態は、ＤＤＲクロック同期リセット信号ｂ及びＤＤＲクロック同期リセット信号ｃが共にリセット中には（Ｌ，Ｌ）という論理をとる。ここで、括弧内は、（第１のフリップフロップの状態，第２のフリップフロップの状態）を示す。
【００７３】
第１のフリップフロップは、ＤＤＲクロック同期リセット信号ｂのリセットが解除された際、第２のフリップフロップの状態がローレベルＬの場合にはハイレベルＨを保持し、第２のフリップフロップの状態がハイレベルＨの場合にはローレベルＬを保持する。第２のフリップフロップは、ＤＤＲクロック同期リセット信号ｃのリセットが解除された際、第１のフリップフロップの状態がＬの場合にはＨを保持し、及び第１のフリップフロップの状態がＨの場合にはＬを保持する。
【００７４】
ここで、第１のフリップフロップ及び第２のフリップフロップに入力される各々のリセット信号は、半相ずれたクロックに同期した形で入力される。その結果、これらのフリップフロップのリセットは、必ずクロックの半相分ずれたタイミングで解除されることとなる。よって、リセット解除時には必ずどちらかのフリップフロップがＬからＨに状態を遷移し、その状態が保持され続けることになる。すなわち、（Ｈ，Ｌ）もしくは（Ｌ，Ｈ）のどちらかの状態に遷移し、かつリセットが再度有効となるまで、その状態を保持し続けることとなる。尚、この実施形態（タイミングチャート）では、（Ｈ，Ｌ）の場合であって、メモリ２６＿１から先にＤＤＲデータが書き込まれた場合を例に説明を行っている。
【００７５】
これらの動作により、各リセットの解除が、ＤＤＲクロックｄ及びＤＤＲクロックｅに対して位相フリーで解除された場合でも、この位相判定回路において、どちらのクロックに同期して先にリセットが解除されたかを判定することが可能となり、この位相判定回路の出力信号を用いて、メモリ２６＿１とメモリ２６＿２のメモリリードイネーブルｉ及びメモリリードイネーブルｊの元信号であるメモリリードオン生成回路３４＿１及びメモリリードオン生成回路３４＿２の出力信号の生成を制御することにより、ＤＤＲデータの入力順序に対する出力順序の破綻（誤り）を回避しつつ、クロックの乗せ換えを実現することが可能となる。
【００７６】
〔第１実施形態の作用効果〕
従って、この実施形態によれば、位相判定レジスタ１８＿１及び位相判定レジスタ１８＿２において、リセット解除後、メモリ２６＿１とメモリ２６＿２のどちらから先にＤＤＲデータが格納されたかを判定して、データの読み出し順序を決めているので、ＤＤＲクロックｄに同期したＤＤＲクロック同期リセットｂと、ＤＤＲクロックｅに同期したＤＤＲクロック同期リセットｃのどちらから先にリセットが解除された場合でも、すなわち、ＤＤＲインタフェースから供給されるＤＤＲクロックとリセット信号の解除タイミングに依存することなく、データの欠落・破綻なしに確実にデータを転送できるインタフェース回路（クロック乗せ換え回路）を提供することが可能となる。
【００７７】
また、この実施形態によれば、メモリ２６＿１とメモリ２６＿２のバッファ量、及び、メモリライトアドレス生成回路２４＿１の生成するアドレス値とメモリリードアドレス生成回路３８＿１が生成するアドレス値に距離を持たせるための遅延回路（メモリライトイネーブル遅延回路３２＿１〜３２＿ｎ）の段数を最適に設定することにより、供給されるＤＤＲクロックから２倍の周波数の乗せ換えクロックを生成するＰＬＬなどの回路に発生するジッタなどに起因するデータの欠落・破綻等を回避することが可能となる。
【００７８】
（第２実施形態）
図５及び図６は、この発明の第２実施形態を説明するための図であり、先ず、構成について説明し、続いて動作について説明する。図５は、この発明の第２実施形態にかかるクロック乗せ換え回路２００の一構成例を示したブロック図であり、図６は、この発明の第２実施形態にかかるクロック乗せ換え回路の動作（リード系）を説明するためのタイミングチャートである。
【００７９】
図５において、図２と同一構成かつ同一機能であるものについては同一の符号を付し説明を省略もしくは簡略にする。以下、図５を主に参照し、かつ図６を適宜参照しながら説明を行う。
【００８０】
〔第２実施形態の構成〕
第１実施形態では、第３及び第４のアドレス生成回路のように、アドレス生成に用いるカウンタ回路を２つ用いる場合について説明したが、メモリリードアドレス生成回路３８＿１及びメモリリードアドレス生成回路３８＿２の出力であるリードアドレスの変化点は、乗せ換えクロックｇの２サイクル幅であり、またメモリ２６＿１及びメモリ２６＿２へのアクセスは、乗せ換えクロックｇの２サイクルに１回で且つこれらが毎回交互に行われるため、２つのアドレス生成用カウンタであるメモリリードアドレス生成回路３８＿１及びメモリリードアドレス生成回路３８＿２を、この実施の形態では、１つのアドレス生成用カウンタ（メモリリードアドレス生成回路４６）によって構成することが出来る。
【００８１】
第５のアドレス生成回路であるメモリリードアドレス生成回路４６には、そのリセット端子に、リセット信号ａが入力され、及びクロック入力端子には乗せ換えクロックｇが入力される。また、メモリリードアドレス生成回路４６には、２進カウンタ３６＿１の出力信号が入力される。また、メモリリードアドレス生成回路４６の出力信号（アドレス）は、メモリ２６＿１及びメモリ２６＿２に入力される。
【００８２】
〔第２実施形態の動作〕
第５のアドレス生成回路であるメモリリードアドレス生成回路４６の内部において、以下の論理式の出力信号をメモリリードアドレス生成回路４６のカウントイネーブル信号（単にカウントイネーブルとも称する。）として生成する（図６参照）。尚、カウントイネーブルとは、メモリリードアドレスをカウントする際のタイミング信号である。カウントイネーブルが１の時に乗せ換えクロックｇの立ち上がりエッジに同期してアドレスカウンタがアップする。
カウントイネーブル
＝｛（２進カウンタ３６＿１）ＡＮＤ（位相判定取込回路２８＿２）｝ＯＲ
｛（２進カウンタ３６＿２）ＡＮＤ（位相判定取込回路３０＿２）｝  ・・・（１）
式（１）では、先にライトを開始した方の２進カウンタの出力信号のみが出力されることになる。このカウントイネーブルが１の時に乗せ換えクロックｇの立ち上がりエッジでカウントアップし、メモリ２６＿１及びメモリ２６＿２のリードアドレスとなる。
【００８３】
〔第２実施形態の作用効果〕
従って、この実施形態によれば、第１実施形態と同様な作用効果を得られると共に、第１実施形態では、第３，第４のアドレス生成回路２つを使用していたのに比べ、第２実施形態では第５のアドレス生成回路１つを使用するだけでよく、回路規模の低減の効果が得られる。
【００８４】
（実施形態の変形）
なお、クロック乗せ換え回路は、既述のとおり、例えば、ＬＳＩとＡＳＩＣ間のインタフェースとして使用されているが、Ｇビットイーサネットなどの高速インタフェースの汎用ＰＨＹ（physical layer）チップとのインタフェースなどにも適用可能である。
【００８５】
また、この発明は前述の実施形態に限定されるものではなく、この発明の目的を達成できる範囲での変形、改良等もこの発明に含まれるものである。
【００８６】
例えば、この発明を実施するための最良の構成などは、以上の記載で開示されているが、この発明は、これに限定されるものではない。すなわち、この発明は、主に特定の実施形態に関して特に図示され、かつ、説明されているが、この発明の技術的思想および目的の範囲から逸脱することなく、以上述べた実施形態に対し、構成、動作、数量、その他の詳細な構成において、当業者が様々な変形を加えることができるものである。
【００８７】
したがって、上記に開示した構成、動作などを限定した記載は、この発明の理解を容易にするために例示的に記載したものであり、この発明を限定するものではないから、それらの構成、動作などの限定の一部若しくは全部の限定を外した構成の名称での記載は、この発明に含まれるものである。
【図面の簡単な説明】
【００８８】
【図１】この発明の使用用途の一例を概略的に示したブロック図である。
【図２】この発明の第１実施形態にかかるクロック乗せ換え回路の一構成例を示したブロック図である。
【図３】この発明の第１実施形態にかかるクロック乗せ換え回路の動作（ライト系）を説明するためのタイミングチャートである。
【図４】この発明の第１実施形態にかかるクロック乗せ換え回路の動作（リード系）を説明するためのタイミングチャートである。
【図５】この発明の第２実施形態にかかるクロック乗せ換え回路の一構成例を示したブロック図である。
【図６】この発明の第２実施形態にかかるクロック乗せ換え回路の動作（リード系）を説明するためのタイミングチャートである。
【符号の説明】
【００８９】
２…ＬＳＩ
４…ＤＤＲインターフェース
６…ＡＳＩＣ
１００，２００…クロック乗せ換え回路
１０＿１，１０＿２…同期化レジスタ（１０：第１の同期化リセット回路）
１２＿１，１２＿２…同期化レジスタ（１２：第２の同期化リセット回路）
１４＿１，１４＿２…メモリライトデータ取込回路
１８…位相判定回路
１８＿１…位相判定レジスタ（第１のフリップフロップ）
１８＿２…位相判定レジスタ（第２のフリップフロップ）
２２＿１，２２＿２…メモリライトイネーブル生成回路
２４＿１…メモリライトアドレス生成回路（第１のアドレス生成回路）
２４＿２…メモリライトアドレス生成回路（第２のアドレス生成回路）
２６＿１…メモリ（第１の記憶素子）
２６＿２…メモリ（第２の記憶素子）
２８＿１，２８＿２，３０＿１，３０＿２…位相判定取込回路
３２＿１〜３２＿ｎ…メモリライトイネーブル遅延回路
３４＿１，３４＿２…メモリリードオン生成回路
３６＿１，３６＿２…２進カウンタ
３８＿１…メモリリードアドレス生成回路（第３のアドレス生成回路）
３８＿２…メモリリードアドレス生成回路（第４のアドレス生成回路）
４０＿１，４０＿２…統合タイミング生成回路
４２＿１，４２＿２…メモリリードデータ取込回路
４４…メモリリードデータ統合回路
４６…メモリリードアドレス生成回路（第５のアドレス生成回路）
４８，５０…ＯＲ回路
５２…逓倍回路
【図１】
2008011453.tif 000003
【図２】
2008011453.tif 000004
【図３】
2008011453.tif 000005
【図４】
2008011453.tif 000006
【図５】
2008011453.tif 000007
【図６】
2008011453.tif 000008