KR20000048818A - 디지탈 가산회로 - Google Patents

디지탈 가산회로 Download PDF

Info

Publication number
KR20000048818A
KR20000048818A KR1019990702813A KR19997002813A KR20000048818A KR 20000048818 A KR20000048818 A KR 20000048818A KR 1019990702813 A KR1019990702813 A KR 1019990702813A KR 19997002813 A KR19997002813 A KR 19997002813A KR 20000048818 A KR20000048818 A KR 20000048818A
Authority
KR
South Korea
Prior art keywords
carry
binary
input
circuit
value
Prior art date
Application number
KR1019990702813A
Other languages
English (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 맥케이 데이비드 니겔
Publication of KR20000048818A publication Critical patent/KR20000048818A/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
    • 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/507Adding; 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 selection between two conditionally calculated carry or sum values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3876Alternation of true and inverted stages

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)
  • Logic Circuits (AREA)
  • Complex Calculations (AREA)

Abstract

이진 가산회로는, V = W = 0가 캐리 소멸을 나타내고 V = W = 1이 캐리 발생을 나타내며 V ≠ W가 캐리 전파를 나타내도록, 2개의 신호값 (V, W)를 사용하여 캐리 생성 제어신호를 인코드하는 캐리 평가회로를 구비한다. 이 캐리 평가회로는, 스태틱 또는 다이나믹 CMOS 로직으로 구현될 수 있다.

Description

디지탈 가산회로{DIGITAL ADDER CIRCUIT}
본 발명은 데이터 처리 분야에 관한 것이다. 특히, 본 발명은 데이터 처리장치 내부에 사용되는 디지탈 가산회로에 관한 것이다.
가산과정은 데이터 처리장치 내에서 빈번하게 수행되는 가장 중요한 연산동작 중의 한가지이다. 고속의 가산회로를 생성하는데 관련된 문제점은, 결과의 최상위 비트가 최하위 비트로부터의 캐리 아웃(carry out) 값에 의존한다는 것이다. 이 결과, 가산동작이 비교적 느려지게 되는 경향이 있다. 데이터 처리장치에 있어서, 데이터 처리장치가 가능한 한 신속하게 동작해야 하는 것은 변치 않는 목표로서, 이를 위해 고속으로 동작할 수 있는 가산회로를 설계 및 개발하기 위해 다년간에 걸쳐 상당한 노력이 이루어져 왔다.
보다 고속으로 동작시키기 위한 노력으로, 2개의 입력 오퍼랜드에 대해 수행된 배타적 OR 연산에 대해 2개의 입력 오퍼랜드의 합에 대한 캐리 비트가 개별적으로 계산되어, 그 결과값이 최종 단계에서 결합되어 합계를 생성하는 기술이 제안된 바 있다.
이러한 기술의 일례로는, 문헌 "A regular layout for parallel adders", R P Brent and H T Kung, IEEE Trans. Comput, Volume 31, pages 260-264, March 1982에 기재된 Brent 및 Kung 가산기를 들 수 있다.
이러한 캐리 비트 계산 방식은 성능을 향상시키지만, 그 캐리 계산을 수행하는데에는 몇 개의 논리 층을 필요로 한다. 이러한 논리는, 달성될 수 있는 최대 성능을 제한할 뿐만 아니라, 회로 면적 및 전력을 소모한다.
하나의 관점에서 보면, 본 발명은 제 1의 2진수 및 제 2의 2진수를 가산하는 가산회로를 제공하는데, 상기 가산회로는,
상기 제 1의 2진수와 상기 제 2의 2진수의 대응하는 복수의 비트로 구성된 블록의 합과 상기 블록에 대한 입력 캐리 값을 나타내는 캐리 생성 제어신호를 평가하는 캐리 평가회로를 구비하고, 상기 캐리 생성 제어신호는, P 또는 Q 중에서 어느 하나의 값을 각각 가질 수 있는 2개의 신호 V 및 W를 포함하며, 다음 식에 따라 상기 합계로부터 캐리 결과값을 인코드한다:
V = W = P는, 상기 캐리 결과값이 상기 입력 캐리값에 무관하게 제로값인 캐리 소멸을 나타내고,
V ≠ W는, 상기 캐리 결과값이 상기 입력 캐리값과 동일한 캐리 전파를 나타내며,
V = W = Q는, 상기 캐리 결과값이 상기 입력 캐리값과 무관하게 1인 캐리 발생을 나타낸다.
본 발명은, 보다 소수의 회로소자와 보다 소수의 논리층을 사용하여 생성될 수 있으며, 보다 빠르고, 보다 소형이며, 보다 전력을 절감하는 회로를 생성할 수 있는 캐리 생성 제어신호에 대한 인코딩 과정을 제공한다. 2개의 신호 V 및 W가 취할 수 있는 값 P 및 Q는 다양한 절대값을 가질 수 있으며, 진실한 또는 반전된 형태를 가질 수 있다는 것이 자명하다. 그러나, 간단하면서도 바람직한 실시예에 있어서는, 상기 값 P 및 Q는 전압 레일(rail)에서 P=0 및 Q=1인 장치의 2진값을 취한다.
일반적으로, 상기한 인코딩 과정을 수행하는 캐리 평가회로는 전체적으로 가산회로 내부에 다수회 발생된다. 가산회로 내부에 특정한 캐리 평가회로가 놓이는 위치에 의존하여, 캐리 평가회로는, 제 1의 2진수와 제 2의 2진수로부터의 비트 또는 이 회로의 상류측으로부터의 이전에 평가된 캐리생성 제어신호를 포함하는 비트 중 어느 하나를 그것의 입력으로서 수신한다. 특히, 본 발명의 바람직한 실시예에 있어서, 상기 캐리 평가회로는, 상기 제 1의 2진수와 상기 제 2의 2진수의 비트의 2개의 개별적인 쌍 또는 이전에 평가된 2개의 캐리생성 제어신호 중 하나를 구비한 2쌍의 입력신호 (a1, b1) 및 (a2, b2)에 응답하고, V 및 W는 다음 식으로 주어진다:
v = a2·b2+ (a2+ b2)·a1,
w = a2·b2+ (a2+ b2)·b1.
캐리 평가회로가 하나의 연산에서 분해할 수 있는 입력신호 쌍의 수와 그 평가를 달성하기 위해 필요한 회로의 사이즈, 복잡성 및 실용성 사이에서 취해야 하는 균형이 존재한다. 특히, 캐리 평가회로가 더 많은 입력신호 쌍을 분해할 수 있으면, 보다 소수의 캐리 평가회로의 층이 전체의 가산회로에 필요할 것이다. 그러나, 캐리 평가회로에 대한 입력신호 쌍의 수가 증가함에 따라, 그 캐리 평가회로에 의해 수행되고 있는 판정의 복잡성은, 회로의 크기와, 집적회로의 유한 전압 및 연속 손실 제약조건에서 동작할 수 있는 능력과 마찬가지로, 증가하게 된다.
상기한 이유로 인해, 입력신호의 2쌍, 3쌍 또는 4쌍 중 하나에 응답하는 캐리 평가회로가 가장 바람직하다는 것이 밝혀졌다. 그러나, 일반적으로 말하면 상기한 캐리 평가회로는 입력신호의 N쌍(이때, N은 1보다 큰 정수이다)에 응답할 수 있다는 것은 자명하다.
전술한 캐리 평가회로는 다양한 방식으로 사용될 수 있지만, 복수의 상기 캐리 평가회로가 상기 제 1의 2진수와 제 2의 2진수로부터 캐리 비트의 전체 세트를 평가하기 위해 병렬 접두(parallel prefix) 구조에 사용되는 시스템에 특히 적합하다.
상기한 캐리 평가회로에 의해 수행되는 인코딩은, 복수의 스태틱 CMOS 논리 게이트에서의 효율적인 실행에 매우 적합한 것이다.
이와 달리, 회로 면적을 줄이기 위해 다이나믹 집적회로가 바람직한 경우에는, 상기 인코딩은 복수의 다이나믹 CMOS 논리 게이트에 의한 구현에도 적합하다.
전술한 기술이 채용될 수 있는 바람직한 가산회로 구조는,
상기 제 1의 2진수와 상기 제 2의 2진수의 합의 복수의 캐리 비트로 구성된 캐리 2진수를 판정하기 위해 상기 제 1의 2진수와 상기 제 2의 2진수에 응답하고, 상기 캐리 2진수를 판정하기 위해 직렬로 동작하며 그 각각이 상기 캐리 2진수를 부분적으로 분해하는 기능을 수행하는 복수의 회로단과, 다음 회로단에 대한 입력신호로서 상기 복수의 회로단 사이에서 전달되는 캐리제어 생성신호를 생성하는 캐리비트 평가회로 중 적어도 하나를 포함하는 적어도 한 개의 회로단을 갖는 캐리 2진수 판정회로와,
상기 제 1의 2진수, 상기 제 2의 2진수 및 상기 캐리 2진수의 각 대응하는 비트에 응답하여 결과값 2진수의 대응하는 비트를 생성하는 조합 논리회로를 구비한 것이다.
전술한 회로에 있어서는, 캐리 2진수의 판정이 매우 빠르게 이루어진다는 이점을 갖는다. 일단, 이러한 캐리 2진수가 판정되면, 상기 제 1의 2진수, 상기 제 2의 2진수 및 상기 캐리 2진수 각각의 대응하는 비트 A, B, C에 대해, 상기 조합 논리회로가 연산 ((A XOR B) XOR C)을 수행하는 실시예에 있어서 최종의 피가수(summand)가 판정될 수 있다.
필요한 전체 회로 면적을 축소하는데 도움이 되는 또 다른 실시예는, 상기 캐리 제어 생성신호가 캐리 소멸 또는 캐리 발생 중 어느 하나를 나타내어야 하는 캐리 평가회로에 대해, V=W인 것으로, 상기 캐리 제어 생성신호를 전송하기 위해 단일의 신호선이 사용될 수 있다.
본 발명의 가산회로는 집적회로 마이크로프로세서 내에 사용하는데 특히 적합하다.
또 다른 관점에서 보면, 본 발명은, 제 1의 2진수 및 제 2의 2진수를 가산하는 가산회로를 동작시키는 방법을 제공하는데, 상기 방법은,
상기 제 1의 2진수와 상기 제 2의 2진수의 대응하는 복수의 비트로 구성된 블록의 합과 상기 블록에 대한 입력 캐리 값을 나타내는 캐리 생성 제어신호를 평가하는 단계를 포함하고, 상기 캐리 생성 제어신호는, P 또는 Q 중에서 어느 하나의 값을 각각 가질 수 있는 2개의 신호 V 및 W를 포함하며, 다음 식에 따라 상기 합계로부터 캐리 결과값을 인코드한다:
V = W = P는, 상기 캐리 결과값이 상기 입력 캐리값에 무관하게 제로값인 캐리 소멸을 나타내고,
V ≠ W는, 상기 캐리 결과값이 상기 입력 캐리값과 동일한 캐리 전파를 나타내며,
V = W = Q는, 상기 캐리 결과값이 상기 입력 캐리값과 무관하게 1인 캐리 발생을 나타낸다.
이하, 본 발명의 실시예를 다음의 첨부도면을 참조하여 설명한다:
도 1은 2-입력쌍 캐리 평가회로를 나타낸 것이고,
도 2는 도 1의 캐리 평가회로를 구비한 16비트 캐리 2진수 평가장치를 나타낸 것이며,
도 3은 3-입력쌍 캐리 평가회로를 나타낸 것이고,
도 4는 도 3의 캐리 평가회로를 구비한 9비트 캐리 2진수 평가장치를 나타낸 것이며,
도 5는 도 1에 도시된 회로의 스태틱 CMOS 실시예를 나타낸 것이고,
도 6은 도 3에 도시된 회로의 스태틱 CMOS 실시예를 나타낸 것이며,
도 7은 32비트 캐리 2진수의 최상위 비트를 계산하는데 사용되는 4-입력쌍 캐리 평가회로들 사이의 상호접속을 나타낸 것이고,
도 8은 두 번째 최상위 비트가 평가되는 것을 제외하고는 도 7과 동일한 도면이며,
도 9는 4-입력쌍 캐리 평가회로를 나타낸 것이고,
도 10은 4-입력쌍 캐리 평가회로를 사용한 16비트 가산기를 나타낸 것이며,
도 11 및 도 12는 4-입력쌍 캐리 평가회로의 CMOS 회로 구현예를 나타낸 것이고,
도 13은 종래의 가산회로를 나타낸 것이며,
도 14는 4-입력쌍 캐리 평가회로를 구비한 가산회로를 나타낸 것이다.
먼저, 캐리 조정의 일반적인 개념을 생각한다. 일반적인 경우에 있어서, 캐리 ci+1는 2개의 1비트 2진수 ai과 bi를 더함으로써 평가된다. ai과 bi의 값에 의해 정의된 2가지 종류의 일반적인 경우가 존재한다. 출력 캐리 요구가 존재하는 첫 번째의 경우는, 양쪽의 오퍼랜드 비트가 같을 때 발생한다. 양쪽 입력이 1일 때 1-캐리 요구가 발생하는 한편, 양쪽 입력이 0일 때 0-캐리 요구는 발생한다. 어떠한 출력 캐리 요구도 없는 두 번째의 경우는, 오퍼랜드 비트가 서로 다른 값을 가질 때 발생한다. 문자 u가 출력 캐리 요구가 없다는 것을 나타내는 표 1을 참조하기 바란다.
ai, bi ci+1
0 0 0
1 1 1
0 1 u
1 0 u
1개의 입력쌍 (ai, bi)은 캐리 요구를 하거나 요구하지 않을 수 있다. 2개의 입력쌍 (ai, bi) 및 (aj, bj)가 사용되는 경우에는, 2개의 캐리 요구가 동시에 발생될 수 있다. 따라서, 이들 2개의 캐리 요구를 조정해야 한다. 연산시에 i 및 j는 (첫 번째의 레벨에 있는) 2개의 인접한 비트 또는 (다음 레벨에 있는) 복수의 비트로 구성된 블록과 관계가 있으므로, 이전에 조정된 3비트로 구성된 블록과 관련된 캐리 요구들을 조정하면, i=j+3이 된다는 점에 주목해야 한다. 도 1은 2-입력쌍 캐리 아비터(carry arbiter)(캐리 평가회로)를 나타낸 것이다. 입력쌍 (ai, bi)은 마스크 불가능한 캐리 요구를 할 수 있다(마스크 불가능이란 이 요구가 항상 출력 캐리 ci+j에 의해 허가를 받아야 한다는 의미를 갖는다). 또한, 입력쌍 (aj, bj)는 마스크 가능한 캐리 요구를 할 수 있다(마스크 가능하다는 것은 이러한 요구가 마스크 불가능한 캐리 요구에 의해 마스크될 수 있다는 의미를 갖는다). 이 입력쌍 (ai, bi)으로부터 어떠한 마스크 불가능한 캐리 요구가 존재하지 않는 경우에만, 출력 캐리 ci+1에 의해 허가를 받은 입력쌍 (aj, bj)로부터의 마스크 가능한 캐리 요구가 존재한다. 이것을 하기 표 2에 나타내었다.
ai, bi aj, bj ci+1
0 0 - - 0
1 1 - - 1
0 1(또는 1 0) 0 0 0
0 1(또는 1 0) 1 1 1
0 1(또는 1 0) 0 1(또는 1 0) u
출력 캐리 ci+1는 표 3에 나타낸 것과 같은 2개의 와이어(wire) (vi, wi)를 사용하여 인코드될 수 있다. 2개의 와이어에 대한 신호는 캐리 생성 제어신호를 구성한다. 다음의 수학식 1은 표 2 및 표 3을 만족시킨다.
ci+1 vi, wi
0 0 0
1 1 0
u 0 1
u 1 0
2-입력쌍 캐리 아비터를 사용하는 16비트의 고속 캐리 연산은 도 2에 나타내었는데, 이 도면은 그 구성이 규칙적이라는 것을 나타낸다. 도 2에 있어서 각각의 노드는 2-입력비트 캐리 아비터이다. 이들 입력에 의존하여, 각각의 노드는 회로 내의 다음 레벨까지 전달되는 결과값에 대해 "투표"하는 것이라고 생각될 수 있다. 이 노드는, 캐리 발생 (1, 1)(찬성 투표), 캐리 소멸 (0, 0)(반대 투표) 또는 캐리 전파 (0, 1) 또는 (1, 0)(기권)을 나타낼 수 있다. 하부 레벨에서는, 이러한 조정이 입력 오퍼랜드의 비트 사이에서 수행되고, 더 높은 레벨에서는, 이전에 결정된 조정의 결과값 사이에서 수행된다.
도 2의 시스템은 전술한 것과 같은 Brent 및 Kung에 의해 제안된 구성과는 다르다. Brent 및 Kung 가산기에서 gi(발생 신호) 및 pi(전파 신호)에 대해 필요한 연산논리가 본 구성에서는 필요하지 않다. 이러한 구성은 더 적은 논리층을 필요로 하며, 이에 따라 고속의 캐리를 발생한다.
Brent 및 Kung의 구성에 있어서, 입력쌍 (ai, bi) 및 (aj, bj)로부터 발생된 2개의 쌍 (gi, pi) 및 (gj, pj)는 새로운 입력쌍으로 간주될 수 있다. 새로운 입력쌍 (gi, pi)은, gi및 pi모두가 0일 때 0-캐리 요구를 하고, gi가 1일 때 1-캐리 요구를 하며, pi가 1일 때 어떠한 캐리 요구도 하지 않는다. 표 4에 나타낸 것과 같이, gi및 pi가 서로 배타적이라는 것에 주목하기 바란다.
gi, pi gj, pj ci+1
0 0 - - 0
1 0 - - 1
0 1 0 0 0
0 1 1 0 1
0 1 0 1 u
출력 캐리 ci+1는 표 5에 나타낸 바와 같이 2개의 와이어 (vi, wi)를 사용하여 인코드될 수 있다. 다음의 수학식 2는 표 4 및 표 5를 만족시킨다.
ci+1 vi, wi
0 0 0
1 1 0
u 0 1
상기 수학식 2는 공지된 Brent 및 Kung 가산기의 핵심적인 발상에 해당한다. 캐리발생 gi와 캐리전파 pi에 대한 논리연산은, 이들 캐리가 어떻게 발생 및 전파되는지를 이해하기 위한 것을 제외하고는 쓸데없는 것이다.
본 구성에 따른 3-입력쌍 캐리 아비터는 도 3에 나타내었다. 입력쌍 (ai, bi)은 마스크 불가능한 캐리 요구를 할 수 있다. 입력쌍 (aj, bj) 및 (ak, bk)는 모두 동시에 마스크 가능한 캐리 요구를 할 수 있다. 그러나, 입력쌍 (aj, bj)는 입력쌍 (ak, bk)에 대해 우선권을 갖는다. 입력쌍 (ai, bi)로부터 마스크 불가능한 캐리 요구가 존재하지 않고, 입력쌍 (aj, bj)로부터 마스크 가능한 캐리가 존재하지 않는 경우에만, 표 6에 나타낸 것과 같이 출력 캐리 ci+1에 의해 허가를 받은 입력쌍 (ak, bk)로부터의 마스크 가능한 캐리 요구가 존재한다. 다음의 수학식 3은 표 3 및 표 6을 만족시킨다.
ai, bi aj, bj ak, bk ci+1
0 0 - - - - 0
1 1 - - - - 1
0 1(또는 1 0) 0 0 - - 0
0 1(또는 1 0) 1 1 - - 1
0 1(또는 1 0) 0 1(또는 1 0) 0 0 0
0 1(또는 1 0) 0 1(또는 1 0) 1 1 1
0 1(또는 1 0) 0 1(또는 1 0) 0 1(또는 1 0) u
도 4는 3-입력쌍 캐리 아비터를 사용하는 9비트 캐리 연산을 나타낸 것으로, 단지 2개의 논리층만을 발생하므로, 고속의 캐리를 발생한다. 3-입력쌍 캐리 아비터를 사용하는 n비트 2진수의 가산은, O(log3n)에 시간 비례하여 수행될 수 있으므로, 연산시간이 O(log2n)인 2-입력쌍 캐리 아비터를 사용하는 것보다 더 효율적이다.
2- 또는 3-입력쌍 캐리 아비터와 유사한 접근방식을 사용하여, 임의 개수의 입력쌍을 갖는 캐리 아비터가 도출될 수 있다. 그러나, 4-입력쌍 보다 큰 입력쌍을 갖는 캐리 아비터는 일반적으로 중요하지 않다. 첫째로, 너무 많은 직렬 트랜지스터가 이들 아비터를 구현하는데 필요하므로, 비효율적인 CMOS 설계를 발생시킨다. 둘째로, 아비터 셀 레이아웃이 데이터 경로의 비트 슬라이스에 대해 너무 커진다.
도 5는 2-입력쌍 캐리 아비터의 스태틱 CMOS 구현예를 나타낸 것이다. 출력 vi, wi가 상보적인 신호라는 점에 주의하기 바란다. 그러나, 이 아비터는 상당히 대칭적으로, 역논리에서 다음 단계를 구현하는 것은 직선적이다. 2개의 아비터를 통과한 신호들은 당연히 양의 참값을 가지므로, 어떠한 인버터도 필요하지 않다.
도 6은 3-입력쌍 캐리 아비터의 스태틱 CMOS 구현예를 나타낸 것이다. 다이나믹 CMOS 기술이 사용되는 경우에는, 3- 또는 4-입력쌍 캐리 아비터가 유리할 수 있으며, 이 경우에는 도 3에 도시된 회로의 풀업 또는 풀다운 부분이 사용될 수 있다. 4-입력쌍 또는 더 높은 회로를 생성하기 위해 도 6에 도시된 3-입력쌍 회로를 확장하는 것은, 도 5 및 도 6 사이에서의 확장과 유사한 방법으로 복수의 단을 대칭적으로 확장함으로써 달성된다.
이와 같은 설계의 검증은, 일례로서 2-입력쌍 아비터에 근거한 n-비트 가산기를 고려함으로써 공식으로 수행될 수 있는데, 이때, an, an-1, …, a1과 bn, bn-1, …, b1을 캐리 cn, cn-1, …, c1이 없는 n-비트 이진수라 하고, c0를 입력 캐리 비트라 하자. 연산자 o[1]를 다음과 같이 정의한다:
증명: 상기 명제를 I에 대해 귀납법을 사용하여 증명한다. 상기 수학식 5는 i=1에 대해 성립하는 것으로 볼 수 있다. i>1 이고 ci-1= vi-1= wi-1이면,
(vi,wi) = (a1,bi)o(vi-1,wi-1)
= (ai,bi)o(ci-1,ci-1)
= (aibi+ (ai+bi)ci-1,aibi+ (ai+bi)ci-1)
= (ci,ci)
따라서, 상기 수학식 5는 귀납법에 의해 성립한다.
상기한 연산자 o는 결합성을 갖는 것으로 증명될 수 있다. 따라서, vi및 wi는 주어진 입력값으로부터 어떠한 순서로도 연산될 수 있다. 이것은, 캐리를 생성하기 위해 트리 구조를 사용하기 위한 기초를 제공한다. 이때, 연산자 o는 교환법칙을 만족하지 않는데, 이는 서로 다른 입력쌍의 우선순위를 암시한다.
도 7은 32번째 비트에 대한 캐리를 생성하는 32비트 가산기 설계의 일부분을 나타낸 것이다. (하단으로부터) 첫 번째 및 두 번째 행에서는 4-입력쌍 캐리 아비터를 사용하는 반면, 세 번째 행에서는 2-입력쌍 아비터를 사용한다. 캐리 연산은 단지 3개의 논리층을 통해 완료된다.
도 8은 31번째 비트 캐리를 생성하는 회로의 일부를 나타낸 것이다. 도 7 및 도 8에 도시된 것과 유사한 회로(상호접속)가 캐리 결과값의 다른 비트에 대해 사용된다. 일단, 캐리 비트가 결정되면(즉, 캐리 인(carry-in) 및 구조는 발생 또는 소멸을 생성하지만, 이 시점에서 전파는 불가능하다), 이 결과값을 더 높은 레벨로 전달하기 위해 단일의 신호 와이어가 사용될 수 있다.
마지막 행은, 입력 오퍼랜드와 캐리 결과값을 XOR 연산하는 가산회로에 해당한다.
도 7 및 도 8에 도시된 가산기로부터의 캐리 아웃은, 비트 32를 포함하도록 캐리 아비터의 3개의 행을 확장하고, 이전 행의 위치 0 및 32로부터의 입력값을 사용하여 네 번째 행에 있는 위치 32에 2개의 비트 아비터를 넣음으로써 달성될 수 있다. 이와 달리, 단지 XOR 회로의 합계 출력이라기 보다는, 합계와 캐리 출력 모두를 발생하는 전체 가산기 내부에, (가산회로)의 4번째 행에 있는 위치 31에 있는 회로를 넣음으로써 달성될 수도 있다.
일반적인 실시예에 있어서, 본 발명의 구성은 0.6㎛의 CMOS 프로세스 기술을 사용하여 32비트 캐리 연산을 완료하는데 단지 1.85ns 밖에 걸리지 않는다.
vi및 wi가 동일한 값이 되면(캐리가 생성되었다는 것을 의미한다), 즉시 이중 레일 신호 대신에 단일 레일의 신호가 경로지정되기만 하면 된다. 이러한 구성은, 칩 면적, 특히 최하위 비트로부터 최상위 비트로 교차하는 신호를 수용하기 위해 더 큰 공간이 필요한 세 번째 행에 있어서, 상당한 절감을 이루도록 한다. 따라서, 결과적으로 얻어진 가산기는 매우 콤팩하다.
전술한 기술을 이용하는 일례로서, 이하에서는 적당한 칩 면적을 갖는 80비트 고속 가산기의 설계를 고려한다.
캐리 ci는 상기한 표 1에 나타낸 것과 같은 2개의 1비트 수 ai및 bi를 더함으로써 평가된다. 이 값 ai및 bi에 의해 결정되는 2가지 일반적인 경우가 존재한다. 캐리 요구가 존재하는 첫 번째 경우는, 양쪽의 오퍼랜드 비트가 동일할 때 발생한다. 양쪽의 입력이 1인 경우에는 1-캐리 요구가 발생하는 한편, 양쪽의 입력이 0인 경우에는 0-캐리 요구가 발생한다. 캐리 요구가 존재하지 않는 두 번째 경우는, 오퍼랜드 비트가 서로 다른 값을 가질 때 발생한다. 부호 u는 어떠한 캐리 요구도 존재하지 않는다는 것을 나타낸다.
일례로서 도 9에 도시된 것과 같은 4단계 캐리 아비터를 취하여 캐리 조정의 개념을 도입한다. 임의의 입력쌍 ai및 bi(0≤i≤3)는 캐리 요구를 할 수 있으므로, 동시에 2가지 또는 그 이상의 캐리 요구가 발생될 수 있다. 따라서, 이들 캐리 요구를 조정할 필요가 있다. 입력쌍 (a3,b3)는 마스크 불가능한 캐리 요구를 할 수 있는데, 이때 마스크 불가능이란 입력쌍 (a3,b3)로부터의 캐리 요구가 항상 출력 c에 의해 허가를 받아야 한다는 것을 의미한다. 나머지 3개의 입력쌍 (a2,b2),(a1,b1) 및 (a0,b0)는 마스크 가능한 캐리 요구를 할 수 있는데, 이때 마스크 가능하다는 것은 이들 3개의 입력쌍으로부터의 캐리 요구가 입력쌍 (a3,b3)에 의해 마스크될 수 있다는 것을 의미한다. 입력쌍 (a2,b2)는 입력쌍 (a1,b1) 및 (a0,b0)보다 높은 우선순위를 갖는다. 또한, 입력쌍 (a0,b0)는 가장 낮은 우선순위를 갖는다.
입력쌍 (a3,b3)로부터의 마스크 불가능한 캐리 요구가 존재하지 않는 경우에만, 출력 c에 의해 권한이 주어지는 입력쌍 (a2,b2)로부터의 마스크 가능한 캐리 요구가 존재한다. 입력쌍 (a3,b3)로부터의 마스크 불가능한 캐리 요구와 입력쌍 (a2,b2)로부터의 마스크 불가능한 캐리 요구가 존재하지 않은 경우에만, 출력 c에 의해 권한이 주어지는 입력쌍 (a1,b1)으로부터의 마스크 가능한 캐리 요구가 존재하게 된다. 또한, 입력쌍 (a3,b3), (a2,b2) 및 (a1,b1)으로부터의 캐리 요구가 존재하지 않은 경우에만, 출력 c에 의해 권한이 주어진 입력쌍 (a0,b0)로부터의 캐리 요구가 존재하게 된다. 표 7은 4단계 캐리 아비터를 구현하는데 필요한 진리표를 요약한 것이다.
a3,b3 a2,b2 a1,b1 a0,b0 c
0 - - - 0
11 - - - 1
01 또는 10 0 - - 0
01 또는 10 11 - - 1
01 또는 10 01 또는 10 0 - 0
01 또는 10 01 또는 10 11 - 1
01 또는 10 01 또는 10 01 또는 10 0 0
01 또는 10 01 또는 10 01 또는 10 11 1
01 또는 10 01 또는 10 01 또는 10 01 또는 10 u
동일한 접근방법을 사용하여, 임의의 수의 단계를 갖는 캐리 아비터를 도출할 수 있다. 캐리 연산의 결합성을 이용하는 트리 구조 내부에 결합된 캐리 아비터를 사용함으로써 캐리를 신속하게 생성할 수 있다. 도 10은, 캐리 조정에 근거한 16비트 캐리 연산을 나타낸 것이다. 이때, 흑색 점은 캐리 아비터를 나타낸다. m-단계의 캐리 아비터를 사용한 n-비트 수의 가산은, O(logmn)에 시간 비례하여 수행될 수 있다.
이론상으로는, 각각의 캐리 아비터가 더 많은 입력을 취급할수록, 캐리가 더욱 더 신속하게 생성된다. 그러나, 4단계보다 많은 캐리 아비터는 일반적으로 중요하지 않다. 첫째로, 너무 많은 직렬 트랜지스터가 이들 아비터를 구현하는데 필요하므로, 비효율적인 CMOS 설계를 발생시킨다. 둘째로, 아비터 셀 레이아웃이 데이터 경로의 비트 피치에 대해 쉽게 너무 커질 수 있다. 4단계 캐리 아비터와 그들의 다이나믹 CMOS 구현은, 이것들이 이러한 80비트 설계에 있어서 양호한 결과를 제공하기 때문에 선택된다. 32비트 가산기와 같은 다른 설계는 3단계 캐리 아비터를 선호한다.
자기 타이밍 설계(self-timed design)에서 사용된 이중 레일 데이터 인코딩에 의해 동기가 부여되어, 캐리 요구 출력 c는 표 8에 나타낸 것과 같은 2개의 와이어 (aa, bb)를 사용하여 인코드될 수 있다. 하기 수학식 6 및 수학식 7은 표 7 및 표 8에 의해 규정된 거동을 제공한다.
c aa,bb
0 0 0
1 1 1
u 0 1
u 1 0
도 11은 상기한 수학식에 따른 4단계 캐리 아비터의 직접 다이나믹 CMOS 구현예를 나타낸 것이다. 이러한 회로의 동작은, 제어 핸드쉐이크의 리셋 단계 동안에 입력 a3와 b3가 로우 상태일 때에는 노드 n1 및 n2가 하이 상태로 예충전되고, 평가 단계 동안에는 조건부로 방전된다. 구성 능력을 유지하기 위해 버퍼가 사용된다.
도 12는 4단계 캐리 아비터의 변형예를 나타낸 것이다. 이때, 모든 입력쌍 (ai, bi)은 3가지 값 (0 0), (1 1) 및 (1 0) 중에서 어느 한가지를 갖고 (0 1)은 이미 (1 0)로 변환된 것으로 가정한다. 이러한 이유로는 2가지를 들 수 있다. 첫째, 데이터 경로의 비트 피치(본 실시예에 있어서는 21.5㎛)로 변형된 회로를 레이아웃하기가 용이하며, 직접적인 구현에 비해 약 300ps 신속하게 된다. 두 번째로, 더 중요한 이유는, 출력 aa와 bb가 새로운 의미를 갖는다는 점이다. 출력 aa 와 bb가 서로 다른 값을 갖는 경우에, 이것은 전술한 것과 같이 입력으로부터 어떠한 캐리 요구도 존재하지 않는다는 것을 의미한다. 그러나, 또 다른 방식의 4단계 캐리 아비터를 선택할 수 있다. 4비트 가산을 위한 캐리 생성회로로서 4단계 캐리 아비터를 고려하면, 출력 aa 및 bb 중의 한가지는 제로값의 캐리 인을 갖고 발생된 캐리 아웃으로 볼 수 있으며, 나머지는 1의 캐리 인을 갖고 발생된 캐리 이웃으로 볼 수 있다. 직접적인 구현으로는, 어떤 것이 제로값의 캐리 인을 갖고 생성된 캐리 아웃이고, 어떤 것이 1의 캐리 인을 갖고 생성된 캐리 아웃인지를 구별되지 않는다. 상기한 변형된 회로는, 출력 aa를 1의 캐리 인을 갖고 생성된 캐리 아웃으로서 정확히 제공하며, 출력 bb를 제로값의 캐리 인을 갖고 생성된 캐리 아웃으로서 정확하게 제공한다. 이러한 구성은, 칩 면적의 상당한 절감을 발생하며(아래의 기재내용을 참조할 것), 이것이 본 실시예의 중요한 특징부에 해당한다.
그러나, 상기한 변형예의 사용에는 (0 1)으로부터 (1 0)으로의 입력 변환이 필요하다. 다행스럽게, 이것은 어떠한 문제도 일으키지 않으며, 변환과정이 단순하다. 이것은, 비트당 1개의 2비트 NAND와 1개의 2비트 NOR 게이트로 구성된다. 실제적인 이유로, 주 입력 베이스로부터 신호를 격리시키기 위해 보통 게이트가 여하튼 필요하게 된다. 본 실시예에서의 차이점은, NAND 및 NOR 게이트가 인버터 대신에 사용된다는 것이다. 2개의 입력 버스가 예충전 구조를 사용하여 설계된 경우에, 버스가 하이상태로 예충전되면 NAND 및 NOR 게이트 다음의 출력은 자연스럽게 (다이나믹 구현에 필요한) 로우상태가 된다. 더구나, 이들 NAND 및 NOR 게이트는 ALU 설계에 있어서 논리 연산을 위해 재사용될 수 있다.
먼저, 고속 가산기 설계에 대한 종래의 접근방법을 고려한다. 도 13은 캐리 선택 구성을 사용한 종래의 가산기 설계를 나타낸 것이다. 입력은 복수의 d-비트의 그룹으로 나뉘어진다. 그룹당 2개의 가산기가 필요하다. 그중에서 한 개는 제로값의 캐리 인을 갖는 가산기이고, 나머지 한 개는 1의 캐리 인을 갖는 가산기이다. 캐리 생성기는 모든 그룹에 대한 경계 캐리를 생성하는 역할을 하며, 이에 따라 이것은 멀티플렉서를 사용하여 적절한 합계를 선택하는데 사용된다. 캐리 생성기와 그룹 가산기 양쪽의 지연에 대한 균형을 맞추기 위해 적절한 그룹을 선택하기 위한 설계 판정이 이루어져야 한다. 그룹 가산기가 너무 길게 형성되면, 그룹 가산기의 증가된 지연이 캐리 발생기의 감소된 지연을 초월하게 된다. 그룹 가산기가 너무 짧게 형성되면, 캐리 생성기의 논리 깊이(logic depth)가 증가하여, 그것의 지연이 전체 가산기의 지연을 결정하게 된다.
본 발명의 일 실시예에 따른 80 비트 가산기의 블록도를 도 14에 나타내었다. 전체 가산기는 5개의 16비트 그룹으로 구성된 것으로 도시되어 있다(그러나, 분할되어 있지는 않다). 첫 번째 행은, 2-입력 NAND 및 NOR 게이트를 포함하는 변환회로에 해당한다. 두 번째 및 세 번째 행은, 각각의 그룹 내부에 캐리를 생성하고 전술한 형태를 갖는 4단계 아비터이다. 4번째 행은, 제로값의 캐리 인과 1값의 캐리 인을 갖는 2가지 중간 합계를 발생한다. 마지막 행은, 최종의 합계 결과값을 선택하는 멀티플렉서와, 경계 캐리 c16, c32, c48및 c64를 발생하는 3개의 캐리 아비터이다. 16의 최하위 비트의 캐리는 캐리 연산의 2개의 행 이후에 이미 발생된다. 종래의 캐리 선택 구성에 비해, 그룹 가산기에 대한 필요성이 제거되었다는 것을 명백히 알 수 있다. 2가지 중간 합계가 캐리 생성 크리 내부에서 효율적으로 생성된다. 이러한 구성은, 특히 그룹이 길게 형성될 때, 그룹 가산기가 캐리 연산을 위한 일부 메카니즘을 필요로 하기 때문에, 칩 면적의 상당한 감소를 가져온다. 어떤 의미에서, 종래의 접근방법은 너무 많은 반복을 발생한다. 상기한 신호 aa 및 bb가 동일한 것으로 알려지면(이것은 캐리가 1-캐리 또는 0-캐리 요구 중 한가지로 발생된다는 것을 의미한다), (이중 레일 신호 대신에) 단일 레벨 신호만을 경로지정할 필요가 있다는 점을 주목하기 바란다.
상기한 가산기는 0.5㎛ 3중 금속 CMOS 기술로 설계된다. 이러한 레이아웃은, 규칙적인 구조와 균일한 팬-인 및 팬-아웃 로딩(fan-out loading)을 가지므로, 매우 콤팩하다. 포스트-레이아웃(post-layout) HSPICE 시뮬레이션에 따르면, 상기한 가산기는 80-비트의 가산을 완료하는데 3.5ns가 걸리는 것으로 밝혀졌다. 이와 같은 가산기의 특징을 하기 표 9에 요약하였다.
기술 0.5㎛ 삼중 금속 CMOS
전원 3.3 볼트
가산 시간 3.5ns
활성 면적 1720㎛ x 124㎛
트랜지스터 카운트 2546
트랜지스터 밀도 12k/㎟
캐리 연산의 결합성에 근거한 다수의 캐리 요구의 우선권이 부여된 조정을 사용하여 캐리가 생성되는 캐리 조정 구성이 개발된 바 있다. 여기에 제안된 구성은, 필요한 몇 개의 논리층으로 인해 고속의 가산기를 고속의 가산기를 제공할 수 있을 뿐 아니라, 규칙적이고도 콤팩한 레이아웃과 균일한 팬-인 및 팬-아웃 로딩을 제공한다.
4단계 캐리 아비터로 이루어진 다이나믹 CMOS 구현을 착안하고 변형하였다. 변형예는 이중의 의미를 사용한다. 출력 aa 및 bb가 동일한 경우에는, 캐리가 생성된 것을 의미한다. 이것들이 서로 다른 경우에는, 출력 aa가 1의 캐리 인을 갖고 생성된 캐리 아웃이며, 출력 bb가 제로값의 캐리 인을 갖고 생성된 캐리 아웃이라는 것을 의미한다.
전술한 구성에 근거한 비동기식 80 비트 가산기 설계에 대해 설명하였는데, 이것은 0.5㎛ 삼중 금속 CMOS 기술에서 80 비트의 합을 평가하는데 3.5ns가 걸린다. 이때, 활성 면적은 1720㎛ x 124㎛이다. 상기한 가산기의 중요한 특징은, 2개지 중간 합계가 캐리 생성 트리 내부에서 효율적으로 생성된다는 것이다.

Claims (16)

  1. 제 1의 2진수 및 제 2의 2진수를 가산하는 가산회로에 있어서,
    상기 제 1의 2진수와 상기 제 2의 2진수의 대응하는 복수의 비트로 구성된 블록의 합과 상기 블록에 대한 입력 캐리 값을 나타내는 캐리 생성 제어신호를 평가하는 캐리 평가회로를 구비하고, 상기 캐리 생성 제어신호는, P 또는 Q 중에서 어느 하나의 값을 각각 가질 수 있는 2개의 신호 V 및 W를 포함하며, 다음 식에 따라 상기 합계로부터 캐리 결과값을 인코드하는 것을 특징으로 하는 가산회로:
    V = W = P는, 상기 캐리 결과값이 상기 입력 캐리값에 무관하게 제로값인 캐리 소멸을 나타내고,
    V ≠ W는, 상기 캐리 결과값이 상기 입력 캐리값과 동일한 캐리 전파를 나타내며,
    V = W = Q는, 상기 캐리 결과값이 상기 입력 캐리값과 무관하게 1인 캐리 발생을 나타낸다.
  2. 제 1 항에 있어서,
    P = 0이고 Q = 1인 것을 특징으로 하는 가산회로.
  3. 제 1 항 및 제 2 항 중 어느 한 항에 있어서,
    상기 캐리 평가회로는, 상기 제 1의 2진수와 상기 제 2의 2진수의 비트의 2개의 개별적인 쌍 및 이전에 평가된 2개의 캐리생성 제어신호 중 하나를 구비한 2쌍의 입력신호 (a1, b1) 및 (a2, b2)에 응답하고, V 및 W는 다음 식으로 주어지는 것을 특징으로 하는 가산회로:
    V = a2·b2+ (a2+ b2)·a1,
    W = a2·b2+ (a2+ b2)·b1.
  4. 제 1 항 및 제 2 항 중 어느 한 항에 있어서,
    상기 캐리 평가회로는, 상기 제 1의 2진수와 상기 제 2의 2진수의 비트의 3개의 개별적인 쌍 및 이전에 평가된 3개의 캐리생성 제어신호 중 하나를 구비한 3쌍의 입력신호 (a1, b1), (a2, b2) 및 (a3, b3)에 응답하고, V 및 W는 다음 식으로 주어지는 것을 특징으로 하는 가산회로:
    V = a3·b3+ (a3+ b3)·(a2·b2+ (a2+ b2)·a1),
    W = a3·b3+ (a3+ b3)·(a2·b2+ (a2+ b2)·b1).
  5. 제 1 항 및 제 2 항 중 어느 한 항에 있어서,
    상기 캐리 평가회로는, 상기 제 1의 2진수와 상기 제 2의 2진수의 비트의 4개의 개별적인 쌍 및 이전에 평가된 4개의 캐리생성 제어신호 중 하나를 구비한 4쌍의 입력신호 (a1, b1), (a2, b2), (a3, b3) 및 (a4, b4)에 응답하고, V 및 W는 다음 식으로 주어지는 것을 특징으로 하는 가산회로:
    V = a4·b4+ (a4+ b4)·(a3·b3+ (a3+ b3)·(a2·b2+ (a2+ b2)·a1)),
    W = a4·b4+ (a4+ b4)·(a3·b3+ (a3+ b3)·(a2·b2+ (a2+ b2)·b1)).
  6. 제 1 항 및 제 2 항 중 어느 한 항에 있어서,
    상기 캐리 평가회로는, 상기 제 1의 2진수와 상기 제 2의 2진수의 비트의 N개의 개별적인 쌍 및 이전에 평가된 N개의 캐리생성 제어신호 중 하나를 구비한 N쌍의 입력신호 (a1, b1), (a2, b2),…, (aN, bN)에 응답하고, V 및 W는 다음 관계에 따라 주어지는 것을 특징으로 하는 가산회로:
    V = fN V(aN, bN, …, a1, b1) 및,
    W = fN W(aN, bN, …, a1, b1)이고, 이때,
    f1 V= a1,
    f1 W= b1이며, 2 내지 N의 범위를 갖는 I에 대해서는,
    fi V(ai, bi, …, a1, b1) = ai·bi+ (a1+ b1)·fi-1 V이고,
    fi W(ai, bi, …, a1, b1) = ai·bi+ (a1+ b1)·fi-1 W.
  7. 선행하는 청구항 중 어느 한 항에 있어서,
    복수의 상기 캐리 평가회로가, 상기 제 1의 2진수와 제 2의 2진수로부터 캐리 비트의 전체 세트를 평가하기 위해 병렬 접두 구조로 사용되는 것을 특징으로 하는 가산회로.
  8. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 캐리 평가회로는, 복수의 스태틱 CMOS 논리 게이트로 이루어진 것을 특징으로 하는 가산회로.
  9. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 캐리 평가회로는, 복수의 다이나믹 CMOS 논리 게이트로 이루어진 것을 특징으로 하는 가산회로.
  10. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 제 1의 2진수와 상기 제 2의 2진수의 합의 복수의 캐리 비트로 구성된 캐리 2진수를 판정하기 위해 상기 제 1의 2진수와 상기 제 2의 2진수에 응답하고, 상기 캐리 2진수를 판정하기 위해 직렬로 동작하며 그 각각이 상기 캐리 2진수를 부분적으로 분해하는 기능을 수행하는 복수의 회로단과, 다음 회로단에 대한 입력신호로서 상기 복수의 회로단 사이에서 전달되는 캐리제어 생성신호를 생성하는 캐리비트 평가회로 중 적어도 하나를 포함하는 적어도 한 개의 회로단을 갖는 캐리 2진수 판정회로와,
    상기 제 1의 2진수, 상기 제 2의 2진수 및 상기 캐리 2진수의 각 대응하는 비트에 응답하여 결과값 2진수의 대응하는 비트를 생성하는 조합 논리회로를 구비한 것을 특징으로 하는 가산회로.
  11. 제 10 항에 있어서,
    상기 제 1의 2진수, 상기 제 2의 2진수 및 상기 캐리 2진수 각각의 대응하는 비트 A, B, C에 대해, 상기 조합 논리회로가 연산 ((A XOR B) XOR C)을 수행하는 것을 특징으로 하는 가산회로.
  12. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 캐리 제어 생성신호가 캐리 소멸 또는 캐리 발생 중 어느 하나를 나타내어야 하는 캐리 평가회로에 대해, V = W이고, 상기 캐리 제어 생성신호를 전송하기 위해 단일의 신호선이 사용되는 것을 특징으로 하는 가산회로.
  13. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 캐리 평가회로는 캐리인 입력을 갖고, V ≠ W일 때, V는 캐리 인 입력으로서 1을 갖는 캐리 아웃 출력과 동일하고 W는 캐리 인 입력으로서 0을 갖는 캐리 아웃 출력과 동일하도록, 캐리 아웃 출력을 발생하는 것을 특징으로 하는 가산회로.
  14. 제 13 항에 있어서,
    상기 캐리 평가회로는 캐리 선택회로와 결합되어 최종 결과값을 생성하는 것을 특징으로 하는 가산회로.
  15. 선행하는 청구항 중 어느 한 항에 기재된 가산회로를 구비한 집적회로 마이크로프로세서.
  16. 제 1의 2진수 및 제 2의 2진수를 가산하는 가산회로를 동작시키는 방법에 있어서,
    상기 제 1의 2진수와 상기 제 2의 2진수의 대응하는 복수의 비트로 구성된 블록의 합과 상기 블록에 대한 입력 캐리 값을 나타내는 캐리 생성 제어신호를 평가하는 단계를 포함하고, 상기 캐리 생성 제어신호는, P 또는 Q 중에서 어느 하나의 값을 각각 가질 수 있는 2개의 신호 V 및 W를 포함하며, 다음 식에 따라 상기 합계로부터 캐리 결과값을 인코드하는 것을 특징으로 하는 방법:
    V = W = P는, 상기 캐리 결과값이 상기 입력 캐리값에 무관하게 제로값인 캐리 소멸을 나타내고,
    V ≠ W는, 상기 캐리 결과값이 상기 입력 캐리값과 동일한 캐리 전파를 나타내며,
    V = W = Q는, 상기 캐리 결과값이 상기 입력 캐리값과 무관하게 1인 캐리 발생을 나타낸다.
KR1019990702813A 1996-10-02 1997-07-04 디지탈 가산회로 KR20000048818A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9620526.5 1996-10-02
GB9620526A GB2317971B (en) 1996-10-02 1996-10-02 Digital adder circuit

Publications (1)

Publication Number Publication Date
KR20000048818A true KR20000048818A (ko) 2000-07-25

Family

ID=10800811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990702813A KR20000048818A (ko) 1996-10-02 1997-07-04 디지탈 가산회로

Country Status (10)

Country Link
US (1) US5951630A (ko)
EP (1) EP1008033B1 (ko)
JP (1) JP2001501341A (ko)
KR (1) KR20000048818A (ko)
CN (1) CN1232561A (ko)
DE (1) DE69708160D1 (ko)
GB (1) GB2317971B (ko)
IL (1) IL128178A0 (ko)
TW (1) TW313652B (ko)
WO (1) WO1998014864A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231414B1 (en) * 2000-02-09 2007-06-12 Hewlett-Packard Development Company, L.P. Apparatus and method for performing addition of PKG recoded numbers
KR20000054275A (ko) * 2000-05-30 2000-09-05 장주욱 입력에 따라 능동적으로 재구성 가능한 고속 병렬 덧셈기
US6954773B2 (en) * 2001-09-28 2005-10-11 Intel Corporation Providing an adder with a conversion circuit in a slack propagation path
US7921148B2 (en) * 2006-08-09 2011-04-05 Infineon Technologies Ag Standard cell for arithmetic logic unit and chip card controller
CN101201731B (zh) * 2008-02-15 2010-08-18 刘杰 二进制数字减法器
US8521801B2 (en) * 2008-04-28 2013-08-27 Altera Corporation Configurable hybrid adder circuitry
US9785405B2 (en) * 2015-05-29 2017-10-10 Huawei Technologies Co., Ltd. Increment/decrement apparatus and method
CN105045556B (zh) * 2015-07-09 2018-01-23 合肥工业大学 一种动静态混合式加法器
CN113642280B (zh) * 2020-04-27 2024-06-14 中国科学院上海微系统与信息技术研究所 超导集成电路的布局方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099248A (en) * 1977-01-28 1978-07-04 Sperry Rand Corporation One's complement subtractive arithmetic unit utilizing two's complement arithmetic circuits
JPH0391832A (ja) * 1989-09-05 1991-04-17 Sony Corp 加算回路
JP2530070B2 (ja) * 1991-09-11 1996-09-04 株式会社東芝 加算器
US5499203A (en) * 1992-09-27 1996-03-12 Grundland; Nathan Logic elements for interlaced carry/borrow systems having a uniform layout
US5278783A (en) * 1992-10-30 1994-01-11 Digital Equipment Corporation Fast area-efficient multi-bit binary adder with low fan-out signals
TW253951B (ko) * 1993-05-03 1995-08-11 Motorola Inc
US5465224A (en) * 1993-11-30 1995-11-07 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first Boolean combination of first, second and third inputs plus a second Boolean combination of first, second and third inputs
US5596763A (en) * 1993-11-30 1997-01-21 Texas Instruments Incorporated Three input arithmetic logic unit forming mixed arithmetic and boolean combinations
US5493524A (en) * 1993-11-30 1996-02-20 Texas Instruments Incorporated Three input arithmetic logic unit employing carry propagate logic
US5485411A (en) * 1993-11-30 1996-01-16 Texas Instruments Incorporated Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs

Also Published As

Publication number Publication date
GB2317971A (en) 1998-04-08
WO1998014864A1 (en) 1998-04-09
JP2001501341A (ja) 2001-01-30
TW313652B (en) 1997-08-21
EP1008033A1 (en) 2000-06-14
IL128178A0 (en) 1999-11-30
GB2317971B (en) 2000-12-06
CN1232561A (zh) 1999-10-20
EP1008033B1 (en) 2001-11-07
GB9620526D0 (en) 1996-11-20
DE69708160D1 (de) 2001-12-13
US5951630A (en) 1999-09-14

Similar Documents

Publication Publication Date Title
US5278783A (en) Fast area-efficient multi-bit binary adder with low fan-out signals
US4525797A (en) N-bit carry select adder circuit having only one full adder per bit
EP0081632A2 (en) Adder circuit
KR19980064395A (ko) 연산장치의 연산방법, 기억매체 및 연산장치
US5943251A (en) Adder which handles multiple data with different data types
Ravindran et al. An optimum VLSI design of a 16-BIT ALU
JPH0421889B2 (ko)
KR20000048818A (ko) 디지탈 가산회로
US5163020A (en) High speed BiCMOS conditional sum adder
US4700325A (en) Binary tree calculations on monolithic integrated circuits
Lo A fast binary adder with conditional carry generation
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
EP0670061B1 (en) Enhanced fast multiplier
US5548546A (en) High-speed carry increment adding device
Ghafari et al. A new high-speed and low area efficient pipelined 128-bit adder based on modified carry look-ahead merging with Han-Carlson tree method
US5126965A (en) Conditional-sum carry structure compiler
US6199090B1 (en) Double incrementing, low overhead, adder
US6954773B2 (en) Providing an adder with a conversion circuit in a slack propagation path
US5812437A (en) Programmable logic unit for arithmetic, logic and equality functions
KR100663679B1 (ko) 고속 가산기
JPH056892B2 (ko)
US6343303B1 (en) Method of determining a scaling factor
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry
Lutz et al. Comparison of two's complement numbers
KR101846417B1 (ko) 다중 입력을 위한 비교 방법 및 디지털 비교기

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid