(57)【特許請求の範囲】
【請求項１】
論理ブロックのアレーを含むプログラマブルロジックデバイスであって、各論理ブロックが少なくとも一つの回路、すなわち
第１の入力信号（Ａi ）を供給する入力端子と、
桁上げ入力端子（Ｃi ）および桁上げ出力端子（Ｃi+1 ）と、
前記入力端子および前記桁上げ入力端子の一方を前記桁上げ出力端子に接続する桁上げ連鎖マルチプレクサ（９２３）と、
前記第１の入力信号と少なくとも一つの他の入力信号との関数を発生する参照用テーブル（９０３）と、
前記参照用テーブルから供給される信号を含む少なくとも二つの入力信号から選択を行うように制御され前記桁上げ連鎖マルチプレクサを制御する制御マルチプレクサ（８０４）と
を含む少なくとも一つの回路を備えるプログラマブルロジックデバイス。
【請求項２】
論理ブロックのアレーを含むプログラマブルロジックデバイスであって、各論理ブロックが少なくとも一つの回路、すなわち
第１の入力信号（Ａi ）を供給する入力端子と、
前記第１の入力信号およびもう一つの信号の一方を出力として生ずる入力選択マルチプレクサ（８０１）と、
桁上げ入力端子（Ｃi ）および桁上げ出力端子（Ｃi+1 ）と、
前記入力選択マルチプレクサの前記出力および前記桁上げ入力端子の一方を前記桁上げ出力端子に接続する桁上げ連鎖マルチプレクサ（９２３）と、
前記桁上げ連鎖マルチプレクサを制御できる信号を発生する参照用テーブル（９０３）と
を含む少なくとも一つの回路を備えるプログラマブルロジックデバイス。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は大規模集積回路に関し、とくにプログラム可能なまたは回路配置融通性あるロジックデバイスに関する。
【０００２】
【発明が解決しようとする課題】
プログラマブルロジックデバイス内で行われる機能の一つに算術演算がある。この発明の譲受人ジリンクス，インコーポレーテッド発売の回路配置融通性あるロジックアレーなどのデバイスは算術演算のほか多数の論理演算を行うことができる。それらデバイスは米国特許第４，８７０，３０２号、同第４，７０６，２１６号、および同第５，３４３，４０６号に記載してあり、それら記載を特許番号を引用してこの出願の明細書に組み入れる。これらデバイスは汎用機能を意図したものであるので、算術演算は比較的低速であるほか所要シリコン面積も大きい。
バークナー（Ｂｉｒｋｎｅｒ）名義の米国特許第４，１２４，８９９号記載のプログラマブルアレーロジックデバイスおよびエルガマルほか（Ｅｌｇａｍａｌｅｔ  ａｌ）名義の米国特許第４，７８５，７４５号記載のユーザプログラマブルデバイスなど上記以外のプログラマブルロジックデバイスも算術演算用にプログラム可能である。これらデバイスにおいては、算術演算ほかの機能すなわち桁上げ論理を用いる機能の実行の速度は桁上げ信号の伝達の速度により制限される。また、桁上げ機能を実動化するのに用いる汎用論理が重要である。
ロジックデバイスが算術演算をいかに行うか、とくに遅延の原因は何であるかの理解のために、算術演算機能に関する以下の説明は加算器に焦点を絞って行う。しかし、この説明は減算器、インクリメンタ、デクリメンタ、アキュムレータほか桁上げ論理を用いる回路に該当するよう容易に拡張できる。
また、以下の説明はマルチビット加算器の中間段の動作を中心に行う。最下位ビットは、それ以下の位のビットからの桁上げ信号があり得ないので特別な場合である。最上位ビットも、桁上げビットが算術溢れの確定に使えるので特別な場合である。これら二つの特別な場合はより詳しく後述する。
【０００３】
図１ａ、１ｂおよび２を参照して、単一ビット桁上げ伝搬加算器（図１ａおよび図１ｂ）の動作速度、したがって単一ビット加算器の縦続接続から成るマルチビット桁上げ伝搬加算器の動作速度が、桁上げ入力端子への信号の桁上げ出力端子への伝達速度にいかに制約されるかを次に述べる。
図１ａに示す単一ビット加算器の動作を定めるブーレ論理式は
（１）  Ｓi ＝（Ａi ∪Ｂi ）∪Ｃi 
（２）  Ｃi+1 ＝Ａi ・Ｂi ＋（Ａi ∪Ｂi ）・Ｃi 
ここで∪は排他的論理和（ＸＯＲ）演算を表わし、
・は論理積（ＡＮＤ）演算を表わし、
＋は論理和（ＯＲ）演算を表わす。
式（１）は和が単一ビットＡi およびＢi の加算に加えてより下位のビットからの桁上げの関数であることを示している。式（１）および（２）の桁上げ伝搬加算器アルゴリズムは特定ビットに対する和が先行ビットからの桁上げ出力の発生まで計算できないことを示している。和Ｓi はＸＯＲゲートの出力であり、そのゲートの入力、すなわちその一つが桁上げ入力信号Ｃi から成る入力の各々が有効になるまで発生できないのである。
また、桁上げ出力Ｃi+1 も、より下位の桁上げビットＣi が有効になるまで発生できない。ここで図２を参照して、桁上げ伝搬加算器の相次ぐ段を通じた桁上げ信号の伝搬を説明する。第２の加算段Ａｄｄi+1 間のＡＮＤゲートはその入力の一つをＸＯＲゲート６６の出力から１ゲート分遅延ののちに受ける。しかし、桁上げ入力信号Ｃi が予め設定されている（すなわち、Ａｄｄi は最下位ビットである）とすると、ＡＮＤゲート６７は、Ａi およびＢi の影響がゲート６１、６２および６２を伝達されて、他方の入力すなわちより下位のビットからの桁上げ出力Ｃi+1 がより下位のビットＣi および加算すべきより下位のビットＡi およびＢi の桁上げにより発生される前に上記伝達を完了するまでさらに３ゲート分の遅延だけ待つことができよう。また、第２のビットＡｄｄi+1 の桁上げ出力Ｃi+2 は、桁上げビットＣi+1 の発生後さらに２ゲート分だけ遅延を受ける。すなわち、Ａi+1 およびＢi+1 についての入力を信号Ｃi+1 に組み合わせてＣi+2 を発生するには、Ｃi+1 をＡＮＤゲート６７およびＯＲゲート７０経由で伝達しなければならない。したがって、第３段への入力のための有効な桁上げ信号
Ｃi+2 は、入力信号Ａi およびＢi の印加から５ゲート分の遅延時点まで得られない。このように、慣用の桁上げ伝搬加算器の動作速度は桁上げ信号の伝達により制約を受ける。慣用の桁上げ伝搬加算器の伝搬遅延は２ｎ＋１ゲート分である。ここでｎは複数ビット加算器内の段数である。
【０００４】
加算はそれ以外の多数の重要な演算の基礎であるので、桁上げ伝搬時間の高速化により高速加算回路を実現することはコンピュータ産業にとって重要である。概括的にいうと、構成素子密度および複雑性を犠牲にして桁上げ伝搬速度を確保するのが通常の手法である。
より高速の桁上げ伝搬を達成する周知のアルゴリズムの一つは桁上げ先見論理と呼ばれるものである。この桁上げ先見論理を実動化する回路を図３に示す。この論理を理解するには二つの新たな変数を導入する必要がある。すなわち、
（３）  Ｐi ＝Ａi ∪Ｂi 
（４）  Ｇi ＝Ａi ・Ｂi 
変数Ｐは、その値が大きいとき桁上げ入力が桁上げ出力に伝搬されるので「桁上げ伝搬」と呼ばれる。変数Ｇは、その値が大きいとき加算中にビットにより桁上げ出力が生ずるので「桁上げ発生」と呼ばれる。これら新たな変数によって式（１）および（２）は次のとおり変形できる、すなわち
（５）  Ｓi ＝Ｐi ∪Ｃi 
（６）  Ｃi+1 ＝Ｇi ＋Ｐi ・Ｃi 
式（６）は、若干の代数の操作を加えて、新たな式すなわち各レベルでの桁上げビットが各レベルの加数および最下位の桁上げビットのみに左右される旨の式に変形するのに使うことができる。図３に示した４ビット加算器において次の式を実動化できる。すなわち、
0003697302.tif 000002
Ｇi およびＰi の各々は式（３）および（４）に示されるとおりＡi およびＢi のみの関数であり、先行の桁上げ値の関数ではない。また、式（７)(ｂ）に示されるとおり、Ｃ2 はＧ1 、Ｐ1 およびＣ1 の関数として計算され、式（７)(ｃ）に示されるとおり、Ｃ3 はＧ2 、Ｐ2 およびＣ2 の関数として計算される。しかし、Ｃ2 はＣ1 によって解かれているので、Ｃ3 もＣ1 によって解くことができる。式（７)(ｄ）およびより一般的な式（６）を注意深くみると、Ｃi+1 の各々がいくつかのＧi 、Ｐi およびＣ1 の関数であることが明らかになろう。図３にみられるとおり、より下位のビットの隣接上位ビットへの印加は和の計算だけのためであって桁上げビットの計算のためではない。各桁上げビットはいくつかのＧi 、Ｐi およびＣ1 の関数であるので最下位ビット以外のビットの桁上げ出力には左右されない。このように、桁上げ先見回路の桁上げ伝搬遅延は加算対象のビットの数には左右されない。
【０００５】
図３および図１ａをさらに参照すると、入力信号（ＡおよびＢ）の印加から一つの加算回路段の発生出力（Ｇi ）および伝搬出力（Ｐi ）への有効出力信号出現までの遅延は１ゲート分（図１ａから認識できる）である。図３において桁上げ先見回路の桁上げ回復部によって加わる遅延は２ゲート分であり、したがって、加算器への入力信号印加から最後の桁上げビット発生までの遅延は３ゲート分となる。この関係は加算対象のビットの数には左右されない。複数ビット加算回路については、遅延は慣用の桁上げ伝搬加算器の遅延よりも大幅に小さくなる。しかし、段数の増加とともに回路素子数が大幅に増加する。桁上げ先見論理は、複数ビット加算器の１段の実動化に慣用の桁上げ伝搬加算器よりもずっと多い素子数を要する。すなわち、桁上げ伝搬の高速化が素子の高密度化を要することが上の説明から理解されよう。
図４は加算回路を実動化するための回路素子のもう一つの例を示す。図４の加算回路は非常に高速であるが図３の加算回路と同様に多数の回路素子を用いている。この例においても、高速桁上げ論理は素子の高密度化を伴っている。
ジリンクス，インコーポレーテッド  １９８９年発行のジリンクス社「プログラマブルゲートアレーデータブック」第６−３０頁乃至第６−４４頁には、従来の同社製プログラマブルロジックデバイスに実動化可能な種々の加算器および計数器が示してある。上記ジリンクス社データブックの上記頁を引用してその記載をこの明細書に組み入れる。同データブックの著作権者であるジリンクス，インコーポレーテッドは同データブックの上記頁の複写については何ら異存はないが、それ以外については著作権の権利を留保する。図４の加算回路は上記ジリンクス社データブックの第６−３０頁に示してある。図５は計数器を示し、同データブックの第６−３４頁に示してある。すなわち、図４および図５はこれまでのジリンクス社製品で行われる算術演算の応用を示す。これらジリンクス社製品では、和の計算には一つの関数発生器が必要となり、桁上げ関数の計算にはもう一つの関数発生器が必要となる。これら二つの関数発生器は、ジリンクス社製の慣用の回路配置融通性あるロジックアレーの一つの論理ブロックに通常は組み入れられている。
【０００６】
このように、図４および図５の加算回路においても、これら以外のジリンクス社製の従来の加算回路においても、加算器または計数器の各段を実動化するには少なくとも二つの関数発生器が必要になる。
図６ｃの真数表は加算対象の二つの単一ビット、すなわち桁上げ入力ビットおよび桁上げ出力ビットの間の論理関係を示す。この真数表を注意深く分析すると有用なパターンが得られる。ＡとＢとが等しいとき（すなわち１、２、７および８行目）は、桁上げ出力Ｃout ビットはＡおよびＢの値である。ＡとＢとが等しくないとき（３〜６行目）は、桁上げ出力Ｃout ビットの値は桁上げ入力ビットＣinの値である。このパターンを等価ブーレ論理式は次のように表わす。
すなわち、
（１０）  Ｃout ＝（Ａ∪Ｂ）・（Ｃin）＋反転（Ａ∪Ｂ）・Ａ
（１２）  Ｃout ＝（Ａ∪Ｂ）・（Ｃin）＋反転（Ａ∪Ｂ）・Ａ
図６ａに示した回路は式（１０）を実動化する。この回路は二つの条件を満足する。ＡとＢとが等しくないときは、桁上げ入力端子の信号が桁上げ出力端子に送られ、ＡとＢとが等しいときは、Ａの信号が桁上げ出力端子に送られる。図６ａに示すとおり、加算対象の二つの単一ビットすなわちＡおよびＢはＸＯＲゲート５１の二つの入力端子に加えられる。ＡとＢとが等しい場合は、ＸＯＲゲート５１からのロウ出力信号がパストランジスタＴ１をオンにしパストランジスタＴ２をオフにし、Ａから桁上げ出力端子ＣOUT に信号を通過させる。ＡとＢとが等しくない場合は、ＸＯＲゲート５１の出力はハイとなり、パストランジスタＴ２をオンにしパストランジスタＴ１をオフにする。これによって、桁上げ入力端子
ＣINの信号を桁上げ出力端子ＣOUT に通過させる。
【０００７】
図７ａは全加算器を示す。図６ｂおよび図７ｂは、図６ａおよび図７ａの回路の代表的表示をそれぞれ示す。図６ａおよび図７ａのインバータおよびトランジスタは図６ｂおよび７ｂではマルチプレクサＭとして表示してある。
図２と図７ａとの比較によって、上述の高速桁上げ論理が慣用の桁上げ伝搬加算器よりも高速の桁上げ信号伝搬を提供することが明らかになろう。図７ａはこの発明による全加算器の回路構成の一つの段を示す。桁上げ伝搬は図６ａについて上に述べたとおり制御される。上述のとおり、また図２に図示のとおり、慣用の桁上げ伝搬加算器の伝搬遅延は、加算対象ビット対あたり１ＡＮＤゲート分プラス１ＯＲゲート分プラス１ＸＯＲゲート分である。これに対して、この発明による回路の最悪の場合の遅延は、図７ａに示すとおり、入力信号の一方、すなわちこの場合はＢi が桁上げ出力信号まで伝搬されたとき、すなわちこの信号がＸＯＲゲート９１プラスインバータ９２を通過しパストランジスタ９３をオンにしたときに生ずる。この状態は加算対象のビット全体について同時に生ずる。桁上げ信号がトランジスタ９４などトランジスタの長い列を伝搬する際の伝搬遅延は加算結果の発生のためのゲート遅延に比べてごく小さい追加遅延になるだけである。図７ａに示したような四つの全加算器を縦続接続すると、最悪の場合の出力信号Ｃout はＸＯＲゲート遅延プラスインバータ遅延プラス四つのパストランジスタのごく小さい伝搬遅延ののちに発生する。
【０００８】
【課題を解決するための手段】
この発明によると、回路配置融通性ある論理ブロックを有し高速桁上げ論理を実動化する回路を備えるプログラマブルロジックデバイスを提供できる。加算器、減算器、累算器およびこれら以外の機能回路すなわち桁上げ論理を用いた回路を実動化する際にはこの高速桁上げ論理回路が有用である。高速桁上げ通路は回路配置融通性あるロジックアレー内の専用ハードウェアおよび専用相互配線回路で実現でき、桁上げ信号発生のための桁上げ伝搬信号はプログラム可能な関数発生器で発生できる。この専用桁上げ通路回路は桁上げ信号の高速伝搬と桁上げ論理利用の論理機能の高密度化を可能にする。桁上げ伝搬信号は和の発生にも用いる。いくつかの実施例、すなわち和をプログラム可能な関数発生器で発生するものと、専用ＸＯＲゲートで発生するものと、桁上げ伝搬信号発生用ハードウェアで他の論理機能も発生できるものとを説明する。
一つの実施例においては、桁上げ論理を用いた回路は従来技術の回路よりも約４倍高速であり、約半数の論理ブロックで実現可能であり、汎用ロジック資源を他の機能に振り向けることを可能にする。また、一つの実施例は、定数と変数との間の加算または減算をその定数の提供のための相互配線回路を用いることなく可能にする。
【０００９】
この発明は、二つの論理的に等価の桁上げ機能、すなわち、
（８）  Ｃi+1 ＝（Ａi ∪Ｂi ）・（Ｃi ）＋（Ａi ∪Ｂi ）・Ｂi 
（９）  Ｃi+1 ＝（Ａi ∪Ｂi ）・（Ｃi ）＋（Ａi ∪Ｂi ）・Ａi 
の一つのブーレ関数簡略化を利用する。
高速桁上げ通路は上記Ｃi 関数を受け上記Ｃi+1 関数を発生する。上記式のＡi およびＢi のＸＯＲ関数は参照用テーブル関数発生器から発生する。桁上げ通路は、一つのビットの桁上げ出力を次のビットの桁上げ入力に接続した状態でアレーの形に実動化する。高速桁上げ通路はこのようにして実現される。一つの実施例では、和の関数Ｓi を１ビットあたり二つ以上の関数発生器を要することなく発生できるようにＸＯＲゲートも備えてある。
桁上げ論理ハードウェアを汎用論理ブロックと関連して回路配置融通性ある論理アレーに組み入れたときは、この高速桁上げ論理回路には、近接論理ブロックの桁上げ入力と桁上げ出力との間に機能向上用の専用相互配線構造を備えるのが好ましい。
桁上げ論理ハードウェアには桁上げ信号発生用であって組合せ論理機能も発生できるマルチプレクサなど他の構成も含めることができる。
【００１０】
【実施例】
図８ａは回路配置融通性ある論理ブロック内で桁上げ論理を実動化する従来の回路を示す。図８ｂはこの発明による回路を示す。この発明によると、算術演算論理はプログラム可能なデバイスおよびハードウェアの組合せに実動化できる。従来技術のデバイスの場合と同様に、桁上げ通路は、高速度達成のために図８ａにおけるＭＵＸ９１３および図８ｂにおけるＭＵＸ９２３を含むハードウェアで実動化する。図８ａに示すとおり、入力信号を受けるためのデータ変形機能回路９１１およびＸＯＲゲート９１２も専用ハードウェアで実動化し、和の計算のための追加のデータ変形機能回路９１４および９１７およびＸＯＲゲート９１５および９１７はプログラム可能な関数発生器９０２に実動化する。
図８ｂにおいて、データ変形回路９２１およびＸＯＲゲート９２２は機能発生器９０３に実動化し、和の計算のためのＸＯＲゲート９２６は、プログラム可能な関数発生器または専用ＸＯＲゲートであるユニット９０４に実動化する。
図８ｃは図８ｂの場合と同様に高速桁上げ論理を実動化でき、使用頻度の高いいくつかの論理機能を代替的に実動化できるこの発明のもう一つの回路を示す。マルチプレクサ８０１および８０４によって、ユーザは、図８ｂと同様に信号を転送するか、桁上げマルチプレクサ９２３の入力端子および制御端子に一定の０または１をそれぞれ供給するかを選択できる。この選択を行うようにメモリセル８０３および８０６でマルチプレクサ８０１および８０４をそれぞれ制御する。マルチプレクサ８０１および８０４が関数発生器９０３のＡi 信号およびＦ出力をそれぞれ転送している場合は、図８ｃの回路は図８ｂの回路と同様に動作する。図８ｃにおいて、マルチプレクサ８０１および８０４は表Ｉに示すような図８ｂの回路のもたらす機能かそれ以外の組合せ機能かをユーザが選択することを可能にする。マルチプレクサ８０４は、桁上げ連鎖が演算のスキップまたは始動に用いられている際に桁上げ連鎖とは独立に関数発生器９０３を用いることを可能にする。
【００１１】
0003697302.tif 000003
表Ｉの機能はすべて通常用いられている機能である。二つのマルチプレクサ８０１および８０４を制御用のメモリセル８０２，８０３，８０５および８０６とともに付加したことにより、チップ表面積の増加をほとんど伴うことなく図８ｂの回路の機能を強化できる。
マルチプレクサ８０４は三つのモードの選択を可能にする。算術演算においてはマルチプレクサ８０４は関数発生器９０３のＦ出力を供給する（関数発生器９０３は図８ｂに示すようにプログラムされている）。マルチプレクサ８０４はメモリセル８０５から一定の信号を供給するようにプログラムすることもできる。
【００１２】
セル８０５の論理０でマルチプレクサ９２３はマルチプレクサ８０１から入力を受ける。メモリセル８０２から供給される一定信号を桁上げ動作の始動のために供給することもできる。マルチプレクサ８０１が備わっていない場合も、マルチプレクサ８０４でＡi 信号を桁上げ出力端子Ｃi+1 に経路付与できる。セル８０５の論理１でマルチプレクサ９２３が論理ブロックをスキップするようにすることもできる。
マルチプレクサ８０１は、算術演算の場合の桁上げ値の始動、論理演算の場合のＡＮＤ機能（メモリセル８０２への論理１の入力による）またはＯＲ機能（メモリセル８０２への論理０の入力による）の始動に使用できる。また、マルチプレクサ９２３をＣi およびＦi のＡＮＤまたはＯＲ出力の発生に用いた場合は、マルチプレクサ８０１は一定値（ＡＮＤ機能の場合は、０、ＯＲ機能の場合は１）を生ずる。このように、マルチプレクサ８０１および８０４は単独でも図８ｃのような組合せでもこれら以外の実施例に使用できる。
ジリンクス社ＸＣ４０００系デバイスに実動化した桁上げ論理
図１０、１１ａ、１１ｂおよび１１ｃは図８ａの構造を実動化するのにジリンクス社製ＸＣ４０００系製品で用いている回路の回路図である。
図１０において、高速桁上げ論理は、多用途回路の回路配置に用いられる参照用テーブル関数発生器、マルチプレクサ、メモリセルおよび追加の論理ゲートを含む回路に組み入れてある。
参照用テーブル関数発生器の動作を図９ａ−９ｄに関連して説明する。図９ａは四つの入力信号の可能性ある１６の組合せの一つに応答して出力信号を発生できる１６ビット参照用テーブルを示す。入力信号ＡおよびＢはこの１６ビット参照用テーブル内の四つのコラムのどれか一つを選択するようにＸデコーダを制御する。入力信号ＣおよびＤはこの１６ビット参照用テーブルの四つのロウのどれか一つを選択するようにＹデコーダを制御する。この１６ビット参照用テーブルはそれぞれ選択されたロウおよびコラムの交点のビットを代表する出力信号を生ずる。そのような交点は１６個あり、したがってそのようなビットも１６個ある。それら１６個のビットで表現できる機能の組合せは２16通りあり得る。したがって、参照用テーブル内の１６ビットでシミュレートすべきものがＮＯＲゲートである場合は、その参照用テーブル対応のカルノーマップは図９ｃに示すとおりになる。図９ｃにおいて、１番目のロウ（Ａ＝０、Ｂ＝０を表わす）および１番目のコラム（Ｃ＝０、Ｄ＝０を表わす）の交点のビット以外のビットはすべて“０”である。この１６ビット参照用テーブルで発生すべき機能が使用頻度のより低いものである場合（たとえば、Ａ＝０、Ｂ＝０、Ｃ＝０、Ｄ＝０に対する出力信号が“１”であることを要求される場合）、２進符号「１」が２番目のロウと１番目のコラムとの交点に格納される。Ａ＝０、Ｂ＝０、Ｃ＝０、Ｄ＝０のときおよびＡ＝１、Ｂ＝０、Ｃ＝０、Ｄ＝０のときの両方について２進符号「１」が要求される場合は、２進符号「１」が１番目のコラムと１番目および２番目のロウとの交点の各々に格納される。参照用テーブルの上記ローディングで表される論理回路は図９ｄに示すとおりである。すなわち、図９ａの参照用テーブルは２16個の論理機能の任意の一つの精密で単純な実動化を表わす。
【００１３】
図９ｂは１６個の選択ビットの任意の一つを生ずるためのもう一つの構成を示す。左側に「１６個の選択ビット」と表示した縦方向コラムのレジスタ０−１５の各々は２進符号１または０の被選択信号を含む。信号Ａ、Ｂ、ＣおよびＤおよびそれらの複数の適当な組合せを選択することにより、１６個の選択ビットレジスタの１６個の位置の特定の一つに格納されている特定のビットが出力リード線に伝送される。例えば、「１」レジスタ内のビットを出力リード線に伝送するには、そのように表示されリード線に信号Ａ、Ｂ、Ｃ、Ｄを加える。上記１６個の選択ビットレジスタ内の１６個の位置の中の「１５」と表示された信号を出力リード線に伝送するには、信号Ａ、Ｂ、Ｃ、Ｄを該当コラムに加える。この構成を用いて２16個の論理機能の任意の一つを実動化できる。
図１０について述べると、入力端子Ｆ１およびＦ２から入力信号Ａ0 およびＢ0 がそれぞれ供給される。関数発生器Ｆ、ＸＮＯＲゲートＸ１０１、メモリセルＣＬ０、ＣＬ１、マルチプレクサＭ２、および第３の入力端子Ｆ３は、選択的に加算器または減算器として機能できるように組み合わされて動作する。関係発生器Ｆからの出力信号Ｓ0 を受ける蓄積セル（図示してない）を有するデバイスにより、上記組合せ回路を累算器または計数器として動作可能にすることもできる。ＸＮＯＲゲートＸ１０１の一方の入力はＭ２の出力であり、他方の入力はＮＯＲゲートＮ２０１の出力である。ＮＯＲゲートＮ２０１への二つの入力は入力端子Ｆ２への信号およびＣＬ７内の値の補数である。この回路をマルチビット加算器内の中間段として機能させるために、ＣＬ７はロウの信号をＮＯＲゲートＮ２０１に入力するように設定してある。これによって、ＮＯＲゲートＮ２０１の出力は入力端子Ｆ２への信号になる。
【００１４】
上記回路機能をインクリメントモードにするかデクリメントモードにするかを制御するために、マルチプレクサＭ２がＮＯＲゲートＮ２０１からの信号をＸＮＯＲゲートＸ１０１で反転するか否かを定める。Ｍ２の供給する値はＣＬ０による制御の下にＦ３またはＣＬ１から供給される。ＣＬ１は静的な値の供給に通常用いられ、Ｆ３は動的に変動する信号を供給する。
Ｍ２により上記回路がインクリメントモードで機能している場合は、信号Ｂ0 がＸＮＯＲゲートＸ１０１を通じてＸＮＯＲゲートＸ１０３に伝搬される。ＸＮＯＲゲートの真数表は、ＸＮＯＲゲートの一方の端子への入力信号が他方の端子への信号がハイの場合にＸＮＯＲゲートの出力に送られることを示している。したがって、Ｍ２の出力がハイの場合は、桁上げ論理はインクリメントモードで機能する。しかし、Ｍ２の出力がロウの場合は、信号Ｂ0 はＸＮＯＲゲートＸ１０１により反転され、この回路の桁上げ論理はデクリメントモードで機能する。また、インクリメントモード／デクリメントモード選択用の制御信号がＦ３端子から供給される場合は、関数発生器Ｆに実動化された和論理が上記制御どおりインクリメントモードまたはデクリメントモードで機能するように、その制御信号を関数発生器Ｆにも加える。
この回路を加算器またはインクリメンタとして用いマルチプレクサＭ２がハイの信号を発生し入力Ｂ0 がＸＮＯＲゲートＸ１０３の入力に伝達されている状態をまず考える。
メモリセルの第２のグループＣＬ２−ＣＬ５およびＣＬ７が図１０の回路にいくつかの機能を生じさせるように共動する。その回路をマルチビット加算器の中間段として動作させるには、メモリセルＣＬ３、ＣＬ４およびＣＬ５をハイに設定する。これによって、組合せＸ１０３およびＩ１０４はＸＯＲゲート（図７ａのＸＯＲゲート９１と等価）として動作し、ＸＮＯＲゲートＸ１０３の出力でインバータＩ１０４を通過させる。メモリセルＣＬ４をハイに設定することによって、端子Ｆ１からの信号をライン１０５に供給する。この回路配置において、図１０のＦ段は図６ａおよび図７ａの桁上げ回路に等価となる。Ｆ１からの信号は、トランジスタＴ１０２（図７ａのトランジスタ９３と等価）がＡ0 とＢ0 との等しくなったのに応答してオンになった場合はＣ1 に伝搬される。メモリセルＣＬ５をハイに設定することによって、セルＣＬ７内の値がライン１０５に同時に伝搬されることを防ぐ。
【００１５】
メモリセルＣＬ３をロウに設定することによって、トランジスタＴ１０１およびＴ１０２はメモリセルＣＬ２内の信号で制御される。ＣＬ２がハイであれば、トランジスタＴ１０１はオンとなり、Ｃ0 はＣ1 に伝搬される。メモリセルＣＬ２およびＣＬ３のこの回路配置により、桁上げ信号Ｃ0 がＦ段の桁上げ論理をスキップ可能になる。特定の段の桁上げ論理をこのようにスキップすることは、レイアウトの制約のために論理ブロック内の特定の段を加算器（または計数器など）の一つの段以外の何れかの用途に使う必要が生じた場合に有用になり得る。
メモリセルＣＬ２をロウに設定した場合（ＣＬ３もロウのまま）は、Ｔ１０１はオフになりＴ１０２はオンになる。Ｔ１０２がオンのときは、ライン１０５の信号はＣ0 に伝搬される。ライン１０５への信号は、インバータＩ１０５およびＩ１０６とともに３：１マルチプレクサＭ１０１を構成するメモリセルＣＬ４、ＣＬ５およびＣＬ７に制御される。マルチプレクサＭ１０１は三つの信号、すなわち端子Ｆ１への信号、端子Ｆ３への信号の補数（Ｆ３）およびメモリセルＣＬ７内の信号のどれをライン１０５に出力するかを制御する。端子Ｆ３への信号がマルチプレクサＭ２またはマルチプレクサＭ１０１に用いられることに注意されたい。
【００１６】
上述のとおり、Ｆ段がマルチビット加算器内の中間段として動作する場合は、Ｆ１端子への信号をライン１０５に出力するようにメモリセルをプログラムする。併せて、ＸＮＯＲゲートＸ１０３の供給する値、すなわちラインＦ１およびＦ２への入力Ａ0 およびＢ0 の関数になるように設定された値が桁上げ入力信号Ｃ0 とＦ1 に生ずる値とのいずれを伝搬するかを決めるように、ＣＬ３はハイに設定してある。
Ｆ段がマルチビット加算器で最下位ビットを加算するために、論理零を桁上げ入力端子Ｃａｒｒｙ  ＩｎT か桁上げ入力端子Ｃａｒｒｙ  ＩｎB かの一方に加え信号伝搬のためにメモリセルを設定することによって桁上げ入力を零にプリセットすることができる。（この論理零の信号の発生は図１１ａに関連して後述する。）
Ｇ段の桁上げ入力信号Ｃ0 のプリセットのために、Ｆ３反転への信号、ＣＬ７内の信号またはＦ１への信号のいずれかを使うこともできる。Ｆ３反転の信号はＣＬ５をハイにＣＬ４をロウに設定することによってライン１０５への出力用に選択され、ＣＬ７の信号はＣＬ４およびＣＬ５の両方の信号をロウに設定することによって選択される。Ｆ１の入力端子は最低次ビットがＧ段で計算されるときにＣ1 信号をプリセットするのに使うこともできる。Ｆ１はＦ関数発生器へのＦ１入力が不要のとき用いることができる。Ｆ１をＣ1 プリセット用の入力として用いるために、メモリセルＣＬ４およびＣＬ５にハイの信号を格納する。また、ＣＬ３をロウにＣＬ２をロウに設定してトランジスタＴ１０１をオフにするとともにトランジスタＴ１０２をオンにしてライン１０５の信号がＣ1 に伝搬するようにする。
【００１７】
メモリセルＣＬ７は３：１マルチプレクサＭ１０１の一部として機能するほかはＮＯＲゲートＮ２０１およびＮ２０２への一つの入力を制御する。Ｆ段が端子Ｆ１およびＦ２への値Ａ0 およびＢ0 の加算のためのマルチビット加算器の中の中間段として機能するようにするために、ＣＬ７をハイに設定してＮ２０１の出力が入力端子Ｆ２への信号であるようにする。Ｆ１への入力値Ａ0 に定数を加えるためにＣＬ７はロウに設定してある。これによってＮ２０１への入力がハイになり、その出力がロウになり、加数がマルチプレクサＭ２に選択されるようにする。メモリセルＣＬ０は、ＣＬ１の値またはＦ３の値をＸＮＯＲゲートＸ１０１に選択的に印加し、このゲートＸ１０１によりＸ１０３が端子Ｆ１の値Ａ0 に加えるべき出力を発生する。このように、ＣＬ７をロウにプログラムすることによって、相互配線資源、すなわち他の論理ブロック（図示してない）への信号供給に必要となる端子Ｆ２の接続を受ける相互配線資源を用いることなく、１ビットを入力値に加えるべき一定値としてプログラムすることができる。
図１０のメモリセルの論理値のすべての組合せが許容できるのではない。例えば、Ｍ１０１内では、セルＣＬ４がハイでメモリセルＣＬ５がロウの場合は、それらハイおよびロウの信号の両方がライン１０５に同時に入力されることがあり得るので、コンテンションが生じ得る。このようなコンテンションを防ぐために、メモリセルプログラム用のソフトウェアを上記組合せを防止するようにプログラムする。または、ライン１０５に出力すべき二つの信号の一方だけを選択するように余分のメモリセルを加えることもできる。
【００１８】
上述のとおり、二つの段すなわち各々がマルチビット加算器の１ビットを代表するＦ段およびＧ段を図１０に示すとおり互いに縦続接続する。このようにして一つの論理ブロックで、桁上げ論理を用いるマルチビット機能の中の２つのビットを実動化できる。この構成は、これまでのジリンクス社製デバイスに比べて、桁上げ論理を使う機能の実動化に必要な回路素子の密度を大幅に改善する。これと対照的に、図５に示すとおり、従来技術の回路では論理ブロックあたり１ビットだけの密度でマルチビット計数器を実現している。
図１０のＧ段について述べると、このＧ段のマルチプレクサＭ３がＦ段の桁上げ出力信号Ｃ1 を二つのインバータＩ１０７およびＩ１０８によるバッファを経て受ける。加算器では、桁上げ出力信号Ｃ1 を端子Ｇ４およびＧ１にそれぞれ現われている加数Ａ1 およびＢ1 とＧ関数発生器で組み合わせて和ビットＳ1 を計算する。Ｆ段の桁上げ出力信号Ｃ1 も、Ｇ段の桁上げ論理の回路配置条件に応じて、トランジスタＴ１０３によるＧ段の桁上げ出力Ｃi+2 への伝搬に利用できる。
Ｇ段の桁上げ論理の大部分はＦ段の桁上げ論理と同じである。例えば、Ｇ段のＸＮＯＲゲートＸ１０２はＦ段のＸＮＯＲゲートＸ１０１と相似的に機能して同じマルチプレクサＭ２の出力による制御を受け、Ｇ段が加算器またはインクリメンタとして機能するか減算器またはデクリメンタとして機能するかを決める。また、Ｇ段のＮＯＲゲートＮ２０２はＦ段のＮＯＲゲートＮ２０１、すなわちメモリセルＣＬ７による一方の入力の制御をＧ段の加数がそのＧ段の入力端子に接続してある相互配線資源の使用を要することなく一定値に強制的に収まるように行うＮＯＲゲートＮ２０１として機能する。
【００１９】
しかし、Ｆ段のメモリセルＣＬ２およびＣＬ３に対して、Ｇ段はただ１個のメモリセルＣＬ６を備える。ＣＬ６はＣＬ３と同様に機能し、Ｇ段がマルチビット加算器内の中間段として機能するか桁上げ信号がＧ段の桁上げ論理をバイパスするかを制御する。ＣＬ６がハイの状態では、トランジスタＴ１０５はオンになり、Ｇ段はマルチビット加算器の中間段として機能する。ＣＬ６がロウの状態では、ロウの信号がトランジスタＴ１０６を経てインバータＴ１１０に印加され、トランジスタＴ１０３がオンになる（Ｔ１０４はオフとなる）。Ｔ１０３がオンになったことにより、Ｃ1 における桁上げ信号はＧ段の桁上げ論理をバイパスすることができる。Ｆ段の場合と同様に、Ｇ段または論理ブロック内の任意の特定の段をバイパスすることは、Ｇ段を他の機能のために用いる設計レイアウトによって要求され得る。
Ｇ段内のマルチプレクサＭ３およびＭ４は互いに組み合わせてＦ段のマルチプレクサＭ１およびＭ２とは異なった使い方をする。Ｆ段のマルチプレクサＭ２はＧ段の桁上げ論理およびＦ段の桁上げ論理がインクリメントモードで機能するかデクリメントモードで機能するかを制御する。しかし、Ｇ段はそれ自身のマルチプレクサＭ４を備え、それによって、関数発生器Ｇ内の和の論理がインクリメントモードおよびデクリメントモードのどちらで動作するかを制御する。Ｍ４は、その入力の一つＧ３が対応入力Ｆ３の場合と同様に同じ相互配線回路（図示してない）、すなわちＦ機能発生器のインクリメントモード／デクリメントモードを制御する回路に接続されている。
【００２０】
Ｇ段のマルチプレクサＭ３およびＭ４への他の入力は、同時に必要となる信号が同一のマルチプレクサに入力されることがないように分配される。マルチビット加算器内の中間段として動作するには、Ｇ関数発生器はインクリメント・デクリメントモード間の動作モードの信号制御とより下位のビットからの桁上げ信号との両方を必要とする。したがって、Ｆ３へのインクリメント／デクリメントモード信号はＧ３経由でマルチプレクサＭ４にも印加し、下位ビットからの桁上げ出力信号はマルチプレクサＭ３に送り、これら両方の信号がＧ関数発生器に同時に供給されるようにする。
さらに、算術溢れの検出のために後述のとおり信号Ｃ1 およびＣ0 は比較する必要があり、したがって同時に供給されている必要がある。そこで、信号Ｃ1 は一方のマルチプレクサＭ３に入力され信号Ｃ0 は他方のマルチプレクサＭ４に入力され、これら両信号がＧ関数発生器に一緒に供給されるようにしている。
互いに縦続接続した二つの段を含む図１０の回路は先行ブロックにおける最上位ビット処理の際の算術溢れをＧ段で検出する能力を備える。算術溢れの検出を、符号ビットの桁上げと最上位ビットの桁上げとの相違の認識によって行うことは当業者に周知である。したがって、算術溢れ状態の検出は符号ビットの桁上げと最上位ビットの桁上げとのＸＯＲ関数の計算によって達成する。図１０の回路では、最上位ビットの桁上げはＣ0 すなわちＦ段への桁上げ入力に供給された符号ビットの桁上げ（Ｆ段へのＡ0 およびＢ0 信号とＣ0 信号との関数）はＣ1 すなわちＦ段への桁上げ出力に供給される。Ｃ0 はＩ１２０およびＩ１２１を経てＧ段内のマルチプレクサＭ４に送られる。Ｃ1 はＩ１０７およびＩ１０８を経てＧ段内のマルチプレクサＭ３に送られる。算術溢れ検出用に図１０の回路を回路配置するために、Ｍ３はＣ1 をＧ関数発生器に経路づけするようにプログラムし、Ｍ４はＣ0 をＧ関数発生器に経路づけするようにプログラムする。Ｇ関数発生器はＣ1 およびＣ0 のＸＯＲ関数、すなわち上述のとおり算術溢れ検出信号であるこのＸＯＲ関数を計算するようにプログラムする。
【００２１】
図１０の回路はデクリメントでも機能する。デクリメントモードでは、この回路は計数器をデクリメントするか、または変数から定数を減算するなどの減算を行う。
図１０の回路においては減算の実施にいくつかのモードを用いることができる。減算の三つの通常のモードは、２の補数モード、１の補数モードおよび符号・大きさモードである。
減算の２の補数モードを用いる場合は、最下位ビットの桁上げ入力ビットを論理１にプリセットする。その最下位ビットをＦ段から供給する場合は、その最下位ビットの桁上げ入力を桁上げ入力端子Ｃａｒｒｙ  ＩｎT またはＣａｒｒｙＩｎB 経由でリセットし、メモリセルＭＣを信号のＣ0 への伝搬に設定する。プリセット信号をＦ段の桁上げ入力端子Ｃａｒｒｙ  ＩｎB またはＣａｒｒｙＩｎT に印加するために、プリセット信号をもう一つの論理ブロックのＦ段で発生し、図１０乃至図１２に関連して後述する手段により最下位ビットのＦ段に供給する。この信号は上述のとおりＦ段で発生し、トランジスタＴ１０３をオンにトランジスタＴ１０４をオフにすることによってＧ段経由で次の論理ブロックに送ることもできる。このようにして、プリセット信号発生用のその論理ブロックのＧ段内の桁上げ論理はバイパスされる。
最下位ビットをＧ段で２の補数の減算で供給する場合は、マルチプレクサＭ１０１の三つの入力の一つをＣ1 の論理１へのプリセットに使えるように、トランジスタＴ１０１をオフにトランジスタＴ１０２をオンにすることもできる。マルチプレクサＭ１０１は、Ｆ３にロウの信号を印加しＣＬ５をハイにＣＬ４をロウに設定することによって、論理１をＦ３端子経由で供給できる。マルチプレクサＭ１０１は、ＣＬ７をハイに、ＣＬ５をロウに、ＣＬ４をロウにそれぞれ設定することによって、メモリセルＣＬ７内の格納値として論理１を供給できる。また、マルチプレクサＭ１０１は、ハイの信号をＦ１に印加し、ＣＬ５およびＣＬ４をハイに設定することによって、Ｆ１入力端子経由で論理１を供給できる。
【００２２】
上記１の補数の減算または符号・大きさ減算を行うときは、最下位ビットの桁上げ入力は論理０に通常プリセットする。この１の補数の減算の場合は、符号ビットの桁上げ出力は最終解の発生のために最下位ビットに加えなければならない。この動作は、最下位ビットの桁上げ入力をプリセットするのではなく、符号ビットの桁上げ出力端子を最下位ビットの桁上げ入力端子に接続することによって達成できる。符号ビットの桁上げ出力は和出力に加算することもできる。最下位ビットをＦ段で計算する場合は、桁上げ入力端子Ｃａｒｒｙ  ＩｎT またはＣａｒｒｙ  ＩｎB に論理０を印加しメモリセルＭＣを桁上げ入力Ｃ0 への信号伝搬に設定することによって、桁上げ入力Ｃ0 を０にプリセットする。また、最下位ビットをＧ段で計算する場合は、桁上げ入力Ｃ1 を上述のとおりマルチプレクサＭ１０１内の三つの経路の一つ経由で０にプリセットする。Ｆ３端子経由で論理０を供給するために、ハイの信号をＦ３に印加する（反転されるから）。ＣＬ７経由で論理信号を供給するために、論理０をＣＬ７に入力する。Ｆ１経由で論理０を供給するために、ロウの信号をＦ１に印加する。
上記２の補数の減算および１の補数の減算の両方については、マルチプレクサＭ２の出力はロウに設定しなければならない。符号・大きさ減算については、Ｍ２の出力は二つの数の符号が同じであればロウに設定する。二つの数の符号が互いに反対であればＭ２の出力はハイに設定する。
【００２３】
マルチビット加算器に用いた図１０の回路
図１１ａを参照してマルチビット加算器を説明する。各々が図１０に示すような回路を含むブロック１乃至４の順序づけしたアレーを、図１０にＣi+2 で示し図１１ａの各論理ブロック内にＣａｒｒｙ  Ｏｕｔで示した桁上げ出力が、これら両図にＣａｒｒｙ  ＩｎB で示した上側論理ブロックの桁上げ入力端子と両図にＣａｒｒｙ  ＩｎT で示した下側論理ブロックの桁上げ入力端子とに接続されるように構成する。各論理ブロックは上側論理ブロックから（端子ＣａｒｒｙＩｎT に）または下側論理ブロックから（端子Ｃａｒｒｙ  ＩｎB に）桁上げ信号を選択的に受けることができる。この論理ブロックによる桁上げ信号の選択的受信が上側論理ブロックからか下側論理ブロックからかはメモリセルＭＣが制御する。ＭＣがハイの状態にあればトランジスタＴ１５２がオンとなり、下側論理ブロックからの桁上げ信号を桁上げ信号入力端子Ｃａｒｒｙ  ＩｎB に受ける。ＭＣがロウの状態では、トランジスタＴ１５１がオンになり、上側論理ブロックからの桁上げ信号を桁上げ信号入力端子Ｃａｒｒｙ  ＩｎT に受ける。例えば、ラインＬ１１２はブロック２の桁上げ信号出力端子をブロック１の桁上げ信号入力端子Ｃａｒｒｙ  ＩｎB およびブロック３の桁上げ信号入力端子ＣａｒｒｙＩｎT に接続する。同様に、ラインＬ１１３はブロック４の桁上げ信号出力端子をブロック３の桁上げ信号入力端子Ｃａｒｒｙ  ＩｎB およびブロック５（図示してない）の桁上げ信号入力端子Ｃａｒｒｙ  ＩｎT に接続する。このように、ブロック３は桁上げ信号をブロック４からラインＬ１１３経由で端子ＣａｒｒｙＩｎB に、またブロック２からラインＬ１１３経由で端子Ｃａｒｒｙ  ＩｎT に受ける。メモリセルＭＣのプログラムのしかたによって、トランジスタＴ１５１とＴ１５２のどちらがオンになり、桁上げ信号のどれがブロック３内部回路で用いられるかが決まる。
【００２４】
図１０に示すとおり、長いラインで信号品質を維持するために２ビットあたりさらに２ゲート分の遅延がインバータＩ１０１およびＩ１０２によって加わる（４ビットあたりおよそ４ゲート分の遅延）。これと対照的に、図２に示したような慣用の四段縦続接続桁上げ伝搬全加算器の出力信号ＣOUT は、一つのＸＯＲゲートと四つのＡＮＤゲートと四つのＯＲゲートと（９ゲート分の遅延）を通過するまで得られない。また、図３に示したような参照用桁上げ回路が高速桁上げ伝搬の達成のために回路素子の高密度化を要するのに対して、図１０の回路は慣用の桁上げ伝搬加算器の場合よりも多い回路素子は必要としない。
桁上げ専用相互配線回路の主な利点はプログラム可能な桁上げ相互配線回路よりもずっと高速で動作することである。この性能向上はプログラム可能な相互配線回路の融通性を犠牲にして達成している。しかし、図１１ａに示した専用配線回路は桁上げ信号をアレー経由の二つの方向のいずれかに伝搬できる点において融通性がある。
図１１ｂは桁上げ信号をアレー経由で選択方向に伝搬する専用配線回路を用いない配線構造を示す。図１１ｂはマルチビット加算器またはそれ以外で桁上げ論理利用のマルチビット機能回路を形成する論理ブロックを相互接続する配線構造が必要となるメモリセル・相互接続の組の一部だけを示す。図１１ｂにおいて、論理ブロック１１−２の出力Ｃ0 は、メモリセルＭ１１−２による制御の下に論理ブロック１１−２の出力と配線ライン１１−ａとを接続する対応トランジスタをオンにすることによって、論理ブロック１１−２または論理ブロック１１−３に接続できる。論理ブロック１１−２の出力Ｃ0 を論理ブロック１１−１の入力ＣIBに接続する必要がある場合は、対応トランジスタをオンにしてライン１１−ａへの信号をブロック１１−１の端子ＣIBに伝搬するようにメモリセルＭ１１−１をプログラムする。出力Ｃ0 を論理ブロック１１−３に接続する必要がある場合は、メモリセルＭ１１−３の制御するトランジスタをオンにして配線ライン１１−ａを論理ブロック１１−３の入力ＣITに接続する。これら以外のメモリセル（図示してない）も一つの論理ブロックから次のブロックへの信号伝搬の方向を制御するよう同様にプログラムできる。マルチビット加算器の各段経由の桁上げ信号伝搬方向の制御に融通性を与えるためには多数のメモリセルが必要になることは容易に理解されよう。
【００２５】
図１１ｃに示したもう一つの回路はより複雑な専用桁上げ相互配線回路である。この専用配線回路は桁上げ連鎖を任意の長さに蛇行した形で形成することを可能にする。上記ブロックのいくつかは図１１ａに示すように、すなわち桁上げ出力信号を上側論理ブロックおよび下側論理ブロックの両方に伝搬するように回路配置する。しかし、このアレーの上端部と下端部では回路配置は異にしてある。すなわち上端部では論理ブロックの桁上げ信号は下側論理ブロックの桁上げ入力に伝搬するとともに、右側論理ブロックの桁上げ入力に伝搬する。下端部の各回路は、論理ブロックの桁上げ出力信号が上側論理ブロックの桁上げ入力に伝搬されるとともに右側論理ブロックの桁上げ入力に伝搬されるように回路配置する。また、下端部回路の各々は上側論理ブロックおよび左側論理ブロックから桁上げ入力信号を受ける。各論理ブロックのメモリセルＭＣは、二つの桁上げ入力信号のいずれの桁上げ入力信号が図１１ａに関する上述の説明のとおり論理ブロックに受信されるかを制御する。
図１１ｃに示した複雑な専用配線回路は設計レイアウトにより高い融通性を与える点でとくに有用である。マルチビット加算器もしくはマルチビット計数器、またはそれら以外のマルチビット算術機能回路は論理ブロックの特定のコラムに限定される必要はない。例えば、論理ブロックＢ３、Ｂ４、Ａ４およびＡ３を含む馬蹄状回路配置の形に８ビット計数器を実動化できる。ここでブロックＡ３は最下位ビットおよびそのすぐ上位のビットを含み、Ａ４はさらにその次の上位ビットを含み、Ｂ４はさらにその次の上位ビットを含み、最後にＢ３は二つの最上位ビットを含むものとする。各論理ブロックのメモリセルＭＣ（図１０）は、桁上げ信号を論理ブロックＡ３のＣ0 から論理ブロックＡ４のＣITへ、論理ブロックＡ４のＣ0 から論理ブロックＢ４のＣIBへ、さらに論理ブロックＢ４のＣ0 から論理ブロックＢ３のＣIBへ伝搬する。論理ブロックの内部回路により（図１０に示すとおり）任意の特定ビットの桁上げ論理はバイパスされ得るから、８ビット計数器（または桁上げ論理を利用したそれ以外の機能回路）は隣接ブロック内に実現する必要はない。したがって、例えば最下位ビットは論理ブロックＡ３でなく論理ブロックＡ２にあり、それ以外の六つのビットは上述の例の場合と同様にブロックＡ４、Ｂ４、Ｂ３にあり得る。ブロックＡ３内のメモリセルＣＬ２、ＣＬ３およびＣＬ４を適切にプログラムすることによって、論理ブロックＡ２の桁上げ信号Ｃ0 は論理ブロックＡ３の桁上げ論理をバイパスし、論理ブロックＡ４のＣITに伝搬する。
【００２６】
この発明による桁上げ論理回路
図１２ａは図８ｂの実施例を実動化する回路配線融通性ある論理ブロックＣＬＢを示す。この論理ブロックＣＬＢには四つの関数発生器Ｆ、Ｇ、ＨおよびＪが含まれる。関数発生器Ｆ、Ｇ、ＨおよびＪの各々は図９ａ乃至９ｄに関連して上に述べた参照用テーブルを含む。すなわち、各関数発生器は、入力信号Ｆ０乃至Ｆ３、Ｇ０乃至Ｇ３、Ｈ０乃至Ｈ３、Ｊ０乃至Ｊ３の任意の関数をそれぞれ供給する。入力変数ＡおよびＢの算術機能を実動化するために、関数発生器の各々において１ビットを処理する。例えば、最低次の和ビットＳ0 はＡおよびＢの最低次ビットから、すなわちＦ関数発生器内のビットＡ0 およびＢ0 から計算できる。ビットＡ0 はＦ関数発生器のＦＢ入力端子および入力端子Ｆ０、Ｆ１、Ｆ２、またはＦ３に供給される。ビットＢ0 はＦ関数発生器のもう一つの端子に供給されるか、その関数発生器内で他の入力の関数として発生される。加算を行うには、桁上げ入力ラインＣＩＮに論理０を供給する。同様に、ビットＡ1 およびＢ1 はＧ関数発生器に供給し、より高次のビットについても同様とする。これら関数発生器の各々は、図８ｂのユニット９０３で示したとおりＡおよびＢビットのＸＯＲ関数を発生するように適当な参照用テーブルをロードすることによってプログラムする（図８ｂに示すとおり、Ｂ入力値は関数発生器の内部でＡ入力用ライン以外のラインへの他の入力の関数として発生することもできる。関数発生器は四つの入力の任意の関数を供給できるのでこれが可能になる）。このように、関数発生器は任意のデータ変形９２１を実動化し、対応ビットＡi およびＢi のＸＯＲ関数９２２をそれぞれ発生する。この実施例は算術演算を４ビット演算に限定するものではない。すなわち、ＣＬＢは複数のＣＬＢのアレーの一つとして形成され図示のＣＬＢの上に接続されたＣＬＢでより高次のビットを処理することもできるからである。
【００２７】
高速桁上げＭＵＸ  Ｃ１、Ｃ２、Ｃ３およびＣ４がこれら関数発生器と関連づけてある。ＭＵＸ  Ｃ１は桁上げ入力信号ＣＩＮ（算術演算が加算であってＦ関数発生器が最低次のビットを受けているとき０になる）とＢ入力信号ＦＢとを受け、出力信号Ｃ１ＯＵＴを発生する。ＭＵＸ  Ｃ２はＣ１ＯＵＴ信号および第２のＢ入力信号ＧＢを受けて、出力信号Ｃ２ＯＵＴを発生する。ＭＵＸ  Ｃ３およびＣ４は等価的に接続してある。ＭＵＸ４は論理ブロックＣＬＢから信号ＣＯＵＴを発生する。関数発生器Ｆ、Ｇ、ＨおよびＪはそれぞれの出力信号Ｘ、Ｙ、ＺおよびＶとしてそれぞれの桁上げ伝搬信号Ｐi をそれぞれ発生する。これらの出力信号により、図６ａに関連して上述したように桁上げＭＵＸ  Ｃ１、Ｃ２、Ｃ３およびＣ４を制御し、累算桁上げ出力関数ＣＯＵＴを供給する。
図１０のインバータＩ１０１およびＩ１０２に関連して上に述べたとおり、桁上げ信号Ｃ0 に周期的に電力再供給を行う必要がある。電力再供給バッファの接続の頻度はこの発明を実施した相互配線アーキテクチャーによって定める。図１２ａに示すとおり、インバータＩ１２１およびＩ１２２を含む電力再供給バッファは、桁上げ信号通路内の四つのマルチプレクサごとに、あるいはＣＬＢ一つごとに配置する。もう一つの実施例では、電力再供給バッファは桁上げ信号通路内の二つのマルチプレクサごとに設けてあり、したがって、各ＣＬＢあたり二つの再供給バッファが設けてある。もちろん、この発明は一つのＣＬＢが四つの関数発生器を含むアーキテクチャーに限られない。それ以外に多数の変形が可能である。
【００２８】
図１２ａの実施例は、図８ｂの和Ｓi を発生するのに、同図に図示のものの近傍、好ましくはそれの右か左に隣接して配置して示したものと同一のもう一つのＣＬＢを用いている。桁上げ伝搬信号Ｐi を左または右の和ＣＬＢに供給するために、ＭＵＸ  Ｂ１、Ｂ２、Ｂ３およびＢ４をそれぞれのメモリセル１乃至５でセットして、桁上げＭＵＸ  Ｃ１、Ｃ２、Ｃ３およびＣ４の出力を送出する。メモリセル３および７はＭＵＸ  Ｓ３およびＳ１にＭＵＸ  Ｂ３およびＢ１の出力を送出させるように同様にセットされる。このようにして、桁上げＭＵＸ  Ｃ１、Ｃ２、Ｃ３およびＣ４の出力が出力ラインＸＢ、ＹＢ、ＺＢおよびＶＢに生ずる。桁上げＣＬＢの右または左の和ＣＬＢにおいては、出力ＸＢはラインＦＢと入力Ｆ０乃至Ｆ３の一つとに接続する。出力Ｘは入力Ｆ０乃至Ｆ３の他方の一つに接続する。関数発生器Ｇ、ＨおよびＪへの等価的接続を設ける。和ＣＬＢにおいては、関数発生器Ｆ、Ｇ、ＨおよびＪが互いに連続するビットについての和の出力を供給する。
図１２ｂは１ビットあたり一つだけの関数発生器を要するこの発明のもう一つの実施例を示す。図１２ｂのＣＬＢは図１２ａのものと類似しているが、和の計算のためのＸＯＲゲートＳ１乃至Ｓ４を含む。
図１２ａの実施例では一つのメモリセル１でＭＵＸ  Ｂ３およびＢ４の両方を制御しているが、図１２ｂの実施例ではＭＵＸ  Ｂ４はメモリセル９で制御され、ＭＵＸ  Ｂ３はメモリセル６および７による制御を受ける三入力ＭＵＸである。また、既述のとおり、図１２ａの実施例では１ビットの桁上げと和とが二つの互いに別のＣＬＢで計算されるのに対して、図１２ｂの実施例ではＸＯＲゲートＳ１乃至Ｓ４が桁上げおよび和の両方を単一のＣＬＢ内で計算することを可能にしている。したがって、図１２ｂの実施例のほうが算術演算機能の実動化においてより効率的であり、一方図１２ａの実施例のほうがより高密度であってＰＣＢあたりのコストが低い。これら以外に多数の変形がもちろん可能である。例えば、図１２ｂにおいて、メモリセル９でＭＵＸ  Ｂ３を制御し、ＭＵＸ  Ｂ４への一つの制御を供給するようにメモリセル６および７の一つをメモリセル９で置換してメモリセルを節約することもできる。もう一つの実施例では、一つのメモリセルで四つのメモリセルＢ１乃至Ｂ４全部の桁上げモードを活性化できる。
【００２９】
図１２ａおよび１２ｂの実施例において、図１０のマルチプレクサＭ１、Ｍ３およびＭ４、またはこれらマルチプレクサＭ１、Ｍ３およびＭ４の回路配置のための関連回路配置メモリセルは必要ないことに注意されたい。また、図１０の場合と対照的に、Ｆ０乃至Ｆ３などの関数発生器入力は完全に置換可能であることにも注意されたい。入力信号はこれら入力の任意の選ばれた一つに導くことができ、後述の相互配線構造経由で信号を経路づけする際に有利になる。図１２ａおよび１２ｂにおいて、いずれのデータ変形論理（図８ｂのデータ変形ユニット９２１を見よ）もユーザに選択可能であり、算術演算入力の特定のピンへの入力の必要性によって制約されない。このように、ユーザ設計を経路づけするソフトウェアはより容易に経路を見出すことができ、その経路は通常はより短縮される。さらに、図８ｂに示したこの発明のデバイスを図８ａのデバイスと比較してみると、図８ａのデバイスは、Ａi 、Ｂi およびＣi 入力が関数発生器９０２に供給され、それによって追加入力数を一つに制限することを必要とする。これと対照的に、図８ｂの実施例はデータ変形機能９２１内に三つの変数の任意の関数を収容できる。和Ｓi をもう一つの関数発生器９０４で計算する場合は、その関数発生器はデータ変形領域９２７において二つの追加入力の任意の関数により上記
Ｓi 関数を変形できる。
【００３０】
桁上げ回路を用い得る経路づけアーキテクチャー
一つのＣＬＢからもう一つのＣＬＢへの信号経路付与のアーキテクチャーを図１２ｃおよび１２ｄに示す。図１２ｃはロジックと信号経路とを組み合わせるタイルを示す。図１２ｄは水平方向に互いに隣接する二つのタイルＴＩＬＥ1,1 およびＴＩＬＥ2,1 、すなわち図１２ｅに示したようにチップ形成の際に互いに接続される二つの隣接タイルを示す。ＴＩＬＥ1,1 において右に延びるラインはＴＩＬＥ2,1 において左に延びるラインと一線上に配置し互いに接続する。図１２ｃのコアタイルは、タイルの上端および下端に設けたラインを含む。互いに重ねるときは、これら上端ラインおよび下端ラインは互いに接続する。完全集積化回路チップでは、図１２ｃのタイルは組み合わされて図１２ｅに図示の構成、すなわち素子Ｃがコアタイルを含み、素子Ｎ、Ｓ、ＥおよびＷがチップの入力出力用の北、南、東および西端タイルを含み、素子ＮＷ、ＮＥ、ＳＷおよびＳＥが追加のチップ入力出力用の角タイルを含む図１２ｅ図示の構成を形成する。ＤＳおよびＤＣなどの除算器は互いに隣接する導体ラインをプログラム可能な形で接続状態または非接続状態にすることを可能にする。
【００３１】
図１２ｃについて述べると、図１２ａまたは１２ｂのＣＬＢが図の中央近傍に示してある。図１２ａおよび１２ｂで左側にあるＣＬＫ経由の入力ラインＪＢは図１２ｃのＣＬＢの左側に対応して配置してある。簡略化のために、ラインＪＦ、ＦＯおよびＣＬＫだけに符号を付けてある。図１２ａおよび１２ｂの場合と同様に、桁上げ入力ラインＣＩＮが図面の最下部からＣＬＢに延び桁上げ出力ラインＣＯＵＴが図面の最上部から延びる。Ｘ経由の出力線ＶＢは図１２ａおよび１２ｂならびに図１２ｃのＣＬＢの右から延びている。図１２ｃにおいては、ラインＶＢおよびＸのみに符号をつけてある。図１２ｃには２４本の入力選択ラインＭ０乃至Ｍ２３も示してあり、簡略化のためそのうちのＭ２３のみに符号をつけてある。ラインＭ０乃至Ｍ２３は北、南、東および西側のタイルからの入力信号を選択してＣＬＢへの入力とする。図１２ｃには多数の小さい白マルが示してある。これら白マルの各々はプログラム可能な相互接続点ＰＩＰ、すなわち円内で交叉する水平ラインおよび垂直ラインを電気的に接続するように、１個のトランジスタ、数個のトランジスタ、アンチヒューズ、ＥＰＲＯＭセルなどの手段によりプログラムできるＰＩＰを表わす。簡略化のために、ＰＩＰ  一つだけに符号をつけてある。図１２ｃには黒マルでそれぞれ表示した固定接続も示してある。Ｘ経由のＣＬＢ出力ラインＶＢはＰＩＰによりそれらラインの一つ、例えば固定接続を有するＱＯに、プログラム可能な形で接続できる。
【００３２】
図１２ｄを参照すると、タイルＴＩＬＥ1,1 内のＣＬＢ1,1 のＦ関数発生器Ｘの出力に生ずる伝搬信号Ｐi はＰＩＰX1,1,1により直接相互接続ラインＱ０1,1 すなわちタイルＴＩＬＥ2,1 に延びるＱ０1,1 に接続できるとともに、
ＰＩＰF04,2,1 によりＣＬＢ2,1 のＦ０入力に接続できる。図１２ａに示すとおり、高速桁上げＭＵＸ  Ｃ１からの桁上げ出力信号Ｃi+1 はマルチプレクサＢ１およびＳ１経由でＣＬＢ1,1 のＸＢ出力に接続する。ＰＩＰXB2,1,1 はもう一つの直接接続ラインＱ１1,1 、すなわちＰＩＰGB3,2,1 経由でＣＬＢ2,1 のＧ関数発生器の入力線Ｇ０に接続されているラインＱ１1,1 に接続されている。これはタイルＴＩＬＥ2,1 のＧ関数発生器内で計算されるべき次の和ビットのための桁上げ入力Ｃi として作用する。より高次のビットもそれぞれ対応して接続する。このように、伝搬機能および高速桁上げ機能がタイルＴＩＬＥ1,1 に生じ、加算機能がタイルＴＩＬＥ2,1 に生じる。
ピンＦ０乃至Ｆ３の完全な相互交換可能性が二つの利点の一つをもたらす。図１２の実施例では少数のＰＩＰでも十分な相互交換可能性で得られる。ＰＩＰの各々が約６個のトランジスタを要するので、ＰＩＰの数の削減はチップ寸法を削減する。より多くのＰＩＰを設ける場合は、関数発生器の入力全部への高速経路が通常得られ、したがってチップ動作はより高速になる。
【００３３】
追加の機能
図１２ａまたは１２ｂの桁上げマルチプレクサＣ１乃至Ｃ４は、算術演算における桁上げ機能に使用中でない場合は、ＡＮＤまたはＯＲ機能ほかの機能の発生に使うことができる。例えば、図１２ａのラインＦＢに論理０を加えることによって、Ｆ機能発生器のＸ出力信号と桁上げ入力信号ＣＩＮとのＡＮＤ関数を発生するようにマルチプレクサＣ１をプログラムする。また、ラインＦＢに論理１を加えることによって、Ｘ出力信号の補数と桁上げ入力信号ＣＩＮとのＯＲ関数を発生するようにマルチプレクサＣ１をプログラムする。
桁上げ論理およびその他の論理の両方を生ずる回路
図１３は図８ｃの実施例を実動化する回路配置融通性ある論理ブロックＣＬＢの回路図を示す。この論理ブロックは二つの関数発生器ＦおよびＧを備える。関数発生器ＦおよびＧの各々は図９ａ乃至９ｄと関連して上に述べた参照用テーブルを含む。すなわち、各関数発生器は入力信号Ｆ０乃至Ｆ３またはＧ０乃至Ｇ３のあらゆる関数を発生する。図１２ａまたは図１２ｂの場合と同様に、算術演算の場合はこれら関数発生器の各々で１ビットを取り扱う。マルチプレクサＮ１およびＮ２はＭ１およびＭ２からの値を桁上げマルチプレクサＣ１およびＣ２の入力端子に転送するようにセットされている。同様に、マルチプレクサＬ１およびＬ２は関数発生器ＦおよびＧからの出力を桁上げマルチプレクサＣ１およびＣ２の制御端子に転送するようにセットされている。このモードにおいて、図１３の構成要素は図１２ａおよび１２ｂの対応構成要素と同様に機能する。
しかし、マルチプレクサＬ１，Ｌ２，Ｍ１，Ｍ２，Ｎ１およびＮ２は桁上げマルチプレクサＣ１およびＣ２の動作に付加的機能をもたらす。マルチプレクサＬ１およびＬ２はメモリセル５および６の記憶内容である一定値を供給するようにセットできる。セル５または６に格納されている値を桁上げマルチプレクサＣ１およびＣ２に加えて、マルチプレクサＮ１およびＮ２の出力を選択させることができる。マルチプレクサＮ１およびＮ２がセル３および４からの一定値１を供給するようにセットされている場合は、桁上げマルチプレクサＣ１およびＣ２は桁上げ入力信号とマルチプレクサＬ１およびＬ２からの値とのＯＲ出力を生ずる。マルチプレクサＮ１およびＮ２がセル３および４からの一定値０を供給するようにセットされている場合は、桁上げマルチプレクサＣ１およびＣ２は桁上げ入力信号とマルチプレクサＬ１およびＬ２からの値とのＡＮＤ出力を生ずる。このようにしてＡＮＤまたはＯＲ出力を容易に発生できる。マルチプレクサＭ１およびＭ２は関数発生器ＦおよびＧへの入力信号の一つを選択し、マルチプレクサＮ１およびＮ２に入力信号としてそれぞれ加える。メモリセル７および９はマルチプレクサＭ１を制御し、メモリセル８および１０はマルチプレクサＭ２を制御する。このようにして、表Ｉ記載の機能は図１３の回路で実現でき、一方それら以外の機能は関数発生器ＦおよびＧで達成できる。
【００３４】
マルチプレクサＬ１およびＬ２によって、上記関数発生器が他の機能を達成する一方で桁上げマルチプレクサＣ１およびＣ２がスキップおよび始動に使用可能になることが図１３から理解されよう。マルチプレクサＮ１およびＮ２は関数発生器入力信号の一つおよび経路づけを用いることなく始動および論理機能の達成を可能にする（図示してないが、例えば図の左に位置づける）。
図１３と同様の実施例はマルチプレクサＭ１およびＮ１（それらと等価なＭ２およびＮ２）を含む回路への第５の入力を備える。必要があればＮ１の出力として第５の信号を供給する。その実施例は、関連の関数発生器Ｆで四つの入力信号Ｆ０−Ｆ３の任意の関数を発生できる一方表Ｉの機能を実動化できる利点を有する。
【００３５】
図１３の回路の応用
表Ｉには図８ｃの回路で実動化可能な機能を挙げてある。図１３において、マルチプレクサＭ１およびＭ２は、関数発生器への入力信号Ｆ０−Ｆ３およびＧ０−Ｇ３から選択して桁上げマルチプレクサＣ１およびＣ２への入力として供給することを可能にする。マルチプレクサＭ１およびＭ２によって、図１２ｂのラインＦＢおよびＧＢが不要になる。レイアウトによっては、これでチップ表面積の節約が可能になる。いずれにしても、マルチプレクサＭ１およびＭ２は信号Ｆ０−Ｆ３およびＧ０−Ｇ３の任意のものを入力信号とすることを可能にし、それによって融通性を高めている。
桁上げマルチプレクサＣ１で入力信号Ｆ０−Ｆ３の一つを受けるようにマルチプレクサをセットすることによって、集積回路チップの他の部分からの桁上げ入力信号の共用連動が可能になる。
入力信号Ｆ０−Ｆ３およびＧ０−Ｇ３の経路にマルチプレクサＮ１およびＮ２を配置することによって、関連の関数発生供給への負担なく桁上げ信号を（一定値で）立ち上がらせることができる。
動的に切換え可能な差／一致比較器
ユーザには差比較器と一致比較器との動的切換えを必要とする場合がある。差比較器においては、３を２と比較すると差３−２は正になる。減算は一方の入力を反転して加算することにより行われ、その動作は減算の各ビットにつき一つの反転入力を有するＸＯＲゲートで達成できる。
図１４は差比較器と一致比較器との間の動的切換えを実動化できる回路を示す。この回路は図１２ｂまたは図１３の回路に一つの外部ＡＮＤゲートを追加することによって効率的に実動化できる。減算Ａ−Ｂを行うために、ＧＴ／反転ＥＱ信号を論理１にセットし、論理１を最低次の桁上げ端子Ｃihに供給する。すなわち、二つの項ＡおよびＢの各ビットＡi およびＢi につきＡＮＤゲートＡＮＤ１４i はＡi を転送する。したがって、ＦＢ＝Ａi （図１２ｂ）またはＦ３＝Ａi （図１３）となり、減算が実現できる。最も高次のビットからの桁上げ連鎖出力の結果から大きい方の入力が把握される。
【００３６】
二つの数ＡおよびＢが互いに等しいかどうかの判定のために、ＧＴ／反転ＥＱを０にセットし、それによって桁上げ連鎖がビットごとの比較を行うようにし、各ビットのＡＮＤ出力を生ずる。全ビットが一致したときだけ出力は１となる。したがって、外部ＡＮＤゲートは、マルチプレクサＭＵＸ１４i への０入力にＡi または０を供給することによって、二つの機能の間の切換えを可能にする。入力信号ＧＴ／反転ＥＱに応じて機能は変化するので、この信号を変化させることによって減算と一致機能との間の動的切換えが容易になる。
図１４の回路の図１２ｂのアーキテクチャでの実動化は、図示しない関数発生器、すなわち関数発生器Ｆ，Ｇ，ＨおよびＪの左側に設けた関数発生器におけるＡＮＤゲートＡＮＤ１４i の実動化のために各ビットに一つのＡＮＤゲートを備えること、およびこれらＡＮＤゲートの出力をラインＦＢ、ＧＢ、ＨＢおよびＪＢ、ならびに比較中の数ＡおよびＢの追加のビットについて図１２ｂの上または下に配置できるものとして図示していない追加の関数発生器に加えることによって得られる。二つの項ＡおよびＢのビットは関数発生器Ｆ，Ｇ，ＨおよびＪ、すなわちＦ１，Ｇ１，Ｈ１およびＪ１入力を反転したＸＯＲ出力を生ずるようにプログラムされたこれら関数発生器のＦ０およびＦ１入力に加えられる。マルチプレクサＣ１，Ｃ２，Ｃ３およびＣ４と隣接論理ブロックの対応マルチプレクサとは関数発生器Ｆ，Ｇ，ＨおよびＪの出力信号で制御されるようにプログラムしてある。このようにして図１４の回路は実動化され、この回路の構成はＧＴ／反転ＥＱ信号で決められる。
【００３７】
図１３の回路における図１４の回路の実動化は図１２ｂの回路における実動化と同様である。図１３においては、ＡＮＤゲート１４i の出力は関数発生器入力、たとえばＦ３およびＦ４の一方に供給され、マルチプレクサＭ１およびＭ２はその信号をマルチプレクサＮ１およびＮ２に転送するようにセットされ、それらマルチプレクサＮ１およびＮ２はその信号を桁上げマルチプレクサＣ１およびＣ２に供給する。
【００３８】
この発明のいくつかの実施例を図１２ａ，１２ｂおよび１３に関連づけて上に詳述してきた。上の説明に基づき、この発明の上述の特徴を組み入れたこれら以外の実施例が当業者に自明になろう。例えば、互いに隣接していない論理ブロックを相互接続することも可能である。また、図１２ａおよび１２ｂは桁上げ論理４段と四つの関数発生器とを備える論理ブロックを示し、図１３は桁上げおよび他の論理２段と二つの関数発生器とを備える論理ブロックを示しているが、異なる段数を有する論理ブロックおよび通常の機能の発生用の他のハードウェアを有する論理ブロックを形成することも可能である。
さらに他の例について述べると、図１２ａおよび１２ｂの制御回路はメモリセルにより制御するものと説明したが、これらメモリセルがＳＲＡＭメモリセル、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ヒューズ、アンチヒューズで構成できることは明らかである。また、制御信号は論理ゲートの出力信号およびほかの利用可能な信号で供給できることも明らかである。これら実施例および上記説明に基づき自明なこれら以外の実施例はこの発明の範囲内に含めることを意図するものである。
【図面の簡単な説明】
図１ａは慣用の全加算器の一つの段を示す概略図。
図１ｂは図１ａに示した慣用の全加算器段の記号。
図２は互いに縦続接続した二つの全加算器の概略図。
図３は桁上げ先見論理を備える４ビット加算器の概略図。
図４ａ、４ｂ、４ｃおよび４ｄは従来技術の加算器の概略図。
図５は従来技術の計数器の概略図。
図６ａはこの発明による桁上げ論理１ビット発生回路の概略図であり、図６ｂは図６ａの回路の代替的表示。
図６ｃは変数Ａ、Ｂ、ＣinおよびＣout の間の関係を示す真数表。
図７ａはこの発明による桁上げ論理を用いた全加算器の１ビット発生用の回路の概略図であり、図７ｂは図７ａの回路の代替的表示。
図８ａはジリンクス，インコーポレーテッド製ＸＣ４０００系デバイスに用いた桁上げ論理の算術演算部の単純化した図。
図８ｂはこの発明による桁上げ論理の算術演算部の単純化した図。
図８ｃは他の論理機能も発生できる桁上げ論理回路の単純化した図。
図９ａは図８ｂおよび図８ｃのＦおよびＧ関数発生器の参照用テーブル実施例。
図９ｂは図８ｂおよび図８ｃのＦおよびＧ関数発生器のもう一つの参照用テーブル実施例。
図９ｃは図９ａまたは図９ｂの参照用テーブル関数発生器についてのカルノーマップ。
図９ｄは図９ａまたは図９ｂの参照用テーブル関数発生器により実動化できる２16論理関数の一つ。
図１０はジリンクス社製ＸＣ４０００系デバイスに用いてある二段保有論理ブロック、すなわち図８ａの回路を含む論理ブロックの概略図を示す。
図１１ａは専用桁上げ論理相互配線回路の一つの実施例を示す論理アレーの概略図。
図１１ｂはプログラム可能な相互配線により実動化した桁上げ相互配線回路の一つの例を示す概略図。
図１１ｃは専用桁上げ論理相互配線回路の一実施例を示す概略図。
図１２ａはこの発明による回路配置融通性ある論理ブロック（ＣＬＢ）であって、和の計算用にもう一つのＣＬＢと組み合わせた場合に図８ｂの回路を実動化する４段式のＣＬＢの概略図。
図１２ｂはこの発明によるもう一つのＣＬＢであって、和の計算用に専用ハードウェアを用いて図８ｂの回路を実動化したＣＬＢ。
図１２ｃは図１２ａまたは図１２ｂのＣＬＢと、ＣＬＢのアレーの相互接続用の相互接続経路とを結合するタイル。
図１２ｄは水平方向に互いに組み合わせた図１２ｃのタイル二つ。
図１２ｅは図１２ｃに示したようなコアタイルと外部接続用端タイルおよび角タイルとを含むＦＰＧＡチップ。
図１３は図８ｃの回路を実動化したこの発明によるＣＬＢ。
図１４は図１２ｂまたは図１３の回路で実動化できる動的に切換可能な比較回路。
【符号の説明】
５１    ＸＯＲゲート
Ｔ１，Ｔ２    パストランジスタ
Ｍ    マルチプレクサ
９１    ＸＯＲゲート
９２    インバータ
９３    パストランジスタ
９１１，９１４，９１７，９２１，９２７    データ変形機能回路
９１２，９１５，９１６，９２２，９２６    ＸＯＲ回路
９０１    専用関数発生器
９０２    プログラム可能な関数発生器
９０３    関数発生器
９０４    関数発生器または専用関数発生器
８０１，８０４，９２３    マルチプレクサ
８０２，８０３，８０５，８０６    制御用メモリ
【図１ａ】
0003697302.tif 000004
【図１ｂ】
0003697302.tif 000005
【図２】
0003697302.tif 000006
【図３】
0003697302.tif 000007
【図４ａ】
0003697302.tif 000008
【図４ｂ】
0003697302.tif 000009
【図４ｃ】
0003697302.tif 000010
【図４ｄ】
0003697302.tif 000011
【図５】
0003697302.tif 000012
【図６ａ】
0003697302.tif 000013
【図６ｂ】
0003697302.tif 000014
【図６ｃ】
0003697302.tif 000015
【図７ａ】
0003697302.tif 000016
【図７ｂ】
0003697302.tif 000017
【図８ａ】
0003697302.tif 000018
【図８ｂ】
0003697302.tif 000019
【図８ｃ】
0003697302.tif 000020
【図９ａ】
0003697302.tif 000021
【図９ｂ】
0003697302.tif 000022
【図９ｃ】
0003697302.tif 000023
【図９ｄ】
0003697302.tif 000024
【図１０】
0003697302.tif 000025
【図１１ａ】
0003697302.tif 000026
【図１１ｂ】
0003697302.tif 000027
【図１１ｃ】
0003697302.tif 000028
【図１２ａ】
0003697302.tif 000029
【図１２ｂ】
0003697302.tif 000030
【図１２ｃ】
0003697302.tif 000031
【図１２ｄ】
0003697302.tif 000032
【図１２ｅ】
0003697302.tif 000033
【図１３】
0003697302.tif 000034
【図１４】
0003697302.tif 000035