JPH0467212B2 - - Google Patents
Info
- Publication number
- JPH0467212B2 JPH0467212B2 JP34118790A JP34118790A JPH0467212B2 JP H0467212 B2 JPH0467212 B2 JP H0467212B2 JP 34118790 A JP34118790 A JP 34118790A JP 34118790 A JP34118790 A JP 34118790A JP H0467212 B2 JPH0467212 B2 JP H0467212B2
- Authority
- JP
- Japan
- Prior art keywords
- cell means
- row
- carry
- adder
- bit
- 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
- 239000000872 buffer Substances 0.000 description 12
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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)は前段のリツプル・アダー・セルか
らの桁上げ入力であり、Cout(i)はこのリツプ
ル・アダー・セルからの桁上げ出力であり、また
D(i)はこのリツプル・アダー・セルの和である。
ある1つのリツプル・アダー・セルの桁上げ出力
は次段のリツプル・アダー・セルの桁上げ入力と
なる。表1にPASCAL風の言語で書かれた、N
ビツト・リツプル・アダーの論理動作を説明する
プログラムを示す。なお、表1のプログラムにお
いて「+」は論理和、「・」は論理積、「XOR」
は排他的論理和を示す。 表 1 Fori=0 toN−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を製造した場合でも、設計上の複
雑さを抑えて安価に製造することができる。 [発明の実施例] 以下、図面によつて本発明を詳細に説明する。 以下では先ず条件付き桁上げ加算と呼ばれてい
る桁上げ伝播加算を実行するために本発明の原理
を更に一般化した高速桁上げ方式を採用した2つ
の加算器A,Bを開示する。その後で説明するよ
うに、これら2つの加算器A,Bの構成は両方と
も増分回路や更にはプライオリテイ・エンコーダ
に応用することができる。表2において、公知の
桁上げ方式を採用した加算器と上述の加算器A,
Bとの比較を示した。表2に於て、加算器の速度
は全加算を実行するのに必要なゲート遅延段数に
よつて示してある。表2に示したデータは32ビツ
ト加算器の場合である。 第3A図及び第3B図は条件付き桁上げ加算器
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)は前段のリツプル・アダー・セルか
らの桁上げ入力であり、Cout(i)はこのリツプ
ル・アダー・セルからの桁上げ出力であり、また
D(i)はこのリツプル・アダー・セルの和である。
ある1つのリツプル・アダー・セルの桁上げ出力
は次段のリツプル・アダー・セルの桁上げ入力と
なる。表1にPASCAL風の言語で書かれた、N
ビツト・リツプル・アダーの論理動作を説明する
プログラムを示す。なお、表1のプログラムにお
いて「+」は論理和、「・」は論理積、「XOR」
は排他的論理和を示す。 表 1 Fori=0 toN−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を製造した場合でも、設計上の複
雑さを抑えて安価に製造することができる。 [発明の実施例] 以下、図面によつて本発明を詳細に説明する。 以下では先ず条件付き桁上げ加算と呼ばれてい
る桁上げ伝播加算を実行するために本発明の原理
を更に一般化した高速桁上げ方式を採用した2つ
の加算器A,Bを開示する。その後で説明するよ
うに、これら2つの加算器A,Bの構成は両方と
も増分回路や更にはプライオリテイ・エンコーダ
に応用することができる。表2において、公知の
桁上げ方式を採用した加算器と上述の加算器A,
Bとの比較を示した。表2に於て、加算器の速度
は全加算を実行するのに必要なゲート遅延段数に
よつて示してある。表2に示したデータは32ビツ
ト加算器の場合である。 第3A図及び第3B図は条件付き桁上げ加算器
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はエン
ド・セルである。
【表】
【表】
基本的に、各ブロツクに於て(例えば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ビツト・セルによつて構成されており、
他の高速化技術の様な複数ビツトにまたがつてい
るセルを使用してはいない。このことにより、実
現が容易でかつチツプ面積の使用効率が良好であ
る規則なレイアウトを持つ集積回路を作ることが
できる。 条件付き桁上げ加算器Bを第4図に示し、また
その動作を示すPASCAL風の言語で書かれたプ
ログラムを表4に示す。表4のプログラムはオペ
ランド長がNビツトの場合について示しており、
またここで“2〓〓j”は2jを表わす。 この加算器Bの構成は条件付き桁上げ加算器A
(第3A図及び第3B図)と類似しており、また
同様にして入力はCin0=1及びCin1=1と見な
され、桁上げ出力がそれに従つて演算される。
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ビツト・セルによつて構成されており、
他の高速化技術の様な複数ビツトにまたがつてい
るセルを使用してはいない。このことにより、実
現が容易でかつチツプ面積の使用効率が良好であ
る規則なレイアウトを持つ集積回路を作ることが
できる。 条件付き桁上げ加算器Bを第4図に示し、また
その動作を示すPASCAL風の言語で書かれたプ
ログラムを表4に示す。表4のプログラムはオペ
ランド長がNビツトの場合について示しており、
またここで“2〓〓j”は2jを表わす。 この加算器Bの構成は条件付き桁上げ加算器A
(第3A図及び第3B図)と類似しており、また
同様にして入力はCin0=1及びCin1=1と見な
され、桁上げ出力がそれに従つて演算される。
【表】
第4図に於て、各ステージは各ビツトから発生
される桁上げ出力Cout0(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図に示
す。増分回路においては加算における第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
図に示した増分回路を構成することができる。こ
れと同様の冗長ゲートの除去方法を用いて、第3
A図の条件付き桁上げ加算器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”
となつている最上位ビツトに対応するバツフア3
0のみがイネーブルされることが保証されてい
る。各出力セルの各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図に示した継続セルは各ブロツ
クに於て必要に応じて何回も使用できる。 [発明の効果] 以上詳細に説明したように、本発明によれば、
比較的少ないゲート量で高速に動作する増分回路
を提供することができる。
される桁上げ出力Cout0(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図に示
す。増分回路においては加算における第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
図に示した増分回路を構成することができる。こ
れと同様の冗長ゲートの除去方法を用いて、第3
A図の条件付き桁上げ加算器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”
となつている最上位ビツトに対応するバツフア3
0のみがイネーブルされることが保証されてい
る。各出力セルの各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図は従来技術に係る桁上
げ先見加算器を示す図、第4図は本発明に使用さ
れる桁上げ方式を用いて構成された加算器を示す
図、第3A図および第3B図は第4図の加算器と
類似した桁上げ方式を用いて構成された加算器を
示す図、第5図は本発明の実施例を示す図、第6
図は第3A図および第3B図の加算器に基づいて
構成された増分回路を示す図、第7図および第8
図は第3A図、第3B図および第4図の加算器に
基づいて構成されたプライオリテイ・エンコーダ
を示す図である。 A,B……オペランド、D……和、Cin……桁
上げ入力、Cout……桁上げ出力。
ビツト分を示す図、第2図は従来技術に係る桁上
げ先見加算器を示す図、第4図は本発明に使用さ
れる桁上げ方式を用いて構成された加算器を示す
図、第3A図および第3B図は第4図の加算器と
類似した桁上げ方式を用いて構成された加算器を
示す図、第5図は本発明の実施例を示す図、第6
図は第3A図および第3B図の加算器に基づいて
構成された増分回路を示す図、第7図および第8
図は第3A図、第3B図および第4図の加算器に
基づいて構成されたプライオリテイ・エンコーダ
を示す図である。 A,B……オペランド、D……和、Cin……桁
上げ入力、Cout……桁上げ出力。
Claims (1)
- 【特許請求の範囲】 1 N桁のオペランドに増分演算を行なう増分回
路において、 下記の(A)ないし(C): (A) 複数の第1のセル手段を有する1つの入力
行:前記第1のセル手段の各々は前記オペラン
ドから第1の桁を受け入れて、第1の論理出力
信号を後続の行中の隣接するセル手段に与え
る; (B) 複数の第2、第3、第4のセル手段を有する
複数の中間行: (B−1) 前記第2のセル手段は直前の行中
の隣接するセル手段からの論理出力信号を自
行中の隣接するセル手段へ渡し、前記直前の
行中の前記隣接するセル手段からの前記論理
出力信号を後続の行中の隣接するセル手段へ
渡す; (B−2) 前記第3のセル手段は直前の行中
の隣接するセル手段からの論理出力信号と自
行中の隣接するセル手段からの論理出力信号
を組み合わせて第1の桁上げの出力信号を後
続の行中の隣接するセル手段に与える; (B−3) 前記第4のセル手段は直前の行中
の隣接するセルからの論理出力信号を後続の
行中の隣接するセル手段へ渡す; (C) 複数の第5のセル手段を有する1つの出力
行:前記第5のセル手段は自行中の隣接するセ
ル手段からの論理出力信号の内の1つと、第2
の桁上げの入力信号と、前記入力行中の前記第
1のセル手段からの前記第1の論理出力信号の
内の選択されたものとを組み合わせて最終的な
増分された桁出力を生成する; を設け、 前記複数の中間行は前記入力行と前記出力行と
の間に結合され、 1番目の中間行においては、前記第2、第3、
及び第4のセル手段の内の選択されたものがRポ
ジシヨン毎に繰り返されるように配置されてお
り、 前記1番目の中間行に結合された2番目の中間
行においては、前記第2、第3、及び第4のセル
手段の内の選択されたものがSポジシヨン毎に繰
り返されるように配置されており、 前記2番目の中間行に結合された3番目の中間
行においては、前記第2、第3、及び第4のセル
手段の内の選択されたものがTポジシヨン毎に繰
り返されるように配置されており、 前記繰り返しの長さ(R,S,T)は中間行の
番号が1つ大きくなる毎に2倍になる幾何数列を
形成する ことを特徴とする増分回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41080782A | 1982-08-23 | 1982-08-23 | |
US410807 | 1982-08-23 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15400083A Division JPS5957343A (ja) | 1982-08-23 | 1983-08-23 | 加算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03229320A JPH03229320A (ja) | 1991-10-11 |
JPH0467212B2 true JPH0467212B2 (ja) | 1992-10-27 |
Family
ID=23626312
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15400083A Granted JPS5957343A (ja) | 1982-08-23 | 1983-08-23 | 加算回路 |
JP2341184A Granted JPH03228120A (ja) | 1982-08-23 | 1990-11-30 | 増分器 |
JP2341187A Granted JPH03229320A (ja) | 1982-08-23 | 1990-11-30 | 増分回路 |
JP2341186A Granted JPH03228122A (ja) | 1982-08-23 | 1990-11-30 | 加算回路 |
JP2341185A Granted JPH03228121A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
JP2341188A Granted JPH03229321A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15400083A Granted JPS5957343A (ja) | 1982-08-23 | 1983-08-23 | 加算回路 |
JP2341184A Granted JPH03228120A (ja) | 1982-08-23 | 1990-11-30 | 増分器 |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2341186A Granted JPH03228122A (ja) | 1982-08-23 | 1990-11-30 | 加算回路 |
JP2341185A Granted JPH03228121A (ja) | 1982-08-23 | 1990-11-30 | プライオリティ・エンコーダ |
JP2341188A Granted JPH03229321A (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 JP2341184A patent/JPH03228120A/ja active Granted
- 1990-11-30 JP JP2341187A patent/JPH03229320A/ja active Granted
- 1990-11-30 JP JP2341186A patent/JPH03228122A/ja active Granted
- 1990-11-30 JP JP2341185A patent/JPH03228121A/ja active Granted
- 1990-11-30 JP JP2341188A patent/JPH03229321A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
GB2130774B (en) | 1986-02-12 |
GB8330888D0 (en) | 1983-12-29 |
JPH03228122A (ja) | 1991-10-09 |
GB2127187B (en) | 1986-03-05 |
JPH0450615B2 (ja) | 1992-08-14 |
JPH0366693B2 (ja) | 1991-10-18 |
JPH0450614B2 (ja) | 1992-08-14 |
JPH03228121A (ja) | 1991-10-09 |
GB8330889D0 (en) | 1983-12-29 |
GB2130771A (en) | 1984-06-06 |
DE3326388C2 (ja) | 1993-04-01 |
JPS5957343A (ja) | 1984-04-02 |
JPH0467211B2 (ja) | 1992-10-27 |
GB2130774A (en) | 1984-06-06 |
JPH03229320A (ja) | 1991-10-11 |
DE3326388A1 (de) | 1984-02-23 |
GB8306208D0 (en) | 1983-04-13 |
GB2130771B (en) | 1986-02-12 |
JPH03228120A (ja) | 1991-10-09 |
JPH0467213B2 (ja) | 1992-10-27 |
JPH03229321A (ja) | 1991-10-11 |
GB2127187A (en) | 1984-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4623982A (en) | Conditional carry techniques for digital processors | |
US5497341A (en) | Sign-extension of immediate constants in an ALU using an adder in an integer logic unit | |
EP0827069B1 (en) | Arithmetic circuit and method | |
JPH0479013B2 (ja) | ||
JPH0456339B2 (ja) | ||
US6269386B1 (en) | 3X adder | |
EP0849663B1 (en) | Conditional sum adder using pass-transistor logic | |
JPH0467212B2 (ja) | ||
JP2970231B2 (ja) | 並列乗算回路 | |
JP3556950B2 (ja) | 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法 | |
Lo | A fast binary adder with conditional carry generation | |
US20040010536A1 (en) | Apparatus for multiplication of data in two's complement and unsigned magnitude formats | |
US3842250A (en) | Circuit for implementing rounding in add/subtract logic networks | |
US7024445B2 (en) | Method and apparatus for use in booth-encoded multiplication | |
JPH0552530B2 (ja) | ||
JPH0434177B2 (ja) | ||
Ykuntam et al. | Design of 32-bit carry select adder with reduced area | |
JPH0454256B2 (ja) | ||
JP3741280B2 (ja) | 桁上げ先見回路およびこれを用いた加算回路 | |
JP2608600B2 (ja) | 2つの数の和のパリティビットの計算装置 | |
Veeramachaneni | Design of efficient VLSI arithmetic circuits | |
JPH09185493A (ja) | 加算器用集積回路 | |
US7159004B2 (en) | Adder, multiplier and integrated circuit | |
US6301597B1 (en) | Method and apparatus for saturation in an N-NARY adder/subtractor | |
JP3199196B2 (ja) | 5入力加算器 |