JPH08110853A - 高速桁上げ回路 - Google Patents

高速桁上げ回路

Info

Publication number
JPH08110853A
JPH08110853A JP7266374A JP26637495A JPH08110853A JP H08110853 A JPH08110853 A JP H08110853A JP 7266374 A JP7266374 A JP 7266374A JP 26637495 A JP26637495 A JP 26637495A JP H08110853 A JPH08110853 A JP H08110853A
Authority
JP
Japan
Prior art keywords
carry
logic
signal
circuit
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7266374A
Other languages
English (en)
Other versions
JP3697302B2 (ja
Inventor
Bernard J New
ジェイ.ニュウ バーナード
Kerry M Pierce
エム.ピアース ケリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of JPH08110853A publication Critical patent/JPH08110853A/ja
Application granted granted Critical
Publication of JP3697302B2 publication Critical patent/JP3697302B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/507Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1733Controllable logic circuits
    • H03K19/1737Controllable logic circuits using multiplexers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4812Multiplexers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】 回路配置融通性ある論理ブロックを有し高速
桁上げ論理を実動化する回路を備えるプログラムロジッ
クデバイスを提供する。 【解決手段】 組合せ関数発生器および蓄積素子の複数
ブロックを含みプログラム可能な相互配線構造で相互接
続したプログラマブルロジックデバイスは、桁上げ機能
発生用論理を用いる算術演算によく用いられる。多数の
ビットの処理を要する場合、桁上げ機能は通常大幅な遅
れを生じ、高速度で結果を得るには多量の追加素子を要
する。この発明は桁上げ機能を高速に最小素子数で行う
ための専用のハードウェアを論理ブロック内に備える。
この発明の回路は、上記高速桁上げ機能用ハードウェア
がそれ以外の慣用の機能を達成することを可能にするた
めの付加的回路を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は大規模集積回路に
関し、とくにプログラム可能なまたは回路配置融通性あ
るロジックデバイスに関する。
【0002】
【発明が解決しようとする課題】プログラマブルロジッ
クデバイス内で行われる機能の一つに算術演算がある。
この発明の譲受人ジリンクス,インコーポレーテッド発
売の回路配置融通性あるロジックアレーなどのデバイス
は算術演算のほか多数の論理演算を行うことができる。
それらデバイスは米国特許第4,870,302号、同
第4,706,216号、および同第5,343,40
6号に記載してあり、それら記載を特許番号を引用して
この出願の明細書に組み入れる。これらデバイスは汎用
機能を意図したものであるので、算術演算は比較的低速
であるほか所要シリコン面積も大きい。バークナー(B
irkner)名義の米国特許第4,124,899号
記載のプログラマブルアレーロジックデバイスおよびエ
ルガマルほか(Elgamalet al)名義の米国
特許第4,785,745号記載のユーザプログラマブ
ルデバイスなど上記以外のプログラマブルロジックデバ
イスも算術演算用にプログラム可能である。これらデバ
イスにおいては、算術演算ほかの機能すなわち桁上げ論
理を用いる機能の実行の速度は桁上げ信号の伝達の速度
により制限される。また、桁上げ機能を実動化するのに
用いる汎用論理が重要である。ロジックデバイスが算術
演算をいかに行うか、とくに遅延の原因は何であるかの
理解のために、算術演算機能に関する以下の説明は加算
器に焦点を絞って行う。しかし、この説明は減算器、イ
ンクリメンタ、デクリメンタ、アキュムレータほか桁上
げ論理を用いる回路に該当するよう容易に拡張できる。
また、以下の説明はマルチビット加算器の中間段の動作
を中心に行う。最下位ビットは、それ以下の位のビット
からの桁上げ信号があり得ないので特別な場合である。
最上位ビットも、桁上げビットが算術溢れの確定に使え
るので特別な場合である。これら二つの特別な場合はよ
り詳しく後述する。
【0003】図1a、1bおよび2を参照して、単一ビ
ット桁上げ伝搬加算器(図1aおよび図1b)の動作速
度、したがって単一ビット加算器の縦続接続から成るマ
ルチビット桁上げ伝搬加算器の動作速度が、桁上げ入力
端子への信号の桁上げ出力端子への伝達速度にいかに制
約されるかを次に述べる。図1aに示す単一ビット加算
器の動作を定めるブーレ論理式は (1) Si =(Ai ∪Bi )∪Ci (2) Ci+1 =Ai ・Bi +(Ai ∪Bi )・Ci ここで∪は排他的論理和(XOR)演算を表わし、・は
論理積(AND)演算を表わし、+は論理和(OR)演
算を表わす。式(1)は和が単一ビットAi およびBi
の加算に加えてより下位のビットからの桁上げの関数で
あることを示している。式(1)および(2)の桁上げ
伝搬加算器アルゴリズムは特定ビットに対する和が先行
ビットからの桁上げ出力の発生まで計算できないことを
示している。和Si はXORゲートの出力であり、その
ゲートの入力、すなわちその一つが桁上げ入力信号Ci
から成る入力の各々が有効になるまで発生できないので
ある。また、桁上げ出力Ci+1 も、より下位の桁上げビ
ットCi が有効になるまで発生できない。ここで図2を
参照して、桁上げ伝搬加算器の相次ぐ段を通じた桁上げ
信号の伝搬を説明する。第2の加算段Addi+1 間のA
NDゲートはその入力の一つをXORゲート66の出力
から1ゲート分遅延ののちに受ける。しかし、桁上げ入
力信号Ci が予め設定されている(すなわち、Addi
は最下位ビットである)とすると、ANDゲート67
は、Ai およびBi の影響がゲート61、62および6
2を伝達されて、他方の入力すなわちより下位のビット
からの桁上げ出力Ci+1 がより下位のビットCi および
加算すべきより下位のビットAi およびBi の桁上げに
より発生される前に上記伝達を完了するまでさらに3ゲ
ート分の遅延だけ待つことができよう。また、第2のビ
ットAddi+1 の桁上げ出力Ci+2 は、桁上げビットC
i+1 の発生後さらに2ゲート分だけ遅延を受ける。すな
わち、Ai+1 およびBi+1 についての入力を信号Ci+1
に組み合わせてCi+2を発生するには、Ci+1 をAND
ゲート67およびORゲート70経由で伝達しなければ
ならない。したがって、第3段への入力のための有効な
桁上げ信号Ci+2 は、入力信号Ai およびBi の印加か
ら5ゲート分の遅延時点まで得られない。このように、
慣用の桁上げ伝搬加算器の動作速度は桁上げ信号の伝達
により制約を受ける。慣用の桁上げ伝搬加算器の伝搬遅
延は2n+1ゲート分である。ここでnは複数ビット加
算器内の段数である。
【0004】加算はそれ以外の多数の重要な演算の基礎
であるので、桁上げ伝搬時間の高速化により高速加算回
路を実現することはコンピュータ産業にとって重要であ
る。概括的にいうと、構成素子密度および複雑性を犠牲
にして桁上げ伝搬速度を確保するのが通常の手法であ
る。より高速の桁上げ伝搬を達成する周知のアルゴリズ
ムの一つは桁上げ先見論理と呼ばれるものである。この
桁上げ先見論理を実動化する回路を図3に示す。この論
理を理解するには二つの新たな変数を導入する必要があ
る。すなわち、 (3) Pi =Ai ∪Bi (4) Gi =Ai ・Bi 変数Pは、その値が大きいとき桁上げ入力が桁上げ出力
に伝搬されるので「桁上げ伝搬」と呼ばれる。変数G
は、その値が大きいとき加算中にビットにより桁上げ出
力が生ずるので「桁上げ発生」と呼ばれる。これら新た
な変数によって式(1)および(2)は次のとおり変形
できる、すなわち (5) Si =Pi ∪Ci (6) Ci+1 =Gi +Pi ・Ci 式(6)は、若干の代数の操作を加えて、新たな式すな
わち各レベルでの桁上げビットが各レベルの加数および
最下位の桁上げビットのみに左右される旨の式に変形す
るのに使うことができる。図3に示した4ビット加算器
において次の式を実動化できる。すなわち、 (7)(a)Ci =A0 0 =G0 (b)C2 =G1 +P1 1 =G1 +P1 1 (c)C3 =G2 +P2 2 =G2 +P2 (G1 +P1
1 )=G2 +P2 1 +P2 1 1 (d)C4 =G3 +P3 3 =G3 +P3 (G2 +P2 1 +P2 1 1 ) =G3 +P3 2 +P3 2 1 +P3 2 1 1i およびPi の各々は式(3)および(4)に示され
るとおりAi およびBiのみの関数であり、先行の桁上
げ値の関数ではない。また、式(7)(b)に示されると
おり、C2 はG1 、P1 およびC1 の関数として計算さ
れ、式(7)(c)に示されるとおり、C3 はG2 、P2
およびC2 の関数として計算される。しかし、C2 はC
1 によって解かれているので、C3 もC1 によって解く
ことができる。式(7)(d)およびより一般的な式
(6)を注意深くみると、Ci+1 の各々がいくつかのG
i 、Pi およびC1 の関数であることが明らかになろ
う。図3にみられるとおり、より下位のビットの隣接上
位ビットへの印加は和の計算だけのためであって桁上げ
ビットの計算のためではない。各桁上げビットはいくつ
かのGi 、Pi およびC1 の関数であるので最下位ビッ
ト以外のビットの桁上げ出力には左右されない。このよ
うに、桁上げ先見回路の桁上げ伝搬遅延は加算対象のビ
ットの数には左右されない。
【0005】図3および図1aをさらに参照すると、入
力信号(AおよびB)の印加から一つの加算回路段の発
生出力(Gi )および伝搬出力(Pi )への有効出力信
号出現までの遅延は1ゲート分(図1aから認識でき
る)である。図3において桁上げ先見回路の桁上げ回復
部によって加わる遅延は2ゲート分であり、したがっ
て、加算器への入力信号印加から最後の桁上げビット発
生までの遅延は3ゲート分となる。この関係は加算対象
のビットの数には左右されない。複数ビット加算回路に
ついては、遅延は慣用の桁上げ伝搬加算器の遅延よりも
大幅に小さくなる。しかし、段数の増加とともに回路素
子数が大幅に増加する。桁上げ先見論理は、複数ビット
加算器の1段の実動化に慣用の桁上げ伝搬加算器よりも
ずっと多い素子数を要する。すなわち、桁上げ伝搬の高
速化が素子の高密度化を要することが上の説明から理解
されよう。図4は加算回路を実動化するための回路素子
のもう一つの例を示す。図4の加算回路は非常に高速で
あるが図3の加算回路と同様に多数の回路素子を用いて
いる。この例においても、高速桁上げ論理は素子の高密
度化を伴っている。ジリンクス,インコーポレーテッド
1989年発行のジリンクス社「プログラマブルゲー
トアレーデータブック」第6−30頁乃至第6−44頁
には、従来の同社製プログラマブルロジックデバイスに
実動化可能な種々の加算器および計数器が示してある。
上記ジリンクス社データブックの上記頁を引用してその
記載をこの明細書に組み入れる。同データブックの著作
権者であるジリンクス,インコーポレーテッドは同デー
タブックの上記頁の複写については何ら異存はないが、
それ以外については著作権の権利を留保する。図4の加
算回路は上記ジリンクス社データブックの第6−30頁
に示してある。図5は計数器を示し、同データブックの
第6−34頁に示してある。すなわち、図4および図5
はこれまでのジリンクス社製品で行われる算術演算の応
用を示す。これらジリンクス社製品では、和の計算には
一つの関数発生器が必要となり、桁上げ関数の計算には
もう一つの関数発生器が必要となる。これら二つの関数
発生器は、ジリンクス社製の慣用の回路配置融通性ある
ロジックアレーの一つの論理ブロックに通常は組み入れ
られている。
【0006】このように、図4および図5の加算回路に
おいても、これら以外のジリンクス社製の従来の加算回
路においても、加算器または計数器の各段を実動化する
には少なくとも二つの関数発生器が必要になる。図6c
の真数表は加算対象の二つの単一ビット、すなわち桁上
げ入力ビットおよび桁上げ出力ビットの間の論理関係を
示す。この真数表を注意深く分析すると有用なパターン
が得られる。AとBとが等しいとき(すなわち1、2、
7および8行目)は、桁上げ出力Cout ビットはAおよ
びBの値である。AとBとが等しくないとき(3〜6行
目)は、桁上げ出力Cout ビットの値は桁上げ入力ビッ
トCinの値である。このパターンを等価ブーレ論理式は
次のように表わす。すなわち、 (10) Cout =(A∪B)・(Cin)+反転(A∪
B)・A (12) Cout =(A∪B)・(Cin)+反転(A∪
B)・A 図6aに示した回路は式(10)を実動化する。この回
路は二つの条件を満足する。AとBとが等しくないとき
は、桁上げ入力端子の信号が桁上げ出力端子に送られ、
AとBとが等しいときは、Aの信号が桁上げ出力端子に
送られる。図6aに示すとおり、加算対象の二つの単一
ビットすなわちAおよびBはXORゲート51の二つの
入力端子に加えられる。AとBとが等しい場合は、XO
Rゲート51からのロウ出力信号がパストランジスタT
1をオンにしパストランジスタT2をオフにし、Aから
桁上げ出力端子COUT に信号を通過させる。AとBとが
等しくない場合は、XORゲート51の出力はハイとな
り、パストランジスタT2をオンにしパストランジスタ
T1をオフにする。これによって、桁上げ入力端子CIN
の信号を桁上げ出力端子COUT に通過させる。
【0007】図7aは全加算器を示す。図6bおよび図
7bは、図6aおよび図7aの回路の代表的表示をそれ
ぞれ示す。図6aおよび図7aのインバータおよびトラ
ンジスタは図6bおよび7bではマルチプレクサMとし
て表示してある。図2と図7aとの比較によって、上述
の高速桁上げ論理が慣用の桁上げ伝搬加算器よりも高速
の桁上げ信号伝搬を提供することが明らかになろう。図
7aはこの発明による全加算器の回路構成の一つの段を
示す。桁上げ伝搬は図6aについて上に述べたとおり制
御される。上述のとおり、また図2に図示のとおり、慣
用の桁上げ伝搬加算器の伝搬遅延は、加算対象ビット対
あたり1ANDゲート分プラス1ORゲート分プラス1
XORゲート分である。これに対して、この発明による
回路の最悪の場合の遅延は、図7aに示すとおり、入力
信号の一方、すなわちこの場合はBi が桁上げ出力信号
まで伝搬されたとき、すなわちこの信号がXORゲート
91プラスインバータ92を通過しパストランジスタ9
3をオンにしたときに生ずる。この状態は加算対象のビ
ット全体について同時に生ずる。桁上げ信号がトランジ
スタ94などトランジスタの長い列を伝搬する際の伝搬
遅延は加算結果の発生のためのゲート遅延に比べてごく
小さい追加遅延になるだけである。図7aに示したよう
な四つの全加算器を縦続接続すると、最悪の場合の出力
信号Cout はXORゲート遅延プラスインバータ遅延プ
ラス四つのパストランジスタのごく小さい伝搬遅延のの
ちに発生する。
【0008】
【課題を解決するための手段】この発明によると、回路
配置融通性ある論理ブロックを有し高速桁上げ論理を実
動化する回路を備えるプログラマブルロジックデバイス
を提供できる。加算器、減算器、累算器およびこれら以
外の機能回路すなわち桁上げ論理を用いた回路を実動化
する際にはこの高速桁上げ論理回路が有用である。高速
桁上げ通路は回路配置融通性あるロジックアレー内の専
用ハードウェアおよび専用相互配線回路で実現でき、桁
上げ信号発生のための桁上げ伝搬信号はプログラム可能
な関数発生器で発生できる。この専用桁上げ通路回路は
桁上げ信号の高速伝搬と桁上げ論理利用の論理機能の高
密度化を可能にする。桁上げ伝搬信号は和の発生にも用
いる。いくつかの実施例、すなわち和をプログラム可能
な関数発生器で発生するものと、専用XORゲートで発
生するものと、桁上げ伝搬信号発生用ハードウェアで他
の論理機能も発生できるものとを説明する。一つの実施
例においては、桁上げ論理を用いた回路は従来技術の回
路よりも約4倍高速であり、約半数の論理ブロックで実
現可能であり、汎用ロジック資源を他の機能に振り向け
ることを可能にする。また、一つの実施例は、定数と変
数との間の加算または減算をその定数の提供のための相
互配線回路を用いることなく可能にする。
【0009】この発明は、二つの論理的に等価の桁上げ
機能、すなわち、 (8) Ci+1 =(Ai ∪Bi )・(Ci )+(Ai
i )・Bi (9) Ci+1 =(Ai ∪Bi )・(Ci )+(Ai
i )・Ai の一つのブーレ関数簡略化を利用する。高速桁上げ通路
は上記Ci 関数を受け上記Ci+1 関数を発生する。上記
式のAi およびBi のXOR関数は参照用テーブル関数
発生器から発生する。桁上げ通路は、一つのビットの桁
上げ出力を次のビットの桁上げ入力に接続した状態でア
レーの形に実動化する。高速桁上げ通路はこのようにし
て実現される。一つの実施例では、和の関数Si を1ビ
ットあたり二つ以上の関数発生器を要することなく発生
できるようにXORゲートも備えてある。桁上げ論理ハ
ードウェアを汎用論理ブロックと関連して回路配置融通
性ある論理アレーに組み入れたときは、この高速桁上げ
論理回路には、近接論理ブロックの桁上げ入力と桁上げ
出力との間に機能向上用の専用相互配線構造を備えるの
が好ましい。桁上げ論理ハードウェアには桁上げ信号発
生用であって組合せ論理機能も発生できるマルチプレク
サなど他の構成も含めることができる。
【0010】
【実施例】図8aは回路配置融通性ある論理ブロック内
で桁上げ論理を実動化する従来の回路を示す。図8bは
この発明による回路を示す。この発明によると、算術演
算論理はプログラム可能なデバイスおよびハードウェア
の組合せに実動化できる。従来技術のデバイスの場合と
同様に、桁上げ通路は、高速度達成のために図8aにお
けるMUX913および図8bにおけるMUX923を
含むハードウェアで実動化する。図8aに示すとおり、
入力信号を受けるためのデータ変形機能回路911およ
びXORゲート912も専用ハードウェアで実動化し、
和の計算のための追加のデータ変形機能回路914およ
び917およびXORゲート915および917はプロ
グラム可能な関数発生器902に実動化する。図8bに
おいて、データ変形回路921およびXORゲート92
2は機能発生器903に実動化し、和の計算のためのX
ORゲート926は、プログラム可能な関数発生器また
は専用XORゲートであるユニット904に実動化す
る。図8cは図8bの場合と同様に高速桁上げ論理を実
動化でき、使用頻度の高いいくつかの論理機能を代替的
に実動化できるこの発明のもう一つの回路を示す。マル
チプレクサ801および804によって、ユーザは、図
8bと同様に信号を転送するか、桁上げマルチプレクサ
923の入力端子および制御端子に一定の0または1を
それぞれ供給するかを選択できる。この選択を行うよう
にメモリセル803および806でマルチプレクサ80
1および804をそれぞれ制御する。マルチプレクサ8
01および804が関数発生器903のAi 信号および
F出力をそれぞれ転送している場合は、図8cの回路は
図8bの回路と同様に動作する。図8cにおいて、マル
チプレクサ801および804は表Iに示すような図8
bの回路のもたらす機能かそれ以外の組合せ機能かをユ
ーザが選択することを可能にする。マルチプレクサ80
4は、桁上げ連鎖が演算のスキップまたは始動に用いら
れている際に桁上げ連鎖とは独立に関数発生器903を
用いることを可能にする。
【0011】 表 I 806 805 803 802 i 機 能 1) 1 0 1 0 x Ci+1 =0 2) 1 0 1 1 x Ci+1 =1 3) 1 0 0 x Ai i+1 =Ai 4) 1 1 x x x Ci+1 =Ci 5) 0 x 1 0 x Ci+1 =Ci AND Fi 6) 0 x 1 1 x Ci+1 =Ci OR反転Fi 7) 0 x 0 x Ai 加算器演算(図8bと同様) 8) 0 x 0 x 0 Ci+1 =Ci AND Fi 9) 0 x 0 x 1 Ci+1 =Ci OR反転Fi 表Iの機能はすべて通常用いられている機能である。二
つのマルチプレクサ801および804を制御用のメモ
リセル802,803,805および806とともに付
加したことにより、チップ表面積の増加をほとんど伴う
ことなく図8bの回路の機能を強化できる。マルチプレ
クサ804は三つのモードの選択を可能にする。算術演
算においてはマルチプレクサ804は関数発生器903
のF出力を供給する(関数発生器903は図8bに示す
ようにプログラムされている)。マルチプレクサ804
はメモリセル805から一定の信号を供給するようにプ
ログラムすることもできる。
【0012】セル805の論理0でマルチプレクサ92
3はマルチプレクサ801から入力を受ける。メモリセ
ル802から供給される一定信号を桁上げ動作の始動の
ために供給することもできる。マルチプレクサ801が
備わっていない場合も、マルチプレクサ804でAi
号を桁上げ出力端子Ci+1 に経路付与できる。セル80
5の論理1でマルチプレクサ923が論理ブロックをス
キップするようにすることもできる。マルチプレクサ8
01は、算術演算の場合の桁上げ値の始動、論理演算の
場合のAND機能(メモリセル802への論理1の入力
による)またはOR機能(メモリセル802への論理0
の入力による)の始動に使用できる。また、マルチプレ
クサ923をCi およびFi のANDまたはOR出力の
発生に用いた場合は、マルチプレクサ801は一定値
(AND機能の場合は、0、OR機能の場合は1)を生
ずる。このように、マルチプレクサ801および804
は単独でも図8cのような組合せでもこれら以外の実施
例に使用できる。ジリンクス社XC4000系デバイスに実動化した桁上
げ論理 図10、11a、11bおよび11cは図8aの構造を
実動化するのにジリンクス社製XC4000系製品で用
いている回路の回路図である。図10において、高速桁
上げ論理は、多用途回路の回路配置に用いられる参照用
テーブル関数発生器、マルチプレクサ、メモリセルおよ
び追加の論理ゲートを含む回路に組み入れてある。参照
用テーブル関数発生器の動作を図9a−9dに関連して
説明する。図9aは四つの入力信号の可能性ある16の
組合せの一つに応答して出力信号を発生できる16ビッ
ト参照用テーブルを示す。入力信号AおよびBはこの1
6ビット参照用テーブル内の四つのコラムのどれか一つ
を選択するようにXデコーダを制御する。入力信号Cお
よびDはこの16ビット参照用テーブルの四つのロウの
どれか一つを選択するようにYデコーダを制御する。こ
の16ビット参照用テーブルはそれぞれ選択されたロウ
およびコラムの交点のビットを代表する出力信号を生ず
る。そのような交点は16個あり、したがってそのよう
なビットも16個ある。それら16個のビットで表現で
きる機能の組合せは216通りあり得る。したがって、参
照用テーブル内の16ビットでシミュレートすべきもの
がNORゲートである場合は、その参照用テーブル対応
のカルノーマップは図9cに示すとおりになる。図9c
において、1番目のロウ(A=0、B=0を表わす)お
よび1番目のコラム(C=0、D=0を表わす)の交点
のビット以外のビットはすべて“0”である。この16
ビット参照用テーブルで発生すべき機能が使用頻度のよ
り低いものである場合(たとえば、A=0、B=0、C
=0、D=0に対する出力信号が“1”であることを要
求される場合)、2進符号「1」が2番目のロウと1番
目のコラムとの交点に格納される。A=0、B=0、C
=0、D=0のときおよびA=1、B=0、C=0、D
=0のときの両方について2進符号「1」が要求される
場合は、2進符号「1」が1番目のコラムと1番目およ
び2番目のロウとの交点の各々に格納される。参照用テ
ーブルの上記ローディングで表される論理回路は図9d
に示すとおりである。すなわち、図9aの参照用テーブ
ルは216個の論理機能の任意の一つの精密で単純な実動
化を表わす。
【0013】図9bは16個の選択ビットの任意の一つ
を生ずるためのもう一つの構成を示す。左側に「16個
の選択ビット」と表示した縦方向コラムのレジスタ0−
15の各々は2進符号1または0の被選択信号を含む。
信号A、B、CおよびDおよびそれらの複数の適当な組
合せを選択することにより、16個の選択ビットレジス
タの16個の位置の特定の一つに格納されている特定の
ビットが出力リード線に伝送される。例えば、「1」レ
ジスタ内のビットを出力リード線に伝送するには、その
ように表示されリード線に信号A、B、C、Dを加え
る。上記16個の選択ビットレジスタ内の16個の位置
の中の「15」と表示された信号を出力リード線に伝送
するには、信号A、B、C、Dを該当コラムに加える。
この構成を用いて216個の論理機能の任意の一つを実動
化できる。図10について述べると、入力端子F1およ
びF2から入力信号A0 およびB0 がそれぞれ供給され
る。関数発生器F、XNORゲートX101、メモリセ
ルCL0、CL1、マルチプレクサM2、および第3の
入力端子F3は、選択的に加算器または減算器として機
能できるように組み合わされて動作する。関係発生器F
からの出力信号S0 を受ける蓄積セル(図示してない)
を有するデバイスにより、上記組合せ回路を累算器また
は計数器として動作可能にすることもできる。XNOR
ゲートX101の一方の入力はM2の出力であり、他方
の入力はNORゲートN201の出力である。NORゲ
ートN201への二つの入力は入力端子F2への信号お
よびCL7内の値の補数である。この回路をマルチビッ
ト加算器内の中間段として機能させるために、CL7は
ロウの信号をNORゲートN201に入力するように設
定してある。これによって、NORゲートN201の出
力は入力端子F2への信号になる。
【0014】上記回路機能をインクリメントモードにす
るかデクリメントモードにするかを制御するために、マ
ルチプレクサM2がNORゲートN201からの信号を
XNORゲートX101で反転するか否かを定める。M
2の供給する値はCL0による制御の下にF3またはC
L1から供給される。CL1は静的な値の供給に通常用
いられ、F3は動的に変動する信号を供給する。M2に
より上記回路がインクリメントモードで機能している場
合は、信号B0がXNORゲートX101を通じてXN
ORゲートX103に伝搬される。XNORゲートの真
数表は、XNORゲートの一方の端子への入力信号が他
方の端子への信号がハイの場合にXNORゲートの出力
に送られることを示している。したがって、M2の出力
がハイの場合は、桁上げ論理はインクリメントモードで
機能する。しかし、M2の出力がロウの場合は、信号B
0 はXNORゲートX101により反転され、この回路
の桁上げ論理はデクリメントモードで機能する。また、
インクリメントモード/デクリメントモード選択用の制
御信号がF3端子から供給される場合は、関数発生器F
に実動化された和論理が上記制御どおりインクリメント
モードまたはデクリメントモードで機能するように、そ
の制御信号を関数発生器Fにも加える。この回路を加算
器またはインクリメンタとして用いマルチプレクサM2
がハイの信号を発生し入力B0 がXNORゲートX10
3の入力に伝達されている状態をまず考える。メモリセ
ルの第2のグループCL2−CL5およびCL7が図1
0の回路にいくつかの機能を生じさせるように共動す
る。その回路をマルチビット加算器の中間段として動作
させるには、メモリセルCL3、CL4およびCL5を
ハイに設定する。これによって、組合せX103および
I104はXORゲート(図7aのXORゲート91と
等価)として動作し、XNORゲートX103の出力で
インバータI104を通過させる。メモリセルCL4を
ハイに設定することによって、端子F1からの信号をラ
イン105に供給する。この回路配置において、図10
のF段は図6aおよび図7aの桁上げ回路に等価とな
る。F1からの信号は、トランジスタT102(図7a
のトランジスタ93と等価)がA0 とB0 との等しくな
ったのに応答してオンになった場合はC1 に伝搬され
る。メモリセルCL5をハイに設定することによって、
セルCL7内の値がライン105に同時に伝搬されるこ
とを防ぐ。
【0015】メモリセルCL3をロウに設定することに
よって、トランジスタT101およびT102はメモリ
セルCL2内の信号で制御される。CL2がハイであれ
ば、トランジスタT101はオンとなり、C0 はC1
伝搬される。メモリセルCL2およびCL3のこの回路
配置により、桁上げ信号C0 がF段の桁上げ論理をスキ
ップ可能になる。特定の段の桁上げ論理をこのようにス
キップすることは、レイアウトの制約のために論理ブロ
ック内の特定の段を加算器(または計数器など)の一つ
の段以外の何れかの用途に使う必要が生じた場合に有用
になり得る。メモリセルCL2をロウに設定した場合
(CL3もロウのまま)は、T101はオフになりT1
02はオンになる。T102がオンのときは、ライン1
05の信号はC0 に伝搬される。ライン105への信号
は、インバータI105およびI106とともに3:1
マルチプレクサM101を構成するメモリセルCL4、
CL5およびCL7に制御される。マルチプレクサM1
01は三つの信号、すなわち端子F1への信号、端子F
3への信号の補数(F3)およびメモリセルCL7内の
信号のどれをライン105に出力するかを制御する。端
子F3への信号がマルチプレクサM2またはマルチプレ
クサM101に用いられることに注意されたい。
【0016】上述のとおり、F段がマルチビット加算器
内の中間段として動作する場合は、F1端子への信号を
ライン105に出力するようにメモリセルをプログラム
する。併せて、XNORゲートX103の供給する値、
すなわちラインF1およびF2への入力A0 およびB0
の関数になるように設定された値が桁上げ入力信号C0
とF1 に生ずる値とのいずれを伝搬するかを決めるよう
に、CL3はハイに設定してある。F段がマルチビット
加算器で最下位ビットを加算するために、論理零を桁上
げ入力端子Carry InT か桁上げ入力端子Car
ry InB かの一方に加え信号伝搬のためにメモリセ
ルを設定することによって桁上げ入力を零にプリセット
することができる。(この論理零の信号の発生は図11
aに関連して後述する。) G段の桁上げ入力信号C0 のプリセットのために、F3
反転への信号、CL7内の信号またはF1への信号のい
ずれかを使うこともできる。F3反転の信号はCL5を
ハイにCL4をロウに設定することによってライン10
5への出力用に選択され、CL7の信号はCL4および
CL5の両方の信号をロウに設定することによって選択
される。F1の入力端子は最低次ビットがG段で計算さ
れるときにC1 信号をプリセットするのに使うこともで
きる。F1はF関数発生器へのF1入力が不要のとき用
いることができる。F1をC1 プリセット用の入力とし
て用いるために、メモリセルCL4およびCL5にハイ
の信号を格納する。また、CL3をロウにCL2をロウ
に設定してトランジスタT101をオフにするとともに
トランジスタT102をオンにしてライン105の信号
がC1 に伝搬するようにする。
【0017】メモリセルCL7は3:1マルチプレクサ
M101の一部として機能するほかはNORゲートN2
01およびN202への一つの入力を制御する。F段が
端子F1およびF2への値A0 およびB0 の加算のため
のマルチビット加算器の中の中間段として機能するよう
にするために、CL7をハイに設定してN201の出力
が入力端子F2への信号であるようにする。F1への入
力値A0 に定数を加えるためにCL7はロウに設定して
ある。これによってN201への入力がハイになり、そ
の出力がロウになり、加数がマルチプレクサM2に選択
されるようにする。メモリセルCL0は、CL1の値ま
たはF3の値をXNORゲートX101に選択的に印加
し、このゲートX101によりX103が端子F1の値
0 に加えるべき出力を発生する。このように、CL7
をロウにプログラムすることによって、相互配線資源、
すなわち他の論理ブロック(図示してない)への信号供
給に必要となる端子F2の接続を受ける相互配線資源を
用いることなく、1ビットを入力値に加えるべき一定値
としてプログラムすることができる。図10のメモリセ
ルの論理値のすべての組合せが許容できるのではない。
例えば、M101内では、セルCL4がハイでメモリセ
ルCL5がロウの場合は、それらハイおよびロウの信号
の両方がライン105に同時に入力されることがあり得
るので、コンテンションが生じ得る。このようなコンテ
ンションを防ぐために、メモリセルプログラム用のソフ
トウェアを上記組合せを防止するようにプログラムす
る。または、ライン105に出力すべき二つの信号の一
方だけを選択するように余分のメモリセルを加えること
もできる。
【0018】上述のとおり、二つの段すなわち各々がマ
ルチビット加算器の1ビットを代表するF段およびG段
を図10に示すとおり互いに縦続接続する。このように
して一つの論理ブロックで、桁上げ論理を用いるマルチ
ビット機能の中の2つのビットを実動化できる。この構
成は、これまでのジリンクス社製デバイスに比べて、桁
上げ論理を使う機能の実動化に必要な回路素子の密度を
大幅に改善する。これと対照的に、図5に示すとおり、
従来技術の回路では論理ブロックあたり1ビットだけの
密度でマルチビット計数器を実現している。図10のG
段について述べると、このG段のマルチプレクサM3が
F段の桁上げ出力信号C1 を二つのインバータI107
およびI108によるバッファを経て受ける。加算器で
は、桁上げ出力信号C1 を端子G4およびG1にそれぞ
れ現われている加数A1 およびB1 とG関数発生器で組
み合わせて和ビットS1 を計算する。F段の桁上げ出力
信号C1 も、G段の桁上げ論理の回路配置条件に応じ
て、トランジスタT103によるG段の桁上げ出力C
i+2 への伝搬に利用できる。G段の桁上げ論理の大部分
はF段の桁上げ論理と同じである。例えば、G段のXN
ORゲートX102はF段のXNORゲートX101と
相似的に機能して同じマルチプレクサM2の出力による
制御を受け、G段が加算器またはインクリメンタとして
機能するか減算器またはデクリメンタとして機能するか
を決める。また、G段のNORゲートN202はF段の
NORゲートN201、すなわちメモリセルCL7によ
る一方の入力の制御をG段の加数がそのG段の入力端子
に接続してある相互配線資源の使用を要することなく一
定値に強制的に収まるように行うNORゲートN201
として機能する。
【0019】しかし、F段のメモリセルCL2およびC
L3に対して、G段はただ1個のメモリセルCL6を備
える。CL6はCL3と同様に機能し、G段がマルチビ
ット加算器内の中間段として機能するか桁上げ信号がG
段の桁上げ論理をバイパスするかを制御する。CL6が
ハイの状態では、トランジスタT105はオンになり、
G段はマルチビット加算器の中間段として機能する。C
L6がロウの状態では、ロウの信号がトランジスタT1
06を経てインバータT110に印加され、トランジス
タT103がオンになる(T104はオフとなる)。T
103がオンになったことにより、C1 における桁上げ
信号はG段の桁上げ論理をバイパスすることができる。
F段の場合と同様に、G段または論理ブロック内の任意
の特定の段をバイパスすることは、G段を他の機能のた
めに用いる設計レイアウトによって要求され得る。G段
内のマルチプレクサM3およびM4は互いに組み合わせ
てF段のマルチプレクサM1およびM2とは異なった使
い方をする。F段のマルチプレクサM2はG段の桁上げ
論理およびF段の桁上げ論理がインクリメントモードで
機能するかデクリメントモードで機能するかを制御す
る。しかし、G段はそれ自身のマルチプレクサM4を備
え、それによって、関数発生器G内の和の論理がインク
リメントモードおよびデクリメントモードのどちらで動
作するかを制御する。M4は、その入力の一つG3が対
応入力F3の場合と同様に同じ相互配線回路(図示して
ない)、すなわちF機能発生器のインクリメントモード
/デクリメントモードを制御する回路に接続されてい
る。
【0020】G段のマルチプレクサM3およびM4への
他の入力は、同時に必要となる信号が同一のマルチプレ
クサに入力されることがないように分配される。マルチ
ビット加算器内の中間段として動作するには、G関数発
生器はインクリメント・デクリメントモード間の動作モ
ードの信号制御とより下位のビットからの桁上げ信号と
の両方を必要とする。したがって、F3へのインクリメ
ント/デクリメントモード信号はG3経由でマルチプレ
クサM4にも印加し、下位ビットからの桁上げ出力信号
はマルチプレクサM3に送り、これら両方の信号がG関
数発生器に同時に供給されるようにする。さらに、算術
溢れの検出のために後述のとおり信号C1 およびC0
比較する必要があり、したがって同時に供給されている
必要がある。そこで、信号C1 は一方のマルチプレクサ
M3に入力され信号C0 は他方のマルチプレクサM4に
入力され、これら両信号がG関数発生器に一緒に供給さ
れるようにしている。互いに縦続接続した二つの段を含
む図10の回路は先行ブロックにおける最上位ビット処
理の際の算術溢れをG段で検出する能力を備える。算術
溢れの検出を、符号ビットの桁上げと最上位ビットの桁
上げとの相違の認識によって行うことは当業者に周知で
ある。したがって、算術溢れ状態の検出は符号ビットの
桁上げと最上位ビットの桁上げとのXOR関数の計算に
よって達成する。図10の回路では、最上位ビットの桁
上げはC0 すなわちF段への桁上げ入力に供給された符
号ビットの桁上げ(F段へのA0 およびB0 信号とC0
信号との関数)はC1 すなわちF段への桁上げ出力に供
給される。C0 はI120およびI121を経てG段内
のマルチプレクサM4に送られる。C1 はI107およ
びI108を経てG段内のマルチプレクサM3に送られ
る。算術溢れ検出用に図10の回路を回路配置するため
に、M3はC1 をG関数発生器に経路づけするようにプ
ログラムし、M4はC0 をG関数発生器に経路づけする
ようにプログラムする。G関数発生器はC1 およびC0
のXOR関数、すなわち上述のとおり算術溢れ検出信号
であるこのXOR関数を計算するようにプログラムす
る。
【0021】図10の回路はデクリメントでも機能す
る。デクリメントモードでは、この回路は計数器をデク
リメントするか、または変数から定数を減算するなどの
減算を行う。図10の回路においては減算の実施にいく
つかのモードを用いることができる。減算の三つの通常
のモードは、2の補数モード、1の補数モードおよび符
号・大きさモードである。減算の2の補数モードを用い
る場合は、最下位ビットの桁上げ入力ビットを論理1に
プリセットする。その最下位ビットをF段から供給する
場合は、その最下位ビットの桁上げ入力を桁上げ入力端
子Carry InT またはCarryInB 経由でリ
セットし、メモリセルMCを信号のC0 への伝搬に設定
する。プリセット信号をF段の桁上げ入力端子Carr
y InB またはCarryInT に印加するために、
プリセット信号をもう一つの論理ブロックのF段で発生
し、図10乃至図12に関連して後述する手段により最
下位ビットのF段に供給する。この信号は上述のとおり
F段で発生し、トランジスタT103をオンにトランジ
スタT104をオフにすることによってG段経由で次の
論理ブロックに送ることもできる。このようにして、プ
リセット信号発生用のその論理ブロックのG段内の桁上
げ論理はバイパスされる。最下位ビットをG段で2の補
数の減算で供給する場合は、マルチプレクサM101の
三つの入力の一つをC1 の論理1へのプリセットに使え
るように、トランジスタT101をオフにトランジスタ
T102をオンにすることもできる。マルチプレクサM
101は、F3にロウの信号を印加しCL5をハイにC
L4をロウに設定することによって、論理1をF3端子
経由で供給できる。マルチプレクサM101は、CL7
をハイに、CL5をロウに、CL4をロウにそれぞれ設
定することによって、メモリセルCL7内の格納値とし
て論理1を供給できる。また、マルチプレクサM101
は、ハイの信号をF1に印加し、CL5およびCL4を
ハイに設定することによって、F1入力端子経由で論理
1を供給できる。
【0022】上記1の補数の減算または符号・大きさ減
算を行うときは、最下位ビットの桁上げ入力は論理0に
通常プリセットする。この1の補数の減算の場合は、符
号ビットの桁上げ出力は最終解の発生のために最下位ビ
ットに加えなければならない。この動作は、最下位ビッ
トの桁上げ入力をプリセットするのではなく、符号ビッ
トの桁上げ出力端子を最下位ビットの桁上げ入力端子に
接続することによって達成できる。符号ビットの桁上げ
出力は和出力に加算することもできる。最下位ビットを
F段で計算する場合は、桁上げ入力端子Carry I
T またはCarry InB に論理0を印加しメモリ
セルMCを桁上げ入力C0 への信号伝搬に設定すること
によって、桁上げ入力C0 を0にプリセットする。ま
た、最下位ビットをG段で計算する場合は、桁上げ入力
1 を上述のとおりマルチプレクサM101内の三つの
経路の一つ経由で0にプリセットする。F3端子経由で
論理0を供給するために、ハイの信号をF3に印加する
(反転されるから)。CL7経由で論理信号を供給する
ために、論理0をCL7に入力する。F1経由で論理0
を供給するために、ロウの信号をF1に印加する。上記
2の補数の減算および1の補数の減算の両方について
は、マルチプレクサM2の出力はロウに設定しなければ
ならない。符号・大きさ減算については、M2の出力は
二つの数の符号が同じであればロウに設定する。二つの
数の符号が互いに反対であればM2の出力はハイに設定
する。
【0023】マルチビット加算器に用いた図10の回路 図11aを参照してマルチビット加算器を説明する。各
々が図10に示すような回路を含むブロック1乃至4の
順序づけしたアレーを、図10にCi+2 で示し図11a
の各論理ブロック内にCarry Outで示した桁上
げ出力が、これら両図にCarry InB で示した上
側論理ブロックの桁上げ入力端子と両図にCarry
InT で示した下側論理ブロックの桁上げ入力端子とに
接続されるように構成する。各論理ブロックは上側論理
ブロックから(端子CarryInT に)または下側論
理ブロックから(端子Carry InB に)桁上げ信
号を選択的に受けることができる。この論理ブロックに
よる桁上げ信号の選択的受信が上側論理ブロックからか
下側論理ブロックからかはメモリセルMCが制御する。
MCがハイの状態にあればトランジスタT152がオン
となり、下側論理ブロックからの桁上げ信号を桁上げ信
号入力端子Carry InB に受ける。MCがロウの
状態では、トランジスタT151がオンになり、上側論
理ブロックからの桁上げ信号を桁上げ信号入力端子Ca
rry InT に受ける。例えば、ラインL112はブ
ロック2の桁上げ信号出力端子をブロック1の桁上げ信
号入力端子Carry InB およびブロック3の桁上
げ信号入力端子CarryInT に接続する。同様に、
ラインL113はブロック4の桁上げ信号出力端子をブ
ロック3の桁上げ信号入力端子Carry InB およ
びブロック5(図示してない)の桁上げ信号入力端子C
arry InT に接続する。このように、ブロック3
は桁上げ信号をブロック4からラインL113経由で端
子CarryInB に、またブロック2からラインL1
13経由で端子Carry InTに受ける。メモリセ
ルMCのプログラムのしかたによって、トランジスタT
151とT152のどちらがオンになり、桁上げ信号の
どれがブロック3内部回路で用いられるかが決まる。
【0024】図10に示すとおり、長いラインで信号品
質を維持するために2ビットあたりさらに2ゲート分の
遅延がインバータI101およびI102によって加わ
る(4ビットあたりおよそ4ゲート分の遅延)。これと
対照的に、図2に示したような慣用の四段縦続接続桁上
げ伝搬全加算器の出力信号COUT は、一つのXORゲー
トと四つのANDゲートと四つのORゲートと(9ゲー
ト分の遅延)を通過するまで得られない。また、図3に
示したような参照用桁上げ回路が高速桁上げ伝搬の達成
のために回路素子の高密度化を要するのに対して、図1
0の回路は慣用の桁上げ伝搬加算器の場合よりも多い回
路素子は必要としない。桁上げ専用相互配線回路の主な
利点はプログラム可能な桁上げ相互配線回路よりもずっ
と高速で動作することである。この性能向上はプログラ
ム可能な相互配線回路の融通性を犠牲にして達成してい
る。しかし、図11aに示した専用配線回路は桁上げ信
号をアレー経由の二つの方向のいずれかに伝搬できる点
において融通性がある。図11bは桁上げ信号をアレー
経由で選択方向に伝搬する専用配線回路を用いない配線
構造を示す。図11bはマルチビット加算器またはそれ
以外で桁上げ論理利用のマルチビット機能回路を形成す
る論理ブロックを相互接続する配線構造が必要となるメ
モリセル・相互接続の組の一部だけを示す。図11bに
おいて、論理ブロック11−2の出力C0 は、メモリセ
ルM11−2による制御の下に論理ブロック11−2の
出力と配線ライン11−aとを接続する対応トランジス
タをオンにすることによって、論理ブロック11−2ま
たは論理ブロック11−3に接続できる。論理ブロック
11−2の出力C0 を論理ブロック11−1の入力CIB
に接続する必要がある場合は、対応トランジスタをオン
にしてライン11−aへの信号をブロック11−1の端
子CIBに伝搬するようにメモリセルM11−1をプログ
ラムする。出力C0 を論理ブロック11−3に接続する
必要がある場合は、メモリセルM11−3の制御するト
ランジスタをオンにして配線ライン11−aを論理ブロ
ック11−3の入力CITに接続する。これら以外のメモ
リセル(図示してない)も一つの論理ブロックから次の
ブロックへの信号伝搬の方向を制御するよう同様にプロ
グラムできる。マルチビット加算器の各段経由の桁上げ
信号伝搬方向の制御に融通性を与えるためには多数のメ
モリセルが必要になることは容易に理解されよう。
【0025】図11cに示したもう一つの回路はより複
雑な専用桁上げ相互配線回路である。この専用配線回路
は桁上げ連鎖を任意の長さに蛇行した形で形成すること
を可能にする。上記ブロックのいくつかは図11aに示
すように、すなわち桁上げ出力信号を上側論理ブロック
および下側論理ブロックの両方に伝搬するように回路配
置する。しかし、このアレーの上端部と下端部では回路
配置は異にしてある。すなわち上端部では論理ブロック
の桁上げ信号は下側論理ブロックの桁上げ入力に伝搬す
るとともに、右側論理ブロックの桁上げ入力に伝搬す
る。下端部の各回路は、論理ブロックの桁上げ出力信号
が上側論理ブロックの桁上げ入力に伝搬されるとともに
右側論理ブロックの桁上げ入力に伝搬されるように回路
配置する。また、下端部回路の各々は上側論理ブロック
および左側論理ブロックから桁上げ入力信号を受ける。
各論理ブロックのメモリセルMCは、二つの桁上げ入力
信号のいずれの桁上げ入力信号が図11aに関する上述
の説明のとおり論理ブロックに受信されるかを制御す
る。図11cに示した複雑な専用配線回路は設計レイア
ウトにより高い融通性を与える点でとくに有用である。
マルチビット加算器もしくはマルチビット計数器、また
はそれら以外のマルチビット算術機能回路は論理ブロッ
クの特定のコラムに限定される必要はない。例えば、論
理ブロックB3、B4、A4およびA3を含む馬蹄状回
路配置の形に8ビット計数器を実動化できる。ここでブ
ロックA3は最下位ビットおよびそのすぐ上位のビット
を含み、A4はさらにその次の上位ビットを含み、B4
はさらにその次の上位ビットを含み、最後にB3は二つ
の最上位ビットを含むものとする。各論理ブロックのメ
モリセルMC(図10)は、桁上げ信号を論理ブロック
A3のC0 から論理ブロックA4のCITへ、論理ブロッ
クA4のC0 から論理ブロックB4のCIBへ、さらに論
理ブロックB4のC0 から論理ブロックB3のCIBへ伝
搬する。論理ブロックの内部回路により(図10に示す
とおり)任意の特定ビットの桁上げ論理はバイパスされ
得るから、8ビット計数器(または桁上げ論理を利用し
たそれ以外の機能回路)は隣接ブロック内に実現する必
要はない。したがって、例えば最下位ビットは論理ブロ
ックA3でなく論理ブロックA2にあり、それ以外の六
つのビットは上述の例の場合と同様にブロックA4、B
4、B3にあり得る。ブロックA3内のメモリセルCL
2、CL3およびCL4を適切にプログラムすることに
よって、論理ブロックA2の桁上げ信号C0 は論理ブロ
ックA3の桁上げ論理をバイパスし、論理ブロックA4
のCITに伝搬する。
【0026】この発明による桁上げ論理回路 図12aは図8bの実施例を実動化する回路配線融通性
ある論理ブロックCLBを示す。この論理ブロックCL
Bには四つの関数発生器F、G、HおよびJが含まれ
る。関数発生器F、G、HおよびJの各々は図9a乃至
9dに関連して上に述べた参照用テーブルを含む。すな
わち、各関数発生器は、入力信号F0乃至F3、G0乃
至G3、H0乃至H3、J0乃至J3の任意の関数をそ
れぞれ供給する。入力変数AおよびBの算術機能を実動
化するために、関数発生器の各々において1ビットを処
理する。例えば、最低次の和ビットS0 はAおよびBの
最低次ビットから、すなわちF関数発生器内のビットA
0 およびB0 から計算できる。ビットA0 はF関数発生
器のFB入力端子および入力端子F0、F1、F2、ま
たはF3に供給される。ビットB0 はF関数発生器のも
う一つの端子に供給されるか、その関数発生器内で他の
入力の関数として発生される。加算を行うには、桁上げ
入力ラインCINに論理0を供給する。同様に、ビット
1 およびB1はG関数発生器に供給し、より高次のビ
ットについても同様とする。これら関数発生器の各々
は、図8bのユニット903で示したとおりAおよびB
ビットのXOR関数を発生するように適当な参照用テー
ブルをロードすることによってプログラムする(図8b
に示すとおり、B入力値は関数発生器の内部でA入力用
ライン以外のラインへの他の入力の関数として発生する
こともできる。関数発生器は四つの入力の任意の関数を
供給できるのでこれが可能になる)。このように、関数
発生器は任意のデータ変形921を実動化し、対応ビッ
トAi およびBi のXOR関数922をそれぞれ発生す
る。この実施例は算術演算を4ビット演算に限定するも
のではない。すなわち、CLBは複数のCLBのアレー
の一つとして形成され図示のCLBの上に接続されたC
LBでより高次のビットを処理することもできるからで
ある。
【0027】高速桁上げMUX C1、C2、C3およ
びC4がこれら関数発生器と関連づけてある。MUX
C1は桁上げ入力信号CIN(算術演算が加算であって
F関数発生器が最低次のビットを受けているとき0にな
る)とB入力信号FBとを受け、出力信号C1OUTを
発生する。MUX C2はC1OUT信号および第2の
B入力信号GBを受けて、出力信号C2OUTを発生す
る。MUX C3およびC4は等価的に接続してある。
MUX4は論理ブロックCLBから信号COUTを発生
する。関数発生器F、G、HおよびJはそれぞれの出力
信号X、Y、ZおよびVとしてそれぞれの桁上げ伝搬信
号Pi をそれぞれ発生する。これらの出力信号により、
図6aに関連して上述したように桁上げMUX C1、
C2、C3およびC4を制御し、累算桁上げ出力関数C
OUTを供給する。図10のインバータI101および
I102に関連して上に述べたとおり、桁上げ信号C0
に周期的に電力再供給を行う必要がある。電力再供給バ
ッファの接続の頻度はこの発明を実施した相互配線アー
キテクチャーによって定める。図12aに示すとおり、
インバータI121およびI122を含む電力再供給バ
ッファは、桁上げ信号通路内の四つのマルチプレクサご
とに、あるいはCLB一つごとに配置する。もう一つの
実施例では、電力再供給バッファは桁上げ信号通路内の
二つのマルチプレクサごとに設けてあり、したがって、
各CLBあたり二つの再供給バッファが設けてある。も
ちろん、この発明は一つのCLBが四つの関数発生器を
含むアーキテクチャーに限られない。それ以外に多数の
変形が可能である。
【0028】図12aの実施例は、図8bの和Si を発
生するのに、同図に図示のものの近傍、好ましくはそれ
の右か左に隣接して配置して示したものと同一のもう一
つのCLBを用いている。桁上げ伝搬信号Pi を左また
は右の和CLBに供給するために、MUX B1、B
2、B3およびB4をそれぞれのメモリセル1乃至5で
セットして、桁上げMUX C1、C2、C3およびC
4の出力を送出する。メモリセル3および7はMUX
S3およびS1にMUX B3およびB1の出力を送出
させるように同様にセットされる。このようにして、桁
上げMUX C1、C2、C3およびC4の出力が出力
ラインXB、YB、ZBおよびVBに生ずる。桁上げC
LBの右または左の和CLBにおいては、出力XBはラ
インFBと入力F0乃至F3の一つとに接続する。出力
Xは入力F0乃至F3の他方の一つに接続する。関数発
生器G、HおよびJへの等価的接続を設ける。和CLB
においては、関数発生器F、G、HおよびJが互いに連
続するビットについての和の出力を供給する。図12b
は1ビットあたり一つだけの関数発生器を要するこの発
明のもう一つの実施例を示す。図12bのCLBは図1
2aのものと類似しているが、和の計算のためのXOR
ゲートS1乃至S4を含む。図12aの実施例では一つ
のメモリセル1でMUX B3およびB4の両方を制御
しているが、図12bの実施例ではMUX B4はメモ
リセル9で制御され、MUX B3はメモリセル6およ
び7による制御を受ける三入力MUXである。また、既
述のとおり、図12aの実施例では1ビットの桁上げと
和とが二つの互いに別のCLBで計算されるのに対し
て、図12bの実施例ではXORゲートS1乃至S4が
桁上げおよび和の両方を単一のCLB内で計算すること
を可能にしている。したがって、図12bの実施例のほ
うが算術演算機能の実動化においてより効率的であり、
一方図12aの実施例のほうがより高密度であってPC
Bあたりのコストが低い。これら以外に多数の変形がも
ちろん可能である。例えば、図12bにおいて、メモリ
セル9でMUX B3を制御し、MUX B4への一つ
の制御を供給するようにメモリセル6および7の一つを
メモリセル9で置換してメモリセルを節約することもで
きる。もう一つの実施例では、一つのメモリセルで四つ
のメモリセルB1乃至B4全部の桁上げモードを活性化
できる。
【0029】図12aおよび12bの実施例において、
図10のマルチプレクサM1、M3およびM4、または
これらマルチプレクサM1、M3およびM4の回路配置
のための関連回路配置メモリセルは必要ないことに注意
されたい。また、図10の場合と対照的に、F0乃至F
3などの関数発生器入力は完全に置換可能であることに
も注意されたい。入力信号はこれら入力の任意の選ばれ
た一つに導くことができ、後述の相互配線構造経由で信
号を経路づけする際に有利になる。図12aおよび12
bにおいて、いずれのデータ変形論理(図8bのデータ
変形ユニット921を見よ)もユーザに選択可能であ
り、算術演算入力の特定のピンへの入力の必要性によっ
て制約されない。このように、ユーザ設計を経路づけす
るソフトウェアはより容易に経路を見出すことができ、
その経路は通常はより短縮される。さらに、図8bに示
したこの発明のデバイスを図8aのデバイスと比較して
みると、図8aのデバイスは、Ai 、Bi およびCi
力が関数発生器902に供給され、それによって追加入
力数を一つに制限することを必要とする。これと対照的
に、図8bの実施例はデータ変形機能921内に三つの
変数の任意の関数を収容できる。和Si をもう一つの関
数発生器904で計算する場合は、その関数発生器はデ
ータ変形領域927において二つの追加入力の任意の関
数により上記Si 関数を変形できる。
【0030】桁上げ回路を用い得る経路づけアーキテク
チャー 一つのCLBからもう一つのCLBへの信号経路付与の
アーキテクチャーを図12cおよび12dに示す。図1
2cはロジックと信号経路とを組み合わせるタイルを示
す。図12dは水平方向に互いに隣接する二つのタイル
TILE1,1 およびTILE2,1 、すなわち図12eに
示したようにチップ形成の際に互いに接続される二つの
隣接タイルを示す。TILE1,1 において右に延びるラ
インはTILE2,1 において左に延びるラインと一線上
に配置し互いに接続する。図12cのコアタイルは、タ
イルの上端および下端に設けたラインを含む。互いに重
ねるときは、これら上端ラインおよび下端ラインは互い
に接続する。完全集積化回路チップでは、図12cのタ
イルは組み合わされて図12eに図示の構成、すなわち
素子Cがコアタイルを含み、素子N、S、EおよびWが
チップの入力出力用の北、南、東および西端タイルを含
み、素子NW、NE、SWおよびSEが追加のチップ入
力出力用の角タイルを含む図12e図示の構成を形成す
る。DSおよびDCなどの除算器は互いに隣接する導体
ラインをプログラム可能な形で接続状態または非接続状
態にすることを可能にする。
【0031】図12cについて述べると、図12aまた
は12bのCLBが図の中央近傍に示してある。図12
aおよび12bで左側にあるCLK経由の入力ラインJ
Bは図12cのCLBの左側に対応して配置してある。
簡略化のために、ラインJF、FOおよびCLKだけに
符号を付けてある。図12aおよび12bの場合と同様
に、桁上げ入力ラインCINが図面の最下部からCLB
に延び桁上げ出力ラインCOUTが図面の最上部から延
びる。X経由の出力線VBは図12aおよび12bなら
びに図12cのCLBの右から延びている。図12cに
おいては、ラインVBおよびXのみに符号をつけてあ
る。図12cには24本の入力選択ラインM0乃至M2
3も示してあり、簡略化のためそのうちのM23のみに
符号をつけてある。ラインM0乃至M23は北、南、東
および西側のタイルからの入力信号を選択してCLBへ
の入力とする。図12cには多数の小さい白マルが示し
てある。これら白マルの各々はプログラム可能な相互接
続点PIP、すなわち円内で交叉する水平ラインおよび
垂直ラインを電気的に接続するように、1個のトランジ
スタ、数個のトランジスタ、アンチヒューズ、EPRO
Mセルなどの手段によりプログラムできるPIPを表わ
す。簡略化のために、PIP 一つだけに符号をつけて
ある。図12cには黒マルでそれぞれ表示した固定接続
も示してある。X経由のCLB出力ラインVBはPIP
によりそれらラインの一つ、例えば固定接続を有するQ
Oに、プログラム可能な形で接続できる。
【0032】図12dを参照すると、タイルTILE
1,1 内のCLB1,1 のF関数発生器Xの出力に生ずる伝
搬信号Pi はPIPX1,1,1により直接相互接続ラインQ
1,1すなわちタイルTILE2,1 に延びるQ01,1
接続できるとともに、PIPF04,2,1 によりCLB2,1
のF0入力に接続できる。図12aに示すとおり、高速
桁上げMUX C1からの桁上げ出力信号Ci+1 はマル
チプレクサB1およびS1経由でCLB1,1 のXB出力
に接続する。PIPXB2,1,1 はもう一つの直接接続ライ
ンQ11,1 、すなわちPIPGB3,2,1 経由でCLB2,1
のG関数発生器の入力線G0に接続されているラインQ
1,1 に接続されている。これはタイルTILE2,1
G関数発生器内で計算されるべき次の和ビットのための
桁上げ入力Ci として作用する。より高次のビットもそ
れぞれ対応して接続する。このように、伝搬機能および
高速桁上げ機能がタイルTILE1,1 に生じ、加算機能
がタイルTILE2,1 に生じる。ピンF0乃至F3の完
全な相互交換可能性が二つの利点の一つをもたらす。図
12の実施例では少数のPIPでも十分な相互交換可能
性で得られる。PIPの各々が約6個のトランジスタを
要するので、PIPの数の削減はチップ寸法を削減す
る。より多くのPIPを設ける場合は、関数発生器の入
力全部への高速経路が通常得られ、したがってチップ動
作はより高速になる。
【0033】追加の機能 図12aまたは12bの桁上げマルチプレクサC1乃至
C4は、算術演算における桁上げ機能に使用中でない場
合は、ANDまたはOR機能ほかの機能の発生に使うこ
とができる。例えば、図12aのラインFBに論理0を
加えることによって、F機能発生器のX出力信号と桁上
げ入力信号CINとのAND関数を発生するようにマル
チプレクサC1をプログラムする。また、ラインFBに
論理1を加えることによって、X出力信号の補数と桁上
げ入力信号CINとのOR関数を発生するようにマルチ
プレクサC1をプログラムする。桁上げ論理およびその他の論理の両方を生ずる回路 図13は図8cの実施例を実動化する回路配置融通性あ
る論理ブロックCLBの回路図を示す。この論理ブロッ
クは二つの関数発生器FおよびGを備える。関数発生器
FおよびGの各々は図9a乃至9dと関連して上に述べ
た参照用テーブルを含む。すなわち、各関数発生器は入
力信号F0乃至F3またはG0乃至G3のあらゆる関数
を発生する。図12aまたは図12bの場合と同様に、
算術演算の場合はこれら関数発生器の各々で1ビットを
取り扱う。マルチプレクサN1およびN2はM1および
M2からの値を桁上げマルチプレクサC1およびC2の
入力端子に転送するようにセットされている。同様に、
マルチプレクサL1およびL2は関数発生器FおよびG
からの出力を桁上げマルチプレクサC1およびC2の制
御端子に転送するようにセットされている。このモード
において、図13の構成要素は図12aおよび12bの
対応構成要素と同様に機能する。しかし、マルチプレク
サL1,L2,M1,M2,N1およびN2は桁上げマ
ルチプレクサC1およびC2の動作に付加的機能をもた
らす。マルチプレクサL1およびL2はメモリセル5お
よび6の記憶内容である一定値を供給するようにセット
できる。セル5または6に格納されている値を桁上げマ
ルチプレクサC1およびC2に加えて、マルチプレクサ
N1およびN2の出力を選択させることができる。マル
チプレクサN1およびN2がセル3および4からの一定
値1を供給するようにセットされている場合は、桁上げ
マルチプレクサC1およびC2は桁上げ入力信号とマル
チプレクサL1およびL2からの値とのOR出力を生ず
る。マルチプレクサN1およびN2がセル3および4か
らの一定値0を供給するようにセットされている場合
は、桁上げマルチプレクサC1およびC2は桁上げ入力
信号とマルチプレクサL1およびL2からの値とのAN
D出力を生ずる。このようにしてANDまたはOR出力
を容易に発生できる。マルチプレクサM1およびM2は
関数発生器FおよびGへの入力信号の一つを選択し、マ
ルチプレクサN1およびN2に入力信号としてそれぞれ
加える。メモリセル7および9はマルチプレクサM1を
制御し、メモリセル8および10はマルチプレクサM2
を制御する。このようにして、表I記載の機能は図13
の回路で実現でき、一方それら以外の機能は関数発生器
FおよびGで達成できる。
【0034】マルチプレクサL1およびL2によって、
上記関数発生器が他の機能を達成する一方で桁上げマル
チプレクサC1およびC2がスキップおよび始動に使用
可能になることが図13から理解されよう。マルチプレ
クサN1およびN2は関数発生器入力信号の一つおよび
経路づけを用いることなく始動および論理機能の達成を
可能にする(図示してないが、例えば図の左に位置づけ
る)。図13と同様の実施例はマルチプレクサM1およ
びN1(それらと等価なM2およびN2)を含む回路へ
の第5の入力を備える。必要があればN1の出力として
第5の信号を供給する。その実施例は、関連の関数発生
器Fで四つの入力信号F0−F3の任意の関数を発生で
きる一方表Iの機能を実動化できる利点を有する。
【0035】図13の回路の応用 表Iには図8cの回路で実動化可能な機能を挙げてあ
る。図13において、マルチプレクサM1およびM2
は、関数発生器への入力信号F0−F3およびG0−G
3から選択して桁上げマルチプレクサC1およびC2へ
の入力として供給することを可能にする。マルチプレク
サM1およびM2によって、図12bのラインFBおよ
びGBが不要になる。レイアウトによっては、これでチ
ップ表面積の節約が可能になる。いずれにしても、マル
チプレクサM1およびM2は信号F0−F3およびG0
−G3の任意のものを入力信号とすることを可能にし、
それによって融通性を高めている。桁上げマルチプレク
サC1で入力信号F0−F3の一つを受けるようにマル
チプレクサをセットすることによって、集積回路チップ
の他の部分からの桁上げ入力信号の共用連動が可能にな
る。入力信号F0−F3およびG0−G3の経路にマル
チプレクサN1およびN2を配置することによって、関
連の関数発生供給への負担なく桁上げ信号を(一定値
で)立ち上がらせることができる。動的に切換え可能な差/一致比較器 ユーザには差比較器と一致比較器との動的切換えを必要
とする場合がある。差比較器においては、3を2と比較
すると差3−2は正になる。減算は一方の入力を反転し
て加算することにより行われ、その動作は減算の各ビッ
トにつき一つの反転入力を有するXORゲートで達成で
きる。図14は差比較器と一致比較器との間の動的切換
えを実動化できる回路を示す。この回路は図12bまた
は図13の回路に一つの外部ANDゲートを追加するこ
とによって効率的に実動化できる。減算A−Bを行うた
めに、GT/反転EQ信号を論理1にセットし、論理1
を最低次の桁上げ端子Cihに供給する。すなわち、二つ
の項AおよびBの各ビットAi およびBi につきAND
ゲートAND14i はAi を転送する。したがって、F
B=Ai (図12b)またはF3=Ai(図13)とな
り、減算が実現できる。最も高次のビットからの桁上げ
連鎖出力の結果から大きい方の入力が把握される。
【0036】二つの数AおよびBが互いに等しいかどう
かの判定のために、GT/反転EQを0にセットし、そ
れによって桁上げ連鎖がビットごとの比較を行うように
し、各ビットのAND出力を生ずる。全ビットが一致し
たときだけ出力は1となる。したがって、外部ANDゲ
ートは、マルチプレクサMUX14i への0入力にAi
または0を供給することによって、二つの機能の間の切
換えを可能にする。入力信号GT/反転EQに応じて機
能は変化するので、この信号を変化させることによって
減算と一致機能との間の動的切換えが容易になる。図1
4の回路の図12bのアーキテクチャでの実動化は、図
示しない関数発生器、すなわち関数発生器F,G,Hお
よびJの左側に設けた関数発生器におけるANDゲート
AND14i の実動化のために各ビットに一つのAND
ゲートを備えること、およびこれらANDゲートの出力
をラインFB、GB、HBおよびJB、ならびに比較中
の数AおよびBの追加のビットについて図12bの上ま
たは下に配置できるものとして図示していない追加の関
数発生器に加えることによって得られる。二つの項Aお
よびBのビットは関数発生器F,G,HおよびJ、すな
わちF1,G1,H1およびJ1入力を反転したXOR
出力を生ずるようにプログラムされたこれら関数発生器
のF0およびF1入力に加えられる。マルチプレクサC
1,C2,C3およびC4と隣接論理ブロックの対応マ
ルチプレクサとは関数発生器F,G,HおよびJの出力
信号で制御されるようにプログラムしてある。このよう
にして図14の回路は実動化され、この回路の構成はG
T/反転EQ信号で決められる。
【0037】図13の回路における図14の回路の実動
化は図12bの回路における実動化と同様である。図1
3においては、ANDゲート14i の出力は関数発生器
入力、たとえばF3およびF4の一方に供給され、マル
チプレクサM1およびM2はその信号をマルチプレクサ
N1およびN2に転送するようにセットされ、それらマ
ルチプレクサN1およびN2はその信号を桁上げマルチ
プレクサC1およびC2に供給する。
【0038】この発明のいくつかの実施例を図12a,
12bおよび13に関連づけて上に詳述してきた。上の
説明に基づき、この発明の上述の特徴を組み入れたこれ
ら以外の実施例が当業者に自明になろう。例えば、互い
に隣接していない論理ブロックを相互接続することも可
能である。また、図12aおよび12bは桁上げ論理4
段と四つの関数発生器とを備える論理ブロックを示し、
図13は桁上げおよび他の論理2段と二つの関数発生器
とを備える論理ブロックを示しているが、異なる段数を
有する論理ブロックおよび通常の機能の発生用の他のハ
ードウェアを有する論理ブロックを形成することも可能
である。さらに他の例について述べると、図12aおよ
び12bの制御回路はメモリセルにより制御するものと
説明したが、これらメモリセルがSRAMメモリセル、
EPROM、EEPROM、フラッシュメモリ、ヒュー
ズ、アンチヒューズで構成できることは明らかである。
また、制御信号は論理ゲートの出力信号およびほかの利
用可能な信号で供給できることも明らかである。これら
実施例および上記説明に基づき自明なこれら以外の実施
例はこの発明の範囲内に含めることを意図するものであ
る。
【図面の簡単な説明】
図1aは慣用の全加算器の一つの段を示す概略図。 図1bは図1aに示した慣用の全加算器段の記号。 図2は互いに縦続接続した二つの全加算器の概略図。 図3は桁上げ先見論理を備える4ビット加算器の概略
図。 図4a、4b、4cおよび4dは従来技術の加算器の概
略図。 図5は従来技術の計数器の概略図。 図6aはこの発明による桁上げ論理1ビット発生回路の
概略図であり、図6bは図6aの回路の代替的表示。 図6cは変数A、B、CinおよびCout の間の関係を示
す真数表。 図7aはこの発明による桁上げ論理を用いた全加算器の
1ビット発生用の回路の概略図であり、図7bは図7a
の回路の代替的表示。 図8aはジリンクス,インコーポレーテッド製XC40
00系デバイスに用いた桁上げ論理の算術演算部の単純
化した図。 図8bはこの発明による桁上げ論理の算術演算部の単純
化した図。 図8cは他の論理機能も発生できる桁上げ論理回路の単
純化した図。 図9aは図8bおよび図8cのFおよびG関数発生器の
参照用テーブル実施例。 図9bは図8bおよび図8cのFおよびG関数発生器の
もう一つの参照用テーブル実施例。 図9cは図9aまたは図9bの参照用テーブル関数発生
器についてのカルノーマップ。 図9dは図9aまたは図9bの参照用テーブル関数発生
器により実動化できる216論理関数の一つ。 図10はジリンクス社製XC4000系デバイスに用い
てある二段保有論理ブロック、すなわち図8aの回路を
含む論理ブロックの概略図を示す。 図11aは専用桁上げ論理相互配線回路の一つの実施例
を示す論理アレーの概略図。 図11bはプログラム可能な相互配線により実動化した
桁上げ相互配線回路の一つの例を示す概略図。 図11cは専用桁上げ論理相互配線回路の一実施例を示
す概略図。 図12aはこの発明による回路配置融通性ある論理ブロ
ック(CLB)であって、和の計算用にもう一つのCL
Bと組み合わせた場合に図8bの回路を実動化する4段
式のCLBの概略図。 図12bはこの発明によるもう一つのCLBであって、
和の計算用に専用ハードウェアを用いて図8bの回路を
実動化したCLB。 図12cは図12aまたは図12bのCLBと、CLB
のアレーの相互接続用の相互接続経路とを結合するタイ
ル。 図12dは水平方向に互いに組み合わせた図12cのタ
イル二つ。 図12eは図12cに示したようなコアタイルと外部接
続用端タイルおよび角タイルとを含むFPGAチップ。 図13は図8cの回路を実動化したこの発明によるCL
B。 図14は図12bまたは図13の回路で実動化できる動
的に切換可能な比較回路。
【符号の説明】
51 XORゲート T1,T2 パストランジスタ M マルチプレクサ 91 XORゲート 92 インバータ 93 パストランジスタ 911,914,917,921,927 データ変
形機能回路 912,915,916,922,926 XOR回
路 901 専用関数発生器 902 プログラム可能な関数発生器 903 関数発生器 904 関数発生器または専用関数発生器 801,804,923 マルチプレクサ 802,803,805,806 制御用メモリ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 論理ブロックのアレーを含むプログラマ
    ブルロジックデバイスであって、各論理ブロックが少な
    くとも一つの回路、すなわち第1の入力信号(Ai )を
    供給する入力端子と、 桁上げ入力端子(Ci )および桁上げ出力端子
    (Ci+1 )と、 前記入力端子および前記桁上げ入力端子の一方を前記桁
    上げ出力端子に接続する桁上げ連鎖マルチプレクサ(9
    23)と、 前記第1の入力信号と少なくとも一つの他の入力信号と
    の関数を発生する参照用テーブル(903)と、 前記参照用テーブルから供給される信号を含む少なくと
    も二つの入力信号から選択を行うように制御され前記桁
    上げ連鎖マルチプレクサを制御する制御マルチプレクサ
    (804)とを含む少なくとも一つの回路を備えるプロ
    グラマブルロジックデバイス。
  2. 【請求項2】 論理ブロックのアレーを含むプログラマ
    ブルロジックデバイスであって、各論理ブロックが少な
    くとも一つの回路、すなわち第1の入力信号(Ai )を
    供給する入力端子と、 前記第1の入力信号およびもう一つの信号の一方を出力
    として生ずる入力選択マルチプレクサ(801)と、 桁上げ入力端子(Ci )および桁上げ出力端子
    (Ci+1 )と、 前記入力選択マルチプレクサの前記出力および前記桁上
    げ入力端子の一方を前記桁上げ出力端子に接続する桁上
    げ連鎖マルチプレクサ(923)と、 前記桁上げ連鎖マルチプレクサを制御できる信号を発生
    する参照用テーブル(903)とを含む少なくとも一つ
    の回路を備えるプログラマブルロジックデバイス。
JP26637495A 1994-09-20 1995-09-20 高速桁上げ回路 Expired - Fee Related JP3697302B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/310,113 US5481206A (en) 1993-09-02 1994-09-20 Circuit for fast carry and logic
US08/310,113 1994-09-20

Publications (2)

Publication Number Publication Date
JPH08110853A true JPH08110853A (ja) 1996-04-30
JP3697302B2 JP3697302B2 (ja) 2005-09-21

Family

ID=23201040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26637495A Expired - Fee Related JP3697302B2 (ja) 1994-09-20 1995-09-20 高速桁上げ回路

Country Status (3)

Country Link
US (1) US5481206A (ja)
EP (1) EP0707382A2 (ja)
JP (1) JP3697302B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012055004A (ja) * 2007-05-21 2012-03-15 Altera Corp 改良された論理セル機能性の複合論理ブロックを有するプログラマブルロジックデバイス
JP2012519913A (ja) * 2009-03-03 2012-08-30 アルテラ コーポレイション 冗長および二方向データ経路を有するデジタル信号処理回路
KR20180053314A (ko) * 2015-09-11 2018-05-21 자일링크스 인코포레이티드 캐스케이드 룩업테이블(lut) 자리올림 논리 회로

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5477165A (en) * 1986-09-19 1995-12-19 Actel Corporation Programmable logic module and architecture for field programmable gate array device
US5633830A (en) * 1995-11-08 1997-05-27 Altera Corporation Random access memory block circuitry for programmable logic array integrated circuit devices
USRE35977E (en) * 1992-05-08 1998-12-01 Altera Corporation Look up table implementation of fast carry arithmetic and exclusive-or operations
US6288570B1 (en) * 1993-09-02 2001-09-11 Xilinx, Inc. Logic structure and circuit for fast carry
US5761099A (en) * 1994-11-04 1998-06-02 Altera Corporation Programmable logic array integrated circuits with enhanced carry routing
US5581199A (en) * 1995-01-04 1996-12-03 Xilinx, Inc. Interconnect architecture for field programmable gate array using variable length conductors
US5594367A (en) * 1995-10-16 1997-01-14 Xilinx, Inc. Output multiplexer within input/output circuit for time multiplexing and high speed logic
US5675262A (en) * 1995-10-26 1997-10-07 Xilinx, Inc. Fast carry-out scheme in a field programmable gate array
US5924115A (en) * 1996-03-29 1999-07-13 Interval Research Corporation Hierarchical memory architecture for a programmable integrated circuit having an interconnect structure connected in a tree configuration
US5724276A (en) * 1996-06-17 1998-03-03 Xilinx, Inc. Logic block structure optimized for sum generation
US6427156B1 (en) * 1997-01-21 2002-07-30 Xilinx, Inc. Configurable logic block with AND gate for efficient multiplication in FPGAS
US6201410B1 (en) 1997-02-26 2001-03-13 Xilinx, Inc. Wide logic gate implemented in an FPGA configurable logic element
US5942913A (en) * 1997-03-20 1999-08-24 Xilinx, Inc. FPGA repeatable interconnect structure with bidirectional and unidirectional interconnect lines
US6204689B1 (en) 1997-02-26 2001-03-20 Xilinx, Inc. Input/output interconnect circuit for FPGAs
US5920202A (en) * 1997-02-26 1999-07-06 Xilinx, Inc. Configurable logic element with ability to evaluate five and six input functions
US5963050A (en) * 1997-02-26 1999-10-05 Xilinx, Inc. Configurable logic element with fast feedback paths
US5889411A (en) * 1997-02-26 1999-03-30 Xilinx, Inc. FPGA having logic element carry chains capable of generating wide XOR functions
US5914616A (en) * 1997-02-26 1999-06-22 Xilinx, Inc. FPGA repeatable interconnect structure with hierarchical interconnect lines
JP3123977B2 (ja) * 1998-06-04 2001-01-15 日本電気株式会社 プログラマブル機能ブロック
US6034546A (en) 1998-06-09 2000-03-07 Cypress Semicondutor Corp. High performance product term based carry chain scheme
US6353920B1 (en) * 1998-11-17 2002-03-05 Xilinx, Inc. Method for implementing wide gates and tristate buffers using FPGA carry logic
US6505337B1 (en) * 1998-11-24 2003-01-07 Xilinx, Inc. Method for implementing large multiplexers with FPGA lookup tables
JP2002538562A (ja) * 1999-03-04 2002-11-12 アルテラ・コーポレーション 桁上げ選択加算付プログラマブルロジックデバイス
US6329838B1 (en) * 1999-03-09 2001-12-11 Kabushiki Kaisha Toshiba Logic circuits and carry-lookahead circuits
US6724810B1 (en) 2000-11-17 2004-04-20 Xilinx, Inc. Method and apparatus for de-spreading spread spectrum signals
US7003545B1 (en) 2001-09-11 2006-02-21 Cypress Semiconductor Corp. High performance carry chain with reduced macrocell logic and fast carry lookahead
US6990508B1 (en) * 2001-09-11 2006-01-24 Cypress Semiconductor Corp. High performance carry chain with reduced macrocell logic and fast carry lookahead
US6556042B1 (en) 2002-02-20 2003-04-29 Xilinx, Inc. FPGA with improved structure for implementing large multiplexers
US6798240B1 (en) 2003-01-24 2004-09-28 Altera Corporation Logic circuitry with shared lookup table
US6943580B2 (en) * 2003-02-10 2005-09-13 Altera Corporation Fracturable lookup table and logic element
US7800401B1 (en) 2003-02-10 2010-09-21 Altera Corporation Fracturable lookup table and logic element
US6888373B2 (en) * 2003-02-11 2005-05-03 Altera Corporation Fracturable incomplete look up table for area efficient logic elements
US7290026B2 (en) * 2003-09-30 2007-10-30 International Business Machines Corporation Low-power high-speed 4-2 compressor with minimized transistor count
US7185035B1 (en) 2003-10-23 2007-02-27 Altera Corporation Arithmetic structures for programmable logic devices
US7565388B1 (en) 2003-11-21 2009-07-21 Altera Corporation Logic cell supporting addition of three binary words
US7167021B1 (en) 2003-11-24 2007-01-23 Altera Corporation Logic device logic modules having improved arithmetic circuitry
US7205791B1 (en) 2004-03-12 2007-04-17 Altera Corporation Bypass-able carry chain in a programmable logic device
US7061268B1 (en) 2004-03-15 2006-06-13 Altera Corporation Initializing a carry chain in a programmable logic device
US7167022B1 (en) 2004-03-25 2007-01-23 Altera Corporation Omnibus logic element including look up table based logic elements
US7617269B2 (en) * 2004-08-03 2009-11-10 Stmicroelectronics Pvt. Ltd. Logic entity with two outputs for efficient adder and other macro implementations
US7772879B1 (en) * 2007-04-11 2010-08-10 Actel Corporation Logic module including versatile adder for FPGA
US7663400B1 (en) 2007-12-21 2010-02-16 Actel Corporation Flexible carry scheme for field programmable gate arrays
US8244791B1 (en) 2008-01-30 2012-08-14 Actel Corporation Fast carry lookahead circuits
US7746100B2 (en) * 2008-04-28 2010-06-29 Altera Corporation Flexible adder circuits with fast carry chain circuitry
US7919991B1 (en) 2008-07-08 2011-04-05 Netlogic Microsystems, Inc. Comparator circuit
WO2015051105A1 (en) * 2013-10-02 2015-04-09 The Penn State Research Foundation Techniques and devices for performing arithmetic
CN105680847B (zh) * 2016-03-03 2019-02-12 深圳市紫光同创电子有限公司 一种fpga电路及其设计方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4124899A (en) * 1977-05-23 1978-11-07 Monolithic Memories, Inc. Programmable array logic circuit
US4870302A (en) * 1984-03-12 1989-09-26 Xilinx, Inc. Configurable electrical circuit having configurable logic elements and configurable interconnects
US4706216A (en) * 1985-02-27 1987-11-10 Xilinx, Inc. Configurable logic element
US4758745B1 (en) * 1986-09-19 1994-11-15 Actel Corp User programmable integrated circuit interconnect architecture and test method
US5203005A (en) * 1989-05-02 1993-04-13 Horst Robert W Cell structure for linear array wafer scale integration architecture with capability to open boundary i/o bus without neighbor acknowledgement
US5343406A (en) 1989-07-28 1994-08-30 Xilinx, Inc. Distributed memory architecture for a configurable logic array and method for using distributed memory
US5267187A (en) * 1990-05-10 1993-11-30 Xilinx Inc Logic structure and circuit for fast carry
US5198705A (en) * 1990-05-11 1993-03-30 Actel Corporation Logic module with configurable combinational and sequential blocks
US5220213A (en) * 1991-03-06 1993-06-15 Quicklogic Corporation Programmable application specific integrated circuit and logic cell therefor
US5260611A (en) * 1991-09-03 1993-11-09 Altera Corporation Programmable logic array having local and long distance conductors
US5359242A (en) * 1993-01-21 1994-10-25 Altera Corporation Programmable logic with carry-in/carry-out between logic blocks
US5274581A (en) * 1992-05-08 1993-12-28 Altera Corporation Look up table implementation of fast carry for adders and counters
US5258668A (en) * 1992-05-08 1993-11-02 Altera Corporation Programmable logic array integrated circuits with cascade connections between logic modules
US5332929A (en) * 1993-04-08 1994-07-26 Xilinx, Inc. Power management for programmable logic devices
US5352940A (en) * 1993-05-27 1994-10-04 Altera Corporation Ram convertible look-up table based macrocell for PLDs
US5386156A (en) * 1993-08-27 1995-01-31 At&T Corp. Programmable function unit with programmable fast ripple logic
US5349250A (en) 1993-09-02 1994-09-20 Xilinx, Inc. Logic structure and circuit for fast carry
GB201718533D0 (en) 2017-11-09 2017-12-27 Agco Int Gmbh Seed replacement unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012055004A (ja) * 2007-05-21 2012-03-15 Altera Corp 改良された論理セル機能性の複合論理ブロックを有するプログラマブルロジックデバイス
JP2012519913A (ja) * 2009-03-03 2012-08-30 アルテラ コーポレイション 冗長および二方向データ経路を有するデジタル信号処理回路
KR20180053314A (ko) * 2015-09-11 2018-05-21 자일링크스 인코포레이티드 캐스케이드 룩업테이블(lut) 자리올림 논리 회로
JP2018530958A (ja) * 2015-09-11 2018-10-18 ザイリンクス インコーポレイテッドXilinx Incorporated カスケード式ルックアップテーブル(lut)桁上げ論理回路

Also Published As

Publication number Publication date
JP3697302B2 (ja) 2005-09-21
EP0707382A2 (en) 1996-04-17
EP0707382A3 (ja) 1996-05-22
US5481206A (en) 1996-01-02

Similar Documents

Publication Publication Date Title
JP3697302B2 (ja) 高速桁上げ回路
JP3594601B2 (ja) 高速桁上げのためのロジック構造および回路
US5546018A (en) Fast carry structure with synchronous input
US6288570B1 (en) Logic structure and circuit for fast carry
US5267187A (en) Logic structure and circuit for fast carry
CA2037142C (en) Logic structure and circuit for fast carry
US7746111B1 (en) Gating logic circuits in a self-timed integrated circuit
US5040139A (en) Transmission gate multiplexer (TGM) logic circuits and multiplier architectures
JPH06295233A (ja) プログラム可能な論理装置および再プログラム可能な論理において論理機能を実現する方法
US9411554B1 (en) Signed multiplier circuit utilizing a uniform array of logic blocks
US7746102B1 (en) Bus-based logic blocks for self-timed integrated circuits
US7746106B1 (en) Circuits for enabling feedback paths in a self-timed integrated circuit
US4441158A (en) Arithmetic operation circuit
US6342792B1 (en) Logic module circuitry for programmable logic devices
US5295090A (en) Logic structure and circuit for fast carry
US9002915B1 (en) Circuits for shifting bussed data
US7746104B1 (en) Dynamically controlled output multiplexer circuits in a programmable integrated circuit
US7746105B1 (en) Merging data streams in a self-timed programmable integrated circuit
US7617269B2 (en) Logic entity with two outputs for efficient adder and other macro implementations
US20020116426A1 (en) Look-up table apparatus to perform two-bit arithmetic operation including carry generation
JP3604518B2 (ja) 除算装置
GB2401962A (en) A sum bit generation circuit
JPH06195201A (ja) 不等桁上げ方式(varied carry scheme)を用いた高速加算器とそれに関連する方法
US6782406B2 (en) Fast CMOS adder with null-carry look-ahead
JP2681968B2 (ja) 演算処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050318

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050704

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090708

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100708

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110708

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120708

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130708

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees