JP2006050409A - 同期化回路および多ビット信号の同期化方法 - Google Patents

同期化回路および多ビット信号の同期化方法 Download PDF

Info

Publication number
JP2006050409A
JP2006050409A JP2004230833A JP2004230833A JP2006050409A JP 2006050409 A JP2006050409 A JP 2006050409A JP 2004230833 A JP2004230833 A JP 2004230833A JP 2004230833 A JP2004230833 A JP 2004230833A JP 2006050409 A JP2006050409 A JP 2006050409A
Authority
JP
Japan
Prior art keywords
clock
redundant code
redundant
bit
synchronized
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
Application number
JP2004230833A
Other languages
English (en)
Inventor
Akio Tokiyoda
明夫 常世田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004230833A priority Critical patent/JP2006050409A/ja
Publication of JP2006050409A publication Critical patent/JP2006050409A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Dc Digital Transmission (AREA)

Abstract

【課題】 多ビットの入力信号を正確かつ高速に同期化することができる同期化回路を提供する。
【解決手段】 同期化回路は、第1クロックに同期化された多ビットの入力データを、ハミング距離が1となる冗長符号に変換する冗長符号化部と、前記冗長符号を第2クロックで同期化する冗長符号同期化部と、前記第2クロックで同期化された冗長符号を、前記多ビットのデータに復号する復号化部とを備える。
【選択図】 図4

Description

本発明は、多ビット信号の同期化手法に関し、特に、異なるクロックで動作しているブロック間や、LSIとの間で、多ビット信号を高速かつ正確に同期化することが可能な同期化回路および同期化方法に関する。
パーソナルコンピュータ、携帯電話、ディジタルカメラなど、日常使用する多くの製品にロジック(論理)ICが組み込まれており、いっそうの高速動作化が求められている。
論理システムは、クロックで動作する同期システムである。動作クロック周波数を高くするには、遅延時間を小さくしなければならない。しかし、一般に遅延時間を小さくして高速動作させると、消費電力が大きくなる。製品の目的に応じて、動作速度と消費電力との兼ね合いから、多少の遅延の発生を許容せざるを得ない場合もある。
図1(a)は、単一ビット入力に対する一般的な同期回路構成を示す。一般に、クロック1(CLK1)に同期している信号を、クロック2(CLK2)に同期化するには、2段ラッチを用いる。図1(a)において、CLK1に同期したフリップフロップ101の出力には、一定の遅延が含まれている。この出力に対して、フリップフロップ102でCLK2と同期をとり、さらに後段のフリップフロップ103で、再度、CLK2に同期させる。2段ラッチ方式を採用する理由は、一段目のフリップフロップ102の出力が、発振効果により不安定になるので、再度同期化することによって、安定したパルス形状を得るためである。
図1(b)は、図1(a)の2段ラッチ同期化回路を、多ビット入力に適用した例を示す。図1(b)に示すように、多ビットの信号(アドレス信号、データ信号のように複数の信号線の組み合わせにより意味を持つ信号)を2段ラッチでそのまま同期化すると、データの偏移途中をクロック2(CLK2)でサンプルしてしまう可能性がある。各ビットに対するフリップフロップ101A、101Bの出力D0とD1には、それぞれ個別の遅延が含まれ、状態の変化が必ずしも同時に起きるとは限らない。この結果、図1(c)に示すように、たとえば「10」の状態から「01」の状態に遷移するときに、偏移にずれが生じる。このような偏移の途中でCLK2によりサンプルされると、誤った値がサンプルされることになる。
図2は、偏移途中の誤った値が伝播する例を示すタイミング図である。D[1:0]は、状態“0”、“1”、“2”、“3”と偏移している。クロック2(CLK2)で各状態をサンプルする際に、“1”から“2”への変化に応答して、「10」をサンプルすべきところを、偏移途中の値である「00」をサンプルしてしまい、誤った状態“0”が伝搬している。その結果、Q[1:0]が“0”、“1"、“0”、“2”と変化し、同期の正確性が損なわれる。
この問題を解決するために、D[1:0]を、ハミング距離が1のグレイコードに変換してから同期化を行う方法が提案されている(たとえば、特許文献1参照)。
図3は、ハミング距離が1のグレイコードへの変換例を示すタイミング図である。ハミング距離は、変化するビットの数で表わされる。図3(a)の例では、クロック(CLK)1で、3ビットの信号D0、D1、D2の同期をとる。区間0から1では、D0のみが変化するので、この部分ではハミング距離は1である。しかし、区間1から2では、D0とD1が変化し、ハミング距離は2となる。区間3から4では、すべてのビットが変化し、ハミング距離が3となる。ハミング距離が2以上になると、一瞬の遅延が発生した場合に、偏移途中の誤った値がサンプルされる可能性がある。
そこで、図3(b)に示すように、どの区間でもハミング距離が1以下となるように、グレイコードに変換してから同期化する。しかし、D[2:0]がとびとびの値をとる場合、たとえば、0、2、4、6のようにカウントする回路や、0,1、2,3,4、5の後に0にリセットする回路などの場合は、グレイコードに変換した後の値も、ハミング距離が1でなくなり、複数ビットが同時に変化してしまうことがある。たとえば、図3(b)の矢印で示す時点でリセットがかかると、3ビットすべてが変化し、図2と同様に、偏移途中で誤った値が同期化されるという問題が生じる。また、クロック1(CLK1)の周波数がクロック2(CLK2)よりも高い場合も、複数ビットが同時に変化することになるので、偏移途中の値を同期化してしまう可能性がある。
特開平10−82802号公報
上述したように、図3に示すグレイコードへ変換後の同期化方法は、クロック1よりもクロック2の周波数が高く、かつ同期されるデータがとびとびの値を取らない構成のときにのみ有効に機能する。
このため、同期化の対象となるデータがどのような値をとる場合でも、また、クロック周波数がどのように設定されていても、多ビットの入力に対して正確かつ高速に同期化できる同期化回路が望まれる。
そこで、本発明は、多ビット(nビット)のデータを正確かつ高速に同期化する回路および方法を提供することを課題とする。
上記課題を解決するために、本発明では、入力された多ビットのデータを、いったん偏移のハミング距離が1である冗長符号に変換してから同期をとり、同期化した冗長符号をもとの多ビットデータに復号する。
より具体的には、同期化回路は、
(a)第1クロックに同期化された多ビットの入力データを、ハミング距離が1となる冗長符号に変換する冗長符号化部と、
(b)前記冗長符号を第2クロックで同期化する冗長符号同期化部と、
(c)前記第2クロックで同期化された冗長符号を、前記多ビットのデータに復号する復号化部と
を備える。
このような構成により、入力信号の変化に応じて変わる冗長符合は、1ビットのみが変化するので、偏移途中の誤った値が伝播することを防止できる。
また、多ビットの入力データを、いったんハミング距離が1の冗長符号に変換してから同期化するので、カウンタやリセットの影響で入力データがどのような値をとろうとも、あるいは、クロック周波数がどのように設定されていても、常に正しく同期化することができる。
良好な形態として、同期化回路は、前回の第1クロックで冗長符号に変換され同期化された前記冗長符号を、今回の第1クロックのタイミングで前記冗長符号化部にフィードバックするフィードバックループをさらに備える。この場合、冗長符号化部は、今回の第1クロックのタイミングで入力された前記多ビットデータと、フィードバックされた前回の冗長符号とに基づいて、今回の冗長符号を決定する。
この構成により、ハミング距離が1の冗長符号を適切に選択することができる。
同期対象のデータがとる値やクロック周波数に関係なく、多ビットの入力信号を正確かつ高速に同期化することができる。
以下、添付図面を参照して、本発明の良好な実施形態を説明する。
図4は、本発明の一実施形態に係る同期化回路の構成図である。同期化回路10は、クロック1(CLK1)に同期化された多ビットのデータD0,D1を、偏移のハミング距離が1となる冗長符号に変換する冗長符号化部11と、クロック2(CLK2)で同期化された冗長符号を多ビットデータに復号する復号化部15とを備える。冗長符号化部11は、入力された多ビットと、対応する冗長符号とを関連付けた符号化テーブル21を有する。復号化部15は、冗長符号と、もとの多ビットデータとを関連付けた復号化テーブル25を有する。
ひとつ前のクロック1で冗長符号に変換され、同期化された冗長符号の各ビットF0、F1、F2は、今回のクロック1のタイミングで、冗長符号化部11にフィードバックされる。冗長符号化部11は、今回のクロック1のタイミングで入力された多ビットデータD0,D1と、フィードバックされた前回の冗長符号F0、F1,F2に基づいて、符号化テーブル21を参照し、偏移のハミング距離が1となる冗長符号を、今回の変換後の冗長符号として決定する。
冗長符号化部11で行われる冗長符号への変換は、入力されたnビットのデータを、偏移のハミング距離が1である(n2−1)ビットの冗長符号に変換する処理である。図5の例では、2ビットの入力データD0、D1に対して、偏移のハミング距離が1となるような3ビットのデータ(22−1=3)に変換する変換処理が行われる。
冗長符号化部11は、決定した冗長符号を構成する各ビットE0、E1、E2を出力する。E0、E1、E2は、それぞれクロック1で同期化されて、フリップフロップ12A〜12Cに入力される。フリップフロップ12A〜12Cに入力される値は、入力データ(D0,D1)に対応して前回のクロック1から変化しているが、偏移のハミング距離が1であるので、1つのビットだけが変化している。
フリップフロップ12A,12B,12Cの出力F0,F1,F2は、2段ラッチの初段のフリップフロップ13A〜13Cに入力されるとともに、冗長符号化部11にフィードバックされる。フリップフロップ13A〜13Cに入力されるデータは、クロック2で同期化さる。フリップフロップ13A〜13Cの出力は、2段目のフリップフロップ14A〜14Cに入力され、再度、クロック2で同期化される。1段目のフリップフロップ13A〜13C、2段目のフリップフロップ14A〜14C、およびクロック2(CLK2)で、冗長符号同期化部を構成する。
クロック2(CLK2)で同期化した3ビットの冗長符号データは、復号化部15に入力される。復号化部25は、復号テーブル25を参照して、3ビットデータを復号し、2ビットのデータQ0,Q1を出力する。
この2ビットデータ出力Q0、Q1は、偏移途中の誤りの伝播を含まない正確な同期データである。入力データがカウンタやリセットなどの影響でどのような値をとったとしても、あるいは、クロック周波数がどのように設定されていても、いったんハミング距離が1の冗長符号に変換されてから同期化されるので、常に正確な同期をとることが可能になる。
図5は、図4に示す同期化回路10の動作タイミングの一例を示す図である。クロック1(CLK1)に同期して、2ビットの入力信号D[1:0]の状態が0,1,2,3、0と偏移する。入力信号Dの偏移に応じて、クロック1のタイミングで、冗長符号化部11で変換された3ビットの冗長符号E[2:0]の状態が偏移する。図5の例では、入力信号D[1:0]の状態が0のときは、冗長符号化部11から3ビットの冗長符号「000」が出力されている。
次のクロック1の立ち上がりで、入力信号D[1:0]が状態1に偏移すると、冗長符号E[2:0]の値は「000」から「001」に変化する。更新された3ビットデータは、ハミング距離が1になるように変換されているので、最下位のビットのみが、0から1に変化している。このとき、フリップフロップ12A〜12Cの出力F[2:0]には、ひとつ前のクロック1に応じた、すなわち入力信号D[1:0]の状態が0のときの冗長符号の値「000」が現われる。このF[2:0]の値は、クロック2で同期されて後段のフリップフロップ13A〜13Cに入力されるとともに、冗長符号化部11にフィードバックされる。
つまり、入力された2ビットデータD[1:0]の状態1と、フィードバックされた前回の3ビットデータ(冗長符号)F[2:0]の値「000」に基づいて、「000」から1ビットだけが変化する「001」が、冗長符号E[2:0]の値として決定されるわけである。
同様に、次のクロック1のタイミングで、入力信号D[1:0]が状態2に偏移すると、前回の入力信号D[1:0]に対応する冗長符号F[2:0]の値「001」が、冗長符号化部11にフィードバックされる。今回の入力信号D[1:0]の状態2と、フィードバックされた前回の冗長符号の値「001」とに基づいて、1つのビットのみが変化するように、変換後の冗長符号E[2:0]の値「101」が決定される。
このような決定は、符号化テーブル21を参照して行われる。
図6は、冗長符号化部11の符号化テーブル21に含まれる符号化表の一例を示す。表の左のカラムは、2ビットの入力信号D[1:0]の値、右のカラムは、変換後の冗長符号F[2:0]の値である。
入力信号D[1:0]が「00」、すなわち状態0のときは、冗長符号「000」または「111」のいずれかに変換される。いずれに変換されるかは、前回の冗長符号の値に依存する。
同様に、入力信号D[1:0]が「01」、すなわち状態1のときは、3ビットの冗長符号「001」または「110」のいずれかに変換される。前回の冗長符号が「000」であれば「001」に変換されるし、前回の冗長符号が「111」であれば、「110」に変換される。
入力信号D[1:0]が「10」、すなわち状態3のときは、3ビットの冗長符号「010」または「101」のいずれかに変換される。前回の冗長符号が「001」であれば「010」に変換され、前回の冗長符号が「101」であれば、「100」に変換される。
図7は、冗長符号化部11の符号化テーブル21に含まれる、別の符号化表の一例である。図7の例では、入力信号D[1:0]の偏移に対応して、冗長符号の偏移が規定されている。
2ビットの入力信号Dの状態が0から1に変化すると、3ビットの冗長符号は、「000」から「001」へ変化する場合と、「111」から「110」に変化する場合がある。入力信号Dが1から3に変化すると、3ビットの冗長符号は、「001」から「011」に変化する場合と、「110」から「100」に変化する場合がある。4つの状態を持つ入力信号Dの変化の組み合わせは、4×3=12通りであり、図7の符号表は、それぞれの場合での3ビット冗長符号の変化を定義している。どの偏移の組み合わせでも、ハミング距離が1になるような偏移の組み合わせが、必ず存在する。どのような偏移でも、冗長符号は1ビットしか変化しないので、偏移途中の誤った値の伝播が防止される。
図示はしないが、復号部15の複合テーブル25は、図6または7に示す符号表を逆にした復号表を含み、複合部15はこれらの復号表を参照して、クロック2(CLK2)で同期された3ビットの冗長符号を、対応する2ビットデータへ復号する。
上述した実施形態では、2ビットの入力信号Dを、3ビットの冗長符号に変換して同期化したが、本発明はこれに限定されない。実施形態の構成は、たとえば差動回路に用いると特に有効であるが、A/D変換やメモリへの書き込みなど、同期化が必要な任意の箇所に適用可能である。また、3ビット、4ビットの入力信号に対しても、同様に冗長符号に変換してから同期を取る構成とすることもできる。
最後に、以上の説明に関して、以下の付記を開示する。
(付記1) 第1クロックに同期化された多ビットの入力データを、ハミング距離が1となる冗長符号に変換する冗長符号化部と、
前記冗長符号を第2クロックで同期化する冗長符号同期化部と、
前記第2クロックで同期化された冗長符号を、前記多ビットのデータに復号する復号化部と
を備えることを特徴とする同期化回路。
(付記2) 前記冗長符号化部は、前記多ビットの値と、対応する冗長符号とを関連付けた符号化テーブルを有することを特徴とする付記1に記載の同期化回路。
(付記3) 前記復号化部は、前記冗長符号と、もとの多ビットデータとを関連付けた復号化テーブルを有することを特徴とする付記1または2に記載の同期化回路。
(付記4) 前回の第1クロックで冗長符号に変換され同期化された前記冗長符号を、今回の第1クロックのタイミングで前記冗長符号化部にフィードバックするフィードバックループをさらに備え、
前記冗長符号化部は、今回の第1クロックのタイミングで入力された前記多ビットデータと、フィードバックされた前回の冗長符号とに基づいて、今回の冗長符号を決定することを特徴とする付記1に記載の同期化回路。
(付記5) 前回の第1クロックで冗長符号に変換され同期化された前記冗長符号を、今回の第1クロックのタイミングで前記冗長符号化部にフィードバックするフィードバックループをさらに備え、
前記冗長符号化部は、今回の第1クロックのタイミングで入力された前記多ビットデータと、フィードバックされた前回の冗長符号とに基づいて、前記符号化テーブルを参照して、今回の冗長符号を決定することを特徴とする付記2に記載の同期化回路。
(付記6) 前記冗長符号同期化部は、2段ラッチによる同期化を行うことを特徴とする付記1に記載の同期化回路。
(付記7) 前記冗長符号化部は、nビット(n≧2)の入力データを、(n2−1)ビットの冗長符号に変換することを特徴とする付記1に記載の同期化回路。
(付記8) 第1クロックで同期された多ビットの入力データを、ハミング距離が1となる冗長符号に変換するステップと、
前記冗長符号を第2クロックで同期化するステップと、
前記第2クロックで同期化された冗長符号を、前記多ビットのデータに復号するステップと
を含むことを特徴とする多ビット信号の同期化方法。
(付記9) 今回の第1クロックで同期された多ビットのデータと、前回の第1クロックのタイミングで変換された前記冗長符号とに基づいて、今回の冗長符号を決定するステップをさらに含むことを特徴とする付記8に記載の多ビット信号の同期化方法。
(付記10) 前記第2クロックでの同期化ステップは、2段ラッチによる同期化を含むことを特徴とする付記8に記載の多ビット信号の同期化方法。
一般的な2段ラッチによる同期化回路を示す図であり、図1(a)は単一ビットの同期化を、図1(b)は2段ラッチによる同期化回路を多ビットの同期化に適用した例を示す図である。 多ビットの入力を同期化する際に生じる問題点として、偏移途中の誤った値の伝播例を説明するための図である。 図2の問題を解決するために提案されている従来のグレイコードへの変換方法を示す図である。 本発明の一実施形態に係る同期化回路の概略構成図である。 図4の同期化回路の動作を示すタイミング図である。 図4の冗長符号化部で用いられる符号化テーブルの符号表の一例を示す図である。 図4の冗長符号化部で用いられる符号化テーブルの符号表の別の例を示す図である。
符号の説明
10 同期化回路
11 冗長符号化部
12A〜12C、13A〜13C、14A〜14C フリップフロップ
15 復号化部
21 符号化テーブル
25 復号テーブル

Claims (5)

  1. 第1クロックに同期化された多ビットの入力データを、ハミング距離が1となる冗長符号に変換する冗長符号化部と、
    前記冗長符号を第2クロックで同期化する冗長符号同期化部と、
    前記第2クロックで同期化された冗長符号を、前記多ビットのデータに復号する復号化部と
    を備えることを特徴とする同期化回路。
  2. 前記冗長符号化部は、前記多ビットの値と、対応する冗長符号とを関連付けた符号化テーブルを有することを特徴とする請求項1に記載の同期化回路。
  3. 前記復号化部は、前記冗長符号と、もとの多ビットデータとを関連付けた復号化テーブルを有することを特徴とする請求項1または2に記載の同期化回路。
  4. 前回の第1クロックで冗長符号に変換され同期化された前記冗長符号を、今回の第1クロックのタイミングで前記冗長符号化部にフィードバックするフィードバックループをさらに備え、
    前記冗長符号化部は、今回の第1クロックのタイミングで入力された前記多ビットデータと、フィードバックされた前回の冗長符号とに基づいて、今回の冗長符号を決定することを特徴とする請求項1に記載の同期化回路。
  5. 第1クロックで同期された多ビットの入力データを、ハミング距離が1となる冗長符号に変換するステップと、
    前記冗長符号を第2クロックで同期化するステップと、
    前記第2クロックで同期化された冗長符号を、前記多ビットのデータに復号するステップと
    を含むことを特徴とする多ビット信号の同期化方法。
JP2004230833A 2004-08-06 2004-08-06 同期化回路および多ビット信号の同期化方法 Pending JP2006050409A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004230833A JP2006050409A (ja) 2004-08-06 2004-08-06 同期化回路および多ビット信号の同期化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004230833A JP2006050409A (ja) 2004-08-06 2004-08-06 同期化回路および多ビット信号の同期化方法

Publications (1)

Publication Number Publication Date
JP2006050409A true JP2006050409A (ja) 2006-02-16

Family

ID=36028419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004230833A Pending JP2006050409A (ja) 2004-08-06 2004-08-06 同期化回路および多ビット信号の同期化方法

Country Status (1)

Country Link
JP (1) JP2006050409A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07212407A (ja) * 1994-01-19 1995-08-11 Tokyo Electron Ltd 符号化方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07212407A (ja) * 1994-01-19 1995-08-11 Tokyo Electron Ltd 符号化方法

Similar Documents

Publication Publication Date Title
JP4322548B2 (ja) データ形式変換回路
JP2010160653A (ja) リングバッファ回路及びその制御回路
US6917660B2 (en) Adaptive de-skew clock generation
US7692564B2 (en) Serial-to-parallel conversion circuit and method of designing the same
US5408476A (en) One bit error correction method having actual data reproduction function
JP2006050409A (ja) 同期化回路および多ビット信号の同期化方法
JP6775640B2 (ja) グレイコードカウンタ
US7515075B1 (en) Data conversion
JPH0590970A (ja) Cmiエンコーダ回路
US20110013741A1 (en) Counting circuit and address counter using the same
JP2003333110A (ja) シリアルデータ受信回路
JP3093583B2 (ja) メモリ制御回路
JP3201352B2 (ja) 同期化回路
US7730341B1 (en) System and method for transitioning from a logical state to any other logical state by modifying a single state element
KR100353533B1 (ko) 딜레이 락 루프 회로
KR100518141B1 (ko) 디코드회로, 부호변환회로 및 부호변환방법
JP3115756B2 (ja) デマルチプレクサ回路
JP2003037504A (ja) グレイコード発生装置
JP3471275B2 (ja) 同期化回路
JPH08125494A (ja) 移動平均フィルタ
JPS63209325A (ja) nビツトmビツト符号変換制御方式
JP2529902B2 (ja) ビット相関判定回路
KR0143245B1 (ko) 래치 회로를 이용한 2의 보수 형태의 직렬 데이타 장치
JP2003168979A (ja) バイナリコード発生装置
JP2008258660A (ja) グレイコードカウンタ及び表示装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20070720

Free format text: JAPANESE INTERMEDIATE CODE: A621

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100824