KR100513160B1 - 감소된 면적을 갖는 캐리 예측 가산기 - Google Patents

감소된 면적을 갖는 캐리 예측 가산기 Download PDF

Info

Publication number
KR100513160B1
KR100513160B1 KR10-2003-0075541A KR20030075541A KR100513160B1 KR 100513160 B1 KR100513160 B1 KR 100513160B1 KR 20030075541 A KR20030075541 A KR 20030075541A KR 100513160 B1 KR100513160 B1 KR 100513160B1
Authority
KR
South Korea
Prior art keywords
carry
adder
bit
unit
prediction
Prior art date
Application number
KR10-2003-0075541A
Other languages
English (en)
Other versions
KR20050040355A (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 KR10-2003-0075541A priority Critical patent/KR100513160B1/ko
Priority to US10/740,444 priority patent/US20050091299A1/en
Publication of KR20050040355A publication Critical patent/KR20050040355A/ko
Application granted granted Critical
Publication of KR100513160B1 publication Critical patent/KR100513160B1/ko

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

Abstract

본 발명은 캐리 예측(CLA : Carry Look-Ahead) 가산기에 관한 것이다. 캐리 예측 가산기는 일반적으로 4비트 단위로 구성되고, 각 4비트 캐리 예측 가산기는 캐리 예측 발생기와 결합하여 더 큰 단위의 입력 신호를 처리할 수 있는 캐리 예측 가산기가 구성된다. 본 발명의 캐리 예측 가산기에서는 내부의 캐리를 생성할 때 캐리 발생 함수와 캐리 전달 함수를 이용하지 않고 각 비트에 대한 캐리를 전단 비트의 캐리를 이용하여 순차적으로 계산함으로써, 어느 정도의 전파 지연은 감수하면서 논리 게이트 회로를 단순화시킬 수 있다.

Description

감소된 면적을 갖는 캐리 예측 가산기{CARRY LOOK-AHEAD ADDER HAVING REDUCED AREA}
본 발명은 캐리 예측(CLA : Carry Look-Ahead) 가산기에 관한 것으로서, 더욱 상세하게는 논리 게이트 회로(logic gate circuit)로서 구현될 때 가산기의 전체 면적이 감소될 수 있는 캐리 예측 가산기에 관한 것이다.
고속 가산기는 디지털 시스템에 있어서 가산 연산 뿐만 아니라 감산, 승산 및 제산 연산에도 사용되는 가장 기본적이고 중요한 연산 처리기이다. 디지털 신호 처리기(DSP : Digital Signal Processor)나 중앙 처리 유닛(CPU : Central Processing Unit) 등의 수치 연산용 프로세서의 성능은 가산기의 성능에 크게 의존하므로, 고속 가산기에 대한 연구는 1950년대 이후로 꾸준하게 이루어져 왔다.
가산기로서 널리 사용되고 있는 캐리 전파 가산기(Carry Propagation Adder 또는 Ripple Carry Adder)는 간단한 구성을 가지며 논리 게이트 회로로서 구현될 때의 면적이 작지만, 캐리 전파 지연으로 인해 연산속도가 매우 느리다. n 비트의 입력을 처리할 수 있는 캐리 전파 가산기는 n개의 직렬 연결된 전가산기(full adder)로 구성되며, 각 전가산기로부터의 캐리 전파 지연으로 인해 가산기에서 처리되는 입력 신호의 비트수가 증가함에 따라 연산 시간이 선형적으로 증가한다. 캐리 전파 가산기의 캐리 전파 지연 문제를 해결하기 위하여 캐리와 합을 동시에 계산하는 방법을 이용한 고속 가산기가 제안되고 있다.
조건부 합 가산기(Conditional-Sum Adder)는 적은 수의 게이트 소자로 구현 가능한 가산기로서, 캐리 발생 조건에 의하여 합을 계산하는 방식이며 n 비트 가산기에서 (log2 n) 스텝의 연산 시간을 필요로 한다. 캐리 선택 가산기(Carry-Select Adder)는 각각 "0"과 "1"을 캐리 입력으로 사용하는 정해진 크기의 가산기의 합 결과를 전상태의 캐리에 의하여 선택하도록 구성되어 있으며, 2배의 캐리 전파 가산기, 멀티플렉서 및 캐리 선택기를 포함한다. 캐리 예측 가산기는 각 비트에서의 캐리를 최초의 캐리 값으로 구할 수 있도록 구성됨으로써 캐리의 전파를 발생시키지 않으면서 캐리와 합을 계산한다.
아래에서는 첨부된 도면을 참조하여 일반적인 16비트 캐리 예측 가산기에 대해 설명한다.
일반적인 캐리 예측 가산기는 입력된 데이터를 사용하여 캐리를 미리 계산함으로써 가산 결과를 거의 동시에 출력할 뿐만 아니라 지연시간도 줄일 수 있다. 캐리 예측 가산기는 크게 가산 연산을 수행하는 블록과 캐리를 계산하는 블록으로 이루어진다. 입력이 주어지면 캐리 계산 블록은 각단의 캐리를 계산하여 가산 블록으로 캐리를 전달하고, 가산 블록은 상기 계산된 캐리를 이용하여 가산 연산을 수행하여 합(sum)을 얻는다.
이러한 캐리 예측 가산기에서는 캐리를 미리 계산하기 위하여 캐리 발생 함수(carry generation function)와 캐리 전달 함수(carry propagation function)가 사용된다. n 번째의 수 X와 Y에 대해 가산 연산을 수행할 때, i번째 비트에서의 합(Si)과 캐리(Ci)는 아래의 수학식 1과 같이 표현된다.
그리고, i번째 캐리 발생 함수 Gi와 캐리 전달 함수 Pi는 다음의 수학식 2와 같이 정의된다.
상기 수학식 2에서 구한 캐리 발생 함수 Gi와 캐리 전달 함수 Pi를 수학식 1에 적용하여 상기 합(Si)과 캐리(Ci)를 다시 정리하면 아래의 수학식 3과 같이 표현될 수 있다.
상기 수학식 3에 0에서 (n-1)까지의 정수 i(i= 0, ... ,n-1)를 차례로 대입하면 아래의 수학식 4가 얻어질 수 있다.
상기 수학식 4에서 캐리 Ci는 전단(previous stage)에서 구해진 캐리값(C-1)과, 상기 두 입력(Xi, Yi)으로부터 얻어질 수 있는 캐리 발생 함수(Gi) 및 캐리 전달 함수(Pi)를 이용하여 생성되며, 상기 캐리는 합과 거의 동시에 구해질 수 있으므로, 일반적인 가산기와 달리 상기 캐리 예측 가산기에서는 캐리의 전파로 인한 지연이 발생하지 않는다.
도 1에는 일반적인 16비트 캐리 예측 가산기의 전체 구성이 도시되어 있다. 상기 16비트 캐리 예측 가산기는 4개의 4비트 캐리 예측 가산기(10, 20, 30, 40)와 하나의 캐리 예측 발생기(50)로 구성된다. 상기와 같이 16비트 가산 연산을 위해 4비트의 가산기를 4개 사용하는 것은 가산기의 입력 비트 수가 커지면 가산기 내부의 논리 게이트 소자의 입력 수의 제한으로 인해 몇 개의 단위 블록으로 분할하는 것이 유리하기 때문이다. 상기 각 캐리 예측 가산기(10, 20, 30, 40)는 4비트로 표현된 두 개의 입력 신호를 받아들여 가산 연산을 수행하고, 4비트의 가산 결과(S3-0, S7-4, S11-8, S15-12)를 각각 출력하며, 이와 동시에 다음 단(stage)의 초기 캐리 값(C3, C7, C11)을 계산하기 위하여 캐리 발생 함수(G0 *, G1 *, G2 *, G3 *)와 캐리 전달 함수(P0 *, P1 *, P2 *, P3 *)를 각각 생성하여 출력한다. 상기 캐리 예측 발생기(50)는 초기 캐리값(C-1)과, 각 캐리 예측 가산기(10, 20, 30, 40)로부터의 캐리 발생 함수(G0 *, G1 *, G2 *, G3 *) 및 캐리 전달 함수(P0 *, P1 *, P2 *, P3 *)를 받아들여 각 캐리 예측 가산기(20, 30, 40)의 초기 캐리값(C3, C7, C11)과 다음 단의 16비트 가산기(다음 단에 16비트 가산기가 연결될 경우)에 제공하기 위한 캐리 발생 함수(G0 **) 및 캐리 전달 함수(P0 **)를 생성한다. 상기 초기 캐리값(C3, C7, C11)은 각 캐리 예측 가산기(20, 30, 40)에 제공되어 해당 가산기에서의 가산 연산에 사용된다. 또한, 첫 번째 4비트 캐리 예측 가산기(10)와 캐리 예측 발생기(50)에 입력되는 초기 캐리값(C-1)은 복수의 16비트 가산기가 연결된 복잡한 가산기일 경우에는 전단의 16비트 가산기에서 제공되며, 16비트 가산기가 단독으로 구성될 경우에는 사용자에 의해 미리 설정되는 값이다.
상기 각각의 4비트 캐리 예측 가산기(10, 20, 30, 40)에서 계산되는 캐리(Ci), 캐리 발생 함수(Gi *) 및 캐리 전달 함수(Pi * )는 아래의 수학식 5와 같이 표현될 수 있다.
도 2에는 상기 도 1에 도시된 4비트 캐리 예측 가산기(10)의 보다 상세한 구성이 도시되어 있다. 상기 도 2의 4비트 캐리 예측 가산기(10)는 4비트의 두 입력신호(X3-0, Y3-0)과 초기 캐리 입력값(C-1)을 받아들여 4비트의 합(S3-0 )과 캐리 발생 함수값(G0 *) 및 캐리 전달 함수값(P0 *)을 계산하여 출력한다. 즉, 상기 4비트 캐리 예측 가산기(10)는 수학식 2를 이용하여 가산기 내부에서 사용되는 캐리 발생 함수(G(3:0)) 및 캐리 전달 함수(P(3:0))를 계산하고, 수학식 5를 이용하여 캐리값(C0, C1, C2) 및 다음 단의 4비트 캐리 예측 가산기(20)에 제공하기 위한 캐리 발생 함수(G0 *) 및 캐리 전달 함수(P0 *)를 계산하며, 수학식 3을 이용하여 4비트의 합(S0, S1, S2, S4)을 계산할 수 있는 논리 게이트 회로로 구성된다.
상기 4비트 캐리 예측 가산기(10)는 캐리 발생 함수 및 캐리 전달 함수 생성부(11), 캐리 생성부(12) 및 가산 연산부(13)로 구성되어 있다.
상기 캐리 발생 함수 및 캐리 전달 함수 생성부(11)에서 4비트의 입력 신호(X(3:0), Y(3:0))는 논리곱 소자(111) 및 배타적 논리합 소자(112)에 의해 각각 논리곱 연산과 배타적 논리합 연산이 수행되어 상기 캐리 예측 가산기(10) 내부에서 사용될 캐리 발생 함수(G(3:0))와 캐리 전달 함수(P(3:0))가 생성된다. 그리고, 4개의 논리곱 소자(113, 114, 115, 116) 및 논리합 소자(117)에 의해, 수학식 5에 표현되어 있으며 다음 단의 4비트 캐리 예측 가산기(20)에 제공하기 위한 캐리 발생 함수(G0 *)와 캐리 전달 함수(P0 *)에 대한 수학식이 하드웨어적으로 구현되어 있다.
또한, 상기 캐리 생성부(12)에서는 수학식 5에 표현된 캐리(C0, C1, C2)에 대한 수학식이 논리곱 소자(121, 123, 124, 126, 127, 128) 및 논리합 소자(122, 125, 129)에 의해 구현되어 있다. 여기서, 각 비트의 캐리(C0, C1, C2)는 초기 캐리값(C-1)과, 상기 캐리 발생 함수 및 캐리 전달 함수 생성부(11)에서 얻어진 캐리 발생 함수(G(3:0))와 캐리 전달 함수(P(3:0))의 값으로부터 병렬적으로 계산된다. 기존의 캐리 전파 가산기에서는 각 비트에 대한 캐리가 순차적으로 얻어지기 때문에 캐리 전파로 인한 지연이 필연적으로 발생하는 문제가 있었다.
상기 가산 연산부(13)에서는 수학식 3에 표현된 합(Si)에 대한 수학식이 배타적 논리합 소자(131, 132, 133, 134)에 의해 구현되어 있으며, 상기 상기 캐리 발생 함수 및 캐리 전달 함수 생성부(11)에서 얻어진 캐리 전달 함수(P0, P1, P2 , P3)와 상기 캐리 생성부(12)에서 얻어진 캐리(C0, C1, C2) 및 초기 캐리 값(C-1)이 상기 배타적 논리합 소자(131, 132, 133, 134)의 입력신호로 이용된다.
16비트보다 더 큰 수에 대한 가산 연산은 상기 설명된 16비트 캐리 예측 가산기를 적어도 하나 이상 결합하여 처리될 수 있다. 이러한 캐리 예측 가산기에서 논리 게이트 소자들에 의한 전파 지연 시간(propagation delay time)은 아래의 수학식 6으로 표현될 수 있다.
상기 수학식 6에서, b는 전체 가산기를 구성하는 단위 가산기의 수로서, 도 1에 도시된 16비트 캐리 예측 가산기에서는 b=4 이다. 상기 n은 단위 가산기에서 처리되는 입력 신호의 비트 수이다. 전체 가산기의 각 논리 게이트 소자에서의 전파 지연을 1TG, 하나의 논리 게이트 소자의 면적을 1AG로 가정할 때, 전체 가산기에서 처리되는 비트 수에 따른 전파 지연 시간과 논리 게이트 소자들이 차지하는 면적은 아래의 표 1과 같다.
단위 가산기의 비트수 전파지연(TG) 전체 게이트 소자 면적(AG)
4비트 4 26
16비트 8 115
64비트 12 471
256비트 16 1895
상기 표 1을 참조하면, 단위 가산기의 입력 비트 수가 4배 증가할 때, 전파 지연은 4TG씩 증가하는 반면, 가산기의 전체 게이트 소자가 차지하는 면적은 4배씩 증가한다. 따라서, 큰 비트수의 단위 가산기가 사용되거나 다수의 단위 가산기가 사용되는 어플리케이션에서는 단위 가산기의 전파 지연 시간을 감소시키는 것보다 면적을 줄이는 것이 더 효과적이다.
본 발명은 상기 설명한 종래의 기술적 과제를 해결하기 위한 것으로서, 단위 가산기의 캐리 생성 블록을 단순화시킴으로써 전체 가산기의 논리 게이트 소자 수 및 면적을 감소시킬 수 있는 캐리 예측 가산기를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 캐리 예측 가산기는
n비트로 표현되는 두 입력신호를 받아들여 가산 연산을 수행하고, n비트의 가산 결과를 출력하며, 다음 단의 초기 캐리값을 계산하기 위해 상기 두 입력신호를 이용하여 캐리 발생 함수와 캐리 전달 함수의 값을 각각 생성하여 출력하는 복수의 단위 가산기; 및,
초기 캐리값과 상기 각 단위 가산기로부터의 캐리 발생 함수 및 캐리 전달 함수의 값을 받아들여, 첫 번째 단위 가산기를 제외한 각 단위 가산기를 위한 초기 캐리값과 다음 단의 가산기에 제공하기 위한 초기 캐리 발생 함수 및 초기 캐리 전달 함수값을 생성하는 캐리 예측 발생부를 포함하며,
상기 각 단위 가산기는 내부 캐리를 생성할 때 입력 신호의 각 비트에 대한 캐리를 순차적으로 계산하는 것을 특징으로 한다.
본 발명에 따른 상기 캐리 예측 가산기에서 상기 각 단위 가산기는,
상기 두 입력신호에 소정의 논리 연산을 수행하여 각 단위 가산기의 내부에서 사용될 캐리 발생 함수 및 캐리 전달 함수를 생성하는 캐리 발생 함수 및 캐리 전달 함수 생성부;
상기 입력신호의 각 비트에 대한 캐리를 바로 인접한 직전 비트에 대한 캐리를 이용하여 순차적으로 계산하는 캐리 생성부; 및
상기 캐리 발생 함수 및 캐리 전달 함수 생성부에서 얻어진 캐리 전달 함수와 상기 캐리 생성부에서 얻어진 캐리 및 초기 캐리값을 이용하여 가산 연산을 수행하여 n비트의 가산 결과를 생성하는 가산 연산부를 포함한다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 3에는 본 발명의 실시예에 따른 16비트 캐리 예측 가산기의 전체 구성이 도시되어 있다. 상기 도 3에 도시된 바와 같이, 본 실시예의 16비트 캐리 예측 가산기는 4개의 4비트 캐리 예측 가산기(100, 200, 300, 400)와 하나의 캐리 예측 발생기(500)로 구성된다. 본 발명의 실시예에서는 4개의 4비트 캐리 예측 가산기(100, 200, 300, 400)로 구성된 16비트 캐리 예측 가산기가 예시되어 있지만, 본 발명의 기술적 범위는 여기에 한정되지 않는다. 즉, 당업자는 본 명세서의 설명을 토대로 가산 연산이 요구되는 신호의 비트 수에 따라 소정 수의 단위 가산기를 결합하여 전체 가산기를 구성할 수 있다. 상기와 같이 16비트 가산 연산을 위해 4비트의 가산기를 4개 사용하는 것은 가산기의 입력 비트 수가 커지면 가산기 내부의 논리 게이트 소자의 입력 수의 제한으로 인해 몇 개의 단위 블록으로 분할하는 것이 유리하기 때문이다.
상기 각 캐리 예측 가산기(100, 200, 300, 400)는 4비트로 표현된 두 개의 입력신호(X, Y)를 받아들여 가산 연산(add operation)을 수행한다. 또한, 상기 각 캐리 예측 가산기(100, 200, 300, 400)는 4비트의 가산 결과 (S3-0, S7-4, S11-8 , S15-12)를 각각 출력하며, 이와 동시에 다음 단(stage)의 초기 캐리 값(C3, C7, C 11)을 계산하기 위하여 캐리 발생 함수(G0 *, G1 *, G2 *, G3 *)와 캐리 전달 함수(P0 *, P1 *, P2 *, P3 *)를 각각 생성하여 출력한다.
상기 캐리 예측 발생기(500)는 초기 캐리값(C-1)과, 각 캐리 예측 가산기(100, 200, 300, 400)로부터의 캐리 발생 함수(G0 *, G1 *, G2 *, G3 *) 및 캐리 전달 함수(P0 *, P1 *, P2 *, P3 *)를 받아들여 각 캐리 예측 가산기(200, 300, 400)를 위한 초기 캐리값(C3, C7, C11)과, 다음 단의 16비트 가산기(다음 단에 16비트 가산기가 연결된다고 가정할 경우)에 제공하기 위한 캐리 발생 함수(G0 **) 및 캐리 전달 함수(P0 **)를 생성한다. 상기 초기 캐리값(C3, C7, C11 )은 각 캐리 예측 가산기(200, 300, 400)에 제공되어 해당 가산기에서의 가산 연산에 사용된다. 또한, 첫 번째 4비트 캐리 예측 가산기(100)와 캐리 예측 발생기(500)에 입력되는 초기 캐리값(C-1)은 전체 가산기가 복수의 16비트 가산기를 결합하여 이루어진 가산기일 경우에는 전단의 16비트 가산기에서 제공되며, 전체 가산기가 16비트 캐리 예측 가산기 단독으로 구성될 경우에는 사용자에 의해 미리 설정되는 값이다.
상기 각각의 4비트 캐리 예측 가산기(100, 200, 300, 400)에서 계산되는 캐리 발생 함수(Gi *) 및 캐리 전달 함수(Pi *)는 위에서 설명된 수학식 5와 같이 표현될 수 있다. 그러나, 본 발명의 실시예에 따른 상기 각각의 4비트 캐리 예측 가산기(100, 200, 300, 400)에서는 캐리(Ci)가 아래의 수학식 7을 통해 얻어진다.
상기 수학식 7을 참조하면, 본 발명의 실시예에 따른 4비트 캐리 예측 가산기(100, 200, 300, 400)에서는 캐리가 순차적으로 계산되도록 하여 캐리의 전파 지연을 일부 감수하고 그 대신에 캐리를 생성하는 수학식이 간소화되므로 사용되는 논리 게이트 소자의 수가 감소됨을 알 수 있다. 캐리 생성부를 상기 수학식 7을 이용하여 구현시킨 4비트 캐리 예측 가산기(100)가 도 4에 도시되어 있다.
상기 도 4에 도시된 4비트 캐리 예측 가산기(100)는 4비트의 두 입력신호(X3-0, Y3-0)와 초기 캐리 입력값(C-1)을 받아들여 4비트의 합(S 3-0)과 캐리 발생 함수값(G0 *) 및 캐리 전달 함수값(P0 *)을 계산하여 출력한다.
즉, 상기 4비트 캐리 예측 가산기(100)는 수학식 2를 이용하여 가산기 내부에서 사용되는 캐리 발생 함수(G(3:0)) 및 캐리 전달 함수(P(3:0))를 계산하고, 수학식 7을 이용하여 캐리값(C0, C1, C2) 및 다음 단의 4비트 캐리 예측 가산기(200)에 제공하기 위한 캐리 발생 함수(G0 *) 및 캐리 전달 함수(P0 *)를 계산하며, 수학식 3을 이용하여 4비트의 합(S0, S1, S2, S4)을 계산할 수 있는 논리 게이트 회로로 구성된다.
상기 4비트 캐리 예측 가산기(100)는 캐리 발생 함수 및 캐리 전달 함수 생성부(110), 캐리 생성부(120) 및 가산 연산부(130)로 구성되어 있다.
상기 캐리 발생 함수 및 캐리 전달 함수 생성부(110)에서 4비트의 입력 신호(X(3:0), Y(3:0))는 논리곱 소자(1101) 및 배타적 논리합 소자(1102)에 의해 각각 논리곱 연산과 배타적 논리합 연산이 수행되어 상기 캐리 예측 가산기(100) 내부에서 사용될 캐리 발생 함수(G(3:0))와 캐리 전달 함수(P(3:0))가 생성된다. 그리고, 4개의 논리곱 소자(1103, 1104, 1105, 1106) 및 논리합 소자(1107)에 의해, 수학식 5에 표현되어 있으며 다음 단의 4비트 캐리 예측 가산기(200)에 제공하기 위한 캐리 발생 함수(G0 *)와 캐리 전달 함수(P0 *)에 대한 수학식이 하드웨어적으로 구현되어 있다.
또한, 상기 캐리 생성부(120)에서는 수학식 7에 표현된 캐리(C0, C1, C2)에 대한 수학식이 논리곱 소자(1201, 1203, 1205) 및 논리합 소자(1202, 1204, 1206)에 의해 구현되어 있다. 여기서, 상기 캐리(C0)는 도 2에 도시된 종래의 캐리 예측 가산기에서와 마찬가지로 초기 캐리값(C-1)과 상기 캐리 발생 함수 및 캐리 전달 함수 생성부(110)에서 얻어진 캐리 발생 함수(G(3:0))와 캐리 전달 함수(P(3:0))의 값으로부터 계산된다. 그러나, 나머지 캐리(C1, C2)는 전단의 비트 예를 들어, C1의 경우에는 C0, C2의 경우에는 C1이 얻어진 후에 그 값을 이용하여 구해진다. 즉, 본 발명의 실시예에 따른 캐리 예측 가산기에서는 각 비트에 대한 캐리가 전단 비트의 캐리를 이용하여 순차적으로 계산된다는 점에 특징이 있다. 이 경우, 각 비트의 캐리가 순차적으로 계산되므로, 논리 게이트 회로로 인한 시간 지연은 필수적이다. 그 대신에, 도 4의 캐리 생성부(120)의 회로 구조는 종래의 캐리 예측 가산기의 캐리 발생부보다 훨씬 단순화될 수 있으며, 사용되는 논리 게이트 소자의 수도 대폭 감소될 수 있다. 또한, 캐리 예측 가산기의 입력 신호의 비트수가 증가할수록 캐리 발생부의 단순화 정도는 더욱 향상된다.
도 4의 상기 가산 연산부(130)에서는 수학식 3에 표현된 합(Si)에 대한 수학식이 배타적 논리합 소자(1301, 1302, 1303, 1304)에 의해 구현되어 있으며, 상기 상기 캐리 발생 함수 및 캐리 전달 함수 생성부(110)에서 얻어진 캐리 전달 함수(P0, P1, P2, P3)와 상기 캐리 생성부(120)에서 얻어진 캐리(C0, C1, C2) 및 초기 캐리 값(C-1)이 상기 배타적 논리합 소자(1301, 1302, 1303, 1304)의 입력신호로 이용된다. 상기 각 배타적 논리합 소자(1301, 1302, 1303, 1304)는 대응하는 입력신호에 대한 배타적 논리합 연산을 수행하여 4비트의 합(S3-0)을 생성한다.
도 5에는 상기 도 3에 도시된 캐리 예측 발생기(500)가 보다 상세하게 도시되어 있다.
도 5의 캐리 예측 발생기(500)는 초기 캐리 생성부(510)와 초기 캐리 발생 함수 및 초기 캐리 전달 함수 생성부(520)로 구성된다. 상기 초기 캐리 생성부(510)는 도 3의 각 4비트 캐리 예측 가산기(100, 200, 300, 400)로부터 캐리 발생 함수(G0 *, G1 *, G2 *, G3 *) 및 캐리 전달 함수(P0 *, P1 *, P2 *, P3 *)를 입력받아 각 캐리 예측 가산기(200, 300, 400)에 입력될 초기 캐리(C3, C7, C11)를 생성한다. 상기 수학식 7에서 상기 초기 캐리(C3, C7, C11)를 계산하기 위한 수학식이 논리곱 소자(5101, 5103, 5105)와 논리합 소자(5102, 5104, 5106)에 의해 도 5의 초기 캐리 생성부(510)로서 구현되어 있다. 또한, 상기 초기 캐리 발생 함수 및 초기 캐리 전달 함수 생성부(520)는 두 개 이상의 16 비트 가산기가 결합될 경우에 사용되며, 각 4비트 캐리 예측 가산기(100, 200, 300, 400)로부터 캐리 발생 함수(G0 *, G1 *, G2 *, G3 *) 및 캐리 전달 함수(P0 *, P 1 *, P2 *, P3 *)를 입력받아 인접한 다음 단의 16비트 가산기를 위한 초기 캐리 발생 함수(G0 **) 및 초기 캐리 전달 함수(P0 **)를 생성한다. 상기 초기 캐리 발생 함수 및 초기 캐리 전달 함수 생성부(520)는 수학식 5에서 초기 캐리 발생 함수(G0 **) 및 초기 캐리 전달 함수(P0 **)를 나타낸 수학식을 논리곱 소자(5201, 5202, 5203, 5204) 및 논리합 소자(5205)를 이용하여 구현한 논리 게이트 회로이다.
본 발명의 실시예에 따른 캐리 예측 가산기에서의 캐리 전파 지연과 논리 게이트 회로의 면적 비율을 도표로 나타내면 아래의 표 2와 같다. 아래의 표 2에서, b는 전체 가산기를 구성하는 단위 가산기의 수이고, 1TG는 전체 가산기의 각 논리 게이트 소자에서의 전파 지연이며, 1AG는 하나의 논리 게이트 소자의 면적이며, 면적 비율은 표 1에 나타낸 종래의 가산기와의 논리 게이트 회로의 면적 비율을 나타낸 것이다.
단위 가산기의 비트수 전파지연(TG) 전파지연비율 전체 게이트 소자의 면적(AG) 면적 비율
4 6 1.50 23 0.885
16 10 1.25 103 0.895
64 14 1.116 423 0.898
256 18 1.125 1703 0.898
상기 표 2를 참조하면, 본 발명의 실시예에 따른 캐리 예측 가산기에서는 캐리 생성부를 단순하게 구성함으로써 가산기의 입력 신호의 비트 수에 관계없이 기존의 캐리 예측 가산기에 비해 최소 10%의 논리 게이트 회로의 면적이 감소됨을 알 수 있다.
이상으로 설명된 바와 같이, 본 발명의 실시예에 따른 캐리 예측 가산기에서는 가산기 내부의 캐리를 생성할 때 캐리 발생 함수와 캐리 전달 함수를 이용하지 않고 각 비트에 대한 캐리를 전단 비트의 캐리를 이용하여 순차적으로 계산함으로써, 어느 정도의 전파 지연은 감수하면서 논리 게이트 회로를 단순화시킬 수 있다.
이상으로 설명한 것은 본 발명에 따른 캐리 예측 가산기를 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 미친다고 할 것이다.
도 1은 일반적인 16비트 캐리 예측 가산기의 전체 회로를 나타낸 도면.
도 2는 상기 도 1의 캐리 예측 가산기를 보다 상세하게 나타낸 도면.
도 3은 본 발명의 실시예에 따른 16비트 캐리 예측 가산기의 전체 회로를 나타낸 도면.
도 4는 상기 도 3의 캐리 예측 가산기 중 하나를 보다 상세하게 나타낸 도면.
도 5는 상기 도 3의 캐리 예측 발생기를 보다 상세하게 나타낸 도면.
<도면의 주요부분에 대한 부호의 설명>
100, 200, 300, 400 : 캐리 예측 가산기 500 : 캐리 예측 생성부
110 : 캐리 발생 함수 및 캐리 전달 함수 생성부
120 : 캐리 생성부 130 : 가산 연산부
510 : 초기 캐리 생성부
520 : 초기 캐리 발생 함수 및 초기 캐리 전달 함수 생성부

Claims (6)

  1. n비트로 표현되는 두 입력신호를 받아들여 가산 연산을 수행하고, n비트의 가산 결과를 출력하며, 다음 단의 초기 캐리값을 계산하기 위해 상기 두 입력신호를 이용하여 캐리 발생 함수와 캐리 전달 함수의 값을 각각 생성하여 출력하는 복수의 단위 가산기; 및,
    초기 캐리값과 상기 각 단위 가산기로부터의 캐리 발생 함수 및 캐리 전달 함수의 값을 받아들여, 첫 번째 단위 가산기를 제외한 각 단위 가산기를 위한 초기 캐리값과 다음 단의 가산기에 제공하기 위한 초기 캐리 발생 함수 및 초기 캐리 전달 함수값을 생성하는 캐리 예측 발생부를 포함하며,
    상기 각 단위 가산기는 내부 캐리를 생성할 때 입력 신호의 각 비트에 대한 캐리를 순차적으로 계산하는 것을 특징으로 하는
    감소된 면적을 갖는 캐리 예측 가산기.
  2. 제1항에 있어서,
    상기 각 단위 가산기는,
    상기 두 입력신호에 소정의 논리 연산을 수행하여 각 단위 가산기의 내부에서 사용될 캐리 발생 함수 및 캐리 전달 함수를 생성하는 캐리 발생 함수 및 캐리 전달 함수 생성부;
    상기 입력신호의 각 비트에 대한 캐리를 바로 인접한 직전 비트에 대한 캐리를 이용하여 순차적으로 계산하는 캐리 생성부; 및
    상기 캐리 발생 함수 및 캐리 전달 함수 생성부에서 얻어진 캐리 전달 함수와 상기 캐리 생성부에서 얻어진 캐리 및 초기 캐리값을 이용하여 가산 연산을 수행하여 n비트의 가산 결과를 생성하는 가산 연산부를 포함하는 것을 특징으로 하는
    감소된 면적을 갖는 캐리 예측 가산기.
  3. 제2항에 있어서,
    상기 두 입력신호가 Xi, Yi(i=0, 1, 2... 정수)이고, 상기 캐리 발생 함수는 Gi, 상기 캐리 전달 함수는 Pi일 때, 상기 캐리 발생 함수 및 캐리 전달 함수 생성부는 아래의 수학식을 기초로 하여 상기 캐리 발생 함수(Gi)와 상기 캐리 전달 함수(Pi)를 계산하는 것을 특징으로 하는
    감소된 면적을 갖는 캐리 예측 가산기.
    Gi = XiㆍYi
    Pi = Xi ⊙ Yi
    (여기서, "ㆍ"는 논리곱 연산, "⊙"는 배타적 논리합 연산을 의미함)
  4. 제2항에 있어서,
    상기 n비트가 4비트이고, 상기 캐리 발생 함수는 Gi, 상기 캐리 전달 함수는 Pi(i=0,1,2,3), 초기 캐리 발생 함수는 Gi *, 초기 캐리 전달 함수는 Pi *일 때, 상기 캐리 생성부의 각 비트의 캐리는 아래의 수학식에 의해 계산되는 것을 특징으로 하는
    감소된 면적을 갖는 캐리 예측 가산기.
    C0 = G0 + C-1P0
    C1 = G1 + C0P1
    C2 = G2 + C1P2
    C3 = G0 * + C-1P0 *(C-1은 캐리 초기값)
  5. 제2항에 있어서,
    상기 캐리 전달 함수는 Pi이고, 상기 캐리는 Ci(i=0, 1, 2, ...정수)일 때, 상기 가산 연산부의 가산 결과(Si)는 아래의 수학식에 의해 계산되는 것을 특징으로 하는
    감소된 면적을 갖는 캐리 예측 가산기.
    Si = Pi ⊙ Ci-1
  6. 제1항에 있어서,
    상기 n비트는 4비트이고, 상기 단위 가산기의 수는 4개이며, 상기 캐리 예측 가산기는 16비트의 두 입력신호에 대한 가산 연산을 수행하는
    감소된 면적을 갖는 캐리 예측 가산기.
KR10-2003-0075541A 2003-10-28 2003-10-28 감소된 면적을 갖는 캐리 예측 가산기 KR100513160B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2003-0075541A KR100513160B1 (ko) 2003-10-28 2003-10-28 감소된 면적을 갖는 캐리 예측 가산기
US10/740,444 US20050091299A1 (en) 2003-10-28 2003-12-22 Carry look-ahead adder having a reduced area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0075541A KR100513160B1 (ko) 2003-10-28 2003-10-28 감소된 면적을 갖는 캐리 예측 가산기

Publications (2)

Publication Number Publication Date
KR20050040355A KR20050040355A (ko) 2005-05-03
KR100513160B1 true KR100513160B1 (ko) 2005-09-08

Family

ID=34511136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0075541A KR100513160B1 (ko) 2003-10-28 2003-10-28 감소된 면적을 갖는 캐리 예측 가산기

Country Status (2)

Country Link
US (1) US20050091299A1 (ko)
KR (1) KR100513160B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235710A (zh) * 2013-04-28 2013-08-07 重庆邮电大学 一种基于可逆逻辑的16位超前进位加法器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792087B2 (en) 2012-04-20 2017-10-17 Futurewei Technologies, Inc. System and method for a floating-point format for digital signal processors
US9274750B2 (en) 2012-04-20 2016-03-01 Futurewei Technologies, Inc. System and method for signal processing in digital signal processors
US8933731B2 (en) 2013-03-11 2015-01-13 Freescale Semiconductor, Inc. Binary adder and multiplier circuit
KR101491629B1 (ko) * 2014-01-02 2015-02-12 연세대학교 산학협력단 카운터
CN105335128B (zh) * 2015-10-29 2019-06-14 中国人民解放军国防科学技术大学 Gpdsp中基于三级超前进位加法器的64位定点alu电路
CN107885485B (zh) * 2017-11-08 2021-07-06 无锡中微亿芯有限公司 一种基于超前进位实现快速加法的可编程逻辑单元结构

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6143341A (ja) * 1984-08-07 1986-03-01 Nec Corp 加算回路
JPH05233219A (ja) * 1992-02-18 1993-09-10 Nec Ic Microcomput Syst Ltd 半導体集積回路のキャリー先取り回路
US5337269A (en) * 1993-03-05 1994-08-09 Cyrix Corporation Carry skip adder with independent carry-in and carry skip paths
JPH09231055A (ja) * 1996-02-27 1997-09-05 Denso Corp 論理演算回路及びキャリールックアヘッド加算器
US7003545B1 (en) * 2001-09-11 2006-02-21 Cypress Semiconductor Corp. High performance carry chain with reduced macrocell logic and fast carry lookahead

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235710A (zh) * 2013-04-28 2013-08-07 重庆邮电大学 一种基于可逆逻辑的16位超前进位加法器

Also Published As

Publication number Publication date
US20050091299A1 (en) 2005-04-28
KR20050040355A (ko) 2005-05-03

Similar Documents

Publication Publication Date Title
US7774400B2 (en) Method and system for performing calculation operations and a device
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
JP5273866B2 (ja) 乗算器/アキュムレータ・ユニット
KR940002479B1 (ko) 고속 디지탈 병렬승산기(multiplier)
US7536430B2 (en) Method and system for performing calculation operations and a device
JPH02196328A (ja) 浮動小数点演算装置
JP2002108606A (ja) スティッキービット生成回路及び乗算器
KR100513160B1 (ko) 감소된 면적을 갖는 캐리 예측 가산기
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US5734599A (en) Performing a population count using multiplication
JP2009507413A (ja) 全加算器モジュールおよび該全加算器モジュールを用いる乗算器デバイス
CN114691086A (zh) 一种基于操作数裁剪的高性能近似乘法器及其计算方法
US7334011B2 (en) Method and system for performing a multiplication operation and a device
Al-Khaleel et al. Fast binary/decimal adder/subtractor with a novel correction-free BCD addition
KR20010014902A (ko) 3입력 분할 가산기
US6182105B1 (en) Multiple-operand addition with intermediate saturation
Patil et al. RCA with conditional BEC in CSLA structure for area-power efficiency
RU2477513C1 (ru) Ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю
Belyaev et al. A High-perfomance Multi-format SIMD Multiplier for Digital Signal Processors
JPH0981541A (ja) 累算器
Awasthi et al. Hybrid signed digit arithmetic in efficient computing: A comparative approach to performance assay
Singh et al. Modified booth multiplier with carry select adder using 3-stage pipelining technique
Kaivani et al. High-speed FFT processors based on redundant number systems
US20060242219A1 (en) Asynchronous multiplier
KR100223752B1 (ko) 병렬 곱셈기

Legal Events

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

Payment date: 20090701

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee