KR950006581B1 - 영역 유효 평면도를 갖는 올림수 저장 가산기로 구성되는 2진 트리 승산기 - Google Patents

영역 유효 평면도를 갖는 올림수 저장 가산기로 구성되는 2진 트리 승산기 Download PDF

Info

Publication number
KR950006581B1
KR950006581B1 KR1019910020813A KR910020813A KR950006581B1 KR 950006581 B1 KR950006581 B1 KR 950006581B1 KR 1019910020813 A KR1019910020813 A KR 1019910020813A KR 910020813 A KR910020813 A KR 910020813A KR 950006581 B1 KR950006581 B1 KR 950006581B1
Authority
KR
South Korea
Prior art keywords
adder
level
cell
input
bits
Prior art date
Application number
KR1019910020813A
Other languages
English (en)
Inventor
비. 지너 그르제고르즈
Original Assignee
선 마이크로시스템즈 인코오퍼레이티드
마이클 에이치. 모리스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 선 마이크로시스템즈 인코오퍼레이티드, 마이클 에이치. 모리스 filed Critical 선 마이크로시스템즈 인코오퍼레이티드
Application granted granted Critical
Publication of KR950006581B1 publication Critical patent/KR950006581B1/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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters

Landscapes

  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Dowels (AREA)
  • Logic Circuits (AREA)

Abstract

내용 없음.

Description

영역 유효 평면도를 갖는 올림수 저장 가산기로 구성되는 2진 트리 승산기
제1도는 두개의 2진수를 승산하는 종래의 'paper and pencil' 방법의 예시도.
제2도는 종래 기술에 의해 두개의 2진수 승산에 사용되는 가산기 회로의 단일 셀의 예시도.
제3도는 두개의 2진수를 승산하기 위한 종래 배열의 예시도.
제4a,b도는 본 발명에 사용될때 연결된 가산기 회로의 단일 셀의 예시도.
제5도는 본 발명에 해당하는 승산기 배열의 예시도.
[본 발명의 영역]
본 발명은 승산기 회로에 관한 것이며, 특히 영역 유효 평면도(area efficient floor plan)를 갖는 올림수 저장 가산기(carry save adder)를 이용하는 승산기를 구성하기 위한 방법 및 장치에 관한 것이다.
[종래 기술]
고속 승산기 회로를 컴퓨터에 사용하기 위한 여러가지 계획이 제안되어 왔다. 일반적으로 이러한 회로는 정수 승산에 이용되거나 혹은 부동 소숫점 승산(floating point multiplication)에서 가수(mantissa)를 생성시키는데 이용될 수도 있다. 가장 기본적인 경우에 있어, 두개의 n비트 2진 오퍼랜드의 곱은 선행하는 부분곱에서 왼쪽으로 1비트씩 각각이 오프셋된 부분곱의 수를 결정해서 다시 이들 부분합을 더해서 결과에 도달함으로써 실현된다.
이런 기본적인 경우에 부분곱을 속히 합하기 위해, 비트의 개별 컬럼의 각각은 다른 모든 컬럼과 개별적으로 병렬해서 합하여져서 하나의 올림수인 결과를 산출한다. 그러나 2진 가산기 스테이지는 일반적으로 단지 두개의 입력만을 동시에 처리할 수 있으므로 각각의 개별 컬럼을 더하는데 시간을 요한다.
그 시간을 줄이기 위해, 개별 부분곱이 창으로 배합되고 그 배합이 올림수 저장 가산기에 의해 병렬적으로 합하여지는 트리 배열(tree arrangement)이 제안되고 있다. 이러한 가산기는 선행 단계로부터 올림수를 입력으로 이용하므로 비록 계산이 병렬적으로 수행되더라도 컬럼내 부분곱의 각각 두개 비트의 가산은 선행단계에서 올림수가 전파되도록 충분한 시간을 요한다. 부분곱의 합계 결과는 다시 쌍으로 배합되며 그 배합은 같은 방식으로 부가 올림수 저장 가산기에 의해 병렬적으로 합하여 진다.
이 프로세스는 두개의 최종 부분곱이 합하여져서 곱을 산출할때까지 계속된다. 여분 2진 가산기 트리(IEEE Journal of Solid-State Circuits, Vol. SC-22, No.1, Feb. 1987, Harata 등)를 이용하는 고속승산기는 이런 회로를 포함하고 있다.
상기 언급된 논문에 표현된 회로들은 비록 연산을 수행하는데 있어서는 효율적이라도 실리콘을 이용할 경우에는 비효율적이다.
이것은 가수 합계의 상이한 레벨에서 가산기들이 서로 다른 길이 즉, 더 높은 레벨에서 가산기들의 길이가 더 길기 때문이다.
가산기들의 길이가 변할때, 승산기 회로에 의해 점유된 실리콘은 회로 소자의 영역에 걸쳐 급격히 변한다. 따라서 실리콘의 상당 영역이 낭비된다.
극히 정규적인 실행이 가능하도록 산출하기 위한 시도로, 각 스테이지로부터 결과 쌍과 올림수 쌍을 산출하기 위해 선행 스테이지로부터 4개의 분리 입력과 하나의 올림수를 합하여 선행 스테이지로부터 또다른 포워드 올림수를 자리 올림하도록 배열된 두개의 전 가산기 회로를 포함하는 개별 가산기를 이용하는 것이 엘서비어 과학 출판(Elsevier Science Publishers B.V.)에서 VLSI'83에 발표된 "최적 시간 VLSI 정수 승산기의 순환 실행(Rucursive Implementation of Optimal Time VLSI Integer Multipliers"란 제목의 논문에서 부일레민(Vuillemin)과 러그(Luk)에 의해 제안되었다. 4개의 개별 부분곱이 이들 4개의 입력 가산기를 이용해서 동시에 합하여 질 수 있으며, 가수 합계의 모든 레벨에서 개별 가산기들의 수는 2n 비트의 동일 길이를 갖도록 만들어질 수 있다. 그러나 이것은 회로 소자에 대한 정규 영역을 산출하지만, 이용된 상당 부분과 영역이 연산에 있어 필요한 것보다 훨씬 커서 실리콘 공간의 커다란 낭비를 낳아 회로 소자를 제공하는데 요하는 칩을 크게 한다.
[본 발명의 요약]
그러므로 본 발명의 목적은 향상된 고속 승산기를 컴퓨터에 이용되도록 제공하는 것이다.
본 발명의 또다른 특별한 목적은 실리콘의 더욱 효율적인 사용을 가능케 하며 모양에 있어 규칙적인 향상된 고속 승산기 회로를 제공하는 것이다.
본 발명의 이러한 목적 및 또다른 목적은, 각각이 오퍼랜드내의 비트수와 동일한 복수개의 가산기 셀(Cell)로 이루어진 복수개의 가산기 레벨과 이때 가산기 레벨의 각각의 스테이지는 6개의 입력 비트를 받아서 유의 레벨에서 두개의 결과 비트와 다음 상위 유의 레벨에서 두개의 올림수 비트를 산출할 수 있는 한쌍의 전 가산기로 구성되며 각각의 유의 레벨에서 부분곱을 표시하는 비트를 셀의 입력 단자에 상호 연결시키는 수단과 다음 상위 유의 레벨에서 셀의 올림수 출력 단자를 그 셀의 입력 단자와 상호 연결시키는 수단과 오직 3개의 입력 신호만이 제공되는 다음 상위 스테이지의 셀에서 셀의 한개의 올림수 출력 단자를 한번도 사용되지 않은 입력 단자에 상호 연결시키는 수단 및 다음의 가산기 레벨에서의 동일 유의 레벨에서 각각의 셀의 결과 단자를 그 셀의 입력 단자와 상호 연결시키는 수단 및 다음의 수단으로 구성되는 2진 정수 승산기로 실현된다.
본 발명의 목적과 특징은 몇몇의 검토를 통해서 이와 비슷한 소자가 비슷한 명칭으로 언급되는 도면을 함께 뒤따르는 자세한 설명의 언급으로 좀더 잘 이해될 것이다.
다음의 상세한 설명의 몇몇 부분은 컴퓨터 메모리내 데이타 비트상에서 연산(operation)의 견지에서 표현된다. 이러한 설명 및 표현은 데이타 처리 기술에서 숙련된 사람들에 의해 그들 일의 핵심을 그 방면에 숙련된 다른 사람들에서 가장 효율적으로 전달하는데 사용되는 수단이다.
연산이란 물리적인 양의 물리적 조작을 요구하는 것이다.
항상 그런 것은 아니지만 일반적으로 이러한 양은 저장, 전달, 결합, 비교, 그외 조작등이 가능한 전기적 혹은 자기적 신호의 형태를 갖고 있다.
이러한 신호를 비트, 값, 요소, 심벌, 문자, 항, 수치 등으로 언급하는 것은 대개 상용되는 이유로,때때로 편리함을 보여주고 있다.
그러나, 상기 항목들은 적절한 물리적 양과 어울려져서 이러한 양에 적용되는 단지 편리한 레벨이란 점을 명심해야 한다.
더욱이, 수행된 조작들은 조작자에 의해 수행된 지능 연산과 일반적으로 결합된 항목들 즉, 가산이나 비교로 종종 언급된다.
본 발명의 부분은 이루는 여기에 표현된 어떠한 연산에 있어서도 조작자의 능력같은 것은 대부분의 경우에 있어 필요하거나 바랄만하지 않다.(즉, 연산이 기계 연산이다.) 본 발명의 연산을 수행하기 위한 유용한 기계는 일반 용도의 디지탈 컴퓨터와 그와 비슷한 장치를 포함한다.
모든 경우에 있어, 컴퓨터를 연산하는데 있어 연산 방법과 그 자체의 계산 방법의 차이점은 명심해야 한다. 본 발명은 전기적 혹은 그외 물리적(즉, 역학적, 화학적) 신호를 다른 원하는 물리적 신호로 발생하도록 하는 처리에서 컴퓨터를 조작하기 위한 장치에 관한 것이다.
제1도는 n-비트 2진수를 승산하는 종래의 "paper and pencil" 방법을 보여주고 있다. 피승수는 일련의 부분곱을 발생하기 위해 유의를 증가시키는데 있어 승산기의 각각의 비트에 의해 곱하여 진다.
각각의 부분곱(도면에서 P1~P8로 표기)은 선행 부분곱에서부터 왼쪽으로 1개 비트 위치(position)씩 차례로 시프트되어 특정한 부분곱을 발생하는 승산기의 비트의 유의를 표시한다. 이때 비트의 각각의 컬럼은 더해져서 그 컬럼(도시되지 않음)에 대해 결과와 올림수를 제공한다.
이것을 손수 해보면, 각 올림수는 다음의 컬럼에 즉시 더해져서 최종 결과(R)에 도달할때까지 또다른 결과와 올림수를 산출한다.
이 방법을 사용해서 컬럼의 가산을 수행하는 시간은 수반되는 컬럼의 수와는 적어도 같다. 그러나, 디지탈 컴퓨터 회로는 일반적으로 오직 두개의 상태만 가질 수 있다. 결과적으로, 큰 컬럼을 부가하는 것은 다수의 개별 가산과 상당량의 시간을 요구한다.
더구나, 컬럼의 비트를 가산하는데 있어서 지연(delay)에 부가하여 이러한 "paper and pencil" 방법을 사용하는 컬럼의 가산의 결과는 그 컬럼과 똑같은 유의의 결과와 한개 혹은 그 이상의 올림수를 발생한다.
그래서 컬럼의 가산은 결과를 제공하기 전에 다음의 가장 낮은 순서(order)의 컬럼으로부터 올림수의 결과에 대해 대기를 요구한다.
이 연산의 속도를 향상시키기 위해 컴퓨터는 모든 컬럼을 병렬적으로 더해서 각각의 컬럼에 대해 결과와 올림수를 산출할 수 있다.
올림수는 모든 올림수가 전파되어 더해져서 최종 결과를 산출할때까지 최종 결과에 더해져서 가장 낮은 순서에서 가장 높은 순서까지 앞으로 전파된다.
컬럼이 병렬적으로 합하여지기 때문에, 개별 컬럼을 더하는 시간과 올림수를 포함하도록 요구되는 가산의 수가 연산에 요구되는 시간을 결정한다.
개별 컬럼을 가산하는데 요하는 시간 및 더 나아가 연산에 요하는 전반적인 시간을 줄이기 위해, 여려 분석자들은, 부분곱(올림수 저장 가산기 사용)의 쌍(S1~S4)과, 쌍으로 된 그 합계의 결과(S5~S6) 및 올림수 전파 가산기를 이용 최종 결과(S7)에 이를때까지 쌍으로 된 그들 합계의 결과를 합한 가산기의 트리 사용을 제안했다. 개념상으로, 이것은 컬럼내 이웃하는 각각의 두개의 비트를 그 컬럼내 다른 비트 쌍과 병렬해서 더하는 하나의 꼭 필요한 연산이다.
그 프로세스의 과정은 제1도의 오른쪽에 예시되어 있다.
이 연산을 더욱 빨리 수행하기 위해, 부일레민은 기본 승산기 셀로서(4 : 2) 가산기 셀의 사용을 제안했다. 제2도는 그런 셀(10)의 블록 다이어그램이다.
셀(10)은 한 쌍의 전 가산기(12와 13)을 포함한다.
가산기(12)에는 3개의 입력(ai,bi 및 ci)이 공급된다.
가산기(12)는 결과(Si)와 올림수(Pi)를 산출한다.
가산기(13)는 또다른 입력(di), 가산기(12)에 대한 3개의 입력 결과(Si) 및 입력(ei)를 받는다. 입력(ai,bi,ci 및 di)은 부분곱 비트이다.
입력(ei)은 이전 스테이지 가산기로부터의 올림수이다.
가산기(13)는 결과(gi)와 올림수 출력(gi)을 산출한다.
올림수 출력(pi와 gi)은 다음 최고 스테이지에 입력으로 공급될 수 있다.
그 셀은 두번째 출력(hi)으로 그 트래내의 합계의 다음 레벨로 단순히 전달되는 선행 스테이지로부터 올림수 입력(fi)을 받는다.
실질적으로, 기본 승산기 셀은 그 셀의 레벨에서 6개의 입력을 받아서 그 셀의 비트 레벨에서 두개의 출력(gi와 hi)과 다음 최고 비트 레벨에서 두개의 출력(pi와 gi)을 산출한다.
이런 기본 승산기 셀은 네개의 부분곱을 동시에 더하는데 사용될 수도 있다. 기본 승산기 셀은 사용하는 첫번째 레벨 가산기는 두번째 레벨 가산기는 두번째 레벨 가산기 회로의 기본 승산기에 의해 동시에 또한 네개가 더해진 결과를 산출한다. 궁극적으로, 결과의 쌍은 올림수 전파 가산기에 의해 합하여져서 원하는 승산의 결과를 산출한다.
제3도는 상기 표현된 배열에서 기본 승산기 셀을 이용해서 부일레민에 의해 제안된 여러 종류의 승산기의 레벨을 보여주는 예시도이다.
예시된 승산기는 28비트 2진수를 승산하는데 사용된다.
28비트 2진수들은 곱해지기 때문에 8개의 부분곱이 합하여져야 한다.
이것은 두개의 첫번째 레벨 가산기와 한개의 두번째 레벨 가산기를 필요로 한다. 그 다이어그램에서, 별표(*)는 첫번째 레벨 부분곱의 개별 비트를 나타내기 위해 사용되었고, 델타(Δ)는 각 첫번째 레벨 가산기가 상위 열(upper row)에서 결과(gi)가 발생되었는지, 하위 열(lower row)에서 올림수(hi)가 이전 스테이지로부터 전달되었는지 표시하기 위해 사용되었다.
첫번째 레벨의 가산기에서 델타로 표시되는 결과와 올림수는 두번째 레벨 가산기에서(델타로 다시 표시되며) 합하여지며, 두번째 레벨로부터 그 결과와 올림수는 플러스(+)로 표시된다.
최종적으로, 두번째 레벨 가산기로부터 그 결과 및 올림수는 올림수 전파 가산기에서 합하여진다. 더욱이, 사용되는 공간을 규칙적으로 배열하기 위해 부일레민은 모든 레벨에서 개별 가산기는 동일 길이 2n(여기서 n은 승산기나 피승수에서 비트의 수)이어야 한다고 제안했다.
이러한 가산기는 상당히 빠른 속도로 작동하지만, 제3도에서 볼 수 있듯이 실리콘을 점유하고 있는 공간을 최적으로 사용하지 못하고 있다.
다시 말해, 그 실리콘 영역은 상당히 낭비된 공간을 포함한다.
이러한 대부분의 공간 낭비는 부분곱 쌍의 각각의 가산 결과가 연장됨으로써 나타난다. 제3도에 볼 수 있듯이, 8개의 비트 오퍼랜드에 대해, 최종 합계는 16개 비트 위치가 공급되어야 함을 요구한다.
결과적으로, 가산기 레벨이 최종 결과에 이를때까지, 가산기 스테이지는 제3도에서 왼쪽으로 확장을 계속한다. 가산기에 의해 점유된 실리콘의 영역에 있어서도 마찬가지다. 하위 레벨 부분곱을 합하는 첫번째 레벨 가산기가 단지 9개 비트 위치를 필요로 하는 반면 최종 합계를 제공하는 가산기는 16개 비트를 필요로 한다.
제3도 또한 종래의 부일레민 배열 기술에서 셀(10)에 의해 만들어진 행렬내 다수의 위치가 완전히 사용되지 못하고 있음을 보여준다.
이것은 종래 배열 기술에 의해 산출된 실리콘 낭비의 적어도 한 부분이다.
예를들어, 이전 부분곱의 결과 및 올림수의 두번째 레벨 덧셈이 행해졌을때, 두개의 하위 가수의 최고유의 비트가 두개의 상위 가수에 대해서 네게 비트 위치씩 옮겨감을 볼 수 있다. 이런 네개 가수가 정열되면, 다수의 가산기 스테이지가 그 스테이지의 가수들로부터 네개 이하 입력을 가짐을 볼 수 있다. 예를들어, 비트 위치 1과 3은 단지 한개의 입력을, 비트 위치 2, 4 및 12 이상은 단지 두개의 입력을, 비트 위치 5와 7은 단지 세개의 입력을 갖는다.
본 발명은 필요한 기본 승산기 셀의 수를 줄임으로써 승산기의 연산 속도를 줄이는 것 없이 사용되는 가산기의 전반적인 크기를 줄이기 위해 각각 기본 승산기 셀의 가산기 스테이지에서 완전한 이용이 입력으로 만들어진다는 사실을 이용하고 있다. 부일레민에 의해 제안된 승산기에서와 마찬가지로, 본 발명은 기본 승산기 셀을 사용해서 동시에 네개의 부분곱을 합한다.
제3도에서 볼 수 있듯이, 레벨-1에서, 첫번째 가산기에 있어 비트-1에는 단지 한개 입력, 비트-2에선 두개의 입력만이 있다. 결과적으로, 이러한 입력은 기본 승산기 셀을 통해 보내어져야 할 필요는 없다.
즉, 최종 올림수 전파 가산기에서 비트-1과 비트-2에 대해 이들 입력은 입력 단자에 직접적으로 연결될 수 있다.
첫번째 레벨에서 두번째 가산기의 비트-5와 6에 있어서도 마찬가지다.
이러한 입력은 기본 승산기 셀을 통해 보내어질 필요가 없다.
즉, 이들 입력은 두번째 레벨 가산기에서 비트-5와 비트-6에 대한 입력 단자에 직접 연결될 수 있다. 같은 식으로, 첫번째 레벨에서 첫번째 가산기의 비트 위치-11과 두번째 가산기의 비트 위치-15는 한개의 입력을 가지며 한개의 올림수를 받는다. 즉 비트 위치-11은 다음 레벨에서 비트-11에 대해 입력 단자에 직접 연결될 수 있으며 비트 위치-15는 최종 레벨 올림수 전파 가산기에서 비트-15에 대해 입력 단자에 직접적으로 연결될 수 있다.
이것은 첫번째 레벨의 각 가산기에서 기본 승산기 셀의 수를 세개까지 줄임으로써 단지 8개만이 필요하다.
더욱이, 두번째 레벨 가산기에서 비트 위치-3과 4에는 기껏해야 두개의 입력만 있다. 이것은 레벨-1의 첫번째 가산기로부터 결과들이 이들 비트에 제공되기 때문이다. 그래서 본 발명에서는 두번째 레벨 가산기에서 이들 위치들에 대한 기본 승산기 셀은 줄어들 수 있으며, 이들 스테이지에 대한 입력은 입력으로서 최종 스테이지 올림수 전파 가산기에 간단히 연결된다. 이것은 두번째 레벨 가산기로부터 4개 기본 승산기 셀의 스테이지를 제거한다.
각 레벨에서 가산기의 첫번째 스테이지가 제거되는 간단한 스텝(step)에 부과하여, 본 발명의 배열을 제동하기 위해 셀의 수를 더욱 줄이는데는 관련된 몇가지 부가된 상호 연결 복잡성이 있다. 예를들어, 가산기들의 첫번째 레벨에서 첫번째 가산기의 비트 위치(9)에서, 단지 세개의 부분곱 입력만이 이용 가능하다. 만약 스테이지(9) 가산기에 대해 단자(f9)에 정상적으로 놓여 있는 이전 스테이지(8)로부터 올림수 입력(q8)이 사용되지 않는 단자(d9)에 위치하면 어떠한 출력도 스테이지(9)의 결과 단자(h9)에 나타나지 않을 것이다. 이러한 연결 다이어그램은 제4(a)도에 보여진다.
첫번째 레벨에서의 두번째 가산기의 비트 위치(13)에 있어서도 마찬가지다.
만약 스테이지(12)로부터 올림수 입력(f13)이 입력(d13)에 전달되면 어떠한 출력도 스테이지(13)의 결과단자(h13)에 나타나지 않을 것이다.
결과적으로 각각의 이들 스테이지는 오직 한개의 결과 출력만을 산출할 것이다.
더 높은 합계의 각각의 레벨에서도 마찬가지임을 증명된다.
제5도는 8개 비트수를 곱하는 것에 대한 승산기의 기본 승산기 셀이 상기 제시된 것처럼 수정되는 본 발명에 해당하는 배열을 보여주고 있다.
첫번째 레벨 가산기의 수정에 의해 행하여진 결과들이 가산기들의 다음 레벨에 적용될때, 단지 세개 입력만이 두번째 레벨 가산기의 비트 위치-9에서의 기본 승산기 셀에서 이용됨을 알 수 있다.
결과적으로 단자(f9)에 정상적으로 위치한 입력을 가산기의 두번째 레벨의 스테이지(9)로 전달하는 동일한 수정이 만들어질 수 있어서 어떠한 출력도 그 스테이지의 단자(h9)에 나타나지 않을 것이다.
이것이 8개 비트 승산기에 아무런 영향도 미치지 않을지라도, 16개 비트 승산기에는 영향을 줄 수도 있다.
이와같은 방식으로, 각 레벨의 셀들은 가산기 회로의 다음 레벨에 대한 입력 신호의 수를 줄이도록 수정될 수 있으며 그러므로써 가산기들의 길이를 줄일 수 있다.
레벨-1에서 두번째 가산기의 스테이지(13)의 수정때문에, 가산기들의 두번째 레벨에서 단지 한개의 입력만이 그 스테이지에 제공됨을 보게 될 것이다.
더욱이, 레벨-2에서 스테이지(12) 가산기에 의해 단지 두개의 입력만 있다.
만약 스테이지(12)에 대한 두개 입력이 단자(c12와 d12) (제4(b)도에 도시)에 연결되면, 다음 스테이지(13)에 대한 올림수 출력(p12)는 항상 영(zero)이 될 것이다.
스테이지(13)에 대해 오직 한개의 올림수와 레벨-1에서 가산기-2로부터 오직 한개의 입력때문에 레벨-2의 스테이지(13)에서 기본 승산기 셀이 필요없다. 이것들은 최종 올림수 전파 가산기에 직접적으로 수행될 것이다.
더욱이, 스테이지(14와 15)는 오직 두개의 입력만을 가지므로 이들 비트를 더하는데 어떠한 기본 승산기 셀이 필요하지 않다.
이들 또한 최종 올림수 전파 가산기에 직접적으로 수행될 수 있다.
결과적으로, 레벨-2에서 스테이지 5에서 12까지 만이 실제적으로 기본 승산기 셀을 필요로 한다. 이것은 첫번째 레벨 가산기에 요구되는 셀의 수와 승산기의 비트에서 요구되는 수와 동일하다.
똑같은 논리가 독특한 가산기 회로에 대해 요구될 수 있는 또다른 각각의 스테이지에도 적용된다. 어떠한 레벨에서도 필요한 가산을 행하는데 있어 기본 승산기 셀의 n비트 이상을 필요하지 않는다.
결과적으로, 전반적인 평면도(floor plan) 는 n비트에 대해 충분한 셀만 단지 갖는 각각의 가산기와 규칙화된 정열로 줄여질 수 있다.
일반적으로, 이것은 승산기가 만들어지는 실리콘상에서 이용 가능한 공간을 대략 25% 이상 제공한다. 결과적으로 이들 기술을 회로 소자에 적용함으로써, 승산기들에서 비트 수 이상의 가산기가 요구된다.
그래서, 본 발명은 훨씬 적은 실리콘을 이용해서 종래 기술의 회로와 똑같은 결과를 나타내는 회로 소자를 제공한다.
특별히 언급할 것은 본 발명이 결과를 산출하는 어떠한 부가적인 시간을 요구함이 없이 그 결과를 제공한다는 사실이다.
즉, 회로 소자의 크기를 축소하려는 시도에 요구되는 재배선(rewiring)은 부가전 올림수 가산기로 하여금 레벨-1의 스테이지 9에서 11 그리고 레벨-2의 스테이지 13에서 15까지에서 지연을 일으킨다는 사실이다.
그러나, 이들 스테이지에서 최종 레벨 가산기 출력은 부가 셀에 입력을 제공하는 것이 아니라 올림수 전파 가산기에 제공된다.
지연된 스테이지는 올림수 전달 가산기에서 영향을 받는 최종 스테이지이기 때문에, 병렬적인 선행 레벨에서 가산기 스테이지의 실행은 더 이른 스테이지가 그들 올림수들을 완결하기전에 올림수 전파 가산기의 늦은 스테이지에서 꼭 필요한 출력을 제공해야 한다.
결과적으로, 대부분의 경우에 있어 본 발명의 회로는 종래 기술의 회로만큼 빠르게 동작할 것이다. 사실, 가산기의 32행과 32열의 비트 행렬에 대해 전반적으로 오직 한개의 게이트 지연이 나타남을 알 수 있다.
본 발명이 바람직한 실시예의 견지에서 설명되고 있지만 본 발명의 취지와 영역을 벗어남 없이도 여러가지 수정이나 대체물이 이 분야의 숙련된 사람에 의해 만들어질 수 있다.
그러므로, 본 발명은 아래와 같은 주장들의 견지에서 측정되어져야 할 것이다.

Claims (3)

  1. 오퍼랜드에서 비트수와 동일한 복수의 셀로 구성되고, 각각이 4개의 결과 입력 비트와 2개의 올림수 입력 비트를 받아서 셀의 유의 레벨에서 두개의 결과 비트 및 다음의 상위 유의 레벨에서 2개의 올림수 비트를 산출할 수 있는 한 쌍의 전 가산기로 구성되는 복수의 가산기 스테이지, 부분곱을 표시하는 비트를 각각의 유의 레벨에서 셀의 입력 단자들에 상호 연결하는 수단, 셀의 올림수 출력 단자를 그 다음 유의 레벨에서 셀의 올림수 입력 단자에 상호 연결하는 수단, 셀의 한개 올림수 출력 단자를 오직 3개 입력 신호만이 제공되는 특별한 스테이지의 셀에서 사용되지 않은 결과 입력 단자에 상호 연결하는 수단, 및 다음 가산기 레벨에서의 동일 유의 레벨에서 각 셀의 결과 단자들을 그 셀의 입력 단자에 상호 연결하는 수단으로 구성되는 것을 특징으로 하는 2진 정수 승산기.
  2. 제1항에 있어서, 오직 한개의 올림수만 산출하기 위해 오직 두개 입력을 갖는 스테이지의 결과 입력을 다음 스테이지의 입력 단자에 연결시키는 수단을 더 포함하는 것을 특징으로 하는 2진 정수 승산기.
  3. 제1항에 있어서, 2개 이하의 신호의 어떠한 레벨에 대하여 모든 가산기로부터 그 결과들을 합하는데 사용되는 올림수 전파 가산기에 입력을 직접 제공하는 수단을 더 포함하는 것을 특징으로 하는 2진 정수 승산기.
KR1019910020813A 1990-11-21 1991-11-21 영역 유효 평면도를 갖는 올림수 저장 가산기로 구성되는 2진 트리 승산기 KR950006581B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/616,569 US5072419A (en) 1990-11-21 1990-11-21 Binary tree multiplier constructed of carry save adders having an area efficient floor plan
US616,569 1990-11-21

Publications (1)

Publication Number Publication Date
KR950006581B1 true KR950006581B1 (ko) 1995-06-19

Family

ID=24470057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910020813A KR950006581B1 (ko) 1990-11-21 1991-11-21 영역 유효 평면도를 갖는 올림수 저장 가산기로 구성되는 2진 트리 승산기

Country Status (6)

Country Link
US (1) US5072419A (ko)
EP (1) EP0487287B1 (ko)
JP (1) JP3227538B2 (ko)
KR (1) KR950006581B1 (ko)
CA (2) CA2055900C (ko)
DE (1) DE69132368T2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303176A (en) * 1992-07-20 1994-04-12 International Business Machines Corporation High performance array multiplier using four-to-two composite counters
JPH08504525A (ja) * 1992-11-20 1996-05-14 ユニシス・コーポレイション 改良された高速乗算器
US5343417A (en) * 1992-11-20 1994-08-30 Unisys Corporation Fast multiplier
KR100291383B1 (ko) * 1996-11-18 2001-09-17 윤종용 디지털신호처리를위한명령을지원하는모듈계산장치및방법
US5974437A (en) * 1996-12-02 1999-10-26 Synopsys, Inc. Fast array multiplier
US6215325B1 (en) 1999-03-29 2001-04-10 Synopsys, Inc. Implementing a priority function using ripple chain logic

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130877A (en) * 1977-01-24 1978-12-19 Westinghouse Electric Corp. Binary multiplier using identical memories or identical networks
JPS61114338A (ja) * 1984-11-09 1986-06-02 Hitachi Ltd 乗算器
DE3823722A1 (de) * 1988-07-13 1990-01-18 Siemens Ag Multiplizierer
JPH063839B2 (ja) * 1988-12-16 1994-01-12 株式会社東芝 半導体集積回路装置

Also Published As

Publication number Publication date
CA2055887A1 (en) 1992-05-21
EP0487287A3 (en) 1993-02-24
CA2055900A1 (en) 1992-05-22
DE69132368T2 (de) 2001-03-29
EP0487287B1 (en) 2000-08-16
JPH05173761A (ja) 1993-07-13
EP0487287A2 (en) 1992-05-27
JP3227538B2 (ja) 2001-11-12
DE69132368D1 (de) 2000-09-21
CA2055900C (en) 1997-02-11
US5072419A (en) 1991-12-10

Similar Documents

Publication Publication Date Title
US4969118A (en) Floating point unit for calculating A=XY+Z having simultaneous multiply and add
US4168530A (en) Multiplication circuit using column compression
US5325320A (en) Area efficient multiplier for use in an integrated circuit
US20030005016A1 (en) Double precision floating point multiplier having a 32-bit booth-encoded array multiplier
KR20010040263A (ko) 고속의 정규 곱셈기 구조
US4831577A (en) Digital multiplier architecture with triple array summation of partial products
US4799183A (en) Vector multiplier having parallel carry save adder trees
US5528529A (en) Electronic multiplying and adding apparatus and method
US5126964A (en) High performance bit-sliced multiplier circuit
US4796219A (en) Serial two's complement multiplier
KR950006581B1 (ko) 영역 유효 평면도를 갖는 올림수 저장 가산기로 구성되는 2진 트리 승산기
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US5734599A (en) Performing a population count using multiplication
US4545028A (en) Partial product accumulation in high performance multipliers
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
US4811270A (en) Merged CCD/MOS integrated circuit
US5677863A (en) Method of performing operand increment in a booth recoded multiply array
US4941121A (en) Apparatus for high performance multiplication
US5206826A (en) Floating-point division cell
US6182105B1 (en) Multiple-operand addition with intermediate saturation
Ibrahim Radix-2n multiplier structures: A structured design methodology
US5638313A (en) Booth multiplier with high speed output circuitry
Biswas et al. Multiplexer Based Array Multipliers
Shanmukh et al. Design of 32-bit MAC unit using fast adders and vedic multiplier
SU748412A1 (ru) Устройство дл умножени двоичных чисел

Legal Events

Date Code Title Description
A201 Request for examination
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: 20020614

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee