JPH03228122A - Addition circuit - Google Patents

Addition circuit

Info

Publication number
JPH03228122A
JPH03228122A JP2341186A JP34118690A JPH03228122A JP H03228122 A JPH03228122 A JP H03228122A JP 2341186 A JP2341186 A JP 2341186A JP 34118690 A JP34118690 A JP 34118690A JP H03228122 A JPH03228122 A JP H03228122A
Authority
JP
Japan
Prior art keywords
cell means
carry
row
adder
block
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
JP2341186A
Other languages
Japanese (ja)
Other versions
JPH0467211B2 (en
Inventor
Frederick A Ware
フレデリック・エイ・ウエア
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH03228122A publication Critical patent/JPH03228122A/en
Publication of JPH0467211B2 publication Critical patent/JPH0467211B2/ja
Granted 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/74Selecting 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
    • 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/5055Adding; 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
    • 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/508Adding; 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
    • 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/506Indexing scheme relating to groups G06F7/506 - G06F7/508
    • G06F2207/50632-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)

Abstract

PURPOSE: To provide a high-speed and easily realizable addition circuit with a relatively less gate using amount by allowing an adder to have the serial connection constitution of cells for generating intermediate carry signals. CONSTITUTION: Respective blocks are provided with the 2-4 pieces of 1-bit cells. In such blocks, two ripple carry outputs Cout0 (i) and Cout1 (i) are generated. In the start cells of the respective blocks, carry inputs Cin0 and Cin1 are respectively defined as '0' and '1'. The two carry outputs Cout generate the carry output Cout block (j) of the block at, present by being combined with a carry input Cin block (j) inputted to the block at present. Then, the chaining of the two carries (Cout0-Cin0 and Cout1-Cin1) are simultaneously and successively propagated in all the blocks. In this case, the intermediate carry signals of respective bit pairs are independently and successively propagated through continuous stages. Thus, this high-speed addition circuit is obtained with the relatively less gate amount.

Description

【発明の詳細な説明】 本発明はデジタル加算器等における桁上げに関し、特に
比較的少ないゲート使用量で桁上げ伝搬遅延を大きく低
下させる高速桁上げ方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to carry in digital adders and the like, and particularly to a high-speed carry method that greatly reduces carry propagation delay with a relatively small amount of gate usage.

2つのNビットオペランドを加算してNビットの結果を
得ること(しばしば桁上げ伝搬加算と呼ばれる)はデジ
タル・プロセッサの基本的な演算である。この演算を実
行するために従来より種々の桁上げ方式が用いられてい
る。
Adding two N-bit operands to obtain an N-bit result (often referred to as carry propagation addition) is a fundamental operation in digital processors. Various carry schemes have been used in the past to perform this operation.

桁上げ伝搬加算を簡単忙実行するにはいわゆるリップル
俸アダー(ripple adder )を用いればよ
い。リップル・アダーはビット当りのトランジスタが比
較的少なくてすむが、−船釣に比較的低速である。リッ
プル・アダ〜はこのように他の加算器の能力測定の基準
としてしばしば用いられる様な、基本的ではあるが、そ
れだけに低速な加算器である。
A so-called ripple adder may be used to easily perform carry propagation addition. Ripple adders require relatively few transistors per bit, but are relatively slow - for boat fishing. The ripple adder is thus a basic but slow adder that is often used as a standard for measuring the performance of other adders.

第1図は代表的なリップル・アダー・セルを示す図であ
る。第1図において、A(1)及びB (i)+ま加え
られる2つのオペランドのそれぞれのビットであり、C
1n(i)  は前段のりツプル・アダー・セルからの
桁上げ入力であり、Cout (i )  はこのリッ
プル・アダー・セルからの桁上げ出力であり、またD(
1)はこのリップル・アダー・セルの和である。
FIG. 1 is a diagram showing a typical ripple adder cell. In FIG. 1, A(1) and B(i)+ are the bits of each of the two operands being added, and C
1n(i) is the carry input from the previous stage ripple adder cell, Cout (i) is the carry output from this ripple adder cell, and D(
1) is the sum of this ripple adder cell.

ある1つのリップル・アダー・セルの桁上げ出力は次段
のリップル・アダー・セルの桁上げ入力となる。表IK
PASCAL風の言語で書かれた、Nビット・リップル
・アダーの論理動作を説明するプログラムを示す。なお
、表1のプログラムにおいて「+」は論理和、「・」は
論理積、l’−XORJは排他的論理和を示す。
The carry output of one ripple adder cell becomes the carry input of the next stage ripple adder cell. Table IK
A program written in a PASCAL-like language illustrates the logical operation of an N-bit ripple adder. In the program shown in Table 1, "+" indicates a logical sum, "." indicates a logical product, and l'-XORJ indicates an exclusive logical sum.

or 表       1 i =Oto N−I  DOBEGINK(i ) 
= Aii ) + B(i )G(1)二A(1)・
B(ト) P(i)= A(i) XORB(i)Cout(i)
=G(i)  +  (K(i)  −C1n(i))
=Cin (i + I ) D(i) = P(i)  XORC1n(i)nd リップル・アダーは桁上げ先見回路を付加することによ
り高速化することができる。桁上げ先見加算器を実現す
るために、リップル・アダー=々lは、例えば4つの9
ソプル・アダー・セルから成るブロックで構成されてい
る。4つの高速加算器の各ブロックは、第2図に示すよ
うK、ゲートが付加されており、このゲートによりにビ
ット(すなわち、ORゲートK(ilの出力)が全て”
l”の時、前段のブロックからの桁上げ出力がこのブロ
ックを素通りして次段のブロックに伝搬される。
or Table 1 i = Oto N-I DOBEGINK(i)
= Aii) + B(i)G(1)2A(1)・
B(g) P(i) = A(i) XORB(i) Cout(i)
=G(i) + (K(i) −C1n(i))
=Cin (i + I) D(i) = P(i) XORC1n(i)nd The ripple adder can be made faster by adding a carry lookahead circuit. To implement a carry look-ahead adder, the ripple adder is, for example, four 9
It consists of blocks consisting of sopul adda cells. Each block of the four high-speed adders has an additional gate K as shown in FIG.
l'', the carry output from the previous block passes through this block and is propagated to the next block.

桁上げ先見加算器は比較的高速であり、MO3回路で安
価に構成できる。
The carry look-ahead adder is relatively fast and can be constructed inexpensively with MO3 circuits.

他の方法として、1.R,E、 トランザクションズ・
オン・エレクトロニック・コンピューターズ(1、R、
E 、 T ransact 1ons on Ele
ctronic Com四ters )誌1960年6
月号、第226頁に、スフランスキー(5klansk
y )氏により「条件付き和による加算論理」として発
表された条件付き相加算器がある。
As another method, 1. R, E, Transactions
On Electronic Computers (1, R,
E, Transact 1ons on Ele
ctronic Com fourters) magazine June 1960
Monthly issue, page 226, 5klansk
There is a conditional phase adder announced by Mr.

条件付き和加算は非常忙高速で動作するのだが、上述の
比較的低速の加算に較べて非常に多くの口シックを必要
とする。その結果、条件付き相加算はビット当りの価格
が非常に高いものとなってしまう。事実、この方法は広
範囲には使用されていない。
Although conditional sum addition operates at very high speed, it requires significantly more processing than the relatively slow addition described above. As a result, conditional phase addition becomes very expensive per bit. In fact, this method is not widely used.

上記した様に、従来から桁上げ伝搬加算を実行するため
に種々の桁上げ方式が使用されている。
As mentioned above, various carry schemes have been used in the past to perform carry propagation addition.

しかし、これら公知の方式は新世代のコンピュタにとっ
てはしばしば遅すぎるものであったり、或は期待される
よりもはるかに複雑かつ高価なものであった。
However, these known schemes were often too slow for new generations of computers, or were much more complex and expensive than expected.

本発明は上述の従来方式の欠点を除去し、高速かつ実現
容易な条件付き桁上げ加算用の高速桁上げ方式を提供す
ることを目的とする。
SUMMARY OF THE INVENTION It is an object of the present invention to eliminate the drawbacks of the above-mentioned conventional methods and to provide a high-speed carry method for conditional carry addition that is fast and easy to implement.

本発明を適用した加算器は中間桁上げ信号を発生するセ
ルの直列接続構成となっている。従ってこれら各ビット
対の中間桁上げ信号は連続する段を独立して次々と伝搬
し℃行くことができる。従って本発明によれば、公知例
と比較して全加算器の遅延時間を減少させることができ
ると共に、回路の複雑さを比較的低くおさえることがで
きる。
The adder to which the present invention is applied has a structure in which cells that generate intermediate carry signals are connected in series. Therefore, the intermediate carry signal of each of these bit pairs can propagate independently through successive stages one after the other. Therefore, according to the present invention, the delay time of the full adder can be reduced compared to the known example, and the complexity of the circuit can be kept relatively low.

本発明はまた増分器(incrementor )ヤプ
ライオリテイ・エンコーダにも応用できる。これらの応
用例についても以下で説明する。
The invention is also applicable to incrementor priority encoders. Examples of these applications are also discussed below.

本発明の高速桁上げ方式はセルの種類が比較的少なくて
すむので、任意長の加算器、増分器又はプライオリティ
・エンコーダを構成する場合には以下に図示する様に規
則的に容易に結合することができる。従って本発明tこ
よれば、絶対速度が速い回路を実現することが出来ると
共にバイポーラ又はMO3技術のいずれKよりLSIを
製造した場合でも、設計上の複雑化を抑えて安価に構成
することができる。
Since the fast carry scheme of the present invention requires relatively few types of cells, they can be easily combined in a regular manner as shown below when constructing an adder, incrementer, or priority encoder of arbitrary length. be able to. Therefore, according to the present invention, it is possible to realize a circuit with a high absolute speed, and even when an LSI is manufactured using either bipolar or MO3 technology, it can be constructed at low cost by suppressing design complexity. .

以下、図面によって本発明の詳細な説明する。Hereinafter, the present invention will be explained in detail with reference to the drawings.

以下では、条件付き桁上げ加算と呼ばれている桁上げ伝
搬加算を実行するために本発明の高速桁上げ方式を用い
た2つの加算器A、Bを開示している。これら2つの加
算器A、Bの構成は両方とも加算器以外にも増分器やプ
ライオリティ・エンコーダにも適用できることが後述す
る説明により理解できるだろう。表2に於て、公知の方
式と本発明を用いた条件付き桁上げ加算器との比較を示
した。表2に於て、加算器の速度は全加算を実行するの
に必要なゲート遅延段数によって示しである。表2に示
したデータは32ビツト加算器の場合である。
In the following, two adders A, B are disclosed that use the fast carry scheme of the present invention to perform carry propagation addition, referred to as conditional carry addition. It will be understood from the following explanation that the configurations of these two adders A and B can be applied not only to adders but also to incrementers and priority encoders. Table 2 shows a comparison between a known scheme and a conditional carry adder using the present invention. In Table 2, the speed of the adder is indicated by the number of gate delay stages required to perform the full addition. The data shown in Table 2 is for a 32-bit adder.

第3A図及び第3B図は本発明の第1実施例である条件
付き桁上げ加算器Aを示す図であり、表3は条件付き桁
上げ加算器Aに関連する論理式である。第3A図には3
種の異なるセルが示されている。それらはスタート・セ
ル、任意の数(0でも良い)の継続セル、及びエンド・
セルである。
3A and 3B are diagrams showing a conditional carry adder A according to a first embodiment of the present invention, and Table 3 shows logical expressions related to the conditional carry adder A. Figure 3A shows 3
Cells of different species are shown. They are a start cell, an arbitrary number (even zero) of continuation cells, and an end cell.
It is a cell.

第3B図は、9ビツト加算器の場合のセル構成例を示す
図である。この実施例に於て、各フロックは2〜4個の
1ビツト・セルを備えている。すなわちブロックOK2
つのセル、ブロックlに3つのセル、そしてブロック2
に4つのセルを備えている。例えば、第2ブロツク(j
=1 )  は3つのセルを備えており、ビット番号2
はスタート・セル、ビット番号3は継続(contin
ue)セル、そしてビット番号4はエンド・セルである
FIG. 3B is a diagram showing an example of a cell configuration in the case of a 9-bit adder. In this embodiment, each flock includes 2 to 4 1-bit cells. In other words, block OK2
1 cell, 3 cells in block l, and block 2
It has four cells. For example, the second block (j
=1) has three cells, bit number 2
is the start cell, bit number 3 is the continuation
ue) cell, and bit number 4 is the end cell.

表 リップル+7ダ 桁上げ先見加算器 条件付き相加算器 条件付き桁上げ加算話人 条件付き桁上げ加算器B 表 全加算器に対して: Cin  ブロック(0) Cin加算器 各ブロックjに対して: Cin 0(0) ” 0 Cin 1(0) = 1 Coutブロック(j) =Cout O(imax)
+(Cout 1 (i max)争Cinブロック(
」)〕=C1nブロック(j+1 ブロックJの各ビット家に対して: K (i) = A (i) + B (1)G(1)
二人(1)・B(1) P(i) = A(i) XORB(i)Cout 0
(i)=G(i)+ (K(i) ・Cin O(ト)
〕=C1nO(i+1) Cout 1(i)” G(i)+ 〔K(ト)−Ci
n 1(i))= Cin 1 (i+l ) Cin(i)=Cin 0(i)+ (Cin 1(i
)・Cinブロック(j)〕1)(i) = P(i)
 XORC1n(il基本的K、各ブロックに於て(例
えば」=0〜2に於て)2つのリップル桁上げ出力Co
ut 0(il及びCout 1(i)  が発生され
る。各ブロックのスタート・セルに於て桁上げ人力C1
nQ及びC1n1はそれぞれ0°゛及び”l ”と定義
されていることに注意されたい。この2つの桁上げ出力
Cout は現在のブロックに入力された桁上げ人力C
inブロック(」)と結合することKより現在のブロッ
クの桁上げ出力Cout  ブロック(」)を発生する
。」二〇〜2の全てのブロックでそれらの2つの桁上げ
の連鎖(CoutO−Cin Q及びCoutl −C
in l )が同時に次々と伝搬される。ブロックOは
最初にその桁上げ出力を発生し、そしてブロックIK伝
搬すムその後、桁上げが各ブロックを「飛び越す」ため
にはゲート1段分の遅延しか必要ない。よって、条件付
き桁上げ加算器Aにおいては、桁上げ伝搬遅延時間を最
小にした場合、ブロックの大きさ、すなわちビット長は
、ブロック番号」の増加につれて等差数列的(すなわち
2.3.4.・・・・・・等)に増加するから、全遅延
時間はオペランドのビット長の平方根にほぼ比例して増
加する。
Table ripple + 7 da carry lookahead adder Conditional phase adder Conditional carry add Speaker conditional carry adder B For table full adder: Cin block (0) Cin adder For each block j : Cin 0 (0) ” 0 Cin 1 (0) = 1 Cout block (j) = Cout O (imax)
+(Cout 1 (i max) conflict Cin block (
'')] = C1n block (j+1 For each bit house of block J: K (i) = A (i) + B (1) G (1)
Two people (1)・B(1) P(i) = A(i) XORB(i) Cout 0
(i) = G(i) + (K(i) ・Cin O(g)
]=C1nO(i+1) Cout 1(i)" G(i)+ [K(t)-Ci
n 1(i))=Cin 1(i+l) Cin(i)=Cin 0(i)+(Cin 1(i
)・Cin block (j)] 1) (i) = P(i)
XORC1n (il basic K, 2 ripple carry outputs Co in each block (for example in "=0~2)
ut 0(il and Cout 1(i) are generated. At the start cell of each block, the carry force C1
Note that nQ and C1n1 are defined as 0° and "l", respectively. These two carry outputs Cout are the carry human power C input into the current block.
Combining with the in block ('') generates the carry output Cout block ('') of the current block from K. ” In every block of twenty to two, those two carry chains (CoutO-Cin Q and Coutl-C
in l ) are simultaneously propagated one after another. Block O first generates its carry output and then propagates to block IK. Thereafter, only one gate delay is required for the carry to "jump over" each block. Therefore, in conditional carry adder A, when the carry propagation delay time is minimized, the block size, that is, the bit length, increases in an arithmetic progression (i.e., 2.3.4) as the block number increases. . . . etc.), so the total delay time increases approximately in proportion to the square root of the bit length of the operand.

従って条件付き桁上げ加算器Aは桁上げ先見加算器と比
較して、表2かられかる様にビット当りの素子を17%
増加するのみで25%の性能の向上を得ることができる
。同様K、条件付き桁上げ加jE器Aは1ビツト・セル
によって構成されており、他の高速化技術の様な複数ビ
ットにまたがっているセルを使用してはいない。このこ
とにより、実現が容易でかつチップ面積の使用効率が良
好である規則なレイアウトを持つ集積回路を作ることが
できる。
Therefore, the conditional carry adder A has 17% more elements per bit than the carry lookahead adder, as seen from Table 2.
A 25% performance improvement can be obtained with just an increase. Similarly, the conditional carry adder A is constructed from 1-bit cells, and does not use cells spanning multiple bits as in other high-speed technologies. This makes it possible to create an integrated circuit with a regular layout that is easy to implement and uses chip area efficiently.

本発明の高速桁上げ方式を用いた第2の実施例である、
条件付き桁上げ加算器Bを第4図に示し、またその動作
を示すPASCAL風の言語で書かれたプログラムを表
4に示す。表4のプログラムはオペランド長がNビット
の場合について示しており、またここで2 * * J
”は2Jを表わす。
A second embodiment using the high-speed carry method of the present invention,
Conditional carry adder B is shown in FIG. 4, and a program written in a PASCAL-like language illustrating its operation is shown in Table 4. The program in Table 4 shows the case where the operand length is N bits, and here 2 * * J
” represents 2J.

この実施例の構成は条件付き桁上げ加算器A(第3A図
及び第3B図)と類似しており、また同様にして入力は
C1n0=1及びC1n1=1と見なされ、桁上げ出力
がそれに従って演算される。
The configuration of this embodiment is similar to conditional carry adder A (Figures 3A and 3B), and similarly the inputs are assumed to be C1n0 = 1 and C1n1 = 1, and the carry output is Calculated according to

表        4 For  i −0to  (N−1)  Do  B
EGINCouj O(0,i )−Afil ・Bf
il −CH1lCou+ 1 (0,I)−人fil
 + B fit −K11lPfil       
  −Afil XORBfilnd Fori−11oLOG2N w、2ネ*」 0 EGAN For K−0to  (N/W  I )LO−K*
W Ll −(K*W−1−W/2 ) L2−(K率W+W) D。
Table 4 For i -0to (N-1) Do B
EGIN Couj O(0,i)-Afil ・Bf
il -CH1lCou+ 1 (0,I)-person fil
+B fit -K11lPfil
-Afil
W Ll −(K*W−1−W/2) L2−(K rate W+W) D.

EGIN For −(LO)to(Ll−1)D。EGIN For -(LO) to (Ll-1)D.

EGIN CoulO(j。EGIN CoulO(j.

Cou目(J i ) −Cout0 (j−1,i )i) −Co
ut l (j−1,i )nd For −(Ll)to (L2−1)  Do  BEGIN
CouLO(j。
Cou (J i ) -Cout0 (j-1,i)i) -Co
ut l (j-1,i)nd For-(Ll)to (L2-1) Do BEGIN
CouLO(j.

Cout 1 (i。Cout 1 (i.

i) −CoulO(j −t、 i)+(Cout1
 (i−1・Cout0(j−L Ll−1)) i)  −Cout  o (1−1,+ )+(C!
o u+ I  (j−+。
i) −CoulO(j −t, i)+(Cout1
(i-1・Cout0(j-L Ll-1)) i) -Cout o (1-1,+)+(C!
o u+ I (j-+.

・CouN (j′2.Ll−1)) 1) ) nd C1nfol −Cin加算器 K −LOG2(へ) For i  −0to (N−1) D。・CouN (j'2.Ll-1)) 1) ) nd C1nfol - Cin adder K-LOG2 (to) For i -0to (N-1) D.

Dfil −Pt1l XOR0infilEGIN nd Cou(加算器−C1n(N) 第4図に於て、各ステージは各ビットから発生される桁
上げ出力Cout O(j 、 i )及びCoutl
 (j、 i )を、そのビットへの桁上げ入力がそれ
ぞれ0゛及び”1”であると仮定して発生する。但し、
j゛はステージ番号であり”1゛′はビット番号である
とする。この目的は、ビットのブロック全体に対して下
位から与えられる桁上げ入力がそれぞれ”0″及び“l
 ”であるとして各ピントに対する桁上げ入力を発生す
るためである。連続する各ステージはこの機能を実行す
るとともに、またこのブロック用の桁上げ出力Cout
 1及びCout Qを発生する。
Dfil -Pt1l
(j, i) are generated assuming that the carry inputs to that bit are 0' and "1", respectively. however,
Assume that j゛ is the stage number and "1" is the bit number.The purpose of this is that the carry input given from the lower order for the entire block of bits is "0" and "l", respectively.
” to generate a carry input for each focus. Each successive stage performs this function and also generates a carry output Cout for this block.
1 and Cout Q.

第4図のステージ4に示される様て、各ビットに対して
の最終的な桁上げ入力(表4のCout Q(k、i)
及びCoutl (k、 i ))が発生された段階で
、加算器に対しての桁上げ人力Cin が各ビットに対
する正しい桁上げ入力(表4のC1n(i+1) )を
選択する。そしてこの選択された桁上げ入力は適切なP
ビットP(0)〜P(7)と排他的論理和かとられ最終
的な和D(0)〜D(7)が発生されることを示してい
る。
As shown in stage 4 of Figure 4, the final carry input for each bit (Cout Q(k,i) in Table 4)
and Coutl (k, i)) are generated, the carry input Cin for the adder selects the correct carry input for each bit (C1n(i+1) in Table 4). and this selected carry input is the appropriate P
It shows that the final sum D(0) to D(7) is generated by exclusive ORing with bits P(0) to P(7).

第4図から理解できるように、条件付き桁上げ加算器B
と条件付き桁上げ加算器Aとの主要な違いは次の様であ
る。条件付き桁上げ加算器Bに於ては、ブロックの大き
さは2の累乗で増加する、すなわち等比数列的に増加す
るものであるが、条件付き桁上げ加算器Aのブロックの
大きさは上記した様に等差数列的に増加する。従って条
件付き桁上げ加算器Bの全遅延時間は加算されるビット
数の2を底とした対数に比例する。
As can be understood from Fig. 4, conditional carry adder B
The main differences between the conditional carry adder A and the conditional carry adder A are as follows. In conditional carry adder B, the block size increases by a power of 2, that is, in a geometric progression, but the block size of conditional carry adder A is As mentioned above, it increases in an arithmetic progression. Therefore, the total delay time of conditional carry adder B is proportional to the base 2 logarithm of the number of bits to be added.

条件付き桁上げ加算器A、Bの桁上げは増分器やプライ
オリティ・エンコーダのいずれを構成する場合でも適用
することができる。増分器はNビットで表わされる数に
1を加える回路であり、プライオリティ・エンコーダは
Nビット入力中の最優先(最上位)ビットをコード化し
た出力を発生する(例えば8ビット−3ビツト・エンコ
ータ又は10ビット−4ビツト壷エンコーダ)ものであ
る。
The carry of the conditional carry adders A and B can be applied to either an incrementer or a priority encoder. An incrementer is a circuit that adds 1 to a number represented by N bits, and a priority encoder generates an output that encodes the highest priority (most significant) bit in an N-bit input (for example, an 8-bit to 3-bit encoder). or a 10-bit to 4-bit encoder).

第5図に条件付き桁上げ加算器Bにおける桁上げを用い
た増分器を示した増分器においては加算における第2の
入力B(0)〜B(7)を使用しないので、これら?ゼ
ロにセットすることができる。このとき第4図のステー
ジOで発生されるに、G、Pは以下の様になる。
In the incrementer shown in FIG. 5, which uses a carry in the conditional carry adder B, the second inputs B(0) to B(7) in addition are not used. Can be set to zero. At this time, G and P generated at stage O in FIG. 4 are as follows.

K=A−B二〇 G二A+ B =A p =AXORB =A 同様に、増分器を常にイネーブル状態にしておく場合に
は、Cin信号を“1°°にセットすることができる。
K=AB20G2A+B=Ap=AXORB=A Similarly, if the incrementer is always enabled, the Cin signal can be set to "1°".

この様にして、第4図に示した条件付き桁上げ加算器B
かも増分器としては論理的に冗長なゲーウを全て除去す
ることにより、第5図に示した増分器を構成することが
できる。これと同様の冗長ゲートの除去方法を用いて、
第3A図の条件付き桁上げ加算器Aを基に構成したもの
が第6図に示した増分器である。第3A図及び第3B図
に示した加算器と同様に、第6図の継続セルは各ブロッ
クに於て必要なだけ何回でも使用することができる。
In this way, the conditional carry adder B shown in FIG.
However, the incrementer shown in FIG. 5 can be constructed by removing all logically redundant gates. Using a similar redundant gate removal method,
The incrementer shown in FIG. 6 is constructed based on the conditional carry adder A of FIG. 3A. Similar to the adders shown in FIGS. 3A and 3B, the continuation cells of FIG. 6 can be used as many times as necessary in each block.

第7図は条件付き桁上げ加算器Bの高速桁上げ方式を用
いた8ビット−3ビツト・プライオリティ・エンコーダ
を示す図である。上記した増分器と同様に、B(0)〜
B(力入力は”0′°にセットされており、桁上げ信号
は”1″″にセットされている。
FIG. 7 is a diagram showing an 8-bit to 3-bit priority encoder using the fast carry scheme of conditional carry adder B. Similar to the incrementer described above, B(0) ~
B (Force input is set to ``0'' and carry signal is set to ``1''.

この実施例に於ては 桁上げ入力は「イネーブル」とし
て示されており、本プライオリティエンコーダをイネー
ブル状態にしておく都合上反転されている。(つまりイ
ネーブル端子は実際にはアースされて“0゛′が与えら
れているのである)。各出力セルは3状態バツフア30
を備えており、対応するゲート40によりイネーブルと
される。最初の4行の論理素子により、8ビツト人力A
(7)〜AffO)のうち、1′となっている最上位ビ
ットに対応するバッファ30のみがイネーブルされるこ
とが保証されている。各出力セルの各3状態バツフア3
0への入力は各演算子入力のビット番号に対応する適切
に2進重み付けされた信号と結線されている。この様に
、各3状態バツフア30は並列接続された3個のバッフ
ァで構成されており、3ビツト出力の3本のエンコード
出力線を形成している。各3状態バツフア30のイネー
ブル時の出力の設定は、A(0)桁は0,0.0に、A
(11桁は0゜0.1に、等々、A(7)桁の1.1.
1に至る迄セットされている。そして各3状態バツフア
への3ビツト入力のうち栗下位の入力に対応する8個の
ノくツファ(各桁から1つずつ)の出力は共通接続され
エンコード(0)出力を形成し、中間重み付けされた(
すなわち重み2)入力に対応する8個のバッファ(各桁
から1つずつ)は共通接続されエンコード(1)出力を
形成し、そして最上位入力に対応する8個のバッファ(
各桁から1つずつ)は共通接続されエンコード(2)出
力を形成している。そしてこれら3本のエンコード・ラ
インは8ピット−3ビツト・エンコーダ機能を実行する
ための適切に重み付けされた出力を供給し、適切にイネ
ーブル望の優先順位を示す数を供給する。上記した増分
器と同様にして、各ピットに対して適切な数の3状態バ
ツフアを追加することに加えて、冗長ケー友 ト除却の技法により、@3A図に示した条件付き桁上げ
加算器Aを基に第8図に示したプライオリティ・エンコ
ーダを構成することができる。この場合にも、第8図に
示した継続セルは各ブロックに於て必要に応じて何回も
使用できる。
In this embodiment, the carry input is shown as "enabled" and is inverted to keep the priority encoder enabled. (In other words, the enable terminal is actually grounded and given "0'.") Each output cell has a three-state buffer 30
and is enabled by the corresponding gate 40. The logic elements in the first four rows allow 8-bit human power A
Among (7) to AffO), it is guaranteed that only the buffer 30 corresponding to the most significant bit that is 1' is enabled. Each 3-state buffer 3 for each output cell
The inputs to 0 are wired with appropriately binary weighted signals corresponding to the bit numbers of each operator input. In this way, each three-state buffer 30 is composed of three buffers connected in parallel, forming three encode output lines with 3-bit output. The output settings for each three-state buffer 30 when enabled are as follows: A(0) digit is set to 0, 0.0,
(The 11th digit is 0° 0.1, etc., the A (7) digit is 1.1.
It is set up to 1. Outputs of eight buffers (one from each digit) corresponding to the lower 3-bit inputs to each 3-state buffer are connected in common to form an encoded (0) output, which is intermediately weighted. was done (
8 buffers (one from each digit) corresponding to the inputs (i.e. weight 2) are connected in common to form the encode(1) output, and 8 buffers corresponding to the topmost input (
(one from each digit) are commonly connected to form the encode (2) output. These three encode lines then provide appropriately weighted outputs to perform the 8-bit to 3-bit encoder function, and provide appropriately enabled priority numbers. In addition to adding the appropriate number of three-state buffers for each pit in a manner similar to the incrementer described above, the technique of redundant cell elimination can be used to create the conditional carry adder shown in Figure @3A. The priority encoder shown in FIG. 8 can be constructed based on A. In this case as well, the continuation cells shown in FIG. 8 can be used as many times as necessary in each block.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は従来技術にかかるリップル・アダーの1ビツト
分を示す回路図、第2図は従来技術にかかる桁上げ先見
加算器を示す回路図、第3A図は本発明の高速桁上げ方
式を用いた加算器を示す回路図、第3B図は第3A図の
加算器のビット長を拡張した場合の構成を例示するブロ
ック図、第4図は本発明の高速桁上げ方式を用いた別の
加算器を示す回路図、第5図及び第6図は本発明の高速
桁上げ方式を用いた増分器を示す回路図、第7図及び第
8図は本発明の高速桁上げ方式を用いたプライオリティ
・エンコーダを示す回路図であるっA、 B :オペラ
ンド、 D:和、 Cin:桁上げ入力、 Cout :桁上げ出力手 続 補 正 書 平成2年12月288
FIG. 1 is a circuit diagram showing a 1-bit ripple adder according to the prior art, FIG. 2 is a circuit diagram showing a carry look-ahead adder according to the prior art, and FIG. 3A is a circuit diagram showing the high-speed carry method of the present invention. FIG. 3B is a block diagram illustrating the configuration of the adder shown in FIG. 3A when the bit length is expanded. FIG. 4 is a circuit diagram showing the adder used in this invention. A circuit diagram showing an adder, FIGS. 5 and 6 are circuit diagrams showing an incrementer using the high-speed carry method of the present invention, and FIGS. 7 and 8 are circuit diagrams showing an incrementer using the high-speed carry method of the present invention. This is a circuit diagram showing the priority encoder. A, B: Operand, D: Sum, Cin: Carry input, Cout: Carry output procedure amendment December 1990 288

Claims (1)

【特許請求の範囲】 2つのN桁のオペランドを加算する加算回路において、 下記の(A)ないし(C): (A)複数の第1のセル手段を有する1つの入力行:前
記第1のセル手段の各々は前記2つのオペランドからの
桁の第1の対を受け入れて、複数の第1の論理出力信号
を後続の行中の隣接するセル手段に与える; (B)複数の第2、第3、第4のセル手段を有する複数
の中間行: (B−1)前記第2のセル手段は直前の行中の隣接する
セル手段からの論理出力信号の内の選択されたものを自
行中の隣接するセル手段へ渡し、前記直前の行中の前記
隣接するセル手段からの論理出力信号の内の選択された
ものを後続の行中の隣接するセル手段へ渡す; (B−2)前記第3のセル手段は直前の行中の隣接する
セル手段からの論理出力信号の内の選択されたものを後
続の行中の隣接するセル手段へ渡し、前記直前の行中の
前記隣接するセル手段からの論理出力信号の内の選択さ
れたものと自行中の隣接するセル手段からの前記論理出
力信号の内の選択されたものを組み合わせて、第1の桁
上げの出力信号の対を後続の行中の隣接するセル手段に
与える; (B−3)前記第4のセル手段は直前の行中の隣接する
セルからの論理出力信号の内の選択されたものを後続の
行中の隣接するセル手段へ渡す; (C)複数の第5のセル手段を有する1つの出力行:前
記第5のセル手段は先行する行中の隣接するセル手段か
らの選択された論理出力信号と第2の桁上げの入力信号
とを組み合わせて最終的な合計された桁出力を生成する
; を設け、 前記複数の中間行は前記入力行と前記出力行との間に結
合され、 1番目の中間行においては、前記第2、第3、及び第4
のセル手段の内の選択されたものがRポジション毎に繰
り返されるように配置されており、前記1番目の中間行
に結合された2番目の中間行においては、前記第2、第
3、及び第4のセル手段の内の選択されたものがSポジ
ション毎に繰り返されるように配置されており、 前記2番目の中間行に結合された3番目の中間行におい
ては、前記第2、第3、及び第4のセル手段の内の選択
されたものがTポジション毎に繰り返されるように配置
されており、 前記繰り返しの長さ(R、S、T)は中間行の番号が1
つ大きくなる毎に2倍になる幾何数列を形成する ことを特徴とする加算回路。
[Claims] In an adder circuit for adding two N-digit operands, the following (A) to (C): (A) one input row having a plurality of first cell means: the first each of the cell means accepts a first pair of digits from said two operands and provides a plurality of first logic output signals to adjacent cell means in a subsequent row; (B) a plurality of second; A plurality of intermediate rows having third and fourth cell means: (B-1) Said second cell means receives selected ones of the logic output signals from adjacent cell means in the immediately preceding row. passing a selected one of the logic output signals from the adjacent cell means in the immediately preceding row to the adjacent cell means in the subsequent row; (B-2) Said third cell means passes selected ones of the logic output signals from the adjacent cell means in the immediately preceding row to the adjacent cell means in the subsequent row; combining selected ones of the logic output signals from the cell means with selected ones of the logic output signals from adjacent cell means in the cell means to form a first pair of carry output signals; (B-3) said fourth cell means applies selected ones of the logic output signals from adjacent cells in the immediately preceding row to adjacent cell means in the subsequent row; pass to adjacent cell means; (C) one output row having a plurality of fifth cell means; said fifth cell means pass selected logic output signals from adjacent cell means in the preceding row; 2 carry input signals to produce a final summed digit output; the plurality of intermediate rows are coupled between the input row and the output row, and a first intermediate row In the row, the second, third, and fourth
A selected one of the cell means is arranged to be repeated for every R position, and in a second intermediate row connected to the first intermediate row, the second, third, and A selected one of the fourth cell means is arranged to be repeated every S position, and in a third intermediate row joined to the second intermediate row, a selected one of the fourth cell means , and a selected one of the fourth cell means are arranged to be repeated every T position, and said repetition length (R, S, T) is such that the intermediate row number is 1.
An adder circuit that forms a geometric sequence that doubles every time the number increases.
JP2341186A 1982-08-23 1990-11-30 Addition circuit Granted JPH03228122A (en)

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 (en) 1982-08-23 1983-08-23 High speed carrying system

Publications (2)

Publication Number Publication Date
JPH03228122A true JPH03228122A (en) 1991-10-09
JPH0467211B2 JPH0467211B2 (en) 1992-10-27

Family

ID=23626312

Family Applications (6)

Application Number Title Priority Date Filing Date
JP15400083A Granted JPS5957343A (en) 1982-08-23 1983-08-23 High speed carrying system
JP2341186A Granted JPH03228122A (en) 1982-08-23 1990-11-30 Addition circuit
JP2341184A Granted JPH03228120A (en) 1982-08-23 1990-11-30 Incremental apparatus
JP2341188A Granted JPH03229321A (en) 1982-08-23 1990-11-30 Priority encoder
JP2341185A Granted JPH03228121A (en) 1982-08-23 1990-11-30 Priority encoder
JP2341187A Granted JPH03229320A (en) 1982-08-23 1990-11-30 Incremental circuit

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP15400083A Granted JPS5957343A (en) 1982-08-23 1983-08-23 High speed carrying system

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2341184A Granted JPH03228120A (en) 1982-08-23 1990-11-30 Incremental apparatus
JP2341188A Granted JPH03229321A (en) 1982-08-23 1990-11-30 Priority encoder
JP2341185A Granted JPH03228121A (en) 1982-08-23 1990-11-30 Priority encoder
JP2341187A Granted JPH03229320A (en) 1982-08-23 1990-11-30 Incremental circuit

Country Status (3)

Country Link
JP (6) JPS5957343A (en)
DE (1) DE3326388A1 (en)
GB (3) GB2127187B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357457A (en) * 1992-07-30 1994-10-18 Mitsubishi Denki Kabushiki Kaisha Adder with carry look ahead circuit

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6055438A (en) * 1983-09-05 1985-03-30 Matsushita Electric Ind Co Ltd 2 input adder
JPS6275840A (en) * 1985-09-30 1987-04-07 Toshiba Corp Carry selecting adder
DE58909280D1 (en) * 1988-07-29 1995-07-13 Siemens Ag Carry select adders.
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
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)

* Cited by examiner, † Cited by third party
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 (en) * 1964-11-17 1966-12-29 Siemens Ag Circuit arrangement for converting information, in particular for time division multiplex telephone exchange systems
US3316393A (en) * 1965-03-25 1967-04-25 Honeywell Inc Conditional sum and/or carry adder
GB1143886A (en) * 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 (en) * 1974-03-27 1978-03-16
JPS5446224U (en) * 1977-09-07 1979-03-30
EP0052157A1 (en) * 1980-11-15 1982-05-26 Deutsche ITT Industries GmbH Binary MOS carry look ahead parallel adder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5357457A (en) * 1992-07-30 1994-10-18 Mitsubishi Denki Kabushiki Kaisha Adder with carry look ahead circuit

Also Published As

Publication number Publication date
JPH0467213B2 (en) 1992-10-27
GB2127187B (en) 1986-03-05
JPS5957343A (en) 1984-04-02
GB8330889D0 (en) 1983-12-29
GB2130771A (en) 1984-06-06
JPH0467211B2 (en) 1992-10-27
JPH03228121A (en) 1991-10-09
GB8330888D0 (en) 1983-12-29
JPH03229320A (en) 1991-10-11
JPH0366693B2 (en) 1991-10-18
DE3326388A1 (en) 1984-02-23
DE3326388C2 (en) 1993-04-01
JPH0450614B2 (en) 1992-08-14
GB2130771B (en) 1986-02-12
GB2130774B (en) 1986-02-12
GB8306208D0 (en) 1983-04-13
JPH03228120A (en) 1991-10-09
JPH03229321A (en) 1991-10-11
GB2130774A (en) 1984-06-06
JPH0467212B2 (en) 1992-10-27
JPH0450615B2 (en) 1992-08-14
GB2127187A (en) 1984-04-04

Similar Documents

Publication Publication Date Title
US4623982A (en) Conditional carry techniques for digital processors
JP3244506B2 (en) Small multiplier
US6269386B1 (en) 3X adder
JP3556950B2 (en) Structure and method for reducing the number of carry look-ahead adder stages in high speed arithmetic devices
EP0849663B1 (en) Conditional sum adder using pass-transistor logic
JPH03228122A (en) Addition circuit
JPH0573269A (en) Adder
Neeraja et al. Design of an area efficient braun multiplier using high speed parallel prefix adder in cadence
US3842250A (en) Circuit for implementing rounding in add/subtract logic networks
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
Ykuntam et al. Design of 32-bit carry select adder with reduced area
JP3741280B2 (en) Carry look-ahead circuit and addition circuit using the same
JP2002014804A (en) Ternary digital circuit
JPS6261120A (en) Carry selection adder
US7277909B2 (en) High speed adder
JP2608600B2 (en) Apparatus for calculating parity bit of sum of two numbers
JP2563473B2 (en) Binary calculator
JP2991788B2 (en) Decoder
JP3199196B2 (en) 5-input adder
JPH09185493A (en) Integrated circuit for adder
Veeramachaneni Design of efficient VLSI arithmetic circuits
Jui et al. Efficient algorithm and hardware implementation of 3N for arithmetic and for radix-8 encodings
JP2563467B2 (en) Binary calculator
JP2508041B2 (en) Increment circuit
JPH056262A (en) Multi-input adder circuit