KR0157337B1 - 디지탈신호 처리기의 멀티비트 가산기 - Google Patents

디지탈신호 처리기의 멀티비트 가산기

Info

Publication number
KR0157337B1
KR0157337B1 KR1019950052600A KR19950052600A KR0157337B1 KR 0157337 B1 KR0157337 B1 KR 0157337B1 KR 1019950052600 A KR1019950052600 A KR 1019950052600A KR 19950052600 A KR19950052600 A KR 19950052600A KR 0157337 B1 KR0157337 B1 KR 0157337B1
Authority
KR
South Korea
Prior art keywords
adder
carry
output
adders
buffer
Prior art date
Application number
KR1019950052600A
Other languages
English (en)
Other versions
KR970049445A (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 김광호
Priority to KR1019950052600A priority Critical patent/KR0157337B1/ko
Publication of KR970049445A publication Critical patent/KR970049445A/ko
Application granted granted Critical
Publication of KR0157337B1 publication Critical patent/KR0157337B1/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

Abstract

1. 청구범위에 기재된 발명이 속하는 기술 분야 :
본 발명은 디지탈 신호 처리기의 가산기에 관한 것이다.
2. 발명이 해결하려고 하는 기술적 과제.
기존의 가산기에서 가산시간은 상기 디지탈신호 처리장치의 임계경로(critical path)에 의해 결정되었다. 결국 최종적인 캐리가 출력되고 난 뒤에 최종적인 가산 결과를 도출하게 되는데 이에 따라 가산기의 가산시간은 상당히 길어지게 된다.
3. 발명의 해결방법의 요지
직렬접속된 소정갯수의 단위가산기로 구성되는 제1가산기와, 입력단이 상기 제1가산기의 최종 캐리출력단과 접속되고 소정의 클럭신호에 응답하여 소정의 제1 및 제2캐리신호를 출력하는 캐리버퍼와, 직렬접속된 소정갯수의 단위가산기로 구성되며 최초 캐리입력단이 상기 캐리버퍼의 제1출력단과 접속된 제2가산기와, 직렬접속된 소정갯수의 단위가산기로 구성되며 최초 캐리입력단이 상기 캐리버퍼의 제2출력단과 제3가산기를 구비하며, 가산동작시 상기 캐리버퍼의 제1, 제2 및 제3가산기가 동시에 동작하여 상기 제1가산기의 최종 캐리출력과 상기 캐리버퍼의 제1 및 제2캐리신호를 비교하여 상기 제2 및 제3가산기의 출력을 선택함을 특징으로 하는 디지탈신호 처리기의 멀티비트 가산기를 구현하므로써 고속으로 가산동작을 실행하는 디지탈신호 처리기를 구현하게 된다.
4. 발명의 중요한 용도
고속동작용 멀티비트 가산기.

Description

디지탈신호 처리기의 멀티비트 가산기
제1도는 종래기술에 따른 멀티비트 가산기를 보여주는 도면.
제2도는 본 발명의 실시에에 따른 멀티비트 가산기를 보여주는 도면.
제3도는 제2도를 구성하는 캐리버퍼의 상세회로도.
제4도는 파이프라인구조의 가산결과를 보여주는 도면.
본 발명은 디지탈신호 처리기에 관한 것으로, 특히 디지탈입력을 고속으로 연산하는 디지탈신호 처리기의 멀티비트 가산기에 관한 것이다.
디지탈신호 처리기(Digital Signal Processor:이하 DSP라고 함)에서 가산(addition) 및 감산(subtraction)에 의한 시간은 상기 DSP의 임계 경로(critical path)에 의해 결정된다. 종래기술에 의한 멀티비트 가산기(multi-bit adder)는 캐리(carry)의 계산이 가산시간(addition time)에 결정적인 영향을 미치기 때문에 이 캐리연산에 대한 여러가지의 알고리즘(algorithm)이 다양하게 연구되고 있다. 캐리 룩-어헤드 가산기(carry look-ahead adder:CLA), 캐리 프로퍼게이션 가산기(carry propagation adder:CPA), 캐리 세이브 가산기(carry save adder:CSA)등은 전통적인 멀티비트 가산기의 알고리즘들이다.
제1도는 종래기술에 따른 멀티비트 가산기를 보여주는 도면이다.
제1도를 참조하면, n개의 단위가산기(adder)들이 직렬로 접속된다. 가산기(10a)는 두 입력단으로 a0, b0이 입력되고, 출력단에서는 상기 두 입력 a0, b0의 합인 s0이 출력되고 캐리출력단에서는 캐리 1이 출력된다. 가산기(10b)는 두 입력단으로 a1, b1이 입력되고 캐리입력단에는 상기 가산기(10a)에서 출력되는 캐리 c1이 입력되며, 출력단에서는 상기 두 입력 a1, b1의 합인 s1이 출력되고 캐리출력단에서는 캐리 c2가 출력된다. 이와 같은 과정을 반복적으로 수행하여 결국 최종단에서 배치된 가산기(10f)는 두 입력단으로 an-1, bn-1이 입력되고 캐리입력단에는 가산기(10e)에서 출력되는 캐리 cn-1이 입력되며, 출력단에서는 상기 두 입력 an-1, bn-1의 합인 sn-1이 출력되고 캐리출력단에서는 캐리 cn이 출력된다.
상기 제1도에서 n비트를 가산하는 경우, 각 단위가산기의 제1입력의 합인와각 단위가산기의 제2입력의 합인의 가산결과인의 값은 마지막단의 캐리입력단으로 캐리 cn-1가 완전히 전달된 이후에야 비로소 가산계산이 끝나게 된다.
그러나 상기 캐리 cn-1이 출력되기까지는 상당히 오랜 시간이 걸린다. 즉, 각 단위가산기에서 소요되는 시간이 1나노초라고 가정하고 단위 가산기의 갯수가 10개라고 가정하면, 상기 제1도로 도시한 멀티비트 가산기에서 가산시간은 10나노초가 된다. 이와 같이 멀티비트 가산기의 동작에 의하여 걸리는 시간지연이 길어지는 것은 디지탈신호 처리기의 동작을 느리게 하는 문제점을 작용하게 된다.
따라서 본 발명의 목적은 고속으로 연산동작을 수행하는 디지탈신호 처리기의 멀티비트 가산기를 제공하는 데 있다.
상기 본 발명의 목적을 달성하기 위하여 본 발명에 따른 디지탈신호 처리기의 멀티비트 가산기는, 직렬접속된 소정갯수의 단위가산기로 구성되는 제1가산기와, 입력단이 상기 제1가산기의 최종 캐리출력단과 접속되고 소정의 클럭 신호에 응담하여 소정의 제1 및 제2캐리신호를 출력하는 캐리버퍼와, 직렬접속된 소정갯수의 단위가산기로 구성되며 최초 캐리입력단이 상기 캐리버퍼의 제1출력단과 접속된 제2가산기와, 직렬접속된 소정갯수의 단위가산기로 구성되며 최초 캐리입력단이 상기 캐리버퍼의 제2출력단과 제3가산기를 구비하며, 가산동작시 상기 캐리버퍼의 제1, 제2 및 제3가산기가 동시에 동작하여 상기 제1가산기의 최종 캐리출력과 상기 캐리버퍼의 제1 및 제2캐리신호를 비교하여 상기 제2 및 제3가산기의 출력을 선택함을 특징으로 한다.
이하 본 발명에 따른 멀티비트 가산기의 바람직한 실시예를 설명하겠다.
제2도는 본 발명의 실시예에 따른 멀티비트 가산기를 보여주는 도면이다.
제2도를 참조하면, n개의 단위가산기(adder)들이 직렬로 접속된다. 제1가산기(100)에서 가산기(20a)는 두 입력단으로 a0, b0이 입력되고, 출력단에서는 상기 두 입력 a0, b0의 합인 s0이 출력되고 캐리출력단에서는 캐리 c1이 출력된다. 가산기(20b)는 두 입력단으로 a1, b1이 입력되고 캐리입력단에는 상기 가산기(10a)에서 출력되는 캐리 c1이 입력되며, 출력단에서는 상기 두 입력 a1, b1의 합인 s1이 출력되고 캐리출력단에서는 캐리 c2가 출력된다. 한편 상기 n개의 단위가산기중 최초 반에 해당하는 단위가산기들중 마지막 단위가산기(20c)의 캐리출력단에서 출력되는 뉴캐리(new carry) NC는 캐리버퍼(30)의 입력단으로 전달된다. 상기 캐리버퍼(30)의 다른 입력단으로는 소정의 제1 및 제2클럭신호 CLK1과 CLK2가 입력된다. 상기 캐리버퍼(30)의 출력단에서 출력되는 올드캐리(old carry)들 OC1과 OC2는 제2가산기(200) 및 제3가산기(300)를 구성하는 단위가산기들(21d, 22d)의 입력단들로 각각 전달된다. 상기 가산기들(21d, 22d)은 각각의 두 입력단으로 a(n/2)와 b(n/2)가 공통으로 입력되고, 캐리입력단들에는 전술한 바와 같이 올드캐리(old carry)들 OC1과 OC2이 각각 입력되며, 출력단들에서는 상기 두 입력 a(n/2)와 b(n/2)의 합인 s(n/2)와 s(n/2)'가 각각 출력되고, 캐리출력단들에서는 캐리 c{(n/2)+1} c{(n/2)+1}'가 각각 출력된다. 이와 같은 과정을 반복적으로 수행하여 결국 최종단에서 배치된 가산기들(21f, 22f)은 각각의 두 입력단으로 cn-1, cn-1이 공통으로 입력되고 캐리입력단에는 가산기들(21e, 22e)에서 출력되는 캐리들 an-1, bn-1'이 입력되며, 출력단들에서는 상기 두 입력 an-1, bn-1의 합인 sn-1, sn-1'이 출력되고 캐리출력단들에서는 캐리들 cn, cn'이 출력된다.
제3도는 제2도를 구성하는 캐리버퍼의 상세회로도이다.
제3도를 참조하면, 뉴캐리 NC는 캐리버퍼(30)를 구성하는 제1비교기(32) 및 제2비교기(34)의 제1입력단들로 전달된다. 소정의 제1 및 제2클럭신호 CLK1, CLK2는 제1캐리발생기(36) 및 제2캐리발생기(38)의 입력단들로 전달되고, 상기 제1캐리발생기(36) 및 제2캐리발생기(38)의 출력단들에서는 올드캐리들 OC1, OC2가 각각 출력된다. 상기 올드캐리들 OC1, OC2은 제2도를 구성하는 단위가산기들(21d, 22d)의 캐리입력으로 사용됨과 동시에 상기 제1비교기(32)와 제2비교기(34)의 제2입력단들로 각각 입력된다. 상기 제1비교기(32)와 제2비교기(34)의 출력단들에서는 셀렉트신호/언셀렉트신호 E/D1, E/D2가 각각 출력된다.
제2도 및 제3도로 도시한 멀티비트 가산기를 사용하는 경우에는 멀티비트 가산기의 중간지점에 캐리버퍼(30)가 배치되어 상기 멀티비트 가산기를 구성하는 제1가산기(100)에 있는 마지막 단위가산기의 캐리출력 즉 뉴캐리 NC와는 관계없이 (n/2)번째의 단위가산기(21d, 22d)에서부터 올드 캐리들 OC1, OC2를 각각 입력으로 사용하게 되므로 종래의 가산기보다는 속도가 2배정도 빨라지게 된다.
종래의 경우와 본 발명의 경우를 구체적인 실시예를 들어 아래에 기술하면 다음과 같다.
제1도로 도시한 종래의 경우, ABCD와 7872의 헥사코드가산을 실시하는 경우,
1010 1011 1100 1101 + 0111 1000 0111 0010
(A) (B) (C) (D) (7) (8) (7) (2)
합은 0010 0100 0011 1111(즉 243E)이 되고, 캐리발생은 1111 1011 1100 0000로써 최종 캐리는 1이다. 즉, 15번째 캐리가 전달된 후 비로소 덧셈계산이 끝나게 된다. 덧셈에서 합과 캐리가 발생하지만 현재의 값은 이전의 캐리를 받아서 계산하기 때문에 결국 캐리가 전달되는데 걸리는 지연시간이 총 계산시간을 지배하게 된다. 단위가산기에서 가산에 걸리는 시간이 1나노초라고 가정하고, 제1도에서 16개의 단위가산기들이 직렬접속된 경우, 가산시간은 16나노초이다.
본 발명의 경우, ABCD와 7872의 헥사코드가산을 실시하는 경우,
1010 1011 1100 1101 + 0111 1000 0111 0010
(A) (B) (C) (D) (7) (8) (7) (2)
제1가산기(100)를 구성하는 마지막 단위가산기(20c)에서 출력되는 뉴캐리 NC는 '1'이다. 캐리버퍼(30)을 구성하는 제1캐리발생기(36)과 제2캐리발생기(38)의 올드캐리들 OC1, OC2가 각각 '0', '1'이라고 가정하면, 제2가산기(200)의 합출력은 0010 0011이 되고, 제3가산기(300)의 합출력은 0010 0100이 된다. 그리고, 뉴캐리 NC는 올드캐리들 OC1, OC2중 올드캐리 OC2와 같으므로, 제1비교기(32)에서는 언셀렉트신호가 출력되고, 제2비교기(34)에서는 셀렉트신호가 출력된다. 따라서 제2가산기(200)은 선택되지 않고, 제3가산기(300)의 출력은 선택된다. 제1, 제2 및 제3가산기에서 직렬접속된 단위가산기들의 갯수가 각각 8개씩인 경우, 본 발명의 실시예에서와 같이 상기 제1, 제2 및 제3가산기들이 동시에 동작하게 되면 전체가산시간은 8나노초만에 완료된다.
이상과 같은 멀티비트 가산기가 구현되므로서 종래에 비교해서 2배의 속도로 논리연산이 가능하게 된다. 상기에서 각 단위가산기들은 본 분야에서 범용적으로 사용하고 있는 전가산지(full adder)을 사용하면 되고, 비교기들은 통상적으로 사용하고 있는 익스클루시브 오아게이트(Exclusive OR gate)를 사용하면 용이하게 구현할 수 있게 된다. 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 본 발명은 다양하게 변경가능하다. 즉, 본 발명의 실시예에서는 멀티비트 가산기들이 2개로 나뉘어져 2배의 동작속도를 구현하게 되지만 고속의 동작이 요구되는 경우, 4개 혹은 8개 단위로 분리되어 독립적인 동작을 실시할 수도 있을 것이다. 또한 본 발명에 의한 멀티비트 가산기들을 제4도로 도시한 것처럼 파이프라인구조로 설계하여 가산동작을 실행하게 하므로써 보다 더 효율적으로 가산동작을 실행할 수도 있을 것이다.

Claims (4)

  1. 디지탈신호 처리기의 멀티비트 가산기에 있어서, 직렬접속된 소정갯수의 단위가산기로 구성되는 제1가산기와, 입력단이 상기 제1가산기의 최종 캐리출력단과 접속되고 소정의 클럭 신호에 응답하여 소정의 제1 및 제2캐리신호를 출력하는 캐리버퍼와, 직렬접속된 소정갯수의 단위가산기로 구성되며 최초 캐리입력단이 상기 캐리버퍼의 제1출력단과 접속된 제2가산기와, 직렬접속된 소정갯수의 단위가산기로 구성되며 최초 캐리입력단이 상기 캐리버퍼의 제2출력단과 제3가산기를 구비하며, 가산동작시 상기 캐리버퍼의 제1, 제2 및 제3가산기가 동시에 동작하여 상기 제1가산기의 최종 캐리출력과 상기 캐리버퍼의 제1 및 제2캐리신호를 비교하여 상기 제2 및 제3가산기의 출력을 선택함을 특징으로 하는 디지탈신호 처리기의 멀티비트 가산기.
  2. 제1항에 있어서, 상기 캐리버퍼가 소정의 제1클럭신호에 응답하여 제1논리레벨을 출력하는 제1캐리발생기와, 소정의 제2클럭신호에 응답하여 제2논리레벨을 출력하는 제2캐리발생기와, 상기 제1가산기의 최종 캐리출력과 상기 제1논리레벨을 비교하는 제1비교기와, 상기 제2가산기의 최종 캐리출력과 상기 제2논리레벨을 비교하는 제2비교기를 구비하며, 상기 제1가산기의 최종 캐리출력과 상기 제1논리레벨이 동일할때는 상기 제2가산기를 선택하는 신호를 출력하고, 상기 제2가산기의 최종 캐리출력과 상기 제2논리레벨이 동일할때는 상기 제2가산기를 선택하는 신호를 출력함을 특징으로 하는 디지탈신호 처리기의 멀티비트 가산기.
  3. 제2항에 있어서, 상기 비교기가 익스클루시브 오아게이트로 구성됨을 특징으로 하는 디지탈신호 처리기의 가산기.
  4. 제1항에 있어서, 상기 멀티비트 가산기가 파이프라인구조로 설계되어 동작함을 특징으로 하는 디지탈신호 처리기의 멀티비트 가산기.
KR1019950052600A 1995-12-20 1995-12-20 디지탈신호 처리기의 멀티비트 가산기 KR0157337B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950052600A KR0157337B1 (ko) 1995-12-20 1995-12-20 디지탈신호 처리기의 멀티비트 가산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950052600A KR0157337B1 (ko) 1995-12-20 1995-12-20 디지탈신호 처리기의 멀티비트 가산기

Publications (2)

Publication Number Publication Date
KR970049445A KR970049445A (ko) 1997-07-29
KR0157337B1 true KR0157337B1 (ko) 1998-11-16

Family

ID=19441777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950052600A KR0157337B1 (ko) 1995-12-20 1995-12-20 디지탈신호 처리기의 멀티비트 가산기

Country Status (1)

Country Link
KR (1) KR0157337B1 (ko)

Also Published As

Publication number Publication date
KR970049445A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
EP0127988B1 (en) A normalizing circuit
JP3244506B2 (ja) 小型乗算器
JPH0479013B2 (ko)
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
US5367477A (en) Method and apparatus for performing parallel zero detection in a data processing system
US5957996A (en) Digital data comparator and microprocessor
US4683548A (en) Binary MOS ripple-carry parallel adder/subtracter and adder/subtracter stage suitable therefor
US6101621A (en) Logic circuit and method for designing the same
US5177703A (en) Division circuit using higher radices
JP3003467B2 (ja) 演算装置
US5987638A (en) Apparatus and method for computing the result of a viterbi equation in a single cycle
KR0157337B1 (ko) 디지탈신호 처리기의 멀티비트 가산기
JPH07107664B2 (ja) 乗算回路
US4677584A (en) Data processing system with an arithmetic logic unit having improved carry look ahead
US9262123B2 (en) Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation
US6044063A (en) Unsigned integer comparator
US4041296A (en) High-speed digital multiply-by-device
JP2991788B2 (ja) 復号器
JP3074958B2 (ja) 加算機能付きシリアル乗算器
JPH09185493A (ja) 加算器用集積回路
RU2069009C1 (ru) Суммирующее устройство
KR0154934B1 (ko) 개선된 2의 보수회로
JPH0318925A (ja) 演算回路
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치
JPH06348459A (ja) 論理演算回路

Legal Events

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

Payment date: 20050607

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee