(57)【要約】【課題】２つのクロック間でのデータ転送のセットアップ時間がこれらクロック周期の最大公約数となると、そのデータ転送がクリティカルパスになる可能性が高い。【解決手段】位相の保証された周波数の異なる２つのクロックＣＫ２，ＣＫ３で動作する回路１１，１２間で、これらクロック周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおいて、通常は、回路１１と回路１２との間でデータ転送を行う。そして、検知回路２１がセットアップの厳しくなるパスをとるタイミングを検知したら、その検知出力を受けてセレクタ回路２３は、ラッチ回路２２において当該パスのタイミングでデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチした信号を選択して転送する経路に切り替える。【選択図】        図３
2004234432.tif 000002
【特許請求の範囲】
【請求項１】
位相の保証された周波数の異なる第１，第２のクロック間において、前記第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおけるデータ転送装置であって、
前記第１，第２のクロック間でデータ転送するときにセットアップ時間が前記最大公約数の周期となるパスをとるタイミングを検知する検知手段と、
前記セットアップ時間が前記最大公約数の周期となるパスをとるときにデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチして出力するラッチ手段と、
通常は前記第１，第２のクロック間でデータ信号を転送する経路を選択し、前記検知手段から検知出力が発生されたとき、前記ラッチ手段から出力されるデータ信号を前記第１のクロック側または前記第２のクロック側に転送する経路に切り替える選択手段と
を備えたことを特徴とするデータ転送装置。
【請求項２】
前記検知手段は、前記第１，第２のクロックのうち、周波数が低い一方のクロックの１サイクルの間に、周波数が高い他方のクロックの立ち上がりが到来する回数に基づいて、前記セットアップ時間が前記最大公約数の周期となるパスをとるタイミングを検知する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記検知手段は、前記他方のクロックに同期してカウント動作を行うカウンタと、前記一方のクロックに同期して前記カウンタのカウント値をラッチするラッチ回路と、前記カウンタのカウント値と前記ラッチ回路の出力値との差分をとり、その差分が所定値であるか否かを判定する差分判定回路とを有する
ことを特徴とする請求項２記載のデータ転送装置。
【請求項４】
位相の保証された周波数の異なる第１，第２のクロック間において、前記第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおけるデータ転送装置であって、
前記第１，第２のクロック間で遅延手段を介してデータ信号を転送する第１の経路と、
前記第１，第２のクロック間で遅延手段を介さずにデータ信号を転送する第２の経路と、
前記第１，第２のクロック間でデータ転送するときにセットアップ時間が前記最大公約数の周期となるパスをとるタイミングを検知する検知手段と、
通常は前記第１の経路を選択し、前記検知手段から検知出力が発生されたとき前記第２の経路に切り替える選択手段と
を備えたことを特徴とするデータ転送装置。
【請求項５】
前記第２の経路は、前記セットアップ時間が前記最大公約数の周期となるパスをとるときにデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチして出力するラッチ手段を有し、
前記選択手段は、前記検知手段から検知出力が発生されたとき前記ラッチ手段から出力されるデータ信号を前記第１のクロック側または前記第２のクロック側に転送する
ことを特徴とする請求項４記載のデータ転送装置。
【請求項６】
前記検知手段は、前記第１，第２のクロックのうち、周波数が低い一方のクロックの１サイクルの間に、周波数が高い他方のクロックの立ち上がりが到来する回数に基づいて、前記セットアップ時間が前記最大公約数の周期となるパスをとるタイミングを検知する
ことを特徴とする請求項４記載のデータ転送装置。
【請求項７】
前記検知手段は、前記他方のクロックに同期してカウント動作を行うカウンタと、前記一方のクロックに同期して前記カウンタのカウント値をラッチするラッチ回路と、前記カウンタのカウント値と前記ラッチ回路の出力値との差分をとり、その差分が所定値であるか否かを判定する差分判定回路とを有する
ことを特徴とする請求項６記載のデータ転送装置。
【請求項８】
位相の保証された周波数の異なる第１，第２のクロック間において、前記第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおけるデータ転送方法であって、
通常は前記第１，第２のクロック間でデータ信号を転送し、
前記第１，第２のクロック間でデータ転送するときにセットアップ時間が前記最大公約数の周期となるパスでは、当該パスのタイミングでデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチした信号を前記第１のクロック側または前記第２のクロック側に転送する
ことを特徴とするデータ転送方法。
【請求項９】
位相の保証された周波数の異なる第１，第２のクロック間において、前記第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとるとともに、前記第１，第２のクロック間で遅延手段を介してデータ信号を転送する第１の経路と、前記第１，第２のクロック間で遅延手段を介さずにデータ信号を転送する第２の経路とを有する回路システムにおけるデータ転送装置であって、
通常は前記第１の経路でデータ転送を行い、
前記第１，第２のクロック間でデータ転送するときにセットアップ時間が前記最大公約数の周期となるパスをとるときは、前記第１の経路から前記第２の経路に切り替えて当該第２の経路でデータ転送を行う
ことを特徴とするデータ転送方法。
【請求項１０】
前記第２の経路では、前記セットアップ時間が前記最大公約数の周期となるパスをとるときにデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチした信号を前記第１のクロック側または前記第２のクロック側に転送する
ことを特徴とする請求項９記載のデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ転送装置およびデータ転送方法に関し、特に互いに位相関係が保証された周波数の異なるクロックで動作する複数の回路（系）間でデータ信号を転送するデータ転送装置およびデータ転送方法に関する。
【０００２】
【従来の技術】
一つの回路システム上に、互いに動作周波数が異なる回路（系）が混在するケースが多々ある。このような回路システムでは、互いに動作周波数が異なる例えば２つの回路間でデータ信号の受け渡し（転送）を行わなければならない。そのため、１つの発振器で生成されたクロックを基に、各回路の動作周波数に対応した２つのクロックに分周し、各分周クロックをそれぞれ対応する２つの回路に動作クロックとして与えることにより、２つの回路間でデータ転送を同期化させて行うようにしている（例えば、特許文献１参照）。
【０００３】
この種の回路システムでは、一例として、周期５ｎｓの基準クロックを発振器で生成し、当該基準クロックを１／３に分周して得た周期１５ｎｓの３分周クロックで回路システムの大部分（以下、「低速動作回路」と記す）を動作させ、高速動作が必要な回路（以下、「高速動作回路」と記す）については１／２に分周して得た周期１０ｎｓの２分周クロックで動作させるとした場合、低速動作回路と高速動作回路との間でデータ転送を行うには、５ｎｓのセットアップ時間を満たせば同期をとることができる。
【０００４】
【特許文献１】
特開平８−７７１０３号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来技術では、低速動作回路ではセットアップ時間が１５ｎｓ、高速動作回路ではセットアップ時間が１０ｎｓであるのに対して、低速動作回路と高速動作回路との間でのデータ転送だけセットアップ時間が５ｎｓであると、１５ｎｓと１０ｎｓの最小公倍数である５ｎｓでセットアップを保証して同期をとっている回路システムであったとしても、そのデータ転送がクリティカルパスになる可能性が高い。何故ならば、データ信号を転送する経路には少なからず遅延要素が介在し、データ信号に遅延が生じるからである。
【０００６】
また、このようなパスでは、通常の同一クロックパスに比べて、クロックラインの枝分かれ（分岐）が早く行われることにより、クロックラインに付くマージンが大きくなる可能性があるため、２分周クロックと３分周クロックのクロック同士で、スキュー（タイミングずれ）が大きく出る可能性がある。そのため、クロックタイミングに対してデータタイミングが早まることがないように、データ信号を所定時間だけ遅延してクロックに対するデータ信号の位相を保証する所謂ホールド保証を行うために十分遅延をとると、その遅延の影響がセットアップにも現れ、その結果、ホールド保証とセットアップの両方を同時に満たすことが不可能になることもある。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、その第１の目的とするところは、最終的な波形に影響を与えずにデータ転送をマルチサイクル化し、セットアップ時間が２つのクロック周期の最大公約数となるパスをとらないようにすることを可能にしたデータ転送装置を提供することにある。
【０００８】
本発明はさらに、ホールド保証とセットアップの両方を同時に満たすことを可能にしたデータ転送装置を提供することを第２の目的とする。
【０００９】
【課題を解決するための手段】
第１の目的を達成するために、本発明によるデータ転送装置は、位相の保証された周波数の異なる第１，第２のクロック間で、当該第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおいて、前記第１，第２のクロック間でデータ転送するときにセットアップ時間が前記最大公約数の周期となるパスをとるタイミングを検知する検知手段と、前記セットアップ時間が前記最大公約数の周期となるパスをとるときにデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチして出力するラッチ手段と、通常は第１，第２のクロック間でデータ信号を転送する経路を選択し、前記検知手段から検知出力が発生されたとき、前記ラッチ手段から出力されるデータ信号を前記第１のクロック側または前記第２のクロック側に転送する経路に切り替える選択手段とを備えたことを特徴としている。
【００１０】
上記のデータ転送装置において、通常は、選択手段が第１，第２のクロック間でデータ信号を転送する経路を選択することで、当該経路を経由して第１，第２のクロック間でデータ信号の転送が行われる。このデータ転送において、検知手段がセットアップ時間が前記最大公約数の周期となるパスをとるタイミングを検知すると、その検知出力を受けて選択手段はデータ信号を転送する経路を、ラッチ手段から出力されるデータ信号を第１のクロック側または前記第２のクロック側に転送する経路に切り替える。ラッチ手段では、予知したパスのタイミングでデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチした信号を生成する。これにより、データ信号を受け取る側では、本来のタイミングよりも早いタイミングでラッチされたデータ信号を受けることになり、タイミングが早まった分だけセットアップ時間が延びるため、セットアップ時間が前記最大公約数の周期となるパス、所謂セットアップの厳しくなるパスをとらなくて済むことになる。
【００１１】
第２の目的を達成するために、本発明による他のデータ転送装置は、位相の保証された周波数の異なる第１，第２のクロック間で、当該第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおいて、前記第１，第２のクロック間で遅延手段を介してデータ信号を転送する第１の経路と、前記第１，第２のクロック間で遅延手段を介さずにデータ信号を転送する第２の経路と、前記第１，第２のクロック間でデータ転送するときにセットアップ時間が前記最大公約数の周期となるパスをとるタイミングを検知する検知手段と、通常は前記第１の経路を選択し、前記検知手段から検知出力が発生されたとき前記第２の経路に切り替える選択手段とを備えたことを特徴としている。
【００１２】
上記の他のデータ転送装置において、通常は、選択手段が第１の経路を選択することで、当該第１の経路を経由して第１，第２のクロック間でデータ信号の転送が行われる。この第１の経路では、データ信号が遅延手段によって所定時間だけ遅延されることにより、当該データ信号をラッチするクロックとの間の位相関係を保証するホールド保証が行われる。この第１の経路を経由してのデータ転送において、検知手段がセットアップ時間が前記最大公約数の周期となるパス（セットアップの厳しくなるパス）をとるタイミングを検知すると、その検知出力を受けて選択手段はデータ信号を転送する経路を第１の経路から第２の経路に切り替える。セットアップが厳しくなるパスでは、第１の経路で遅延を受けることでさらにセットアップの厳しいパスとなるが、遅延要素を持たない第２の経路に切り替わることで、第１の経路のときよりも遅延時間分だけセットアップ時間が延びるためセットアップを保証できる。
【００１３】
第１の目的を達成するために、本発明によるデータ転送方法は、位相の保証された周波数の異なる第１，第２のクロック間で、当該第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおいて、通常は前記第１，第２のクロック間でデータ信号を転送し、そのデータ転送のときにセットアップ時間が前記最大公約数の周期となるパスでは、当該パスのタイミングでデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチした信号を前記第１のクロック側または前記第２のクロック側に転送することを特徴としている。
【００１４】
上記のデータ転送方法において、通常は、第１，第２のクロック間でデータ信号を転送する経路を経由してデータ信号の転送が行われる。このデータ転送において、セットアップの厳しくなるパスでは、データ信号を転送する経路を、当該パスのタイミングでデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチした信号を第１のクロック側または前記第２のクロック側に転送する経路に切り替える。これにより、データ信号を受け取る側では、本来のタイミングよりも早いタイミングでラッチされたデータ信号を受けることになり、タイミングが早まった分だけセットアップ時間が延びるため、セットアップの厳しくなるパスをとらなくて済むことになる。
【００１５】
第２の目的を達成するために、本発明の他のデータ転送方法は、位相の保証された周波数の異なる第１，第２のクロック間で、当該第１，第２のクロックの各周期の最大公約数の周期でセットアップを保証して同期をとるとともに、第１，第２のクロック間で遅延手段を介してデータ信号を転送する第１の経路と、第１，第２のクロック間で遅延手段を介さずにデータ信号を転送する第２の経路とを有する回路システムにおいて、通常は前記第１の経路でデータ転送を行い、前記第１，第２のクロック間でデータ転送するときにセットアップ時間が前記最大公約数の周期となるパスをとるときは、前記第１の経路から前記第２の経路に切り替えて当該第２の経路でデータ転送を行うことを特徴としている。
【００１６】
上記の他のデータ転送方法において、通常は、第１の経路を経由して第１，第２のクロック間でデータ信号の転送が行われる。この第１の経路では、データ信号が遅延手段で所定時間だけ遅延されることによってホールド保証が行われる。この第１の経路でのデータ転送において、セットアップの厳しくなるパスをとるときは、データ信号を転送する経路を第１の経路から第２の経路に切り替える。セットアップが厳しくなるパスでは、第１の経路で遅延を受けることでさらにセットアップの厳しいパスとなるが、遅延要素を持たない第２の経路に切り替わることで、第１の経路のときよりも遅延時間分だけセットアップ時間が延びるためセットアップを保証できる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
図１は、本発明によるデータ転送装置が適用される回路システムの構成の概略を示すブロック図である。本適用例に係る回路システムは、動作周波数が異なる複数系統、例えば動作周波数が高い高速動作回路１１とそれよりも動作周波数が低い低速動作回路１２の２系統の回路、これら２系統の回路１１，１２の動作の基準となるクロックを生成する例えばＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）  回路からなるクロック発生器１３およびその基準クロックを適当な分周比で分周して２系統の回路１１，１２の各動作クロックとする２つの分周器１４，１５を有する構成となっている。
【００１９】
分周器１４，１５は、クロック発生器１３から与えられる基準クロックＣＫ１を、図２のタイミングチャートに示すように、例えば分周比１／２、１／３でそれぞれ分周する。これら分周器１４，１５の各分周クロックＣＫ２，ＣＫ３は、２系統の回路１１，１２に対してそれらの動作クロックとして与えられる。このように、クロック源を共通とすることにより、互いに周波数の異なる動作クロック、本例では２分周クロックＣＫ２と３分周クロックＣＫ３との間の位相を保証できる。そして、これら位相の保証された互いに周波数の異なる動作クロック間において、クロック周期の最大公約数でセットアップを保証して同期がとられることになる。
【００２０】
かかる構成の回路システムにおいて、動作周波数が高い高速動作回路１１としては例えばＳＤＲＡＭのインターフェース回路が考えられ、それよりも動作周波数が低い低速動作回路１２としてはその周辺回路などが考えられる。２系統の回路１１，１２間においては、データ信号の転送が行われる。このデータ信号の転送経路中には、例えば組合せ回路１６が介在している。組合せ回路１６は、入力信号によって出力が一義的に決まる回路であり、ＡＮＤ、ＯＲおよびＮＯＴの基本論理ゲートや、当該基本論理ゲートによって構成される加算回路や乗算回路などである。
【００２１】
［第１実施形態］
図３は、本発明の第１実施形態に係るデータ転送装置の構成例を示すブロック図である。本実施形態に係るデータ転送装置は、図１の回路システムにおいて、２つの動作クロックＣＫ２，ＣＫ３間、即ちこれらクロックＣＫ２，ＣＫ３でそれぞれ動作する動作周波数が高い高速動作回路１１と、それよりも動作周波数が低い低速動作回路１２との間で、例えば組合せ回路１６を介してデータ転送を行うために設けられることになる。
【００２２】
図３に示すように、第１実施形態に係るデータ転送装置は、検知回路２１、ラッチ回路２２およびセレクタ回路２３を有する構成となっている。検知回路２１は、クロック周波数の高い（クロック周期の短い）高速動作回路１１からクロック周波数の低い（クロック周期の長い）低速動作回路１２へのデータ転送を行う際に、セットアップの厳しくなるパスをとるタイミングを検知するための回路である。
【００２３】
ここで、「セットアップの厳しくなるパス」とは、上述したように、位相の保証された周波数の異なるクロック（本例では、分周クロックＣＫ２，ＣＫ３）間で、これらクロック周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおいて、高速動作回路１１から低速動作回路１２へ、またはその逆のデータ転送の際にセットアップ時間が上記最大公約数となるパスを言うものとする。何故ならば、２つのクロック周期の最大公約数でセットアップを保証している回路システムであっても、データ信号を転送する経路中には少なからず遅延要素が介在し、データ信号に遅延が生じることによって当該最大公約数がそのままセットアップ時間となり得ないため、「セットアップの厳しくなるパス」となる訳である。
【００２４】
ラッチ回路２２は、セットアップの厳しくなるパスをとるときにデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチして出力するための回路である。検知回路２１およびラッチ回路２２の構成および動作については、後でさらに具体的に説明する。
【００２５】
セレクタ回路２３は、高速動作回路１１と低速動作回路１２との間でのデータ転送の経路を、検知回路２１の検知出力に応じて切り替えるための回路である。具体的には、セレクタ回路２３は、通常は、高速動作回路１１から低速動作回路１２へ、またはその逆のデータ転送を行う経路（通常の経路）を選択し、検知回路２１がセットアップの厳しくなるパスをとるタイミングを検知したときは、その検知出力に応じて、ラッチ回路２２で予めラッチして得たデータ信号を、高速動作回路１１（または、低速動作回路１２）からのデータ信号に代えて低速動作回路１２（または、高速動作回路１１）に転送する経路に切り替える。
【００２６】
なお、ここでは、クロック周波数の高い高速動作回路１１からクロック周波数の低い低速動作回路１２へデータ転送する構成の場合を例に挙げているが、クロック周波数の低い低速動作回路１２からクロック周波数の高い高速動作回路１１へデータ転送する構成の場合にも、同様に適用可能である。また、セレクタ回路２３との低速動作回路１２との間に組合せ回路１６が配設された構成となっているが、その配設位置はこれに限られるものではない。
【００２７】
次に、検知回路２１およびラッチ回路２２について具体的に説明する。先ず、検知回路２１について、例えば、高速動作回路１１で２分周クロックＣＫ２を使い、低速動作回路１２で３分周クロックＣＫ３を使う場合を例に挙げて、図４のタイミングチャートを用いて説明する。
【００２８】
図４のタイミングチャートにおいて、２分周の縦の矢印が２分周クロックＣＫ２の立ち上がりタイミングを、３分周の縦の矢印が３分周クロックＣＫ３の立ち上がりタイミングをそれぞれ示している。一例として、基準クロックＣＫ１のクロック周期を５ｎｓとした場合、２分周クロックＣＫ２の立ち上がりのタイミングは、１０ｎｓ，２０ｎｓ，３０ｎｓ，４０ｎｓ，…という具合に１０ｎｓの倍数のタイミングとなり、３分周クロックＣＫ３の立ち上がりのタイミングは、１５ｎｓ，３０ｎｓ，４５ｎｓ，…という具合に１５ｎｓの倍数のタイミングとなる。
【００２９】
ここで、２分周クロックＣＫ２で動作する高速動作回路１１ではセットアップ時間が１０ｎｓ、３分周クロックＣＫ３で動作する低速動作回路１２ではセットアップ時間が１５ｎｓであるのに対して、高速動作回路１１と低速動作回路１２との間で行うデータ転送ではセットアップ時間が分周クロックＣＫ２，ＣＫ３双方の立ち上がりのタイミングの関係によって異なり、低速動作回路１２から高速動作回路１１へ（３分周から２分周へ）のデータ転送、高速動作回路１１から低速動作回路１２へ（２分周から３分周へ）のデータ転送のいずれの場合にも最小で、分周クロックＣＫ２，ＣＫ３の各クロック周期（１０ｍｓ，１５ｎｓ）の最大公約数の周期、即ち５ｎｓとなる。
【００３０】
このように、高速動作回路１１ではセットアップ時間が１０ｎｓ、低速動作回路１２ではセットアップ時間が１５ｎｓであるのに対して、高速動作回路１１と低速動作回路１２の間でのデータ転送だけセットアップ時間が５ｎｓであると、２つのクロック周期（１０ｎｓ，１５ｎｓ）の最大公約数（５ｎｓ）でセットアップを保証している回路システムであっても、先述した理由から、そのデータ転送がクリティカルパスになる可能性が高い。すなわち、データ転送のセットアップ時間が、分周クロックＣＫ２，ＣＫ３の各周期の最大公約数程度だとセットアップの厳しいパス（以下、「セットアップのきついパス」と記す場合もある）となる。
【００３１】
そこで、検知回路２１は、低速動作回路１２から高速動作回路１１へ（３分周から２分周へ）のセットアップのきついパスをとるタイミングと、高速動作回路１１から低速動作回路１２へ（２分周から３分周へ）のセットアップのきついパスをとるタイミング、本例の場合はデータ転送のセットアップ時間が５ｎｓ（分周クロックＣＫ２，ＣＫ３の各周期の最大公約数の時間）となるパスを検出し、それらの検出タイミングで図４に示すようなパルス信号（ａ），（ｂ）を出力する。
【００３２】
この検知回路２１としては、リセット直後からカウント動作を行い、そのカウント値がある値となるときに高レベルとなるパルス信号を出力するようなカウンタを用いるのが最も単純な構成である。ただし、カウンタを用いた場合、ノイズなどによってカウント値が一度狂うと、その後復帰できなくなるため工夫が必要になる。
【００３３】
図５は、検知回路２１の具体的な構成の一例を示すブロック図である。ここでは、一例として、高速動作回路１１で２分周クロックＣＫ２を、低速動作回路１２で３分周クロックＣＫ３をそれぞれ使う場合を例に挙げている。本例に係る検知回路２１は、４つのＤフリップフロップ（以下、「Ｄ−ＦＦ」と記す）３１〜３４、アダー（＋１）３５および差分判定回路３６を有し、ノイズ等の要因によって一度動作ミスを起こしても自然に本来の動作に復帰できるような構成を採っている。
【００３４】
Ｄ−ＦＦ３１，３４は２分周クロックＣＫ２をクロック入力とし、Ｄ−ＦＦ３２，３３は３分周クロックＣＫ３をクロック入力としている。Ｄ−ＦＦ３１は、Ｑ出力端とＤ入力端との間に接続されたアダー３５と共に４進カウンタを構成している。この４進カウンタのカウント値、即ちＤ−ＦＦ３１の出力（ａ）は、Ｄ−ＦＦ３２にそのＤ入力として与えられるとともに、差分判定回路３６にその一方の入力Ａとして与えられる。
【００３５】
Ｄ−ＦＦ３２は、３分周クロックＣＫ３に同期してＤ−ＦＦ３１の出力（ａ）をラッチする。Ｄ−ＦＦ３２のＱ出力（ｂ）は、差分判定回路３６にその他方の入力Ｂとして与えられる。ここで、Ｄ−ＦＦ３１，３２の各出力（ａ），（ｂ）は、２ビット幅となっている。差分判定回路３６は、２つの入力Ａ，Ｂ、即ちＤ−ＦＦ３１の出力（ａ）とＤ−ＦＦ３２のＱ出力（ｂ）との差分をとり、その差分が所定値、例えば“２”のときにその出力（ｃ）を低レベルとする。この出力（ｃ）は、Ｄ−ＦＦ３３にそのＤ入力として与えられる。
【００３６】
Ｄ−ＦＦ３３は、３分周クロックＣＫ３に同期して差分判定回路３６の出力（ｃ）をラッチする。Ｄ−ＦＦ３３のＱ出力は、２分周から３分周へのセットアップのきついパスをとるタイミング信号（図４（ｂ）の波形に相当）として図３のセレクタ回路２３に与えられるとともに、Ｄ−ＦＦ３４にそのＤ入力として与えられる。Ｄ−ＦＦ３４は、２分周クロックＣＫ２に同期してＤ−ＦＦ３３のＱ出力をラッチする。Ｄ−ＦＦ３３のＱ出力は、３分周から２分周へのセットアップのきついパスをとるタイミング信号（図４（ａ）の波形に相当）として図３のセレクタ回路２３に与えられる。
【００３７】
続いて、上記構成の検知回路２１の回路動作について、図６のタイミングチャートを用いて説明する。
【００３８】
先ず、Ｄ−ＦＦ３１およびアダー３５からなる４進カウンタは、２分周クロックＣＫ２の立ち上がりタイミングでカウント動作を行う。これにより、４進カウンタのカウント値（ａ）は、２分周クロックＣＫ２に同期して０，１，２，３，０，１，２，３，０，１，２，３，…と変化する。ここで、カウント値（ａ）上の縦の矢印で示すタイミングｔ２１，ｔ２２，ｔ２３，…が、２分周クロックＣＫ２の立ち上がりのタイミングを示している。
【００３９】
このカウント値（ａ）は、分周クロックＣＫ３の立ち上がりのタイミングでＤ−ＦＦ３２にラッチされる。これにより、本例の場合は、Ｄ−ＦＦ３２のＱ出力（ｂ）は、２分周クロックＣＫ２に同期して０，１，２，０，１，３，０，２，…と変化する。ここで、Ｑ出力（ｂ）上の縦の矢印で示すタイミングｔ３１，ｔ３２，ｔ３３，…が、３分周クロックＣＫ３の立ち上がりのタイミングを示している。すなわち、これらのタイミングにおけるカウント値（ａ）がＤ−ＦＦ３２にラッチされる。
【００４０】
ここで、２分周クロックＣＫ２と３分周クロックＣＫ３との間には次のような位相関係がある。すなわち、３分周クロックＣＫ３の１サイクル目に２分周クロックＣＫ２の立ち上がりが１回到来し、３分周クロックＣＫ３の２サイクル目に２分周クロックＣＫ２の立ち上がりが２回到来し、以降、それが交互に繰り返される。そして、３分周クロックＣＫ３の偶数サイクルの開始タイミング、即ち１５ｎｓ，４５ｎｓ，７５ｎｓ，…のタイミングにおいて、２分周から３分周へ、また３分周から２分周へのデータ転送のセットアップ時間が、分周クロックＣＫ２，ＣＫ３の各周期の最大公約数の時間、即ち５ｎｓとなる。
【００４１】
この３分周クロックＣＫ３の偶数サイクルの開始タイミングが、差分判定回路３６によって検知される。差分判定回路３６は、Ｄ−ＦＦ３１の出力（ａ）とＤ−ＦＦ３２のＱ出力（ｂ）との差分をとることで、３分周クロックＣＫ３の偶数サイクルの開始タイミングを検出する。ここで、Ｄ−ＦＦ３１のＱ出力（ａ）とＤ−ＦＦ３２のＱ出力（ｂ）との差分が“２”のときが、２分周クロックＣＫ２の立ち上がりが２回到来する偶数サイクルの開始タイミングとなり、“２”以外のときが、２分周クロックＣＫ２の立ち上がりが１回到来する奇数サイクルの開始タイミングとなる。
【００４２】
したがって、差分判定回路３６は、Ｄ−ＦＦ３１のＱ出力（ａ）とＤ−ＦＦ３２のＱ出力（ｂ）との差分が“２”のときに３分周クロックＣＫ３の偶数サイクルの開始タイミングであるとして、低レベルの検知信号（ｃ）を出力する。図６のタイミングチャートでは、Ｄ−ＦＦ３１のＱ出力（ａ）が“０”でＤ−ＦＦ３２のＱ出力（ｂ）が“２”のとき、Ｄ−ＦＦ３１のＱ出力（ａ）が“３”でＤ−ＦＦ３２のＱ出力（ｂ）が“１”のとき、Ｄ−ＦＦ３１のＱ出力（ａ）が“２”でＤ−ＦＦ３２のＱ出力（ｂ）が“０”のときに差分判定回路３６から検知信号（ｃ）が出力される。
【００４３】
この低レベルの検知信号（ｃ）は、３分周クロックＣＫ３に同期してＤ−ＦＦ３３にラッチされる。そして、このＤ−ＦＦ３３の高レベルのＱ出力が２分周から３分周へのセットアップのきついパスをとるタイミングの検知信号として図３のセレクタ回路２３に与えられる。また、Ｄ−ＦＦ３３のＱ出力は、２分周クロックＣＫ２に同期してＤ−ＦＦ３４にラッチされる。そして、このＤ−ＦＦ３４の高レベルのＱ出力が３分周から２分周へのセットアップのきついパスをとるタイミングの検知信号として図３のセレクタ回路２３に与えられる。
【００４４】
このように、本例に係る検知回路２１では、カウンタのカウント値を直接使う構成ではなく、周波数が低い方の動作クロック（本例では、３分周クロックＣＫ３）の１サイクルの間に、周波数が高い方の動作クロック（本例では、２分周クロックＣＫ２）の立ち上がりが到来する回数を弁別することで、セットアップの厳しくなるパスをとるタイミングを検知する構成を採っている。したがって、たとえノイズ等の影響を受けて値そのものが変わってしまっても、それ以降も上述した弁別条件が変わることはなく、検知動作に自然に復帰できるため、セットアップの厳しくなるパスをとるタイミングを確実に検知できる。
【００４５】
以上では、高速動作回路１１で２分周クロックＣＫ２を、低速動作回路１２で３分周クロックＣＫ３をそれぞれ使う場合を例に挙げて、検知回路２１の構成およびその動作について説明したが、２分周クロック、３分周クロックの場合に限られるものではなく、一般的に、ｎ分周クロック、ｍ分周クロック（但し、ｎ，ｍは２以上の整数で、ｎ＜ｍ）に対して適用可能である。
【００４６】
図７は、ｎ分周クロック、ｍ分周クロックに適用する場合の検知回路２１の構成例を示すブロック図であり、図中、図５と同等部分には同一符号を付して示している。
【００４７】
ｍ÷ｎの余りを分数にして分母分子の差が±１になる場合（例えば、１／３，４／５，１２／１３等）は、両クロックの最小公倍数の間にＡ−Ｂが特徴的になるサイクルが１サイクルだけ存在する。したがって、それを検知し、必要に応じてサイクルをセットアップの厳しくなるタイミングにずらすようにする。
【００４８】
図７において、差分判定回路３６の所定値Ｄはｍ／ｎによって定まり、小数点が５以上だったら繰り上げ、５未満だったら繰り下げた整数である。Ｄ−ＦＦ３１，３２の各Ｑ出力のビット幅Ｗとしては、差分判定回路３６の所定値Ｄ（上記繰り上げの場合は、Ｄ＋１）を表すことができる最小ビット幅で良い。Ｄ−ＦＦ３３，３４の後段に設けられたＤ−ＦＦ３５，３６は、必要に応じてサイクルをずらすために設けられたラッチ回路である。
【００４９】
一方、分母分子の差が±１にならない場合（例えば、２／５，７／１３等）には、差分判定回路３６での差分Ａ−Ｂが両クロックの最小公倍数の間に特徴的になるサイクルが１サイクル以上存在する。かかる場合は、さらに現れるサイクル間に特徴を見出してセットアップの厳しくなるタイミングを検知すれるようにすれば良い。５分周クロックと７分周クロックの場合を例に挙げて具体的に説明すると、図８のタイミングチャートから明らかなように、周波数が低い７分周クロックの１サイクルの間に、周波数が高い５分周クロックの立ち上がりが２回入る間隔を検知すれば良い。
【００５０】
次に、ラッチ回路２２について説明する。ここでは、検知回路２１とは別に、一般的に、２つの動作クロックをクロックＸ，Ｙ、それぞれのクロック周期をｔＸ，ｔＹとし、これらクロック周期ｔＸ，ｔＹがｔＸ＞ｔＹの関係にあるものとして説明する。そして、ラッチ回路２２の動作としては、クロック周期が長い方のクロックＸからクロック周期が短い方のクロックＹへデータ転送するケース１とその逆のケース２に分けられる。以下、各ケース毎に説明する。
【００５１】
（ケース１）
先ず、クロック周期が長い方のクロックＸからクロック周期が短い方のクロックＹへデータ転送する場合（ケース１）について説明する。このデータ転送において、セットアップがクロック周期ｔＸとクロック周期ｔＹの最大公約数で満たすものとすると、データ信号を受け取る側のクロックＹのタイミングｙ０の１サイクル前のタイミングｙ１は、図９（Ａ）に示すように、データ信号を渡す側のクロックＸのタイミングｘ０とその１サイクル前のタイミングｘ１の間にあるか、または図９（Ｂ）に示すように、データ信号を渡す側のタイミングｘ０と重なることになる。
【００５２】
その理由は次の通りである。すなわち、タイミングｘ０とタイミングｙ０の間がクロック周期の最大公約数であるため、タイミングｘ０とタイミングｙ０の間にタイミングｙ１があるということはあり得ず、またタイミングｙ１がタイミングｘ１の左側（タイミングｘ１よりも早く）に現れないことはｔＸ＞ｔＹから明らかである。したがって、タイミングｙ１は、タイミングｘ０とその１サイクル前のタイミングｘ１の間にある。
【００５３】
なお、図９（Ｂ）に示すタイミングｘ０と重なる場合というのは、クロック比率が１対ｎ（ｎは２以上の整数）という場合である。ただし、この場合は、クロックＸ，Ｙの各周期ｔＸ，ｔＹの最小公倍数の周期が、そのまま周期の短い方、本例ではクロックＹの周期ｔＹとなるため、セットアップのスペックが厳しくなることもないと考えられる。
【００５４】
そこで、図９（Ａ）の場合、即ちクロック比率が１対ｎ（ｎは２以上の整数）という関係でない場合について考える。この場合には、クロックＸのタイミングｘ０でデータ信号をラッチし、その後クロックＹ側にデータ信号を渡すものとすると、クロックＹのタイミングｙ０でラッチすることになるため、そのデータ転送のセットアップ時間がｙ０−ｘ０、即ちクロック周期ｔＸ，ｔＹの最大公約数の時間となる。したがって、タイミングｘ０でラッチしたデータ信号をタイミングｙ０でラッチするパスはセットアップの厳しくなるパスとなる。
【００５５】
そこで、ラッチ回路２２は、セットアップの厳しくなるパスをとるときにデータ信号を渡す側のラッチタイミングｘ０よりも早いタイミング、具体的にはセットアップの厳しくなるパスをとるときにデータ信号を受け取る側のラッチタイミングｙ０よりも１サイクル前のタイミングｙ１で当該データ信号をラッチするようにする。このように、タイミングｙ１でラッチすることで、タイミングｘ１とタイミングｙ１の間は、タイミングｘ０とタイミングｙ０の間が、クロック周期ｔＸ，ｔＹの最大公約数の間隔であれば、当然、当該最大公約数の２倍以上のスペックになることが言える。
【００５６】
図１０に、クロック比率が１対ｎという関係でない場合の第１実施形態に係るデータ転送装置の回路動作を説明するための概念図を示す。ここで、２つのクロックＸ，Ｙはそれぞれのクロック周期ｔＸ，ｔＹがｔＸ＞ｔＹの関係にあることから、回路ｘ１，ｘ０が低速動作回路、回路ｙ０が高速動作回路となる。ただし、ここでは、図３に示した組合せ回路１６については省略している。
【００５７】
クロック周期が長い方のクロックＸからクロック周期が短い方のクロックＹへデータ転送するに当たり、上述したように、ラッチ回路２２はセットアップの厳しくなるパスをとるときにデータ信号を渡す側のラッチタイミングｘ０よりも早いタイミング、具体的にはセットアップの厳しくなるパスをとるときに受け取る側のラッチタイミングｙ０の１サイクル前のタイミングｙ１で当該データ信号をラッチし、そのラッチしたデータ信号をセレクタ回路２３に与える。
【００５８】
セレクタ回路２３は、回路ｘ０からのデータ信号をそのまま回路ｙ０に転送する通常の経路と、ラッチ回路２２でラッチされたデータ信号を選択して回路ｙ０に転送する経路とを、検知回路２１の検知出力に応じて切り替える。すなわち、検知回路２１がセットアップの厳しくなるパスをとるタイミングを検知しないときには、そのパスのセットアップ時間がクロック周期ｔＸ，ｔＹの最大公約数よりも長く、通常の経路でもセットアップが厳しくない訳であるから、セレクタ回路２３は通常の経路を選択した状態にある。一方、検知回路２１がセットアップの厳しくなるパスをとるタイミングを検知したときには、ラッチ回路２２においてタイミングｙ１で予めラッチされたデータ信号を、回路ｘ０からのデータ信号に代えて転送する経路に切り替える。
【００５９】
図１１に、上記回路動作の場合におけるタイミングｘ１のデータ、タイミングｙ１のデータ、検知回路２１の検知信号ｍｉｎ＿ｓｅｔｕｐ（ｙ）、タイミングｘ０のデータ、セレクタ回路２３による選択後のデータおよび受け取るクロックＹの各波形のタイミング関係を示している。なお、検知回路２１の検知信号ｍｉｎ＿ｓｅｔｕｐ（ｙ）の（ｙ）は、最終的に、クロック周期が短い方のクロックＹ（図５の回路例では、２分周クロックｃｋ２）で生成された検知信号ｍｉｎ＿ｓｅｔｕｐであることを示している。
【００６０】
図１１のタイミングチャートにおいて、検知回路２１の検知信号ｍｉｎ＿ｓｅｔｕｐ（ｙ）が高レベルとなるタイミングのパスがセットアップの厳しくなるパスとなる。このタイミングチャートから明らかなように、このパスをとるタイミングでは、通常の経路からラッチ回路２２においてタイミングｙ１で予めラッチされたデータ信号を選択して転送する経路に切り替えることにより、選択後のデータ波形ではセットアップが緩和されていることがわかる。
【００６１】
上述したように、タイミングｘ０でラッチしたデータ信号をタイミングｙ０でラッチするパスではセットアップ時間がクロック周期ｔＸ，ｔＹの最大公約数となり、セットアップの厳しいパスとなるが、当該パスではラッチ回路２２において本来ラッチすべきタイミングｘ０よりも早いタイミングｙ１で予めラッチされたデータ信号を選択して転送する経路に切り替えことにより、そのセットアップ時間が当該最大公約数の２倍以上になる。したがって、最終的なデータ波形に影響を与えず、データ転送をマルチサイクル化し、セットアップ時間をクロック周期ｔＸ，ｔＹの最大公約数の２倍以上に延ばすことができる。
【００６２】
なお、クロックＸの回路からクロックＹの回路へのデータ転送の経路中に、同じクロックＹの他の回路からのデータ信号も含まれる構成の回路システムの場合には、クロックＸの回路からのデータ信号に対してのみ本発明を適用するようにすれば良い。
【００６３】
また、本発明は、このような周波数の異なるクロックＸ、Ｙ間でのデータ転送の全てに適用しなくても、厳しいスペックでのコンパイル等であらかじめセットアップが厳しくなりそうなパスを特定し、その個所にだけ適用すれば足りる。
【００６４】
なお、ラッチ回路２２において、タイミングｙ１でデータ信号をラッチする場合には、当然タイミングｙ１とは異なるタイミングで、クロック周期ｔＸ，ｔＹの最大公約数となるパスが存在するが、そのときのタイミングでラッチしたデータ信号については、セレクタ回路２３で選択されることはないため、このラッチ回路１１自体は最大公約数でセットアップを保証する必要もなく、マルチサイクル化となっている。
【００６５】
（ケース２）
次に、クロック周期が短い方のクロックＹからクロック周期が長い方のクロックＸへデータ転送する場合（ケース２）について説明する。このデータ転送の場合は、クロックＸからクロックＹへデータ転送する場合とは違い、タイミングｙ０とタイミングｙ１の間にクロックは存在しない。したがって、ラッチ回路２２においては、クロックＹの反転クロックを利用し、クロックＹの逆エッジｙ０．５を使用することになる。図１２に、データ信号を渡す側のクロックＹのタイミングｙ１，ｙ０、その半導体レーザＬＤテククロックのタイミングｙ０．５およびデータ信号を受け取る側のクロックＸのタイミングｘ１，ｘ０のタイミング関係を示す。
【００６６】
クロックＹの逆エッジｙ０．５を使用しても良い回路システムにおいて、ラッチ回路２２では、セットアップの厳しくなるパスをとるときにデータ信号を渡す側のラッチタイミングｙ０よりも早いタイミング、具体的には当該タイミングｙ０よりも１／２サイクル前のタイミングｙ０．５で当該データ信号をラッチするようにする。
【００６７】
図１３に、上記構成のラッチ回路２２を用いる場合の第１実施形態に係るデータ転送装置の回路動作を説明するための概念図を示す。ここで、２つのクロックＸ，Ｙはそれぞれのクロック周期ｔＸ，ｔＹがｔＸ＞ｔＹの関係にあることから、回路ｘ０が低速動作回路、回路ｙ０，ｙ１が高速動作回路となる。ただし、ここでは、図３に示した組合せ回路１６については省略している。
【００６８】
クロック周期が短い方のクロックＹからクロック周期が長い方のクロックＸへデータ転送するに当たり、上述したように、ラッチ回路２２はセットアップの厳しくなるパスをとるときにデータ信号を渡す側のラッチタイミングｙ０よりも早いタイミング、具体的には１／２サイクル前のタイミングｙ０．５で当該データ信号をラッチし、そのラッチしたデータ信号をセレクタ回路２３に与える。
【００６９】
セレクタ回路２３は、回路ｙ０からのデータ信号をそのまま回路ｘ０に転送する通常の経路と、ラッチ回路２２でラッチされたデータ信号を選択して回路ｘ０に転送する経路とを、検知回路２１の検知信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）に応じて切り替える。すなわち、検知回路２１がセットアップの厳しくなるパスをとるタイミングを検知しないときには、そのパスのセットアップ時間がクロック周期ｔＸ，ｔＹの最大公約数よりも長く、通常の経路でもセットアップが厳しくない訳であるから、セレクタ回路２３は通常の経路を選択した状態にある。一方、検知回路２１がセットアップの厳しくなるパスをとるタイミングを検知したときには、ラッチ回路２２においてタイミングｙ０．５で予めラッチされたデータ信号を、回路ｙ０からのデータ信号に代えて転送する経路に切り替える。
【００７０】
上述したように、タイミングｙ０でラッチしたデータ信号をタイミングｘ０でラッチするパスではセットアップ時間がクロック周期ｔＸ，ｔＹの最大公約数となり、セットアップの厳しいパスとなるが、当該パスではラッチ回路２２において本来ラッチすべきタイミングｙ０よりも早いタイミングｙ０．５で予めラッチされたデータ信号を選択して転送する経路に切り替えことにより、そのセットアップ時間が当該最大公約数の２倍以上になる。したがって、最終的なデータ波形に影響を与えず、データ転送をマルチサイクル化し、セットアップ時間をクロック周期ｔＸ，ｔＹの最大公約数の２倍以上に延ばすことができる。
【００７１】
また、タイミングｙ１からタイミングｙ０．５へのパスのスペックが厳しい場合や、スキャンテストなどを考慮して逆エッジを使わないシステム構成になっている場合など、クロックＹの反転クロックを使えない場合であっても、クロック周期が短い方のクロックＹからクロック周期が長い方のクロックＸへのデータ転送において、図１４に示すように、受け渡す側のクロックＹで動作する最終回路（例えば、レジスタ）１１Ａの１つ前の回路１１Ｂがイネーブル信号で動作し、イネーブル信号が連続で立つことがない回路システムにも同様に適用することが可能である。
【００７２】
周波数の高いクロックｙから周波数の低いクロックｘにデータ信号を転送する回路システム、データが欠落しないようにするために、回路１１Ｂを設けて回路１１Ｃから出力されるイネーブル信号でデータ信号をコントロールするようにするのは良く用いられる手法である。ここでは、受け渡しの手前が連続で高レベルとならないイネーブル信号で動作し、データ信号がクロックｙの２サイクル以上に一回しか変化しない場合の回路システムを示している。この回路システムにおいては、実質的に、クロックＹの周期が長くなったのと等価となる。
【００７３】
図１５は、当該回路システムに対して第１実施形態に係るデータ転送装置を適用した場合の構成を示す概念図である。図１５に示すように、イネーブル信号ｅｎａｂｌｅと制御信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）＿ｄｉｓａｂｌｅ（ｙ）との論理積をＡＮＤゲート４１でとり、その論理積出力と回路１１Ｄを経た論理積出力との論理和をＯＲゲート４２でとるようにする。ここで、制御信号ｍｉｎ＿ｓｅｔｕｐ＿ｄｉｓａｂｌｅは、最大公約数で受け渡すクロックＹのときにイネーブル信号ｅｎａｂｌｅが高レベルとなった場合には、検知回路２１の検知信号ｍｉｎ＿ｓｅｔｕｐをマスクするための信号であり、最大公約数で受け渡すクロックＹの１サイクル前に高レベルとなる。
【００７４】
そして、ＯＲゲート４２の論理和出力をマスク信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）＿ｍａｓｋとして用いてＡＮＤゲート４３で検知信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）をマスクする。セレクタ回路２３については、回路１１Ａを経由したデータ信号を選択して回路１２に転送する経路と、回路１１Ａを経由しないデータ信号を選択して回路１２に転送する経路の２つの経路を選択するようにするとともに、ＡＮＤゲート４３を通過した検知信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）に基づいてセレクタ回路２３による経路の切り替え制御を行うようにする。なお、ＯＲゲート４２を入れたのは、この信号もクロックＹからクロックＸの転送であり、クロックＹの２パルス分の波形とし、マルチサイクル化するためである。
【００７５】
図１５の概念図を、検知回路２１とラッチ回路２２の各機能を明確に表すと図１６に示す回路システムとなる。図１６において、図１５と同等部分には同一符号を付して示しており、２つのクロックＸ，Ｙはそれぞれのクロック周期ｔＸ，ｔＹがｔＸ＞ｔＹの関係にあることから、回路ｘ０が低速動作回路、回路ｙ０，ｙ１が高速動作回路となる。
【００７６】
図１６の回路システムを図１５の概念図と比較すると、回路ｙ０とセレクタ回路１２との間に、回路ｙ０を経由したデータ信号を一方の入力とし、回路ｙ０を経由しないデータ信号を他方の入力とするセレクタ回路４４を設け、当該セレクタ回路４４をＯＲゲート４２の論理和出力であるマスク信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）＿ｍａｓｋによってセレクタ回路４４の切り替え制御を行うようになっている点で相違している。すなわち、このセレクタ回路４４の出力がラッチ回路２２の出力に相当し、置換データとしてセレクタ回路２３に供給される。
【００７７】
図１７に、イネーブル信号ｅｎａｂｌｅ、タイミングｙ１のデータ、制御信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）＿ｄｉｓａｂｌｅ（ｙ）、マスク信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）＿ｍａｓｋ、タイミングｙ０のデータ、置換データ（セレクタ回路４４の出力データ）、検知回路２１の検知信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）、セレクタ回路２３による選択後のデータおよび受け取るクロックｘの各波形のタイミング関係を示している。
【００７８】
図１７のタイミングチャートにおいて、検知回路２１の検知信号ｍｉｎ＿ｓｅｔｕｐ（ｘ）が高レベルとなるタイミングのパスがセットアップの厳しくなるパスとなる。このタイミングチャートから明らかなように、このパスをとるタイミングでは、通常の経路からラッチ回路２２において予めラッチされたデータ信号を選択して転送する経路に切り替えることにより、選択後のデータ波形ではセットアップが緩和されていることがわかる。
【００７９】
なお、上記実施形態において、検知回路２１自体は、動作クロックＣＫ２，ＣＫ３の周期の最大公約数のセットアップ時間を満たす必要があるが、本発明は、このような両クロック間の全パスを最大公約数の２倍にするのが目的ではなく、最大公約数ではセットアップの厳しいパスに対してその２倍程度までスペックを緩和するのが目的であるので、セットアップがもともと厳しくないパスに対して行う必要はない。また、検知回路２１については回路システム全体に対して一つあれば足り、各パス毎に設ける必要はない。
【００８０】
ところで、図１８に示すように、相互にデータ転送を行う２つの回路Ａ，Ｂが同一のクロックを用いる場合には、クロックラインを２つの回路Ａ，Ｂに入力する直前で分岐することになる。これに対して、位相の保証された周波数の異なる２つのクロックで動作する回路間において、これらクロック周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムでは、基準クロックを分周して２つのクロックを生成する必要があるため、図１から明らかなように、分周器１４，１５の前で分岐することになる。
【００８１】
このように、通常の同一クロックパスに比べて、クロックラインの分岐（枝分かれ）が早く行われることにより、クロックラインに付くマージンが大きくなる可能性があるため、２つのクロック同士で、スキュー（タイミングずれ）が大きく出る可能性がある。このスキューが大きく出ると、データタイミングに対して受け取る側のクロックのタイミングが遅くなる、換言すればクロックタイミングに対してデータタイミングが早まることになる。
【００８２】
そのため、位相の保証された周波数の異なる２つのクロックで動作する回路間で、これらクロック周期の最大公約数の周期でセットアップを保証して同期をとる回路システムでは、受け取る側のクロックのタイミングに対してデータタイミングが早まることがないようにするために、データ信号の経路中に遅延バッファＣを設けてデータ信号を所定時間だけ遅延することで、クロックラインでの遅延分を保証し、クロックタイミングに対してデータタイミングを一致させるホールド保証を行う構成を採る場合がある。
【００８３】
このように、ホールド保証を行う構成を採った場合、ホールド保証のためにデータ信号に対して十分遅延をとると、その遅延の影響がセットアップにも現れ、その結果、ホールド保証とセットアップの両方を同時に満たすことが不可能になることもある。この点に鑑み、ホールド保証とセットアップの両方を同時に満たすこと可能にしたのが、以下に説明する第２実施形態に係るデータ転送装置である。
【００８４】
［第２実施形態］
図２０は、本発明の第２実施形態に係るデータ転送装置の構成例を示すブロック図である。本実施形態に係るデータ転送装置も、第１実施形態に係るデータ転送装置と同様に、図１の回路システムにおいて、２つの動作クロックＣＫ２，ＣＫ３間、即ちこれらクロックＣＫ２，ＣＫ３でそれぞれ動作する高速動作回路１１と低速動作回路１２との間で、例えば組合せ回路１６を介してデータ転送を行うために設けられることになる。
【００８５】
図２０に示すように、第２実施形態に係るデータ転送装置は、検知回路５１、遅延バッファ５２およびセレクタ回路５３を有する構成となっている。検知回路５１は、クロック周波数の高い（クロック周期の短い）高速動作回路１１からクロック周波数の低い（クロック周期の長い）低速動作回路１２へ（その逆も可）のデータ転送を行う際に、セットアップの厳しくなるパスをとるタイミングを検知するための回路である。この検知回路５１としては、第１実施形態で説明した検知回路２１と同じ構成のものを用いることができる。
【００８６】
遅延バッファ５２は、先述したホールド保証を行うために、データ信号を所定時間、具体的にはクロックラインでのクロックの遅延量に相当する遅延時間だけ遅延する遅延手段であり、図１９の遅延バッファＣに相当する。セレクタ回路５３は、高速動作回路１１と低速動作回路１２との間でのデータ転送の経路を、検知回路２１の検知出力に応じて切り替えるための回路である。
【００８７】
具体的には、セレクタ回路５３は、高速動作回路１１と低速動作回路１２との間でのデータ転送の経路として、通常は、遅延バッファ５２を介してデータ転送を行う経路を選択する。これにより、高速動作回路１１と低速動作回路１２との間での通常のデータ転送では、データ信号を遅延バッファ５２で遅延することによってクロックラインでの遅延分を保証し、データ信号を受け取る側の回路１２のクロックタイミングに対してデータタイミングを一致させるホールド保証が行われる。
【００８８】
一方、検知回路５１がセットアップの厳しくなるパスをとるタイミングを検知すると、その検知出力を受けてセレクタ回路５２は、高速動作回路１１と低速動作回路１２との間でのデータ転送の経路を、遅延バッファ５２を介してデータ転送を行う経路から当該遅延バッファ５２を介さずにデータ転送を行う経路に切り替える。具体的には、遅延バッファ５２に入力前のデータ信号を選択して低速動作回路１２に転送する。
【００８９】
ここで、検知回路５１がセットアップの厳しくなるパスをとるときも、遅延バッファ５２を介してデータ転送を行う経路をそのまま使うと、データ信号が遅延バッファ５２で遅延されることでさらにセットアップの厳しいパスとなる。これに対して、遅延バッファ５２を介さずにデータ転送を行う経路に切り替えることにより、セットアップ側ではホールド保証の影響を受けず、遅延バッファ５２を介してデータ転送を行う経路をそのまま使う場合よりも、当該ホールド保証の遅延分だけセットアップ時間が延びる。したがって、セットアップの厳しくなるパスの厳しくなるパスではあるが、ホールド保証を行わない分だけセットアップを保証できる。
【００９０】
上述したように、位相の保証された周波数の異なる２つのクロック間で、これらクロック周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおいて、２つのクロック間でデータ信号を転送する経路として、通常は、遅延バッファ５２を含む経路でデータ転送を行い、セットアップの厳しくなるパスをとるときは、遅延バッファ５２を含まない経路に切り替えてデータ転送を行うことにより、通常のデータ転送ではホールド保証が行われ、またセットアップの厳しくなるパスでのデータ転送ではホールド保証の遅延の影響を受けないため、ホールド保証とセットアップの両方を同時に満たすことができる。
【００９１】
なお、ここでは、クロック周波数の高い高速動作回路１１からクロック周波数の低い低速動作回路１２へデータ転送する構成の場合を例に挙げているが、クロック周波数の低い低速動作回路１２からクロック周波数の高い高速動作回路１１へデータ転送する構成の場合にも、同様に適用可能である。また、セレクタ回路２３との低速動作回路１２との間に組合せ回路１６が配設された構成となっているが、その配設位置はこれに限られるものではない。
【００９２】
また、本実施形態の技術思想に、第１実施形態の技術思想を組み合わせることも可能である。すなわち、本実施形態においては、セットアップの厳しくなるパスでは、遅延バッファ５２に入力前のデータ信号を単に選択して転送する構成を採っているが、第１実施形態におけるラッチ回路２２を設け、当該ラッチ回路２２で本来のタイミングよりも早めのタイミングでラッチしたデータ信号を選択して転送する構成を採ることも可能である。これにより、セットアップの厳しくなるパスでのセットアップをより確実に保証できることになる。
【００９３】
【発明の効果】
以上説明したように、本発明によれば、位相の保証された周波数の異なる２つのクロック間で、これらクロック周期の最大公約数の周期でセットアップを保証して同期をとっている回路システムにおいて、通常は２つのクロック間でデータ信号を転送し、そのデータ転送のときにセットアップの厳しくなるパスでは、当該パスのタイミングでデータ信号を渡す側のラッチタイミングよりも早いタイミングで当該データ信号をラッチした信号を転送することにより、最終的な波形に影響を与えずにデータ転送をマルチサイクル化し、セットアップの厳しくなるパスとらないようにすることができる。
【００９４】
また、位相の保証された周波数の異なる２つのクロック間で、これらクロック周期の最大公約数の周期でセットアップを保証して同期をとるとともに、２つのクロック間で遅延手段を介してデータ信号を転送する第１の経路と、遅延手段を介さずにデータ信号を転送する第２の経路とを有する回路システムにおいて、通常は第１の経路でデータ転送を行い、セットアップの厳しくなるパスをとるときは、第１の経路から第２の経路に切り替えて当該第２の経路でデータ転送を行うことにより、ホールド保証とセットアップの両方を同時に満たすことができる。
【００９５】
特に、本発明を適用するか否かによって回路システム全体の動作に何ら影響を及ぼすことはなく、本発明を適用するか否かは、コンパイルのときに判断できるため、無駄に回路規模の増大につながらないという利点がある。すなわち、コンパイルの際に、レイアウトのことも考慮したマージンでスペック違反が出そうな箇所にのみ本発明を適用すれば、必要最小限の回路の増加ですむ。
【００９６】
また、個々の既存の汎用モジュールをまとめて、一つのチップを作り上げる場合が非常に多く、今後、各既存の汎用モジュールを異なる周波数のクロックで動作させるような回路システムの設計は増加すると予想され、このような回路システムに対して本発明によるデータ転送装置はより有用なものとなる。
【図面の簡単な説明】
【図１】本発明によるデータ転送装置が適用される回路システムの構成の概略を示すブロック図である。
【図２】基準クロックＣＫ１、２分周クロックＣＫ２および３分周クロックＣＫ３を示すタイミングチャートである。
【図３】本発明の第１実施形態に係るデータ転送装置の構成を示すブロック図である。
【図４】検知回路の検知出力を示す波形図である。
【図５】検知回路の具体的な構成の一例を示すブロック図である。
【図６】検知回路の回路動作の説明に供するタイミングチャートである。
【図７】検知回路の一般的な構成を示すブロック図である。
【図８】５分周クロック、７分周クロックのタイミング関係を示すタイミングチャートである。
【図９】クロック周期が長い方のクロックＸからクロック周期が短い方のクロックＹへデータ転送する場合のタイミング関係を示すタイミングチャートである。
【図１０】クロック比率が１対ｎという関係でない場合の第１実施形態に係るデータ転送装置の回路動作を説明するための概念図である。
【図１１】クロック比率が１対ｎという関係でない場合の第１実施形態に係るデータ転送装置の回路動作の説明に供するタイミングチャートである。
【図１２】クロック周期が短い方のクロックＹからクロック周期が長い方のクロックＸへデータ転送する場合のタイミング関係を示すタイミングチャートである。
【図１３】クロック周期が短い方のクロックＹからクロック周期が長い方のクロックＸへデータ転送する場合の第１実施形態に係るデータ転送装置の回路動作を説明するための概念図である。
【図１４】受け渡す側のクロックＹで動作する最終回路の１つ前の回路がイネーブル信号で動作する回路システムの構成例を示すブロック図である。
【図１５】図１４の回路システムに対して第１実施形態に係るデータ転送装置を適用した場合の構成を示す概念図である。
【図１６】図１５の概念図を検知回路とラッチ回路の各機能を明確に表した場合の回路システムの構成例を示すブロック図である。
【図１７】図１６の回路動作の説明に供するタイミングチャートである。
【図１８】２つの回路Ａ，Ｂが同一のクロックを用いる場合の回路システムの構成例を示すブロック図である。
【図１９】ホールド保証を行う場合の回路システムの構成例を示すブロック図である。
【図２０】本発明の第２実施形態に係るデータ転送装置の構成を示すブロック図である。
【符号の説明】
１１…高速動作回路、１２…低速動作回路、１３…クロック発生器、１４，１５…分周器、１６…組合せ回路、２１，５１…検知回路、２２…ラッチ回路、２３，５３…セレクタ回路、５２…遅延バッファ
【図１】
2004234432.tif 000003
【図２】
2004234432.tif 000004
【図３】
2004234432.tif 000005
【図４】
2004234432.tif 000006
【図５】
2004234432.tif 000007
【図６】
2004234432.tif 000008
【図７】
2004234432.tif 000009
【図８】
2004234432.tif 000010
【図９】
2004234432.tif 000011
【図１０】
2004234432.tif 000012
【図１１】
2004234432.tif 000013
【図１２】
2004234432.tif 000014
【図１３】
2004234432.tif 000015
【図１４】
2004234432.tif 000016
【図１５】
2004234432.tif 000017
【図１６】
2004234432.tif 000018
【図１７】
2004234432.tif 000019
【図１８】
2004234432.tif 000020
【図１９】
2004234432.tif 000021
【図２０】
2004234432.tif 000022