KR20070030320A - 합 셀과 병합된 캐리-스킵 셀을 가지는 캐리-스킵 가산기 - Google Patents

합 셀과 병합된 캐리-스킵 셀을 가지는 캐리-스킵 가산기 Download PDF

Info

Publication number
KR20070030320A
KR20070030320A KR1020077003055A KR20077003055A KR20070030320A KR 20070030320 A KR20070030320 A KR 20070030320A KR 1020077003055 A KR1020077003055 A KR 1020077003055A KR 20077003055 A KR20077003055 A KR 20077003055A KR 20070030320 A KR20070030320 A KR 20070030320A
Authority
KR
South Korea
Prior art keywords
carry
bit
bit position
sum
coupled
Prior art date
Application number
KR1020077003055A
Other languages
English (en)
Other versions
KR100874285B1 (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 KR20070030320A publication Critical patent/KR20070030320A/ko
Application granted granted Critical
Publication of KR100874285B1 publication Critical patent/KR100874285B1/ko

Links

Images

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/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal

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

Abstract

캐리 체인, 캐리-스킵 네트워크, 합 셀 및 캐리-합 셀을 포함하는 다중-비트 가산기가 개시된다. 캐리 체인은 캐리-인 비트를 전파, 생성 또는 킬한다. 캐리-스킵 네트워크는 캐리 체인에 결합되어 캐리-인 비트가 캐리 체인의 적어도 한 부분을 선택적으로 건너뛴다. 합 셀은 캐리 체인을 따라 결합되어 캐리-인 비트를 2개의 오퍼랜드의 대응하는 비트와 합함으로써 다중-비트 결과치를 생성한다. 캐리-합 셀은, 캐리 체인 상의 단일 중간 비트 위치에 들어가는 캐리-인 비트 중 하나를 수신하고 단일 중간 비트 위치보다 상위 비트 위치를 가지는 다중-비트 결과치의 1 비트를 생성하도록 결합되어 있다.
캐리 체인, 캐리-스킵 네트워크, 합 셀, 캐리-합 셀, 캐리-인, 캐리-아웃, 다중-비트 가산기, 상위 비트 위치, 중간 비트 위치, 하위 비트 위치

Description

합 셀과 병합된 캐리-스킵 셀을 가지는 캐리-스킵 가산기{CARRY-SKIP ADDER HAVING MERGED CARRY-SKIP CELLS WITH SUM CELLS}
본 발명은 일반적으로 다중-비트 가산기에 관한 것이고, 특히 저 전압 스윙(swing) 가산기에 관한 것이지만, 이에 한정되는 것은 아니다.
2진(binary) 가산기는 두 개의 2진 오퍼랜드를 더하여 하나의 2진 결과치를 얻는 기본적인 전자 회로이다. 캐리-인(carry-in)과 두개의 오퍼랜드를 더하여 결과치 및 캐리-아웃(carry-out)을 얻을 수 있는 가산기로서 전가산기(full adder)가 알려져 있다. 더 넓은 폭(width)의 2진 가산기를 구현하기 위해, 전가산기들이 연속적으로 결합될 수 있는데, 여기서 하나의 전가산기의 캐리-아웃은 다음 가산기의 캐리-인에 결합된다.
도 1은 캐리-인("CI") 및 캐리-아웃("CO")을 가지는 공지의 16-비트 캐리-스킵 가산기를 도시한다. 캐리-스킵(carry-skip) 가산기(100)는 PGK(propagate-generate-kill) 스테이지(105), 캐리-스킵 셀(110) 및 합(sum) 셀(115)을 포함한다(도 1을 혼란스럽게 하지 않기 위해 요소의 일부에만 참고번호가 붙어 있다). CI0는 PGK 스테이지 0 으로의 캐리-인을 나타낸다. 만약 PGK 스테이지 0 이 CI0(즉, CI="1")를 수신하면, PGK 스테이지 0은 CI0를 캐리-아웃(120)으로 전파(propagate)시켜 PGK 스테이지 1 으로의 캐리-인(125)으로 수신되도록 할 수도 있고, CI0를 킬(kill)해서 PGK 스테이지 1 이 캐리-인(125)을 수신하지 않도록 할 수도 있다. 만약 PGK 스테이지 0 이 CI0를 수신하지 않으면(즉, CI="0"), PGK 스테이지 0 은, PGK 스테이지 1 으로의 캐리-인(125)으로 수신될 캐리-아웃(120)을 생성시킬 수 있다. 각각의 PGK 스테이지(105)는 해당 비트 위치(bit position)에 대응하는 두개의 오퍼랜드 비트(operand bit) 값에 따라 캐리-인을 전파하거나, 생성하거나, 킬(kill)할 것이다.
합 셀(115)은 캐리-인 비트를 동일한 비트 위치를 갖는 두 오퍼랜드 비트와 합하여서 다중-비트 결과치의 결과치 비트를 생성시킨다. 그러나, 각각의 합 셀(115)이 결과치 비트를 생성시킬 수 있기 전에, 대응하는 캐리-인이 결정되어야 한다. 캐리-인을 결정하기 위해, CI0는 PGK 스테이지 0 부터 PGK 스테이지 15 까지 전파되는 기회가 주어져야 한다. 따라서, 캐리-인의 전파는 스피드 제한 인자이다.
캐리-스킵 가산기(100)를 통과하는 캐리-인의 전파를 가속하기 위해서, PGK 스테이지(105)는 캐리-스킵 셀(110)에 의해 그룹 지어진다. PGK 스테이지(105) 그룹으로의 캐리-인이 그 PGK 스테이지(105) 그룹 전체를 통과하여 전파되는 것인지 를 결정하기 위해, 대응하는 오퍼랜드 그룹을 분석한다. 만약 이 조건이 참(true)이면, 캐리-스킵 셀은 해당 그룹으로의 캐리-인이 그 그룹을 건너뛰고, PGK 스테이지(105)의 다음 그룹에 그 캐리-인을 제공할 것이다. 캐리-스킵 셀(110)을 경유하여 PGK 스테이지(105)의 그룹을 건너뛰는 것은, 캐리-인이 그 그룹의 각 PGK 스테이지를 통해 전파하는 것을 기다리는 것보다 딜레이가 적다. 그러나, 캐리-스킵 셀(110)을 사용하더라도, 캐리-스킵 가산기(100)를 통한 캐리-인의 전파는 여전히 스피드 제한 인자이다.
본 발명은 캐리 체인, 캐리-스킵 네트워크, 합 셀들 및 캐리-합 셀들을 포함하는 다중-비트 가산기에 관한 것이다. 캐리 체인은 캐리-인 비트를 선택적으로 전파하고, 생성하며, 킬하며, 캐리-스킵 네트워크는 캐리 체인에 결합되어 캐리-인 비트가 캐리 체인의 적어도 일부분을 선택적으로 건너뛰도록 한다. 합 셀들은 캐리 체인을 따라 결합되며, 합 셀들의 각각은 캐리-인 비트를 2개의 대응하는 오퍼랜드 비트와 합산하여 다중-비트 결과치의 하나의 비트를 생성한다. 캐리-합 셀들도 캐리 체인에 결합되며, 캐리-합 셀들의 각각은 캐리 체인 상의 단일 중간 비트 위치로의 캐리-인 비트들 중 하나를 수신하여 단일 중간 비트 위치보다 상위 비트 위치를 가지는 상기 다중-비트 결과치의 하나의 비트를 생성한다.
또한 본 발명은 캐리 체인을 따라 캐리-인 비트들을 선택적으로 전파, 생성, 또는 킬하는 단계; 동등한 비트 위치의 제 1 오퍼랜드, 제 2 오퍼랜드 및 캐리-인 비트를 합하여 다중-비트 결과치의 제 1 부분(중간 비트 위치 및 중간 비트 위치보다 하위의 비트 위치)을 얻는 단계; 제 1 및 제 2 오퍼랜드에 기초한 제어 신호를 생성하는 단계; 및 중간 비트 위치의 캐리-인 비트와 제어 신호를 논리적으로 XOR 연산시켜 상기 다중-비트 결과치의 제 2 부분(중간 비트 위치보다 상위 비트 위치)을 결정하는 단계를 포함하는 방법에 관한 것이다.
마지막으로 본 발명은 싱크로너스 동적 랜덤 액서스 메모리("SDRAM"), 및 SDRAM에 접근할 수 있도록 결합되며 다중-비트 가산기를 포함하는 프로세서를 포함하는 시스템에 관한 것이다. 여기서 다중-비트 가산기는, 캐리-인 비트를 전파하고, 생성하고, 킬하는 동작들 중 적어도 하나의 동작을 행하는 캐리 체인; 캐리-인 비트들이 캐리 체인의 적어도 한 부분을 선택적으로 건너뛰도록 상기 캐리 체인에 결합된 캐리-스킵 네트워크; 캐리-인 비트와 대응하는 비트의 두 오퍼랜드를 합산하도록 캐리 체인을 따라 결합된 합 셀들; 및 캐리 체인의 캐리-인 비트들 중 단일 중간 비트 위치로의 캐리-인 비트를 수신하고 단일 중간 비트 위치보다 상위 비트 위치를 가지는 다중-비트 결과치의 하나의 비트를 생성하도록 결합된 캐리-합 셀을 포함한다.
본 발명의 비제한적이고 예시적인 실시예는 다음의 도면에 대해 참조부와 함께 기술되며, 다르게 특정되지 않는 한 여러 도면에 있어서 동일한 참조부호는 동일한 부분을 지시한다.
도 1은 공지의 캐리-스킵 가산기 회로를 도시한 블록 다이어그램.
도 2는 본 발명의 일 실시예에 따른, 합(sum) 셀과 병합된 캐리-스킵 셀을 가지는 캐리-합 셀을 포함하는 가산기를 도시한 블록 다이어그램.
도 3은 본 발명의 일 실시예에 따른, 가산기의 동작 프로세스를 도시한 흐름도.
도 4는 본 발명의 일 실시예에 따른, PGK 스테이지를 도시한 회로도.
도 5는 본 발명의 일 실시예에 따른, 합 셀(sum cell)을 도시한 회로도.
도 6은 본 발명의 일 실시예에 따른, 캐리-합(carry-sum) 셀을 도시한 회로도.
도 7은 본 발명의 실시예를 구현하는 예시적 시스템을 도시한 도면.
본 명세서에는 고속 다중-비트 가산기를 위한 장치, 시스템 및 방법의 실시예가 기술되어 있다. 다음의 설명에서, 실시예의 철저한 이해를 돕기 위해 수많은 구체적인 세부사항이 설명될 것이다. 그러나, 당업자라면 본 명세서에 기술된 기술은, 하나 이상의 구체적인 세부사항 없이 또는, 다른 방법, 요소 및 재료 등과 함께 실행될 수 있다는 것을 알 수 있다. 다른 예에서, 공지의 구조체, 재료 또는 동작은 특정 측면을 모호하게 하는 것을 피하기 위해 표시되거나 기술되지 않는다.
본 명세서 전체에 걸쳐 "일 실시예" 또는 "하나의 실시예"를 참조하는 것은, 그 실시예에 관해 기술된 특정 형상, 구조, 또는 특성이 본 발명의 적어도 일 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 여러 곳에 기재된 "일 실시예에서(in one embodiment)" 또는 "하나의 실시예에서(in an embodiment)" 의 표기는 반드시 동일한 실시예를 언급하는 것은 아니다. 게다가, 특정 형상, 구조, 또는 특성은 하나 이상의 실시예에서 임의의 적당한 방법으로 조합될 수 있다.
도 2는 본 발명의 일 실시예에 따른, 변형된 캐리-스킵 네트워크를 가지는 가산기(200)를 도시한 블록 다이어그램이다. 도시된 실시예의 가산기(200)는 캐리 체인(205), 합 셀0 -15(210), 캐리-스킵 네트워크(215), 캐리-합12 -15 셀(220) 및 감지 증폭기(225)를 포함한다. 캐리 체인(205)은 PGK 스테이지0 - 15(207)들을 포함하며, 캐리-스킵 네트워크(215)는 캐리-스킵 셀0 -6, 9(217)들을 포함한다. 각각의 PGK 스테이지(217), 합 셀(210), 캐리-합 셀(220)에 붙여진 첨자는 비트 위치를 표시한다. 가산기(200)가 16-비트 가산기로 도시되어 있지만, 본 명세서에 기재된 기법은 예를 들어 4-비트 가산기, 32-비트 가산기, 64-비트 가산기 등과 같은 더 큰 또는 더 작은 가산기에 동등하게 적용될 수 있다.
캐리 체인(205)은 캐리-인("CI")이 0 에서 15까지 각각의 비트 위치에 대하여 전파되거나, 생성되거나, 킬(kill)되는 메커니즘을 제공한다. PGK 스테이지(207)들 중 하나로의 CI는 이전 PGK 스테이지(207)의 캐리-아웃("CO")과 동일하다. 예를 들어, CO0가 CI1과 동일하게 되는 식이다. 상기 언급된 바와 같이, 각각의 PGK 스테이지(207)는 캐리 비트를 전파시키거나, 생성하거나, 킬(kill)할 수 있다. 특정 PGK 스테이지(207)의 CO는 수학식 1에 따라 결정된다.
Figure 112007011733343-PCT00001
여기서 A 및 B는 다중-비트 오퍼랜드를 나타내며, N은 비트 위치를 나타내고, "·"는 2 비트 논리 AND 함수를 나타내고, "+"는 2 비트 논리 OR 함수를 나타낸다. 수학식 1에 따라, 각각의 특정 PGK 스테이지(207)에 대해, 오퍼랜드 AN 및 BN이 모두 "0"이면 CI는 "킬(kill)되고"(즉, CIN의 값에 상관없이 CON = 0), 오퍼랜드 AN 및 BN가 모두 "1"이면, CO는 "생성되며"(즉, CIN의 값에 상관없이 CON = 1), 오퍼랜드 AN ≠ BN 이면, CI는 전파된다(즉, CON = CIN ). 수학식 1을 요약하면 아래의 테이블 1과 같다.
A N B N CI N CO N
0 0 ? "0"(킬)
1 1 ? "1"(생성)
0 1 CIN CIN(전파)
1 0 CIN CIN(전파)
각 비트 위치 N의 합 셀(210)은 특정 비트 위치의 CIN을 수신하도록 결합되어 있고, CIN을 대응하는 비트 위치의 오퍼랜드 AN 및 BN 합한다. 따라서, 합 셀0(210)은 CI0를 수신하도록 결합되어 있고, 합 셀15(210)는 CI15를 수신하도록 결합되어 있다. 일 실시예에서, 합 셀(210)은 합 로직(212)으로부터 수신된 AN 및 BN의 논리 XOR 값과 CIN을 논리적으로 XOR 한다. 따라서, 각각의 합 셀(210)은 수학식 2에 따라 다중-비트 결과치의 하나의 비트를 생성한다(즉, 합N).
Figure 112007011733343-PCT00002
Figure 112007011733343-PCT00003
는 논리 XOR 함수를 나타낸다. 그러나, 합 셀(210)은 특정 비트 위치의 CI가 결정될 때까지 특정 비트 위치를 합산할 수 없다. 이전 PGK 스테이지(207)의 CO(즉, CON -1)가 결정될 때까지 CIN은 결정되지 않는다. 따라서, 캐리 체인(205)을 따라 결정되는 캐리 비트를 기다리는 것은, 가산기(200) 동작속도를 결정적으로 제한하는 인자가 된다.
결과적으로, 캐리-스킵 네트워크(215)는, CON=CIN 인 경우 하나의 PGK 스테이지(207)의 CO가 복수의 PGK 스테이지(207)를 건너뛰어 아래쪽의(downstream) PGK 스테이지(207)의 CI가 되는 시나리오를 이용한다. 캐리-스킵("CS") 셀은 PGK 스테이지(207)들을 "그룹(groups)"으로 묶는다. 예를 들어, CS 셀0(217)은 PGK 스테이지0,1,2(207)를 그룹-1 로 묶고, CS 셀1(207)은 PGK 스테이지1 ,2(207)를 그룹-2 로 묶으며, CS 셀9(207)은 PGK 셀11 -15(207)를 그룹-9로 묶는다. 각 CS 셀(217)은 그룹 전파(group propagate, "GP") 로직(240)에 결합되어, 특정 그룹으로 들어가는 CI가 언제 그 그룹 전체를 통과하여 전파되는지를 결정한다(도 2를 혼잡하게 하지 않기 위해 GP 로직(240)의 일부분만이 도시되어 있다). CI가 그 그룹 전체를 건너 전파되는 시나리오에서는, 그 그룹을 통과하는 캐리 체인(205)을 따라 진행하는 CI를 기다릴 필요없이 그 그룹을 건너뜀으로써 해당 CS 셀(217)은 해당 그룹의 CI를 다음 그룹으로 전송할 것이다. 예를 들어, GP 로직0(240)은 CI0가 그룹 1(즉, PGK 스테이지0,1,2(207))을 통과하여 전파될 것인지를 결정한다. 상기 예에서, GP 로직0(240)은 CI0가 PGK 스테이지3(207)에 CI3로 제공되는 비트 위치 3으로 넘어가도록 CS 셀0(217)에 지시한다.
일 실시예에서, 캐리-스킵 네트워크(215)의 각 CS 셀(217)은 N-형 전계 효과 트랜지스터(negative-type field effect transistor, "NFET")이다. 일 실시예에서, NFET의 소스 및 드레인 단자는 PGK 스테이지(207)들의 그룹에 분로를 만들도록 결합되어 있고, 게이트 단자들은 대응하는 GP 로직(240)에 결합되어 있다. 이 상기 NFET 실시예에서, CS 셀들(217)은 캐리 비트가 PGK 스테이지(207)들의 여러 그룹을 건너뛰도록하기 위해 GP 로직(240)의 제어 하에 선택적으로 개폐되는 분류(shunt) 스위치로서의 기능을 한다. 도 2에 도시된 것보다 더 많거나 적은 CS 셀(217)들이 PGK 스테이지(207)들의 여러 다른 그룹 구성들에 분로를 만들 수도 있다.
일 실시예에서, GP 로직(240)은 CS 셀(217)을 제어하기 위한 GP 신호를 생성한다. GP 신호는 각 비트 위치 N에 대응하는 전파 변수들 PN을 논리적으로 AND 연산함으로써 생성된다. PN은 수학식 3에 의해 주어지고,
Figure 112007011733343-PCT00004
여기서
Figure 112007011733343-PCT00005
는 2비트 논리 XOR 함수를 나타낸다. 특정 CS 셀(217)을 제어하는 GP 신호는, 특정 CS 셀(217)에 의해 분로된(shunted) 각 비트 위치의 PN을 논리적으로 AND 연산함으로써 생성된다. 예를 들어, CS 셀0(217)은 GP0 신호에 의해 제어되며, 이 신호는 수학식 4에 의해 주어진다.
Figure 112007011733343-PCT00006
마찬가지로, CS 셀9(217)은 GP9 신호에 의해 제어되며, 이 신호는 수학식 5에 의해 주어진다.
Figure 112007011733343-PCT00007
도 2에 표시된 바와 같이, 가산기(200)는 하위 비트(less significant bit, "LSB") 위치, 상위 비트(more siginificant bit, "MSB") 위치 및 중간 비트(intermediate bit) 위치로 나누어진다. LSB 위치는 중간 비트 위치보다 하위 비트 위치이고, MSB 위치는 중간 비트 위치보다 상위 비트 위치이다. 도 2는 LSB 위치를 비트 0-10으로 할당하고, 중간 비트 위치를 비트 11로 할당하며, MSB 위치를 비트 12-15로 할당하지만, 다른 실시예는 다른 할당을 포함할 수 있다.
도 1에 관하여, 캐리-스킵 가산기(100)의 가능한 최악의 케이스 동작 시간은, 캐리-아웃(120)이 PGK 스테이지0(105)에 의해 생성되고, 캐리-아웃(120) 캐리가 CS 셀1 ,2,5, 9(110)을 경유하여 중간 PGK 스테이지1 -14(105)를 건너뛰고, 마지막으로 합 셀1 5(115)에서 오퍼랜드 비트 A15 및 B15 와 합해질 경우에 일어난다. 따라서, 캐리-스킵 가산기(100)의 가장 긴 딜레이 경로(따라서 임계 경로)는 6 블록 길이이다.
도 2에서, 캐리-합 셀(220)은 모두 캐리 체인(205)의 중간 비트 위치로부터 CI11를 수신하도록 결합되어 있다. 캐리-합 셀(220) 각각은, 캐리-스킵 가산기(100)와 대비해 볼 때, 가산기(200) 동작 속도를 높이기 위해 캐리-스킵 셀의 기능을 합 셀과 병합한다. 예를 들어, 상기 기재된 가산기(200)의 최악의 케이스 동작 동안, CO0는 PGK 스테이지0(207)에 의해 생성되고, 캐리는 캐리-스킵 셀 CS 셀1,2,5(217)을 경유하여 중간 노드(245)로 건너뛴다. CO0은 캐리-합 셀(220)에 CI11로써 입력되어 하나 이상의 결과치 비트 12-15를 계산한다. 따라서, 가산기(200)의 가장 긴 딜레이 경로(따라서 임계 경로)는 단지 5 블록 길이가 된다. 그러므로, 가산기(200)는 MSB 위치까지 최악-케이스 캐리-스킵을 처리하는 딜레이 수를 효과적으로 줄인다. 최하위 비트 위치로부터 최상위 비트 합 셀15(210)(또는 캐리-합 셀15(220))의 합계 결과치까지 통과하는데 블록 하나가 줄어들게 되면, 캐리-스킵 네트워크(215)를 통과하는 캐리 비트가 겪는 저항 및 캐피시턴스가 줄어드는 결과를 가져온다. 가장 긴(및 가장 느린) 캐리-스킵 전파 경로의 전파 딜레이에 있어 상기 감소는 가산기(200)의 전반적인 속도향상을 가져온다.
일 실시예에서, 캐리-합 셀(220)은 전역(global) 경로 캐리-합 함수를 실행하는데 반해, 합 셀12 -15(210)은 국부(local) 경로 합 함수를 실행한다. 만약 CI가 MSB 위치(예를 들어, CI12 _15) 중 하나 내에서 생성되면, 전역 경로 캐리-합 셀(220)은 동작하지 않고, 국부 경로 CI는 PGK 스테이지12 -15(207)에 의해 전파되거나, 생성되거나 또는 킬(kill)될 것이며, 합 셀12 -15은 결과치 비트 12-15의 하나 이상을 계산할 것이다. 그러나, MSB 위치 내에서 CI가 생성하지 않으면, CI11은 각각의 캐리-합 셀(220)에 의해 직접 사용되어 각각의 결과치 비트 12-15(즉, 비트 합 12-15)를 계산할 수 있다. 캐리-합 셀(12-15)은 캐리-스킵 기능과 합계 기능을 병합함으로써, 도 1에 도시된 캐리-스킵 셀7 ,8(110)을 제거한다.
일 실시예에서, 캐리-합 셀12 -15(220)은 CI11 및 각각의 캐리-합 셀(220)에 결합된 대응하는 제어 블록(250)으로부터 수신된 제어신호에 대해 논리 XOR 함수를 실행한다. 일 실시예에서, 각각의 제어 신호는 중간 비트 위치(예를 들어, 비트 위치 11)로부터 캐리-합 셀(220)의 해당 비트 위치까지의 전파 변수 PN를 논리적으로 AND 연산시켜 생성된다. 따라서, 제어N 신호는 수학식 6에 의해 주어진다.
Figure 112007011733343-PCT00008
예를 들어, 제어 블록12(250)은 수학식 7에 따라 제어12 신호를 생성한다.
Figure 112007011733343-PCT00009
마찬가지로, 제어 블록15(250)은 수학식 8에 따라 제어15 신호를 생성한다.
Figure 112007011733343-PCT00010
가산기(200)의 임계 경로는 PGK 스테이지11 -15(207) 및 합 셀12 -15(210)을 따르는 국부 경로를 통과하지 않기 때문에, PGK 스테이지11 -15(207) 및 합 셀12 -15(210)을 형성하는데 사용되는 트랜지스터는 확연히 줄어들 수 있다. 상기 소자를 줄이는 것은 집적회로 기판 위의 가치있는 공간을 확보할 뿐만 아니라, 전역 경로 및 캐리-스킵 네트워크(215) 상에 존재하는 용량성 부하를 감소시킨다. MSB 위치에 존재하는 용량성 부하를 감소시키는 것은 캐리-인 비트로 하여금 더 짧은 시간에 가산기(200)를 통과하도록 한다. 상기 기재된 바와 같이, 캐리-스킵 네트워크(215)의 저항은 본 명세서에 기술된 기법에 따라 역시 감소된다. 따라서, 임계 캐리-스킵 전파 경로 상의 감소된 저항-캐패시턴스 인자(RC 딜레이)는 가산기(200)의 더욱 빠른 덧셈 계산을 가져온다.
감지 증폭기(225)는 합 셀(210) 및 캐리-합 셀(220)의 출력에 결합되어 있다. 일 실시예에서, 감지 증폭기(225)는 각각의 합 셀(210) 및 캐리-합 셀(220)의 전압 출력을 감지하고, 로직 "1" 또는 로직 "0" 중 하나를 기록한다. 일 실시예에서, 가산기(200)는 저 전압 스윙(low voltage swing, "LVS") 가산기이다. 상기 LVS 가산기 실시예에서, 각각의 PGK 스테이지(207), 합 셀(210) 및 캐리-합 셀(220)은 차동 상보(differential complement) 신호를 출력한다. 감지 증폭기(225)는 상보 신호 사이의 차동 전압의 극성을 감지하여, 각 결과치 비트 위치에서 로직 "1" 또는 로직 "0" 중 어느 것이 계산되는지를 결정한다.
LVS 가산기는, 캐리 체인(예를 들어, 캐리 체인(205)) 및 캐리-스킵 네트워크(예를 들어, 캐리-스킵 네트워크(215)) 상의 수많은 커플링 및 소자 누설 이벤트에 의해 형성된 차동 노이즈에 영향받기 쉽다. 이 차동 노이즈 소스는 전파되는 캐리 신호의 차동 크기를 감소시키는 역할을 한다. 최악-케이스 출력의 경우, 차동 노이즈는 차동 캐리 신호를 압도해서 차동 반전 및 LVS 가산기의 고장을 일으킨다. 좀 더 일반적으로, 캐리 신호의 차동 크기가 감소되면 LVS 가산기의 속도가 늦어진다. LVS 가산기가 차동 노이즈에 영향받기 쉬운 한 이유는, 노이즈 제거 경로(캐리 체인에 들어가는 노이즈 전하를 줄이는 경로)의 저항이 커서(예를 들어, 싱크/소스 노드에 앞서 최대 6개 딜레이 블록 정도의 저항), 캐리-스킵 네트워크를 통해 노이즈 전하를 싱크(또는 배출)시키기 어렵기 때문이다.
캐리-합 셀(220)의 도입은 캐리-스킵 가산기(100) 상의 임계 경로에 있어 하나의 딜레이 블록을 감소시키며, 이것은 캐리-스킵 네트워크(215)의 저항 감소를 가져온다. 가산기(200)의 LVS 가산기 실시예에서, 캐리-스킵 네트워크(215)의 감소된 저항은 캐리-스킵 네트워크(215) 상에서의 차동 노이즈 제거를 증가시킨다. 상기 저항의 감소는 더욱 빠르고 안정적인 LVS 가산기를 가져온다.
아래 설명된 프로세스는 컴퓨터 소프트웨어 및 하드웨어 용어로 기술되어 있다. 프로세스는 어플리케이션 특정 집적 회로(application specific integrated circuit, "ASIC") 등과 같은 하드웨어 내에서 구현된다. 프로세스 블록의 일부 또는 전부가 각 프로세스에 나타나는 순서는 제한적인 것으로 볼 수 없다. 대신, 당업자라면 공개된 본 발명을 통해, 도시되지 않는 다양한 순서로 프로세스 블록의 일부가 실행될 수 있음을 알 수 있을 것이다.
도 3은 본 발명의 일 실시예에 따른, 동작 가산기(200)에 대한 프로세스를 도시한 흐름도이다. 프로세스 블록(305)에서, 캐리 비트(예를 들어, CI0 -15)는 캐리체인(205) 상의 PGK 스테이지(207)에서 선택적으로 전파되거나, 생성되거나 또는 킬된다.
프로세스 블록(310)에서, 캐리 비트들 중 일부는 선택적으로 PGK 스테이지(207)들의 그룹들을 건너뛴다. 예를 들어, GP 로직2(240)이 PGK 스테이지3(207)로 전달된 CI3가 그룹-2의 전체를 통해 전파할 것임을 결정하면, CS 셀2(217)은 CI3가 그룹-2(즉, PGK 스테이지3 ,4,5,6(207))를 건너뛰어 PGK 스테이지7(207)의 CI7로 제공되도록 할 것이다. 일 실시예에서, CS 셀(217)은 캐리 비트가 전파되는 전도(conducting) 경로를 제공하여 캐리 비트가 PGK 스테이지(207)들의 그룹을 건너뛰도록 한다.
프로세스 블록(315)에서, 합 셀0 -11(210)은 다중-비트 결과치의 LSB 위치 및 중간 비트 위치를 계산한다. 일 실시예에서, 합 셀(210)은 각각, CIN 를 각 대응하는 합 로직N(212)에 의해 계산된 합 신호와 논리적으로 XOR 연산시켜 다중-비트 결과치의 하나의 비트를 계산한다. 각각의 합 로직N(212)은 오퍼랜드 AN 및 BN의 합을 생성하며, 이것은 합 셀N(210)에 의해 CIN과 합해진다.
프로세스 블록(320)에서, 제어 로직N(250)은 제어 신호를 생성시켜 대응하는 캐리-합 셀N(220) 중 하나에 제공한다. 제어 신호는 상기 기술된 바와 같이 오퍼랜드 A 및 B에 기초하여 생성된다.
판정 블록(325)에서, 극부 캐리-아웃(즉, CO11 -15)이 PGK 스테이지11 -14(207) 중 하나에 의해 생성되거나 킬되지 않으면, 프로세스(300)는 프로세스 블록(330)으로 계속된다. 프로세스 블록(330)에서, 각 캐리-합 셀(220)은 대응하는 제어 신호와 CI11을 논리적으로 XOR 연산하여 다중-비트 결과치의 각 MSB 위치를 계산한다. 프로세스 블록(335)에서, 합 셀0 -11(210) 및 캐리-합 셀(220)에 의한 전압 출력은 감지 증폭기(225)에 의해 감지되어 다중-비트 결과치를 결정/등록한다.
판정 블록(325)으로 돌아가서, 만약 극부 캐리-아웃(즉, CO11 -14)이 생성되거나 킬되면(즉, PGK 스테이지11 -15(207) 중 하나가 캐리-아웃을 생성하거나 킬하면), 그 해당 포인트부터 앞으로의 모든 CI는 캐리 체인(205)의 극부 경로를 따라 결정된다. 만약 PGK 스테이지14(207)가 캐리-아웃을 생성하고 PGK 스테이지12 ,13(207)가 CI11을 전파시키면, 캐리-합 셀12 ,13(220)이 합12 및 합13을 계산하는 반면 합 셀14 , 15(210)이 합14 및 합15을 계산할 것이라는 점을 알 수 있다. 프로세스 블록(340)에서, 합 셀12 -15(210)은 다중-비트 결과치의 MSB 위치를 계산한다. 프로세스 블록(335)에서, 감지 증폭기(225)는 합 셀0 -11(210) 및 캐리-합 셀12 -15(220)에 의한 전압 출력을 감지한다.
도 4는 본 발명의 일 실시예에 따른 PGK 스테이지(400)를 도시한 회로도이다. PGK 스테이지(400)는 PGK 셀(207)의 가능한 일 실시예이다. PGK 스테이지(400)의 도시된 실시예는 4개의 NFET 트랜지스터(405, 410, 415 및 420) 및 2개의 P-형 FET("PFETs"; 425, 430)를 포함한다. PGK 스테이지(400)는 상보 입력 CIN를 수신하고 상보 출력 CON을 계산한다. PGK 스테이지(400)는 가산기(200)의 LVS 가산기 실시예와 함께 사용될 수 있다.
일 실시예에서, NFETs 및 PFETs의 게이트는 도 2에 도시된 바와 같이 PGK 로직(209)에 결합되어 있다(도 2를 혼란스럽게 하지 않기 위해 단지 하나의 PGK 로직 유닛 만이 도시되어 있다). PGK 로직(209)은 제어 변수 PN, GPN, KN,
Figure 112007011733343-PCT00011
Figure 112007011733343-PCT00012
를 생성한다. 제어 변수 PN 및 GPN은 수학식 3,4 및 5와 관련하여 상기 기술된 것 과 유사하다. 오퍼랜드 AN 및 BN에 기초하여, 특정 PGK 스테이지N(207)가 CIN을 "킬"해야 한다고 PGK 로직(209)이 결정하면, 제어변수 KN은 하이(high)가 된다.
CIN 및 상보
Figure 112007011733343-PCT00013
은 입력(435, 440)에 수신되고, CON
Figure 112007011733343-PCT00014
는 출력(445, 450)에서 각각 출력된다. PGK 로직(209)에 의해 PN이 하이이면, 트랜지스터(405 및 410)는 CIN
Figure 112007011733343-PCT00015
를 전파시킨다.
Figure 112007011733343-PCT00016
가 로우(low)이면 트랜지스터(425)는 CON을 생성시킨다. 마찬가지로, KN이 하이이면 트랜지스터(420)는 CIN을 킬한다.
도 5는 본 발명의 일 실시예에 따른, 합 셀(500)을 도시한 회로도이다. 합 셀(500)은 합 셀(210)의 가능한 일 실시예이다. 합 셀(500)의 도시된 실시예는 NFETs(505, 510, 515 및 520)을 포함한다. 합 셀(500)은 XOR 입력(525)을 수신하여 NFET(505 및 510)의 게이트를 제어하고, XNOR 입력(530)을 수신하여 NFET(515 및 520)의 게이트를 제어한다. 합 셀(500)은 CIN 및 상보
Figure 112007011733343-PCT00017
를 각각 입력 535 및 540으로 수신하며, 출력(545 및 550) 상에서 각각
Figure 112007011733343-PCT00018
및 SUMN을 계산한다.
XOR 입력(525) 및 XNOR 입력(530)은 오퍼랜드 비트 AN 및 BN에 기초하여, 합 로직(212)에 의해 생성된다. 합 셀(500)은 XOR 입력(525) 및 입력(535)에 수신된 CIN을 논리적으로 XOR 연산해서 출력(550)으로 합N을 생성한다. 마찬가지로, 합 셀(500)은 XNOR 입력(530) 및 입력(540)에 수신된
Figure 112007011733343-PCT00019
을 논리적으로 XNOR 연산해서 출력(545)으로
Figure 112007011733343-PCT00020
을 생성한다.
도 6은 본 발명의 일 실시예에 따른, 캐리-합 셀(600)을 도시한 회로도이다. 캐리-합 셀(600)은 캐리-합 셀13(220)의 가능한 일 실시예이다. 캐리-합 셀(600)의 도시된 예는 입력이 상이한 변수를 수신하도록 결합된 것을 제외하고는 합 셀(500)과 유사하다. 캐리-합 셀(500)이 가산기(200)의 비트 위치 13에서 사용되는 것으로 도시되어 있지만, 캐리-합 셀(500)은 각각의 MSB 위치에 동등하게 적용된다. 수학식 6, 7 및 8과 관련하여 상기 기술된 바와 같이, 특정 MSB 위치에 따라, 논리적으로 함께 AND 연산되는 특정 전파 변수 PN은 달라진다.
캐리-합 셀(600)은 LVS 가산기에서 사용되기 위한 캐리-합 셀(220)의 일 실시예이다. 따라서, 캐리-합 셀(600)은 차동 신호를 수신하고 생성한다. 마찬가지로, 본 실시예에서, 제어 블록(250)은 수학식 9,10 및 11에 의해 주어지는 한 쌍의 제어 신호 CTRL1N 및 CTRL2N 를 캐리-합 셀(600)에 제공한다.
Figure 112007011733343-PCT00021
Figure 112007011733343-PCT00022
Figure 112007011733343-PCT00023
여기서
도 7은 본 발명의 일 실시예에 따른, 하나 이상의 가산기(200)를 포함한 시스템(700)의 다이어그램이다. 시스템(700)의 도시된 실시예는 본체(710), 모니터(715), 마우스(720)(또는 다른 지시 기기) 및 키보드(725)를 포함한다. 본체(710)의 도시된 실시예는 플로피 디스크 드라이브(730), 하드 디스크(735), 콤팩트 디스크("CD") 및/또는 디지털 비디오 디스크("DVD") 드라이브(737), 파워 서플라이(보이지 않음), 시스템 메모리(745)를 포함하는 적합한 직접 회로가 배치되어 있는 마더보드(740), 비휘발성("NV") 메모리(750), 및 하나 이상의 프로세서(755)를 더 포함한다.
프로세서(755)는 마더보드(740) 상의 칩세트를 경유하여 시스템 메모리(745), NV 메모리(750), 하드 디스크(735), 플로피 디스크 드라이브(730) 및 CD/DVD 드라이브(737)와 통신하도록 결합되어 있어, 이곳에/이곳으로부터 명령어 또는 데이터를 송신하고 수신한다. 일 실시예에서, NV 메모리(750)는 읽기 전용 메모리("ROM"), 프로그래머블(programmable) ROM, 삭제가능한 프로그래머블 ROM, 전기적으로 삭제 가능한 프로그래머블 ROM 등 중 임의의 하나를 포함한다. 일 실시예에서, 시스템 메모리(745)는 동적 램("DRAM"), 싱크로너스 DRAM("SDRAM"), 더블 데이터 레이트 SDRAM("DDR SDRAM"), 스태틱 RAM("SRAM") 등과 같은 랜덤 액세스 메모리("RAM")를 포함한다. 하드 디스크(735)는 IDE 하드 디스크, EIDE 하드 디스 크, 복수 배열 독립 디스크("RAID"), SCSI 하드 디스크 등 중 하나 이상을 임의로 포할 수 있다.
일 실시예에서, 네트워크 인터페이스 카드("NIC")(표시되지 않음)는 마더보드(740)의 확장 슬롯(표시되지 않음)에 결합되어 있다. NIC는 시스템(700)을 로컬 지역 네트워크, 광역 지역 네트워크, 또는 인터넷과 같은 네트워크(760)에 연결시키기 위한 것이다. 일 실시예에서, 네트워크(760)는 원격 컴퓨터(765)에 더 결합되어 있어서 시스템(700)과 원격 컴퓨터(765)는 통신할 수 있다.
일 실시예에서, 프로세서(755)는 전가산기 기능을 제공하기 위해 하나 이상의 가산기(200)를 포함할 수 있다. 예를 들어, 프로세서(755)는 수학적 함수를 실행하기 위한 산술 논리 연산 장치("ALU")를 포함하는데, ALU는 보다 고차의 계산 기능을 제공하기 위해 캐스케이딩(cascading)된 하나 이상의 가산기(200)를 가진다. 가산기(200)의 실시예는 ALU에 삽입되어 고속 ALU 하부소자를 구현할 수 있다.
상기 기술된 바와 같이, 가산기(200)는 프로세서(755) 및 수많은 다른 집적 회로에 삽입될 수 있다. 가산기(200)의 기술(descriptions)은 프로세서(755) 또는 다른 수많은 어플리케이션 특정 집적 회로("ASICs")에 삽입되기 위해 생성되고 컴파일 될 수 있다. 예를 들어, 가산기(200)를 기술하는 행동 레벨 코드 또는 이것의 일부는, VHDL 또는 Verilog 와 같은 하드웨어 기술 언어를 사용하여 생성될 수 있고 시스템(machine)-접근가능 미디어(예를 들어, CD-ROM, 하드 디스크, 플로피 디스크 등)에 저장될 수 있다. 게다가, 행동 레벨 코드는 레지스터 전송 레 벨("RTL") 코드인 넷리스트(netlist) 또는 심지어 회로 레이아웃으로 컴파일될 수 있고, 시스템(machine)-접근가능 미디어에 저장될 수 있다. 행동 레벨 코드, RTL 코드, 넷리스트 및 회로 레이아웃은 모두 가산기(200)의 실시예를 기술하는 수많은 레벨의 추상(abstraction)을 나타낸다.
요약서에서 기술된 것을 포함하여, 본 발명을 예시된 실시예에 대한 상기 기술은 예시적인 것이며, 발명을 상기 기재된 정확한 형태로 한정시키도록 의도된 것이 아니다. 본 발명의 특정 실시예 및 예시들이 설명을 목적으로 본 명세서에 기재되어 있지만, 당업자라면 발명의 범주 내에서 수많은 등가의 수정을 할 수 있을 것이다.
상기 발명의 상세한 설명에 비추어 본 발명에 이러한 수정을 가할 수 있다. 다음의 청구항에서 사용되는 용어는 명세서 및 청구항에서 개시된 특정 실시예로 발명을 한정시키는 것으로 해석되어서는 안된다. 대신에, 발명의 범위는 다음의 청구항에 의해 결정되며, 이 청구항은 확립된 청구항 해석 원칙에 따라 해석되어야 한다.

Claims (26)

  1. 캐리-인(carry-in) 비트를 선택적으로 전파(propagate)시키고, 생성(generate)시키며, 킬(kill)하는 캐리 체인(carry chain);
    상기 캐리-인 비트가 상기 캐리 체인의 적어도 일부분을 선택적으로 건너뛰도록 하기 위해 상기 캐리 체인에 결합된 캐리-스킵(carry-skip) 네트워크;
    상기 캐리-인 비트를 대응하는 두개의 오퍼랜드 비트와 합산하기 위해 상기 캐리 체인을 따라 결합된 합 셀들 - 상기 합 셀들의 각각은 다중-비트 결과치(resultant)의 하나의 비트를 생성시킴 - ; 및
    상기 캐리-인 비트들 중 상기 캐리 체인 상의 단일 중간 비트 위치로의 캐리-인 비트를 수신하고, 상기 단일 중간 비트 위치보다 상위 비트 위치를 가지는 상기 다중-비트 결과치의 하나의 비트를 생성하도록 결합된 캐리-합 셀
    을 포함하는 다중-비트 가산기.
  2. 제1항에 있어서,
    상기 캐리-합 셀은, 상기 캐리-인 비트들 중 상기 단일 중간 비트 위치로의 상기 캐리-인 비트를 제어 신호와 논리적으로 XOR 연산하여 상기 다중-비트 결과치의 하나의 비트를 생성하도록 결합된 다중-비트 가산기.
  3. 제2항에 있어서,
    상기 제어 신호를 생성하도록 상기 캐리-합 셀에 결합된 제어 블록을 더 포함하고,
    상기 제어 블록은 2개 오퍼랜드의 대응하는 비트 위치를 논리적으로 XOR 연산함으로써, 상기 중간 비트 위치부터 상기 캐리-합 셀의 비트 위치까지의 다중-비트 결과치의 각 비트 위치에 대응하는 전파 값(propagate value)들을 결정하도록 결합되어 있고,
    상기 제어 블록은 상기 제어 신호를 생성하기 위해 상기 전파 값들을 논리적으로 AND 연산시키는 다중-비트 가산기.
  4. 제3항에 있어서,
    상기 다중-비트 결과치의 상기 하나의 비트 및 상기 캐리-합 셀의 비트 위치는 2개의 오퍼랜드 및 상기 다중-비트 결과치의 최상위 비트 위치를 포함하는 다중-비트 가산기.
  5. 제3항에 있어서,
    복수의 캐리-합 셀을 더 포함하고,
    상기 복수의 캐리-합 셀 각각은 상기 캐리-인 비트들 중 상기 단일 중간 비트 위치로의 캐리-인 비트를 수신하고, 상기 중간 비트 위치 및 최상위 비트("MSB") 위치 사이 - 상기 MSB 위치를 포함함 - 의 비트 위치를 가지는 상기 다중-비트 결과치의 부분을 생성하도록 결합된 다중-비트 가산기.
  6. 제5항에 있어서,
    상기 합 셀들 중 일부의 각 합 셀은 상기 복수의 캐리-합 셀들 중 대응하는 비트 위치들을 가진 캐리-합 셀에 결합되고, 상기 중간 비트 위치 및 상기 MSB 위치 사이에서 상기 캐리-인 비트들 중 하나가 생성되면, 상기 중간 비트 위치 및 상기 MSB 위치 사이의 비트 위치를 가지는 상기 다중-비트 결과치의 상기 부분 중 일부를 생성하는 다중-비트 가산기.
  7. 제1항에 있어서,
    상기 캐리 체인은 선택적으로 캐리-인 비트들을 전파하고, 생성하며, 킬(kill)하기 위해 캐스케이딩(cascading)된 전파-생성-킬("PGK") 스테이지를 포함하고,
    상기 캐리-스킵 네트워크는 상기 캐리-인 비트들이 상기 PGK 스테이지들의 그룹들을 선택적으로 건너 뛰도록하기 위해 상기 캐리 체인에 결합된 캐리-스킵 셀들을 포함하는 다중-비트 가산기.
  8. 제7항에 있어서,
    각각의 캐리-스킵 셀은,
    소스 단자, 드레인 단자 및 게이트 단자를 가지며, 상기 소스 및 드레인 단자는 상기 PGK 스테이지들의 상기 그룹들 중 하나에 분로(shunt)하도록 결합되는 트랜지스터 ; 및
    상기 게이트 단자에 결합되며, 상기 PGK 스테이지 그룹들 중 상기 분로된 그룹으로의 캐리-인 비트가 언제 PGK 스테이지 그룹들 중 상기 분로된 그룹을 건너뛰어 PGK 스테이지들의 다음 그룹으로의 다음 캐리-인 비트가 될 수 있는지를 결정하는 그룹 전파("GP") 로직
    을 포함하는 다중-비트 가산기.
  9. 제7항에 있어서,
    16개의 PGK 스테이지, 16개의 합 셀 및 4개의 캐리-합 셀을 포함하고, 상기 다중-비트 가산기는 16-비트 전가산기(full adder)를 포함하는 다중-비트 가산기.
  10. 제1항에 있어서,
    상기 다중-비트 가산기는 저 전압 스윙 가산기를 포함하고,
    상기 합 셀은 상기 다중-비트 결과치를 전압 차동값들로 생성하도록 결합되며,
    상기 합 셀로부터의 전압 차동값 출력을 감지하도록 결합된 감지 증폭기를 더 포함하는 다중-비트 가산기.
  11. 캐리 체인을 따라 캐리-인 비트들을 선택적으로 전파, 생성, 또는 킬하는 단계;
    동등한 비트 위치의 제 1 오퍼랜드, 제 2 오퍼랜드 및 상기 캐리-인 비트를 합하여 다중-비트 결과치의 제 1 부분을 얻는 단계 - 상기 제 1 부분은 중간 비트 위치 및 중간 비트 위치보다 하위의 비트 위치를 포함함 - ;
    상기 제 1 및 제 2 오퍼랜드에 기초한 제어 신호를 생성하는 단계; 및
    상기 중간 비트 위치의 상기 캐리-인 비트와 상기 제어 신호를 논리적으로 XOR 연산시켜 상기 다중-비트 결과치의 제 2 부분을 결정하는 단계 - 제 2 부분은 중간 비트 위치보다 상위 비트 위치를 포함함 -
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 캐리 체인의 부분들이 상기 캐리-인 비트들 중 적어도 일부를 전파하는 것으로 결정되면, 상기 캐리-인 비트의 상기 적어도 일부가 상기 캐리 체인의 상기 부분들을 선택적으로 건너뛰는 단계를 더 포함하는 방법.
  13. 제12항에 있어서,
    상기 제어 신호를 생성하는 단계는,
    중간 비트 위치 및 상위 비트 위치의 상기 제 1 및 제 2 오퍼랜드를 논리적으로 XOR 연산시켜 각 상위 비트 위치 및 중간 비트 위치에 대한 전파 값을 생성하는 단계; 및
    상기 중간 비트 위치에서부터 각각의 상위 비트 위치까지의 상기 전파 값들 을 논리적으로 AND 연산시키는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 중간 비트 위치가 캐리-아웃을 생성하는 경우, 다중-비트 결과치의 상기 제 2 부분을 얻기 위해 동등한 비트 위치의 상기 제 1 오퍼랜드, 상기 제 2 오퍼랜드 및 캐리-인 비트를 합산하는 단계를 더 포함하는 방법.
  15. 제11항에 있어서,
    상기 다중-비트 결과치의 디지털 값을 결정하기 위해 상기 다중-비트 위치에 대한 차동값 전압을 감지하는 단계를 더 포함하는 방법.
  16. 집적 회로의 기술(description)을 포함하는 머신-접근가능(machine-accessible) 미디어로서,
    상기 집적 회로는,
    캐리-인 비트들을 선택적으로 전파시키고, 생성하며, 킬하는 캐리 체인;
    상기 캐리-인 비트들이 상기 캐리 체인의 부분들을 선택적으로 건너뛰도록 하기 위해 상기 캐리 체인에 결합된 캐리-스킵 네트워크;
    동등한 비트 위치의 제 1 및 제 2 오퍼랜드와 상기 캐리 비트를 합산하여 다중-비트 결과치의 제 1 부분을 생성하도록 상기 캐리 체인을 따라 결합된 제 1 합 셀들 - 상기 제 1 부분은 중간 비트 위치 및 상기 중간 비트 위치보다 하위 비트 위치를 포함함 - ; 및
    중간 비트 위치의 상기 캐리-인 비트를 제어 신호와 논리적으로 XOR 연산시켜 상기 다중-비트 결과치의 제 2 부분을 생성하도록, 상기 캐리 체인의 중간 비트 위치에 각각이 결합된 복수의 캐리-합 셀 - 상기 제 2 부분은 중간 비트 위치보다 상위 비트 위치를 포함함 -
    을 포함하는 머신-접근가능 미디어.
  17. 제16항에 있어서,
    상기 집적 회로는, 상기 제어 신호를 생성하기 위해 상기 캐리-합 셀들 중의 하나에 각각 결합된 제어 블록들을 더 포함하고,
    상기 제어블록은 각각
    전파 값을 생성하기 위해 상기 중간 비트 위치 및 상기 상위 비트 위치 중 적어도 일부의 제 1 및 제 2 오퍼랜드를 논리적으로 XOR 연산하도록 결합된 XOR 로직; 및
    상기 중간 비트 위치로부터 상기 제어 블록의 비트 위치까지의 전파 값을 논리적으로 AND 연산하기 위해 결합된 AND 로직
    을 포함하는 머신-접근가능 미디어.
  18. 제17항에 있어서,
    상기 중간 비트 위치가 캐리-아웃을 생성하면, 동등한 비트 위치의 상기 제 1 및 제 2 오퍼랜드 및 캐리 비트를 합산하여 다중-비트 결과치의 제 2 부분을 생성하도록 하기 위해 상기 캐리 체인을 따라 결합된 제 2 합 셀을 더 포함하는 머신-접근가능 미디어.
  19. 제16항에 있어서,
    상기 제 1 및 제 2 합 셀은 상기 다중-비트 결과치를 전압 차동값으로 생성하도록 결합되고,
    상기 각각의 제 1 및 제 2 합 셀로부터 전압 차동값 출력을 감지하도록 결합된 감지 증폭기를 더 포함하는 머신-접근가능 미디어.
  20. 싱크로너스 동적 랜덤 액서스 메모리("SDRAM"); 및
    상기 SDRAM에 접근할 수 있도록 결합되며 다중-비트 가산기를 포함하는 프로세서를 포함하며,
    상기 다중비트 가산기는,
    캐리-인 비트를 전파하고, 생성하고, 킬하는 동작들 중 적어도 하나의 동작을 행하는 캐리 체인;
    상기 캐리-인 비트들이 상기 캐리 체인의 적어도 한 부분을 선택적으로 건너뛰도록 상기 캐리 체인에 결합된 캐리-스킵 네트워크;
    상기 캐리-인 비트와 대응하는 비트의 두 오퍼랜드를 합산하도록 상기 캐리 체인을 따라 결합된 합 셀들 - 각각의 상기 합 셀은 다중-비트 결과치의 하나의 비트를 생성시킴 - ; 및
    상기 캐리 체인의 상기 캐리-인 비트들 중 단일 중간 비트 위치로의 캐리-인 비트를 수신하고 상기 단일 중간 비트 위치보다 상위 비트 위치를 가지는 상기 다중-비트 결과치의 하나의 비트를 생성하도록 결합된 캐리-합 셀
    을 포함하는 시스템.
  21. 제20항에 있어서,
    상기 캐리-합 셀은 상기 단일 중간 비트 위치로의 캐리-인 비트들 중 하나를 제어 신호와 논리적으로 XOR 연산하여 다중-비트 결과치의 하나의 비트를 생성하도록 결합된 시스템.
  22. 제21항에 있어서,
    상기 다중-비트 가산기는 상기 제어 신호를 생성하기 위해 상기 캐리-합 셀에 결합된 제어 블록을 더 포함하고,
    상기 제어 블록은 대응하는 비트 위치의 상기 2개 오퍼랜드를 논리적으로 XOR 연산함으로써, 상기 중간 비트 위치부터 상기 캐리-합 셀의 비트 위치까지의 다중-비트 결과치의 각 비트 위치에 대응하는 전파 값을 결정하도록 결합되어 있고,
    상기 제어 블록은 상기 제어 신호를 생성하기 위해 상기 전파 값들을 논리적 으로 AND 연산시키는 시스템.
  23. 제22항에 있어서,
    상기 다중-비트 가산기는 복수의 캐리-합 셀을 더 포함하고,
    상기 복수의 캐리-합 셀 각각은 상기 캐리-인 비트들 중 상기 단일 중간 비트 위치로의 캐리-인 비트를 수신하고, 상기 중간 비트 위치 및 최상위 비트("MSB") 위치 사이 - 상기 MSB 위치를 포함함 - 의 비트 위치를 가지는 상기 다중-비트 결과치의 부분을 생성하도록 결합된 시스템.
  24. 제23항에 있어서,
    상기 합 셀들 중 일부의 각 합 셀은 상기 복수의 캐리-합 셀들 중 대응하는 비트 위치들을 가진 캐리-합 셀에 결합되고, 상기 중간 비트 위치 및 상기 MSB 위치 사이에서 상기 캐리-인 비트들 중 하나가 생성되면, 상기 중간 비트 위치 및 상기 MSB 위치 사이의 비트 위치를 가지는 상기 다중-비트 결과치의 상기 부분 중 일부를 생성하는 시스템.
  25. 제24항에 있어서,
    상기 다중-비트 가산기는 MSB 캐리-아웃 및 최하위 비트("LSB") 캐리-인을 가지는 16-비트 저 전압 스윙("LVS") 가산기를 포함하는 시스템.
  26. 제25항에 있어서,
    캐스케이딩된 적어도 2개의 16-비트 LVS 가산기들을 더 포함하고, 상기 16-비트 LVS 가산기들 중 제1 가산기의 MSB 캐리-아웃은 상기 16-비트 LVS 가산기들 중 제2 가산기의 캐리-인에 결합되어 있는 시스템.
KR1020077003055A 2004-08-04 2005-07-15 합 셀과 병합된 캐리-스킵 셀을 가지는 캐리-스킵 가산기 KR100874285B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/911,824 2004-08-04
US10/911,824 US7516173B2 (en) 2004-08-04 2004-08-04 Carry-skip adder having merged carry-skip cells with sum cells
PCT/US2005/024889 WO2006019838A1 (en) 2004-08-04 2005-07-15 Carry-skip adder having merged carry-skip cells with sum cells

Publications (2)

Publication Number Publication Date
KR20070030320A true KR20070030320A (ko) 2007-03-15
KR100874285B1 KR100874285B1 (ko) 2008-12-18

Family

ID=35058556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077003055A KR100874285B1 (ko) 2004-08-04 2005-07-15 합 셀과 병합된 캐리-스킵 셀을 가지는 캐리-스킵 가산기

Country Status (8)

Country Link
US (1) US7516173B2 (ko)
JP (1) JP4493694B2 (ko)
KR (1) KR100874285B1 (ko)
CN (1) CN101014932B (ko)
DE (1) DE112005001906B4 (ko)
GB (1) GB2430519B (ko)
TW (1) TWI294095B (ko)
WO (1) WO2006019838A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090166757A1 (en) * 2007-12-27 2009-07-02 International Business Machines Corporation Stress engineering for sram stability
CN103257842B (zh) * 2012-02-17 2016-05-04 京微雅格(北京)科技有限公司 一种加法进位信息输出的方法和一种加法器
KR102072543B1 (ko) 2013-01-28 2020-02-03 삼성전자 주식회사 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법
CN105589981B (zh) * 2014-10-22 2019-04-09 京微雅格(北京)科技有限公司 基于fpga的优化布局结构的加法器的工艺映射方法
US9590633B2 (en) * 2014-12-11 2017-03-07 Capital Microelectronics Co., Ltd. Carry-skip one-bit full adder and FPGA device
US10223071B2 (en) * 2017-04-14 2019-03-05 Qualcomm Incorporated Energy-efficient variable power adder and methods of use thereof
KR102191305B1 (ko) * 2019-07-09 2020-12-15 국민대학교산학협력단 경량 엔트로피 관리 장치 및 방법
CN113805840B (zh) * 2021-11-18 2022-05-03 南京风兴科技有限公司 快速累加器
TWI785953B (zh) * 2021-12-30 2022-12-01 新唐科技股份有限公司 預看進位加法器、安全加法器以及執行預看進位加法的方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4556948A (en) 1982-12-15 1985-12-03 International Business Machines Corporation Multiplier speed improvement by skipping carry save adders
US4737926A (en) * 1986-01-21 1988-04-12 Intel Corporation Optimally partitioned regenerative carry lookahead adder
JPH02245926A (ja) 1989-03-20 1990-10-01 Fujitsu Ltd 論理回路
JPH0561643A (ja) * 1991-09-03 1993-03-12 Mitsubishi Electric Corp キヤリールツクアヘツド加算器
JPH0651950A (ja) 1992-07-30 1994-02-25 Mitsubishi Electric Corp 加算回路
US5337269A (en) * 1993-03-05 1994-08-09 Cyrix Corporation Carry skip adder with independent carry-in and carry skip paths
US5581497A (en) * 1994-10-17 1996-12-03 Intel Corporation Carry skip adder with enhanced grouping scheme
US5555517A (en) * 1995-01-04 1996-09-10 Intel Corporation Apparatus and method for efficient carry skip incrementation
JPH09231055A (ja) * 1996-02-27 1997-09-05 Denso Corp 論理演算回路及びキャリールックアヘッド加算器
JPH09330208A (ja) * 1996-06-11 1997-12-22 Hitachi Ltd 加算回路
JPH11143685A (ja) * 1997-06-24 1999-05-28 Internatl Business Mach Corp <Ibm> キャリー・スキップ・アダー
US6567836B1 (en) * 1999-12-23 2003-05-20 Intel Corporation Multi-level carry-skip adder
JP2001195234A (ja) * 2000-01-12 2001-07-19 Fuji Xerox Co Ltd 情報処理装置
CN1159647C (zh) * 2000-04-05 2004-07-28 北京多思科技工业园股份有限公司 加法器及其实现方法
US6584484B1 (en) * 2000-05-11 2003-06-24 Agere Systems Inc. Incorporation of split-adder logic within a carry-skip adder without additional propagation delay
US7016932B2 (en) * 2000-10-26 2006-03-21 Idaho State University Adders and adder bit blocks having an internal propagation characteristic independent of a carry input to the bit block and methods for using the same
CN1164988C (zh) * 2002-01-17 2004-09-01 北京大学 32位加法器电路结构

Also Published As

Publication number Publication date
DE112005001906T5 (de) 2007-11-08
WO2006019838A1 (en) 2006-02-23
DE112005001906B4 (de) 2012-07-12
GB0700608D0 (en) 2007-02-21
GB2430519B (en) 2008-02-20
TW200627260A (en) 2006-08-01
JP4493694B2 (ja) 2010-06-30
KR100874285B1 (ko) 2008-12-18
CN101014932A (zh) 2007-08-08
JP2008508637A (ja) 2008-03-21
GB2430519A (en) 2007-03-28
US20060031280A1 (en) 2006-02-09
US7516173B2 (en) 2009-04-07
TWI294095B (en) 2008-03-01
CN101014932B (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
KR100874285B1 (ko) 합 셀과 병합된 캐리-스킵 셀을 가지는 캐리-스킵 가산기
Fayed et al. A low power 10-transistor full adder cell for embedded architectures
US6301600B1 (en) Method and apparatus for dynamic partitionable saturating adder/subtractor
US7617269B2 (en) Logic entity with two outputs for efficient adder and other macro implementations
Kumar et al. Performance analysis of different bit carry look ahead adder using vhdl environment
Jones Jr et al. Parallel counter implementation
US7170317B2 (en) Sum bit generation circuit
Crawley et al. 8× 8 bit pipelined Dadda multiplier in CMOS
US4890127A (en) Signed digit adder circuit
Manu et al. Design and implementation of sixteen-bit low power and area efficient dadda multiplier
Datla et al. Quaternary Addition Circuits Based on SUSLOC Voltage-Mode Cells and Modeling with SystemVerilog©
US6782406B2 (en) Fast CMOS adder with null-carry look-ahead
Gundi Implementation of 32 bit Brent Kung Adder using complementary pass transistor logic
Priyadarshini et al. Design of area and speed efficient square root carry select adder using fast adders
Naganathan A comparative analysis of parallel prefix adders in 32nm and 45nm static CMOS technology
US6868489B2 (en) Carry generation in address calculation
US6144228A (en) Generalized push-pull cascode logic technique
US6430585B1 (en) Noise tolerant conductance-based logic gate and methods of operation and manufacturing thereof
Larsson-Edefors et al. Timing-and power-driven ALU design training using spreadsheet-based arithmetic exploration
Vranesic Design and layout of a computational field programmable architecture
Perri et al. Speed-efficient wide adders for Virtex FPGAs
Thakare et al. Design of high potency carry choose adder victimization SQRT technique
Kumar et al. Design of Low Power Multiplier with Improved Column Bypassing Scheme
Meruguboina Efficient Design of Carry Select Adder Using Domino Manchester Carry Chain
Philip et al. Efficient VLSI Architecture of 4x4 Column Bypassing Multiplier Using 2: 1 Multiplexer Based Adder

Legal Events

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

Payment date: 20111128

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee