KR0136486B1 - 변형 부스 곱셈기 - Google Patents

변형 부스 곱셈기 Download PDF

Info

Publication number
KR0136486B1
KR0136486B1 KR1019940016144A KR19940016144A KR0136486B1 KR 0136486 B1 KR0136486 B1 KR 0136486B1 KR 1019940016144 A KR1019940016144 A KR 1019940016144A KR 19940016144 A KR19940016144 A KR 19940016144A KR 0136486 B1 KR0136486 B1 KR 0136486B1
Authority
KR
South Korea
Prior art keywords
multiplier
multiplicand
output
multiplexer
complement
Prior art date
Application number
KR1019940016144A
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 김주용
Priority to KR1019940016144A priority Critical patent/KR0136486B1/ko
Application granted granted Critical
Publication of KR0136486B1 publication Critical patent/KR0136486B1/ko

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

본 발명은 변형 부스 곱셈기에 관한 것으로, 특히 승수(X)를 인가받아 3비트 이상의 멀티비트 스캔을 통해 선택제어신호(Sel)와 리세트신호(Reset)를 출력하는 부스인코더(10)와, 피승수(Y)를 입력받아 피승수(Y)와 피승수의 2의 보수값(-Y)을 출력하는 피승수 보수 발생기(20)와, 상기 부스인코더(10)에서 출력되는 제어신호에 따라 피승수보수 발생기(20)의 출력값을 선택적으로 출력하는 다수의 4x1멀티플렉서부(30)와, 상기 멀티플렉서부(30)의 출력을 인가받아 가산하는 자리올림 보존 가산기(40)와, 상기 자리올림 보존 가산기(40)의 출력을 인가받아 최종 결과값을 출력하는 가산기(50)를 구비하여, 피승수 데이타 패스가 단순화됨으로써 곱셈기의 전체 크기가 줄어들어 전체 칩의 크기를 줄일 수 있고 또한 곱셈기능을 부스 인코딩 테이블과 피승수 보수 발생기(MCG)를 이용하여 구현함으로써 실질적인 곱셈 연산 시간을 줄일수가 있다.

Description

변형 부스 곱셈기
제1도는 일반적인 변형 부스 곱셈기의 구성도.
제2도는 본 발명에 의한 변형 부스 곱셈기의 구성도.
제3도는 제2도 피승수 보수 발생기의 구성도.
제4도는 제2도 멀티플렉서부의 구성도.
* 도면의 주요부분에 대한 부호의 설명
10 : 부스 인코더 20 : 피승수 보수 발생기
21 : 2의 보수기 30 : 멀티플렉서부
31 : 4x1 멀티플렉서 32 : 앤드게이트
40 : 자리올림 보존 가산기 50 : 가산기
본 발명은 변형 부스 곱셈기(modified booth multiplier)에 관한 것으로, 특히 부스 인코딩 테이블과 피승수 보수 발생기를 이용하여 곱셈기를 구성함에 따라 연산속도를 향상시킬수 있는 변형 부스 곱셈기에 관한 것이다.
일반적으로, 디지털 신호 처리기(DSP : Digital Signal Processor)가 요구하는 시스템 효율은 데이타 샘플링율과 밀접한 관계가 있는데 샘플링율이 높은 시스템에서는 고속의 시스템 효율을 요구한다.
따라서, 음성신호를 처리하는 시스템과 같이 샘플링율이 낮은 시스템은 직렬형태의 구조로 데이타 처리가 가능하지만 레이다(radar)나 소나(sonar) 그리고 이미지 데이타를 처리하는 높은 샘플링율을 갖는 시스템은 병렬형태의 구조가 요구된다.
디지털 신호 처리기(DSP) 분야에서 곱셈기는 가산기와 함께 시스템의 효율을 결정하는 중요한 요소인데, 속도와 크기면에서 장점을 갖고 있는 병렬형태의 곱셈기에 대한 많은 연구가 수행되어 왔다.
전통적인 어레이(array)방식의 곱셈기로는 Baugh-wooley, Wallace tree등이 있으며, 2진수(binary)를 사용하는 구조의 한계를 극복하기 위해 잉여구조(Residue Architecture)나 대수구조(Logarithmic Architecture)를 도입한 곱셈기도 있다.
현재까지는 수행과 속도면에서 유용한 변형 부스 곱셈기가 일반적으로 사용되고 있는데, 변형 부스 곱셈기의 기본적인 원리는 다음과 같다.
2의 보수를 X라 하고, X가 m비트일때 X는 다음과 같이 표현할 수 있다.
여기서, N=0,2,4 … m-1이며, 만약, m-1이 2의 배수가 아니면 2의 배수가 되게 확장한다.
따라서, (식1)을 첨부된 표1과 같은 부스 인코딩 테이블로 만들수 있다.
그리고, X를 승수, Y를 피승수라 하면 곱셈연산은 다음과 같이 표현할 수 있다.
여기서, N=0,2,4 … m-1 이다.
따라서, (식2)와 (표1)을 사용하여 10x10 비트 곱셈기를 구성하면 제1도와 같다.
제1도는 일반적인 10x10비트 변형 부스 곱셈기의 구성을 나타낸 것으로, 곱셈기의 데이타 폭이 10비트이기 때문에 부스 인코더 테이블에 따른 중첩(overlap) 스캔을 수행하는 경우에 5번의 스캔이 이루어지므로 2의 보수기 및 2x1 멀티플렉서(2)가 5개 필요하다.
2의 보수기 및 2x1 멀티플렉서(2)는 부스 인코더 테이블의 5개의 부호화 값(sign digit)을 처리하기 위한 것으로, 특히 2의 보수기는 음수를 멀티플렉서는 x2를 처리하기 위한 것이다.
예를들어 -2xY의 곱셈연산을 수행하는 경우에, 피승수 Y가 2의 보수기 및 2x1 멀티플렉서(2)에 인가되면 부스인코더(1)는 입력되는 승수에 따라 제어신호, 즉 2의 보수기가 피승수의 2의 보수를 취할 것인가를 결정하는 2의 보수기의 인에이블신호와 피승수를 한 비트 쉬프트시켜 x2의 효과를 낼것인가를 결정하는 2x1 멀티플렉서의 선택제어신호를 출력하여 피승수 Y의 2의 보수를 취한 후 2x1 멀티플렉서에서 한 비트를 쉬프트시킨다.
상기와 같이 2의 보수기와 2x1 멀티플렉서(2)를 거친 5개의 출력은 자리올림 보존 가산기(Carry Save Adder)(3)를 통해 가산된 후 2입력 고속 가산기(4)를 통해 최종 곱셈값을 출력한다.
상기와 같은 부스 곱셈기는 승수 n비트와 피승수 m비트를 승산하는 경우에 일반적인 어레이 곱셈기에 비해 nx(m-1)/2 개의 전가산기를 줄일수 있으므로 속도를 향상시키고 면적을 줄일 수 있다.
그러나, 승수의 비트수가 커져서 스캔하는 횟수가 증가하면 스캔하는 횟수만큼 2의 보수기 및 2x1 멀티플렉서가 늘어남에 따라 연산속도와 면적면에서의 상기와 같은 효과가 감쇄된다는 문제점이 있었다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 곱셈기의 피승수의 데이타 패스를 단순화하여 빠른 연산속도와 작은 면적을 갖는 변형 부스 곱셈기를 제공하는 것을 그 목적으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명은, 피승수를 입력받아 피승수와 피승수의 2의 보수값을 출력하는 피승수 보수 발생기와, 승수를 인가받아 3비트 이상의 멀티비트 스캔을 통해 선택제어신호와 리세트 신호를 출력하는 부스인코더와, 상기 부스인코더에서 출력되는 제어신호에 따라 피승수 보수 발생기의 출력값을 선택적으로 출력하는 다수의 4x1 멀티플렉서부와, 상기 멀티플렉서부의 출력을 인가받아 가산하는 자리올림 보존 가산기와, 상기 자리올림 보존 가산기의 출력을 인가받아 최종 결과값을 출력하는 가산기를 구비하는 것을 특징으로 한다.
이하, 본 발명의 일실시예를 첨부된 도면을 참조하여 상세히 설명한다.
제2도는 본 발명에 의한 변형 부스 곱셈기의 구성을 나타낸 것으로, 승수(X)를 인가받아 3비트 이상의 멀티비트 스캔을 통해 선택제어신호(Sel)와 리세트신호(Reset)를 출력하는 부스인코더(10)와, 피승수(Y)를 입력받아 피승수(Y)와 피승수의 2의 보수값(-Y)을 출력하는 피승수 보수 발생기(20)와, 상기 부스인코더(10)에서 출력되는 제어신호에 따라 피승수 보수 발생기(20)의 출력값을 선택적으로 출력하는 다수의 4x1 멀티플렉서부(30)와, 상기 멀티플렉서부(30)의 출력을 인가받아 가산하는 자리올림 보존 가산기(40)와, 상기 자리올림 보존 가산기(40)의 출력을 인가받아 최종 결과값을 출력하는 가산기(50)를 구비하는 것을 특징으로 한다.
제3도는 상기 피승수 보수 발생기(20)의 구성을 나타낸 것으로, 피승수(Y)를 인가받아 피승수(Y)를 출력하는 한편, 2의 보수기(21)를 통해 피승수의 2의 보수값(-Y)을 출력하도록 구성되어 있다.
또한, 제4도는 상기 멀티플렉서부(30)의 구성을 나타낸 것으로, 피승수 보수 발생기(20)의 4개의 출력신호를 인가받아 부스 인코더(10)에서 출력되는 신호에 따라 하나의 신호를 선택적으로 출력하는 멀티플렉서(31)와, 상기 멀티플렉서(31)의 출력과 상기 부스 인코더(10)의 리세트신호를 인가받아 앤드조합하는 앤드게이트(32)로 구성되어 있다.
다음에는 상기와 같은 구성을 갖는 본 발명의 작용 및 효과를 상세히 설명한다.
표 1에서 스캔한 부호화 값(sign digit)은 모두 5가지이다. 즉, 피승수x0, 피승수x1, 3피승수x-1, 피승수x2, 피승수x-2가 된다. 따라서 상기와 같은 경우를 미리 계산하여 선택한다면 승수의 비트수가 증가하여 스캔횟수가 증가하여도 스캔횟수만큼 2의 보수기와 2x1 멀티플렉서가 증가하는 것을 방지할 수 있다.
표 1의 부스 인코딩 테이블의 5가지 경우를 미리 계산하기 위해서는 제3도와 같이 피승수를 인가받아 피승수와 피승수의 2의 보수를 각각 출력하는 피승수 보수 발생기(MCG: Multiplicant Complement Generator)(20)가 필요하다.
상기 피승수 보수 발생기(MCG)(20)는 피승수x1과 피승수x-1의 값을 발생하고, 피승수x2와 피승수x-2는 피승수 보수 발생기(MCG)(20)의 출력값인 Y와 -Y값을 한 비트씩 왼쪽으로 쉬프트하면 된다.
따라서, 부스 인코딩 테이블의 5가지 동작은 제2도의 부스 인코더(10)와, 피승수 보수 발생기(20) 및 4x1 멀티플렉서부(30)를 통해 이루어 진다. 5개의 4x1 멀티플렉서부(30)중 i번째 비트의 세부적인 예는 제4도와 같다.
제4도에서 나타낸 바와 같이 Yi가 선택되는 경우에는 피승수x1의 결과를, -Yi가 선택되는 경우에는 피승수x-1의 결과를 출력한다. 또한, Yi-1 또는 -Yi-1이 선택되는 경우에는 피승수를 1비트 좌측으로 쉬프트한 것과 같기 때문에 각각 피승수x-2의 결과를 출력한다.
그리고, 표 1의 부스 인코딩 테이블에서 스캔한 3비트가 모두 같은 경우, 즉 000, 111에 해당하는 피승수x0은 리세트신호(Reset)로 0을 인가함으로써 얻을 수 있다.
상기와 같이 4x1 멀티플렉서부(30)를 거친 5개의 출력은 자리올림보존 가산기(Carry Save Adder)(40)를 통해 가산된 후 2입력 고속 가산기(4)를 통해 최종 곱셈값을 출력한다.
따라서, 종래에는 중첩(overlap) 스캔의 횟수만큼 2의 보수기가 필요하였으나 본 발명에서는 한개의 2의 보수기로 이루어진 피승수 보수 발생기(20)로 처리가 가능함으로 부스 곱셈기의 데이타 폭이 커지더라도 피승수 보수 발생기(20)는 단지 하나만 필요하다.
반면에 2x1 멀티플렉서는 4x1 멀티플레서로 커지게 되지만 병렬방식의 2의 보수기 숫자의 감소에 비해서는 중요하지 않기 때문에 전체적으로는 종전의 방식에 비해 많은 숫자의 구성요소의 감소를 가져오게 된다.
그리고, 본 발명에서는 피승수 보수 발생기(MCG)와 4x1멀티플렉서를 이용하여 피승수 보수 발생기(MCG)에서 직접 4x1 멀티플렉서부로 피승수가 입력되므로 2의 보수기에 대한 부하가 하나로 줄어들어 결국 피승수의 데이타 패스지연의 감소를 가져와 전체 곱셈기의 연산속도의 향상을 가져온다.
본 발명에서 제안한 고속 변형 부스 곱셈기를 모든 디지털 시스템에 사용하면 곱셈기의 피승수 데이타 패스가 단순화된으로써 곱셈기의 전체 크기가 줄어들어 전체 칩의 크기를 줄일수 있고 또한 곱셈기능을 부스 인코딩 테이블과 피승수 보수 발생기(MCG)를 이용하여 구현함으로써 실질적인 곱셈 연산시간을 줄일수가 있다.

Claims (2)

  1. 승수(X)를 인가받아 3비트 이상의 멀티비트 스캔을 통해 선택제어신호(Sel)와 리세트신호(Reset)를 출력하는 부스인코더(10); 피승수(X)를 입력받아 피승수(Y)와 피승수의 2의 보수값(-Y)을 출력하는 피승수 보수 발생기(20); 상기 부스인코더(10)에서 출력되는 제어신호에 따라 피승수 보수발생기(20)의 출력값을 선택적으로 출력하는 다수의 4x1 멀티플렉서부(30); 상기 멀티플렉서부(30)의 출력을 인가받아 가산하는 자리올림 보존 가산기(40); 상기 자리올림 보존 가산기(40)의 출력을 인가받아 최종 결과값을 출력하는 가산기(50)를 구비하는 것을 특징으로 하는 변형 부스 곱셈기.
  2. 제1항에 있어서, 상기 멀티플렉서부(30)는 피승수 보수 발생기(20)의 4개의 출력신호(Yi, -Yi, Yi-1, -Yi-1)를 인가받아 부스 인코더(10)에서 출력되는 선택제어신호(Sel)에 따라 하나의 신호를 선택적으로 출력하는 멀티플렉서(31); 상기 멀티플렉서(31)의 출력과 상기 부스 인코더(10)의 리세트신호(Reset)를 인가받아 앤드조합하는 앤드게이트(32)를 포함하는 것을 특징으로 하는 변형 부스 곱셈기.
KR1019940016144A 1994-07-06 1994-07-06 변형 부스 곱셈기 KR0136486B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940016144A KR0136486B1 (ko) 1994-07-06 1994-07-06 변형 부스 곱셈기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940016144A KR0136486B1 (ko) 1994-07-06 1994-07-06 변형 부스 곱셈기

Publications (1)

Publication Number Publication Date
KR0136486B1 true KR0136486B1 (ko) 1999-05-15

Family

ID=19387356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940016144A KR0136486B1 (ko) 1994-07-06 1994-07-06 변형 부스 곱셈기

Country Status (1)

Country Link
KR (1) KR0136486B1 (ko)

Similar Documents

Publication Publication Date Title
EP0377837B1 (en) Floating point unit having simultaneous multiply and add
US5790446A (en) Floating point multiplier with reduced critical paths using delay matching techniques
US4720809A (en) Hybrid floating point/logarithmic number system arithmetic processor
US5951629A (en) Method and apparatus for log conversion with scaling
KR19980701803A (ko) 로그/역로그 변환기, 계산 장치 및 로그값 발생 방법
US4366549A (en) Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one
US4853887A (en) Binary adder having a fixed operand and parallel-serial binary multiplier incorporating such an adder
EP0877315A2 (en) Data processing circuit
US5694349A (en) Low power parallel multiplier for complex numbers
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
Buijs et al. Implementation of a fast Fourier transform (FFT) for image processing applications
KR0136486B1 (ko) 변형 부스 곱셈기
KR100513160B1 (ko) 감소된 면적을 갖는 캐리 예측 가산기
JPH09212485A (ja) 2次元idct回路
US6182105B1 (en) Multiple-operand addition with intermediate saturation
US5206826A (en) Floating-point division cell
Belyaev et al. A High-perfomance Multi-format SIMD Multiplier for Digital Signal Processors
JP3252954B2 (ja) 乗算方法および乗算回路
US4748581A (en) Digital root extraction circuit
Cardarilli et al. RNS implementation of high performance filters for satellite demultiplexing
KR930000997B1 (ko) 화상 배열 처리장치
KR100223752B1 (ko) 병렬 곱셈기
Seidel High-Performance Multiplication Modulo 2 n–3
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
KR0172308B1 (ko) 변형 부스 곱셈기

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: 20041230

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee