KR950005522B1 - 룩어헤드 가산기의 캐리 발생기 - Google Patents

룩어헤드 가산기의 캐리 발생기 Download PDF

Info

Publication number
KR950005522B1
KR950005522B1 KR1019910012166A KR910012166A KR950005522B1 KR 950005522 B1 KR950005522 B1 KR 950005522B1 KR 1019910012166 A KR1019910012166 A KR 1019910012166A KR 910012166 A KR910012166 A KR 910012166A KR 950005522 B1 KR950005522 B1 KR 950005522B1
Authority
KR
South Korea
Prior art keywords
group
generation
circuits
delivery
carry
Prior art date
Application number
KR1019910012166A
Other languages
English (en)
Other versions
KR920003150A (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 휴렛트 팩카드 캄파니
Publication of KR920003150A publication Critical patent/KR920003150A/ko
Application granted granted Critical
Publication of KR950005522B1 publication Critical patent/KR950005522B1/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
    • 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
    • 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/506Indexing scheme relating to groups G06F7/506 - G06F7/508
    • G06F2207/50632-input gates, i.e. only using 2-input logical gates, e.g. binary carry look-ahead, e.g. Kogge-Stone or Ladner-Fischer adder

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Logic Circuits (AREA)

Abstract

내용 없음.

Description

룩어헤드 가산기의 캐리 발생기
제1도는 일련의 캐리 발생회로를 통해 캐리 신호를 리플하는 리플 캐리 가산기의 블럭도.
제2도는 1-비트 룩어헤드 가산기의 블럭도.
제3도는 2-비트 캐리 룩어헤드 가산기의 블럭도.
제4도는 제3도에 도시한 가산기의 일부를 형성하는 한쌍의 발생 및 전달 회로의 블럭도.
제5도는 제3도에 도시한 가산기의 일부를 형성하는 한쌍의 그룹 발생 및 그룹전달 회로의 블럭도.
제6도는 제3도에 도시한 가산기의 일부를 형성하는 캐리 발생 회로의 블럭도.
제7도는 4-비트 캐리 룩어헤드 가산기의 블럭도.
제8도는 제7도에 도시한 가산기의 일부를 형성하며 제5도에 도시한 회로보다 높은 계층 레벨에 있는 한쌍의 계층적 그룹 발생 및 그룹전달 회로의 블럭도.
제9도는 제7도에 도시한 것과 유사하나 본 발명을 포함한 4-비트 캐리 룩어헤드 가산기의 블럭도.
제10도는 제9도에 도시한 가산기의 일부를 형성하는 두개의 그룹 발생 및 그룹전달 회로쌍의 블럭도로서, 본 발명에 따라서 이들 중의 한쌍의 제8도의 계층적 회로에 대응하며, 나머지 하나의 부가적인 쌍은 비-계층적 회로에 대응하는 블럭도.
제11도는 8-비트 캐리 룩어헤드 가산기의 블럭도.
제12도는 제9도에 도시한 것과 유사하나 본 발명을 포함한 8-비트 캐리 룩어헤드 가산기의 블럭도.
제13도는 본 발명에 따라 구성된 32-비트 캐리 룩어헤드 가산기의 블럭도.
* 도면의 주요부분에 대한 부호의 설명
13 : 리플 캐리 회로 15 : 합산회로
17 : cla1 회로 19 : cg 회로
21 : 합산회로 23 : cla2 회로
25 : cla4 회로 25 : mcla4 회로
27 : cla8 회로 27': mcla4 회로
29' : mcla16 회로 31': mcla32 회로
본 발명은 일반적으로 룩어헤드(lookahead) 가산기에 관한 것으로, 특히 이러한 룩어헤드 가산기의 캐리(carry)(자리올림) 발생회로에 관한 것이다.
통상의 직렬 리플(ripple)가산기의 속도는 느린데, 그 이유는 각 단에서 생성된 캐리 신호(자리 올림 신호)가 다음 하위 단에 의한 캐리 신호의 발생을 기다려야만 하기 때문이다. 룩어헤드 가산기는 이와 같은 단점을 캐리 신호 발생방식의 개선을 통해 해소하고자 한다. 이러한 가산기는 일련의 합산단(series of summing stages)을 포함하며. 이들 합산단의 각각은 두개의 다중-비트(multi-bit) 2진수의 각각의 대응 비트쌍을 가산한다. 각각의 합산단은 한쌍의 A 및 B비트 입력과 하나의 캐리 입력을 갖는다. 각각의 합산단과 관련하여 발생회로 및 전달회로가 있다. 소정의 합산단에 관련된 각각의 전달회로는 그의 A 및 B 입력 중의 하나가 "참(ture)"인 경우에 전달신호를 발생하고, 각각의 발생회로는 그의 A 및 B 입력의 모두가 참인 경우에 출력을 발생한다. 연속하는 각 쌍의 단에 연관된 발생회로 및 전달 회로들로부터의 출력들은 공통의 그룹발생 회로에 인가되며, 이와 마찬가지로, 연속하는 합산회로쌍들에 연관된 전달회로들로부터의 출력들은 공통의 그룹 전달 회로에 인가된다. 따라서, 4-비트 가산기의 경우, 최상위 비트 및 그 다음 최상위 비트의 발생회로 및 전달 회로들로부터의 출력들은 제1(첫번째) 그룹발생회로 및 그룹전달 회로쌍에 인가되지만, 제3(세번째) 최상위비트 및 최하위비트에 연관된 발생회로 및 전달 회로들로부터의 출력들은 제2(두번째) 그룹발생회로 및 그룹전달 회로쌍에 인가된다. 이들 두쌍의 그룹발생회로 및 전달 회로로부터의 출력들은 단일의 그룹 발생 및 그룹전달 회로쌍에 인가된다. 그 결과, 최하위 레벨의 발생회로 및 전달회로로부터 최상위 레벨의 한쌍의 그룹발생회로 및 그룹전달 회로까지 나아가는 계층적으로(hierarchically) 배열된 발생회로, 전달회로, 그룹발생회로 및 그룹전달 회로의 피라미드가 형성되어, 최상위 레벨의 회로들은 가산될 수의 총 비트수의 함수인 레벨수 만큼 최하위 레벨의 발생회로 및 전달 회로에서 제거된다. 따라서, 예를 들면 32-비트 가산기의 경우, 그 피라미드는 32개의 발생회로 및 전달회로쌍, 제1중간 레벨에 있는 16개의 그룹발생회로 및 그룹전달 회로쌍, 제2중간레벨에 있는 8개의 이러한 회로쌍, 제3중간레벨에 있는 4개의 이러한 회로쌍과 제4중간레벨에 있는 2개의 이러한 회로쌍을 포함하고 있으므로, 그룹 발생회로 및 그룹 전달 회로의 총 레벨 수가 5개로 된다.
4-비트 룩어헤드 가산기를 설명하면, 가산기의 각각의 단은 캐리 발생회로를 포함하며, 캐리 발생회로의 기능은 발생회로, 전달회로, 그룹발생회로 및 그룹발생 회로의 출력들로부터 최하위 비트단 위의 연속하는 합산 단들에 대한 캐리신호를 얻고자 하는 것이다. 4-비트 가산기에 있어서. 제1,2,4 캐리발생단으로의 입력은 발생회로, 전달회로, 그룹발생회로 및 그룹전달 회로의 각종 1개의 출력에 의해 공급되며, 이들 입력은 가산기에 대한 A 및 B 입력을 완전히 반영한다. 그러나, 이것은 그 단에 연간하는 발생회로 및 전달회로로부터 그 입력을 받는 2번째의 최상위 비트단에 대해서는 맞지 않는다. 이것은 하위 비트 단들에 관련된 발생, 전달, 그룹발생 및 그룹전달 신호들이 2번째의 최상위 비트단에 연관된 발생 및 전달 회로들에 인가되지 않는다고 하는 피라미드 형상의 회로망 구성 때문에 발생한다. 이들 하위단으로의 입력을 반영하는 정보는 어딘가 다른 곳으로부터, 즉 3번째의 최상위 비트단의 캐리발생 회로의 출력으로부터 와야만 한다. 상술한 바가 뜻하는 것은, 2번째의 최상위 비트단의 캐리 발생회로에 의해 발생되는 캐리신호가 그 다음의 낮은 하위 비트단의 캐리신호가 생성될 때까지 발생될 수 없다는 것이다. 이 때문에 바람지하지 못한 지연이 발생하며, 많은 수의 단을 갖는 가산기의 경우에는 그러한 문제가 더욱 확대되어 지연이 증가될 것이 명백하다.
따라서, 본 발명의 목적은 가산기의 각 단들에 관련된 캐리 발생 회로의 출력에 의존할 필요없이 가산기의 높은 단들에 관련된 캐리 발생 회로로의 입력들을 발생하는 룩어헤드 가산기용 캐리 발생기를 제공하는 데 있다.
본 발명에 의하면, 한쌍의 발생회로, 전달회로, 그룹발생회로 및 그룹 전달회로가 가산기의 각 합산회로에 관련하는 캐리 발생회로에, 가산기의 모든 단으로의 입력상태를 완전히 반영하는 발생, 전달, 그룹발생 및 그룹전달의 각 신호를 공급하여 어떠한 캐리 발생회로의 출력도 캐리 발생회로의 연쇄 (chain)내의 그보다 상위의 다른 캐리 발생회로에 인가할 필요성을 제거하도록 한 룩어헤드 가산기용 캐리 발생기가 제공된다. 발생신호, 전달신호, 그룹 발생신호 및 그룹 전달신호의 이와 같은 완전한 보완은 발생회로, 전달회로, 그룹 발생회로 및 그룹 전달회로로 이루어지는 통상적인 계층 배열에, 발생회로, 전달회로, 그룹 발생회로 및 그룹 전달회로로 이루어지는 피라미드내의 다른 레벨에 있는 다른 회로로부터의 그 입력이 얻어지는 부가적인 비계층적 그룹 발생회로 및 그룹 전달회로를 추가하는 것에 의해 달성된다.
상기한 본 발명의 상기 및 기타 특징 및 장점은 청구범위 및 도면을 참조한 다음의 상세설명으로부터 더욱 자명하게 될 것이다.
이하, 본 발명의 구성에 대해서 실시예와 함께 설명한다.
2진 가산기의 목적은 두개의 2진수를 가능한한 캐리 입력과 함께 더하여 합과 캐리 출력을 발생하고자 하는 것이다.
두개의 2진 입력을 A 및 B라 하고 이들 2진수의 특정 비트를 A[i](또는 B[i])라 한다 여기서, A[i](또는 B[i])는 A(또는 B)의 i번째 비트를 의미한다. CIN은 전(前)의 하위 비트들이 가산으로부터 이 가산으로의 캐리라 한다. A,B 및 CIN의 결과합은 S로 표현한다. C는 가산기의 각각의 비트 단으로부터 나오는 캐리를 나타내는 가산기의 중간결과라 한다.
가산기의 단일 비트단에 대해서, 그 비트단의 합은 다음 식(1)과 같다.
S[i] : = (A[i] for B[i]) xor C[i-1] (1)
상기 식 (1)에서, "xor"는 다음의 진리표 I에 의해 표현될 수 있는 2진 논리함수이다.
[표 1]
합 S[i]의 2진 논리 함수는 다음의 진리표 II에 의해 표현할 수 있다.
[표 2]
캐리 C[i]는, 또한, 다음의 부울식(Boolean equation)(2)으로서 표현할 수 있다.
C[i] : = A[i] * B[i] + A[i] * C[i] + B[i] *C[i] (2)
상기 원리들을 구현하는 8-단의 통상적인 리플 캐리 가산기(11)를 제1도에 도시한다. 각 단은 리플 캐리(rc)회로(13) 및 합산(sum)회로(15)를 구비하고 있다. 리플 캐리회로(rc)(13-0) 및 합산(sum)회로(15-0)는 최상위 비트단을 구성하지만, 대응하는 리플 캐리(rc)회로(13-7) 및 합산(sum)회로(15-7)는 가산기의 최하위 비트단을 구성한다. 가산기 (11)는 두개의 8-비트 2진수 A[0] 내지 A[7]과 B[0] 내지 B[7]을 가산하는데 사용된다. 가산기에 의해 가산되는 2진수의 연속 디지트(digits, 數字)는 직렬로 처리된다. 합산(sum) 회로(15-0) 내지 (15-7)의 각각은 CIN 입력을 갖는다. CIN 입력에는 다음 하위비트단의 리플 캐리(rc) 회로(13)의 COUT 출력이 인가된다. 가산기(11)에 의해 발생되는 합의 디지트는 그 단의 합산(sum)회로(15)로의 A 및 B 입력과 캐리 입력을 이용할 수 있으면 계산할 수 있다. 그 디지트로 부터의 캐리신호 COUT도 동시에 계산할 수 있다. 그 디지트로부터의 캐리신호 COUT도 동시에 계산할 수 있다. 따라서, 특정 자리의 디지트에 대한 합은 보다 하위 단들의 리플 캐리(rc)회로(13)에 의해 생성되는 모든 캐리들이 계산될 때까지는 계산될 수 없다. 그러므로, 제1도의 8-비트 가산기(11)에 있어서, 마지막 COUT 신호 C[0]는 이전의 모든 COUT 신호 C[7] 내지 C[1]이 계산될 때까지는 계산될 수 없다.
다음에, 상기한 가산기의 원리설명을 위해 1-비트 캐리 룩어헤드 가산기를 설명한다. 제2도에 도시한 바와 같이, 이 가산기는 cla1 회로(17), cg 회로(19) 및 합산(sum)회로(21)를 구비하고 있다. cla1 회로는 각가 AND 게이트와 OR 게이트로서 실시되고 있는 발생회로(C1) 및 전달회로(P1)로 구성되어 블럭(17)내의 부울식으로 정의되는 기능을 수행한다. 캐리 발생블럭(19)은 제2도의 블럭(19)내의 부울식으로 정의되는 기능을 수행하는 복합 게이트를 구비한다. cg 회로(19) 및 합산(sum)회로(21)은 모두 다음 하위단으로부터 CIN 캐리 입력신호를 수신한다. 합산(sum)블럭(21)은 표 II에 따라 합 출력 S[0]을 발생한다.
제2도의 룩어헤드 가산기는 리플 캐리 가산기(11)에서 나타나는 것들 외에도 두개의 중간 값, 즉, 캐리 발생(C1) 및 캐리 전달(P1)을 도입한다. 캐리발생 (C1)은 비트단에 대한 입력 A 및 B가 그 비트단내로의 캐리에 관계없이 그 비트단으로부터 캐리를 발생하게 되는 상태를 나타내며, 캐리전달(P1)는 동일 입력들이 그 비트단의 입력으로부터 그 단의 출력으로 캐리를 전달하게 되는 상태를 나타낸다. 이들 간을 나타내는 2진식은 다음의 식(3) 및 식(4)와 같다.
C1[i] : = A[i] * B[i] (A[i] and B[i]) (3)
P1[i] : = A[i] + B[i] (A[i] or B[i]) (4)
다음의 진리표 III는 제2도의 비트단에 대한 입력들과 캐리 출력 C1[i] 및 P1[i] 간의 관계를 나타낸 것이다.
[표 3]
일반화한 항 A[i], B[i], C1[i] 및 P1[i]은 그들이 i번째단에 적용될 수 있는 것을 의미한다. 일반화한 표현 CIN은 그 항이 다음 하위 비트단에 의해 발생되는 캐리 신호를 지칭하는 것을 의미한다. 따라서, 식(3) 및 (4)와 표 III의 항은 모두 제2도에 도시한 소정의 비트단을 나타내지만, 항 CIN은 가산기의 다음 하위 비트단으로부터 블럭(19 및 21)로의 캐리 입력을 말한다.
C1, P1 및 C간의 관계는 다음의 부울식(5)과 같이 쓸 수 있다.
C[i] : = C1[i] + P1[i] * CIN (5)
"발생" 및 "절달" 항의 착상은 둘이상의 비트 그룹으로까지 확장될 수 있다. 제3도는 2-비트 캐리 룩헤드 가산기를 도시한 것으로, 이것은 두개의 비트단 i 및 비트단 i+1을 포함한다. 이들 비트단의 각각은 그 특정단에 대한 입력신호 A 및 B로부터 발생 및 전달 신호들을 생성하기 위한 cla1 회로(17)와, 그 발생 및 전달신호와 그 가산기에 대한 캐리신호(CIN)로부터 캐리 신호를 도출하기 위한 캐리 발생 회로(19)와, 다음 하위 비트단의 캐리 출력(C0) 신호와, 그 단의 입력 비트 A 및 B로부터 합신호를 도출하기 위한 합산(sum)회로(21)를 포함한다. 2-비트 단(i)에 대한 "발생" 및 "전달"항은 제2(L2)레벨 cla2 블럭(23-0)에 의해 만들어지며, 이 cla2 블럭 (23-0)은 2-비트 단 i 및 1-비트단 i+1의 cla 회로(17-0) 및 (17-1)의 C1 및 P1 출력들을 입력으로서 수신하는 그룹발생 및 그룹전달 회로를 구비하고 있다.
제3도의 cla2 블럭(23-0)에 포함된 그룹발생 및 그룹 전달 회로의 동작은 다음의 식(6) 및 식(7)로 표현된다.
C2[i] = C1[i] + P1[i] * C1[i+1] (6)
P2[i] = P1[i] * P1[i+1] (7)
상기 식(6) 및 식 (7)의 진리표는 다음 표 IV와 같다.
[표 4]
이 2-비트 가산기의 캐리 C[i] 및 C[i+1]는 단 i 및 단 i+1의 "발생" 및 "전달"항과 최하위 비트단 i+1으로의 캐리를 사용하여 만들어질 수 있다. 부울항으로는 다음의 식 (8) 및 식 (9)과 같다.
C[i] : = C2[i] + P2[i] * CIN (8)
C[i+1] : = C1[i+1] + P1[i+1] * CIN (9)
블럭 cla1을 이루는 발생 및 전달회로(C1) 및 (P1)를 제4도에 논리함수으로서 도시하였다. 또한, 블럭 cla2를 이루는 그룹 발생 및 그룹전달 회로의 출력 C2 및 P2에 대해서는 제5도에 논리함수로서 도시하였다. cla2 블럭 (23-0)의 출력 C2 및 P2는 2-비트단 i에 연관된 cg 블럭 (9-0)에 인가된다. cg 블럭 (19-0)은 제6도에 블럭형태로 도시한다. cla1, cla2 및 cg 블럭으로서 사용하는데 적합한 회로는 1990년 2월 13일에 출원되어 본 발명의 양수인에게 양도된 미국 특허원 제07/480,188호에 완전하게 도시하고 설명했다. 이 미국 특허원은 그 전체가 본 명세서에 참고로 인용된다.
제3도에서 사용하는 표기 규약은 주목할 필요가 있다. 왜냐하면, 그들은 본 명세서의 전반에 걸쳐 일관성있게 사용할 것이기 때문이다. cla1 블럭은 제4도에 정의한 논리함수를 갖는 한 쌍의 회로를 나타낸다. 최상위 비트단 i에 연관된 cla1 블럭은 "cla[0]"으로 표기한다. 제2의 최상위 비트단 i+1에 연관된 cla1 블럭은 "cla1[1]"으로 구분한다. clal 블럭에 대한 입력 및 출력은 특히, 각각 첨자 "[0]" 및 "[1]"로 구분한다.
cla1 블럭 (17-0) 및 (17-1)의 출력이 인가되는 cla2 블럭 (23-0)을 별도로 cla2[0]으로 표기하여, 그의 출력이 최상위 비트단 i의 cla1[0] 블럭까지(그것을 포함한다)로의 입력을 반영하고 있다는 사실을 나타낸다. cla2 블럭 (23-0)을 이루는 발생 및 전달 회로는 제5도에 도시한 식들에 의해 규정된다. cla2 회로는, cla2 회로가 발생 및 전달 회로의 출력에 의해 구동되는 반면에 cla1 회로가 A 및 B 비트에 의해 구동된다는 사실로부터 cla1회로와 구별된다. 이 구별은 cla2의 회로를 "그룹발생" 및 "그룹전달" 회로라 하고 cla2 회로의 출력을 "그룹발생" 신호 및 "그룹전달" 신호라 하는 것에 의해, 전체를 통해 의미가 있다. 이것은 전체를 통해 그 출력 C1 및 P1을 "발생" 신호 및 "전달" 신호라 하는, "발생" 회로 및 "전달" 회로라 불려지는 cal1 블럭회로와는 대조적이다.
여기에 나타나 있는 각종 식의 목적에서 이들 회로를 서로 구별하기 위해, cla1,cla2 및 cg 블럭으로부터의 출력들에는 첨자를 병기하여, 그들이 관련되는 단에서 그들을 구별한다. 따라서, 단 i의 cla1[0]의 발생 및 전달 출력은 "C1[i]" 및 "P1[i]"으로서 표기하는 반면에, 단 i+1의 cla1[1] 회로로부터의 발생 및 전달 출력은 "C1[i+1]" 및 "P1[i+1]"으로서 표기한다.
제7도는 제3도에 도시한 2-비트 가산기의 원리에 따라 구성한 4-비트 캐리 룩어헤드 가산기를 도시한다. 4-비트 그룹의 발생 및 전달항들은 다음의 식 (10) 및 식 (11)으로서 표현될 수 있다.
C4[i] : = C2[i] + P2[i] * C2[i+2] (10)
P4[i] : = P2[i] * C2[i+2] (11)
2-비트 가산기에 대한 먼저의 식을 고찰해 보면, 연속하는 레벨의 발생항 사이 및 전달 항사이의 관계(C2 및 C1 대 C4 및 C2, 또한 P2 및 P1 대 P4 및 P2)가 반복하는 것을 주목할 수 있다.
제7도의 4-비트 캐리 룩어헤드 가산기는 제3도에 도시한 2-비트 캐리 룩어헤드 가산기의 단 i 및 단 i+1에 관련된 요소들 및 부가적인 단 i+2 및 단 i+3에 대한 마찬가지의 그룹요소를 포함한다. 또한, 두개의 cla2 회로(23-0) 및 (23-2)의 출력들은 cla4 블럭(25-0)으로 표현된 그룹발생 및 그룹전달 회로들의 부가적인 레벨에 의해서 조합된다. cla4 블럭의 출력들은 단 i에 관련된 cg 회로(19-0)에 인가된다. cla4 블럭(25-0)을 구성하는 그룹발생 및 그룹전달 회로들은 제5도에 도시한 cla2 블럭(23-0)을 구성하는 것들과 물리적으로 같을 수도 있는데, 그 이유는 그들이 동일한 논리연산을 수행하기 때문이다. cla4 블럭(25-0)은 제8도에(그 논리기능에 대해서) 도시하고 이 블럭 각각의 그룹발생 및 그룹전달 회로들은 "cla-C4[i]" 및 "cla-P4[i]"로서 표기한다.
제7도의 가산기에 의해 생성되는 4-비트 그룹에 대한 캐리들의 대부분은 cla1,cla2 및 cla4 회로들의 발생, 전달, 그룹발생 및 그룹전달 출력들과 최하위 비트단 i+3으로의 캐리(CIN)를 사용하여 생성할 수도 있다. 이들에 대한 부울식은 다음의 식(12), (13) 및 (14)와 같다.
C[i] : = C4[i] + P4[i] * CIN (12)
C[i+2] : = C2[i+2] + P2[i+2] * CIN (13)
C[i+3] : = C1[i+3] + P1[i+3] * CIN (14)
C[i+1]에 대해서는 식이 존재하지 않은 것이 주목된다. 그 이유는 C[i+1]은 (블럭(19-2)으로 부터의) 중간 결과 또는 더욱 복잡한 식에 따라 계산해야만 하기 때문이다.
C[i+1]은 다음의 식(15)으로 나타낸 바와 같이 중간결과 (C[i+2))를 사용하여 계산할 수도 있다.
C[i+1] = C1[i+1] + P1[i+1] * C[i+2] (15)
그러나, 이 식의 결점은 C[i+2]의 계산이 완료될 때까지 C[i+1]를 계산할 수 없다는 것으로, 이 때문에 가산에 필요한 시간이 증대하게 된다.
C[i+1]은 다음 식(16)과 같이, 더욱 복잡한 식으로 계산할 수도 있다.
C[i+1] : = C1[i+1] + P1[i+1] * C2[i+2] + P1[i+1] P2[i+2]*CIN (16)
그러나, 이 방법의 단점은, 이를 실시하기 위해서 더욱 크고 저속인 게이트가 이 한층 복잡한 방정식에 필요하게 된다는 것이다.
이에 반해, 본 발명에 따르면, 식(16)을 실행할 수 있는 복잡한 게이트를 필요로 하는 일 없이 중간 결과에 대한 필요성이 배제된다. 제9도는 본 발명을 포함한 4-비트 캐리 룩어헤드 가산기를 블럭도로서 도시한 것이다.
본 발명에 따르면, 비트단[i+1]의 "발생" 및 "전달" 항들은 다음 식(17) 및 (18)을 구현하도록 구성된 회로들에 의해 생성된다.
C4[i+1] : = C1[i+1] + P1[i+1] * C2[i+2] (17)
C4[i+1] : = P1[i+1] * P2[i+2] (18)
이들 두 값은 C4[i] 및 P4[i]와 동시에 생성될 수 있다. 따라서 다음 식(19)의 부울관계를 사용하여 C[i+1]가 C[i]와 C[i+2] 및 C[i+3]와 동시에 계산될 수 있다.
C[i+1] : = C4[i+1] + P4[i+1] * CIN (19)
전술한 개념들은, 제9도에 mcla4 블럭(25'-0)으로 표현한 한 세트의 그룹발생 및 그룹전달 회로에 의해 제9도의 4-비트 캐리 룩어혜드 가산기에서 구현된다. mcla4 블럭(15'-0)의 회로들은 제10도에서 그들이 실행하는 논리에 대해 더욱 상세하게 도시한다. 제9도 및 제10도의 mcla4 블럭 (25'-0)에 대한 표현을 비교하는 것에 의해, 제9도의 4개의 출력노드 C4[0]. P4[0], C4[1] 및 P4[1]의 각각이 제10도에서 동일한 순서로 각각 "mcla-C4[i]", "mcla-P4[i]", "mcla-C4[i+1]" 및 "mcla-P4(i+1)로서 표기된 별개의 복잡한 논리 게이트로 표현되어 있는 것을 알 수 있다. 명백히 알 수 있게 될 바와 같이, 동일한 규약을 보다 낮은 레벨의 발생, 전달, 그룹발생 및 그룹전달 회로의 각각에 대해 적용하였으며, 점차 레벨이 높아지는 그룹발생 및 그룹전달 회로를 참조로 하는 이 설명전체를 통하여 적용할 것이다. 또한, 각종 노드로 표현한 각각의 회로에 대해 필요구성 및 접속은 제3,7 및 9도와 같은 시스템 블럭도와 함께 본 명세서에서 주어지는 식들에 의해 적절히 규정되는 것도 주목된다. 이러한 이유로 보다 많은 수의 비트단의 가산기에 대한 설명을 함에 있어, 지면을 절약하고 설명을 간단히 하기 위해 식 및 시스템 블럭도만을 사용하기로 한다.
제7 및 9도의 4-비트 가산기를 비교해 보면, 본 발명이 포함된 제9도의 가산기와 제7도의 가산기 간의 매우 큰 차이점은, 제7도의 그룹발생 및 그룹전달 회로가 계층적인 반면에, 제9도의 4-비트 캐리 룩어해드 가산기에서는, 부가적인 그룹발생 및 그룹전달회로인 mala-C4[i+1] 및 mala-P4[i+1](제10도 참조)가 계층적이지 않다는 것이다. 본 명세서에서 사용하는 계층적 그룹발생 또는 그룹전달은 그 입력이 다음 하위 레벨의 그룹발생, 그룹전달 또는 발생, 전달회로의 출력에 한정되는 회로를 말한다. 제7도에 도시한 그룹발생 및 그룹전달 회로는 모두 이 경우인 것을 알수 있다. 반면에, 부가적인 그룹발생 및 그룹전달 회로 mala-C4[i+1] 및 mcla-P4[i+1](제10도)는 그 입력을, 회로의 피라미드내에서 그 바로 다음 레벨로부터 뿐만 아니라 다음 하위레벨로부터도 마찬가지로 수신한다. 이 구별을 강조하기 위해, 제9도는 노드P4[1]와 출력노드 P[1] 및 P2[2]간에 "P"로 표현한 일점 괘선을 제공했다. 출력노드 P1[1] 및 P2[2]는 노드 P4[1]으로 표현한 회로에 입력을 제공한다. 이와 마찬가지로, 제9도에서 출력노드 G4[1]와 노드 G1[1], P1[1] 및 G2[2]간에 "G"로 표현한 일점쇄선을 제공하여, 제9도에 노드 G4[1]으로서 표현한 그룹 생성회로 mala-G4[i+1](제10도)의 입력들이 노드 G2[2]로 표현한 바로 다음 하위 레벨 그룹 생성회로로부터, 또한 cla1회로(17-1)에 의해 생성된 다음 하위레벨 출력 G1[1] 및 P1[1]으로부터 수신됨을 가시적으로 볼 수 있도록 한다. 이것은 제10도의 식들로부터도 자명하다.
이와 같이, cg회로(19-1)에 부가적인 항 "G4[i+1]" 및 "P4[i+1]"을 제공함에 따라, 단 i+2에 연관된 cg회로(19-2)로부터 단 i+2 및 단 i+3의 상태들에 관한 정보를 더 이상 도출해낼 필요가 없게 되는데, 이는 그 정보를 제9도에 도시한 cla2회로(23-2)의 G2[0] 및 P2[0]로 부터 얻을 수 있기 때문이다. 그 결과, 다음 상위레벨 cg회로(19-1)의 C[i+1]출력을 발생하기 전에 cg회로(19-2)의 C[i+2] 출력을 사용해야만 하는 제7도의 가산기와는 달리, 제9도의 회로에서는 가장 낮은 비트단 i+3으로의 CIN캐리를, 단 i+1을 포함하여 그 가산기의 모든 단에 사용하여 제7도에 도시한 룩어헤드 가산기에서의 고유한 특성지연을 피할 수 있다.
상기 방법의 장점은 8-비트 가산기를 고려하면 더욱 분명하게 될 것이다. 제11도에는, 제7도의 4-비트 가산기와 유사하고 또한 그에 따른 종래의 8-비트 캐리 룩어헤드 가산기를 도시한다. 8-비트 가산기에 대해서의 발생 및 전달은 다음 부울식(20) 및 (21)을 사용하여 계산할 수 있다.
G8[i] : = G4[i] + P4[i] * G4[i+4] (20)
P8[i] : = + P4[i] * P4[i+4] (21)
이 8-비트 가산기의 캐리들은 다음 식(22), (23), (24) 및 (25)를 실행하는 회로에 의해 직접 발생될 수도 있다.
C[i] : =G8[i] + P8[i] *CIN (22)
C[i+4] : =G4[i+4] + P4[i+4] *CIN (23)
C[i+6] : =G2[i+6] + P2[i+6] *CIN (24)
C[i+7] : =G1[i+7] + P1[i+7] *CIN (25)
그러나. 캐리 신호 C[i+1], C[i+2], C[i+3], 및 C[i+5]는 식(23-24)에 따라 계산한 캐리 C[i+4] 또는 C[i+6]중의 하나를 사용하거나 보다 복잡한 식을 실행하는 게이트에 의해서 계산해야만 한다.
다음 부울식(26), (27) 및 (28)들은 식 (23-24)의 중간결과들을 사용하여 캐리들을 계산하는데 사용될 수 있다.
C[i+2] : =G2[i+2] +P2[i+2] *C[i+4] (26)
C[i+3] : =G2[i+3] +P2[i+3] *C[i+4] (27)
C[i+5] : =G1[i+3] +P1[i+5] *C[i+6] (28)
이들 캐리들은 C[i+4] 및 C[i+6]가 계산될 때까지 대기하야만 한다. C[i+1]도 C[i+2]가 계산될 때까지 대기해야만 하다. 계산은 다음식(29)과 같이 행할 수 있다.
C[i+1] : =G1[i+1] +P1[i+1] *C[i+2] (29)
이것은 계산에 있어 C[i+1]이 C[i]보다 두개의 부가적인 계이트 지연을 더 필요로 함을 뜻한다.
제11도의 8-비트 캐리 룩어헤드 가산기는 상술한 개념들에 입각하여 구성한 것이다. 이 가산기는 발생, 전달, 그룹발생 및 그룹전달 회로인 cla1, cla2, cla4 및 cla8의 4-레벨 피라미드를 포함한다. 각각 cla4 블럭(25-0) 및 (25-4)로 되는 두세트의 게이트는 cla8 블럭(27-0)으로서 표현된 한쌍의 그룹발생 및 그룹전달 회로에 관련된다. cla8 블럭(27-0)으로 표현된 그룹발생 및 그룹전달 회로는 식(20) 및 (21)으로 표현되며, 이들 두 회로는 회로는 단지, 발생 및 전달회로(17)와 최상위 비트 레벨의 cg회로(19-0)간에 삽입배치되는 동일 그룹발생 및 그룹전달 회로로 이루어지는 피라미드의 다른 레벨을 나타내고 있을 뿐이다.
제12도는 본 발명에 따라 실시된 8-비트 캐리 룩어 헤드 가산기를 도시한 것이다.
제12도의 8-비트 캐리룩헤드 가산기는 제9도의 4-비트 캐리 룩헤드 가산기에 의해 실시되는 기법들에 따라 구성되어 이 기법을 확장하고 있다. 4개의 레벨 (L1,L2,L4,L8)보다 위에 연장하고 있는 피라미드 구조는 각각 mcla 블럭(25'-0) 및 (25'-4)로 되는 두개의 부-피라미드(sub-pyramids)를 구비한다. 이들 부-피라미드들의 각각은 제9도의 피라미드 구조와 같을 수도 있다. mcla8 블럭 (27'-0)으로 표현된 가장 높은 레벨(L8)을 이루는 그룹발생 및 그룹전달 회로는 총 네쌍의 그룹발생 및 그룹전달 회로를 포함한다. 각 쌍은 그의 입력이 개량되지 않은 제11도의 8-비트 캐리 룩어헤드 가산기의 것들과 동일한 출력노드 G8[0] 및 P8[0]에 의해, 또 그 입력이 다음 하위레벨 (L4)의 게이트의 출력분만 아니라 그 다음의 두개의 하위레벨(L2, L1)의 게이트의 출력까지 도달하는 부가적인 쌍G8[1], P8[1] ; G8[2], P8[2] ; 및 G8[3], P8[3]에 의해 반영된다. 이들 부가적인 비-계층적 그룹발생 및 그룹전달 쌍들은 그들이 실행하는 식들에 의해 규정된다. 이 식은 "G8[i+1]", "G8[i+2]", "G8[i+3]" 및 "P8[i+1]", "P8[i+2]", "P8[i+3]"에 대한 것이다.
본 발명에 따라, 8-비트 가산기의 모든 캐리들은 방금 설명한 부가절인 그룹발생 및 그룹전달 항을 계산하는 것에 의해 동시에 계산된다. 8-비트 가산기의 캐리들은 다음식(30-37)에 따라 계산된다.
C[i] :=G8[i] +P8[i] *CIN (30)
C[i+1] :=G8[i+1] +P8[i+1] *CIN (31)
C[i+2] :=G8[i+2] +P8[i+2] *CIN (32)
C[i+3] :=G8[i+3] +P8[i+3] *CIN (33)
C[i+4] :=G4[i+4] +P4[i+4] *CIN (34)
C[i+5] :=G4[i+5] +P4[i+5] *CIN (35)
C[i+6] :=G2[i+6] +P2[i+6] *CIN (36)
C[i+7] :=G1[i+7] +P1[i+7] *CIN (37)
상기 식들의 부가적인 발생 및 전달항들은 "G8[i+1]", "P8[i+1]", "G8[i+1]", "P8[i+2]", +G8[i+3]" 및 "P8[i+3]이다. 이들은 다음 식(38-43)과 같이 계산된다.
G8[i+1] := G4[i+1] +P4[i+1] *G4[i+4] (38)
P8[1+1] := P4[i+1] *P4[i+4] (39)
G8[i+2] := G2[i+2] +P2[i+2] *G4[i+4] (40)
P8[i+2] := P2[i+2] *P4[i+4] (41)
G8[i+3] := G1[i+3] +P1[i+3] *G4[i+4] (42)
P8[i+3] := P1[i+3] *P4[i+4] (43)
본질적으로, 상기한 방법은 4-비트 그룹과 같은 그룹을 취하고, 3개의 최하위 비트로 이루어진 부-그룹에 대해 그룹발생 및 그룹전달 회로를 마련하는 것을 나타내고 있다. 이들 그룹발생 및 그룹전달 회로는 G4[i+1] 및 P4[i+1] 신호를 발생한다. 8-비트 그룹에서는, 7개의 최하위 비트, 6개의 최하위 비트 및 5개의 최하위 비트의 각 부-그룹에 대해 그룹발생 및 그룹전달 회로가 제공된다. 이들 그룹발생 및 그룹전달 회로는 각각 G8[i+1], P8[i+1], G8[i+2], P8[i+2], G8[i+3]과 P8[i+3]이다. 이들 부가적인 발생 및 전달신호의 계산에 따라, 제4,5,6 및 8도에 도시한 회로들과 같은 회로를 사용하여 일거에 그룹내의 각 비트로 부터 캐리를 직접 계산할 수 있게 된다.
본 발명은 16-비트 및 32비트 가산기에도 마찬가지로 적용될 수 있다. 제13도는 본 발명에 따른 32-비트 캐리 룩헤드 가산기를 도시한 것이다. 블럭 형식 cla1, cla2, mcla4, 및 mcla8이외에 두개의 블럭형식 mcla16 및 mcla32가 제공된다. 가산기 캐리발생기 부분은 제12도에 도시한 구성과 동일한 cla1,cla2,mcla4 및 mcla8 블럭을 포함하는 4개의 부-부분(sub-sections)으로 구성된다. 이들중 두개의 부분은 16비트 발생 및 전달 부분으로 이루어지는 한쌍의 mcla16 블럭(29'-0) 및 (29'-16)의 각각에 관련하며, 이들 중 최초의 부분은 가산기의 상위 16비트, 단 i 내지 i+15와 관련되고, 제2부분은 가산기의 하위 16비트, 단 i+16 내지 i+31에 관련된다. 블럭 mcla16의 각각의 출력은 mcla32 블럭(31'-0)의 발생 및 전달 회로로 이루어지는 계층쌍에 입력으로서 인가된다.
그룹발생 및 그룹전달(29'0) 및 (29'-16)의 두개의 mcla16블럭은 서로 동일하다. 다음 식(44-59)은 mcla16블럭(29'-0)의 것을 나타낸다.
G16[i] :=G8[i] +P8[i] *G8[i+8] (44)
P16[i] := P8[i] *P8[i+8] (45)
G16[i+1] :=G8[i+1] +P8[i+1] *G8[i+8] (46)
P16[i+1] := P8[i+1] *P8[i+8] (47)
G16[i+2] :=G8[i+2] +P8[i+2] *G8[i+8] (48)
P16[i+2] := P8[i+2] *P8[i+8] (49)
G16fi+3] :=G8[i+3] +P8[i+3] *G8[i+8] (50)
P16[i+3] := P8[i+3] *P8[i+8] (51)
G16[i+4] :=G4[i+4] +P4[i+4] *G8[i+8] (52)
P16[i+4] := P4[i+4] *P8[i+8] (53)
G16[i+5] :=G4[i+5] +P4[i+5] *G8[i+8] (54)
P16[i+5] := P4[i+5] *P8[i+8] (55)
G16[i+6] :=G2[i+6] +P2[i+6] *G8[i+8] (56)
P16[i+6] := P2[i+6] *P8[i+8] (57)
G16[i+7] :=G1[i+7] +P1[i+7] *G8[i+8] (58)
P16[i+7] := P[i+7] *P8[i+8] (59)
cla32블럭(31'-0)은 다음 식(60-91)을 실행한다.
G32[i] :=G16[i] +P16[i] *G16[i+16] (60)
P32[i] := P16[i] *P16[i+16] (61)
G32[i+1] :=G16[i+1] +P16[i+1] *G16[i+16] (62)
P32[i+1] := P16[i+1] *P16[i+16] (63)
G32[i+2] :=G16[i+2] +P16[i+2] *G16[i+16] (64)
P32[i+2] := P16[i+2] *P16[i+16] (65)
G32[i+3] :=G16[i+3] +P16[i+3] *G16[i+16] (66)
P32[i+3] := P16[i+3] *P16[i+16] (67)
G32[i+4] :=G16[i+4] +P16[i+4] *G16[i+16] (68)
P32[i+4] := P16[i+4] *P16[i+16] (69)
G32[i+5] :=G16[i+5] +P16[i+5] *G16[i+16] (70)
P32[i+5] := P16[i+5] *P16[i+16] (71)
G32[i+6] :=G16[i+6] +P16[i+6] *G16[i+16] (72)
P32[i+6] := P16[i+6] *P16[i+16] (73)
G32[i+7] :=G16[i+7] +P16[i+7] *G16[i+16] (74)
P32[i+7] := P16[i+7] *P16[i+16] (75)
G32[i+8] :=G8[i+8] +P8[i+8] *G16[i+16] (76)
P32[i+8] := P8[i+8] *P16[i+16] (77)
G32[i+9] :=G8[i+9] +P8[i+9] *G16[i+16] (78)
P32[i+9] := P8[i+9] *P16[i+16] (79)
G32[i+10] :=G8[i+10] +P8[i+10] *G16[i+16] (80)
P32[i+10] := P8[i+10] *P16[i+16] (81)
G32[i+11] :=G8[i+11] +P8[i+11] *G16[i+16] (82)
P32[i+11] := P8[i+11] *P16[i+16] (83)
G32[i+12] :=G4[i+12] +P4[i+12] *G16[i+16] (84)
P32[i+12] := P4[i+12] *P16[i+16] (85)
G32[i+13] :=G4[i+13] +P4[i+13] *G16[i+16] (86)
P32[i+13] := P4[i+13] *P16[i+16] (87)
G32[i+14] :=G2[i+14] +P2[i+14] *G16[i+16] (88)
P32[i+14] := P2[i+14] *P16[i+16] (89)
G32[i+15] :=G1[i+15] +P1[i+15] *G16[i+16] (90)
P32[i+15] := P6[i+15] *P16[i+16] (91)
제13도의 캐리신호 C[i] 내지 C[i+31]는 다음 식 (92-123)에 따라, 각각의 cg8 블럭 (19-0) 내지 (19-31)에서 mcla32 블럭(31'-0), cmla16 블럭(29'-16), mcla 블럭(27'-24), mcla4 블럭(25'-28), cla2 블럭(23-30) 및 cla1 블럭(17-31)의 출력들로 부터 직접 계산될 수 있다.
C[i] :=G32[i] +P32[i] *CIN (92)
C[i+1] :=G32[i+1] +P32[i+1] *CIN (93)
C[i+2] :=G32[i+2] +P32[i+2] *CIN (94)
C[i+3] :=G32[i+3] +P32[i+3] *CIN (95)
C[i+4] :=G32[i+4] +P32[i+4] *CIN (96)
C[i+5] :=G32[i+5] +P32[i+5] *CIN (97)
C[i+6] :=G32[i+6] +P32[i+6] *CIN (98)
C[i+7] :=G32[i+7] +P32[i+7] *CIN (99)
C[i+8] :=G32[i+8] +P32[i+8] *CIN (100)
C[i+9] :=G32[i+9] +P32[i+9] *CIN (101)
C[i+10] :=G32[i+10] +P32[i+10] *CIN (102)
C[i+11] :=G32[i+11] +P32[i+11] *CIN (103)
C[i+12] :=G32[i+12] +P32[i+12] *CIN (104)
C[i+13] :=G32[i+13] +P32[i+13] *CIN (105)
C[i+14] :=G32[i+14] +P32[i+14] *CIN (106)
C[i+15] :=G32[i+15] +P32[i+15] *CIN (107)
C[i+16] :=G16[i+16] +P16[i+16] *CIN (108)
C[i+17] :=G16[i+17] +P16[i+17] *CIN (109)
C[i+18] :=G16[i+18] +P16[i+18] *CIN (110)
C[i+19] :=G16[i+19] +P16[i+19] *CIN (111)
C[i+20] :=G16[i+20] +P16[i+20] *CIN (112)
C[i+21] :=G16[i+21] +P16[i+21] *CIN (113)
C[i+22] :=G16[i+22] +P16[i+22] *CIN (114)
C[i+23] :=G16[i+23] +P16[i+23] *CIN (115)
C[i+24] :=G8[i+24] +P8[i+24] *CIN (116)
C[i+25] :=G8[i+25] +P8[i+25] *CIN (117)
C[i+26] :=G8[i+26] +P8[i+26] *CIN (118)
C[i+27] :=G8[i+27] +P8[i+27] *CIN (119)
C[i+28] :=G4[i+28] +P4[i+28] *CIN (120)
C[i+29] :=G4[i+29] +P4[i+29] *CIN (121)
C[i+30] :=G2[i+30] +P2[i+30] *CIN (122)
C[i+31] :=G1[i+31] +P1[i+31] *CIN (123)
이제까지의 설명에서는 캐리룩어 헤드 가산기의 각각의 단마다 그룹 사이즈를 두배로 (즉, cla1에서는 발생 및 전달(게이트)를 한개씩, cla2에서는 두개씩, cla4에서는 네개씩으로) 한 구성에 관해 설명하였으나, 그 그룹사이즈를 각 단마다 네배로(즉, cla1에서 발생 및 전달(게이트)를 네개씩, cla2에서 16개씩, cla3에서 64개씩으로)되게할 수도 있다.
이상 설명한 바와 같이 본 발명에 의하면, 룩어헤드 가산기의 기술에, 가산기의 이전 단으로부터의 캐리신호를 사용하지 않고서도 가산기의 각 단에 대한 캐리 신호들을, 발생, 전달, 그룹발생 및 그룹 전달 회로를 사용하여 입력비트 A 및 B로 부터 직접 얻는 것에 의해, 이와 같은 가산기의 동작속도를 상당히 높히는 개선효과를 얻을 수 있음이 명백하다.
이상, 본 발명자에 의해 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지 변경가능한 것은 물론이다.

Claims (8)

  1. 일련의 합산단(21-0,21-1,21-2,21-3)을 구비하고, 상기 합산단의 각각이 2개의 다중-비트 2진수 (A[0],B[0])의 대응하는 비트의 각 쌍을 가산하며, 상기 합산단의 각각이 한쌍의 A 및 B비트 입력 (A,B)과 캐리 입력(CIN)을 구비한 룩어혜드 가산기에 있어서, 캐리 발생기(17,23,25,19,21)를 또 포함하며, 상기 캐리 발생기는 (a) 연속하는 상기 일련의 합산단(21-0,21-1,21-2,21-3)중 1개에 자신에 자신의 각각이 관련되고, 그의 관련된 합산단에 의해 수신된 A 및 B비트 입력에 대응해서 자신의 각각이 발생 및 전달신호(G1[0],P1[0])를 발생하는 일련의 발생 및 전달회로(17-0,17-1,17-2,17-3), (b) 연속하는 상기 일련의 합산단(21-0,21-1,21-2,21-3)중 1개(21-0)에 자신의 각각이 관련되고, 자신의 각각이 그룹 발생 및 그룹 전달 신호(G2[0],P2[0])를 발생하는 여러 개의 그룹 발생 및 그룹 전달회로(23-0,23-2,25-0)로서, 상기 그룹 발생회로(23-0)의 각각은 상기 일련의 발생 및 전달회로(17-3,17-2,17-1,17-0)내의 모든 출력 (G1[0]-G1[3],P1[0]-P1[3])을 반영할 때까지 그룹 발생신호(G2[0])를 발생함과 동시에 상기 그룹 발생회로와 관련하는 합산단(21-0)에 관련하는 발생 및 전달회로(17-0)를 포함하고, 상기 그룹전달 회로(25-0)의 각각은 상기 일련의 전달 회로(P1[0])내의 모든 출력(P1[3],P1[2],P1[1],P1[0])을 반영할 때까지 그룹전달 신호(P2[0])를 발생함과 동시에 상기 그룹전달회로(25-0)와 관련하는 합산단(21-0)에 관련하는 전달회로(17-0의 P1[0])를 포함하는 상기 여러개의 그룹 발생 및 그룹 전달회로(23-0,23-2,25-0)와 (c) 자신중의 1개(19-0)가 상기 가산기의 각각의 합산단(21-0)에 대응하고, 자신중의 최초의 것(19-3)이 상기 일련의 합산단 중의 최초의 것 (21-3)에 관련된 발생 및 전달회로에 의해 발생된 발생 및 전달신호(G1[3], P1[3])와 공통의 캐리 입력(carry-in)신호(CIN)에 대응하여 캐리신호(C[3])를 발생하도록 동작하는 일련의 캐리발생회로(19-0,19-1,19-2,19-3)를 포함하고, 상기 캐리발생기내에 있어서, 상기 일련의 캐리 발생회로의 나머지 (19-2,19-1,19-0)의 각각은 연속하는 상기 합산단의 각각에 관련하는 상기 그룹 발생 및 그룹 전달회로(23-0,23-2,25'-0)의 각각(23-2)에 의해 발생된 그룹발생신호(G2[0])와 그룹전달신호(P2[0]) 및 상기 공통의 캐리입력신호(CIN)에 대응하여 캐리신호(C[1])를 발생하도록 동작하는 것을 특징으로 하는 룩어헤드 가산기.
  2. 제1항에 있어서, 상기 일련의 발생 및 전달회로(17-0,17-1,17-2,17-3)는 n이 양의 정수일때 2n발생 및 전달회로의 부세트(subsets)(17-0과 17-1,17-2와 17-3)로 배치되고, 상기 그룹 발생 및 그룹 전달회로(23-0,23-2,25-0)는 일련의 점차 레벨이 높아지는 계층적인(hierarchical) 그룹 발생 및 그룹 전달회로의 세트(23-0과 23-2,25-0)를 포함하는 어레이로 배치되며, 그룹발생 및 그룹전달회로의 최하위 레벨 세트(23-0,23-2)의 각각의 요소(23-2)는 상기 발생 및 전달회로의 서로 다른 부세트(17-2,17-3)의 발생 및 전달 출력(G1[2],P1[2],G1[3],P1[3])을 수신하도록 접속되고, 상기 그룹발생 및 그룹 전달회로의 최하위 레벨 세트(23)위의 상기 계층적 요소(31'-0)의 세트는 그룹발생 및 그룹전달 회로의 다음의 낮은 레벨 세트(29'-0)에서만 그룹발생 및 그룹전달 회로의 가 부세트의 그룹발생 및 그룹전달 출력 (G16,P16)을 수신하도록 접속되며, 상기 룩어혜드 가산기는 비계층적인(non-hierarchical) 그룹 발생 및 그룹 전달회로(25'-0,27'-0)를 또 포함하고, 상기 그룹발생 및 그룹전달회로의 최하위 레벨 세트(23)위의 비계층적 요소(25'-0,27'-0)의 세트는 (i) 발생(G1[0], 전달(P1[0])과 그룹 발생(G2[0]), 그룹전달(P2[0])회로의 출력 (G1[1],P1[1],G2[2],P2[2])이나, 또는 (ii) 여러 다른 레벨들의 세트(23, 25')에 속하는 그룹발생(G4[0],G4[1],G2[0] 및 그룹전달(P4[0],P4[1],P2[0])회로들의 출력(G4[8],P4[8],G4[9],P4[9],G2[10],P2[10]을 수신하도록 접속되는 룩어헤드 가산기.
  3. 제1항에 있어서, (a) 상기 가산기는 n개의 단 포함하고, (b) 상기 발생 및 전달회로는 기본레벨 L1으로 배치되며, (c) 상기 그룹발생 및 그룹전달 회로들은 점차적으로 높아지는 5개의 레벨들 L2, L4, L8, L16 및 L32로 배치되고, 상기 점차적으로 높아지는 레벨들의 각각은 n/2 그룹발생 및 그룹전달 회로들을 포함하는 룩어헤드 가산기.
  4. 제3항에 있어서, 상기 레벨들 L2, L4, L8, L16 및 L32의 각각에서 그룹발생 및 그룹전달 회로들 중의 선택된 그룹발생 및 그룹전달 회로들을 상기 레벨들 L2, L4, L8, L16에서의 그룹발생 및 그룹전달 회로들로부터, 그리고 상기 레벨 L1에서의 상기 발생 및 전달 회로들중의 선택된 발생 및 전달회로들로 부터 입력들을 수신하는 룩어헤드 가산기.
  5. 제4항에 있어서, 레벨 L32에서의 그룹발생 회로들은 레벨 L16, L8, L4 및 L2의 각각에서의 그룹발생 회로들로부터, 그리고 레벨 L1에서의 발생회로로 부터 입력들을 수신하며, 레벨 L32에서의 그룹전달회로들을 레벨 L16,L8,L4 및 L2의 각각에서외 그룹전달 회로들로 부터 입력들을 수신하는 룩어헤드 가산기.
  6. 일련의 합산단을 구비하고, 상기 합산단의 각각이 2개의 다중-비트 2진수의 대응하는 비트의 각쌍을 가산하며, 상기 합산단의 각각이 한쌍의 A 및 B비트 입력과 캐리 입력을 구비한 룩어헤드 가산기의 캐리 발생기로서, 상기 캐리 발생기는 (a) 자신중의 1개가 상기 가산기의 가각의 합산단에 대응하고, 제각기 각각의 그룹발생 신호, 각각의 그룹전달 신호 및 공통의 캐리 입력 신호에 응답하여 캐리 출력(carry-out) 신호를 발생하도록 동작하는 일련의 캐리 발생회로, (b) 연속하는 상기 일련의 합산단중 1개에 자신의 각각이 관련되고, 그의 관련된 합산단에 의해 수신된 A 및 B 비트 입력에 대응해서 자신의 각각이 발생신호 및 전달신호를 발생하는 일련의 발생 및 전달회로와, (c) 여러개의 점차적으로 레벨이 높아지는 그룹발생 및 그룹전달 회로들을 포함하는 피라미드로 배치된 여러개의 계층적 그룹 발생 및 그룹전달 회로로서, 최하위 레벨을 제외한 각각의 그룹발생 및 그룹전달 회로는 다음의 낮은 레벨의 그룹발생 및 그룹전달 회로의 n의 출력들을 수신하고, 상기 피라미드의 최하위 레벨의 그룹발생 및 그룹전달 회로는 상기 발생 및 전달회로의 n의 출력들을 수신하는 상기 여러개의 계층적 그룹발생 및 그룹전달 회로를 포함하는 룩어헤드 가산기의 캐리 발생기에 있어서, 상기 캐리 생성기가 상기 피라미드의 여러 다른 레벨에 배치되는 복수개의 비계층적 그룹 발생회로 및 그룹전달 회로릎 포함하고, 상기 비계층적 그룹발생 회로들 중의 적어도 몇개는 상기 피라미드의 하위 레벨들에 배치된 발생, 전달 및 그룹발생, 그룹전달 회로들의 출력들을 수신하도록 접속되며, 상기 비계층적 그룹전달회로의 적어도 몇개는 상기 피라미드의 하위 레벨들에 배치된 전달 및 기타 그룹전달 회로들의 출력을 수신하도록 접속되는 캐리 발생기.
  7. 제6항에 있어서, (a) 상기 가산기는 일련의 점차 낮아지는 단들 i 내지 i+7을 포함하며, 상기 단들의 각각은 일련의 대응하는 합산단 sum[i] 내지 sum[i+7], 캐리발생단 cg[i] 내지 cg[i+7], 발생회로 G[i] 내지 G[i+7] 및 전달회로 P[i] 내지 P[i+7]의 제각기를 포함하고, (b) 상기 캐리 발생회로 cg[i+7]는 발생 및 전달회로 G[i+7] 및 P[i+7]로 부터 그의 입력을 수신하며, 캐리 발생회로 cg[i],cg[i+4] 및 cg[i+6]는 계측적 그룹발생 및 그룹전달 회로로부터 그들의 입력을 수신하고, 캐리발생회로 cg[i+1],cg[i+2] 및 cg[i+3]는 비계층적 그룹발생 및 그룹전달 회로로부터 그들의 입력을 수신하는 캐리 발생기.
  8. 일련의 합산단을 구비하고, 상기 합산단의 각각이 2개의 다중-비트 2진수의 대응하는 비트의 각 쌍을 가산하며, 상기 합산단의 각가이 한 쌍의 A 및 B비트 입력과 캐리 입력을 구비한 룩어헤드 가산기에 있어서, 캐리 발생기가 (a) 연속하는 상기 일련의 합산단중 1개에 자신의 각각이 관련되고, 그의 관련된 합산단에 의해 수신된 A 및 B비트 입력에 대응해서 자신의 각각이 발생 및 전달신호를 발생하며, n이 양의 정수일 때 2n발생 및 전달회로의 부세트로 배치되는 일련의 발생 및 전달회로, (b) 연속하는 상기 일련의 합산단중 1개에 자신의 각각이 관련되고, 자신의 각각이 그룹 발생 및 그룹 전달 신호를 발생하는 여러개의 그룹 발생 및 그룹 전달회로로서, (i) 상기 그룹 발생회로의 각각은 상기 일련의 발생 및 전달회로내의 출력을 반영할 때까지 그룹 발생신호를 발생함과 동시에 상기 그룹 발생회로와 관련하는 합산단에 관련하는 발생 및 전달회로를 포함하고, (ii) 상기 그룹전달회로의 각각은 상기 일련의 전달 회로의 출력을 반영할 때까지 그룹전달 신호를 발생함과 동시에 상기 그룹전달회로와 관련하는 합산단에 관련하는 전달회로를 포함하며, (iii) 상기 그룹 발생 및 그룹 전달회로는 일련의 짐차 레벨이 높아지는 계층적 및 비계층적인 그룹발생 및 그룹전달회로의 세트를 포함하는 어레이로 배치되고, 그룹발생 및 그룹전달회로의 최하위레벨 세트의 각각의 요소는 상기 발생 및 전달회로의 서로 다른 부세트의 발생 및 전달 출력을 수신하도록 접속되며, (iv) 상기 그룹발생 및 그룹 전달회로의 최하위 레벨 세트위의 계층적 요소의 세트는 그룹발생 및 그룹전달 회로의 다음의 낮은 레벨 세트에서만 그룹발생 및 그룹전달 회로의 각 부세트의 그룹발생 및 그룹전달 출력을 수신하도록 접속되고, (v) 상기 그룹발생 및 그룹전달 회로의 최하위 레벨세트위의 비계층적 요소의 세트는 (aa) 발생, 전달과 그룹 발생, 그룹전달회로의 출력이나, 또는 (bb) 여러 다른 레벨들의 세트에 속하는 그룹발생 및 그룹전달 회로들의 출력을 수신하도록 접속되는 상기 여러개의 그룹 발생 및 그룹 전달회로와 (c) 자신중의 1개가 상기 가산기의 각각의 합산단에 대응하고, 자신중의 최초의 것이 상기 일련의 합산단 중의 최초의 것에 관련된 발생 및 전달회로에 의해 발생된 발생 및 전달신호에 대응하여 캐리신호를 발생하도록 동작하는 일련의 캐리 발생회로로서, 상기 일련의 캐리 발생회로의 나머지의 각각은 연속하는 상기 합산단의 각각에 관련하는 상기 그룹 발생 및 그룹 전달회로의 각각에 의해 발생된 그룹발생신호와 그룹전달신호 및 상기 공통의 캐리입력신호에 대응하여 캐리신호를 발생하도록 동작하는 상기 일련의 캐리 발생회로를 포함하는 룩어헤드 가산기.
KR1019910012166A 1990-07-18 1991-07-16 룩어헤드 가산기의 캐리 발생기 KR950005522B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US554,612 1990-07-18
US07/554,612 US5166899A (en) 1990-07-18 1990-07-18 Lookahead adder

Publications (2)

Publication Number Publication Date
KR920003150A KR920003150A (ko) 1992-02-29
KR950005522B1 true KR950005522B1 (ko) 1995-05-25

Family

ID=24214009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910012166A KR950005522B1 (ko) 1990-07-18 1991-07-16 룩어헤드 가산기의 캐리 발생기

Country Status (5)

Country Link
US (1) US5166899A (ko)
EP (1) EP0467524B1 (ko)
JP (1) JP3248735B2 (ko)
KR (1) KR950005522B1 (ko)
DE (1) DE69125761T2 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276635A (en) * 1992-02-04 1994-01-04 Motorola, Inc. Method and apparatus for performing carry look-ahead addition in a data processor
EP0564137B1 (en) * 1992-03-31 2001-06-20 STMicroelectronics, Inc. Parallelized borrow look ahead subtractor
KR940007926B1 (ko) * 1992-05-20 1994-08-29 삼성전자 주식회사 가산기
JP3018754B2 (ja) * 1992-07-10 2000-03-13 日本電気株式会社 桁上げ先見加算方法とその装置
US5278783A (en) * 1992-10-30 1994-01-11 Digital Equipment Corporation Fast area-efficient multi-bit binary adder with low fan-out signals
SE9302158L (sv) * 1993-06-22 1994-12-23 Jiren Yuan En extremt snabb adderaranordning
JPH11143685A (ja) 1997-06-24 1999-05-28 Internatl Business Mach Corp <Ibm> キャリー・スキップ・アダー
US6735612B1 (en) 1997-06-24 2004-05-11 International Business Machines Corporation Carry skip adder
US5881274A (en) * 1997-07-25 1999-03-09 International Business Machines Corporation Method and apparatus for performing add and rotate as a single instruction within a processor
DE10050589B4 (de) 2000-02-18 2006-04-06 Hewlett-Packard Development Co., L.P., Houston Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation
US6539413B1 (en) * 2000-03-15 2003-03-25 Agere Systems Inc. Prefix tree adder with efficient sum generation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3805045A (en) * 1972-10-30 1974-04-16 Amdahl Corp Binary carry lookahead adder using redundancy terms
JPS6143341A (ja) * 1984-08-07 1986-03-01 Nec Corp 加算回路
US5047974A (en) * 1987-11-24 1991-09-10 Harris Corporation Cell based adder with tree structured carry, inverting logic and balanced loading
US4858168A (en) * 1988-02-16 1989-08-15 American Telephone And Telegraph Company Carry look-ahead technique having a reduced number of logic levels

Also Published As

Publication number Publication date
US5166899A (en) 1992-11-24
DE69125761T2 (de) 1997-07-31
EP0467524B1 (en) 1997-04-23
DE69125761D1 (de) 1997-05-28
EP0467524A3 (en) 1993-02-24
JP3248735B2 (ja) 2002-01-21
KR920003150A (ko) 1992-02-29
JPH04233629A (ja) 1992-08-21
EP0467524A2 (en) 1992-01-22

Similar Documents

Publication Publication Date Title
US5880985A (en) Efficient combined array for 2n bit n bit multiplications
US5187679A (en) Generalized 7/3 counters
EP0185025B1 (en) An xxy bit array multiplier/accumulator circuit
KR940008613B1 (ko) 캐리선견가산기와 캐리전송방법
KR950005522B1 (ko) 룩어헤드 가산기의 캐리 발생기
US4085447A (en) Right justified mask transfer apparatus
Lee A new Benes network control algorithm
EP0271255A2 (en) High-speed binary and decimal arithmetic logic unit
KR960704266A (ko) 고속 이진 승산기용 개량된 웰레스-트리 가산기, 구조 및 방법
JPH09510805A (ja) 高速アダマール変換を行う方法およびその装置
US5122982A (en) Carry generation method and apparatus
US5161119A (en) Weighted-delay column adder and method of organizing same
EP0248166A2 (en) Binary multibit multiplier
JPH07191832A (ja) 2進数2乗回路
US6065033A (en) Wallace-tree multipliers using half and full adders
US5047974A (en) Cell based adder with tree structured carry, inverting logic and balanced loading
KR100324313B1 (ko) n비트와n/2비트를연산하는곱셈기
EP0331717B1 (en) Fast multiplier circuit
CA2013057C (en) Plural dummy select chain logic synthesis network
US6546411B1 (en) High-speed radix 100 parallel adder
EP0344226B1 (en) High-speed digital adding system
JPH11143685A (ja) キャリー・スキップ・アダー
Awwal et al. fast carry free adder design using QSD number system
GB2226165A (en) Parallel carry generation adder
EP0214836A1 (en) Carry select adder

Legal Events

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

Payment date: 20080526

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee