(57)【要約】　　　（修正有）【課題】少なくとも１つのフィルタ構成要素を一緒に配線することにより少なくとも１つのフィルタ設計を実現することができるプログラム可能な回路デバイス上でレンダリングされるフィルタを設計するための装置を提供すること。【解決手段】設計ツール３０は、フィルタ設計をレンダリングするための少なくとも１つのサブ回路定義を含み、プログラム可能な回路デバイスに対する少なくとも１つのサブ回路定義により、フィルタ設計の複数の構成、トポロジー、パラメータのうちの少なくとも１つを定義するための情報を含むプログラム可能な計算デバイスで実施されるコンピュータ・プログラム・コードを備える。ユーザ・インタフェース３４は、ユーザが、入力パラメータを選択し、それをフィルタ設計に適用し、フィルタ・レスポンス、必要な極、およびサブ回路パラメータの評価のうちの少なくとも１つの表示を動的に受信できるように構成されている。【選択図】図１
2004133912.tif 000002
【特許請求の範囲】
【請求項１】
　少なくとも１つのフィルタ構成要素を一緒に配線することにより少なくとも１つのフィルタ設計を実現することができるプログラム可能な回路デバイス上で、レンダリングされるフィルタを設計するための装置であって、
　プログラム可能な計算デバイスと、
　前記プログラム可能な計算デバイスに関連するユーザ・インタフェースと、
　プログラム可能な計算デバイスに関連していて、前記ユーザ・インタフェースのところでユーザと相互作用を行うように構成されていて、フィルタ設計をレンダリングするための少なくとも１つのサブ回路定義を含み、プログラム可能な回路デバイスに対する前記少なくとも１つのサブ回路定義により、前記フィルタ設計の複数の構成、トポロジー、およびパラメータのうちの少なくとも１つを定義するための情報を含む、前記プログラム可能な計算デバイスで実施されるコンピュータ・プログラム・コードを備える設計ツールとを備え、
　前記ユーザ・インタフェースが、ユーザが、前記フィルタ設計に対する入力パラメータを選択し、適用することができ、フィルタ・レスポンス、必要な極、およびサブ回路パラメータの評価のうちの少なくとも１つの表示を動的に受信することができるように構成されていて、そのため、ユーザが、必要なフィルタ設計に対する入力パラメータを最適化することができる装置。
【請求項２】
　前記ユーザ・インタフェースが、ユーザがフィルタ仕様を選択し、それをフィルタ設計ソフトウェア内に適用することができるように構成されている、請求項１に記載の装置。
【請求項３】
　前記ユーザ・インタフェースが、ユーザが前記フィルタ設計のボード線図フィルタ性能予測をチェックすることができるように構成されている、請求項１に記載の装置。
【請求項４】
　前記ユーザ・インタフェースが、ユーザが前記ボード線図に対する少なくとも１つの定義パラメータを変更することができるように構成されている、請求項３に記載の装置。
【請求項５】
　前記ユーザ・インタフェースが、ユーザが前記変更したボード線図を表示することができるように構成されている、請求項４に記載の装置。
【請求項６】
　１つの定義パラメータがリップルを含む、請求項４に記載の装置。
【請求項７】
　１つの定義パラメータが全利得を含む、請求項４に記載の装置。
【請求項８】
　１つの定義パラメータがコーナー周波数を含む、請求項４に記載の装置。
【請求項９】
　１つの定義パラメータがフィルタ・レスポンスを含む、請求項４に記載の装置。
【請求項１０】
　１つの定義パラメータがストップ周波数を含む、請求項４に記載の装置。
【請求項１１】
　１つの定義パラメータが減衰を含む、請求項４に記載の装置。
【請求項１２】
　前記定義パラメータが、ボード線図上のパラメータ・ラインに対応し、ユーザが、前記フィルタ設計に新しい入力パラメータを適用するために、前記ボード線図の必要な位置に前記パラメータ・ラインをドラッグする、請求項４に記載の装置。
【請求項１３】
　前記ユーザ・インタフェースにより、ユーザが、前記パラメータ・ラインおよび前記ボード線図を動的に表示することができる、請求項１２に記載の装置。
【請求項１４】
　前記パラメータ・ラインが、ＣＡＭパラメータ制限に対応する、請求項１２に記載の装置。
【請求項１５】
　プログラム可能な回路デバイスにより回路を設計するための方法であって、
　プログラム可能なコンピュータに、フィルタ回路構成要素のためのユーザ・インタフェース定義、設計ツール定義、およびサブ回路定義を供給するステップと、
　前記プログラム可能なコンピュータと前記ユーザ・インタフェースによりフィルタ設計予測を生成するステップと、
　前記ユーザ・インタフェースを通して、前記フィルタ性能予測に１つまたはそれ以上の入力パラメータを適用するステップと、
　入力パラメータの変更に応じて、フィルタ・レスポンス、必要な極、およびサブ回路パラメータの評価のうちの少なくとも１つを表示するステップとを含む方法。
【請求項１６】
　前記ユーザ・インタフェースにより、前記プログラム可能なコンピュータにフィルタ仕様およびフィルタ・パラメータのうちの一方を入力するステップをさらに含む、請求項１５に記載の方法。
【請求項１７】
　前記フィルタ・パラメータが、構成可能なアナログ・モジュール（ＣＡＭ）パラメータ制限を含む、請求項１６に記載の方法。
【請求項１８】
　複数の構成可能なアナログ・モジュールが、前記フィルタ性能予測に基づいて、フィルタ設計を供給するために前記ユーザ・インタフェースを通して一緒に配線されている、請求項１７に記載の方法。
【請求項１９】
　適用するステップが、前記入力パラメータを適用するために、前記ユーザ・インタフェースを通して相互作用計算ドラッグ・アンド・ドロップ技術を実施するステップを含む、請求項１５に記載の方法。
【請求項２０】
　前記実施ステップが、少なくとも１つの入力パラメータを修正するステップを含む、請求項１９に記載の方法。
【請求項２１】
　少なくとも１つの入力パラメータの修正に応じて、ボード線図を生成するステップをさらに含む、請求項２０に記載の方法。
【請求項２２】
　少なくとも１つの入力パラメータの修正に応じて生成されたボード線図を観察するステップをさらに含む、請求項２１に記載の方法。
【請求項２３】
　修正および生成がほぼ同じ時間に行われる、請求項２２に記載の方法。
【請求項２４】
　回路近似を合成する方法であって、
　前記プログラム可能な計算デバイスに関連していて、前記ユーザ・インタフェースを通して、ユーザと相互作用を行うように構成されているユーザ・インタフェース、プログラム可能な計算デバイス、および回路設計ツールをユーザに供給するステップと、
　合成する回路のタイプを選択するステップと、
　回路の近似を選択するステップと、
　少なくとも一部は、回路パラメータに基づいて、前記設計ツールおよびプログラム可能な計算デバイスを通して回路性能予測をレンダリングするステップと、
　前記回路パラメータを調整するために、前記ユーザ・インタフェースを通して前記回路性能予測と動的に相互作用を行うステップとを含む方法。
【請求項２５】
　回路のタイプを選択するステップがフィルタのタイプを選択するステップを含み、回路近似を選択するステップが、フィルタ近似を選択するステップを含み、レンダリング・ステップがフィルタ性能予測をレンダリングするステップを含む、請求項２４に記載の方法。
【請求項２６】
　前記フィルタ性能予測が、フィルタ仕様およびフィルタ・パラメータのうちの少なくとも一方と相関づけられる、請求項２５に記載の方法。
【請求項２７】
　前記設計ツールに、前記ユーザ・インタフェースを通して、前記フィルタ仕様および前記フィルタ・パラメータのうちの少なくとも一方に対する必要な値を入力するステップをさらに含む、請求項２６に記載の方法。
【請求項２８】
　前記回路性能予測と動的に相互作用を行うステップが、前記必要な値の入力から得られる新しいフィルタ性能予測の性能を観察するステップを含む、請求項２７に記載の方法。
【請求項２９】
　必要な値を入力するステップが、前記フィルタ性能予測のボード線図上で、必要な値にフィルタ・パラメータ・ラインをドラッグするステップを含む、請求項２７に記載の方法。
【請求項３０】
　前記フィルタ・パラメータ・ラインが、前記フィルタ性能予測に対する前記ボード線図上のリップル、全利得、コーナー周波数、フィルタ・レスポンス、ストップ周波数、および減衰のうちの少なくとも１つに対応する、請求項２９に記載の方法。
【請求項３１】
　前記フィルタ仕様が、複雑な極−ゼロ面の図形的表示である、請求項２７に記載の方法。
【請求項３２】
　前記回路性能予測と動的に相互作用を行うステップが、前記極および図形的表示のゼロのうちの少なくとも一方の位置をドラッグするステップと、結果として得られるフィルタ性能予測を観察するステップとを含む、請求項３１に記載の方法。
【請求項３３】
　前記結果として得られるフィルタ性能予測が、複雑な極−ゼロ面の図形的表示の他に、ボード線図およびステップ応答プロットのうちの少なくとも一方を含む、請求項３２に記載の方法。
【請求項３４】
　前記フィルタ・パラメータが、時間領域内に表示されるステップ・レスポンスである、請求項２７に記載の方法。
【請求項３５】
　前記回路性能予測と動的に相互作用を行うステップが、前記ステップ・レスポンス・プロット上で、フィルタ・パラメータ・ラインをドラッグするステップを含む、請求項３４に記載の方法。
【請求項３６】
　前記ステップ・レスポンス・プロット上で新しい位置に前記フィルタ・パラメータ・ラインをドラッグするステップが、立上がり時間、設定時間、旋回速度、減衰速度、およびオーバシュートのうちの少なくとも１つの必要な制限を定義するラインの位置を操作するステップを含む、請求項３５に記載の方法。
【請求項３７】
　フィルタのタイプが、低域フィルタ、高域フィルタ、帯域フィルタ、および帯域消去フィルタのうちの１つを含む、請求項２５に記載の方法。
【請求項３８】
　前記フィルタ近似が、バタワース近似、チェビシェフ近似、逆チェビシェフ近似、楕円近似、およびベッセル近似のうちの１つを含む、請求項２５に記載の方法。
【請求項３９】
　前記回路パラメータが、クロック制御システムのナイキスト制限の図形的表示である、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、プログラム可能なまた構成可能なデバイスに関する。より詳細には、本発明は、フィルタの特性を構成できるようにするユーザ・インタフェースによるフィルタ回路設計に関する。
【背景技術】
【０００２】
（関連出願への相互参照）
　本出願は、引用によって本明細書の記載に援用する、２００２年８月２９日出願の米国仮特許出願番号６０／４０７，２６５の優先権を主張する。
【０００３】
　従来のフィルタ設計は、バッチ・プロセスであり、一組の仕様が定義され、フィルタ・レスポンスの式を得るために、これらの仕様に基づいて計算が行われた。次に、実際の構成要素の値を得るために、フィルタ・レスポンスの式が使用された。別の方法としては、スイッチドキャパシタを実現する際に、フィルタの各段のパラメータのセットを得るために、フィルタ・レスポンスの式を使用する方法がある。
【０００４】
　この設計式は、複雑なものであり、使用するのに時間が掛かるものである。構成要素が制限されているために、多くのフィルタ設計が実現できないでいる。このような場合、新しい仕様で再度設計しなければならない。
【０００５】
　現在入手することができるフィルタ設計ソフトウェア（カナダのブリティッシュ・コロンビア、スーク所在のＳｃｈｅｍａｔｉｃｓ　Ｓｏｆｔｗａｒｅ社のＦｉｌｔｅｒ　Ｗｉｚ　Ｐｒｏ、およびオレゴン州ウィルソンビル所在のＭｅｎｔｏｒ　Ｇｒａｐｈｉｃｓ社のＦｉｌｔｅｒ　Ｌａｂなど）は、計算を自動的に行い、フィルタ・レスポンスのグラフを表示するが、「実行」の度に入力を行わなければならない、コンピュータ端末へのユーザの入力に基づいて、一度に１つのステップを実行する本質的には「バッチ」動作である。手動計算、計算尺、または計算機を使用する場合のように、これらの方法によるフィルタ設計に対しては、同じステップが依然として必要である。式を解くスピードと、情報入力を容易に行えるようになったこと、および結果の表示だけが変わっただけである。問題を解くために、コンピュータが出現する前に行われていた方法と比較すると、結果は、すばらしく改善されたが、設計者が行う方法は本質的には変わっていない。
【特許文献１】米国仮特許出願番号６０／４０７，２６５
【非特許文献１】１９７６年　ニューヨーク所在のＪｏｈｎ　Ｗｉｌｅｙ　＆　Ｓｏｎｓ発行の、Ｇｏｂｉｎｄ　Ｄａｒｙａｎａｎｉのテキストブック「能動ネットワーク合成および設計の原理」（Ｐｒｉｎｃｉｐｌｅｓ　ｏｆ　Ａｃｔｉｖｅ　Ｎｅｔｗｏｒｋ　Ｓｙｎｔｈｅｓｉｓ　ａｎｄ　Ｄｅｓｉｇｎ）の第３章「フィルタ・コンセプト入門」、および第４章「近似問題」に記載の記事
【非特許文献２】１９８２年　Ｈｏｌｔ，Ｒｉｎｅｈａｒｔ　ａｎｄ　Ｗｉｎｓｔｏｎ，Ｉｎｃ．社発行の、Ｕｒｂａｎａ−Ｃｈａｍｐａｉｇｎ所在の、Ｄｅｐａｒｔｍｅｎｔ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　Ｅｎｇｉｎｅｅｒｉｎｇ　ａｔ　ｔｈｅ　Ｕｎｉｖｅｒｓｉｔｙ　ｏｆ　ＩｌｌｉｎｏｉｓのＭ．Ｅ．Ｖａｎ　Ｖａｌｋｅｎｂｕｒｇのテキストブック「アナログ・フィルタ設計」（Ａｎａｌｏｇ　Ｆｉｌｔｅｒ　Ｄｅｓｉｇｎ）の第６章「バタワース低域フィルタ」に記載の記事
【非特許文献３】１９９６年　Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ　ＰＴＲ、Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，Ｉｎｃ．発行の、Ｄｅｐａｒｔｍｅｎｔ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　Ｅｎｇｉｎｅｅｒｉｎｇ　ａｔ　Ｏｈｉｏ　Ｎｏｒｔｈｅｒｎ　Ｕｎｉｖｅｒｓｉｔｙの、Ｌｅｓ　Ｔｈｅｄｅのテキストブック「Ｃを使用するアナログおよびデジタル・フィルタ設計」（Ａｎａｌｏｇ　ａｎｄ　Ｄｉｇｉｔａｌ　Ｆｉｌｔｅｒ　Ｄｅｓｉｇｎ　Ｕｓｉｎｇ　Ｃ）の第４章「アナログ周波数レスポンス計算および表示」（Ａｎａｌｏｇ　Ｆｒｅｑｕｅｎｃｙ　Ｒｅｓｐｏｎｓｅ　Ｃａｌｃｕｌａｔｉｏｎ　ａｎｄ　Ｄｉｓｐｌａｙ）に記載の記事
【発明の開示】
【発明が解決しようとする課題】
【０００６】
　それ故、フィルタ設計を行う設計者が、フィルタ・パラメータを次から次へと変更する場合に、フィルタ設計実現に対する結果を迅速に簡単に見ることができるようにするために改善を行う必要がある。
【課題を解決するための手段】
【０００７】
　本発明は、ユーザが見ることができるレンダリングされる回路性能予測により、回路実現を合成するための装置および方法を提供するので、ユーザは、パラメータを変更するために回路性能予測と相互に作用することができ、それに応じて、更新した回路性能予測を見ることができる。ある場合には、回路の実現は、フィルタの実現である。
【０００８】
　ある態様によれば、本発明は、少なくとも１つのフィルタ構成要素を一緒に配線することにより少なくとも１つのフィルタ設計を実現することができるプログラム可能な回路デバイス上でレンダリングされるフィルタを設計するための装置を提供する。この装置は、プログラム可能な計算デバイスと、ユーザ・インタフェースと、設計ツールとを含む。ユーザ・インタフェースは、プログラム可能な計算デバイスに関連する。設計ツールは、プログラム可能な計算デバイスに関連していて、ユーザ・インタフェースのところでユーザと相互に作用するように構成される。設計ツールは、フィルタ設計をレンダリングするための少なくとも１つのサブ回路定義を含み、プログラム可能な回路デバイスに対する少なくとも１つのサブ回路定義により、フィルタ設計の複数の構成、トポロジー、パラメータのうちの少なくとも１つを定義するための情報を含むプログラム可能な計算デバイスで実施されたコンピュータ・プログラム・コードを備える。ユーザ・インタフェースは、ユーザが、フィルタ設計への入力パラメータを選択し、適用することができ、また、フィルタ・レスポンス、必要な極およびサブ回路パラメータの評価のうちの少なくとも１つの表示を動的に受信することができるように構成される。そのため、ユーザは必要なフィルタ設計に対して入力パラメータを最適化することができる。
【０００９】
　他の態様によれば、本発明は、プログラム可能な回路デバイスにより回路を設計するための方法を提供する。上記方法は、プログラム可能なコンピュータに、フィルタ回路構成要素用のユーザ・インタフェース定義と、設計ツール定義と、サブ回路定義とを供給するステップと；プログラム可能なコンピュータとユーザ・インタフェースによりフィルタ性能予測を生成するステップと；ユーザ・インタフェースを通して、フィルタ性能予測に１つまたはそれ以上の入力パラメータを適用するステップと；入力パラメータの変更に応じて、フィルタ・レスポンスと、必要な極と、サブ回路パラメータの評価のうちの少なくとも１つとを表示するステップとを含む。
【００１０】
　さらに他の態様によれば、本発明は、回路近似を合成する方法を提供する。該方法は、プログラム可能な計算デバイスに関連していて、ユーザ・インタフェースを通してユーザと相互作用を行うように構成されている、ユーザ・インタフェースと、プログラム可能な計算デバイスと、回路設計ツールとを供給するステップと；合成する回路のタイプを選択するステップと；回路の近似を選択するステップと；少なくとも一部は回路パラメータに基づいて、設計ツールおよびプログラム可能な計算デバイスを通して回路性能予測をレンダリングするステップと；回路パラメータを調整するために、ユーザ・インタフェースを通して、回路性能予測と動的に相互作用を行うステップとを含む。
【００１１】
　添付の図面を参照しながら、本発明の好ましい実施形態について以下に説明する。
【発明を実施するための最良の形態】
【００１２】
　米国特許法の本質的な目的、すなわち、「科学および有用な技術の進歩を促進する目的」（第１条第８節）を推進するために本明細書を提出する。
【００１３】
　本発明が分りにくくなるのを避けるために、本発明の実施に密接に関連している詳細な点だけを詳細に説明するが、必要に応じて、現在分かっている周辺の詳細な点を、該当する技術において現在分かっているものとして引用により本明細書の記載に援用するものとする。
【００１４】
　近代的計算方法の導入により、また特にパーソナル・コンピュータの導入により、会話型計算方法が開発され、それにより、非常に複雑な問題を迅速に最適化できるようになってきている。例えば、フライト・シミュレータ・プログラムは、単に飛行の複雑な式を解くだけではなく、それ以上の多くのことを行う。航空機の動作に対する行動および行動の効果の即時フィードバックは、非常に多くの方法でパイロットの訓練、および工学的な変化の評価を向上させるために使用することができる。多くの場合、航空機の墜落のシーケンスのような状況は、航空機の飛行の最後の瞬間をシミュレートすることにより調査される。シミュレーションにより、事故の潜在的原因を迅速に評価することができ、最も可能性の高い代案を容易に選択できるようになる。会話型の計算により、他の方法では達成できないパラメータのあるレベルの最適化を行うことができ、遥かに迅速にこの最適化を行うことができる。
【００１５】
　本発明は、回路（またはフィルタ）の設計者が、回路（またはフィルタ）の入力パラメータを新しい値に定義するラインを引くことができるようにするドラッグ・アンド・ドロップ技術を使用する。フィルタ設計の場合には、結果として得られるフィルタ・レスポンス、必要な極、および構成可能なアナログ・モジュール（ＣＡＭ）のパラメータの評価は、設計者が入力パラメータを変更すると、グラフィカル・ユーザ・インタフェース（ＧＵＩ）上に動的に表示される。これにより、設計者にほとんど瞬間的にフィードバックが行われ、設計者は、入力パラメータの変更、およびこのパラメータがフィルタ・レスポンスに対して持つ効果と相互作用を行うことができる。その結果、設計者は、必要なフィルタの用途に対する最適な入力パラメータを迅速に選択することができる。この解決方法は、目標システムの迅速な動的再合成と一緒に、ユーザに対する即時フィードバックの組合わせを使用していることを強調しておきたい。この機構は、一般的に、コンピュータ援用設計（ＣＡＤ）システムおよび電子設計自動化（ＥＤＡ）システムにも適用することができる。
【００１６】
　本明細書においては、「サブ回路」という用語は、もっと大きな回路のマクロな構成要素として使用するために入手することができる接続している構成要素のネットワークを意味することを理解されたい。サブ回路は、回路または全回路の一部を形成することができる。回路は、複数の接続しているサブ回路を含むことができる。例えば、スーパーヘテロダイン受信機回路は、無線周波（ＲＦ）増幅器サブ回路、オッシレータ・サブ回路、ミキサ・サブ回路、中間周波（ＩＦ）増幅器サブ回路、検出装置サブ回路、オーディオ増幅器サブ回路、および電源サブ回路を備えているが、これらのサブ回路は一緒に接続して完全なスーパーヘテロダイン受信機回路を形成する。
【００１７】
　本明細書においては、「フィールド・プログラマブル・アナログ・アレイ（ＦＰＡＡ）」という用語は、プログラム可能な相互接続および構成可能なアナログ・ブロックのアレイを使用するアナログ回路を実施するためにプログラムすることができ、構成することができる集積回路を意味することを理解されたい。より詳細に説明すると、ＦＰＡＡは、アナログ回路構成要素およびスイッチの集合体を含む。スイッチは、特定の回路設計を実現するために、構成要素を一緒に接続するために使用される。スイッチは、また、個々のアナログ回路構成要素の値を設定するために使用される。２進ビット・ストリームをプログラム可能なデバイスまたはＦＰＡＡにダウンロードすることにより、デバイスをプログラムするためにスイッチを設定することができ、そうすることにより、デバイス上の特定の回路またはサブ回路が定義される。比較的簡単なＦＰＡＡでも、特定の回路設計を実現するために設定しなければならない数千のスイッチを含む。
【００１８】
　本明細書においては、「Ｃ」という用語は、プログラム・コードの特定の例を意味する。ＰＡＳＣＡＬ、Ｖｉｓｕａｌ　Ｂａｓｉｃ、Ｆｏｒｔｒａｎおよび他の周知のプログラム・コードを含む他の特定のプログラム・コードも使用することができることを理解されたい。
【００１９】
　本明細書においては、「ユーザ・インタフェース」という用語は、スクリーン設計、メニュー、コマンド言語、キーボード・コマンド、およびユーザがコンピュータと相互作用を行う方法を供給することができるオンライン・ヘルプの１つまたはそれ以上の組合わせを意味することを理解されたい。「ユーザ・インタフェース」は、キーボードおよび／またはマウス、およびユーザがコンピュータまたはコンピュータ・システムと相互作用を行うことができるようにする任意の他の入力および／または出力デバイスを含むことができる。例えば、自然言語認識および音声認識は、ある種のユーザ・インタフェースの標準構成要素として含まれているものと見なされる。
【００２０】
　図１は、本発明の好ましい実施形態である。この図は、プログラム可能な回路デバイスをプログラムする前に、フィルタ近似のような複数の異なる回路実現、パラメータおよび仕様を迅速に効率的に評価するために、回路設計ソフトウェアと相互作用を行うための基本的なシステム構成を示し、参照番号１０で識別される。例えば、この回路がフィルタである場合には、異なるフィルタ近似（チェビシェフ、バタワース等）、そのフィルタを定義するパラメータの組合わせ、回路レベルおよび構成要素レベルの観点でそのような決定をしなければならないのではなく、高いレベルのシステムの観点から最適な設計の選択ができるようにするために、フィルタ内の異なる数の極まで迅速に効率的に評価するための相互作用機能が提供される。システム１０は、パーソナル・コンピュータ（ＰＣ）１４のようなプログラム可能な計算デバイス１２を含む。
【００２１】
　図１に示すように、システム１０は、回路（またはフィルタ）設計を実現するために、プログラム可能な制御デバイス１８を使用するプログラム可能な回路デバイス２０の最後のプログラミングをできるようにするような方法でソフトウェアおよびハードウェアの組合わせで実施される。より詳細に説明すると、ソフトウェアは、中央処理装置（ＣＰＵ）プログラムによりコントローラ・プログラムを開発する際に使用するために、緊密に結合している制御を必要とする情報を入手することができるように、プログラム可能な回路デバイス２０をプログラムするためのエクスポートされたデバイス情報の形で供給される。プログラム可能な制御デバイス１８は、次に、（ａ）構成データの全部または一部を修正し、次に、構成データをプログラム可能な回路デバイス２０のレジスタに適用することにより、または（ｂ）プログラム可能な回路デバイス２０のレジスタ内に含まれている構成データの全部または一部を直接修正することにより、プログラム可能な回路デバイス２０が、修正した構成データを使用できるようにする。構成データを使用して、プログラム可能な回路デバイス２０は、ソフトウェアの結果としてプログラムされる。システムのソフトウェアの態様は、現在使用することができるシステムの通常の構成データの他に、プログラム可能な回路デバイス２０の機能の全部または一部を修正するために、第２の構成可能なデバイスが使用することができるコードを生成する。
【００２２】
　図１に示すように、ある形のプログラム可能な計算デバイス１２は、パーソナル・コンピュータ（ＰＣ）１４を備える。ＰＣ１４は、マイクロコントローラ・ユニット（ＭＣＵ）２２、メモリ２８、設計ツール３０、ユーザ・インタフェース３４、および構成可能なアナログ・モジュール（ＣＡＭ）ライブラリ４０を含む。ＭＣＵ２２は、処理回路２６を含む中央処理装置（ＣＰＵ）２４を含む。設計ツール３０は、１つまたはそれ以上のフィルタ（または回路）設計３５が生成され、モデル化されるコンピュータ援用設計（ＣＡＤ）ツール３２を含む。各フィルタ設計３５は、ネット・リスト３７の形をしている回路モデル情報を含む。
【００２３】
　ＣＡＭライブラリ４０は、各サブ回路に関する情報を含む複数のサブ回路定義４２を含む。ある場合には、サブ回路定義は、構成可能なアナログ・モジュール（ＣＡＭ）である。それ故、ＣＡＭライブラリ４０は、複数のＣＡＭを備える。プログラム可能な制御デバイス１８は、アプリケーション・プログラム４４およびユーザ・インタフェース４６を含む。動作中、アプリケーション・プログラム４４は、関連するアプリケーション・システムで、ソフトウェアの監視および制御機能を実施するためのコンピュータ・プログラム・コードを含む。ユーザ・インタフェース４６により上記監視および制御機能が可能になる。
【００２４】
　ある形のプログラム可能な回路デバイス２０は、フィールド・プログラマブル・アナログ・アレイ（ＦＰＡＡ）２１を備える。ＦＰＡＡ２１は、ハードウェア４８およびメモリ５６を含む。ハードウェア４８は、プログラミングにより複数の一意の構成に構成することができる。より詳細に説明すると、回路５０は、サブ回路５２および回路構成要素５４を必要な構成に配線または接続することによりＦＰＡＡ２１で実現される。
【００２５】
　設計ツール３０は、ＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２を備える。初期のバージョンであるＡｎａｄｉｇｍＤｅｓｉｇｎｅｒは、英国のＡｎａｄｉｇｍ社が公開していて、ｈｔｔｐ：／／ｗｗｗ．ａｎａｄｉｇｍ．ｃｏｍからダウンロードして使用することができ、引用によって本明細書の記載に援用する。ＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２は、ＡｎａｄｉｇｍＤｅｓｉｇｎｅｒの上記初期のバージョンに追加される本発明の態様を含む。その詳細については以下に説明する。
【００２６】
　上記技術によれば、プログラミング・データの生成が、コンピュータ援用設計（ＣＡＤ）ツールの使用により非常に簡単になる。ＣＡＤツールは、回路設計者に周知の方法で設計を表し、ＦＰＡＡをプログラムするのに必要な対応するデータを自動的に生成する。コンピュータ援用設計（ＣＡＤ）ツールを使用しない場合には、このようなプログラミングを修正または生成する機能は制限され、ほとんど実際には使用できない。さらに、ＣＡＤツール３２により、ボード線図の作成のようなフィルタ予測を作成することができる。同様に、ＣＡＤツール３２は、ユーザ・インタフェース（グラフィカル・ユーザ・インタフェースなど）３４により、フィルタ近似のために、ユーザが１つまたはそれ以上のパラメータを操作すると、フィルタ性能予測を動的に行うことができるようにする。
【００２７】
　動作中、設計ツール３０は、構成データの最初のセットを生成する。構成データは、エクスポートしたデバイス情報によりＰＣ１６内のコンパイラ（図示せず）に供給される。さらに、またはそうしたい場合には、構成データは、ＰＣ１６のユーザ・プログラム（図示せず）によりコンパイラに供給される。引用によって本明細書の記載に援用する、「プログラム可能な半導体デバイスを構成するための方法」（Ｍｅｔｈｏｄ　ｆｏｒ　Ｃｏｎｆｉｇｕｒｉｎｇ　ａ　Ｐｒｏｇｒａｍｍａｂｌｅ　Ｓｅｍｉｃｏｎｄｕｃｔｏｒ　Ｄｅｖｉｃｅ）という名称の米国特許第６，２７２，６６９　Ｂ１号が、プログラム可能な半導体デバイスの構成方法をより詳細に開示している。引用によって本明細書の記載に援用する、「構成可能なハードウェア・デバイスでアナログ素子を構成するためのシステムおよび方法」（Ｓｙｓｔｅｍ　ａｎｄ　Ｍｅｔｈｏｄ　ｆｏｒ　Ｃｏｎｆｉｇｕｒｉｎｇ　Ａｎａｌｏｇ　Ｅｌｅｍｅｎｔｓ　ｉｎ　ａ　Ｃｏｎｆｉｇｕｒａｂｌｅ　Ｈａｒｄｗａｒｅ　Ｄｅｖｉｃｅ）という名称の米国特許出願番号１０／１７１，３３４が、構成可能なハードウェア・デバイスでアナログ素子を構成するための装置および方法をさらに詳細に開示している。
【００２８】
　ＣＡＤツール３２は、ネットリスト３７を含むフィルタ設計３５を行うように構成されているフィルタ設計プログラム３３を含む。フィルタ設計プログラム３３は、また、プログラム可能な計算デバイス１２のユーザと一緒に、ユーザ・インタフェース３４を通しての表示および相互作用のためのボード線図３８としてレンダリングされるフィルタ実現３６を含む。ある場合には、フィルタ実現３６は、バタワース近似、チェビシェフ近似、逆チェビシェフ近似、楕円近似、またはベッセル近似であってもよい。また、フィルタとしては、フィルタ実現により、低域フィルタ、高域フィルタ、帯域フィルタ、および帯域消去フィルタを含むいくつかのタイプのうちの１つを使用することができることを理解されたい。さらに、各フィルタ実現は、１つまたはそれ以上の極を有することができ、１つまたはそれ以上のチップ上で実施するように構成することができる。またさらに、ボード線図は、振幅（ｄＢ）対周波数、位相対周波数、または振幅対位相を表示することもできることを理解されたい。
【００２９】
　図１に示すように、フィルタ設計プログラム３３は、さらに、フィルタ設計３５をレンダリングするための少なくとも１つのフィルタ・サブ回路定義４２を含み、プログラム可能な回路デバイス２０上で、その後で実施するために少なくとも１つのサブ回路定義４２を通して、複数の構成、トポロジー、およびフィルタ設計３５のパラメータのうちの少なくとも１つを定義するための情報を含むプログラム可能な計算デバイス１２で実施されるコンピュータ・プログラム・コード３９を含む。動作中、設計ツール３０は、プログラム可能な計算デバイス１２に関連し、ユーザ・インタフェース３４のところでユーザと相互作用を行うように構成される。設計ツール３０は、コンピュータ・プログラム・コード３９を含む。次に、ユーザ・インタフェース３４は、ユーザが、入力パラメータを選択し、フィルタ設計３５に動的にこの入力パラメータを適用し、（およびほぼ同時に）フィルタ・レスポンス、必要な極、およびサブ回路パラメータの評価のうちの少なくとも１つを受信し、表示することができるように構成される。その結果、ユーザは、必要なフィルタ設計３５に対して入力パラメータを最適にすることができる。ほぼ同時という表現は、入力パラメータの受信およびレスポンスの遅延から１秒以下、好適には、０．５秒以下でのレスポンスを意味することを理解されたい。
【００３０】
　これらの現在一般に使用できる市販のＡｎａｄｉｇｍＤｅｓｉｇｎｅｒの上のＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２に追加された特定の改善としては、回路設計（またはフィルタ設計）に対するパラメータの相互作用による変更機能、およびユーザ・インタフェースのところで、回路に対する対応する性能変更を迅速に表示する機能等がある。上記改善は、ＣＡＤツール内でサブ回路設計の１つのグルーブを一緒に組み立てて回路を設計する機能も含む。設計が済むと、回路（またはサブ回路）設計を、フィールド・プログラマブル・アナログ・アレイ（ＦＰＡＡ）のようなプログラム可能なデバイスで実現することができる。ＣＡＤツールは、回路設計をデバイスをプログラムするのに必要な適当にフォーマットされたデータに変換するための機構を供給する。各サブ回路に対するサブ回路定義は、ＣＡＤツールと互換性を持つが、ＣＡＤツールの一部ではない。サブ回路定義は、個々にまたはグループで携帯することができる。より詳細に説明すると、サブ回路定義は、それをＣＡＤツールと一緒に使用するために、コンパイルする必要はない。それ故、サブ回路定義は、ＣＡＤツールとの互換性を維持しながら、関連するサブ回路の機能を変更するために、容易に生成または修正することができる。
【００３１】
　サブ回路定義は、いくつかのことを行うために必要なサブ回路に関する情報を含む。第１に、サブ回路定義は、サブ回路の複数の構成、トポロジーおよびパラメータを定義するために必要なサブ回路に関する情報を含む。第２に、サブ回路定義は、これらの複数の構成の制御を可能にするユーザ・インタフェースを定義し、制御するために必要なサブ回路に関する情報を含む。第３に、サブ回路定義は、ユーザの選択に基づくサブ回路の構成を修正するのに必要なサブ回路に関する情報を含む。第４に、サブ回路定義は、サブ回路の正しい使用に関するエラーのチェックを行うために必要なサブ回路に関する情報を含む。第５に、サブ回路定義は、もっと大きなアナログ回路でのサブ回路の動作をシミュレートするのに必要なサブ回路に関する情報を含む。第６に、サブ回路定義は、サブ回路の記号的表示を行うのに必要なサブ回路に関する情報を含む。第７に、サブ回路定義は、サブ回路のバージョン数を決定するのに必要なサブ回路に関する情報を含む。第８に、サブ回路定義は、特定のＣＡＤツールとのサブ回路の互換性、または特定のＣＡＤツールのバージョン数を決定するのに必要なサブ回路に関する情報を含む。第９に、サブ回路定義は、ＦＰＡＡのようなプログラム可能なデバイスとのサブ回路の互換性を決定するのに必要なサブ回路に関する情報を含む。
【００３２】
　サブ回路に関する情報の中のあるものは、インタープリタ・コードに実現することができるアルゴリズムの形で含まれている。アルゴリズム内の情報が、ＣＡＤツール内に記憶しているデータ、およびＣＡＤツールが作動したユーザ・インタフェースから入手したデータと結合すると、アルゴリズムは、必要な情報をＣＡＤツールに返送する。例えば、ユーザの選択（上記項目３）に応じて、サブ回路の構成の修正に関する情報はこの方法で処理される。
【００３３】
　（図１の）ＣＡＤツール３２はいくつかのことを実行する機能を有する。第１に、ＣＡＤツールは、サブ回路定義に含まれるデータを読み出すことができる。第２に、ＣＡＤツールは、ユーザが、サブ回路をもっと大きい回路に組み立てることができるユーザ・インタフェースを供給する。第３に、ＣＡＤツール３２は、ユーザが、そのサブ回路設計の構成および行動を変更することができ、迅速に結果として得られる変更と相互作用を行うことができるように、各サブ回路に対してユーザ・インタフェースを供給することができる。第４に、ＣＡＤツールは、サブ回路定義に含まれているインタープリタ・コードを作動させることができる。第５に、ＣＡＤツールは、ユーザ・インタフェースに、特殊なプログラム可能なデバイスに特有な機能を供給することができる。第６に、ＣＡＤツールは、サブ回路定義に含まれる回路設計および情報によりシミュレーションをセットアップおよび実行することができる。第７に、ＣＡＤツールは、シミュレーションの結果を表示することができる。第８に、ＣＡＤツールは、プログラム可能なデバイスにダウンロードするために、回路設計を適当にフォーマットされたデータに変換することができる。第９に、ＣＡＤツールは、適当にフォーマットされたデータをプログラム可能なデバイスに容易にダウンロードすることができる。
【００３４】
　本発明の実施例により、有意な設計の専門知識を、シミュレーションにより示すように、サブ回路トポロジー、サブ回路トポロジーおよび構成要素の値のユーザ・インタフェースが表示するもっと高いレベルのパラメータとの関係、およびサブ回路の性能を含むサブ回路定義内に入れることができる。サブ回路定義は、ＣＡＤツールと一緒に、プログラム可能なデバイス・アーキテクチャの特定の詳細を含む。それ故、この技術を使用する人は、回路設計またはプログラム可能なデバイスの専門家でなくてもよい。それどころか、ユーザは、サブ回路のユーザ・インタフェースおよびＣＡＤツールが表すもっと高いレベルの抽出を行うことができる。それ故、回路の設計、およびＦＰＡＡチップをプログラムするための適当なフォーマットへの回路の変換の両方を比較的迅速に容易に行うことができる。
【００３５】
　構成可能なアナログ・モジュール（ＣＡＭ）の形をしているサブ回路定義は、ＦＰＡＡチップのようなプログラム可能なデバイスで構成することができる１つまたはそれ以上のサブ回路（回路）の完全な内蔵定義を含む。サブ回路定義は、サブ回路定義の内蔵部分を形成し、他のサブ回路と密接に相互作用を行う「Ｃ」コードを含む。ＣＡＭは、構成およびシミュレーション・モデルを定義する「Ｃ」コードの「スニペット」（ｓｎｉｐｐｅｔ）または比較的小さなセグメントを含む。「Ｃ」コードの「スニペット」は、コードの追加ピース内には含まれていなくて、クロック周波数、クロック位相、サンプリングした入力データ、利得、および他の項目を含むが、これらに限定されないＣＡＭからの情報を必要とする。
【００３６】
　図２〜図７は、本発明の１つの可能な実施を示す２つのフィルタ設計を示す。しかし、他の回路設計に対するもっと広い適用性を持つ他の実施も行うことができ、それも添付の特許請求の範囲に含まれることを理解されたい。
【００３７】
　図２は、フィルタ設計プログラム３３のＡｎａｄｉｇｍフィルタ設計ソフトウェアにより生成した、５極低域フィルタのボード線図（振幅対周波数レスポンス）による回路性能予測を示す（図１参照）。このようなフィルタは、ステレオ上で、一意の専用スピーカに対して周波数範囲を分離するための、ステレオ・クロスオーバ・ネットワーク・システム内で役に立つ。クロスオーバ点は、特定のカー・ステレオ・システムを最適化するように、カスタム環境にクロスオーバ点を調整するためにフィルタ設計ソフトウェアによりカスタマイズすることができる。この例で使用したフィルタは、０Ｈｚ〜１ＫＨｚの範囲内に−３デシベル（ｄＢ）の通過帯域幅を持ち、通過帯域幅の外側２ＫＨｚのところでの最大減衰は−３０ｄＢである。
【００３８】
　図２に示すように、フィルタ設計プログラムをスタートすることにより、ユーザは、設計ツール・アプリケーション・ウインドウ６０内に表示される、スクリーン・ディスプレイにナビゲートすることができ、またユーザにはこのスクリーン・ディスプレイが表示される。フィルタ設計プログラム（図示せず）により供給される、上記スクリーン・ディスプレイ上のメニュー項目を、選択するころにより、ウインドウ６０を表示することができる。グラフ・スペース６２は、１つまたはそれ以上のフィルタ（または回路）パラメータに基づいて、プログラム可能な計算デバイス内で、設計ツールにより生成される回路性能予測をレンダリングするように構成される。回路性能予測がフィルタに対してのものである場合には、フィルタ性能予測は、ボード線図（またはフィルタ・レスポンス）８２の形で表示される。
【００３９】
　各フィルタ・パラメータを調整し、ボード線図８２に変更を映像として表示するために、ユーザが、ユーザ・インタフェースを通して、フィルタ性能予測と動的に相互作用を行うことができるように、図２に示す種々のパラメータ・ライン８４〜９２を移動するために、「ドラッグ・アンド・ドロップ」技術により、ユーザは、ユーザ・インタフェースのところで、多数の一意のフィルタ・パラメータを操作することができる。より詳細に説明すると、下記のパラメータ・ライン、すなわち、リップル・パラメータ・ライン８４、コーナー周波数パラメータ・ライン８６、全利得パラメータ・ライン８８、ストップ周波数パラメータ・ライン９０、および減衰パラメータ・ライン９２を、「ドラッグ・アンド・ドロップ」技術により操作することができる。カーソルおよびマウスにより、各パラメータ・ラインを選択することにより、また、マウス・ボタンをホールドし、新しい必要な値のところへパラメータ・ラインをドラッグすることにより、パラメータ・ラインを「グラブ」し、「ドラッグ」することができる。ほぼ瞬間的なレスポンスで、フィルタ設計計算に基づくものとして、（フィルタ周波数レスポンスに対する）ボード線図の変更した計算を表す、ボード線図８２のほぼ瞬間的は変更を反映する新しいフィルタ・レスポンスが計算される。
【００４０】
　ボード線図（またはフィルタ・レスポンス）を生成するために使用することができる、適当なフィルタ設計計算が多数存在する。古典的な例が、引用によってその全文を本明細書の記載に援用する、１９７６年　ニューヨーク所在のＪｏｈｎ　Ｗｉｌｅｙ　＆　Ｓｏｎｓ発行の、Ｇｏｂｉｎｄ　Ｄａｒｙａｎａｍｉのテキストブック、「能動ネットワーク合成および設計の原理」（Ｐｒｉｎｃｉｐｌｅｓ　ｏｆ　Ａｃｔｉｖｅ　Ｎｅｔｗｏｒｋ　Ｓｙｎｔｈｅｓｉｓ　ａｎｄ　Ｄｅｓｉｇｎ）の第３章「フィルタ・コンセプト入門」、および第４章「近似問題」に詳細に記載されている。しかし、（ボード線図を描くためのような）グラフを描くための実際のおよび近似のフィルタ・レスポンスを生成するための他の技術も多数存在する。その一例が、引用によってその全文を本明細書の記載に援用する、Ｈａｒｃｏｕｒｔ　Ｂｒａｃｅ　Ｊｏｖａｎｏｖｉｃｈ　Ｃｏｌｌｅｇｅ　Ｐｕｂｌｉｓｈｅｒｓ、Ｓａｕｎｄｅｒｓ　Ｃｏｌｌｅｇｅ　Ｐｕｂｌｉｓｈｉｎｇから入手できる、また１９８２年　Ｈｏｌｔ，Ｒｉｎｅｈａｒｔ　ａｎｄ　Ｗｉｎｓｔｏｎ，Ｉｎｃ．社発行の、Ｕｒｂａｎａ−Ｃｈａｍｐａｉｇｎ所在の、Ｄｅｐａｒｔｍｅｎｔ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　Ｅｎｇｉｎｅｅｒｉｎｇ　ａｔ　ｔｈｅ　Ｕｎｉｖｅｒｓｉｔｙ　ｏｆ　ＩｌｌｉｎｏｉｓのＭ．Ｅ．Ｖａｎ　Ｖａｌｋｅｎｂｕｒｇのテキストブック、「アナログ・フィルタ設計」（Ａｎａｌｏｇ　Ｆｉｌｔｅｒ　Ｄｅｓｉｇｎ）の第６章「バタワース低域フィルタ」に記載されている。さらに他の例が、引用によってその全文を本明細書の記載に援用する、１９９６年　Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ　ＰＴＲ、Ｐｒｅｎｔｉｃｅ−Ｈａｌｌ，Ｉｎｃ．発行の、Ｄｅｐａｒｔｍｅｎｔ　ｏｆ　Ｅｌｅｃｔｒｉｃａｌ　Ｅｎｇｉｎｅｅｒｉｎｇ　ａｔ　Ｏｈｉｏ　Ｎｏｒｔｈｅｒｎ　Ｕｎｉｖｅｒｓｉｔｙの、Ｌｅｓ　Ｔｈｅｄｅのテキストブック「Ｃを使用するアナログおよびデジタル・フィルタ設計」（Ａｎａｌｏｇ　ａｎｄ　Ｄｉｇｉｔａｌ　Ｆｉｌｔｅｒ　Ｄｅｓｉｇｎ　Ｕｓｉｎｇ　Ｃ）の第４章「アナログ周波数レスポンス計算および表示」（Ａｎａｌｏｇ　Ｆｒｅｑｕｅｎｃｙ　Ｒｅｓｐｏｎｓｅ　Ｃａｌｃｕｌａｔｉｏｎ　ａｎｄ　Ｄｉｓｐｌａｙ）に記載されている。このような技術は、当業者であれば容易に理解することができると思うので、本発明をわかりにくくなるのを避けるために、これ以上の説明は省略する。上記技術は、周知の伝達関数によりフィルタ用周波数レスポンス機能を計算する。
【００４１】
　ＡｎａｄｉｇｍＦｉｌｔｅｒは、「ドラッグ・アンド・ドロップ」機能を供給するために、現代コンピュータの処理能力を利用している。この機能により、フィルタ設計ソフトウェアのユーザが、カーソルによりグラフ上の適当なラインをドラッグすることによりパラメータを変更すると、瞬間的にフィードバックを行うことができる。制限ラインが移動すると、ソフトウェアは、フィルタ・レスポンス曲線を継続的に再計算し、新しいレスポンス・グラフを生成するので、その結果、ラインの移動および結果として得られるグラフは滑らかに移動しているように見える。これにより、フィルタ・レスポンス特性上のパラメータに対する変化の影響を迅速に直感的に評価することができる。
【００４２】
　この相互作用機能は、もともとは、３７５Ｈｚのところに位置していたノッチが、４００Ｈｚのところへ移動するまで、フィルタ・パラメータを「ぎりぎりまでチューン」するために使用することができる。アビオニクス・システム内で使用するフィルタの場合には、この機能は、フィルタ・パラメータ内の若干の調整の結果として、タダのボーナスとして、アビオニクスＡＣ電源周波数のところで余分な６０ｄＢの減衰を行う。
【００４３】
　このようにして、ＡｎａｄｉｇｍＦｉｌｔｅｒソフトウェアの相互作用機能により、ユーザは、回路レベルの詳細および構成要素レベルの詳細により、泥沼にはまり込まなければならないのではなく、高いレベルのシステムの観点から最適な設計を選択するために、多くの異なるフィルタ近似、パラメータの組合わせ、およびフィルタ内の異なる数の極を迅速に評価することができる。
【００４４】
　設計ツール・アプリケーション・ウインドウ６０のスクリーン・ディスプレイも、図２に示すように、その内部で複数のフィールド８０が、各パラメータ・ラインが識別した個々のパラメータ値を示す、パラメータ値スペース６４を含む。例えば、フィールド８０は、図２のリップル・パラメータ・ライン８４が識別した「通過帯域リップル」を示す。他の値は、図２に参照番号で示す各フィールド内で識別される。
【００４５】
　さらに、アプリケーション・ウインドウ６０は、さらに、（低域フィルタ・ラジオ・ボタン９４のような）複数のラジオ・ボタンを含む「フィルタ・タイプ」６６を含む。バタワースラジオ・ボタン９６を選択することにより識別される、バタワースフィルタ近似のような、複数のフィルタ近似を含む、（フィルタ）「近似」フィールド６８も供給される。各フィルタ近似は、特定の選択したフィルタと一緒に使用される極の数を識別する、「極」フィールド９８を含む。さらに、「近似」フィールド６８は、特定の選択したフィルタ近似に対して必要なＦＰＡＡデバイスの予測した数を識別する、すでに選択した各フィルタ近似に対する「チップ」フィールド１００を含む。さらに、「グラフ」フィールド７０は、「振幅」選択ボックス１０２が定義する振幅（ｄＢ）のような、周波数に対して現在引かれている特定の縦座標を定義する。さらに、「動的範囲オプション」フィールド７２により、機能は、小さな信号が存在する特定の制限瞬間を選択することができる。さらに、それぞれ、回路の形成を可能にし、関連するＣＡＭを列挙することができるようにするために、「回路形成」ボタン７４および「ＣＡＭ列挙」ボタン７６も供給される。最後に、「フィルタ・レスポンス」フィールド７８は、グラフ・スペース６２内に（カーソルのような）ポインティング・デバイスを置くことにより選択した特定の周波数のところでボード線図８２により識別された低域フィルタの結果として得られる特性を識別する。
【００４６】
　「フィルタ・レスポンス」フィールド７８は、パラメータ・ライン（またはカーソル）が、グラフ・スペース６２内に位置している場所なら何処でも、周波数に対する正確な値を与えるテキストおよび情報を含む。これらの値はほぼ瞬間的なもので、グラフ・スペース６２内でカーソルが左右（上下）に移動すると、連続的に更新される。図２に示すように、５０ＫＨｚのクロック周波数に対するナイキスト制限の上のエリアを識別する「グレイ・エリア」を示すために、２５ＫＨｚの上のグラフ領域は、グレイになっている。
【００４７】
　図３は、図２の設計ツールのアプリケーション・ウインドウ６０用のもう１つのスクリーン・ディスプレイであるが、ユーザが、１ＫＨｚから６６０Ｈｚへ「コーナー周波数」パラメータ・ライン（垂直な通過帯域の縁部指示ライン）８６を「ドラッグ」する間の、時間のそれぞれの後の周期におけるものである。それ故、パラメータ・ライン８６は、図５内で右の位置から最終的に指定された左の位置に、パラメータ・ライン８６を移動する「ドラッグ・アンド・ドロップ」動作中のスナップショットである。図では、ボード線図８２は、「ドラッグ・アンド・ドロップ」動作に応じて再度計算された構成になっている。それ故、フィルタ性能予測に対するフィルタ・パラメータの調整の影響を判断するために、ユーザは、ユーザ・インタフェースを通して、フィルタ性能予測と動的に相互作用を行うことができる。フィールド６４，６８および７０は、フィルタ性能予測およびフィルタ・パラメータ内の変更に対応する対応変化を示す。さらに、変更したまたは現在のフィルタ・パラメータに基づいて、対応するフィルタ性能予測を示すための、プロット位相（および度合い）対周波数に対する、「プロット」フィールド７０内の適当なチェック・ボックスを選択することにより、フィルタ位相性能プロット１０４はすでに選択されている。それ故、新しく構成したフィルタ設計の位相性能をプロット１０４で示す。それ故、一定の大きさに作ったグレイ・エリアは、もっと低い周波数値で始まる。すなわち、１６．５ＫＨｚのところからスタートし、３３ＫＨｚの新しいクロック周波数を反映する。さらに、以降のフィルタに対して必要な極の数は、フィールド６８内に示すように５極から４極に減っている。このようは変更は、位相プロット１０４内のボード線図８２が識別した、フィルタ性能予測を生成する際に使用したフィルタ計算に基づいて自動的に起こる。
【００４８】
　図４に示すように、設計ツールのアプリケーション・ウインドウ６０のためのスクリーン・ディスプレイは、図３のものより時間的に後のものである。しかし、パラメータ・ライン８６に対する同じ「ドラッグ・アンド・ドロップ」動作中、パラメータ・ライン８６は、さらに左に、図５の最終位置の方向に移動する。パラメータ・ライン８６（垂直な通過帯域縁部指定ライン）は、すでに４００Ｈｚのところへドラッグされていて、グレイ・エリアは、左へ１０ＫＨｚのところまで移動していて、２０ＫＨｚの新しいクロック周波数を反映している。結果として得られる再構成されたフィルタ設計は、「近似」フィールド８６内で識別されている、バタワース近似に対して３つの極だけしか必要としない。
【００４９】
　図５に示すように、設計ツール・アプリケーション・ウインドウ６０に対して供給されたスクリーン・ディスプレイは、カーソルおよびマウスにより、「ドラッグ・アンド・ドロップ」動作中に最終位置に移動した、例示としてのパラメータ・ライン８６を示す。帯域消去減衰を含むパラメータ８６は、−３０ｄＢ（図４参照）から、図５の−５０ｄＢの静止位置にドラッグされている。図のグレイ・エリアは移動しない。何故なら、クロック周波数は変化していないからである。しかし、「近似」フィールド６８に示すように、フィルタは、バタワース近似に対して４極を必要とする。カーソルは、右に２ＫＨｚの周波数ラインのところに移動していて、フィルタ値は２ＫＨｚのところに表示される。
【００５０】
　図６は、本発明の設計ツールおよびプログラム可能な計算デバイスによるもので、少なくとも１つのフィルタ・パラメータの変更に少なくともその一部が基づく、もう１つのフィルタ性能予測である。それ故、ユーザは、必要なフィルタ性能予測を入手する目的で、フィルタ・パラメータを調整するために、ユーザ・インタフェースを通して、フィルタ性能予測と動的に相互作用を行うことができる。図６を見れば分かると思うが、選択したフィルタ近似は、「近似」フィールド６８内に示すようにベッセル近似を含む。グラフ・スペース６２内には、パラメータ・ライン８４〜９２の位置に対応するボード線図１８２および位相プロット２０４が位置する。このような性能予測は、また、ログ／ログ・グラフ・スケーリングにより歪んでいる、ベッセル近似の周波数による位相の特性の一定の変化を示す。対応する値は、フィールド６４，６６，６８および７０内に表示されている。対応するカーソル位置も、フィールド７８内に表示される。
【００５１】
　図７は、設計ツール・アプリケーション・ウインドウ６０のためのスクリーン・ディスプレイであるが、（図６の）位相プロット２０４が除去されていて、ベッセル近似フィルタの特徴である指定のコーナー周波数までの、一定の群遅延値を示す遅延プロット３０４が追加されている。
【００５２】
　図６および図７を見れば、ボード線図の形のフィルタ性能予測を三次元スペース内に表示することができ、また、パラメータ・ラインは、単なる、ユーザが、選択した入力または変更したフィルタ・パラメータに応じて、フィルタ性能予測をよりよく視覚化することができるようにする二次元視覚化に過ぎないことが理解される。しかし、フィルタ・パラメータの変更と、結果として得られるフィルタ性能予測との間の相互関係をよりよく理解するために、あるフィルタ設計に応じてこのような三次元スペースを見るための多数の異なる方法があることを理解されたい。
【００５３】
　上記フィルタ設計機能は、フィールド・プログラマブル・アナログ・アレイ（ＦＰＡＡ）を使用することにより達成した、プログラム可能なアナログ技術の最近の進歩を利用することができる。最近まで、プログラム可能なアナログは、単に目新しいものに過ぎなかった。使用できる技術は、設計者が近代アナログ・デバイスから期待する性能を供給することができなかった。ＦＰＡＡは、この状況を根本的に変えた。
【００５４】
　ＦＰＡＡは、デジタル信号処理（ＤＳＰ）技術のような古い交換システムに、性能の面では少なくとも匹敵するが、ＤＳＰ技術につきものである振幅範囲制限および量子化制限のないプログラム可能なアナログ機能を供給するためにスイッチドキャパシタ技術を使用する。
【００５５】
　いくつかの面においては、ＦＰＡＡの結果として得られる性能は、古い技術よりも遥かに優れている。何故なら、スイッチドキャパシタ技術は、近代ＣＭＯＳチップ製造プロセスを使用した場合、高い信頼性で反復して製造することができる構造体を利用しているからである。
【００５６】
　ＦＰＡＡは、広範なソフトウェア・サポート、「構成可能なアナログ・モジュール」（ＣＡＭ）として実施されたアナログ機能の広範なライブラリ、およびリソースの割当て、設置およびＣＡＭの相互接続のような低いレベルの設計タスクを処理する広範な設計ツール、ＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２を含む。複雑な多極フィルタの設計を容易にするツールであるＡｎａｄｉｇｍＦｉｌｔｅｒを含む、いくつかの高いレベルの設計補助手段が供給される。
【００５７】
　スイッチドキャパシタ技術の主な利点は、フィルタ・パラメータが、ほとんど全面的にクロック周波数に依存するということである。そのため、結果として得られるフィルタは、極度に安定していて、デバイス製造中に広い範囲の温度および変動が合っても反復して使用することができる。さらに、この特性により、外部からクロック周波数を変化させることにより、広い範囲にわたって容易に同調させることができる。
【００５８】
　ＦＰＡＡアプローチを使用するには、ユーザは、ＡｎａｄｉｇｍＦｉｌｔｅｒにフィルタ仕様を入力し、ボード線図をチェックし、許容できる設計になるまで、必要に応じて変更を行うことにより、従来のアプローチと全く同じ方法でスタートする。
【００５９】
　もう一度、同じボード線図は、ＡｎａｄｉｇｍＦｉｌｔｅｒフィルタ設計ソフトウェアが生成した５極帯域フィルタの図２の場合のように見ることができる。前と同じように、フィルタは、０Ｈｚから１ＫＨｚの−３ｄＢの通過帯域、および通過帯域の外側２ＫＨｚのところに−３０ｄＢの最小減衰を持つ。
【００６０】
　しかし、この時点で、フィルタを四次の段および２本の線の段に分割し、次に各段を個々に分析するのではなく、ユーザは、単に設計をＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２に移行するために、スクリーンの右下隅に位置する「データ送信」ボタンを「クリック」するだけですむ。
【００６１】
　数秒間で移送および分析プロセスが終了するので、ＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２は、図５に示すのとほとんど全く同じように、ユーザ・スクリーンの一番上に「ポップ」する。そうしたい場合には、ユーザは、詳細なシミュレーションを実行することができ、もっと多くの回路構成要素を追加したり、または設計に他の修正を行うことができる。
【００６２】
　この例の場合には、試験ボードは、デフォールト・ボードからの異なる出力を使用しているので、どんなに簡単に行うことができるかを示すために、出力接続ピンを修正することができる。評価ボード上で外部ジャンプ・ピンを変更するより、ＦＰＡＡ回路を内部で変更した方が速い。
【００６３】
　そうするために、ユーザは、右上隅の出力ピンに接続している青いワイヤ上で右クリックし、削除を選択する。次に、ユーザは、フィルタの出力ピン上にカーソルを保持する。カーソルは、ＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２が、配線モードであることを示すためにペン・アイコンに変わる。配線を行うために、チップの左下隅の出力セルのピン上でクリックする。これで再配線は終了し、最終的なフィルタ設計が表示される。この説明を読むと長く感じるが、スクリーン上の配線のほうが簡単である。この時点で、ユーザは、ＡｎａｄｉｇｍＤｅｓｉｇｎｅｒ２のツールバー上の下向きの青の矢印をクリックすることにより評価ボードに設計をダウンロードすることができる。
【００６４】
　ボード線図から動作シリコンへのダウンロードは、完全に自動化されていて、ユーザは、移送をスタートし、その方法により必要な任意の変更をするだけでよい。この時点で、ユーザは、試験のための作動ハードウェアを入手したことになる。
【００６５】
　この迅速な設計サイクルの利点は、単に工学時間が短くなるということだけではない。確かに有意ではあるが、任意の真に革新的な設計作業は、ある量の試行錯誤を必然的に含んでいなければならないという事実を反映していることである。単に、最初に、何か新しいものを試みた場合、最適な結果を得ることはできない。実際には、もっと多くの試行、すなわち、新しい設計により得ることができるもっと多くの経験が、最終的な設計に品質をよりよいものにするのである。
【００６６】
　フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）を使用するデジタル設計スペース内での経験は、迅速な試作品から得られる利点の多くが、実際の試行に基づいて、最適の一組の折り合いを選択するために、２つまたは３つだけではなく、２０〜３０の設計を試みる機能から得られるのだということを示している。学習曲線に沿って、ユーザ（または設計者）がさらにより多くのものを得れば得るほど、任意の新しい設計に関連するリスクが小さくなるというのは基本的なことである。
【００６７】
　ユーザが、フィルタの製造バージョンを形成する準備ができると、１つのＦＰＡＡチップをブートするために、ＳＰＩ　ＥＥＰＲＯＭを使用するＦＰＡＡが供給される。そうしたい場合には、ＦＰＡＡは、種々のタイプのＥＥＰＲＯＭおよび埋設マイクロプロセッサおよび複数のＦＰＡＡチップを含む多くの他の構成でも使用することができる。
【００６８】
　表にした測定値を、ＡｎａｄｉｇｍＦｉｌｔｅｒが予測した等価の値と比較してみて、通過帯域の範囲にわたって誤差が０．１％以下であることが分かった。この比較の場合、残りの測定範囲内においても誤差が少ない。このタイプの精度は、ＦＰＡＡを使用するフィルタの代表的なものであることが分かった。さらに、この設計は、低い周波数、特に、０．００７Ｈｚ〜１０Ｈｚの範囲のフィルタに対してうまく機能するが、従来の技術は、この周波数範囲ではうまく機能しない。このような周波数範囲は、地質の研究、生物学的用途、および建物の構造の分析のために使用する低い周波数用のフィルタにとって望ましいものである。
【００６９】
　フィルタ設計のこの技術により、設計者は、構成要素の選択および微調整のような細かい点に労力を使用しないで、システム要件にその努力を集中することができる。
【００７０】
　特許法に従って、構造上および方法上の機能に多かれ少なかれ特有の言語により本発明を説明してきた。しかし、本発明は、図面に示し今迄説明してきた特定の機能に限定されないことを理解されたい。何故なら、本明細書で開示した手段は、本発明を実行するための好適な形からなるからである。それ故、本発明は、等価の原則に従って正しく解釈した添付の特許請求の範囲の正しい範囲内で任意の形にし、また任意の修正を行うことができる。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態によるプログラム可能なデバイスを実行するための例示としてのシステムの基本的なシステム構成の全体的なブロック図である。
【図２】図１の設計ツール内のフィルタ設計ツールのデフォールト・スクリーン用のスクリーン・ディスプレイであり、また、フィルタ設計ツール・プログラムのスタートの際に表示される最初のスクリーンも示し、図２Ａ、図２Ｂより構成される。
【図３】図２のデフォールト・スクリーン用のスクリーン・ディスプレイであるが、垂直な通過帯域の縁部指定ラインを６６０Ｈｚに移動した後のものであり、図３Ａ、図３Ｂより構成される。
【図４】図１および図２のデフォールト・スクリーン用のスクリーン・ディスプレイであるが、垂直な通過帯域の縁部指定ラインを４００Ｈｚに移動した後のものであり、図４Ａ、図４Ｂより構成される。
【図５】図１および図２のデフォールト・スクリーン用のスクリーン・ディスプレイであるが、停止帯域減衰指定ラインを−３０ｄＢから−５０ｄＢに移動した後のものであり、図５Ａ、図５Ｂより構成される。
【図６】ベッセル近似を使用するデフォールト・フィルタ用のスクリーン・ディスプレイであり、周波数による位相の特徴定数変化を示すが、ログ／ログ・グラフ・スケーリングにより歪んでおり、図６Ａ、図６Ｂより構成される。
【図７】図６のベッセル近似を使用するデフォールト・フィルタ用のスクリーン・ディスプレイであるが、ベッセル近似フィルタの特徴である指定コーナー周波数までの定数群遅延値を示し、図７Ａ、図７Ｂより構成される。
【図１】
2004133912.tif 000003
【図２Ａ】
2004133912.tif 000004
【図２Ｂ】
2004133912.tif 000005
【図３Ａ】
2004133912.tif 000006
【図３Ｂ】
2004133912.tif 000007
【図４Ａ】
2004133912.tif 000008
【図４Ｂ】
2004133912.tif 000009
【図５Ａ】
2004133912.tif 000010
【図５Ｂ】
2004133912.tif 000011
【図６Ａ】
2004133912.tif 000012
【図６Ｂ】
2004133912.tif 000013
【図７Ａ】
2004133912.tif 000014
【図７Ｂ】
2004133912.tif 000015