JPH0366693B2 - - Google Patents
Info
- Publication number
- JPH0366693B2 JPH0366693B2 JP58154000A JP15400083A JPH0366693B2 JP H0366693 B2 JPH0366693 B2 JP H0366693B2 JP 58154000 A JP58154000 A JP 58154000A JP 15400083 A JP15400083 A JP 15400083A JP H0366693 B2 JPH0366693 B2 JP H0366693B2
- Authority
- JP
- Japan
- Prior art keywords
- carry
- pair
- block
- adder
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/5055—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; 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/508—Adding; 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 carry look-ahead circuits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/506—Indexing scheme relating to groups G06F7/506 - G06F7/508
- G06F2207/5063—2-input gates, i.e. only using 2-input logical gates, e.g. binary carry look-ahead, e.g. Kogge-Stone or Ladner-Fischer adder
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明はデジタル加算器等における桁上げに関
し、特に比較的少ないゲート使用量で桁上げ伝搬
遅延を大きく低下させる高速桁上げ方式を採用し
た加算回路に関する。 2つのNビツトオペランドを加算してNビツト
の結果を得ること(しばしば桁上げ伝搬加算と呼
ばれる)はデジタル・プロセツサの基本的な演算
である。この演算を実行するために従来より種々
の桁上げ方式が用いられている。 桁上げ伝搬加算を簡単に実行するにはいわゆる
リツプル・アダー(ripple adder)を用いればよ
い。リツプル・アダーはビツト当りのトランジス
タが比較的少なくてすむが、一般的に比較的低速
である。リツプル・アダーはこのように他の加算
器の能力測定の基準としてしばしば用いられる様
な、基本的ではあるが、それだけに低速の加算器
である。 第1図は代表的なリツプル・アダー・セルを示
す図である。第1図において、A(i)及びB(i)は加
えられる2つのオペランドのそれぞれのビツトで
あり、Cin(i)は前段のリツプル・アダー・セルか
らの桁上げ入力であり、Cont(i)はこのリツプ
ル・アダー・セルからの桁上げ出力であり、また
D(i)はこのリツプル・アダー・セルの和である。
ある1つのリツプル・アダー・セルの桁上げ出力
は次段のリツプル・アダー・セルの桁上げ入力と
なる。表1にPASCAL風の言語で書かれた、N
ビツト・リツプル・アダーの論理動作を説明する
プログラムを示す。なお、表1のプログラムにお
いて「+」は論理和、「・」は論理積、「XOR」
は排他的論理和を示す。 表 1 For i=0toN−1 DO BEGIN K(i)=A(i)+B(i) G(i)=A(i)・B(i) P(i)=A(i) XOR B(i) Cout(i)=G(i)+〔K(i)・Cin(i)〕 =Cin(i+1) D(i)=P(i) XOR Cin(i) End リツプル・アダーは桁上げ先見回路を付加する
ことにより高速化することができる。桁上げ先見
加算器を実現するために、リツプル・アダーは、
例えば4つのリツプル・アダー・セルから成るブ
ロツクで構成されている。4つの高速加算器の各
ブロツクは、第2図に示すように、ゲートが付加
されており、このゲートによりKビツト(すなわ
ち、ORゲートK(i)の出力)が全て“1”の時、
前段のブロツクからの桁上げ出力がこのブロツク
を素通りして次段のブロツクに伝搬される。桁上
げ先見加算器は比較的高速であり、MOS回路で
安価に構成できる。 他の方法として、I.R.E.トランザクシヨンズ・
オン・エレクトロニツク・コンピユーターズ(I.
R.E.Transactions on Electronic Computers)
誌1960年6月号、第226頁に、スクランスキー
(Sklansky)氏により「条件付き和による加算論
理」として発表された条件付き和加算器がある。
条件付き和加算は非常に高速で動作するのだが、
上述の比較的低速の加算に較べて非常に多くのロ
ジツクを必要とする。その結果、条件付き和加算
はビツト当りの価格が非常に高いものとなつてし
まう。事実、この方法は広範囲には使用されてい
ない。 上記した様に、従来から桁上げ伝搬加算を実行
するために種々の桁上げ方式が使用されている。
しかし、これら公知の方式は新世代のコンピユー
タにとつてはしばしば遅すぎるものであつたり、
或は期待されるよりもはるかに複雑かつ高価なも
のであつた。 本発明は上述の従来方式の欠点を除去し、高速
かつ実現容易な条件付き加算を行なう加算回路を
提供することを目的とする。 本発明を適用した加算器は中間桁上げ信号を発
生するセルの直列接続構成となつている。従つて
これら各ビツト対の中間桁上げ信号は連続する段
を独立して次々と伝搬して行くことができる。従
つて本発明によれば、公知例と比較して全加算器
の遅延時間を減少させることができると共に、回
路の複雑さを比較的低くおさえることができる。
本発明はまた増分器(incrementor)やプライオ
リテイ・エンコーダにも応用できる。これらの応
用例についても以下で説明する。 本発明の加算回路はセルの種類が比較的少なく
てすむので、任意長の加算器、増分器又はプライ
オリテイ・エンコーダを構成する場合には以下に
図示する様に規則的に容易に結合することができ
る。従つて本発明によれば、絶対速度が速い回路
を実現することが出来ると共にバイポーラ又は
MOS技術のいずれによりLSIを製造した場合で
も、設計上の複雑化を抑えて安価に構成すること
ができる。 以下、図面によつて本発明を詳細に説明する。 以下では、条件付き桁上げ加算を実現する加算
器A,Bを開示している。これら2つの加算器
A,Bの構成は両方とも加算器以外にも増分器や
プライオリテイ・エンコーダにも適用できること
が後述する説明により理解できるだろう。表2に
於て、公知の方式と本発明を用いた条件付き桁上
げ加算器との比較を示した。表2に於て、加算器
の速度は全加算を実行するのに必要なゲート遅延
段数によつて示してある。表2に示したデータは
32ビツト加算器の場合である。 第3A図及び第3B図は本発明の第1実施例で
ある条件付き桁上げ加算器Aを示す図であり、表
3は条件付き桁上げ加算器Aに関連する論理式で
ある。第3A図には3種の異なるセルが示されて
いる。それらはスタート・セル、任意の数(0で
も良い)の継続セル、及びエンド・セルである。
第3B図は、9ビツト加算器の場合のセル構成例
を示す図である。この実施例に於て、各ブロツク
は2〜4個の1ビツト・セルを備えている。すな
わちブロツク0に2つのセル、ブロツク1に3つ
のセル、そしてブロツク2に4つのセルを備えて
いる。例えば、第2ブロツク(j=1)は3つの
セルを備えており、ビツト番号2はスタート・セ
ル、ビツト番号3は継続(continue)セル、そし
てビツト番号4はエンド・セルである。
し、特に比較的少ないゲート使用量で桁上げ伝搬
遅延を大きく低下させる高速桁上げ方式を採用し
た加算回路に関する。 2つのNビツトオペランドを加算してNビツト
の結果を得ること(しばしば桁上げ伝搬加算と呼
ばれる)はデジタル・プロセツサの基本的な演算
である。この演算を実行するために従来より種々
の桁上げ方式が用いられている。 桁上げ伝搬加算を簡単に実行するにはいわゆる
リツプル・アダー(ripple adder)を用いればよ
い。リツプル・アダーはビツト当りのトランジス
タが比較的少なくてすむが、一般的に比較的低速
である。リツプル・アダーはこのように他の加算
器の能力測定の基準としてしばしば用いられる様
な、基本的ではあるが、それだけに低速の加算器
である。 第1図は代表的なリツプル・アダー・セルを示
す図である。第1図において、A(i)及びB(i)は加
えられる2つのオペランドのそれぞれのビツトで
あり、Cin(i)は前段のリツプル・アダー・セルか
らの桁上げ入力であり、Cont(i)はこのリツプ
ル・アダー・セルからの桁上げ出力であり、また
D(i)はこのリツプル・アダー・セルの和である。
ある1つのリツプル・アダー・セルの桁上げ出力
は次段のリツプル・アダー・セルの桁上げ入力と
なる。表1にPASCAL風の言語で書かれた、N
ビツト・リツプル・アダーの論理動作を説明する
プログラムを示す。なお、表1のプログラムにお
いて「+」は論理和、「・」は論理積、「XOR」
は排他的論理和を示す。 表 1 For i=0toN−1 DO BEGIN K(i)=A(i)+B(i) G(i)=A(i)・B(i) P(i)=A(i) XOR B(i) Cout(i)=G(i)+〔K(i)・Cin(i)〕 =Cin(i+1) D(i)=P(i) XOR Cin(i) End リツプル・アダーは桁上げ先見回路を付加する
ことにより高速化することができる。桁上げ先見
加算器を実現するために、リツプル・アダーは、
例えば4つのリツプル・アダー・セルから成るブ
ロツクで構成されている。4つの高速加算器の各
ブロツクは、第2図に示すように、ゲートが付加
されており、このゲートによりKビツト(すなわ
ち、ORゲートK(i)の出力)が全て“1”の時、
前段のブロツクからの桁上げ出力がこのブロツク
を素通りして次段のブロツクに伝搬される。桁上
げ先見加算器は比較的高速であり、MOS回路で
安価に構成できる。 他の方法として、I.R.E.トランザクシヨンズ・
オン・エレクトロニツク・コンピユーターズ(I.
R.E.Transactions on Electronic Computers)
誌1960年6月号、第226頁に、スクランスキー
(Sklansky)氏により「条件付き和による加算論
理」として発表された条件付き和加算器がある。
条件付き和加算は非常に高速で動作するのだが、
上述の比較的低速の加算に較べて非常に多くのロ
ジツクを必要とする。その結果、条件付き和加算
はビツト当りの価格が非常に高いものとなつてし
まう。事実、この方法は広範囲には使用されてい
ない。 上記した様に、従来から桁上げ伝搬加算を実行
するために種々の桁上げ方式が使用されている。
しかし、これら公知の方式は新世代のコンピユー
タにとつてはしばしば遅すぎるものであつたり、
或は期待されるよりもはるかに複雑かつ高価なも
のであつた。 本発明は上述の従来方式の欠点を除去し、高速
かつ実現容易な条件付き加算を行なう加算回路を
提供することを目的とする。 本発明を適用した加算器は中間桁上げ信号を発
生するセルの直列接続構成となつている。従つて
これら各ビツト対の中間桁上げ信号は連続する段
を独立して次々と伝搬して行くことができる。従
つて本発明によれば、公知例と比較して全加算器
の遅延時間を減少させることができると共に、回
路の複雑さを比較的低くおさえることができる。
本発明はまた増分器(incrementor)やプライオ
リテイ・エンコーダにも応用できる。これらの応
用例についても以下で説明する。 本発明の加算回路はセルの種類が比較的少なく
てすむので、任意長の加算器、増分器又はプライ
オリテイ・エンコーダを構成する場合には以下に
図示する様に規則的に容易に結合することができ
る。従つて本発明によれば、絶対速度が速い回路
を実現することが出来ると共にバイポーラ又は
MOS技術のいずれによりLSIを製造した場合で
も、設計上の複雑化を抑えて安価に構成すること
ができる。 以下、図面によつて本発明を詳細に説明する。 以下では、条件付き桁上げ加算を実現する加算
器A,Bを開示している。これら2つの加算器
A,Bの構成は両方とも加算器以外にも増分器や
プライオリテイ・エンコーダにも適用できること
が後述する説明により理解できるだろう。表2に
於て、公知の方式と本発明を用いた条件付き桁上
げ加算器との比較を示した。表2に於て、加算器
の速度は全加算を実行するのに必要なゲート遅延
段数によつて示してある。表2に示したデータは
32ビツト加算器の場合である。 第3A図及び第3B図は本発明の第1実施例で
ある条件付き桁上げ加算器Aを示す図であり、表
3は条件付き桁上げ加算器Aに関連する論理式で
ある。第3A図には3種の異なるセルが示されて
いる。それらはスタート・セル、任意の数(0で
も良い)の継続セル、及びエンド・セルである。
第3B図は、9ビツト加算器の場合のセル構成例
を示す図である。この実施例に於て、各ブロツク
は2〜4個の1ビツト・セルを備えている。すな
わちブロツク0に2つのセル、ブロツク1に3つ
のセル、そしてブロツク2に4つのセルを備えて
いる。例えば、第2ブロツク(j=1)は3つの
セルを備えており、ビツト番号2はスタート・セ
ル、ビツト番号3は継続(continue)セル、そし
てビツト番号4はエンド・セルである。
【表】
表 3
全加算器に対して:
Cinブロツク(0)=Cin加算器
各ブロツクjに対して:
Cin0(0)=0
Cin1(0)=1
Cout ブロツク(j)=Cout0(imax)+
〔Cout 1(imax)・Cinブロツク(j)〕
=Cinブロツク(j+1)
ブロツクjの各ビツトiに対して:
K(i)=A(i)+B(i)
G(i)=A(i)・B(i)
P(i)=A(i) XOR B(i)
Cout0(i)=G(i)+〔K(i)・Cin0(i)〕
=Cin0(i+1)
Cout1(i)=G(i)+〔K(i)・Cin1(i)〕
=Cin1(i+1)
Cin(i)=Cin0(i)+〔Cin1(i)・Cinブロツク(j)〕
D(i)=P(i)XOR Cin(i)
基本的に、各ブロツクに於て(例えばj=0〜
2に於て)2つのリツプル桁上げ出力Cout0(i)及
びCout1(i)が発生される。各ブロツクのスター
ト・セルに於て桁上げ入力Cin0及びCin1はそれ
ぞれ“0”及び“1”と定義されていることに注
意されたい。この2つの桁上げ出力Coutは現在
のブロツクに入力された桁上げ入力Cinブロツク
(j)と結合することにより現在のブロツクの桁上げ
出力Coutブロツク(j)を発生する。j=0〜2の
全てのブロツクでそれらの2つの桁上げの連鎖
(Cout0−Cin0及びCout1−Cin1)が同時に次々と
伝搬される。ブロツク0は最初にその桁上げ出力
を発生し、そしてブロツク1に伝搬する。その
後、桁上げが各ブロツクを「飛び越す」ためには
ゲート1段分の遅延しか必要ない。よつて、条件
付き桁上げ加算器Aにおいては、桁上げ伝搬遅延
時間を最小にした場合、ブロツクの大きさ、すな
わちビツト長は、ブロツク番号jの増加につれて
等差数列的(すなわち2.3.4.……等)に増加する
から、全遅延時間はオペランドのビツト長の平方
根にほぼ比例して増加する。 従つて条件付き桁上げ加算器Aは桁上げ先見加
算器と比較して、表2からわかる様にビツト当り
の素子を17%増加するのみで25%の性能の向上を
得ることができる。同様に、条件付き桁上げ加算
器Aは1ビツト・セルによつて構成されており、
他の高速化技術の様な複数ビツトにまたがつてい
るセルを使用してはいない。このことにより、実
現が容易でかつチツプ面積の使用効率が良好であ
る規則なレイアウトを持つ集積回路を作ることが
できる。 本発明の高速桁上げ方式を用いた第2の実施例
である、条件付き桁上げ加算器Bを第4図に示
し、またその動作を示すPASCAL風の言語で書
かれたプログラムを表4に示す。表4のプログラ
ムはオペランド長がNビツトの場合について示し
ており、またここで“2**j”は2jを表わす。 この実施例の構成は条件付き桁上げ加算器A
(第3A図及び第3B図)と類似しており、また
同様にして入力はCin0=1及びCin1=1と見な
され、桁上げ出力がそれに従つて演算される。 表 4 For i=0to(N−1) DO BEGIN Cout0(0,i)=A(i)・B(i)=G(i) Cout1(0,i)=A(i)+B(i)=K(i) P(i)=A(i) XOR B(i) End For j=1toLOG2(N) DO BEGIN W=2**j For K=0to(N/W−1) DO BEGIN L0=K*W L1=(K*W+W/2) L2=(K*W+W) For i=(L0)to(L1−1)DO BEGIN Cout0(j,i)=Cont0(j−1,i) Cout1(j,i)=Cont1(j−1,i) End For i=(L0)to(L2−1)DO BEGIN Cout0(j,i)=Cout0(j−1,i)+〔Cout1
(j−1,i)・Cout0(j−1,L1−1)〕 Cout1(j,i)=Cout0(j−1,i)+〔Cout1
(j−1,i)・Cout1(j−2,L1−1)〕 End End Cin(0)=Cin加算器 K=LOG2(N) For i=0to(N−1) DO BEGIN D(i)=P(i)XOR Cin(i) Cin(i+1)=Cout0(K,i)+〔Cout1(K,
i)・Cin加算器〕 End Cout加算器=Cin(N) 第4図に於て、各ステージは各ビツトから発生
される桁上げ出力Cout 0(j,i)及びCout1
(j,i)を、そのビツトへの桁上げ入力がそれ
ぞれ“0”及び“1”であると仮定して発生す
る。但し、“j”はステージ番号であり“i”は
ビツト番号であるとする。この目的は、ビツトの
ブロツク全体に対して下位から与えられる桁上げ
入力がそれぞれ“0”及び“1”であるとして各
ビツトに対する桁上げ入力を発生するためであ
る。連続する各ステージはこの機能を実行すると
ともに、またこのブロツク用の桁上げ出力Cout1
及びCout0を発生する。 第4図のステージ4に示される様に、各ビツト
に対しての最終的な桁上げ入力(表4のCout0
(k,i)及びCout1(k,i))が発生された段
階で、加算器に対しての桁上げ入力Cinが各ビツ
トに対する正しい桁上げ入力(表4のCin(i+
1))を選択する。そしてこの選択された桁上げ
入力は適切なPビツトP(0)〜P(7)と排他的論理
和がとられ最終的な和D(0)〜D(7)が発生される
ことを示している。 第4図から理解できるように、条件付き桁上げ
加算器Bと条件付き桁上げ加算器Aとの主要な違
いは次の様である。条件付き桁上げ加算器Bに於
ては、ブロツクの大きさは2つの累乗で増加す
る、すなわち等比数列的に増加するものである
が、条件付き桁上げ加算器Aのブロツクの大きさ
は上記した様に等差数列的に増加する。従つて条
件付き桁上げ加算器Bの全遅延時間は加算される
ビツト数の2を底とした対数に比例する。 条件付き桁上げ加算器A,Bの桁上げは増分器
やプライオリテイ・エンコーダのいずれを構成す
る場合でも適用することができる。増分器はNビ
ツトで表わされる数に1を加える回路であり、ブ
ライオリテイ・エンコーダはNビツト入力中の最
優先(最上位)ビツトをコード化した出力を発生
する(例えば8ビツト−3ビツト・エンコーダ又
は10ビツト−4ビツト・エンコーダ)ものであ
る。 第5図に条件付き桁上げ加算器Bにおける桁上
げを用いた増分器を示した増分器においては加算
における第2の入力B(0)〜B(7)を使用しないの
で、これらをゼロにセツトすることができる。こ
のとき第4図のステージ0で発生されるK,G,
Pは以下の様になる。 K=A・B=0 G=A+B=A P=AXORB=A 同様に、増分器を常にイネーブル状態にしてお
く場合には、Cin信号を“1”にセツトすること
ができる。この様にして、第4図に示した条件付
き桁上げ加算器Bから増分器としては論理的に冗
長なゲーウを全て除去することにより、第5図に
示した増分器を構成することができる。これと同
様の冗長ゲートの除去方法を用いて、第3A図の
条件付き桁上げ加算器Aを基に構成したものが第
6図に示した増分器である。第3A図及び第3B
図に示した加算器と同様に、第6図の継続セルは
各ブロツクに於て必要なだけ何回でも使用するこ
とができる。 第7図は条件付き桁上げ加算器Bの高速桁上げ
方式を用いた8ビツト−3ビツト・プライオリテ
イ・エンコーダを示す図である。上記した増分器
と同様に、B(0)〜B(7)入力は“0”にセツトさ
れており、桁上げ信号は“1”にセツトされてい
る。この実施例に於ては、桁上げ入力は「イネー
ブル」として示されており、本プライオリテイエ
ンコーダをイネーブル状態にしておく都合上反転
されている。(つまりイネーブル端子は実際には
アースされて“0”が与えられているのである)。
各出力セルは3状態バツフア30を備えており、
対応するゲート40によりイネーブルとされる。
最初の4行の論理素子により、8ビツト入力A(7)
〜A(10)のうち、“1”となつている最上位ビツト
に対応するバツフア30のみがイネーブルされる
ことが保証されている。各出力セルの各3状態バ
ツフア30への入力は各演算子入力のビツト番号
に対応する適切に2進重み付けされた信号と結線
されている。この様に、各3状態バツフア30は
並列接続された3個のバツフアで構成されてお
り、3ビツト出力の3本のエンコード出力線を形
成している。各3状態バツフア30のイネーブル
時の出力の設定は、A(0)桁は0,0,0に、A
(1)桁は0,0,1に、等々、A(7)桁の1,1,1
に至る迄セツトされている。そして各3状態バツ
フアへの3ビツト入力のうち最下位の入力に対応
する8個のバツフア(各桁から1つずつ)の出力
は共通接続されエンコード(0)出力を形成し、中
間重ね付けされた(すなわち重み2)入力に対応
する8個のバツフア(各桁から1つずつ)は共通
接続されエンコード(1)出力を形成し、そして最上
位入力に対応する8個のバツフア(各桁から1つ
ずつ)は共通接続されエンコード(2)出力を形成し
ている。そしてこれら3本のエンコード・ライン
は8ビツト−3ビツト・エンコーダ機能を実行す
るための適切に重み付けされた出力を供給し、適
切にイネーブルされた3状態バツフア30は入力
語中にある“1”のうち最上位にあるもののビツ
ト位置に対応する所望の優先順位を示す数を供給
する。上記した増分器と同様にして、各ビツに対
して適切な数の3状態バツフアを追加することに
加えて、冗長ゲート除去の技法により、第3A図
に示した条件付き桁上げ加算器Aを基に第8図に
示したプライオリテイ・エンコーダを構成するこ
とができる。この場合にも、第8図に示した継続
セルは各ブロツクに於て必要に応じて何回も使用
できる。
2に於て)2つのリツプル桁上げ出力Cout0(i)及
びCout1(i)が発生される。各ブロツクのスター
ト・セルに於て桁上げ入力Cin0及びCin1はそれ
ぞれ“0”及び“1”と定義されていることに注
意されたい。この2つの桁上げ出力Coutは現在
のブロツクに入力された桁上げ入力Cinブロツク
(j)と結合することにより現在のブロツクの桁上げ
出力Coutブロツク(j)を発生する。j=0〜2の
全てのブロツクでそれらの2つの桁上げの連鎖
(Cout0−Cin0及びCout1−Cin1)が同時に次々と
伝搬される。ブロツク0は最初にその桁上げ出力
を発生し、そしてブロツク1に伝搬する。その
後、桁上げが各ブロツクを「飛び越す」ためには
ゲート1段分の遅延しか必要ない。よつて、条件
付き桁上げ加算器Aにおいては、桁上げ伝搬遅延
時間を最小にした場合、ブロツクの大きさ、すな
わちビツト長は、ブロツク番号jの増加につれて
等差数列的(すなわち2.3.4.……等)に増加する
から、全遅延時間はオペランドのビツト長の平方
根にほぼ比例して増加する。 従つて条件付き桁上げ加算器Aは桁上げ先見加
算器と比較して、表2からわかる様にビツト当り
の素子を17%増加するのみで25%の性能の向上を
得ることができる。同様に、条件付き桁上げ加算
器Aは1ビツト・セルによつて構成されており、
他の高速化技術の様な複数ビツトにまたがつてい
るセルを使用してはいない。このことにより、実
現が容易でかつチツプ面積の使用効率が良好であ
る規則なレイアウトを持つ集積回路を作ることが
できる。 本発明の高速桁上げ方式を用いた第2の実施例
である、条件付き桁上げ加算器Bを第4図に示
し、またその動作を示すPASCAL風の言語で書
かれたプログラムを表4に示す。表4のプログラ
ムはオペランド長がNビツトの場合について示し
ており、またここで“2**j”は2jを表わす。 この実施例の構成は条件付き桁上げ加算器A
(第3A図及び第3B図)と類似しており、また
同様にして入力はCin0=1及びCin1=1と見な
され、桁上げ出力がそれに従つて演算される。 表 4 For i=0to(N−1) DO BEGIN Cout0(0,i)=A(i)・B(i)=G(i) Cout1(0,i)=A(i)+B(i)=K(i) P(i)=A(i) XOR B(i) End For j=1toLOG2(N) DO BEGIN W=2**j For K=0to(N/W−1) DO BEGIN L0=K*W L1=(K*W+W/2) L2=(K*W+W) For i=(L0)to(L1−1)DO BEGIN Cout0(j,i)=Cont0(j−1,i) Cout1(j,i)=Cont1(j−1,i) End For i=(L0)to(L2−1)DO BEGIN Cout0(j,i)=Cout0(j−1,i)+〔Cout1
(j−1,i)・Cout0(j−1,L1−1)〕 Cout1(j,i)=Cout0(j−1,i)+〔Cout1
(j−1,i)・Cout1(j−2,L1−1)〕 End End Cin(0)=Cin加算器 K=LOG2(N) For i=0to(N−1) DO BEGIN D(i)=P(i)XOR Cin(i) Cin(i+1)=Cout0(K,i)+〔Cout1(K,
i)・Cin加算器〕 End Cout加算器=Cin(N) 第4図に於て、各ステージは各ビツトから発生
される桁上げ出力Cout 0(j,i)及びCout1
(j,i)を、そのビツトへの桁上げ入力がそれ
ぞれ“0”及び“1”であると仮定して発生す
る。但し、“j”はステージ番号であり“i”は
ビツト番号であるとする。この目的は、ビツトの
ブロツク全体に対して下位から与えられる桁上げ
入力がそれぞれ“0”及び“1”であるとして各
ビツトに対する桁上げ入力を発生するためであ
る。連続する各ステージはこの機能を実行すると
ともに、またこのブロツク用の桁上げ出力Cout1
及びCout0を発生する。 第4図のステージ4に示される様に、各ビツト
に対しての最終的な桁上げ入力(表4のCout0
(k,i)及びCout1(k,i))が発生された段
階で、加算器に対しての桁上げ入力Cinが各ビツ
トに対する正しい桁上げ入力(表4のCin(i+
1))を選択する。そしてこの選択された桁上げ
入力は適切なPビツトP(0)〜P(7)と排他的論理
和がとられ最終的な和D(0)〜D(7)が発生される
ことを示している。 第4図から理解できるように、条件付き桁上げ
加算器Bと条件付き桁上げ加算器Aとの主要な違
いは次の様である。条件付き桁上げ加算器Bに於
ては、ブロツクの大きさは2つの累乗で増加す
る、すなわち等比数列的に増加するものである
が、条件付き桁上げ加算器Aのブロツクの大きさ
は上記した様に等差数列的に増加する。従つて条
件付き桁上げ加算器Bの全遅延時間は加算される
ビツト数の2を底とした対数に比例する。 条件付き桁上げ加算器A,Bの桁上げは増分器
やプライオリテイ・エンコーダのいずれを構成す
る場合でも適用することができる。増分器はNビ
ツトで表わされる数に1を加える回路であり、ブ
ライオリテイ・エンコーダはNビツト入力中の最
優先(最上位)ビツトをコード化した出力を発生
する(例えば8ビツト−3ビツト・エンコーダ又
は10ビツト−4ビツト・エンコーダ)ものであ
る。 第5図に条件付き桁上げ加算器Bにおける桁上
げを用いた増分器を示した増分器においては加算
における第2の入力B(0)〜B(7)を使用しないの
で、これらをゼロにセツトすることができる。こ
のとき第4図のステージ0で発生されるK,G,
Pは以下の様になる。 K=A・B=0 G=A+B=A P=AXORB=A 同様に、増分器を常にイネーブル状態にしてお
く場合には、Cin信号を“1”にセツトすること
ができる。この様にして、第4図に示した条件付
き桁上げ加算器Bから増分器としては論理的に冗
長なゲーウを全て除去することにより、第5図に
示した増分器を構成することができる。これと同
様の冗長ゲートの除去方法を用いて、第3A図の
条件付き桁上げ加算器Aを基に構成したものが第
6図に示した増分器である。第3A図及び第3B
図に示した加算器と同様に、第6図の継続セルは
各ブロツクに於て必要なだけ何回でも使用するこ
とができる。 第7図は条件付き桁上げ加算器Bの高速桁上げ
方式を用いた8ビツト−3ビツト・プライオリテ
イ・エンコーダを示す図である。上記した増分器
と同様に、B(0)〜B(7)入力は“0”にセツトさ
れており、桁上げ信号は“1”にセツトされてい
る。この実施例に於ては、桁上げ入力は「イネー
ブル」として示されており、本プライオリテイエ
ンコーダをイネーブル状態にしておく都合上反転
されている。(つまりイネーブル端子は実際には
アースされて“0”が与えられているのである)。
各出力セルは3状態バツフア30を備えており、
対応するゲート40によりイネーブルとされる。
最初の4行の論理素子により、8ビツト入力A(7)
〜A(10)のうち、“1”となつている最上位ビツト
に対応するバツフア30のみがイネーブルされる
ことが保証されている。各出力セルの各3状態バ
ツフア30への入力は各演算子入力のビツト番号
に対応する適切に2進重み付けされた信号と結線
されている。この様に、各3状態バツフア30は
並列接続された3個のバツフアで構成されてお
り、3ビツト出力の3本のエンコード出力線を形
成している。各3状態バツフア30のイネーブル
時の出力の設定は、A(0)桁は0,0,0に、A
(1)桁は0,0,1に、等々、A(7)桁の1,1,1
に至る迄セツトされている。そして各3状態バツ
フアへの3ビツト入力のうち最下位の入力に対応
する8個のバツフア(各桁から1つずつ)の出力
は共通接続されエンコード(0)出力を形成し、中
間重ね付けされた(すなわち重み2)入力に対応
する8個のバツフア(各桁から1つずつ)は共通
接続されエンコード(1)出力を形成し、そして最上
位入力に対応する8個のバツフア(各桁から1つ
ずつ)は共通接続されエンコード(2)出力を形成し
ている。そしてこれら3本のエンコード・ライン
は8ビツト−3ビツト・エンコーダ機能を実行す
るための適切に重み付けされた出力を供給し、適
切にイネーブルされた3状態バツフア30は入力
語中にある“1”のうち最上位にあるもののビツ
ト位置に対応する所望の優先順位を示す数を供給
する。上記した増分器と同様にして、各ビツに対
して適切な数の3状態バツフアを追加することに
加えて、冗長ゲート除去の技法により、第3A図
に示した条件付き桁上げ加算器Aを基に第8図に
示したプライオリテイ・エンコーダを構成するこ
とができる。この場合にも、第8図に示した継続
セルは各ブロツクに於て必要に応じて何回も使用
できる。
第1図は従来技術にかかるリツプル・アダーの
1ビツト分を示す回路図、第2図は従来技術にか
かる桁上げ先見加算器を示す回路図、第3A図は
本発明の加算回路の実施例を示す回路図、第3B
図は第3A図の加算器のビツト長を拡張した場合
の構成を例示するブロツク図、第4図は本発明と
類似した構成を持つ加算回路を示す回路図、第5
図及び第6図は夫々第4図及び第3A図に示す加
算回路を応用した増分器を示す回路図、第7図及
び第8図は夫々第4図及び第3A図に示す加算回
路を応用したプライオリテイ・エンコーダを示す
回路図である。 A,B:オペランド、D:和、Cin:桁上げ入
力、Cout:桁上げ出力。
1ビツト分を示す回路図、第2図は従来技術にか
かる桁上げ先見加算器を示す回路図、第3A図は
本発明の加算回路の実施例を示す回路図、第3B
図は第3A図の加算器のビツト長を拡張した場合
の構成を例示するブロツク図、第4図は本発明と
類似した構成を持つ加算回路を示す回路図、第5
図及び第6図は夫々第4図及び第3A図に示す加
算回路を応用した増分器を示す回路図、第7図及
び第8図は夫々第4図及び第3A図に示す加算回
路を応用したプライオリテイ・エンコーダを示す
回路図である。 A,B:オペランド、D:和、Cin:桁上げ入
力、Cout:桁上げ出力。
Claims (1)
- 【特許請求の範囲】 1 複数のブロツクを設け、それぞれN桁の2つ
のオペランドを加算する加算回路において、 前記ブロツクは、下記の(A)および(B): (A) 当該ブロツクを開始/継続する複数のスター
ト/継続セル手段:前記スタート/継続セル手
段の各々は下記の(A−1)ないし(A−4)
を有する; (A‐1) 前記2つのオペランドからの桁の第1の対
を受け入れて複数の第1の論理出力信号を与
える第1の入力手段、 (A‐2) 前記第1入力手段からの前記第1の論理出
力信号の少なくとも一部分と桁上げ入力信号
の第1の対を組み合わせて、桁上げ出力信号
の第1の対を与える第1桁上げ手段: (A‐3) 第1のブロツク桁上げ信号を当該スター
ト/継続セル手段を貫くように結合する第1
ブロツク桁上げ信号; (A‐4) 前記第1入力手段からの少なくとも1つの
論理出力信号と、前記第1のブロツク桁上げ
信号と、桁上げ入力信号の第1の対を組み合
わせて、第1の合計出力桁を与える第1合計
出力手段; (B) 前記ブロツクの各々を終了させるエンド・セ
ル手段:前記エンド・セル手段は下記の(B−
1)ないし(B−4)を有する: (B‐1) 前記2つのオペランドからの桁の第2の対
を受け入れて複数の第2の論理出力信号を与
える第2入力手段; (B‐2) 前記第2入力手段からの前記第2の論理出
力信号の少なくとも一部分と、当該エンド・
セル手段に先行するセル手段からの桁上げ入
力信号の第2の対を組み合わせて、桁上げ出
力信号の第2の対を与える第2桁上げ手段; (B‐3) 桁上げ出力信号の前記第2の対を第2のブ
ロツク桁上げ信号と組み合わせて、最終的な
ブロツク桁上げ信号を与える第2ブロツク桁
上げ手段; (B‐4) 前記第2入力手段からの論理出力信号の少
なくとも一つと、前記第2のブロツク桁上げ
信号と、桁上げ入力信号の第2の対とを組み
合わせて、第2の出力合計桁を与える第2合
計出力手段; を設け、 前記複数のブロツクは、前記最終ブロツク桁上
げ信号のみによつて直列に結合され、 前記ブロツクの各々は可変個数の直列接続され
た前記スタート/継続セル手段を有し、 前記直列接続された可変個数のスタート/継続
セル手段は前記桁上げ出力信号の第1の対と前記
第1のブロツク桁上げ出力信号との対によつて互
いに直列に接続され、 前記ブロツクの各々の最後の前記スタート/継
続セル手段は、前記桁上げ出力信号の第1の対と
前記第1のブロツク桁上げ信号との対によつて前
記エンド・セル手段に直列に結合され、 前記直列に接続されている複数のブロツク中の
前記可変個数のスタート/継続セル手段の個数は
等差数列的に増加する ことを特徴とする加算回路。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US41080782A | 1982-08-23 | 1982-08-23 | |
| US410807 | 1982-08-23 |
Related Child Applications (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2341188A Division JPH03229321A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
| JP2341184A Division JPH03228120A (ja) | 1982-08-23 | 1990-11-30 | 増分器 |
| JP2341186A Division JPH03228122A (ja) | 1982-08-23 | 1990-11-30 | 加算回路 |
| JP2341185A Division JPH03228121A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
| JP2341187A Division JPH03229320A (ja) | 1982-08-23 | 1990-11-30 | 増分回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5957343A JPS5957343A (ja) | 1984-04-02 |
| JPH0366693B2 true JPH0366693B2 (ja) | 1991-10-18 |
Family
ID=23626312
Family Applications (6)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15400083A Granted JPS5957343A (ja) | 1982-08-23 | 1983-08-23 | 加算回路 |
| JP2341188A Granted JPH03229321A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
| JP2341187A Granted JPH03229320A (ja) | 1982-08-23 | 1990-11-30 | 増分回路 |
| JP2341184A Granted JPH03228120A (ja) | 1982-08-23 | 1990-11-30 | 増分器 |
| JP2341185A Granted JPH03228121A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
| JP2341186A Granted JPH03228122A (ja) | 1982-08-23 | 1990-11-30 | 加算回路 |
Family Applications After (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2341188A Granted JPH03229321A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
| JP2341187A Granted JPH03229320A (ja) | 1982-08-23 | 1990-11-30 | 増分回路 |
| JP2341184A Granted JPH03228120A (ja) | 1982-08-23 | 1990-11-30 | 増分器 |
| JP2341185A Granted JPH03228121A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
| JP2341186A Granted JPH03228122A (ja) | 1982-08-23 | 1990-11-30 | 加算回路 |
Country Status (3)
| Country | Link |
|---|---|
| JP (6) | JPS5957343A (ja) |
| DE (1) | DE3326388A1 (ja) |
| GB (3) | GB2127187B (ja) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6055438A (ja) * | 1983-09-05 | 1985-03-30 | Matsushita Electric Ind Co Ltd | 2入力加算器 |
| JPS6275840A (ja) * | 1985-09-30 | 1987-04-07 | Toshiba Corp | 桁上げ選択加算器 |
| DE58909280D1 (de) * | 1988-07-29 | 1995-07-13 | Siemens Ag | Carry-select-Addierer. |
| US4956802A (en) * | 1988-12-14 | 1990-09-11 | Sun Microsystems, Inc. | Method and apparatus for a parallel carry generation adder |
| US5136539A (en) * | 1988-12-16 | 1992-08-04 | Intel Corporation | Adder with intermediate carry circuit |
| JPH0651950A (ja) * | 1992-07-30 | 1994-02-25 | Mitsubishi Electric Corp | 加算回路 |
| US6527748B1 (en) | 1998-08-17 | 2003-03-04 | Yutaka Suzuki | Method of gastrostomy, and an infection preventive cover, kit or catheter kit, and a gastrostomy catheter kit |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3078337A (en) * | 1958-12-17 | 1963-02-19 | Skiatron Elect & Tele | Metering systems |
| US3138703A (en) * | 1959-12-29 | 1964-06-23 | Ibm | Full adder |
| DE1231311B (de) * | 1964-11-17 | 1966-12-29 | Siemens Ag | Schaltungsanordnung zum Umwerten von Informationen, insbesondere fuer Zeitmultiplex-Fernsprechvermittlungssysteme |
| US3316393A (en) * | 1965-03-25 | 1967-04-25 | Honeywell Inc | Conditional sum and/or carry adder |
| GB1143886A (ja) * | 1966-10-13 | |||
| GB1391175A (en) * | 1971-08-04 | 1975-04-16 | Cambridge Consultants Lttd | Electrical circuit means for use in acoustic emission detecting and or recording apparatus |
| GB1479939A (en) * | 1973-09-25 | 1977-07-13 | Siemens Ag | Programme-controlled data switching systems |
| JPS537349B2 (ja) * | 1974-03-27 | 1978-03-16 | ||
| JPS5446224U (ja) * | 1977-09-07 | 1979-03-30 | ||
| EP0052157A1 (de) * | 1980-11-15 | 1982-05-26 | Deutsche ITT Industries GmbH | Binärer MOS-Carry-Look-Ahead-Paralleladdierer |
-
1983
- 1983-03-07 GB GB08306208A patent/GB2127187B/en not_active Expired
- 1983-03-07 GB GB08330888A patent/GB2130771B/en not_active Expired
- 1983-07-22 DE DE19833326388 patent/DE3326388A1/de active Granted
- 1983-08-23 JP JP15400083A patent/JPS5957343A/ja active Granted
- 1983-11-18 GB GB08330889A patent/GB2130774B/en not_active Expired
-
1990
- 1990-11-30 JP JP2341188A patent/JPH03229321A/ja active Granted
- 1990-11-30 JP JP2341187A patent/JPH03229320A/ja active Granted
- 1990-11-30 JP JP2341184A patent/JPH03228120A/ja active Granted
- 1990-11-30 JP JP2341185A patent/JPH03228121A/ja active Granted
- 1990-11-30 JP JP2341186A patent/JPH03228122A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| GB8330889D0 (en) | 1983-12-29 |
| JPH03229321A (ja) | 1991-10-11 |
| GB2130774A (en) | 1984-06-06 |
| JPH0467211B2 (ja) | 1992-10-27 |
| JPH03228122A (ja) | 1991-10-09 |
| GB2130771A (en) | 1984-06-06 |
| JPH03228120A (ja) | 1991-10-09 |
| GB2130771B (en) | 1986-02-12 |
| JPH0450615B2 (ja) | 1992-08-14 |
| JPH0467213B2 (ja) | 1992-10-27 |
| GB8306208D0 (en) | 1983-04-13 |
| JPH03228121A (ja) | 1991-10-09 |
| GB2127187A (en) | 1984-04-04 |
| JPH03229320A (ja) | 1991-10-11 |
| GB2130774B (en) | 1986-02-12 |
| GB2127187B (en) | 1986-03-05 |
| JPS5957343A (ja) | 1984-04-02 |
| GB8330888D0 (en) | 1983-12-29 |
| DE3326388A1 (de) | 1984-02-23 |
| DE3326388C2 (ja) | 1993-04-01 |
| JPH0467212B2 (ja) | 1992-10-27 |
| JPH0450614B2 (ja) | 1992-08-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4623982A (en) | Conditional carry techniques for digital processors | |
| JP3244506B2 (ja) | 小型乗算器 | |
| US6301600B1 (en) | Method and apparatus for dynamic partitionable saturating adder/subtractor | |
| JPH0479013B2 (ja) | ||
| JPS6055438A (ja) | 2入力加算器 | |
| US20020143841A1 (en) | Multiplexer based parallel n-bit adder circuit for high speed processing | |
| US6578063B1 (en) | 5-to-2 binary adder | |
| JPS595349A (ja) | 加算器 | |
| US6584485B1 (en) | 4 to 2 adder | |
| JPH0366693B2 (ja) | ||
| JPH02293929A (ja) | デジタルシステム乗算の方法及び装置 | |
| JPH0552530B2 (ja) | ||
| US3842250A (en) | Circuit for implementing rounding in add/subtract logic networks | |
| JP2554452B2 (ja) | 自己検査型補数加算器ユニット | |
| US5636156A (en) | Adder with improved carry lookahead structure | |
| US5257217A (en) | Area-efficient multiplier for use in an integrated circuit | |
| US6484193B1 (en) | Fully pipelined parallel multiplier with a fast clock cycle | |
| JP2001501341A (ja) | デジタル加算器回路 | |
| Ykuntam et al. | Design of 32-bit carry select adder with reduced area | |
| JP3741280B2 (ja) | 桁上げ先見回路およびこれを用いた加算回路 | |
| US7240085B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
| JPH056892B2 (ja) | ||
| JPH01304542A (ja) | パリテイ予測回路 | |
| US6631393B1 (en) | Method and apparatus for speculative addition using a limited carry | |
| JPS6261120A (ja) | けた上げ選択加算器 |