KR20000044663A - Adder for area improvement - Google Patents
Adder for area improvement Download PDFInfo
- Publication number
- KR20000044663A KR20000044663A KR1019980061162A KR19980061162A KR20000044663A KR 20000044663 A KR20000044663 A KR 20000044663A KR 1019980061162 A KR1019980061162 A KR 1019980061162A KR 19980061162 A KR19980061162 A KR 19980061162A KR 20000044663 A KR20000044663 A KR 20000044663A
- Authority
- KR
- South Korea
- Prior art keywords
- carry
- signal
- output
- unit
- bits
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
- G06F7/502—Half adders; Full adders consisting of two cascaded half adders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/508—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
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
Description
본 발명은 연산 장치에 관한 것으로, 특히 제1 및 제2 데이터에 대한 가산 동작을 수행하는 가산기(adder)에 관한 것이다.The present invention relates to an arithmetic device, and more particularly to an adder for performing an addition operation on first and second data.
가산기는 프로세서(processor)의 처리 속도가 증가하고 멀티미디어(multimedia) 데이터 처리에 관한 사용자의 요구가 늘어남에 따라 디지털 신호 처리 프로세서(Digital Signal Processor), 고성능 마이크로프로세서(microprocessor) 및 마이크로컨트롤러(microcontroller) 등에서 다양하게 사용되고 있으며, 점차 처리하고자하는 데이터의 비트(bit) 수가 증가하고, 빠른 속도의 가산 동작이 요구되고 있다.Adders are used in digital signal processors, high performance microprocessors and microcontrollers as processor speed increases and users demand more multimedia data processing. It is used in various ways, and the number of bits of data to be processed gradually increases, and a fast addition operation is required.
빠른 동작 속도를 가지면서 가산할 데이터의 비트 수 확장이 용이한 캐리 선택 가산기(carry select adder)가 일반적으로 많이 사용되었다.Carry select adders, which have a high operating speed and easy to expand the number of bits of data to be added, are generally used.
도 1은 종래 기술에 따른 8비트 캐리 선택 가산기의 블록도를 도시한 것이다.1 shows a block diagram of an 8-bit carry select adder according to the prior art.
도면에 도시된 바와 같이, 8비트 캐리 선택 가산기는 가산할 제1 및 제2 데이터(A[7:0], B[7:0]) 중 하위 4비트(A[3:0], B[3:0])를 가산하여 하위 4비트에 대한 합(Sum[3:0])을 출력하는 하위 4비트 가산부(100)와, 상기 하위 4비트 가산부(100)로부터 캐리(carry)가 발생할 것(즉, C0=1)으로 가정하고 상기 하위 4비트 가산부(100)와 병렬로 제1 및 제2 데이터(A[7:0], B[7:0]) 중 상위 4비트(A[7:4], B[7:4])를 입력받아 가산하는 상위 4비트 가산부(110), 상기 하위 4비트 가산부(100)로부터 캐리가 발생하지 않을 것(즉, C0=0)으로 가정하고 상기 하위 4비트 가산부(100)와 병렬로 제1 및 제2 데이터(A[7:0], B[7:0]) 중 상위 4비트(A[7:4], B[7:4])를 입력받아 가산하는 상위 4비트 가산부(120), 하위 4비트 가산부(100)에서 발생되는 캐리 신호(C0)에 응답하여 상위 4비트 가산부(110)로부터의 상위 4비트에 대한 합(Sum1[7:4]) 및 상위 4비트 가산부(120)로부터의 상위 4비트에 대한 합(Sum0[7:4]) 중 하나를 선택하여 상위 4비트에 대한 최종 합(Sum[7:4])으로 출력하는 멀티플렉서(130), 하위 4비트 가산부(100)에서 발생되는 캐리 신호(C0)에 응답하여 상위 4비트 가산부(110)로부터 발생하는 캐리 신호(C1) 및 상위 4비트 가산부(120)로부터 발생하는 캐리 신호(C2) 중 하나를 선택하여 상위 4비트에 대한 최종 캐리 신호(COUT)로 출력하는 멀티플렉서(140)로 이루어진다.As shown in the figure, the 8-bit carry select adder adds the lower four bits A [3: 0], B [of the first and second data A [7: 0], B [7: 0] to be added. 3: 0]) to output a sum (Sum [3: 0]) for the lower 4 bits, and a carry from the lower 4 bits adder 100. Assuming that it will occur (ie, C0 = 1), the upper 4 bits of the first and second data A [7: 0] and B [7: 0] in parallel with the lower 4 bit adder 100 No carry occurs from the upper 4-bit adder 110 and the lower 4-bit adder 100 that receives and adds A [7: 4] and B [7: 4]) (ie, C0 = 0). ) And the upper four bits (A [7: 4], B of the first and second data A [7: 0], B [7: 0]) in parallel with the lower four-bit adder 100. [7: 4]) input from the upper four-bit adder 120 and the upper four-bit adder 110 in response to a carry signal C0 generated by the lower four-bit adder 100. Sum for 4 bits (Sum1 [7: 4]) and the sum (Sum0 [7: 4]) for the top 4 bits from the upper 4 bit adder 120 to select the final sum (Sum [7: 4]), the carry signal C1 generated from the upper four-bit adder 110 and the upper four bits in response to the carry signal C0 generated by the multiplexer 130 and the lower four-bit adder 100. The multiplexer 140 selects one of the carry signals C2 generated from the adder 120 and outputs the final carry signal COUT for the upper 4 bits.
도 1을 참조하여, 캐리 선택 가산기의 동작 원리를 아래에 설명한다.Referring to Fig. 1, the operation principle of the carry select adder is described below.
가산할 8비트의 제1 및 제2 데이터(A[7:0], B[7:0])를 각각 4비트씩 나누고, 하위 4비트 가산부(100)를 통해 하위 4비트에 대한 가산 동작을, 상위 4비트 가산부(110, 120)를 통해 상위 4비트에 대한 가산 동작을 동시에 수행한다. 이때, 하위 4비트 가산부(100)의 가산 동작이 완료되지 않은 상태에서 그 가산 동작에 의한 캐리 신호 발생 여부를 알 수 없으므로 일단 상위 4비트 가산부(110)는 하위 4비트 가산부(100)로부터 캐리 신호(C0)가 발생한다고 가정한 채 상위 4비트에 대한 가산 동작을 수행하고, 상위 4비트 가산부(120)는 하위 4비트 가산부(100)로부터 캐리 신호(C0)가 발생하지 않는다고 가정한 채 상위 4비트에 대한 가산 동작을 수행하고, 그 후 하위 4비트 가산부(100)의 가산 동작이 완료되어 출력되는 캐리 신호(C0)로 멀티플렉서(130, 140)에서 상위 4비트 가산부(110, 120)로부터 출력되는 합(Sum1[7:4], Sum0[7:4])과 캐리 신호(C1, C2) 중 하나를 각각 선택하여 최종 합(Sum[7:4]) 및 최종 캐리 신호(COUT)로 출력한다.The 8-bit first and second data (A [7: 0], B [7: 0]) to be added are divided into 4 bits, respectively, and an addition operation is performed for the lower 4 bits through the lower 4 bit adder 100. The adder for the upper 4 bits is simultaneously performed through the upper 4 bits adders 110 and 120. At this time, since it is not possible to know whether a carry signal is generated by the addition operation when the addition operation of the lower 4 bit adder 100 is not completed, the upper 4 bit adder 110 is the lower 4 bit adder 100. Assuming that a carry signal C0 is generated from the upper 4 bits, the add operation is performed, and the upper 4 bits adder 120 does not generate a carry signal C0 from the lower 4 bits adder 100. Assuming that an add operation is performed for the upper 4 bits, and then the add operation of the lower 4 bit adder 100 is completed, the upper 4 bit adder in the multiplexers 130 and 140 is output as a carry signal C0. Select one of sum (Sum1 [7: 4], Sum0 [7: 4]) and carry signals (C1, C2) output from (110, 120), respectively, and add the final sum (Sum [7: 4]) and the final one. Output by the carry signal (COUT).
따라서, 이러한 캐리 선택 가산기는 하위 비트에 대한 가산 동작이 완료된 후 상위 비트에 대한 가산 동작을 수행하는 다른 가산기에 비해 가산 속도가 빠르고, 가산할 데이터 비트 수의 확장성이 용이하다.Therefore, such a carry selection adder has a faster addition speed than other adders that perform an addition operation for the upper bits after the addition operation for the lower bits is completed, and the expandability of the number of data bits to be added is easy.
반면, 전술한 바와 같이 상위 4비트에 대한 가산 동작을 수행하는 추가의 가산 모듈과 이후 캐리 신호(C0)에 응답하여 동작하는 멀티플렉서로 인해 가산기의 전체 구현 면적이 증가하는 문제점이 있다.On the other hand, there is a problem that the total implementation area of the adder is increased due to the additional addition module performing the addition operation for the upper 4 bits and the multiplexer operating in response to the carry signal C0 as described above.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 가산할 제1 및 제2 데이터를 임의의 비트수로 나누어 각각 가산하여 부분합을 생성하고 캐리 예측 회로를 통해 그 부분합 결과에 대한 증가 여부를 결정하여 최종 가산 결과(최종합 및 최종 캐리 신호)를 출력하는, 면적 개선을 위한 가산기를 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, by dividing the first and second data to be added by an arbitrary number of bits, respectively, generating a subtotal, and determining whether to increase the subtotal result through a carry prediction circuit. The purpose is to provide an adder for area improvement, which outputs the final addition result (final sum and final carry signal).
도 1은 종래 기술에 따른 8비트 캐리 선택 가산기의 블록도.1 is a block diagram of an 8-bit carry select adder according to the prior art.
도 2는 본 발명에 따른 8비트 가산기의 일실시 블록도.2 is a block diagram of one embodiment of an 8-bit adder in accordance with the present invention.
도 3은 본 발명에 따른 8비트 가산기의 다른 일실시 블록도.3 is another embodiment block diagram of an 8-bit adder in accordance with the present invention.
도 4는 본 발명에 따른 상기 도 2 및 도 3의 증가부에 대한 내부 회로도.4 is an internal circuit diagram of the increasing part of FIGS. 2 and 3 according to the present invention;
도 5는 본 발명에 따른 32비트 가산기의 일실시 블록도.5 is a block diagram of one embodiment of a 32-bit adder in accordance with the present invention.
* 도면의 주요 부분에 대한 설명* Description of the main parts of the drawing
200 : 하위 4비트 가산부200: lower 4 bit adder
210 : 상위 4비트 가산부210: high 4 bit adder
220 : 증가부220: increasing portion
230 : 캐리 예측 회로부230: carry prediction circuit
상기 목적을 달성하기 위한 본 발명은 제1 내지 제N 비트로 이루어진 제1 데이터 및 제2 데이터를 가산하기 위한 N비트 가산기에 있어서, 상기 제1 및 제2 데이터를 임의의 M비트로 나누어 상기 M비트의 제1 데이터 및 상기 M비트의 제2 데이터에 대한 가산 연산을 각각 수행하는 제1 단위 가산 수단, 제2 단위 가산 수단 및 l(단, N = M × (l+2)임)개의 제3 단위 가산 수단을 포함하며, 상기 제1 단위 가산 수단은, 상기 제1 및 제2 데이터의 최하위 M비트에 대한 가산 연산을 수행하여 상기 최하위 M비트에 대한 합 및 제1 캐리 신호를 출력하고, 상기 제2 단위 가산 수단은, 상기 제1 및 제2 데이터의 그다음 제1 상위 M비트에 대한 가산 연산을 수행하여 M비트의 제1 부분합 및 제2 캐리 신호를 출력하는 제1 가산 회로부; 상기 제1 캐리 신호에 응답하여 상기 제1 가산 회로부로부터의 제1 부분합을 "1" 증가하기 위한 제1 증가 수단; 및 상기 제1 가산 회로부로부터의 제1 부분합 및 제2 캐리 신호와 상기 제1 캐리 신호를 입력받아 부분 캐리 신호를 예측하여 출력하는 제1 캐리 예측 회로부를 포함하며, 상기 l개의 제3 단위 가산 수단은 각각, 상기 제1 및 제2 데이터의 M비트에 대한 가산 연산을 수행하여 M비트의 부분합 및 캐리 신호를 출력하는 제2 가산 회로부; 해당 단위 가산 수단의 그전 하위 단위 가산 수단으로부터 출력되는 상기 부분 캐리 신호에 응답하여 상기 제2 가산 회로부로부터의 부분합을 "1" 증가하기 위한 제2 증가 수단; 및 상기 제2 가산 회로부로부터의 부분합 및 캐리 신호와 상기 부분 캐리 신호를 입력받아 최종 캐리 신호를 예측하여 출력하는 제2 캐리 예측 회로부를 포함하며, N비트의 상기 제1 및 제2 데이터에 대한 최종합은 상기 제1 단위 가산 수단, 상기 제1 및 제2 증가 수단으로부터 출력되는 것을 특징으로 한다.The present invention for achieving the above object is an N-bit adder for adding the first data and the second data consisting of the first to N-th bit, the first and second data is divided into an arbitrary M bit of the M bit A first unit adding means, a second unit adding means, and l (where N = M × (l + 2)) third units for performing addition operations on first data and the second data of M bits, respectively; And an adding means, wherein the first unit adding means performs an addition operation on the least significant M bits of the first and second data to output the sum and the first carry signal for the least significant M bits, and The two unit adding means may include: a first addition circuit unit configured to perform an addition operation on a next first higher M bit of the first and second data to output a first subtotal and a second carry signal of the M bits; First increasing means for "1" increasing a first subtotal from said first adding circuit portion in response to said first carry signal; And a first carry prediction circuit unit configured to receive a first partial sum and a second carry signal and the first carry signal from the first adder circuit unit, and to predict and output a partial carry signal, wherein the l third unit adding means A second addition circuit unit for performing an addition operation on the M bits of the first and second data to output a partial sum of the M bits and a carry signal, respectively; Second increasing means for incrementing the subtotal from the second adding circuit portion by one in response to the partial carry signal output from the previous lower unit adding means of the unit adding means; And a second carry prediction circuit unit configured to receive a partial sum and carry signal from the second addition circuit unit and the partial carry signal to predict and output a final carry signal, wherein the second carry prediction circuit unit is configured to estimate and output an N bit of the first and second data. The synthesis is output from the first unit adding means, the first and second increasing means.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do.
도 2는 본 발명에 따른 가산기의 일실시 블록도로서, 캐리 입력(CIN)이 없는 경우의 8비트 제1 및 제2 데이터에 대한 가산기이다.2 is an embodiment block diagram of an adder according to the present invention, which is an adder for 8-bit first and second data when there is no carry input (CIN).
도면에 도시된 바와 같이, 본 발명에 따른 8비트 가산기는 가산할 제1 및 제2 데이터(A[7:0], B[7:0]) 중 하위 4비트(A[3:0], B[3:0])를 가산하여 하위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout0)를 출력하고, 상기 하위 4비트에 대한 부분합(PS[3:0])을 가산기의 최종 합(Sum[3:0])으로 출력하는 하위 4비트 가산부(200), 가산할 제1 및 제2 데이터(A[7:0], B[7:0]) 중 상위 4비트(A[7:4], B[7:4])를 가산하여 상위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout1)를 출력하는 상위 4비트 가산부(210), 상기 하위 4비트 가산부(200)로부터의 캐리 신호(Cout0)에 응답하여 상위 4비트 가산부(210)로부터 출력되는 상위 4비트에 대한 부분합(PS[3:0])을 "1" 증가하여 최종 합(Sum[7:4])으로 출력하는 증가부(220) 및 상위 4비트 가산부(210)로부터 출력되는 상위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout1)와 하위 4비트 가산부(200)로부터의 캐리 신호(Cout0)를 입력받아 가산할 제1 및 제2 데이터(A[7:0], B[7:0])에 대한 최종 캐리 신호(COUT)를 예측하여 출력하는 캐리 예측 회로부(230)로 이루어진다.As shown in the figure, the 8-bit adder according to the present invention is the lower 4 bits A [3: 0], among the first and second data A [7: 0], B [7: 0] to be added. B [3: 0]) is added to output the subtotals PS [3: 0] and the carry signal Cout0 for the lower 4 bits, and the subtotals PS [3: 0] for the lower 4 bits. Lower 4 bit adder 200 outputting the final sum Sum [3: 0] of the adder, and upper 4 of the first and second data A [7: 0] and B [7: 0] to be added. Higher 4-bit adder 210 that adds bits A [7: 4] and B [7: 4] to output the subtotals PS [3: 0] and carry signal Cout1 for the upper 4 bits. In response to the carry signal Cout0 from the lower 4 bit adder 200, the partial sum PS [3: 0] for the upper 4 bits output from the upper 4 bit adder 210 is increased by “1”. Partial sum (PS [3: 0]) and carry signal (Cout1) for the upper four bits output from the incrementer 220 and the upper four-bit adder 210 that are output as the final sum Sum [7: 4]. ) And the final carry signal COUT for the first and second data A [7: 0] and B [7: 0] to be received by adding the carry signal Cout0 from the lower 4-bit adder 200. The carry prediction circuit unit 230 predicts and outputs the signal.
여기서, 캐리 예측 회로부(230)는 상위 4비트 가산부(210)로부터 출력되는 상위 4비트에 대한 부분합(PS[3:0])의 각 비트값을 입력받아 논리곱하는 논리곱 게이트(231), 논리곱 게이트(231)의 출력 신호와 하위 4비트 가산부(200)로부터의 캐리 신호(Cout0)를 입력받아 논리곱하는 논리곱 게이트(232) 및 상위 4비트 가산부(210)로부터의 캐리 신호(Cout1)와 논리곱 게이트(232)의 출력 신호를 입력받아 논리합하는 논리합 게이트(233)로 이루어진다.In this case, the carry prediction circuit 230 may include an AND gate 231 for receiving and logically multiplying each bit value of the partial sum PS [3: 0] for the upper 4 bits output from the upper 4 bit adder 210, The carry signal from the AND gate 232 and the upper 4-bit adder 210 that receive and output the output signal of the AND gate 231 and the carry signal Cout0 from the lower 4-bit adder 200. A logic sum gate 233 that receives the output signal of Cout1 and the AND gate 232 and performs an OR operation.
도 2를 참조하여, 본 발명에 따른 8비트 가산기의 동작 원리를 아래에 설명한다.Referring to Fig. 2, the operation principle of the 8-bit adder according to the present invention is described below.
가산할 8비트의 제1 및 제2 데이터(A[7:0], B[7:0])를 각각 4비트씩 나누고, 하위 4비트 가산부(200)를 통해 하위 4비트(A[3:0], B[3:0])에 대한 가산 동작을, 상위 4비트 가산부(210)를 통해 상위 4비트(A[7:4], B[7:4])에 대한 가산 동작을 수행하여, 하위 4비트 가산부(200)는 최종 합(Sum[3:0]) 및 캐리 신호(Cout0)를 출력하고 상위 4비트 가산부(210)는 부분합(PS[3:0]) 및 캐리 신호(Cout1)를 출력한다. 그리고, 증가부(220)는 상위 4비트 가산부(210)로부터 부분합(PS[3:0])을 입력받아 하위 4비트 가산부(200)로부터의 캐리 신호(Cout0)가 "1"일 때 부분합(PS[3:0])에 "1"을 가산하여 최종합(Sum[7:4])으로 출력하고, 하위 4비트 가산부(200)로부터의 캐리 신호(Cout0)가 "0"일 때 부분합(PS[3:0])을 그대로 최종합(Sum[7:4])으로 출력한다.The 8-bit first and second data A [7: 0] and B [7: 0] to be added are divided into 4 bits, respectively, and the lower 4 bits A [3] through the lower 4-bit adder 200. : 0], add operation for B [3: 0]), and add operation for upper 4 bits A [7: 4] and B [7: 4] through the upper 4-bit adder 210. The lower 4-bit adder 200 outputs the final sum Sum [3: 0] and the carry signal Cout0, and the upper 4-bit adder 210 performs the partial sum PS [3: 0] and The carry signal Cout1 is output. The incrementer 220 receives the partial sum PS [3: 0] from the upper 4-bit adder 210 and the carry signal Cout0 from the lower 4-bit adder 200 is "1". "1" is added to the partial sum PS [3: 0] and output as the final sum Sum [7: 4], and the carry signal Cout0 from the lower four-bit adder 200 is "0". In this case, the subtotals PS [3: 0] are output as the final sums Sum [7: 4].
한편, 상위 4비트 가산부(210)로부터 캐리 신호(Cout1)가 발생되거나(Cout1 = "1"), 하위 4비트 가산부(200)로부터 캐리 신호(Cout0)가 발생되고(Cout0 = "1") 상위 4비트 가산부(210)로부터의 부분합(PS[3:0])의 모든 비트값이 "1"인 경우에 제1 및 제2 데이터(A[7:0], B[7:0])에 대한 최종 캐리 신호(COUT)로 "1"이 출력된다. 따라서, 캐리 예측 회로부(230)는 논리곱 게이트(231)를 통해 부분합(PS[3:0])의 모든 비트값을 논리곱하고 그 논리곱 결과와 캐리 신호(Cout0)를 다시 논리곱한 후 캐리 신호(Cout1)와 논리합하여 최종 캐리 신호(COUT)를 출력한다.On the other hand, the carry signal Cout1 is generated from the upper 4 bit adder 210 (Cout1 = "1"), or the carry signal Cout0 is generated from the lower 4 bit adder 200 (Cout0 = "1"). ) First and second data A [7: 0] and B [7: 0 when all bit values of the subtotal PS [3: 0] from the upper four-bit adder 210 are "1". "1" is output as the final carry signal (COUT) for]). Therefore, the carry prediction circuitry 230 multiplies all the bit values of the partial sum PS [3: 0] through the AND gate 231, and then ORs the result of the AND and the carry signal Cout0 again. The final carry signal COUT is output in conjunction with (Cout1).
일예로, 본 발명의 가산기를 통해 8비트의 제1 데이터(A[7:0] = "11101010")와 제2 데이터(B[7:0] = "11011001")를 가산하는 경우를 설명한다. 먼저, 하위 4비트 가산부(200)로부터 "1010"과 "1001"에 대한 합(Sum[3:0]) "11"과 "1"의 캐리 신호(Cout0)가 출력되고, 상위 4비트 가산부(210)로부터 "1110"과 "1101"에 대한 부분합(PS[3:0]) "1011"과 "1"의 캐리 신호(Cout1)가 출력된다. 그리고, 증가부(220)에서는 "1"의 캐리 신호(Cout0)에 의해 부분합(PS[3:0])을 "1" 증가시킨 "1100"을 최종합(Sum[7:4])으로 출력한다. 따라서, 8비트의 제1 데이터(A[7:0] = "11101010")와 제2 데이터(B[7:0] = "11011001")를 가산한 최종 합(Sum[7:0]) "11000011"을 출력한다. 다음으로, "1"의 캐리 신호(Cout1)에 의해 캐리 예측 회로부(230)의 논리합 게이트(233)로부터 "1"의 최종 캐리 신호(COUT)가 출력된다.As an example, a case in which 8-bit first data A [7: 0] = "11101010" and second data B [7: 0] = "11011001" is added through the adder of the present invention. . First, the carry signal Cout0 of the sum (Sum [3: 0]) "11" and "1" for "1010" and "1001" is output from the lower four-bit adder 200, and the upper four bits are added. The carry signal Cout1 of "1011" and "1" is output from the unit 210 for the subtotals PS [3: 0] for "1110" and "1101". The increasing unit 220 outputs the final sum Sum [7: 4] by increasing the partial sum PS [3: 0] by 1 by the carry signal Cout0 of “1”. do. Therefore, the final sum sum (Sum [7: 0]) of 8-bit first data A [7: 0] = "11101010" and the second data B [7: 0] = "11011001" " 11000011 "is output. Next, the last carry signal COUT of "1" is output from the OR gate 233 of the carry prediction circuit 230 by the carry signal Cout1 of "1".
도 3은 본 발명에 따른 가산기의 다른 일실시 블록도로서, 캐리 입력(CIN)이 있는 경우의 8비트 제1 및 제2 데이터에 대한 가산기이다.3 is another block diagram of an adder according to the present invention, which is an adder for 8-bit first and second data in the case of a carry input (CIN).
도면에 도시된 바와 같이, 본 발명에 따른 8비트 가산기는 가산할 제1 및 제2 데이터(A[7:0], B[7:0]) 중 하위 4비트 데이터(A[3:0], B[3:0])를 가산하여 하위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout0)를 출력하는 하위 4비트 가산부(300), 가산할 제1 및 제2 데이터(A[7:0], B[7:0]) 중 상위 4비트(A[7:4], B[7:4])를 가산하여 상위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout1)를 출력하는 상위 4비트 가산부(310), 캐리 입력 신호(CIN)에 응답하여 하위 4비트 가산부(300)로부터 출력되는 하위 4비트에 대한 부분합(PS[3:0])을 "1" 증가하여 최종 합(Sum[3:0])으로 출력하는 증가부(320), 하위 4비트 가산부(300)로부터 출력되는 하위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout0)와 캐리 입력 신호(CIN)를 입력받아 제1 및 제2 데이터(A[7:0], B[7:0])의 하위 4비트에 대한 부분 캐리 신호(PC)를 예측하여 출력하는 캐리 예측 회로부(340), 캐리 예측 회로부(340)로부터의 부분 캐리 신호(PC)에 응답하여 상위 4비트 가산부(310)로부터 출력되는 상위 4비트에 대한 부분합(PS[3:0])을 "1" 증가하여 최종 합(Sum[7:4])으로 출력하는 증가부(330) 및 상위 4비트 가산부(310)로부터 출력되는 상위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout1)와 캐리 예측 회로부(340)로부터의 부분 캐리 신호(PC)를 입력받아 가산할 제1 및 제2 데이터(A[7:0], B[7:0])에 대한 최종 캐리 신호(COUT)를 예측하여 출력하는 캐리 예측 회로부(350)로 이루어진다.As shown in the figure, the 8-bit adder according to the present invention is the lower 4 bit data A [3: 0] of the first and second data A [7: 0] and B [7: 0] to be added. , The lower four-bit adder 300 for outputting the partial sum PS [3: 0] and the carry signal Cout0 for the lower four bits by adding B [3: 0]), and the first and second to be added. Add the upper four bits (A [7: 4], B [7: 4]) of the data (A [7: 0], B [7: 0]) to add the subtotals of the upper four bits (PS [3: 0] ]) And a partial sum (PS [3] of the lower four bits output from the lower four-bit adder 300 in response to the carry input signal CIN and the upper four-bit adder 310 for outputting the carry signal Cout1. : 0]) increases by 1 and outputs the final sum Sum [3: 0] as an incrementer 320 and a partial sum PS4 of the lower 4 bits output from the lower 4 bits adder 300. : 0]) and the partial carry signal for the lower 4 bits of the first and second data A [7: 0] and B [7: 0] by receiving the carry signal Cout0 and the carry input signal CIN. Yes (PC) In response to the partial carry signal PC from the carry prediction circuit unit 340 and the carry prediction circuit unit 340 outputting side by side, the partial sum PS 4 of the upper four bits output from the upper four bit adder 310 (PS [3:]). 0]) is increased by “1” and the sub-sum (PS [3 :) for the upper four bits output from the increasing unit 330 and the upper four-bit adding unit 310 that are output as the final sum Sum [7: 4]. 0]) and first and second data A [7: 0] and B [7: 0] to be received by adding the carry signal Cout1 and the partial carry signal PC from the carry prediction circuit unit 340. The carry prediction circuit unit 350 predicts and outputs a final carry signal COUT.
여기서, 캐리 예측 회로부(340)는 하위 4비트 가산부(300)로부터 출력되는 하위 4비트에 대한 부분합(PS[3:0])의 각 비트값을 입력받아 논리곱하는 논리곱 게이트(341), 논리곱 게이트(341)의 출력 신호와 캐리 입력 신호(CIN)를 입력받아 논리곱하는 논리곱 게이트(342) 및 하위 4비트 가산부(300)로부터의 캐리 신호(Cout0)와 논리곱 게이트(342)의 출력 신호를 입력받아 논리합하는 논리합 게이트(343)로 이루어진다.In this case, the carry prediction circuit unit 340 may receive a logical AND gate 341 for receiving and bitwise multiplying each bit value of the partial sum PS [3: 0] for the lower 4 bits output from the lower 4 bit adder 300; A carry signal Cout0 and an AND gate 342 from the AND gate 342 and the lower four-bit adder 300 that receive and AND the output signal of the AND gate 341 and the carry input signal CIN. And an OR gate 343 for receiving an OR signal.
또한, 캐리 예측 회로부(350)는 상위 4비트 가산부(310)로부터 출력되는 상위 4비트에 대한 부분합(PS[3:0])의 각 비트값을 입력받아 논리곱하는 논리곱 게이트(351), 논리곱 게이트(351)의 출력 신호와 캐리 예측 회로부(340)로부터의 부분 캐리 신호(PC)를 입력받아 논리곱하는 논리곱 게이트(352) 및 상위 4비트 가산부(310)로부터의 캐리 신호(Cout1)와 논리곱 게이트(352)의 출력 신호를 입력받아 논리합하는 논리합 게이트(353)로 이루어진다.In addition, the carry prediction circuit unit 350 may receive a logical AND gate 351 for receiving and bitwise multiplying each bit value of the partial sum PS [3: 0] for the upper four bits output from the upper four bit adder 310, Logic gate 352 for receiving and outputting the output signal of the AND gate 351 and the partial carry signal PC from the carry prediction circuit unit 340 and the carry signal Cout1 from the upper 4 bit adder 310. ) And an OR gate 353 for receiving and outputting the output signal of the AND gate 352.
도 3을 참조하여, 캐리 입력 신호(CIN)가 있는 경우에서의 본 발명에 따른 8비트 가산기의 동작 원리를 아래에 설명한다.Referring to Fig. 3, the operation principle of the 8-bit adder according to the present invention when there is a carry input signal CIN is described below.
가산할 8비트의 제1 및 제2 데이터(A[7:0], B[7:0])를 각각 4비트씩 나누고, 하위 4비트 가산부(300)를 통해 하위 4비트(A[3:0], B[3:0])에 대한 가산 동작을, 상위 4비트 가산부(310)를 통해 상위 4비트(A[7:4], B[7:4])에 대한 가산 동작을 수행하여, 하위 4비트 가산부(300)는 하위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout0)를 출력하고 상위 4비트 가산부(310)는 상위 4비트에 대한 부분합(PS[3:0]) 및 캐리 신호(Cout1)를 출력한다. 그리고, 증가부(320)는 하위 4비트 가산부(300)로부터 부분합(PS[3:0])을 입력받아 캐리 입력 신호(CIN)가 "1"일 때 하위 4비트에 대한 부분합(PS[3:0])에 "1"을 가산하여 최종합(Sum[3:0])으로 출력하고, 캐리 입력 신호(CIN)가 "0"일 때 하위 4비트에 대한 부분합(PS[3:0])을 그대로 최종합(Sum[3:0])으로 출력한다. 한편, 하위 4비트 가산부(300)로부터 캐리 신호(Cout0)가 발생되거나(Cout0 = "1"), 캐리 입력 신호(CIN)가 "1"이고 하위 4비트 가산부(300)로부터의 부분합(PS[3:0])의 모든 비트값이 "1"인 경우에 제1 및 제2 데이터(A[7:0], B[7:0])의 하위 4비트에 대한 부분 캐리 신호(PC)로 "1"이 출력된다. 따라서, 캐리 예측 회로부(340)는 논리곱 게이트(341)를 통해 하위 4비트에 대한 부분합(PS[3:0])의 모든 비트값을 논리곱하고 그 논리곱 결과와 캐리 입력 신호(CIN)를 다시 논리곱한 후 캐리 신호(Cout0)와 논리합하여 부분 캐리 신호(PC)를 출력한다.The eight bits of the first and second data A [7: 0] and B [7: 0] to be added are divided into four bits, respectively, and the lower four bits A [3] are added through the lower four-bit adder 300. : 0], add operation for B [3: 0]), and add operation for upper 4 bits A [7: 4] and B [7: 4] through upper 4 bit adder 310. The lower 4 bit adder 300 outputs a subtotal PS [3: 0] and a carry signal Cout0 for the lower 4 bits, and the upper 4 bit adder 310 subtotals the upper 4 bits. (PS [3: 0]) and the carry signal Cout1 are output. The incrementer 320 receives the partial sum PS [3: 0] from the lower four-bit adder 300, and when the carry input signal CIN is "1", the incrementer PS [ 3: 0]) and adds "1" to the final sum (Sum [3: 0]). When the carry input signal (CIN) is "0", the subtotal (PS [3: 0] for the lower 4 bits is added. ]) Is output as the final sum (Sum [3: 0]). On the other hand, the carry signal Cout0 is generated from the lower 4 bit adder 300 (Cout0 = "1"), or the carry input signal CIN is "1" and the partial sum from the lower 4 bit adder 300 ( The partial carry signal PC for the lower four bits of the first and second data A [7: 0], B [7: 0] when all the bit values of PS [3: 0] are "1". "1" is output. Accordingly, the carry prediction circuit unit 340 performs an AND operation on the bit-wise gate 341 to logically multiply all the bit values of the subtotals PS [3: 0] for the lower four bits, and to multiply the result of the AND and the carry input signal CIN. After the logical multiplication, the logic unit performs a logic OR with the carry signal Cout0 to output a partial carry signal PC.
그리고, 증가부(330)는 상위 4비트 가산부(310)로부터 부분합(PS[3:0])을 입력받아 부분 캐리 신호(PC)가 "1"일 때 상위 4비트에 대한 부분합(PS[3:0])에 "1"을 가산하여 최종합(Sum[7:4])으로 출력하고, 부분 캐리 신호(PC)가 "0"일 때 상위 4비트에 대한 부분합(PS[3:0])을 그대로 최종합(Sum[7:4])으로 출력한다. 한편, 상위 4비트 가산부(310)로부터 캐리 신호(Cout1)가 발생되거나(Cout1 = "1"), 부분 캐리 신호가 "1"이고 상위 4비트 가산부(310)로부터의 부분합(PS[3:0])의 모든 비트값이 "1"인 경우에 제1 및 제2 데이터(A[7:0], B[7:0])에 대한 최종 캐리 신호(COUT)로 "1"이 출력된다. 따라서, 캐리 예측 회로부(350)는 논리곱 게이트(351)를 통해 상위 4비트에 대한 부분합(PS[3:0])의 모든 비트값을 논리곱하고 그 논리곱 결과와 부분 캐리 신호(PC)를 다시 논리곱한 후 캐리 신호(Cout1)와 논리합하여 최종 캐리 신호(COUT)를 출력한다.The incrementer 330 receives the partial sum PS [3: 0] from the upper four bit adder 310 and, when the partial carry signal PC is “1”, the incremental sum PS for the upper four bits. 3: 0]) and adds "1" to the final sum (Sum [7: 4]), and when the partial carry signal PC is "0", the partial sum (PS [3: 0) for the upper 4 bits. ]) Is output as the final sum (Sum [7: 4]). On the other hand, the carry signal Cout1 is generated from the upper 4 bit adder 310 (Cout1 = "1"), or the partial carry signal is "1" and the partial sum from the upper 4 bit adder 310 (PS [3]). "1" is output as the final carry signal COUT for the first and second data A [7: 0], B [7: 0] when all bit values of: 0]) are "1". do. Therefore, the carry prediction circuit unit 350 multiplies all the bit values of the subtotals PS [3: 0] for the upper four bits through the AND gate 351 and multiplies the AND result and the partial carry signal PC. After the logical multiplication again, the logical AND of the carry signal (Cout1) and outputs the final carry signal (COUT).
일예로, 캐리 입력 신호(CIN)가 "1"일 때 상기 도 3의 본 발명에 따른 가산기를 통해 8비트의 제1 데이터(A[7:0] = "11101010")와 제2 데이터(B[7:0] = "11011001")를 가산하는 경우를 설명한다. 먼저, 하위 4비트 가산부(300)로부터 "1010"과 "1001"에 대한 부분합(PS[3:0]) "11"과 "1"의 캐리 신호(Cout0)가 출력되고, 상위 4비트 가산부(310)로부터 "1110"과 "1101"에 대한 부분합(PS[3:0]) "1011"과 "1"의 캐리 신호(Cout1)가 출력된다. 그리고, 증가부(320)에서는 "1"의 캐리 입력 신호(CIN)에 의해 부분합(PS[3:0]) "11"을 "1" 증가시킨 "100"을 최종합(Sum[3:0])으로 출력하고, "1"의 캐리 신호(Cout0)에 의해 캐리 예측 회로부(340)의 논리합 게이트(343)로부터 "1"의 부분 캐리 신호(PC)가 출력된다.For example, when the carry input signal CIN is "1", the 8-bit first data A [7: 0] = "11101010" and the second data B through the adder according to the present invention of FIG. [7: 0] = "11011001") will be described. First, a carry signal (Cout0) of "11" and "1" is output from the lower 4 bit adder 300 for the subtotals PS [3: 0] for "1010" and "1001", and the upper 4 bits are added. The carry signal Cout1 of the subtotals PS [3: 0], "1011" and "1" for "1110" and "1101" is output from the unit 310. Then, the incrementing unit 320 adds the final sum "Sum [3: 0" in which the partial sum PS [3: 0] "11" is increased by "1" by the carry input signal CIN of "1". ], And the partial carry signal PC of "1" is output from the OR gate 343 of the carry prediction circuit part 340 by the carry signal Cout0 of "1".
또한, 증가부(330)에서는 "1"의 부분 캐리 신호(PC)에 의해 상위 4비트에 대한 부분합(PS[3:0]) "1011"을 "1" 증가시킨 "1100"을 최종합(Sum[7:4])으로 출력한다. 따라서, 캐리 입력 신호(CIN)가 "1"일 때 8비트의 제1 데이터(A[7:0] = "11101010")와 제2 데이터(B[7:0] = "11011001")를 가산한 최종 합(Sum[7:0]) "11000100"을 출력한다. 다음으로, "1"의 캐리 신호(Cout1)에 의해 캐리 예측 회로부(350)의 논리합 게이트(353)로부터 "1"의 최종 캐리 신호(COUT)가 출력된다.In addition, the increment unit 330 finally adds "1100" by increasing the partial sum signal PS [3: 0] "1011" for the upper 4 bits by "1" by the partial carry signal PC of "1". Sum [7: 4]). Therefore, when the carry input signal CIN is "1", 8-bit first data A [7: 0] = "11101010" and second data B [7: 0] = "11011001" are added. It outputs one final sum (Sum [7: 0]) "11000100". Next, the last carry signal COUT of "1" is output from the OR gate 353 of the carry prediction circuit unit 350 by the carry signal Cout1 of "1".
도 4는 본 발명에 따른 상기 도 2 및 도 3의 증가부에 대한 내부 회로도로서, 4비트의 입력 신호(IN[3:0])(상기 도 2 및 도 3의 부분합(PS[3:0]))와 제어 신호(Control)(상기 도 2의 캐리 신호(Cout0) 또는 상기 도 3의 부분 캐리 신호(PC) 또는 캐리 입력 신호(CIN))를 입력받아 동작한다.FIG. 4 is an internal circuit diagram of the increasing part of FIGS. 2 and 3 according to the present invention, and includes a 4-bit input signal IN [3: 0] (partial sum PS of FIGS. 2 and 3 PS [3: 0]). )) And a control signal Control (the carry signal Cout0 of FIG. 2 or the partial carry signal PC or the carry input signal CIN of FIG. 3) are operated.
도면에 도시된 바와 같이, 증가부는 입력 신호(IN[0]) 및 제어 신호(Control)를 입력받아 배타적 논리합하는 배타적 논리합 게이트(400), 입력 신호(IN[0]) 및 제어 신호(Control)를 입력받아 논리곱하는 논리곱 게이트(401), 입력 신호(IN[1]) 및 논리곱 게이트(401)로부터의 신호를 입력받아 배타적 논리합하는 배타적 논리합 게이트(402), 입력 신호(IN[0:1]) 및 제어 신호(Control)를 입력받아 논리곱하는 논리곱 게이트(403), 입력 신호(IN[2]) 및 논리곱 게이트(403)로부터의 신호를 입력받아 배타적 논리합하는 배타적 논리합 게이트(404), 입력 신호(IN[0:2]) 및 제어 신호(Control)를 입력받아 논리곱하는 논리곱 게이트(405), 입력 신호(IN[3]) 및 논리곱 게이트(405)로부터의 신호를 입력받아 배타적 논리합하는 배타적 논리합 게이트(406)로 이루어지며, 배타적 논리합 게이트(400, 402, 404, 406)로부터 출력 신호(OUT[0:3])(상기 도 2 및 도 3의 Sum)가 각각 출력된다.As shown in the figure, the increasing unit receives an exclusive OR by receiving an input signal IN [0] and a control signal Control 400, an input signal IN [0], and a control signal Control. The logical AND gate 401 for receiving and logically multiplying the input signal IN [1] and the exclusive logical OR gate 402 for receiving the exclusive OR of the signals from the AND gate 401 and the input signal IN [0: 1]) and an exclusive OR gate 404 that receives and ORs a signal from an AND signal IN, an input signal IN [2], and an AND gate 403. ), A signal from an AND gate 405, an input signal IN [3], and an AND gate 405 that receive and AND the input signal IN [0: 2] and the control signal Control. An exclusive AND gate 406 that receives and ORs exclusively, and includes an exclusive AND gates 400, 402, 404, The output signal OUT [0: 3] (Sum in Figs. 2 and 3 above) is output from the 406, respectively.
즉, N번째 출력 신호(OUT[N])는 제어 신호가 "1"이고 입력 신호[N-1:0]의 모든 비트가 "1"일 때 입력 신호(IN[N])가 반전되어 출력되고, 나머지 경우에는 입력 신호(IN[N])가 그대로 출력된다.That is, the Nth output signal OUT [N] is output when the control signal is "1" and all the bits of the input signal [N-1: 0] are "1" and the input signal IN [N] is inverted. In other cases, the input signal IN [N] is output as it is.
도 5는 본 발명에 따른 32비트 가산기의 일실시 블록도로서, 상기 도 2 및 상기 도 3의 8비트 가산기를 이용하여 구현된 32비트 가산기이다.5 is a block diagram of an embodiment of a 32-bit adder according to the present invention, which is a 32-bit adder implemented using the 8-bit adder of FIGS. 2 and 3.
도면에 도시된 바와 같이, 본 발명에 따른 32비트 가산기는 가산할 제1 및 제2 데이터(A[31:0], B[31:0])를 8비트씩 나누어 가산 동작을 수행한다. 최하위 8비트에 대한 가산 동작을 수행하는 8비트 가산기(500)는 캐리 입력 신호가 없는 상기 도 2의 8비트 가산기로 구현하고, 나머지 8비트 가산기(510 내지 530)는 캐리 입력 신호가 있는 상기 도 3의 8비트 가산기로 구현한다. 따라서, 가산할 데이터의 비트수가 증가하더라도 상기 도 5와 같은 가산기들의 직렬 구성으로 간단히 구현할 수 있다.As shown in the figure, the 32-bit adder according to the present invention divides the first and second data A [31: 0] and B [31: 0] to be added by 8 bits to perform an addition operation. An 8-bit adder 500 that performs an addition operation for the least significant 8-bit is implemented by the 8-bit adder of FIG. 2 without a carry input signal, and the remaining 8-bit adders 510 to 530 have the carry input signal. Implemented by three 8-bit adders. Therefore, even if the number of bits of data to be added increases, it is possible to simply implement the serial configuration of the adders as shown in FIG.
여기서, 상기 도 5에 도시된 32비트 가산기의 크리티컬 경로 딜레이(critical path delay)를 계산해본다. 먼저, 8비트 가산기의 캐리 신호(Cout0)까지의 딜레이는 "4비트 가산부의 Cout0 연산 딜레이" + "캐리 예측 회로부의 연산 딜레이"가 되고, "캐리 예측 회로부의 연산 딜레이"는 "2입력 논리곱 게이트 딜레이" + "2입력 논리합 게이트 딜레이"로, 4입력 논리곱 게이트의 딜레이는 부분합(PS[3:0])의 출력 시간이 Cout0의 출력 시간 보다 짧기 때문에 상쇄될 수 있다.Here, the critical path delay of the 32-bit adder shown in FIG. 5 is calculated. First, the delay up to the carry signal Cout0 of the 8-bit adder is " Cout0 operation delay of the 4-bit adder " + " operation delay of the carry prediction circuit ", and " arithmetic delay of the carry prediction circuit " Gate delay " + " two input AND gate delay ", the delay of the four input AND gate can be canceled because the output time of the subtotal PS [3: 0] is shorter than the output time of Cout0.
따라서, 본 발명에 따른 32비트 가산기의 전체 딜레이는 "4비트 가산기의 Cout0 연산 딜레이" + "2입력 논리곱 게이트 딜레이 × 7" + "2입력 논리합 게이트 딜레이 × 7"이 된다.Therefore, the total delay of the 32-bit adder according to the present invention is " Cout0 operation delay of the 4-bit adder " + " 2 input AND gate delay × 7 " + " 2 input AND gate delay × 7 ".
반면, 종래의 캐리 선택 가산기를 사용하여 32비트 가산기를 구성할 경우 전체 딜레이는 "4비트 가산기의 Cout0 연산 딜레이" + "2:1 멀티플렉서 딜레이 × 7"이 된다.On the other hand, when a 32-bit adder is configured using a conventional carry select adder, the total delay becomes "Cout0 operation delay of a 4-bit adder" + "2: 1 multiplexer delay x 7".
결과적으로, 2:1 멀티플렉서 딜레이가 2개의 게이트 딜레이와 동일한 경우에 종래의 캐리 선택 가산기에 비해 보다 작은 면적으로 동일한 연산 속도를 가지는 본 발명의 가산기를 구성할 수 있다.As a result, when the 2: 1 multiplexer delay is equal to two gate delays, it is possible to construct the adder of the present invention having the same operation speed with a smaller area compared to the conventional carry select adder.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.
상기와 같이 이루어지는 본 발명은, 가산할 제1 및 제2 데이터를 임의의 비트수로 나누어 각각 가산하여 부분합을 생성하고 캐리 예측 회로를 통해 생성된 부분합 결과에 대한 증가 여부를 결정하여 최종합 및 최종 캐리 신호를 출력하도록 구성함으로써 종래의 가산기와 동일한 연산 속도를 유지하면서 구현 면적을 줄일 수 있다.According to the present invention as described above, the first and second data to be added are divided by an arbitrary number of bits, and each is added to generate a subtotal, and the final sum and the final are determined by determining whether to increase the result of the subtotal generated through the carry prediction circuit. By implementing the carry signal, the implementation area can be reduced while maintaining the same operation speed as the conventional adder.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980061162A KR20000044663A (en) | 1998-12-30 | 1998-12-30 | Adder for area improvement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980061162A KR20000044663A (en) | 1998-12-30 | 1998-12-30 | Adder for area improvement |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000044663A true KR20000044663A (en) | 2000-07-15 |
Family
ID=19567918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980061162A KR20000044663A (en) | 1998-12-30 | 1998-12-30 | Adder for area improvement |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20000044663A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842085B2 (en) | 2013-01-28 | 2017-12-12 | Samsung Electronics Co., Ltd. | Adder capable of supporting addition and subtraction of up to n-bit data and method of supporting addition and subtraction of a plurality of data type using the adder |
-
1998
- 1998-12-30 KR KR1019980061162A patent/KR20000044663A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842085B2 (en) | 2013-01-28 | 2017-12-12 | Samsung Electronics Co., Ltd. | Adder capable of supporting addition and subtraction of up to n-bit data and method of supporting addition and subtraction of a plurality of data type using the adder |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5273866B2 (en) | Multiplier / accumulator unit | |
US3993891A (en) | High speed parallel digital adder employing conditional and look-ahead approaches | |
EP0585619B1 (en) | Method of detecting zero condition of arithmetic or logical computation result, and circuit for same | |
US5633819A (en) | Inexact leading-one/leading-zero prediction integrated with a floating-point adder | |
US9146707B2 (en) | Generating a fast 3x multiplicand term for radix-8 booth multiplication | |
US7617269B2 (en) | Logic entity with two outputs for efficient adder and other macro implementations | |
US8429213B2 (en) | Method of forcing 1's and inverting sum in an adder without incurring timing delay | |
JP2789577B2 (en) | Addition overflow detection circuit | |
US6329838B1 (en) | Logic circuits and carry-lookahead circuits | |
US7024445B2 (en) | Method and apparatus for use in booth-encoded multiplication | |
US5235539A (en) | Method and apparatus for generating carry out signals | |
Seidel et al. | How many logic levels does floating-point addition require? | |
US5875125A (en) | X+2X adder with multi-bit generate/propagate circuit | |
US6269385B1 (en) | Apparatus and method for performing rounding and addition in parallel in floating point multiplier | |
EP1296223A2 (en) | Adder incrementer circuit | |
US6484193B1 (en) | Fully pipelined parallel multiplier with a fast clock cycle | |
KR20000044663A (en) | Adder for area improvement | |
US5635858A (en) | Zero-stopping incrementers | |
KR102286101B1 (en) | Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation | |
US7386583B2 (en) | Carry generator based on XOR, and conditional select adder using the carry generator, and method therefor | |
US6182105B1 (en) | Multiple-operand addition with intermediate saturation | |
US20060031279A1 (en) | Highly parallel structure for fast multi cycle binary and decimal adder unit | |
US6631393B1 (en) | Method and apparatus for speculative addition using a limited carry | |
EP0508627B1 (en) | Method and apparatus for generating carry out signals | |
US20060242219A1 (en) | Asynchronous multiplier |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |