(58)【調査した分野】(Int.Cl.,DB名)
(1A)K<N−rである場合には、前記特定の周期が前記パラレルクロックの第1の周期からq周期後の周期であり、前記特定のビットが前記連続するNビットの範囲の先頭からK+rビット目のビットであり、
(2A)N−r≦Kである場合には、前記特定の周期が前記パラレルクロックの第1の周期からq+1周期後の周期であり、前記特定のビットが前記連続するNビットの範囲の先頭からK+r−Nビット目のビットである、
ことを特徴とする請求項1記載の受信装置。
【背景技術】
【0002】
高速シリアル通信技術で採用されている多くの通信プロトコル(規約)が特定パターンの検出処理を前提としている。最も一般的なシリアルパターンの構成は、
図22に示すように、プリアンブル(Preamble)+スタートデリミタ(StartDelimiter)+ペイロード(Payload)+エンドオブバースト(EOB)(もしくは、エンドデリミタ(EndDelimiter))となっており、データ格納領域であるペイロード以外はそれぞれの通信プロトコルにおいて特定ビット数の特定パターンとして規定されている。
【0003】
図23は、従来の受信装置の構成を表す一例の概念図である。同図に示す受信装置80は、受信したシリアルデータを所定ビット幅のパラレルデータに変換する、シリアルパラレル変換回路82と、受信パターン格納レジスタ84とだけを表したものである。
【0004】
受信装置80では、例えば、受信した10Gbpsの高速シリアルデータが、シリアルパラレル変換回路82により、受信したシリアルデータから再生したシリアルクロックを分周したパラレルクロックに同期して、312.5MHz、32ビットのパラレルデータに変換される。シリアルパラレル変換回路82からは、変換された32ビット幅のパラレルデータDATAnと、パラレルクロックが出力される。
【0005】
受信パターン格納レジスタ84は、3個の、32ビットのフリップフロップ(FF)86を直列に接続して構成されている。受信パターン格納レジスタ84により、パラレルシリアル変換回路82から入力された32ビット幅のパラレルデータDATAnが、パラレルクロックに同期して、順次後段のFF86にシフトされる。受信パターン格納レジスタ84からは、常に、最新(最後)の所定周期分のパラレルデータDATA1〜nが出力される。
【0006】
ここで、受信装置は、有効なシリアルデータだけではなく、さまざまな雑音も受信する。そこで、有効データを見分けるため、前述のように、シリアルデータの先頭に、プリアンブルと呼ばれる既知のビットパターン(特定パターン)を有する部分が付加されている。プリアンブルを受信装置で検出することにより、有効なシリアルデータを雑音と区別して受信できるようになっている。
【0007】
一般的な特定パターンの検出方法は以下の通りである。すなわち、
図24に示すように、例えば、特定パターンのビット長が64ビットであり、シリアルパラレル変換回路82によって変換されるパラレルデータのビット幅が32ビットである場合、パラレルデータDATA1〜3のうち、特定パターンが現れる可能性のある32通りの格納パターンのそれぞれと、特定パターンとを比較することにより、特定パターンの検出が行われる。
【0008】
ここで、特定パターンが現れる可能性のある32通りのパターンとは、受信パターン格納レジスタ84に格納されたパラレルデータDATA1〜3を構成するビットの、シリアルデータとして受信した順に連続する32ビットの範囲(
図24の例では、パラレルデータDATA1のビット0〜31までの32ビット)のそれぞれのビットを先頭とする64ビットの部分(32通りの格納パターン)である。
【0009】
なお、図中のパラレルデータDATA1〜3のビットの並びは、左側が最下位ビット(ビット0)であり、シリアルデータの先頭側のビットである。これ以外の図についても同様である。
【0010】
上記のようにして特定パターンの検出を行う理由は以下の通りである。すなわち、
(1)特定パターンがパラレルデータのビット幅よりも長いため、1周期(サイクル)のデータでは不足する。
図24では、特定パターンが64ビットであるのに対し、パラレルデータは32ビットであるため、最低でも2周期分、さらに、次の理由(2)を考慮すると3周期分のデータを保持する必要がある。
(2)連続する32ビットの範囲のうちのどの先頭位置の格納パターンで特定パターンが検出されるか不明であるため、32通りの格納パターンの全てについて特定パターンとの一致を検出する必要がある。
【0011】
次に、受信装置の具体例を挙げて説明する。
【0012】
図25は、従来の受信装置の構成を表す一例の回路図である。同図に示す受信装置90は、上記のように、特定パターンのビット長が64ビットであり、シリアルパラレル変換回路によって変換されるパラレルデータのビット幅が32ビットである場合の構成を表したものであって、シリアルパラレル変換回路82と、受信パターン格納レジスタ84Aと、パターン比較回路88Aとを備えている。
【0013】
3周期分のパラレルデータDATA1〜3に含まれる32通りの格納パターンのそれぞれと、特定パターンとを一度に比較するために、受信パターン格納レジスタ84Aとして、直列に接続された2段の32ビットのFF86Aが設けられている。
【0014】
また、両者を比較するための32個の比較器(比較器0〜31)92Aが設けられている。それぞれの比較器92Aには、32通りの格納パターンのそれぞれと、特定パターンが入力されており、比較器92Aからは、両者の比較結果である32個のパターン一致フラグ[31:0]が出力される。
【0015】
図26は、比較器の構成を表す一例の回路図である。同図に示す比較器92Aは、64個のEXOR(排他的論理和)回路94Aと、1つのNOR回路96Aとによって構成されている。
【0016】
それぞれのEXOR回路94Aにより、格納パターンと特定パターンの各々対応するビットが比較され、その比較結果として、両者が一致する場合に“0”、不一致の場合に“1”が出力される。その結果、NOR回路96Aからは、パターン一致フラグとして、両者の全てのビットが一致する場合、つまり、格納パターンと特定パターンとが一致する場合に“1”、1ビットでも不一致が検出された場合には“0”が出力される。
【0017】
なお、高速通信においては、ある程度の通信誤り(格納パターンと特定パターンとの間で一致しないビットの数)を許して特定パターンを検出する必要がある。
【0018】
図27は、従来の受信装置の構成を表す別の例の回路図である。同図に示す受信装置100は、所定数の通信誤りを許容する機能を備えるものである。パターン比較回路88Bを構成するそれぞれの比較器92Bには、最大許容不一致ビット数が入力されている。
【0019】
図28は、比較器の構成を表す一例の回路図である。同図に示す比較器92Bは、64個のEXOR回路94Aと、加算器98Bと、大小比較回路102Bとによって構成されている。
【0020】
この比較器92Bでは、加算器98Bにより、64個のEXOR回路94Aからの比較結果が加算される。加算器98Bは、4ビットの加算器であり、加算結果が15未満であれば加算結果をそのまま出力し、15以上であれば15を出力する。つまり、加算器98Bは、通信誤り数が14までの場合に対応する。そして、加算結果、すなわち、通信誤り数が、最大許容不一致ビット数の15未満である場合には、大小比較回路102Bにより、一致が検出されたと見なされ、パターン一致フラグが“1”となる。
【0021】
ここで、本発明に関連性のある先行技術文献には、特許文献1〜3がある。
【0022】
特許文献1には、直列データをnビットの並列データに変換し、nビットの並列データを受け取ってn+m−1ビット(mは特定パターンのビット長)の並列データをレジスタに記憶し、N個のMビット比較器により、レジスタに記憶されたn+m−1ビットのデータの開始ビットを1ビットずつずらして、N通りの連続するmビットのデータのそれぞれと、mビットの特定パターンとの一致検出を並列に行うことが記載されている。
【0023】
特許文献2および3には、並列データと特定パターンとをビット毎に比較し、伝送線路の影響により、両者の間でビットの値が一致しないビット誤りが含まれていても、その数が規定数以下であれば特定パターンに一致すると判定することが記載されている。
【発明を実施するための形態】
【0036】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の受信装置を詳細に説明する。
【0037】
図1は、本発明の受信装置の構成を表す第1の実施形態の回路図である。同図に示す受信装置10は、Mビット長の既知のビットパターン(特定パターン)を有する検出対象部分を含むシリアルデータを受信し、特定パターンを含むシリアルデータが受信されたことを検出するものであって、シリアルパラレル変換回路12と、受信パターン格納レジスタ14と、パターン比較回路16と、パターン検出回路18とによって構成されている。
【0038】
本発明の受信装置は、N通り(N<M)の、Mビット長の格納パターンのそれぞれと、Mビット長の特定パターンとを1周期で一度に比較するのではなく、複数回に分けて複数の周期で比較する。受信装置10は、M=64,N=32の場合の例であり、
図2に示すように、後述する、32通り(N通り)の、64ビット長(Mビット長)の格納パターンのそれぞれと、64ビット長(Mビット長)の特定パターンとを、前半と後半の32ビット(Lビット(N≦L<M)およびJビット(J≦M−L))ずつ、2回に分けて2周期で比較する。
【0039】
シリアルデータは、
図22に示すように、プリアンブル+スタートデリミタ+ペイロード+エンドオブバーストの順序で受信装置10に入力される。プリアンブルが、前述のMビット長の特定パターンを有する。
【0040】
シリアルパラレル変換回路12は、例えば、32ビット(Nビット)のレジスタによって構成され、連続して受信したシリアルデータを構成する各ビットのデータを、シリアルクロックに同期して、受信した順にレジスタに並べて32ビット幅(Nビット幅)のパラレルデータを生成する。シリアルパラレル変換回路12からは、32ビット幅のパラレルデータDATA2と、受信したシリアルデータからリカバリされたシリアルクロックを分周したパラレルクロックが出力される。
【0041】
なお、シリアルパラレル変換回路12は、シリアルデータを構成する各ビットのデータを、レジスタの最下位ビット側から最上位ビット側に向かって並べてパラレルデータを生成してもよいし、その逆向きに並べてパラレルデータを生成してもよい。
【0042】
続いて、受信パターン格納レジスタ14は、シリアルパラレル変換回路12から入力された32ビット幅のパラレルデータDATA2を、パラレルクロックに同期して32ビット(Nビット)単位でシフトして、常に、最新(最後)の所定周期分のパラレルデータを格納する。
【0043】
受信パターン格納レジスタ14は、例えば、シリアルパラレル変換回路12が生成した32ビット幅のパラレルデータが格納される第1のレジスタ、および、第1のレジスタに格納されたパラレルデータが、順次、パラレルクロックに同期してシフトされて格納される1つもしくは複数の第2のレジスタとを備えるパイプライン構造のレジスタ群で構成される。
【0044】
受信パターン格納レジスタ14は、シリアルパラレル変換回路12を構成するレジスタとは別に、第1のレジスタを備えていてもよいし、あるいは、シリアルパラレル変換回路12を構成するレジスタを第1のレジスタとして利用することもできる。
【0045】
図1に示す受信パターン格納レジスタ14は、シリアルパラレル変換回路12のレジスタを第1のレジスタとするものであり、シリアルパラレル変換回路12から入力された32ビット幅のパラレルデータDATA2を、パラレルクロックに同期して保持するとともに、パラレルデータDATA1として出力する1つの32ビットのFF(第2のレジスタ)20によって構成されている。つまり、シリアルパラレル変換回路12のレジスタに格納されたパラレルデータDATA2が、FF20に順次シフトされる。シリアルパラレル変換回路12からは受信したシリアルデータから生成した最新(最後)のパラレルデータDATA2が、FF20からは、1つ前のパラレルデータDATA1が出力される。
【0046】
ここで、受信パターン格納レジスタ14内への64ビット長の特定パターンの格納状態について説明する。
【0047】
図3の上側には、受信パターン格納レジスタ14の第2のレジスタ20に格納された32ビット幅のパラレルデータDATA1と、受信パターン格納レジスタ14の第1のレジスタとして利用されるシリアルパラレル変換回路12のレジスタに格納された32ビット幅のパラレルデータDATA2とに、64ビット長(Mビット長)の特定パターンの前半の32ビットの部分が格納される32通りの状態を示す。それぞれのパラレルデータDATA1,DATA2の左端が最下位ビット、右端が最上位ビットである。従って、シリアルパラレル変換回路12が受信したシリアルデータのビットを最下位ビット側から最上位ビット側に向かって並べてパラレルデータを生成した場合、DATA1の左端からDATA2の右端に向けて、パラレルデータを構成するビットが、シリアルデータとして受信した順に並ぶ。
【0048】
シリアルデータの64ビット長の特定パターンの前半の32ビット(Lビット)の部分は、このDATA1,DATA2内の任意の位置に格納される可能性がある。しかし、パラレルデータが32ビット(Nビット)幅である場合、連続する32ビット(Nビット)の範囲のそれぞれのビットを先頭とする32種類(N種類)の格納位置を考慮すればよい。
図3の上側は、64ビット長の特定パターンの前半の32ビットが格納される可能性のある、0番目、1番目、2番目、...30番目、31番目の全部で32通りの格納位置が、横長の長方形で示されている。図示された例では、DATA1の0ビット目から31ビット目までの連続する32ビットの範囲のそれぞれのビットを先頭とする32種類の格納位置が示されている。例えば、格納位置0では、特定パターンの32ビットの前半部分が、DATA1の0ビット目から31ビット目までに格納される。格納位置31では、DATA1の31ビット目からDATA2の30ビット目までに格納される。
【0049】
特定パターンの前半の32ビットの部分は、これらの32種類の格納位置に加えて、例えば、格納位置31の次の位置、すなわち、DATA2の0ビット目から31ビット目までに格納されることも考えられる。しかし、この位置に格納された前半部分の32ビットは、パラレルクロックの次のクロック周期内には、格納位置0にシフトして格納される。従って、32ビット長のパターンが32ビット幅の2つのレジスタ内に格納される位置としては、連続する32ビットの範囲のそれぞれのビットを先頭とする32種類の格納位置、例えば、
図3に示される0から31までの32通りの格納位置を考えればよい。なお、ここでは、連続する32ビットの範囲の先頭側からKビット目(K=0〜N−1)を先頭とする32ビットの格納パターン#n(n=0〜31)を、#n=Kと定義している。
【0050】
続いて、パターン比較回路16は、前述の32通り(N通り)の、32ビット長(Lビット長)の格納パターンのそれぞれと、あらかじめ設定された64ビット長(Mビット長)の特定パターンの対応する32ビット長の部分(Lビット長の比較パターン)とを、各々対応するビット毎に比較し、その比較結果となる32個(N個)のパターン一致フラグ[31:0]を出力する。
【0051】
ここで、N>Lでは、つまり、一度に比較するビット幅がパラレルデータのビット幅よりも狭い場合には、1パラレルクロック周期内に2回の比較を行うことが必要になる場合がある。これを避けるために、N≦Lである必要があり、本実施形態では、前述のように、N≦L<Mとしている。
【0052】
図示例のパターン比較回路16は、32個(N個)の比較器(比較器0〜31)22と、比較パターン選択部となる32個(N個)のマルチプレクサ24とを備えている。それぞれの比較器0〜31には、受信パターン格納レジスタ14の対応する格納位置に格納された格納パターンのそれぞれのビットが入力されるとともに、この格納パターンと比較される比較パターンが、マルチプレクサ24から入力される。
【0053】
マルチプレクサ24は、後述する比較パターン選択信号に応じて、64ビット長の特定パターンの中から、前半の32ビット長(Lビット長)もしくは後半の32ビット長(Jビット長)の比較パターンを出力する。
【0054】
ここで、比較器0〜31に各々対応するマルチプレクサを、マルチプレクサ0〜31と表記すると、マルチプレクサ0〜31の入力端子0には、特定パターン[31:0]が、また、入力端子1には、特定パターン[63:32]が共通に入力され、選択端子には、比較パターン選択信号[0:31]のそれぞれのビットが入力される。そして、各々のマルチプレクサからは、比較パターン選択信号が“0”の場合に前半の比較パターンとなる特定パターン[31:0]が出力され、比較パターン選択信号が“1”の場合に後半の比較パターンとなる特定パターン[63:32]が出力される。
【0055】
それぞれの比較器22は、
図2に示すように、32個のEXOR回路26と、1つのNOR回路28とによって構成されている。
【0056】
受信パターン格納レジスタ14から入力された格納パターン[31:0]と、マルチプレクサ24から入力された比較パターン[31:0]とは、EXOR回路26によって、各々対応するビット毎に比較される。EXOR回路26の出力信号である比較結果は、各々対応するビットが一致する場合に“0”、不一致の場合に“1”となる。そして、全ての比較結果[31:0]が“0”の場合、つまり、格納パターンと比較パターンとが一致する場合に、NOR回路28の出力信号であるパターン一致フラグが“1”となる。そして、32個の比較器0〜31が生成するパターン一致フラグがまとめられて、比較器22のパターン一致フラグ[31:0]として出力される。
【0057】
この図に示すように、比較器22は、32ビットのデータ同士の比較ができればよいので、EXOR回路26の個数が32個であり、
図26に示す従来の比較器92Aよりも削減することができる。また、本実施形態では一度に比較するデータのビット数を32ビットとしているが、一度に比較するデータのビット数を減らすことにより、例えば、16ビット、8ビットとすることにより、EXOR回路26の個数をさらに削減することも可能である。
【0058】
続いて、パターン検出回路18は、パターン比較回路16が、パラレルクロックの第1の周期内に、受信パターン格納レジスタ14に格納されたパラレルデータを構成するビットの、連続する32ビット(Nビット)の範囲の先頭からKビット目(K=0〜N−1)を先頭とする32ビット(Lビット)の格納パターンと、64ビット長(Mビット長)の特定パターンの先頭から32ビット(Lビット)の比較パターンとの一致を検出し、さらに、L/Nの商をq、余りをr(
図3の例では、q=1,r=0)として、K、N、q、rによって決まるパラレルクロックの特定の周期内に、受信パターン格納レジスタ14に格納されたパラレルデータを構成するビットの、連続する32ビット(Nビット)の範囲およびK、N、rによって決まる特定のビットを先頭とする32ビット(Jビット)の格納パターンと、64ビット長の特定パターンの33ビット目(L+1ビット目)から32ビット(Jビット)の比較パターンとの一致を検出したことを条件として、64ビット長の特定パターンを含むシリアルデータの受信を検出する。
【0059】
図示例のパターン検出回路18は、AND回路30と、FF32と、AND回路34とを備えている。図示を省略しているが、AND回路30、FF32およびAND回路34は、32個のパターン一致フラグ[31:0]に対応する32セットの回路が設けられている。
【0060】
対応する比較器0〜31において、格納パターンと比較パターンとの一致が検出されていないとき、つまり、パターン一致フラグが“0”のとき、AND回路30の出力信号は“0”となる。AND回路30の出力信号は、パラレルクロックに同期してFF32に保持されるため、FF32の出力信号である比較パターン選択信号は次の周期で“0”となる。従って、AND回路34の出力信号である検出信号も“0”となる。
【0061】
対応する比較器0〜31において一致が検出され、パターン一致フラグが“1”になると、AND回路30の出力信号は“1”となり、パラレルクロックに同期して、比較パターン選択信号は次の周期で“1”となる。FF32の出力信号が“1”になると、AND回路30の出力信号は“0”となるため、パラレルクロックに同期して、比較パターン選択信号はそのまた次の周期で“0”に戻る。
【0062】
すなわち、比較パターン選択信号は、パターン一致フラグが“1”になる、つまり、格納パターンと前半の比較パターンとの一致が検出されると、次の周期で“1”となり、2周期後の周期で“0”に戻るワンショット信号となる。また、検出信号は、パターン一致フラグが連続する2周期で“1”になる、つまり、格納パターンと前半および後半の比較パターンとの一致が連続して検出されると“1”となり、その次の周期で“0”に戻るワンショット信号となる。
【0063】
上記のように、比較パターン選択信号は、パターン一致フラグが“1”になる、つまり、格納パターンと比較パターンとの一致が検出されると“1”になる。そのため、格納パターンと前半の比較パターンとの一致が検出されると、後半の比較パターンが、その次の周期で前述のマルチプレクサ24から出力され、比較器22により、格納パターンと後半の比較パターンとの比較が行われる。
【0064】
また、格納パターンと後半の比較パターンとの比較が行われると、両者の一致が検出されたかどうかに関係なく、次の周期では格納パターンと前半の比較パターンとの比較が行われる。これにより、格納パターンと後半の比較パターンとの比較によって一致が検出されなかったときに、すぐ次の周期から格納パターンと前半の比較パターンとの比較を再開することができる。
【0065】
次に、受信装置10の動作について説明する。
【0066】
受信装置10では、受信したシリアルデータの各ビットのデータが、シリアルパラレル変換回路12により、シリアルクロックに同期して、受信した順にレジスタに並べられて32ビット幅(Nビット幅)のパラレルデータDATA2が生成される。
【0067】
32ビット幅のパラレルデータDATA2は、受信パターン格納レジスタ14に、パラレルクロックに同期して、32ビット単位(Nビット単位)でシフトされ、32ビット幅(Nビット幅)のパラレルデータDATA1として格納される。これにより、受信パターン格納レジスタ14には、
図3に示すように、パラレルクロックに同期して、常に、パラレルデータDATA1,DATA2からなる最新の2周期分のデータが格納される。
【0068】
パターン比較回路16の比較器22のそれぞれ(比較器0〜31)には、受信パターン格納レジスタ14から、対応する格納パターンが入力される。すなわち、DATA1、DATA2の対応する範囲のビットが入力される。比較器22のそれぞれには、さらに、対応するマルチプレクサ24から比較パターンが入力される。受信装置10にシリアルデータが受信されない状態では、いずれの比較器22も一致を検出せず、“0”の一致フラグを出力する。このため、全ての比較パターン選択信号が“0”になり、全てのマルチプレクサ24から、64ビット長(Mビット長)の特定パターンのうちの前半の32ビット長(Lビット長)の比較データが入力される。そして、比較器22により、32通りの格納パターンのそれぞれと、前半の比較パターンとが、各々対応するビット毎に比較される。その結果、シリアルデータが受信されると、前半の比較パターンとの一致が検出された格納パターンに対応するパターン一致フラグが“1”となる。
【0069】
ここで、
図3の上側に示すように、例えば、32通りの格納パターンのうちの、パラレルデータDATA1の先頭から2ビット目(Kビット目)を先頭とする格納パターン2と、前半の比較パターンとの一致が、ある周期で検出されたとする。このとき、前半の比較パターンとの一致が検出された64ビットの特定パターンの前半の32ビットの部分に続く、後半の32ビットの部分は、格納パターン2の格納位置であるDATA1の2ビット目からDATA2の1ビット目までに続く、DATA2の2ビット目からの格納位置に格納されていると期待される。ただし、この周期では、まだ、後半部分の32ビットの最後の2ビットはDATA2内に格納されていない。
【0070】
図3の下側には、このように格納パターン2と前半の比較パターンとの一致が検出された周期の、次の周期内に行われる、格納パターンと比較パターンとの比較を示す。
図3の上側において前半の比較パターンとの一致が検出された、格納パターン2の32ビットの部分に続く後半の32ビットの部分は、次の周期内には、格納位置2にシフトされて格納されていると期待される。そこで、次の周期内にこの後半部分を検出するため、パターン検出回路18では、格納パターン2に対応するパターン一致フラグ[2]が“1”になると、格納パターン2に対応する比較パターン選択信号[2]だけが次の周期で“1”となる。
【0071】
比較パターン選択信号[2]が“1”になると、パターン比較回路16では、格納パターン2に対応するマルチプレクサ2から、後半の32ビット長(Jビット長)の比較データが出力される。これによって、パターン比較回路16の、格納パターン2に対応する比較器2が、特定パターンの後半の32ビットの部分が格納されていると期待される格納パターン2と、後半の32ビットの比較データとを比較する。一致が検出されると、対応するパターン一致フラグ[2]が“1”になる。
【0072】
パターン検出回路18では、後半の比較パターンとの一致が検出された格納パターン2に対応するパターン一致フラグ[2]が“1”になると、つまり、ある周期で前半の比較パターンとの一致が検出され、続いて、その次の周期で後半の比較パターンとの一致が検出されると、格納パターン2に対応する検出信号[2]だけが次の周期で“1”となり、格納パターン2の位置で特定パターンを含むシリアルデータが受信されたことが検出される。
【0073】
一方、比較器2が後半部分との一致を検出しなかった場合には、パターン一致フラグ[2]は“1”にならず、検出信号も“1”にならない。すなわち、前の周期での前半部分との一致の検出は雑音等による誤検出であると考えられるため、シリアルデータを受信したとは判断しない。なお、比較器2が後半の比較パターンとの比較を行う周期内において、比較器2を除く比較器0〜1、3〜31には、前半の比較パターンが入力され、それぞれの格納パターンとの比較が行われる。このため、いずれかの格納パターンと前半部分との一致が検出された場合、次の周期内には、後半部分との比較が行われる。これにより、格納パターン2について前半部分の誤検出が発生した直後にシリアルデータを受信した場合にも、2以外の格納パターンで特定パターンの前半部分を格納できた場合には、検出可能である。
【0074】
2以外の格納パターンと前半の比較パターンとの一致が検出された場合にも、同様に、次の周期で、特定パターンの後半部分の検出を行い、シリアルデータの受信を検出することができる。
【0075】
図3に示すように、特定パターンをそれぞれ32ビット、すなわち、パラレルデータ幅と等しい部分に分けて検出する場合、パラレルクロックの第1の周期内に、ある格納パターンと前半の比較パターンとの一致が検出されたときに、その次に、後半の比較パターンとの一致を検出する必要がある特定パターンの後半部分は、パラレルクロックの次の周期内に、前半の比較パターンとの一致が検出された格納パターンと同一の格納位置に格納される。
【0076】
なお、ある格納パターンと前半の比較パターンとの一致が検出されたときに、その次に、後半の比較パターンとの一致を検出する必要がある格納パターン、および、前半の比較パターンとの一致が検出されてから、その次に、後半の比較パターンとの一致を検出する必要があるパラレルクロック周期までの周期数は、連続するNビットの範囲、K、N、q、rに応じて変化する。
【0077】
すなわち、前半の比較パターンと一致する格納パターンが検出されたときに、その次に、後半の比較パターンとの一致を検出する必要がある格納パターンの格納状態には規則性があり、連続するNビットの範囲、K、N、rによって1通りに決定される。また、特定パターンと一致する格納パターンが検出されてから、その次に、特定パターンとの一致を検出する必要がある格納パターンが受信パターン格納レジスタ14内に格納されるまでの周期数にも規則性があり、K、N、q、rによって一意に決定される。
【0078】
以下、
図4のタイミング図を参照して、具体的に説明する。
【0079】
同図に示すタイミング図では、まず、比較器2により、3周期目で格納パターン2と前半の比較パターンとの一致が検出され、パターン一致フラグ[2]が“1”になっている。そのため、続く4周期目で比較パターン選択信号[2]が“1”になる。また、同じ4周期目で次の格納パターンと後半の比較パターンとの一致が連続して検出され、パターン一致フラグ2が2周期連続で“1”を維持している。そのため、同じ4周期目で検出信号[2]が“1”になる。これにより、特定パターンを含むシリアルデータが受信されたことが検出される。
【0080】
次に、比較器29により、10周期目で格納パターン29と前半の比較パターンとの一致が検出され、パターン一致フラグ[29]が“1”になっているため、続く11周期目で比較パターン選択信号[29]は“1”になる。しかし、同じ11周期目で次の格納パターンと後半の比較パターンとの一致が検出されていないため、パターン一致フラグ[29]は2周期連続で“1”に維持されていない。従って、同じ11周期目で格納パターン[29]に対応する比較結果[29]は“0”に戻っている。
【0081】
次に、比較器0により、12周期目で格納パターン0と前半の比較パターンとの一致が検出されているが、続く13周期目では次の格納パターンと後半の比較パターンとの一致が検出されていない。そのため、13周期目では比較パターン選択信号[0]が“1”になっているが、同じ13周期目で検出結果[0]は“0”のままである。
【0082】
最後に、比較器31により、13周期目で格納パターン31と前半の比較パターンとの一致が検出され、続く14周期目で次の格納パターン31と後半の比較パターンとの一致が連続して検出されている。そのため、検出結果[31]は“1”になっている。
【0083】
このように、同じ周期でも、全ての比較器0〜31が、32通りの格納パターンのそれぞれと、前半の比較パターンもしくは後半の比較パターンとを比較しているわけではなく、1周期前の比較結果に応じて、それぞれの比較器が、32通りの格納パターンのそれぞれと、前半の比較パターンもしくは後半の比較パターンとを比較している。
【0084】
以下、本発明の受信装置が、特定パターンのビット長M、および、パラレルデータのビット幅Nの値に関係なく適用可能であることを説明する。
【0085】
まず、特定パターンのビット長Mが、パラレルデータのビット幅Nの整数倍でない場合、例えば、M=66,N=32の場合を説明する。
【0086】
図29は、従来の受信装置の構成を表す一例の回路図である。同図に示す受信装置110は、
図25に示す従来の受信装置90と比較して、受信パターン格納レジスタ84Cが、直列に接続された3段の32ビットのFF86Cで構成されている点を除いて、同様の構成を備えるものである。
【0087】
受信装置110の受信パターン格納レジスタ84Cは、シリアルパラレル変換回路82のレジスタを第1のレジスタとして利用して、常に、最新の4周期分のパラレルデータDATA1〜4を格納する。受信パターン格納レジスタ84Cには、
図30に示すように、パラレルデータDATA1の最下位ビットから、シリアルデータとして受信した順に連続する32ビットの範囲のそれぞれのビットを先頭とする、32通りの、66ビットの格納位置に、特定パターンが格納される可能性がある。
【0088】
この受信装置110では、32個の比較器(比較器0〜31)92Aにより、4周期分のパラレルデータDATA1〜4内の、32通りの格納位置に格納された66ビット長の格納パターンのそれぞれと、66ビット長の特定パターンとが一度に比較される。
【0089】
続いて、
図5は、本発明の受信装置の構成を表す第2の実施形態の回路図である。同図に示す受信装置40は、同様に、シリアルパラレル変換回路12と、受信パターン格納レジスタ14Aと、パターン比較回路16Aと、パターン検出回路18Aとを備えている。
【0090】
シリアルパラレル変換回路12は、
図1に示す受信装置10と同じものである。
【0091】
受信パターン格納レジスタ14Aは、シリアルパラレル変換回路12のレジスタを第1のレジスタとして利用し、第2のレジスタとして、直列に接続された2段の32ビット(Nビット)のFF20A1,20A2を有している。受信パターン格納レジスタ14は、常に、最新の3周期分のパラレルデータDATA1〜3を格納する。受信パターン格納レジスタ14Aからは、
図7に示すように、パラレルデータDATA1の最下位ビット(DATA[0])から、シリアルデータとして受信した順に連続する32ビット(Nビット)の範囲のそれぞれのビットを先頭とする、32通り(N通り)の格納位置0〜31に格納された、33ビット(Lビット)の格納パターン0〜31が出力される。これに加えて、受信パターン格納レジスタ14Aからは、連続する32ビットの範囲に続く32ビット目を先頭とする格納位置32に格納された、33ビットの格納パターン32も出力される。
【0092】
パターン比較回路16Aは、33個(N+1個)の比較器(比較器0〜32)22と、31個(N−1個)のマルチプレクサ24とを備えている。
【0093】
比較器22のそれぞれの比較器0〜32の構成は、EXOR回路の個数が33個であることを除いて、
図2に示すものと同じである。
【0094】
ここで、比較器1〜31に各々対応するマルチプレクサを、マルチプレクサ1〜31と表記すると、マルチプレクサ1〜31は、それぞれ、比較パターン選択信号[1:31]の対応するビットに応じて、66ビット長の特定パターン[65:0]の中から、前半の33ビット長(Lビット長)の比較パターン、もしくは、後半の33ビット長(Jビット長)の比較パターンを出力する。
【0095】
マルチプレクサ1〜31の入力端子0には、特定パターン[32:0]が、入力端子1には、特定パターン[65:33]が全てのマルチプレクサ1〜31に共通に入力され、選択端子には、比較パターン選択信号[1:31]のそれぞれのビットが、対応するマルチプレクサ1〜31に入力されている。そして、マルチプレクサ1〜31のそれぞれからは、比較パターン選択信号が“0”の場合に、前半の比較パターン[32:0]となる特定パターン[32:0]が出力され、比較パターン選択信号が“1”の場合に、後半の比較パターン[32:0]となる特定パターン[65:33]が出力される。
【0096】
なお、比較器0には、常に、前半の比較パターン[32:0]となる特定パターン[32:0]が入力され、比較器32には、常に、後半の比較パターン[32:0]となる特定パターン[65:33]が入力される。
【0097】
パターン検出回路18Aは、
図6に示すように、
図1に示すものと同様に、比較器0〜31に対応する32セットの、AND回路30と、FF32と、AND回路34とを備えている。なお、比較器32に対応する回路は設けられていない(不要である)。検出信号[n]を出力するAND回路34には、比較パターン選択信号[n+1]と、パターン一致フラグ[n+1]が入力されている。
【0098】
なお、比較器0では、常に、格納パターン0と前半の比較パターンとの比較が行われ、比較器32では、常に、格納パターン32と後半の比較パターンとの比較が行われる。そのため、マルチプレクサ24の選択信号として、比較パターン選択信号[0]および[32]は不要である。ただし、比較パターン選択信号[0]は生成されていないが、比較パターン選択信号[32]は生成されており、パターン検出回路18Aの内部で使用されている。
【0099】
検出信号[n]は、比較パターン選択信号[n+1]が“1”、つまり、1周期前の格納パターンと前半の比較パターンとの比較結果が一致であり、かつ、パターン一致フラグ[n+1]が“1”、つまり、現在の周期の格納パターンと後半の比較パターンとの比較結果が一致である場合、すなわち、連続する2周期で一致、つまり、特定パターン全体が検出された場合に“1”となる。
【0100】
次に、受信装置40の動作について説明する。
【0101】
受信パターン格納レジスタ14に、最新の3周期分のパラレルデータDATA1〜3が格納されるまでの動作は同様である。
【0102】
パターン比較回路16Aでは、まず、全ての比較パターン選択信号が“0”になり、全てのマルチプレクサ24から、前半の比較データが出力される。そして、比較器22により、格納パターン0〜31のそれぞれと前半の比較パターンとが、各々対応するビット毎に比較される。その結果、シリアルデータが受信されると、一致が検出された格納パターン#nに対応するパターン一致フラグ[n]が“1”となる。
【0103】
ここで、
図7の上側に示すように、ある周期で、パラレルデータDATA1の先頭から2ビット目(Kビット目)を先頭とする格納位置に格納された格納パターン2と前半の比較パターンとの一致が検出され、パターン一致フラグ[2]が“1”になったとする。格納位置2はDATA1の2ビット目からDATA2の2ビット目までの範囲である。この格納範囲に格納された特定パターンの前半の33ビットに続く後半の33ビットの部分は、同じパラレルクロック周期内には、DATA2の3ビット目からDATA3の3ビット目までの範囲に格納されている。そして、パラレルクロックの次の周期内には、DATA1の3ビット目からDATA2の3ビット目までの格納位置、すなわち格納位置3に格納されることが期待される。このように、それぞれの格納位置に格納する特定パターンの前半部分のビット長33が、パラレルデータのビット幅32に比較して1だけ大きいため、後半部分は、1だけ大きい番号の格納位置に格納される。
【0104】
この後半部分を検出するため、パターン検出回路18Aでは、パターン一致フラグ[2]が“1”になると、比較パターン選択信号[3]だけが次の周期で“1”とする。
【0105】
比較パターン選択信号[3]が“1”になると、パターン比較回路16Aでは、マルチプレクサ3から、後半の32ビット長(Jビット長)の比較データが出力されこれ以外のマルチプレクサ1〜2,4〜31からは、前半の比較パターンが出力される。
【0106】
そして、同図上側の状態から1周期後の状態を同図下側に示すように、格納パターン3については、比較器3により、後半の比較パターンとの比較が行われる。一方、格納パターン3以外の格納パターン0〜2,4〜31については、比較器0〜2,4〜31により、前半の比較パターンとの比較が引き続き行われる。
【0107】
パターン検出回路18Aでは、格納パターン3に対応するパターン一致フラグ[3]が“1”になると、つまり、ある周期で前半の比較パターンとの一致が検出され、続いて、その次の周期で後半の比較パターンとの一致が検出されると、検出信号[2]だけが次の周期で“1”となり、格納パターン2の位置から特定パターンを含むシリアルデータが受信されたことが検出される。2以外の格納パターンと前半の比較パターンとの一致が検出された場合にも、同様に、次の周期で、特定パターンの後半部分の検出を行い、シリアルデータの受信を検出することができる。
【0108】
一方、
図8の上側に示すように、ある周期で、パラレルデータDATA1の先頭から31ビット目(Kビット目)を先頭とする格納パターン31と前半の比較パターンとの一致が検出され、パターン一致フラグ[31]が“1”になったとする。特定パターンの前半部分の33ビットが、DATA1の31ビット目からDATA2の31ビット目までの格納位置31に格納された場合、それに続く後半部分の33ビットは、同じパラレルクロック周期内には、DATA3の0ビット目から格納されている。この後半部分は、パラレルクロックの次の周期内には、DATA2の0ビット目からDATA3の1ビット目までの格納位置32に格納されると期待される。
【0109】
パターン検出回路18Aでは、パターン一致フラグ[31]が“1”になると、比較パターン選択信号[32]だけが次の周期で“1”となる。パターン選択信号[32]は、パターン比較回路16Aのマルチプレクサ1〜31の制御には利用されない。このため、比較器0〜31には、特定パターンの前半部分が比較パターンとして供給される。しかし、比較器32は常に特定パターンの後半部分の33ビットが比較パターンとして供給される。
【0110】
そして、同図上側の状態から1周期後の状態を同図下側に示すように、格納パターン32については、比較器32により、後半の比較パターンとの比較が行われる。
【0111】
パターン検出回路18Aでは、格納パターン32に対応するパターン一致フラグ[32]が“1”になると、つまり、ある周期で前半の比較パターンとの一致が検出され、続いて、その次の周期で後半の比較パターンとの一致が検出されると、検出信号[31]だけが次の周期で“1”となり、格納パターン31の位置で特定パターンを含むシリアルデータが受信されたことが検出される。
【0112】
図5の受信装置40では、パラレルクロックのある周期で格納パターン31と前半の比較パターンとの一致が検出されたときに、次の周期内で後半の比較パターンとの一致を検出するために、33個目の比較器32を備える構成とした。これは、格納パターン31と前半の比較パターンとの一致が検出された場合、パラレルクロックの次の周期内において、特定パターンの後半部分が、格納位置32に格納されると期待されるためである。従って、格納パターン0〜31と比較パターンとの比較を行うために設けた比較器0〜31とは別に、比較器32を設ける必要がある。また、受信パターン格納レジスタ14Aは、格納位置32に格納される33ビット長の後半部分の全体を格納することが可能なように、第2の格納レジスタとして、2つのFF20A1,20A2を備える構成とした。
【0113】
なお、次の周期内において格納位置32に格納されると期待される後半部分は、さらにその次の周期内においては、格納位置0に格納されることが期待される。従って、格納パターン31と前半の比較パターンとの一致が検出された場合に、パラレルクロックの2周期後に、比較器0を使って格納パターン0と後半の比較パターンとの比較を行うことにより、後半部分との一致を検出することが可能である。しかし、格納パターン0〜30と前半の比較パターンとの一致が検出された場合には、比較器1〜31を利用して、パラレルクロックの次の周期内に後半部分との一致を検出することができるのに対して、格納位置31で前半部分との一致が検出された場合のみ、異なる周期内に後半部分との一致を検出するためには、複雑な制御を必要とする。これを避けるため、
図5の受信装置40では、比較器32を追加することにより、0〜31の32種類の格納パターンのいずれと前半の比較パターンとの一致が検出されたときに、パラレルクロックの同一周期内、すなわち、次の周期内に、後半部分との一致を検出することを可能にした。
【0114】
上記のように、本発明の受信装置は、M=66,N=32の場合に限らず、特定パターンのビット長Mが、パラレルデータのビット幅Nの整数倍、もしくは、整数倍でない、どのような組合せの場合であっても正しく動作する。
【0115】
次に、パラレルデータのビット幅Nが32ビットでない場合、例えば、M=64,N=16の場合を説明する。
【0116】
図31に示す受信装置120のように、パラレルデータのビット幅Nが16ビットの場合、例えば、受信した10Gbpsのシリアルデータが、シリアルパラレル変換回路82Dにより、625MHz、16ビットのパラレルデータに変換される。
【0117】
そして、受信パターン格納レジスタ84Dは、常に、最新の5周期分のパラレルデータDATA1〜5を格納する。受信パターン格納レジスタ84D内には、64ビット長の特定パターンが
図32に示すように、例えばパラレルデータDATA1の最下位ビットから、シリアルデータとして受信した順に連続する16ビットの範囲のそれぞれのビットを先頭とする、16通りの格納位置に格納される可能性がある。
【0118】
この受信装置では、16個の比較器により、5周期分のパラレルデータDATA1〜5に含まれる、16通りの、64ビット幅の格納パターンのそれぞれと、64ビット長の特定パターンとが一度に比較される。
【0119】
続いて、
図9は、本発明の受信装置の構成を表す第3の実施形態の回路図である。同図に示す受信装置50は、同様に、シリアルパラレル変換回路12Bと、受信パターン格納レジスタ14Bと、パターン比較回路16Bと、パターン検出回路18Bとを備えている。第3の実施形態の受信装置50は、16通り(N通り)の、64ビット幅(Mビット幅)の格納パターンのそれぞれと、64ビット長(Mビット長)の特定パターンとを、16ビット(LビットないしJビット)ずつ、4回に分けて4周期で比較する。
【0120】
シリアルパラレル変換回路12Bは、
図1に示す受信装置10と同様のものであって、16ビット幅(Nビット幅)のパラレルデータDATA2を生成する。
【0121】
受信パターン格納レジスタ14Bは、
図1に示す受信装置14と同様のものであって、シリアルパラレル変換回路12Bのレジスタを第1のレジスタとして利用するとともに、第2のレジスタとして16ビット(Nビット)のFF20Bを備える。
【0122】
パターン比較回路16Bは、16個(N個)の比較器(比較器0〜15)22Bと、比較パターン選択部36とを備えている。
【0123】
比較器22のそれぞれの比較器0〜15は、
図2に示す比較器と同様のものであって、
図10に示すように、格納パターンと比較パターンとを比較する16個のEXOR回路26Bと、NOR回路28Bとを備えている。
【0124】
比較パターン選択部36は、
図11に示すマルチプレクサ24Bを16個備えている。各々のマルチプレクサ24Bは、比較パターン選択信号[n]に応じて、64ビット長の特定パターン[63:0]の中から、第1の比較パターンとなる16ビット長(Lビット長)の特定パターン[15:0]、第2の比較パターンとなる16ビット長(Jビット長)の特定パターン[31:16]、第3の比較パターンとなる16ビット長(Jビット長)の特定パターン[47:32]、もしくは、第4の比較パターンとなる16ビット長(Jビット長)の特定パターン[63:48]を出力する。
【0125】
パターン検出回路18Bは、
図12に示すように、比較器0〜15に対応する16セットの、マルチプレクサ38と、FF32と、加算器(+1)42と、比較器(=3)44と、AND回路34とを備えている。
【0126】
パターン検出回路18Bでは、パターン一致フラグ[n]が“0”のとき、マルチプレクサ38の出力信号は“0”となり、これが、パラレルクロックに同期してFF32に保持される。そのため、FF32の出力信号である比較パターン選択信号[n]は“0”となり、加算器42の出力信号は“1”となる。また、パターン一致フラグ[n]が“0”であるから、AND回路34の出力信号である検出信号[n]も“0”となる。
【0127】
パターン一致フラグ[n]が“1”になると、マルチプレクサ38の出力信号は“1”となり、これが次の周期でFF32に保持されるため、比較パターン選択信号[n]は“1”となり、加算器42の出力信号は“2”となる。比較器44は、比較パターン選択信号[n]が“3”であるかどうかを検出するものであり、この時、比較器44の出力信号は“0”となるから、検出信号[n]は“0”となる。
【0128】
以下同様にして、パターン一致フラグ[n]が連続して4周期の間“1”になると、比較パターン選択信号[n]は“3”となり、比較器44の出力信号が“1”となって、検出信号[n]は“1”となる。なお、パターン一致フラグ[n]が、4周期の間で一度でも“0”になると、マルチプレクサ38の出力信号が“0”となり、これが次の周期でFF32に保持されて、比較パターン選択信号[n]、および、検出信号[n]は“0”となる。
【0129】
比較パターン選択信号[n]は、2ビットの信号であり、パターン一致フラグ[n]が連続してi回(i=1〜4)“1”になる、つまり、格納パターンと比較パターンとが連続してi回路一致すると、その次の周期で、“i”となる。また、検出信号[n]は、パターン一致フラグ[n]が連続して4回“1”になる、つまり、格納パターンと比較パターンとが連続して4回一致すると、“1”になる。
【0130】
次に、受信装置50の動作について説明する。
【0131】
受信パターン格納レジスタ14に、最新の2周期分のパラレルデータDATA1〜2が格納されるまでの動作は同様である。
【0132】
パターン比較回路16Bでは、まず、全ての比較パターン選択信号が“0”になり、比較パターン選択部36の全てのマルチプレクサ24Bから、第1の比較パターンが出力される。そして、比較器22により、格納パターン0〜15のそれぞれと第1の比較パターンとが、各々対応するビット毎に比較される。その結果、シリアルデータが受信されると、一致が検出された格納パターン#nに対応するパターン一致フラグ[n]が“1”となる。
【0133】
ここで、
図13の上側に示すように、DATA1の0ビットから連続する16ビットの範囲のそれぞれのビットを先頭とする16通りの格納位置0から15を考える。そして、ある周期で、パラレルデータDATA1の先頭から2ビット目(Kビット目)を先頭とする格納パターン2と第1の比較パターン(
図13では、第1〜第4の比較パターンを、それぞれ、比較パターン1/4、比較パターン2/4、比較パターン3/4、比較パターン4/4と表記している。)との一致が検出され、パターン一致フラグ[2]が“1”になったとする。
【0134】
この場合、パターン検出回路18Bでは、パターン一致フラグ[2]が“1”になると、比較パターン選択信号[2]が次の周期で“1”になる。
【0135】
比較パターン選択信号[2]が“1”になると、パターン比較回路16Bでは、比較器2にはマルチプレクサ24Bから、第2の比較データが入力される。これ以外の比較器0〜1,3〜15には、第1の比較パターンが入力される。
【0136】
そして、同図上側の状態から1周期後の状態を同図下側に示すように、格納パターン2については、比較器22により、第2の比較パターンとの比較が行われる。一方、格納パターン2以外の格納パターン0〜1,3〜15については、比較器22により、第1の比較パターンとの比較が引き続き行われる。
【0137】
以下順に、パターン一致フラグ[2]が2周期連続で“1”になると、比較パターン選択信号[2]がさらに次の周期で“2”となって、マルチプレクサ24Bから、第3の比較データが出力され、同図下側の状態から1周期後の状態を
図14上側に示すように、格納パターン2と第3の比較パターンとの比較が行われる。また、パターン一致フラグ[2]が3周期連続で“1”になると、比較パターン選択信号[2]がさらに次の周期で“3”となって、マルチプレクサ24Bから、第4の比較データが出力され、同図上側の状態から1周期後の状態を同図下側に示すように、格納パターン2と第4の比較パターンとの比較が行われる。
【0138】
そして、パターン一致フラグ[2]が4周期連続で“1”になると、つまり、ある周期で、格納パターン2と第1の比較パターンとの一致が検出され、その後、3周期連続して、格納パターン2と第2〜第4の比較パターンとの一致が検出されると、検出信号[2]が次の周期で“1”となり、特定パターンを含むシリアルデータが受信されたことが検出される。
【0139】
また、格納パターン0〜1,3〜15に対応するパターン一致フラグ[n]が“1”になった場合には、“1”のパターン一致フラグ[n]に対応する比較パターン選択信号[n]が次の周期で“1”となり、以後、前述の動作が繰り返される。
【0140】
上記のように、本発明の受信装置は、M=64,N=16の場合に限らず、パラレルデータのビット幅Nがどのような値の場合であっても正しく動作する。
【0141】
次に、通信誤りを許す場合について説明する。
【0142】
従来の受信装置において、通信誤りを許す場合の構成は、既に説明したように、
図27および
図28の通りである。
【0143】
すなわち、この受信装置100では、それぞれの比較器92B(比較器0〜31)において、加算器98Bにより、64個のEXOR回路94Aからの比較結果を加算し、加算結果が15未満であれば加算結果をそのまま出力し、15以上であれば15を出力する。そして、加算結果である通信誤り数が、最大許容不一致ビット数の15未満である場合には、大小比較回路102Bにより、一致が検出されたと見なされ、パターン一致フラグが“1”となる。
【0144】
続いて、
図15は、本発明の受信装置の構成を表す第4の実施形態の回路図である。同図に示す受信装置60は、
図1に示す第1の実施形態の受信装置10と比較して、パターン比較回路16Cのそれぞれの比較器(比較器0〜31)22Cに最大許容不一致ビット数(1ブロックの特定パターンを検出する間に許容される最大の通信誤り数)が入力されている点を除いて、同様の構成のものである。
【0145】
比較器22Cのそれぞれは、
図16に示すように、32個のEXOR回路26で構成される点と、1ビット右シフト回路46を備える点とを除いて、
図28に示す比較器92Bと同様の構成のものである。この比較器22Cでは、最大許容不一致ビット数が、1ビット右シフト回路46により、右側(最下位ビット側)に1ビットだけシフトされて、その値が1/2とされ、大小比較回路52により、加算器48の出力信号である通信誤り数と最大許容不一致ビット数の1/2の値との比較が行われる。
【0146】
この受信装置60では、32通りの、64ビット幅の格納パターンのそれぞれと、64ビット長の特定パターンとを、前半と後半の32ビットずつ、2回に分けて2周期で比較する。そのため、最大許容不一致ビット数を1/2として、1回の比較で、最大許容不一致ビット数の半分までの通信誤りを許容している。これにより、2回の比較で、通信誤り数が最大許容不一致ビット数以下であれば、特定パターンとの一致が検出されたと見なすことを保証している。
【0147】
上記のように、本発明の受信装置は、2回に分けて2周期で比較する場合に限らず、n回に分けてn周期で比較する場合でも、最大許容不一致ビット数を1/nとすることにより、正しく動作する。
【0148】
なお、上記第4の実施形態の受信装置60では、最大許容不一致ビット数の検査が厳しすぎる場合がある。つまり、n回に分けてn周期で比較する場合に、各周期での通信誤り数にばらつきがある場合である。例えば、1回目の比較で最大許容不一致ビット数の1/2を超える通信誤り数があったが、2回目の比較では、通信誤り数が0の場合である。この場合、2回の比較での通信誤り数の合計は、最大許容不一致ビット数を下回るが、特定パターン未検出と判定されてしまう。
【0149】
この問題に対応するものが、第5の実施形態である。以下、第5の実施形態について説明する。
【0150】
図17は、本発明の受信装置の構成を表す第5の実施形態の回路図である。同図に示す受信装置70は、
図1に示す第1の実施形態の受信装置10と比較して、パターン比較回路16Dのそれぞれの比較器22D(比較器0〜31)と、パターン検出回路18Dの構成が異なる点を除いて、同様の構成のものである。
【0151】
それぞれの比較器22Dは、
図18に示すように、
図2に示す比較器22と比較して、NOR回路28の代わりに、加算器48を備えている。加算器48により、全てのEXOR回路26の出力信号が加算され、加算器48からは、その加算結果である4ビットの通信誤り数が出力される。
【0152】
パターン検出回路18Dは、
図19に示すように、FF54と、加算器56と、第1の大小比較回路58と、AND回路30と、FF32と、第2の大小比較回路62とを備えている。図示を省略しているが、これらは、32個のパターン一致フラグ[31:0]に対応する32セットの回路が設けられている。
【0153】
まず、パターン比較回路16Dにおいて、比較器22Dにより、32通りの格納パターンのそれぞれと、前半の比較パターンとの比較(1回目の比較)が行われる。その結果、それぞれの比較器22Dから、1回目の通信誤り数が出力される。
【0154】
パターン検出回路22Dでは、第1の大小比較回路58により、1回目の通信誤り数と最大許容不一致ビット数との比較が行われる。その結果、1回目の通信誤り数が、最大許容不一致ビット数未満であれば、1回目の比較で一致が検出されたと見なされて、第1の大小比較回路58の出力信号が“1”となり、パラレルクロックに同期して、次の周期でFF32の出力信号である比較パターン選択信号が“1”となる。
【0155】
続いて、パターン比較回路16Dでは、1回目の比較の結果、比較パターン選択信号が“1”となったマルチプレクサ24から後半の比較パターンが出力される。そして、後半の比較パターンが入力された比較器22Dにより、格納パターンと後半の比較パターンとの比較が行われる。その結果、後半の比較パターンが入力された比較器22Dからは、2回目の通信誤り数が出力される。
【0156】
パターン検出回路18Dでは、同じく、第1の大小比較回路58により、2回目の通信誤り数と最大許容不一致ビット数との比較が行われる。しかし、前述のように、比較パターン選択信号はワンショット信号であるため、1回目の比較の結果、“1”となった比較パターン選択信号は、第1の大小比較回路58の出力信号、つまり、2回目の比較結果に値に関係なく、次の周期で“0”に戻る。
【0157】
また、パターン検出回路18Dでは、比較器22Dから1回目の通信誤り数が出力されたとき、次の周期には、1回目の通信誤り数がFF54に保持される。そして、同じ次の周期で、比較器22Dから2回目の通信誤り数が出力されると、加算器56により、FF54の出力信号である1回目の通信誤り数と、比較器22Dから出力された2回目の通信誤り数とが加算され、加算器56から、1回目と2回目の合計の通信誤り数が出力される。なお、加算器56の出力信号は、4ビットの通信誤り数同士の加算の際に桁上がりが発生することを考慮して、5ビットの信号となる。
【0158】
そして、第2の大小比較回路62により、加算器56の出力信号である、1回目と2回目の合計の通信誤り数と、最大許容不一致ビット数との比較が行われる。その結果、1回目と2回目の合計の通信誤り数が、最大許容不一致ビット数未満であれば、2回目の比較、つまり、1回目と2回目の比較の両方で一致が検出されたと見なされ、第2の大小比較回路62の出力信号である検出信号が“1”になる。
【0159】
このように、第5の実施形態の受信装置70であれば、n回に分けてn周期で比較する場合に、各周期での通信誤り数にばらつきがある場合でも、1回目と2回目の合計の通信誤り数が、最大許容不一致ビット数を下回っていれば、一致が検出されたと見なされる。そのため、通信誤りを許す場合でも、通信誤り数を正しく判定しつつ、特定パターンを検出することができる。
【0160】
以上のように、本発明により、比較器のEXOR回路の個数を削減することができるので、受信装置の回路規模を小さくすることができる。例えば、特定パターンの検出において通信誤りを許さない場合でも、本発明の受信装置と従来の受信装置とを比較すると、例えば、M=64,N=32,L=32,J=32の場合、本発明の受信装置では、EXOR回路を1000個程度削減することができる。これにより、本発明によれば、回路規模削減により、チップコスト削減、レイアウト容易性向上などの効果がある。
【0161】
本発明の受信装置では、前半の比較パターンと後半の比較パターンとを切り換えるために、マルチプレクサ等の回路を追加する必要があるが、EXOR回路の削減効果の方が大きい。
【0162】
なお、M,N,L,J、受信パターン格納レジスタ14に格納されるパラレルデータのビット幅、連続するNビットの範囲、ならびに、ビット誤り許容数などは特に限定されない。
【0163】
上記各実施形態では、1回目と2回目、もしくは、1〜4回目の比較において、L=Jとしている。すなわち、M=I・L(Iは2以上の整数)である。しかし、これも限定されず、例えば、特定パターン全体のビット長Mが奇数の場合等、両者の値が異なる場合もある。また、2回の比較で終了する場合も、3回目以降の比較が必要な場合も同様であり、3回以降の比較が必要な場合には、例えば、最後の比較のときにLとJが異なるように設定してもよい。
【0164】
本発明の受信装置は、プリアンブルに限らず、エンドオブバーストなどのように、あらかじめ設定された所定ビット長の特定パターンを含むシリアルデータから、特定パターンを検出することができる。
【0165】
また、第2の実施形態の受信装置の場合には、前半の比較パターンとの一致が検出されたときに、いずれの格納パターンとの一致が検出された場合にも、その次の周期で、後半の比較パターンとの一致を検出しているが、これも限定されない。
【0166】
例えば、M=66,N=32,L=33,q=1,r=1の場合、
図20の上側に示すように、連続する32ビット(Nビット)の範囲のそれぞれのビットを先頭とする格納パターン0〜31のそれぞれで前半の比較パターンとの一致が検出された場合に、前半の33ビット(Lビット)の部分に続く特定パターンの後半の33ビットの部分は、パラレルクロックの次の周期内には、同図の下側に示すように、それぞれ1〜32の格納位置に格納されると期待される。この内、格納パターン1〜31は、前半の一致検出において格納パターン1〜31と前半の比較パターンとの比較に利用した比較器1〜31を利用して、後半の比較パターンとの一致を検出することが可能である。一方、格納パターン32は、前半の一致検出に利用した比較器0〜31のいずれを利用しても、後半の比較パターンとの一致を検出することはできない。
【0167】
しかし、さらに1周期待つと、
図20の一番下に破線で示すように、格納パターン32は格納位置0にシフトする。この周期内には、前半の一致検出において格納パターン0と前半の比較パターンとの比較に利用した比較器0を利用して、後半の比較パターンとの一致を検出することができる。これにより、後半の一致を検出する周期を前半の一致を検出した格納パターンに応じて変化させる制御は必要になるが、比較器33の追加は不要である。
【0168】
また、M=120,N=32,L=60,q=1,r=28の場合、
図21の上側に示すように、DATA1の4ビット目から連続する32ビットの範囲のそれぞれのビットを先頭とする60ビットの部分を格納位置4〜35とし、この格納位置のそれぞれに格納される格納パターン4〜35を、120ビット長の特定パターンの前半の60ビットの比較パターンと比較することができる。この場合、格納パターン4〜35のそれぞれと前半の比較パターンとの一致が検出されたときに、特定パターンの後半の60ビットの部分は、パラレルクロックの2周期後には、
図21の下側に実線で示すように、DATA1の0ビット目から連続する32ビットの範囲のそれぞれのビットを先頭とする格納位置0から31に格納されると期待される。
【0169】
この内、格納パターン4〜31は、前半の比較パターンとの一致検出に利用した比較器4〜31を利用して、後半の比較パターンとの一致を検出することができる。しかし、格納パターン0〜3は、前半の一致検出に利用した比較器4〜35のいずれを利用しても、後半の比較パターンとの一致を検出することができない。そこで、これらの格納パターン0〜4と比較パターンとの一致を検出するために、4個の比較器0〜3を追加することも可能である。
【0170】
しかし、前半の一致が検出された周期の2周期後から、1つ前の周期、すなわち、前半の一致が検出された周期の1周期後には、
図21の下側に破線で示すように、特定パターンの後半の60ビットの部分は、格納位置32〜35に格納されると期待される。これらの格納位置32〜35に格納された格納パターンは、前半の検出において格納パターン32〜35と前半の比較パターンとの一致検出に利用した比較器32〜35を利用して、後半の比較パターンとの一致を検出することができる。これにより、後半の一致を検出する周期を前半の一致を検出した格納パターンに応じて変化させる制御は必要になるが、比較器0〜3の追加は不要である。
【0171】
一般的に、パラレルクロックのビット幅Nよりも多数の比較器を用意して、前半の一致が検出された格納パターンの先頭位置(K値)によらず、後半の比較を行うクロック周期を同一にすることが可能である。すなわち、パラレルクロックの第1の周期内に、連続するNビットの範囲の先頭からKビット目(K=0〜N−1)を先頭とするLビットの部分と、特定パターンの先頭からLビットの部分との一致が検出されたときに、L/Nの商をq、あまりをrとして、第1の周期からq周期後の周期内に、特定パターンのL+1ビット目からJビットの部分との一致を検出することが可能である。具体的には、K<N−rである場合には、連続するNビットの範囲の先頭からK+rビット目を先頭とするJビットの部分と、特定パターンのL+1ビット目からJビットの部分との一致を検出する。N−r≦Kである場合には、連続するNビットの範囲の直後のrビットの範囲の先頭からK+r−Nビット目を先頭とするJビットの部分と、特定パターンのL+1ビット目からJビットの部分との一致を検出する。このために、パターン比較回路16は、連続するNビットの範囲のそれぞれのビットを先頭とする格納パターンと比較パターンとの比較を行うN個の第1の比較器を備えるとともに、連続するNビットの範囲の直後のrビットの範囲のそれぞれのビットを先頭とする格納パターンと比較パターンとの比較を行うr個の第2の比較器を備える。そして、パターン検出回路18は、第1の周期内での一致の検出に続いて、第1の周期からq周期後の周期内に、K<N−rである場合には、第1の比較器のうちの、連続するNビットの範囲の先頭からK+rビット目のビットを先頭とする格納パターンと比較パターンとの比較を行う比較器が一致を検出したことを条件として、特定パターンを含むシリアルデータの受信を検出する。N−r≦Kである場合には、第2の比較器のうちの、連続するNビットの範囲の直後のrビットの範囲の先頭からK+r−Nビット目のビットを先頭とする格納パターンと比較パターンとの比較を行う比較器が一致を検出したことを条件として、特定パターンを含むシリアルデータの受信を検出する。
【0172】
もしくは、第1の周期からq+1周期後の周期内に、特定パターンのL+1ビット目からJビットの部分との一致を検出することも可能である。具体的には、K<N−rである場合には、連続するNビットの範囲の直前のN−rビットの範囲の、先頭からKビット目を先頭とするJビットの部分と、特定パターンのL+1ビット目からJビットの部分との一致を検出する。N−r≦Kである場合には、連続するNビットの範囲の先頭からK+r−Nビット目を先頭とするJビットの部分と、特定パターンのL+1ビット目からJビットの部分との一致を検出する。このために、パターン比較回路16は、連続するNビットの範囲のそれぞれのビットを先頭とする格納パターンと比較パターンとの比較を行うN個の第1の比較器を備えるとともに、連続するNビットの範囲の直前のN−rビットの範囲のそれぞれのビットを先頭とする格納パターンと比較パターンとの比較を行うN−r個の第3の比較器を備える。そして、パターン検出回路18は、第1の周期内での一致の検出に続いて、q+1周期後の周期内に、K<N−rである場合には、第3の比較器のうちの、連続するNビットの範囲の直前のN−rビットの範囲の先頭からKビット目のビットを先頭とする格納パターンと比較パターンとの比較を行う比較器が一致を検出したことを条件として、特定パターンを含むシリアルデータの受信を検出する。N−r≦Kである場合には、第1の比較器のうちの、連続するNビットの範囲の先頭からK+r−Nビット目のビットを先頭とする格納パターンと比較パターンとの比較を行う比較器が一致を検出したことを条件として、特定パターンを含むシリアルデータの受信を検出する。
【0173】
ここで、追加する第2もしくは第3の比較器の個数を少なくするために、
図20に示した例のようにrがN/2に比較して小さい場合には、q周期後の周期内にJビットの部分との一致を検出することが好ましい。一方、
図21に示した例のようにrがN/2に比較して大きい場合には、q+1周期後の周期内にJビットの部分との一致を検出することが好ましい。
【0174】
また、一般的に、後半の比較を行うパラレルクロック周期を必要に応じて変化させることにより、必要とする比較器の個数をN個に制限することも可能である。パラレルクロックの第1の周期内に、連続するNビットの範囲の先頭からKビット目を先頭とするLビットの部分と、特定パターンの先頭からLビットの部分との一致が検出されたときに、K<N−rである場合には、第1の周期からq周期後の周期内に、連続するNビットの範囲の先頭からK+rビット目のビットを先頭とするJビットの部分と、特定パターンのL+1ビット目からJビットの部分との一致を検出する。N−r≦Kである場合には、第1の周期からq+1周期後の周期内に、連続するNビットの範囲の先頭からK+r−Nビット目のビットを先頭とするJビットの部分と、特定パターンのL+1ビット目からJビットの部分との一致を検出する。そして、パターン比較回路が、連続するNビットの範囲のそれぞれのビットを先頭とする格納パターンと比較パターンとの比較を行うN個の比較器を備え、パターン検出回路は、第1の周期内の一致の検出に続いて、K<N−rである場合には、第1の周期からq周期後の周期内に、N個の比較器のうちの連続するNビットの範囲の先頭からK+rビット目のビットを先頭とする格納パターンと比較パターンとの比較を行う比較器が一致を検出したことを条件として、特定パターンを含むシリアルデータの受信を検出する。N−r≦Kである場合には、第1の周期からq+1周期後の周期内に、N個の比較器のうちの連続するNビットの範囲の先頭からK+r−Nビット目のビットを先頭とする格納パターンと比較パターンとの比較を行う比較器が一致を検出したことを条件として、特定パターンを含むシリアルデータの受信を検出する。
【0175】
この場合、パターン比較回路は、例えば、受信パターン格納レジスタに格納されたパラレルデータを構成するビットの、連続するNビットの範囲のそれぞれのビットを先頭とする格納パターンと、特定パターンの対応する比較パターンとの比較を行うN個の比較器を備える。
【0176】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。