(57)【特許請求の範囲】
【請求項１】
複数のプログラマブルロジック回路の領域と、
前記複数の領域の実質的に任意の領域の出力が、前記複数の領域の実質的に任意の領域の入力に付加されることを可能にするようにプログラムによって構成可能な汎用相互接続回路と、
特定機能回路と、
前記特定機能回路のＦＳＢ出力を前記複数の領域の１つのサブセットのみにルーチングするようにプログラムによって構成可能なルーチング回路と
を備えている、プログラマブルロジックデバイス回路。
【請求項２】
前記特定機能回路は、パラレルマルチプライア回路、パラレルバレルシフタ回路、パラレル算術ロジックユニット回路、パラレルガロア域マルチプライア回路、およびＳＩＭＤ処理用パラレルマルチプライアアレー回路からなるグループから選択される、請求項１に記載の回路。
【請求項３】
前記ルーチング回路は、前記サブセット内の前記領域の出力ドライバ回路によって出力を駆動するためにＦＳＢ出力をルーチングするように構成されている、請求項１に記載の回路。
【請求項４】
前記サブセット内の前記領域の出力ドライバ回路は、前記汎用相互接続回路に対して信号を駆動するように構成されている、請求項３に記載の回路。
【請求項５】
前記ルーチング回路は、前記サブセット内の前記領域のレジスタ回路によって記録するためにＦＳＢ出力をルーチングするように構成されている、請求項１に記載の回路。
【請求項６】
前記ルーチング回路は、前記サブセット内の前記領域のプログラマブルロジック回路によって処理するためにＦＳＢ出力をルーチングするように構成されている、請求項１に記載の回路。
【請求項７】
前記領域の小集団の入力を前記特定機能回路の入力に対して選択的に偏向させるように構成されている入力ルーチング回路をさらに備えている請求項１に記載の回路。
【請求項８】
前記領域の小集団の回路からの信号を前記特定機能回路の入力に対して付加するように構成されている入力ルーチング回路をさらに備えている請求項１に記載の回路。
【請求項９】
複数のプログラマブルロジックの領域であって、前記複数のプログラマブルロジックの領域は、それぞれ、ロジック領域に付加されたロジック領域入力信号上で複数のロジック機能のうちの任意のロジック機能を実行して前記ロジック領域のロジック領域出力信号を生成するようにプログラム可能である、複数のプログラマブルロジックの領域と、
前記ロジック領域出力信号のうちの実質的に任意のロジック領域出力信号を、前記ロジック領域の実質的に任意のロジック領域に、前記任意のロジック領域のロジック領域入力信号としてプログラムによって選択的に付加するように構成されている、プログラマブル汎用相互接続回路と、
特定機能回路であって、前記特定機能回路は、前記特定機能回路に並列に付加される複数のＦＳＢ入力信号上で特定の形式のタスクを実行して、前記特定機能回路によって並列に出力される複数のＦＳＢ出力信号を生成するように構成されている、特定機能回路と、
前記ＦＳＢ出力信号を、前記ロジック領域のサブセット内の前記ロジック領域の回路によって使用する、前記ロジック領域のサブセットのみに選択的にルーチングするように構成されている、特定目的ルーチング回路と
を備えている、プログラマブルロジックデバイス。
【請求項１０】
前記特定機能回路は、マルチプライア回路、バレルシフタ回路、算術ロジックユニット回路、ガロア域マルチプライア回路、およびＳＩＭＤ処理用マルチプライアアレー回路からなるグループから選択される、請求項９に記載のデバイス。
【請求項１１】
前記特定目的ルーチング回路によってルーチングされ、前記ＦＳＢ出力信号によって使用することが可能な前記サブセット内の前記ロジック領域の回路は、前記ロジック領域の出力ドライバ回路を備えている、請求項９に記載のデバイス。
【請求項１２】
前記出力ドライバ回路は、前記汎用相互接続回路に出力信号を付加するように構成されている、請求項１１に記載のデバイス。
【請求項１３】
前記特定目的ルーチング回路によってルーチングされ、前記ＦＳＢ出力信号によって使用することが可能な前記サブセット内の前記ロジック領域の回路は、前記ロジック領域のレジスタ回路を備えている、請求項９に記載のデバイス。
【請求項１４】
前記特定目的ルーチング回路によってルーチングされ、前記ＦＳＢ出力信号によって使用することが可能な前記サブセット内の前記ロジック領域の回路は、前記ロジック領域のプログラマブルロジック回路を備えている、請求項９に記載のデバイス。
【請求項１５】
前記ＦＳＢ入力信号は、前記ロジック領域の小集団のロジック領域入力信号を含む、請求項９に記載のデバイス。
【請求項１６】
前記小集団内の前記ロジック領域は、前記サブセット内の前記ロジック領域と相互排他的である、請求項１５に記載のデバイス。
【請求項１７】
前記小集団内の前記ロジック領域は、少なくとも部分的に、前記サブセット内のロジック領域である、請求項１５に記載のデバイス。
【請求項１８】
前記小集団内の前記ロジック領域は、前記サブセット内の前記ロジック領域である、請求項１５に記載のデバイス。
【請求項１９】
前記ＦＳＢ入力信号は、前記ロジック領域の小集団内の回路から取得された信号を含む、請求項９に記載のデバイス。
【請求項２０】
前記ＦＳＢ入力信号が取得されるロジック領域の前記小集団の回路は、前記ロジック領域のレジスタ回路を備えている、請求項１９に記載のデバイス。
【請求項２１】
前記ＦＳＢ入力信号が取得されるロジック領域の前記小集団の回路は、前記ロジック領域のプログラマブルロジック回路を備えている、請求項１９に記載のデバイス。
【請求項２２】
処理回路と、
前記処理回路に結合されたメモリと、
前記処理回路および前記メモリに結合された請求項９に記載のプログラマブルロジックデバイスと
を備えている、デジタル処理システム。
【請求項２３】
請求項９に記載のプログラマブルロジックデバイスが実装されたプリント回路基板。
【請求項２４】
前記プリント回路基板上に実装され、前記プログラマブルロジックデバイスに結合されたメモリをさらに備えている、請求項２３に記載のプリント回路基板。
【請求項２５】
前記プリント回路基板上に実装され、前記プログラマブルロジックデバイスに結合された処理回路をさらに備えている、請求項２３に記載のプリント回路基板。
【請求項２６】
複数のプログラマブルロジックの領域であって、前記複数のプログラマブルロジックの領域は、それぞれ、ロジック領域に付加されたロジック領域入力信号上で複数のロジック機能のうちの任意のロジック機能を実行して、前記ロジック領域のロジック領域出力信号を生成するようにプログラム可能である、複数のプログラマブルロジック領域と、
前記ロジック領域出力信号のうちの実質的に任意のロジック領域出力信号を、前記ロジック領域の実質的に任意のロジック領域に、前記任意のロジック領域のロジック領域入力信号として、プログラムによって選択的に付加するように構成されている、プログラマブル汎用相互接続回路と、
マルチプライア回路に並列に付加される複数のマルチプライア入力信号上で実質的に並列な積算を実行して、前記マルチプライア回路によって並列に出力される複数のマルチプライア出力信号を生成するように構成されている、並列マルチプライア回路と、
前記マルチプライア出力信号を、前記ロジック領域のサブセット内の前記ロジック領域の回路による使用のために、前記ロジック領域の前記サブセットのみに選択的にルーチングするように構成されている、特定目的ルーチング回路と
を備えている、プログラマブルロジックデバイス回路。
【請求項２７】
前記特定目的ルーチング回路によってルーチングされ、前記マルチプライア出力信号によって使用することが可能な前記サブセット内の前記ロジック領域の前記回路は、前記ロジック領域の出力ドライバ回路を備えている、請求項２６に記載の回路。
【請求項２８】
前記出力ドライバ回路は、前記汎用相互接続回路に信号を付加するように構成されている、請求項２７に記載の回路。
【請求項２９】
前記特定目的ルーチング回路によってルーチングされ、前記マルチプライア出力信号によって使用することが可能な前記サブセット内の前記ロジック領域の前記回路は、前記ロジック領域のレジスタ回路を備えている、請求項２６に記載の回路。
【請求項３０】
前記特定目的ルーチング回路によってルーチングされ、前記マルチプライア出力信号によって使用することが可能な前記サブセット内の前記ロジック領域の前記回路は、前記ロジック領域のプログラマブルロジック回路を備えている、請求項２６に記載の回路。
【請求項３１】
前記特定目的ルーチング回路によってルーチングされ、前記マルチプライア出力信号によって使用することが可能な前記サブセット内の前記ロジック領域の前記回路は、連続する時間インタバルにおける前記マルチプライア出力信号によって示される連続する値をそれぞれ算術的に累算するよう構成されている累算器回路を備えている、請求項２６に記載の回路。
【請求項３２】
前記累算器回路は、前記連続する値を算術的に累算するために加算および減算のうち選択可能な１つを使用するように構成されている、請求項３１に記載の回路。
【請求項３３】
前記累算器回路は、先に累算されている値から連続する各値を減算することによって算術的な累算を行うように構成され、前記累算器回路は累算された値の１の補数に適合されている第１の１の補数回路と、現時点の連続する値の１つを前記第１の１の補数回路の出力に加算するように構成されている加算器回路と、前記加算器回路の１の補数の出力に適合されて、次の累算された値を生成するように構成されている第２の１の補数回路とを備えている、請求項３１に記載の回路。
【請求項３４】
前記連続する値を前記累算器回路内で使用する前に前記連続する数値を符号拡張するように構成されている回路をさらに備えている、請求項３１に記載の回路。
【請求項３５】
前記マルチプライア入力信号は、前記ロジック領域の小集団のロジック領域入力信号を含む、請求項２６に記載の回路。
【請求項３６】
前記小集団内の前記ロジック領域は、前記サブセット内のロジック領域と相互排他的である、請求項３５に記載の回路。
【請求項３７】
前記小集団内の前記ロジック領域は、少なくとも部分的に、前記サブセット内のロジック領域である、請求項３５に記載の回路。
【請求項３８】
前記小集団内の前記ロジック領域は、前記サブセット内の前記ロジック領域である、請求項３５に記載の回路。
【請求項３９】
前記マルチプライア入力信号は、前記ロジック領域の小集団内の回路から取得された信号を含む、請求項２６に記載の回路。
【請求項４０】
前記マルチプライア入力信号が取得されるロジック領域の前記小集団の前記回路は、前記ロジック領域のレジスタ回路を備えている、請求項３９に記載の回路。
【請求項４１】
前記マルチプライア入力信号が取得されるロジック領域の前記小集団の前記回路は、前記ロジック領域のプログラマブルロジック回路を備えている、請求項３９に記載の回路。
【請求項４２】
第２のマルチプライア回路に並列に付加される複数の第２のマルチプライア入力信号上で実質的に並列な積算を実行して、前記第２のマルチプライア回路によって並列に出力される複数の第２のマルチプライア出力信号を生成するように構成されている、第２の並列マルチプライア回路と、
第２の特定目的ルーチング回路であって、前記第２の特定目的ルーチング回路は、前記ロジック領域の小集団内の前記ロジック領域の回路によって使用するために前記ロジック領域の前記小集団にのみ前記第２のマルチプライア出力信号を選択的にルーチングするように構成されている、第２の特定目的ルーチング回路と
をさらに備えている、請求項２６に記載の回路。
【請求項４３】
前記ロジック領域のうちの少なくともいくつかは、前記サブセットおよび前記小集団の両方に対して共通のロジック領域である、請求項４２に記載の回路。
【請求項４４】
前記共通のロジック領域は、前記マルチプライア出力信号と前記第２のマルチプライア出力信号とを算術的に結合するように構成可能である、請求項４３に記載の回路。
【請求項４５】
前記共通のロジック領域は、さらに、前記マルチプライア出力信号と前記第２のマルチプライア出力信号とを算術的に結合して生じた信号を記録するように構成可能である、請求項４４に記載の回路。
【請求項４６】
前記共通のロジック領域は、前記マルチプライア出力信号と前記第２のマルチプライア出力信号とを算術的に結合して生じた信号を、前記汎用相互接続回路に駆動するように使用可能な出力ドライバ回路を備えている、請求項４４に記載の回路。
【発明の詳細な説明】
【０００１】
この出願は、２０００年９月１８日付の暫定的米国特許出願６０／２３３３８９号の権益を主張するものであり、これは全体的に参照に組み入れてある。
【０００２】
【発明の背景】
この発明は、プログラマブルロジック集積回路デバイスに係り、より具体的には例えばマルチプライア、演算ロジックユニット、バレルシフタ等のプログラマブルロジックデバイス内の特定機能ブロックを有するものに関する。
【０００３】
プログラマブルロジックデバイス（“ＰＬＤ”）は、例えばジェファーソン氏等の米国特許第６２１５３２６号公報および２０００年３月２日付のガイ氏等の米国特許出願第０９／５１６９２１号公報によって知られている。ＰＬＤは、通常プログラム可能な相互接続リソースを使用して多用な方式で相互接続することができる多数のプログラマブルロジックの領域を備えている。各ロジック領域は相互接続リソースからその領域に付加される入力信号に応答して複数のロジック機能のうちのいずれかを実行し得るようにプログラムすることができる。実行したロジック機能の結果として各ロジック領域は１つまたは複数の出力信号を生成して相互接続リソースに付加する。相互接続リソースは、通常ドライバ、相互接続コンダクタ、および多様な相互接続コンダクタの間で選択的な接続を形成するためのプログラマブルスイッチを備えている。相互接続リソースは一般的にいずれかのロジック領域出力をいずれかのロジック領域入力に接続するために使用されるが；デバイスのうちの不均衡に大きな部分を相互接続リソースに集中させることを防止するためにも使用され、これは一般的に所与のプログラムされたＰＬＤ構成において全ての可能な相互接続のうち一部のサブセットのみが形成される場合に該当する。従って、最後に述べた点は極めて重要であり、これは大きなロジック能力を有するＰＬＤにおいて相互接続リソースは常にいくらか限られたものであり、そのため相互接続構成はロジック等その他のリソースの数を過度に制限することなく柔軟、効率的、かつ適宜な容量をもって形成する必要があるためである。
【０００４】
以上においてはロジック領域のみについて記述したが、今日多くのＰＬＤはランダムアクセスメモリ（“ＲＡＭ”）、リードオンリメモリ（“ＲＯＭ”）、内容アドレスメモリ（“ＣＡＭ”）、プロダクトターム（“ｐターム”）ロジック等として使用可能なメモリ領域を備えている。
【０００５】
ＰＬＤの容量および速度が増加しているため比較的大量の並列的な情報を含むとともに比較的複雑な情報操作、組合せならびに再組合せを必要とする信号またはデータ処理にこれを使用する要望が増えている。大量の並列信号はこれに対応する大量の相互接続リソースを使用し；毎回この情報（またはこの情報を含んだ組合せまたは再組合せ）をデバイス内で伝送する必要があり、同様に大量な別の相互接続リソースが使用される。この問題を解決するための改善されたＰＬＤ構造が必要とされている。
【０００６】
【発明の概要】
本発明に係るＰＬＤは、プログラマブルロジック回路と、実質的に任意の領域の出力を実質的に任意の領域の入力に付加するようにプログラムによって構成することが可能な汎用相互接続回路と、特定機能回路と、この特定機能回路の出力を１つの領域サブセットのみに伝送するよう構成可能なルーチング回路の複数の領域を備えている。
【０００７】
特定機能ブロック（“ＦＳＢ”）は、通常複数の並列入力および複数の並列出力を備えている。ＦＳＢは特定のタスクまたは特定の複数タスクを実行してその入力から出力を生成するために少なくとも部分的にハード配線されている。ＦＳＢによって実行されるタスク（または複数のタスク）は完全または部分的にプログラム可能かあるいは動的に選択することができる。ＦＳＢの例としては、並列マルチプライア、並列演算ロジックユニット（“ＡＬＵ”）、バレルシフタ等が挙げられる。
【０００８】
ＰＬＤの相互接続リソースに対する内包されたＦＳＢの影響を低減するため、本発明によれば相互接続リソースに関するいくつかの技術のうちいずれかあるいは全てを使用する。１つの技術として、例えばロジック領域等（またはメモリ領域が含まれている場合はメモリ領域（しかしながら、実際はロジックから入力を借りることが好適である））の他のリソースの入力に対して全くローカルである（すなわち閉じている）相互接続リソースからＦＳＢに対する入力を派生させることが挙げられる。このようにして、ＦＳＢは一定数の入力ルーチングリソースを他のリソース（ロジック／メモリ等）とともに共有する。全相互接続リソースのうちのより小さな部分はＦＳＢ入力を提供するための専用のものとしなければならず、より広域的（グローバル、ローカルの逆のもの）な相互接続リソースを使用することによる影響が特に低減される。（グローバル相互接続リソースは、ローカル相互接続に使用し得る比較的短いコンダクタに対して比較的長い相互接続コンダクタを含んでいる。従って、グローバル相互接続コンダクタを使用することはローカル相互接続コンダクタに比べてより“高コスト”となる。さらに、グローバル相互接続コンダクタは低速度の傾向があるとともに電力消費ドライバによる駆動（ドライブ）が必要となるが、ローカル相互接続コンダクタはより高速であるとともに追加的なドライバを必要としない。）ＦＳＢ入力とその他のロジック／メモリ等のリソース入力との間で相互接続リソースを共有することにより、ＰＬＤがＦＳＢを使用するよう構成されている場合に他のリソースの使用可能性を低下させるかまたは犠牲にするものであるが、しかしながらＦＳＢ入力を提供するための専用の相互接続リソースを設ける必要がある場合よりは有利である。
【０００９】
ＰＬＤの相互接続リソース上におけるＦＳＢの影響を削減するために使用される別の技術は、比較的ローカルな相互接続リソースをＦＳＢの出力のために使用することである。このローカルリソースは、ＰＬＤ上のロジック領域等のその他の特定のリソースのサブセットの入力（またはこの入力へ通じているその他の比較的ローカルなリソース）へのＦＳＢの出力を提供するために使用される。このことによってＦＳＢの出力専用のドライバおよび／またはよりグローバルな相互接続コンダクタの必要性が排除される。ドライバによるＦＳＢ出力の駆動が必要である場合、前述したロジック領域の出力ドライバを使用することができる。同様にＦＳＢ出力がレジスタリングを必要とする場合、これらのロジック領域のレジスタを使用することができる。さらにこのロジック領域は、ＦＳＢ出力さらなる論理的および／または数学的処理の少なくとも開始のために使用することができる。再び、特定のＦＳＢ出力をロジック領域と効果的に共有することにより、ＦＳＢを使用するよう構成されている場合に前記ロジック領域の他の目的のための使用可能性を低下させるかまたは犠牲にするものであるが、しかしながらＦＳＢをサポートするための専用の相互接続リソースを設ける必要がある場合よりは有利である。
【００１０】
本発明のその他の特徴は、連続するＦＳＢ（特にマルチプライア）出力の数学的累算（加算または減算を使用して）、複数の並行ＦＳＢ（特にマルチプライア）出力の加算またはその他のロジック結合、ＦＳＢ（特にマルチプライア）出力の符号拡大、ＦＳＢ入力および／または出力の登録等に使用することができる。
【００１１】
本発明のその他構成、特徴ならびに種々の利点は、添付図面ならびに以下に記述する詳細な説明によって明らかにされる。
【００１２】
本発明について少なくとも最初にＰＬＤ内のパラレルマルチプライアの内包を重視して説明するが、その他のＦＳＢの例についても説明および図示し、全体的な開示によって当業者においては多数の異なった形式および構造のＦＳＢに本発明をどのように適用し得るかが明らかにされよう。
【００１３】
図１に示されている説明的なＰＬＤ１０は、プログラマブルロジックまたはその他のリソースの“上位領域”２０の交差する行および列からなる二次元配列を含んでいる。各上位領域２０は、複数のプログラマブルロジックの“領域”３０と、メモリの領域４０と、およびこの実施例では専用型（すなわち少なくとも部分的に固定配線型）のパラレルマルチプライアであるＦＳＢ５０とを備えている。各上位領域２０は、さらにプログラマブルロジックコネクタ（“ＰＬＣ”）６０等の比較的ローカルな相互接続リソースと、相互接続コンダクタおよびＰＬＣラベルされた領域７０と、ロジック要素給電コンダクタ８０と、メモリ領域給電コンダクタ９０と、その他のコンダクタ１００，１１０，１２０等を備えている。（添付図面の全てにおいて、実際は複数例で設けられている多くの要素を単一線あるいはその他の単一の概略シンボルによって示している。従って図１の各ＰＬＣ６０は実際は多くのこの種のＰＬＣ回路を示すものである。別の例としては、図１の各線１１０は実際は多くの並行コンダクタ１１０を示すものである。）
【００１４】
各領域３０は複数の“ロジック要素”１３０を備えている。各ロジック要素（または“ロジックモジュール”あるいは“サブ領域”）１３０は、ロジック要素に付加された信号に応答していくつかのロジックタスクのうちいずれかを実行して１つまたは複数のロジック要素出力信号を形成するようプログラムすることができるプログラマブルロジックエリアである。例えば、各ロジック要素１３０は、２つの入力ビットおよびキャリーインビットの２進加算を実行して合計出力ビットおよびキャリーアウトビットを形成するようプログラムすることができる。各ロジック要素１３０は、さらにこのロジック要素内にロジック信号を選択的に記録するためのレジスタ（フリップフロップ）回路を備えることが好適である。
【００１５】
コンダクタ８０は各ロジック要素１３０に対して初期の入力として考えられるものを付加する（しかしながらロジック要素はその他の入力を有することも可能である）。ロジック要素１３０の出力は、図面の過密化を避けるために図１には示されていない。しかしながら、これらの出力は典型的にローカル相互接続要素７０またはロジック要素出力が発信される上位領域２０の行に結合されたグローバル相互接続１４０等の他の汎用相互接続リソースに伝送される。さらに、（再び図面の煩雑化を避けるため）図１には示されていないが、各上位領域２０に結合された別のレベルの水平汎用相互接続を設けることもできる。これは、上位領域を横断して延在するとともにこの上位領域内の領域３０および４０の間において信号を伝送するために使用し得るコンダクタを含んでいる。各上位領域２０内のロジック要素１３０の出力信号は、典型的にそのレベルの相互接続にも付加され、またこのレベルの相互接続は典型的にＰＬＣ６０に対して追加的な入力を提供する。
【００１６】
ＰＬＣ６０（そのうちの多くが各ローカル相互接続領域７０に対するものである）は、その入力のうちいずれかを結合されたローカル相互接続７０に対して選択的に出力するよう結合された機能制御要素（“ＦＣＥ”）によってプログラムすることができる。各ローカル相互接続７０は、受信した信号を近接するロジック要素１３０、またはメモリ領域４０、または特定のケースにおいてＦＳＢ５０に対してルーチングするようにプログラムすることができる。
【００１７】
垂直グローバル相互接続リソース１５０は上位領域２０の行間において汎用の相互接続を形成するために設けられている。
【００１８】
“上位領域”、“領域”、ならびに“ロジック要素”等の用語は、より大きな要素またはユニット内において比較的小さな要素がグループ化され得ることを示すために単に比較用語として使用している。これらの用語は、必ずしも絶対的または固定的なサイズあるいは容量の回路を示すことを意図するものではない。従って、特定の内容に関して比較サイズの階層が重要でない場合、これらの用語は交換的または実質的に互いに総称的に使用することができる。例えば、前述した発明の背景部分において“領域”という用語は総称的に使用している。
【００１９】
この点において、“ＰＬＣ”という用語の追加的な意味も適正なものである。広範にわたってプログラムによって（従って静的または比較的静的に）制御されると記載されているが（例えばＦＣＥによって）、ここでＰＬＣと呼ばれる要素のいくつかまたは全てが他の方式によって代替的に制御し得ることが理解される。例えば、ＰＬＣはより動的な制御信号（例えば、構成後のＰＬＤの“通常”動作中において異なった時間に異なったロジックレベルを有することができるＰＬＤ１０上のロジック信号）によって制御することができる。しかしながら、このようなＰＬＣの動的制御は厳格に“プログラマブル”ロジックコネクタを示すものではなく、“ＰＬＣ”という用語は静的あるいは動的な制御にかかわらず一般的に同様な全ての要素に対する総称として使用される。
【００２０】
図１の説明を続けると、各ＦＳＢ５０は１６ビット×１６ビットのパラレルマルチプライア回路とすることができる（すなわち２つの１６ビットパラレル入力を積算して３２ビットパラレル積出力を形成することができる回路）。（説明的な具体例としてしばしば１６×１６パラレルマルチプライアを参考にするが、必要に応じてその他の任意のサイズのパラレルマルチプライアを使用し得ることが理解される。一般的にこれらのマルチプライアはｎ×ｍのサイズを有しており、ここでｎおよびｍはそれぞれ同一あるいは異なった任意の整数とすることができる。）各ＦＳＢ５０が１６×１６パラレルマルチプライアであると仮定すると、各ＦＳＢは２つの１６ビット入力バスならびに１つの３２ビット出力バスを必要とする。このことによって、ＰＬＤ１０上の相当数の相互接続リソースがＦＳＢ５０をサポートするための専用のものである場合、この相当数の相互接続リソースが取り上げられる。
【００２１】
この相当数の相互接続リソースをＦＳＢ５０の専用にしなければならないことを回避するために、各ＦＳＢ５０は近接するロジック領域３０の入力供給のために既に設けられている１つ（あるいは複数）のローカル相互接続７０の領域から３２個の入力を得るよう構成される。図１に示された具体的な実施例において、同じ上位領域２０内のＦＳＢ５０に隣接する領域から遠く離れて配置されたローカル相互接続領域７０がこの目的のために選択される。このローカル相互接続領域（明確化のため７０＊として識別する）は、メモリ４０によって使用されていない上にＦＳＢ５０に比較的近接しているために選択される。コンダクタ１００（数としては３２本）はローカル相互接続領域７０＊からこれに結合されたＦＳＢ５０までにわたって設けられている。ＦＳＢ５０が使用されている際、これらのコンダクタ１００は積算される２つの数値（それぞれ１６ビット以内）をＦＳＢに提供する。従って、ＦＳＢ５０が使用されている際、ロジック領域入力のために設けられているローカルルーチングのいくつかを効果的に“盗用”する。
【００２２】
各ＦＳＢ５０の出力信号（すなわち３２ビットまでのマルチプライア積算信号）は、専用のコンダクタ１１０上においてこのＦＳＢを含む同じ上位領域２０内の選択されたＰＬＣ６０に伝送される。明確化のため、これらのＰＬＣは参照符号６０＊１，６０＊２，６０＊３（全般的には６０＊）等によって識別する。各ＦＳＢ５０の出力信号は、さらに専用のコンダクタ１２０上において垂直下方に隣接する上位領域２０内のこれらと同じＰＬＣ６０＊に伝送される。従って各ＦＳＢ５０の出力は、少なくとも最初は専用であるが比較的ローカルなコンダクタ１１０および１２０上を伝送される。従ってＦＳＢ５０の出力は、（少なくとも最初は）より汎用的なルートを使用せず、また専用のドライバを必要としない。このことによって電力およびデバイスの大きさが抑制される。加えて、この（少なくとも最初の）ＦＳＢ５０の専用出力ルーチングによって汎用ルーチング内の混雑の可能性が低減され、（以下に詳細に記述するように）マルチプライア出力の加算または結合が達成される。
【００２３】
各上位領域２０内のＦＳＢ５０の出力を受信するよう選択されたＰＬＣ６０＊は以下のような特徴を有している：（１）ロジック要素からロジック要素へ延在している数学的キャリーチェーン内の別の１つに近接しているロジック要素１３０を提供し、（２）２つのＦＳＢ５０の出力を同じロジック要素１３０にペアのビット（２つのＦＳＢのそれぞれからの同じ大きさ順位の１ビット）で付加し、各ペアのビットは１つのロジック要素に付加されるとともに、このペアの大きさの順位はこのロジック領域を提供する数学キャリーチェーン内の大きさの順位の数列と同じ数列内に存在する。この方式によって、垂直に隣接する２つのＦＣＥ５０の出力がこのＦＳＢ出力を受信するロジック要素１３０によって共に加算される。従って図１に示されている回路は、少なくともその初期動作においてはＰＬＤ１０の汎用相互接続リソースを比較的少なく使用するマルチプライア加算器として動作することができる。前述のことに加えて、前記の加算を実行するロジック要素１３０の各領域は、必要に応じてその加算の結果を記憶するために使用することができる。前述した加算を実行するロジック要素１３０の出力ドライバは、必要に応じて、デバイス１０の汎用ルーチング（相互接続リソース）へ前記加算の結果をドライブアウトするために使用することができる。
【００２４】
ＦＳＢ５０の出力が上述のように組合わされない場合、図１に示された回路は考えられるその他の使用を可能にする。例えば、ＦＳＢ５０の出力が結合されたコンダクタ１１０およびＰＬＣ６０＊を介して同じ上位領域２０内の（または結合されたコンダクタ１２０ならびに下側に近接する上位領域内のＰＬＣ６０＊を介してこの下側に近接する上位領域２０内の）ロジック要素１３０に付加される。受信しているロジック領域１３０の出力ドライバは、ロジック要素のレジスタによる信号の記録を介在させてあるいはこれを介在させずに、ＦＳＢ５０の出力信号をＰＬＤ１０の汎用相互接続に対してドライブアウトするために使用することができる。受信しているロジック要素１３０およびこれに結合されている回路はマルチプライア累算器（“ＭＡＣ”）の動作を提供するために使用することができ、この際連続する各ＦＳＢ５０の出力は受信しているロジック要素のレジスタの内容に数学的に加算される（考えられる代替的な減算を含む）。ロジック要素レジスタ出力からのロジック要素入力へのローカルフィードバック、ならびにこのロジック要素の演算能力（前述したキャリーチェーン機能を含む）がこの累算機能において使用される。受信しているロジック領域１３０の出力ドライバは、ＭＡＣ出力信号を汎用相互接続に対してドライブアウトするために使用することができる。再び、前述したＭＡＣ機能を提供するため、特にこのＭＡＣ機能の内部動作をサポートするために、極めて少数の汎用相互接続のみが必要となる。
【００２５】
前述の説明から、図１の回路の構成によって出力レジスタまたは出力ドライバをＦＳＢ５０に対して専用とする必要性が回避されることが理解される。ＦＳＢ５０の出力を記録するかおよび／またはＰＬＤ１０の汎用相互接続に対してドライブアウトする必要がある場合、その能力はこのＦＳＢの出力がローカルに伝送されるロジック要素のレジスタおよび／または出力ドライバによって提供される。
【００２６】
ＰＬＤ１０がＦＳＢ５０を使用するようプログラムされている際近接するロジック領域３０およびＦＳＢ５０の間でローカル相互接続リソース７０＊を共有することによってロジック領域の使用可能性をある程度犠牲することが理解される。しかしながら、これによってＦＳＢ５０専用の入力ルーチングを設ける必要性を防止できることの方がより有利であると考えられる。これに代えてＦＳＢ５０は結合されたメモリ領域４０とともに入力ルーチングを共有することができるが、ロジック領域３０とともに共有する方が好適である（例えば、一般的メモリよりもロジック領域の方が多いため）。別の考えられる代替案として、各ＦＳＢ５０は１つより多い近接するローカル相互接続の領域７０からその入力を得ることができる。このことによって、ＦＳＢ５０の使用に関してこれらの領域７０によって供給が行われるロジック領域３０の使用可能性にあまり大きな影響をもたらさないことが可能となり、これはこれらの各領域７０のリソースのうちＦＳＢに向けられるものがより少なくなるからである。他方、この種の解決方式はより多くのＰＬＤ１０がＦＳＢの使用によって影響を受けることを意味しており、これはより少ない数のロジックにより大きな影響が与えられるよりも不利である思われる。
【００２７】
出力側において、ＦＳＢ５０の出力を受信するロジック要素１３０の出力ドライバを使用してこのＦＳＢの出力（またはこの出力に基づいた信号）をＰＬＤ１０の汎用相互接続へドライブアウトすることによって、このＦＳＢ出力専用の独立した出力ドライバを設ける必要性が回避される。これによって高価かつ電力消費の大きいリソース（すなわちドライバ）が大幅に抑制される。他方、ＦＳＢ５０の出力を受信するのその他のロジック要素リソースの使用可能性がＦＳＢを使用する際に少なくとも部分的に犠牲になることを意味している。しかしながら、この解決方式の別の利点は、これらの他のロジック要素リソースを使用してＦＳＢ５０の機能を必要に応じてＭＡＣあるいはマルチプライア加算器動作またはその他の同様なタスク（または複数タスク）に効果的に拡張ことが可能になる点である。
【００２８】
上記の点のうち１つはさらに強調する必要がある。各ＦＳＢ５０が３２のパラレル出力形成することが可能なため、これらの信号を利用することができる上位領域２０内の近接する３２個のロジック要素１３０がこれらの信号を大きさの順位に従って受信することができる。図１に示された例において、典型的な上位領域２０内のこれらの３２個のロジック要素は、最も左の領域３０内の１０個と、左から２番目の領域３０内の１０個と、左から３番目の領域３０内の１０個と、左から４番目の領域３０内の上２つである。（領域３０ごとに１０個のロジック要素１３０でＰＬＤ１０を形成することのみが示されており、また任意のその他の数（１０個より多いあるいは少ない（１個または２個も含めて））のロジック要素１３０で領域３０を形成することも可能である。領域３０内に異なった数のロジック要素１３０を存在させるためにＦＳＢ５０の出力配分をどのように変更するかが明白にされる。）この記述においてキャリーチェーンは図１Ａに示されるようにキャリーチェーンリード１３１によって構成されると仮定しており、従ってこれは左最上部のロジック要素１３０から開始して最も左の領域３０のロジック要素からロジック要素へ下降し、さらに左から２番目の領域３０の最上部につながりこの領域内を下降し、さらに次へとつながっている。従ってＦＳＢ５０の最も有意でない１０個の出力ビットは適宜な上位領域２０内の最も左のＰＬＣ６０＊１のグループに付加され；次に有意な１０個の出力は適宜な上位領域２０内の左から２番目のＰＬＣ６０＊２のグループに付加され；次に有意な１０個の出力は適宜な上位領域２０内の左から３番目のＰＬＣ６０＊３のグループに付加され；さらにこのＦＳＢの最も有意な２個の出力は適宜な上位領域２０内の左から４番目のＰＬＣ６０＊４のグループに付加される。
【００２９】
ＰＬＣ６０＊１から、最も有意でない１０個のＦＳＢ５０の出力ビットをこれらのビットの有意度の順に従って（すなわち、最も有意でないビットは最上のロジック領域１３０（これはキャリーチェーン内の最も有意でないポジションである）に付加され；次に有意なビットは上から２番目のロジック要素１３０（これはキャリーチェーン内の２番目に有意でないポジションである）に付加され、さらに続いている）最も左の領域３０内の１０個のロジック要素１３０にプログラムによってルーチング（結合されたローカル相互接続７０を介して）することができる。ＰＬＣ６０＊２から、次に有意でないＦＳＢ５０の１０個の出力ビットを再びこれらのビットの有意度の順に従って左から２番目の領域３０内の１０個のロジック要素１３０へプログラムによってルーチング（結合されたローカル相互接続７０を介して）することができ、従ってキャリーチェーン内において有意度したがった数列に整合させることができる。同じことをＰＬＣ６０＊３および６０＊４にも適用することができる。この方式によって、受信したロジックＦＳＢ出力のさらなる数値処理を実行するために使用し得るように、ＦＳＢ５０の出力をロジック内に好適にルーチングする。
【００３０】
ロジック領域３０への信号のルーチングに使用するために既に設けられているローカル相互接続７０＊の領域からＦＳＢ５０に対する入力を派生させることにより、ＦＳＢに柔軟な入力ルーチングの利点がもたらされ、これは柔軟なルーチングがローカル相互接続７０の典型的な特性であるためである。少なくとも既に示唆したように、メモリ４０ではなくロジック領域３０に結合されたローカル相互接続７０＊からＦＳＢ５０に対する入力を派生させることにより、各上位領域２０内のＦＳＢおよびメモリ領域の独立した動作が可能になる。
【００３１】
図２ないし図６には、図１の回路が使用されるいくつかの形式の回路例が示されている。図２において各上位領域２０内のＦＳＢ５０は最初にその上位領域内の別の回路によって使用される。例えば、ＦＳＢ５０の出力を受信（部分的には結合されたコンダクタ１１０を介して）するロジック要素１３０内のまたはこれに結合されたドライバ１３８は、リード１３９を介してＰＬＤの汎用相互接続にＦＳＢ出力信号をドライブアウトするために使用される。勿論、要素１３８および１３９を介して結果信号をドライブアウトする前に、必要に応じてＦＳＢ出力信号を処理するためにＦＳＢ５０の出力を受信するロジック要素１３０のプログラマブルロジックが使用される。
【００３２】
図３は、記録された信号を要素１３８および１３９を介してドライブアウトする前に受信するロジック要素１３０のレジスタ１３４によってＦＳＢ５０の出力信号を記録できる点を除いて図２に類似である。再び、結果信号をレジスタ１３４によって記録する前に、ロジック要素１３０のロジックを使用してＦＳＢの出力信号を処理することができる。
【００３３】
図４は、受信しているロジック要素１３０の、ＦＳＢ５０の出力信号上において累算動作を実行するためのリソースの使用が示されている点を除いて（例えばマルチプライア累算器（“ＭＡＣ”）機能を提供するために）、図２および図３の回路に類似している。ＦＳＢ５０の出力信号は、受信しているロジック要素１３０のプログラマブルロジック１３２内においてこのロジック要素のレジスタ１３４の出力と結合（すなわち加算）され、これによってレジスタによって記録する新しい数値を形成する。レジスタ出力信号も要素１３８ならびに１３９を介してドライブアウトすることができる。
【００３４】
図５には、マルチプライア加算器機能を提供するための上位領域２０のペアが示されている。例えば、上側の上位領域２０のペアについて考えてみると、そのうち上側の上位領域内のＦＳＢ５０の出力信号は下側の上位領域内の受信しているロジック要素１３０に付加される（部分的には結合されたリード１２０を介して）。上側のペアのうちの下側の上位領域内のＦＳＢ５０の出力信号も（部分的には結合されたリード１１０を介して）同一の受信しているロジック要素１３０に付加される。受信しているロジック要素のプログラマブルロジック１３２は、これら２つのＦＳＢ出力信号を加算するために使用され、結果は、レジスタ１３４によって記録するかあるいは記録しないで、要素１３８および１３９を介して出力することができる。受信しているロジック要素１３０内のまたはこれに結合されているＰＬＣ１３６は、記録された信号あるいは記録されていない信号のいずれを出力するかを選択するよう制御することができる。図５の下側のペアの上位領域２０は、上側のペアと同様に動作する。
【００３５】
図６は一般的に図５のものと同様であるが、左側の２つのマルチプライア加算器の出力を加算すための別の上位領域２０（図６の右側の１つ）の使用が示されている。汎用相互接続１４０／１５０は、左側の２つのマルチプライア累算器の出力を右側の上位領域２０内の受信しているロジック要素１３０に対してルーチングするよう使用される。この受信しているロジック要素のプログラマブルロジック１３２は、２つのマルチプライア加算器からの信号を足し合わせるために使用される。結果信号は、この加算を実行するロジック要素内のレジスタ１３４による記録を伴ってあるいはこれを伴わずに右側の上位領域２０内の要素１３８および１３９を介して出力される。右側の上位領域２０内のＰＬＣ１３６は、出力を記録するかあるいは記録しないかを決定する。
【００３６】
図６には５番目の上位領域２０内で実行される最終的な加算が示されているが、これは図６内の１つまたはいくつか左側の上位領域２０の全てまたは一部において代替的に実行し得ることが理解される。例えば、左方のいずれか１つまたは複数の上位領域は、第１レベルの積算および加算の後に残存する、第２レベルの加算を実行するために十分なリソースを有することができる。
【００３７】
図２ないし図６は単一の回路パスならびに単一回路を示すように大幅に省略されているが、これは典型的な（例えば、図１の例においては３２個までの）マルチプルパラレル回路パスおよび回路を代表的に示すものであることが理解される。図２ないし図６は、単に図１の回路を使用するように構成（すなわちプログラム）された複数の方式の例である。
【００３８】
図７には、前述したように構成されたＰＬＤ内で実施するためにしばしば必要とされる回路機能の例が示されている。図７は、時々“ダイレクトフォーム２”と呼ばれる方式で構成された、しばしば制限パルス応答（“ＦＩＲ”）フィルタと呼称されるものが示されている。ＦＩＲフィルタはデジタル信号処理（“ＤＳＰ”）において頻繁に使用される。処理すべき連続するデータは並列するグループのフリップフロップ２１０ａ−２１０ｄによって並行にシフトされる。各フリップフロップグループ２１０の連続する各パラレル出力は、パラレルマルチプライア２２０ａ−２２０ｄのうちそれぞれ１つにおいてパラレル係数Ｃ０−Ｃ３のそれぞれ１つによって乗算される。マルチプライア２２０ａ−２２０ｄの併発するパラレル出力は、パラレル加算器２３０内において足し合わされ、最終的な出力信号が形成される。図７におけるシフトレジスタ２１０の下側の全てのものが回路図６内において容易に実施し得ることが理解され、これは（前述したように）図１に示された回路の１つの考えられる構成ならびに使用形態である図７で加算器２３０によって提供される加算は、図６に示された回路においては３つの加算ロジック回路１３２内の３つの部分において実行される。
【００３９】
図８には、デジタル信号処理（“ＤＳＰ”）において頻繁に必要とされる別の回路例が示されている。これは無限パルス応答（“ＩＩＲ”）フィルタの一例である。この回路の上側部分は図７に示されたものと類似である。図８において加算器２３０への追加的な入力は、フリップフロップ２４０ａおよび２４０ｂによって遅延されるとともにパラレルマルチプライア２５０ａおよび２５０ｂにおいて追加的な係数Ｃ４およびＣ５によって乗算された加算器２３０の出力である。図７の場合と同様に、図８の上側のマルチプライアおよび加算器部分は図６に示されているものと同様に実施することができる。下側のマルチプライアおよび加算器部分は、図６の左側のペアのような、別の上位領域２０のペアにおいて実施することができる。別の上位領域２０内において最終出力は図６の右側の１つのように形成することができ、これは前記の追加的なペアの上位領域の出力ならびに図６の右側の上位領域の出力を受信および加算するものである。
【００４０】
図７および図８に示された機能を実施するために図１に示された形式の回路を容易に構成できることによって、図１の形式の回路の有用性および重要性が示される。
【００４１】
図９は、マルチプライア出力１１０／１２０をロジック要素１３０の入力とし得る信号に付加するための相互接続リソース６０／７０に追加する必要性が比較的少ないことを示すものである。マルチプライア出力１１０または１２０を受信する各ＰＬＣ６０＊は、結合されたグローバル相互接続リソース１４０等の汎用相互接続から典型的に複数（“Ｎ”）の入力を既に受信している。（図９においては先に参照符号６０＊１によって単一要素として示されたものが、より具体的に複数の独立したＰＬＣ６０＊１ａ，６０＊１ｒ，６０＊１ｂ，６０＊１ｓとして示されている。）
【００４２】
図示された説明的な構造において、マルチプライア５０から１つの追加的な入力のみを各ＰＬＣ６０に付加する必要がある。例えば、ＰＬＣ６０＊１ａは、リソース１４０からのＮ個の入力に加えてマルチプライア出力１２０のうち１つを受信する。同様に、ＰＬＣ６０＊１ｒは、リソース１４０からのＮ個の入力に加えてマルチプライア出力１１０のうち１つを受信する。ローカル相互接続リソース７０内において、ＰＬＣ６０＊１のいずれか１つの出力７２は、このローカルリソースによってプログラマブル相互接続（時にはＰＬＣの総称に含まれることもある）７４の適宜な１つを適宜にプログラムして提供されるロジック要素１３０の入力８０のいずれか１つにプログラムによって接続することができる。例えば、図９に示されたロジック要素１３０が最も有意でないマルチプライア出力ビットを受信するよう一般的に設計されていると仮定すると、ＰＬＣ６０＊１ａに接続されているマルチプライア出力リード１２０ならびにＰＬＣ６０＊１ｒに接続されているマルチプライア出力リード１１０は、別の最も有意でないマルチプライア出力ビットを伝送することができる。これらのビットのうちいずれかは、ＰＬＣ６０＊１ａあるいは６０＊１ｒおよびこれらの（およびその他）ＰＬＣ６０の出力を提供するＰＬＣ７４に結合されたＦＣＥを適宜にプログラムすることによって、図９に示されたロジック要素１３０に対してルーチングすることができる。図示されたロジック領域１３０は、前述した種々の方式のいずれかによって信号を処理することができる（例えば、記録を伴ったまたは伴わない信号の出力、またはこの信号を使用したＭＡＣの１バイナリプレースの実行等）。これに代えて、これらのマルチプライア出力ビットの両方は、適宜にプログラムされたＰＬＣ６０＊１ａおよび６０＊１ｒならびに結合された要素７２および７４を介して、図示されたロジック要素１３０の入力８０に対してそれぞれルーチングすることができる。図示されたロジック要素１３０は、これらの信号を前述したように処理することができる（例えば、マルチプライア加算器動作の一部として加算する）。図９には再び、マルチプライア５０の出力がグローバル相互接続リソース１４０および１５０等を使用しないでまたは少しだけ使用してロジック要素１３０にルーチングされることが示されている。さらに、選択された各ＰＬＣ６０に対して追加される入力が僅かに１つであるため、ルーチングを提供するローカル相互接続リソース７０への影響も比較的小さいものとなる。
【００４３】
（さらに図９を参照し）１０個のロジック要素１３０と、マルチプライア出力１１０／１２０を受信するＰＬＣ６０＊１，ＰＬＣ６０＊２等の各グループとを含む各ロジック領域３０が最大１０個の出力１１０と最大１０個の出力１２０を受信することが理解される。従って、例えばＰＬＣグループ６０＊１は１０個のマルチプライア出力１２０をそれぞれ受信するための１０個のＰＬＣ６０＊１ａ，１ｂ，１ｃ・・・、ならびにマルチプライア出力１１０をそれぞれ受信するための１０個のＰＬＣ６０＊１ｒ，１ｓ，１ｔ・・・を含んでいる。しかしながら、この構造において各ＰＬＣグループ６０（ＰＬＣグループ６０＊を含む）は２０個より多いＰＬＣを含んでいる。従ってＰＬＣ６０は部分的にのみ実装されている。勿論、（前述したように）各領域３０が１０個とは異なる多くのロジック要素１３０を備える場合、ロジック要素の数の増加または減少に適宜に比例して各領域３０に結合されるＰＬＣ６０の数が増加および減少する。信号１１０または１２０を受信するこれらのＰＬＣ６０＊の数は、領域のロジック要素の増加または減少に伴って増加あるいは減少するが、常にＰＬＣグループ内のＰＬＣの総数より小さいものに留まる。
【００４４】
図２ないし図５ならびに図９等の図面には、マルチプライア５０の出力信号を受信するためにロジック要素１３０を使用することによって、どのようにこれらのロジック要素のリソース（例えば、ロジック要素のプログラマブルロジック、レジスタ、出力ドライバ、および／または汎用および／またはグローバル相互接続への出力ルーチング）をマルチプライア出力に使用することが可能になるか、ならびにその結果マルチプライア出力を提供するために専用の追加的なリソースを設ける必要性を回避することができるかが示されている。さらに、ロジック要素へのおよびこれを介してのマルチプライア出力のルーチングによって、マルチプライア出力を図２ないし図６に示された複数のモード（すなわち、記録された出力、記録されない出力、マルチプライア累算器（“ＭＡＣ”）モード、記録を伴ったまたは伴わないマルチプライア加算器モード）のいずれかにおいて使用することが可能となる。２つの積算の結果を実行および加算するために必要とされる汎用／グローバルルーチングの総数が全体的に削減される（例えば５０％）。このパーセンテージの削減は、任意の数の積算の結果の実行ならびに加算を維持するものである。
【００４５】
図１０および図１１には、本発明の回路がどのようにＭＡＣ動作等の動作において生じた問題にどうやって対処するかが示されている。図１０には、再び基本的なＭＡＣ構造が示されている（図４と類似であるが、いくつかのバス幅の具体例を伴っている）。特に、図１０には１６ビットまでの２つのワードを積算して３２ビットまでの積算ワードを形成し得るよう構成されたマルチプライア５０が示されている。ＭＡＣ回路の加算器およびレジスタ部分は、連続する積算ワードの累算の結果として過剰に頻繁にオーバフローおよび／またはアンダフロー（単に“オーバフロー”と総称する）が発生しないことを保持するために３２ビットよりも大幅に大きな容量を有する必要がある。従って、図１０には４０ビットまでのワードを処理するために適した容量を有する加算器およびレジスタ回路部分が示されている。
【００４６】
本発明の回路の適用においては２の補数の演算が頻繁に使用されるため、マルチプライア５０の出力の符号を加算器１３２によって使用されるより有意な追加的算術桁まで拡張し得ることが好適である。（２の補数の演算において、正の数の全てのビットを変換するとともに１を加算することによって正の数値が全て等しい絶対値を有する負の数値に変換される（図１２参照）。従って全ての正の数の最も有意のビットは０となり、全ての負の数の最も有意なビットは１となる。ワード長が増加した場合、最初の最も有意な桁の０をより大きな有意性を有するものを含む全ての追加的な桁に“延長”する必要があり、最初の最も有意な桁の１も同様により大きな有意性を有するものを含む全ての追加的な桁に “延長”する必要がある。この種の操作は時に“符号拡張”と呼ばれる。）
【００４７】
図１０に示された例において、３２ビットマルチプライア出力を４０ビット加算器ロジック１３２に付加する前に自動的に“符号拡張”することが好適である。図１１には、このことが、本発明に係るマルチプライア出力回路内において本発明のさらなる特徴に従ってどのように実行されるかが示されている。図１と比較すると、図１１には代表的な上位領域２０内の左から４番目の領域３０が追加的に詳細に示されている。前述の説明に従って、別の上位領域２０内のマルチプライア５０の２つの最も有意な出力１２０が２つのＰＬＣ６０＊４ａおよび６０＊４ｂにそれぞれ付加される。同様に、同じ上位領域２０内のマルチプライア５０の最も有意な出力１１０がＰＬＣ６０＊４ｒおよび６０＊４ｓにそれぞれ付加される。加えて、このマルチプライアの最も有意な出力１１０が別の８個のＰＬＣ６０＊４ｚに付加され、加算器ロジック１３２（図示されたＰＬＣ６０のローカル相互接続出力およびその他のリソース７０／７２によって供給が行われる領域３０内の８個の追加的なロジック要素１３０によって実行される）のより有意な８個の位置にも通じている最も有意なリード１１０上の符号拡張を実行する。このことによって、最も有意なリード１１０上の前記最も有意なマルチプライア出力ビットのＭＡＣ内で実行される８個の追加的なバイナリ加算桁への拡張が達成される。（図１１に示されたものの可能な代替案として、ローカル相互接続７０はＰＬＣ６０＊４ｓの出力を８個の追加的なロジック要素１３０に付加するようプログラムすることができる。しかしながら、図１１に示されたより物理的な解決方法の方が好適である。）
【００４８】
図１１には追加的なＰＬＣ６０＊４ｚの入力が最も有意なリード１１０についてのみ示されているが、最も有意なリード１２０についても代替的または追加的に同じことを実施し得ることが理解される。
【００４９】
本発明の別の特徴は、新しいマルチプライア入力を加算または減算する能力を有するＭＡＣ動作の提供を達成することに関する。その目的は、以下の２つの操作のうちいずれかを実行することができるＭＡＣ回路を提供することである：
ＭＡＣ＝ＭＡＣ＋ＩＮＰＵＴ      （１）
または
ＭＡＣ＝ＭＡＣ−ＩＮＰＵＴ      （２）
入力減算を処理するための一般的な方法は、入力の２の補数を計算しその結果を先に累算された数値に加算することである。しかしながら、２の補数演算は反転された入力に１を加算することを必要とし、これには時間がかかるとともに、多様なワード長ならびに物理的に固定された回路要素に対して多様な位置で動作することが可能なプログラマブルロジックの適宜なポイントにおいて提供することが困難であると考えられる。この最後の点を強調すると、ＰＬＤに対して設計された最大のものよりも積算が小さい場合（例えば、最大１６×１６の積算用に設計されたＰＬＤにおける１２×１２の積算）、マルチプライア入力は一般的にマルチプライア入力バスの最も有意なビットを占有する。従って、その結果はマルチプライア結果バスの最も有意なビットを占有するものとなる。そのため、最も有意でない結果のビットが加算器の最も有意でないビットから開始されなくなる。その開始位置は積算される数値の精度に従って変動するものとなる。
【００５０】
この問題を解決するため、本発明おいて（２の補数演算ではなく）１の補数演算が使用される。（１の補数の表示は、同じ絶対値を有する正の数から負の数に反転する際に１を加算しないことを除いて２の補数の表示に類似である（図１３参照）。）前記のように１の補数理論を使用して結果（２）を形成する理論は以下のものに基づいている（ここで“！”はこれがプレフィクスとして付加された項の１の補数演算を示す）：
！ＭＡＣ＋ＩＮＰＵＴ                  （３）
＝−ＭＡＣ−１＋ＩＮＰＵＴ            （４）
！（−ＭＡＣ−１＋ＩＮＰＵＴ）        （５）
＝ＭＡＣ＋１−ＩＮＰＵＴ−１          （６）
＝ＭＡＣ−ＩＮＰＵＴ                  （７）
上記のライン（３）ないし（７）について考慮すると、ＭＡＣ−ＩＮＰＵＴは以下のものから生成される：
！（！ＭＡＣ＋ＩＮＰＵＴ）            （８）
【００５１】
図１４には、前記の式（８）による動作の実行を可能にするために代表的なモジュール１３０′を本発明に従ってどのように拡張するかが示されている。フリップフロップ１３４の出力は、真（反転されていない）または補（反転された）形式の両方においてＰＬＣ３４２に付加される。反転された形式はインバータ３４０によって形成される。ＰＬＣ３４２は、その入力のうちいずれかを選択するようＰＬＣ３２０の出力によって制御される。ＰＬＣ３２０の入力は、ＦＣＥ３１２の出力であり、また（例えば、デバイス１０（図１）のロジックまたはその他の回路の何処かからの）動的信号であり得る。ＰＬＣ３２０は、その入力のうちいずれかを出力として選択するようＦＣＥ３１０によって制御される。従って、ＰＬＣ３４２の制御は静的（ＦＣＥ３１２のプログラム状態に基づく）あるいは動的（“フォームロジック”信号の状態に基づく）のいずれかとすることができる。
【００５２】
ＰＬＣ３４２の出力信号は、加算器ロジック１３２の１つの入力としてフィードバックされる。加算器ロジックの他方の入力は、前述したようにマルチプライア５０から伝送される。加算器ロジック１３２の出力は、真および補の両方の形式でＰＬＣ３３２に付加される。補の形式はインバータ３３０によって形成される。ＰＬＣ３３２は、ＰＬＣ３４２と同じ制御信号によって同じ方式で制御される。従って、ＰＬＣ３３２の制御は静的あるいは動的のいずれかとすることができる。ＰＬＣ３３２は、受信する制御入力に基づいてその２つの別の入力信号のうちの１つを新しい累算された数値としてフリップフロップ１３４に付加するよう選択する。
【００５３】
前述の説明から、ロジック要素１３０′はその入力信号を加算または減算する累算器として動作することが明らかである。さらに、ロジック要素１３０′は、その入力を常に加算し、その入力を常に減算するか、あるいは図１４に示された“フォームロジック”信号のその時点の状態に基づいて加算または減算を変動的に行うようプログラムすることができる。
【００５４】
前述したように、本発明の種々の特徴はＦＳＢ以外のマルチプライアに適用することもできる。例えば、図１５には、ＰＬＤ１０（図１）のようなＰＬＤに含まれることが可能であるとともに前述の説明および図面における専用のパラレルマルチプライア回路５０の代わりに専用のバレルシフタ回路４００を備えることができる説明的な上位領域２０′が示されている。バレルシフタ回路４００（これは従来型のものとすることができる）は、このバレルシフタに結合された典型的機能のいずれかまたは全てを実施し得る。これらの機能は、一般的にこのバレルシフタに並列に付加されるワードのビットのいくつかの形式のシフトを含むものである。加えて、ビットがシフトされる総数（桁数）は選択可能である。例えば、バレルシフタ４００は、“算術的右（左）シフト”、“論理的右（左）シフト”、“回転右（左）シフト”等のシフトを行うことができる。さらに、バレルシフタ４００の出力を記録する、または記録しないことが必要となり得る。バレルシフタ４００は、デジタル信号処理（“ＤＳＰ”）、数値演算、ロジック動作の一部としてのビットのシフト等において広範な使用が可能である。
【００５５】
図１５に示されている説明的な実施例において、バレルシフタ４００は約４０個のパラレル入力を有することが可能である（例えばこのバレルシフタによって処理する３２ビットのワード、２ビットが実行するシフト動作のタイプを示し、６ビットがシフトされるデータの桁数を示す）。図１のマルチプライア５０の場合と同様に、バレルシフタ４００への入力１００は、これ以外の場合においてはロジックの２つの領域３０に対する主入力８０を提供するローカル相互接続７０から伝送する（少なくとも大部分）ことが好適である。この目的のために使用されるローカル相互接続７０はバレルシフタ４００に比較的近接していることが好適であるが、メモリ領域４０への主入力９０を提供するローカル相互接続ではない。従って、（マルチプライア５０の場合と同様に）バレルシフタ４００は専用の入力ルーチングは必要としない。その他の目的のために既に設けられている比較的ローカルなルーチングリソースが、バレルシフタ４００が使用される際に取り上げられる。バレルシフタ４００への入力ルーチングは、ＰＬＤのローカルまたはグローバルルーチングリソースのいずれの大幅な追加は必要とせず、この入力ルーチングは提供されているグローバルルーチングリソースに対して大幅な追加的負荷はもたらさない。選択されたロジック領域３０と共にローカルルーチング７０を共有することによって、バレルシフタ４００は、この好適な実施例において同じ上位領域２０′内のメモリ領域４０の同時使用を妨害することはない。しかしながら、代替的な実施例において、バレルシフタ４００は結合されたメモリ領域４０と共にローカルルーチング７０を共有することができる。
【００５６】
バレルシフタ４００の出力信号は、図１のマルチプライア５０によって処理される出力信号と殆ど同じ方式で処理することが好適である。特に、バレルシフタ４００の出力信号をこのバレルシフタを含む上位領域２０′内の選択されたロジック領域３０のローカルルーチングリソース６０／７０に付加するために、専用かつ比較的ローカルなルーチング４１０が設けられている。このルーチングによってバレルシフタ４００の（例えば３２個）のパラレル出力信号がこれに相当する数のロジック領域１３０に付加される。これらのロジック要素はバレルシフタの出力信号をいくつかの方式のうちいずれかで処理することができる。例えば、受信するロジック要素１３０のあるいはこれに結合された出力ドライバは、このデバイスのより汎用かつグローバルなルーチングリソース（例えば１４０／１５０）へバレルシフタの出力信号をドライブアウトするために使用することができ、これはこの受信するロジック要素のあるいはこれに結合されたレジスタ（フリップフロップ）によってこれらの信号を記録するかあるいは記録しないで実行することができる。別の例として、受信するロジック要素１３０のプログラマブルロジックはバレルシフタ出力のさらなる処理を開始するために使用することができ、結果信号はロジック要素出力ドライバによってドライブアウトすることができる（ロジック要素レジスタによる記録を伴ってあるいは伴わずに）。
【００５７】
このバレルシフタ４００の出力信号を処理する構成も数多くの利点を有する。例えば、シフトレジスタが専用に使用するための追加的な出力ドライバおよびレジスタを設ける必要性を回避することができる。最初の専用ローカル出力ルーチングの使用により、デバイスのより汎用かつ場合によってはグローバルな相互接続リソースへのバレルシフタ動作の影響を削減するものである。バレルシフタ出力信号を比較的直接的にロジック要素１３０に提供することによって、このロジック内においてこの信号の処理をより迅速に開始することが可能になる。
【００５８】
図１６には、図１に示された形式の上位領域２０ならびに図１５に詳細に示された上位領域２０′の両方を含む本発明に係る説明的なＰＬＤ１０′が示されている。説明的なＰＬＤ１０′において、上位領域の各列は、専用のマルチプライア５０を有するいくつかの上位領域２０と、専用の並列なバレルシフタ回路４００を有する上位領域２０′（列の最下部）とを含んでいる。このことはバレルシフタよりも多くのマルチプライアが必要となると予測されることを反映しているが、マルチプライアとバレルシフタの比率は任意に実施することができる。
【００５９】
図１７には、以前の図面または記述によって示された説明的な回路を広範な機能特定ブロック（“ＦＳＢ”）５００によってどのように構成するかが示されている。図１７に示されたＦＳＢ５００は、マルチプライア５０およびバレルシフタ４００が以前の図面とは異なって配置される上位領域２０″の回路に配置および接続されている。従ってＦＳＢ５００は、前述したマルチプライア５０またはバレルシフタ４００の入力および出力ルーチングと同様な入力（１００）および出力（５１０）ルーチングを有する。ＦＳＢ５００が形成し得るその他の具体例は、（１）並列算術ロジックユニット（“ＡＬＵ”）、（２）並列ガロア域（“ＧＦ”）マルチプライア、ならびに（３）ＳＩＭＤ（単一指令マルチデータ）処理のために使用される小型マルチプライアアレーである。当業者においては、さらに他の例も連想されよう。
【００６０】
図１８には、前述したものがより一般化して示されている。代表的なロジック要素６２０は、プログラマブルロジック（例えばプログラム可能な４入力ルックアップテーブル）６２２と、ロジック６２２の出力を記録するためのレジスタ６２４と、記録されていないロジック６２２の出力またはレジスタ６２４の出力のいずれかを伝送するためのＰＬＣ６２６と、ＰＬＣ６２６の出力をＰＬＤ６１０のグローバルルーチングリソース６３０に対してドライブアウトするための出力ドライバ６２８とを備えている。ロジック要素６２０は、ローカルルーチング６４０を介してグローバルルーチング６３０からその入力（または少なくとも初期データ入力の一部）を受信する。ローカルルーチング６４０は、代替的に並列機能特定ブロック６５０（例えば前述したいずれかの形式の）の出力をロジック要素６２０の入力に付加するために使用することができる。既に指摘したように、この構成によってＦＳＢ６５０に対して専用のレジスタおよび／または出力ドライバを設ける必要性を回避する利点がもたらされる。さらに、ＦＳＢ６５０の迅速な出力のためにグローバルルーチングを使用する必要性も回避する。
【００６１】
図１９は、図１８に一般化して示されたものに対してＦＳＢの入力側を追加したものである。特に、図１９には別のロジック要素６２０′と共有しているローカル相互接続リソース６４０′から入力信号を受信するＦＳＢ６５０が示されている。これは、前述したように、（１）ＦＳＢ６５０に対してグローバルリソースを使用するかまたは追加的なローカルリソースを設ける必要性を回避し、（２）ロジック要素６２０′等に対して既に提供されている柔軟な入力ルーチングの高い自由度をＦＳＢ６５０に対して付与する利点をもたらす。
【００６２】
以前の図面（図１８および図１９以外）に説明的なＰＬＤ構造内の特定の位置に機能特定ブロックを設けることが一般的に示されているが、本発明はその他のＰＬＤ構造に対して同様に適用することができ、またその構造において別の位置にＦＳＢを配置し得ることが理解される。本発明の視点を逸脱することなく、前述した原理にその他の変更をなすことも可能である。図２０および図２１にはこれら変更のいくつかの例が示されている。
【００６３】
図２０において、ＦＳＢ７３０は、２つのプログラマブルロジック領域３０とこれらの領域に対する供給を行うローカル相互接続７０との間に配置されている。ＦＳＢ７３０は、これら２つの領域３０のローカル相互接続７０からその入力７２０を受信する。従って、ＦＳＢ７３０は、このローカル相互接続７０をこれらの領域３０と共有し、従ってその入力ために追加的かつ専用のローカル相互接続を設けることを必要としない。以前に説明した実施例と同様に、このことによってグローバル相互接続を節約し、追加的なローカル相互接続の必要性を回避し、ロジック領域３０内に設けられている入力ルーチングによってＦＳＢ７３０に対して高い自由度を有する柔軟な入力ルーチングを付与する利点をもたらす。
【００６４】
出力側において、ＦＳＢ７３０は、この領域を形成してロジック要素１３０の出力ドライバ１３８を近接するロジック領域３０と共有している。このことを説明するため、図示されたロジック要素１３０の出力ドライバ１３８がロジックの要素ボックスから分離して外側に示されている。各ロジック要素の他の成分の出力信号１３７は、結合されたＰＬＣ７５０の１つの入力に付加される。ＦＳＢ７３０の出力信号７４０の１つは、各ＰＬＣ７５０の別の入力に付加される。各ＰＬＣ７５０は、結合された出力ドライバ１３８にその入力いずれかを選択して付加するようプログラムすることができる。各ドライバ１３８の出力１３９はグローバル相互接続１４０に付加される。前記の実施例に示されているように、このロジック要素１３０との間における出力ドライバ１３８の共有によって、ＦＳＢ７３０に対して追加的かつ専用の出力ドライバを設ける必要性が回避される。この実施例において、ＦＳＢによって使用するために“盗用”した出力ドライバ１３８は、ＦＳＢへの入力を提供するために入力相互接続７０を“盗用”された同じロジックデバイス１３０の出力ドライバであることが理解される。従って、ＦＳＢ７３０を使用することによる影響は、このロジック領域１３０のみに大幅に制限される。
【００６５】
図２１には、本発明の別の説明的な実施例の代表的な部分が示されている。この実施例において、ＦＳＢ８３０は２つのプログラマブルロジック領域３０の間に配置されている。ＦＳＢ８３０は、領域３０内のロジック領域１３０の回路からその入力信号を受信する。例えば、これらのロジック要素１３０のそれぞれの中のリード１３７（図６参照）上の信号は、ＦＳＢ８３０への入力として使用することができる。これに代えて、これらのロジック要素と関連付けられた各信号をＦＳＢ入力として使用することができる。
【００６６】
ＦＳＢ８３０の各出力はそれぞれ適宜なＰＬＣ８５０の入力の１つに付加される。ＰＬＣ８５０の別の入力は、ＦＳＢ８３０がそれから入力信号を受信することができる各ロジック要素１３０の１つからの信号である。（図２１にはＦＳＢ８３０の入力およびＰＬＣ８５０の両方に伝送される同一のロジック要素信号１３７が示されているが、これらはロジック要素の異なった信号によって代替し得ることが理解される。）各ＰＬＣ８５０は、その入力信号のうち１つを出力ドライバ１３８に対して出力するよう選択する。図２０の実施例において示されたように、ドライバ１３８は、ＦＳＢ８３０がそれから入力を受信するロジック要素１３０の名義的な部分である出力ドライバとすることができる。ドライバ１３８は、図２０と同様に、これに付加された信号をグローバル相互接続１４０にドライブする。
【００６７】
前述の説明から、図２１の実施例においてＦＳＢ８３０が近接するロジック要素１３０とともにこのロジック要素の出力ドライバ１３８を共有することが理解される。ＦＳＢ８３０は、その入力信号１３７を近接するロジック要素１３０から直接得ることによって、これらのロジック要素との間においてそのロジック要素のその他のリソースも共有する。例えば、ＦＳＢ８３０はこのロジック要素の入力ルーチングリソース７０および場合によってレジスタ１３４を利用し、これによってＦＳＢ８３０に対する追加的かつ独立した専用入力リソースおよび／またはこのＦＳＢに対する追加的かつ独立した専用レジスタを設ける必要性が回避される。
【００６８】
図２２には、本発明のプログラマブルロジックデバイス１０／１０′／６１０／６１０′／７１０／８１０（今後は単に参照符号１０で示す）をデータ処理システム１００２内で使用する実施例が示されている。データ処理システム１００２は以下の構成要素のうち１つまたは複数を備えており：それらはプロセッサ１００４；メモリ１００６；Ｉ／Ｏ回路１００８；および周辺デバイス１０１０である。これらの構成要素はシステムバス１０２０を介して互いに結合され、エンドユーザシステム１０４０内に内蔵された回路基板１０３０上に装備されている。
【００６９】
システム１００２は、コンピュータネットワーキング、データネットワーキング、ビデオ処理、デジタル信号処理、またはプログラマブルあるいはリプログラマブルロジックデバイスの利点を活用することが望まれる、広範な適用形態で使用することができる。プログラマブルロジックデバイス１０は多様なロジック機能を広範囲に実行するために使用することができる。例えば、プログラマブルロジックデバイス１０はプロセッサ１００４と組合わされて動作するプロセッサまたはコントローラとして構成することができる。プログラマブルロジックデバイス１０は、さらにシステム１００２内の共有リソースへのアクセスを仲介するアービタとして構成することもできる。さらに別の例として、プログラマブルロジックデバイス１０は、プロセッサ１００４とシステム１００２内の他の構成要素との間のインタフェースとして構成することもできる。システム１００２は１つの例であり、本発明の範囲ならびに精神は請求の範囲によってのみ定義されることは勿論である。
【００７０】
本発明の特徴を有するプログラマブルロジックデバイス１０ならびにこれらのデバイスの種々の構成要素（例えば、先述したＰＬＣおよびこのＰＬＣを制御するプログラム可能な機能制御要素（“ＦＣＥ”）を実施するために多様な技術を使用することができる。例えば、各ＰＬＣは、いくつかの入力を１つの出力に接続するためのスイッチまたはスイッチ群等の比較的単純なプログラマブルコネクタとすることができる。他方、各ＰＬＣは、接続を行うだけでなくロジック（例えば、複数の入力のロジック結合）を実行することができるより複雑な要素とすることもできる。後者において、各ＰＬＣはＡＮＤ、ＮＡＮＤ、ＯＲ、またはＮＯＲ等の機能を実施するｐ項ロジックとすることができる。ＰＬＣを構成するために適した要素の例としては、ＥＰＲＯＭ、ＥＥＰＲＯＭ、パストランジスタ、伝達ゲート、アンチヒューズ、レーザヒューズ、メタルオプショナルリンク等が挙げられる。前述したように、ＰＬＣおよびその他の回路要素は、多様なプログラマブル機能制御要素（“ＦＣＥ”）によって制御することができる。（特定のＰＬＣ実施形態（例えばヒューズおよびメタルオプショナルリンク）を使用すれば独立したＦＣＥデバイスは必要でない。）ＦＣＥもいくつかの異なった方式で実施することができる。例えば、ＦＣＥは、ＳＲＡＭ、ＤＲＡＭ、先入れ先出し（“ＦＩＦＯ”）メモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、機能制御レジスタ（例えば、ウォールストロームの米国特許第３４７３１６０号に記載）、強誘電メモリ、ヒューズ、アンチヒューズ等から構成することができる。前述の多様な例から、本発明は一回のみプログラム可能なデバイスおよびリプログラム可能なデバイスの両方に適用可能であることが理解される。
【００７１】
以上の記述は単に本発明の原理を説明したものであり、当業者においては本発明の視点および精神を逸脱することなく種々の設計変更をなし得ることは勿論である。ＰＬＤ上の種々のリソースの数は、図示ならびに記述された実施例とは異なった数とすることができる。
【図面の簡単な説明】
【図１】本発明に従って構成されたプログラマブルロジックデバイスの説明的な実施例を示す簡略化された概略ブロック線図である。
【図１Ａ】図１のデバイスの典型的な構成要素をより詳細に示すものであるがなお簡略化された概略ブロック線図である。
【図２】図１の本発明に係る回路部分の説明的な使用形態を示す簡略化された概略ブロック線図である。
【図３】図１の本発明に係る回路部分の別の説明的な使用形態を示す簡略化された概略ブロック線図である。
【図４】図１の本発明に係る回路部分のさらに別の説明的な使用形態を示す簡略化された概略ブロック線図である。
【図５】図１の本発明に係る回路部分のさらに別の説明的な使用形態を示す簡略化された概略ブロック線図である。
【図６】図１の本発明に係る回路部分のさらに別の説明的な使用形態を示す簡略化された概略ブロック線図である。
【図７】図１に示された本発明に係る回路において簡便に実施し得る従来の方式の回路を示す簡略化された概略ブロック線図である。
【図８】図１に示された本発明に係る回路において簡便に実施し得る別の従来の方式の回路を示す簡略化された概略ブロック線図である。
【図９】図１の回路の代表的な構成部分をより詳細に示す簡略化された概略ブロック線図である。
【図１０】図１の回路の一部分の可能な構成ならびに使用形態を示す概略ブロック線図である。
【図１１】一般的に図９と類似であるが本発明の別の可能な構成を示す概略ブロック線図である。
【図１２】本発明の特定の形態において使用することができる従来式のバイナリコーディングスキームを示す表である。
【図１３】本発明の特定の形態において使用することができる別の従来式のバイナリコーディングスキームを示す表である。
【図１４】本発明に従って使用することができる回路の説明的な実施例を示す簡略化された概略ブロック線図である。
【図１５】本発明の別の説明的な実施例の代表的な部分を示す簡略化された概略ブロック線図である。
【図１６】図１５に示された本発明回路の代表的な使用形態を示す概略ブロック線図である。
【図１７】本発明のさらに別の説明的な実施例の代表的な部分を示す簡略化された概略ブロック線図である。
【図１８】本発明のいくつかの可能な実施例を総括的に示す簡略化された概略ブロック線図である。
【図１９】図１８に類似のものであり本発明のいくつかの実施例の可能な追加的構成形態を総括的に示す簡略化された概略ブロック線図である。
【図２０】本発明の説明的な実施例の代表的な部分を示す簡略化された概略ブロック線図である。
【図２１】本発明の説明的な実施例の代表的な部分を示す簡略化された概略ブロック線図である。
【図２２】本発明に係るプログラマブルロジックデバイスを使用する説明的なシステムを示す簡略化された概略ブロック線図である。
【図１】
0004880143.tif 000002
【図１Ａ】
0004880143.tif 000003
【図２】
0004880143.tif 000004
【図３】
0004880143.tif 000005
【図４】
0004880143.tif 000006
【図５】
0004880143.tif 000007
【図６】
0004880143.tif 000008
【図７】
0004880143.tif 000009
【図８】
0004880143.tif 000010
【図９】
0004880143.tif 000011
【図１０】
0004880143.tif 000012
【図１１】
0004880143.tif 000013
【図１２】
0004880143.tif 000014
【図１３】
0004880143.tif 000015
【図１４】
0004880143.tif 000016
【図１５】
0004880143.tif 000017
【図１６】
0004880143.tif 000018
【図１７】
0004880143.tif 000019
【図１８】
0004880143.tif 000020
【図１９】
0004880143.tif 000021
【図２０】
0004880143.tif 000022
【図２１】
0004880143.tif 000023
【図２２】
0004880143.tif 000024