(57)【特許請求の範囲】
【請求項１】
集積回路における符号間干渉をフィルタリングするための回路であって、前記回路は、
入力信号のデジタルサンプルを受信するように結合された第１のフィードフォワードイコライザを有する第１の段であって、前記第１のフィードフォワードイコライザの出力が、低減されたプリカーソル符号間干渉を有し、前記デジタルサンプルに基づいて第１の判定出力を生成する前記第１の段の判定フィードバックイコライザに結合される、第１の段と、
前記入力信号の前記デジタルサンプルを受信するように結合された第２の段であって、
前記第２の段は、遅延されたデジタルサンプルを受信するために遅延要素の出力に結合されたプレフィルタと、前記第１の判定出力を受信し、フィルタリングされた判定を生成する第２のフィードフォワードイコライザとを備え、前記遅延要素は、前記プレフィルタの出力を前記フィルタリングされた判定と揃え、
前記第２のフィードフォワードイコライザによって生成された前記フィルタリングされた判定が、前記第１の判定出力に関連する検出された符号間干渉を含む、第２の段と、
前記プレフィルタの前記出力と、前記第２のフィードフォワードイコライザの前記検出された符号間干渉とを受信するように結合された第１の減算器回路であって、前記検出された符号間干渉が、前記プレフィルタの前記出力から減算される、第１の減算器回路と、
前記プレフィルタに結合されたプレフィルタ適合回路と、前記第２のフィードフォワードイコライザに結合されたフィードフォワードイコライザ適合回路とを備える適合段と
を備え、
前記第２の段が、前記第１の減算器回路の出力に基づいて第２の判定出力を生成し、
第２の減算器回路が、前記第１の減算器回路の前記出力と前記第２の判定出力とに基づいて誤差信号を生成し、
前記第２の減算器回路によって生成された前記誤差信号に基づいて、前記プレフィルタ適合回路が、適合されたプレフィルタ係数を前記プレフィルタに供給し、前記フィードフォワードイコライザ適合回路が、適合された係数を前記第２のフィードフォワードイコライザに供給する、回路。
【請求項２】
前記判定フィードバックイコライザが、シングルタップ判定フィードバックイコライザを含む、請求項１に記載の回路。
【請求項３】
前記第１の減算器回路の出力に結合された判定ブロックを更に備え、前記判定ブロックが、前記第２の判定出力を生成する、請求項１に記載の回路。
【請求項４】
集積回路における符号間干渉をフィルタリングする方法であって、
第１の段の第１のフィードフォワードイコライザで入力信号のデジタルサンプルを受信することであって、前記第１のフィードフォワードイコライザの出力が、低減されたプリカーソル符号間干渉を有する、受信することと、
前記第１のフィードフォワードイコライザの出力を判定フィードバックイコライザに結合して、前記デジタルサンプルに基づいて前記第１の段の第１の判定出力を生成することと、
前記第１の判定出力を第２のフィードフォワードイコライザに結合して、前記第１の判定出力のフィルタリングされた判定を生成することであって、前記第２のフィードフォワードイコライザの出力が、前記第１の判定出力に関連する検出された符号間干渉を含む、生成することと、
第２の段で前記入力信号の前記デジタルサンプルを受信することと、
前記デジタルサンプルを遅延要素に結合して、遅延されたデジタルサンプルを生成することと、
前記遅延されたデジタルサンプルを前記第２の段のプレフィルタに結合することであって、前記遅延要素は、前記プレフィルタの出力を前記第１の判定出力の前記フィルタリングされた判定と揃える、結合することと、
前記プレフィルタの出力と前記第１の判定出力に関連する前記検出された符号間干渉とを第１の減算器回路に結合することであって、前記検出された符号間干渉が、前記プレフィルタの前記出力から減算される、結合することと、
前記第１の減算器回路の出力に基づいて第２の判定出力を生成することと、
第２の減算器回路を使用して、前記第１の減算器回路の前記出力と前記第２の判定出力とに基づいて誤差信号を生成することと、
前記誤差信号に基づいて、適合されたプレフィルタ係数を前記プレフィルタに供給することと、
前記誤差信号に基づいて、適合された係数を前記第２のフィードフォワードイコライザに供給することと
を含む方法。
【請求項５】
前記第１の減算器回路の前記出力を判定ブロックに結合することを更に含み、前記判定ブロックが、前記第２の判定出力を生成する、請求項４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、集積回路デバイスに関し、特に、集積回路における符号間干渉をフィルタリングするための回路および方法に関する。
【背景技術】
【０００２】
高速シリアルリンク通信は、多くの集積回路およびシステムの重要な機能である。しかし、高速シリアルリンク通信を実装することには多くの課題がある。例えば、高損失を有するデータ伝送チャネルに実装された５６ギガバイト／秒（Ｇｂ／ｓ）シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）回路は、目標とする誤り率を達成するために高性能の等化を必要とする。従来のデバイスでは、等化は、プリカーソル符号間干渉（ＩＳＩ）をキャンセルするＦＦＥ（フィードフォワードイコライザ）及び残余のポストカーソルＩＳＩをキャンセルする判定フィードバックイコライザ（ＤＦＥ）で行われる。しかしながら、ＦＦＥおよびＤＦＥ等化を実施する従来の回路は、集積回路にＤＦＥを実装する際の制限のために、わずかなＤＦＥタップしかサポートすることができない。ＤＦＥのフィードバックループのために、高いデータレートを達成するにはループアンローリングが必要である。さらに、ＤＦＥタップの数が増加すると、クリティカルパス長が増加し、ＤＦＥのループアンローリングの複雑度も指数関数的に増加する。より高いデータレート及びより困難な伝送チャネルをサポートするために、ＦＦＥおよびＤＦＥ等化を実施する回路の改善が必要である。
【０００３】
したがって、集積回路における符号間干渉をフィルタリングするための改善された回路および方法が有利であろう。
【発明の概要】
【０００４】
集積回路における符号間干渉をフィルタリングするための回路が説明される。本回路は、入力信号のデジタルサンプルを受信するように結合された第１の段であって、デジタルサンプルに基づいて第１の判定出力を生成する第１の段と、入力信号のデジタルサンプルを受信するように結合された第２の段であって、第１の判定出力を受信し、入力信号のデジタルサンプルと第１の判定出力に関連する検出された符号間干渉に基づいて第２の判定出力を生成するフィルタを含む第２の段と、を備える。
【０００５】
集積回路における符号間干渉をフィルタリングするための別の回路は、入力信号のデジタルサンプルを受信するように結合された判定フィードバックイコライザであって、デジタルサンプルに基づいて第１の判定出力を生成する判定フィードバックイコライザと、第１の判定出力を受信し、第１の判定出力に関連する検出された符号間干渉を生成するように結合されたフィードフォワードイコライザと、入力信号の遅延されたデジタルサンプルを受信するように結合されたプレフィルタと、プレフィルタおよびフィードフォワードイコライザの出力に結合された第１の減算器回路と、減算器回路の出力に結合され、第２の判定出力を生成する判定ブロックとを含む。
【０００６】
集積回路における符号間干渉をフィルタリングする方法もまた説明される。本方法は、第１の段で入力信号のデジタルサンプルを受信することと、デジタルサンプルに基づいて第１の段の第１の判定出力を生成することと、第２の段で入力信号のデジタルサンプルを受信することと、  入力信号のデジタルサンプルと、第１の判定出力に関連する検出された符号間干渉とに基づいて第２の判定出力を生成することと、を含む。
【図面の簡単な説明】
【０００７】
【図１】符号間干渉をフィルタリングするための回路を有する集積回路のブロック図である。
【図２】符号間干渉をフィルタリングする受信機を有する送信ネットワークのブロック図である。
【図３】符号間干渉のキャンセルを可能にする例示的な受信機の一部のブロック図である。
【図４】符号間干渉のキャンセルの適合を可能にする受信機の一部の別のブロック図である。
【図５】図３および図４のフィードフォワードイコライザの実施例のブロック図である。
【図６】集積回路における符号間干渉をフィルタリングする方法を示すフローチャートである。
【図７】集積回路における符号間干渉をフィルタリングする別の方法を示すフローチャートである。
【図８】プログラマブルリソースを有するデバイスをプログラムするためのシステムのブロック図である。
【図９】プログラマブルリソースを有するデバイスのブロック図である。
【図１０】図９のデバイスのコンフィギュラブルロジックエレメントのブロック図である。
【発明を実施するための形態】
【０００８】
以下に説明する回路および方法は、高速シリアルデータアプリケーションの等化を改善するために、プリカーソルおよびポストカーソルＩＳＩのキャンセルを可能にする。より詳細には、本回路および方法は、ＩＳＩで歪んだ信号を最初に部分的に等化し、次に、他の別個の検出器からのフィルタリングされた判定値から、推定されたプリカーソルおよびポストカーソルＩＳＩを減算することによって、プリカーソルおよびポストカーソルＩＳＩをキャンセルする。アナログデジタル変換器（ＡＤＣ）サンプルをフィルタリングするプレフィルタが、低複雑度検出器からの判定を処理して、プリカーソルおよびポストカーソルＩＳＩの推定値を生成する判定ＦＩＲ（有限インパルス応答）フィルタと結合される。共同のおよび独立したプレフィルタおよび判定フィルタの適合を実施することにより、結果として生じた等化されたサンプルのノイズおよび残余のＩＳＩが低減され、等化が改善された。
【０００９】
本回路および方法は、判定が低複雑度検出器によって生成されるため、プリカーソルおよびポストカーソルＩＳＩのキャンセルにフィードバックループを持たないことによって、クリティカルパス長を減少させる。判定ＦＩＲが、プリカーソルおよびポストカーソルの両方に作用し、プレフィルタは、ポストカーソルのみが判定によってキャンセルされる従来のＤＦＥの実装におけるＦＦＥと比較して同じくらい高い頻度でブーストを行う必要がないので、本回路および方法はまた、等化されたサンプルのノイズを低減する。さらに、従来のＤＦＥと比較してより長いプリカーソルタップおよびポストカーソルタップをサポートできるので、本回路および方法は、等化されたサンプルにおける残余のＩＳＩを低減する。結果として、本回路および方法は、従来のＤＦＥの実装に比べて、より高いデータレートのシリアルリンク通信をサポートし、より困難なチャネルにおけるデータ伝送を可能にする。
【００１０】
本明細書は、新規であると見なされる、本発明の１つ以上の実施態様の特徴を定める請求項を含むが、本回路および方法は、図面と併せて説明を検討することにより、よりよく理解されると考えられる。様々な回路および方法が開示されているが、回路および方法は、様々な形態で具現化することができる発明の構成の単なる例示であることを理解されたい。したがって、本明細書に開示された特定の構造的および機能的詳細は、限定として解釈されるのではなく、単に請求項のための基礎として、また、発明の構成を事実上任意の適切に詳細な構造で様々に使用することを当業者に教示するための代表的な基礎として、解釈されるべきである。さらに、本明細書で使用する用語および語句は、限定することを意図するものではなく、回路および方法の理解可能な説明を提供することを意図している。
【００１１】
ここで図１を参照すると、符号間干渉をフィルタリングするための回路を有する集積回路のブロック図が示されている。詳細には、入出力ポート１０２が、コンフィギュレーションメモリ１０８を有するプログラマブルリソース１０６を制御する制御回路１０４に結合される。図８〜図１０を参照して以下でより詳細に説明するコンフィギュレーションデータが、コンフィギュレーションコントローラ１１０によってコンフィギュレーションメモリ１０８に提供されることができる。コンフィギュレーションデータは、同様に図１０を参照してより詳細に説明されるコンフィギュラブルエレメント１０９の動作を可能にする。例えば不揮発性メモリであってもよい別個のメモリ１１２が、制御回路１０４およびプログラマブルリソース１０６に結合されてもよい。受信機１１４が、制御回路１０４およびメモリ１１２に結合され、集積回路デバイスの外部の信号を受信するか、またはＩ／Ｏポート１１６を介して信号を送信することができる。以下でより詳細に説明するように、受信機１１４は、集積回路内の符号間干渉をフィルタリングすることを可能にし、図９のプログラマブルロジックデバイス（ＰＬＤ）内に実装することができる。図示のように制御回路１０４に結合されたＩ／Ｏポート１１８などの他のＩ／Ｏポートが、集積回路デバイスの回路に結合されてもよい。以下でより詳細に説明する回路および方法は、単一の集積回路ダイ内で実施されてもよいし、またはマルチチップモジュール若しくはＣＭＬ回路を実装する他のシステムで実施されてもよい。
【００１２】
ここで図２を参照すると、符号間干渉をフィルタリングする受信機を有する伝送ネットワークのブロック図が示されている。詳細には、送信機２０２が、データを受信機１１４に提供するチャネル２０４に結合される。データチャネルは、任意のタイプの有線または無線通信チャネルとすることができる。受信機１１４は、チャネル２０４に結合された自動利得制御／連続時間線形等化器（ＡＧＣ／ＣＴＬＥ）回路２０６を備え、その出力はアナログデジタル（ＡＤＣ）変換器２０８に結合される。ＡＧＣ／ＣＴＬＥ回路は、受信信号の振幅が適切であることを保証し、送信機とチャネルの結合特性を等化する。ＡＤＣは、受信機１１４に結合されたアナログ入力信号を、ＩＳＩキャンセル回路２１０に結合されるデジタルサンプルに変換する。ＡＧＣ適合回路２１２およびＣＴＬＥ適合回路２１４は、ＩＳＩキャンセル回路２１０の出力に基づいてＡＧＣ／ＣＴＬＥ回路２０６を調整し、アナログ信号を正しく受信することを可能にする。ＩＳＩキャンセル回路２１０については、図３及び図４を参照してより詳細に説明する。
【００１３】
次に図３を参照すると、符号間干渉のキャンセルを可能にする受信機の一部のブロック図が示されている。アナログデジタル変換器２０８は、例えば入力３０４でＡＧＣ／ＣＴＬＥ回路２０６によって生成される入力信号を受信するように結合され、出力３０６でデジタルサンプルを生成する。出力３０６は、符号間干渉をフィルタリングすることを可能にするＩＳＩキャンセル回路２１０の第１の段３０８に結合される。以下でより詳細に説明するように、出力３０６のデジタルサンプルおよび第１の段３０８の第１の判定出力が、第２の段３１０に結合される。
【００１４】
第１の段３０８は、入力３１４でデジタルサンプルｘｋを受信するように結合された第１のＦＦＥ３１２を含む。ＦＦＥ３１２は、プリカーソルＩＳＩをキャンセルし、フィルタリングされた信号ｙｋを生成する。ＦＦＥは、例えば、有限インパルス応答（ＦＩＲ）フィルタを実装することができる。ＦＦＥ３１２の出力３１６は、ＤＦＥ３１８に結合される。ＤＦＥ３１８は、第１の入力３２０で第１のＦＦＥ３１２の出力を受信するように結合された第１の減算器回路３１７を備える。乗算器３２３からのフィードバック出力ｂｋ−１が、第２の入力３２４に結合される。減算器回路の出力３２６における出力ｄｋが、判定ブロック３２８に入力３３０で結合され、第１の段の判定値
0006527588.tif 000002
が、出力３３２で生成される。判定ブロック３２８は、一般にスライサとも呼ばれ、データ信号の値を決定する（例えば、ＮＲＺ変調の場合、「１」または「−１」）。出力３３２で生成された第１の判定値は、遅延要素３４２の入力３４０に結合され、出力３４４における遅延された判定値
0006527588.tif 000003
が、乗算器３２３の第１の入力３４６に結合される。判定ブロック３２８によって生成された第１の判定値は、受信されたデジタルデータの推定値を表し、推定値は、受信機の実際の出力データを表し、第１の判定値よりも正確である第２の判定値を提供するために、第２の段によって使用される。値ｈ１もまた、乗算器３２３の第２の入力３４７に結合される。出力３４８は、減算器回路３１７の入力３２４に結合され、乗算器３２３の出力は、ＦＦＥ３１２の出力から減算される。値ｈ１は、ＦＦＥ３１２の出力における残余のポストカーソルＩＳＩの推定値であるＤＦＥ係数であり、ＤＦＥ回路がポストカーソルＩＳＩをキャンセルすることを可能にするために周期的に更新することができる。
【００１５】
第１の段の第１の判定出力はまた、入力３５２で第２のＦＦＥ３５０に結合される。第２のＦＦＥ３５０の出力３５４で生成されたフィルタリングされた値ｉｋ（プレフィルタ３６２の出力のプリカーソルとポストカーソルの両方のＩＳＩの推定値を表す）が、第２の減算器回路３５８の第１の入力３５６に結合される。第２の減算器回路３５８の第２の入力３６０はまた、出力３６４においてプレフィルタ３６２に結合され、プレフィルタ３６２は、遅延回路３６５からＡＤＣ回路２０８の遅延された出力を受け取り、フィルタリングされた出力ｐｋを生成する。すなわち、出力３０６のデジタルサンプルは、遅延回路３６５の入力３６６に結合され、出力３６８の遅延されたデジタルサンプルは、プレフィルタ３６２の入力３７０に結合される。図４および図５を参照してより詳細に説明するように、時刻ｋにおいて、ｉ番目のプレフィルタ係数ｆ（ｉ）ｋ は、次の式に従って更新される。
0006527588.tif 000004
ここで、μは適合の速度を制御する重み係数であり、ｅｋは時刻ｋにおける誤差であり、次の式によって与えられる。
0006527588.tif 000005
ここで、
0006527588.tif 000006
ｓｋに基づく推定された符号
0006527588.tif 000007
は、以下の式によって与えられる。
0006527588.tif 000008
ここで、
0006527588.tif 000009
は、ｓｋに基づく送信符号
0006527588.tif 000010
の判定値であり、ｈ０は、所望の振幅に信号をスケーリングする。値ｘｋ−１は、デジタルサンプルにｉ番目の係数ｆ（ｉ）ｋ−１を掛けた値である。プレフィルタは、次式に従って図５に示すような出力を生成する。
0006527588.tif 000011
【００１６】
ＦＦＥ３５０は、同じ式に従って動作し、ここで
0006527588.tif 000012
が、ｘｋの代わりに使用される。減算器回路３５８の出力３６９は、入力３７２で第２の判定ブロック３７４に結合され、判定ブロック３７４によって生成された第２の判定値は、送信データの改良された推定値を含み、これは受信機の最終判定値である。
【００１７】
図３の実施形態では、プレフィルタ３６２およびＦＦＥ３５０は、デジタル領域で動作する。第１の段３０８は、初期判定フィードバック等化を実施する。すなわち、ＡＤＣサンプルが、ＦＦＥ３１２のＦＩＲフィルタによってフィルタリングされ、大部分のプリカーソルＩＳＩが除去される。残余のポストカーソルＩＳＩが、乗算器３２３および遅延要素３４２を用いて、遅延されたフィードバック判定値をスカラーｈ１でスケーリングすることによって生成される。残余のポストカーソルＩＳＩが、ＦＦＥ３１２の出力から減算されると、減算器３１７の出力３２６における等化されたサンプルは、判定ブロック３２８に結合されて、第１の判定値を生成する。
【００１８】
次いで、第１の判定値は、判定ＦＦＥ３５０によってフィルタリングされて、プレフィルタの出力において残余のプリカーソルおよびポストカーソルＩＳＩの推定値を生成する。ＦＦＥ３５０はまた、ＦＩＲフィルタを実装してもよい。プレフィルタ３６２は、信号の部分的な等化とノイズシェイピングを行う第２のデジタルＦＩＲである。プレフィルタ出力をＦＦＥ３５０からのフィルタリングされた判定と揃えるように、プレフィルタの前の遅延が提供される。プレフィルタおよびＦＦＥ２の等化経路にはフィードバックループがないので、図４の等化技術は、フィードバックループを有する従来の判定フィードバック等化技術と比較して、より高いデータレートを達成することができる。また、この等化技術は、第１の段の判定値を使用してプリカーソルおよびポストカーソルの両方のＩＳＩをキャンセルするために判定値を使用するので、判定値を用いてポストカーソルＩＳＩのみがキャンセルされ、ＩＳＩタップの数が、実装の複雑さおよびシリコン回路速度の制約のために制限される、従来の判定フィードバック等化技術と比較して、プレフィルタは、ノイズの増大が少なくて済む。
【００１９】
次に図４を参照すると、符号間干渉のキャンセルの適合を可能にする受信機の部分の別のブロック図が示されており、図４の回路は、プレフィルタとＦＦＥ３５０との共同適合を提供する。第１の段３０８および第２の段３１０に加えて、プレフィルタ適合およびＦＦＥ適合を可能にする適合段４０２も実装される。具体的には、乗算器４０４は、入力４０６で第２の出力判定値を受信するように結合され、値ｈ０が、入力４０８の信号レベルを表し、その出力は、送信符号の推定値である。出力４１０で生成された乗算器４０４の出力は、入力４１４で第３の減算器回路４１２に結合され、第２の減算器回路３５８の出力は、第３の減算器回路の入力４１６に結合される。出力４１８で生成された減算器の出力は、入力４２１でプレフィルタ適合回路４２０に結合され、遅延要素３６５の遅延された出力信号は、プレフィルタ適合回路４２０の第２の入力４２２に結合される。プレフィルタ適合回路４２０の出力４２４で生成され、プレフィルタ３６２の入力４２６に結合される適合されたプレフィルタ係数が、プレフィルタ３６２に提供され、プログラム可能な頻度でその係数を更新する。
【００２０】
プレフィルタ適合回路４２０は、プレフィルタの各タップｆ（０），ｆ（１），・・・，ｆ（ｎ）に対応して式（１）を実施する。したがって、出力４１８におけるプレフィルタ適合誤差ｅｋは、式（２）、（３）および（４）によって与えられるように、判定ブロック３７４のスライサ入力からスケーリングされた判定値を減算することによって生成される。適合は、ＡＤＣデジタルサンプルおよび適合誤差ｅｋを用いて、適合誤差勾配を生成し、プレフィルタタップを更新する。適合は、例えば、最小二乗平均（ＬＭＳ）、符号付きＬＭＳアルゴリズム、または他の適合アルゴリズムを使用するなど、様々なアルゴリズムを使用することができる。ここで、式（１）はＬＭＳ適合である。ＦＦＥ適合回路４３０は、出力４１８で生成された適合誤差ｅｋおよび入力４３４で受信された第１の段３０８の低複雑度検出器（例えば、ＤＦＥ３１８）からの判定値を使用して、ＬＭＳまたは符号付きＬＭＳアルゴリズムまたは他の適合アルゴリズムを使用することによって、適合誤差勾配を生成し、ＦＦＥ３５０の入力４３８に結合された判定ＦＩＲタップを更新して、（１）〜（４）と同様の式の組に基づいてＦＦＥ３５０の係数を適合させる。ＩＳＩで歪んだ信号を最初に部分的に等化し、その後、他の別個の検出器によって生成されたフィルタリングされた判定値から、推定されたプリカーソルおよびポストカーソルＩＳＩを減算して、プリカーソルおよびポストカーソルＩＳＩをノイズシェイピング及び部分的にキャンセルすることによって、ＩＳＩキャンセルにおけるフィードバックループが除去されるので、より正確かつより高いデータレートでデータを受信することができる。
【００２１】
ここで図５を参照すると、図３および図４のフィードフォワードイコライザのブロック図が示されている。フィードフォワードイコライザは、式（５）と同様の式に基づいてその入力信号をフィルタリングすることによって等化を実行する。フィードフォワードイコライザは、複数のフィルタ段５０２〜５０６の第１の段で入力信号Ｘｋを受信する。各フィルタ段は遅延要素５０８を含み、その出力は入力５１４で乗算器回路５１０に結合される。乗算器への別の入力が、入力５１６に結合され、これは、それぞれのフィルタ係数に対応し、乗算器の出力が、出力５１８で生成される。乗算器５２２もまた、第１の入力５２６で第１のフィルタ係数ｆ（０）に結合され、第２の入力５２４においてＡＤＣサンプルＸｋに結合され、その出力は入力５３１として加算器５３８に結合される。各段の出力５１８が、加算器回路に結合され、第１のフィルタ段５０２の出力が、第１の入力５３２に結合され、第２のフィルタ段５０４の出力が、第２の入力５３４に結合され、最後のフィルタ段５０６の出力が、入力５３６に結合される。信号Ｙｋが、加算器回路５３０の出力５３８で生成される。
【００２２】
次に図６を参照すると、フローチャートが、集積回路における符号間干渉をフィルタリングする方法を示す。デジタルサンプルが、ブロック６０２で入力信号に基づいて生成される。低複雑度検出器が、ブロック６０４で初期判定値を生成するために使用される。低複雑度検出器は、例えば、図３のＦＦＥ３１２であってもよい。デジタルサンプルのプレフィルタリングが、ブロック６０６で、符号間干渉キャンセルの前に提供される。例えば、プレフィルタリングは、プレフィルタ３６２によって実行することができる。初期判定値は、ブロック６０８において、残余の符号間干渉を生成するためにフィルタリングされる。最終判定値が、ブロック６１０で、プレフィルタリングされたデジタルサンプルおよび残余の符号間干渉を使用して生成される。すなわち、残余の符号間干渉が、図３の減算器回路３５８を使用することなどによって、プレフィルタリングされたデジタルサンプルから減算される。
【００２３】
次に図７を参照すると、フローチャートが、集積回路における符号間干渉をフィルタリングする別の方法を示す。デジタルサンプルが、ブロック７０２において、第１の段で受信される。ブロック７０４で、デジタルサンプルが、フィードフォワードイコライザに結合され、フィードフォワードイコライザの出力は、低減されたプリカーソル符号間干渉を有する。フィードフォワードイコライザは、例えば、図３のＦＦＥ３１２であってもよい。フィードフォワードイコライザの出力は、ブロック７０６で、第１の判定出力を生成する判定フィードバックイコライザに結合される。判定フィードバックイコライザは、ポストカーソルＩＳＩをキャンセルするＤＦＥ３１８であってもよい。第１の判定出力が、ブロック７０８で、デジタルサンプルに基づいて判定フィードバックイコライザの出力で生成される。
【００２４】
ブロック７１０で、第１の判定出力は、第２のフィードフォワードイコライザに結合され、第２のフィードフォワードイコライザの出力は、第１の判定出力を使用して検出された符号間干渉を含む。第２のフィードバックイコライザは、例えば、ＦＦＥ３５０とすることができる。入力信号のデジタルサンプルはまた、ブロック７１２で、プレフィルタを含む第２の段で受信される。ブロック７１４において、プレフィルタの出力および第２のフィードフォワードイコライザの検出された符号間干渉が、減算器回路に結合され、検出された符号間干渉（プリカーソルおよびポストカーソルの両方のＩＳＩに関連する）が、プレフィルタの出力から減算される。ブロック７１６において、第２の判定出力が、受信信号のデジタルサンプルおよび第１の判定出力に関連する検出された符号間干渉に基づいて生成される。ブロック７１８で、減算器回路の出力は判定ブロックに結合され、判定ブロックは第２の判定出力を生成する。最後に、ブロック７２０で、プレフィルタおよび出力判定フィードフォワードイコライザのフィルタタップが更新される。例えば、フィルタタップの更新は、適合段４０２によって実行することができる。
【００２５】
図６および図７の方法の様々な要素は、記載されているように図１〜図５及び図８〜図１０の回路を使用して、または他のいくつかの適切な回路を使用して、実施することができる。方法の特定の要素が記載されているが、本方法の追加の要素または要素に関する追加の詳細が、図１〜図５及び図８〜図１０の開示に従って実施できることを理解されたい。
【００２６】
次に図８を参照すると、実施形態に従って、プログラマブルリソースを有するデバイスをプログラミングするためのシステムのブロック図が、示されている。詳細には、コンピュータ８０２は、メモリ８０６から回路設計８０４を受信するように結合され、不揮発性メモリ８０６に格納されるコンフィギュレーションビットストリームを生成する。以下でより詳細に説明するように、回路設計は、ハードウェア記述言語（ＨＤＬ）で定義された回路設計などの高レベル設計であってもよい。また、コンピュータは、不揮発性メモリ８０８に格納され、図９を参照して後述する集積回路などのプログラマブル集積回路であってもよい集積回路８１０に提供されるコンフィギュレーションビットストリームを生成するソフトウェアを実行するように構成されてもよい。以下でより詳細に説明するように、コンフィギュレーションビットストリームのビットは、集積回路のプログラマブルリソースを構成するために使用される。
【００２７】
次に図９を参照すると、図１〜図７の回路を含むプログラマブルリソースを有するデバイスのブロック図が示されている。プログラマブルリソースを有するデバイスは、プログラマブルリソースを有する特定用途向け集積回路（ＡＳＩＣ）などの任意のタイプの集積回路デバイスで実施されてもよいが、他のデバイスは、専用プログラマブルロジックデバイス（ＰＬＤ）を含む。１つのタイプのＰＬＤは、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）である。ＣＰＬＤは、インターコネクトスイッチマトリクスによって互いに接続され、入出力（Ｉ／Ｏ）リソースに接続された２つ以上の「機能ブロック」を含む。ＣＰＬＤの各機能ブロックは、プログラマブルロジックアレイ（ＰＬＡ）又はプログラマブルアレイロジック（ＰＡＬ）デバイスで使用されるものと同様の２レベルＡＮＤ／ＯＲ構造を含む。別のタイプのＰＬＤは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）である。典型的なＦＰＧＡでは、コンフィギュラブルロジックブロック（ＣＬＢ）のアレイが、プログラマブル入出力ブロック（ＩＯＢ）に結合されている。ＣＬＢとＩＯＢは、プログラマブルルーティングリソースの階層によって相互接続されている。これらのＣＬＢ、ＩＯＢ、およびプログラマブルルーティングリソースは、通常はオフチップメモリからコンフィギュレーションビットストリームをＦＰＧＡのコンフィギュレーションメモリセルにロードすることによってカスタマイズされる。これらのタイプのプログラマブルロジックデバイスの両方について、デバイスの機能は、その目的のためにデバイスに提供されるコンフィギュレーションビットストリームのコンフィギュレーションデータビットによって制御される。コンフィギュレーションデータビットは、揮発性メモリ（例えば、ＦＰＧＡおよびいくつかのＣＰＬＤにおけるようなスタティックメモリセル）、不揮発性メモリ（例えば、いくつかのＣＰＬＤにおけるようなフラッシュメモリ）、または任意の他のタイプのメモリセルに保存することができる。
【００２８】
図９のデバイスは、マルチギガビットトランシーバ（ＭＧＴ）９０１、ＣＬＢ９０２、ランダムアクセスメモリブロック（ＢＲＡＭ）９０３、入出力ブロック（ＩＯＢ）９０４、コンフィギュレーションおよびクロッキングロジック（ＣＯＮＦＩＧ／ＣＬＯＣＫＳ）９０５、デジタル信号処理ブロック（ＤＳＰ）９０６、特殊化された入出力ブロック（Ｉ／Ｏ）９０７（例えば、コンフィギュレーションポートおよびクロックポート）、ならびにデジタルクロックマネージャ、アナログ−デジタルコンバータ、システムモニタリングロジックなどの他のプログラマブルロジック９０８を含む多数の異なるプログラマブルタイルを有するＦＰＧＡアーキテクチャ９００を含む。いくつかのＦＰＧＡはまた、例えば、ソフトウェアアプリケーションを実行するために使用され得る専用プロセッサブロック（ＰＲＯＣ）９１０を含む。
【００２９】
いくつかのＦＰＧＡでは、各プログラマブルタイルは、各隣接するタイル内の対応するインターコネクトエレメントとの標準化された接続部を有するプログラマブルインターコネクトエレメント（ＩＮＴ）９１１を含む。したがって、プログラマブルインターコネクトエレメントが一緒になって、図示されたＦＰＧＡのためのプログラマブルインターコネクト構造を実現する。プログラマブルインターコネクトエレメント９１１はまた、図９の上部に含まれる例によって示されるように、同じタイル内のプログラマブルロジックエレメントとの接続部を含む。
【００３０】
例えば、ＣＬＢ９０２は、ユーザロジックを実装するようにプログラムすることができるコンフィギュラブルロジックエレメント（ＣＬＥ）９１２及び単一のプログラマブルインターコネクトエレメント９１１を含むことができる。ＢＲＡＭ９０３は、１つ以上のプログラマブルインターコネクトエレメントに加えて、ＢＲＡＭロジックエレメント（ＢＲＬ）９１３を含むことができる。ＢＲＡＭは、コンフィギュレーションロジックブロックの分散ＲＡＭとは別個の専用メモリを含む。通常、タイルに含まれるインターコネクトエレメントの数は、タイルの高さに依存する。図示の実施形態では、ＢＲＡＭタイルは、５つのＣＬＢと同じ高さを有するが、他の数を使用することもできる。ＤＳＰタイル９０６は、適切な数のプログラマブルインターコネクトエレメントに加えて、ＤＳＰロジックエレメント（ＤＳＰＬ）９１４を含むことができる。ＩＯＢ９０４は、例えば、プログラマブルインターコネクトエレメント９１１の１つのインスタンスに加えて、入出力ロジックエレメント（ＩＯＬ）９１５の２つのインスタンスを含むことができる。デバイスの接続部の位置は、その目的のためにデバイスに提供されたコンフィギュレーションビットストリームのコンフィギュレーションデータビットによって制御される。プログラマブルインターコネクトは、コンフィギュレーションビットストリームのビットに応答して、インターコネクトラインを含む接続部が、プログラマブルロジックに実装された回路、またはＢＲＡＭもしくはプロセッサなどの他の回路に様々な信号を結合するために使用されることを可能にする。
【００３１】
図示された実施形態では、ダイの中心付近のカラム領域が、コンフィギュレーション、クロック、および他の制御ロジックのために使用される。このカラムから延びるコンフィギュレーション／クロック分配領域９０９は、ＦＰＧＡの幅全体にわたってクロックおよびコンフィギュレーション信号を分配するために使用される。図９に示すアーキテクチャを利用するいくつかのＦＰＧＡは、ＦＰＧＡの大部分を構成する規則的なカラム構造を中断させる追加のロジックブロックを含む。追加のロジックブロックは、プログラマブルブロックおよび／または専用ロジックとすることができる。例えば、図９に示すプロセッサブロックＰＲＯＣ９１０は、ＣＬＢおよびＢＲＡＭのいくつかのカラムにまたがる。
【００３２】
図９は、例示的なＦＰＧＡアーキテクチャのみを示すことが意図されている。カラム内のロジックブロックの数、カラムの相対的な幅、カラムの数と順序、カラムに含まれるロジックブロックのタイプ、ロジックブロックの相対的なサイズ、および図９の上部に含まれているインターコネクト／ロジックの実施態様は、単に例示的なものである。例えば、実際のＦＰＧＡでは、ユーザーロジックの効率的な実装を容易にするために、ＣＬＢが現れる場所には、１つより多いＣＬＢの隣接するカラムが通常含まれている。図９の実施形態は、プログラマブルリソースを有する集積回路に関するものであるが、以下でより詳細に説明する回路および方法は、任意のタイプのＡＳＩＣで実施できることを理解されたい。
【００３３】
次に図１０を参照すると、図９のデバイスのコンフィギュラブルロジックエレメントのブロック図が示されている。具体的には、図１０は、図９のコンフィギュレーションロジックブロック９０２のコンフィギュラブルロジックエレメントを、簡略化した形で示す。図１０の実施形態では、スライスＭ１００１は、６つのＬＵＴデータ入力端子Ａ１〜Ａ６、Ｂ１〜Ｂ６、Ｃ１〜Ｃ６、およびＤ１〜Ｄ６によってそれぞれ駆動され、それぞれが２つのＬＵＴ出力信号Ｏ５およびＯ６を出力する４つのルックアップテーブル（ＬＵＴＭ）１００１Ａ〜１００１Ｄを含む。ＬＵＴ１００１Ａ〜１００１ＤからのＯ６出力端子は、それぞれスライス出力端子Ａ〜Ｄを駆動する。ＬＵＴデータ入力信号は、プログラマブルインターコネクトエレメント１０１１によって実装され得る入力マルチプレクサを介してＦＰＧＡインターコネクト構造によって供給され、ＬＵＴ出力信号もインターコネクト構造に供給される。スライスＭはまた、出力端子ＡＭＵＸ〜ＤＭＵＸを駆動する出力選択マルチプレクサ１０１１Ａ〜１０１１Ｄと、メモリエレメント１００２Ａ〜１００２Ｄのデータ入力端子を駆動するマルチプレクサ１０１２Ａ〜１０１２Ｄと、組合せマルチプレクサ１０１６，１０１８，および１０１９と、バウンスマルチプレクサ回路１０２２〜１０２３と、インバータ１００５およびマルチプレクサ１００６（共同して、入力クロックパス上に任意選択の反転を供給する）によって表される回路と、マルチプレクサ１０１４Ａ〜１０１４Ｄ、１０１５Ａ〜１０１５Ｄ、１０２０〜１０２１および排他的ＯＲゲート１０１３Ａ〜１０１３Ｄを有するキャリーロジックとを含む。これらの要素のすべてが、図１０に示すように結合されている。図１０に示すマルチプレクサのセレクト入力が示されていない場合、セレクト入力はコンフィギュレーションメモリセルによって制御される。すなわち、コンフィギュレーションメモリセルに記憶されたコンフィギュレーションビットストリームのコンフィギュレーションビットが、マルチプレクサへの正しい入力を選択するためにマルチプレクサのセレクト入力に結合される。よく知られているこれらのコンフィギュレーションメモリセルは、図を分かりやすくするために、図１０から、ならびに本明細書の他の選択された図から省略されている。
【００３４】
図示された実施形態で、各メモリエレメント１００２Ａ〜１００２Ｄは、同期または非同期のフリップフロップまたはラッチとして機能するようにプログラムされてもよい。同期と非同期の機能間の選択が、Ｓｙｎｃ／Ａｓｙｎｃｈ選択回路１００３をプログラムすることによって、スライス内の４つのメモリエレメントのすべてに対して行われる。Ｓ／Ｒ（セット／リセット）入力信号がセット機能を提供するように、メモリエレメントがプログラムされる場合、ＲＥＶ入力端子は、リセット機能を提供する。Ｓ／Ｒ入力信号がリセット機能を提供するように、メモリエレメントがプログラムされる場合、ＲＥＶ入力端子は、セット機能を提供する。メモリエレメント１００２Ａ〜１００２Ｄは、例えばグローバルクロックネットワークまたはインターコネクト構造によって供給されるクロック信号ＣＫによってクロックされる。このようなプログラマブルメモリエレメントは、ＦＰＧＡ設計の分野において周知である。各メモリエレメント１００２Ａ〜１００２Ｄは、レジスタード出力信号ＡＱ〜ＤＱをインターコネクト構造に供給する。各ＬＵＴ１００１Ａ〜１００１Ｄは、２つの出力信号Ｏ５とＯ６を供給するので、ＬＵＴは、５つの共有入力信号（ＩＮ１〜ＩＮ５）を有する２つの５入力ＬＵＴとして、または入力信号ＩＮ１〜ＩＮ６を有する１つの６入力ＬＵＴとして機能するように構成され得る。
【００３５】
図１０の例では、各ＬＵＴＭ１００１Ａ〜１００１Ｄは、いくつかのモードのいずれかで機能することができる。ルックアップテーブルモードでは、各ＬＵＴは、入力マルチプレクサを介してＦＰＧＡインターコネクト構造によって供給される６つのデータ入力信号ＩＮ１〜ＩＮ６を有する。６４個のデータ値の１つが、信号ＩＮ１〜ＩＮ６の値に基づいてコンフィギュレーションメモリセルからプログラム可能に選択される。ＲＡＭモードの場合、各ＬＵＴは、１つの６４ビットＲＡＭまたはシェアードアドレッシングを備えた２つの３２ビットＲＡＭとして機能する。ＲＡＭの書き込みデータは、（ＬＵＴ１００１Ａ〜１００１Ｃに対してマルチプレクサ１０１７Ａ〜１０１７Ｃを介して）入力端子ＤＩ１を介して６４ビットＲＡＭに、または入力端子ＤＩ１およびＤＩ２を介して２つの３２ビットＲＡＭに供給される。ＬＵＴ  ＲＡＭにおけるＲＡＭ書き込み動作は、マルチプレクサ１００６からのクロック信号ＣＫによって、並びにクロックイネーブル信号ＣＥまたは書き込みイネーブル信号ＷＥのいずれかを選択的に通過させることができるマルチプレクサ１００７からの書き込みイネーブル信号ＷＥＮによって制御される。シフトレジスタモードでは、各ＬＵＴは、２つの１６ビットシフトレジスタとして、すなわち２つの１６ビットシフトレジスタが直列に結合されて１つの３２ビットシフトレジスタを作成するようにして、機能する。シフトイン信号が、入力端子ＤＩ１およびＤＩ２の一方または両方を介して供給される。１６ビットおよび３２ビットのシフトアウト信号が、ＬＵＴ出力端子を介して供給され、３２ビットのシフトアウト信号は、ＬＵＴ出力端子ＭＣ３１を介して、より直接的に供給されてもよい。ＬＵＴ１００１Ａの３２ビットシフトアウト信号ＭＣ３１が、出力選択マルチプレクサ１５１１ＤおよびＣＬＥ出力端子ＤＭＵＸを介して、シフトレジスタチェーンのために一般的なインターコネクト構造に供給されてもよい。したがって、上述の回路および方法は、図９および図１０のデバイスなどのデバイス、または任意の他の適切なデバイスで実施することができる。
【００３６】
いくつかの例を下記する。
【００３７】
集積回路における符号間干渉をフィルタリングするための回路が説明される。本回路は、入力信号のデジタルサンプルを受信するように結合され、デジタルサンプルに基づいて第１の判定出力を生成する第１の段と、入力信号のデジタルサンプルを受信するように結合された第２の段とを含み、第２の段は、遅延されたデジタルサンプルを受信するために遅延要素の出力に結合されたプレフィルタと、第１の判定出力を受信し、フィルタリングされた判定を生成するフィルタとを備え、遅延要素は、プレフィルタの出力をフィルタリングされた判定と揃え、第２の段は、入力信号のデジタルサンプルと第１の判定出力に関連付する検出された符号間干渉とに基づいて第２の判定出力を生成する。
【００３８】
そのようなある回路において、第１の段が、デジタルサンプルを受信するように結合されたフィードフォワードイコライザを備え、フィードフォワードイコライザの出力は、低減されたプリカーソル符号間干渉を有する。
【００３９】
そのようなある回路において、フィードフォワードイコライザの出力が、第１の判定出力を生成する判定フィードバックイコライザに結合され得る。
【００４０】
そのようなある回路において、判定フィードバックイコライザが、シングルタップ判定フィードバックイコライザを含み得る。
【００４１】
そのようなある回路において、第２の段のフィルタが、第１の判定出力を受信するように結合されたフィードフォワードイコライザを含み、フィードフォワードイコライザによって生成されたフィルタリングされた判定は、第１の判定出力に関連する検出された符号間干渉を含み得る。
【００４２】
そのようなある回路が、プレフィルタの出力とフィードフォワードイコライザの検出された符号間干渉とを受信するように結合された減算器回路をさらに備え、検出された符号間干渉が、プレフィルタの出力から減算され得る。
【００４３】
そのようなある回路が、減算器回路の出力に結合された判定ブロックを備え、判定ブロックは、第２の判定出力を生成し得る。
【００４４】
本明細書に記載される他の例示的な回路は、一般に、集積回路における符号間干渉をフィルタリングすることに関する。本回路は、入力信号のデジタルサンプルを受信するように結合され、デジタルサンプルに基づいて第１の判定ブロックの出力において第１の判定出力を生成する判定フィードバックイコライザと、判定フィードバックイコライザの第１の判定ブロックの出力およびスカラー値に結合された乗算器と、第１の判定出力を受信し、第１の判定出力に関連する検出された符号間干渉を生成するように結合されたフィードフォワードイコライザと、入力信号の遅延されたデジタルサンプルを受信するように結合されたプレフィルタと、プレフィルタの出力とフィードフォワードイコライザの出力とに結合された第１の減算器回路と、減算器回路の出力に結合され、第２の判定出力を生成する第２の判定ブロックと、を含み得る。
【００４５】
そのようなある回路において、判定フィードバックイコライザが、シングルタップ判定フィードバックイコライザを含む。
【００４６】
そのようなある回路は、受信信号のデジタルサンプルを受信するように結合された第２のフィードフォワードイコライザをさらに備えてもよく、第２のフィードフォワードイコライザの出力は、判定フィードバックイコライザに結合される。
【００４７】
そのようなある回路は、判定フィードバックイコライザの第２の判定ブロックの出力とスカラー値とに結合された乗算器をさらに備えていてもよい。
【００４８】
そのようなある回路は、第１の減算器回路の出力に結合され、誤差信号を生成する第２の減算器回路をさらに備えてもよい。
【００４９】
そのようなある回路は、誤差信号および遅延されたデジタルサンプルを受信するように結合され、適合制御信号をプレフィルタ回路に提供するプレフィルタ適合回路をさらに備えてもよい。
【００５０】
そのようなある回路は、誤差信号および第１の判定出力を受信するように結合され、フィードフォワードイコライザに適合制御信号を供給するフィードフォワードイコライザ適合回路をさらに備えてもよい。
【００５１】
本明細書に記載される例示的な方法は、一般に、集積回路における符号間干渉をフィルタリングすることに関する。本方法は、第１の段で入力信号のデジタルサンプルを受信することと、デジタルサンプルに基づいて第１の段の第１の判定出力を生成することと、第１の判定出力のフィルタリングされた判定を生成することと、第２の段で入力信号のデジタルサンプルを受信することと、デジタルサンプルを遅延要素に結合して、遅延されたデジタルサンプルを生成することと、遅延されたデジタルサンプルを第２の段のプレフィルタに結合することであって、遅延要素は、プレフィルタの出力を第１の判定出力のフィルタリングされた判定と揃えることと、入力信号の遅延されたデジタルサンプルと、第１の判定出力のフィルタリングされた判定に関連する検出された符号間干渉とに基づいて、第２の判定出力を生成することと、を含み得る。
【００５２】
そのようなある方法は、フィードフォワードイコライザでデジタルサンプルを受信することをさらに含んでもよく、フィードフォワードイコライザの出力は、低減されたプリカーソル符号間干渉を有する。
【００５３】
そのようなある方法は、フィードフォワードイコライザの出力を、第１の判定出力を生成する判定フィードバックイコライザに結合することをさらに含むことができる。
【００５４】
そのようなある方法は、第１の判定出力を第２のフィードフォワードイコライザに結合することをさらに含み、第２のフィードフォワードイコライザの出力は、第１の判定出力に関連する検出された符号間干渉を含むことができる。
【００５５】
そのようなある方法は、プレフィルタの出力と第１の判定出力に関連する検出された符号間干渉とを減算器回路に結合することをさらに含み、検出された符号間干渉が、プレフィルタの出力から減算されてもよい。
【００５６】
そのようなある方法は、減算器回路の出力を判定ブロックに結合することをさらに含み、判定ブロックは、第２の判定出力を生成することができる。
【００５７】
したがって、集積回路における符号間干渉をフィルタリングするための新しい回路および方法について説明したことが分かる。当業者であれば、開示された発明を組み込んだ多くの代替物および同等物が存在することが分かるであろう。その結果として、本発明は、上記の実施形態によって限定されるものではなく、以下の特許請求の範囲によってのみ限定される。
【図１】
0006527588.tif 000013
【図２】
0006527588.tif 000014
【図３】
0006527588.tif 000015
【図４】
0006527588.tif 000016
【図５】
0006527588.tif 000017
【図６】
0006527588.tif 000018
【図７】
0006527588.tif 000019
【図８】
0006527588.tif 000020
【図９】
0006527588.tif 000021
【図１０】
0006527588.tif 000022