JP2011035826A - 半導体装置およびデータ転送方法 - Google Patents
半導体装置およびデータ転送方法 Download PDFInfo
- Publication number
- JP2011035826A JP2011035826A JP2009182579A JP2009182579A JP2011035826A JP 2011035826 A JP2011035826 A JP 2011035826A JP 2009182579 A JP2009182579 A JP 2009182579A JP 2009182579 A JP2009182579 A JP 2009182579A JP 2011035826 A JP2011035826 A JP 2011035826A
- Authority
- JP
- Japan
- Prior art keywords
- data
- clock
- signal
- semiconductor device
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】複数のクロックドメイン間での非同期データ転送を汎用的に行うことができるようにする。
【解決手段】データ転送元の第1クロックドメイン10と、データ転送先の第2クロックドメイン20と、前記第1クロックドメインの第1データDATAを前記第2クロックドメインの第2データD3に乗せ換えるデータ乗せ換え回路40,21,22,23と、を有する半導体装置であって、前記データ乗せ換え回路は、前記第1データDATAおよび前記第2データD3を直接比較して第1制御信号ENを出力する第1論理回路23を有するように構成する。
【選択図】図3
【解決手段】データ転送元の第1クロックドメイン10と、データ転送先の第2クロックドメイン20と、前記第1クロックドメインの第1データDATAを前記第2クロックドメインの第2データD3に乗せ換えるデータ乗せ換え回路40,21,22,23と、を有する半導体装置であって、前記データ乗せ換え回路は、前記第1データDATAおよび前記第2データD3を直接比較して第1制御信号ENを出力する第1論理回路23を有するように構成する。
【選択図】図3
Description
この出願で言及する実施例は、半導体装置およびデータ転送方法に関する。
近年、複数のクロックドメインを有し、それらのクロックドメイン間で非同期データ転送を行う半導体装置は、様々な電子機器に対して幅広く使用されて来ている。
このような複数のクロックドメインを有する半導体装置は、例えば、消費電力の低減等の要求によりデータ転送先のクロックドメインのクロック周波数の設定を変更するといったことが頻繁に行われる。
ところで、従来、複数のクロックドメイン間で非同期データ転送を行う半導体装置、或いは、データ転送にクロックゲーティング回路を適用した半導体装置としては、様々なものが提案されている。
上述したように、複数のクロックドメイン間で非同期データ転送を行う半導体装置は、例えば、データ転送先のクロックドメインのクロック周波数の設定を変更すると、それに対応して回路を見直す必要があり、汎用性および設計自由度が低いものであった。
この出願は、複数のクロックドメイン間での非同期データ転送を汎用的に行うことのできる半導体装置およびデータ転送方法の提供を目的とする。
一実施形態によれば、データ転送元の第1クロックドメインと、データ転送先の第2クロックドメインと、前記第1クロックドメインの第1データを前記第2クロックドメインの第2データに乗せ換えるデータ乗せ換え回路と、を有する半導体装置が提供される。
前記データ乗せ換え回路は、前記第1データおよび前記第2データを直接比較して第1制御信号を出力する第1論理回路を有する。
開示の半導体装置およびデータ転送方法は、複数のクロックドメイン間での非同期データ転送を汎用的に行うことができるという効果を奏する。
まず、半導体装置およびデータ転送方法の実施例を詳述する前に、半導体装置の一例とその半導体装置が有する課題を説明する。
一般的に、異なるクロックドメインの信号どうしを直接比較する(論理を組む)ことはない。これは、異なるクロックドメインのフリップフロップ(FF)間のデータをSTA(Static Timing Analysis)等によりタイミングケアできないためである。
すなわち、異なるクロックドメイン間におけるデータの転送は、メタステーブルやレーシング(リコンバージェンス)等の問題を避けるために、例えば、所定段のFFを挿入して同期化を行って論理を組むようになっている。
図1は半導体装置の一例を示す回路図であり、非同期データ転送を行うクロック周波数の異なる2つのクロックドメインを示すものである。
図1において、参照符号101は半導体装置、110はデータ転送元の第1クロックドメイン、そして、120はデータ転送先の第2クロックドメインを示す。
図1に示す半導体装置101では、第1クロック信号ck1で動作する第1クロックドメイン110から、第1クロック信号ck1よりも低いクロック周波数の第2クロック信号ck2で動作する第2クロックドメイン120に対してデータdataを転送する(乗せ換える)。
この半導体装置101は、データ信号dataを転送するデータ線とは別に、データイネーブル信号data-enを転送する信号線を設け、FFの数により設計者が受け側の周波数に合わせた任意のマージン期間を確保してデータを乗せ換えるようになっている。
すなわち、第1クロックドメイン110は、データ信号dataを引き延ばすための縦列接続された3段のFF111a〜111c、オア(OR)ゲート112、および、FF113を有する。
ORゲート112は、データ信号dataおよび各FF111a〜111cのQ出力信号を受け取り、それらの論理和を取った出力信号をFF113のデータ入力(D)端子に供給する。
また、第1クロックドメイン110は、データイネーブル信号data-enを引き延ばすための縦列接続された3段のFF114a〜114c、ORゲート115、および、FF116を有する。
ORゲート115は、データイネーブル信号data-enおよび各FF114a〜114cのQ出力信号を受け取り、それらの論理和を取った出力信号をFF116のD端子に供給する。
ここで、第1クロックドメイン110において、各FF111a〜111c,113,114a〜114cおよび116のクロック入力には、それぞれ高速の第1クロック信号ck1が供給されている。
一方、第2クロックドメイン120は、第1クロックドメイン110のFF113のQ出力信号(データ信号)d1が供給されたFF121a、FF121aのQ出力信号d2が供給されたFF121b、および、FF121bのQ出力信号d3が供給されたFF121cを有する。
第2クロックドメイン120は、第1クロックドメイン110のFF116のQ出力信号(データイネーブル信号)e1が供給されたFF124a、FF124aのQ出力信号e2が供給されたFF124b、および、FF124bのQ出力信号e3が供給されたFF124cを有する。
第2クロックドメイン120は、FF124bのQ出力信号e3およびFF124cのQ出力信号e4が供給されたアンド(AND)ゲート125、ANDゲート125の出力信号enにより制御されるセレクタ122、および、セレクタ122の出力信号が供給されたFF123を有する。
ここで、セレクタ122には、FF121cのQ出力信号d4およびFF123のQ出力信号data-holdが入力され、ANDゲート125の出力信号enにより一方が選択して出力される。
また、第2クロックドメイン120において、各FF121a〜121c,123および124a〜124cのクロック入力には、それぞれ第1クロック信号ck1よりも遅い低速の第2クロック信号clk2が供給されている。
さらに、第1クロックドメイン110における3段のFF111a〜111cおよび114a〜114cは、データ信号dataおよびデータイネーブル信号data-enを引き延ばして、第2クロックドメイン120でデータの乗せ換えを行うことができるようにするために設けられている。
また、第2クロックドメイン120において、符号AP01で囲まれたFF121a,121bおよび124a,124bは、レーシング等の問題を避けるために挿入されている。なお、これらのFF111a,111b,114a,114b並びに121a〜121c,124a〜124cの段数は、単なる例であり様々に変化させることができる。
なお、第1クロックドメイン110には、図示した回路の他に第1クロック信号ck1で制御される様々な回路が設けられ、また、第2クロックドメイン120には、図示した回路の他に第2クロック信号ck2で制御される様々な回路が設けられている。
図2は図1の半導体装置の動作を説明するためのタイミング図である。
図2の符号AP02に示されるように、データ信号dataは、データ転送先の第2クロックドメイン102の遅いクロック信号ck2で受け取れるように、FF111a〜111cによりデータ保持期間が引き延ばされる。
図2の符号AP02に示されるように、データ信号dataは、データ転送先の第2クロックドメイン102の遅いクロック信号ck2で受け取れるように、FF111a〜111cによりデータ保持期間が引き延ばされる。
また、データイネーブル信号data-enも、データに対応してFF114a〜114cにより周期(高レベル『H』の期間)が引き延ばされる。
図2の符号AP03に示されるように、FF113のQ出力信号(データ)d1を低速のクロック信号ck2で取り込むFF121aのQ出力信号d2には、例えば、レイアウトに依存したレーシング等の問題があり、データが確定しない虞がある。
そこで、前述したように、FFを複数段(図1では、FF121a,121bの2段)としてレーシング等によるデータの不確定状態を解消するようになっている。なお、データイネーブル信号に関しても、FFを複数段(図1では、FF124a,124bの2段)としている。
ところで、上述した半導体装置101において、例えば、消費電力を低減するためにデータ転送先の第2クロックドメイン120のクロック周波数を変化させると、それに対応してデータ転送元の第1クロックドメイン110のFFの段数を変化させる必要がある。
すなわち、図1の半導体装置101は、異なるクロックドメイン110,120間の周波数関係に依存するため、各ck1,ck2の周波数が変化すると、その度に回路を見直さなければならなかった。
また、設計者が任意のタイミングでデータイネーブル信号data-enを生成するため、レイアウト(配置/配線)によっては、クロックドメイン110,120間で正しいデータの乗せ換えが困難になり、或いは、過剰なタイミングケア回路を設けることになっていた。
次に、異なるクロックドメイン110,120間の多ビットデータ転送にはレーシング(リコンバージェンス)が問題になるが、設計者の任意なタイミングでデータの乗せ換えを行っているため、回路でリコンバージェンスの発生をケアすることができなかった。
さらに、図1の符号AP01で囲ったクロック信号ck2で制御されるFF121a,121b;124a,124bは、クロック信号ck2とは異なるクロック信号ck1で制御されるFF113;116のQ出力信号を取り込むため、クロックゲーティングの対象外とされていた。
すなわち、クロックをゲーティングするには、クロックを有効/無効にするゲーティング条件が必要だが、図1の半導体装置では、異なるクロックドメイン間でデータを乗せ換えるためのFFにはこの条件がない。そのため、FF121a,121b;124a,124bは、クロックゲーティングの対象外とされ、クロックゲーティングによる消費電力の低減を十分に行うことができなかった。
以下、半導体装置およびデータ転送方法の実施例を、添付図面を参照して詳述する。
図3は一実施形態の半導体装置の要部を示す回路図であり、また、図4は図3の半導体装置の動作を説明するためのタイミング図である。
図3は一実施形態の半導体装置の要部を示す回路図であり、また、図4は図3の半導体装置の動作を説明するためのタイミング図である。
図3に示されるように、一実施形態の半導体装置1は、第1クロック信号CLK1で動作するデータ転送元の第1クロックドメイン10、および、第1クロックCLK1とは異なるクロック周波数の第2クロック信号CLK2で動作する第2クロックドメイン20を有する。
第1クロックドメイン10は、第1クロックCLK1により制御されるフリップフロップ(FF)40を有し、また、第2クロックドメイン20は、第2クロックCLK2により制御されるFF21,22、並びに、エクスクルーシブオア(EOR)ゲート23を有する。
なお、第2クロックドメインにおけるFF(21,22)の数は、2つに限定されるものではなく、メタステーブルの発生を回避する数だけ挿入する。すなわち、FF21,22は、単なる例であり、FFを挿入する数は、様々に変化させることができる。
FF(第2FF)21は、第1クロックドメイン10におけるFF(第1FF)40のQ出力信号D1を受け取り、また、FF(第3FF)22は、FF21のQ出力信号D2を受け取る。EORゲート(第1論理回路)23は、データ信号DATAおよびFF22のQ出力信号D3を受け取って制御信号(第1制御信号)Pを出力する。
図4に示されるように、EORゲート23の出力信号Pは、データ信号DATAおよびFF22のQ出力信号D3を直接比較し、両者のレベルが同じときに低レベル『L』で異なるときに高レベル『H』になる。
ここで、信号Pの『L』から『H』への立ち上がりは、データ信号DATAが変化するタイミングにより規定され、また、信号Pの『H』から『L』への立ち下がりは、FF22のQ出力信号D3が変化するタイミングにより規定される。
なお、図4の符号AP10は、クロックドメインが異なるFF40からFF21へのデータ転送により生じるFF21のQ出力信号D2のメタステーブル(出力信号の震え)状態の領域を示す。
また、図4の符号AP11は、信号レベルは安定するがそのデータがインバリッド(不正データ)状態の領域を示し、そのAP11の後の領域から安定した正しい値のデータ信号D3が出力されることになる。
以上において、第1クロックドメイン10には、図示した回路の他に第1クロック信号CLK1で制御される様々な回路が設けられ、また、第2クロックドメイン20には、図示した回路の他に第2クロック信号CLK2で制御される様々な回路が設けられている。
すなわち、第1クロックドメイン10には、第1クロック信号CLK1で制御される処理回路が設けられ、この処理回路から出力されたデータDATAがFF40のD端子に供給されている。
また、第2クロックドメイン20には、例えば、後述する図18に示すように、FF30のQ出力信号D3を制御信号Pに基づいて第2クロック信号CLK2で取り込んだデータDATA-HOLDを出力し、そのデータ信号を処理する処理回路が設けられている。
ここで、第1クロックドメイン10は、例えば、CPUコアやCPUの演算回路ブロック等であり、また、第2クロックドメイン20は、例えば、メモリ部や様々な機能を有する周辺回路ブロック等である。
なお、以下に説明する各実施例において、第1クロック信号CLK1は、図1および図2を参照して説明した半導体装置のように、第2クロック信号CLK2よりも高速であることは必須の要件ではない。
さらに、各実施例は、第1および第2クロック信号CLK1,CLK2の周波数が同じであっても、STA等によりタイミングケアできない(タイミングケアしない)場合に有効なものである。
次に、上述した信号Pを使用した各実施例を詳述する。
図5は第1実施例の半導体装置を示す回路図であり、また、図6は図5の半導体装置の動作を説明するためのタイミング図である。
図5は第1実施例の半導体装置を示す回路図であり、また、図6は図5の半導体装置の動作を説明するためのタイミング図である。
図5と図3の比較から明らかなように、本第1実施例の半導体装置1における第2クロックドメイン20は、さらに、FF24〜26および一方が反転入力とされたアンド(AND)ゲート27を有する。
そして、EORゲート23の出力信号Pは、FF(第4FF)24のD端子に供給され、また、FF24のQ出力信号P2は、FF(第5FF)25のD端子に供給されている。さらに、FF25のQ出力信号P3は、FF(第6FF)26のD端子およびANDゲート(第2論理回路)27の反転入力に供給されている。
なお、第2クロックドメインにおけるFF(24,25)の数は、2つに限定されるものではなく、メタステーブルの発生を回避する数だけ挿入する。すなわち、FF24,25は、単なる例であり、FFを挿入する数は、様々に変化させることができる。
なお、ANDゲート27の非反転入力にはFF26のQ出力信号P4が供給され、また、FF24〜26のクロック入力にはそれぞれ第2クロック信号CLK2が供給されている。
ここで、前述したように、信号Pが『L』から『H』へ立ち上がるタイミングは、データ信号DATAの変化点により規定され、また、信号Pが『H』から『L』へ立ち下がるタイミングは、FF22のQ出力信号D3の変化点により規定される。
なお、図18を参照して後述するように、データ信号D3の値は、符号AP12で示すイネーブル信号(第2制御信号)ENが『H』で第2クロックCLK2が『L』から『H』へ立ち上がるAP13のタイミングで取り込まれることになる。
このように、本第1実施例の半導体装置において、データの乗せ換えを制御するイネーブル信号ENは、データ転送元の第1クロックドメイン10からのデータ信号DATAとデータ転送先の第2クロックドメイン20からのデータ信号D3を処理して生成する。
これにより、例えば、データ転送先の第2クロックドメイン20のクロック周波数を変化させてもデータ転送元の第1クロックドメイン10の回路を変更する必要がなく、異なるクロックドメイン間のデータの乗せ換えを汎用的に行うことができる。
さらに、図1と図5との比較から明らかなように、タイミングマージンを考慮した複数段のFFの挿入が不要となり、また、過剰なタイミングケア回路も不要なため、回路規模を縮小して低消費電力化を図ることが可能になる。なお、これらの効果は、以下に説明する各実施例においても同様に発揮される。
図7は第2実施例の半導体装置を示す回路図であり、また、図8は図7の半導体装置の動作を説明するためのタイミング図である。
図7と上述した図5との比較から明らかなように、本第2実施例の半導体装置は、第1実施例の半導体装置において、データ信号DATAが多ビット(nビット)の場合を示すものである。
すなわち、図7に示されるように、本第2実施例の半導体装置において、第1クロックドメイン10は、nビットのパラレルデータ信号DATAに対応して、第1クロックCLK1により制御されるn個FF401〜40nを有する。
また、第2クロックドメイン20は、n個FF401〜40nから出力されるnビットのQ出力信号D1に対応して、第2クロックCLK2により制御されるそれぞれn個のFF211〜21n,221〜22n、並びに、EORゲート231〜23nを有する。
さらに、第2クロックドメイン20は、EORゲート231〜23nの出力信号を受け取るn入力のオア(OR)ゲート28を有し、このORゲート(第1論理和回路)28の出力信号が前述した信号Pになる。
なお、FF24〜26およびANDゲート27は、前述した第1実施例と同様であり、ANDゲート27から出力されるイネーブル信号ENにより、n個のFF221〜22nから出力されるnビットのQ出力信号D3を取り込む。
このように、nビット(多ビット)のパラレルデータ信号DATAに対応して、1ビットのイネーブル信号ENにより第2クロックドメイン20におけるデータの乗せ換えを行うことで、多ビットデータ間の不整合(リコンバージェンス)を回避することができる。
すなわち、本第2実施例の半導体装置によれば、イネーブル信号ENの生成に第2クロックドメイン20における乗せ換え後のデータ信号(D3)を使用することになるため、論理的に乗せ換え完了(リコンバージェンス発生が起きない)保証を取ることができる。
なお、上記した多ビットデータ間のリコンバージェンス回避(乗せ換え完了保証)の効果は、後述する第4実施例においても同様に発揮されることになる。
図9は第3実施例の半導体装置を示す回路図であり、また、図10は図9の半導体装置の動作を説明するためのタイミング図である。
図9と前述した図5との比較から明らかなように、本第3実施例の半導体装置は、第1実施例の半導体装置において、第2クロックドメイン20のFF26を取り除いたものに相当する。
なお、ANDゲート27の反転入力には、EORゲート23の出力信号Pが供給され、また、ANDゲート27の非反転入力には、FF25のQ出力信号P3が供給されている。
ところで、EORゲート23の出力信号Pにおいて、『L』から『H』へ立ち上がるタイミングはデータ信号DATAの変化点により規定されるが、『H』から『L』へ立ち下がるタイミングはFF22のQ出力信号D3の変化点により規定される。
すなわち、信号Pの立ち上がりに関しては、FF24および25を挿入してレーシング等の問題を避ける必要があるが、信号Pの立ち下がりに関しては、FF22も第2クロックCLK2で制御されるため、第2クロックドメイン20の閉じた回路内の処理になる。
そこで、信号Pの立ち上がり/立ち下がり経路を別けて設計し、信号Pの立ち下がり経路は第2クロックドメイン20での同期設計を行うことができ、例えば、STAによるタイミング保証が可能になる。
従って、本第3実施例の半導体装置では、信号PをANDゲート27の反転入力端子に直接供給し、イネーブル信号の立ち上がりタイミングを規定する信号Pの立ち下がりを反転した信号とFF25のQ出力信号との論理積を取るようになっている。
これにより、図10の符号AP14に示されるように、イネーブル信号ENは、例えば、図6の符号AP12よりも早いタイミングで『H』になり、その結果、図10の符号AP15に示されるように、データ信号D3を取り込むタイミングも早くすることができる。
すなわち、本第3実施例の半導体装置は、前述した第1実施例の半導体装置に比べて、FF26が不要となるため回路規模を低減でき、そして、異なるクロックドメイン間のデータ乗せ換えをより高速に行うことが可能になる。これらの効果は、次の第4実施例でも同様に発揮される。
図11は第4実施例の半導体装置を示す回路図であり、また、図12は図11の半導体装置の動作を説明するためのタイミング図である。
図11と上述した図9との比較から明らかなように、本第4実施例の半導体装置は、第3実施例の半導体装置において、データ信号DATAが多ビット(nビット)の場合を示すものである。
すなわち、図11に示されるように、本第4実施例の半導体装置において、第1クロックドメイン10は、nビットのパラレルデータ信号DATAに対応して、第1クロックCLK1により制御されるn個FF401〜40nを有する。
また、第2クロックドメイン20は、n個FF401〜40nから出力されるnビットのQ出力信号D1に対応して、第2クロックCLK2により制御されるそれぞれn個のFF211〜21n,221〜22n、並びに、EORゲート231〜23nを有する。
さらに、第2クロックドメイン20は、EORゲート231〜23nの出力信号を受け取るn入力のORゲート28を有し、このORゲート28の出力信号が前述した信号Pになる。
なお、FF24,25およびANDゲート27は、前述した第3実施例と同様であり、ANDゲート27から出力されるイネーブル信号ENにより、n個のFF221〜22nから出力されるnビットのQ出力信号D3を取り込む。
図13は第5実施例の半導体装置を示す回路図であり、また、図14は図13の半導体装置の動作を説明するためのタイミング図である。さらに、図15は第6実施例の半導体装置を示す回路図であり、また、図16は図15の半導体装置の動作を説明するためのタイミング図である。
第5および第6実施例の半導体装置は、異なるクロックドメイン間で多ビット(nビット)のデータ信号DATAを転送する場合にFF211〜21nおよび221〜22nをクロックゲーティング制御して消費電力を低減するものである。
ここで、参照符号29はラッチを含んだクロックジェネレータを示し、そのクロックイネーブル端子CENに『H』の信号が入力されたとき、第2クロック信号CLK2に同期した信号を出力端子GCLKから出力するものである。
図13に示す第5実施例の半導体装置では、ORゲート28の出力信号Pにおけるレーシング等の問題を回避するために2段のFF24および25を介して、FF25のQ出力信号P3をクロックジェネレータ29のクロックイネーブル端子CENに供給している。
これにより、図14のAP16に示されるように、信号P3により活性化された期間だけ第2クロック信号CLK2に同期した信号GCLKをFF211〜21n,221〜22nのクロック端子に与えて動作させるようになっている。
また、本第6実施例では、クロックジェネレータ29のクロックイネーブル端子CENに対して、FF25のQ出力信号P3およびORゲート28の出力信号Pを入力とするANDゲート(第1論理積回路)30の出力信号を供給するようになっている。
すなわち、第6実施例では、信号Pの立ち下がりタイミングが第2クロックドメイン20の閉じた回路で規定されるため、その信号Pを直接ANDゲート30に供給し、信号Pが立ち下がったタイミングでANDゲート30の出力信号を『L』に立ち下げる。
これにより、図16のAP17に示されるように、信号Pが『H』から『L』へ立ち下がるとANDゲート30の出力信号は『L』になり、クロックジェネレータ29は、FF211〜21n,221〜22nに対するクロック信号GCLKの供給を停止する。
その結果、第6実施例の半導体装置は、FF211〜21n,221〜22nに対するクロック信号GCLKの供給をより一層短い期間とすることが可能になる。
図17は各実施例が適用される半導体装置の全体構成を概略的に示す図であり、また、図18は図17の半導体装置において第4実施例を適用した例を示す回路図である。
上述の図3〜図16を参照した説明では、第1クロック信号CLK1で動作する回路を第1クロックドメイン10に含め、第2クロック信号CLK2で動作する回路を第2クロックドメイン20に含めるようにして説明してきた。
これに対して、図17および図18では、第1クロックドメイン10のデータ信号DATAを第2クロックドメイン20に乗せ換えるとき、各実施例の回路を第1および第2クロックドメイン10,20とは別のデータ乗せ換え回路50として示したものである。
すなわち、上述した各実施例の半導体装置1は、第1クロックドメイン10,第2クロックドメイン20およびデータ乗せ換え回路(各実施例の回路)50を有する。
第1クロックCLK1により制御される第1クロックドメイン10のデータ信号DATAは、データ乗せ換え回路50を介して、第2クロックCLK2により制御される第2クロックドメイン20に対するデータ信号DATA2(D3)として供給される。
そして、第2クロックドメイン20において、データ信号DATA2は、データ乗せ換え回路50からのイネーブル信号ENに従って第2クロックドメイン20のデータ信号(DATA-HOLD)に変換される。
図18は図17の半導体装置のデータ乗せ換え回路50として図11および図12を参照して説明した第4実施例の回路を適用したものであり、回路50において、図11と同様の符号を付した部分は、第4実施例で説明したのと同様のものを示している。
第2クロックドメイン20には、FF(第7FF)311〜31nおよびセレクタ(選択回路)32が設けられ、セレクタ32には、FF311〜31nのQ出力信号D4およびFF221〜22nのQ出力信号D3が供給されている。
各FF311〜31nのD端子には、セレクタ32の出力信号DATA-HOLDが供給され、第2クロックCLK2により取り込んで保持する。
セレクタ32は、ANDゲート27から出力される1ビットのイネーブル信号ENにより、nビットのFF311〜31nのQ出力信号D4またはFF221〜22nのQ出力信号D3の一方を選択してデータ信号DATA-HOLDとして出力する。
そして、第1クロックドメイン10のデータ信号DATAを第2クロックドメイン20に乗せ換えたデータ信号DATA-HOLDは、第2クロックドメイン20における第2クロックCLK2で制御される様々な回路により処理されることになる。
なお、図18と図11との比較から明らかなように、第4実施例におけるFF401〜40nは第1クロックドメイン10に含まれ、また、他の構成は第2クロックドメイン20に含まれる。
すなわち、FF211〜21n,221〜22n,24および25、EORゲート231〜23n,ORゲート28、並びに、ANDゲート27は、第2クロックドメイン20に含まれことになる。
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
(付記1)
データ転送元の第1クロックドメインと、データ転送先の第2クロックドメインと、前記第1クロックドメインの第1データを前記第2クロックドメインの第2データに乗せ換えるデータ乗せ換え回路と、を有する半導体装置であって、
前記データ乗せ換え回路は、前記第1データおよび前記第2データを直接比較して第1制御信号を出力する第1論理回路を有することを特徴とする半導体装置。
(付記1)
データ転送元の第1クロックドメインと、データ転送先の第2クロックドメインと、前記第1クロックドメインの第1データを前記第2クロックドメインの第2データに乗せ換えるデータ乗せ換え回路と、を有する半導体装置であって、
前記データ乗せ換え回路は、前記第1データおよび前記第2データを直接比較して第1制御信号を出力する第1論理回路を有することを特徴とする半導体装置。
(付記2)
付記1に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1データを前記第1クロック信号で取り込む第1フリップフロップと、
前記第1フリップフロップの出力信号を前記第2クロック信号で取り込む第2フリップフロップと、
前記第2フリップフロップの出力信号を前記第2クロックで取り込む第3フリップフロップと、を有することを特徴とする半導体装置。
付記1に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1データを前記第1クロック信号で取り込む第1フリップフロップと、
前記第1フリップフロップの出力信号を前記第2クロック信号で取り込む第2フリップフロップと、
前記第2フリップフロップの出力信号を前記第2クロックで取り込む第3フリップフロップと、を有することを特徴とする半導体装置。
(付記3)
付記2に記載の半導体装置において、
前記第1データおよび前記第2データはnビット[nは2以上の整数]のパラレルデータであり、
前記第1論理回路および前記第1〜第3フリップフロップは、それぞれn個設けられ、
前記データ乗せ換え回路は、さらに、n個の前記第1論理回路の出力信号の論理和を取る第1論理和回路を有し、前記第1制御信号は、前記第1論理和回路の出力信号であることを特徴とする半導体装置。
付記2に記載の半導体装置において、
前記第1データおよび前記第2データはnビット[nは2以上の整数]のパラレルデータであり、
前記第1論理回路および前記第1〜第3フリップフロップは、それぞれn個設けられ、
前記データ乗せ換え回路は、さらに、n個の前記第1論理回路の出力信号の論理和を取る第1論理和回路を有し、前記第1制御信号は、前記第1論理和回路の出力信号であることを特徴とする半導体装置。
(付記4)
付記3に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1制御信号を前記第2クロック信号で取り込む第4フリップフロップと、
該第4フリップフロップの出力信号を前記第2クロック信号で取り込む第5フリップフロップと、
前記第5フリップフロップの出力信号により動作が制御され、前記第2クロック信号に同期したクロック信号を生成するクロックジェネレータ回路と、を有し、
前記クロックジェネレータ回路からの出力クロック信号を、n個の前記各第2フリップフロップおよび前記各第3フリップフロップに対して前記第2クロック信号として供給することを特徴とする半導体装置。
付記3に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1制御信号を前記第2クロック信号で取り込む第4フリップフロップと、
該第4フリップフロップの出力信号を前記第2クロック信号で取り込む第5フリップフロップと、
前記第5フリップフロップの出力信号により動作が制御され、前記第2クロック信号に同期したクロック信号を生成するクロックジェネレータ回路と、を有し、
前記クロックジェネレータ回路からの出力クロック信号を、n個の前記各第2フリップフロップおよび前記各第3フリップフロップに対して前記第2クロック信号として供給することを特徴とする半導体装置。
(付記5)
付記3に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1制御信号を前記第2クロック信号で取り込む第4フリップフロップと、
該第4フリップフロップの出力信号を前記第2クロック信号で取り込む第5フリップフロップと、
前記第1制御信号および前記第5フリップフロップの出力信号の論理積を取る第1論理積回路と、
該第1論理積回路の出力信号により動作が制御され、前記第2クロック信号に同期した信号を生成するクロックジェネレータ回路と、を有し、
前記クロックジェネレータ回路からの出力クロック信号を、n個の前記各第2フリップフロップおよび前記各第3フリップフロップに対して前記第2クロック信号として供給することを特徴とする半導体装置。
付記3に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1制御信号を前記第2クロック信号で取り込む第4フリップフロップと、
該第4フリップフロップの出力信号を前記第2クロック信号で取り込む第5フリップフロップと、
前記第1制御信号および前記第5フリップフロップの出力信号の論理積を取る第1論理積回路と、
該第1論理積回路の出力信号により動作が制御され、前記第2クロック信号に同期した信号を生成するクロックジェネレータ回路と、を有し、
前記クロックジェネレータ回路からの出力クロック信号を、n個の前記各第2フリップフロップおよび前記各第3フリップフロップに対して前記第2クロック信号として供給することを特徴とする半導体装置。
(付記6)
付記2または3に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1制御信号を前記第2クロック信号で取り込む第4フリップフロップと、
該第4フリップフロップの出力信号を前記第2クロック信号で取り込む第5フリップフロップと、を有することを特徴とする半導体装置。
付記2または3に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1制御信号を前記第2クロック信号で取り込む第4フリップフロップと、
該第4フリップフロップの出力信号を前記第2クロック信号で取り込む第5フリップフロップと、を有することを特徴とする半導体装置。
(付記7)
付記6に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第5フリップフロップの出力信号と前記第1制御信号を受け取って第2制御信号を出力する第2論理回路を有することを特徴とする半導体装置。
付記6に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第5フリップフロップの出力信号と前記第1制御信号を受け取って第2制御信号を出力する第2論理回路を有することを特徴とする半導体装置。
(付記8)
付記7に記載の半導体装置において、
前記第1論理回路は、排他的論理和回路であり、
前記第2論理回路は、前記第1制御信号を反転入力端子で受け取り、前記第5フリップフロップの出力信号を非反転入力端子で受け取る論理積回路であることを特徴とする半導体装置。
付記7に記載の半導体装置において、
前記第1論理回路は、排他的論理和回路であり、
前記第2論理回路は、前記第1制御信号を反転入力端子で受け取り、前記第5フリップフロップの出力信号を非反転入力端子で受け取る論理積回路であることを特徴とする半導体装置。
(付記9)
付記6に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第5フリップフロップの出力信号を前記第2クロック信号で取り込む第6フリップフロップと、
該第6フリップフロップの出力信号と前記第1制御信号を受け取って第2制御信号を出力する第2論理回路を有することを特徴とする半導体装置。
付記6に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第5フリップフロップの出力信号を前記第2クロック信号で取り込む第6フリップフロップと、
該第6フリップフロップの出力信号と前記第1制御信号を受け取って第2制御信号を出力する第2論理回路を有することを特徴とする半導体装置。
(付記10)
付記9に記載の半導体装置において、
前記第1論理回路は、排他的論理和回路であり、
前記第2論理回路は、前記第5フリップフロップの出力信号を反転入力端子で受け取り、前記第6フリップフロップの出力信号を非反転入力端子で受け取る論理積回路であることを特徴とする半導体装置。
付記9に記載の半導体装置において、
前記第1論理回路は、排他的論理和回路であり、
前記第2論理回路は、前記第5フリップフロップの出力信号を反転入力端子で受け取り、前記第6フリップフロップの出力信号を非反転入力端子で受け取る論理積回路であることを特徴とする半導体装置。
(付記11)
付記7〜10のいずれか1項に記載の半導体装置において、前記第2クロックドメインは、
第7フリップフロップと、
前記第3フリップフロップの出力信号と前記第7フリップフロップの出力信号の一方を前記第2制御信号により選択する選択回路と、を有し、
前記第7フリップフロップは、前記選択回路の出力信号を前記第2クロック信号により取り込むようになっていることを特徴とする半導体装置。
付記7〜10のいずれか1項に記載の半導体装置において、前記第2クロックドメインは、
第7フリップフロップと、
前記第3フリップフロップの出力信号と前記第7フリップフロップの出力信号の一方を前記第2制御信号により選択する選択回路と、を有し、
前記第7フリップフロップは、前記選択回路の出力信号を前記第2クロック信号により取り込むようになっていることを特徴とする半導体装置。
(付記12)
付記1〜11のいずれか1項に記載の半導体装置において、前記第2クロックドメインは、前記データ乗せ換え回路を含むことを特徴とする半導体装置。
付記1〜11のいずれか1項に記載の半導体装置において、前記第2クロックドメインは、前記データ乗せ換え回路を含むことを特徴とする半導体装置。
(付記13)
第1クロックで動作する第1クロックドメインから、第2クロックで動作する第2クロックドメインへデータを転送するデータ転送方法であって、
前記第1クロックドメインの第1データ信号と、前記第2クロックドメインの第2データ信号を直接比較して第1制御信号を生成し、
該第1制御信号を使用して、前記第2クロックドメインにおけるデータの乗せ換えを行うことを特徴とするデータ転送方法。
第1クロックで動作する第1クロックドメインから、第2クロックで動作する第2クロックドメインへデータを転送するデータ転送方法であって、
前記第1クロックドメインの第1データ信号と、前記第2クロックドメインの第2データ信号を直接比較して第1制御信号を生成し、
該第1制御信号を使用して、前記第2クロックドメインにおけるデータの乗せ換えを行うことを特徴とするデータ転送方法。
(付記14)
付記13に記載のデータ転送方法において、
前記第1制御信号は、前記第1クロックに対応したタイミングで第1レベルから第2レベルへ遷移し、且つ、前記第2クロックに対応したタイミングで前記第2レベルから前記第1レベルへ遷移することを特徴とするデータ転送方法。
付記13に記載のデータ転送方法において、
前記第1制御信号は、前記第1クロックに対応したタイミングで第1レベルから第2レベルへ遷移し、且つ、前記第2クロックに対応したタイミングで前記第2レベルから前記第1レベルへ遷移することを特徴とするデータ転送方法。
(付記15)
付記14に記載のデータ転送方法において、
前記第1制御信号の前記第2レベルから前記第1レベルへの遷移は、前記第2クロックにより動作する閉じた回路において、レーシング等の問題を回避する回路を設けることなく適用することを特徴とするデータ転送方法。
付記14に記載のデータ転送方法において、
前記第1制御信号の前記第2レベルから前記第1レベルへの遷移は、前記第2クロックにより動作する閉じた回路において、レーシング等の問題を回避する回路を設けることなく適用することを特徴とするデータ転送方法。
1,101 半導体装置
10,110 第1クロックドメイン
20,120 第2クロックドメイン
21,211〜21n フリップフロップ(FF:第2FF)
22,221〜22n FF(第3FF)
23,231〜23n EORゲート(第1論理回路)
24 FF(第4FF)
25 FF(第5FF)
26 FF(第6FF)
27 ANDゲート(第2論理回路)
28 ORゲート(第1論理和回路)
29 クロックジェネレータ
30 ANDゲート(第1論理積回路)
40,401〜40n FF(第1FF)
50 データ乗せ換え回路(各実施例の回路)
311〜31n FF(第7FF)
32 セレクタ(選択回路)
CK1,CLK1 第1クロック信号
CK2,CLK2 第2クロック信号
P 制御信号(第1制御信号)
EN イネーブル信号(第2制御信号)
10,110 第1クロックドメイン
20,120 第2クロックドメイン
21,211〜21n フリップフロップ(FF:第2FF)
22,221〜22n FF(第3FF)
23,231〜23n EORゲート(第1論理回路)
24 FF(第4FF)
25 FF(第5FF)
26 FF(第6FF)
27 ANDゲート(第2論理回路)
28 ORゲート(第1論理和回路)
29 クロックジェネレータ
30 ANDゲート(第1論理積回路)
40,401〜40n FF(第1FF)
50 データ乗せ換え回路(各実施例の回路)
311〜31n FF(第7FF)
32 セレクタ(選択回路)
CK1,CLK1 第1クロック信号
CK2,CLK2 第2クロック信号
P 制御信号(第1制御信号)
EN イネーブル信号(第2制御信号)
Claims (5)
- データ転送元の第1クロックドメインと、データ転送先の第2クロックドメインと、前記第1クロックドメインの第1データを前記第2クロックドメインの第2データに乗せ換えるデータ乗せ換え回路と、を有する半導体装置であって、
前記データ乗せ換え回路は、前記第1データおよび前記第2データを直接比較して第1制御信号を出力する第1論理回路を有することを特徴とする半導体装置。 - 請求項1に記載の半導体装置において、前記データ乗せ換え回路は、さらに、
前記第1データを前記第1クロック信号で取り込む第1フリップフロップと、
前記第1フリップフロップの出力信号を前記第2クロック信号で取り込む第2フリップフロップと、
前記第2フリップフロップの出力信号を前記第2クロックで取り込む第3フリップフロップと、を有することを特徴とする半導体装置。 - 請求項2に記載の半導体装置において、
前記第1データおよび前記第2データはnビット[nは2以上の整数]のパラレルデータであり、
前記第1論理回路および前記第1〜第3フリップフロップは、それぞれn個設けられ、
前記データ乗せ換え回路は、さらに、n個の前記第1論理回路の出力信号の論理和を取る第1論理和回路を有し、前記第1制御信号は、前記第1論理和回路の出力信号であることを特徴とする半導体装置。 - 第1クロックで動作する第1クロックドメインから、第2クロックで動作する第2クロックドメインへデータを転送するデータ転送方法であって、
前記第1クロックドメインの第1データ信号と、前記第2クロックドメインの第2データ信号を直接比較して第1制御信号を生成し、
該第1制御信号を使用して、前記第2クロックドメインにおけるデータの乗せ換えを行うことを特徴とするデータ転送方法。 - 請求項4に記載のデータ転送方法において、
前記第1制御信号は、前記第1クロックに対応したタイミングで第1レベルから第2レベルへ遷移し、且つ、前記第2クロックに対応したタイミングで前記第2レベルから前記第1レベルへ遷移することを特徴とするデータ転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009182579A JP2011035826A (ja) | 2009-08-05 | 2009-08-05 | 半導体装置およびデータ転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009182579A JP2011035826A (ja) | 2009-08-05 | 2009-08-05 | 半導体装置およびデータ転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011035826A true JP2011035826A (ja) | 2011-02-17 |
Family
ID=43764411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009182579A Pending JP2011035826A (ja) | 2009-08-05 | 2009-08-05 | 半導体装置およびデータ転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011035826A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021528881A (ja) * | 2018-05-01 | 2021-10-21 | デジラム コーポレーション | カスケードクロックリングバスを完了させるためのシステム及び方法 |
-
2009
- 2009-08-05 JP JP2009182579A patent/JP2011035826A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021528881A (ja) * | 2018-05-01 | 2021-10-21 | デジラム コーポレーション | カスケードクロックリングバスを完了させるためのシステム及び方法 |
JP7187577B2 (ja) | 2018-05-01 | 2022-12-12 | デジラム コーポレーション | カスケードクロックリングバスを完了させるためのシステム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904874B2 (en) | Opposite-phase scheme for peak current reduction | |
JP5120785B2 (ja) | 非同期式論理回路の論理回路設計装置、論理回路設計方法および論理回路設計プログラム | |
JP4437741B2 (ja) | 半導体集積回路の設計装置、半導体集積回路および半導体集積回路の設計プログラム | |
EP1575206A3 (en) | Data synchronization arrangement | |
JP5107080B2 (ja) | 半導体装置 | |
JP2003316566A (ja) | パイプラインプロセッサ | |
US8363766B2 (en) | Device and method of synchronizing signals | |
JP2011035826A (ja) | 半導体装置およびデータ転送方法 | |
JP3698657B2 (ja) | ゲーティッドクロック生成回路及び回路修正方法 | |
JP3779073B2 (ja) | クロック制御装置 | |
JP2007329586A (ja) | 半導体集積回路装置並びにその設計装置及び設計方法 | |
JP5942417B2 (ja) | シミュレーション装置、シミュレーション方法及びシミュレーションプログラム | |
JP2007109773A (ja) | 大規模半導体集積回路装置 | |
JP2008134926A (ja) | 同期化回路 | |
JP2004127012A (ja) | 同期式回路およびその設計方法 | |
JP2011134072A (ja) | 半導体集積回路の設計方法及びプログラム | |
JPWO2008114402A1 (ja) | ゲーテッドクロック設計方法及び半導体集積回路 | |
JP2004094776A (ja) | 半導体集積回路 | |
KR100521759B1 (ko) | 모서리 감지 종료 회로 및 이를 이용한 고속의 비동기파이프라인 회로 | |
JP2000353939A (ja) | クロック信号同期式フリップフロップ回路 | |
JP2003271413A (ja) | 半導体集積回路 | |
KR100784920B1 (ko) | 반도체 메모리 장치의 데이터 입력 회로 | |
JP3717901B2 (ja) | 状態出力回路および状態出力回路群 | |
JP2008196917A (ja) | 非同期式カウンタ回路 | |
JP2004348225A (ja) | データ転送回路及びデータ転送方法とデータ処理装置 |