(57)【要約】【課題】前段のデータ保持回路から後段のデータ保持回路へデータを効率よく受け渡す。【解決手段】基準クロックの変化に応じて入力データを保持するとともに出力する第１データ保持回路と、基準クロックを所定分周した分周クロックの変化に応じて、第１データ保持回路からの出力データを保持するとともに出力する第２データ保持回路との間のデータの受け渡しに用いるデータ受渡回路であって、基準クロックと分周クロックが一方から他方のレベルへ同時変化するタイミングを含む、分周クロックの１周期より短い期間、何れか一方のレベルとなる同期信号を発生する同期信号発生部と、基準クロックが一方から他方のレベルへ変化するタイミングで、同期信号が何れか一方のレベルとなっている場合、分周クロックが基準クロックとともに一方から他方のレベルへ変化したものと判別する判別部と、を備え、判別部の判別結果に基づいて、データの受け渡しが行われる。【選択図】    図１
2006004352.tif 000002
【特許請求の範囲】
【請求項１】
基準クロックの変化に応じて入力データを保持するとともに出力する第１データ保持回路と、前記基準クロックを所定分周した分周クロックの変化に応じて、前記第１データ保持回路からの出力データを保持するとともに出力する第２データ保持回路との間の、データの受け渡しに用いるデータ受渡回路であって、
前記基準クロックと前記分周クロックが一方のレベルから他方のレベルへ同時変化するタイミングを含む、前記分周クロックの１周期より短い期間、何れか一方のレベルとなる同期信号を発生する同期信号発生部と、
前記基準クロックが前記一方のレベルから前記他方のレベルへ変化するタイミングで、前記同期信号が前記何れか一方のレベルとなっている場合、前記分周クロックが前記基準クロックとともに前記一方のレベルから前記他方のレベルへ変化したものと判別する判別部と、を備え、
前記判別部の判別結果に基づいて、前記第１データ保持回路から前記第２データ保持回路へのデータの受け渡しが行われること、を特徴とするデータ受渡回路。
【請求項２】
前記分周クロックは、前記第２データ保持回路に切り替えられて供給される、分周数が異なる第１分周クロックおよび第２分周クロックであり、
前記同期信号発生部は、
前記基準クロックと前記第１分周クロックが前記一方のレベルから前記他方のレベルへ同時変化するタイミングを含む、前記第１分周クロックの１周期より短い期間、何れか一方のレベルとなる第１同期信号を発生し、
前記基準クロックと前記第２分周クロックが前記一方のレベルから前記他方のレベルへ同時変化するタイミングを含む、前記第２分周クロックの１周期より短い期間、何れか一方のレベルとなる第２同期信号を発生し、
前記判別部は、
前記基準クロックが前記一方のレベルから前記他方のレベルへ変化するタイミングで、前記第１同期信号が前記何れか一方のレベルとなっている場合、前記第１分周クロックが前記基準クロックとともに前記一方のレベルから前記他方のレベルへ変化したものと判別し、
前記基準クロックが前記一方のレベルから前記他方のレベルへ変化するタイミングで、前記第２同期信号が前記何れか一方のレベルとなっている場合、前記第２分周クロックが前記基準クロックとともに前記一方のレベルから前記他方のレベルへ変化したものと判別する、
ことを特徴とする請求項１に記載のデータ受渡回路。
【請求項３】
前記第２データ保持回路に供給されるクロックを、前記第１分周クロックおよび前記第２分周クロックの一方から他方へ切り替えるためのクロック切替信号が発生した場合、前記第１分周クロックおよび前記第２分周クロックを切り替えて前記第２データ保持回路に供給するクロック切替部、
を備えたことを特徴とする請求項２に記載のデータ受渡回路。
【請求項４】
前記クロック切替信号が発生した場合、前記第１分周クロックおよび前記第２分周クロックを一定期間マスクするクロックマスク部、を備え、
前記クロック切替部は、前記一定期間内において、前記第１分周クロックおよび前記第２分周クロックを切り替えて前記第２データ保持回路に供給すること、を特徴とする請求項３に記載のデータ受渡回路。
【請求項５】
前記第１同期信号および前記第２同期信号を前記一定期間マスクする同期信号マスク部、を備えたことを特徴とする請求項４に記載のデータ受渡回路。
【請求項６】
前記クロック切替信号が発生した場合、前記一定期間内において、前記同期信号マスク部から出力される前記第１同期信号および前記第２同期信号を切替出力する同期信号切換部、を備えたことを特徴とする請求項５に記載のデータ受渡回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、前段のデータ保持回路から後段のデータ保持回路へデータを効率よく受け渡すためのデータ受渡回路に関する。
【背景技術】
【０００２】
クロックに同期して所定のデータ処理を実行するデータ処理回路（例えばマイクロコンピュータ）には、高速クロックに従ってデータ処理を実行するデータ高速処理部や、低速クロックに従ってデータ処理を実行するデータ低速処理部を有するものがある。このようなデータ高速処理部とデータ低速処理部を有する回路では、データ高速処理部からデータ低速処理部へデータを受け渡す場合がある。図４にその一例のブロック図を示す。
【０００３】
図４において、Ｄ型フリップフロップ２（「第１データ保持回路」であり、以下ＤＦＦ２と称する）とＤ型フリップフロップ４（「第２データ保持回路」であり、以下ＤＦＦ４と称する）とは、前段のＤＦＦ２から後段のＤＦＦ４へデータを受け渡すためにカスケード接続されている。ＤＦＦ２のＤ（データ）端子には、データ高速処理部から得られるデータが入力される。ＤＦＦ２のＣ（クロック）端子には、高速クロック（基準クロック）が入力される。ＤＦＦ２は、高速クロックの例えば立ち上がりの変化で、入力データを取り込んで保持するとともに、Ｑ（出力）端子から出力する。ＤＦＦ２のＱ端子からの出力データは、後段のＤＦＦ４のＤ端子に入力される。ＤＦＦ４のＣ端子には低速クロックが入力される。尚、低速クロックは、高速クロックを所定分周したものである。ＤＦＦ４は、低速クロックの例えば立ち上がりの変化で、ＤＦＦ２の出力データを取り込んで保持するとともに、Ｑ（出力）端子から出力する。これにより、ＤＦＦ２からＤＦＦ４へのデータの受け渡しが行われたこととなる。
【０００４】
ここで、低速クロックは、高速クロックを所定分周して得られるものである。つまり、データ低速処理部からすれば、低速クロックは高速クロックに同期していることを判別することが可能である。一方、高速クロックで動作するデータ高速処理部では、当該高速クロックがデータ低速処理部において低速クロックを発生させるために分周されていることを判別することができない。よって、データの受け渡しを行う後段のＤＦＦ４を有するデータ低速処理部側では、高速クロックと低速クロックが同期していることを判別できるものの、データの受け渡しを行う前段のＤＦＦ２を有するデータ高速処理部側では、高速クロックと低速クロックが同期していることを判別できず、すなわち一方側のみでの同期判別しかできない。そこで、データ高速処理部とデータ低速処理部との間でデータの受け渡しを行うシステムにおいては、高速クロックと低速クロックを各々非同期として扱わざるを得なかった。
【特許文献１】特開２００４−７２５１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、高速クロックと低速クロックを非同期で扱うことから、図４においては、ＤＦＦ４が低速クロックの立ち上がりで確実にＤＦＦ２からの出力データを取り込むことができるように、ＤＦＦ２は低速クロックの１周期と同一期間、同一データを継続して出力しなければならなかった。低速クロックの１周期は、高速クロックの分周数倍の周期であるため、ＤＦＦ２は、高速クロックの前記分周数倍の周期だけ同一の入力データを取り込む必要がある。これにより、データ高速処理部におけるデータ処理効率が低下し、更には、ＤＦＦ２からＤＦＦ４へのデータを受け渡す効率も低下する問題があった。
【０００６】
この問題は、低速クロックとして複数の分周クロックを用意し、データ低速処理部の処理モードに応じて低速クロックを切り替える場合に顕著となる。以下、図５および図６を用いて、この問題を明確にする。
【０００７】
図５は、図４のＤＦＦ４に対して、分周数が異なる分周クロックを切り替えて供給するためのクロック供給回路を示すブロック図である。また、図６は、図５の動作波形を示すタイムチャートである。尚、図５は、図４の構成を有するデータ受渡回路に用いるものである。
【０００８】
図５において、ＣＬＫ０（基準クロック）は図４のＤＦＦ２に使用するクロックであり、ＣＬＫ１（分周クロック）、ＣＬＫ２（分周クロック）は図４のＤＦＦ４で切り替えて使用するクロックである。尚、ＣＬＫ０は、例えば、データ処理回路で使用する自励または他励の発振回路から得られる源クロック（システムクロック）であることとする。１／２分周回路１０２は、ＣＬＫ０を１／２分周したＣＬＫ１を出力する。１／４分周回路１０４は、ＣＬＫ０を１／４分周したＣＬＫ２を出力する。
【０００９】
クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２は、ＤＦＦ４のＣ端子に入力されるクロックとして、それぞれＣＬＫ０、ＣＬＫ１、ＣＬＫ２を選択することを指示する信号である（但し、本説明においてＤＦＦ４にはＣＬＫ０は直接使用しない）。クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２は、それぞれＣＬＫ０、ＣＬＫ１、ＣＬＫ２を選択するときに、例えば“Ｌ”（ローレベル）から“Ｈ”（ハイレベル）に変化することとする。このクロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２は、データ処理回路の外部から供給されてもよいし、データ処理回路の内部で発生してもよい。例えば、ＤＦＦ４のＣ端子に入力されるクロックをＣＬＫ１からＣＬＫ２へ切り替える場合、クロック切替信号ＳＥＬ０は“Ｌ”のままで、クロック切替信号ＳＥＬ１が“Ｈ”から“Ｌ”へ立ち下がるとともに、クロック切替信号ＳＥＬ２が“Ｌ”から“Ｈ”へ立ち上がる。
【００１０】
クロック切替要求検出回路１０６は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２が入力され、各クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２のレベル変化を検出する。例えば、クロック切替信号ＳＥＬ１が“Ｈ”から“Ｌ”へ立ち下がるとともに、クロック切替信号ＳＥＬ２が“Ｌ”から“Ｈ”へ立ち上がった場合、ＤＦＦ４のＣ端子に入力すべきクロックを、ＣＬＫ１からＣＬＫ２へ切り替える要求があったことを示すクロック切替検出信号ＳＥＬＤＥＴを出力する。また、クロック切替要求検出回路１０６は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２の何れかが変化したタイミングで、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２の何れかを一定期間マスクするための契機となるトリガ信号を出力する。
【００１１】
切替タイミング検出回路１０８は、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２とトリガ信号が入力され、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２の何れかを一定期間マスクする開始タイミングを検出し、タイミング検出信号ＣＨＡＮＧＥを出力するものである。
【００１２】
マスク信号生成回路１１０は、切替タイミング検出回路１０８からのタイミング検出信号が入力され、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２の何れかを一定期間マスクすることを指示するマスク指示信号ＭＡＳＫを生成し、出力するものである。
【００１３】
マスク回路１１２は、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２、クロック切替検出信号ＳＥＬＤＥＴ、およびマスク指示信号ＭＡＳＫが入力される。マスク回路１１２は、クロック切替検出信号ＳＥＬＤＥＴが入力されることによって、ＤＦＦ４のＣ端子に入力されるクロックとして、切替前に入力されているクロックと、切替後に入力されるべきクロックとを特定する。更に、マスク回路１１２は、特定された切替前および切替後のクロックに対して、マスク指示信号ＭＡＳＫが入力されたタイミングからＣＬＫ０の例えば４周期だけマスクを行う。こうして、マスク回路１１２からはＣＬＫ０、ＣＬＫ１、ＣＬＫ２に対してマスク処理が施されたＣＬＫ０ＭＡＳＫ、ＣＬＫ１ＭＡＳＫ、ＣＬＫ２ＭＡＳＫが出力される。クロックセレクタ１１４は、マスク回路１１２からのＣＬＫ０ＭＡＳＫ、ＣＬＫ１ＭＡＳＫ、ＣＬＫ２ＭＡＳＫと、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２と、切替タイミング検出回路１０８からのタイミング検出信号とが入力される。クロックセレクタ１１４は、切替タイミング検出回路１０８からのタイミング検出信号が入力されたタイミングから、即ちマスク指示信号ＭＡＳＫが発生したタイミングから、ＣＬＫ０ＭＡＳＫの２周期（マスクする一定期間の半分の期間）をカウントする。また、クロックセレクタ１１４は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２が入力されることによって、切替前および切替後のクロックを特定する。つまり、クロックセレクタ１１４は、ＣＬＫ０ＭＡＳＫの２周期をカウントするまでは切替前のクロックを出力し、ＣＬＫ０ＭＡＳＫの２周期をカウントした時点からは切替後のクロックを出力する。
【００１４】
以下、図６のタイムチャートを用いて、図５の一動作例を説明しつつ、問題となるところを説明する。
【００１５】
先ず、時刻Ｔ０において、クロック切替信号ＳＥＬ１が“Ｈ”から“Ｌ”へ立ち下がるとともに、クロック切替信号ＳＥＬ２が“Ｌ”から“Ｈ”へ立ち上がった場合、即ち、ＤＦＦ４のＣ端子に入力される低速クロックを、ＣＬＫ１からＣＬＫ２へ切り替える要求が発生した場合を考える。この場合、切替タイミング検出回路１０８では、クロック切替要求検出回路１０６からのトリガ信号が入力されることによって、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２が“Ｌ”から“Ｈ”へ同時に立ち上がる最も早いタイミングを検出する。このタイミングは時刻Ｔ１であるため、切替タイミング検出回路１０８は、時刻Ｔ１において、タイミング検出信号を出力する。マスク信号生成回路１１０は、このタイミング切替信号が入力されたタイミングからＣＬＫ０が４周期経過するタイミング（時刻Ｔ２）まで“Ｈ”となるマスク指示信号ＭＡＳＫを出力する。
【００１６】
マスク回路１１２では、クロック切替検出信号ＳＥＬＤＥＴが入力されることから、ＤＦＦ４のＣ端子に入力されるクロックをＣＬＫ１からＣＬＫ２へ切り替えることは特定できている。そこで、マスク回路１１２は、ＣＬＫ０をそのままＣＬＫ０ＭＡＳＫとして出力し、ＣＬＫ１およびＣＬＫ２を時刻Ｔ１乃至Ｔ２の期間“Ｈ”に固定したＣＬＫ１ＭＡＳＫおよびＣＬＫ２ＭＡＳＫを出力する。
【００１７】
クロックセレクタ１１４は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２が入力されることによって、切替前および切替後のクロックを特定できている。そこで、クロックセレクタ１１４は、時刻Ｔ１からＣＬＫ０の２周期分を経過する時刻Ｔ３までは、ＣＬＫ１ＭＡＳＫを低速クロックとして切替出力し、時刻Ｔ３以降はＣＬＫ２ＭＡＳＫを低速クロックとして切替出力する。これにより、ＣＬＫ１ＭＡＳＫ、ＣＬＫ２ＭＡＳＫともに“Ｈ”に固定されている期間内でＣＬＫ１ＭＡＳＫおよびＣＬＫ２ＭＡＳＫが切り替えられるため、ＤＦＦ４はクロックの切り替えに起因して誤動作することはない。
【００１８】
しかしながら、先に述べたように、ＤＦＦ２からＤＦＦ４へのデータの受け渡しに際して、高速クロックと低速クロックを非同期として取り扱うため、ＤＦＦ２は低速クロックの１周期分のデータを継続して出力する必要がある。例えば、ＤＦＦ４がＣＬＫ１ＭＡＳＫで動作する場合、ＤＦＦ２はＣＬＫ０の２周期だけ同一データを出力する必要がある。更に、ＤＦＦ４がＣＬＫ２ＭＡＳＫで動作する場合には、ＤＦＦ２はＣＬＫ０の４周期にも亘って同一データを出力する必要がある。これでは、ＤＦＦ２を有するデータ高速処理部側におけるデータ処理効率が低下してしまう。
【００１９】
更に、時刻Ｔ０において、低速クロックをＣＬＫ１ＭＡＳＫからＣＬＫ２ＭＡＳＫへ切り替えることとなっているため、時刻Ｔ０以前においては、ＤＦＦ２は、ＣＬＫ１ＭＡＳＫの１周期だけデータＤ０（ＤＡＴＡ）を出力している。ところが、時刻Ｔ０以降では、データ高速処理部側からすれば、低速クロックがどのタイミングでＣＬＫ１ＭＡＳＫからＣＬＫ２ＭＡＳＫへ切り替わるかを判別できない。そこで、ＤＦＦ２は、マスク指示信号ＭＡＳＫが発生開始する時刻Ｔ１より前のタイミングから、ＤＦＦ４がＣＬＫ２ＭＡＳＫを用いて取り込むべきデータＤ１（ＤＡＴＡ）を継続して出力する必要がある。そして、このデータＤ１は、低速クロックをＣＬＫ１ＭＡＳＫからＣＬＫ２ＭＡＳＫへ切り替えた後の時刻Ｔ４においてＤＦＦ４に取り込まれ、ＤＦＦ４は図６に示すデータＤ０、Ｄ１（ＤＡＴＡ−ｌｏｗｓｐ）を出力する。
【００２０】
ここで、低速クロックを切り替える場合、ＣＬＫ１ＭＡＳＫおよびＣＬＫ２ＭＡＳＫのマスクされている一定期間（時刻Ｔ１乃至Ｔ２）を含む前後に亘って、ＤＦＦ２は同一データを出力し続けなければならないため、データ高速処理部からデータ低速処理部へのデータの受け渡しは、更に低下する問題があった。
【００２１】
そこで、本発明は、前段のデータ保持回路から後段のデータ保持回路へデータを効率よく受け渡すことができるデータ受渡回路を、提供することを目的とする。
【課題を解決するための手段】
【００２２】
前記課題を解決するための主たる発明は、基準クロックの変化に応じて入力データを保持するとともに出力する第１データ保持回路と、前記基準クロックを所定分周した分周クロックの変化に応じて、前記第１データ保持回路からの出力データを保持するとともに出力する第２データ保持回路との間の、データの受け渡しに用いるデータ受渡回路であって、前記基準クロックと前記分周クロックが一方のレベルから他方のレベルへ同時変化するタイミングを含む、前記分周クロックの１周期より短い期間、何れか一方のレベルとなる同期信号を発生する同期信号発生部と、前記基準クロックが前記一方のレベルから前記他方のレベルへ変化するタイミングで、前記同期信号が前記何れか一方のレベルとなっている場合、前記分周クロックが前記基準クロックとともに前記一方のレベルから前記他方のレベルへ変化したものと判別する判別部と、を備え、前記判別部の判別結果に基づいて、前記第１データ保持回路から前記第２データ保持回路へのデータの受け渡しが行われること、を特徴とする。
【発明の効果】
【００２３】
本発明によれば、前段のデータ保持回路から後段のデータ保持回路へデータを効率よく受け渡すことが可能となる。
【発明を実施するための最良の形態】
【００２４】
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
【００２５】
＝＝＝データ受渡回路の全体構成＝＝＝
図１、図２、および図３を参照しつつ、本発明のデータ受渡回路について説明する。図１は、本発明のデータ受渡回路を示すブロック図である。図２は、図１における同期信号生成回路の一例を示すブロック図である。図３は、図１及び図２の動作波形を示すタイムチャートである。尚、図１は、図４のＤＦＦ２、４間でのデータの受け渡しに使用するものである。
【００２６】
図１において、ＣＬＫ０（基準クロック）は図４のＤＦＦ２に使用するクロックであり、ＣＬＫ１（分周クロック）、ＣＬＫ２（分周クロック）は図４のＤＦＦ４で切り替えて使用するクロックである。尚、ＣＬＫ０は、例えば、データ処理回路で使用する自励または他励の発振回路から得られる源クロック（システムクロック）であることとする。１／２分周回路２０２は、ＣＬＫ０を１／２分周したＣＬＫ１を出力する。１／４分周回路２０４は、ＣＬＫ０を１／４分周したＣＬＫ２を出力する。
【００２７】
クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２は、ＤＦＦ４のＣ端子に入力されるクロックとして、それぞれＣＬＫ０、ＣＬＫ１、ＣＬＫ２を選択することを指示する信号である（但し、本説明においてＤＦＦ４にはＣＬＫ０は直接使用しない）。クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２は、それぞれＣＬＫ０、ＣＬＫ１、ＣＬＫ２を選択するときに、例えば“Ｌ”から“Ｈ”に変化することとする。このクロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２は、データ処理回路の外部から供給されてもよいし、データ処理回路の内部で発生してもよい。例えば、ＤＦＦ４のＣ端子に入力されるクロックをＣＬＫ１からＣＬＫ２へ切り替える場合、クロック切替信号ＳＥＬ０は“Ｌ”のままで、クロック切替信号ＳＥＬ１が“Ｈ”から“Ｌ”へ立ち下がるとともに、クロック切替信号ＳＥＬ２が“Ｌ”から“Ｈ”へ立ち上がる。
【００２８】
クロック切替要求検出回路２０６は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２が入力され、各クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２のレベル変化を検出する。例えば、クロック切替信号ＳＥＬ１が“Ｈ”から“Ｌ”へ立ち下がるとともに、クロック切替信号ＳＥＬ２が“Ｌ”から“Ｈ”へ立ち上がった場合、ＤＦＦ４のＣ端子に入力すべきクロックを、ＣＬＫ１からＣＬＫ２へ切り替える要求があったことを示すクロック切替検出信号ＳＥＬＤＥＴを出力する。また、クロック切替要求検出回路２０６は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２の何れかが変化したタイミングで、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２の何れかを一定期間マスクするための契機となるトリガ信号を出力する。
【００２９】
切替タイミング検出回路２０８は、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２とトリガ信号が入力され、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２の何れかを一定期間マスクする開始タイミングを検出し、タイミング検出信号ＣＨＡＮＧＥを出力するものである。
【００３０】
マスク信号生成回路２１０は、切替タイミング検出回路２０８からのタイミング検出信号が入力され、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２の何れかを一定期間マスクすることを指示するマスク指示信号ＭＡＳＫを生成し、出力するものである。
【００３１】
マスク回路２１２は、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２、クロック切替検出信号ＳＥＬＤＥＴ、およびマスク指示信号ＭＡＳＫが入力される。マスク回路２１２は、クロック切替検出信号ＳＥＬＤＥＴが入力されることによって、ＤＦＦ４のＣ端子に入力されるクロックとして、切替前に入力されているクロックと、切替後に入力されるべきクロックとを特定する。更に、マスク回路２１２は、特定された切替前および切替後のクロックに対して、マスク指示信号ＭＡＳＫが入力されたタイミングからＣＬＫ０の例えば４周期だけマスクを行う。こうして、マスク回路２１２からはＣＬＫ０、ＣＬＫ１、ＣＬＫ２に対してマスク処理が施されたＣＬＫ０ＭＡＳＫ、ＣＬＫ１ＭＡＳＫ、ＣＬＫ２ＭＡＳＫが出力される。クロックセレクタ２１４は、マスク回路２１２からのＣＬＫ０ＭＡＳＫ、ＣＬＫ１ＭＡＳＫ、ＣＬＫ２ＭＡＳＫと、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２と、切替タイミング検出回路２０８からのタイミング検出信号とが入力される。クロックセレクタ２１４は、切替タイミング検出回路２０８からのタイミング検出信号が入力されたタイミングから、即ちマスク指示信号ＭＡＳＫが発生したタイミングから、ＣＬＫ０ＭＡＳＫの２周期（マスクする一定期間の半分の期間）をカウントする。また、クロックセレクタ２１４は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２が入力されることによって、切替前および切替後のクロックを特定する。つまり、クロックセレクタ２１４は、ＣＬＫ０ＭＡＳＫの２周期をカウントするまでは切替前のクロックを出力し、ＣＬＫ０ＭＡＳＫの２周期をカウントした時点からは切替後のクロックを出力する。
【００３２】
尚、クロックセレクタ２１４が低速クロックとしてＣＬＫ１ＭＡＳＫおよびＣＬＫ２ＭＡＳＫを切替出力する際の動作波形は、ＤＡＴＡ，ＤＡＴＡ−ｌｏｗｓｐを除き、図６に示す通りであるので、その説明を省略する。
【００３３】
同期信号生成回路２１６（同期信号発生部）は、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２と、クロック切替検出信号ＳＥＬＤＥＴと、マスク指示信号ＭＡＳＫと、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２と、タイミング検出信号ＣＨＡＮＧＥとが入力される。そして、同期信号生成回路２１６は、高速クロックであるＣＬＫ０の一方のレベルから他方のレベルへの変化（例えば立ち上がり変化）に基づいて、低速クロックとなるＣＬＫ１、ＣＬＫ２の一方のレベルから他方のレベルへの変化（例えば立ち上がり変化）を特定するために用いる同期信号を出力するものである。
【００３４】
クロック判別回路２１８（判別部）は、高速クロックであるＣＬＫ０、低速クロックとなるＣＬＫ１またはＣＬＫ２、および同期信号が入力される。そして、クロック判別回路２１８は、ＣＬＫ０の一方のレベルから他方のレベルへの変化（例えば立ち上がり）と同期信号のレベルとの関係から、ＣＬＫ０の立ち上がりに対してＣＬＫ１またはＣＬＫ２が立ち上がっているか否かを判別し、ＤＦＦ２からＤＦＦ４へのデータの受け渡しを制御するものである。
【００３５】
＝＝＝同期信号生成回路の構成例＝＝＝
以下、図２を参照しつつ、本発明にかかるデータ受渡回路を構成する同期信号生成回路について説明する。
【００３６】
図２において、ＣＬＫ０用同期信号生成回路３０２は、“Ｈ”に固定された信号ＣＬＫ０ｓｙｎｃを出力する。また、ＣＬＫ１用同期信号生成回路３０４は、ＣＬＫ０およびＣＬＫ１が入力される。そして、ＣＬＫ１用同期信号生成回路３０４は、ＣＬＫ１が“Ｌ”から“Ｈ”へ立ち上がるタイミングの直前において、ＣＬＫ０の１周期だけ“Ｈ”となる信号ＣＬＫ１ｓｙｎｃを出力する。換言すれば、ＣＬＫ１用同期信号生成回路３０４は、ＣＬＫ１を反転した信号ＣＬＫ１ｓｙｎｃを出力することとなる。また、ＣＬＫ２用同期信号生成回路３０６は、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２が入力される。そして、ＣＬＫ２用同期信号生成回路３０６は、ＣＬＫ２が“Ｌ”から“Ｈ”へ立ち上がるタイミングの直前において、ＣＬＫ０の１周期だけ“Ｈ”となる信号ＣＬＫ２ｓｙｎｃを出力する。
【００３７】
同期信号マスク回路３０８は、クロック切替検出信号ＳＥＬＤＥＴと、マスク指示信号ＭＡＳＫとが入力される。同期信号マスク回路３０８は、クロック切替検出信号ＳＥＬＤＥＴが入力されることによって、ＤＦＦ４のＣ端子に入力されるクロックを、どのクロックからどのクロックに切り替えるのかを特定できる。そこで、同期信号マスク回路３０８は、切替前と切替後のクロックに対応するＣＬＫ０用同期信号生成回路３０２、ＣＬＫ１用同期信号生成回路３０４、ＣＬＫ２用同期信号生成回路３０６の何れかからの２つの出力信号（例えば、信号ＣＬＫ１ｓｙｎｃと信号ＣＬＫ２ｓｙｎｃ）を、マスク指示信号ＭＡＳＫが発生している期間だけ“Ｌ”に固定する。これにより、同期信号マスク回路３０８は、この処理を施した信号ＣＬＫ０ｓｙｎｃｍａｓｋ、ＣＬＫ１ｓｙｎｃｍａｓｋ、ＣＬＫ２ｓｙｎｃｍａｓｋが出力される。
【００３８】
同期信号セレクタ３１０は、信号ＣＬＫ０ｓｙｎｃｍａｓｋ、ＣＬＫ１ｓｙｎｃｍａｓｋ、ＣＬＫ２ｓｙｎｃｍａｓｋと、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２と、タイミング検出信号ＣＨＡＮＧＥとが入力される。そして、同期信号セレクタ３１０は、タイミング検出信号ＣＨＡＮＧＥが入力されたタイミングから、即ちマスク指示信号ＭＡＳＫが発生したタイミングから、ＣＬＫ０の２周期（マスクする一定期間の半分の期間）をカウントする。また、同期信号セレクタ３１０は、クロック切替信号ＳＥＬ０、ＳＥＬ１、ＳＥＬ２が入力されることによって、切替前および切替後のクロックを特定する。つまり、同期信号セレクタ３１０は、ＣＬＫ０の２周期をカウントするまでは切替前のクロックを出力し、ＣＬＫ０の２周期をカウントした時点からは切替後のクロックを出力する。
【００３９】
以下、図３のタイムチャートを用いて、図１および図２の動作を説明する。尚、図３のタイムチャートは図６のタイムチャートに関連している。つまり、クロック切替信号ＳＦＬ１は時刻Ｔ０において“Ｈ”から“Ｌ”へ立ち下がり、クロック切替信号ＳＥＬ２は時刻Ｔ０において“Ｌ”から“Ｈ”へ立ち上がる。また、マスク指示信号ＭＡＳＫは、時刻Ｔ１乃至Ｔ２の間で“Ｈ”となる。
【００４０】
同期信号マスク回路３０８では、信号ＣＬＫ０ｓｙｎｃを“Ｈ”のまま信号ＣＬＫ０ｓｙｎｃｍａｓｋとして出力する。また、同期信号マスク回路３０８は、信号ＣＬＫ１ｓｙｎｃを、時刻Ｔ１乃至Ｔ２の期間“Ｌ”に固定した信号ＣＬＫ１ｓｙｎｃｍａｓｋを出力する。同様に、同期信号マスク回路３０８は、信号ＣＬＫ２ｓｙｎｃを、時刻Ｔ１乃至Ｔ２の期間“Ｌ”に固定した信号ＣＬＫ２ｓｙｎｃｍａｓｋを出力する。
【００４１】
そして、同期信号セレクタ３１０からは、時刻Ｔ３以前において信号ＣＬＫ１ｓｙｎｃｍａｓｋが同期信号として切替出力され、時刻Ｔ３以後においては信号ＣＬＫ２ｓｙｎｃｍａｓｋが同期信号として切替出力されることとなる。
【００４２】
＝＝＝クロック判別回路の動作＝＝＝
クロック判別回路２１８では、ＣＬＫ０と同期信号生成回路２１６から出力される同期信号との関係から、図６に示す低速クロックの変化の状態を判別することとなる。クロック判別回路２１８では、ＣＬＫ０を取り込むことによって、ＣＬＫ０の立ち上がりタイミングを検出する。クロック判別回路２１８は、ＣＬＫ０が立ち上がるタイミングで、同期信号生成回路２１６から出力される同期信号のレベルを検出する。時刻Ｔ３以前においては、同期信号は信号ＣＬＫ１ｓｙｎｃｍａｓｋであり、この信号ＣＬＫ１ｓｙｎｃｍａｓｋは、ＣＬＫ０、ＣＬＫ１を基に作成したものである。よって、ＣＬＫ１ｓｙｎｃｍａｓｋはＣＬＫ０、ＣＬＫ１から作成される遅延時間を有するため、時刻Ｔ３以前において、ＣＬＫ０が立ち上がったときの同期信号は“Ｌ”へ立ち下がる直前の“Ｈ”となっている。つまり、ＣＬＫ１ｓｙｎｃｍａｓｋの基となるＣＬＫ１は、“Ｌ”から“Ｈ”へ立ち上がることとなる。このようにして、クロック判別回路２１８は、時刻Ｔ３以前において、ＣＬＫ０が立ち上がったときに同期信号が“Ｈ”である場合、ＣＬＫ１も立ち上がったものと判別するように、判別ロジックが構成される。
【００４３】
一方、時刻Ｔ３以後においては、同期信号は信号ＣＬＫ２ｓｙｎｃｍａｓｋであり、この信号ＣＬＫ２ｓｙｎｃｍａｓｋは、ＣＬＫ０、ＣＬＫ１、ＣＬＫ２を基に作成したものである。よって、ＣＬＫ２ｓｙｎｃｍａｓｋはＣＬＫ０、ＣＬＫ１、ＣＬＫ２から作成される遅延時間を有するため、時刻Ｔ３以後において、ＣＬＫ０が立ち上がったときの同期信号は“Ｌ”へ立ち下がる直前の“Ｈ”となっている。つまり、ＣＬＫ２ｓｙｎｃｍａｓｋの基となるＣＬＫ２は、“Ｌ”から“Ｈ”へ立ち上がることとなる。このようにして、クロック判別回路２１８は、時刻Ｔ３以後において、ＣＬＫ０が立ち上がったときに同期信号が“Ｈ”である場合、ＣＬＫ２も立ち上がったものと判別するように、判別ロジックが構成される。
【００４４】
これにより、図４のＤＦＦ２からＤＦＦ４へデータを受け渡す際、ＣＬＫ０とＣＬＫ１、ＣＬＫ２とを同期したこととして取り扱うことが可能となる。従って、ＤＦＦ２にデータを入力させるデータ出力回路（例えばマイクロコンピュータ：不図示）に対して、クロック判別回路２１８によるＣＬＫ１、ＣＬＫ２の立ち上がりの判別出力を供給するようにすれば、データを効率よくＤＦＦ２に入力させることが可能となる。
【００４５】
例えば、図３の時刻Ｔ５において、ＣＬＫ０、ＣＬＫ１の立ち上がりを示すクロック判別回路２１８の判別出力が前記データ出力回路に供給されれば、ＤＦＦ２は時刻Ｔ６のタイミングでＣＬＫ１の１／２周期だけＤＡＴＡ（Ｄ１）を出力するだけで済み、ＤＦＦ４が時刻Ｔ１でＤＡＴＡ−ｌｏｗｓｐ（Ｄ１）を取り込むことができ、これにより、データ高速処理部側におけるデータ処理効率を向上させることが可能となる。
【００４６】
また、時刻Ｔ１乃至Ｔ２のマスク期間を設ける場合であっても、マスク期間の前後に亘ってＤＦＦ２がＤＡＴＡ（Ｄ２）を出力する必要がなくなるため、ＤＦＦ４における低速クロックを切り替えるべく上記のマスク期間を設ける場合であっても、データの受け渡し効率を向上させることが可能となる。
【００４７】
以上説明したように、基準となるクロックＣＬＫ０の立ち上がり変化に応じて入力データを保持するとともに出力するＤＦＦ２と、ＣＬＫ０を所定分周した分周クロックＣＬＫ１（ＣＬＫ２）の立ち上がり変化に応じて、ＤＦＦ２からの出力データＤＡＴＡを保持するとともに出力するＤＦＦ４との間の、データの受け渡しに用いるデータ受渡回路であって、ＣＬＫ０とＣＬＫ１（ＣＬＫ２）とが“Ｌ”から“Ｈ”へ同時変化するタイミングを含む、ＣＬＫ０の１周期の期間、“Ｈ”となる同期信号を発生する同期信号生成回路２１６と、ＣＬＫ０が“Ｌ”から“Ｈ”へ立ち上がるタイミングで、同期信号が“Ｈ”となっている場合、ＣＬＫ１（ＣＬＫ２）がＣＬＫ０とともに“Ｌ”から“Ｈ”へ立ち上がったものと判別するクロック判別回路２１８と、を備え、クロック判別回路２１８の判別結果に基づいて、ＤＦＦ２からＤＦＦ４へのデータの受け渡しが行われるものである。これにより、ＤＦＦ２を含むデータ高速処理部側におけるデータの処理効率が向上し、更に、ＤＦＦ２からＤＦＦ４へのデータ受渡効率が向上することとなる。
【００４８】
また、分周クロックは、ＤＦＦ４に切り替えられて供給される、分周数が異なるＣＬＫ１およびＣＬＫ２であり、同期信号生成回路２１６は、ＣＬＫ０とＣＬＫ１が“Ｌ”から“Ｈ”へ同時変化するタイミングを含む、ＣＬＫ０の１周期の期間“Ｈ”となる、同期信号としてのＣＬＫ１ｓｙｎｃ（ＣＬＫ１ｓｙｎｃｍａｓｋ）を発生し、ＣＬＫ０とＣＬＫ２が“Ｌ”から“Ｈ”へ同時変化するタイミングを含む、ＣＬＫ０の１周期の期間“Ｈ”となる、同期信号としてのＣＬＫ２ｓｙｎｃ（ＣＬＫ２ｓｙｎｃｍａｓｋ）を発生し、クロック判別回路２１８は、ＣＬＫ０が“Ｌ”から“Ｈ”へ立ち上がり変化するタイミングで、同期信号としてのＣＬＫ１ｓｙｎｃ（ＣＬＫ１ｓｙｎｃｍａｓｋ）が“Ｈ”となっている場合、ＣＬＫ１がＣＬＫ０とともに“Ｌ”から“Ｈ”へ変化したものと判別し、ＣＬＫ０が“Ｌ”から“Ｈ”へ立ち上がり変化するタイミングで、同期信号としてのＣＬＫ２ｓｙｎｃ（ＣＬＫ２ｓｙｎｃｍａｓｋ）が“Ｈ”となっている場合、ＣＬＫ２がＣＬＫ０とともに“Ｌ”から“Ｈ”へ変化したものと判別する。これにより、ＤＦＦ４に入力される低速クロックを切り替える場合であっても、ＤＦＦ２からＤＦＦ４へのデータの受渡効率を向上させることが可能となる。
【００４９】
また、ＤＦＦ４に供給されるクロックを、ＣＬＫ１およびＣＬＫ２の一方から他方へ切り替えるためのクロック切替信号が発生した場合、ＣＬＫ１およびＣＬＫ２を切り替えてＤＦＦ４に供給するクロックセレクタ２１４、を備えている。これにより、ＤＦＦ４に対するクロックの切り替えを確実に行うことができ、ＤＦＦ２からＤＦＦ４へのデータの受渡効率を向上させることが可能となる。
【００５０】
また、前記クロック切替信号が発生した場合、ＣＬＫ１およびＣＬＫ２を一定期間マスクするクロックマスク部（マスク信号生成回路２１０、マスク回路２１２）、を備え、前記クロックセレクタ２１４は、時刻Ｔ１乃至Ｔ２の一定期間内における時刻Ｔ３において、ＣＬＫ１およびＣＬＫ２を切り替えてＤＦＦ４に供給する。これにより、ＤＦＦ４に入力されるクロックを切り替える際に、ＣＬＫ１およびＣＬＫ２ともに“Ｈ”に固定されているため、ＤＦＦ４がクロックの切換動作によって誤動作することを防止できる。
【００５１】
また、同期信号としてのＣＬＫ１ｓｙｎｃおよびＣＬＫ２ｓｙｎｃを前記一定期間マスクする同期信号マスク回路３０８、を備えている。これにより、ＣＬＫ１ＭＡＳＫ、ＣＬＫ２ＭＡＳＫと同一のタイミングで、同期信号に対してマスク処理を行うため、ＤＦＦ４に対するクロックの切り替えを確実に行うことができ、ＤＦＦ２からＤＦＦ４へのデータの受渡効率を向上させることが可能となる。
【００５２】
更に、クロック切替信号が発生した場合、前記一定期間内において、同期信号マスク回路３０８から出力されるＣＬＫ１ｓｙｎｃｍａｓｋおよびＣＬＫ２ｓｙｎｃｍａｓｋを切替出力する同期信号セレクタ３１０、を備えている。これにより、ＤＦＦ４に対するクロックの切り替えを確実に行うことができ、ＤＦＦ２からＤＦＦ４へのデータの受渡効率を向上させることが可能となる。
【００５３】
尚、ＤＦＦ４のＣ端子に実際に入力されるクロックは、ＣＬＫ１ＭＡＳＫおよびＣＬＫ２ＭＡＳＫをクロックセレクタ２１４で切り替えた低速クロックであるが、時刻Ｔ３以前の低速クロックの立ち上がりタイミングはＣＬＫ１と同じであり、時刻Ｔ３以後における低速クロックの立ち上がりタイミングはＣＬＫ２と同じである。
【００５４】
以上、本発明にかかるデータ受渡回路について説明したが、上記の説明は、本発明の理解を容易とするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることは勿論である。
【図面の簡単な説明】
【００５５】
【図１】本発明にかかるデータ受渡回路を示すブロック図である。
【図２】図１に用いる同期信号生成回路の一例を示すブロック図である。
【図３】図１、図２の動作波形を示すタイムチャートである。
【図４】データを受け渡す一般的な回路を示す図である。
【図５】データの受け渡しに使用する従来のクロック供給回路を示すブロック図である。
【図６】図５の動作波形を示すタイムチャートである。
【符号の説明】
【００５６】
２、４  ＤＦＦ
２０２  １／２分周回路
２０４  １／４分周回路
２０６  クロック切替要求検出回路
２０８  切替タイミング検出回路
２１０  マスク信号生成回路
２１２  マスク回路
２１４  クロックセレクタ
２１６  同期信号生成回路
２１８  クロック判別回路
３０４  ＣＬＫ１用同期信号生成回路
３０６  ＣＬＫ２用同期信号生成回路
３０８  同期信号マスク回路
３１０  同期信号セレクタ
【図１】
2006004352.tif 000003
【図２】
2006004352.tif 000004
【図３】
2006004352.tif 000005
【図４】
2006004352.tif 000006
【図５】
2006004352.tif 000007
【図６】
2006004352.tif 000008