(57)【要約】【課題】複数のクロックドメイン間での非同期データ転送を汎用的に行うことができるようにする。【解決手段】データ転送元の第１クロックドメイン１０と、データ転送先の第２クロックドメイン２０と、前記第１クロックドメインの第１データDATAを前記第２クロックドメインの第２データＤ３に乗せ換えるデータ乗せ換え回路４０，２１，２２，２３と、を有する半導体装置であって、前記データ乗せ換え回路は、前記第１データDATAおよび前記第２データＤ３を直接比較して第１制御信号ＥＮを出力する第１論理回路２３を有するように構成する。【選択図】図３
2011035826.tif 000002
【特許請求の範囲】
【請求項１】
データ転送元の第１クロックドメインと、データ転送先の第２クロックドメインと、前記第１クロックドメインの第１データを前記第２クロックドメインの第２データに乗せ換えるデータ乗せ換え回路と、を有する半導体装置であって、
前記データ乗せ換え回路は、前記第１データおよび前記第２データを直接比較して第１制御信号を出力する第１論理回路を有することを特徴とする半導体装置。
【請求項２】
請求項１に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第１データを前記第１クロック信号で取り込む第１フリップフロップと、
前記第１フリップフロップの出力信号を前記第２クロック信号で取り込む第２フリップフロップと、
前記第２フリップフロップの出力信号を前記第２クロックで取り込む第３フリップフロップと、を有することを特徴とする半導体装置。
【請求項３】
請求項２に記載の半導体装置において、
前記第１データおよび前記第２データはｎビット［ｎは２以上の整数］のパラレルデータであり、
前記第１論理回路および前記第１〜第３フリップフロップは、それぞれｎ個設けられ、
前記データ乗せ換え回路は、さらに、ｎ個の前記第１論理回路の出力信号の論理和を取る第１論理和回路を有し、前記第１制御信号は、前記第１論理和回路の出力信号であることを特徴とする半導体装置。
【請求項４】
第１クロックで動作する第１クロックドメインから、第２クロックで動作する第２クロックドメインへデータを転送するデータ転送方法であって、
前記第１クロックドメインの第１データ信号と、前記第２クロックドメインの第２データ信号を直接比較して第１制御信号を生成し、
該第１制御信号を使用して、前記第２クロックドメインにおけるデータの乗せ換えを行うことを特徴とするデータ転送方法。
【請求項５】
請求項４に記載のデータ転送方法において、
前記第１制御信号は、前記第１クロックに対応したタイミングで第１レベルから第２レベルへ遷移し、且つ、前記第２クロックに対応したタイミングで前記第２レベルから前記第１レベルへ遷移することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願で言及する実施例は、半導体装置およびデータ転送方法に関する。
【背景技術】
【０００２】
近年、複数のクロックドメインを有し、それらのクロックドメイン間で非同期データ転送を行う半導体装置は、様々な電子機器に対して幅広く使用されて来ている。
【０００３】
このような複数のクロックドメインを有する半導体装置は、例えば、消費電力の低減等の要求によりデータ転送先のクロックドメインのクロック周波数の設定を変更するといったことが頻繁に行われる。
【０００４】
ところで、従来、複数のクロックドメイン間で非同期データ転送を行う半導体装置、或いは、データ転送にクロックゲーティング回路を適用した半導体装置としては、様々なものが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１７２６３７号公報
【特許文献２】特開２００４−３１０５４４号公報
【特許文献３】特開２００５−０３８１８７号公報
【特許文献４】特開２００１−１５６８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、複数のクロックドメイン間で非同期データ転送を行う半導体装置は、例えば、データ転送先のクロックドメインのクロック周波数の設定を変更すると、それに対応して回路を見直す必要があり、汎用性および設計自由度が低いものであった。
【０００７】
この出願は、複数のクロックドメイン間での非同期データ転送を汎用的に行うことのできる半導体装置およびデータ転送方法の提供を目的とする。
【課題を解決するための手段】
【０００８】
一実施形態によれば、データ転送元の第１クロックドメインと、データ転送先の第２クロックドメインと、前記第１クロックドメインの第１データを前記第２クロックドメインの第２データに乗せ換えるデータ乗せ換え回路と、を有する半導体装置が提供される。
【０００９】
前記データ乗せ換え回路は、前記第１データおよび前記第２データを直接比較して第１制御信号を出力する第１論理回路を有する。
【発明の効果】
【００１０】
開示の半導体装置およびデータ転送方法は、複数のクロックドメイン間での非同期データ転送を汎用的に行うことができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】半導体装置の一例を示す回路図である。
【図２】図１の半導体装置の動作を説明するためのタイミング図である。
【図３】一実施形態の半導体装置の要部を示す回路図である。
【図４】図３の半導体装置の動作を説明するためのタイミング図である。
【図５】第１実施例の半導体装置を示す回路図である。
【図６】図５の半導体装置の動作を説明するためのタイミング図である。
【図７】第２実施例の半導体装置を示す回路図である。
【図８】図７の半導体装置の動作を説明するためのタイミング図である。
【図９】第３実施例の半導体装置を示す回路図である。
【図１０】図９の半導体装置の動作を説明するためのタイミング図である。
【図１１】第４実施例の半導体装置を示す回路図である。
【図１２】図１１の半導体装置の動作を説明するためのタイミング図である。
【図１３】第５実施例の半導体装置を示す回路図である。
【図１４】図１３の半導体装置の動作を説明するためのタイミング図である。
【図１５】第６実施例の半導体装置を示す回路図である。
【図１６】図１５の半導体装置の動作を説明するためのタイミング図である。
【図１７】各実施例が適用される半導体装置の全体構成を概略的に示す図である。
【図１８】図１７の半導体装置において第４実施例を適用した例を示す回路図である。
【発明を実施するための形態】
【００１２】
まず、半導体装置およびデータ転送方法の実施例を詳述する前に、半導体装置の一例とその半導体装置が有する課題を説明する。
【００１３】
一般的に、異なるクロックドメインの信号どうしを直接比較する（論理を組む）ことはない。これは、異なるクロックドメインのフリップフロップ（ＦＦ）間のデータをＳＴＡ（Static Timing Analysis）等によりタイミングケアできないためである。
【００１４】
すなわち、異なるクロックドメイン間におけるデータの転送は、メタステーブルやレーシング（リコンバージェンス）等の問題を避けるために、例えば、所定段のＦＦを挿入して同期化を行って論理を組むようになっている。
【００１５】
図１は半導体装置の一例を示す回路図であり、非同期データ転送を行うクロック周波数の異なる２つのクロックドメインを示すものである。
【００１６】
図１において、参照符号101は半導体装置、110はデータ転送元の第１クロックドメイン、そして、120はデータ転送先の第２クロックドメインを示す。
【００１７】
図１に示す半導体装置101では、第１クロック信号ck1で動作する第１クロックドメイン110から、第１クロック信号ck1よりも低いクロック周波数の第２クロック信号ck2で動作する第２クロックドメイン120に対してデータdataを転送する（乗せ換える）。
【００１８】
この半導体装置101は、データ信号dataを転送するデータ線とは別に、データイネーブル信号data-enを転送する信号線を設け、ＦＦの数により設計者が受け側の周波数に合わせた任意のマージン期間を確保してデータを乗せ換えるようになっている。
【００１９】
すなわち、第１クロックドメイン110は、データ信号dataを引き延ばすための縦列接続された３段のＦＦ111a〜111c、オア（ＯＲ）ゲート112、および、ＦＦ113を有する。
【００２０】
ＯＲゲート112は、データ信号dataおよび各ＦＦ111a〜111cのＱ出力信号を受け取り、それらの論理和を取った出力信号をＦＦ113のデータ入力（Ｄ）端子に供給する。
【００２１】
また、第１クロックドメイン110は、データイネーブル信号data-enを引き延ばすための縦列接続された３段のＦＦ114a〜114c、ＯＲゲート115、および、ＦＦ116を有する。
【００２２】
ＯＲゲート115は、データイネーブル信号data-enおよび各ＦＦ114a〜114cのＱ出力信号を受け取り、それらの論理和を取った出力信号をＦＦ116のＤ端子に供給する。
【００２３】
ここで、第１クロックドメイン110において、各ＦＦ111a〜111c,113,114a〜114cおよび116のクロック入力には、それぞれ高速の第１クロック信号ck1が供給されている。
【００２４】
一方、第２クロックドメイン120は、第１クロックドメイン110のＦＦ113のＱ出力信号（データ信号）ｄ１が供給されたＦＦ121a、ＦＦ121aのＱ出力信号ｄ２が供給されたＦＦ121b、および、ＦＦ121bのＱ出力信号ｄ３が供給されたＦＦ121cを有する。
【００２５】
第２クロックドメイン120は、第１クロックドメイン110のＦＦ116のＱ出力信号（データイネーブル信号）ｅ１が供給されたＦＦ124a、ＦＦ124aのＱ出力信号ｅ２が供給されたＦＦ124b、および、ＦＦ124bのＱ出力信号ｅ３が供給されたＦＦ124cを有する。
【００２６】
第２クロックドメイン120は、ＦＦ124bのＱ出力信号ｅ３およびＦＦ124cのＱ出力信号ｅ４が供給されたアンド（ＡＮＤ）ゲート125、ＡＮＤゲート125の出力信号ｅｎにより制御されるセレクタ122、および、セレクタ122の出力信号が供給されたＦＦ123を有する。
【００２７】
ここで、セレクタ122には、ＦＦ121cのＱ出力信号ｄ４およびＦＦ123のＱ出力信号data-holdが入力され、ＡＮＤゲート125の出力信号ｅｎにより一方が選択して出力される。
【００２８】
また、第２クロックドメイン120において、各ＦＦ121a〜121c,123および124a〜124cのクロック入力には、それぞれ第１クロック信号ck1よりも遅い低速の第２クロック信号clk2が供給されている。
【００２９】
さらに、第１クロックドメイン110における３段のＦＦ111a〜111cおよび114a〜114cは、データ信号dataおよびデータイネーブル信号data-enを引き延ばして、第２クロックドメイン120でデータの乗せ換えを行うことができるようにするために設けられている。
【００３０】
また、第２クロックドメイン120において、符号AP01で囲まれたＦＦ121a,121bおよび124a,124bは、レーシング等の問題を避けるために挿入されている。なお、これらのＦＦ111a,111b，114a,114b並びに121a〜121c，124a〜124cの段数は、単なる例であり様々に変化させることができる。
【００３１】
なお、第１クロックドメイン110には、図示した回路の他に第１クロック信号ck1で制御される様々な回路が設けられ、また、第２クロックドメイン120には、図示した回路の他に第２クロック信号ck2で制御される様々な回路が設けられている。
【００３２】
図２は図１の半導体装置の動作を説明するためのタイミング図である。
図２の符号AP02に示されるように、データ信号dataは、データ転送先の第２クロックドメイン102の遅いクロック信号ck2で受け取れるように、ＦＦ111a〜111cによりデータ保持期間が引き延ばされる。
【００３３】
また、データイネーブル信号data-enも、データに対応してＦＦ114a〜114cにより周期（高レベル『Ｈ』の期間）が引き延ばされる。
【００３４】
図２の符号AP03に示されるように、ＦＦ113のＱ出力信号（データ）ｄ１を低速のクロック信号ck2で取り込むＦＦ121aのＱ出力信号ｄ２には、例えば、レイアウトに依存したレーシング等の問題があり、データが確定しない虞がある。
【００３５】
そこで、前述したように、ＦＦを複数段（図１では、ＦＦ121a,121bの２段）としてレーシング等によるデータの不確定状態を解消するようになっている。なお、データイネーブル信号に関しても、ＦＦを複数段（図１では、ＦＦ124a,124bの２段）としている。
【００３６】
ところで、上述した半導体装置101において、例えば、消費電力を低減するためにデータ転送先の第２クロックドメイン120のクロック周波数を変化させると、それに対応してデータ転送元の第１クロックドメイン110のＦＦの段数を変化させる必要がある。
【００３７】
すなわち、図１の半導体装置101は、異なるクロックドメイン110,120間の周波数関係に依存するため、各ck1,ck2の周波数が変化すると、その度に回路を見直さなければならなかった。
【００３８】
また、設計者が任意のタイミングでデータイネーブル信号data-enを生成するため、レイアウト（配置／配線）によっては、クロックドメイン110,120間で正しいデータの乗せ換えが困難になり、或いは、過剰なタイミングケア回路を設けることになっていた。
【００３９】
次に、異なるクロックドメイン110,120間の多ビットデータ転送にはレーシング（リコンバージェンス）が問題になるが、設計者の任意なタイミングでデータの乗せ換えを行っているため、回路でリコンバージェンスの発生をケアすることができなかった。
【００４０】
さらに、図１の符号AP01で囲ったクロック信号ck2で制御されるＦＦ121a,121b;124a,124bは、クロック信号ck2とは異なるクロック信号ck1で制御されるＦＦ113;116のＱ出力信号を取り込むため、クロックゲーティングの対象外とされていた。
【００４１】
すなわち、クロックをゲーティングするには、クロックを有効／無効にするゲーティング条件が必要だが、図１の半導体装置では、異なるクロックドメイン間でデータを乗せ換えるためのＦＦにはこの条件がない。そのため、ＦＦ121a,121b;124a,124bは、クロックゲーティングの対象外とされ、クロックゲーティングによる消費電力の低減を十分に行うことができなかった。
【００４２】
以下、半導体装置およびデータ転送方法の実施例を、添付図面を参照して詳述する。
図３は一実施形態の半導体装置の要部を示す回路図であり、また、図４は図３の半導体装置の動作を説明するためのタイミング図である。
【００４３】
図３に示されるように、一実施形態の半導体装置１は、第１クロック信号CLK1で動作するデータ転送元の第１クロックドメイン１０、および、第１クロックCLK1とは異なるクロック周波数の第２クロック信号CLK2で動作する第２クロックドメイン２０を有する。
【００４４】
第１クロックドメイン１０は、第１クロックCLK1により制御されるフリップフロップ（ＦＦ）４０を有し、また、第２クロックドメイン２０は、第２クロックCLK2により制御されるＦＦ２１，２２、並びに、エクスクルーシブオア（ＥＯＲ）ゲート２３を有する。
【００４５】
なお、第２クロックドメインにおけるＦＦ(21,22)の数は、２つに限定されるものではなく、メタステーブルの発生を回避する数だけ挿入する。すなわち、ＦＦ21,22は、単なる例であり、ＦＦを挿入する数は、様々に変化させることができる。
【００４６】
ＦＦ（第２ＦＦ）２１は、第１クロックドメイン１０におけるＦＦ（第１ＦＦ）４０のＱ出力信号Ｄ１を受け取り、また、ＦＦ（第３ＦＦ）２２は、ＦＦ２１のＱ出力信号Ｄ２を受け取る。ＥＯＲゲート（第１論理回路）２３は、データ信号DATAおよびＦＦ２２のＱ出力信号Ｄ３を受け取って制御信号（第１制御信号）Ｐを出力する。
【００４７】
図４に示されるように、ＥＯＲゲート２３の出力信号Ｐは、データ信号DATAおよびＦＦ２２のＱ出力信号Ｄ３を直接比較し、両者のレベルが同じときに低レベル『Ｌ』で異なるときに高レベル『Ｈ』になる。
【００４８】
ここで、信号Ｐの『Ｌ』から『Ｈ』への立ち上がりは、データ信号DATAが変化するタイミングにより規定され、また、信号Ｐの『Ｈ』から『Ｌ』への立ち下がりは、ＦＦ２２のＱ出力信号Ｄ３が変化するタイミングにより規定される。
【００４９】
なお、図４の符号AP10は、クロックドメインが異なるＦＦ４０からＦＦ２１へのデータ転送により生じるＦＦ２１のＱ出力信号Ｄ２のメタステーブル（出力信号の震え）状態の領域を示す。
【００５０】
また、図４の符号AP11は、信号レベルは安定するがそのデータがインバリッド（不正データ）状態の領域を示し、そのAP11の後の領域から安定した正しい値のデータ信号Ｄ３が出力されることになる。
【００５１】
以上において、第１クロックドメイン１０には、図示した回路の他に第１クロック信号CLK1で制御される様々な回路が設けられ、また、第２クロックドメイン２０には、図示した回路の他に第２クロック信号CLK2で制御される様々な回路が設けられている。
【００５２】
すなわち、第１クロックドメイン１０には、第１クロック信号CLK1で制御される処理回路が設けられ、この処理回路から出力されたデータDATAがＦＦ４０のＤ端子に供給されている。
【００５３】
また、第２クロックドメイン２０には、例えば、後述する図１８に示すように、ＦＦ３０のＱ出力信号Ｄ３を制御信号Ｐに基づいて第２クロック信号CLK2で取り込んだデータDATA-HOLDを出力し、そのデータ信号を処理する処理回路が設けられている。
【００５４】
ここで、第１クロックドメイン１０は、例えば、ＣＰＵコアやＣＰＵの演算回路ブロック等であり、また、第２クロックドメイン２０は、例えば、メモリ部や様々な機能を有する周辺回路ブロック等である。
【００５５】
なお、以下に説明する各実施例において、第１クロック信号CLK1は、図１および図２を参照して説明した半導体装置のように、第２クロック信号CLK2よりも高速であることは必須の要件ではない。
【００５６】
さらに、各実施例は、第１および第２クロック信号CLK1,CLK2の周波数が同じであっても、ＳＴＡ等によりタイミングケアできない（タイミングケアしない）場合に有効なものである。
【００５７】
次に、上述した信号Ｐを使用した各実施例を詳述する。
図５は第１実施例の半導体装置を示す回路図であり、また、図６は図５の半導体装置の動作を説明するためのタイミング図である。
【００５８】
図５と図３の比較から明らかなように、本第１実施例の半導体装置１における第２クロックドメイン２０は、さらに、ＦＦ２４〜２６および一方が反転入力とされたアンド（ＡＮＤ）ゲート２７を有する。
【００５９】
そして、ＥＯＲゲート２３の出力信号Ｐは、ＦＦ（第４ＦＦ）２４のＤ端子に供給され、また、ＦＦ２４のＱ出力信号Ｐ２は、ＦＦ（第５ＦＦ）２５のＤ端子に供給されている。さらに、ＦＦ２５のＱ出力信号Ｐ３は、ＦＦ（第６ＦＦ）２６のＤ端子およびＡＮＤゲート（第２論理回路）２７の反転入力に供給されている。
【００６０】
なお、第２クロックドメインにおけるＦＦ(24,25)の数は、２つに限定されるものではなく、メタステーブルの発生を回避する数だけ挿入する。すなわち、ＦＦ24,25は、単なる例であり、ＦＦを挿入する数は、様々に変化させることができる。
【００６１】
なお、ＡＮＤゲート２７の非反転入力にはＦＦ２６のＱ出力信号Ｐ４が供給され、また、ＦＦ２４〜２６のクロック入力にはそれぞれ第２クロック信号CLK2が供給されている。
【００６２】
ここで、前述したように、信号Ｐが『Ｌ』から『Ｈ』へ立ち上がるタイミングは、データ信号DATAの変化点により規定され、また、信号Ｐが『Ｈ』から『Ｌ』へ立ち下がるタイミングは、ＦＦ２２のＱ出力信号Ｄ３の変化点により規定される。
【００６３】
なお、図１８を参照して後述するように、データ信号Ｄ３の値は、符号AP12で示すイネーブル信号（第２制御信号）ＥＮが『Ｈ』で第２クロックCLK2が『Ｌ』から『Ｈ』へ立ち上がるAP13のタイミングで取り込まれることになる。
【００６４】
このように、本第１実施例の半導体装置において、データの乗せ換えを制御するイネーブル信号ＥＮは、データ転送元の第１クロックドメイン１０からのデータ信号DATAとデータ転送先の第２クロックドメイン２０からのデータ信号Ｄ３を処理して生成する。
【００６５】
これにより、例えば、データ転送先の第２クロックドメイン20のクロック周波数を変化させてもデータ転送元の第１クロックドメイン10の回路を変更する必要がなく、異なるクロックドメイン間のデータの乗せ換えを汎用的に行うことができる。
【００６６】
さらに、図１と図５との比較から明らかなように、タイミングマージンを考慮した複数段のＦＦの挿入が不要となり、また、過剰なタイミングケア回路も不要なため、回路規模を縮小して低消費電力化を図ることが可能になる。なお、これらの効果は、以下に説明する各実施例においても同様に発揮される。
【００６７】
図７は第２実施例の半導体装置を示す回路図であり、また、図８は図７の半導体装置の動作を説明するためのタイミング図である。
【００６８】
図７と上述した図５との比較から明らかなように、本第２実施例の半導体装置は、第１実施例の半導体装置において、データ信号DATAが多ビット（ｎビット）の場合を示すものである。
【００６９】
すなわち、図７に示されるように、本第２実施例の半導体装置において、第１クロックドメイン１０は、ｎビットのパラレルデータ信号DATAに対応して、第１クロックCLK1により制御されるｎ個ＦＦ４０１〜４０ｎを有する。
【００７０】
また、第２クロックドメイン２０は、ｎ個ＦＦ４０１〜４０ｎから出力されるｎビットのＱ出力信号Ｄ１に対応して、第２クロックCLK2により制御されるそれぞれｎ個のＦＦ２１１〜２１ｎ，２２１〜２２ｎ、並びに、ＥＯＲゲート２３１〜２３ｎを有する。
【００７１】
さらに、第２クロックドメイン２０は、ＥＯＲゲート２３１〜２３ｎの出力信号を受け取るｎ入力のオア（ＯＲ）ゲート２８を有し、このＯＲゲート（第１論理和回路）２８の出力信号が前述した信号Ｐになる。
【００７２】
なお、ＦＦ２４〜２６およびＡＮＤゲート２７は、前述した第１実施例と同様であり、ＡＮＤゲート２７から出力されるイネーブル信号ＥＮにより、ｎ個のＦＦ２２１〜２２ｎから出力されるｎビットのＱ出力信号Ｄ３を取り込む。
【００７３】
このように、ｎビット（多ビット）のパラレルデータ信号DATAに対応して、１ビットのイネーブル信号ＥＮにより第２クロックドメイン２０におけるデータの乗せ換えを行うことで、多ビットデータ間の不整合（リコンバージェンス）を回避することができる。
【００７４】
すなわち、本第２実施例の半導体装置によれば、イネーブル信号ＥＮの生成に第２クロックドメイン２０における乗せ換え後のデータ信号（Ｄ３）を使用することになるため、論理的に乗せ換え完了（リコンバージェンス発生が起きない）保証を取ることができる。
【００７５】
なお、上記した多ビットデータ間のリコンバージェンス回避（乗せ換え完了保証）の効果は、後述する第４実施例においても同様に発揮されることになる。
【００７６】
図９は第３実施例の半導体装置を示す回路図であり、また、図１０は図９の半導体装置の動作を説明するためのタイミング図である。
【００７７】
図９と前述した図５との比較から明らかなように、本第３実施例の半導体装置は、第１実施例の半導体装置において、第２クロックドメイン２０のＦＦ２６を取り除いたものに相当する。
【００７８】
なお、ＡＮＤゲート２７の反転入力には、ＥＯＲゲート２３の出力信号Ｐが供給され、また、ＡＮＤゲート２７の非反転入力には、ＦＦ２５のＱ出力信号Ｐ３が供給されている。
【００７９】
ところで、ＥＯＲゲート２３の出力信号Ｐにおいて、『Ｌ』から『Ｈ』へ立ち上がるタイミングはデータ信号DATAの変化点により規定されるが、『Ｈ』から『Ｌ』へ立ち下がるタイミングはＦＦ２２のＱ出力信号Ｄ３の変化点により規定される。
【００８０】
すなわち、信号Ｐの立ち上がりに関しては、ＦＦ２４および２５を挿入してレーシング等の問題を避ける必要があるが、信号Ｐの立ち下がりに関しては、ＦＦ２２も第２クロックCLK2で制御されるため、第２クロックドメイン２０の閉じた回路内の処理になる。
【００８１】
そこで、信号Ｐの立ち上がり／立ち下がり経路を別けて設計し、信号Ｐの立ち下がり経路は第２クロックドメイン２０での同期設計を行うことができ、例えば、ＳＴＡによるタイミング保証が可能になる。
【００８２】
従って、本第３実施例の半導体装置では、信号ＰをＡＮＤゲート２７の反転入力端子に直接供給し、イネーブル信号の立ち上がりタイミングを規定する信号Ｐの立ち下がりを反転した信号とＦＦ２５のＱ出力信号との論理積を取るようになっている。
【００８３】
これにより、図１０の符号AP14に示されるように、イネーブル信号ＥＮは、例えば、図６の符号AP12よりも早いタイミングで『Ｈ』になり、その結果、図１０の符号AP15に示されるように、データ信号Ｄ３を取り込むタイミングも早くすることができる。
【００８４】
すなわち、本第３実施例の半導体装置は、前述した第１実施例の半導体装置に比べて、ＦＦ２６が不要となるため回路規模を低減でき、そして、異なるクロックドメイン間のデータ乗せ換えをより高速に行うことが可能になる。これらの効果は、次の第４実施例でも同様に発揮される。
【００８５】
図１１は第４実施例の半導体装置を示す回路図であり、また、図１２は図１１の半導体装置の動作を説明するためのタイミング図である。
【００８６】
図１１と上述した図９との比較から明らかなように、本第４実施例の半導体装置は、第３実施例の半導体装置において、データ信号DATAが多ビット（ｎビット）の場合を示すものである。
【００８７】
すなわち、図１１に示されるように、本第４実施例の半導体装置において、第１クロックドメイン１０は、ｎビットのパラレルデータ信号DATAに対応して、第１クロックCLK1により制御されるｎ個ＦＦ４０１〜４０ｎを有する。
【００８８】
また、第２クロックドメイン２０は、ｎ個ＦＦ４０１〜４０ｎから出力されるｎビットのＱ出力信号Ｄ１に対応して、第２クロックCLK2により制御されるそれぞれｎ個のＦＦ２１１〜２１ｎ，２２１〜２２ｎ、並びに、ＥＯＲゲート２３１〜２３ｎを有する。
【００８９】
さらに、第２クロックドメイン２０は、ＥＯＲゲート２３１〜２３ｎの出力信号を受け取るｎ入力のＯＲゲート２８を有し、このＯＲゲート２８の出力信号が前述した信号Ｐになる。
【００９０】
なお、ＦＦ２４，２５およびＡＮＤゲート２７は、前述した第３実施例と同様であり、ＡＮＤゲート２７から出力されるイネーブル信号ＥＮにより、ｎ個のＦＦ２２１〜２２ｎから出力されるｎビットのＱ出力信号Ｄ３を取り込む。
【００９１】
図１３は第５実施例の半導体装置を示す回路図であり、また、図１４は図１３の半導体装置の動作を説明するためのタイミング図である。さらに、図１５は第６実施例の半導体装置を示す回路図であり、また、図１６は図１５の半導体装置の動作を説明するためのタイミング図である。
【００９２】
第５および第６実施例の半導体装置は、異なるクロックドメイン間で多ビット（ｎビット）のデータ信号DATAを転送する場合にＦＦ２１１〜２１ｎおよび２２１〜２２ｎをクロックゲーティング制御して消費電力を低減するものである。
【００９３】
ここで、参照符号２９はラッチを含んだクロックジェネレータを示し、そのクロックイネーブル端子ＣＥＮに『Ｈ』の信号が入力されたとき、第２クロック信号CLK2に同期した信号を出力端子GCLKから出力するものである。
【００９４】
図１３に示す第５実施例の半導体装置では、ＯＲゲート２８の出力信号Ｐにおけるレーシング等の問題を回避するために２段のＦＦ２４および２５を介して、ＦＦ２５のＱ出力信号Ｐ３をクロックジェネレータ２９のクロックイネーブル端子ＣＥＮに供給している。
【００９５】
これにより、図１４のAP16に示されるように、信号Ｐ３により活性化された期間だけ第２クロック信号CLK2に同期した信号GCLKをＦＦ２１１〜２１ｎ，２２１〜２２ｎのクロック端子に与えて動作させるようになっている。
【００９６】
また、本第６実施例では、クロックジェネレータ２９のクロックイネーブル端子ＣＥＮに対して、ＦＦ２５のＱ出力信号Ｐ３およびＯＲゲート２８の出力信号Ｐを入力とするＡＮＤゲート（第１論理積回路）３０の出力信号を供給するようになっている。
【００９７】
すなわち、第６実施例では、信号Ｐの立ち下がりタイミングが第２クロックドメイン２０の閉じた回路で規定されるため、その信号Ｐを直接ＡＮＤゲート３０に供給し、信号Ｐが立ち下がったタイミングでＡＮＤゲート３０の出力信号を『Ｌ』に立ち下げる。
【００９８】
これにより、図１６のAP17に示されるように、信号Ｐが『Ｈ』から『Ｌ』へ立ち下がるとＡＮＤゲート３０の出力信号は『Ｌ』になり、クロックジェネレータ２９は、ＦＦ２１１〜２１ｎ，２２１〜２２ｎに対するクロック信号GCLKの供給を停止する。
【００９９】
その結果、第６実施例の半導体装置は、ＦＦ２１１〜２１ｎ，２２１〜２２ｎに対するクロック信号GCLKの供給をより一層短い期間とすることが可能になる。
【０１００】
図１７は各実施例が適用される半導体装置の全体構成を概略的に示す図であり、また、図１８は図１７の半導体装置において第４実施例を適用した例を示す回路図である。
【０１０１】
上述の図３〜図１６を参照した説明では、第１クロック信号CLK1で動作する回路を第１クロックドメイン１０に含め、第２クロック信号CLK2で動作する回路を第２クロックドメイン２０に含めるようにして説明してきた。
【０１０２】
これに対して、図１７および図１８では、第１クロックドメイン１０のデータ信号DATAを第２クロックドメイン２０に乗せ換えるとき、各実施例の回路を第１および第２クロックドメイン１０，２０とは別のデータ乗せ換え回路５０として示したものである。
【０１０３】
すなわち、上述した各実施例の半導体装置１は、第１クロックドメイン１０，第２クロックドメイン２０およびデータ乗せ換え回路（各実施例の回路）５０を有する。
【０１０４】
第１クロックCLK1により制御される第１クロックドメイン１０のデータ信号DATAは、データ乗せ換え回路５０を介して、第２クロックCLK2により制御される第２クロックドメイン２０に対するデータ信号DATA2（Ｄ３）として供給される。
【０１０５】
そして、第２クロックドメイン２０において、データ信号DATA2は、データ乗せ換え回路５０からのイネーブル信号ＥＮに従って第２クロックドメイン２０のデータ信号（DATA-HOLD)に変換される。
【０１０６】
図１８は図１７の半導体装置のデータ乗せ換え回路５０として図１１および図１２を参照して説明した第４実施例の回路を適用したものであり、回路５０において、図１１と同様の符号を付した部分は、第４実施例で説明したのと同様のものを示している。
【０１０７】
第２クロックドメイン２０には、ＦＦ（第７ＦＦ）３１１〜３１ｎおよびセレクタ（選択回路）３２が設けられ、セレクタ３２には、ＦＦ３１１〜３１ｎのＱ出力信号Ｄ４およびＦＦ２２１〜２２ｎのＱ出力信号Ｄ３が供給されている。
【０１０８】
各ＦＦ３１１〜３１ｎのＤ端子には、セレクタ３２の出力信号DATA-HOLDが供給され、第２クロックCLK2により取り込んで保持する。
【０１０９】
セレクタ３２は、ＡＮＤゲート２７から出力される１ビットのイネーブル信号ＥＮにより、ｎビットのＦＦ３１１〜３１ｎのＱ出力信号Ｄ４またはＦＦ２２１〜２２ｎのＱ出力信号Ｄ３の一方を選択してデータ信号DATA-HOLDとして出力する。
【０１１０】
そして、第１クロックドメイン１０のデータ信号DATAを第２クロックドメイン２０に乗せ換えたデータ信号DATA-HOLDは、第２クロックドメイン２０における第２クロックCLK2で制御される様々な回路により処理されることになる。
【０１１１】
なお、図１８と図１１との比較から明らかなように、第４実施例におけるＦＦ４０１〜４０ｎは第１クロックドメイン１０に含まれ、また、他の構成は第２クロックドメイン２０に含まれる。
【０１１２】
すなわち、ＦＦ２１１〜２１ｎ，２２１〜２２ｎ，２４および２５、ＥＯＲゲート２３１〜２３ｎ，ＯＲゲート２８、並びに、ＡＮＤゲート２７は、第２クロックドメイン２０に含まれことになる。
【０１１３】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
（付記１）
データ転送元の第１クロックドメインと、データ転送先の第２クロックドメインと、前記第１クロックドメインの第１データを前記第２クロックドメインの第２データに乗せ換えるデータ乗せ換え回路と、を有する半導体装置であって、
前記データ乗せ換え回路は、前記第１データおよび前記第２データを直接比較して第１制御信号を出力する第１論理回路を有することを特徴とする半導体装置。
【０１１４】
（付記２）
付記１に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第１データを前記第１クロック信号で取り込む第１フリップフロップと、
前記第１フリップフロップの出力信号を前記第２クロック信号で取り込む第２フリップフロップと、
前記第２フリップフロップの出力信号を前記第２クロックで取り込む第３フリップフロップと、を有することを特徴とする半導体装置。
【０１１５】
（付記３）
付記２に記載の半導体装置において、
前記第１データおよび前記第２データはｎビット［ｎは２以上の整数］のパラレルデータであり、
前記第１論理回路および前記第１〜第３フリップフロップは、それぞれｎ個設けられ、
前記データ乗せ換え回路は、さらに、ｎ個の前記第１論理回路の出力信号の論理和を取る第１論理和回路を有し、前記第１制御信号は、前記第１論理和回路の出力信号であることを特徴とする半導体装置。
【０１１６】
（付記４）
付記３に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第１制御信号を前記第２クロック信号で取り込む第４フリップフロップと、
該第４フリップフロップの出力信号を前記第２クロック信号で取り込む第５フリップフロップと、
前記第５フリップフロップの出力信号により動作が制御され、前記第２クロック信号に同期したクロック信号を生成するクロックジェネレータ回路と、を有し、
前記クロックジェネレータ回路からの出力クロック信号を、ｎ個の前記各第２フリップフロップおよび前記各第３フリップフロップに対して前記第２クロック信号として供給することを特徴とする半導体装置。
【０１１７】
（付記５）
付記３に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第１制御信号を前記第２クロック信号で取り込む第４フリップフロップと、
該第４フリップフロップの出力信号を前記第２クロック信号で取り込む第５フリップフロップと、
前記第１制御信号および前記第５フリップフロップの出力信号の論理積を取る第１論理積回路と、
該第１論理積回路の出力信号により動作が制御され、前記第２クロック信号に同期した信号を生成するクロックジェネレータ回路と、を有し、
前記クロックジェネレータ回路からの出力クロック信号を、ｎ個の前記各第２フリップフロップおよび前記各第３フリップフロップに対して前記第２クロック信号として供給することを特徴とする半導体装置。
【０１１８】
（付記６）
付記２または３に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第１制御信号を前記第２クロック信号で取り込む第４フリップフロップと、
該第４フリップフロップの出力信号を前記第２クロック信号で取り込む第５フリップフロップと、を有することを特徴とする半導体装置。
【０１１９】
（付記７）
付記６に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第５フリップフロップの出力信号と前記第１制御信号を受け取って第２制御信号を出力する第２論理回路を有することを特徴とする半導体装置。
【０１２０】
（付記８）
付記７に記載の半導体装置において、
前記第１論理回路は、排他的論理和回路であり、
前記第２論理回路は、前記第１制御信号を反転入力端子で受け取り、前記第５フリップフロップの出力信号を非反転入力端子で受け取る論理積回路であることを特徴とする半導体装置。
【０１２１】
（付記９）
付記６に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第５フリップフロップの出力信号を前記第２クロック信号で取り込む第６フリップフロップと、
該第６フリップフロップの出力信号と前記第１制御信号を受け取って第２制御信号を出力する第２論理回路を有することを特徴とする半導体装置。
【０１２２】
（付記１０）
付記９に記載の半導体装置において、
前記第１論理回路は、排他的論理和回路であり、
前記第２論理回路は、前記第５フリップフロップの出力信号を反転入力端子で受け取り、前記第６フリップフロップの出力信号を非反転入力端子で受け取る論理積回路であることを特徴とする半導体装置。
【０１２３】
（付記１１）
付記７〜１０のいずれか１項に記載の半導体装置において、前記第２クロックドメインは、
第７フリップフロップと、
前記第３フリップフロップの出力信号と前記第７フリップフロップの出力信号の一方を前記第２制御信号により選択する選択回路と、を有し、
前記第７フリップフロップは、前記選択回路の出力信号を前記第２クロック信号により取り込むようになっていることを特徴とする半導体装置。
【０１２４】
（付記１２）
付記１〜１１のいずれか１項に記載の半導体装置において、前記第２クロックドメインは、前記データ乗せ換え回路を含むことを特徴とする半導体装置。
【０１２５】
（付記１３）
第１クロックで動作する第１クロックドメインから、第２クロックで動作する第２クロックドメインへデータを転送するデータ転送方法であって、
前記第１クロックドメインの第１データ信号と、前記第２クロックドメインの第２データ信号を直接比較して第１制御信号を生成し、
該第１制御信号を使用して、前記第２クロックドメインにおけるデータの乗せ換えを行うことを特徴とするデータ転送方法。
【０１２６】
（付記１４）
付記１３に記載のデータ転送方法において、
前記第１制御信号は、前記第１クロックに対応したタイミングで第１レベルから第２レベルへ遷移し、且つ、前記第２クロックに対応したタイミングで前記第２レベルから前記第１レベルへ遷移することを特徴とするデータ転送方法。
【０１２７】
（付記１５）
付記１４に記載のデータ転送方法において、
前記第１制御信号の前記第２レベルから前記第１レベルへの遷移は、前記第２クロックにより動作する閉じた回路において、レーシング等の問題を回避する回路を設けることなく適用することを特徴とするデータ転送方法。
【符号の説明】
【０１２８】
１，101    半導体装置
１０，110    第１クロックドメイン
２０，120    第２クロックドメイン
２１，２１１〜２１ｎ    フリップフロップ（ＦＦ：第２ＦＦ）
２２，２２１〜２２ｎ    ＦＦ（第３ＦＦ）
２３，２３１〜２３ｎ    ＥＯＲゲート（第１論理回路）
２４    ＦＦ（第４ＦＦ）
２５    ＦＦ（第５ＦＦ）
２６    ＦＦ（第６ＦＦ）
２７    ＡＮＤゲート（第２論理回路）
２８    ＯＲゲート（第１論理和回路）
２９    クロックジェネレータ
３０    ＡＮＤゲート（第１論理積回路）
４０，４０１〜４０ｎ    ＦＦ（第１ＦＦ）
５０    データ乗せ換え回路（各実施例の回路）
３１１〜３１ｎ    ＦＦ（第７ＦＦ）
３２    セレクタ（選択回路）
CK1,CLK1    第１クロック信号
CK2,CLK2    第２クロック信号
Ｐ    制御信号（第１制御信号）
ＥＮ    イネーブル信号（第２制御信号）
【図１】
2011035826.tif 000003
【図２】
2011035826.tif 000004
【図３】
2011035826.tif 000005
【図４】
2011035826.tif 000006
【図５】
2011035826.tif 000007
【図６】
2011035826.tif 000008
【図７】
2011035826.tif 000009
【図８】
2011035826.tif 000010
【図９】
2011035826.tif 000011
【図１０】
2011035826.tif 000012
【図１１】
2011035826.tif 000013
【図１２】
2011035826.tif 000014
【図１３】
2011035826.tif 000015
【図１４】
2011035826.tif 000016
【図１５】
2011035826.tif 000017
【図１６】
2011035826.tif 000018
【図１７】
2011035826.tif 000019
【図１８】
2011035826.tif 000020