(57)【特許請求の範囲】
【請求項１】
デジタルフィルタを形成するために主プロセッサに結合するようにしたプログラマブル共同プロセッサ回路であって、
このプログラマブル共同プロセッサ回路が、入力データ及び「タップ」と称する係数用の記憶容量を持つ単一メモリを有する少なくとも１個のフィルタ処理素子と、前記単一メモリにおける入力データ用記憶区分の複数の読出し出力部にそれぞれ接続される複数の入力部を有する少なくとも１個の加算器と、一方の入力部を前記加算器の結果出力部に接続するとともに他方の入力部を前記単一メモリにおけるタップ用記憶区分の１つの読出し出力部に接続した乗算器とを具えるプログラマブル共同プロセッサ回路において、
前記単一メモリを、種々のセグメントに区画化し、前記種々のセグメントを前記入力データ用記憶区分、及び前記タップ用記憶区分に可変に組み合わせる手段を設けて、前記単一メモリを相違するフィルタに適合させるようにしたことを特徴とするプログラマブル共同プロセッサ回路。
【請求項２】
フィルタ処理素子のメモリの全寸法を２Ｌとし、前記メモリが、各々が寸法２Ｌ／５，４Ｌ／１５，Ｌ／３，Ｌ／５，２Ｌ／１５，２Ｌ／３を有する６個のセグメントを有することを特徴とする請求項１記載のプログラマブル共同プロセッサ回路。
【請求項３】
フィルタ処理素子のメモリの全寸法を２Ｌとし、前記メモリが、各々が寸法２Ｌ／３，Ｌ／３，Ｌ／３，２Ｌ／３を有する４個のセグメントを有することを特徴とする請求項１記載のプログラマブル共同プロセッサ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルフィルタを形成するために主プロセッサに結合するようにしたプログラマブル共同プロセッサ回路であって、このプログラマブル共同プロセッサ回路が、入力データ及び「タップ」と称する係数用のメモリを有する少なくとも１個のフィルタ処理素子と、少なくとも１個の加算器と、一方の入力部を前記加算器の結果出力部に接続するとともに他方の入力部を前記タップ用のメモリの読出し出力部に接続した乗算器とを具えるプログラマブル共同プロセッサ回路に関するものである。
【０００２】
【従来の技術】
このような回路は、例えば符号間干渉を減少させ、データ速度を変更し又は通信チャネルによって加えられる雑音を減少させるために、種々のマルチメディアアプリケーションのような種々のフィルタが必要なアプリケーションで特に用いられている。
【０００３】
【発明が解決しようとする課題】
デジタルフィルタは、実際には一連の素子を有し、その間に、処理される、特にタップによって乗算され及び／又は互いに加算された後に他の場所に入力される信号がタップされる。デジタルフィルタを実現するに当たり、三つの経路が既知である。
−  フィルタを形成するために特定のアルゴリズムを有するＤＳＰタイプのプロセッサの利用。しかしながら、この経路が大きな柔軟性を提供する場合、フィルタのパフォーマンス、特にスピードが制限される。
−  フィルタを直接構成する特定の回路の利用。これは大きなパフォーマンスを許容するが、多数の相違する回路の開発を伴う。
−  特定のプログラマブル回路の利用。これは、特定の回路の高パフォーマンスとＤＳＰの良好な柔軟性との間で良好に両立する。特定のプログラマブル回路のうちの一つを、区別されたプロセッサプログラマブルフィルタとし、それは、これら回路が、実際にはフィルタ中で実現されるプロセスによって最低限必要とされるまで減少したＤＳＰプロセッサによって形成されることを意味する。これは最も興味のある解決である。
【０００４】
特定のプログラマブル回路は、プログラマブルタップを記憶するメモリを有する。一般にはそれを特定のタイプのフィルタ：対称、ハーフバンド、補間、デシメーション（ｄｅｃｉｍａｔｉｏｎ）、適応、複合（ｃｏｍｐｌｅｘ）フィルタを実現するように構成する。プロセッサプログラマブルフィルタ用の集積回路は、欧州特許出願明細書第０４５４０５０号から既知である。この明細書による集積回路は、乗算器と、加算器と、データを記憶するメモリと、命令コード及びタップ値のセットを記憶するプログラムメモリと、タップ値を連続的に読み出す間に命令を実行することができる、プログラムメモリから読み出された命令用のメモリとを有する。集積回路は、タップが読み出されるときとは異なるときにデータが読み出される必要をなくすために、データ用メモリ及びそれとは別のタップ用メモリを有する。
【０００５】
本発明の目的は、データ及びタップを記憶するメモリサイズに関して相違する要求を有する場合でもメモリを最適な形態で利用することによって相違するタイプのフィルタのマルチプレクサ処理を可能にするプログラマブル回路を提供することである。
【０００６】
【課題を解決するための手段】
このために、前記入力データ用のメモリ及びタップ用のメモリを、種々のセグメントに区画化した単一メモリに配置し、前記メモリを相違するフィルタに適合させるために前記セグメントを可変に結合する手段を設ける。
【０００７】
本発明の基本概念は、メモリのサイズを増大させることなく種々メモリを用いることによってデータとタップとの間でメモリを分割することであり、それによって、例えば、後に説明する実施の形態に示すように１入力ポート及び２出力ポートのみを用いるだけでなく、その結果、３入力ポート及び５出力ポートを有する大メモリに比べて低コストで最大効率を有するようになる。実際には、メモリの表面はポート数に大いに依存する。
【０００８】
プログラマブル共同プロセッサ回路の特定の例を従属項２〜４に示す。
【０００９】
【発明の実施の形態】
図１の回路ＣＯ−ＰＲを、ホストプロセッサＰＲ−Ｈに結合した共同プロセッサとし、この回路は、デジタルフィルタが並列に３２ビット必要としない場合でさえ３２ビットバスを通じてホストコンピュータと通信する。この回路は、ホストプロセッサと共同プロセッサとの間の通信の同期をとるＩ／Ｏブロックと、実現すべきフィルタの特性の書込み動作を行う制御モジュールＣＯＮＴとを有し、この制御モジュールは、フィルタ処理素子ＦＰＥを制御する。種々のフィルタ処理素子ＦＰＲを、必要な計算出力を発生させるために設け、その数をｎｃとする。
【００１０】
図２のフィルタ処理素子を、２個の主要部：動作部ＯＰ及び記憶部ＭＡＣによって形成する。動作部は、フィルタを計算するのに要求される乗算器及び加算器と、適応フィルタのタップを更新するのに用いられる論理回路とを有する。記憶部は、種々のマルチプレクサ処理されたフィルタによって用いられる全てのタップを記憶するｗタップメモリと、フィルタによって用いられる全ての入力データを記憶するｘデータメモリと、種々のフィルタの中間結果を記憶するｙデータメモリとを有する。ｙデータメモリを、特にマルチプレクサ処理を行う計算用にする。入力部ｗ＿ｉｎを、ｗタップメモリを初期化するのに用いる。
【００１１】
データは、フィルタ処理素子間の２個の一方向性ライン：「順」ラインＤａｔａ＿ｉｎＦ／Ｄａｔａ＿ｏｕｔＦ及び「逆」ラインＤａｔａ＿ｉｎＢ／Ｄａｔａ＿ｏｕｔＢによって伝送される。順ラインはデータを左から右に伝送する。逆ラインはデータを右から左に伝送する。このラインは対称フィルタの場合にのみ用いられる。結果は、ポートｙ＿ｉｎ及びｙを通じて右から左に伝送される。
【００１２】
データに対してあり得る種々の形態があり、小数の切り捨てを行うことができ、かつ、データを実数又は複素数とすることができるので、入力データメモリｘ−ｄａｔａからの入力データを受信する手段及び動作部に十分なデータを供給するためにデータを再構成するとともにそれを第１及び第２加算器に供給する手段を有するデータ再構成ブロックＲＥＯＲＧを設ける。順ラインによって伝送されたものに対応するｘデータメモリからのデータＸａ及びＸｂは、この再構成ブロックによってＸ’ａ及びＸ’ｂに変換される。
【００１３】
動作部ＯＰは２個の加算器１及び２を有し、その各々は、マルチプレクサ３，４の入力部に接続した出力部を有し、そのマルチプレクサの他の入力部は、接続部７を通じてｗタップメモリからタップ値を受信し、第１及び第２マルチプレクサの出力部を、出力部を最終加算器６の入力部に接続した加算器／減算器５の入力部にそれぞれ接続し、この加算器の他の入力部は、以前のサイクルで中間結果メモリから得られる結果ｙ（ｏｌｄ）を受信し、その出力部は、現サイクルに対応する計算結果“ｙ”を出力する。これら２個の加算器１，２及び２個の乗算器３，４は、中間結果の計算に要求される加算及び乗算を実現する。正確に３２ビットの各マルチプレクサ３，４を２個の１６ビットマルチプレクサとして用いることができ、各サイクルで１６ビットの複素数乗算を処理することができ、各加算器１，２が２個の１６ビット加算器を有する。８ビットワードを用いることができる。各１６ビットオペレータを、２個の８ビットオペレータとみなすことができる。したがって、フィルタ処理素子は、２４個までの８ビット動作を同時に処理することができる。各オペレータを、４個の８ビットオペレータ又は２個の１６ビット並列オペレータとみなすことができる。フィルタが対称である場合、２個の加算器１，２を用いることができる。そうでない場合、これらは短絡する。これが複素数乗算によって要求される場合、加算器／減算器５を減算器として用い、それ以外の場合には加算器として用いる。
【００１４】
更新ブロックＵＰＤは、適応フィルタの場合にタップを更新するのに用いられる。それは、適応フィルタの場合にホストプロセッサによって計算されるデータ“ｓｇｎ＿ｅｒｒ”と、データＸａの符号ｓｇｎと、接続部７を通じたｗタップメモリからのタップ値ｗ＿ｉｎとを受信する。それは、タップメモリに格納すべきタップ値ｗ＿ｏｕｔを出力する。
【００１５】
プログラマブルプロセッサによって計算された種々のタイプのフィルタは、データ及びタップを記憶するためにメモリサイズに関して相違する要求を有し、その結果、それは、全てのタイプのフィルタに対して効率のよい方法でメモリを容易に使用することができない。メモリが全長２Ｌを有すると仮定することによって、順データ、逆データ及びタップの各々に対する必要なメモリサイズを図３の表に示す。行の表示ＦＤ，ＢＤ，Ｔは、順データ、逆データ及びタップをそれぞれ表す。行の開始の表示“Ｒ／Ｃ  ＦＩＲ”は、同一タイプ（複素数又は実数）のデータ及びタップを有するＦＩＲフィルタを表す。“Ｒ／Ｃ  ｓｙｍｅｔｅｒ”は、同一タイプ（複素数又は実数）のデータ及びタップを有する対称フィルタを表す。表示“ＣＤ／ＲＴ  ＦＩＲ”は、複素数データ及び実数タップを有するＦＩＲフィルタを表し、表示“ＣＤ／ＲＴ  ｓｙｍｅｔｒ”は、複素数データ及び実数タップを有する対称フィルタを表す。逆データは、対称フィルタの場合にのみ用いられる。通常のフィルタは、データ及びタップに対して同一メモリサイズを必要とし、それに対して、対称フィルタは、１タップに対して二つのデータを用いる。さらに、複素数データは、実数データに比べて２倍より多くの記憶容量を必要とする。したがって、図３の表に示したフィルタに対して、メモリを、《Ｒ＿Ｃ  ＦＩＲ》の場合の同一サイズの２個のメモリ、《Ｒ／Ｃ  ｓｙｍｅｔｒ》の場合の同一サイズの３個のメモリ、《ＣＤ／ＲＴ  ｓｙｍｅｔｒ》の場合の２個が第３のものの２倍のサイズの３個のメモリ又は《ＣＤ／ＲＴ  ＦＩＲ》の場合の一方が他方の２倍のサイズの２個のメモリと考えることができる。２，３及び５の最小公倍数が３０であるので、データメモリ及びタップメモリを最適に構成するためにサイズＬ／１５のメモリを３０個必要とする。
【００１６】
したがって、完全な解決は３０個のメモリを必ず伴う。実際には、６個のメモリのみが用いられる。その理由は、同一タイプのデータを常に記憶する全てのメモリが常に同一の動作を有し、これらを結合するためである。これら６個のメモ他は相違する寸法を有する。これを図４に示す。ポート数及び部品数は、サポートされるフィルタのタイプ及び動作部の乗算器の数に依存する。
【００１７】
メモリを結合するのに以下のアルゴリズムが用いられる。
−  ステップ１：図３の表の全ての値の零でない最小値を考察する間のセグメントと称される記憶区分のセットの形成。この値はセグメントのサイズに対応する。
−  ステップ２：フィルタの各タイプに対して、このセグメントが順データと逆データとタップのうちのいずれを有するかを決定し、
−  各列の零でない最小値からステップ１で見つけた値を減算し、
−  全ての値が零になるまで、新たに創成された表を用いてステップ１及び２を繰り返す。ステップ２において、マルチプレクサの入力ブランチが得られる。したがって、フィルタのタイプの各々に対して、各メモリは、単一タイプのデータ又はタップによって用いられる。同一タイプのデータ又はタップを有する全てのメモリを、データ又はタップの各タイプに対して単一仮想メモリを得るために仮想的に連結される。このアルゴリズムによって生じた結果が記憶される。
【００１８】
メモリに対するアドレスを、一つが順データ用メモリを有し、一つが逆データ用メモリを有し、一つがタップ用メモリを有するように発生させる。フィルタが対称でない場合、逆データ用メモリの寸法を零にする。これら絶対値を用いる場合、相対的なアドレスを発生させることができ、メモリは、減算及び比較を行うことによって選択される。
【００１９】
それにもかかわらず、メモリ区画化の効率を減少させると、本実施の形態を更に簡単にすることができる。これを図５に示す。図４のサイズＬ／３の６個のメモリは、常に同一形態で用いられる。この場合、これらが結合され、４個のメモリのみが用いられる。これら４個のメモリのうちの２個（ＲＦｗ及びＲＦｘ）は２Ｌ／３ワードを有し、それ以外の２個（ＲＦａ及びＲＦｂ）はＬ／３ワードを有する。適応又はデシメーション（ｄｅｃｉｍａｔｉｏｎ）有限インパルス応答フィルタの場合、タップをＲｆｗ及びＲｆａに配置し、データをＲｆｘ及びＲｆｂに配置する。対称フィルタ又は実数タップを有する複素数データフィルタの場合、タップをＲｆｗに配置し、データをＲｆｘ，Ｒｆａ及びＲｆｂに配置する。したがって、複数の４Ｌ／３データを有する対称フィルタも、メモリの全容量を用いることによって実現することもできる。しかしながら、このような区画化は“ＣＤ／ＲＴ  ｓｙｍｅｔｒ”の場合には最適でない。他の区画化を他のタイプのフィルタに対して予測できることは明らかである。
【図面の簡単な説明】
【図１】  種々のプロセッサ素子を有するフィルタの計算システムを示す線形図である。
【図２】  フィルタプロセッサ素子の更に詳細な図である。
【図３】  種々のタイプのデータ、種々のタップ及び種々のタイプのフィルタに対して要求されるメモリサイズの表である。
【図４】  フィルタ処理素子のメモリの変形を示す図である。
【図５】  フィルタ処理素子のメモリの他の変形を示す図である。
【符号の説明】
ＣＯ−ＰＲ  回路
ＣＯＮＴ  制御モジュール
Ｄａｔａ＿ｉｎＦ／Ｄａｔａ＿ｏｕｔＦ  「順」ライン
Ｄａｔａ＿ｉｎＢ／Ｄａｔａ＿ｏｕｔＢ  「逆」ライン
ＦＰＥ  フィルタ処理素子
ＭＡＣ  記憶部
ＯＰ  動作部
ＰＲ−Ｈ  ホストプロセッサ
ＲＥＯＲＧ  データ再構成ブロック
【図１】
0004212710.tif 000002
【図２】
0004212710.tif 000003
【図３】
0004212710.tif 000004
【図４】
0004212710.tif 000005
【図５】
0004212710.tif 000006