(57)【特許請求の範囲】
【請求項１】
第１周波数の第１クロック信号と同期する第１クロックドメインからのデータを受け、第２周波数の第２クロック信号と同期する第２クロックドメインへ受け渡すシンクロナイザであって、
その入力端子に第１クロックドメインのデータを受け、そのクロック端子に前記第１クロック信号を受ける第１フリップフロップと、
前記第１フリップフロップの出力データを反転する第１インバータと、
その入力端子に前記第１フリップフロップの出力データを受け、そのクロック端子に前記第２クロック信号を受け、その反転セット端子に前記第１インバータの出力を受ける第２フリップフロップと、
その入力端子に前記第２フリップフロップの出力データを受け、そのクロック端子に前記第２クロック信号を受ける第３フリップフロップと、
を備えることを特徴とするシンクロナイザ。
【請求項２】
前記第１フリップフロップから前記第３フリップフロップそれぞれの反転リセット端子には、リセット信号が入力されることを特徴とする請求項１に記載のシンクロナイザ。
【請求項３】
第１周波数の第１クロック信号と同期する第１クロックドメインからのデータを受け、第２周波数の第２クロック信号と同期する第２クロックドメインへ受け渡すシンクロナイザであって、
その入力端子に第１クロックドメインのデータを受け、そのクロック端子に前記第１クロック信号を受ける第４フリップフロップと、
前記第４フリップフロップの出力データを反転する第２インバータと、
その入力端子に前記第２インバータの出力データを受け、そのクロック端子に前記第２クロック信号を受け、その反転リセット端子に前記第２インバータの出力を受ける第５フリップフロップと、
その入力端子に前記第５フリップフロップの出力データを受け、そのクロック端子に前記第２クロック信号を受ける第６フリップフロップと、
を備えることを特徴とするシンクロナイザ。
【請求項４】
前記第５フリップフロップおよび前記第６フリップフロップそれぞれの反転セット端子には、セット信号が入力されることを特徴とする請求項３に記載のシンクロナイザ。
【請求項５】
前記第５フリップフロップの前記反転リセット端子には、前記第２インバータの出力に代えて、スキャンテスト用論理信号が入力可能に構成されることを特徴とする請求項３または４に記載のシンクロナイザ。
【請求項６】
前記第２インバータの出力と前記スキャンテスト用論理信号を受け、一方を選択して前記第５フリップフロップの前記反転リセット端子に出力するセレクタをさらに備えることを特徴とする請求項５に記載のシンクロナイザ。
【請求項７】
シリアルデータを受信するインタフェース回路と、
クロック信号を生成するクロック発生回路と、
前記インタフェース回路の出力データを受け、前記クロック信号と同期して出力する請求項１から６のいずれかに記載のシンクロナイザと、
前記シンクロナイザの出力データを処理する信号処理回路と、
を備えることを特徴とする半導体装置。
【請求項８】
第１クロック信号を生成する第１クロック発生回路と、
第２クロック信号を生成する第２クロック発生回路と、
前記第１クロック信号と同期して動作する第１信号処理回路と、
前記第２クロック信号と同期して動作する第２信号処理回路と、
前記第１信号処理回路からのデータを受け、前記第２信号処理回路に受け渡す請求項１から６のいずれかに記載の第１のシンクロナイザと、
前記第２信号処理回路からのデータを受け、前記第１信号処理回路に受け渡す請求項１から６のいずれかに記載の第２のシンクロナイザと、
を備えることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号処理に関し、より具体的には、異なるクロックドメイン間でのデータの送受信に関する。
【背景技術】
【０００２】
周波数が異なる、あるいは同一の周波数で動作する２つのクロックドメインの間で、データを送受信する際に、メタステーブル状態を回避する目的でシンクロナイザが使用される。シンクロナイザは、クロック乗せ換え回路とも称される。
【０００３】
図１は、従来のシンクロナイザの回路図である。このシンクロナイザ２００ｒは、低い周波数ｆｏのクロック信号ＣＬＫｏと同期動作する第１クロックドメインから、高い周波数ｆｄのクロック信号ＣＬＫｄと同期動作する第２クロックドメインへのデータ伝送に使用される。シンクロナイザ２００ｒは、直列に接続された複数のフリップフロップＦＦ２１〜ＦＦ２３を含む。
【０００４】
初段のフリップフロップＦＦ２１のクロック端子には、クロック信号ＣＬＫｏが入力される。２段目および３段目のフリップフロップＦＦ２２，ＦＦ２３のクロック端子には、クロック信号ＣＬＫｄが入力される。
【０００５】
図２は、図１のシンクロナイザ２００ｒの動作波形図である。フリップフロップＦＦ２１の出力データＤＡＴＡは、フリップフロップＦＦ２２によって、クロック信号ＣＬＫｄのエッジで取り込まれる。フリップフロップＦ１２の出力ＤＡＴＡ＿Ｓｙｎｃ１はメタステーブル状態となりうる。このデータＤＡＴＡ＿Ｓｙｎｃ１を、次段のフリップフロップＦＦ２２に取り込むことにより、メタステーブル状態が除去されたデータＤＡＴＡ＿Ｓｙｎｃ２が生成される。
【０００６】
図１のシンクロナイザ２００ｒは、ｆｏ＜ｆｄの場合には、クロックの乗せ換えが可能であるが、ｆｏ＞ｆｄの場合にはうまく動作しない。
【０００７】
図３は、従来のシンクロナイザの回路図である。このシンクロナイザ３００ｒは、高い周波数ｆｏのクロック信号ＣＬＫｏと同期動作する第１クロックドメインから、低い周波数ｆｄのクロック信号ＣＬＫｄと同期動作する第２クロックドメインへのデータ伝送に使用される。
【０００８】
シンクロナイザ３００ｒは、図１のシンクロナイザ２００ｒと同様に、直列に接続された複数のフリップフロップＦＦ２１〜ＦＦ２３を含む。さらにシンクロナイザ３００ｒは、フリップフロップＦＦ２１の前段に設けられたパルス伸張回路３１０を備える。パルス伸張回路３１０は、クロック信号ＣＬＫｏと同期して動作する。フリップフロップＦＦ３１，ＦＦ３２は直列に接続される。ＯＲゲートＯＲ１は、フリップフロップＦＦ２の出力と、フリップフロップＦ２１の出力の論理和（ＯＲ）を生成する。ＯＲゲートＯＲ１の出力ＤＡＴＡ２は、シンクロナイザ２００ｒに入力される。
【０００９】
図４は、図３のシンクロナイザ３００ｒの動作波形図である。ＯＲゲートＯＲ１の出力ＤＡＴＡ２は、元の入力データＤＡＴＡのパルス幅を、クロック信号ＣＬＫｏの２サイクル分に伸張したデータとなる。ＯＲゲートＯＲ１の出力ＤＡＴＡ２は、フリップフロップＦＦ２１〜ＦＦ２３を経由することで、メタステーブル状態が取り除かれる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１０−１３５９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
このように従来では、２つのクロックドメインの周波数ｆｏ、ｆｄの大小関係に応じて、図１または図３のシンクロナイザ２００ｒ、３００ｒを選択する必要があった。特に図３のシンクロナイザ３００ｒは、必要なフリップフロップの個数が多いため、チップ面積が増加し、コストが高くなるという問題があった。
【００１２】
図３のシンクロナイザ３００ｒにおいてクロック信号ＣＬＫoとＣＬＫｄの周波数の比がさらに大きい場合には、パルス幅をさらに伸張する必要があり、したがってパルス伸張回路３１０のフリップフロップの段数をさらに増やす必要があり、チップ面積はより大きくなる。
【００１３】
本発明は係る課題に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、少ない素子数で、周波数が高いクロックドメインから低いドメインへのデータ伝送と、周波数が低いクロックドメインから高いドメインへのデータ伝送に対応可能なシンクロナイザの提供にある。
【課題を解決するための手段】
【００１４】
本発明のある態様は、第１周波数ｆｏの第１クロック信号と同期する第１クロックドメインからのデータを受け、第２周波数ｆｄの第２クロック信号と同期する第２クロックドメインへ受け渡すシンクロナイザに関する。シンクロナイザは、その入力端子に第１クロックドメインのデータを受け、そのクロック端子に第１クロック信号を受ける第１フリップフロップと、第１フリップフロップの出力データを反転する第１インバータと、その入力端子に第１フリップフロップの出力データを受け、そのクロック端子に第２クロック信号を受け、その反転セット端子に第１インバータの出力を受ける第２フリップフロップと、その入力端子に第２フリップフロップの出力データを受け、そのクロック端子に第２クロック信号を受ける第３フリップフロップと、を備える。
【００１５】
この態様によると、ｆｏ＞ｆｄ、ｆｏ＜ｆｄいずれの場合も、クロックの乗せ換えを行なうことができる。またｆｏとｆｄの比率にかかわらず、回路規模は小さくてすむ。
【００１６】
第１フリップフロップから第３フリップフロップそれぞれの反転リセット端子には、リセット信号が入力されてもよい。
【００１７】
本発明の別の態様もまた、シンクロナイザである。このシンクロナイザは、その入力端子に第１クロックドメインのデータを受け、そのクロック端子に第１クロック信号を受ける第４フリップフロップと、第４フリップフロップの出力データを反転する第２インバータと、その入力端子に第２インバータの出力データを受け、そのクロック端子に第２クロック信号を受け、その反転リセット端子に第２インバータの出力を受ける第５フリップフロップと、その入力端子に第５フリップフロップの出力データを受け、そのクロック端子に第２クロック信号を受ける第６フリップフロップと、を備える。
【００１８】
この態様によっても、ｆｏ＞ｆｄ、ｆｏ＜ｆｄいずれの場合も、クロックの乗せ換えを行なうことができる。またｆｏとｆｄの比率にかかわらず、回路規模は小さくてすむ。
【００１９】
第５フリップフロップおよび第６フリップフロップそれぞれの反転セット端子には、セット信号が入力されてもよい。
【００２０】
第５フリップフロップの反転リセット端子には、第２インバータの出力に代えて、スキャンテスト用論理信号が入力可能に構成されてもよい。
これにより、スキャンテストが可能となる。
【００２１】
ある態様においてシンクロナイザは、第２インバータの出力とスキャンテスト用論理信号を受け、一方を選択して第５フリップフロップの反転リセット端子に出力するセレクタをさらに備えてもよい。
【００２２】
本発明の別の態様は、半導体装置に関する。半導体装置は、シリアルデータを受信するインタフェース回路と、クロック信号を生成するクロック発生回路と、インタフェース回路の出力データを受け、クロック信号と同期して出力する上述のいずれかのシンクロナイザと、シンクロナイザの出力データを処理する信号処理回路と、を備える。
【００２３】
本発明の別の態様も、半導体装置に関する。半導体装置は、第１クロック信号を生成する第１クロック発生回路と、第２クロック信号を生成する第２クロック発生回路と、第１クロック信号と同期して動作する第１信号処理回路と、第２クロック信号と同期して動作する第２信号処理回路と、第１信号処理回路からのデータを受け、第２信号処理回路に受け渡す上述のいずれかの第１のシンクロナイザと、第２信号処理回路からのデータを受け、第１信号処理回路に受け渡す上述のいずれかの第２のシンクロナイザと、を備える。
【００２４】
なお、以上の構成要素の任意の組み合わせや本発明の構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２５】
本発明のシンクロナイザによれば、少ない素子数で、周波数が高いクロックドメインから低いドメインへのデータ伝送と、周波数が低いクロックドメインから高いドメインへのデータ伝送に対応できる。
【図面の簡単な説明】
【００２６】
【図１】従来のシンクロナイザの回路図である。
【図２】図１のシンクロナイザの動作波形図である。
【図３】従来のシンクロナイザの回路図である。
【図４】図３のシンクロナイザの動作波形図である。
【図５】第１の実施の形態に係るシンクロナイザの回路図である。
【図６】図５のシンクロナイザの動作波形図である。
【図７】図５のシンクロナイザの動作波形図である。
【図８】第２の実施の形態に係るシンクロナイザの回路図である。
【図９】第１の半導体装置のブロック図である。
【図１０】第２の半導体装置のブロック図である。
【発明を実施するための形態】
【００２７】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００２８】
本明細書において、「部材Ａが、部材Ｂと接続された状態」とは、部材Ａと部材Ｂが物理的に直接的に接続される場合のほか、部材Ａと部材Ｂが、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
同様に、「部材Ｃが、部材Ａと部材Ｂの間に設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、電気的な接続状態に影響を及ぼさない他の部材を介して間接的に接続される場合も含む。
【００２９】
（第１の実施の形態）
図５は、第１の実施の形態に係るシンクロナイザ１００の回路図である。シンクロナイザ１００は、第１フリップフロップＦＦ１１〜第３フリップフロップＦＦ１３、第１インバータ１０２を備える。
シンクロナイザ１００は、第１周波数ｆｏの第１クロック信号ＣＬＫｏと同期する第１クロックドメインからのデータＤ１を受け、第２周波数ｆｄの第２クロック信号ＣＬＫｄと同期する第２クロックドメインへ受け渡す。
【００３０】
第１フリップフロップＦＦ１１は、その入力端子Ｄに第１クロックドメインのデータＤ１を受け、そのクロック端子に第１クロック信号ＣＬＫｏを受ける。第１インバータ１０２は、第１フリップフロップＦＦ１１の出力データＤＡＴＡを反転する。第２フリップフロップＦＦ１２は、その入力端子に第１フリップフロップＦＦ１１の出力データＤＡＴＡを受け、そのクロック端子に第２クロック信号ＣＬＫｄを受け、その反転セット端子ＳＮに第１インバータ１０２の出力ＤＡＴＡ＿Ｓｅｔを受ける。第３フリップフロップＦＦ１３は、その入力端子に第２フリップフロップＦＦ１２の出力データＤＡＴＡ＿Ｓｙｎｃ１を受け、そのクロック端子に第２クロック信号ＣＬＫｄを受ける。第１フリップフロップＦＦ１１から第３フリップフロップＦＦ１３それぞれの反転リセット端子には、リセット信号ＸＲＳＴが入力される。
【００３１】
以上がシンクロナイザ１００の構成である。続いて動作を説明する。図６、図７は、図５のシンクロナイザ１００の動作波形図である。
【００３２】
図６を参照し、ｆｏ＜ｆｄの動作を説明する。第１フリップフロップＦＦ１１の出力ＤＡＴＡの変化タイミングは、第２クロック信号ＣＬＫｄのエッジと重なっており、したがって第２フリップフロップＦＦ１２の出力ＤＡＴＡ＿Ｓｙｎｃ１はメタステーブル状態となっている。
【００３３】
第１フリップフロップＦＦ１１の出力ＤＡＴＡがハイレベルに遷移すると、第１インバータ１０２により反転され、第２フリップフロップＦＦ１２のセット端子ＳＮ（反転論理）にローレベルの信号ＤＡＴＡ＿Ｓｅｔが入力される。セット端子には、第２クロック信号ＣＬＫｄの複数サイクルにまたがってローレベルが入力され、その間、第２フリップフロップＦＦ１２の出力ＤＡＴＡ＿Ｓｙｎｃ１は、ハイレベル（１）に固定される。このデータＤＡＴＡ＿Ｓｙｎｃ１が第３フリップフロップＦＦ１３を経由することにより、メタステーブル状態が除去されたデータＤＡＴＡ＿Ｓｙｎｃ２が生成される。
【００３４】
図７を参照し、ｆｏ＞ｆｄの動作を説明する。この場合、第２フリップフロップＦＦ１２のセット端子（反転論理）は無視してよい。第１フリップフロップＦＦ１１の出力ＤＡＴＡの変化タイミングは、第２クロック信号ＣＬＫｄのエッジと重なっており、したがって第２フリップフロップＦＦ１２の出力ＤＡＴＡ＿Ｓｙｎｃ１はメタステーブル状態となっている。このデータＤＡＴＡ＿Ｓｙｎｃ１が第３フリップフロップＦＦ１３を経由することにより、メタステーブル状態が除去されたデータＤＡＴＡ＿Ｓｙｎｃ２が生成される。
【００３５】
以上がシンクロナイザ１００の動作である。このシンクロナイザ１００によれば、ｆｏ＞ｆｄ、ｆｏ＜ｆｄいずれの場合も、クロックの乗せ換えを行なうことができる。また図３のシンクロナイザ３００ｒに比べて、２つのクロック信号の周波数ｆｏとｆｄの比率にかかわらず、回路規模は小さくてすむため、チップ面積およびコストを低減できる。
【００３６】
（第２の実施の形態）
図８は、第２の実施の形態に係るシンクロナイザ１００ａの回路図である。シンクロナイザ１００ａは、第４フリップフロップＦＦ１４〜第６フリップフロップＦＦ１６、第２インバータ１０４、セレクタ１０６を備える。
【００３７】
シンクロナイザ１００ａは、図５のシンクロナイザ１００と同様に、第１周波数ｆｏの第１クロック信号ＣＬＫｏと同期する第１クロックドメインからのデータを受け、第２周波数ｆｄの第２クロック信号ＣＬＫｄと同期する第２クロックドメインへ受け渡す。
【００３８】
第４フリップフロップＦＦ１４は、その入力端子に第１クロックドメインのデータを受け、そのクロック端子に第１クロック信号ＣＬＫｏを受ける。第２インバータ１０４は、第４フリップフロップＦＦ１４の出力データＤＡＴＡを反転する。第５フリップフロップＦＦ１５は、その入力端子に第２インバータ１０４の出力データＸＤＡＴＡを受け、そのクロック端子に第２クロック信号ＣＬＫｄを受ける。また第５フリップフロップＦＦ１５は、その反転リセット端子ＲＮにセレクタ１０６を経由して第２インバータ１０４の出力ＸＤＡＴＡを受ける。第６フリップフロップＦＦ１６は、その入力端子に第５フリップフロップＦＦ１５の出力データＤＡＴＡ＿Ｓｙｎｃ１を受け、そのクロック端子に第２クロック信号ＣＬＫｄを受ける。第５フリップフロップＦＦ１５および第６フリップフロップＦＦ１６それぞれの反転セット端子ＳＮ（反転論理）には、セット信号ＸＳＥＴが入力される。
【００３９】
また第５フリップフロップＦＦ１５の反転リセット端子ＲＮには、第２インバータ１０４の出力ＸＤＡＴＡに代えて、スキャンテスト用論理信号ＳＣＮが入力可能に構成される。具体的には、セレクタ１０６は、第２インバータ１０４の出力ＸＤＡＴＡとスキャンテスト用論理信号ＳＣＮを受け、制御信号ＣＮＴに応じて一方を選択し、第５フリップフロップＦＦ１５の反転リセット端子ＲＮに出力する。
【００４０】
以上がシンクロナイザ１００ａの構成である。このシンクロナイザ１００ａは、図５のシンクロナイザ１００を論理反転した構成と把握することができる。したがって動作波形は、ｆｏ＜ｆｄの場合には図６と同様に動作し、ｆｏ＞ｆｄの場合には図７と同様に動作する。
【００４１】
このシンクロナイザ１００ａによれば、図５のシンクロナイザ１００と同様の効果を得ることができる。
【００４２】
また、第５フリップフロップＦＦ１５の反転リセット端子ＲＮに、セレクタ１０６を介してスキャンテスト用論理信号ＳＣＮを入力可能とした。これによりスキャンテストが可能となる。
【００４３】
続いてシンクロナイザの用途を説明する。
図９は、第１の半導体装置５００のブロック図である。半導体装置５００は、シリアルインタフェース回路５０２、クロック発生回路５０４、シンクロナイザ５０６、信号処理回路５０８を備える。
【００４４】
シリアルインタフェース回路５０２は、たとえばＩ２Ｃ（Inter IC ）バスを介して、他の半導体装置（不図示）と接続され、シリアルデータＳＤＡおよびクロックＳＣＬを受ける。
【００４５】
クロック発生回路５０４は、たとえばＰＬＬ回路であり、クロック信号ＣＬＫを生成する。シンクロナイザ５０６は、シリアルインタフェース回路５０２の出力データＤ１を受け、クロック信号ＣＬＫと同期して出力する。シンクロナイザ５０６は、図５あるいは図８のシンクロナイザ１００に相当する。信号処理回路５０８は、シンクロナイザ１００の出力データＤ２を処理する。信号処理の内容は特に限定されない。
【００４６】
図１０は、第２の半導体装置６００のブロック図である。半導体装置６００は、第１クロック発生回路６０２、第２クロック発生回路６０４、第１信号処理回路６０６、第２信号処理回路６０８、第１シンクロナイザ６１０、第２シンクロナイザ６１２を備える。
【００４７】
第１クロック発生回路６０２は、第１クロック信号ＣＬＫ１を生成し、第２クロック発生回路６０４は、第２クロック信号ＣＬＫ２を生成する。第１信号処理回路６０６は、第１クロック信号ＣＬＫ１と同期して動作する。第２信号処理回路６０８は、第２クロック信号ＣＬＫ２と同期して動作する。第１シンクロナイザ６１０は、第１信号処理回路６０６からのデータＤ３を受け、第２クロック信号ＣＬＫ２に乗せ変えたデータＤ４を第２信号処理回路６０８に受け渡す。第２シンクロナイザ６１２は、第２信号処理回路６０８からのデータＤ５を受け、第１クロック信号ＣＬＫ１に乗せ変えたデータＤ６を第１信号処理回路６０６に受け渡す。第１シンクロナイザ６１０および第２シンクロナイザ６１２は、図５あるいは図８のシンクロナイザ１００に相当する。
【００４８】
たとえば半導体装置６００は送受信機であり、第１信号処理回路６０６は、送信ＴＸに関連した処理を、第２信号処理回路６０８は受信ＲＸに関連した処理を行なってもよい。
【００４９】
実施の形態にもとづき、具体的な語句を用いて本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【００５０】
１００…シンクロナイザ、１０２…第１インバータ、ＦＦ１１…第１フリップフロップ、ＦＦ１２…第２フリップフロップ、ＦＦ１３…第３フリップフロップ、ＦＦ１４…第４フリップフロップ、ＦＦ１５…第５フリップフロップ、ＦＦ１６…第６フリップフロップ、１０４…第２インバータ、１０６…セレクタ、ｆｏ…第１周波数、ｆｄ…第２周波数、ＣＬＫｏ…第１クロック信号、ＣＬＫｄ…第２クロック信号、５００…半導体装置、５０２…シリアルインタフェース回路、５０４…クロック発生回路、５０６…シンクロナイザ、５０８…信号処理回路、６００…半導体装置、６０２…第１クロック発生回路、６０４…第２クロック発生回路、６０６…第１信号処理回路、６０８…第２信号処理回路、６１０…第１シンクロナイザ、６１２…第２シンクロナイザ。
【図１】
0006410594.tif 000002
【図２】
0006410594.tif 000003
【図３】
0006410594.tif 000004
【図４】
0006410594.tif 000005
【図５】
0006410594.tif 000006
【図６】
0006410594.tif 000007
【図７】
0006410594.tif 000008
【図８】
0006410594.tif 000009
【図９】
0006410594.tif 000010
【図１０】
0006410594.tif 000011