KR19980073858A - Carry-Selective Adder (CSA) Circuit - Google Patents

Carry-Selective Adder (CSA) Circuit Download PDF

Info

Publication number
KR19980073858A
KR19980073858A KR1019970009438A KR19970009438A KR19980073858A KR 19980073858 A KR19980073858 A KR 19980073858A KR 1019970009438 A KR1019970009438 A KR 1019970009438A KR 19970009438 A KR19970009438 A KR 19970009438A KR 19980073858 A KR19980073858 A KR 19980073858A
Authority
KR
South Korea
Prior art keywords
carry
sum
operand
block
adder
Prior art date
Application number
KR1019970009438A
Other languages
Korean (ko)
Inventor
권병섭
Original Assignee
구자홍
엘지전자 주식회사
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 구자홍, 엘지전자 주식회사 filed Critical 구자홍
Priority to KR1019970009438A priority Critical patent/KR19980073858A/en
Publication of KR19980073858A publication Critical patent/KR19980073858A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 캐리-선택 덧셈기(CSA) 회로에 관한 것으로 특히, 하나의 섹션 가산기에 포함된 캐리 룩-어헤드 생성기를 캐리 '0'와 '1'에 대한 연산을 모두 수행하도록 구성함으로써 하드웨어 구성의 단순화 및 처리 속도를 향상시키도록 함을 목적으로 한다. 이러한 본 발명은 4비트의 피연산자(A,B)를 각기 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합(S0 i) (S1 i) 및 캐리(C0 i)(C1 i)를 구하고 전단 캐리(Ci)에 의해 하나의 합을 선택 출력하는 피연산자 연산 블록(201∼204)과, 상기 피연산자 연산 블록(201∼203)에서의 캐리(C0 i)(C1 i) 및 전단 캐리(Ci)를 논리 조합하여 상기 피연산자 연산 블록(202∼204)에 캐리(Ci)를 출력하는 캐리 선택부(205∼207)로 구성한다.The present invention relates to a carry-selective adder (CSA) circuit, and more particularly, by configuring a carry look-ahead generator included in one section adder to perform operations on carry '0' and '1'. It aims to simplify and improve the processing speed. The present invention operates the 4-bit operands A and B, respectively, so that the sum S 0 i (S 1 i ) and the carry C 0 i (C 0 i ) for each of the carry '0' and '1', respectively. 1 i ) and the operand calculation blocks 201 to 204 for selecting and outputting one sum by the front end carry C i , and the carry C 0 i (C 1 ) in the operand calculation blocks 201 to 203. i ) and front end carry (C i ) in logical combination to carry select units 205 to 207 which output carry C i to the operand calculation blocks 202-204.

Description

캐리-선택 덧셈기(CSA) 회로Carry-Selective Adder (CSA) Circuit

본 발명은 덧셈기에 관한 것으로 특히, 하드웨어의 크기를 줄이고 고속 동작이 가능하도록 한 캐리-선택 덧셈기(CSA) 회로에 관한 것이다.The present invention relates to an adder, and more particularly, to a carry-selective adder (CSA) circuit that reduces the size of hardware and enables high speed operation.

일반적인 캐리-선택 덧셈기(CSA ; Carry-Select Adder)는 캐리 입력이 '0'인 섹션 가산기와 캐리 입력이 '1'인 섹션(Section) 가산기를 2개 구비하여 각기 합값을 구하고 적합한 캐리로 해당 합값을 선택함으로써 리플-캐리 가산기(RCA)등 다른 구조의 가산기보다 고속 연산을 수행할 수 있다.A typical Carry-Select Adder (CSA) has two section adders with a carry input of '0' and two section adders with a carry input of '1' to obtain their sums, and the appropriate carry with the corresponding sum. By selecting, it is possible to perform a faster operation than adders of other structures such as ripple-carry adder (RCA).

도1 은 종래 기술의 캐리-선택 덧셈기 회로도로서 이에 도시된 바와 같이, 4비트의 피연산자(A[3..0],B[3..0])를 캐리 '0'과 '1' 각각에 대해 연산하여 각각의 합 및 캐리를 구하고 전단 캐리(C-1)에 의해 하나의 합(S3,S2,S1,S0)을 선택하는 피연산자 연산 블록(101)과, 4비트의 피연산자(A[7..4],B[7..4])를 캐리 '0'과 '1' 각각에 대해 연산하여 각각의 합 및 캐리를 구하고 이전 캐리(C3)에 의해 하나의 합(S7,S6, S5,S4)을 선택하는 피연산자 연산 블록(102)과, 상기 피연산자 연산 블록(101)에서의 캐리(C0 3)(C1 3)와 전단 캐리(C-1)을 입력으로 상기 캐리(C1 3)(C-1)를 앤드 게이트(AN1)에서 논리곱하여 상기 캐리(C 03)와 오아 게이트(OR1)에서 논리합함에 의해 상기 피연산자 연산 블록(102)에 캐리(C3)를 출력하는 캐리 선택부(105)와, 4비트의 피연산자(A[11..8],B[11..8])를 캐리 '0'과 '1' 각각에 대해 연산하여 각각의 합 및 캐리를 구하고 이전 캐리(C7)에 의해 하나의 합(S11,S10,S9,S8)을 선택하는 피연산자 연산 블록(103)과, 상기 피연산자 연산 블록(101)(102)에서의 캐리(C0 3,C1 3) (C0 7,C1 7)와 전단 캐리(C-1)를 입력으로 상기 캐리(C0 3,C1 7)(C-1,C1 3,C1 7)를 앤드 게이트(AN2)(AN3)에서 각기 논리곱하여 상기 캐리(C0 7)와 오아 게이트(OR2)에서 논리합함에 의해 캐리(C7)를 상기 피연산자 연산 블록(103)에 출력하는 캐리 선택부(106)와,1 is a prior art carry-select adder circuit diagram, in which four-bit operands A [3..0], B [3..0] are assigned to carry '0' and '1', respectively, as shown therein. For each sum and carry, and the shear carry (C-OneCarry an operand arithmetic block 101 which selects one sum S3, S2, S1, S0 and a 4-bit operand A [7..4], B [7..4] by Operate on each of 0 'and' 1 'to find the sum and carry of each, and3An operand calculation block 102 that selects one sum S7, S6, S5, S4 by < RTI ID = 0.0 >), < / RTI >0 3) (COne 3) And shear carry (C-OneInput the carry (C)One 3) (C-One) Is ANDed at AND gate AN1 to carry the carry C 03) And carry (C) to the operand arithmetic block 102 by ORing at OR gate OR1.3) And a 4-bit operand (A [11..8], B [11..8]) for the carry '0' and '1', respectively. And carry the previous carry (C7An operand calculation block 103 that selects one sum S11, S10, S9, S8 by < RTI ID = 0.0 >), < / RTI >0 3, COne 3) (C0 7, COne 7) And shear carry (C-OneInput the carry (C)0 3, COne 7) (C-One, COne 3, COne 7) Are ANDed at AND gate (AN2) (AN3) to carry the C0 7) By carry-on at OR gate OR27A carry selector 106 for outputting a) to the operand calculation block 103;

4비트의 피연산자(A[15..12],B[15..12])를 캐리 '0'과 '1' 각각에 대해 연산하여 각각의 합 및 캐리를 구하고 이전 캐리(C11)에 의해 하나의 합(S15,S14,S13,S12)을 선택하는 피연산자 연산 블록(104)과, 상기 피연산자 연산 블록(101)(102)(103)에서의 캐리(C0 3,C1 3)(C0 7,C1 7)(C0 11,C1 11)와 전단 캐리(C-1)를 입력으로 상기 캐리(C0 7, C1 11)(C0 3,C1 7,C1 11)(C-1,C1 3,C1 7,C1 11)를 앤드 게이트(AN4)(AN5)(AN6)에서 각기 논리곱하여 상기 캐리(C0 11)와 오아 게이트(OR3)에서 논리합함에 의해 캐리(C11)를 상기 피연산자 연산 블록(104)에 출력하는 캐리 선택부(107)로 구성된다.Operate four bit operands (A [15..12], B [15..12]) for each of carry '0' and '1' to find their sum and carry, and use the previous carry (C 11 ) Operand operation block 104 for selecting one sum (S15, S14, S13, S12) and carry (C 0 3 , C 1 3 ) (C 0 ) in the operand operation blocks 101, 102, 103 0 7 , C 1 7 ) (C 0 11 , C 1 11 ) and shear carry (C- 1 ) as inputs to carry (C 0 7 , C 1 11 ) (C 0 3 , C 1 7 , C 1 11 ) (C -1 , C 1 3 , C 1 7 , C 1 11 ) are ANDed at AND gate (AN4), (AN5) and (AN6), respectively, to logical OR at the carry (C 0 11 ) and OR gate (OR3). By the carry selector 107 which outputs the carry C 11 to the operand calculation block 104.

상기 피연산자 연산 블록(101)은 4비트의 피연산자(A[3..0],B[3..0])를 캐리 '0'에 대해 연산하여 합과 캐리(C0 3)를 생성하는 4비트 섹션 가산기(111)와, 4비트의 피연산자(A[3..0],B[3..0])를 캐리 '1'에 대해 각기 연산하여 합과 캐리(C1 3)를 생성하는 4비트 섹션 가산기(112)와, 이전 캐리(C-1)에 의해 상기 섹션 가산기(111)(112)의 합중 하나를 선택하는 멀티플렉서(113)으로 구성된다.The operand arithmetic block 101 calculates a sum and a carry C 0 3 by operating four-bit operands A [3..0] and B [3..0] on a carry '0'. The bit section adder 111 and the 4-bit operands A [3..0] and B [3..0] are respectively operated on the carry '1' to generate a sum and a carry C 1 3 . It consists of a four bit section adder 112 and a multiplexer 113 which selects one of the sum of the section adders 111 and 112 by the previous carry C- 1 .

상기 피연산자 연산 블록(102∼104)은 각각의 4비트의 피연산자(A[7..4],B[7..4]) (A[11..8],B[11..8])(A[15..12],B[15..12])에 대해 합을 구하도록 피연산자 연산 블록(101)과 동일하게 2개의 섹션 가산기 및 멀티플렉서로 각기 구성된다.The operand arithmetic blocks 102 to 104 each have four bits of operands A [7..4], B [7..4] (A [11..8], B [11..8]) It is composed of two section adders and multiplexers, respectively, similarly to the operand arithmetic block 101 to sum up (A [15..12], B [15..12]).

상기 각 피연산자 연산 블록(110∼140)에 구비된 섹션 가산기는 도2 및 도3 의 회로도에 도시된 바와 같이, 4개의 전가산기를 병렬 접속하여 구성하게 되며, 도3 의 회로도는 도2 의 캐리 룩-어헤드(Carry Look -ahead) 생성기의 회로도이다.As shown in the circuit diagrams of FIGS. 2 and 3, the section adders provided in the operand calculation blocks 110 to 140 are configured by connecting four full adders in parallel, and the circuit diagram of FIG. This is a schematic of a look-ahead generator.

이러한 종래 기술의 동작 과정을 설명하면 다음과 같다.Referring to the operation process of the prior art as follows.

16비트의 피연산자(A[15..0])(B[15..0])가 입력되면 피연산자 연산 블록(101∼104)은 각기 4비트씩의 피연산자(A)(B)를 입력으로 캐리 '0'과 '1'에 대한 각각의 합(S)과 캐리(C)를 구하는데, 피연산자 연산 블록(101)을 예를 들어 설명하면 다음과 같다.If 16-bit operands A [15..0] (B [15..0]) are input, the operand calculation blocks 101 to 104 carry 4 bits of operands A and B as inputs. Each sum (S) and carry (C) of '0' and '1' are obtained. The operand calculation block 101 is described as an example.

상기 피연산자 연산 블록(101)은 4비트의 피연산자(A[3..0])(B[3..0])를 입력으로 하는 2개의 섹션(section) 가산기(111) (112)가 캐리 '0'과 '1'에 대한 각각의 합 및 캐리(C0 3)(C1 3)를 구하는데, 상기 4비트의 섹션 가산기(111)(112)는 도2 및 도3 의 회로도와 같이 구성된다.The operand arithmetic block 101 has two section adders 111 and 112 that accept four-bit operands A [3..0] and B [3..0] as inputs. Each sum and carry (C 0 3 ) (C 1 3 ) for 0 'and' 1 'is obtained, and the 4-bit section adders 111 and 112 are constructed as shown in the circuit diagrams of Figs. do.

여기서, 전가산기는 도4 의 회로도에 도시된 바와 같이, 제1 반가산기(121)에서 1비트의 피연산자(Ai)(Bi)를 입력으로 논리 조합하여 캐리 전송 신호(Pi) 및 캐리 생성 신호(Gi)를 구하고 제2 반가산기(122)에서 상기 캐리 전송 신호(Pi)와 이전 캐리를 입력으로 합 및 캐리 전송 신호(Gi')를 구하며 오아 게이트(123)에서 상기 캐리 생성 신호(Gi)(Gi')를 논리합하여 캐리(Ci)를 구하는 동작을 수행한다.Here, as shown in the circuit diagram of FIG. 4, the full adder logically combines one-bit operand Ai (Bi) as an input in the first half adder 121 to carry the carry transmission signal Pi and the carry generation signal Gi. ) And a sum and carry transmission signal Gi 'as inputs of the carry transmission signal Pi and the previous carry in the second half adder 122, and the carry generation signal Gi and Gi' in the ora gate 123. ) Is performed to obtain a carry Ci.

따라서, 상기 동작의 전가산기를 병렬로 4개 접속하여 4비트의 피연산자(A) (B)에 대한 연산 동작을 수행하도록 확장하면 도2 및 도3 의 회로도와 같은 섹션 가산기(111)(112)를 구성하게 된다.Therefore, when four full adders of the operation are connected in parallel and expanded to perform arithmetic operations on the 4-bit operands (A) and (B), section adders 111 and 112 as shown in the circuit diagrams of Figs. Will be configured.

그리고, 4비트 피연산자(A,B)를 각기 입력으로 하는 피연산자 연산 블록(102∼104)도 캐리 '0'와 '1'에 대한 합(S)과 캐리(C)를 각기 구하게 된다.The operand arithmetic blocks 102 to 104, which use the 4-bit operands A and B, respectively, also find the sum S and the carry C for the carry '0' and '1', respectively.

이때, 캐리 선택부(105∼107)는 전단의 피연산자 연산 블록에서 구한 캐리를 입력으로 피연산자 연산 블록(102∼104)에서의 캐리 '0'과 '1'에 대한 합값중 하나를 선택하기 위한 캐리(C3)(C7) (C11)를 구하여 피연산자 연산 블록(102∼104)에 각기 출력하게 된다.At this time, the carry selectors 105 to 107 use a carry obtained from the operand calculation block of the previous stage as an input to select one of the sum values of carry '0' and '1' in the operand calculation blocks 102 to 104. (C 3 ) (C 7 ) and (C 11 ) are obtained and output to the operand calculation blocks 102 to 104, respectively.

이에 따라, 피연산자 연산 블록(101)에서는 멀티플렉서(113)가 이전 캐리(C-1)에 의해 섹션 가산기(111)(112)에서 구한 합값중 하나를 선택하여 해당 합값(S3,S2,S1, S0)를 출력하게 된다.Accordingly, in the operand arithmetic block 101, the multiplexer 113 selects one of the sum values obtained from the section adders 111 and 112 by the previous carry C- 1 and the corresponding sum values S3, S2, S1, and S0. ) Will be printed.

동시에 피연산자 연산 블록(102∼104)은 피연산자 연산 블록(101)과 동일한 동작을 수행하여 캐리 선택부(105∼107)에서의 캐리(C3)(C7) (C11)에 의해 캐리 '0'와 '1'에 대한 합값중 하나를 선택 출력하게 된다.At the same time, the operand arithmetic blocks 102 to 104 perform the same operation as the operand arithmetic block 101 and carry '0' by carry C 3 (C 7 ) (C 11 ) in the carry selector 105 to 107. One of the sum values for 'and' 1 'is outputted.

상기와 같은 16비트 캐리-선택 덧셈기의 총 지연 시간은 섹션 가산기의 지연 시간, 캐리 선택부의 지연 시간 및 멀티플렉서의 지연 시간의 합이다.The total delay time of the 16-bit carry-select adder is the sum of the delay time of the section adder, the delay time of the carry selector, and the delay time of the multiplexer.

그러나, 이러한 종래의 기술은 리플-캐리 덧셈기보다는 처리 속도가 빠르지만 하드웨어의 면적이 커지는 단점이 있다.However, this conventional technique is faster than the ripple-carry adder, but has the disadvantage of increasing the area of hardware.

따라서, 본 발명은 종래의 문제점을 개선하기 위하여 하나의 섹션 가산기에 포함된 캐리 룩-어헤드 생성기를 캐리 '0'와 '1'에 대한 연산을 모두 수행하도록 구성함으로써 하드웨어 구성의 단순화 및 처리 속도를 향상시킬 수 있도록 창한한 캐리-선택 덧셈기(CSA) 회로를 제공함에 목적이 있다.Accordingly, the present invention simplifies the hardware configuration and processing speed by configuring the carry look-ahead generator included in one section adder to perform operations on carry '0' and '1' to improve the conventional problem. It is an object of the present invention to provide a clever carry-selective adder (CSA) circuit to improve the performance of the circuit.

도 1은 종래의 캐리-선택 덧셈기 회로의 블록도.1 is a block diagram of a conventional carry-select adder circuit.

도 2는 도 1에서 섹션 가산기의 회로도.2 is a circuit diagram of the section adder in FIG.

도 3은 도 2에서 캐리 룩-어헤드 생성기의 회로도.3 is a circuit diagram of a carry look-ahead generator in FIG.

도 4는 일반적인 전가산기의 회로도.4 is a circuit diagram of a general full adder.

도 5는 본 발명에 따른 캐리-선택 덧셈기(CSA) 회로의 블록도.5 is a block diagram of a carry-select adder (CSA) circuit in accordance with the present invention.

도 6은 도 5에서 섹션 가산기의 회로도.6 is a circuit diagram of the section adder in FIG.

도 7은 도 6에서 캐리 룩-어헤드 생성기의 회로도.7 is a circuit diagram of a carry look-ahead generator in FIG.

* 도면의 주요부분에 대한 부호 설명 *Explanation of symbols on the main parts of the drawings

201∼204 : 피연산자 연산 블록205∼207 : 캐리 선택부201 to 204: operand calculation block 205 to 207: carry selector

211 : 섹션 가산기212 : 멀티플렉서211: section adder 212: multiplexer

본 발명은 상기의 목적을 달성하기 위하여 피연산자(A[3..0],B[3..0])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합(S0 3..0)(S1 3..0) 및 캐리(C0 3)(C1 3)를 구하고 전단 캐리(C-1)에 의해 하나의 합을 선택 출력하는 제1 피연산자 연산 블록과, 피연산자(A[7..4],B[7..4])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합값(S0 7..4)(S1 7..4) 및 캐리(C0 7) (C1 7)를 구하고 이전 캐리(C3)에 의해 하나의 합을 선택하는 제2 피연산자 연산 블록과, 피연산자(A[11..8],B[11..8])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합값(S0 11..8)(S1 11..8) 및 캐리(C0 11)(C1 11)를 구하고 이전 캐리(C7)에 의해 하나의 합을 선택하는 제3 피연산자 연산 블록과, 피연산자(A[15..12],B[15..12])를 캐리 '0'과 '1' 각각에 대해 연산하여 각각의 합값(S0 15..12)(S1 15..12) 및 캐리(C0 15)(C1 15) 및 캐리를 구하고 이전 캐리(C11)에 의해 하나의 합을 선택하는 제4 피연산자 연산 블록과, 상기 제1 피연산자 연산 블록에서의 캐리(C0 3)(C1 3)와 전단 캐리(C-1)을 논리 조합하여 상기 제2 피연산자 연산 블록에 캐리(C3)를 출력하는 제1 캐리 선택부와, 상기 제1,제2 피연산자 연산 블록에서의 캐리(C0 3,C1 3) (C0 7,C1 7)와 전단 캐리(C-1)를 논리 조합하여 캐리(C7)를 상기 제3 피연산자 연산 블록에 출력하는 제2 캐리 선택부와, 상기 제1∼제3 피연산자 연산 블록에서의 캐리(C0 3,C1 3)(C0 7,C1 7)(C0 11,C1 11)와 전단 캐리(C-1)를 논리 조합하여 캐리(C11)를 상기 제4 피연산자 연산 블록에 출력하는 제3 캐리 선택부로 구성한다.In order to achieve the above object, the present invention computes the operands A [3..0], B [3..0] to each of the sums S 0 . .0 ) (S 1 3..0 ) and carry (C 0 3 ) (C 1 3 ) and the first operand operation block that selects and outputs a sum by the front carry (C -1 ), and the operand ( Computes A [7..4], B [7..4]) to calculate the respective sums (S 0 7..4 ) (S 1 7..4 ) and A second operand operation block that obtains a carry (C 0 7 ) (C 1 7 ) and selects one sum by the previous carry (C 3 ), and the operands A [11..8], B [11..8 ]) To calculate the respective sums (S 0 11..8 ) (S 1 11..8 ) and carry (C 0 11 ) (C 1 11 ) for each of carry '0' and '1' The third operand calculation block that selects one sum by carry C 7 and the operands A [15..12] and B [15..12] for carry '0' and '1' respectively. operation by each hapgap (S 0 15..12) (S 1 15..12) and a carry (C 0 15) (C 1 15) and Fourth computing block operand to obtain a re-select one or the sum of by the previous carry (C 11) and said first carry in operand calculation blocks (C 0 3) (C 1 3) and a front end the carry (C -1 ) And a first carry selector for outputting a carry (C 3 ) to the second operand calculation block by performing a logical combination, and carry (C 0 3 , C 1 3 ) (C in the first and second operand calculation blocks. A second carry selector for logically combining 0 7 , C 1 7 ) and the front end carry C- 1 to output the carry C 7 to the third operand calculation block, and the first to third operand calculation blocks. (C 0 3 , C 1 3 ) (C 0 7 , C 1 7 ) (C 0 11 , C 1 11 ) and shear carry (C -1 ) in the logical combination of carry (C 11 ) The third carry selection section outputs the four operand calculation blocks.

이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the drawings.

도5 는 본 발명의 실시예를 보인 블록도로서 이에 도시한 바와 같이, 4비트의 피연산자(A[3..0],B[3..0])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합(S0 3..0) (S1 3..0) 및 캐리(C0 3)(C1 3)를 구하고 전단 캐리(C-1)에 의해 하나의 합(S3,S2,S1,S0)을 선택 출력하는 피연산자 연산 블록(201)과, 4비트의 피연산자(A[7..4],B[7..4])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합값(S0 7..4)(S1 7..4) 및 캐리(C0 7) (C1 7)를 구하고 이전 캐리(C3)에 의해 하나의 합(S7,S6, S5,S4)을 선택하는 피연산자 연산 블록(202)과, 상기 피연산자 연산 블록(201)에서의 캐리(C0 3)(C1 3)와 전단 캐리(C-1)을 입력으로 상기 캐리(C1 3)(C-1)를 앤드 게이트(AN1)에서 논리곱하여 상기 캐리(C0 3)와 오아 게이트(OR1)에서 논리합함에 의해 상기 피연산자 연산 블록(202)에 캐리(C3)를 출력하는 캐리 선택부(205)와, 4비트의 피연산자(A[11..8],B[11..8])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합값(S0 11..8)(S1 11..8) 및 캐리(C0 11)(C1 11)를 구하고 이전 캐리(C7)에 의해 하나의 합(S11,S10,S9,S8)을 선택하는 피연산자 연산 블록(203)과, 상기 피연산자 연산 블록(201)(202)에서의 캐리(C0 3,C1 3) (C0 7,C1 7)와 전단 캐리(C-1)를 입력으로 상기 캐리(C0 3,C1 7)(C-1,C1 3,C1 7)를 앤드 게이트(AN2) (AN3)에서 각기 논리곱하여 상기 캐리(C0 7)와 오아 게이트(OR2)에서 논리합함에 의해 캐리(C7)를 상기 피연산자 연산 블록(203)에 출력하는 캐리 선택부(206)와, 4비트의 피연산자(A[15..12],B[15..12])를 캐리 '0'과 '1' 각각에 대해 연산하여 각각의 합값(S0 15..12)(S1 15..12) 및 캐리(C0 15)(C1 15) 및 캐리를 구하고 이전 캐리(C11)에 의해 하나의 합(S15,S14,S13,S12)을 선택하는 피연산자 연산 블록(204)과, 상기 피연산자 연산 블록(201)(202)(203)에서의 캐리(C0 3,C1 3)(C0 7,C1 7)(C0 11,C1 11)와 전단 캐리(C-1)를 입력으로 상기 캐리(C0 7, C1 11)(C0 3,C1 7,C1 11)(C-1,C1 3,C1 7,C1 11)를 앤드 게이트(AN4)(AN5)(AN6)에서 각기 논리곱하여 상기 캐리(C0 11)와 오아 게이트(OR3)에서 논리합함에 의해 캐리(C11)를 상기 피연산자 연산 블록(204)에 출력하는 캐리 선택부(207)로 구성된다.FIG. 5 is a block diagram showing an embodiment of the present invention, as shown in FIG. 5, in which four-bit operands A [3..0] and B [3..0] are calculated to carry '0' and '1. ' Find each sum (S 0 3..0 ) (S 1 3..0 ) and carry (C 0 3 ) (C 1 3 ) for each and add one sum by shear carry (C -1 ) Operate operation block 201 that selectively outputs S3, S2, S1, S0, and 4-bit operands A [7..4], B [7..4] to carry carry '0' and ' 1 'each hapgap (S 0 7..4) (S 1 7..4) and a carry (C 0 7) by a sum of the seek (C 1 7) prior to the carry (C 3) for each ( Operand arithmetic block 202 to select S7, S6, S5, S4, and carry C 0 3 (C 1 3 ) and shear carry C -1 in the operand arithmetic block 201 as inputs the carry (C 1 3) (C -1), the aND gate the carry (C in 3 (AN1), the logical carry (C 0 3) and Iowa-OR gates the operand operation block 202 by as in (OR1) multiplied in Carry) The selector 205 and the four-bit operands A [11..8] and B [11..8] are calculated to respectively carry the sum values S 0 11 for the carry '0' and '1' . .8 ) Operand operation to find (S 1 11..8 ) and carry (C 0 11 ) (C 1 11 ) and select one sum (S11, S10, S9, S8) by previous carry (C 7 ) The carry as a block 203 and the carry (C 0 3 , C 1 3 ) (C 0 7 , C 1 7 ) and the shear carry (C −1 ) in the operand arithmetic block 201, 202. (C 0 3 , C 1 7 ) (C -1 , C 1 3 , C 1 7 ) are respectively ANDed at AND gate (AN2) (AN3) and are ORed at carry (C 0 7 ) and OR gate (OR2). The carry selector 206 for outputting the carry C 7 to the operand arithmetic block 203 and the four-bit operands A [15..12] and B [15..12]. Calculate for each of '0' and '1' to find the respective sum (S 0 15..12 ) (S 1 15..12 ) and carry (C 0 15 ) (C 1 15 ) and carry and carry the previous carry (C 11 ) Operand to select one sum (S15, S14, S13, S12) by Carrier (C 0 3 , C 1 3 ) (C 0 7 , C 1 7 ) (C 0 7 , C 1 11 ) in the arithmetic operation block 204 and the operand arithmetic blocks 201, 202, 203. ) And shear carry (C- 1 ) as the input carry (C 0 7 , C 1 11 ) (C 0 3 , C 1 7 , C 1 11 ) (C -1 , C 1 3 , C 1 7 , C 1 11 ) is logically ANDed at AND gates AN4, AN5 and AN6, and is ORed at carry C 0 11 and OR gate OR3 to carry carry C 11 to the operand calculation block 204. It is comprised by the carry selection part 207 to output.

상기 피연산자 연산 블록(201)은 피연산자(A[3..0])(B[3..0])를 연산하여 캐리 '0'과 '1'에 대한 합값(S0)(S1) 및 캐리(C0 3)(C1 3)를 구하는 섹션 가산기(211)와, 이전 캐리(C-1)에 의해 상기 센션 가산기(211)의 합값(S0)(S1)중 하나를 선택하여 합값(S3,S2,S1,S0)을 출력하는 멀티플렉서(212)로 구성한다.The operand calculation block 201 calculates the operands A [3..0] (B [3..0]) and sums S 0 (S 0 ) and S 1 for the carry '0' and '1' and A section adder 211 for obtaining a carry C 0 3 (C 1 3 ) and a sum value S 0 (S 1 ) of the sense adder 211 are selected by a previous carry C −1 . The multiplexer 212 outputs the sum values S3, S2, S1, and S0.

상기 피연산자 연산 블록(202∼204)은 각각의 4비트의 피연산자(A[7..4],B[7..4]) (A[11..8],B[11..8])(A[15..12],B[15..12])에 대한 연산을 수행하도록 피연산자 연산 블록(201)과 동일하게 하나의 섹션 가산기 및 멀티플렉서로 각기 구성한다.The operand calculation blocks 202 to 204 are operands of each of four bits A [7..4], B [7..4] (A [11..8], B [11..8]). Each section is configured with one section adder and multiplexer in the same manner as the operand arithmetic block 201 to perform operations for (A [15..12], B [15..12]).

상기 섹션 가산기(211)는 도6 의 회로도에 도시한 바와 같이, 피연산자(A[3..0]) (B[3..0])의 각 비트에 대하여 반가산 연산을 수행하여 캐리 전송 신호(P[3..0])와 캐리 생성 신호(G[3..0])를 출력하는 제1 가산 블록(221)과, 이 제1 가산 블록(221)의 출력 신호(P[3..0])(G[3..0])를 입력으로 연산하여 캐리(C0 3..0)(C1 3..0)를 생성하는 캐리 룩-어헤드 생성기(222)와, 이 캐리 룩-어헤드 생성기(222)의 출력 캐리(C0 2..0)(C1 2..0)와 상기 제1 가산 블록(221)의 캐리 전송 신호(P[3..0])을 각기 연산하여 캐리 '0'와 '1'에 대한 합값(S0 3..0)(S1 3..0)을 구하는 제2 가산 블록(223)으로 구성한다.The section adder 211 performs a semi-add operation on each bit of the operands A [3..0] and B [3..0], as shown in the circuit diagram of FIG. (P [3..0]) and the first addition block 221 which outputs the carry generation signal G [3..0], and the output signal P [3. A carry look- ahead generator 222 that generates carry (C 0 3..0 ) (C 1 3..0 ) by calculating .0]) (G [3..0]) as an input, and Output carry C 0 2..0 (C 1 2..0 ) of carry look- ahead generator 222 and carry transmission signal P [ 3..0 ] of the first addition block 221. Are computed respectively to form a second addition block 223 that calculates a sum value S 0 3..0 (S 1 3..0 ) for the carry '0' and '1'.

상기 제2 가산 블록(223)은 '1'에 대한 캐리(C1 2..0)의 각 비트와 캐리 전송 신호(P[3..1])의 각 비트를 각기 배타적 논리합하여 합(S1 3..1)을 구하는 배타적 오아게이트(231∼233)와, '0'에 대한 캐리(C0 2..0)의 각 비트와 캐리 전송 신호(P[3..1])의 각 비트를 각기 배타적 논리합하여 합(S0 3..1)을 구하는 배타적 오아게이트(234∼236)와, 캐리 '0'에 대한 합(S0 0)으로 출력되는 캐리 전송 신호(P0)를 반전하여 캐리 '1'에 대한 합(S1 0)으로 출력하는 인버터(237)로 구성한다.The second addition block 223 sums each of the bits of the carry C 1 2..0 for '1' and each of the bits of the carry transmission signal P [3..1] by exclusive OR. 1 .. 1 ) exclusive ogates 231 to 233, each bit of carry C 0 2..0 for '0' and each of carry transmission signal P [3..1] Inverts the exclusive OA gates 234 to 236 for calculating the sum S 0 3..1 by exclusively ORing the bits, and the carry transmission signal P0 output as the sum S 0 0 for the carry '0'. The inverter 237 outputs the sum S 1 0 for the carry '1'.

상기 캐리 룩-어헤드 생성기(222)는 도7 의 회로도에 도시한 바와 같이, 캐리 전송 신호(P0)와 '0'에 대한 캐리(C0 0)로 출력되는 캐리 생성 신호(G0)를 논리합하여 '1'에 대한 캐리(C1 0)를 출력하는 오아 게이트(241)와, 캐리 전송 신호(P1)와 상기 캐리 생성 신호(G0)를 논리곱하는 앤드 게이트(242)와, 캐리 전송 신호(P[1..0])를 논리곱하는 앤드 게이트(243)와, 캐리 생성 신호(G1)와 상기 앤드 게이트(242)의 출력 신호를 논리합하여 '0'에 대한 캐리(C0 1)를 출력하는 오아 게이트(244)와, 캐리 생성 신호(G1)와 상기 앤드 게이트(242)(243)의 출력 신호를 논리합하여 '1'에 대한 캐리(C1 1)를 출력하는 오아 게이트(245)와, 캐리 전송 신호(P2)와 상기 캐리 생성 신호(G1)를 논리곱하는 앤드 게이트(246)와, 캐리 생성 신호(G0)와 캐리 전송 신호(P[2..1])를 논리곱하는 앤드 게이트(247)와, 캐리 전송 신호(P[2..0])를 논리곱하는 앤드 게이트(248)와, 캐리 생성 신호(G2)와 상기 앤드 게이트(246)(247)의 출력 신호를 논리합하여 '0'에 대한 캐리(C0 2)를 출력하는 오아 게이트(249)와, 캐리 생성 신호(G2)와 상기 앤드 게이트(246∼248)의 출력 신호를 논리합하여 '1'에 대한 캐리(C1 2)를 출력하는 오아 게이트(250)와, 캐리 생성 신호(G2)와 캐리 전송 신호(P3)를 논리곱하는 앤드 게이트(251)와, 캐리 생성 신호(G1)와 캐리 전송 신호(P[3..2])를 논리곱하는 앤드 게이트(252)와, 캐리 생성 신호(G0)와 캐리 전송 신호(P[3..1])를 논리곱하는 앤드 게이트(253)와, 캐리 전송 신호(P[3..0])를 논리곱하는 앤드 게이트(254)와, 캐리 생성 신호(G3)와 상기 앤드 게이트(251∼253)의 출력 신호를 논리합하여 '0'에 대한 캐리(C0 3)를 출력하는 오아 게이트(255)와, 캐리 생성 신호(G3)와 상기 앤드 게이트(251∼254)의 출력 신호를 논리합하여 '1'에 대한 캐리(C1 3)를 출력하는 오아 게이트(256)로 구성한다.As shown in the circuit diagram of FIG. 7, the carry look-ahead generator 222 logically carries the carry transmission signal P0 and the carry generation signal G0 output as a carry C 0 0 for '0'. A OR gate 241 for outputting a carry C 1 0 for '1', an AND gate 242 for ANDing the carry transmission signal P1 and the carry generation signal G0, and a carry transmission signal ( An AND gate 243 that ANDs P [1..0]), a carry generation signal G1, and an output signal of the AND gate 242 are ORed to output a carry C 0 1 for '0'. An OR gate 244 for performing an OR operation on the OR gate 244, the carry generation signal G1, and the output signals of the AND gates 242, 243, and outputting a carry C 1 1 for '1'; , AND gate 246 for ANDing the carry transmission signal P2 and the carry generation signal G1, and AND gate for ANDing the carry generation signal G0 and the carry transmission signal P [2..1] 247) And AND gate 248 for performing an AND operation on the carry transmission signal P [2..0], and an output signal of the carry generation signal G2 and the AND gate 246 and 247 for an '0'. The OR gate 249 outputting the carry C 0 2 , the carry generation signal G2, and the output signal of the AND gates 246 to 248 are ORed to output the carry C 1 2 for '1'. OR gate 250, AND gate 251 to AND the carry generation signal G2 and carry transmission signal P3, and carry generation signal G1 and carry transmission signal P [3..2] AND gate 252 for ANDing AND, carry generation signal G0 and AND gate 253 for ANDing carry transmission signal P [3..1], and carry transmission signal P [3..0] ) AND gate 254 for ANDing the AND gate 254, and the carry generation signal G3 and the output signal of the AND gates 251 to 253, and outputting a carry C 0 3 for '0'. ), The carry generation signal G3 and the An OR gate 256 outputs a carry C 1 3 for '1' by ORing the output signals of the AND gates 251 to 254.

이와같이 구성한 본 발명의 실시예에 대한 동작 및 작용 효과를 설명하면 다음과 같다.Referring to the operation and effect of the embodiment of the present invention configured as described above are as follows.

16비트의 피연산자(A[15..0])(B[15..0])가 입력되면 피연산자 연산 블록(201∼204)은 각기 4비트씩의 피연산자(A)(B)를 입력으로 캐리 '0'과 '1'에 대한 각각의 합(S)과 캐리(C)를 구하는데, 피연산자 연산 블록(201)을 예를 들어 설명하면 다음과 같다.When 16-bit operands A [15..0] (B [15..0]) are input, the operand calculation blocks 201 to 204 carry 4 bits of operands A and B as inputs. Each sum (S) and carry (C) of '0' and '1' are obtained. The operand calculation block 201 is described as an example.

상기 피연산자 연산 블록(201)은 4비트의 피연산자(A[3..0])(B[3..0])를 입력으로 하는 섹션(section) 가산기(211)가 캐리 '0'과 '1'에 대한 각각의 합(S0 3..0)(S1 3..0) 및 캐리(C0 3)(C1 3)를 구하는데, 상기 4비트의 섹션 가산기(211)는 도6 및 도7 의 회로도와 같이 구성된다.The operand arithmetic block 201 is a section adder 211 which inputs 4-bit operands A [3..0] (B [3..0]) as a carry '0' and '1'. Each sum (S 0 3..0 ) (S 1 3..0 ) and carry (C 0 3 ) (C 1 3 ) for ', the 4-bit section adder 211 is shown in FIG. And the circuit diagram of FIG.

이러한 섹션 가산기(211)는 전가산기의 동작 원리로부터 캐리 생성 신호(Gi), 캐리 전송 신호(Pi) 및 출력 캐리(Ci=Gi+PiCi-1)를 생성하여 각각의 합(S0 3..0)(S1 3..0) 및 캐리(C0 3)(C1 3)를 구하는 것으로, 먼저 캐리 생성을 수식으로 설명하면 다음과 같다.The section adder 211 generates a carry generation signal Gi, a carry transmission signal Pi, and an output carry Ci from Gi = Gi + PiC i-1 from the principle of operation of the full adder, and adds the sum S 0 3. .0 ) (S 1 3..0 ) and the carry (C 0 3 ) (C 1 3 ) by calculating the carry generation as an equation as follows.

C0= G0+ P0C-1 C 0 = G 0 + P 0 C -1

C1= G1+ P1C0= G1+ P1(G0+ P0C-1)C 1 = G 1 + P 1 C 0 = G 1 + P 1 (G 0 + P 0 C -1 )

= G1+ P1G0+ P1P0C-1 = G 1 + P 1 G 0 + P 1 P 0 C -1

C2= G2+ P2C1= G2+ P2(G1+ P1G0+ P1P0C-1)C 2 = G 2 + P 2 C 1 = G 2 + P 2 (G 1 + P 1 G 0 + P 1 P 0 C -1 )

= G2+ P2G1+ P2P1G0+ P2P1P0C-1 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 C -1

C3= G3+ P3C2= G3+ P3(G2+ P2G1+ P2P1G0+ P2P1P0C-1)C 3 = G 3 + P 3 C 2 = G 3 + P 3 (G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 C -1 )

= G3+ P3G2+ P3P2G1+ P3P2P1G0+ P3P2P1P0C-1 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 + P 3 P 2 P 1 P 0 C -1

만일, 이전 캐리(C-1)가 '1'이라면 상기의 식은 아래와 같이 표시되어진다.If the previous carry C -1 is '1', the above expression is expressed as follows.

C1 0= G0+ P0 C 1 0 = G 0 + P 0

C1 1= G1+ P1G0+ P1P0 C 1 1 = G 1 + P 1 G 0 + P 1 P 0

C1 2= G2+ P2G1+ P2P1G0+ P2P1P0 C 1 2 = G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0

C1 3= G3+ P3G2+ P3P2G1+ P3P2P1G0+ P3P2P1P0 C 1 3 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0 + P 3 P 2 P 1 P 0

따라서, 최대 게이트 팬-인(fan-in)이 '5'에서 '4'로 감소하므로 좀더 빠른 동작이 가능하고 트랜지스터의 수도 감소하게 된다.Thus, the maximum gate fan-in is reduced from '5' to '4', which enables faster operation and reduces the number of transistors.

그리고, 이전 캐리(C-1)가 '0'이라면 상기 식은 아래와 같이 표시되어진다.And, if the previous carry (C -1 ) is '0', the above equation is expressed as follows.

C0 0= G0 C 0 0 = G 0

C0 1= G1+ P1G0 C 0 1 = G 1 + P 1 G 0

C0 2= G2+ P2G1+ P2P1G0 C 0 2 = G 2 + P 2 G 1 + P 2 P 1 G 0

C0 3= G3+ P3G2+ P3P2G1+ P3P2P1G0 C 0 3 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 G 0

상기에서 이전 캐리(C-1)의 값에 대한 수식을 살펴보면 '0'값인 경우 '1'값인 경우의 모든 게이트들을 공유할 수 있음을 알 수 있다.Looking at the equation for the value of the previous carry (C -1 ) it can be seen that all the gates of the value of '1' in the case of the '0' value can be shared.

따라서, 3개의 오아 게이트만을 추가하면 이전 캐리(C-1)가 '0'인 경우와 '1'인 경우에 대한 동작을 모두 수행할 수 있는 캐리 룩-어헤드 생성기(222)를 구현할 수 있다.Accordingly, when only three OA gates are added, the carry look-ahead generator 222 capable of performing operations for the case where the previous carry C -1 is '0' and '1' can be implemented. .

그리고, 캐리 '0'와 '1'에 대한 합값은 제1 연산 블록(221)의 캐리 전송 신호(P[3..0])와 캐리 룩-어헤드 생성기(222)로부터 생성되는 '0'와 '1'에 대한 각 캐리를 배타적 논리합 연산함에 의해 구할 수 있는데, 이를 아래와 같은 전가산기의 논리 연산식으로부터 설명하면 다음과 같다.The sum of the carry '0' and '1' is '0' generated from the carry transmission signal P [3..0] of the first operation block 221 and the carry look-ahead generator 222. And each carry for '1' can be obtained by an exclusive OR operation.

S = ABC-1 S = A B C -1

여기서, 피연산자(A,B)의 '3'에서 '1'비트에 대한 합값중 캐리 '0'에 대한 합값은 캐리 룩-어헤드 생성기(222)로부터의 캐리(C0 2..0)와 제1 가산 블록(221)의 캐리 전송 신호(P[3..1])을 배타적 논리합함에 의해 구할 수 있고 마찬가지로 캐리 '1'에 대한 합값은 캐리(C1 2..0)와 상기 캐리 전송 신호(P[3..1])의 배타적 논리합에 의해 구할 수 있으며 또한, 비트 '0'에 대한 합값은 캐리(C-1)가 '1'이라면 합(S)의 반전값으로 구할 수 있고 '0'라면 그 합값(S) 자체로 구하게 된다.Here, the sum value for carry '0' among the sum values for bits '1' in '3' of the operands A and B is equal to the carry (C 0 2..0 ) from the carry look- ahead generator 222. The carry transmission signal P [3..1] of the first adding block 221 can be obtained by an exclusive OR. Similarly, the sum value for the carry '1' is equal to the carry C 1 2..0 and the carry transmission. It can be obtained by the exclusive OR of the signal P [3..1], and the sum value for the bit '0' can be obtained as the inverse value of the sum S if the carry C -1 is '1'. If it is '0', the sum S is obtained.

따라서, 제2 가산 블록(223)은 6개의 배타적 오아게이트(231∼236)와 1개의 인버터(237)로 구성할 수 있다.Accordingly, the second addition block 223 may be composed of six exclusive oragates 231 to 236 and one inverter 237.

또한, 4비트 피연산자(A,B)를 각기 입력으로 하는 피연산자 연산 블록(202∼204)도 피연산자 연산 블록(201)과 동일한 동작을 수행하여 캐리 '0'와 '1'에 대한 합(S)과 캐리(C)를 각기 구하게 된다.In addition, the operand calculation blocks 202-204 which use the 4-bit operands A and B, respectively, perform the same operation as the operand calculation block 201, so that the sum S of the carry '0' and '1' is S. And carry (C), respectively.

이때, 캐리 선택부(205∼207)는 전단의 피연산자 연산 블록에서 구한 캐리를 입력으로 피연산자 연산 블록(202∼204)에서의 캐리 '0'과 '1'에 대한 합값중 하나를 선택하기 위한 캐리(C3)(C7) (C11)를 구하여 피연산자 연산 블록(202∼204)에 각기 출력하게 된다.At this time, the carry selectors 205 to 207 use a carry obtained from the operand calculation block of the previous stage as an input to select one of the sum values of carry '0' and '1' in the operand calculation blocks 202 to 204. (C 3 ) (C 7 ) (C 11 ) is obtained and output to the operand calculation blocks 202 to 204, respectively.

이에 따라, 피연산자 연산 블록(201)에서는 멀티플렉서(212)가 이전 캐리(C-1)에 의해 섹션 가산기(211)에서 구한 합값(S0)(S1)중 하나를 선택하여 해당 합값(S3,S2, S1,S0)를 출력하게 된다.Accordingly, in the operand calculation block 201, the multiplexer 212 selects one of the sum value S 0 (S 1 ) obtained by the section adder 211 by the previous carry C- 1 and selects the corresponding sum value S 3,. S2, S1, S0) are output.

동시에 피연산자 연산 블록(202∼204)은 피연산자 연산 블록(201)과 동일한 동작을 수행하여 캐리 선택부(205∼207)에서의 캐리(C3)(C7) (C11)에 의해 캐리 '0'와 '1'에 대한 합값중 하나를 선택 출력하게 된다.At the same time, the operand arithmetic blocks 202-204 perform the same operation as the operand arithmetic blocks 201 and carry '0' by carry C 3 (C 7 ) (C 11 ) in the carry selector 205-207. One of the sum values for 'and' 1 'is outputted.

상기에서 상세히 설명한 바와 같이 본 발명은 캐리 '0'과 '1'를 위한 합을 구하는 회로에서 캐리 룩-어헤드 생성기를 공유하도록 함으로써 하드웨어 구성을 단순화함은 물론 처리 속도를 향상시킬 수 있는 효과가 있다.As described in detail above, the present invention allows the carry look-ahead generator to be shared in a circuit for calculating sums for carry '0' and '1', thereby simplifying hardware configuration and improving processing speed. have.

Claims (4)

피연산자(A[3..0],B[3..0])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합(S0 3..0)(S1 3..0) 및 캐리(C0 3)(C1 3)를 구하고 전단 캐리(C-1)에 의해 하나의 합을 선택 출력하는 제1 피연산자 연산 블록과, 피연산자(A[7..4],B[7..4])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합값(S0 7..4)(S1 7..4) 및 캐리(C0 7) (C1 7)를 구하고 이전 캐리(C3)에 의해 하나의 합을 선택하는 제2 피연산자 연산 블록과, 피연산자(A[11..8],B[11..8])를 연산하여 캐리 '0'과 '1' 각각에 대한 각각의 합값(S0 11..8)(S1 11..8) 및 캐리(C0 11)(C1 11)를 구하고 이전 캐리(C7)에 의해 하나의 합을 선택하는 제3 피연산자 연산 블록과, 피연산자(A[15..12],B[15..12])를 캐리 '0'과 '1' 각각에 대해 연산하여 각각의 합값(S0 15..12)(S1 15..12) 및 캐리(C0 15)(C1 15) 및 캐리를 구하고 이전 캐리(C11)에 의해 하나의 합을 선택하는 제4 피연산자 연산 블록과, 상기 제1 피연산자 연산 블록에서의 캐리(C0 3)(C1 3)와 전단 캐리(C-1)을 논리 조합하여 상기 제2 피연산자 연산 블록에 캐리(C3)를 출력하는 제1 캐리 선택부와, 상기 제1,제2 피연산자 연산 블록에서의 캐리(C0 3,C1 3) (C0 7,C1 7)와 전단 캐리(C-1)를 논리 조합하여 캐리(C7)를 상기 제3 피연산자 연산 블록에 출력하는 제2 캐리 선택부와, 상기 제1∼제3 피연산자 연산 블록에서의 캐리(C0 3,C1 3)(C0 7,C1 7)(C0 11,C1 11)와 전단 캐리(C-1)를 논리 조합하여 캐리(C11)를 상기 제4 피연산자 연산 블록에 출력하는 제3 캐리 선택부로 구성한 것을 특징으로 하는 캐리-선택 덧셈기(CSA) 회로.Operands A [3..0], B [3..0] to calculate the respective sum (S 0 3..0 ) for each of carry '0' and '1' (S 1 3..0) ) And a first operand calculation block for obtaining a carry (C 0 3 ) (C 1 3 ) and selectively outputting one sum by a front end carry (C- 1 ), and the operands A [7..4], B [ 7..4]) to calculate the respective sum (S 0 7..4 ) (S 1 7..4 ) and carry (C 0 7 ) (C 1 7 ) for each of carry '0' and '1', respectively. ) And a second operand operation block that selects one sum by the previous carry (C 3 ), and the operands A [11..8], B [11..8], and carry '0' and Find each sum (S 0 11..8 ) (S 1 11..8 ) and carry (C 0 11 ) (C 1 11 ) for each '1' and add one sum by the previous carry (C 7 ) The third operand calculation block that selects and the operands A [15..12] and B [15..12] are calculated for each of the carry '0' and '1' and the respective sum values S 0 15. 12) (S 1 one by 15..12) and a carry (C 0 15) (C 1 to obtain a 15) and carry the previous carry (C 11) Fourth operand calculation blocks for selecting a sum and said first carry in operand calculation blocks (C 0 3) (C 1 3) and a front end the carry (C -1) and the logic combination of the second operand arithmetic block carry A first carry selector for outputting (C 3 ), carry (C 0 3 , C 1 3 ) (C 0 7 , C 1 7 ) and shear carry (C ) in the first and second operand calculation blocks; A second carry selector for logically combining 1 ) and outputting a carry C 7 to the third operand calculation block, and carry (C 0 3 , C 1 3 ) (in the first to third operand calculation blocks) ( C 0 7 , C 1 7 ) (C 0 11 , C 1 11 ) and a front carry (C- 1 ), which is configured by a third carry selector for outputting the carry (C 11 ) to the fourth operand calculation block. And a carry-selective adder (CSA) circuit. 제1항에 있어서, 제1∼제4 피연산자 연산 블록은 피연산자(A)(B)를 연산하여 캐리 '0'과 '1'에 대한 합값(S0)(S1) 및 캐리(C0)(C1)를 구하는 섹션 가산기와, 이전 캐리(Ci)에 의해 상기 센션 가산기의 합값(S0)(S1)중 하나를 선택하여 출력하는 멀티플렉서로 각기 구성한 것을 특징으로 하는 캐리-선택 덧셈기(CSA) 회로.The operation block of claim 1, wherein the first to fourth operand calculation blocks operate on the operands A and B, and the sum S 0 (S 1 ) and the carry C 0 for the carry '0' and '1'. A carry-selective adder comprising a section adder for obtaining (C 1 ) and a multiplexer for selecting and outputting one of the sum values (S 0 ) (S 1 ) of the sense adder by a previous carry (C i ). (CSA) circuit. 제2항에 있어서, 섹션 가산기는 피연산자(A)(B)의 각 비트에 대하여 반가산 연산을 수행하여 캐리 전송 신호(P[3..0])와 캐리 생성 신호(G[3..0])를 출력하는 제1 가산 블록과, 이 제1 가산 블록의 출력 신호(P[3..0])(G[3..0])를 논리 연산하여 캐리(C0 3..0)(C1 3..0)를 생성하는 캐리 룩-어헤드 생성기와, 이 캐리 룩-어헤드 생성기의 출력 캐리(C0 2..0)(C1 2..0)와 상기 제1 가산 블록의 캐리 전송 신호(P[3..0])을 각기 연산하여 캐리 '0'와 '1'에 대한 합값(S0)(S1)을 구하는 제2 가산 블록으로 구성한 것을 특징으로 하는 캐리-선택 덧셈기(CSA) 회로.3. The section adder of claim 2, wherein the section adder performs a half addition operation on each bit of the operands (A) and (B) to carry the carry transmission signal P [3..0] and the carry generation signal G [3..0]. ]) And a logic operation on the output signal P [3..0] (G [3..0]) of the first addition block and carry (C 0 3..0 ). , and a carry look-ahead generator - - (C 1 3..0) for generating an output carry look-ahead carry-in generator (C 0 2..0) (C 1 2..0) of the first adder A carry comprising a second addition block which calculates a sum value S 0 (S 1 ) for carry '0' and '1' by calculating the carry transmission signal P [3..0] of the block, respectively Selective Adder (CSA) circuit. 제3항에 있어서, 제2 가산 블록은 '1'에 대한 캐리(C1 2..0)의 각 비트와 캐리 전송 신호(P[3..1])의 각 비트를 각기 배타적 논리합하여 합(S1 3..1)을 구하는 제1∼제3 배타적 오아게이트와, '0'에 대한 캐리(C0 2..0)의 각 비트와 캐리 전송 신호(P[3..1])의 각 비트를 각기 배타적 논리합하여 합(S0 3..1)을 구하는 제4∼제6 배타적 오아게이트와, 캐리 '0'에 대한 합(S0 0)으로 출력되는 캐리 전송 신호(P0)를 반전하여 캐리 '1'에 대한 합(S1 0)으로 출력하는 인버터로 구성한 것을 특징으로 하는 캐리-선택 덧셈기(CSA) 회로.4. The second addition block of claim 3, wherein the second addition block sums each bit of the carry (C 1 2..0 ) for '1' and each bit of the carry transmission signal (P [3..1]) by exclusive OR. The first to third exclusive ogates to obtain (S 1 3..1 ), each bit of the carry (C 0 2..0 ) for '0' and the carry transmission signal P [3..1] The carry transmission signal P0 output as a sum (S 0 0 ) for the fourth through sixth exclusive oragates , each of which is summed exclusively with each bit of S 0 to obtain a sum (S 0 3..1 ) and a carry '0'. A carry-selective adder (CSA) circuit, comprising: an inverter configured to invert and output as a sum S 1 0 for a carry '1'.
KR1019970009438A 1997-03-20 1997-03-20 Carry-Selective Adder (CSA) Circuit KR19980073858A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970009438A KR19980073858A (en) 1997-03-20 1997-03-20 Carry-Selective Adder (CSA) Circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970009438A KR19980073858A (en) 1997-03-20 1997-03-20 Carry-Selective Adder (CSA) Circuit

Publications (1)

Publication Number Publication Date
KR19980073858A true KR19980073858A (en) 1998-11-05

Family

ID=65951235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970009438A KR19980073858A (en) 1997-03-20 1997-03-20 Carry-Selective Adder (CSA) Circuit

Country Status (1)

Country Link
KR (1) KR19980073858A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866787B1 (en) * 2002-01-16 2008-11-04 삼성전자주식회사 A carry generator based on XOR and an conditional select adder using the carry generator, and a method therefor
KR20230017700A (en) * 2021-07-28 2023-02-06 포항공과대학교 산학협력단 Ternary multiplier

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866787B1 (en) * 2002-01-16 2008-11-04 삼성전자주식회사 A carry generator based on XOR and an conditional select adder using the carry generator, and a method therefor
KR20230017700A (en) * 2021-07-28 2023-02-06 포항공과대학교 산학협력단 Ternary multiplier

Similar Documents

Publication Publication Date Title
EP0657804B1 (en) Overflow control for arithmetic operations
US5327369A (en) Digital adder and method for adding 64-bit, 16-bit and 8-bit words
US6411980B2 (en) Data split parallel shifter and parallel adder/subtractor
US5892698A (en) 2's complement floating-point multiply accumulate unit
EP0478745A1 (en) High performance interlock collapsing scism alu apparatus
KR19980041753A (en) An adder for processing a plurality of data having different data types
US8429213B2 (en) Method of forcing 1's and inverting sum in an adder without incurring timing delay
Tan et al. Multiple-precision fixed-point vector multiply-accumulator using shared segmentation
US5726926A (en) Shifter for shifting floating point number utilizing arithmetic operation of redundant binary number, and adder containing the same
US5007010A (en) Fast BCD/binary adder
US5027311A (en) Carry select multiplexer
KR100627993B1 (en) Three input split-adder
US5235539A (en) Method and apparatus for generating carry out signals
JP3356613B2 (en) Addition method and adder
EP0044450B1 (en) Digital adder circuit
EP0361886B1 (en) Improved floating point computation unit
KR19980073858A (en) Carry-Selective Adder (CSA) Circuit
US5719802A (en) Adder circuit incorporating byte boundaries
US4956802A (en) Method and apparatus for a parallel carry generation adder
KR920004108B1 (en) Logic circuit having carry select adders
US5812437A (en) Programmable logic unit for arithmetic, logic and equality functions
US5944772A (en) Combined adder and logic unit
JPH056263A (en) Adder and absolute value calculation circuit using the adder
KR0170729B1 (en) Calculator of absolute value of difference using carry select adder
JP3286793B2 (en) Circuit and method for determining carry-out

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination