IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ リゴル テクノロジーズ カンパニー リミテッドの特許一覧

特表2022-517895メタステーブル状態検出装置及び方法、ADC回路
<>
  • 特表-メタステーブル状態検出装置及び方法、ADC回路 図1
  • 特表-メタステーブル状態検出装置及び方法、ADC回路 図2
  • 特表-メタステーブル状態検出装置及び方法、ADC回路 図3
  • 特表-メタステーブル状態検出装置及び方法、ADC回路 図4
  • 特表-メタステーブル状態検出装置及び方法、ADC回路 図5
  • 特表-メタステーブル状態検出装置及び方法、ADC回路 図6
  • 特表-メタステーブル状態検出装置及び方法、ADC回路 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-03-11
(54)【発明の名称】メタステーブル状態検出装置及び方法、ADC回路
(51)【国際特許分類】
   H04L 7/00 20060101AFI20220304BHJP
   H03K 5/00 20060101ALI20220304BHJP
【FI】
H04L7/00 370
H03K5/00 V
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021518702
(86)(22)【出願日】2020-05-09
(85)【翻訳文提出日】2021-03-31
(86)【国際出願番号】 CN2020089478
(87)【国際公開番号】W WO2021128701
(87)【国際公開日】2021-07-01
(31)【優先権主張番号】201911366573.5
(32)【優先日】2019-12-26
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521046985
【氏名又は名称】リゴル テクノロジーズ カンパニー リミテッド
【氏名又は名称原語表記】RIGOL TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】No.8,Ke Ling Road,New District,Suzhou,Jiangsu,China
(74)【代理人】
【識別番号】110001210
【氏名又は名称】特許業務法人YKI国際特許事務所
(72)【発明者】
【氏名】ヤン ボー
(72)【発明者】
【氏名】ルオ ジュンチョウ
(72)【発明者】
【氏名】ワン ユエ
(72)【発明者】
【氏名】ワン ティエジュン
(72)【発明者】
【氏名】リー ウェィセン
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA15
5K047GG09
5K047MM28
5K047MM36
5K047MM45
(57)【要約】
本発明は、メタステーブル状態検出装置、方法及びADC回路に関する。メタステーブル状態検出装置は、同期信号を受信し、予め設定された段階の遅延値で遅延させる遅延ユニットと、第1のクロック入力端、第1のデータ入力端及び第1のデータ出力端を含み、前記第1のクロック入力端は、クロック信号を受信し、前記第1のデータ入力端は、前記遅延ユニットに接続される、第1のフリップフロップユニットと、第2のクロック入力端、第2のデータ入力端及び第2のデータ出力端を含み、前記第2のクロック入力端は、前記遅延ユニット及び前記第1のデータ入力端にそれぞれに接続され、前記第2のデータ入力端は、前記第1のクロック入力端に接続される、第2のフリップフロップユニットと、前記第2のデータ出力端に接続され、前記目標クロック信号を受信し、前記目標クロック信号に基づいて前記第1のフリップフロップユニットのメタステーブル状態を検出する、処理モジュールと、を備える。検出装置の構成が簡素でコスト低い。
【特許請求の範囲】
【請求項1】
同期信号を受信し、前記同期信号を遅延させる遅延ユニットと、
第1のクロック入力端、第1のデータ入力端及び第1のデータ出力端を含み、前記第1のクロック入力端は、クロック信号を受信し、前記第1のデータ入力端は、前記遅延ユニットに接続され、遅延された同期信号を受信する、第1のフリップフロップユニットと、
第2のクロック入力端、第2のデータ入力端及び第2のデータ出力端を含み、前記第2のクロック入力端は、前記遅延ユニット及び前記第1のデータ入力端にそれぞれに接続され、遅延された同期信号を受信し、前記第2のデータ入力端は、前記第1のクロック入力端に接続され、前記クロック信号を受信し、前記第2のデータ出力端は、遅延された同期信号に同期した目標クロック信号を出力する、第2のフリップフロップユニットと、
前記第2のデータ出力端に接続され、前記目標クロック信号を受信し、前記目標クロック信号に基づいて前記第1のフリップフロップユニットのメタステーブル状態を検出する、処理モジュールと、を備えることを特徴とするメタステーブル状態検出装置。
【請求項2】
前記第1のフリップフロップユニット及び前記第2のフリップフロップユニットは、Dフリップフロップであることを特徴とする請求項1に記載のメタステーブル状態検出装置。
【請求項3】
前記第1のフリップフロップユニットは、第1のインバータと第1のJKフリップフロップとを含み、前記第1のJKフリップフロップのJ端は、前記第1のインバータを介して前記第1のJKフリップフロップのK端に接続され、前記第2のフリップフロップユニットは、第2のインバータと第2のJKフリップフロップとを含み、前記第2のJKフリップフロップのJ端は、前記第2のインバータを介して前記第2のJKフリップフロップのK端に接続される、ことを特徴とする請求項1に記載のメタステーブル状態検出装置。
【請求項4】
前記処理モジュールは、
前記第2のデータ出力端に接続され、前記目標クロック信号を読み取る、読み取りユニットと、
前記読み取りユニット及び前記遅延ユニットにそれぞれに接続され、前記目標クロック信号のメタステーブル状態を検出し、前記目標クロック信号に基づいて、前記メタステーブル状態を校正する校正遅延値を取得し、前記同期信号を前記校正遅延値で遅延させるように前記遅延ユニットを制御するコントローラと、含むことを特徴とする請求項1に記載のメタステーブル状態検出装置。
【請求項5】
請求項1から4のいずれか一項に記載のメタステーブル状態検出装置を含むことを特徴とするADC回路。
【請求項6】
クロック信号を出力するクロックモジュールと、
同期信号を出力する同期信号モジュールと、をさらに備え、
前記遅延ユニットの入力端は前記同期信号モジュールに接続され、前記遅延ユニットの出力端は前記第1のデータ入力端及び前記第2のクロック端にそれぞれに接続され、前記第1のクロック入力端、前記第2のデータ入力端及び前記第1のデータ出力端は、それぞれに前記クロック生成モジュールに接続される、ことを特徴とする請求項5に記載のADC回路。
【請求項7】
前記クロックモジュールは、前記第1のクロック入力端及び前記第2のデータ入力端にそれぞれに接続され、前記クロック信号を生成するクロック生成ユニットと、前記クロック生成ユニットと前記第1のデータ出力端とにそれぞれに接続され、前記第1のフリップフロップユニットから出力された前記目標同期信号に対して分周処理を行う分周ユニットと、を含むことを特徴とする請求項5に記載のADC回路。
【請求項8】
メタステーブル状態検出装置に適用されるメタステーブル状態検出方法であって、
前記メタステーブル状態検出装置は、遅延ユニット、第1のフリップフロップユニット及び第2のフリップフロップユニットを含み、前記第1のフリップフロップユニットのクロック入力端は、前記第2のフリップフロップユニットのデータ入力端に接続され、クロック信号を受信し、前記第1のフリップフロップユニットのデータ入力端及び前記第2のフリップフロップユニットのクロック入力端は、それぞれに前記遅延ユニットに接続され、遅延処理された同期信号を受信し、
前記遅延ユニットを制御して、受信された同期信号を予め設定された遅延値に応じて遅延させることと、
各前記遅延値に対応して、前記第2のフリップフロップユニットから出力される目標クロック信号を記録することと、
記録された前記遅延値と前記目標クロック信号との対応関係に基づいて、前記第1のフリップフロップユニットのメタステーブル状態を検出することと、を含むことを特徴とするメタステーブル状態検出方法。
【請求項9】
記録された前記遅延値と前記目標クロック信号との対応関係に基づいて、前記第1のフリップフロップユニットのメタステーブル状態を検出することは、
遅延された前記同期信号の立ち上がりエッジ又は立ち下がりエッジがトリガーエッジとして前記第2のフリップフロップユニットに入力される場合には、
記録された前記目標クロック信号からセットアップ/ホールドタイムウィンドウ内の遅延値を取得することと、
セットアップ/ホールドタイムウィンドウ内の遅延値を前記第1のフリップフロップユニットのメタステーブル状態とすることと、を含むことを特徴とする請求項8に記載のメタステーブル状態検出方法。
【請求項10】
前記第1のフリップフロップユニットのメタステーブル状態を校正することをさらに含むことを特徴とする請求項8又は9に記載のメタステーブル状態検出方法。
【請求項11】
前記第1のフリップフロップユニットのメタステーブル状態を校正することは、
記録された前記目標クロック信号から、前で論理「1」からその後で論理「0」への遷移のウィンドウの遅延値を取得することと、
前で論理「1」からその後で論理「0」への遷移のウィンドウの遅延値を校正値とすることと、
前記遅延ユニットを制御して、前記同期信号を前記校正値で遅延させることと、を含むことを特徴とする請求項10に記載のメタステーブル状態検出方法。
【請求項12】
前記校正値が複数ある場合には、最小値を有する校正値を目標校正値として選択することを特徴とする請求項11に記載のメタステーブル状態検出方法。
【請求項13】
前記クロック信号のクロックモードが変化したかどうかを検出するステップと、
前記クロックモードが変化したとき、前記第1のフリップフロップユニットのメタステーブル状態を再校正するステップと、をさらに含むことを特徴とする請求項10に記載のメタステーブル状態検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル又はデジタルアナログハイブリッド集積回路に関し、特に、メタステーブル状態検出装置及び方法、ADC回路に関する。
【背景技術】
【0002】
デジタル又はデジタルアナログハイブリッド集積回路において、高速メモリ記憶素子とするフリップフロップは、現代のITハードウェア回路およびシステムに広く使用されている。入力データを確実に記憶することを実現するためには、クロックの立ち上がりエッジの前後に入力データのセットアップタイム領域及びホールドタイム領域が一定であることが必要である。同期方式では、フリップフロップのセットアップ/ホールド時間がこの条件を満たさない場合と、メタステーブル状態が発生する可能性がある。この場合、アクティブクロックエッジから比較的長い期間、フリップフロップの出力Qが不定状態となる。この期間、Q端には、データ入力端Dの値と等しい値ではなく、スパイク状で振動している固定の電圧値が存在する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
従来、クロックと同じ周波数の検出器を設けることによって、フリップフロップのメタステーブル状態を検出する。しかしながら、このような検出器は設計が複雑で費用がかかる。
【0004】
本発明は、上記の問題点を解決するためになされたものであり、メタステーブル状態検出装置及び方法、ADC回路を提供し、検出装置の構成を簡略化して低コストを実現することを目的とする。
【課題を解決するための手段】
【0005】
同期信号を受信し、前記同期信号を遅延させる遅延ユニットと、第1のクロック入力端、第1のデータ入力端及び第1のデータ出力端を含み、前記第1のクロック入力端は、クロック信号を受信し、前記第1のデータ入力端は、前記遅延ユニットに接続され、遅延された同期信号を受信する、第1のフリップフロップユニットと、第2のクロック入力端、第2のデータ入力端及び第2のデータ出力端を含み、前記第2のクロック入力端は、前記遅延ユニット及び前記第1のデータ入力端にそれぞれに接続され、遅延された同期信号を受信し、前記第2のデータ入力端は、前記第1のクロック入力端に接続され、前記クロック信号を受信し、前記第2のデータ出力端は、遅延された同期信号に同期した目標クロック信号を出力する、第2のフリップフロップユニットと、前記第2のデータ出力端に接続され、前記目標クロック信号を受信し、前記目標クロック信号に基づいて前記第1のフリップフロップユニットのメタステーブル状態を検出する、処理モジュールと、を備える
メタステーブル状態検出装置。
【0006】
一実施例では、前記第1のフリップフロップユニット及び前記第2のフリップフロップユニットは、Dフリップフロップである。
【0007】
一実施例では、前記第1のフリップフロップユニットは、第1のインバータと第1のJKフリップフロップとを含み、前記第1のJKフリップフロップのJ端は、前記第1のインバータを介して前記第1のJKフリップフロップのK端に接続され、前記第2のフリップフロップユニットは、第2のインバータと第2のJKフリップフロップとを含み、前記第2のJKフリップフロップのJ端は、前記第2のインバータを介して前記第2のJKフリップフロップのK端に接続される。
【0008】
一実施例では、前記処理モジュールは、前記第2のデータ出力端に接続され、前記目標クロック信号を読み取る読み取りユニットと、前記読み取りユニット及び前記遅延ユニットにそれぞれに接続され、前記目標クロック信号のメタステーブル状態を検出し、前記目標クロック信号に基づいて、前記メタステーブル状態を校正する校正遅延値を取得し、前記同期信号を前記校正遅延値で遅延させるように前記遅延ユニットを制御するコントローラと、含む。
【0009】
本発明は、上記のメタステーブル状態検出装置を備えるADC回路をさらに提供する。
【0010】
一実施例では、前記ADC回路は、クロック信号を出力するクロックモジュールと、
同期信号を出力する同期信号モジュールと、をさらに備え、前記遅延ユニットの入力端は前記同期信号モジュールに接続され、前記遅延ユニットの出力端は前記第1のデータ入力端及び前記第2のクロック端にそれぞれに接続され、前記第1のクロック入力端、前記第2のデータ入力端及び前記第1のデータ出力端は、それぞれに前記クロック生成モジュールに接続される。
【0011】
一実施例では、前記クロックモジュールは、前記第1のクロック入力端及び前記第2のデータ入力端にそれぞれに接続され、前記クロック信号を生成するクロック生成ユニットと、前記クロック生成ユニットと前記第1のデータ出力端とにそれぞれに接続され、前記第1のフリップフロップユニットから出力された前記目標同期信号に対して分周処理を行う分周ユニットと、を含む。
【0012】
メタステーブル状態検出装置に適用されるメタステーブル状態検出方法であって、前記メタステーブル状態検出装置は、遅延ユニット、第1のフリップフロップユニット及び第2のフリップフロップユニットを含み、前記第1のフリップフロップユニットのクロック入力端は、前記第2のフリップフロップユニットのデータ入力端に接続され、クロック信号を受信し、前記第1のフリップフロップユニットのデータ入力端及び前記第2のフリップフロップユニットのクロック入力端は、それぞれに前記遅延ユニットに接続され、遅延処理された同期信号を受信し、前記遅延ユニットを制御して、受信された同期信号を予め設定された遅延値に応じて遅延させることと、各前記遅延値に対応して、前記第2のフリップフロップユニットから出力される目標クロック信号を記録することと、記録された前記遅延値と前記目標クロック信号との対応関係に基づいて、前記第1のフリップフロップユニットのメタステーブル状態を検出することと、を含むメタステーブル状態検出方法。
【0013】
一実施例では、記録された前記遅延値と前記目標クロック信号との対応関係に基づいて、前記第1のフリップフロップユニットのメタステーブル状態を検出することは、遅延された前記同期信号の立ち上がりエッジ又は立ち下がりエッジがトリガーエッジとして前記第2のフリップフロップユニットに入力される場合には、前記第2のフリップフロップユニットから出力される前記目標クロック信号を記録することと、記録された前記目標クロック信号からセットアップ/ホールドタイムウィンドウ内の遅延値を取得することと、セットアップ/ホールドタイムウィンドウ内の遅延値に対応して出力された前記クロック信号を、前記第1のフリップフロップユニットのメタステーブル状態とすることと、を含む。
【0014】
一実施例では、前記第1のフリップフロップユニットのメタステーブル状態を校正することをさらに含む。
【0015】
一実施例では、前記第1のフリップフロップユニットのメタステーブル状態を校正することは、記録された前記目標クロック信号から、前で論理「1」からその後で論理「0」への遷移のウィンドウの遅延値を取得することと、前で論理「1」からその後で論理「0」への遷移のウィンドウの遅延値を校正値とすることと、前記遅延ユニットを制御して、前記同期信号を前記校正値で遅延させることと、を含む。
【0016】
一実施例では、前記校正値が複数ある場合には、最小値を有する校正値を目標校正値として選択する。
【0017】
一実施例では、前記方法は、前記クロック信号のクロックモードが変化したかどうかを検出するステップと、前記クロックモードが変化したとき、前記第1のフリップフロップユニットのメタステーブル状態を再校正するステップと、をさらに含む。
【0018】
上記メタステーブル状態検出装置、方法及びADC回路は、第2のフリップフロップユニットの第2のデータ入力端が第1のフリップフロップユニットの第1のクロック入力端に接続され、第2のフリップフロップユニットの第2のクロック入力端が第1のフリップフロップユニットの第1のデータ入力端に接続されている。これにより、前記第2のフリップフロップユニットの第2のデータ出力端を前記第1のフリップフロップユニットのメタステーブル状態検出端として前記第1のフリップフロップユニットのメタステーブル状態を検出することができ、その構造が簡単で検出精度が高い。
【図面の簡単な説明】
【0019】
以下、本発明の実施の形態又は従来技術の技術的思想をより明確に説明するために、実施の形態又は従来技術を説明するための図面を簡単に説明する。また、以下の説明における図面は、本発明の幾つかの実施例にすぎず、当業者は、これらの図面に基づいて、他の実施例の図面を、進歩的なに労力しなくても得られることは明らかである。
図1】一実施例におけるメタステーブル状態検出装置の回路図である。
図2】一実施例におけるメタステーブル状態検出装置に関するフローチャートである。
図3】他の実施例におけるメタステーブル状態検出装置の回路図である。
図4】一実施例におけるADC回路の回路図である。
図5】他の実施例におけるADC回路の回路図である。
図6】一実施例におけるメタステーブル状態検出方法のフローチャートである。
図7】一実施例における第1のフリップフロップユニットのメタステーブル状態を校正するフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態について、図面を参照して詳細に説明するが、本発明は、その主旨を越えない限り、以下の実施の形態に限定されるものではない。以下の説明では、本発明を完全に理解できるように、多数の具体的な詳細が説明される。本発明の好ましい実施例が、図面に提供される。しかし、本発明は、様々な形態に具現されることができ、ここで説明する実施例に限定されるものではない。むしろ、これらの実施例は、本開示がより完全かつ完全になるように提供される。本発明は、本明細書に記載されたものとは異なる多くの他の方法で実施されてもよく、当業者は、本発明の趣旨から逸脱することなく同様の変更を行ってもよい。したがって、本発明は以下に開示される具体的な実施例に限定されるものではない。
【0021】
さらに、「第1の」及び「第2の」という用語は、単に説明の目的とするものであり、示される技術的特徴の相対的な重要性又は暗黙的な指示を示す又は暗黙的に示すものと解釈されるべきではない。したがって、「第1の」及び「第2の」に限定された特徴は、少なくとも1つの特徴を明示的又は暗示的に含み得る。本発明の説明において、「複数」は、特に明記しない限り、少なくとも2つ、例えば2つ、3つなどを指す。本発明の説明において、「いくつか」は、特に明記しない限り、少なくとも1つ、例えば1つ、2つなどを指す。
【0022】
図1に示すように、本願の実施例は、メタステーブル状態検出装置を提供する。一実施例では、メタステーブル状態検出装置は、遅延ユニット110、第1のフリップフロップユニット120、第2のフリップフロップユニット130及び処理モジュール140を含む。
【0023】
遅延ユニット110は、入力端が同期(SYNC)信号1Aを受信するために使用される。遅延ユニット110は、同期信号1Aを受信し、該同期信号1Aを遅延させる。遅延ユニット110は、受信した同期信号1Aに対して、対応する遅延を行うことができる。
【0024】
一実施例では、遅延ユニット110は、レジスタ又はカウンタを含んでもよい。本発明の実施例において、遅延ユニット110はDSYNCと呼ばれるレジスタであってもよい。レジスタの制御ビットは、<M-1:0>に設置される。Mはレジスタの制御ビットの数である。<M-1:0>はM個の制御ビットを有し、合計2^M個のレジスタ値を示す。制御値が0の場合、遅延ユニット110が同期信号1Aを遅延して処理する遅延値はTd<1>であり、制御値が1の場合、遅延ユニット110が同期信号1Aを遅延して処理する遅延値はTd<2>である。このように、制御値がM-1の場合、遅延ユニット110が同期信号1Aを遅延して処理する遅延値はTd<M>である。なお、遅延ユニット110が同期信号1Aを遅延して処理する各遅延値は、予め設定された段階に応じて設定される。遅延値Td<1>は遅延値Td<2>より小さく、遅延値Td<2>は遅延値Td<3>より小さい。例えば、Td<1><Td<2>・・・・・・<Td<M-1><Td<M>である。
【0025】
なお、隣接する任意の2つの遅延値の差は同じである。つまり、Td<2>-Td<1>=Td<M>-Td<M-1>である。好ましくは、隣接する任意の2つの遅延値の差が同一でなくてもよい。本発明において、隣接する2つの遅延値の差は、さらに限定されない。
【0026】
第1のフリップフロップユニット120は、第1のクロック入力端、第1のデータ入力端及び第1のデータ出力端を含む。第2のフリップフロップユニット130は、第2のクロック入力端、第2のデータ入力端及び第2のデータ出力端を含む。第1のフリップフロップユニット120の第1のクロック入力端と第2のフリップフロップユニット130の第2のデータ入力端とは、クロック信号1Bを受信するように接続される。第1のフリップフロップユニット120の第1のデータ入力端と第2のフリップフロップユニット130の第2のクロック入力端は、遅延ユニット110に接続され、いずれも遅延ユニット110から遅延処理された同期信号1Aを受信する。
【0027】
第1のフリップフロップユニット120は、遅延処理された同期信号1Aをクロック信号1Bに同期させ、第1のデータ出力端から前記クロック信号1Bに同期した目標同期信号1Dを出力させることができる。
【0028】
第2のフリップフロップユニット130の第2のデータ入力端は第1のフリップフロップユニット120の第1のクロック入力端に接続され、第2のフリップフロップユニット130の第2のクロック入力端は第1のフリップフロップユニット120の第1のデータ入力端に接続される。同期信号1Aはサンプリングクロックとして機能し、クロック信号1Bはデータ信号として機能することができる。すなわち、高周波数のクロック信号1Bを低周波数の同期信号1Aでサンプリングすることにより、該第2のフリップフロップユニット130の第2のデータ出力端は、遅延された同期信号1Aに同期した目標クロック信号1Cを出力して、クロック信号1Bを復元することができる。すなわち、第2のフリップフロップユニット130の第2のデータ出力端は、メタステーブル状態検出端として機能することができる。
【0029】
処理モジュール140は、前記第2のデータ出力端に接続され、前記目標クロック信号1Cを受信し、前記目標クロック信号1Cに基づいて前記第1のフリップフロップユニット120のメタステーブル状態を検出する。メタステーブル状態とは、フリップフロップが所定の時間内に確認可能な状態に達することができないことをいう。フリップフロップのセットアップタイム及びホールドタイムは、クロックの立ち上がりエッジの付近でタイムウィンドウを定義する。このタイムウィンドウ内でフリップフロップのデータ入力端のデータ信号が変化する(あるいはデータが更新される)と、タイミング違反が発生し、メタステーブル状態が発生する。
【0030】
例えば、遅延ユニット110が同期信号1Aを処理して遅延させる時に、処理モジュール140は、各遅延値に対応して、第2のフリップフロップユニット130の第2のデータ出力端から出力される目標クロック信号1Bのレベル信号を取得し、遅延値(図2に示す、例えば、Td<1>、Td<2>・・・・・・Td<14>)および第2のデータ出力端から出力される目標クロック信号1Cのレベル信号(図2に示す、P401、P402、P403・・・・・・P414など)を対応して記録する。遅延ユニット110で遅延処理された同期信号1Aの立ち上がりエッジを第2のフリップフロップユニット130のトリガーエッジとするときに、目標クロック信号1Cと遅延値との対応関係を取得する。この対応関係に基づいて、第1のフリップフロップユニット120でメタステーブル状態が出る点を検出することができる。図2に示すように、P407及びP414がメタステーブル状態が最も発生しやすい点である。つまり、遅延値がTd<7>又はTd<14>である場合には、第1のフリップフロップユニット120でメタステーブル状態が出る可能性が最も高い。
【0031】
本発明の実施例において、付加とする第2のフリップフロップユニット130を設けることにより、第2のフリップフロップユニット130の第2のデータ入力端が第1のフリップフロップユニット120の第1のクロック入力端に接続され、第2のフリップフロップユニット130の第2のクロック入力端が第1のフリップフロップユニット120の第1のデータ入力端に接続される。即ち、第2のフリップフロップユニット130の第2のデータ出力端が第1のフリップフロップユニット120のメタステーブル状態検出端として機能し、第1のフリップフロップユニット120のメタステーブル状態を検出することができ、構造が簡単で検出精度が高い。
【0032】
一実施例では、第1のフリップフロップユニット120及び第2のフリップフロップユニット130は両方ともDフリップフロップである。Dフリップフロップは、3つのデータポートD、Q及びCLKを含み、Dはデータ入力端であり、Qはデータ出力端であり、CLKはクロック入力端である。Dフリップフロップのデータ入力端Dは、第1のフリップフロップユニット120の第1のデータ入力端としてもよく、第2のフリップフロップユニット130の第2のデータ入力端としてもよい。Dフリップフロップのデータ出力端Qは、第1のフリップフロップユニット120の第1のデータ出力端としてもよく、第2のフリップフロップユニット130の第2のデータ出力端としてもよい。Dフリップフロップのクロック入力端CLKは、第1のフリップフロップユニット120の第1のクロック入力端としてもよく、第2のフリップフロップユニット130の第2のクロック入力端としてもよい。
【0033】
図3に示すように、一実施例では、前記第1のフリップフロップユニット120は、第1のインバータ121と第1のJKフリップフロップ122とを含む。前記第1のJKフリップフロップ122のJ端は、前記第1のインバータ121を介して前記第1のJKフリップフロップ122のK端に接続される。前記第1のJKフリップフロップ122のクロック端は、前記第1のフリップフロップユニット120の第1のクロック入力端として機能し、前記第1のJKフリップフロップ122のJ端と前記第1のインバータ121の共通接続端とは、前記第1のフリップフロップユニット120の第1のデータ入力端として機能する。
【0034】
前記第2のフリップフロップユニット130は、第2のインバータ131と、第2のJKフリップフロップ132とを含む。前記第2のJKフリップフロップ132のJ端は、前記第2のインバータ131を介して前記第2のJKフリップフロップ132のK端に接続される。前記第2のJKフリップフロップのクロック端は、前記第2のフリップフロップユニット130の第2のクロック入力端として機能し、前記第2のフリップフロップユニット132のJ端及び前記第2のインバータ131の共通接続端は、前記第2のフリップフロップユニット130の第2のデータ入力端として機能する。即ち、第2のJKフリップフロップ132のデータ出力端Qは、第1のJKフリップフロップ122のメタステーブル状態検出端として、第1のJKフリップフロップ122のメタステーブル状態を検出する。
【0035】
本実施例では、JKフリップフロップとインバータでDフリップフロップを構成することにより、メタステーブル状態検出機能を実現する。本実施例の具体的な実現は、上述の実施例と同様であり、ここでその説明が省略される。
なお、第1のフリップフロップユニット120は、第2のフリップフロップユニット130と同様の構成を有することによって、第1のフリップフロップユニット120の出力信号と第2のフリップフロップユニット130の出力信号とが同じ状態を確保する。
【0036】
一実施例では、前記処理モジュール140は、読み取りユニット及びコントローラを含む。読み取りユニットは、第2のフリップフロップユニット130の第2のデータ出力端に接続され、第2のフリップフロップユニット130から出力された前記目標クロック信号1Cを読み取る。一例として、該読み取りユニットは、SPI読み取りモジュールであってもよく、第2のフリップフロップユニット130から出力された目標クロック信号1Cをコントローラに読み取って処理する。
【0037】
コントローラは、前記読み取りユニットおよび前記遅延ユニット110にそれぞれに接続され、前記第1のフリップフロップユニット120のメタステーブル状態を検出する。一例として、該コントローラは、CPU、MCU、FPGAなどの外部装置によって該目標クロック信号1Cを処理することができるプロセッサであってもよい。
【0038】
さらに、該コントローラは、前記目標クロック信号1Cから前記メタステーブル状態を校正する校正遅延値を取得し、前記同期信号1Aを前記校正遅延値で遅延させるように遅延ユニット110を制御してもよい。一例として、図2を参照し、P407(P414)は、第1のフリップフロップユニット120のメタステーブル状態点である。2つのメタステーブル状態点P407、P414から最も離れた点は、これらの中間点P410である。また、P403はメタステーブル状態P407から最も離れた点でもあるので、最大のマージンを有する点として理解されている。最大のマージンを有する点P403又はP410を校正遅延値とすることができる。
【0039】
好ましくは、該コントローラは、第2のデータ出力端から出力される目標クロック信号1Cのレベル信号(図2に示すP401、P402、P403・・・・・・P414など)に応じて、論理で「1」から論理で「0」に変化する位置(P403又はP410)に対応する遅延値を校正遅延値としてもよい。
【0040】
一実施例では、コントローラは、遅延ユニット110の制御ビット<M-1:0>を一定の校正遅延値に設定することによって、該遅延ユニット110が前記同期信号1Aを前記校正遅延値で遅延させる。
【0041】
本実施例では、メタステーブル状態検出装置は、校正遅延値をさらに対応して取得し、該校正遅延値に基づいて第1のフリップフロップユニット120のメタステーブル状態を校正することによって、該第1のフリップフロップユニット120のメタステーブル状態を除去し、第1のフリップフロップユニット120の性能を向上させることができる。
【0042】
上記実施例のメタステーブル状態検出装置によれば、複数のクロックモジュールで同期して発生するメタステーブル状態を検出することができる。この遅延を調整して遅延後に出力される目標クロック信号1Cを検出することで、データ同期の校正を行う。メタステーブル状態検出装置は、ADCの外部に設けてもよく、ADCに組み込んでメタステーブル状態検出機能を有するADCとしてもよい。
【0043】
一例として、メタステーブル状態検出装置は、FPGA(Field Programmable Gate Array)内に配置されてもよい。該メタステーブル状態検出装置のクロック信号1B及び同期信号1Aは、いずれかFPGAによって生成されてもよい。第1のフリップフロップユニット120の第1のデータ出力端は、FPGA内でクロック信号1Bを用いることが必要なモジュールAに接続される。例えば、該モジュールAのリセットRST信号に接続されてもよい。すなわち、低周波数同期信号1Aで高周波数クロック信号1Bをサンプリングし、クロック信号1Bを最終的に復元してもよい。該メタステーブル状態検出ユニットをFPGAに内蔵することで、複数のクロックモジュールで同期して発生するメタステーブル状態を検出することができる。遅延を調整して遅延後に出力される目標クロック信号1Cを検出することで、データ同期の校正を行うことができる。
【0044】
なお、該メタステーブル状態検出装置は、複数のクロックモジュールの同期を必要とする他の電子機器にも適用可能である。
【0045】
図4及び図5に示すように、本発明の実施例は、ADC回路をさらに提供する。一実施例では、ADC回路は、クロックモジュール20と、同期信号モジュール30と、上記いずれかの実施例のメタステーブル状態検出装置10とを含む。
【0046】
クロックモジュール20は、クロック信号1Bを出力する。
【0047】
具体的に、一実施例では、前記クロックモジュール20は、クロック生成ユニット210及び分周ユニット220を含む。クロック生成ユニット210は、前記第1のクロック入力端及び前記第2のデータ入力端にそれぞれに接続され、生成された前記クロック信号1Bを第1のフリップフロップユニット120及び第2のフリップフロップユニット130に提供し、分周ユニット220は、前記クロック生成ユニット210と前記第1のデータ出力端とにそれぞれに接続され、前記第1のフリップフロップユニット120から出力された目標同期信号1Dに対して分周処理を行う。
【0048】
一例として、クロック生成ユニット210は、位相ロックループを有するクロック分配器であってもよく、複数チャネルのクロック信号1Bを出力してもよい。分周ユニット220は、分周器であってもよく、前記第1のフリップフロップユニット120から出力される前記目標同期信号1Dに対して4分周処理又は8分周処理を行ってもよい。
【0049】
なお、本願の実施例において、他のデバイスを用いてクロック分配器及び分周器が実現する機能を実現してもよく、上記の例に限定されない。
【0050】
同期信号モジュール30は、同期信号1Aを出力する。
【0051】
メタステーブル状態検出装置10は、遅延ユニット110と、第1のフリップフロップユニット120と、第2のフリップフロップユニット130と、処理モジュール140とを備える。前記遅延ユニット110の入力端は前記同期信号モジュール30に接続され、前記遅延ユニット110の出力端は前記第1のデータ入力端及び前記第2のクロック入力端にそれぞれに接続される。前記第1のクロック入力端、前記第2のデータ入力端及び前記第1のデータ出力端は、それぞれに前記クロックモジュール20に接続されている。
【0052】
本実施例では、ADC回路にメタステーブル状態検出装置10が設けられている。メタステーブル状態検出装置10の第2のフリップフロップユニット130の第2のデータ入力端が第1のフリップフロップユニット120の第1のクロック入力端に接続され、第2のフリップフロップユニット130の第2のクロック入力端が第1のフリップフロップユニット120の第1のデータ入力端に接続される。すなわち、第2のフリップフロップユニット130の第2のデータ出力端は、第1のフリップフロップユニット120のメタステーブル状態検出端とし、第1のフリップフロップユニット120のメタステーブル状態を検出する。このため、ADC回路は、メタステーブル状態検出機能を有し、かつ構成が簡単で検出精度が高い。
【0053】
本願の実施例は、メタステーブル状態検出方法をさらに提供する。一実施例では、メタステーブル状態検出方法は、メタステーブル状態検出装置に適用される。図1及び図3に示すように、前記メタステーブル状態検出装置は、遅延ユニット110、第1のフリップフロップユニット120及び第2のフリップフロップユニット130を含む。前記第1のフリップフロップユニットのクロック入力端は、第2のフリップフロップユニットのデータ入力端に接続され、クロック信号1Bを受信する。前記第1のフリップフロップユニットのデータ入力端と第2のフリップフロップユニットのクロック入力端は、それぞれに前記遅延ユニットに接続され、遅延処理された同期信号1Aを受信する。
【0054】
図6に示すように、メタステーブル状態検出方法は、ステップ602からステップ606を含む。
【0055】
ステップ602:前記遅延ユニットを制御して、受信した同期信号を予め設定された遅延値で遅延させる。
【0056】
一実施例では、遅延ユニットはDSYNCと呼ばれるレジスタを含み得る。レジスタの制御ビットは<M-1:0>とする。そのうち、Mはレジスタの制御ビットの数であり、<M-1:0>はM個の制御ビットを有し、合計2^M個のレジスタ値を示す。制御値が0の場合、遅延ユニット110が同期信号1Aを遅延して処理する遅延値はTd<1>であり、制御値が1の場合、遅延ユニット110が同期信号1Aを遅延して処理する遅延値はTd<2>である。このように、制御値がM-1の場合、遅延ユニット110が同期信号1Aを遅延して処理する遅延値はTd<M>である。なお、遅延ユニット110が同期信号1Aを遅延して処理する各遅延値は、予め設定された段階に応じて設定される。遅延値Td<1>は遅延値Td<2>より小さく、遅延値Td2は遅延値Td<3>より小さい。例えば、Td<1><Td<2>・・・・・・<Td<M-1><Td<M>である。
【0057】
なお、隣接する任意の2つの遅延値の差は同じである。つまり、Td<2>-Td<1>=Td<M>-Td<M-1>である。好ましくは、隣接する任意の2つの遅延値の差が同一でなくてもよい。本発明において、隣接する2つの遅延値の差は、さらに限定されない。
【0058】
ステップ604:各遅延値に対応して、前記第2のフリップフロップユニットから出力される目標クロック信号を記録する。
【0059】
一実施例では、DSYNC<M-1:0>=0と設定し、同期信号1A(SYNCパルス)を遅延ユニットに送信し、第2のフリップフロップユニットの第2のデータ出力端で目標クロック信号1Bのレベル信号をテストする。遅延値Td<1>に対応して、第2のフリップフロップユニットの第2のデータ出力端から出力される目標クロック信号1Cのレベル信号P401を記録する。これに応じて、DSYNC<M-1:0>の値が1で増加し、即ち、DSYNC<M-1:0>=1となる。遅延値Td<2>に対応して、第2のフリップフロップユニットの第2のデータ出力端から出力される目標クロック信号1Cのレベル信号P402を記録し、DSYNC<M-1:0>の値が2^Mで増加するまで繰り返す。すなわち、DSYNC<M-1:0>=2^Mとなる。一例として、遅延値(図2のTd<1>、Td<2>、・・・・・Td<14>)および第2のデータ出力端から出力される目標クロック信号1Bのレベル信号(図2のP401、P402、P403・・・・・・P414等)を対応して記録してもよい。
【0060】
ステップ606:記録された前記遅延値と前記目標クロック信号との対応関係に基づいて、前記第1のフリップフロップユニットのメタステーブル状態を検出する。
【0061】
一実施例では、記録された前記遅延値と前記目標クロック信号1Cとの対応関係に基づいて、前記第1のフリップフロップユニットのメタステーブル状態を検出することは、遅延された前記同期信号1Aの立ち上がりエッジ又は立ち下がりエッジがトリガーエッジとして第1のフリップフロップユニットに入力されると、前記目標クロック信号1Cを記録し、記録された前記目標クロック信号からセットアップ/ホールドタイムウィンドウ内の遅延値を取得し、セットアップ/ホールドタイムウィンドウ内の遅延値は、前記第1のフリップフロップユニットのメタステーブル状態とし、目標クロック信号1Cは、前記クロック信号の位相情報を反映すること、を含む。
【0062】
具体的には、ある値で遅延された同期信号1Aの立ち上がりエッジ又は立ち下がりエッジがトリガーエッジとして第1のフリップフロップユニットに入力され、前記クロック信号1Bの位相情報を反映した第1のフリップフロップユニットの出力を記録する場合には、遅延値とクロック位相出力との関係に基づいて、セットアップ/ホールドタイムウィンドウ(最もメタステーブル状態が発生しやすいウィンドウ)内の遅延値を検出メタステーブル状態とする。遅延ユニットで遅延処理された同期信号1Aの立ち上がりエッジを第2のフリップフロップユニットのトリガーエッジとする場合に、目標クロック信号1Cと遅延値との対応関係を取得し、この対応関係に基づいて第1のフリップフロップユニットでメタステーブル状態が出る点を検出する。図2に示すように、P407及びP414がメタステーブル状態が最も発生しやすい点である。つまり、遅延値がTd<7>又はTd<14>であるときに第1のフリップフロップユニットでメタステーブル状態が出る可能性が最も高い。
【0063】
一実施例では、メタステーブル状態検出方法は、前記第1のフリップフロップユニットのメタステーブル状態を校正するステップをさらに含む。
【0064】
特に、前記第1のフリップフロップユニットのメタステーブル状態を校正することは、以下のステップを含む。
【0065】
ステップ702:記録した前記目標クロック信号から、前で論理「1」からその後で論理「0」に遷移するウィンドウ内の遅延値を取得する。
【0066】
ステップ704:前で論理「1」からその後で論理「0」への遷移に対応する遅延値を校正値とする。
【0067】
図2を参照し、P407(P414)は第1のフリップフロップユニットのメタステーブル状態点である。2つのメタステーブル状態点P407、P414から最も離れた点は、これらの中間点P410である。同様に、P403は、メタステーブル状態点P407から最も遠い点でもあるので、最大のマージンを有する点として理解されている。最大のマージンを有する点P403又はP410を校正遅延値とすることができる。
【0068】
好ましくは、該コントローラは、第2のデータ出力端から出力される目標クロック信号1Cのレベル信号(図2のP401、P402、P403・・・・・P414等)に応じて、前で論理「1」からその後で論理「0」に遷移する位置(P403又はP410)に対応する遅延値を校正遅延値としてもよい。
【0069】
ステップ706:前記遅延ユニットを制御して、前記同期信号1Aを前記校正値で遅延させる。
【0070】
該遅延ユニットの制御ビット<M-1:0>は、一定の校正遅延値に設定され、該遅延ユニットが前記同期信号1Aを前記校正遅延値で遅延させる。
【0071】
また、前記校正値が複数ある場合には、最小値を有する校正値を目標校正値として選択する。該遅延ユニットは、制御ビット<M-1:0>を一定の目標校正値とすることによって、該遅延ユニットに目標校正値で前記同期信号1Aを遅延させ、第1のフリップフロップユニットのメタステーブル状態を解消する。
【0072】
本実施例では、メタステーブル状態検出方法は、校正遅延値をさらに対応して取得し、該校正遅延値に基づいて該第1のフリップフロップユニットのメタステーブル状態を校正することにより、該第1のフリップフロップユニットのメタステーブル状態を除去し、第1のフリップフロップユニットの性能を向上させることができる。
【0073】
一実施例では、メタステーブル状態検出方法は、前記クロック信号1Bのクロックモードが変化したかどうかを検出するステップと、前記クロックモードが変化したとき、前記第1のフリップフロップユニットのメタステーブル状態を再校正するステップとをさらに含む。
【0074】
具体的には、クロックモードは、シングルチャネルモード、デュアルチャネルモード、4チャネルモード及び他のモードを含む。クロックモードが変化すると、そのクロック信号1Bの位相も変化する。この場合、第1のフリップフロップユニットのメタステーブル状態を再校正する必要がある。再校正のステップについては、上記のステップ702から706を参照し、ここでは繰り返さない。
【0075】
本実施例のメタステーブル状態検出方法では、クロックモードが変化した場合に、第1のフリップフロップユニットのメタステーブル状態を再校正するので、第1のフリップフロップユニットの性能を向上させる。
【0076】
上記実施例の技術的特徴は、任意に組み合わせることができる。簡潔な説明を提供するために、上記の実施例における様々な技術的特徴の全ての可能な組み合わせは説明されていない。しかしながら、これらの技術的特徴の組み合わせは、矛盾がない限り、本明細書の範囲内にあるとみなされるべきである。本出願における「実施例において」、「例えば」、「または」などの用語は、本出願を例示することを意図しており、本出願を限定することを意図していないことに留意されたい。
【0077】
上記実施例は、本発明のいくつかの実施例を示しているに過ぎない。これらの実施例の説明は、特定の詳細なものであり、本発明の特許請求の範囲を制限するものとして解釈されるべきではない。なお、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。したがって、本発明の特許保護される範囲は、添付の特許請求の範囲によって規定されるべきである。
図1
図2
図3
図4
図5
図6
図7
【国際調査報告】