(57)【特許請求の範囲】
【請求項１】
適応型ＦＩＲフィルタで使用するための、係数を記憶する多重ポート・レジスタ・ファイルであって、
係数値を記憶するためのメモリと、
出力ラッチと、
該係数値及び該係数値から派生する数値を含む１つまたは２つ以上の組に基づいて演算を実行する計算手段であって、該演算が、係数値を更新する処理とは独立して、該メモリ内のマスタ・ラッチが記憶情報をラッチした時点と、該出力ラッチが該マスタ・ラッチからの該記憶情報をラッチする時点の間の期間において実行されるようになっていることを特徴とする多重ポート・レジスタ・ファイル。
【請求項２】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のオーバフロー／アンダフロー検出ユニットを含む多重ポート・レジスタ・ファイル。
【請求項３】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個の飽和ユニットを含む多重ポート・レジスタ・ファイル。
【請求項４】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のオーバフロー／アンダフロー検出および／または飽和ユニットを含む多重ポート・レジスタ・ファイル。
【請求項５】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のエンコーダを含む多重ポート・レジスタ・ファイル。
【請求項６】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のブース・エンコーダを含む多重ポート・レジスタ・ファイル。
【請求項７】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該係数を第１の表現から第２の表現へ変換するための少なくとも一個のコンバータを含む多重ポート・レジスタ・ファイル。
【請求項８】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個の２の補数を符号−数値に変換するコンバータを含む多重ポート・レジスタ・ファイル。
【請求項９】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該係数の桁上がりを行わないですむフォーマット表現を、２の補数表現に変換するための少なくとも１個の加算装置を含む多重ポート・レジスタ・ファイル。
【請求項１０】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該メモリと該出力ラッチとの間に結合されている多重ポート・レジスタ・ファイル。
【請求項１１】
請求項１記載の多重ポート・レジスタ・ファイルにおいて、該メモリおよび該ラッチが、１個のレジスタを形成している多重ポート・レジスタ・ファイル。
【請求項１２】
適応型ＦＩＲフィルタで使用するための係数を記憶する多重ポート・レジスタ・ファイルであって、
該適応型ＦＩＲフィルタで使用される係数値を記憶するためのメモリと、
出力ラッチと、
該係数値から派生する数値に基づいて演算を行うための該メモリと該出力ラッチとの間に結合されている計算手段であって、該演算が、係数値を更新する処理とは独立して、該メモリ内のマスタ・ラッチが記憶情報をラッチした時点と、該出力ラッチが該マスタ・ラッチからの該記憶情報をラッチする時点の間の期間において実行されるようになっていることを特徴とする多重ポート・レジスタ・ファイル。
【請求項１３】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該係数値から派生する該数値が、該係数値と同じである多重ポート・レジスタ・ファイル。
【請求項１４】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のオーバフロー／アンダフロー検出および／または飽和ユニットを含む多重ポート・レジスタ・ファイル。
【請求項１５】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のエンコーダを含む多重ポート・レジスタ・ファイル。
【請求項１６】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のブース・エンコーダを含む多重ポート・レジスタ・ファイル。
【請求項１７】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該係数を第１の表現から第２の表現へ変換するための少なくとも１個のコンバータを含む多重ポート・レジスタ・ファイル。
【請求項１８】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個の２の補数を符号−数値に変換するコンバータを含む多重ポート・レジスタ・ファイル。
【請求項１９】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該係数の桁上がりを行わないですむフォーマット表現を２の補数表現に変換するための少なくとも１個の加算装置を含む多重ポート・レジスタ・ファイル。
【請求項２０】
請求項１２記載の多重ポート・レジスタ・ファイルにおいて、該メモリおよび該ラッチが、１個のレジスタを形成している多重ポート・レジスタ・ファイル。
【請求項２１】
適応型ＦＩＲフィルタで使用するための係数を記憶する多重ポート・レジスタ・ファイルであって、
各々が該適応型ＦＩＲフィルタで使用される係数値を記憶する少なくとも２つのメモリ位置と、
少なくとも１個の出力ラッチと、
該係数値または該係数値から派生する数値に基づいて演算を行うための計算手段であって、該メモリ位置の少なくともの１つが、マスタ・ラッチとして作用し、少なくとも１個の出力ラッチが、該マスタ・ラッチと該スレーブ・ラッチとの間に挿入された計算手段とともに、エッジ・トリガ・フリップ・フロップを形成するスレーブ・ラッチとして作用し、該演算が、係数値を更新する処理とは独立して、該マスタ・ラッチが記憶情報をラッチした時点と、該出力ラッチが該マスタ・ラッチからの該記憶情報をラッチする時点の間の期間において実行されるようになっていることを特徴とする多重ポート・レジスタ・ファイル。
【請求項２２】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のオーバフロー／アンダフロー検出ユニットおよび／または飽和ユニットを含む多重ポート・レジスタ・ファイル。
【請求項２３】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のエンコーダを含む多重ポート・レジスタ・ファイル。
【請求項２４】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個のブース・エンコーダを含む多重ポート・レジスタ・ファイル。
【請求項２５】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該係数を第１の表現から第２の表現へ変換するための少なくとも１個のコンバータを含む多重ポート・レジスタ・ファイル。
【請求項２６】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、少なくとも１個の２の補数を符号−数値に変換するコンバータを含む多重ポート・レジスタ・ファイル。
【請求項２７】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該係数の桁上がりを行わないですむフォーマット表現を２の補数表現に変換するための少なくとも１個の加算装置を含む多重ポート・レジスタ・ファイル。
【請求項２８】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該計算手段が、該メモリと該出力ラッチとの間に結合されている多重ポート・レジスタ・ファイル。
【請求項２９】
請求項２１記載の多重ポート・レジスタ・ファイルにおいて、該メモリおよび該ラッチが、１個のレジスタを形成している多重ポート・レジスタ・ファイル。
【請求項３０】
適応型ＦＩＲフィルタで使用するための多重ポート・レジスタ・ファイルと関連して使用する方法であって、
係数値をメモリからの出力として供給するステップと、
該適応型ＦＩＲフィルタで用いられる変換された係数値を生成するために、該係数値についての演算を行うステップであって、該演算が、係数値を更新する処理とは独立して、該メモリ内のマスタ・ラッチが記憶情報をラッチした時点と、出力ラッチが該マスタ・ラッチからの該記憶情報をラッチする時点の間の期間において実行されるようになっているステップと、
該変換された係数値を該出力ラッチによりラッチするステップとを含み、
該メモリと該ラッチから１個のレジスタを形成するように、該供給するステップと該ラッチするステップとが行われることを特徴とする方法。
【請求項３１】
請求項３０記載の方法において、該係数値を供給するステップと、該計算を行なうステップと、該変換した係数値をラッチするステップとが、該レジスタ・ファイルの処理動作とは独立して行われるようになっている方法。
【請求項３２】
請求項３０記載の方法において、該係数値供給ステップにおいて該係数値が供給された該メモリの同じ位置に該ラッチ変形係数値を記憶するステップをさらに含む方法。
【請求項３３】
請求項３０記載の方法において、係数値供給ステップにおいて該係数値が供給された該メモリの同じ位置に該ラッチ変形係数値を記憶するステップをさらに含み、該係数値供給ステップと、計算実行ステップと、変形係数値ラッチ・ステップと、ラッチ変形係数値記憶ステップとが、該レジスタ・ファイルの処理動作とは独立して行われる方法。
【請求項３４】
請求項３０記載の方法において、該計算が、少なくともブース・エンコーディングを含む方法。
【請求項３５】
請求項３０記載の方法において、該計算が、少なくともオーバフロー／アンダフロー検出を含む方法。
【請求項３６】
請求項３０記載の方法において、該計算が、少なくとも飽和検出を含む方法。
【請求項３７】
請求項３０記載の方法において、該供給ステップが、クロックが第１の数値を持っているときに行われるとともに、該ラッチ・ステップが、該クロックが第２の数値を持っているときに行われる方法。
【請求項３８】
請求項３０記載の方法において、該計算が、該レジスタの休止時間に行われる方法。
【請求項３９】
適応型ＦＩＲフィルタで使用するための係数を記憶する多重ポート・レジスタ・ファイルであって、
該適応型ＦＩＲフィルタで使用される係数値を記憶するためのメモリと、
出力ラッチと、
１つまたは２つ以上の該係数値についての演算を行い、該メモリと該出力ラッチとの間に結合されている計算手段であって、該演算が、係数値を更新する処理とは独立して、該メモリ内のマスタ・ラッチが記憶情報をラッチした時点と、該出力ラッチが該マスタ・ラッチからの該記憶情報をラッチする時点の間の期間において実行されるようになっていることを特徴とする多重ポート・レジスタ・ファイル。
【発明の詳細な説明】
【０００１】
【発明分野】
本発明は、有限インパルス応答（Ｆinite Ｉmpulse Ｒespose:ＦＩＲ）フィルタに関し、特に掛け算装置毎に多重係数を持つ時間多重化掛け算装置を使用する適応型ＦＩＲフィルタに関する。
【０００２】
【発明の背景】
従来技術の適応型有限インパルス応答（ＦＩＲ）フィルタは、係数を再循環させるのに固定遅延ラインを使用する。前記遅延ラインは、一連のエッジ・トリガ・フリップ・フロップを使用して実行される。その結果、動作中、従来技術の遅延ラインは、電力消費が高かった。
【０００３】
本出願人と同一譲受人に譲渡された、米国特許出願08／937665号の場合には、多重ポート・レジスタ・ファイルは、係数の記憶装置を形成するために、またフィルタの動作に必要な係数での遅延を起こさせるために使用される。多重ポート・レジスタ・ファイルは、通常、小型で、少なくとも１つの読み出しポートおよび１つの書き込みポートを含む、例えば、４語(4 words) を記憶できる容量を持つメモリである。多重ポート・レジスタ・ファイルに書き込まれたデータは、必要とする任意の順序で、前記ファイルから読み出すことができる。多重ポート・レジスタ・ファイルは、その中に記憶されているデータを必要とする任意の順序で、また任意の他の出力ポートとは無関係に読み出すことができる追加の出力ポートを持つことができる。係数に関しては、各多重ポート・レジスタ・ファイルは、１つの出力ポートから、ＦＩＲフィルタの関連段の掛け算−加算部にデータを送る。適応型フィルタに関しては、各多重ポート・レジスタ・ファイルは、他の出力ポートから、その係数の更新ユニットにデータを送る。前記出力ポートは同じものを使用することができ、同じものでない場合でも、前記出力ポートに送られるデータは同じものであってもよい。係数を使用する場合には、同時係属出願に記載するように、ルックスルー・モードの場合、多重ポート・レジスタ・ファイルを作動する必要はない。
【０００４】
ＦＩＲフィルタが、更新することができる係数を持つ適応型フィルタである場合には、新しい係数値を計算するために、更新ユニットを設置しなければならない。前記更新ユニットは、オーバフロー／アンダフロー検出ユニット(overflow/underflow detection unit) および／または飽和ユニット内蔵するか、またはそれらに関連している。前記飽和ユニットは、オーバフローまたはアンダフローが起こった場合、発生する恐れがある壊滅的エラーを防止するのに使用される。前記エラーは、二進数を使用して算術計算を行うための技術の性格上、発生する恐れがあるものである。例えば、２の補数で表した２つの大きな正の数字を加算した場合、その計算結果が負の数になる場合があるが、これは明らかに間違っている。オーバフロー／アンダフロー検出ユニットおよび／または飽和ユニットは、その実現により、下記の中の１つ、すなわち、ａ）オーバフローまたはアンダフローが、発生しているかどうかを示すフラグ、ｂ）飽和値として表すことができる、正または負の最大数を表す数値、またはｃ）計算の実際の結果の中の１つを、出力として供給することによりこの問題を解決している。このオーバフロー／アンダフロー検出ユニットおよび／または飽和ユニットは、係数更新回路の限界経路（クリティカル・パス）内に位置している。すなわち、前記ユニットは、更新を行うことができる最大速度を決定づける経路内に位置している。それ故、オーバフロー／アンダフロー検出および／または飽和プロセスを行うことができる速度が、更新プロセスの速度を制限する。
【０００５】
【発明の概要】
適応型ＦＩＲフィルタに係数を記憶するために、改良型多重ポート・レジスタ・ファイルを使用することができることが分かってた。本発明の原理によれば、従来技術の多重ポート・レジスタ・ファイルのその内部に、例えば、係数値またはそれから派生した数値に対して計算を行うことができる機能、またはそれに対して行う操作を制御する機能のような計算機能を内蔵させることによって、改良が行われる。本発明の１つの特徴は、多重ポート・レジスタ・ファイルが、オーバフロー／アンダフロー・ユニットおよび／または飽和ユニットを内蔵していることである。本発明の他の特徴は、多重ポート・レジスタ・ファイルが、例えば、いわゆる「ブース(booth)」エンコーダのような、掛け算プロセスをスピート・アップするのに使用する特殊なエンコーダを内蔵していることである。本発明のさらに他の特徴は、多重ポート・レジスタ・ファイルが、例えば、２の補数のような係数の表現を、符号−数値の表現に変化させるためのコンバータを内蔵していることである。本発明の１つの特徴は、多重ポート・レジスタ・ファイルで行われたすべての計算が、濾過または係数更新の限界経路（クリティカル・パス）の外で（濾過または係数更新の演算処理工程の外で）行なわれることである。都合のよいことに、前記改良型多重ポート・レジスタ・ファイルを使用することにより、より高速で動作し、従来技術のものよりも電力消費が少ない適応型ＦＩＲフィルタを製造することが可能となる。
【０００６】
【発明の詳細な記述】
図１は、本発明の原理に基づく、有限インパルス応答（ＦＩＲ）フィルタの１つの段に係数を記憶するために使用することができる多重ポート・レジスタ・ファイルである。多重ポート・レジスタ・ファイルは、通常、少なくとも１つの読み出しポートおよび１つの書き込みポートを含む、例えば、４語を記憶できる容量を持つ小型のメモリである。多重ポート・レジスタ・ファイルに書き込まれたデータは、必要とする任意の順序で前記ファイルから読み出すことができる。多重ポート・レジスタ・ファイルは、その中に記憶されているデータを必要とする任意の順序で、また任意の他の出力ポートとは無関係に読み出すことができる追加の出力ポートを持つことができる。
【０００７】
より詳しく説明すると、図１は、メモリ位置１０３−１から１０３−Ｈを持つメモリ１０３、計算ユニット１０５、およびラッチ１０７−１から１０７−Ｋを含むラッチ１０７を含む多重ポート・レジスタ・ファイル１０１である。
【０００８】
フィルタ設計者の判断で自由に選択することができるが、多重ポート・レジスタ・ファイルのメモリ位置の数Ｈは、通常、例えば、４のような小さな数である。Ｈの数が小さいので、広い帯域アクセスの際に使用するモデムに設置されているような、システムの最高速のクロック周波数の数値のサンプル速度を持つ信号を処理するために、ＦＩＲフィルタを実行するための他の装置と比較すると、ＦＩＲフィルタを効率的に実行することができる。
【０００９】
データは、Ｎ本のデータ・ラインを含む書き込みポートＷを通して、多重ポート・レジスタ・ファイル１０１に書き込まれる。書き込みポートＷのところの、データが書き込まるメモリ位置１０３の特定の１つの位置は、書き込みアドレス・ポートＷＡにより指定される。
【００１０】
データは、読み出しポートＲ1 −ＲK を含む読み出しポートＲを通して、多重ポート・レジスタ・ファイル１０１から読み出される。各読み出しポートＲ1 −ＲK は、それぞれのデータ・ライン数Ｍ1 −ＭK を含む。必要な場合は、多重ポート・レジスタ・ファイル１０１に記憶している、より精度の低い数値の表現を、そこから読み出すことができる。読み出しポートＲ1 −ＲK の中の任意の１つに送るために読み出される、メモリ位置１０３の中の特定の１つの位置は、対応する、例えば、例示の番号のついた読み出しアドレス・ポートＲＡ1 −ＲＡK に供給されるアドレスにより指定される。出力を読み出しポートＲ1 −ＲK の任意のポートに表示させるための読み出し動作信号は必要ない。対応する出力を発生するには、単に適当な読み出しアドレスを供給するだけで十分である。通常、書き込みアドレスＲＡ1 −ＲＡK は、アドレス・ラインＬと同じ番号を持つ。
【００１１】
多重ポート・レジスタ・ファイル１０１に何時データを書き込むか、またデータを書き込むのかどうかは、書き込み動作信号(write enable signal) ＷＥの数値の関数である。ＷＥが第１の数値を持つ場合には、多重ポート・レジスタ・ファイル１０１にデータが書き込まれる。ＷＥが前記第１の数値の補数の数値を持つ場合には、データは多重ポート・レジスタ・ファイル１０１に書き込まれない。
【００１２】
多重ポート・レジスタ・ファイル１０１へのデータの書き込み、および読み出しは同時に行うことができる。より詳しく説明すると、メモリ位置１０３の同じ特定の１つの位置にデータを書き込み、それと同時に全く同じ特定の位置から異なる数値を読み出し、１つまたはそれ以上の読み出しポートＲ1−ＲKに前記データを供給することができる。
【００１３】
ラッチ１０７は、Ｎ．ウェストおよびＫ．エシュラジアンが、その全文を参照によって本明細書の記載に援用した、「ＣＭＯＳ  ＶＬＳＩ設計の原理、第２版(Principles of CMOS VLSI Design 2nd Ed.)」（１９９２年、Addison Wesley)第１９頁乃至第２１頁に掲載の従来のレベル感知ラッチである。それ故、メモリ位置１０３の任意の１つは、マスタ・ラッチとして機能し、ラッチ１０７の中の任意の１つのラッチは、その間に挿入された計算ユニット１０５を持つ、エッジ・トリガ・フリップ・フロップを形成するために、スレーブ・ラッチとして機能する。
【００１４】
図２は、多重ポート・レジスタ・ファイル１０１の略図であり、２つのメモリ位置１０３と、１つの読み出しポートおよび１つの書き込みポートだけを示す。この図は、またメモリ１０３およびラッチ１０７および係数更新ユニット１０９との間の動作およびデータ移送を制御するために使用されるクロック信号（ＣＬＫ）を示す。図２においては、メモリ１０３は正レベル感知ラッチであり、ラッチ１０７は負のレベル感知ラッチである。前記２つのラッチは、負のエッジ・トリガ・フリップ・フロップを形成する。
【００１５】
本発明の原理に基づいて、計算ユニット１０５は、少なくとも１つの係数を取り、ある種の変換を行うか、またはそのままで係数の数値を通過させる。計算ユニット１０５は、メモリ位置１０３およびラッチ１０７の間に挿入されているので、計算ユニット１０５は、ａ）メモリ位置１０３から係数数値を受け取ることができ、ｂ）その出力を１つまたはそれ以上のラッチに供給することができる。
【００１６】
本発明の１つの特徴は、多重ポート・レジスタ・ファイルで行われるすべての計算が、濾過または係数更新の限界経路（クリティカル・パス）の外で行われる（濾過又は係数更新の演算処理工程の外で行なわれる）ことである。計算ユニット１０５は、濾過または係数更新の限界経路（クリティカル・パス）の外に位置している。何故なら、前記計算ユニット１０５は、この場合、メモリ１０３の現在アドレスされている位置である、マスタ・ラッチが記憶情報を含んでいる時間と、この場合、ラッチ１０７であるスレーブ・ラッチが、マスタ・ラッチからの情報をラッチしている時間との間の、いわゆる「休止時間」（デッド・タイム）中にその機能を行うからである。このような動作が可能なのは、読み出しアドレス信号が、クロック信号がラッチ１０７に供給される前に、読み出しアドレスポートＲＡ１ −ＲＡＫ に供給されるからである。
【００１７】
図３は、図２の多重ポート・レジスタ・ファイル１０１の略図の動作を示すタイミング図である。図３は、ラッチ１０７からの信号、ＣＬＫ、ＲＡ、ＷＡおよびＯＵＴＰＵＴを示す。信号ＣＬＫ、ＲＡおよびＷＡが、多重ポート・レジスタ・ファイル１０１に供給され、この多重ポート・レジスタ・ファイルが、信号ＯＵＴＰＵＴを発生することに留意されたい。読み出しアドレス信号ＲＡは、書き込みアドレス信号Ｗより１／２サイクル進んだ状態で、多重ポート・レジスタ・ファイル１０１に供給される。ＣＬＫの正の各縁部のすぐ後ろで変化する信号ＲＡに応じて、データがメモリ１０３から出力され、ＣＬＫの負の縁部の前で計算ユニット１０５により処理される。上記の「すぐ後ろ」という表現は、計算ユニット１０５が、その必要な計算を行うのに十分な長さの時間を意味することに留意されたい。
【００１８】
ＣＬＫの負の縁部上において、ラッチ１０７は、計算ユニット１０５からの出力として供給された処理済みデータをラッチする。このデータは、その後、多重ポート・レジスタ・ファイル１０１の出力である、ＯＵＴＰＵＴ信号として利用することができる。このデータは、更新ユニット１０９、および多重ポート・レジスタ・ファイル１０１を使用して実行している、フィルタの掛け算装置（図示せず）に送られる。次の正の縁部のすぐ後で、ＲＡは変化し、他の係数がメモリ位置１０３の１つから読み出される。一方、前の負の縁部上にラッチされた出力データを、依然としてラッチ１０７から入手することができる。ＣＬＫの次の負の縁部上において、更新ユニット１０９の出力として供給される更新済みデータが、メモリ１０３のＷＡによって指定された位置に書き戻され、前記ＷＡはＣＬＫの負の縁部のすぐ後ろで変化する。
【００１９】
本発明の一実施例の場合には、計算ユニット１０５は、オーバフロー／アンダフローおよび／または飽和ユニットである。図４は、計算ユニット１０５が、オーバフロー／アンダフロー検出および／または飽和ユニット２１１により実行されている例示としての実施例である。オーバフロー／アンダフロー飽和ユニット２１１は、飽和検出ユニット６０１に接続している、オーバフロー／アンダフロー検出ユニット５０１を含む。
【００２０】
オーバフロー／アンダフロー検出ユニット５０１は、例えば、受信入力、Ｇビットの精度の１つの数を、Ｙビットの精度で表すことができるかどうを判断するというような従来の周知の方法で動作する。この場合、ＹはＧより小さな数字である。受信入力が、Ｇビットの精度を持つ１つの数字である場合で、入力がＹビットの精度で表すことができる場合には、アンダフローまたはオーバフローが起こることを判断できない。それ故、前記入力数字の数値は、オーバフロー／アンダフロー検出および／または飽和ユニット２１１の出力として供給されるが、Ｙビットの精度だけを使用する。そうでない場合で、前記数字の数値が、Ｙビットの精度で表すには余りにも大きすぎる場合には、アンダフローまたはオーバフローが起こったと判断される。オーバフローまたはアンダフローが起こっている場合には、対応するフラグがセットされ、出力として供給される。オーバフローが起こったのか、それともアンダフローが起こったのかの判断は、入力がＹビットの精度で表すことができる最大値より大きいかどうか、またはＹビットの精度で表すことができる最小値より小さいかどうかで行われる。
【００２１】
飽和検出ユニット６０１は、例えば、従来の周知の方法で動作する。例えば、飽和検出ユニット６０１は、入力として、Ｙビットの精度の１つの数字およびオーバフロー・フラグおよびアンダフロー・フラグを受信する。オーバフロー・フラグがセットされる場合は、飽和検出ユニット６０１は、出力として、Ｙビットの精度で表すことができる最大値を供給する。アンダフロー・フラグがセットされる場合には、飽和検出ユニット６０１は、出力として、Ｙビットの精度で表すことができる最小値を供給する。オーバフロー・フラグもアンダフロー・フラグもセットされない場合には、飽和検出ユニット６０１は、出力として、入力値を供給するが、Ｙビットの精度を使用するだけである。
【００２２】
オーバフロー／アンダフロー検出および／または飽和ユニット２１１の動作結果として、前記ユニットは、入力として、Ｇビットの精度の１つの数字を受信し、出力として、ａ）Ｙビットの精度を使用するＧの実際の数値、この場合、ＧがＹビットの精度で表すことができる場合には、ＹはＧより小さい；またはｂ）その数の数値がＹビットの精度で表すには余りに大きすぎる場合には、Ｙビットの精度で表すことができる最大値または最小値を供給する。最大値が供給されたのか、または最小値が供給されたのかの判断は、入力がＹビットの精度で表すことができる最大値より大きいか、またはＹビットの精度で表すことができる最小値より小さいかどうかの関数として行われる。
【００２３】
本発明の１つの特徴は、オーバフロー・フラグおよび／またはアンダフロー・フラグの数値を、計算ユニット１０５から、出力として供給することができ、前記数値を多重ポート・レジスタ・ファイル１０１からの出力として、外部に供給することができることである。オーバフロー・フラグおよび／またはアンダフロー・フラグの数値が、多重ポート・レジスタ・ファイル１０１から外部に供給される場合には、その情報を送信できるようにするために、ラッチ１０７を増大する必要がある。
【００２４】
本発明の他の実施例の場合には、計算ユニット１０５はデータ・コンバータである。例えば、計算ユニット１０５は、いわゆる「ブース(booth)」エンコーダのような、掛け算プロセスをスピート・アップするのに使用する、特殊なエンコーダであってもよい。ブース・エンコーダは、Ｎ．ウェストおよびＫ．エシュラジアンが、その全文を参照によって本明細書の記載に援用した、１９９２年、アジソン・ウェズレー出版の「ＣＭＯＳ  ＶＬＳＩ設計の原理、第２版(Principles of CMOS VLSI Design, 2nd Ed.)」の第547頁乃至第554頁に掲載されている。本明細書においては、ブース・エンコーダをブース・リコーダと呼ぶことに留意されたい。
【００２５】
本発明の他の例示としての実施例の場合には、多重ポート・レジスタ・ファイルは、例えば、２の補数を符号数値に変換するコンバータのような、係数の表示を変換するためのコンバータを内蔵している。計算ユニット１０５により行われる複数の機能があり、これらの機能は、ほぼ同時、または休止時間の間に計算が終了する限りシーケンシャルに、異なる複数の係数に対して行うことができることに留意されたい。行われた機能は、またクロック・サイクルからクロック・サイクルへ変化することができる。
【００２６】
上記説明は、本発明の原理を単に説明するためのものにしか過ぎない。それ故、当業者なら、本明細書にはっきりと説明または図示してなくても、本発明の原理を実行する種々の装置を考案することができ、それらの装置も本発明の範囲内に含まれることを理解することができるだろう。
【図面の簡単な説明】
【図１】本発明の原理に基づいて、有限インパルス応答（ＦＩＲ）フィルタに、係数を記憶するために使用することができる例示としての多重ポート・レジスタ・ファイルである。
【図２】係数更新ユニットおよび係数クロック発生を含む図１の多重ポート・レジスタ・ファイルの略図である。
【図３】図１の多重ポート・レジスタ・ファイルの略図の動作を示すタイミング図である。
【図４】図１の多重ポート・レジスタ・ファイルで使用するための、オーバフロー／アンダフロー検出および／または飽和ユニットの一実施例である。
【符号の説明】
１０１  多重ポート・レジスタ・ファイル
１０３  メモリ位置
１０５  計算ユニット
１０７  ラッチ
【図１】
0003540179.tif 000002
【図２】
0003540179.tif 000003
【図３】
0003540179.tif 000004
【図４】
0003540179.tif 000005