KR20040045292A - 고속 가산기 - Google Patents

고속 가산기 Download PDF

Info

Publication number
KR20040045292A
KR20040045292A KR1020030074560A KR20030074560A KR20040045292A KR 20040045292 A KR20040045292 A KR 20040045292A KR 1020030074560 A KR1020030074560 A KR 1020030074560A KR 20030074560 A KR20030074560 A KR 20030074560A KR 20040045292 A KR20040045292 A KR 20040045292A
Authority
KR
South Korea
Prior art keywords
carry
signal
bit
pair
signals
Prior art date
Application number
KR1020030074560A
Other languages
English (en)
Other versions
KR100663679B1 (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 KR20040045292A publication Critical patent/KR20040045292A/ko
Application granted granted Critical
Publication of KR100663679B1 publication Critical patent/KR100663679B1/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
    • 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
    • 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

Landscapes

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

Abstract

2N비트의 경우에서, 가산기는 (N+1) 회로 스테이지로 구성된다. N = 4 인 경우 (즉, 16 비트), 하위 비트로부터 캐리가 생성되는 경우와 하위 비트로부터 어떠한 캐리도 생성되지 않는 경우를 나타내는 임시 캐리는 제 1 회로 스테이지에서 조건셀에 의해 발생된다. 제 2 회로 스테이지 내지 제 4 회로 스테이지에서, 최상위 비트 이외의 상위 7 개의 비트에 대응하는 임시 캐리는 임시 캐리가 전송되는 회로 스테이지에서 변환기에 의해 임시 합으로 변환된다. 또한, 실제 캐리 신호는 임시 캐리가 전송되는 회로 스테이지에서 최하위 비트 이외의 하위 7 개 비트에 대응하는 임시 캐리로부터 선택된다. 제 5 회로 스테이지에서, 각각의 비트에 대한 비트 합이 발생 및 출력된다.

Description

고속 가산기 {HIGH SPEED ADDER}
본 발명은 가산기에 관한 것으로, 좀 더 상세히 설명하면, 고속에서 동작하는 가산기에 관한 것이다.
최근에, 컴퓨터가 고속화 되고 있다. 그러므로, 고속 연산 회로가 요구되며, 그의 중요 부분으로서 역할하는 가산기의 동작 속도를 증가시키는 기술이 중요하게 되었다. 고속 가산기를 실현하는 다수의 기술이 공지되어 있다. 물론, 조건합 가산기도 초고속 가산기의 일종으로서 폭넓게 알려져 있다.
도 1 은, 특히 IEEE ASIC Conference Proceeding 에서 1998년에 출판된 Kuo-Hsing Cheng 등의 "The improvement of conditional sum adder for low power application" 의 pp.131-134 에 개시된 제 1 의 종래 예인 4 비트 조건합 가산기를 도시하는 회로도이다. 도 1 에 도시된 바와 같이, 제 1 종래 예에서, 이진수 (A_3, A_2, A_1, A_0) 가 이진수 (B_3, B_2, B_1, B_0) 에 가산되는 경우, 제 1 회로 스테이지 (21) 의 조건셀 (111) 각각은 임시 비트합 신호와 임시 캐리 신호를 발생시켜, 그들을 출력한다. 여기서, 임시 합은, 하위 비트로부터 캐리가 생성되는 경우의 비트합 신호 (예를 들어, S0_1) 와 하위 비트로부터 어떠한 캐리도 생성되지 않는 경우의 비트합 신호 (예를 들어, S1_1) 를 포함한다. 또한, 임시 캐리는, 하위 비트로부터 캐리가 생성되는 경우의 캐리 신호 (예를 들어, C0_1) 와하위 비트로부터 어떠한 캐리도 생성되지 않는 경우의 캐리 신호 (예를 들어, C1_1) 를 포함한다. 제 2 회로 스테이지 (22) 에서, 2 개의 임시 합 중 하나와 2 개의 임시 캐리 중 하나가 하위 비트로부터의 캐리 신호에 따라 멀티플렉서 (MUX) 에 의해 선택되어, 다음 스테이지로 전송된다. 제 3 회로 스테이지 (23) 에서, 실제 비트 합 (S_0 내지 S_3) 과 출력 캐리 신호 (Cout) 가 실제 캐리 신호에 의해 발생되어, 가산기의 외부로 출력된다. 제 1 종래 예에 따라서, 2N-비트 가산기가 (N+1) 회로 스테이지에 의해 실현되기 때문에, 고속 동작이 가능해진다. 그러나, 제 1 종래 예에서, 가산기는 다수의 멀티플렉서를 포함하고 배선 개수도 많기 때문에, 소비 전력이 커진다.
소비 전력을 감소시키기 위해 개선된 가산기로서, 특히 IEEE ASIC Conference Proceeding 에서 1998년에 출판된 Kuo-Hsing Cheng 등의 "The improvement of conditional sum adder for low power application" 의 pp.131-134 에 개시된 제 2 의 종래 예인 조건 캐리 가산기가 있다. 도 2 은 16-비트 조건 캐리 가산기의 회로도이다. 도 2 에 도시된 바와 같이, 제 2 종래 예에서, 조건셀 (101) 각각은 (도 4B 의 회로도) 제 1 종래 예의 조건셀 (111) 과 상이하다. 즉, 제 1 회로 스테이지 (31) 의 조건셀 (101) 각각은 2 개의 입력 비트의 배타적 논리합 (exclusive OR) 신호 (예를 들어, S0_1) 와 임시 캐리를 발생시켜, 그들을 출력한다. 여기에서, 임시 캐리는, 하위 비트로부터 캐리가 생성되는 경우의 캐리 신호와 어떠한 캐리도 생성되지 않는 캐리 신호인 한 쌍의 신호로 구성된다.제 2 회로 스테이지 (32) 내지 제 5 회로 스테이지 (35) 에서, 다음 회로 스테이지로 보내질 각각의 캐리 신호는 하위 비트로부터의 캐리 신호에 따라서 멀티플렉서 (MUX;120) 및 캐리 선택기 (110) 에 의해 선택되어, 순차적으로 전송된다. 배타적 논리합 회로 (130) 를 포함하는 제 6 회로 스테이지 (36) 에서, 실제 비트합 (S_1 내지 S_15) 이 발생되어, 가산기의 외부로 출력된다. 제 2 종래 예에 따라서, 단지 임시 캐리가 발생되어 출력되고, 어떠한 임시합도 요구되지 않기 때문에, 멀티플렉서의 개수 (하나의 캐리 선택기는 2 개의 멀티플렉서로서 계수됨) 는 감소될 수 있다. 따라서, 동작시의 소비 전력이 감소될 수 있다.
그러나, 2N-비트 가산기가 제 2 종래 예에서 실현되는 경우, (N+2) 회로 스테이지가 요구된다. 16-비트 가산기를 사용하여 비교하는 경우, 제 1 종래 예에서 회로 스테이지의 개수는 5 이며, 제 2 종래 예에서 회로 스테이지의 개수는 6 이 된다. 그러므로, 임계 경로에서의 논리 스테이지의 개수는 1 단계 만큼 증가되기 때문에, 회로 동작 속도를 증가시키는데 바람직하지 않다.
본 발명은 상술한 환경하에서 이루어진다. 그러므로, 본 발명의 목적은 제 1 종래 예와 동일한 속도 (즉, 제 2 종래 예보다 고속) 에서의 동작을 유지하면서, 제 1 종래 예보다 멀티플렉서와 같은 단위 회로의 개수와 배선의 개수를 감소시킴으로써 저전력으로 동작할 수 있는 가산기를 제공하는 것이다.
본 발명에 따르면, 하위 비트로부터 캐리가 생성되는 경우와 하위 비트로부터 캐리가 생성되지 않는 경우를 나타내는 한 쌍의 신호로 구성된 임시 캐리가 미리 발생되어, 하위 비트로부터의 선택 정보에 따라서 실제 캐리가 임시 캐리로부터 선택되는 고속 가산기를 제공하며, 가산기는, 캐리 전송 경로; 및 복수의 변화기를 구비하고, 각각의 변환기는, 임시 캐리를 하위 비트로부터 캐리가 생성되는 경우와 하위 비트로부터 어떠한 캐리도 생성되지 않는 경우를 나타내는 한 쌍의 신호로 구성된 임시 합으로 변환시키며, 변환기는 상기 캐리 전송 경로의 소정 부분상에 제공된다.
제 1 종래 예의 가산기에 따르면, 임시 캐리와 임시 합은 제 1 회로 스테이지에서 발생 및 전송된다. 또한, 제 2 종래 예의 가산기에 따르면, 임시 캐리는 실제 캐리 신호를 발생시키기 위해서 전송되며, 모든 실제 캐리 합은 최종 회로 스테이지에서 집합적으로 발생된다. 이들과 반대로, 본 발명의 가산기에 따르면, 캐리의 전송 도중의 회로 스테이지에서, 임시 캐리는 임시 합으로 변환되어 전송된다. 본 발명의 가산기에 따르면, 멀티플렉서의 개수와 멀티플렉서에 대한 입출력 배선의 개수는 제 1 종래 예의 가산기와 비교할 때 감소될 수 있다. 또한, 가산기는 제 2 종래 예의 것보다 작은 회로 스테이지에 의해서 실현될 수 있다.
본 발명의 상술 및 관련된 목적 및 특징은 첨부한 도면에 대한 하기의 설명과 첨부한 청구범위를 참조하여 명백해진다.
도 1 은 제 1 종래 예의 조건합 가산기를 4-비트 가산기에 적용하는 경우에 대한 회로도.
도 2 은 제 2 종래 예의 조건 캐리 가산기를 16-비트 가산기에 적용하는 경우에 대한 회로도.
도 3 은 본 발명의 가산기의 실시형태에 따른 16-비트 가산기를 도시하는 회로도.
도 4A 은 16-비트 가산기의 제 1 회로 스테이지의 내부 구성을 도시하며, 도 4B 은 조건셀의 게이트 레벨을 도시하는 도면.
도 5 은 16-비트 가산기의 제 2 회로 스테이지의 내부 구성을 도시한 도면.
도 6A 은 멀티플렉서를 도시하며, 도 6B 은 캐리 선택기를 도시한 도면.
도 7 은 16-비트 가산기의 제 3 회로 스테이지의 내부 구성을 도시한 도면.
도 8 은 16-비트 가산기의 제 4 회로 스테이지의 내부 구성을 도시한 도면.
도 9 은 16-비트 가산기의 제 5 회로 스테이지의 내부 구성을 도시한 도면.
*도면의 주요 부분에 대한 부호의 설명*
100 : 전가산기 101 : 조건셀
110 : 캐리 선택기 120 : 멀티플렉서
140 : 변환기
이하, 본 발명의 바람직한 실시형태는 도면을 참조하여 상세히 설명한다.하기의 설명은 본 발명의 실시형태를 나타낸 것이며, 본 발명은 그의 해석에 있어서 하기의 설명에 제한되지 않는다.
도 3 은 본 발명의 가산기의 실시형태에 따른 16-비트 가산기를 도시하는 회로도이다. 도 3 에 도시된 가산기에서, 도 2 에 도시된 제 2 종래 예의 경우에, 16-비트 입력 데이터 (A_15 내지 A_0 및 B_0 내지 B_0) 와 입력 캐리 신호 (Cin) 가 가산기에 입력되고, 그의 합을 표시하는 출력 신호 (S_15 내지 S_0) 와 출력 캐리 신호 (Cout) 가 가산기로부터 출력된다. 그러나, 도 3 에 도시된 가산기는 하기의 제 2 종래 예와 구별된다. 즉, 도 2 에 도시된 회로 스테이지 (36) 에서 비트합 (S_1 내지 S_8) 을 출력하는 배타적 논리합 회로가 최종 스테이지에 포함되며, 실제 비트합 (S_9 내지 S_15) 을 출력하는 배타적 논리합 회로는, 한 쌍의 캐리 신호로 구성된 임시 캐리가 한 쌍의 비트합 신호로 구성되는 임시합으로 입력 및 변환되어 임시합이 출력되는 변환기 (140) 에 의해 대체된다.
다음으로, 각각의 회로 스테이지의 구성을 이하에서 설명한다.
본 발명을 적용하는 2N-비트 가산기에서, 제 1 회로 스테이지는 (2N-1) 조건셀 (101) 및 전가산기 (full adder) 를 포함한다. 최상위 비트로부터 최하위 비트보다 1 비트 상위의 비트에 각각 대응하여 형성되고, 그에 입력되는 2 개의 입력 데이터의 대응하는 비트 상에 배타적 논리합을 수행하여, 하위 비트로부터 캐리가 생성되는 경우와 캐리가 생성되지 않는 경우를 나타내는 한 쌍의 신호로 구성된 임시 캐리를 발생시키고, 그 임시 캐리를 출력한다. 전가산기 (100) 는 그에입력되는 2 개의 입력 데이터중 최하위 비트와 입력 캐리 신호에 따라서 배타적 논리합 신호와 캐리 신호를 발생시킨다. 조건셀 (101) 의 기능과 전가산기 (100) 의 기능은 제 2 종래 예와 동일하다.
도 4A 은 도 3 에 도시된 16-비트 가산기의 제 1 회로 스테이지 (11) 의 내부 구성을 도시한다. 2 개의 입력 데이터는 15 개 (24-1) 의 조건셀 (101) 및 전가산기에 입력된다. 동일한 자리수의 각 비트마다, 최상위 비트로부터 최하위 방향으로 조건셀 (101) 각각에 제공된다. 최하위 비트에 대응하여 전가산기에 제공된다. 조건셀 (101) 각각은, 입력된 2 개의 비트 (예를 들어, S0_1) 의 배타적 논리합 신호를 발생시킨다. 또한, 조건셀 (101) 각각은, 최하위 비트로부터의 입력 캐리 신호가 0 (즉, 어떠한 캐리도 생성되지 않음) 인 것으로 가정한 경우의 캐리 신호 (예를 들어, C0_1), 및 최하위 비트로부터의 입력 캐리 신호가 1 (즉, 캐리가 생성됨) 인 것으로 가정한 경우의 캐리 신호 (예를 들어, C1_1)를 발생시키며, 한 쌍의 신호로 구성된 임시 캐리로서 캐리 신호를 출력한다. 따라서, 배타적 논리합 신호 (S0_1 내지 S0_15), 최하위 비트로부터 어떠한 캐리도 생성되지 않는 것으로 가정한 경우의 캐리 신호 (C0_1 내지 C0_15), 및 최하위 비트로부터 캐리가 생성되는 것으로 가정한 경우의 캐리 신호 (C1_1 내지 C1_15) 가 제 1 회로 스테이지로부터 출력된다. 전가산기가 최하위 비트에 대해 사용된다. 비트 (A_0 및 B_0) 및 입력 캐리 신호 (Cin) 가 동시에 전가산기 (100) 에 입력되며, 실제 비트합 (S_0) 및 실제 캐리 신호 (Cout_0) 가 가산기로부터 출력된다.
도 4B 은 조건셀 (101) 의 내부 구조의 예를 도시하는 회로도이다. 조건셀 (101) 은, 입력되는 2 개의 입력 비트 (A_i 및 B_i) 에 대해 논리곱 동작을 수행하는 제 1 게이트 (102), 입력되는 2 개의 입력 비트에 대해 논리합 동작을 수행하는 제 2 게이트 (103), 제 1 게이트 (102) 의 출력을 반전시키는 제 3 게이트 (104), 및 제 2 게이트 (103) 의 출력과 제 3 게이트 (104) 의 출력에 대해 논리곱 동작을 수행하는 제 4 게이트를 포함한다. 제 1 게이트 (102) 의 출력은, 최하위 비트로부터 어떠한 캐리도 생성되지 않는 것으로 가정한 경우의 캐리 신호인 제 1 캐리 신호 (C0_i) 로서 주어진다. 제 2 게이트의 출력은, 최하위 비트로부터 캐리가 생성되는 것으로 가정한 경우의 캐리 신호인 제 2 캐리 신호 (C1_i) 로서 주어진다. 제 4 게이트의 출력은, 최하위 비트로부터 어떠한 캐리도 생성되지 않는 것으로 가정한 경우의 2 개의 입력 비트의 비트합에 대응하는 배타적 논리합 신호 (S0_i) 로서 출력된다.
본 발명의 2N-비트 가산기의 제 2 회로 스테이지로부터 N 번째 회로 스테이지까지 중에서, 1≤M<N을 만족시키는 정수 M 에 의해 특정되는 (N-M+1) 스테이지가 하기와 같이 구성된다.
도 5 은 도 3 에 도시된 본 실시형태의 16-비트 가산기에서 제 2 회로 스테이지 (12) 의 내부 구성을 도시한다. 제 2 회로 스테이지 (12) 는 (N-M+1) = 2 인 회로 스테이지이다. 따라서, 16-비트 가산기에서 N = 4 이기 때문에, M = 3 이 된다. 제 2 회로 스테이지 (12) 에서는, (N-M) = 1 이기 때문에, 입력 데이터의 2N-M= 2 비트마다 대응하는 2M(=8) 개의 부분-회로 (P21내지 P28) 의 가상적인 형태로 분할된다.
그러한 분할의 경우에, 최하위 비트 (A_0 및 B_0) 로부터 상위 방향으로 2(N-M)번째 (=2 번째) 비트로부터의 입력을 포함하는, 제 1 부분 부분-연산 회로인 부분-회로 (P21) 내의 상위 2(N-M+1)(=1) 개의 비트에 대응하여 하나의 멀티플렉서 (MUX; 120) 가 제공된다. 이전의 회로 스테이지인 제 1 회로 스테이지 (11) 에서 대응하는 비트에 제공된 조건셀 (101) 의 출력인 한 쌍의 신호 (C0_1 및 C1_1) 는 임시 캐리가 멀티플렉서에 입력됨을 나타낸다. 멀티플렉서에 있어서, 부분-회로 (P21) 의 상위로부터 (2(N-M+1)+1) 번째 (=2 번째) 비트에 대응하는 제 1 회로 스테이지 (11) 의 비트에 제공된 전가산기 (100) 로부터 출력되는 캐리 신호 (Cout_0) 는 선택 신호로서 그것에 입력된다. 멀티플렉서는 캐리 신호 (Cout_0) 에 따른 실제 캐리 신호인 신호 (300) 를 출력한다.
또한, 최상위 비트 (A_15 및 B_15) 에 대응하는 캐리 신호로서의 신호 (C0_15 및 C1_15) 가 입력되는 제 2 부분-연산 회로에 대응하는 부분-회로 (P28), 및 부분-회로 (P28) 로부터 하위로 계수되어 제 2 부분-회로 (P27) 및 제 2 ((=2M-1) 번째 = 7 번째) 부분 회로 (P22) 에 대응하는 부분-회로를 포함하는 제 3 부분-연산 회로의 대응하는 부분-회로의 상위 2(N-M-1)(=1) 비트에 대응하여, (2(N-1)-2(N-M-1)) (=7) 개의 캐리 선택기 (110) 가 제공된다. 이전의 회로 스테이지인 제 1 회로 스테이지 (11) 의 대응 비트에 제공되는 조건셀의 출력인 한 쌍의 신호가 캐리 선택기의 각각에 입력된다. 또한, 부분-회로의 상위 비트로부터 (2(N-M-1)+1 번째 (=2 번째) 비트에 대응하는, 제 1 회로 스테이지 (11) 의 비트에 제공되는 조건셀 (101) 의 출력인 한 쌍의 선택 신호는 캐리 선택기의 각각에 입력된다. 제 2 부분-연산 회로 (P28) 및 제 3 부분-연산 회로 (P22내지 P27) 의 캐리 선택기 각각은 선택 신호에 따라 다음의 회로 스테이지의 임시 캐리 또는 임시 합을 나타내는 한 쌍의 신호를 선택하며, 그 선택된 신호를 출력한다.
즉, 상위 비트에 대응하는 한 쌍의 신호 (C0_15 및 C1_15) 는 부분-회로 (P28) 에 포함된 캐리 선택기 (110) 에 입력된다. 그 후, 캐리 선택기 (110) 는 부분-회로 (P28) 의 상위 비트로부터 (2(N-M-1)+1) 번째 (=2 번째) 비트에 대응하는 한 쌍의 신호 (C0_14 및 C1_14) 에 따라 선택된 한 쌍의 신호 (315 및 316) 를 출력한다. 유사하게, 상위 비트에 대응하는 한 쌍의 신호 (C0_13 및 C1_13) 는 부분-회로 (P27) 에 포함된 캐리 선택기 (110) 에 입력된다. 그 후, 캐리 선택기 (110) 는 부분 회로 (P27) 의 상위 비트로부터 제 2 비트에 대응하는 한 쌍의 신호 (C0_12 및 C1_12) 에 따라 선택된 한 쌍의 신호 (311 및 312) 를 출력한다.또한, 상위 비트에 대응하는 한 쌍의 신호 (C0_11 및 C1_11) 는 부분-회로 (P26) 에 포함된 캐리 선택기 (110) 에 입력된다. 그 후, 캐리 선택기 (110) 는 부분-회로 (P26) 의 상위 비트로부터 제 2 비트에 대응하는 한 쌍의 신호 (C0_10 및 C1_10) 에 따라 선택된 한 쌍의 신호 (309 및 310) 를 출력한다. 또한, 상위 비트에 대응하는 한 쌍의 신호 (C0_9 및 C1_9) 는 부분 회로 (P26) 에 포함된 캐리 선택기 (110) 에 입력된다. 그 후, 캐리 선택기 (110) 는 부분-회로 (P25) 의 상위 비트로부터 제 2 비트에 대응하는 한 쌍의 신호 (C0_8 및 C1_8) 에 따라 선택된 한 쌍의 신호 (307 및 308) 를 출력한다. 또한, 상위 비트에 대응하는 한 쌍의 신호 (C0_7 및 C1_7) 는 부분-회로 (P24) 에 포함된 캐리 선택기 (110) 에 입력된다. 그 후, 캐리 선택기 (110) 는 부분-회로 (P24) 의 상위 비트로부터 제 2 비트에 대응하는 한 쌍의 신호 (C0_6 및 C1_6) 에 따라 선택된 한 쌍의 신호 (305 및 306) 를 출력한다. 또한, 상위 비트에 대응하는 한 쌍의 신호 (C0_5 및 C1_5) 는 부분-회로 (P23) 에 포함된 캐리 선택기 (110) 에 입력된다. 그 후, 캐리 선택기 (110) 는 부분-회로 (P23) 의 상위 비트로부터 제 2 비트에 대응하는 한 쌍의 신호 (C0_4 및 C1_4) 에 따라 선택된 한 쌍의 신호 (303 및 304) 를 출력한다. 또한, 상위 비트에 대응하는 한 쌍의 신호 (C0_3 및 C1_3) 는 부분-회로 (P22) 에 포함된 캐리 선택기 (110) 에 입력된다. 그 후, 캐리 선택기 (110) 는 부분-회로(P22) 의 상위 비트로부터 제 2 비트에 대응하는 비트에 제공되는 한 쌍의 신호 (C0_2 및 C1_2) 에 따라 선택된 한 쌍의 신호 (301 및 302) 를 출력한다.
또한, 제 2 부분-연산 회로인 부분-회로 (P28) 의 하위 (2(N-M-1)) (=1) 비트에 대응하여, 변환기 (140) 가 제공된다. 한 쌍의 신호 (C0_14 및 C1_14) 및 배타적 논리합 (S0_15) 신호는 변환기에 입력된다. 한 쌍의 신호 (C0_14 및 C1_14) 는, 이전의 회로 스테이지인 제 1 회로 스테이지 (11) 에서 대응하는 비트에 제공된 조건셀 (101) 의 출력이며, 임시 캐리를 나타낸다. 배타적 논리합 신호 (S0_15) 는 제 1 회로 스테이지 (11) 에서 1 비트 상위인 비트에 대응하는 조건셀로부터 출력된다. 그 후, 변환기는 그 입력 신호를 임시 합을 나타내는 한 쌍의 신호 (313 및 314) 로 변환시키며, 그 변환된 신호를 출력한다.
도 6A 에 도시된 바와 같이, 멀티플렉서 (120) 에서, 한 쌍의 입력 신호 (Cin0 및 Cin1) 는 그것에 입력된다. 한 쌍의 입력 신호 (Cin0 및 Cin1) 중 하나는 선택 신호 (Cin1s) 에 따라 선택되며, 출력 신호 (Cout1) 로서 출력된다. 선택 신호 (Cin1s) 가 1 인 경우, Cin1 이 출력 신호 (Cout1) 로서 출력된다. 반면, Cinls 가 0 인 경우, Cin0 이 Cout1 로서 출력된다.
캐리 선택기 (110) 는 도 2 에 도시된 제 2 종래 예의 캐리 선택기와 동일한 기능을 갖는다. 도 6B 에 도시된 바와 같이, 캐리 선택기 (110) 는 2 개의 멀티플렉서 (350 및 351) 를 포함한다. 한 쌍의 입력 신호 (Cin0 및 Cin1) 가 입력되는 경우, 제 1 멀티플렉서 (351) 는, 한 쌍의 선택 신호 (Cin0s 및 Cin1s)중 하나인 선택 신호 (Cin0s) 에 따라 한 쌍의 입력 신호 (Cin0 및 Cin1) 중 하나를 선택하여, 그 선택된 신호를 캐리 선택기 (110) 의 한 쌍의 출력 신호 중 하나인 출력 신호 (Cout0) 로서 출력한다. 한 쌍의 입력 신호 (Cin0 및 Cin1) 가 입력되는 경우, 제 2 멀티플렉서 (350) 는, 한 쌍의 선택 신호 중 다른 하나인 선택 신호 (Cin1s) 에 따라 입력 신호 (Cin0 및 Cin1) 중 하나를 선택하여, 출력 신호 (Cout1) 를 캐리 선택기 (110) 의 한 쌍의 출력 신호 중 다른 하나인 출력 신호 (Cout1) 로서 출력한다. 멀티플렉서 (350) 에서, Cin1s 가 1 인 경우, Cin1 이 선택된다. Cin1s 가 0 인 경우, Cin0 이 선택된다. 멀티플렉서 (351) 에서, Cin0s 가 1 인 경우, Cin1 이 선택된다. Cin0s 가 0 인 경우, Cin0 이 선택된다. 예로서 도 5 에 도시된 바와 같이, 부분-회로 (P28) 에 포함된 캐리 선택기를 고려하면, C0_15 가 도 6B 의 Cin0 로서 입력되고, C1_15 가 Cin1 로서 입력되고, C0_14 가 Cin0s 로서 입력되고, C1_14 가 Cin1s 로서 입력되어, 신호 (315) 가 Cout0 로서 출력되고, 신호 (316) 가 Cout1 로서 출력된다.
예로서, 도 5 에 도시된 바와 같이, 부분-회로 (P28) 에 포함된 변환기를 사용함으로써, 변환기 (140) 를 설명한다. 변환기 (140) 는 제 1 배타적 논리합 회로 및 제 2 배타적 논리합 회로로 구성된다. 임시 캐리를 나타내는 한 쌍의 신호 (C0_14 및 C1_14) 중 하나인 신호 (C0_14) 및 제 1 회로 스테이지 (11) 에서 1 비트 상위인 비트에 대응하여 조건셀로부터 출력되는 배타적 논리합 신호 (S0_15) 가 입력되는 경우, 제 1 배타적 논리합 회로는 임시 합을 나타내는 한 쌍의 신호 (313 및 314) 중 하나인 신호 (313) 를 출력한다. 한 쌍의 신호 (C0_14 및 C1_14) 중 다른 하나인 신호 (C1_14) 및 배타적 논리합 신호 (S0_15) 가 입력되는 경우, 제 2 배타적 논리합 회로는 임시 합을 나타내는 한 쌍의 신호 (313 및 314) 중 다른 하나인 신호 (314) 를 출력한다.
다음으로, 도 3 에 도시된 16-비트 가산기의 제 3 회로 스테이지 (13) 의 구성을 설명한다. 도 7 은 제 3 회로 스테이지 (13) 의 내부 구성을 도시한다. 제 3 회로 스테이지 (13) 는 (N-M+1)=3 인 회로 스테이지이다. 따라서, N=2 로 가정하면, M 은 2 가 된다. 제 3 회로 스테이지 (13) 에서는, (N-M)=2 로 가정하면, 입력 데이터의 2(N-M)비트마다 대응하여 2M(=4) 개의 부분-회로 (P31내지 P34) 로 가상 적으로 분할된다.
그러한 분할의 경우에서, 상위 방향으로 최하위 비트 (A_0 및 B_0) 로부터의 입력을 포함하는, 제 1 부분-연산 회로인 부분-회로 (P31) 의 상위 2(N-M-1)(=2) 비트에 대응하여 2 개의 멀티플렉서 (120) 가 제공된다. 한 쌍의 신호 (301 및 302) 는, 이전의 회로 스테이지인 제 2 회로 스테이지 (12) 의 대응 비트에 제공되는 캐리 선택기 (110) 의 출력이며, 임시 캐리가 상위 비트에 대응하여 제공된 멀티플렉서에 입력됨을 나타낸다. 또한, 한 쌍의 신호 (C0_2 및 C1_2) 는 이전의 회로 스테이지인 제 1 회로 스테이지 (11) 의 대응 비트에 제공되는 조건셀 (101) 의 출력이며, 임시 캐리가 하위 비트에 대응하여 제공된 멀티플렉서에 입력됨을 나타낸다. 이들 멀티플렉서에 대해서, 회로 스테이지 (12) 의 비트에 제공된 멀티플렉서 (120) 로부터 출력되고, 부분-회로 (P31) 의 상위 비트로부터 (2(N-M-1)번째)(=3 번째) 비트에 대응하는 신호 (300) 는 선택 신호로서 입력된다. 상위 비트에 대응하여 제공된 멀티플렉서는 신호 (300) 에 따른 실제 캐리 신호인 신호 (401) 를 출력한다. 또한, 하위 비트에 대응하여 제공된 멀티플렉서는 신호 (300) 에 따른 실제 캐리 신호인 신호 (400) 를 출력한다.
또한, 최상위 비트 (A_15 및 B_15) 에 대응하는 임시 캐리 신호로서의 신호 (315 및 316) 가 입력되는 제 2 부분-연산 회로에 대응하는 부분-회로 (P34), 및 부분-회로 (P34) 로부터 하위 방향으로 제 2 부분-회로 (P33) 및 제 3 ((=2M-1)번째) 부분-회로 (P32) 에 대응하는 부분-회로를 포함하는 제 3 부분-연산 회로 중 대응하는 부분-회로의 상위 2(N-M-1)(=2) 비트마다 대응하여, (2(N-1)-2(N-M-1))(=6) 개의 캐리 선택기 (110) 가 제공된다. 이전의 회로 스테이지의 대응 비트에 제공된, 조건셀 (101), 캐리 선택기 (110), 및 변환기 (140) 중 어느 하나로부터의 한 쌍의 신호가 캐리 선택기 각각에 입력된다. 또한, 제 2 회로 스테이지 (12) 의 비트에 제공된 캐리 선택기 (110) 의 출력이며 부분-회로의 상위 비트로부터 (2(N-M-1)+1) 번째(=3번째) 비트에 대응하는 한 쌍의 선택 신호는 캐리 선택기 각각에 입력된다. 제 2 부분-연산 회로 (P34) 및 제 3 부분-연산 회로 (P32및 P33) 의 캐리 선택기각각은 임시 캐리를 나타내는 한 쌍의 신호 또는 선택 신호에 따른 다음 회로 스테이지의 임시 합을 선택하며, 그 선택된 신호를 출력한다.
즉, 제 2 회로 스테이지의 캐리 선택기의 출력인 한 쌍의 신호 (315 및 316) 는 부분-회로 (P34) 에 포함된 2 개의 캐리 선택기 (110) 중 상위 비트에 대응하여 제공된 캐리 선택기에 입력된다. 그 후, 캐리 선택기는, 제 2 회로 스테이지 (12) 의 캐리 선택기의 출력인 한 쌍의 신호 (311 및 312) 에 따라 선택을 수행하며, 부분 회로 (P34) 의 상위 비트로부터 (2(N-M-1)+1)번째 (=3번째) 비트에 대응하는 비트에 대해 제공되며, 한 쌍의 신호 (416 및 417) 를 출력한다. 제 2 회로 스테이지 (12) 에서의 캐리 선택기의 출력인 한 쌍의 신호 (313 및 314) 는 부분 회로 (P34) 의 하위 비트에 대응하여 제공된 캐리 선택기에 입력된다. 그 후, 캐리 선택기는 한 쌍의 선택 신호 (311 및 312) 에 따라 선택을 수행하며, 한 쌍의 신호 (414 및 415) 를 출력한다. 유사하게, 제 2 회로 스테이지 (12) 에서의 캐리 선택기의 출력인 한 쌍의 신호 (309 및 310) 는 부분-회로 (P33) 에 포함된 2 개의 캐리 선택기 (110) 중 상위 비트에 대응하여 제공된 캐리 선택기에 입력된다. 그 후, 선택기는, 부분 회로 (P33) 내의 상위로부터 계수하여 (2(N-M-1)+1) 번째 (=3번째) 비트에 대응하는 비트로 설정된 제 2 회로 스테이지 (12) 내의 캐리 선택기의 출력인 한 쌍의 선택 회로 (307 및 308) 에 따라 선택을 수행하며, 한 쌍의 신호 (408 및 409) 를 출력한다. 제 1 회로 스테이지 (11) 내의 조건셀의 출력인한 쌍의 신호 (C0_10 및 C1_10) 는 부분-회로 (P33) 의 하위 비트에 대응하는 캐리 선택기에 입력된다. 그 후, 캐리 선택기는 한 쌍의 선택 신호 (307 및 308) 에 따라 선택을 수행하여, 한 쌍의 신호 (406 및 407) 를 출력한다. 또한, 제 2 회로 스테이지 (12) 내의 캐리 선택기의 출력인 한 쌍의 출력 (305 및 306) 은 부분-회로 (P32) 내에 포함된 2 개의 캐리 선택기 (110) 중 상위 비트에 대응하는 캐리 선택기에 입력된다. 그 후, 캐리 선택기는, 부분-회로 (P32) 내의 상위로부터 계수하여 (2(N-M-1)+1)번째 (=3 번째) 에 대응하는 비트에 설정되는 제 2 회로 스테이지 (12) 내의 캐리 선택기의 출력인 한 쌍의 신호 (303 및 304) 에 따라 선택을 수행하여, 한 쌍의 신호 (404 및 405) 를 출력한다. 제 1 회로 스테이지 (11) 내의 조건셀의 출력인 한 쌍의 신호 (C0_6 및 C1_6) 는 부분-회로 (P32) 내에 하위 비트에 대응하는 캐리 선택기에 입력된다. 그 후, 캐리 선택기는 한 쌍의 신호 (303 및 304) 에 따라 선택을 수행하여, 한 쌍의 신호 (402 및 403) 를 출력한다.
또한, 제 2 부분-연산 회로에 있는 부분-회로 (P34) 내의 하위의 2(N-M-1)(=2) 개의 비트에 대응하여, 2 개의 변환기 (140) 가 제공된다. 한 쌍의 신호 (311 및 312) 및 배타적 논리합 신호 (S0_14) 가 2 개의 변환기 (140) 중 상부로부터의 제 1 변환기에 입력된다. 한 쌍의 신호 (311 및 312) 는 이전의 회로 스테이지인 제 2 회로 스테이지 (12) 에 대응하는 비트에 제공된 캐리 선택기 (110) 의 출력이며, 임시 캐리를 나타낸다. 배타적 논리합 신호 (S0_14) 는 제 1 회로 스테이지 (11) 내에서 1 비트 만큼 상위인 비트에 대응하는 조건셀로부터 출력된다. 그 후, 상부로부터의 제 1 변환기는 입력된 신호를 임시 합을 나타내는 한 쌍의 신호 (412 및 413) 로 변환시키며, 그 변환된 신호를 출력한다. 한 쌍의 신호 (C0_12 및 C1_12) 및 배타적 논리합 (S0_13) 신호는 2 개의 변환기 (140) 중 상부로부터의 제 2 변환기에 입력된다. 한 쌍의 신호 (C0_12 및 C1_12) 는 이전의 회로 스테이지인 제 1 회로 스테이지 (11) 에 대응하는 비트에 제공된 캐리 선택기 (110) 의 출력이며, 임시 캐리를 나타낸다. 배타적 논리합 신호 (S0_13) 는 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된다. 그 후, 상부로부터의 제 2 변환기는 입력된 신호를 임시 합을 나타내는 한 쌍의 신호 (410 및 411) 로 변환시키며, 그 변환된 신호를 출력한다.
다음으로, 도 3 에 도시된 16-비트 가산기내의 제 4 회로 스테이지 (14) 에 대한 구성을 설명한다. 도 8 은 제 4 회로 스테이지 (14) 의 내부 구성을 도시한다. 제 4 회로 스테이지 (14) 는 (N-M+1)=4 인 회로 스테이지이다. 따라서, N = 4 로 가정하면, M = 1 이 얻어진다. 제 4 회로 스테이지 (14) 에서, (N-M) = 3 로 가정하면, 입력 데이터의 2(N-M)(=8) 개의 비트 마다 대응하는 2M(=2) 부분-회로 (P41및 P42) 에 가상적으로 분할된다.
그러한 분할의 경우에, 최하위 비트 (A_0 및 B_0) 로부터 상위 방향으로 계수하여 2(N-M)-번째 (=8번째) 에 대응하는 비트로부터의 입력을 포함하는, 제 1부분-연산 회로인 부분-회로 (P41) 내의 상위 2(N-M-1)(=4) 비트에 대응하는 4 개의 멀티플렉서가 제공된다. 상부로부터의 제 1 멀티플렉서에는, 이전의 회로 스테이지인 제 3 회로 스테이지에 있어서 대응하는 비트에 형성된 캐리 선택기 (110) 의 출력인 한 쌍의 신호 (404 및 405) 가 입력된다. 부분-회로 (P41) 내의 상위로부터 계수하여 (2(N-M-1)) 번째 (=5 번째) 비트에 대응하는 제 3 회로 스테이지의 비트에 제공된 멀티플렉서 (120) 로부터 출력된 신호 (401) 가 선택 신호로서 사용된다. 그 후, 상부로부터의 제 1 멀티플렉서는 선택 신호에 따라 실제 캐리 신호를 선택하며, 신호 (503) 를 출력한다. 이전 회로 스테이지인 제 3 회로 스테이지 (13) 에서 대응하는 비트에 제공된 캐리 선택기 (110) 의 출력이며 임시 캐리를 나타내는 인 한 쌍의 신호 (402 및 403) 가 상부로부터의 제 2 멀티플렉서에 입력된다. 신호 (401) 는 선택 신호로서 사용된다. 그 후, 상부로부터의 제 2 멀티플렉서는 선택 신호에 따라 실제 캐리 신호를 선택하며, 신호 (502) 를 출력한다. 이전 회로 스테이지인 제 2 회로 스테이지 (12) 에서 대응하는 비트에 제공된 캐리 선택기 (110) 의 출력이며 임시 캐리를 나타내는 인 한 쌍의 신호 (303 및 304) 가 상부로부터의 제 3 멀티플렉서에 입력된다. 신호 (401) 가 선택 신호로서 사용된다. 그 후, 상부로부터의 제 3 멀티플렉서는 선택 신호에 따라 실제 캐리 신호를 선택하며, 신호 (501) 를 출력한다. 이전 회로 스테이지인 제 1 회로 스테이지 (11) 에서 대응하는 비트에 제공된 조건셀 (101) 의 출력이며 임시 캐리를 나타내는 인 한 쌍의 신호 (C0_4 및 C1_4) 가 상부로부터의 제 4 멀티플렉서에 입력된다. 신호 (401) 가 선택 신호로서 사용된다. 그 후, 상부로부터의 제 4 멀티플렉서는 선택 신호에 따라 실제 캐리 신호를 선택하며, 신호 (500) 를 출력한다.
또한, 최상위 비트 (A_15 및 B_15) 에 대응하는 캐리 신호로서의 신호 (416 및 417) 가 입력되는 제 2 부분-연산 회로에 대응하는 부분-회로 (P42) 내의 상위 2(N-M-1)(=4) 비트에 대응하여 2(N-1)- 2(N-M-1)(=4) 개의 캐리 선택기 (110) 가 제공된다. 이전 회로 스테이지에서 대응하는 비트에 제공되는 조건셀 (101), 캐리 선택기 (110), 및 변환기 (140) 중 어느 하나로부터 출력되는 한 쌍의 신호가 캐리 선택기 각각에 입력된다. 또한, 부분-회로내 (P42) 의 상위로부터 계수하여 (2(N-M-1)+1) 번째 (=5 번째) 비트에 대응하는 제 3 회로 스테이지중의 비트에 제공되는 캐리 선택기 (110) 로부터의 출력인 한 쌍의 선택 신호가 캐리 선택기 각각에 입력된다. 캐리 선택기 각각은 선택 신호에 따라서 다음의 회로 스테이지의 임시 캐리 또는 임시 합을 나타내는 한 쌍의 신호를 선택하며, 그 선택된 신호를 출력한다.
즉, 부분-회로 (P42) 내에 포함된 4 개의 캐리 선택기 (110) 중 상부로부터의 제 1 캐리 선택기에는, 제 3 회로 스테이지 (13) 내의 캐리 선택기의 출력인 한 쌍의 신호 (416 및 417) 가 입력된다. 그 후, 부분 회로 (P42) 내의 상위로부터계수하여 (2(N-M-1)+1) 번째 비트에 대응하는 비트에 제공되는 제 3 회로 스테이지 (13) 내의 캐리 선택기의 출력인 한 쌍의 선택 신호 (408 및 409) 에 따라서, 상부로부터의 제 1 캐리 선택기는 선택을 수행하며, 한 쌍의 신호 (518 및 519) 를 출력한다. 유사하게, 제 3 회로 스테이지 (13) 내의 캐리 선택기의 출력인 한 쌍의 신호 (414 및 415) 는 상부로부터의 제 2 선택기에 입력된다. 그 후, 상부로부터의 제 2 캐리 선택기는 한 쌍의 선택 신호 (408 및 409) 에 따라 선택을 수행하며, 한 쌍의 신호 (516 및 517) 를 출력한다. 또한, 제 3 회로 스테이지 (13) 내의 캐리 선택기의 출력인 한 쌍의 신호 (412 및 413) 가 상부로부터의 제 3 캐리 선택기에 입력된다. 그 후, 상부로부터의 제 3 캐리 선택기는 한 쌍의 선택 신호 (408 및 409) 에 따라 선택을 수행하며, 한 쌍의 신호 (514 및 515) 를 출력한다. 또한, 제 3 회로 스테이지 (13) 내의 캐리 선택기의 출력인 한 쌍의 신호 (410 및 411) 가 최하위 캐리 선택기, 즉 상부로부터의 제 4 캐리 선택기에 입력된다. 그 후, 상부로부터의 제 4 캐리 선택기는 한 쌍의 선택 신호 (408 및 409) 에 따라 선택을 수행하며, 한 쌍의 신호 (512 및 513) 를 출력한다.
또한, 제 2 부분-연산 회로인 부분-회로 (P42) 내의 하위 2(N-M-1)(=4) 비트에 대응하여, 4 개의 변환기 (140) 가 제공된다. 한 쌍의 신호 (408 및 409) 및 배타적 논리합 신호 (S0_12) 는 4 개의 변환기 (140) 중 상부로부터의 제 1 변환기에 입력된다. 한 쌍의 신호 (408 및 409) 는, 이전의 회로 스테이지인 제 3 회로 스테이지 (13) 내의 대응하는 비트에 제공된 캐리 선택기 (110) 의 출력이며,임시 캐리를 나타낸다. 배타적 논리합 신호 (SO_12) 는 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된다. 그 후, 상부로부터의 제 1 변환기는 그 입력된 신호를 임시 합을 나타내는 한 쌍의 신호 (510 및 511) 로 변환시키며, 그 변환된 신호를 출력한다. 유사하게, 한 쌍의 신호 (406 및 407) 및 배타적 논리합 신호 (S0_11) 는 상부로부터의 제 2 변환기에 입력된다. 한 쌍의 신호 (406 및 407) 는, 이전 회로 스테이지인 제 3 회로 스테이지 (13) 의 대응하는 비트에 제공된 캐리 선택기 (110) 의 출력이며, 임시 캐리를 나타낸다. 배타적 논리합 신호 (S0_11) 는 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된다. 그 후, 상부로부터의 제 2 변환기는 그 입력된 신호를 임시 합을 나타내는 한 쌍의 신호 (508 및 509) 로 변환시키며, 그 변환된 신호를 출력한다. 또한, 한 쌍의 신호 (307 및 308) 및 배타적 논리합 신호 (S0_10) 는 상부로부터의 제 3 변환기에 입력된다. 한 쌍의 신호 (307 및 308) 는 이전 회로 스테이지인 제 2 회로 스테이지 (12) 내의 대응하는 비트에 제공된 캐리 선택기 (110) 의 출력이며, 임시 캐리를 나타낸다. 배타적 논리합 신호 (SO_10) 는 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된다. 그 후, 상부로부터의 제 3 변환기는 그 입력된 신호를 임시 합을 나타내는 한 쌍의 신호 (506 및 507) 로 변환시키며, 그 변환된 신호를 출력한다. 또한, 한 쌍의 신호 (C0_8 및 C1_8) 및 배타적 논리합 신호 (S0_9) 는 최하위 변환기, 즉 상부로부터의 제 4 변환기에 입력된다. 한 쌍의 신호 (C0_8 및 C1_8) 는 이전 회로 스테이지인 제 1 회로 스테이지 (11) 의 대응하는 비트에 제공된 조건셀 (101) 의 출력이며, 임시 캐리를 나타낸다. 배타적 논리합 신호 (S0_9) 는 제 1 회로 스테이지 (11) 의 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된다. 그 후, 제 4 변환기는 그 입력된 신호를 임시 합을 나타내는 한 쌍의 신호 (504 및 505) 로 변환시키며, 그 변환된 신호를 출력한다.
도 9 은 본 발명이 적용되는 16-비트 가산기의 (N+1) 번째 (=5 번째) 회로 스테이지 (15) 를 도시하는 회로도이다. 제 5 회로 스테이지 (15) 는 2(N-1)(=8) 개의 멀티플렉서 (120) 및 2(N-1)(=8) 개의 배타적 논리합 회로 (130) 를 포함한다.
제 4 회로 스테이지 (14) 에서 상부로부터의 제 1 캐리 선택기 (110) 로부터 출력된 한 쌍의 신호 (518 및 519) 는 입력 데이터의 최상위 비트 (A_15 및 B_15) 에 대응하는 비트 위치에 제공된 멀티플렉서에 입력된다. 그 후, 제 4 회로 스테이지 (14) 에서 입력 데이터의 촤상위 비트로부터 하위 방향으로 계수하여 (2(N-1)+1) 번째 (=9 번째) 비트에 대응하는 멀티플렉서로부터 출력된 선택 신호 (503) 에 따라서, 멀티플렉서는 출력 캐리 신호 (Cout) 를 선택하여, 가산기의 외부로 그 출력 캐리 신호 (Cout) 를 출력한다.
제 4 회로 스테이지 (14) 에서 대응하는 비트에 제공되는 캐리 선택기 또는 변환기로부터 출력된 신호는 입력 데이터의 최상위 비트로부터 하위 방향으로 계수하여 2 내지 (2(N-1)-1) 번째 (=8 번째) 비트에 대응하는 비트에 제공되는 (2(N-1)-1) (=7) 개의 멀티플렉서 각각에 입력된다. 그 후, 각각의 멀티플렉서는, 입력 데이터의 최상위 비트로부터 하위 방향으로 계수하여 2(N-1)+1 번째 (9 번째) 비트에 대응하는 제 4 회로 스테이지 (14) 내의 멀티플렉서로부터 출력된 선택 신호 (503) 에 따라서 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호를 출력한다. 즉, 임시 합을 나타내는 한 쌍의 신호 (516 및 517) 는, 제 4 스테이지의 대응하는 비트에 제공된 캐리 선택기로부터 상부로부터의 제 2 멀티플렉서로 입력된다. 그 후, 상부로부터의 제 2 멀티플렉서는 실제 캐리인 선택 신호 (503) 에 따라 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_15) 를 가산기의 외부로 출력한다. 임시 합을 나타내는 한 쌍의 신호 (514 및 515) 는 제 4 회로 스테이지의 대응하는 비트에 제공된 캐리 선택기로부터 상부로부터의 제 3 멀티플렉서에 입력된다. 그 후, 상부로부터의 제 3 멀티플렉서는 선택 신호 (503) 에 따라 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_14) 를 외부로 출력한다. 임시 합을 나타내는 한 쌍의 신호 (512 및 513) 는 제 4 회로 스테이지의 대응하는 비트에 제공된 캐리 선택기로부터 상부로부터의 제 4 멀티플렉서로 입력된다. 그 후, 상부로부터의 제 4 멀티플렉서는 선택 신호 (503) 에 따라 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_13) 를 외부로 출력한다. 임시 합을 나타내는 한 쌍의 신호 (510 및 511)는 제 4 회로 스테이지의 대응하는 비트에 제공된 변환기로부터 상부로부터의 제 5 멀티플렉서로 입력된다. 그 후, 상부로부터의 제 5 멀티플렉서는 선택 신호 (503) 에 따라 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_12) 를 외부로 출력한다. 임시 합을 나타내는 한 쌍의 신호 (508 및 509) 는 제 4 회로 스테이지의 대응하는 비트에 제공된 변환기로부터 상부로부터의 제 6 멀티플렉서로 입력된다. 그 후, 상부로부터의 제 6 멀티플렉서는 선택 신호 (503) 에 따라 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_11) 를 외부로 출력한다. 임시 합을 나타내는 한 쌍의 신호 (506 및 507) 는 제 4 회로 스테이지의 대응하는 비트에 제공된 변환기로부터 상부로부터의 제 7 멀티플렉서로 입력된다. 그 후, 상부로부터의 제 7 멀티플렉서는 선택 신호 (503) 에 따라 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_10) 를 외부로 출력한다. 임시 합을 나타내는 한 쌍의 신호 (504 및 505) 는 제 4 회로 스테이지의 대응하는 비트에 제공된 변환기로부터 상부로부터의 제 8 멀티플렉서로 입력된다. 그 후, 상부로부터의 제 8 멀티플렉서는 선택 신호 (503) 에 따라 선택을 수행하며, 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_9) 를 외부로 출력한다.
이전 회로 스테이지의 대응하는 비트에 제공되는 전가산기 또는 멀티플렉서로부터 출력된 신호, 및 제 1 회로 스테이지 (11) 내에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호는, 입력 데이터의 최상위부터로부터 하위 방향으로 계수하여 (2(N-1)+1) 번째 내지 2N번째 (즉, 9번째 내지 16번째) 비트에 대응하는 비트에 제공된 2(N-1)(=8) 개의 배타적 논리합 회로 (130) 각각에 입력된다. 그 후, 배타적 논리합 회로 각각은 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호를 가산기 외부로 출력한다. 즉, 제 4 회로 스테이지 (14) 의 대응하는 비트에 제공되는 멀티플렉서로부터 출력된 신호 (503) 및 제 1 회로 스테이지 (11) 내의 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (S0_8) 는 최상위 비트로부터의 9 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_8) 를 외부로 출력한다. 유사하게, 제 4 회로 스테이지 (14) 의 대응하는 비트에 제공된 멀티플렉서로부터 출력된 신호 (502) 및 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (SO_7) 는 최상위 비트로부터 9 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_7) 를 외부로 출력한다. 제 4 회로 스테이지 (14) 의 대응하는 비트에 제공된 멀티플렉서로부터 출력된 신호 (501) 및 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (SO_6) 는 최상위 비트로부터 11 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_6) 를 외부로 출력한다.제 4 회로 스테이지 (14) 의 대응하는 비트에 제공된 멀티플렉서로부터 출력된 신호 (500) 및 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (SO_5) 는 최상위 비트로부터 12 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_5) 를 외부로 출력한다. 제 4 회로 스테이지 (14) 의 대응하는 비트에 제공된 멀티플렉서로부터 출력된 신호 (401) 및 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (SO_4) 는 최상위 비트로부터 13 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_4) 를 외부로 출력한다. 제 4 회로 스테이지 (14) 의 대응하는 비트에 제공된 멀티플렉서로부터 출력된 신호 (400) 및 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (SO_3) 는 최상위 비트로부터 14 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_3) 를 외부로 출력한다. 제 4 회로 스테이지 (14) 의 대응하는 비트에 제공된 멀티플렉서로부터 출력된 신호 (300) 및 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (SO_2) 는 최상위 비트로부터 15 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_2) 를 외부로 출력한다.제 1 회로 스테이지 (11) 의 대응하는 비트에 제공된 전가산기 (100) 로부터 출력된 신호 (Cout_0) 및 제 1 회로 스테이지 (11) 에서 1 비트만큼 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호 (SO_1) 는 최상위 비트로부터 16 번째 비트에 대응하는 배타적 논리합 회로에 입력되며, 배타적 논리합 회로는 1 비트만큼 상위인 비트에 대한 실제 비트 합을 나타내는 신호 (S_1) 를 외부로 출력한다.
다음으로, 본 발명의 가산기의 동작은 도면을 참조하여 설명한다.
도 3 에 도시된 제 1 회로 스테이지 (11) 를 도시하는 도 4A 에서, 2 개의 입력 데이터는 각각의 동일한 비트에 대한 조건셀 (101) 에 입력된다. 도 4B 에 도시된 바와 같이, 각각의 조건셀에서, 2 개의 입력 비트 (Ai 및 Bi) 의 논리곱 (AND) 신호는 하위 비트로부터 어떠한 캐리도 생성되지 않는 경우에 대해 캐리 신호 (C0_i) 로서 출력되며, 2 개의 입력 비트의 논리합 신호는 하위 비트로부터 캐리가 생성되는 경우에 대해 캐리 신호 (C1_i) 로서 출력되고, 2 개의 입력 비트로부터의 배타적 논리합 신호는 하위 비트로부터 어떠한 캐리도 생성되지 않는다는 가정의 경우에 대한 비트 합에 대응하는 배타적 논리합 신호 (S0_i) 로서 출력된다. 이들 출력은, 하위 비트로부터 어떠한 캐리도 생성되지 않는다고 가정하는 경우에 발생되는 임시 캐리 신호 (C0_1 내지 CO_15), 하위 비트로부터 캐리가 생성된다고 가정하는 경우에 발생되는 임시 캐리 신호 (C1_1 내지 C1_15), 및 배타적 논리합 신호 (S0_1 내지 S0_15) 에 각각 대응한다. A_0, B_0, 및 입력 캐리 신호 (Cin) 는 가산기의 외부로부터 최하위 비트에 대응하는 전가산기로 입력되며,전가산기 (100) 는 실제 비트 합 신호 (S_0) 및 실제 캐리 신호 (Cout_0) 를 상위 비트로 출력한다.
다음으로, 제 2 회로 스테이지 (12) 에서, 각 비트에서 발생된 임시 캐리 신호는 2 비트마다 부분-회로 (P21내지 P28) 에 대응하여 분할된다. 각각의 부분 회로 (P21내지 P28) 는 1 비트만큼 하위인 임시 캐리에 따라 선택된 새로운 임시 캐리를 발생시키며, 그 새로운 임시 캐리를 출력한다. 임시 캐리의 선택은 도 6B 에 도시된 캐리 선택기 (110) 에 의해 수행된다. 제 2 회로 스테이지 (12) 내의 캐리 선택기 각각에 선택 신호로서 입력되는 1 비트만큼 하위인 비트로부터의 임시 캐리는, 1 비트만큼 더 하위인 비트로부터 캐리가 생성되는 경우와 어떠한 캐리도 생성되지 않는 경우로 가정하여 발생된다. 따라서, 제 2 회로 스테이지 (12) 내의 각각의 캐리 선택기의 Cout1 단자로부터 출력된 임시 캐리 신호는 2 비트만큼 하위인 비트로부터 캐리가 생성된다는 경우로 가정하여 발생된다. 또한, 각각의 캐리 선택기로부터의 Cout0 단자로부터 출력된 임시 캐리 신호는 2 비트만큼 하위인 비트로부터 어떠한 캐리도 생성되지 않는 경우로 가정하여 발생된다. 즉, 최하위 비트의 캐리 신호 (Cout_0) 가 실제 캐리 신호이기 때문에, 최하위 비트 (즉, 부분-회로 (P21) 내의 멀티플렉서 (120)) 로부터의 제 2 비트에 대응하는 멀티플렉서는 임시 캐리를 나타내는 한 쌍의 신호 (C0_1 및 C1_1) 로부터 실제 캐리 신호 (300) 를 선택하며, 그 실제 캐리 신호 (300) 를 출력한다.
또한, 한 쌍의 신호 (C1_14 및 C0_14) 및 신호 (S0_15) 가 부분-회로 (P28)내의 변환기 (140) 에 입력되는 경우, 변환기 (140) 는 한 쌍의 신호 (314 및 313) 를 발생시키며, 그들을 출력한다. 한 쌍의 신호 (314 및 313) 는, 하위 비트로부터 캐리가 생성되고 하위 비트로부터 어떠한 캐리도 생성되지 않는 경우를 가정하면서 발생된 임시 합에 대응한다.
다음으로, 도 3 에 도시된 제 3 회로 스테이지 (13) 를 도시하는 도 7 에서, 그에 입력되는 임시 캐리 및 임시 합은 4 비트마다 부분-회로 (P31내지 P34) 에 대응하여 분할된다. k (k 은 2, 3, 또는 4) 번째 부분-회로 (P3k) 에서, 상위 2 개의 비트에서 발생된 한 쌍의 신호로 구성된 임시 캐리는 부분-회로 (P3k) 에서 최상위 비트로부터 계수하여 3 번째 비트로부터의 임시 캐리에 따라서 선택되어, 새로운 임시 캐리가 발생되어 출력된다. 여기서, 선택 신호로서 사용되는 임시 캐리는, 1 비트만큼 하위의 부분-회로 (P3k-1) 내의 최상위 비트로부터의 캐리의 존재 유무를 가정하여 발생된다. 그러므로, 부분-회로 (P3K) 에서 새롭게 발생되어 그로부터 출력되는 임시 캐리 및 임시 합은 1 비트만큼 하위의 부분-회로 (P3k-1) 내의 최상위 비트로부터의 캐리의 존재 유무를 가정하여 발생된다. 최하위 부분-회로 (P31) 에서, 최상위 비트로부터 3 번째 비트에 대응하는 신호 (300) 는 실제 캐리 신호이다. 그러므로, 부분-회로 (P31) 내에 포함된 2 개의 멀티플레서에 의해 선택 신호로서 신호 (300) 를 사용하여 선택되고 그로부터 출력되는 신호 (401 및 400) 는 실제 캐리 신호이다.
또한, 한 쌍의 신호 (312 및 311) 및 신호 (S0_14) 는 부분-회로 (P34) 내에 포함된 2 개의 변환기 (140) 중 상위 변환기에 입력되는 경우, 상위 변환기는 한 쌍의 신호 (413 및 412) 를 발생시키며, 그들을 출력한다. 한 쌍의 신호 (C1_12 및 C0_12) 및 신호 (S0_13) 가 하위 변환기에 입력되는 경우, 하위 변환기는 한 쌍의 신호 (411 및 410) 를 발생시키며, 그들을 출력한다. 이들 변환기에서, 한 쌍의 신호 (413 및 412) 및 한 쌍의 신호 (411 및 410) 는, 하위 비트로부터 캐리가 생성되는 경우 및 그들로부터 어떠한 캐리도 생성되지 않는 경우를 가정하여 발생되는 임시 합에 대응한다. 부분-회로 (P34) 의 출력 신호 (415 내지 410) 는 상위 3 개 비트에 대응하는 임시 합에 대응하며, 1 차만큼 하위의 부분-회로 (P33) 의 최상위 비트로부터의 캐리의 존재 유무를 가정하여 발생된다.
다음으로, 제 4 회로 스테이지 (14) 를 도시하는 도 8 에서, 그에 입력되는 임시 캐리 및 임시 합은 8 비트마다 부분-회로 (P41및 P42) 에 대응하여 분할된다. 부분-회로 (P42) 에서, 상위 4 개의 비트에서 발생된 한 쌍의 신호로 구성된 임시 캐리 및 임시 합은, 부분-회로 (P42) 내의 최상위 비트로부터 5 번째 비트의 임시 캐리 (408 및 409) 에 따라서 선택되어, 새로운 임시 캐리 및 새로운 임시 합이 발생되어 출력된다. 여기서, 선택 신호로서 사용되는 한 쌍의 캐리 신호 (408 및 409) 는, 1 차 만큼 하위의 부분 회로 (P41) 에서 최상위 비트로부터 캐리의 존재 유무를 가정하여 발생된다. 그러므로, 부분-회로 (P42) 에서 발생되고 그로부터출력되는 임시 캐리 및 임시 합은, 1 차만큼 하위의 부분-회로 (P41) 에서 최상위 비트로부터의 캐리의 존재 유무를 가정하여 발생된다. 하위 부분-회로 (P41) 에서, 최상위 비트로부터 5 번째에 대응하는 신호 (401) 는 실제 캐리 신호이다. 그러므로, 부분-회로 (P41) 내에 포함된 4 개의 멀티플렉서에 의해 선택 신호로서 신호 (401) 를 사용하여 선택되고 그로부터 출력된 모든 신호 (503, 502, 501, 및 500) 는 실제 캐리 신호이다.
또한, 한 쌍의 신호 (409 및 408) 및 신호 (S0_12) 가 부분-회로 (P42) 내에 포함된 4 개의 변환기 (140) 중 최상위 변환기에 입력되는 경우, 최상위 변환기는 한 쌍의 신호 (511 및 510) 를 발생시키며, 신호 (511 및 510) 를 출력한다. 한 쌍의 신호 (407 및 406) 및 신호 (S0_11) 가 상부로부터의 제 2 변환기에 입력되는 경우, 제 2 변환기는 한 쌍의 신호 (509 및 508) 를 발생시키며, 신호 (509 및 508) 를 출력한다. 한 쌍의 신호 (308 및 307) 및 신호 (S0_10) 가 상부로부터의 제 3 변환기에 입력되는 경우, 제 3 변환기는 한 쌍의 신호 (507 및 506) 를 발생시키며, 신호 (507 및 506) 를 출력한다. 한 쌍의 신호 (C1_8 및 C0_8) 및 신호 (S0_9) 가 상부로부터의 제 4 변환기에 입력되는 경우, 제 4 변환기는 신호 (505 및 504) 를 발생시키며, 신호 (505 및 504) 를 출력한다. 여기서, 한 쌍의 신호 (511 및 510), 한 쌍의 신호 (509 및 508), 한 쌍의 신호 (507 및 506), 및 한 쌍의 신호 (505 및 504) 는, 하위 비트로부터 캐리가 생성되는 경우 및 그로부터 어떠한 캐리도 생성되지 않는 경우를 가정하여 발생되는 임시 합에 대응한다.즉, 부분 회로 (P42) 의 출력 신호 (517 내지 504) 는 상위 7 개의 비트에 대응하는 임시 합에 대응하며, 하위 부분-회로 (P41) 에서 최상위 비트로부터의 캐리의 존재 유무를 가정하여 발생된다.
다음으로, 도 3 에 도시된 최종 스테이지인 제 5 회로 스테이지 (15) 를 도시하는 도 9 에서, 임시 합이 최상위 비트로부터 8 개의 비트에 대응하여 제공된 멀티플렉서 중 7 개의 멀티플렉서 (상부로부터 2 번째 내지 8번째 멀티플렉서) 에 입력된다. 7 개의 멀티플렉서는 최상위 비트로부터 9 번째 비트의 실제 캐리 신호에 따라서 선택을 수행하며, 가산 기의 외부로 실제 비트 합 신호인 신호 (S_15 내지 S_9) 를 출력한다. 최상위 비트에 대응하는 멀티플렉서는 신호 (503) 에 따라임시 캐리를 나타내는 한 쌍의 신호 (519 및 518) 중 하나를 선택하며, 외부로 2 개의 입력 데이터를 가산함으로써 발생되는 캐리 신호로서 캐리 신호 (Cout) 를 출력한다. 최상위 비트로부터 9 번째 내지 16 번째에 있어서, 실제 캐리 신호는 제 4 회로 스테이지 (14) 의 동작 후에 결정된다. 따라서, 도 9 에 도시된 바와 같이, 8 개의 배타적 논리합 회로는, 실제 캐리 신호와 제 1 회로 스테이지에서 발생된 비트 합 신호 (S0_8 내지 S0_1) 사이의 배타적 논리합 동작에 의해 실제 비트 합 (S_8 내지 S_1) 을 발생시키며, 가산기의 외부로 그 발생된 실제 비트 합 (S_8 내지 S_1) 을 출력한다. 제 1 회로 스테이지 (11) 에서 발생된 신호 (S_0) 가 처리 없이 가산기의 외부로 최하위 비트의 실제 비트 합으로서 출력된다.
도 1 에 도시된 제 1 종래 예의 가산기에 따르면, 캐리 및 합이 제 1 스테이지에서 발생되어 전송된다. 또한, 도 2 에 도시된 제 2 종래 예의 가산기에 따르면, 캐리는 실제 캐리 신호를 발생시키기 위해서 전송되며, 모든 실제 비트 합이 한번에 최종 회로 스테이지에서 발생시키기 위해서 전송된다. 이들과 반대로, 본 발명의 가산기에 따르면, 임시 캐리는 캐리가 전송되는 회로 스테이지에서 임시 합으로 변환된다. 따라서, 본 발명의 가산기에 따르면, 멀티플렉서의 개수와 멀티플렉서에 대한 입출력 배선의 개수는, 캐리 및 합이 모든 비트에 대해 발생되고 전송되는 제 1 종래 예의 가산기와 비교할 때 감소될 수 있다. 따라서, 소비 전력이 감소될 수 있다. 또한, 본 발명의 가산기는 제 1 종래 예의 그것과 동일한 회로 스테이지의 개수에 의해 실현될 수 있다 (즉, 회로 스테이지의 개수는 제 2 종래 예보다 1 만큼 작음). 따라서, 제 2 종래 예의 가산기와 비교할 때, 고속으로 가산을 실행하는 것이 가능하다.
제 1 종래 예의 가산기를 구성하기 위해서 필요한 멀티플렉서의 개수는 본 발명의 가산기를 구성하기 위해서 필요한 멀티플렉서의 개수와 비교된다. 16-비트 가산기의 경우에, 제 1 종래 예에서 75 개의 멀티플렉서가 필요한 반면에, 본 발명의 가산기는 71 개의 멀티플렉서에 대응하는 회로에 의해 구성될 수 있다. 32-비트 가산기의 경우에, 제 1 종래 예에서 186 개의 멀티플렉서가 필요한 반면에, 본 발명의 가산기는 175 개의 멀티플렉서에 대응하는 회로에 의해 구성될 수 있다. 32-비트 가산기의 경우에 대해서 상세히 나타낼 수 있다. 본 발명에서, 제 1 종래의 예에서 186 개로부터 129 개로 멀티플레서의 개수가 감소될 수 있다. 그러나, 총 46 개의 변환기가 회로 스테이지에서 비트 합을 발생시키기 위해서 가산된다. 그 결과, 11 개의 멀티플렉서가 생략될 수 있다. 또한, 조건셀 각각의 경우에서, 제 1 종래 예에서 2 개의 비트 합 신호가 종래 합으로서 요구되지만, 단지 하나의 배타적 논리합 신호가 본 발명에서 발생될 수도 있다. 따라서, 본 발명에 따르면, 조건셀을 구성하기 위해 필요한 트랜지스터의 개수가 감소될 수 있고, 소비 전력이 이러한 관점에서 감소될 수 있다. 멀티플렉서에 대응하는 회로의 개수의 계수에 있어서, 이들 회로는 수동 트랜지스터로 구성되어 있는 것으로 가정하며, 캐리 선택기 및 변환기 각각은 2 개의 멀티플렉서로 변환되며, 배타적 논리합 회로는 1 개의 멀티플렉서로 변환된다.
또한, 제 2 종래 예의 가산기를 구성하기 위해서 필요한 회로의 개수가 본 발명의 가산기를 구성하기 위해서 필요한 회로 스테이지의 개수와 비교된다. 16-비트 가산기가 구성되는 경우에, 제 2 종래 예의 가산기에서 6 개의 회로 스테이지가 요구되지만, 본 발명의 가산기는 5 개의 회로 스테이지에 의해 구성될 수 있다. 32-비트 가산기의 경우에, 제 2 종래 예의 가산기에서 7 개의 회로 스테이지가 요구되지만, 본 발명의 가산기는 6 개의 회로 스테이지에 의해 구성될 수 있다. 따라서, 본 발명의 가산기의 임계 경로에서의 논리 스테이지의 개수는 제 2 종래 예의 가산기와 비교할 때 1 만큼 감소될 수 있고, 본 발명의 가산기는 제 1 종래 예의 가산기의 그것과 동일한 논리 스테이지 개수에 의해 실현될 수 있다. 여기서, 논리 스테이지의 개수는, 조건셀, 멀티플레서, 캐리 선택기, 변환기, 및 배타적 논리합 회로 개수의 총 합을 나타내며, 이들은 캐리 또는 합이 제 1회로 스테이지로부터 최종 스테이지로 전송되는 경로상에 위치된다.
본 발명의 실시형태가 16-비트 가산기를 참조하여 설명하고 있지만, 본 발명은 16-비트 가산기에 제한되는 것은 아니다. 본 발명에 따르면, 2N-비트 가산기에 있어서, N≤2 의 경우에 소비 전력의 감소와 속도의 증가에 대한 효과는 현저하지 않고, N≥3 의 경우에 소비 전력의 감소와 속도의 증가에 대한 효과가 생성된다.
상술한 바와 같이, 본 발명의 가산기는 제 1 종래 예와 동일한 회로 스테이지의 개수를 갖는다. 따라서, 가산기가, 제 1 종래 예와 동일한 속도 (즉, 제 2 종래 예보다 고속) 에서 동작을 유지하면서 제 1 종래 예와 비교할 때 멀티플렉서와 같은 단위 셀의 개수와 배선의 개수를 감소시킴으로써 저전력에서 동작하는 현저한 효과가 있다.

Claims (13)

  1. 하위 비트로부터 캐리가 생성되는 경우와 상기 하위 비트로부터 캐리가 생성되지 않는 경우를 나타내는 한 쌍의 신호로 구성된 임시 캐리를 미리 발생시키고, 상기 하위 비트로부터의 선택 정보에 따라, 상기 임시 캐리로부터 실제 캐리를 선택하는 고속 가산기에 있어서,
    캐리 전송 경로; 및
    복수의 변환기를 구비하고,
    각각의 상기 변환기는, 상기 임시 캐리를 상기 하위 비트로부터 캐리가 생성되는 경우와 상기 하위 비트로부터 어떠한 캐리도 생성되지 않는 경우를 나타내는 한 쌍의 신호로 구성된 임시 합으로 변환시키며,
    상기 변환기는 상기 캐리 전송 경로의 소정 부분에 제공되는 것을 특징으로 하는 고속 가산기.
  2. 제 1 항에 있어서,
    상기 가산기는 2N(N 은 3 이상의 정수)-비트 가산기인 경우, 상기 캐리 전송 경로는 (N+1) 이하의 회로 스테이지를 구비하며,
    제 1 회로 스테이지는, 각각의 대응하는 비트에 대한 2 개의 입력 데이터 및 외부로부터의 입력 캐리 신호를 수신하고, 최하위 비트의 비트 합을 발생시켜, 외부로 상기 비트 합을 출력하여, 최하위 비트 이외의 각각의 비트에 대응하는 임시 캐리를 발생시켜, 그 발생된 임시 캐리를 다음 스테이지로 출력하며,
    제 2 회로 스테이지 내지 N-번째 회로 스테이지는, 상기 임시 캐리 중의 최상위 비트 이외의 상위 (2(N-1)-1) 비트에 대응하는 임시 캐리를 전송 도중에 상기 변환기 중 하나 이상에 의해 임시 합으로 변환시켜, 최하위 비트 이외의 하위 (2(N-1)-1) 비트에 대응하는 임시 캐리로부터 실제 캐리를 발생시키며,
    (N+1) 번째 회로 스테이지는 상기 2 개의 입력 데이터의 합 데이터 중 상기 최하위 비트의 비트 합 이외의 데이터와 출력 캐리 신호를 외부로 출력하는 것을 특징으로 하는 고속 가산기.
  3. 제 2 항에 있어서,
    상기 입력 데이터가 최상위 비트로부터 최하위 비트의 순서로 배열되는 경우, 상기 변환기 중 하나 이상은, 1≤M < N 을 만족시키는 정수 M 에 의해 특정되는 (N-M+1) 번째 회로 스테이지에서 입력 데이터의 최상위 비트로부터 (2(N-M-1)+1) 번째 비트 내지 2(N-M)번째 비트까지 대응하여 배치되는 것을 특징으로 하는 고속 가산기.
  4. 제 2 항에 있어서,
    상기 제 1 회로 스테이지는 (2N-1) 개의 조건셀과 전가산기 (full adder) 를 구비하며,
    상기 조건셀 각각은, 2N비트 중의 최상위 비트로부터 최하위 비트 보다도 1 만큼 상위의 비트까지 대응하여 제공되며, 상기 2 개의 입력 데이터의 대응하는 비트를 수신하여 배타적 논리합 연산을 수행하며, 최하위 비트로부터 캐리가 생성되는 경우와 최하위 비트로부터 어떠한 캐리도 생성되지 않는 경우를 나타내는 한 쌍의 신호로 구성된 임시 캐리를 발생시키고, 그 임시 캐리를 출력하며,
    상기 가산기는, 상기 2 개의 입력 데이터의 최하위 비트와 상기 출력 캐리 신호를 수신하고, 배타적 논리합 신호와 캐리 신호를 발생시키는 것을 특징으로 하는 고속 가산기.
  5. 제 4 항에 있어서,
    상기 조건셀 각각은,
    2 개의 입력 비트를 수신하고, 상기 2 개의 입력 비트에 논리곱 연산을 수행하여 제 1 신호를 출력하는 제 1 게이트;
    상기 2 개의 입력 비트를 수신하고, 상기 2 개의 입력 비트에 논리합 연산을 수행하여 제 2 신호를 출력하는 제 2 게이트;
    상기 제 1 게이트로부터 출력된 상기 제 1 신호를 수신하고, 그 수신된 제 1 신호를 반전시켜 제 3 신호를 출력하는 제 3 게이트; 및
    상기 제 2 게이트로부터 출력된 상기 제 2 신호와 상기 제 3 게이트로부터 출력된 제 3 신호를 수신하고, 상기 제 2 신호 및 상기 제 3 신호상에 논리곱 연산을 수행하여 제 4 신호를 출력하는 제 4 게이트를 구비하고,
    상기 제 1 게이트로부터 출력된 상기 제 1 신호는, 최하위 비트로부터 어떠한 캐리도 생성되지 않는 경우에서의 캐리 신호인 제 1 캐리 신호로서 주어지며,
    상기 제 2 게이트로부터 출력된 상기 제 2 신호는, 최하위 비트로부터 캐리가 생성되는 경우에서의 캐리 신호인 제 2 캐리 신호로서 주어지며,
    상기 제 4 게이트로부터 출력된 상기 제 4 신호는 상기 2 개의 입력 비트에 수행된 배타적 논리합 연산의 결과값인 것을 특징으로 하는 고속 가산기.
  6. 제 4 항에 있어서,
    상기 회로 스테이지 중에서, 1≤M < N 을 만족시키는 정수 M 에 의해 특정된 (N-M+1) 번째 회로 스테이지가 상기 입력 데이터의 2(N-M)비트마다 대응하여 2M개의 부분-회로로 가상적으로 분할되는 경우,
    상기 (N-M+1) 번째 회로 스테이지는, 2(N-M-1)개의 멀티플렉서, (2(N-1)-2(N-M-1)) 개의 캐리 선택기, 및 2(N-M-1)개의 변환기를 구비하며,
    상기 각각의 2(N-M-1)개의 멀티플렉서는, 최하위 비트로부터 상위 방향으로 2(N-M)번째 비트에 대응하는 비트로부터의 입력을 포함하는 제 1 부분-연산 회로의상위의 2(N-M-1)비트에 대응하여 제공되며, 이전 회로 스테이지에서 대응하는 비트에 제공된 조건셀 및 캐리 선택기 중 하나의 출력인 한 쌍의 신호를 수신하고, 상기 제 1 부분-연산 회로내의 상부로부터 (2(N-M-1)+1) 번째 비트에 대응하는 1 스테이지 이전인 회로 스테이지의 비트에 제공된 전가산기 및 멀티플렉서 중 하나로부터 출력된 신호를 수신하고, 그 수신된 신호에 따라서 실제 캐리 신호를 선택하여, 상기 실제 캐리 신호를 출력하며,
    (2(N-1)-2(N-M-1)) 개의 캐리 선택기 각각은, 최상위 비트에 대응하는 캐리 신호를 수신하는 부분-회로로 구성된 제 2 부분-연산 회로 또는 상기 제 2 부분-연산 회로로부터 하위 방향으로 2 번째 내지 (2M-1) 번째 부분-회로로 구성된 제 3 부분-연산내에 포함된 부분-회로의 상위 2(N-M-1)비트에 대응하여 제공되며, 이전 회로 스테이지에서 대응하는 비트에 제공된 조건셀, 캐리 선택기, 변환기 중 하나의 출력인 한 쌍의 신호를 수신하고, 부분-회로내의 상부로부터 (2(N-M-1)+1) 비트에 대응하는 1 스테이지 이전인 회로 스테이지의 비트에 제공된 조건셀 및 캐리 선택기 중 하나의 출력인 한 쌍의 선택 신호를 수신하고, 상기 선택된 신호에 따라 다음 회로 스테이지에서의 임시 캐리 또는 임시 합을 나타내는 한 쌍의 신호를 선택하여, 그 선택된 쌍의 신호를 출력하며,
    2(N-M-1)개의 변환기는, 상기 제 2 부분-연산 회로의 하위의 2(N-M-1)비트에 대응하여 제공되며, 이전의 회로 스테이지에서 대응하는 비트에 제공된 조건셀 및 캐리 선택기의 출력이고 임시 캐리를 나타내는 한 쌍의 신호, 및 제 1 회로 스테이지에서 1 비트 상위의 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호를 수신하고, 임시 합을 나타내는 그 한 쌍의 신호를 출력하는 것을 특징으로 하는 고속 가산기.
  7. 제 6 항에 있어서,
    상기 조건셀 각각은,
    2 개의 입력 비트를 수신하고, 상기 2 개의 입력 비트에 논리곱 연산을 수행하여 제 1 신호를 출력하는 제 1 게이트;
    상기 2 개의 입력 비트를 수신하고, 상기 2 개의 입력 비트에 논리합 연산을 수행하여 제 2 신호를 출력하는 제 2 게이트;
    상기 제 1 게이트로부터 출력된 상기 제 1 신호를 수신하고, 그 수신된 제 1 신호를 반전시켜 제 3 신호를 출력하는 제 3 게이트; 및
    상기 제 2 게이트로부터 출력된 상기 제 2 신호와 상기 제 3 게이트로부터 출력된 제 3 신호를 수신하고, 상기 제 2 신호 및 상기 제 3 신호에 논리곱 연산을 수행하여 제 4 신호를 출력하는 제 4 게이트를 구비하고,
    상기 제 1 게이트로부터 출력된 상기 제 1 신호는, 최하위 비트로부터 어떠한 캐리도 생성되지 않는 경우에서의 캐리 신호인 제 1 캐리 신호로서 주어지며,
    상기 제 2 게이트로부터 출력된 상기 제 2 신호는, 최하위 비트로부터 캐리가 생성되는 경우에서의 캐리 신호인 제 2 캐리 신호로서 주어지며,
    상기 제 4 게이트로부터 출력된 상기 제 4 신호는 상기 2 개의 입력 비트에 수행된 배타적 논리합 연산의 결과값인 것을 특징으로 하는 고속 가산기.
  8. 제 6 항에 있어서,
    상기 변환기 각각은,
    임시 캐리를 나타내는 한 쌍의 신호 중 하나와 상기 제 1 회로 스테이지에서 1 비트 상위의 비트에 대응하는 조건셀로부터 출력되는 배타적 논리합 신호를 수신하고, 임시 합을 나타내는 한 쌍의 신호 중 하나를 출력하는 제 1 배타적 논리합 회로; 및
    상기 임시 캐리 및 상기 배타적 논리합 신호를 나타내는 한 쌍의 신호 중 다른 하나를 수신하고, 상기 임시 합을 나타내는 한 쌍의 신호 중 다른 하나를 출력하는 제 2 배타적 논리합 회로를 구비하는 것을 특징으로 하는 고속 가산기.
  9. 제 6 항에 있어서,
    상기 임시 캐리를 나타내는 한 쌍의 입력 신호를 수신하고, 한 쌍의 선택 신호 중 하나에 따라 상기 한 쌍의 입력 신호 중 하나를 선택하여, 그 선택된 신호를 한 쌍의 출력 신호 중 하나로서 출력하는 제 1 멀티플렉서; 및
    상기 한 쌍의 입력 신호를 수신하고, 상기 한 쌍의 선택 신호 중 다른 하나에 따라 상기 한 쌍의 입력 신호 중 하나를 선택하여, 그 선택된 신호를 상기 한쌍의 출력 신호 중 다른 하나로서 출력하는 제 2 멀티플렉서를 구비하는 것을 특징으로 하는 고속 가산기.
  10. 제 6 항에 있어서,
    (N+1) 번째 회로 스테이지는,
    N 번째 회로 스테이지에서 입력 데이터의 최상위 비트에 대응하여 제공된 최상위 캐리 선택기로부터 출력된 한 쌍의 신호를 수신하고, N 번째 회로 스테이지에서 하위 방향으로 입력 데이터의 최상위 비트로부터 (2(N-1)+1) 번째 비트에 대응하는 멀티플렉서로부터 출력된 선택 신호에 따라서 출력 캐리 신호를 선택하고, 그 출력 캐리 신호를 출력하는 멀티플렉서;
    입력 데이터의 최상위 비트로부터 하위 방향으로 2 번째 비트로부터 2(N-1)번째 비트에 대응하여 제공되며, N 번째 회로 스테이지에서 대응하는 비트에 제공된 캐리 선택기 및 변환기 중 하나로부터 출력된 한 쌍의 신호를 수신하고, N 번째 회로 스테이지에서 하위 방향으로 입력 데이터의 최상위 비트로부터 (2(N-1)+1) 번째 비트에 대응하는 멀티플렉서로부터 출력된 선택 신호에 따라 1 비트 상위인 비트의 실제 비트 합에 대응하는 신호를 선택하여, 1 비트 상위인 비트의 실제 비트 합에 대응하는 상기 신호를 출력하는 (2(N-1)-1) 개의 멀티플렉서; 및
    입력 데이터의 최상위 비트로부터 하위 방향으로 (2(N-1)+1) 번째 비트로부터2N번째 비트에 대응하여 제공되며, 이전 회로 스테이지에서 대응하는 비트에 제공되는 전가산기 및 멀티플렉서 중 하나로부터 출력된 실제 캐리 신호 및 제 1 회로 스테이지에서 1 비트 상위인 비트에 대응하는 조건셀로부터 출력된 배타적 논리합 신호를 수신하고, 1 비트 상위인 비트의 실제 비트 합에 대응하는 신호를 출력하는 2(N-1)개의 배타적 논리합 회로를 구비하는 것을 특징으로 하는 고속 가산기.
  11. 제 10 항에 있어서,
    상기 조건셀 각각은,
    2 개의 입력 비트를 수신하고, 상기 2 개의 입력 비트에 논리곱 연산을 수행하여 제 1 신호를 출력하는 제 1 게이트;
    상기 2 개의 입력 비트를 수신하고, 상기 2 개의 입력 비트에 논리합 연산을 수행하여 제 2 신호를 출력하는 제 2 게이트;
    상기 제 1 게이트로부터 출력된 상기 제 1 신호를 수신하고, 그 수신된 제 1 신호를 반전시켜 제 3 신호를 출력하는 제 3 게이트; 및
    상기 제 2 게이트로부터 출력된 상기 제 2 신호와 상기 제 3 게이트로부터 출력된 제 3 신호를 수신하고, 상기 제 2 신호 및 상기 제 3 신호에 논리곱 연산을 수행하여 제 4 신호를 출력하는 제 4 게이트를 구비하고,
    상기 제 1 게이트로부터 출력된 상기 제 1 신호는, 최하위 비트로부터 어떠한 캐리도 생성되지 않는 경우에서의 캐리 신호인 제 1 캐리 신호로서 주어지며,
    상기 제 2 게이트로부터 출력된 상기 제 2 신호는, 최하위 비트로부터 캐리가 생성되는 경우에서의 캐리 신호인 제 2 캐리 신호로서 주어지며,
    상기 제 4 게이트로부터 출력된 상기 제 4 신호는 상기 2 개의 입력 비트에 수행된 배타적 논리합 연산의 결과값인 것을 특징으로 하는 고속 가산기.
  12. 제 10 항에 있어서,
    상기 변환기 각각은,
    임시 캐리를 나타내는 한 쌍의 신호 중 하나와 상기 제 1 회로 스테이지에서 1 비트 상위의 비트에 대응하는 조건셀로부터 출력되는 배타적 논리합 신호를 수신하고, 임시 합을 나타내는 한 쌍의 신호 중 하나를 출력하는 제 1 배타적 논리합 회로; 및
    상기 임시 캐리 및 상기 배타적 논리합 신호를 나타내는 한 쌍의 신호 중 다른 하나를 수신하고, 상기 임시 합을 나타내는 한 쌍의 신호 중 다른 하나를 출력하는 제 2 배타적 논리합 회로를 구비하는 것을 특징으로 하는 고속 가산기.
  13. 제 10 항에 있어서,
    상기 임시 캐리를 나타내는 한 쌍의 입력 신호를 수신하고, 한 쌍의 선택 신호 중 하나에 따라 상기 한 쌍의 입력 신호 중 하나를 선택하여, 그 선택된 신호를 한 쌍의 출력 신호 중 하나로서 출력하는 제 1 멀티플렉서; 및
    상기 한 쌍의 입력 신호를 수신하고, 상기 한 쌍의 선택 신호 중 다른 하나에 따라 상기 한 쌍의 입력 신호 중 하나를 선택하여, 그 선택된 신호를 상기 한 쌍의 출력 신호 중 다른 하나로서 출력하는 제 2 멀티플렉서를 구비하는 것을 특징으로 하는 고속 가산기.
KR1020030074560A 2002-11-22 2003-10-24 고속 가산기 KR100663679B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00339707 2002-11-22
JP2002339707A JP3727301B2 (ja) 2002-11-22 2002-11-22 加算回路および加算回路を備えた半導体装置

Publications (2)

Publication Number Publication Date
KR20040045292A true KR20040045292A (ko) 2004-06-01
KR100663679B1 KR100663679B1 (ko) 2007-01-02

Family

ID=32702600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030074560A KR100663679B1 (ko) 2002-11-22 2003-10-24 고속 가산기

Country Status (4)

Country Link
US (1) US7277909B2 (ko)
JP (1) JP3727301B2 (ko)
KR (1) KR100663679B1 (ko)
CN (1) CN1290002C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150015369A (ko) * 2013-07-31 2015-02-10 에이알엠 리미티드 데이터 처리장치 및 내로우잉 앤 라운딩 산술연산을 행하는 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509368B2 (en) * 2005-05-09 2009-03-24 Intel Corporation Sparse tree adder circuit
US7908308B2 (en) * 2006-06-08 2011-03-15 International Business Machines Corporation Carry-select adder structure and method to generate orthogonal signal levels
CN101140511B (zh) * 2006-09-05 2010-10-13 硅谷数模半导体(北京)有限公司 串行进位二进制加法器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285406A (en) * 1990-04-02 1994-02-08 Advanced Micro Devices, Inc. High speed mixed radix adder
US5257218A (en) * 1992-01-06 1993-10-26 Intel Corporation Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders
JPH08161151A (ja) * 1994-12-01 1996-06-21 Mitsubishi Electric Corp 加算器
US6134576A (en) * 1998-04-30 2000-10-17 Mentor Graphics Corporation Parallel adder with independent odd and even sum bit generation cells

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150015369A (ko) * 2013-07-31 2015-02-10 에이알엠 리미티드 데이터 처리장치 및 내로우잉 앤 라운딩 산술연산을 행하는 방법

Also Published As

Publication number Publication date
CN1290002C (zh) 2006-12-13
US7277909B2 (en) 2007-10-02
JP3727301B2 (ja) 2005-12-14
KR100663679B1 (ko) 2007-01-02
US20040243658A1 (en) 2004-12-02
JP2004171491A (ja) 2004-06-17
CN1503119A (zh) 2004-06-09

Similar Documents

Publication Publication Date Title
KR100359965B1 (ko) 프로세서와이의연산방법 및 데이타프로세서
US4623982A (en) Conditional carry techniques for digital processors
Kim et al. A carry-free 54b/spl times/54b multiplier using equivalent bit conversion algorithm
US5629885A (en) Squaring circuit for binary numbers
JPH05224883A (ja) 浮動小数点n−ビット符号付大きさの2進数を固定小数点m−ビット2の補数表示の2進数に変換するためのシステム
JPH05134851A (ja) 乗算回路出力方式
KR100663679B1 (ko) 고속 가산기
US3842250A (en) Circuit for implementing rounding in add/subtract logic networks
KR20000048818A (ko) 디지탈 가산회로
US6460064B1 (en) Multiplier for operating n bits and n/2 bits and method therefor
JPH09222991A (ja) 加算方法および加算器
KR102182299B1 (ko) 시프트 연산 장치 및 그의 동작 방법
JPS6230451B2 (ko)
JPH0467213B2 (ko)
US6343303B1 (en) Method of determining a scaling factor
JP4290203B2 (ja) リダクションアレイの装置および方法
JP4230234B2 (ja) 全加算器用のパリティ予測回路
KR100621968B1 (ko) 스티키 비트값 예측 회로 및 이것을 구비한 반도체 장치
JPH11282651A (ja) 並列乗算器
KR200232068Y1 (ko) 고속 동작을 위한 2의 보수 변환 장치
JP3255251B2 (ja) 配列型桁上げ保存加算器を有する乗算器
JP4803829B2 (ja) ビットカウント方法およびビットカウント回路
KR100248977B1 (ko) 승산기
SU696450A1 (ru) Устройство дл сложени в избыточной двоичной системе счислени
US5309384A (en) Digital multiplier with carry-sum input

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee