(57)【要約】【課題】高速シリアル・データ間のサイクルずれを検出する。【解決手段】シリアル・データ間のサイクルずれ検出装置が、高速シリアル・データである第１測定信号および第２測定信号をパラレル・データに変換するシリアル／パラレル変換器１６、１８と、シリアル／パラレル変換器１６、１８からパラレル・データを受けて記録し、先に記録したものから出力するＦＩＦＯ２０、２２と、ＦＩＦＯ２０、２２からパラレル・データを受け、任意のパターンが存在する位置を検出する任意パターン検出部２４、２６と、任意パターン検出部２４、２６の検出結果に基づき、シリアル・データの間におけるサイクルずれの有無を判定するサイクルずれ判定部３０とを備える。【選択図】図１
2009239954.tif 000002
【特許請求の範囲】
【請求項１】
複数シリアル・データの各々をパラレル・データに変換する複数のシリアル／パラレル変換器と、
前記シリアル／パラレル変換器の各々からパラレル・データを受けて記録し、先に記録したものから出力する複数のＦＩＦＯと、
前記ＦＩＦＯの各々から前記パラレル・データを受け、任意のパターンが存在する位置を検出する複数の任意パターン検出部と、
前記任意パターン検出部の各々の検出結果に基づき、前記シリアル・データの間におけるサイクルずれの有無を判定するサイクルずれ判定部と、
を備えたシリアル・データ間のサイクルずれ検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速シリアル・データ間のサイクルずれの検出に関する。
【背景技術】
【０００２】
複数の高速なシリアル・データを並行して伝送する場合、シリアル・データの各々において、サイクルずれ（任意のパターンが出現する時点のずれ）が発生することがある（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１１６２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、高速シリアル・データ間のサイクルずれを検出することを課題とする。
【課題を解決するための手段】
【０００５】
本発明は、複数シリアル・データの各々をパラレル・データに変換する複数のシリアル／パラレル変換器と、前記シリアル／パラレル変換器の各々からパラレル・データを受けて記録し、先に記録したものから出力する複数のＦＩＦＯと、前記ＦＩＦＯの各々から前記パラレル・データを受け、任意のパターンが存在する位置を検出する複数の任意パターン検出部と、前記任意パターン検出部の各々の検出結果に基づき、前記シリアル・データの間におけるサイクルずれの有無を判定するサイクルずれ判定部とを備えるように構成される。
【０００６】
上記のように構成されたシリアル・データ間のサイクルずれ検出装置によれば、複数のシリアル／パラレル変換器が、複数シリアル・データの各々をパラレル・データに変換する。複数のＦＩＦＯが、前記シリアル／パラレル変換器の各々からパラレル・データを受けて記録し、先に記録したものから出力する。複数の任意パターン検出部が、前記ＦＩＦＯの各々から前記パラレル・データを受け、任意のパターンが存在する位置を検出する。サイクルずれ判定部が、前記任意パターン検出部の各々の検出結果に基づき、前記シリアル・データの間におけるサイクルずれの有無を判定する。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態にかかるシリアル・データ間のサイクルずれ検出装置の構成を示す機能ブロック図である。
【図２】シリアル・データ間のサイクルずれ検出装置における信号のタイムチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態を図面を参照しながら説明する。
【０００９】
図１は、本発明の実施形態にかかるシリアル・データ間のサイクルずれ検出装置の構成を示す機能ブロック図である。シリアル・データ間のサイクルずれ検出装置は、シンクロナイザ１２、１４、シリアル／パラレル変換器１６、１８、ＦＩＦＯ２０、２２、任意パターン検出部２４、２６、ＦＩＦＯ読み出し制御部２８、サイクルずれ判定部３０を備える。
【００１０】
なお、本発明の実施形態においては、シリアル／パラレル変換器、ＦＩＦＯおよび任意パターン検出部が２個づつである。しかし、シリアル／パラレル変換器、ＦＩＦＯおよび任意パターン検出部が３個以上づつあってもかまわない。
【００１１】
シンクロナイザ１２は、高速クロック（図２（ａ）参照）と、測定開始信号（図２（ｂ）参照）とを受けて、測定開始信号を高速クロックの立ち上がりのタイミングにあわせて出力する。
【００１２】
シンクロナイザ１４は、高速クロック（図２（ａ）参照）と、シンクロナイザ１２の出力とを受けて、シンクロナイザ１２の出力を高速クロックの立ち上がりのタイミングにあわせて出力する。
【００１３】
シンクロナイザ１２、１４により、測定開始信号が、高速クロックの立ち上がりのタイミングにあわせて同期化されて、シリアル／パラレル変換器１６、１８に与えられる。
【００１４】
シリアル／パラレル変換器１６は、第１測定信号（高速なシリアル・データ）を端子ＤＩに受け、２ビットのパラレル・データに変換して端子ＤＯから出力する。ただし、端子ＥＮＯからの出力に合わせて、端子ＤＯからの出力が行われる。なお、シリアル／パラレル変換器１６の端子ＥＮＩには、シンクロナイザ１４の出力が与えられ、その後、端子ＤＩによる第１測定信号の受け入れが開始される。また、シリアル／パラレル変換器１６は、高速クロックを受けて、高速クロックのタイミングに合わせて動作する。
【００１５】
シリアル／パラレル変換器１８は、第２測定信号（高速なシリアル・データ）を端子ＤＩに受け、２ビットのパラレル・データに変換して端子ＤＯから出力する。他の構成は、シリアル／パラレル変換器１６と同様であり、説明を省略する。
【００１６】
ＦＩＦＯ(first-in first-out)２０は、シリアル／パラレル変換器１６からパラレル・データを端子ＤＩに受けて記録し、先に記録したものから順に端子ＤＯから出力する。なお、ＦＩＦＯ２０の端子ＷＥには、シリアル／パラレル変換器１６の端子ＥＮＯの出力が与えられ、その後、端子ＤＩによるパラレル・データの受け入れ（ＦＩＦＯ２０への書き込み）が開始される。また、ＦＩＦＯ２０への書き込みは、端子ＷＣに受けた高速クロックのタインミングに合わせて行われる。
【００１７】
なお、ＦＩＦＯ２０の端子ＲＥには、ＦＩＦＯ読み出し制御部２８の出力が与えられ、それより後から、端子ＤＯによるパラレル・データの出力（ＦＩＦＯ２０からの読み出し）が開始される。また、ＦＩＦＯ２０からの読み出しは、端子ＲＣに受けた処理クロック（図２（ｋ）参照）のタインミングに合わせて行われる。
【００１８】
また、ＦＩＦＯ２０の端子ＥＭＰＴＹからは、ＦＩＦＯ２０が空（から）ではないときにLowの出力が、ＦＩＦＯ２０が空（から）であるときにHighの出力がなされる。
【００１９】
なお、処理クロックは、高速クロックよりも周波数が低い。本発明の実施形態においては、処理クロックの周波数は、高速クロックの周波数の１／２である。
【００２０】
また、ＦＩＦＯ２０が入出力するパラレル・データのビット幅は、（高速クロックの周波数）／（処理クロックの周波数）以上である。本発明の実施形態では、（高速クロックの周波数）／（処理クロックの周波数）＝２なので、ＦＩＦＯ２０が入出力するパラレル・データのビット幅は２以上である必要があり、パラレル・データのビット幅は２である。
【００２１】
ＦＩＦＯ２２は、シリアル／パラレル変換器１８からパラレル・データを端子ＤＩに受けて記録し、先に記録したものから端子ＤＯから出力する。他の構成は、ＦＩＦＯ２０と同様であり、説明を省略する。
【００２２】
任意パターン検出部２４は、ＦＩＦＯ２０からパラレル・データを受け、任意のパターン（比較パターン信号が示すパターン）が存在する位置を検出する。なお、任意パターン検出部２４は、処理クロックを受けて、処理クロックのタインミングに合わせて動作する。また、任意パターン検出部２４は、パラレル・データにおいて任意のパターンを検出すると、その旨を示す一致検出信号と、その位置を示す一致検出ビット位置信号とを出力する。
【００２３】
なお、図１において、ｍ＝４、ｎ＝２、ｊ＝４である。
【００２４】
任意パターン検出部２６は、ＦＩＦＯ２２からパラレル・データを受け、任意のパターン（比較パターン信号が示すパターン）が存在する位置を検出する。他の構成は、任意パターン検出部２４と同様であり、説明を省略する。
【００２５】
ＦＩＦＯ読み出し制御部２８は、ＦＩＦＯ２０およびＦＩＦＯ２２の端子ＥＭＰＴＹからLowの出力（空ではないことを示す）を受けると、それから所定時間の後で、ＦＩＦＯ２０およびＦＩＦＯ２２の端子ＲＥに信号を出力する。なお、ＦＩＦＯ読み出し制御部２８は、処理クロックを受けて、処理クロックのタインミングに合わせて動作する。
【００２６】
サイクルずれ判定部３０は、任意パターン検出部２４、２６の検出結果に基づき、第１測定信号および第２測定信号の間におけるサイクルずれの有無を判定する。なお、サイクルずれ判定部３０は、処理クロックを受けて、処理クロックのタインミングに合わせて動作する。
【００２７】
次に、シリアル・データ間のサイクルずれ検出装置の動作を、図２のタイムチャートを参照して説明する。図２は、シリアル・データ間のサイクルずれ検出装置における信号のタイムチャートである。
【００２８】
図２（ａ）は、高速クロックのタイムチャートである。図２（ｂ）は、測定開始信号のタイムチャートである。測定開始信号は、シンクロナイザ１２、１４により高速クロックに同期化され、シリアル／パラレル変換器１６、１８の端子ＥＮＩに与えられる。
【００２９】
図２（ｃ）は、第１測定信号のタイムチャートであり、図２（ｄ）は、第２測定信号のタイムチャートである。第１測定信号および第２測定信号は、本来は同じ信号であり、左側を見ると、同じタイミングで“１１００”が発生していることがわかる。しかし、右側を見ると、本来は同じタイミングで発生すべき“１１００”が、ずれていることがわかる。すなわち、図２（ｄ）の方が、図２（ｃ）よりもデータ１個分だけ早くなっている。これが、サイクルずれである。本発明の実施形態では、この“１１００”が発生するタイミングがずれているか否かを検出する。
【００３０】
なお、図２（ｃ）および図２（ｄ）において、不明なデータは、網掛けをして図示している。不明なデータは、０または１の値をとる。
【００３１】
図２（ｅ）は、比較パターン信号のタイムチャートである。比較パターン信号は、“１１００”である。
【００３２】
図２（ｆ）は、シリアル／パラレル変換器１６が端子ＤＯから出力する２ビットのパラレル・データのタイムチャートである。図２（ｇ）は、シリアル／パラレル変換器１６の端子ＥＮＯからの出力のタイムチャートである。
【００３３】
シリアル／パラレル変換器１６は、第１測定信号（高速なシリアル・データ）を端子ＤＩに受け、２ビットのパラレル・データに変換して端子ＤＯから出力する。例えば、第１測定信号の“１”、“１”、“０”、“０”を、“１１”、“００”に変換して端子ＤＯから出力する。
【００３４】
なお、シリアル／パラレル変換器１６の端子ＤＯからの出力が、ＦＩＦＯ２０の端子ＤＩへの入力となる。
【００３５】
図２（ｈ）は、シリアル／パラレル変換器１８が端子ＤＯから出力する２ビットのパラレル・データのタイムチャートである。図２（ｉ）は、シリアル／パラレル変換器１８の端子ＥＮＯからの出力のタイムチャートである。
【００３６】
シリアル／パラレル変換器１８は、第１測定信号（高速なシリアル・データ）を端子ＤＩに受け、２ビットのパラレル・データに変換して端子ＤＯから出力する。例えば、第２測定信号の“１”、“１”、“０”、“０”（図２（ｄ）の左側を参照）を、“１１”、“００”に変換して端子ＤＯから出力する。また、例えば、第２測定信号の“ｘ”（“１”の左側の０か１か不明なデータ）、“１”、“１”、“０”、“０”、“ｘ”（“１”の右側の０か１か不明なデータ）（図２（ｄ）の右側を参照）を、“ｘ１”、“１０”、“０ｘ”に変換して端子ＤＯから出力する。
【００３７】
なお、シリアル／パラレル変換器１８の端子ＤＯからの出力が、ＦＩＦＯ２２の端子ＤＩへの入力となる。
【００３８】
シリアル／パラレル変換器１６、１８の動作と、ＦＩＦＯ２０、２２への書き込みが、高速クロックに同期して行われる。
【００３９】
図２（ｋ）は、処理クロックのタイムチャートである。処理クロックは、上記のように、高速クロックよりも周波数が低い。
【００４０】
図２（ｎ）は、ＦＩＦＯ２０の端子ＥＭＰＴＹからの出力のタイムチャートである。図２（ｑ）は、ＦＩＦＯ２２の端子ＥＭＰＴＹからの出力のタイムチャートである。図２（ｒ）は、ＦＩＦＯ読み出し制御部２８の出力のタイムチャートである。
【００４１】
ＦＩＦＯ２０の端子ＥＭＰＴＹからの出力がLowであり（ＦＩＦＯ２０が空（から）ではないことを示す）、しかもＦＩＦＯ２２の端子ＥＭＰＴＹからの出力がLowである（ＦＩＦＯ２０が空（から）ではないことを示す）状態で、ＦＩＦＯ読み出し制御部２８からの出力が、ＦＩＦＯ２０およびＦＩＦＯ２２の端子ＲＥに与えられる。
【００４２】
その後、端子ＤＯによるパラレル・データの出力（ＦＩＦＯ２０、２２からの読み出し）が開始される。また、ＦＩＦＯ２０、２２からの読み出しは、端子ＲＣに受けた処理クロック（図２（ｋ）参照）のタインミングに合わせて行われる。
【００４３】
図２（ｍ）は、ＦＩＦＯ２０の端子ＤＯからの出力のタイムチャートである。図２（ｐ）は、ＦＩＦＯ２２の端子ＤＯからの出力のタイムチャートである。
【００４４】
ＦＩＦＯ２０の端子ＤＯからの出力（図２（ｍ）参照）は、シリアル／パラレル変換器１６の端子ＤＯからの出力（図２（ｆ）参照）が所定時間だけ遅延したものとなる。
【００４５】
ＦＩＦＯ２２の端子ＤＯからの出力（図２（ｐ）参照）は、シリアル／パラレル変換器１８の端子ＤＯからの出力（図２（ｈ）参照）が所定時間だけ遅延したものとなる。
【００４６】
任意パターン検出部２４は、シフト・レジスタを有する。このシフト・レジスタは、ＦＩＦＯ２０の端子ＤＯからの出力（図２（ｍ）参照）を受け、所定の長さ（本発明の実施形態では６ビット）のデータを生成して出力する。なお、所定の長さは、比較パターン信号の長さ（ｍ（＝４）ビット）と、ＦＩＦＯ２０、２２が入出力するパラレル・データのビット幅（ｎ（＝２）ビット）とを加算した長さ以上である。
【００４７】
図２（ｓ）は、任意パターン検出部２４の有するシフト・レジスタの出力のタイムチャートである。任意パターン検出部２４の有するシフト・レジスタには、ＦＩＦＯ２０の端子ＤＯから“１１”、“００”、“ｘｘ”がこの順に入力される。ただし、ｘは０および１のいずれをとるかが不明なデータである。任意パターン検出部２４の有するシフト・レジスタには、“ｘｘｘｘｘｘ”が記録されている。ここで、“１１”がシフト・レジスタに入力されると、シフト・レジスタには“ｘｘｘｘ１１”が記録される。次に、“００”がシフト・レジスタに入力されると、シフト・レジスタには“ｘｘ１１００”が記録される。さらに、“ｘｘ”がシフト・レジスタに入力されると、シフト・レジスタには“１１００ｘｘ”が記録される。
【００４８】
任意パターン検出部２４は、シフト・レジスタに記録されたデータのうち、下位の４ビットおよび上から２〜５ビットを、比較パターン“１１００”と比較する。比較の結果が一致すればHighを出力し、一致しなければLowを出力する。この出力が、一致検出信号である。
【００４９】
図２（ｔ）は、任意パターン検出部２４の有するシフト・レジスタの出力のタイムチャートである。シフト・レジスタに“ｘｘ１１００”が記録された直後に、比較パターン“１１００”との比較の結果が一致し、一致検出信号Highが出力される。
【００５０】
しかも、任意パターン検出部２４は、一致検出ビット位置信号として、２ビットの信号を出力する。ただし、シフト・レジスタに記録されたデータのうち下位の４ビットが比較パターン“１１００”と一致する場合は、一致検出ビット位置信号の下位のビットを１とする。また、シフト・レジスタに記録されたデータのうち上から２〜５ビットが比較パターン“１１００”と一致する場合は、一致検出ビット位置信号の上位のビットを１とする。
【００５１】
図２（ｕ）は、任意パターン検出部２４が出力する一致検出ビット位置信号のタイムチャートである。任意パターン検出部２４の有するシフト・レジスタに“ｘｘ１１００”が記録された直後に、一致検出ビット位置信号“０１”が出力される。
【００５２】
任意パターン検出部２６も、同様に、シフト・レジスタを有する。このシフト・レジスタは、ＦＩＦＯ２２の端子ＤＯからの出力（図２（ｐ）参照）を受け、所定の長さ（本発明の実施形態では６ビット）のデータを生成して出力する。なお、所定の長さは、上述したとおりである。
【００５３】
図２（ｖ）は、任意パターン検出部２６の有するシフト・レジスタの出力のタイムチャートである。図２（ｖ）に示すタイムチャートの左側は、図２（ｓ）と同様である。図２（ｖ）に示すタイムチャートの右側は、図２（ｓ）と異なるので、以下に説明する。任意パターン検出部２６の有するシフト・レジスタには、ＦＩＦＯ２２の端子ＤＯから“ｘ１”、“１０”、“０ｘ”がこの順に入力される。ただし、ｘは０および１のいずれをとるかが不明なデータである。任意パターン検出部２６の有するシフト・レジスタには、“ｘｘｘｘｘｘ”が記録されている。ここで、“ｘ１”がシフト・レジスタに入力されると、シフト・レジスタには“ｘｘｘｘｘ１”が記録される。次に、“１０”がシフト・レジスタに入力されると、シフト・レジスタには“ｘｘｘ１１０”が記録される。さらに、“０ｘ”がシフト・レジスタに入力されると、シフト・レジスタには“ｘ１１００ｘ”が記録される。
【００５４】
任意パターン検出部２６は、シフト・レジスタに記録されたデータのうち、下位の４ビットおよび上から２〜５ビットを、比較パターン“１１００”と比較する。比較の結果が一致すればHighを出力し、一致しなければLowを出力する。この出力が、一致検出信号である。
【００５５】
図２（ｗ）は、任意パターン検出部２６の有するシフト・レジスタの出力のタイムチャートである。シフト・レジスタに“ｘ１１００ｘ”が記録された直後に、比較パターン“１１００”との比較の結果が一致し、一致検出信号Highが出力される。
【００５６】
しかも、任意パターン検出部２６は、一致検出ビット位置信号として、２ビットの信号を出力する。ただし、シフト・レジスタに記録されたデータのうち下位の４ビットが比較パターン“１１００”と一致する場合は、一致検出ビット位置信号の下位のビットを１とする。また、シフト・レジスタに記録されたデータのうち上から２〜５ビットが比較パターン“１１００”と一致する場合は、一致検出ビット位置信号の上位のビットを１とする。
【００５７】
図２（ｘ）は、任意パターン検出部２６が出力する一致検出ビット位置信号のタイムチャートである。任意パターン検出部２６の有するシフト・レジスタに“ｘ１１００ｘ”が記録された直後に、一致検出ビット位置信号“１０”が出力される。
【００５８】
なお、任意パターン検出部２４、２６の動作は、処理クロック（図２（ｋ）参照）のタインミングに合わせて行われる。
【００５９】
サイクルずれ判定部３０は、任意パターン検出部２４または任意パターン検出部２６から一致検出信号を受けると、任意パターン検出部２４または任意パターン検出部２６から出力された一致検出ビット位置信号を比較し、一致すれば、サイクルずれは発生していないものと判定し、一致しなければ、サイクルずれが発生しているものと判定する。サイクルずれが発生していると判定した時点で、Highのサイクルずれ検出信号が出力される。
【００６０】
図２（ｙ）は、サイクルずれ判定部３０が出力するサイクルずれ検出信号のタイムチャートである。
【００６１】
図２（ｃ）、図２（ｄ）、図２（ｔ）〜図２（ｘ）を参照して、左側はサイクルずれが発生しておらず、右側はサイクルずれが発生している。
【００６２】
タイムチャートの左側において、任意パターン検出部２４および任意パターン検出部２６から一致検出信号が出力されており（図２（ｔ）、図２（ｗ）参照）、この時点では、任意パターン検出部２４および任意パターン検出部２６から一致検出ビット位置信号“０１”が出力されている（図２（ｕ）、図２（ｘ）参照）。一致検出ビット位置信号が一致するので、サイクルずれ判定部３０は、サイクルずれが発生していないものと判定する。
【００６３】
タイムチャートの右側において、任意パターン検出部２４および任意パターン検出部２６から一致検出信号が出力されており（図２（ｔ）、図２（ｗ）参照）、この時点では、任意パターン検出部２４から一致検出ビット位置信号“０１”が出力され（図２（ｕ）参照）、任意パターン検出部２６から一致検出ビット位置信号“１０”が出力されている（図２（ｘ）参照）。一致検出ビット位置信号が一致しないので、サイクルずれ判定部３０は、サイクルずれが発生しているものと判定し、Highのサイクルずれ検出信号を出力する。
【００６４】
本発明の実施形態によれば、第１測定信号および第２測定信号（両者ともに高速シリアル・データ）の間のサイクルずれを検出することができる。
【００６５】
なお、本発明の実施形態は、FPGA(Field Programmable Gate Array)を用いて構成することができる。
【００６６】
例えば、高速動作領域の部分のうち、ＦＩＦＯ２０、２２よりも入力に近い側（例えば、シンクロナイザ１２、１４、シリアル／パラレル変換器１６、１８）のクロックである高速クロックは、局所的に使用可能な領域特定クロックを用いて実装できる。
【００６７】
また、ＦＩＦＯ２０、２２を、FPGA内蔵のＦＩＦＯにより実装できる。または、FPGA内蔵のブロックRAMにより、ＦＩＦＯ２０、２２を実装できる。
【００６８】
さらに、FPGAは集積度が非常に高いので、回路規模をそれ程気にする必要がなく、動作クロックの周波数が低ければ、ほとんどの回路を実装する事が可能である。したがって、回路規模の増大に伴って、動作クロックの周波数を低くすることが可能である本発明の実施形態はFPGAにて容易に構成する事が可能である。
【符号の説明】
【００６９】
１２、１４  シンクロナイザ
１６、１８  シリアル／パラレル変換器
２０、２２  ＦＩＦＯ
２４、２６  任意パターン検出部
２８  ＦＩＦＯ読み出し制御部
３０  サイクルずれ判定部
【図１】
2009239954.tif 000003
【図２】
2009239954.tif 000004