(57)【要約】【課題】異種周期クロックドメイン間の同期化システム、同期化装置、同期化失敗検出回路及びデータ受信方法を提供する。【解決手段】本発明の一様態による同期化システムは、異種周期の第１クロックと第２クロックとによってそれぞれ動作するセンダーとレシーバーを含む異種周期クロックドメイン間の同期化システムであって、第１クロックを第１時間遅延させた予測クロックを出力するセンダー及び予測クロックを利用して第１クロックと第２クロック間の同期化失敗が発生するか否かを予測し、予測結果によって選択的に第２クロックを第２時間遅延させて第１クロックと同期化させるレシーバーを含む。【選択図】図６
2011030220.tif 000002
【特許請求の範囲】
【請求項１】
異種周期の第１クロックと第２クロックとによってそれぞれ動作するセンダーとレシーバーを含む異種周期ドメイン間の同期化システムにおいて、
前記第１クロックを第１時間遅延させた予測クロックを出力するセンダーと、
前記予測クロックを利用して前記第１クロックと前記第２クロック間の同期化失敗が発生するか否かを予測し、前記予測結果によって選択的に前記第２クロックを第２時間遅延させて前記第１クロックと同期化させるレシーバーと、
を含む異種周期クロックドメイン間の同期化システム。
【請求項２】
前記センダーは、前記予測クロックと前記第２クロック間の同期化失敗が発生するか否かを検出して、前記第１クロックと前記第２クロック間に実際同期化失敗が発生する時点よりも一定時間予め予測する請求項第１に記載の異種周期クロックドメイン間の同期化システム。
【請求項３】
前記第１時間は予め予測しようとする前記一定時間によって決定される請求項２に記載の異種周期クロックドメイン間の同期化システム。
【請求項４】
前記センダーは、前記予測クロックを出力するクロック予測器を含み、
前記クロック予測器は、
フィードバックに応じて可変的な時間ほど前記第１クロックを遅延させる可変遅延素子と、
前記可変遅延素子により遅延された第１クロックを前記予め予測しようとする時間ほど遅延させる固定遅延素子と、
前記第１クロックと前記固定遅延素子の出力間の位相を比較し、前記比較結果を前記可変遅延素子にフィードバックする位相比較器とを含み、
前記可変遅延素子は前記比較結果位相が同一な時に前記可変的な時間ほど遅延された第１クロックを前記予測クロックとして出力する請求項１に記載の異種周期クロックドメイン間の同期化システム。
【請求項５】
前記レシーバーは、
前記第１クロックのホールドタイムほど前記第２クロックを遅延させた信号と、前記第２クロックの周期で前記第１クロックのセットアップタイムを引いた時間ほど前記第２クロックを遅延させた信号を利用して、前記予測クロックをそれぞれサンプリングし、各サンプリング結果に基づいて前記第１及び第２クロック間の同期化失敗が発生するか否かを検出する同期化失敗検出器を含む請求項１に記載の異種周期クロックドメイン間の同期化システム。
【請求項６】
前記同期化失敗検出器は、
前記第１クロックのホールドタイムほど前記２クロックを遅延させた信号に応答して前記予測クロックをサンプリングする第１サンプリング部と、
前記第２クロックの周期で前記第１クロックのセットアップタイムを引いた
時間ほど前記第２クロックを遅延させた信号に応答して前記予測クロックをサンプリングする第２サンプリング部と、
前記第１及び第２サンプリング部のサンプリング結果が相異する場合に前記同期化が失敗したものと検出する検出部とを含む請求項５に記載の異種周期クロックドメイン間の同期化システム。
【請求項７】
前記レシーバーは、
前記第１及び第２クロック間の同期化が失敗したものと予測した場合、
前記第１クロックホールドタイム及びセットアップタイムの和ほど前記第２クロックを遅延させて、前記遅延された第２クロックと前記第１クロックとを同期化させる同期化器を含む請求項１に記載の異種周期クロックドメイン間の同期化システム。
【請求項８】
前記同期化器は、
前記センダーから前記第１クロックに同期化されて出力されるデータを前記第２クロックでサンプリングする第１サンプリング部と、
前記第２クロックを前記第１クロックのホールドタイム及びセットアップタイムの和ほど前記第２クロックを遅延させる遅延部と、
前記データを前記遅延部により遅延された第２クロックでサンプリングする第２サンプリング部と、
前記同期化失敗が発生するか否かの予測結果に応じて前記第１サンプリング部によりサンプリングされたデータ及び前記第２サンプリング部によりサンプリングされたデータのうち何れか一つを選択する選択部とを含む請求項７に記載の異種周期クロックドメイン間の同期化システム。
【請求項９】
異種周期の第１クロックと第２クロック間の同期化を行う同期化装置において、
前記第１クロックが第１時間遅延された予測クロックの入力を受け、前記第１クロックのホールドタイムほど前記第２クロックを遅延させた第１遅延信号に応答して、前記予測クロックをサンプリングする第１サンプリング部と、
前記第２クロックの周期で前記第１クロックのセットアップタイムを引いた時間ほど前記第２クロックを遅延させた第２遅延信号に応答して、前記予測クロックをサンプリングする第２サンプリング部と、
前記第１及び第２サンプリング部によりサンプリングされた結果をそれぞれ前記第２クロックでサンプリングし、第２クロックでサンプリングされた結果を比較して前記第１及び第２クロック間の同期化失敗が発生するか否かを検出する検出部と、前記検出結果に応じて選択的に前記第２クロックを第２時間ほど遅延させて前記第１クロックと同期化させる同期化部と、
を含む同期化装置。
【請求項１０】
前記同期化部は、
同期化失敗と予測された場合、前記第２時間ほど遅延された第２クロックで、前記第１クロックに同期化されて入力されるデータを受信し、
前記同期化失敗ではないと予測された場合、前記第２クロックで、前記第１クロックに同期化されて入力されるデータを受信する請求項９に記載の異種周期クロックドメイン間の同期化装置。
【請求項１１】
前記同期化部は、
前記第２時間ほど遅延された第２クロックで前記データをサンプリングする第３サンプリング部と、
前記第２クロックで前記データをサンプリングする第４サンプリング部と、
前記検出結果に応じて前記第３及び第４サンプリング部の出力のうち何れか一つを選択する選択部と、
を含む請求項１０に記載の異種周期クロックドメイン間の同期化装置。
【請求項１２】
前記同期化部は、
前記検出結果に応じて、前記第２クロックと前記第２時間ほど遅延された第２クロックのうち何れか一つを選択する選択部と、
前記選択部により選択された何れか一つに応答して前記データをサンプリングする第３サンプリング部とを含む請求項１０に記載の異種周期クロックドメイン間の同期化装置。
【請求項１３】
前記検出部は前記第１クロックと前記第２クロック間に実際同期化失敗が発生する時点よりも一定時間予め予測するものであり、
前記第１時間は予め予測しようとする前記一定時間によって決定される請求項９に記載の異種周期クロックドメイン間の同期化装置。
【請求項１４】
前記第２時間は前記第１クロックのホールドタイム及びセットアップタイムの和である請求項９に記載の異種周期クロックドメイン間の同期化装置。
【請求項１５】
第１クロックと第２クロック間の同期化失敗が発生するか否かを検出する同期化失敗検出回路において、
第１クロックのホールドタイムほど前記第２クロックを遅延させた第１遅延信号に応答して、前記第１クロックをサンプリングする第１サンプリング部と、
前記第２クロックの周期で前記第１クロックのセットアップタイムを引いた時間ほど前記第２クロックを遅延させた第２遅延信号に応答して、前記第１クロックをサンプリングする第２サンプリング部と、
前記第１及び第２サンプリング部によりサンプリングされた結果が相異するかどうかを検出する検出部と、
を含む同期化失敗検出回路。
【請求項１６】
前記検出部は、
前記第１及び第２サンプリング部によりサンプリングされた結果が相異する場合に前記第１及び第２クロック間の同期化が失敗したものと検出する請求項１５に記載の同期化失敗検出回路。
【請求項１７】
第１クロックによって動作する第１クロックドメインと、前記第１クロックの周期と異なる周期の第２クロックによって動作する第２クロックドメイン間にデータを受信する方法において、
前記第１クロックドメインから前記第１クロックが第１時間遅延された予測クロックを受信するステップと、
前記予測クロックを利用して前記第１クロックと前記第２クロック間の同期化失敗が発生するか否かを予測し、失敗した場合前記第２クロックを第２時間ほど遅延させて、前記第２時間ほど遅延された第２クロックに応答して前記データをサンプリングするステップと、
を含む異種周期クロックドメインからのデータ受信方法。
【請求項１８】
前記データをサンプリングするステップは、
前記予測クロックと前記第２クロック間の同期化失敗が発生するか否かを検出して、前記第１クロックと前記第２クロック間に実際同期化失敗が発生する時点よりも一定時間予め予測するステップ、
を含む請求項１７に記載の異種周期クロックドメイン間の同期化システム。
【請求項１９】
前記データをサンプリングするステップは、
前記第１クロックのホールドタイムほど前記第２クロックを遅延させた第１遅延信号に応答して前記予測クロックを第１サンプリングするステップと、
前記第２クロックの周期で前記第１クロックのセットアップタイムを引いた時間ほど前記第２クロックを遅延させた第２遅延信号に応答して前記予測クロックを第２サンプリングするステップと、
前記第１及び第２サンプリングステップの各サンプリング結果を比較して、相異する場合に前記第１クロック及び前記第２クロック間に同期化が失敗したものと予測するステップと、
を含む請求項１７に記載の異種周期クロックドメインからのデータ受信方法。
【請求項２０】
前記第１時間は、予め予測しようとする前記一定時間によって決定されるものであり、
前記第２時間は前記第１クロックのホールドタイム及びセットアップタイムの和である請求項１７に記載の異種周期クロックドメイン間の同期化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチクロックドメイン環境でレイテンシ(ｌａｔｅｎｃｙ)増加による性能低下を防止できる同期化システム、同期化装置、同期化失敗検出回路及びデータ受信方法に関する。
【背景技術】
【０００２】
幾多のＩＰ（Ｉｎｔｅｌｌｅｃｔｕｒｅ  Ｐｒｏｐｅｒｔｙ）を利用したＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）設計において各ＩＰは相異するクロック周波数で動作することができる。このような相異するＩＰを統合して設計するためには、ＩＰ間のデータ転送時に発生し得る同期化失敗問題を解決しなければならない。例として、最も低いクロック周波数で動作するＩＰに合わせて全てのＩＰを単一クロックで駆動させると、同期化は保障できるが、性能低下を伴う。各ＩＰのクロック周期を整数倍関係で調節すると、相対的に簡単な同期化技法を適用しつつ単一クロック基盤同期化技法よりは性能低下を防止することができる。しかし、クロック間の整数倍関係調節はＩＰ数が多いほど、ＩＰ間最適化クロック周波数差が大きいほど、その適用効果が大きく減る。
【０００３】
このような同期化失敗問題を解決するために様々な同期化技法が提示されている。
【０００４】
“Ｓｙｎｃｈｒｏｎｏｕｓ”仮定は、よく言われる同期式回路の基盤の仮定を意味し、チップ内の全域でクロック特性は同一でなければならないという仮定である。“Ｍｅｓｏｃｈｒｏｎｏｕｓ”仮定は、チップ内で観測されるクロックの周波数の差は無く、フェイズ(ｐｈａｓｅ)の差のみ許容する仮定である。即ち、クロックソースから特定の二つのｌｅａｆノードまでの遅延時間のみ異なる仮定であるので、同期化のためにはクロックやデータ伝達速度を調節する遅延素子を使用する。“Ｐｌｅｓｉｏｃｈｒｏｎｏｕｓ”仮定は、微細な周波数の差を認定し、これに応じてフェイズも変化し、“Ｍｅｓｏｃｈｒｏｎｏｕｓ”仮定の同期化方式を使用しこれを繰り返して行わせるという仮定である。
【０００５】
“Ｒｅｌａｔｅｄ”仮定はチップ内の二つの地点のクロック周波数が整数倍の関係を有する仮定である。この仮定では同期化失敗の場合がクロック周波数の特性分析で簡単に予測可能である。“Ｈｅｔｅｒｏｇｅｎｅｏｕｓ”仮定はクロック周波数間の整数倍に関わらずクロック周波数が様々な場合に特化された同期化失敗予測方式が求められる。“Ａｓｙｎｃｈｒｏｎｏｕｓ”仮定は、上述した全ての仮定を含む仮定であって、同期化のためには非同期式設計技法に基づいた同期化装置が必要である。
【０００６】
“Ｓｙｎｃｈｒｏｎｏｕｓ”、“Ｍｅｓｏｃｈｒｏｎｏｕｓ”、“Ｐｌｅｓｉｏｃｈｒｏｎｏｕｓ”仮定は、単一クロック環境での区分であり、“Ｒｅｌａｔｅｄ”、“Ｈｅｔｅｒｏｇｅｎｅｏｕｓ”、“Ａｓｙｎｃｈｒｏｎｏｕｓ”仮定は、クロックソースが複数であるマルチクロック環境での区分である。“Ｈｅｔｅｒｏｇｅｎｅｏｕｓ”までの仮定では全てのクロックは周期性を維持しなければならない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】大韓民国特許公開第１０-２００７−００６９３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本発明の目的は、複数の周期クロックを有する異種クロックドメイン間のデータ転送時に発生し得る同期化失敗問題をレイテンシ無しに解決する同期化装置、システム、同期化失敗検出回路及びデータ受信方法を提供するところにある。
【０００９】
本発明の目的は上述した目的に限定されず、上述していない他の目的は以下の記載により本発明の技術分野における通常の知識を持つ者に明確に理解されるであろう。
【課題を解決するための手段】
【００１０】
上述した目的を達成するために、本発明の一様態による同期化システムは、異種周期の第１クロックと第２クロックとによってそれぞれ動作するセンダー(ｓｅｎｄｅｒ)とレシーバー（ｒｅｃｅｉｖｅｒ）を含む異種周期クロックドメイン間の同期化システムであって、前記第１クロックを第１時間遅延させた予測クロックを出力するセンダーと、前記予測クロックを利用して前記第１クロックと前記第２クロック間の同期化失敗が発生するか否かを予測し、前記予測結果によって選択的に前記第２クロックを第２時間遅延させて前記第１クロックと同期化させるレシーバーとを含む。
【００１１】
上述した目的を達成するために、本発明の他の様態による同期化装置は、異種周期の第１クロックと第２クロック間の同期化を行う同期化装置であって、前記第１クロックが第１時間遅延された予測クロックの入力を受け、前記第１クロックのホールドタイム(ｈｏｌｄ  ｔｉｍｅ)ほど前記第２クロックを遅延させた第１遅延信号に応答して、前記予測クロックをサンプリング(ｓａｍｐｌｉｎｇ)する第１サンプリング部と、前記第２クロックの周期から前記第１クロックのセットアップタイム(ｓｅｔｕｐ  ｔｉｍｅ)を引いた時間ほど前記第２クロックを遅延させた第２遅延信号に応答して、前記予測クロックをサンプリングする第２サンプリング部と、前記第１及び第２サンプリング部によりサンプリングされた結果をそれぞれ前記第２クロックでサンプリングし、前記第２クロックでサンプリングされた結果を比較して前記第１及び第２クロック間の同期化失敗が発生するか否かを検出する検出部と、前記検出結果に応じて選択的に前記第２クロックを第２時間ほど遅延させて前記第１クロックと同期化させる同期化部とを含む。
【００１２】
上述した目的を達成するために、本発明のまた他の様態による同期化失敗検出回路は、第１クロックと第２クロック間の同期化失敗が発生するか否かを検出する同期化失敗検出回路であって、第１クロックのホールドタイムほど前記第２クロックを遅延させた第１遅延信号に応答して、前記第１クロックをサンプリングする第１サンプリング部と、前記第２クロック周期から前記第１クロックのセットアップタイムを引いた時間ほど前記第２クロックを遅延させた第２遅延信号に応答して、前記第１クロックをサンプリングする第２サンプリング部と、前記第１及び第２サンプリング部によりサンプリングされた結果が相異するかどうかを検出する検出部とを含む。
【００１３】
上述した目的を達成するために、本発明のまた他の様態によるデータ受信方法は、第１クロックによって動作する第１クロックドメインと、前記第１クロックの周期と異なる周期の第２クロックによって動作する第２クロックドメイン間にデータを受信する方法であって、前記第１クロックドメインから前記第１クロックが第１時間遅延された予測クロックを受信するステップ及び前記予測クロックを利用して前記第１クロックと前記第２クロック間の同期化失敗が発生するか否かを予測し、失敗した場合、前記第２クロックを第２時間ほど遅延させて、前記第２時間ほど遅延された第２クロックに応答して前記データをサンプリングするステップを含む。
【００１４】
その他の実施の形態の具体的な事項は、発明の詳細な説明及び図面により詳しく開示される。
【発明の効果】
【００１５】
本発明の構成によると、異種クロックドメイン間の同期化失敗が発生するか否かを予測することができ、従ってレイテンシ無しに同期化失敗を回避することができる。
【図面の簡単な説明】
【００１６】
【図１】センダーとレシーバーとで構成された一般的なシステムを示すブロック図である。
【図２】実施の形態に係る同期化失敗検出回路を示す回路図である。
【図３】図２の同期化失敗検出回路の動作を説明するための信号図である。
【図４】第１クロックをどれぐらい遅延させる時に第２クロックの何サイクル(ｃｙｃｌｅ)前に同期化失敗を予め予測できるかを説明するための信号図である。
【図５】第１クロックをどれぐらい遅延させる時に第２クロックの何サイクル(ｃｙｃｌｅ)前に同期化失敗を予め予測できるかを説明するための信号図である。
【図６】実施の形態に係る異種周期ドメイン間の同期化システムを示すブロック図である。
【図７】図６に示されたクロック予測器を示すフロック図である。
【図８】図６に示された同期化器を示す例示的な回路図である。
【図９】図８の同期化部の変形例を示す回路図である。
【発明を実施するための形態】
【００１７】
本発明の利点及び特徴、またそれを達成する方法は、添付の図面とともに詳細に説明されている実施の形態を参照すれば、明確になるであろう。しかし、本発明は、以下に開示される実施の形態に限定されるのではなく、様々な形態として具現され、ただ本実施の形態は本発明の開示が完全になるようにし、本発明の属する技術分野において通常の知識を持つ者に発明の範疇を完全に知らせるために提供し、本発明は請求項の範疇によって定義されるのみである。一方、本明細書において使用される用語は、実施の形態を説明するためのものであって本発明を制限しようとするものではない。本明細書において、単数形は文章で特に言及しない限り複数形も含む。明細書において使用される“含む。(ｃｏｍｐｒｉｓｅ)”及び／又は“含んでいる(ｃｏｍｐｒｉｓｉｎｇ)”は、言及された構成素子、ステップ、動作及び／又は素子は一つ以上の他の構成素子、ステップ、動作及び／又は素子の存在又は追加を排除しない。
【００１８】
以下、添付の図面を参照して本発明の好ましい実施の形態を詳細に説明し、各図面で同一な構成及び機能を有する構成要素については同一な符号を併記する。
【００１９】
図１乃至図３を参照して実施の形態による同期化失敗検出回路について説明する。図１は、センダーとレシーバーとで構成された一般的なシステムを示すブロック図であり、図２は、実施の形態による同期化失敗検出回路を示す回路図であり、図３は、図２の同期化失敗検出回路の動作を説明するための信号図である。
【００２０】
まず、図１に示すように、センダーとレシーバーとが相異するクロックドメインで動作する。即ち、センダーは第１クロック(ＳＣＬＫ)によって動作し、レシーバーは第２クロック(ＲＣＬＫ)によって動作する。ここで、第１クロック(ＳＣＬＫ)及び第２クロック（ＲＣＬＫ）は相異し、いずれも周期的な信号である。センダーは第１クロック(ＳＣＬＫ)によって動作してデータ(ＤＡＴＡ)を出力するので、データ（ＤＡＴＡ）は第１クロック(ＳＣＬＫ)に同期化されている。しかし、センダーとレシーバーは相異するクロックドメインで動作するので、第２クロック(ＲＣＬＫ)で動作するレシーバーは第１クロック(ＳＣＬＫ)との同期化に失敗し得る。
【００２１】
レシーバーでの同期化失敗が発生するか否かは、図２のように同期化失敗検出回路を通じて検出することができる。
【００２２】
同期化失敗検出回路１は第２クロック(ＲＣＬＫ)をＴ-Ｔｓ〔Ｔ：第２クロック（ＲＣＬＫ）の周期、Ｔs：第１クロック（ＳＣＬＫ）のセットアップタイム（ｓｅｔｕｐ  ｔｉｍｅ）〕ほど遅延させた信号［又は、第２クロック（ＲＣＬＫ）を第１クロック（ＳＣＬＫ）のセットアップタイムほど繰り上げた信号］と第２クロック(ＲＣＬＫ)をＴｈ〔Ｔｈ：第１クロック(ＳＣＬＫ)のホールドタイム（ ｈｏｌｄ  ｔｉｍｅ）〕ほど遅延させた信号それぞれに第１クロック（ＳＣＬＫ）をサンプリングして判別することができる。第２クロック（ＲＣＬＫ）をＴ−ＴｓとＴｈほどそれぞれ遅延させると第１クロック（ＳＣＬＫ）の危険（ｈａｚａｒｄ）区間ほどのｗｉｎｄｏｗが生成され、第２クロック（ＲＣＬＫ）はこの ｗｉｎｄｏｗ 区間に発生されることを意味する。
【００２３】
このような同期化失敗検出回路１は図２に示すように、第１サンプリング部２０、第２サンプリング部３０及び検出部４０を含む。第１及び第２サンプリング部２０、３０はそれぞれ遅延器２２、３２とフリップフロップ（ｆｌｉｐ-ｆｌｏｐ：ＦＦ１、ＦＦ２）を含む。
【００２４】
第１サンプリング部２０は第２クロック（ＲＣＬＫ）をＴｈほど遅延させた信号に応答して第１クロック（ＳＣＬＫ）をサンプリングし、第２サンプリング部３０は第２クロック（ＲＣＬＫ）をＴ−Ｔｓほど遅延させた信号に応答して第１クロック（ＳＣＬＫ）をサンプリングする。具体的に第１遅延器２２は第２クロック(ＲＣＬＫ)をＴｈほど遅延させ、第１フリップフロップ（ＦＦ２）は第１遅延器２２により遅延された第２クロック（ＲＣＬＫ）に応答して第１クロック（ＳＣＬＫ）をサンプリングする。第２遅延器３２は第２クロック（ＲＣＬＫ）をＴ−Ｔｓほど遅延させ、第２フリップフロップ（ＦＦ１）は第２遅延器３２により遅延された第２クロック（ＲＣＬＫ）に応答して第１クロック（ＳＣＬＫ）をサンプリングする。
【００２５】
検出部４０は第１及び第２サンプリング部２０、３０の各サンプリング結果を比較して第１クロック(ＳＣＬＫ)と第２クロック(ＲＣＬＫ)間の同期化失敗が発生するか否かを検出する。
【００２６】
このような同期化失敗検出回路１の動作については図３を参照してさらに詳しく説明する。
【００２７】
図３（ａ）と（ｂ）のように図２の第１及び第２サンプリング部２０、３０が同一値をサンプリングすると、同期化失敗がない場合である。図３（ａ）の場合、図２のＡ、Ｂノード値はいずれも‘０’になり、図３（ｂ）の場合、Ａ、Ｂのノード値は‘１’になる。しかし、図３（ｃ）のようにＡノードが‘０’、Ｂノードが‘１’の結果値である場合、第２クロック（ＲＣＬＫ）は第１クロック（ＳＣＬＫ）の危険区間にあることを意味し、即ち、同期化失敗があることを示す。従って、第１及び第２サンプリング部２０、３０のサンプリング結果が異なる時に図２の検出部４０は同期化失敗を検出し、第１及び第２サンプリング部２０、３０のサンプリング結果が同一である時に同期化失敗を検出しない。
【００２８】
このような検出部４０は、アンド（ＡＮＤ）演算子を含んでおり、第１及び第２サンプリング部２０、３０のうち何れか一つのサンプリング結果を反転させ、他のサンプリング結果とアンド（ＡＮＤ）演算を行うことができる。但し、検出部４０はこれに限定されておらず、様々な形態で具現されることができ、例えば、ＸＯＲゲート（Ｅｘｃｌｕｓｉｖｅ−ＯＲｇａｔｅｓ）で構成されることができる。
【００２９】
一方、図２の同期化失敗検出回路１により同期化失敗が発生するか否かを検出できるとしても同期化失敗が発生するか否かを予め判別できなければ、正しいデータ(ＤＡＴＡ)を転送することができない。従って、図２の同期化失敗検出回路１に、第１クロック(ＳＣＬＫ)の代わりに特定時間ほど遅延させた第１クロック(ＳＣＬＫ)を入力すると、第２クロック(ＲＣＬＫ)の何サイクル前に同期化失敗を予め予測することができ、それにより同期化失敗を予め防止することができる。
【００３０】
以下では、図４及び図５を参照して、第１クロック(ＳＣＬＫ)をどれぐらい遅延させる時に第２クロック(ＲＣＬＫ)の何サイクル前に同期化失敗を予め予測することができるかについて説明する。
【００３１】
図４及び図５は第１クロック(ＳＣＬＫ)をどれぐらい遅延させる時に第２クロック(ＲＣＬＫ)の何サイクル前に同期化失敗を予め予測することができるかを説明するための信号図である。
【００３２】
まず、周期Ｔを有するフリーランニング(ｆｒｅｅ  ｒｕｎｎｉｎｇ)信号の立ち上がりエッジの時間集合をＦと仮定し、Ｆを時間ｔほど遅延させた信号の立ち上がりエッジの時間集合をdelF(t)と仮定する。事実上、周期Ｔを有するフリーランニング信号はＴほど遅延或いは繰り上げても同一な立ち上がりエッジ時間集合を有するのでＦは次のように示される。
【００３３】
【数１】
2011030220.tif 000003
【００３４】
【数２】
2011030220.tif 000004
【００３５】
図４に示すように、周期Ｔｒを有する第２クロック（ＲＣＬＫ）とＴｓ周期の第１クロック(ＳＣＬＫ)を仮定し、第１クロック(ＳＣＬＫ)を特定時間ほど遅延させることによって第２クロック(ＲＣＬＫ)の何サイクル前の第１クロック(ＳＣＬＫ)の状態を予測できるかを見てみる。第２クロック(ＲＣＬＫ)の４番目の立ち上がりエッジ(Ｈ)で第１クロック(ＳＣＬＫ)と同期化失敗現象が現れる。第２クロック(ＲＣＬＫ)の４番目の立ち上がりエッジ(Ｈ)より１サイクル前であるＧで、Ｈでの同期化失敗が発生するか否かを予測するためには第１クロック（ＳＣＬＫ）をＦからＧまでの時間(Ｔｐ)遅延させれば良い。一方、第２クロック(ＲＣＬＫ)の周期であるＴｒほど遅延された第１クロック(ＳＣＬＫ＿ＤＥＬ)と第２クロック(ＲＣＬＫ)との関係は、１サイクル前の第２クロック(ＲＣＬＫ)と第１クロック(ＳＣＬＫ)との関係と同一である。従って、図４のように第１クロック(ＳＣＬＫ)をＴｒほど遅延(ｐｏｉｎｔＡからｐｏｉｎｔＢ参照)させた信号（ＳＣＬＫ＿ＤＥＬ）でＦ'からＨまでの時間はＴｐと同一である。ところで、Ｔｐは第１クロック(ＳＣＬＫ)と、Ｔｒほど遅延された第１クロック(ＳＣＬＫ＿ＤＥＬ)のフェイズの差と同一である。即ち、Ｔｒほど遅延された第１クロック(ＳＣＬＫ＿ＤＥＬ)と、第１クロック(ＳＣＬＫ)との位相差はＴｐであり、第１クロック(ＳＣＬＫ)をＴｐほど遅延(ｐｏｉｎｔＡからｐｏｉｎｔＣ参照)させた信号であるＳＣＬＫ＿Ｅ１信号は第２クロック(ＲＣＬＫ)の４番目のサイクルの１サイクルの前、即ち、３番目のサイクル(Ｇ)で同期化失敗現象が現れる。
【００３６】
ＳＣＬＫ＿Ｅ２、ＳＣＬＫ＿Ｅ３信号はそれぞれ２倍のＴｐ、３倍のＴｐほど第１クロック(ＳＣＬＫ)を遅延させたものであり、結果的に第１クロック(ＳＣＬＫ)と第２クロック(ＲＣＬＫ)間の同期化失敗現象が現れる第２クロック(ＲＣＬＫ)の４番目のサイクル(Ｈ)からそれぞれ２サイクル、３サイクル前に同期化失敗現象が現れ、これにより予め同期化失敗現象を予測することができる。これは一定の法則によって何サイクル前に同期化失敗が発生するか否かが予測可能であることを示す。
【００３７】
即ち、ＳＣＬＫ＿Ｅ１、ＳＣＬＫ＿Ｅ２、ＳＣＬＫ＿Ｅ３信号を図２の同期化失敗検出回路１に第１クロック(ＳＣＬＫ)の代わりに入力すると、それぞれＴｒ、２*Ｔｒ、３*Ｔｒ前に同期化失敗が発生するか否かを予測することができる(従って、ＳＣＬＫ＿Ｅ１、ＳＣＬＫ＿Ｅ２、ＳＣＬＫ＿Ｅ３信号を以下では予測クロックという)。
【００３８】
同期化失敗が発生するか否かを予め予測するための回路を具現する場合、特定の信号を遅延させるためには遅延素子を使用する。この時、遅延させる時間が長ければ長いほど遅延素子の設計が難しくなり電力消耗のような付加的な副作用が発生するようになる。しかし、式(１)と式(２)の周期信号の特性を利用すれば遅延時間を短縮しつつ同一な効果が得られる。
【００３９】
図４で第１クロック(ＳＣＬＫ)を３*Ｔｐほど遅延させた信号である予測クロック(ＳＣＬＫ＿Ｅ３)を例として式(２)に適用して見ると、
【００４０】
【数３】
2011030220.tif 000005
【００４１】
のように示される。ここで、
【００４２】
【数４】
2011030220.tif 000006
【００４３】
図５を参照してさらに具体的に見てみる。Ｔｒ、Ｔｓがそれぞれ７０ｎs、６０ｎsと仮定すれば、Ｔｐは５０ｎsになる。
【００４４】
【数５】
2011030220.tif 000007
【００４５】
即ち、−２と決定される。結論的に第２クロック(ＲＣＬＫ)を基準として３サイクル以前に同期化失敗を予測するためには、第１クロック(ＳＣＬＫ)を３*Ｔｐほど遅延させても可能であるが、最小の遅延時間のために、第１クロック(ＳＣＬＫ)を３*Ｔｐほど遅延させた予測クロック(ＳＣＬＫ＿Ｅ３)と同一な波形を有する信号を利用すれば良い。即ち、第１クロック(ＳＣＬＫ)を
【００４６】
【数６】
2011030220.tif 000008
【００４７】
ほど遅延させた予測クロック(ＳＣＬＫ＿Ｅ４)を利用すれば、回路を具現する時にも遅延時間を最小にすることができ、遅延素子の設計が簡単になり、電力消耗も減らすことができる。このような予測クロック(ＳＣＬＫ＿Ｅ４)を生成するクロック予測部に関する説明は図７を参照して説明する。
【００４８】
図６乃至図８を参照して本発明の実施の形態による同期化システムを説明する。図６は、実施の形態による異種周期ドメイン間の同期化システムを示すブロック図であり、図７は、図６に示されたクロック予測器を示すブロック図であり、図８は図６に示された同期化器を示す例示的な回路図である。
【００４９】
図６は異種環境の同期化のための最上位ブロック図を示す。同期化システム１０は、センダー１００とレシーバー２００とを含んでおり、センダー１００はクロック予測器１１０を含み、レシーバー２００は同期化器２１０を含む。
【００５０】
上述した同期化失敗を検出するために、クロック予測器(ｃｌｏｃｋ  ｐｒｅｄｉｃｔｏｒ、１１０)は第１クロック(ＳＣＬＫ)を一定時間遅延させて予測クロック(ＳＣＬＫ＿Ｅ)を生成する。センダー１００は予測クロック(ＳＣＬＫ＿Ｅ)とデータ(ＤＡＴＡ)をレシーバー２００に出力する。
【００５１】
レシーバー２００の同期化器２１０は同期化失敗を予め検出し、回避できる機能を提供する。
【００５２】
まず、図７を参照してセンダー１００のクロック予測器１１０について詳しく説明する。
【００５３】
クロック予測器１１０は可変遅延素子１２０と、固定遅延素子１３０及び位相比較器１４０を含む。
【００５４】
可変遅延素子１２０は位相比較器１４０のフィードバック(ｆｅｅｄｂａｃｋ)に応じて可変的な時間ほど第１クロック(ＳＣＬＫ)を遅延させて出力する。固定遅延素子１３０は可変遅延素子１２０により遅延された第１クロック(ＳＣＬＫ)を予め予測しようとする時間を、例えば３周期(３*Ｔｒ)ほど遅延させて出力する。位相比較器１４０は可変遅延素子１２０の出力と第１クロック(ＳＣＬＫ)間の位相を比較して比較結果を可変遅延素子１２０にフィードバックする。
【００５５】
例えば、初期に可変遅延素子１２０は第１クロック(ＳＣＬＫ)を遅延させず出力し、固定遅延素子１３０が第１クロック(ＳＣＬＫ)を３*Ｔｒほど遅延させる。そして、位相比較器１４０は第１クロック(ＳＣＬＫ)と固定遅延素子１３０により３*Ｔｒほど遅延された第１クロック(ＳＣＬＫ)の位相を比較する。比較結果位相が同一でなければ、これを可変遅延素子１２０にフィードバックする。可変遅延素子１２０はフィードバックに応じて第１クロック(ＳＣＬＫ)を所定時間遅延して出力し、固定遅延素子は可変遅延素子１２０により出力された信号を３*Ｔｒほど遅延させて出力する。位相比較器１４０は、再び可変遅延素子１２０により所定時間遅延された第１クロック(ＳＣＬＫ)と固定遅延素子から出力された信号の位相を比較し、その比較結果を可変遅延素子１２０にフィードバックする。
【００５６】
このように位相比較器１４０で位相差が無くなるまで可変遅延素子１２０に遅延時間が加わるようになり最終的に位相比較器１４０で差が無い時、その時の可変遅延素子１２０の遅延時間を通じて予測クロック(ＳＣＬＫ＿Ｅ)が生成されて出力される。ここで、出力される予測クロック(ＳＣＬＫ＿Ｅ)は、例えば図５の予測クロック(ＳＣＬＫ＿Ｅ４)であり得る。
【００５７】
一方、同期化器２１０は図２に示した構造の同期化失敗検出回路１を含んでおり、同期化失敗が発生するか否かを検出する。予測クロック(ＳＣＬＫ＿Ｅ)を受信して同期化失敗を予め予測し、同期化が失敗する場合には第２クロック(ＲＣＬＫ)を所定時間遅延させて第１クロック(ＳＣＬＫ)と同期化させ、所定時間遅延された第２クロック(ＲＣＬＫ＿ＤＥＬ２)によってデータ(ＤＡＴＡ)を受信する。同期化が失敗しない場合には同期化器２１０は第２クロック(ＲＣＬＫ)によってデータ(ＤＡＴＡ)を受信する。図８を参照して、このような同期化器２１０の一例を詳しく説明する。
【００５８】
図８を参照すると、同期化器２１０は第１サンプリング部２２０と、第２サンプリング部２３０と、検出部２４０と、同期化部２５０を含む。
【００５９】
まず、第１サンプリング部２２０は第２クロック(ＲＣＬＫ)を第１クロック(ＳＣＬＫ)のホールドタイム(Ｔｓｈ)ほど遅延させて第１遅延信号(ＲＣＬＫ＿ＤＥＬ０)を出力する第１遅延器２２２と、直列で連結されて第１遅延信号（ ＲＣＬＫ＿ＤＥＬ０）に応答して動作する第１及び第２フリップフロップ(ＦＦ１、ＦＦ２)を含む。第１フリップフロップ(ＦＦ１)は第１遅延信号(ＲＣＬＫ＿ＤＥＬ０)に応答して予測クロック(ＳＣＬＫ＿Ｅ)をサンプリングし、第２フリップフロップ(ＦＦ２)は第１フリップフロップ(ＦＦ１)の出力(ＳＣＬＫ＿Ｅ＿Ｓ０Ａ)を第１遅延信号(ＲＣＬＫ＿ＤＥＬ０)に応答してサンプリングする。
【００６０】
第２サンプリング部２３０は第２クロック(ＲＣＬＫ)の周期Ｔｒから第１クロック(ＳＣＬＫ)のセットアップタイムを引いた時間ほど第２クロック(ＲＣＬＫ)を遅延させて［又は、第１クロック(ＳＣＬＫ)のセットアップタイムほど第２クロック(ＲＣＬＫ)を繰り上げて］第２遅延信号(ＲＣＬＫ＿ＤＥＬ１)を出力する第２遅延器２３２と、直列で連結されて第２遅延信号(ＲＣＬＫ＿ＤＥＬ１)に応答して動作する第３及び第４フリップフロップ(ＦＦ３、ＦＦ４)を含む。第３フリップフロップ(ＦＦ３)は第２遅延信号(ＲＣＬＫ＿ＤＥＬ１)に応答して予測クロック(ＳＣＬＫ＿Ｅ)をサンプリングし、第４フリップフロップ(ＦＦ４)は第３フリップフロップ(ＦＦ３)の出力（ＳＣＬＫ＿Ｅ＿Ｓ１Ａ）を第２遅延信号に応答してサンプリングする。
【００６１】
図８の第１及び第２サンプリング部２２０、２３０は図２に示した第１及び第２サンプリング部２０、３０と対応するブロックである。但し、第１及び第２遅延信号(ＲＣＬＫ＿ＤＥＬ０、ＲＣＬＫ＿ＤＥＬ１)は予測クロック（ＳＣＬＫ＿Ｅ）と非同期的な信号であるので、格納装置(ＦＦ１、ＦＦ２、ＦＦ３、ＦＦ４)を直列で連結したダブルラッチ(ｄｏｕｂｌｅ-ｌａｔｃｈ)概念の同期化方式を使用するものである。
【００６２】
一方、図２のように、検出部２４０は第１及び第２サンプリング部２２０、２３０の各サンプリングされた結果(ＳＣＬＫ＿Ｅ＿Ｓ０Ｂ、ＳＣＬＫ＿Ｅ＿Ｓ１Ｂ)を比較して同期化失敗が発生するか否かを検出することができる。但し、図８に示した例では、第５乃至第８フリップフロップ(ＦＦ５、ＦＦ６、ＦＦ７、ＦＦ８)を通じて第１及び第２サンプリング結果(ＳＣＬＫ＿Ｅ＿Ｓ０Ｂ、ＳＣＬＫ＿Ｅ＿Ｓ１Ｂ)を第２クロック(ＲＣＬＫ)に同期化させた後に同期化失敗が発生するか否かを検出する。その理由について説明する。図８では、第１サンプリング部２２０は第１クロックドメイン(Ｄｏｍａｉｎ１)にあり、第２サンプリング部２３０は第２クロックドメイン(Ｄｏｍａｉｎ２)にある。ところが、同期化失敗が発生するか否かは第２クロック(ＲＣＬＫ)で動作する第３ドメイン領域(Ｄｏｍａｉｎ３)の同期化失敗検出部２４０により判断されるので、同期化失敗検出部２４０の入力である第１及び第２サンプリング部２２０、２３０の各サンプリング結果(ＳＣＬＫ＿Ｅ＿Ｓ０Ｂ、ＳＣＬＫ＿Ｅ＿Ｓ１Ｂ)は第２クロック(ＲＣＬＫ)に同期化されるのが好ましい。第１及び第２サンプリング部２２０、２３０の各サンプリング結果(ＳＣＬＫ＿Ｅ＿Ｓ０Ｂ、ＳＣＬＫ＿Ｅ＿Ｓ１Ｂ )を第２クロック(ＲＣＬＫ)に同期化するのは、相異するクロックドメイン間の転送(Ｄｏｍａｉｎ１とＤｏｍａｉｎ３、Ｄｏｍａｉｎ２とＤｏｍａｉｎ３)による同期化失敗の確率を減らすためである。
【００６３】
従って、検出部２４０は、第１及び第２サンプリング部２２０、２３０と同様にダブルラッチ形態の同期化方式で第５乃至第８フリップフロップ(ＦＦ５、ＦＦ６、ＦＦ７、ＦＦ８)を備える。そして、第６及び第８フリップフロップ(ＦＦ６、ＦＦ８)はそれぞれ第５及び第７フリップフロップ(ＦＦ５、ＦＦ７)の出力(ＳＣＬＫ＿Ｅ＿Ｓ０２Ａ、ＳＣＬＫ＿Ｅ＿Ｓ１２Ａ)を第２クロック(ＲＣＬＫ)に応答してそれぞれサンプリングする。
【００６４】
検出部２４０は、例えばアンド演算子を含んでおり、第６及び第８フリップフロップ(ＦＦ６、ＦＦ８)の出力(ＳＣＬＫ＿Ｅ＿Ｓ０２Ｂ、ＳＣＬＫ＿Ｅ＿Ｓ１２Ｂ)を比較して、第１及び第２クロック(ＳＣＬＫ、ＲＣＬＫ)間の同期化失敗が発生するか否かを検出する。若し、第６及び第８フリップフロップ(ＦＦ６、ＦＦ８)の出力(ＳＣＬＫ＿Ｅ＿Ｓ０２Ｂ、ＳＣＬＫ＿Ｅ＿Ｓ１２Ｂ)が相異すれば、即ち第１及び第２サンプリング部２２０、２３０のサンプリング結果が相異すれば、検出部２４０は同期化が失敗したものと判断する。若し、第６及び第８フリップフロップ(ＦＦ)の出力(ＳＣＬＫ＿Ｅ＿Ｓ０２Ｂ、ＳＣＬＫ＿Ｅ＿Ｓ１２Ｂ)が同一であれば、即ち第１及び第２サンプリング部２２０、２３０のサンプリング結果が同一であれば、検出部２４０は同期化失敗でないものと判断する。同期化失敗である場合を例にすると、図８でＳＣＬＫ＿Ｅ＿Ｓ０２Ｂは図３（ｃ）でＳＣＬＫ立ち上がり後でサンプリングした信号‘１’と対応し、ＳＣＬＫ＿Ｅ＿Ｓ１２Ｂは図３（ｃ）でＳＣＬＫ立ち上がり前でサンプリングした信号‘０’と対応する。この二つの信号を利用したＡＮＤゲートを経ると同期化失敗が発生するか否かを判断することができる。
【００６５】
同期化失敗ではない場合、第１及び第２クロック(ＳＣＬＫ、ＲＣＬＫ)が同期化されたことを意味するので、同期化部２５０はデータ(ＤＡＴＡ)を第２クロック(ＲＣＬＫ)でサンプリングして受信する。
【００６６】
若し、同期化失敗である場合、第１及び第２クロック(ＳＣＬＫ、ＲＣＬＫ)が同期化されていないことを意味し、同期化部２５０は第２クロック(ＲＣＬＫ)を所定時間、例えば第１クロック(ＳＣＬＫ)のセットアップタイム（Ｔｓｓ）とホールドタイム(Ｔｓｈ)とを加えた時間ほど遅延させる。即ち、同期化失敗である場合にこれを回避できる最大遅延時間を経た信号(ＲＣＬＫ＿ＤＥＬ２)でデータ(ＤＡＴＡ)をサンプリングして受信することによって、データ(ＤＡＴＡ)を安定して受信することができる。
【００６７】
このような同期化部２５０は、図８に示すように、第３遅延器２５２と、第９フリップフロップ(ＦＦ９)と第１０フリップフロップ(ＦＦ１０)及び選択部２５４を含む。
【００６８】
第３遅延器２５２は第２クロック(ＲＣＬＫ)を第１クロック(ＳＣＬＫ)のセットアップタイム(Ｔｓｓ)とホールドタイム(Ｔｓｈ)とを加えた時間ほど遅延させて信号(ＲＣＬＫ＿ＤＥＬ２)を出力する。第９フリップフロップ(ＦＦ９)は第２クロック(ＲＣＬＫ)でデータ(ＤＡＴＡ)をサンプリングする。第１０フリップフロップ(ＦＦ１０)は第３遅延器２５２により遅延された信号(ＲＣＬＫ＿ＤＥＬ２)でデータ(ＤＡＴＡ)をサンプリングする。選択部２５４は検出部２４０の出力(ＳＦ)によって第９フリップフロップ(ＦＦ９)及び第１０フリップフロップ(ＦＦ１０)のうち何れか一つを選択して、サンプリングされたデータ(ＤＡＴＡ＿ｓ)を出力する。
【００６９】
同期化器２１０は全体的に同期化失敗検出入力のための一つずつのフリップフロップ(ＦＦ０、ＦＦ１)と二つのダブルラッチ同期化に必要な二つずつのフリップフロップ(ＦＦ２、ＦＦ４とＦＦ５、ＦＦ７)が加わって総３段のパイプラインを経れば現在のデータ(ＤＡＴＡ)の同期化失敗が発生するか否かが分かる。従って、図８に示した同期化器２１０がセンダー２００に使用される場合、検出部２４０が第２クロック(ＲＣＬＫ)を基準として３サイクル(３周期)前に同期化失敗が発生するか否かを予測するように、センダー１００のクロック予測部１１０は予測クロック(ＳＣＬＫ＿Ｅ)を生成しなければならない。従って、クロック予測部の固定遅延素子１３０は３*Ｔｒほど遅延させることである。
【００７０】
図９は図８の同期化部２５０の変形例を示す回路図である。
【００７１】
図９を参照すると、同期化部２５１は同期化失敗が発生するか否かの結果によって、第２クロック(ＲＣＬＫ)と、第１クロック(ＳＣＬＫ)のセットアップタイム(Ｔｓｓ)とホールドタイム(Ｔｓｈ)とを加えた時間ほど第２クロック(ＲＣＬＫ)を遅延させた信号(ＲＣＬＫ＿ＤＥＬ２)のうち何れか一つを選択する選択部２５８と、選択された何れか一つの信号に応答してデータ(ＤＡＴＡ)をサンプリングする第１１フリップフロップ(ＦＦ１１)を含む。ここで選択部２５８はマックス(ＭＵＸ)で構成することができる。
【００７２】
本発明の属する技術分野における通常の知識を持つ者は、本発明がその技術的思想や必須的な特徴を変更せずに他の具体的な形態で実施できるということを理解できるであろう。よって、上述した実施例は全ての面において例示的なものであって限定的なものでないと理解しなければならない。本発明の範囲は、上記の詳細な説明よりは特許請求の範囲によって示され、特許請求の範囲、その均等概念から導出される全ての変更または変形された形態が本発明の範囲に含まれるものと解釈しなければならない。
【符号の説明】
【００７３】
１  同期化失敗検出回路
１０  同期化システム
２０  第１サンプリング部
３０  第２サンプリング部
４０  検出部
１００  センダー
２００  レシーバー
【図１】
2011030220.tif 000009
【図２】
2011030220.tif 000010
【図３】
2011030220.tif 000011
【図４】
2011030220.tif 000012
【図５】
2011030220.tif 000013
【図６】
2011030220.tif 000014
【図７】
2011030220.tif 000015
【図８】
2011030220.tif 000016
【図９】
2011030220.tif 000017