KR100209656B1 - High speed adder with pseudo carry - Google Patents

High speed adder with pseudo carry Download PDF

Info

Publication number
KR100209656B1
KR100209656B1 KR1019960038381A KR19960038381A KR100209656B1 KR 100209656 B1 KR100209656 B1 KR 100209656B1 KR 1019960038381 A KR1019960038381 A KR 1019960038381A KR 19960038381 A KR19960038381 A KR 19960038381A KR 100209656 B1 KR100209656 B1 KR 100209656B1
Authority
KR
South Korea
Prior art keywords
carry
virtual
input
bit
signal
Prior art date
Application number
KR1019960038381A
Other languages
Korean (ko)
Other versions
KR19980020042A (en
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 KR1019960038381A priority Critical patent/KR100209656B1/en
Publication of KR19980020042A publication Critical patent/KR19980020042A/en
Application granted granted Critical
Publication of KR100209656B1 publication Critical patent/KR100209656B1/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/501Half or full adders, i.e. basic adder cells for one denomination

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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

입력(Cin)을 구비한 캐리룩어헤드 가산기에 있어서, 2진 입력신호 A 및 B 비트 입력을 논리조합하여 캐리 발생신호(G) 및 전달신호(P)를 생성하고, 생성된 캐리발생 및 전달신호를 논리조합하여 각 가상캐리룩어헤드(PCLA) 블럭의 최상위 가상캐리를 구하기 위한 그룹 신호(Hg, Ig)를 발생시키며, 캐리발생 및 전달 신호와 전단의 가상캐리입력을 논리조합하여 각 PCLA 블럭의 하위 가상캐리를 구하는 적어도 하나 이상으로 이루어지는 N(N=1,2,3,...)개의 PCLA 블럭과, 상기 Nro의 PCLA 블럭으로부터 출력되는 그룹 신호(Hg, Ig)와 최초 가상캐리입력(Hin)을 논리 조합하여 상기 각 PCLA 블럭의 최상위 가상캐리를 구한 후 다음단의 PCLA 블럭의 가상캐리입력단으로 인가하는 상위 가상캐리발생부를 포함하여 구성되어, 연산속도를 3배 이상 향상시켜 고속의 가산기를 구현할 수 있고 더불어, 디지탈 신호 처리기(DSP)의 고속 계산이 가능해지며, 또한, 가산 입력비트를 쉽게 바꿀 수 있으므로 확장성이 좋고, 스탠다드 셀로 구성이 가능하므로 스탠다드 셀과의 인터페이스등이 필요없어 가산기의 설계 및 구현이 용이해진다.In a carry lookahead adder having an input Cin, the binary input signal A and the B bit input are logically combined to generate a carry generation signal G and a transfer signal P, And generates a group signal Hg, Ig for obtaining a top virtual carry of each virtual carry lookahead (PCLA) block. The carry generation and transfer signal and the previous carry carry input are logically combined to generate a group carry signal (N = 1, 2, 3, ...) number of PCLA blocks consisting of at least one or more than one subcarriers for obtaining a lower virtual carry, a group signal Hg, Ig output from the Nro's PCLA block, And an upper virtual carry generating unit for obtaining the most significant virtual carry of each of the PCLA blocks and applying the result to the virtual carry input of the next stage PCLA block by logically combining the high- To implement In addition, high-speed computation of digital signal processor (DSP) is possible, and addition input bit can be changed easily, so it is scalable and can be configured as standard cell, so it does not need interface with standard cell. Implementation is facilitated.

Description

가상캐리를 이용한 고속가산기Fast adder using virtual carry

본 발명은 캐리룩어헤드(Carry Look Ahead; CLA) 가산기(Adder)에 관한 것으로서, 특히 가산을 병렬로 수행하면서 가상 캐리(Psuedo Carry)를 연산에 사용하는 가상(假想) 캐리를 이용한 고속가산기에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Carry Look Ahead (CLA) adder, and more particularly to a fast adder using a virtual carry using a virtual carry will be.

종래의 가산기는 캐리 선택 가산기(Carry Select Adder)로서, 제1도에 도시한 바와 같이 기본적으로 2개의 리플 캐리 가산기(Ripple Carry Adder)를 사용한다.The conventional adder is a carry select adder and basically uses two ripple carry adders as shown in FIG.

제1도를 보면, 하위 4비트를 가산하는 4비트 가산기(11), 캐리 입력단의 캐리를 미리 '0'으로 셋팅시키고 상기 가산기(11)와 동시에 상위 4비트를 가산하는 4비트 가산기(12), 캐리 입력단의 캐리를 미리 '1'로 셋팅시키고 상기 가산기(11)와 동시에 상위 4비트를 가산하는 4비트 가산기(13), 상기 가산기(11)의 캐리출력에 따라 상기 가산기(12) 또는 가산기(13)의 가산 결과를 선택하여 최종 합(Sum)으로 출력하는 멀티플렉서(14), 및 상기 가산기(11)의 캐리 출력에 따라 최종 캐리를 출력하는 캐리 출력부(15)로 구성된다.1, there are shown a 4-bit adder 11 for adding the lower 4 bits, a 4-bit adder 12 for setting the carry at the carry input terminal to '0' in advance and adding the upper 4 bits at the same time as the adder 11, A 4-bit adder 13 for setting the carry of the carry input in advance to '1' and adding the upper 4 bits at the same time as the adder 11, and a 4-bit adder 13 for adding the upper 4 bits to the adder 12 or the adder 11, And a carry output unit 15 for outputting a final carry according to the carry output of the adder 11. The multiplexer 14 selects the sum of the adder 13 and outputs the sum as a sum.

상기 캐리 출력부(15)는 상기 가산기(11)와 가산기(13)에서 발생하는 캐리를 논리곱하는 앤드 게이트와 상기 가산기(12)에서 발생하는 캐리와 앤드 게이트의 출력을 논리 조합하는 노아 게이트로 구성된다.The carry output section 15 includes an AND gate for logically multiplying the carry generated in the adder 11 and the adder 13 and a Noah gate for logically combining the outputs of carry and end gates generated in the adder 12 do.

상기 캐리 출력부(15)는 -((CIN·C1)+C0) 또는 -((CIN+C0)·C1)을 만족하는 게이트 형태는 다 해당된다.The carry output unit 15 corresponds to a gate type that satisfies - ((CIN C1) + C0) or - ((CIN + C0) C1).

여기서, CIN은 전단 예컨대, 가산기(11)에서 발생된 캐리 입력이고, C0는 가산기(12), C1은 가산기(13)에서 발생되는 캐리 출력이다.Here, CIN is the carry input generated in the previous stage, for example, the adder 11, C0 is the adder 12, and C1 is the carry output generated in the adder 13.

이와같이 구성된 제1도는 캐리 입력(CI)과 하위 4비트(A3:0, B3:0)를 가산기(11)에서 가산하여 합(SUM3:0)을 출력함과 동시에 캐리 출력을 멀티플렉서(14)와 캐리 출력부(15)로 인가한다.The first figure thus configured is configured to add the carry input CI and the lower 4 bits A3: 0 and B3: 0 at the adder 11 to output the sum SUM3: 0 and at the same time to output the carry output to the multiplexer 14 To the carry output section 15.

이때, 캐리 입력을 '0'으로 미리 셋팅시켜 놓은 가산기(12)와 캐리 입력을 '1'로 미리 셋팅시켜 놓은 가산기(13)도 상기 가산기(11)와 동시에 상위 4비트(A7:4, B7:4)을 가산하여 각각의 합(S07:4, S17:4)을 멀티플렉서(14)로 인가한다.At this time, the adder 12, which sets the carry input to '0' in advance, and the adder 13 which sets the carry input to '1' in advance are also connected to the adder 11 at the same time as the upper 4 bits (A7: 4, B7 : 4) are added, and the sum of each of them (S07: 4, S17: 4) is applied to the multiplexer 14.

상기 멀티플렉서(14)는 상기 가산기(11)에서 발생된 캐리가 0이면 가산기(12)의 가산 결과를, 1이면 가산기(13)의 가산 결과를 선택하여 최종 합(SUN7:4)으로 출력한다.The multiplexer 14 selects the addition result of the adder 13 when the carry generated by the adder 11 is 0 and outputs the addition result to the final sum SUN7:

또한, 상기 캐리 출력부(15)의 앤드 게이트는 가산기(11)와 가산기(13)에서 발생된 캐리를 논리곱한다. 즉, 상기 앤드 게이트는 가산기(11)에서 발생된 캐리가 0이면 무조건 0을 노아 게이트로 출력하고, 1이면 가산기(13)에서 발생된 캐리를 노아 게이트로 출력한다.The AND gate of the carry output unit 15 logically multiplies the carry generated in the adder 11 and the adder 13. [ That is, if the carry generated in the adder 11 is 0, the AND gate outputs 0 to the Noah gate unconditionally. If the carry is 0, the carry generated in the adder 13 is output to the Noah gate.

상기 노아 게이트는 상기 가산기(12)에서 발생된 캐리와 상기 앤드 게이트의 출력이 모두 0일때만 1을 최종 캐리(-C7)로 출력하고 그 이외에는 0을 최종 캐리(-C7)로 출력한다.The Noah gate outputs 1 to the final carry (-C7) only when the carry generated by the adder 12 and the output of the AND gate are both 0, and outputs 0 to the final carry (-C7) otherwise.

제2도는 상기 제1도를 확장한 32비트 캐리선택 가산기로서, 하위 4비트를 가산하는 가산기(21)를 제외한 나머지 가산기 블럭(22,25,28,31,34)은 캐리 입력을 '0'으로 미리 셋팅시켜 놓은 리플캐리 가산기와 '1'로 미리 셋팅시켜놓은 리플 캐리 가산기와 멀티플렉서로 이루어진다.FIG. 2 is a 32-bit carry select adder that extends the first diagram. The adder blocks 22, 25, 28, 31, and 34 except for the adder 21 for adding the lower 4 bits, And a ripple carry adder and multiplexer pre-set to '1'.

따라서, 각 가산기 블럭(22,25,28,31,34)은 전단의 가산기 블럭에서 발생한 캐리 출력에 따라 멀티플렉서를 제어하여 해당 가산기 블럭의 최종 합을 출력함과 동시에 각각의 캐리 출력부(23,26,29,32,35)를 통해 최종 캐리를 출력한다.Therefore, each adder block 22, 25, 28, 31, 34 controls the multiplexer according to the carry output generated in the adder block of the previous stage, and outputs the final sum of the adder block, 26, 29, 32, 35).

이와같이 제1도를 기본으로 가산 비트를 48비트, 64비트,...등으로 계속 확장할 수 있다.Thus, based on FIG. 1, the addition bits can be extended to 48 bits, 64 bits,...

그러나, 상기된 종래의 캐리선택 가산기는 각각의 가산기 블럭마다 각 캐리들에 대해 두가지 경우, 즉 '1'과 '0'의 경우를 모두 고려하는 두개의 리플 캐리 가산기가 필요하고 그 결과를 선택 출력하는 멀티플렉서가 필요하며 캐리를 최종 선택하는 캐리출력부가 필요하므로 가산기의 전체 면적이 증가하는 문제점이 있었다.However, in the above conventional carry-select adder, two carry-adders are required for each carry for each adder block, considering both cases of '1' and '0' And a carry output for finally selecting a carry is required, which increases the total area of the adder.

또한, 캐리를 연산에 직접 사용함과 동시에 최하위비트(LSB)에서 최상위 비트(MSB)로의 순차적인 직렬 연산을 수행함으로써, 연산 속도가 떨어지는 문제점이 있었다.Further, there is a problem that the operation speed is lowered by directly using the carry in the operation and performing serial serial operation from the least significant bit (LSB) to the most significant bit (MSB).

또한, 가산기만을 위한 셀을 사용함으로써, 스탠다드 셀(Standard Cell)과의 인터페이스가 필요할뿐만 아니라 이를위한 옵션(Option)등이 필요하므로 설계가 복잡하여 가산기의 구현이 용이하지 않은 문제점이 있었다.In addition, by using a cell for only the adder, an interface with a standard cell is required, and an option for the standard cell is required. Thus, the design is complicated and the implementation of the adder is not easy.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 가상의 캐리를 사용하고 병렬 연산을 수행함으로써, 전체 가산기의 면적을 줄이고 동시에 지연을 줄여 연산 속도를 향상시키는 가상 캐리를 이용한 고속 가산기를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems and it is an object of the present invention to provide a high speed Thereby providing an adder.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 가상캐리를 이용한 고속 가산기의 특징은, 한쌍의 A 및 B 비트 입력과 캐리 입력을 구비한 CLA 가산기에 있어서, 2진 입력신호 A 및 B 비트 입력을 논리조합하여 캐리발생신호 및 전달신호를 생성하는 발생 및 전달신호 생성수단과, 상기 발생 및 전달신호 생성수단에서 출력되는 캐리발생 및 전달신호를 논리조합하여 각 CLA 블럭의 최상위 캐리를 구하기 위한 그룹 신호를 발생시키고, 캐리 발생 및 전달 신호와 전단의 캐리입력을 논리조합하여 각 CLA 블럭의 하위 캐리를 구하는 적어도 하나 이상으로 이루어지는 N(N=1,2,3,...)개의 CLA 블럭과, 상기 N개의 CLA 블럭으로부터 출력되는 그룹 신호와 최초 캐리입력을 논리 조합하여 상기 각 CLA 블럭의 최상위 캐리를 구한 후 다음단의 CLA 블럭의 캐리입력단으로 인가하는 상위 캐리발생수단을 포함하여 구성되는 점에 있다.According to another aspect of the present invention, there is provided a CLA adder including a pair of A and B bit inputs and a carry input, A generation and transmission signal generation means for generating a carry generation signal and a transmission signal in a logical combination of a carry signal and a carry signal output from the generation and transmission signal generation means, N (N = 1, 2, 3, ...) number of CLA blocks, each of which consists of at least one or more subcarriers of each CLA block by logically combining the carry generation and transfer signal with the previous carry input, A grouping signal outputted from the N CLA blocks and a first carry input are logically combined to obtain a highest carry of each of the CLA blocks, And an upper carry generating means for generating the upper carry generating means.

본 발명의 다른 특징은, 한쌍의 A 및 B 비트 입력과 캐리 입력을 구비한 CLA가산기에 있어서, 2진 입력신호 A 및 B 비트 입력을 논리조합하여 캐리발생 및 전달신호를 생성하는 발생 및 전달신호 생성수단과, 상기 발생 및 전달신호 생성수단에서 출력되는 캐리발생 및 전달신호를 논리조합하여 각 가상캐리룩어헤드(PCLA) 블럭의 최상위 가상캐리를 구하기 위한 그룹 신호를 발생시키고, 캐리발생 및 전달신호와 전단의 가상캐리입력을 논리조합하여 각 PCLA 블럭의 하위 가상캐리를 구하는 적어도 하나 이상으로 이루어지는 N(N=1,2,3,...)개의 PCLA 블럭과, 상기 N개의 PCLA 블럭으로부터 출력되는 그룹 신호와 최초 가상캐리입력을 논리 조합하여 상기 각 PCLA 블럭의 최상위 가상캐리를 구한 후 다음단의 PCLA 블럭의 가상 캐리입력으로 인가하는 상위 가상캐리발생수단을 포함하여 구성되는 점에 있다.Another aspect of the present invention is to provide a CLA adder having a pair of A and B bit inputs and a carry input wherein the binary input signal A and B bit inputs are logically combined to generate and transmit a carry generation and transfer signal And generates a group signal for obtaining a top virtual carriage of each virtual carry lookahead (PCLA) block by logically combining the carry generation and transmission signals output from the generation and transmission signal generation means, N (N = 1, 2, 3, ...) number of PCLA blocks, each of which consists of at least one logical combination of the virtual carry inputs of the previous stage and the previous stage to obtain a lower virtual carry of each PCLA block, And the first virtual carry input is logically combined to obtain the uppermost virtual carry of each of the PCLA blocks, and then the upper virtual carry is applied to the virtual carry input of the next PCLA block Is the point which comprises a stage.

제1도는 종래의 4비트 캐리 선택 가산기의 블럭도.FIG. 1 is a block diagram of a conventional 4-bit carry select adder; FIG.

제2도는 종래의 32비트 캐리 선택 가산기의 블럭도.Figure 2 is a block diagram of a conventional 32 bit carry select adder;

제3도는 본 발명의 제1실시예에 따른 4비트 캐리룩어헤드(CLA) 블럭도.FIG. 3 is a 4-bit carry lookahead (CLA) block diagram according to a first embodiment of the present invention; FIG.

제4도는 본 발명의 제1실시예에 따른 16비트 캐리룩어헤드(CLA) 블럭도.FIG. 4 is a 16-bit carry lookahead (CLA) block diagram according to a first embodiment of the present invention.

제5도는 본 발명의 제1실시예에 따른 64비트 캐리룩어헤드(CLA) 블럭도.FIG. 5 is a block diagram of a 64-bit carry lookahead (CLA) according to a first embodiment of the present invention; FIG.

제6a도 내지 제6d도는 본 발명의 제2실시예에 따른 가상캐리를 발생하기 위한 논리 회로도.6a to 6d are logic circuit diagrams for generating a virtual carry according to a second embodiment of the present invention.

제7도는 본 발명의 제2실시예에 따른 4비트 가상캐리룩어헤드(PCLA) 블럭도.FIG. 7 is a 4-bit virtual Carry Look Head (PCLA) block diagram according to a second embodiment of the present invention. FIG.

제8도는 본 발명의 제2실시예에 따른 16비트 가상캐리룩어헤드(PCLA) 블럭도.FIG. 8 is a 16-bit virtual carry lookahead (PCLA) block diagram according to a second embodiment of the present invention. FIG.

제9도는 본 발명의 제2실시예에 다른 64비트 가상캐리룩어헤드(PCLA) 블럭도.FIG. 9 is a block diagram of a 64-bit virtual carry lookahead (PCLA) block according to a second embodiment of the present invention; FIG.

제10도는 본 발명에 따른 가산기에서 합을 구하기 위한 구성블럭도.FIG. 10 is a block diagram for obtaining a sum in an adder according to the present invention; FIG.

* 도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

38 : 캐리룩어헤드(CLA부) 41-45,55,85,95 : 4비트 CLA부38: Carry Look Head (CLA part) 41-45,55,85,95: 4-bit CLA part

51-54 : 16비트 CLA부 71,81-84 : 4비트 가상캐리룩어헤드(PCLA)부51-54: 16-bit CLA unit 71, 81-84: 4-bit virtual carry lookahead (PCLA) unit

91-94 : 16비트 PCLA부91-94: 16-bit PCLA section

이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[실시예 1][Example 1]

가산기의 입력을 A,B라 하고 캐리를 Cin이라 하면, 중요한 합(Sum)과 캐리(Carry)는If the input of the adder is A and B and the carry is Cin, then the important Sum and Carry are

로 나타난다.Respectively.

이를 i번째 합(Si)과 캐리(Ci)를 구하는 일반적인 수학식으로 바꾸면 다음과 같이 된다.This is converted to a general equation for obtaining the i-th sum (Si) and carry (Ci) as follows.

이다.to be.

상기 수학식 3과 수학식 4에서 Gi=Ai*Bi, Pi=Ai+Bi, Psi=AiBi이다. 여기서, Gi는 캐리발생신호(Generate Signal)이고, Pi는 캐리전달신호(Propagate Signal)이다.In the above equations (3) and (4), Gi = Ai * Bi, Pi = Ai + Bi, Psi = Ai Bi. Here, Gi is a carry generation signal and Pi is a carry propagation signal.

즉, 가산기의 i번째 합과 캐리를 얻는데는 i번째의 입력들의 조합과 그 전단에서 올라온 캐리를 알면된다.That is, in order to obtain the i-th sum and carry of the adder, it is necessary to know the combination of the i-th inputs and the carry carried out from the previous stage.

그리고, 큰 비트의 가산기에서 고속 연산을 하기위해서는 먼저 각단의 캐리를 구한 후 합을 구한다. 결국 각단의 캐리 입력을 아는 것이 중요하며, 이 캐리들을 먼저 계산하고 난 후에 합을 계산하는 과정을 거친다. 즉, 캐리를 얼마나 빠르게 구하는가 하는것이 가산기의 전체 속도를 좌우하는 관건이 된다.In order to perform a high-speed operation in a high-bit adder, first, the carry of each stage is obtained and a sum is obtained. In the end, it is important to know the carry input of each stage, and the carry is first calculated and then the sum is calculated. In other words, how fast the carry is obtained is the key to the overall speed of the adder.

제3도는 4비트로 구성되는 본 발명의 제1실시예에 따른 CLA 블럭이다. 이때, 제3도의 4비트로 구성되는 CLA에서 각단의 캐리를 보면,FIG. 3 is a block diagram of a CLA according to a first embodiment of the present invention. At this time, when the carry of each stage in the CLA composed of 4 bits of FIG. 3 is viewed,

이와같이 정리하면,In summary,

가 된다..

위의 각 캐리들을 보면, Cin이 있는 항과 그렇지 않은 항으로 구분되며, 상기 C3에서In each of the above carries, it is distinguished by a term with Cin and a term with no term.

라 정의하면,In other words,

의 형태가 된다..

즉, 제3도의 4비트 CLA 블럭에서 최종 캐리 출력인 C3는 Gg, Pg, Cin을 알면 구할수 있으므로 C3는 구하지 않고 단지 Gg, Pg만 구하여 출력한다.That is, in the 4-bit CLA block of FIG. 3, the last carry output C3 can be obtained by knowing Gg, Pg, and Cin. Therefore, C3 is not obtained but only Gg and Pg are obtained.

또한, 각단의 캐리 C0 내지 C3는 입력비트들의 조합인 G0-G3와 P0-P3, 그리고 캐리입력 Cin이 입력되면 동시에 구할 수 있음을 알 수 있다.Also, it can be seen that the carry C0 to C3 at each stage can be obtained simultaneously when G0-G3, P0-P3, and carry input Cin, which are combinations of input bits, are input.

이는 몇 비트씩 묶인 블럭들의 Gg와 Pg를 Cin의 조합으로 각단 및 최종단의 캐리를 알 수 있음을 보여준다.This shows that the combination of Gg and Pg of the blocks bounded by several bits can be used to determine the carry of each stage and the final stage.

즉, 하나의 비트에 대해서 G와 P 그리고, 캐리 입력을 알면 캐리 출력을 알 수 있는 것처럼 4비트 전체에 대해서 그룹의 G와 P 그리고, 캐리 입력을 알면 그룹의 캐리 출력을 알 수 있다.That is, G and P for one bit, and G and P for the entire 4 bits as well as the carry output if the carry input is known, and the carry output of the group if the carry input is known.

이는 CLA 방법이 4비트 블럭들에도 적용됨을 의미한다. 또한, 이 CLA 블럭들의 수를 늘리거나 줄일 수 있어 같은 구조에서도 다양한 비트의 CLA 구성이 가능하게 된다.This means that the CLA method is applied to 4-bit blocks as well. In addition, since the number of CLA blocks can be increased or decreased, it is possible to configure various bits of CLA even in the same structure.

제4도는 상기 제3도의 4비트 CLA를 본 발명에 따른 16비트 CLA로 확장한 것을 보여주는 블럭도이다.FIG. 4 is a block diagram showing the 4-bit CLA of FIG. 3 expanded to a 16-bit CLA according to the present invention.

제4도를 보면, 제1 4비트 CLA부(41)에서는 입력비트들을 조합하여 생성한 캐리발생 및 전달신호 G3-G0, P3-P0을 상기 수학식 9와 수학식 10에 적용하여 최상위 캐리출력을 구하기 위한 그룹신호 Gg0, Pg0을 4비트 CLA부(45)로 출력한다.Referring to FIG. 4, in the first 4-bit CLA unit 41, the carry generation and transmission signals G3-G0 and P3-P0 generated by combining input bits are applied to Equation (9) and Equation (10) To the 4-bit CLA unit 45. The 4-bit CLA unit 45 outputs the group signals Gg0 and Pg0.

제2 4비트 CLA부(42)에서는 입력비트들의 조합인 캐리발생 및 전달신호 G7-G4, P7-P4을 상기 수학식 9와 수학식 10에 적용하여 최상위 캐리출력을 구하기 위한 그룹신호 Gg1, Pg1을 상기 4비트 CLA부(45)로 출력한다.The second 4-bit CLA unit 42 applies the carry generation and transmission signals G7-G4 and P7-P4, which are combinations of input bits, to the above-mentioned Equations (9) and (10) to generate group signals Gg1 and Pg1 To the 4-bit CLA unit (45).

제3 4비트 CLA부(43)에서는 입력비트들의 조합인 캐리발생 및 전달신호 G11-G8, P11-P8을 상기 수학식 9와 수학식 10에 적용하여 최상위 캐리출력을 구하기 위한 그룹신호 Gg2, Pg2를 상기 4비트 CLA부(45)로 출력한다.The third 4-bit CLA unit 43 applies the carry generation and transfer signals G11-G8 and P11-P8, which are combinations of the input bits, to the above-mentioned Equations 9 and 10 to generate the group signals Gg2 and Pg2 To the 4-bit CLA unit (45).

제4 4비트 CLA부(44)에서는 입력비트들의 조합인 캐리발생 및 전달신호 G15-G12, P15-P12을 상기 수학식 9와 수학식 10에 적용하여 최상위 캐리출력을 구하기 위한 그룹신호 Gg3, Pg3을 상기 4비트 CLA부(45)로 출력한다.The fourth 4-bit CLA unit 44 applies the carry generation and transmission signals G15-G12 and P15-P12, which are combinations of the input bits, to the above-mentioned Equations 9 and 10 to generate the group signals Gg3 and Pg3 To the 4-bit CLA unit (45).

즉, 입력비트들의 조합인 캐리발생 및 전달신호 G15-G0, P15-P0가 제1 내지 제4CLA부(41-44)로 동시에 입력되면 각 CLA 블럭의 최상위 캐리출력을 구하기 위한 그룹신호 Gg3-Gg0, Pg3-Pg0가 동시에 산출되어 상기 4비트 CLA부(45)로 출력된다.That is, when the carry generation and transmission signals G15-G0 and P15-P0, which are combinations of input bits, are simultaneously input to the first through fourth CLA units 41-44, the group signals Gg3-Gg0 , And Pg3-Pg0 are simultaneously calculated and output to the 4-bit CLA unit 45. [

상기 4비트 CLA부(45)에서는 제1 내지 제4CLA부(41-44)로부터 출력되는 그룹신호 Gg3-Gg0, Pg3-Pg0을 수학식 5 내지 수학시 11에 적용하여 하위 3비트의 캐리출력(C11, C7, C3)과 상위 캐리출력(C15)를 구한 후 캐리출력 C3는 제2CLA부(42)의 캐리입력단으로, 캐리출력 C7는 제3CLA부(43)의 캐리입력단으로, 캐리출력 C11는 제4CLA부(44)의 캐리입력단으로 인가한다.The 4-bit CLA unit 45 applies the group signals Gg3-Gg0 and Pg3-Pg0 output from the first through fourth CLA units 41-44 to Equation 5 through Equation 11 to determine the carry output The carry output C7 is fed to the carry input of the second CLA unit 42 and the carry output C7 is fed to the carry input of the third CLA unit 43 and the carry output C11 is fed to the carry- To the carry input terminal of the fourth CLA unit 44.

따라서, 제1CLA부(41)는 입력비트들의 조합인 캐리발생 및 전달신호 G3-G0, P3-P0와 캐리입력 Cin을 상기 수학식 4 내지 수학식 7에 적용하여 하위 3비트 캐리출력(C2-C0)을 구한다.Therefore, the first CLA unit 41 applies the carry generation and transmission signals G3-G0, P3-P0 and the carry input Cin, which are combinations of input bits, to the above Equations 4 to 7, C0).

제2CLA부(42)는 입력비트들의 조합인 캐리발생 및 전달신호G7-G4, P7-P4와 CLA부(45)에서 출력되는 캐리입력 C3을 상기 수학식 4 내지 수학식 7에 적용하여 하위 3비트 캐리출력(C6-C4)을 구한다.The second CLA unit 42 applies the carry generation and transmission signals G7-G4 and P7-P4, which are combinations of input bits, and the carry input C3 output from the CLA unit 45 to Equation (4) to Equation (7) And obtains the bit carry output (C6-C4).

제3CLA부(43)는 입력비트들의 조합인 캐리발생 및 전달신호 G11-G8, P11-P8와 CLA부(45)에서 출력되는 캐리입력 C7을 상기 수학식 4 내지 수학식 7에 적용하여 하위 3비트 캐리출력(C10-C8)을 구한다.The third CLA unit 43 applies the carry generation and transmission signals G11-G8 and P11-P8, which are combinations of input bits, and the carry input C7 output from the CLA unit 45, to Equation (4) to Equation (7) The bit carry output C10-C8 is obtained.

제4CLA부(44)는 입력비트들의 조합인 캐리발생 및 전달신호 G15-G12, P15-P12와 CLA부(45)에서 출력되는 캐리입력 C11을 상기 수학식 4 내지 수학식 7에 적용하여 하위 3비트 캐리출력(C14-C12)을 구한다.The fourth CLA unit 44 applies the carry generation and transmission signals G15-G12 and P15-P12, which are combinations of input bits, and the carry input C11 output from the CLA unit 45 to Equation (4) to Equation (7) And obtains the bit carry output (C14-C12).

즉, 16비트의 캐리 산출과정을 보면 입력비트들의 조합인 캐리발생 및 전달신호 G15-G0, P15-P0와 캐리 입력 Cin이 병렬 입력되어 동시에 그룹신호 Gg3-Gg0, Pg3-Pg0가 구해지고, 그룹신호 Gg3-Gg0, Pg3-Pg0를 이용하여 각 CLA 블럭의 최종 캐리 C15, C11, C7, C3이 구해지며, 각 CLA 블럭의 최종 캐리 C15, C11, C7, C3는 다음단의 CLA 블럭의 캐리 입력단으로 입력되어 각 CLA 블럭의 하위 캐리가 동시에 구해지는 병렬연산이다.That is, in the 16-bit carry calculation process, the carry generation and transmission signals G15-G0 and P15-P0, which are combinations of input bits, and the carry input Cin are inputted in parallel to obtain group signals Gg3-Gg0 and Pg3-Pg0, The last carry C15, C11, C7, C3 of each CLA block is obtained by using the signals Gg3-Gg0 and Pg3-Pg0, and the last carry C15, C11, C7, C3 of each CLA block is used as the carry input And the sub-carry of each CLA block is obtained at the same time.

제5도는 상기 제4도의 16비트 CLA를 본 발명의 제1실시예에 따른 64비트 CLA로 확장한 것을 보여주는 블럭도이다.FIG. 5 is a block diagram illustrating the expansion of the 16-bit CLA of FIG. 4 into a 64-bit CLA according to the first embodiment of the present invention.

제5도를 보면, 제1 내지 제4 16비트 CLA부(51-54)에서 입력비트들의 조합인 캐리발생 및 전달신호 G63-G0, P63-P0을 상기 수학식 9와 수학식 10에 적용하여 각 16비트 CLA 블럭의 최상위 캐리출력을 구하기 위한 그룹신호 Gg3-Gg0, Pg3-Pg0을 동시에 구한 후 4비트 CLA부(55)로 출력한다.Referring to FIG. 5, the carry generation and transfer signals G63-G0 and P63-P0, which are combinations of input bits in the first to fourth 16-bit CLA units 51-54, are applied to Equations (9) and The group signals Gg3-Gg0 and Pg3-Pg0 for obtaining the most significant carry output of each 16-bit CLA block are simultaneously obtained and then output to the 4-bit CLA unit 55. [

상기 4비트 CLA부(55)에서는 제1 내지 제4CLA부(51-54)로부터 출력되는 그룹신호 Gg3-Gg0, Pg3-Pg0을 상기 수학식 5 내지 수학식 11에 적용하여 하위 3비트의 캐리출력(C47, C31, C15)과 상위 캐리출력(C63)를 구한 후 캐리출력 C15는 제2CLA부(52)의 캐리입력단으로, 캐리출력 C31는 제3CLA부(53)의 캐리입력단으로, 캐리출력 C47는 제4CLA부(54)의 캐리입력단으로 출력한다.The 4-bit CLA unit 55 applies the group signals Gg3-Gg0 and Pg3-Pg0 output from the first through fourth CLA units 51-54 to Equation (5) to Equation (11) The carry output C15 to the carry input of the second CLA unit 52 and the carry output C31 to the carry input of the third CLA unit 53 and the carry output C47 To the carry input of the fourth CLA unit 54.

따라서, 제1 16비트 CLA부(51)는 입력비트들의 조합인 캐리발생 및 전달신호 G15-G0, P15-P0와 캐리입력 Cin을 상기 수학식 4 내지 수학식 7에 적용하여 하위 15비트 캐리출력(C14-C0)을 구한다.Accordingly, the first 16-bit CLA unit 51 applies the carry generation and transfer signals G15-G0, P15-P0 and the carry input Cin, which are combinations of input bits, to Equation (4) to Equation (7) (C14-C0).

제2 16비트 CLA부(52)는 입력비트들의 조합인 캐리발생 및 전달신호 G31-G16, P31-P16와 4비트 CLA부(55)에서 출력되는 캐리입력 C15을 상기 수학식 4 내지 수학식 7에 적용하여 하위 15비트 캐리출력(C30-C16)을 구한다.The second 16-bit CLA unit 52 outputs the carry generation and transmission signals G31-G16 and P31-P16, which are combinations of input bits, and the carry input C15 output from the 4-bit CLA unit 55, To obtain the lower 15-bit carry output (C30-C16).

제3 16비트 CLA부(53)는 입력비트들의 조합인 캐리발생 및 전달신호 G47-G32, P47-P32와 4비트 CLA부(55)에서 출력되는 캐리입력 C31을 상기 수학식 4 내지 수학식 7에 적용하여 하위 15비트 캐리출력(C46-C32)을 구한다.The third 16-bit CLA unit 53 receives the carry generation and transfer signals G47-G32 and P47-P32, which are combinations of input bits, and the carry input C31 output from the 4-bit CLA unit 55, To obtain the lower 15-bit carry output (C46-C32).

제4 16비트 CLA부(54)는 입력비트들의 조합인 캐리발생 및 전달신호 G63-G48, P63-P48와 4비트 CLA부(55)에서 출력되는 캐리입력 C47을 상기 수학식 4 내지 수학식 7에 적용하여 하위 15비트 캐리출력(C62-C48)을 구한다.The fourth 16-bit CLA unit 54 outputs the carry generation and transmission signals G63-G48 and P63-P48, which are combinations of input bits, and the carry input C47 output from the 4-bit CLA unit 55, To obtain the lower 15-bit carry output (C62-C48).

즉, 64비트의 캐리산출 보면 입력비트들의 조합인 캐리발생 및 전달신호 G63-G0, P63-P0와 캐리 입력 Cin이 병렬 입력되어 동시에 그룹신호 Gg3-Gg0, Pg3-Pg0가 구해지고, 그룹신호 Gg3-Gg0, Pg3-Pg0를 이용하여 각 CLA 블럭의 최상위 캐리가 구해지며, 최상위 캐리는 다음단의 CLA 블럭의 캐리 입력단으로 입력되어 각 CLA 블럭의 하위 캐리가 동시에 구해지는 병렬 연산이다.In other words, the 64-bit carry-look-look-up combination of the input bits G63-G0 and P63-P0 and the carry input Cin are input in parallel to obtain the group signals Gg3-Gg0 and Pg3-Pg0, -Gg0, and Pg3-Pg0, and the most significant carry is input to the carry input of the next-stage CLA block, and the sub-carry of each CLA block is simultaneously obtained.

[실시예 2][Example 2]

입력들의 조합인 캐리발생 및 전달신호 G와 P를 앤드 연산하면,When ANDing the carry generation and transfer signals G and P, which are combinations of inputs,

가 된다..

즉, P가 없어지므로 항이 반으로 줄어든다. 이러한 성질을 이용하여 상기 수학식 8의 C3를 공통인수 P3로 나타내면,That is, since P is eliminated, the term is reduced to half. Using this property and expressing C3 of the above equation (8) as a common factor P3,

이다. 즉, P3를 매번 계산하는 것이 아니라 한번만 계산해주면 되므로 그만큼 연산속도가 빨라진다.to be. In other words, P3 is not calculated every time, but it only needs to be calculated once.

여기서, Ci=Pi*Hi이고, 이를 H에 대해 정리하면Here, Ci = Pi * Hi, which is summarized for H

라 정의된다..

여기서, H는 실제 캐리와 구분되는 가상 캐리라 하고, 가상 캐리를 비트별로 전개하여 나타내면,Here, H is a virtual carry distinguished from the actual carry, and if the virtual carry is expanded bit by bit,

이 된다..

이의 일반 수학식을 구하면,If we obtain its general formula,

로 정리되며, 이는 상기 수학식 11의 C3=Gg+Pg*Cin와 같은 형태가 된다. 즉, 전단의 H 및 P와 현재의 G를 알면 현재의 H를 알 수 있다.Which is the same as C3 = Gg + Pg * Cin in Equation (11). That is, knowing the H and P of the front end and the present G, the current H can be known.

여기서, Hg=G3+G2+G1*P1+G0*P1*P2라 정의된다.Here, Hg = G3 + G2 + G1 * P1 + G0 * P1 * P2.

한편, 가상캐리 입력 Hin이 0이 아닐때의 가상캐리를 비트별로 전개해보면,On the other hand, if the virtual carry is expanded bit by bit when the virtual carry input Hin is not 0,

이 된다..

상기 수학식 23에서In Equation 23,

라 정의하면,In other words,

의 형태가 된다..

여기서, 상기 수학식 20 내지 수학식 22는 입력비트들의 조합인 캐리발생 및 전달신호 Gi, Pi를 입력하여 가상 캐리를 구하는 가상 캐리룩어헤드(Pseudo Carry-Look Ahead; PCLA) 구조이고, 수학식 19 또는 수학식 26은 각 PCLA 블럭의 최종 가상 캐리를 구하기 위한 그룹신호 Hg, Ig를 입력받아 각 PCLA 블럭의 최종 가상 캐리를 구하는 CLA 구조이다.Equation (20) to Equation (22) is a pseudo Carry-Look Ahead (PCLA) structure for obtaining a virtual carry by inputting carry generation and transmission signals Gi and Pi, which are combinations of input bits, Equation (26) is a CLA structure for receiving a group signal Hg, Ig for obtaining a final virtual carry of each PCLA block and obtaining a final virtual carry of each PCLA block.

제7도는 본 발명의 제2실시예에 따른 4비트 PCLA 블럭도로서, 입력비트들의 조합인 캐리발생 및 전달신호 G3-G0, P2-P0, Pin와 가상캐리 입력 Hin이 입력되면 상기 수학식 20 내지 수학식 25를 적용하여 하위 3비트의 가상캐리 H2-H0와 상위 가상 캐리 H3를 구하기 위한 그룹신호 Hg, Ig를 산출한다.FIG. 7 is a 4-bit PCLA block diagram according to the second embodiment of the present invention. When the carry generation and transmission signals G3-G0, P2-P0, and Pin and the virtual carry input Hin, To calculate the group signals Hg and Ig for obtaining the lower 3-bit virtual carry H2-H0 and the upper virtual carry H3.

즉, 제7도의 4비트 PCLA 블럭에서 최종 가상캐리 출력인 H3는 Hg, Ig와 가상캐리입력 Hin을 알면 구할 수 있으므로, H3는 구하지 않고 단지 Hg, Ig만 구한다.That is, in the 4-bit PCLA block of FIG. 7, since the final virtual carry output H3 can be obtained by knowing Hg, Ig and the virtual carry input Hin, only Hg and Ig are obtained without obtaining H3.

또한, 각단의 가상캐리 H3 내지 H0는 입력비트들의 조합인 캐리발생 및 전달신호 G3-G0와 P2-P0, Pin 그리고 가상 캐리입력 Hin이 입력되면 동시에 구할 수 있음을 알 수 있다.It can be seen that the virtual carriers H3 to H0 at each stage can be obtained simultaneously when the carry generation and transmission signals G3-G0, P2-P0, and Pin, and the virtual carry input Hin, which are combinations of input bits, are inputted.

이는 몇 비트씩 묶인 블럭들의 Hg와 Ig를 Hin의 조합으로 각단 및 최종단의 가상 캐리를 알 수 있음을 보여준다.This shows that the combination of Hg and Ig and Hin of the blocks bounded by several bits can know the virtual carry of each stage and the final stage.

즉, 하나의 비트에 대해서 G와 P 그리고, 가상캐리 입력을 알면 가상캐리 출력을 알 수 있는 것처럼 4비트 전체에 대해서 그룹의 G와 P 그리고, 가상캐리 입력을 알면 그룹의 가상캐리 출력을 알 수 있다.That is, G and P for one bit and G and P for the whole 4 bits as knowing the virtual carry output by knowing the virtual carry input, and knowing the virtual carry output for the group, have.

또한, 이 PCLA 블럭들의 수를 늘리거나 줄일 수 있어 같은 구조에서도 다양한 비트의 가산기 구성이 가능하게 된다.In addition, since the number of PCLA blocks can be increased or decreased, various bits of adder can be configured even in the same structure.

제8도는 상기 제7도의 4비트 PCLA를 본 발명의 제2실시예에 따른 16비트 PCLA로 확장한 것을 보여주는 블럭도이다.FIG. 8 is a block diagram illustrating the expansion of the 4-bit PCLA of FIG. 7 to a 16-bit PCLA according to a second embodiment of the present invention.

제8도를 보면, 제1 4비트 PCLA부(81)에서는 입력비트들의 조합인 캐리발생 및 전달신호 G3-G0, P2-P0, Pin을 상기 수학식 24와 수학식 25에 적용하여 최상위 가상캐리를 구하기 위한 그룹신호 Hg0, Ig0을 4비트 CLA부(85)로 출력한다.Referring to FIG. 8, the first 4-bit PCLA unit 81 applies carry generation and transfer signals G3-G0, P2-P0, and Pin, which are combinations of input bits, to Equation 24 and Equation 25, To the 4-bit CLA unit 85. The 4-bit CLA unit 85 outputs the group signals Hg0 and Ig0 to the 4-

제2 4비트 PCLA부(82)에서는 입력비트들의 조합인 캐리발생 및 전달신호 G7-G4, P6-P3을 상기 수학식 24와 수학식 25에 적용하여 최상위 가상캐리를 구하기 위한 그룹신호 Hg1, Ig1을 상기 4비트 CLA부(85)로 출력한다.The second 4-bit PCLA unit 82 applies the carry generation and transmission signals G7-G4 and P6-P3, which are a combination of input bits, to the above-mentioned equations (24) and (25) to generate group signals Hg1 and Ig1 To the 4-bit CLA unit (85).

제3 4비트 PCLA부(83)에서는 입력비트들의 조합인 캐리발생 및 전달신호 G11-G8, P10-P7을 상기 수학식 24와 수학식 25에 적용하여 최상위 가상캐리를 구하기 위한 그룹신호 Hg2, Ig2를 상기 4비트 CLA부(85)로 출력한다.The third 4-bit PCLA unit 83 applies the carry generation and transmission signals G11-G8 and P10-P7, which are combinations of input bits, to the equations (24) and (25) to obtain group signals Hg2 and Ig2 To the 4-bit CLA unit (85).

제4 4비트 PCLA부(84)에서는 입력비트들의 조합인 캐리발생 및 전달신호 G15-G12, P14-P11을 상기 수학식 24와 수학식 25에 적용하여 최상위 가상캐리를 구하기 위한 그룹신호 Hg3, Ig3을 상기 4비트 CLA부(85)로 출력한다.The fourth 4-bit PCLA unit 84 applies the carry generation and transmission signals G15-G12 and P14-P11, which are combinations of the input bits, to the expressions 24 and 25 to obtain the group signals Hg3 and Ig3 To the 4-bit CLA unit (85).

즉, 입력비트들의 조합인 캐리발생 및 전달신호 G15-G0, P14-P0, Pin가 제1 내지 제4 PCLA부(84-81)로 동시에 입력되면 각 PCLA 블럭의 최상위 가상캐리 H15, H11, H7, H3을 구하기 위한 그룹신호 Hg3-Hg0, Ig3-Ig0가 동시에 산출되어 상기 4비트 CLA부(85)로 출력된다.That is, if the carry generation and transfer signals G15-G0, P14-P0, and Pin, which are combinations of input bits, are simultaneously input to the first to fourth PCLA units 84-81, the top virtual carries H15, H11, H7 , H3-Hg0, Ig3-Ig0 for obtaining H3 are simultaneously calculated and output to the 4-bit CLA unit 85.

상기 4비트 CLA부(85)에서는 제1 내지 제4PCLA부(84-81)로부터 출력되는 그룹신호 Hg3-Hg0, Ig3-Ig0을 상기 수학식 20 내지 수학식 26에 적용하여 하위 3비트의 가상캐리(H11, H7, H3)과 상위 1비트의 가상캐리 H15를 구한 후 가상캐리 H3는 제2PCLA부(82)의 가상캐리 입력단으로, 가상캐리 H7는 제3PCLA부(83)의 가상캐리 입력단으로, 가상캐리 H11는 제4PCLA부(84)의 캐리입력단으로 출력한다.The 4-bit CLA unit 85 applies the group signals Hg3-Hg0 and Ig3-Ig0 output from the first to fourth PCL units 84-81 to Equation 20 to Equation 26 to calculate the lower 3 bits of the virtual carry The virtual carry H3 is input to the virtual carry input terminal of the second PCLA unit 82 and the virtual carry H7 is input to the virtual carry input terminal of the third PCLA unit 83 after the virtual carry H11, H7, H3, The virtual carry H11 is output to the carry input of the fourth PCLA unit 84. [

따라서, 제1PCLA부(81)는 입력비트들의 조합인 캐리발생 및 전달신호 G3-G0, P2-P0, Pin와 가상캐리 입력 Hin을 상기 수학식 20 내지 수학식 22에 적용하여 하위 3비트 가상캐리(H0-H2)를 구한다.Accordingly, the first PCLA unit 81 applies the carry generation and transmission signals G3-G0, P2-P0, and Pin, which are combinations of input bits, and the virtual carry input Hin to Equation (20) (H0-H2).

제2PCLA부(82)는 입력비트들의 조합인 캐리발생 및 전달신호 G7-G4, P6-P3와 CLA부(85)에서 출력되는 가상캐리입력 H3을 상기 수학식 20 내지 수학식 22에 적용하여 하위 3비트 가상캐리(H6-H4)을 구한다.The second PCLA unit 82 applies the carry generation and transmission signals G7-G4 and P6-P3, which are combinations of input bits, and the virtual carry input H3 outputted from the CLA unit 85 to the above equations (20) to (22) 3-bit virtual carry (H6-H4) is obtained.

제3PCLA부(83)는 입력비트들의 조합인 캐리발생 및 전달신호 G11-G8, P10-P7와 LA부(85)에서 출력되는 가상캐리 입력 H7을 상기 수학식 20 내지 수학식 22에 적용하여 하위 3비트 가상캐리(H10-H8)을 구한다.The third PCLA unit 83 applies the carry generation and transmission signals G11-G8 and P10-P7, which are combinations of input bits, and the virtual carry input H7 outputted from the LA unit 85 to the above equations (20) to (22) 3-bit virtual carry (H10-H8) is obtained.

제4PCLA부(84)는 입력비트들의 조합인 캐리발생 및 전달신호 G15-G12, P14-P11와 CLA부(85)에서 출력되는 가상캐리입력 H11을 상기 수학식 20 내지 수학식 22에 적용하여 하위 3비트 가상 캐리(H14-H12)을 구한다.The fourth PCLA unit 84 applies the carry generation and transmission signals G15-G12 and P14-P11, which are combinations of input bits, and the virtual carry input H11 outputted from the CLA unit 85 to the above equations (20) to (22) 3-bit virtual carry (H14-H12) is obtained.

즉, 16비트의 가상캐리 산출 과정을 보면 입력비트들의 조합인 캐리발생 및 전달신호 G15-G0, P14-P0, Pin와 가상 캐리 입력 Hin이 병렬 입력되어 동시에 그룹신호 Hg3-Hg0, Ig3-Ig0가 구해지고, 그룹신호 Hg3-Hg0, Ig3-Ig0를 이용하여 각 PCLA 블럭의 최상위 가상캐리가 구해지며, 각 PCLA 블럭의 최상위 가상캐리는 다음단의 PCLA 블럭의 가상캐리 입력단으로 입력되어 각 PCLA 블럭의 하위 가상캐리가 동시에 구해지는 병렬 연산이다.That is, in the 16-bit virtual carry calculation process, the carry generation and transfer signals G15-G0, P14-P0, Pin and the virtual carry input Hin, which are combinations of input bits, are input in parallel and group signals Hg3-Hg0 and Ig3-Ig0 And the most significant virtual carry of each PCLA block is obtained by using the group signals Hg3-Hg0 and Ig3-Ig0. The highest virtual carry of each PCLA block is input to the virtual carry input of the next stage PCLA block, It is a parallel operation in which the lower virtual carry is obtained simultaneously.

제9도는 상기 제8도의 16비트 PCLA를 본 발명의 제2실시예에 따른 64비트 PCLA로 확장한 것을 보여주는 블럭도이다.FIG. 9 is a block diagram showing the 16 bit PCLA of FIG. 8 expanded to a 64 bit PCLA according to a second embodiment of the present invention.

제9도를 보면, 제1 내지 제4 16비트 PCLA부(91-94)에서 입력비트들의 조합인 캐리발생 및 전달신호 G63-G0, P62-P0, Pin을 상기 수학식 24와 수학식 25에 적용하여 각 16비트 PCLA 블럭의 최상위 가상캐리를 구하기 위한 그룹신호 Hg3-Hg0, Ig3-Ig0을 동시에 구한 후 4비트 CLA부(95)로 출력한다.Referring to FIG. 9, the carry generation and transmission signals G63-G0, P62-P0, and Pin, which are combinations of input bits in the first to fourth 16-bit PCLA units 91-94, And simultaneously outputs the group signals Hg3-Hg0 and Ig3-Ig0 for obtaining the most significant virtual carry of each 16-bit PCLA block to the 4-bit CLA unit 95.

상기 4비트 CLA부(95)에서는 제1 내지 제4PCLA부(91-94)로부터 출력되는 그룹신호 Hg3-Hg0, Ig3-Ig0을 상기 수학식 20 내지 수학식 26에 적용하여 하위 3비트의 가상캐리(H47, H31, H15)과 상위 가상캐리(H63)를 구한 후 가상캐리 H15는 제2PCLA부(92)의 가상캐리 입력단으로, 가상캐리 H31는 제3PCLA부(93)의 가상캐리 입력단으로, 가상캐리 H47는 제4PCLA부(94)의 가상캐리 입력단으로 출력한다. 따라서, 제1PCLA부(91)는 입력비트들의 조합인 캐리발생 및 전달신호 G15-G0, P14-P0, Pin와 가상캐리 입력 Hin을 상기 수학식 20 내지 수학식 22에 적용하여 하위 15비트 가상캐리(H14-H0)을 구한다.The 4-bit CLA unit 95 applies the group signals Hg3-Hg0 and Ig3-Ig0 output from the first to fourth PCL units 91-94 to the above equations (20) to (26) The virtual carry H15 is transferred to the virtual carry input terminal of the second PCLA unit 92 and the virtual carry H31 is transferred to the virtual carry input terminal of the third PCLA unit 93 after obtaining the virtual carry H47, H31, H15 and the upper virtual carry H63, Carry H47 outputs to the virtual carry input of the fourth PCLA unit 94. [ Accordingly, the first PCLA unit 91 applies the carry generation and transfer signals G15-G0, P14-P0, and Pin, which are combinations of input bits, and the virtual carry input Hin to Equation (20) (H14-H0).

제2PCLA부(92)는 입력비트들의 조합인 캐리발생 및 전달신호 G31-G16, P30-P15와 4비트 CLA부(95)에서 출력되는 가상캐리 입력 H15을 상기 수학식 20 내지 수학식 22에 적용하여 하위 15비트 가상캐리(H30-H16)을 구한다.The second PCLA unit 92 applies the carry generation and transmission signals G31-G16 and P30-P15, which are combinations of input bits, and the virtual carry input H15 output from the 4-bit CLA unit 95, to Equations 20 to 22 To obtain the lower 15-bit virtual carry (H30-H16).

제3PCLA부(93)는 입력비트들의 조합인 캐리발생 및 전달신호 G47-G32, P46-P31와 4비트 CLA부(95)에서 출력되는 가상캐리 입력 H31을 상기 수학식 20 내지 수학식 22에 적용하여 하위 15비트 가상캐리(H46-H32)을 구한다.The third PCLA unit 93 applies the carry carry generation and transfer signals G47-G32 and P46-P31, which are combinations of input bits, and the virtual carry input H31 output from the 4-bit CLA unit 95 to Equation (20) to Equation To obtain the lower 15-bit virtual carry (H46-H32).

제4PCLA부(94)는 입력비트들의 조합인 캐리발생 및 전달신호 G63-G48, P62-P47와 4비트 CLA부(95)에서 출력되는 가상캐리 입력 H47을 상기 수학식 20 내지 수학식 22에 적용하여 하위 15비트 가상캐리(H62-H48)을 구한다.The fourth PCLA unit 94 applies the carry generation and transmission signals G63-G48 and P62-P47, which are combinations of input bits, and the virtual carry input H47 output from the 4-bit CLA unit 95 to the above equations (20) to To obtain the lower 15-bit virtual carry (H62-H48).

즉, 64비트의 가상캐리 산출 과정을 보면 입력비트들의 조합인 캐리발생 및 전달신호 G63-G0, P62-P0, Pin와 가상캐리 입력 Hin이 병렬 입력되어 동시에 그룹신호 Hg3-Hg0, Ig3-Ig0가 구해지고, 그룹신호 Hg3-Hg0, Ig3-Ig0를 이용하여 각 PCLA 블럭의 최상위 가상캐리가 구해지며, 각 PCLA 블럭의 최상위 가상캐리는 다음단의 PCLA 블럭의 가상캐리 입력단으로 입력되어 각 PCLA 블럭의 하위 가상캐리가 동시에 구해지는 병렬 연산이다.In other words, in the 64-bit virtual carry calculation process, the carry generation and transfer signals G63-G0, P62-P0, Pin and the virtual carry input Hin, which are combinations of input bits, are input in parallel and group signals Hg3-Hg0 and Ig3-Ig0 And the most significant virtual carry of each PCLA block is obtained by using the group signals Hg3-Hg0 and Ig3-Ig0. The highest virtual carry of each PCLA block is input to the virtual carry input of the next stage PCLA block, It is a parallel operation in which the lower virtual carry is obtained simultaneously.

또한, Gg를 구할때 실시예 1에서는 수학식 9에서와 같이 4팬인(fan-in)에 10개항, 20개의 입력(P와 G는 각각 A,B의 조합이므로)이 필요하지만, 실시예 2에서는 실제 캐리대신 가상캐리인 Hg를 구하면 수학식 24에서와 같이 4팬인에 7개항, 14개의 입력으로 줄어든다. 따라서, 입력이 줄어든 만큼 자체연산 속도가 줄어들며, 부하로서의 값도 그만큼 줄어들고, 면적 또한 감소하게 된다.In the first embodiment, 10 inputs and 20 inputs (since P and G are combinations of A and B, respectively) are required for the fan-in as in Equation (9) If the virtual carry Hg is obtained instead of the actual carry, it is reduced to 7 inputs and 14 inputs to 4 fans as shown in equation (24). Accordingly, as the input is reduced, the speed of the operation is reduced, the value as the load is reduced, and the area is also reduced.

한편, 연산결과인 합은 수학식 4에서와 같이On the other hand, the sum of the arithmetic operation results is expressed by Equation (4)

이다. 여기서,to be. here,

일반식을 구하면,When a general formula is obtained,

이다. 따라서, 합을 다시 정리하면,to be. Thus, summing the sum again,

가 된다..

이의 구현은 배타적 오아게이트를 이용하여 구현할 수도 있으며 제10도에서와 같이 멀티플렉서를 이용하여 구현할 수도 있다.This implementation may be implemented using an exclusive OR gate and may be implemented using a multiplexer as in FIG.

여기서, Hi-1=0이면 Si=Psi, Hi-1=1이면 Si=Pi-1 PSi가 되므로 Hi-1값을 선택신호로 사용하면 된다.Here, if Si = Psi and Hi- 1 = 1 when Hi- 1 = 0, Si = Pi- 1 PSi, the value of Hi -1 is used as the selection signal.

상기에서 Pi(Ai+Bi)는 Psi(AiBi)로 대체할 수 있으며, 빠른 속도를 위해 가상의 캐리를 구하는데는 Pi를, 합을 구하는데는 Psi를 이용하는 것이 낫다.Where Pi (Ai + Bi) is Psi (Ai Bi), it is better to use Pi to get the imaginary carry and Psi to get the sum.

이상에서와 같이 본 발명에 따른 가상캐리를 이용한 고속가산기에 의하면, 2진 입력신호 A, B 비트를 논리조합하여 캐리발생 및 전달신호를 생성하고 생성된 캐리발생 및 전달신호를 논리조합하여 각 CLA 블럭의 최종캐리를 구하기 위한 그룹신호를 만든 후 그룹신호와 최초 캐리입력의 조합으로 각 CLA 블럭의 최종캐리를 구한 후 이를 이용하여 각단 및 최종단의 캐리를 동시에 구하고, 또한, 상기 그룹 형태를 가상 캐리와 결합하여 합을 구함으로써, 연산속도를 3배이상 향상시켜 고속의 가산기를 구현할 수 있고 더불어, 디지탈 신호 처리기(Digital Signal Processor; DSP)의 고속 계산이 가능해진다.As described above, according to the fast adder using the virtual carry according to the present invention, the carry generation and transmission signals are generated by logically combining the binary input signals A and B, and the generated carry generation and transmission signals are logically combined, A group signal for obtaining a final carry of a block is generated, a final carry of each CLA block is obtained by a combination of a group signal and an initial carry input, and simultaneously, carries of each end and a final stage are simultaneously obtained, By combining the carry and carry, the operation speed can be improved by three times or more, and a high-speed adder can be implemented, and a high-speed calculation of a digital signal processor (DSP) becomes possible.

또한, 가산 입력비트를 쉽게 바꿀 수 있으므로 확장성이 좋고, 스탠다드 셀로 구성이 가능하므로 스탠다드 셀과의 인터페이스등이 필요없어 설계 및 구현이 용이해진다. 또한, 각 블럭마다 캐리들에 대해 0일때, 1일때를 모두 고려해주지 않아도 되므로 가산기 전체 면적이 줄어들어 큰 비트의 가산기 구성이 용이해진다.In addition, since the addition input bits can be easily changed, the expansion is good and the standard cell can be configured. Therefore, it is not necessary to interface with the standard cell and the design and implementation are facilitated. In addition, since it is not necessary to consider both 0s and 1s for the carry for each block, the total area of the adder is reduced, which facilitates the construction of a large bit adder.

Claims (3)

한쌍의 A 및 B 비트 입력과 캐리입력을 구비한 가산기에 있어서, 2진 입력신호 A 및 B 비트입력을 논리 조합하여 캐리발생신호 및 전달신호를 생성하는 캐리발생/전달신호 생성부와, 상기 캐리발생/전달신호 생성부에서 출력되는 캐리 발생 전달신호를 논리 조합하여 각 가상 캐리록어헤드블럭의 최상위 가상캐리를 구하기 위한 그룹신호를 발생시키고, 캐리 발생/전달신호와 전단의 가상캐리 입력을 논리 조합하여 각 가상캐리룩어헤드블록의 하위 가상캐리를 구하는 적어도 하나 이상으로 구성되는 N개의 가상 캐리록어헤드블럭과, 상기 N개의 가상 캐리룩어헤드 블럭으로 부터 출력되는 그룹신호와 최초 가상 캐리입력을 논리 조합하여 상기 각 가상 캐리 어헤드블럭의 최상위 가상 캐리를 구한 후 다음 단의 가상 캐리룩어헤드 블럭의 가상캐리입력단으로 인가하는 상위가상 캐리발생부를 포함하여 구성됨을 특징으로 하는 가상 캐리를 이용한 고속 가산기.An adder having a pair of A and B bit inputs and a carry input, comprising: a carry generating / transfer signal generating unit for generating a carry generation signal and a transfer signal by logically combining binary input signal A and B bit inputs; And generates a group signal for obtaining a top virtual carriage of each virtual carriear head block by logically combining the carry generation signals output from the generation / transmission signal generation unit, and outputs a carry signal, N virtual carrieur head blocks each including at least one or more than one virtual carry look-ahead head block for obtaining a sub-virtual carry of each virtual carry lookahead block, and a logical combination of a group signal output from the N virtual carry look- To obtain the uppermost virtual carry of each virtual carrier head block, and then to the virtual carry input of the next virtual carry lookahead block And a high-order virtual carry generator for applying the high-order virtual carry generator to the high-speed adder. 제1항에 있어서, 상기 가상캐리룩어헤드 블럭의 그룹신호(Hg, Ig)는 가상캐리(Hin)가 없는 항과 가상캐리가 있는 항으로 구분되게 구성됨을 특징으로 하는 가상캐리를 이용한 고속가산기.The high-speed adder according to claim 1, wherein the group signals (Hg, Ig) of the virtual carry lookahead block are divided into sections having no virtual carry (Hin) and sections having a virtual carry. 제1항에 있어서, 상기 상위 가상캐리발생수단은 캐리룩어헤드 블럭으로 이루어짐을 특징으로 하는 가상캐리를 이용한 고속가산기.The high-speed adder according to claim 1, wherein the upper virtual carry generating means comprises a carry lookahead block.
KR1019960038381A 1996-09-05 1996-09-05 High speed adder with pseudo carry KR100209656B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960038381A KR100209656B1 (en) 1996-09-05 1996-09-05 High speed adder with pseudo carry

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960038381A KR100209656B1 (en) 1996-09-05 1996-09-05 High speed adder with pseudo carry

Publications (2)

Publication Number Publication Date
KR19980020042A KR19980020042A (en) 1998-06-25
KR100209656B1 true KR100209656B1 (en) 1999-07-15

Family

ID=19472819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960038381A KR100209656B1 (en) 1996-09-05 1996-09-05 High speed adder with pseudo carry

Country Status (1)

Country Link
KR (1) KR100209656B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630236A (en) * 2021-07-21 2021-11-09 浪潮电子信息产业股份有限公司 SM3 data encryption method and related device

Also Published As

Publication number Publication date
KR19980020042A (en) 1998-06-25

Similar Documents

Publication Publication Date Title
US5327369A (en) Digital adder and method for adding 64-bit, 16-bit and 8-bit words
US6034546A (en) High performance product term based carry chain scheme
US5751622A (en) Structure and method for signed multiplication using large multiplier having two embedded signed multipliers
KR19980041753A (en) An adder for processing a plurality of data having different data types
US5477480A (en) Carry look ahead addition method and carry look ahead addition device
US4730266A (en) Logic full adder circuit
US6329838B1 (en) Logic circuits and carry-lookahead circuits
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
KR100209656B1 (en) High speed adder with pseudo carry
US5027311A (en) Carry select multiplexer
US5875125A (en) X+2X adder with multi-bit generate/propagate circuit
JP3356613B2 (en) Addition method and adder
JPH04233629A (en) Prefetching adder
US6003059A (en) Carry select adder using two level selectors
EP0954776B1 (en) System and method for a fast carry/sum select adder
US6546411B1 (en) High-speed radix 100 parallel adder
JPH08504525A (en) Improved high speed multiplier
JP2992588B2 (en) Adder circuit
JPH0149973B2 (en)
US5812437A (en) Programmable logic unit for arithmetic, logic and equality functions
US5835394A (en) Calculating selected sign 3 expression in a single instruction cycle
JP2765516B2 (en) Multiply-accumulate unit
US5944777A (en) Method and apparatus for generating carries in an adder circuit
JPS62219027A (en) Carry look-ahead circuit
KR100256103B1 (en) Method and apparatus for generating carry out signals

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050331

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee