(57)【要約】  順応性のあるデジタル信号プロセッサモジュールは、乗算器及び加算器を含むフィルタユニットを含み、乗算器は、メモリ及びシフトレジスタルックアップテーブルから入力を受信する。デジタル信号プロセッサモジュールは、メモリからの適切なフィルタ係数及びシフトレジスタルックアップテーブルからのデータ値を提供することにより、ＦＩＲ又はＨＲフィルタなどのデジタルフィルタを実装し得る。任意選択的なステートマシンは、メモリ、シフトレジスタルックアップテーブルのアドレス指定の同期と、それらが特定のフィルタ実装に必要である場合にはデジタル信号プロセッサモジュールの複数のインスタンス間の同期とを確実にし得る。提案されるアーキテクチャは、フィルタ実装以外の動作がサポートされる追加の動作モードを提供する。
2021530138.tif 000002
【特許請求の範囲】
【請求項１】
プログラム可能なデジタル信号プロセッサであって、デジタルフィルタと、シフトレジスタルックアップテーブルと、フィルタメモリとを含み、前記シフトレジスタルックアップテーブルは、第１の動作モードで前記デジタルフィルタに入力データを提供するように結合され、及び前記フィルタメモリは、前記第１の動作モードで前記デジタルフィルタにフィルタ係数を提供するように結合され、前記フィルタメモリ及び前記シフトレジスタルックアップテーブルの出力は、所望のフィルタ構成を一緒に実装する対応するフィルタ係数及び入力データを生成するように同期される、プログラム可能なデジタル信号プロセッサ。
【請求項２】
前記シフトレジスタルックアップテーブルは、シフトレジスタを含み、前記シフトレジスタは、単一の連続的なシフトレジスタとして又は複数の独立して動作可能なシフトレジスタとしてのいずれかで動作可能であるように構成される、請求項１に記載のプログラム可能なデジタル信号プロセッサ。
【請求項３】
ステートマシンであって、前記シフトレジスタルックアップテーブル及び前記フィルタメモリにアドレス値を提供するステートマシンをさらに含む、請求項１又は２に記載のプログラム可能なデジタル信号プロセッサ。
【請求項４】
アドレス値は、前記シフトレジスタルックアップテーブル及び前記フィルタメモリの単一のアドレスを含み、それにより、前記シフトレジスタルックアップテーブル及び前記フィルタメモリに格納された前記値は、前記単一のアドレスが前記第１の動作モードで前記デジタルフィルタの前記対応する係数及び入力データを参照するように構築される、請求項２に記載のプログラム可能なデジタル信号プロセッサ。
【請求項５】
第２の動作モードにおいて、前記シフトレジスタルックアップテーブルに格納された前記値は、前記デジタルフィルタによる以外の処理のために出力される、請求項１〜４のいずれか一項に記載のプログラム可能なデジタル信号プロセッサ。
【請求項６】
前記第２の動作モードにおいて、前記シフトレジスタルックアップテーブルは、乗算器入力レジスタとして使用される、請求項５に記載のプログラム可能なデジタル信号プロセッサ。
【請求項７】
前記デジタルフィルタは、有限インパルス応答フィルタのコンポーネントを構成する、請求項１〜６のいずれか一項に記載のプログラム可能なデジタル信号プロセッサ。
【請求項８】
前記デジタルフィルタは、フィードバック構成において、第１の有限インパルス応答フィルタと、第２の有限インパルス応答フィルタとを含む無限インパルス応答フィルタのコンポーネントを構成し、前記ステートマシンは、前記第１の有限インパルス応答フィルタ及び前記第２の有限インパルス応答フィルタの出力の組み合わせを調整する許可信号を提供して、前記無限インパルス応答フィルタを実装する、請求項３〜６のいずれか一項に記載のプログラム可能なデジタル信号プロセッサ。
【請求項９】
複数のルックアップテーブルを含むＦＰＧＡアーキテクチャで実装され、それぞれの前記ルックアップテーブルの構成は、システム起動時に構成ビットストリームを用いてプログラムされた１つ又は複数のそれぞれのメモリユニットによって定義され、前記フィルタメモリ内の前記値も前記構成ビットストリームによってプログラムされる、請求項１〜８のいずれか一項に記載のプログラム可能なデジタル信号プロセッサ。
【請求項１０】
デジタル信号プロセッサ動作を実行する方法であって、第１の動作モードで前記デジタル信号プロセッサにデータを出力するようにシフトレジスタルックアップテーブルをアドレス指定するステップと、前記第１の動作モードでデジタルフィルタに係数を提供するようにフィルタメモリをアドレス指定するステップと、前記係数を使用して前記入力データにデジタルフィルタ動作を実行するステップとを含む方法。
【請求項１１】
単一のアドレス値が前記第１の動作モードで前記デジタルフィルタの対応する係数及び入力データを参照するように、前記シフトレジスタルックアップテーブル及び前記フィルタメモリを構築するさらなるステップを含み、それにより、第１の動作モードで前記デジタル信号プロセッサに係数を出力するようにシフトレジスタルックアップテーブルをアドレス指定する前記ステップと、前記第１の動作モードで前記デジタルフィルタに入力データを提供するようにフィルタメモリをアドレス指定する前記ステップとは、前記単一のアドレス値を使用して実行される、請求項１０に記載の方法。
【請求項１２】
前記デジタルフィルタ動作は、有限インパルス応答フィルタ動作である、請求項１０又は１１に記載の方法。
【請求項１３】
前記デジタルフィルタ動作は、フィードバック値に基づく第１の有限インパルス応答動作及び第２の有限インパルス応答動作を含む無限インパルス応答フィルタ動作であり、前記方法は、無限インパルス応答フィルタの結果を得るために、前記第１の有限インパルス応答動作及び前記第２の有限インパルス応答動作の結果の組み合わせを調整する許可信号を提供するさらなるステップを含む、請求項１１又は１２に記載の方法。
【請求項１４】
請求項１０〜１３のいずれか一項に記載のステップを実施するように適合された命令を含む、コンピュータのためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号プロセッサアーキテクチャに関する。
【背景技術】
【０００２】
デジタル信号プロセッサは、デジタルフィルタ、圧縮など、デジタル信号処理動作に専用のサポートを提供することに特化されたデジタル電子モジュールである。
【０００３】
デジタル信号プロセッサの機能性は、スタンドアロンのマイクロプロセッサを含む多くの形式で「パッケージ内のシステム」ユニットの一部として又はＦＰＧＡアーキテクチャの特殊ブロックとして提供され得る。
【０００４】
ＦＰＧＡは、プログラム可能な論理デバイスの一種である。それらは、概して標準的なプログラム可能な論理ブロックに基づいており、その多くは、一緒に配置されて様々な機能を実装する。
【０００５】
図１は、従来技術において既知のＦＰＧＡシステムの一例を概略的に示す。
【０００６】
図１に示されているように、ＦＰＧＡチップ１０は、複数の論理ブロック１１を含む。チップは、複数の入力／出力ポート１２も含む。これらの論理ブロック１１及び入力／出力ポート１２を接続するのは、複数のトラック１４である。これらのトラックの接合点には、複数のプログラム可能な配線区域１３が設けられており、それらは、スイッチボックスと呼ばれる場合もある。これらのプログラム可能な配線区域には、各スイッチと接続されたビットセルメモリに格納された論理値の制御下において、任意の交差トラックの対を選択的に接続することができるスイッチが設けられている。ビットセルメモリの値は、不揮発性メモリからのシステムの起動時に設定される。したがって、必要に応じてスイッチメモリ内の値を設定することにより、任意の論理ブロックの任意の接続を任意の他の論理ブロック又は任意の入力／出力ポート１２の接続に結合することができる。同様に、いずれか１つの入力／出力ポートをいずれかの他の入力／出力ポートに接続し得る。このように、各論理ブロックの動作を定義するようにメモリユニットを適宜構成し、論理ブロック間に適切な接続を確立するようにスイッチメモリ１３を適宜構成することにより、任意の所望の機能性を実装することができる。
【０００７】
ＦＰＧＡの基本的な考え方は、標準的な論理ブロックの適切な接続及び適切な論理値によって任意のデジタル動作が実装可能であることに基づいているが、特定のシナリオでは、このような一般的なアプローチは、所与の機能を実装するために使用されるチップ表面積及び所望の機能を適用するために動作中に消費されるエネルギーの点で非常に非効率的である。したがって、現代のＦＰＧＡアーキテクチャの多くは、特定の機能をサポートするように特別に設計された回路を含む特殊ブロック１５を含む。
【０００８】
特定のＦＰＧＡアーキテクチャは、このような特殊ブロック１５を提供して、デジタル信号処理動作をサポートする。
【０００９】
図２は、先行技術において既知のデジタル信号処理ブロックを示す。
【００１０】
図２に示されているように、それぞれリレー２１３及び２１４によってバッファされた２つの入力２１１及び２１２を含むブロック２００が設けられている。入力２１１及び２１２は、乗算器２２０に値を提供し、この乗算器は、さらなるリレー２２１を介して加算器２３０にその出力を提供する。この加算器は、さらなるリレー２１６を介して第２の入力２１５を受信し、さらなるリレー２３１を介してブロック出力２１７を発信する。実装の詳細に応じて様々なリレーを使用しても使用しなくてもよい。
【００１１】
上述したようなＦＰＧＡアーキテクチャのブロックとして、ＤＳＰブロックは、ＦＰＧＡの他のブロックによって提供される任意の適切な論理に接続され得る。特に、これらの他のブロックは、通常、上述したような標準的な論理ブロックとなり、所望の動作に必要となり得るいかなる論理入力でも提供するように構成され得る。一方の入力２１１又は２１２に適切な係数値を供給し、もう一方の入力に適切にタイミングを合わせた一連のデータ値を供給し、且つ出力値を蓄積するようにさらなる論理ブロックを構成することにより、フィルタ及び他の機能を実装し得る。
【００１２】
このようなアプローチの例は、例えば、Ｘｉｌｉｎｘ  Ｖｉｒｔｅｘ  ５又はＸｉｌｉｎｘ  Ｖｉｒｔｅｘ  ４のＦＰＧＡアーキテクチャのユーザガイドに見つけることができる。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特に、上述したような先行技術のアプローチは、ＤＳＰアーキテクチャの効率を多少向上させるが、特定のＤＳＰ動作の実装をサポートするために外部の論理に依存することは、結果として得られる回路が、必要な空間、消費されるエネルギー、クロック分配などの点で最適以下のままであることを意味することが理解されるであろう。高度の汎用性を保持しながら、より統合された機能性を提供するＤＳＰアーキテクチャを提供することが望ましい。
【課題を解決するための手段】
【００１４】
本発明によれば、第１の態様では、プログラム可能なデジタル信号プロセッサであって、デジタルフィルタと、シフトレジスタルックアップテーブルと、フィルタメモリとを含み、シフトレジスタルックアップテーブルは、第１の動作モードでデジタルフィルタに入力データを提供するように結合され、及びフィルタメモリは、第１の動作モードでデジタルフィルタにフィルタ係数を提供するように結合され、フィルタメモリ及びシフトレジスタルックアップテーブルの出力は、所望のフィルタ構成を一緒に実装する対応するフィルタ係数及び入力データを生成するように同期される、プログラム可能なデジタル信号プロセッサが提供される。
【００１５】
第１の態様の発展形態では、シフトレジスタルックアップテーブルは、シフトレジスタを含み、このシフトレジスタは、単一の連続的なシフトレジスタとして又は複数の独立して動作可能なシフトレジスタとしてのいずれかで動作可能であるように構成される。
【００１６】
第１の態様の発展形態では、プログラム可能なデジタル信号プロセッサは、ステートマシンであって、シフトレジスタルックアップテーブル及びフィルタメモリにアドレス値を提供するステートマシンをさらに含む。
【００１７】
第１の態様の発展形態では、プログラム可能なアドレス値は、シフトレジスタルックアップテーブル及びフィルタメモリの単一のアドレスを含み、それにより、シフトレジスタルックアップテーブル及びフィルタメモリに格納された値は、単一のアドレスが第１の動作モードでデジタルフィルタの対応する係数及び入力データを参照するように構築される。
【００１８】
第１の態様の発展形態では、第２の動作モードにおいて、シフトレジスタルックアップテーブルに格納された値は、デジタルフィルタによる以外の処理のために出力される。
【００１９】
第１の態様の発展形態では、第２の動作モードにおいて、シフトレジスタルックアップテーブルは、乗算器入力レジスタとして使用される。
【００２０】
第１の態様の発展形態では、デジタルフィルタは、有限インパルス応答フィルタのコンポーネントを構成する。
【００２１】
第１の態様の発展形態では、デジタルフィルタは、フィードバック構成において、第１の有限インパルス応答フィルタと、第２の有限インパルス応答フィルタとを含む無限インパルス応答フィルタのコンポーネントを構成し、ステートマシンは、第１の有限インパルス応答及び第２の有限インパルス応答の出力の組み合わせを調整する許可信号を提供して、無限インパルス応答フィルタを実装する。
【００２２】
第１の態様の発展形態では、デジタル信号プロセッサは、複数のルックアップテーブルを含むＦＰＧＡアーキテクチャで実装され、それぞれのルックアップテーブルの構成は、システム起動時に構成ビットストリームを用いてプログラムされた１つ又は複数のそれぞれのメモリユニットによって定義され、フィルタメモリ内の値も構成ビットストリームによってプログラムされる。
【００２３】
本発明によれば、第２の態様では、デジタル信号プロセッサ動作を実行する方法であって、第１の動作モードでデジタル信号プロセッサにデータを出力するようにシフトレジスタルックアップテーブルをアドレス指定するステップと、第１の動作モードでデジタルフィルタに係数を提供するようにフィルタメモリをアドレス指定するステップと、この係数を使用して入力データにデジタルフィルタ動作を実行するステップとを含む方法が提供される。
【００２４】
第２の態様の発展形態では、方法は、単一のアドレス値が第１の動作モードでデジタルフィルタの対応する係数及び入力データを参照するように、シフトレジスタルックアップテーブル及びフィルタメモリを構築するさらなるステップを含み、それにより、第１の動作モードでデジタル信号プロセッサに係数を出力するようにシフトレジスタルックアップテーブルをアドレス指定するステップと、第１の動作モードでデジタルフィルタに入力データを提供するようにフィルタメモリをアドレス指定するステップとは、単一のアドレス値を使用して実行される。
【００２５】
第２の態様の発展形態では、デジタルフィルタ動作は、有限インパルス応答フィルタ動作である。
【００２６】
第２の態様の発展形態では、デジタルフィルタ動作は、フィードバック値に基づく第１の有限インパルス応答動作及び第２の有限インパルス応答動作を含む無限インパルス応答フィルタ動作であり、方法は、無限インパルス応答フィルタの結果を得るために、第１の有限インパルス応答動作及び第２の有限インパルス応答動作の結果の組み合わせを調整する許可信号を提供するさらなるステップを含む。
【００２７】
本発明によれば、第３の態様では、第２の態様のステップを実施するように適合された命令を含む、コンピュータのためのプログラムが提供される。
【００２８】
本発明の上記及び他の利点について、添付図面を参照してここで説明する。
【図面の簡単な説明】
【００２９】
【図１】従来技術において既知のＦＰＧＡシステムの一例を概略的に示す。
【図２】先行技術において既知のデジタル信号処理ブロックを示す。
【図３】第１の実施形態によるプログラム可能なデジタル信号プロセッサを示す。
【図４】第２の実施形態によるプログラム可能なデジタル信号プロセッサを示す。
【図５】一実施形態による有限インパルス応答フィルタの並列実装を提示する。
【図６】一実施形態による無限インパルス応答フィルタの並列実装を提示する。
【図７】一実施形態によるフィルタを使用して実装された符号付き乗算器を示す。
【図８】一実施形態によるデジタル信号プロセッサ動作を実行する方法を提示する。
【発明を実施するための形態】
【００３０】
図３は、第１の実施形態によるプログラム可能なデジタル信号プロセッサを示す。
【００３１】
示されているように、プログラム可能なデジタル信号プロセッサ３００は、デジタルフィルタ３１０と、シフトレジスタルックアップテーブル３２０と、メモリ３３０とを含む。メモリは、ＲＡＭ又はＲＯＭデバイスなどのランダムアクセスメモリ、カスケード接続されたレジスタなどを含み得る。シフトレジスタルックアップテーブル３２０は、第１の動作モードでデジタルフィルタ３１０に入力データを提供するように結合され、フィルタメモリ３３０は、その第１の動作モードでデジタルフィルタ３１０にフィルタ係数を提供するように結合される。フィルタメモリ及びシフトレジスタルックアップテーブルの出力は、所望のフィルタ構成を一緒に実装する対応するフィルタ係数及び入力データを生成するように同期される。
【００３２】
デジタルフィルタは、データ値及び係数値を乗算するように構成された乗算器と、場合により追加のレジスタを用いて、実質的に図２に関して上述したように連続する値を蓄積するための加算器とを含む。追加の遅延、合算、多重化又は他のコンポーネントを組み込んで機能性を拡張し得る。
【００３３】
示されているように、シフトレジスタルックアップテーブル３２０は、４つのフリップフロップ３２１、３２２、３２３、３２４を含むシフトレジスタを含む。４つのフリップフロップのみが示されているが、任意の数のフリップフロップを設け得ることが理解されるであろう。シフトレジスタの長さは、図３のＤＳＰの単一の実装によって処理され得る係数の最大数に対応するため、フリップフロップの数は、フィルタによって取り扱い可能な係数の数、すなわちフィルタタップの数、したがって実行し得るフィルタ動作の複雑さを反映するフィルタの基本設計制約に基づいて選択することができる。好都合なフリップフロップの数は、特定の実施形態では３２であり得る。
【００３４】
同様に、メモリ３３０内のアドレスの数は、フィルタによって取り扱い可能な係数の数、すなわちフィルタタップの数と等しいことができる。他の実施形態では、メモリ３３０内のアドレスの数は、フィルタによって取り扱い可能な係数の数、すなわちフィルタタップの数よりも少ないことができる。他の実施形態では、メモリ３３０内のアドレスの数は、フィルタによって取り扱い可能な係数の数、すなわちフィルタタップの数よりも多いことができる。
【００３５】
各メモリアドレスに格納されたデータワードの長さは、入力データバスの幅と等しいことができる。２４ビットの入力バスであれば、２４ビットの係数並びに２４個のシフトレジスタ及びマルチプレクサを並列で含むシフトレジスタルックアップテーブルを示唆する。フィルタは、次に、フィルタリング動作中に２つの２４ビット値の乗算を行う。
【００３６】
動作中、フィルタリングのための２進データ値の連続的なストリームは、入力３０１に到達し、これは、後述するように、処理が進行するにつれて、シフトレジスタ３２１、３２２、３２３、３２４を通して徐々にクロックされる。シフトレジスタ３２１、３２２、３２３、３２４のフリップフロップにロードされた所与の値のセットの場合、フィルタ内のタップの数までのシフトレジスタ３２１、３２２、３２３、３２４の各フリップフロップは、順にアドレス指定され、値は、データ値としてフィルタ３１０に伝達される。
【００３７】
一方、フィルタ内のタップの数までのシフトレジスタ３２１、３２２、３２３、３２４の各フリップフロップがアドレス指定されると、メモリ３３０が同時にアドレス指定され、それにより、アドレス指定された記憶場所は、アドレス指定されたフリップフロップに対応するフィルタ係数を包含し、結果として得られる出力が係数値のセットとしてフィルタ３１０に伝達される。
【００３８】
シフトレジスタからのアドレス指定された値は、メモリ３３０によって提供される対応する係数を使用して、フィルタ３１０によってこのように処理される。フィルタの出力は、蓄積され、システムは、次に、シフトレジスタ３２１、３２２、３２３、３２４の次のフリップフロップ及びメモリ３３０内の対応する位置のアドレス指定に進む。
【００３９】
これに基づき、フィルタ内のタップの数までのシフトレジスタの各データ値は、その係数のそれぞれのセット及びフィルタの出力で蓄積された結果に従って処理される。フィルタ内のタップの数までのシフトレジスタの各フリップフロップがアドレス指定されると、シフトレジスタは、例えば、クロックバス３０２をアクティブ化することによってクロックされ、それにより、シフトレジスタの各フリップフロップの値は、その隣に渡され、新たなデータ値がデータ入力３０１からシフトレジスタの第１のフリップフロップ３２１にクロックされ、シフトレジスタの最後のフリップフロップの値は、廃棄される。
【００４０】
フィルタ内のタップの数までのシフトレジスタ３２１、３２２、３２３、３２４の各フリップフロップを順番にアドレス指定し、メモリ３３０によって提供された対応する係数を使用して、フィルタ３１０によって処理するプロセスは、次に、新たな値のセットに対して新規に開始される。
【００４１】
このプロセスは、入力チャネル３０１のすべての入力値が処理されるまで無限に続く。
【００４２】
図４は、第２の実施形態によるプログラム可能なデジタル信号プロセッサを示す。
【００４３】
図３に関して説明したように、メモリ３３０の係数値及びシフトレジスタルックアップテーブル４２０のデータ値のアドレス指定が同期して実行されることで、フィルタの特定のタップ位置に対応するシフトレジスタルックアップテーブル４２０からデータが得られると、そのタップ位置に適切な係数がメモリ３３０から得られる。この同期は、例えば、一方ではメモリ３３０に、且つ他方ではシフトレジスタルックアップテーブル４２０にそれぞれのアドレス値を提供するマッピングテーブルなどを参照して、様々な方法で実現され得ることが理解されるであろう。
【００４４】
メモリ３３０、シフトレジスタルックアップテーブル４２０は、同じアドレス値がメモリ３３０の対応する値及びシフトレジスタルックアップテーブル４２０のデータ値を指すように構築され得ることがさらに理解されるであろう。
【００４５】
そのため、デジタルフィルタ３１０と、シフトレジスタルックアップテーブル４２０と、メモリ３３０とを含むプログラム可能なデジタル信号プロセッサ４００が設けられ、シフトレジスタルックアップテーブル４２０は、第１の動作モードでデジタルフィルタ３１０に入力データを提供するために結合され、フィルタメモリ３３０は、第１の動作モードでデジタルフィルタ３１０にフィルタ係数を提供するために結合され、フィルタメモリ３３０及びシフトレジスタルックアップテーブル４２０の出力は、所望のフィルタ構成を一緒に実装する対応するフィルタ係数及び入力データを生成するように同期されている。
【００４６】
図４は、同期を実現する１つの方法を提示し、それによりクロック入力３０２及びタップ数入力４４１を受信するカウンタ４４０が提供される。カウンタ４４０には、現在のカウント値を出力する出力がさらに設けられている。カウンタ４４０は、より全般的には、同期ステートマシンの一部又は全部を構成するものとして見なされ得る。カウント値は、アドレス値としてメモリ３３０及びシフトレジスタルックアップテーブル４２０に送給される。これに基づき、カウント値が増分したとき、連続するタップ位置に対応する連続する係数値が選択されるように、係数値がメモリ３３０に連続した位置でロードされる。同じ理由で、カウント値が増分したとき、連続するタップ位置に対応するシフトレジスタの連続するフリップフロップがマルチプレクサ４２５によって選択される。それに応じて、カウント値は、メモリ３３０及びシフトレジスタルックアップテーブル４２０を同期してアドレス指定する役割を果たす。カウンタは、タップ数のカウント（実装の詳細に応じて、シフトレジスタルックアップテーブル４２０のフリップフロップの数までの任意の数であり得る）に達すると、カウントを再度開始するように構成されている。特定の変形形態では、カウンタには、カウント値がタップ数入力に達すると、所定の値を出力するオーバーフロー出力が設けられ得る。この出力を使用して、例えば以下でさらに詳細に説明するように、複数のプログラム可能なデジタル信号プロセッサの動作を調整し得る。
【００４７】
示されているように、図４の配置では、マルチプレクサ４２５は、２つのサブマルチプレクサ４２５ａ及び４２５ｂとして実装され、それぞれシフトレジスタ３２１〜３２４の出力の一部を受信している。各サブマルチプレクサ４２５ａ及び４２５ｂがシフトレジスタ３２１〜３２４の出力の半分を受信し得るか、又は他の何らかの方法でシフトレジスタ３２１〜３２４の出力を２つのサブマルチプレクサ間で分割し得る。２つのサブマルチプレクサ４２５ａ及び４２５ｂの出力は、それ自体が第３のサブマルチプレクサ４３５ｃによって選択されることで、３つのサブマルチプレクサ４２５ａ、４２５ｂ、４２５ｃが図３のマルチプレクサ３２５と論理的に均等であるようにしている。フリップフロップ３２２とフリップフロップ３２３との間に示されているように、シフトレジスタの出力が一方の又はもう一方のサブマルチプレクサに送信される点に対応するシフトレジスタ３２１〜３２４内の点にさらなるマルチプレクサ４２６が設けられている。ある選択値の場合、マルチプレクサ４２６は、フリップフロップ３２３の入力をフリップフロップ３２２の出力に結合して、動作中に単一のシフトレジスタを維持するようにする。別の選択値の場合、マルチプレクサ４２６は、例えば、以下で図７を参照して説明するように、２つの別個のシフトレジスタを提供するように、代替入力を優先してフリップフロップ３２３の入力をフリップフロップ３２２の出力から減結合する。
【００４８】
示されているように、図４のフィルタ３１０は、上記で論じたようなアキュムレータ４０５をさらに含み、それは、フィルタ３１０からの連続した出力を蓄積するために設けられ得る。これは、例えば、完全有限インパルス応答フィルタが、上記で示したようなそれぞれのデータ値及び係数値を使用して得られたように、それぞれのタップ位置ごとにフィルタ３１０によって出力された値を蓄積することにより実装され得ることを意味する。
【００４９】
そのため、プログラム可能なデジタル信号プロセッサは、シフトレジスタルックアップテーブルにアドレス値を提供するステートマシン４４０と、第１の動作モードで単一のアドレスが対応する係数及びデジタルフィルタの入力データを参照するメモリとをさらに含み得る。
【００５０】
特定の実施形態では、図３又は図４に関して説明したものなどのＤＳＰモジュールは、ＦＰＧＡアーキテクチャでＤＳＰブロックとして実装され得る。各ＤＳＰブロックは、図３又は図４に関して説明したものなどの１つ又は複数のＤＳＰモジュールを含み得る。各ＦＰＧＡは、ＦＰＧＡアーキテクチャの汎用的な使用目的に応じて、任意の数のＤＳＰブロックだけでなく、標準的な論理ブロック及び他のタイプのブロックも含み得る。そのため、デジタル信号プロセッサは、複数のルックアップテーブルを含むＦＰＧＡアーキテクチャで実装することができ、各ルックアップテーブルの構成は、システム起動時に構成ビットストリームを用いてプログラムされた１つ又は複数のそれぞれのメモリユニットによって定義され、フィルタメモリ内の値も構成ビットストリームによってプログラムされる。
【００５１】
図５は、一実施形態による有限インパルス応答フィルタの並列実装を提示する。
【００５２】
半並列実装に基づくＦＩＲフィルタは、例えば、図３又は図４を参照して説明したように、タップの数が、単一のＤＳＰモジュールによって提供されるタップの数よりも大きい状況又は１サンプリングサイクル当たり数個のタップを計算するように構成された複数のＤＳＰモジュールによって周波数要件をより適切に満たすことができる状況において使用され得る。
【００５３】
例として、３つのＤＳＰを有する１２タップのフィルタが使用される場合、以下の分解が当てはまり得る。
【数１】
2021530138.tif 000003
式中、ｎは、各タップの指数であり、
Ｃｎは、各タップｎの係数であり、
Ｘｎは、各タップｎにおけるデータ値である。
【００５４】
各サブタームは、同じ構造を示し、３つのカスケード接続されたＤＳＰのシーケンスを使用して実装可能であることを認識し得る（サブタームは、４つの積の加算である）。
【００５５】
これに基づき、図５に示されているように、例えば図３又は図４を参照して上記で説明したものに対応する第１のＤＳＰモジュール５１０と、例えば図３又は図４を参照して上記で説明したものに対応する第２のＤＳＰモジュール５２０と、例えば図３又は図４を参照して上記で説明したものに対応する第３のＤＳＰモジュール５３０とが設けられている。ＤＳＰモジュール５１０、５２０、５３０は、同期素子と、シフトレジスタルックアップテーブル素子と、メモリ素子と、さらにフィルタ素子の乗算器及び加算器とをそれぞれ含んで概略的に示されている。
【００５６】
これらの３つのＤＳＰモジュールは、それぞれ例えば図４の素子４００を参照して説明したようなＦＩＲフィルタとして構成されている。３つのＤＳＰモジュールは、それぞれシステム全体によって実装されるフィルタの合計タップの連続したサブセットを取り扱うように構成されているため、３つのＤＳＰモジュールのすべてにわたって実装されたタップの合計数が最終フィルタのタップの数である。
【００５７】
第１のＤＳＰモジュール５１０は、データ入力５１３を受信する。この同じデータが入力５２３で第１のＤＳＰモジュールのシフトレジスタルックアップテーブルの出力から第２のＤＳＰモジュール５２０に、且つ入力５３３で第２のＤＳＰモジュールのシフトレジスタルックアップテーブルの出力から第３のＤＳＰモジュール５３０に送給されることで、それぞれのＤＳＰモジュールのシフトレジスタルックアップテーブルが遅延ラインを構成するため、第２のＤＳＰモジュール５２０は、第１のＤＳＰモジュール５１０のｎサイクル後にデータを受信し、第３のＤＳＰモジュール５２０は、第１のＤＳＰモジュール５１０の２ｎサイクル後にデータを受信する。
【００５８】
同様に、第１のＤＳＰモジュール５１０は、同期信号５１５を受信する。対応する同期信号５２５が第２のＤＳＰモジュール５２０に、且つ対応する同期信号５３５が第３のＤＳＰモジュール５３０に、フリップフロップ５１６及び５２６によって表される遅延ラインを介して送給されるため、第２のＤＳＰモジュール５２０は、第１のＤＳＰモジュール５１０の１サイクル後に有効になり、第３のＤＳＰモジュール５２０は、第１のＤＳＰモジュール５１０の２サイクル後に有効になる。第１のＤＳＰモジュール５１０の出力及び第２のＤＳＰモジュール５２０の出力は、第２のＤＳＰモジュールの加算器５２１で合算され、加算器５２１の出力及び第３のＤＳＰモジュール５３１の出力は、第３のＤＳＰモジュールの加算器５３１で合算される。加算器５３１の出力は、モジュール５４０による完全なフィルタ処理サイクルの全体を通して蓄積され、これは、上記で論じたように、図４を参照して説明したような素子４０５など、さらなるＤＳＰモジュールの蓄積ユニットを使用して実装され得る。
【００５９】
このアプローチにより、適切な係数及び同期信号を提供することにより、適切な数の上記ＤＳＰモジュールを接続することによって任意のサイズのＦＩＲを実装することができる。任意の所望の数のＤＳＰモジュールをこの方法で接続し得ることが理解されるであろう。
【００６０】
図６は、一実施形態による無限インパルス応答フィルタの並列実装を提示する。
【００６１】
ＩＩＲフィルタを記述する一般式は、以下の通りである。
【数２】
2021530138.tif 000004
数式は、Ａ０＝１を使用して単純化され得る。第１の和は、ＮｂタップのＦＩＲフィルタを定義する。このＦＩＲフィルタは、サンプリング入力に適用可能である。第２の和は、ＮａタップのＦＩＲフィルタを定義する。このＦＩＲフィルタは、ＩＩＲフィルタ出力に適用可能である。これは、フィルタのフィードバックループである。
【００６２】
これに基づき、図６に示されているように、例えば図３又は図４を参照して上記で説明したものに対応する第１のＤＳＰモジュール６１０と、例えば図３又は図４を参照して上記で説明したものに対応する第２のＤＳＰモジュール６２０と、例えば図３又は図４を参照して上記で説明したものに対応する第３のＤＳＰモジュール６３０とが設けられている。
【００６３】
これらの３つのＤＳＰモジュールの２つ、６１０及び６３０は、例えば、図４の素子４００を参照して説明したようなＦＩＲフィルタとして構成されている。
【００６４】
具体的には、第１のＤＳＰモジュール６１０は、ＮｂタップのＦＩＲフィルタを定義する。このＦＩＲフィルタは、サンプリング入力６０１に適用可能である。第３のＤＳＰモジュール６３０は、ＮａタップのＦＩＲフィルタを定義する。このＦＩＲフィルタは、ＩＩＲフィルタ出力に適用可能である。これは、フィルタのフィードバックループである。ＦＩＲフィルタは、１サンプリングサイクル当たり１つの結果を生成するのに十分な速度で動作するため、両方の結果を同期して蓄積することが可能である。両方のフィルタが完全に登録されるが、サンプリング周波数よりもはるかに高い周波数で作動しているため、１回のサンプリングサイクルで最終結果を得ることができる。フィルタが大きいほど、クロック比は、最大のフィルタのタップの数に直接関係するため、ＩＩＲフィルタは、効率が低下する。フィルタ同期を簡単に解決するために、本実施形態では以下の制約が適用される。
【００６５】
第１のＤＳＰモジュール６１０によって実装された直接ＦＩＲサブフィルタは、すべての構成で同じパイプライン遅延を付与するように、例えば図４を参照して説明したような単一のＤＳＰアプローチを使用して、単一のＤＳＰモジュールで実装可能なタップの数に制限される。
【００６６】
第３のＤＳＰモジュール６３０によって実装されたループバックＦＩＲサブフィルタは、第１のＤＳＰモジュール６１０のタップの半分の数に制限され、また例えば図４を参照して説明したような単一のＤＳＰアプローチを使用して実装される。第１のＤＳＰモジュール６１０の単一のサンプリング周期の間に結果を生成するのに十分な速度で第３のＤＳＰモジュール６３０を動作させるには、第１のＤＳＰモジュール６１０の４倍の速度で第３のＤＳＰモジュール６３０を動作させることが必要である。これは、０定数を有するインタリーブ係数を用いてこのフィルタを実装することによって実現され得る。インタリーブアプローチは、１６タップの制限を説明する。
【００６７】
サブフィルタの合算及び同期は、シフトレジスタルックアップテーブル及びＡＬＵを使用して第２のＤＳＰモジュール６２０で実行される。
【００６８】
第２のＤＳＰモジュール６２０は、信号を同期させる根拠として、第１のＤＳＰモジュール及び第３のＤＳＰモジュールからそれぞれ係数オーバーフロー表示４４２を受信するレジスタ６５１及びレジスタ６５２からタイミング情報を受信する。ＤＳＰモジュール６１０及び６３０からの結果の同期には、ＤＳＰモジュール６１０と同じ深さを得るために、モジュール６１０の出力に遅延ラインを設けること（タップの数ＮとＮ／２との差の補正）が必要である。これは、ＤＳＰ構成に不十分な専用レジスタがある第２の動作モードにおいて、ＤＳＰモジュール６２０のシフトレジスタルックアップテーブルを使用して行われ得る。レジスタの具体的な数は、実装の詳細によって決まるが、例として、２＊３＝６個のフリップフロップの他の信号のように、３レベルのパイプが必要であり、ＤＳＰ回路が２つのみを提供する場合、追加分のレベルは、さらなるＤＳＰモジュールのシフトレジスタルックアップテーブルによって提供され得る。
【００６９】
したがって、デジタルフィルタは、フィードバック構成において、第１の有限インパルス応答と、第２の有限インパルス応答とを含む無限インパルス応答フィルタであり得、ステートマシンは、第１の有限インパルス応答及び第２の有限のインパルス応答の出力の組み合わせを調整する同期信号を提供して、無限インパルス応答フィルタを実装する。
【００７０】
先の例では、例えば図３又は図４に関して説明したようなＤＳＰモジュールに基づく複数の異なる構成を提示してきた。これらのいくつかでは、個々のＤＳＰモジュールは、モジュール自体でのフィルタ動作の実装以外の目的よりもむしろ、提案されているシステムの他のＤＳＰモジュールに他の処理機能、記憶機能又は同期機能を提供するために使用されてきた。例えば、図３又は図４に関して説明したようなＤＳＰモジュールのコンポーネント及び構成並びに特に自由にアクセス可能なシフトレジスタルックアップテーブル３２０及びメモリユニット３３０が利用可能であることにより、そのようなフィルタユニットは、それぞれ順応性が高くなり、フィルタ動作の実装に加えて、多数の用途に適用可能になることが理解されるであろう。例えば、図３又は図４に関して説明したようなＤＳＰモジュールは、例えば、大きい数値、複素数値又は符号付き数値を取り扱うことが可能な乗算器、マルチプレクサ、シフトレジスタ等を実装するために使用され得る。
【００７１】
図７は、一実施形態によるフィルタを使用して実装された符号付き乗算器を示す。
【００７２】
図３又は図４を参照して説明したような一連の連結ＤＳＰモジュールを使用して、任意の所望サイズの乗算器を実装し得る。
【００７３】
４７×４７ビットの乗算器は、以下の分解に基づいて定義され得る。
Ａ［４６：０］×Ｂ［４６：０］＝を考察すると、
Ａ＝｛Ａ［４６：２３］，Ａ［２２：０］｝＝｛Ａ２，Ａ１｝
Ｂ＝｛Ｂ［４６：２３］，Ｂ［２２：０］｝＝｛Ｂ２，Ｂ１｝
Ａ×Ｂ＝｛Ａ２，Ａ１｝×｛Ｂ２，Ｂ１｝＝｛Ａ２×Ｂ２，Ａ１×Ｂ２＋Ａ２×Ｂ１，Ａ１×Ｂ１｝＝
＝｛Ｐ３＋（Ａ１×Ｂ２＋Ａ２×Ｂ１＋（Ａ１×Ｂ１）［４６，２３］）［４６，２３］，（Ａ１×Ｂ２＋Ａ２×Ｂ１＋（Ａ１×Ｂ１）［４６，２３］）［２２，０］，（Ａ１×Ｂ１）［２２，０］｝である。
【００７４】
前述において暗に示されているように、乗算器は、（本例における乗算器は、２４個の符号付きビットを取り扱い、１個のビットが廃棄され、２３個の符号付きビットが保持されることに基づいて）データを一方では２３個の最下位ビットのセットに、もう一方では２４個の最上位ビットのセットに分ける。対応する結果を次のそれぞれのＤＳＰモジュールで組み合わせることができるように、対応する最上位ビット及び最下位ビットのセットの処理間でシフトが操作される。
【００７５】
示されているように、システムは、図３又は図４に関して説明した配置にそれぞれが実質的に対応する４つのＤＳＰモジュール７１０、７２０、７３０、７４０を含む。特に、ＤＳＰモジュール７１０は、シフトレジスタルックアップテーブル７１１と、例えば図４のものに対応する同期ステートマシン７１３と、図３又は図４のフィルタユニットに一緒に対応する乗算器７１２及び加算器７１４とを含む。示されているように、シフトレジスタルックアップテーブル７１１のシフトレジスタは、上記で図４を参照して説明したような２つの部分からなる構成であり、入力Ａ１がシフトレジスタ７１１ａの第１の区分に送給され、第２の入力Ｂ１がシフトレジスタ７１１ｂの第１の区分に送給されている。シフトレジスタ７１１ａ、７１１ｂは、それぞれ乗算器７１２のそれぞれの入力にデータを送給する。乗算器７１２の出力は、加算器７１４を通して出力７１５に送給される。第１のＤＳＰモジュールの場合、加算器７１４は、乗算器の出力にゼロを加算するため、このコンポーネントを等しくバイパスすることができ、それは、本例では保持されて、提案されているアーキテクチャの順応性を実証することが理解されるであろう。
【００７６】
同様に、ＤＳＰモジュール７２０は、シフトレジスタルックアップテーブル７２１と、例えば図４のものに対応する同期ステートマシン７２３と、図３又は図４のフィルタユニットに一緒に対応する乗算器７２２及び加算器７２４とを含む。示されているように、シフトレジスタルックアップテーブル７２１のシフトレジスタは、上記で図４を参照して説明したような２つの部分からなる構成であり、例えばマルチプレクサ４２６の動作により、入力Ａ１がシフトレジスタ７２１ａの第１の区分に送給され、第２の入力Ｂ２がシフトレジスタ７２１ｂの第１の区分に送給されている。シフトレジスタ７２１ａ、７２１ｂは、それぞれ乗算器７２２のそれぞれの入力にデータを送給する。加算器７２４は、乗算器７２２の出力と、上記分解に従って最上位ビットと最下位ビットとの間のシフトによって決まる先行するＤＳＰモジュール７１０の出力７１５とを加算する。乗算器７２２の出力は、加算器７２４を通して出力７２５に送給される。
【００７７】
同様に、ＤＳＰモジュール７３０は、シフトレジスタルックアップテーブル７３１と、例えば図４のものに対応する同期ステートマシン７３３と、図３又は図４のフィルタユニットに一緒に対応する乗算器７３２及び加算器７３４とを含む。示されているように、シフトレジスタルックアップテーブル７３１のシフトレジスタは、上記で図４を参照して説明したような２つの部分からなる構成であり、入力Ａ２がシフトレジスタ７３１ａの第１の区分に送給され、第２の入力Ｂ１がシフトレジスタ７３１ｂの第１の区分に送給されている。シフトレジスタ７３１ａ、７３１ｂは、それぞれ乗算器７３２のそれぞれの入力にデータを送給する。加算器７３４は、乗算器７３２の出力と、先行するＤＳＰモジュール７２０の出力７２５とを加算する。乗算器７３２の出力は、加算器７３４を通して出力７３５に送給される。
【００７８】
同様に、ＤＳＰモジュール７４０は、シフトレジスタルックアップテーブル７４１と、例えば図４のものに対応する同期ステートマシン７４３と、図３又は図４のフィルタユニットに一緒に対応する乗算器７４２及び加算器７４４とを含む。示されているように、シフトレジスタルックアップテーブル７４１のシフトレジスタは、上記で図４を参照して説明したような２つの部分からなる構成であり、入力Ａ２がシフトレジスタ７４１ａの第１の区分に送給され、第２の入力Ｂ２がシフトレジスタ７４１ｂの第１の区分に送給されている。シフトレジスタ７４１ａ、７４１ｂは、それぞれ乗算器７４２のそれぞれの入力にデータを送給する。加算器７４４は、乗算器７４２の出力と、上記分解に従って最上位ビットと最下位ビットとの間のシフトによって決まる先行するＤＳＰモジュール７３０の出力７３５とを加算する。乗算器７４２の出力は、加算器７４４を通して出力７４５に送給される。
【００７９】
出力７１５で適切にタイミングを補正すれば、出力成分Ｐ［２２：０］が利用可能である。出力７３５で適切にタイミングを補正すれば、出力成分Ｐ［４５：２３］が利用可能である。出力７４５で適切にタイミングを補正すれば、出力成分Ｐ［９３：４６］が利用可能である。
【００８０】
それぞれのシフトレジスタ７１１ａ、７１１ｂ、７２１ａ、７２１ｂ、７３１ａ、７３１ｂ、７４１ａ、７４１ｂは、上述したように、説明した構成で使用されて、乗算器全体にわたって信号の同期を提供するため、任意の所与のクロックサイクルにおける各出力の値は、入力値Ａ１、Ｂ１、Ａ２及びＢ２の同じセットに対応する。例として、シフトレジスタ、７１１ａ、７１１ｂは、それぞれの信号に１つのフリップフロップに相当する遅延をそれぞれ提供することができ、シフトレジスタ７２１ａ、７２１ｂは、それぞれの信号に２つのフリップフロップに相当する遅延をそれぞれ提供することができ、シフトレジスタ７３１ａ、７３１ｂは、それぞれの信号に３つのフリップフロップに相当する遅延をそれぞれ提供することができ、シフトレジスタ７４１ａ、７４１ｂは、それぞれの信号に４つのフリップフロップに相当する遅延をそれぞれ提供することができる。いくつかの実施形態では、ＤＳＰユニットは、特にこの目的のために複数の入力レジスタを提供することができ、それらは、シフトレジスタルックアップテーブルのシフトレジスタの代わりに又はシフトレジスタルックアップテーブルのシフトレジスタとともに使用することができる。例えば、特定のＤＳＰユニットの実装が２つの入力レジスタを提供する場合、第１のＤＳＰユニット及び第２のＤＳＰユニットは、同期のために、これらの専用の入力レジスタのみに依存し得る一方、第３のレジスタ及び第４のレジスタの場合、２つのレベルの遅延に専用の入力レジスタを使用し、次にシフトレジスタルックアップテーブルのシフトレジスタを使用して、第３のＤＳＰモジュールに必要な１つの追加のレベルの遅延及び第４のＤＳＰモジュールに必要な２つのレベルの遅延を提供することができる。さらに、これに基づき、遅延動作は、利用可能な専用の入力リレーに応じて、各ＤＳＰモジュールのＡ入力及びＢ入力で取り扱い方が異なり得る。
【００８１】
示されているように、各ＤＳＰモジュールは、同期目的で乗算器７１２、７２２、７３２、７４２と、加算器７１４、７２４、７３４、７４４との間及び加算器７１４、７２４、７３４、７４４と、出力７１５、７２５、７３５、７４５との間に追加のリレーを提供する。これらのリレーの一部又はすべては、特定の実施形態の実装の詳細に応じて省略され得るか、又は所与の実装のアプリケーション要件に応じて追加のリレーが提供され得る。
【００８２】
ＤＳＰユニットのＳＲＬを使用して乗算計算のタイミングに必要な追加分のレジスタをシミュレートすることは、図３又は図４を参照して説明したようなＤＳＰモジュールの第２の動作モードにおける使用例となる。
【００８３】
図７に関して示されているこの第２の動作モードでは、ＤＳＰモジュールのシフトレジスタルックアップテーブルは、乗算器の入力レジスタとして使用される。
【００８４】
したがって、乗算器及び加算器を含むフィルタユニットを含む、順応性のあるデジタル信号プロセッサモジュールが開示され、乗算器は、メモリ及びシフトレジスタルックアップテーブルから入力を受信する。デジタル信号プロセッサモジュールは、メモリからの適切なフィルタ係数及びシフトレジスタルックアップテーブルからのデータ値を提供することにより、ＦＩＲ又はＩＩＲフィルタなどのデジタルフィルタを実装し得る。任意選択的なステートマシンは、メモリ、シフトレジスタルックアップテーブルのアドレス指定の同期及び特定のフィルタの実装に必要な場合、デジタル信号プロセッサモジュールの複数のインスタンス間の同期を確実にし得る。提案されているアーキテクチャは、フィルタ実装以外の動作がサポートされる追加の動作モードを提供する。
【００８５】
これに基づき、第２の動作モードでは、シフトレジスタルックアップテーブルに格納された値は、デジタルフィルタによる以外の処理のために出力される。
【００８６】
図８は、一実施形態によるデジタル信号プロセッサ動作を実行する方法を提示する。
【００８７】
示されているように、この方法は、ステップ８００から始まり、その後、ステップ８１０に進み、そこで、第１の動作モードでデジタル信号プロセッサにデータを出力するように、シフトレジスタルックアップテーブルがアドレス指定される。次に、方法は、ステップ８２０に進み、そこで、第１の動作モードでデジタルフィルタに係数を提供するように、フィルタメモリがアドレス指定される。次に、方法は、係数を使用して入力データにデジタルフィルタ動作を実行するステップ８３０に進み、その後、ステップ８４０で終了する。
【００８８】
図８の方法は、デジタルフィルタを定義する複数の係数のそれぞれに対して反復して実行し得る。
【００８９】
ステップ８１０及び８２０は、逆の順番において、すなわちステップ８１０前にステップ８２０として実行され得るか、又は２つは、並列して実行され得る。
【００９０】
方法は、単一のアドレス値が第１の動作モードでデジタルフィルタの対応する係数及び入力データを参照するようにシフトレジスタルックアップテーブル及びフィルタメモリを構築するさらなるステップを含み得、それにより、第１の動作モードでデジタル信号プロセッサにデータを出力するようにシフトレジスタルックアップテーブルをアドレス指定するステップと、第１の動作モードでデジタルフィルタに係数を提供するようにフィルタメモリをアドレス指定するステップとは、こうした単一のアドレス値を使用して実行される。
【００９１】
図８の方法の特定の事例では、デジタルフィルタ動作は、有限インパルス応答フィルタ動作であり得る。
【００９２】
図８の方法の特定の事例では、デジタルフィルタ動作は、フィードバック値に基づく第１の有限インパルス応答動作及び第２の有限インパルス応答動作を含む無限インパルス応答フィルタ動作であり得、方法は、無限インパルス応答フィルタの結果を得るために、第１の有限インパルス応答動作及び第２の有限インパルス応答動作の結果の組み合わせを調整する許可信号を提供するさらなるステップを含む。
【００９３】
いくつかの実施形態では、本明細書に記載の方法及びプロセスは、コンピューティングデバイスによって全体的に又は部分的に実装することができる。これらの方法及びプロセスは、コンピュータアプリケーションプログラム又はサービス、アプリケーションプログラミングインタフェース（ＡＰＩ）、ライブラリ及び／若しくは他のコンピュータプログラム製品又はそのようなエンティティの任意の組み合わせによって実装することができる。特に、上述した図８の方法のステップ又はその変形形態のいずれかを実装するように適合された命令を含む、コンピュータのためのプログラムが提供され得る。
【００９４】
本明細書に記載の構成及び／又はアプローチは、例示的な性質のものであり、多くの変形形態が可能であるため、これらの具体的な実施形態又は例は、限定の意味で解釈されるべきではないことが理解されるであろう。本明細書に記載の具体的なルーチン又は方法は、任意の数の処理戦略の１つ又は複数を表すことができる。そのため、図示及び／又は説明した様々な行為は、図示及び／又は説明した順序で、他の順序で、並列に又は省略されて実行され得る。同様に、上述したプロセスの順番を変更し得る。
【００９５】
本開示の主題は、本明細書に開示される様々なプロセス、システム及び構成並びに他の特徴、機能、行為及び／又は特性のすべての新規で非自明の組み合わせ及び部分的組み合わせに加えて、そのあらゆる均等物を含む。
【図１】
2021530138.tif 000005
【図２】
2021530138.tif 000006
【図３】
2021530138.tif 000007
【図４】
2021530138.tif 000008
【図５】
2021530138.tif 000009
【図６】
2021530138.tif 000010
【図７】
2021530138.tif 000011
【図８】
2021530138.tif 000012
【国際調査報告】
2021530138.tif 000013
2021530138.tif 000014