(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024124187
(43)【公開日】2024-09-12
(54)【発明の名称】メタステーブル回避型同期化回路
(51)【国際特許分類】
H04L 7/033 20060101AFI20240905BHJP
【FI】
H04L7/033 700
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023032185
(22)【出願日】2023-03-02
(71)【出願人】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】泉 貴志
【テーマコード(参考)】
5K047
【Fターム(参考)】
5K047AA12
5K047GG28
5K047GG45
5K047MM40
(57)【要約】
【課題】複数ビットに新旧データが混在する不正なデータが同期化後データとして出力されること。
【解決手段】メタステーブル回避型同期化回路は、クロックを2
n逓倍(n:正整数)した2
n逓倍クロックを生成する位相同期部と、複数ビットから構成される入力データを前記2
n逓倍クロックに同期して順次取り込むシフトレジスタと、前記シフトレジスタに取り込まれた前記入力データが順次にシフトされる過程における不正なデータの発生を検出し、前記不正なデータが前記シフトレジスタから出力される期間以外の期間でアクティブになるイネーブル信号を生成する不正データ除去EN生成回路と、前記シフトレジスタから出力される複数ビットのデータを、前記イネーブル信号がアクティブであることを条件に前記クロックに同期してラッチして出力する最終段フリップフロップと、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
クロックを2n逓倍(n:正整数)した2n逓倍クロックを生成する位相同期部と、
複数ビットから構成される入力データを前記2n逓倍クロックに同期して順次取り込むシフトレジスタと、
前記シフトレジスタに取り込まれた前記入力データが順次にシフトされる過程における不正なデータの発生を検出し、前記不正なデータが前記シフトレジスタから出力される期間以外の期間でアクティブになるイネーブル信号を生成する不正データ除去EN生成回路と、
前記シフトレジスタから出力される複数ビットのデータを、前記イネーブル信号がアクティブであることを条件に前記クロックに同期してラッチして出力する最終段フリップフロップと、
を備えるメタステーブル回避型同期化回路。
【請求項2】
前記不正データ除去EN生成回路は、
前記シフトレジスタの2段目信号と3段目信号間で何れかのビットの値が変化したか否かを検出する比較器と、
前記比較器の出力と、前記比較器の出力を前記2n逓倍クロックで1クロックシフトした信号との論理和信号を前記イネーブル信号として生成するEN生成回路と、
を備える、
請求項1に記載のメタステーブル回避型同期化回路。
【請求項3】
前記クロックは、前記入力データを制御するクロックより周波数が高いクロックである、
請求項2に記載のメタステーブル回避型同期化回路。
【請求項4】
前記nは3である、
請求項1乃至3の何れかに記載のメタステーブル回避型同期化回路。
【請求項5】
クロックを2n逓倍(n:正整数)した2n逓倍クロックを生成することと、
複数ビットから構成される入力データを前記2n逓倍クロックに同期して順次シフトすることと、
前記入力データが順次にシフトされる過程における不正なデータの発生を検出し、前記不正なデータが出力される期間以外の期間でアクティブになるイネーブル信号を生成することと、
前記入力データを順次シフトして得られる複数ビットのデータを、前記イネーブル信号がアクティブであることを条件に前記クロックに同期してラッチして出力することと、
を含むメタステーブル回避型同期化方法。
【請求項6】
メタステーブル回避型同期化回路のコンピュータに、
クロックを2n逓倍(n:正整数)した2n逓倍クロックを生成することと、
複数ビットから構成される入力データを前記2n逓倍クロックに同期して順次シフトすることと、
前記入力データが順次にシフトされる過程における不正なデータの発生を検出し、前記不正なデータが出力される期間以外の期間でアクティブになるイネーブル信号を生成することと、
前記入力データを順次シフトして得られる複数ビットのデータを、前記イネーブル信号がアクティブであることを条件に前記クロックに同期してラッチして出力することと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メタステーブル回避型同期化回路、メタステーブル回避型同期化方法、および、プログラムに関する。
【背景技術】
【0002】
電気・電子通信分野において使用する通信機器は、種々の機能を実現するために、機能毎に異なる論理回路モジュールに分割して異なるクロックを用いて構成することがある。このような通信機器においては、論理回路モジュール間に非同期の信号を転送するために、非同期信号を同期化するための同期化回路が必要になる。
【0003】
しかし、同期化回路に入力される信号とクロックとの立ち上がりや立下りのタイミングが近接した状態であると、信号レベルが”L”と”H”との閾値の中間的な電圧を継続するメタステーブルが発生して、出力信号が不安定になることがある。そのため、非同期入力については、メタステーブルが発生しても、回路動作に影響を与えないような対策が必要にある。
【0004】
メタステーブルを回避した同期化機能を持つメタステーブル回避型同期化回路として、論理回路モジュール間で異なる周波数のクロック間で非同期転送をする場合には、受信側クロックで動作するフリップフロップ(以下、FFと記す)を2段構成としたものが提案されている(例えば特許文献1の段落0004)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述したFF2段構成の同期化回路では、入力される信号が複数ビットで構成される場合、メタステーブル状態安定後に複数ビットに新旧データが混在する状態が発生し、そのような不正な出力データが同期化後のデータとして出力される可能性がある。
【0007】
本発明の目的は、上述した課題、すなわち、複数ビットに新旧データが混在する不正なデータが同期化後データとして出力されることがある、という課題を解決するメタステーブル回避型同期化回路を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一形態に係るメタステーブル回避型同期化回路は、
クロックを2n逓倍(n:正整数)した2n逓倍クロックを生成する位相同期部と、
複数ビットから構成される入力データを前記2n逓倍クロックに同期して順次取り込むシフトレジスタと、
前記シフトレジスタに取り込まれた前記入力データが順次にシフトされる過程における不正なデータの発生を検出し、前記不正なデータが前記シフトレジスタから出力される期間以外の期間でアクティブになるイネーブル信号を生成する不正データ除去EN生成回路と、
前記シフトレジスタから出力される複数ビットのデータを、前記イネーブル信号がアクティブであることを条件に前記クロックに同期してラッチして出力する最終段フリップフロップと、
を備えるように構成されている。
【0009】
また、本発明の他の形態に係るメタステーブル回避型同期化方法は、
クロックを2n逓倍(n:正整数)した2n逓倍クロックを生成することと、
複数ビットから構成される入力データを前記2n逓倍クロックに同期して順次シフトすることと、
前記入力データが順次にシフトされる過程における不正なデータの発生を検出し、前記不正なデータが出力される期間以外の期間でアクティブになるイネーブル信号を生成することと、
前記入力データを順次シフトして得られる複数ビットのデータを、前記イネーブル信号がアクティブであることを条件に前記クロックに同期してラッチして出力することと、
を含むように構成されている。
【0010】
また、本発明の他の形態に係るプログラムは、
メタステーブル回避型同期化回路のコンピュータに、
クロックを2n逓倍(n:正整数)した2n逓倍クロックを生成することと、
複数ビットから構成される入力データを前記2n逓倍クロックに同期して順次シフトすることと、
前記入力データが順次にシフトされる過程における不正なデータの発生を検出し、前記不正なデータが出力される期間以外の期間でアクティブになるイネーブル信号を生成することと、
前記入力データを順次シフトして得られる複数ビットのデータを、前記イネーブル信号がアクティブであることを条件に前記クロックに同期してラッチして出力することと、
を実行させるように構成されている。
【発明の効果】
【0011】
本発明は、上述したような構成を有することにより、複数ビットに新旧データが混在する不正なデータが同期化後データとして出力されるのを防止することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の第1の実施の形態に係るメタステーブル回避型同期化回路のブロック図である。
【
図2】本発明の第1の実施の形態に係るメタステーブル回避型同期化回路内の不正データ除去EN生成回路の一例を示す回路図である。
【
図3】2段のFFによって構成されたメタステーブル回避型同期化回路における複数ビットデータの同期化タイミングの一例を示す図である。
【
図4】本発明の第1の実施の形態に係るメタステーブル回避型同期化回路における複数ビットデータの同期化タイミングの一例を示す図である。
【
図5】本発明の第1の実施の形態に係るメタステーブル回避型同期化回路における複数ビットデータの同期化タイミングの別の例を示す図である。
【
図6】本発明の第1の実施の形態に係るメタステーブル回避型同期化回路における複数ビットデータの同期化タイミングのさらに別の例を示す図である。
【発明を実施するための形態】
【0013】
[第1の実施の形態]
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。本発明の第1の実施の形態では、或る周波数の入力側クロックで制御される複数ビットの入力DATA_INに対し、入力側クロックよりも高い周波数の出力側クロックで制御される出力DATA_OUTの同期化について説明している。説明の便宜上、ブロック図については、n+1ビット信号として記載し、タイミング図については[1:0]の2ビット信号として記載する。
【0014】
[構成の説明]
図1は、本発明の第1の実施の形態に係るメタステーブル回避型同期化回路の一例を示すブロック図である。本実施の形態に係るメタステーブル回避型同期化回路は、PLL(Phase Locked Loop)110と、シフトレジスタ120と、不正データ除去イネーブル信号生成回路(以下、不正データ除去EN生成回路と記す)140と、最終段FF170とを含んで構成されている。
【0015】
PLL110は、クロックCLK1を基に、それと同じ周波数のx1クロック111と、その8倍の周波数を有する8逓倍クロック112とを生成する。PLL110で生成されたx1クロック111は最終段FF170へ出力される。PLL110で生成された8逓倍クロック112は、シフトレジスタ120および不正データ除去EN生成回路140へ出力される。PLL110は、位相同期部とも称する。
【0016】
シフトレジスタ120は、複数ビット入力信号であるDATA_IN[n:0]信号を、8逓倍クロック112に同期して順次に取り込む3段のシフトレジスタである。シフトレジスタ120内部の信号のうち、121はDATA_IN[0]の同期化FF1段目通過信号、122はDATA_IN[0]の同期化FF2段目通過信号、123はDATA_IN[0]の同期化FF3段目通過信号、131はDATA_IN[n]の同期化FF1段目通過信号、132はDATA_IN[n]の同期化FF2段目通過信号、133はDATA_IN[n]の同期化FF3段目通過信号である。
図1では、シフトレジスタ120を構成する各段のFFのうち、DATA_IN[n:0]信号の最下位ビットおよび最上位ビットに対応するFFとその出力のみ図示されている。また、シフトレジスタ120の2段目信号162は、DATA_IN[n:0]の同期化FF2段目通過信号122、・・・、132であり、不正データ除去EN生成回路140へ出力される。また、シフトレジスタ120の3段目(最終段)信号163は、DATA_IN[n:0]の同期化FF2段目通過信号123、・・・、133であり、不正データ除去EN生成回路140および最終段FF170へ出力される。
【0017】
不正データ除去EN生成回路140は、8逓倍クロック112に同期して動作し、シフトレジスタ120の2段目信号162および3段目信号163を基に、ビット毎によるメタステーブルの有無によって生じる不正データを除去するためのイネーブル信号155を生成して、最終段FF170へ出力するように構成されている。
【0018】
最終段FF170は、DATA_IN[n:0]信号を、最終的に必要とするクロックCLK1にクロック同期するタイミングに乗せ換えるためのFFである。最終段FF170を構成する各FFは、クロック入力端子とイネーブル端子(以下、EN端子と記す)と入力端子と出力端子とを有し、クロック入力端子にx1クロック111が入力され、EN端子に不正データ除去EN生成回路155から出力されるイネーブル信号155が入力され、入力端子にシフトレジスタ120の出力信号163が入力される。また、最終段FF170を構成する各FFの出力端子から、クロックCLK1に同期したDATA_OUT[n:0]信号が出力される。
【0019】
図2は、不正データ除去EN生成回路140の一例を示すブロック図である。この例の不正データ除去EN生成回路140は、比較器141とイネーブル信号生成回路(以下、EN生成回路と記す)142とを含んで構成されている。
【0020】
比較器141は、シフトレジスタ120から2段目信号162および3段目信号163を入力し、DATA_IN[n:0]信号の何れかのビットがシフトレジスタ120の2段目と3段目とで値が切り替わったかどうかを判断するように構成されている。比較器141は、DATA_IN[n:0]信号のビット毎に2段目信号と3段目信号との排他的論理和をとるEXOR回路と、全てのEXOR回路の出力151、・・・、152の論理積をとるAND回路とを備え、AND回路の出力153を比較器141の出力としてEN生成回路142に出力する。
【0021】
EN生成回路142は、比較器141の出力153を入力し、DATA_IN[n:0]信号の複数のビットが別タイミングで切り替わったことを検出することで不正データを除去するための信号155を生成して出力する。EN生成回路142は、比較器141の出力153を8逓倍クロック112の1クロックだけシフトした信号154を生成するFFと、この信号154と比較器141の出力153との論理和をとるオアゲートとを備える。
【0022】
続いて、本実施の形態に係るメタステーブル回避型同期化回路の動作を説明する前に、背景技術で言及した2段構成の同期化回路の動作を説明する。
【0023】
図3は、2段構成の同期化回路による複数ビットデータの同期化のタイミング図である。説明の便宜上、DATA_IN[n:0]信号は2ビット幅のDATA_IN[1:0]信号とする。また、DATA_IN[1:0]信号が00(LL)から11(HH)に切り替わる場合を例にしている。
【0024】
図3を参照すると、T10のタイミングでDATA_IN[1:0]信号をクロックCLK1で1段目のFFに取り込む際、非同期クロック間信号によるメタステーブルが発生し、ビット[0]は”H”側に安定し、ビット[1]は”L”側に安定している。結果として、T20のタイミングでラッチされる2段目のFFの出力は、ビット[0]が新データ側に安定し、ビット[1]が旧データ側に安定し、両者で1クロックの差異が生じた不正なデータとなっている。2段目のFFから同期化後の正確なDATA_OUT信号が得られるのは、
図3を参照すると、タイミングT30以降である。タイミングT20からタイミングT30までの期間は、新旧データが混在する期間となる。
【0025】
このように2段構成の同期化回路では、不正なデータの取り込みを防止するためには、十分な時間経過後にDATA_OUT信号を取り込む必要があり、遅延量が増大する。
【0026】
続いて、本実施の形態に係るメタステーブル回避型同期化回路の動作を説明する。
【0027】
図1において、先ず、クロックCLK1を基に、PLL110にて、x1クロック111、8逓倍クロック112を生成する。
【0028】
入力信号であるDATA_IN信号は、8逓倍クロック112に同期して、3段のシフトレジスタ120へ順次に取り込まれる。
【0029】
シフトレジスタ120からは、例えばビット[0]の場合、シフトレジスタ2段目信号122と3段目信号123を不正データ除去EN生成回路140に送る。また、ビット[n]の場合、シフトレジスタ2段目信号132と3段目信号133を不正データ除去EN生成回路140に送る。残りの他のビットも同様である。
【0030】
不正データ除去EN生成回路140では、8逓倍クロック112に同期した不正データ除去EN信号155を生成する。このときの動作は後述する。
【0031】
最終段FF170は、最終的に必要とするクロックCLK1に同期したタイミングにデータを載せ替える。この最終段FF170のデータ更新条件を不正データ除去EN信号155=“L”とすることで、不正データの後段への流出を防ぐ。最終段FF170は、不正データ除去EN信号155とは同期関係にあるため、1段FFとする。
【0032】
図2を参照して、不正データ除去EN生成回路140の動作を説明する。シフトレジスタ120のビット[0]の2段目信号122と3段目信号123とを比較器141の対応するEXORゲートに入力する。すると、EXORゲートの出力151は、2段目信号122が”H”且つ3段目信号123が”L”、または2段目信号122が”L”且つ3段目信号123が”H”のときに限り、出力151が”L”となる。即ち、出力151はビット[0]が”L”から”H”または”H”から”L”に変化したときに”L”になり、そのような変化がないときは”H”になる。
【0033】
また、シフトレジスタ120のビット[n]の2段目信号132と3段目信号133とを比較器141の対応するEXORゲートに入力する。すると、EXORゲートの出力152は、2段目信号132が”H”且つ3段目信号133が”L”、または2段目信号132が”L”且つ3段目信号133が”H”のときに限り、出力152が”L”となる。即ち、出力152はビット[n]が”L”から”H”または”H”から”L”に変化したときに”L”になり、そのような変化がないときは”H”になる。
【0034】
シフトレジスタ120のビット[0]、[n]以外の残りのビットについても、出力151、152と同様に変化したときに限って”L”となる信号が対応するEXORゲートで生成される。
【0035】
上記ビット毎に生成した変化ありの時に”L“となる信号151、・・、152は、比較器141の論理積ゲートに入力され、そこで全ビットの論理積信号153が生成される。この論理積信号153は、いずれかのビットで変化があった時に”L“となる信号である。次に、この信号153と、この信号を8逓倍クロック112で1Tシフトした信号154との論理和を論理和ゲートでとることにより、2T連続でいずれかのビットで変化があった時に”L“となる信号155を生成する。そして、この信号155を不正データ除去EN信号とする。
【0036】
2T連続でいずれかのビットで変化があった時の複数ビットデータは、旧の値→メタステーブルの影響によりビット毎に新旧混在するデータ(不正データ)→新の値、というように切り替わっていることを示している。前述で生成した“不正データ除去EN信号”はこの不正データ期間のみ“L”(非アクティブ)となる信号となる。換言すれば、“不正データ除去EN信号”は不正データ期間以外の期間で“H”(アクティブ)となる信号である。
【0037】
図4は、本実施の形態に係るメタステーブル回避型同期化回路のタイミング図の一例である。
図4では、
図3と同様に、2ビット幅のデータDATA_IN[1:0]が00から11に切り替わる場合を例に取り上げたものである。
【0038】
図4を参照すると、T10のタイミングで、DATA_IN[1:0]信号をクロック112で取り込む際、非同期クロック間信号によるメタステーブルが発生し、ビット[0]のシフトレジスタ1段目の出力121は”H”に安定し、ビット[1]のシフトレジスタ1段目の出力131は“L”に安定している。
【0039】
ビット[0]の“H”に安定した信号121は、後段の2段のシフトレジスタにより信号122、信号123となる。
【0040】
信号151は、
図2の比較器141の論理に従い、信号122と信号123の値が異なるT11-T12間で“L”となる。
【0041】
同様にビット[1]の“L”に安定した信号131は、後段の2段のシフトレジスタにより信号132、信号133となる。
【0042】
信号152は、
図2の比較器141の論理に従い、信号132と信号133の値が異なるT12-T13間で“L”となる。
【0043】
信号153は、信号151と信号152とをANDした信号であり、T11-T13間で“L”になる信号である。
【0044】
図2のEN生成回路142により、信号153と、1クロックシフトした信号154とのORをとり、信号155を生成する。よって、信号155は異なるビットが異なるタイミングで変化したときに1Tだけ“L”となる信号である。
【0045】
図4において、信号161は、DATA_IN[1:0]のシフトレジスタ1段目の信号、信号162は、DATA_IN[1:0]のシフトレジスタ2段目の信号、信号163は、DATA_IN[1:0]のシフトレジスタ3段目の信号である。信号163の値が“01”となるT12‐T13期間が新旧のデータが混在する不正データとなり、このタイミングと同タイミングで信号155が”L”となる。
【0046】
DATA_OUT[1:0]信号は、
図1の最終段FF170の出力であり、クロックCLK1の立ち上がりタイミングであるT20のタイミングで信号155=”H”を条件に、信号163をラッチすることで生成される。その結果、DATA_IN信号から、クロックCLK1同期のDATA_OUT信号へのクロック乗せ替えが完了する。
【0047】
図5、
図6は、DATA_IN[1:0]の切り替わりの別タイミング図である。このうち、
図5は、
図4のT10のタイミングよりクロック122で5T遅い、T15のタイミングでDATA_IN[1:0]の切り替わりが起きた時のタイミング図である。
図5に示すようなタイミングでメタステーブルの影響による不正データが検出された場合は、T20のタイミングが不正データとなるため、T20のタイミングではデータ更新は行われず、T30のタイミングで新データを更新する。
【0048】
図6は、
図4のT10のタイミングよりクロック122で4T遅い、T14のタイミングでDATA_IN[1:0]の切り替わりが起きた時のタイミング図である。
図6に示すようなタイミングでメタステーブルの影響による不正データが検出された場合でも、T20のタイミングには新データが確定しているため、T20のタイミングでデータ更新が行われる。
【0049】
すなわち、
図3を参照して説明したようにフリップフロップ2段構成の同期化回路では、同期化完了までT10-T30のクロックCLK1で2Tの時間が必要であるが、本実施の形態に係る同期化回路では、最短T14-T20のクロックCLK1で、0.5T時間で同期化を完了することができる。
【0050】
[発明の他の実施の形態]
以上、本発明の実施の形態を参照して本発明を説明したが、本発明は、上述した実施の形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解しうる様々な変更をすることができる。
【0051】
例えば、上記実施の形態では、シフトレジスタ120および不正データ除去EN生成回路140は、クロックCLK1の8逓倍クロックに同期して動作させた。しかし、シフトレジスタ120および不正データ除去EN生成回路140は、一般的に、クロックCLK1の2n逓倍クロック(nは正の整数)に同期して動作させてよい。例えば、16逓倍クロック(n=4)など、8逓倍クロック(n=3)よりも逓倍率をさらに上げることで同期化完了までの時間を上記実施の形態より短縮することが可能である。
【0052】
また、シフトレジスタ120は、3段構成に限定されず、4段以上の段数を有していてよい。
【0053】
また、メタステーブル回避型同期化回路は、内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、メタステーブル回避型同期化回路による上記処理が行われるようにしてよい。コンピュータは、例えば、CPU(Central Processing Unit)、メインメモリ、ストレージ、インタフェースから構成することができるが、それに限定されない。
【0054】
また、上述したCPUの代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating number Processing Unit)、PPU((Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。
【産業上の利用可能性】
【0055】
異なる周波数のクロックで動作する論理回路モジュール間で非同期転送する際に発生し得るメタステーブルによる影響を回避する同期化回路全般に利用できる。
【符号の説明】
【0056】
110 PLL
111 クロックCLK1と同じ周波数のクロック
112 クロックCLK1の8逓倍クロック
120 シフトレジスタ
121 DATA_IN[0]の同期化FF1段目通過後信号
122 DATA_IN[0]の同期化FF2段目通過後信号
123 DATA_IN[0]の同期化FF3段目通過後信号
131 DATA_IN[n]の同期化FF1段目通過後信号
132 DATA_IN[n]の同期化FF2段目通過後信号
133 DATA_IN[n]の同期化FF3段目通過後信号
140 不正データ除去EN生成回路
155 不正データ除去EN信号
170 最終段FF