KR0136484B1 - 이진 보수 발생을 위한 병렬 곱셈기 - Google Patents
이진 보수 발생을 위한 병렬 곱셈기 Download PDFInfo
- Publication number
- KR0136484B1 KR0136484B1 KR1019940007708A KR19940007708A KR0136484B1 KR 0136484 B1 KR0136484 B1 KR 0136484B1 KR 1019940007708 A KR1019940007708 A KR 1019940007708A KR 19940007708 A KR19940007708 A KR 19940007708A KR 0136484 B1 KR0136484 B1 KR 0136484B1
- Authority
- KR
- South Korea
- Prior art keywords
- receiving
- bit
- clock
- multiplier
- binary
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5318—Multiplying 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
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 이진 보수 발생을 위한 병렬 곱셈기에 관한 것으로, 피승수(n) 비트의 입력비트를 받고 클럭을 제공받는 계수수단(22); 상기 계수수단(22)에 의해 분리된 입력 비트(n/2 비트)를 제공받고 승수(m)비트를 입력받는 병렬 곱셈수단(21); 상기 (m) 비트를 입력받고 상기 계수수단(22)으로 부터의 최대사인 비트(bn-1)를 제공받아 2진 보수 신호를 출력하는 2진 보수수단(23); 상기 병렬 곱셈수단(21)으로 부터의 병렬 곱셈 값을 입력 받고 상기 클럭신호를 각각 제공받는 제1 및 제2 레지스터(24,25); 상기 2진 보수수단(23)에 연결되고 살기 클럭을 제공받는 제3레지스터(26); 상기 제1 내지 제3 레지스터(24 내지 26)로 부터의 출력을 가산하여 출력하는 가산수단(28); 상기 가산수단(28)으로 부터의 출력을 입력받아 상기 클럭에 동기되어 출력하는 제4레지스터(27)를 구비하는 것을 특징으로 한다.
Description
제1도는 종래 기술에 대한 구성도.
제2도는 본 발명의 블럭 구성도.
제3도는 버스 마스타 제어부의 상세도.
제4도는 중재 제어부의 상세도.
제5도는 본 발명에 따른 타이밍도.
* 도면의 주요부분에 대한 부호의 설명
21 : 병렬 곱셈기 22 : 계수부
23 : 2진 보수기 24~27 : 레지스터
28 : 가산기
본 발명은 이진 보수 발생을 위한 병렬 곱셈기에 관한 것이다.
종래의 병렬 곱셈기는 여러가지가 있으나 주로 많이 쓰이는 방법은 전가산기(full adder)를 어레이(array)하여 사용하는 방법으로 월리스 트리(Wallace Tree)나 보-울리(Baugh-Wooley) 등이 있고, 곱셈기를 2비트 이상 구분하여 스킵(skip)하는 부스(Boot)방식이 있다. 각 방식은 각각의 잇점이 있으나 VLSI로 구현하는데 있어서 병렬 곱셈기의 문제는 에리어(area)에 있다. 병렬 곱셈기의 경우 전가산기를 어레이로 할 때 피승수가 n비트이고 승수가 m비트일 때 대략 n×(m-1)개의 전가산기가 필요하게 된다. 많은 미세한(specific) DSP 칩의 경우는 복수개의 병렬 곱셈기를 필요로 하고, 이 때 큰 에리어 때문에 분산연산(distributed arithmatic)등 다른 회로를 사용하는 경우가 많다.
제1도(a) 및 (b)는 종래의 기술에 관한 도면으로서, 제1도(a)는 피가수 발생기1과 피가수 합산기2로 구성된 n×m 비트 어레이 곰셈 방식이다.
따라서, n×m 비트의 곱셈 연산을 실행할 때, 먼저 피가수 발생기1에서 피승수와 승수간에 대응하는 각 비트 별로 발생하고 그 결과값을 피가수 합산기2에서 연산처리되어 곱셈 결과값(Pn+m-1,.....P1P0)을 얻는다. 종래 기술의 한 예로 4×4비트의 곱셈 연산을 제1도(b)에 나타내었다. 제1도(b)에서 보면 피승수 (a3,a2,a1,a0)와 승수(b3,b2,b1,b0)를 먼저 합산 발생 블럭에서 대응하는 각 비트별로 발생시킨다. 이와같이 발생된 값(a3b3....a1b1,a0b0)들은 곱셈 결과값(P7,....P1,P0)을 얻는다. 이와같이 제1도(b)에서 보면 피승수와 승수간의 비트수가 증가함에 따라 전가산기의 수가 비례적으로 증가하게 된다는 사실을 알 수 있다. 따라서, 이러한 종래의 곱셈 연산 장치는 피승수와 승수의 폭(width)이 증가함에 따라 전가산기의 증가로 곱셈 결과값을 구하는 데는 그 만큼 많은 시간이 소요되어 빠른 속도를 요구하는 다중 디지탈 신호 처리 장치에서는 불리하게 되는 문제점이 있으며, 또한 전가산기의 증가로 칩의 크기도 커지는 문제점이 있다.
상기 종래 기술의 문제점을 해결하기 위하여 안출된 본 발명은 이진 보수 회로를 추가하여 구성한 이진 보수 발생을 위한 병렬 곱셈기를 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위하여 본 발명은, 피승수(n)비트의 입력비트를 받고 클럭을 제공받는 계수수단; 상기 계수수단에 의해 분리된 입력 비트(n/2 비트)를 제공받고 승수(m)비트를 입력받는 병렬 곱셈수단; 상기(m)비트를 입력받고 상기 계수수단으로 부터의 최대사인 비트(bn-1)를 제공받아 2진 보수 신호를 출력하는 2진 보수수단; 상기 병렬 곱셈수단으로 부터의 병렬 곱셈 값을 입력받고 상기 클럭신호를 각각 제공받는 제1 및 제2 레지스터; 상기 2진 보수수단에 연결되고 상기 클럭을 제공받는 제3레지스터; 상기 제1 내지 제3레지스터로 부터의 출력을 가산하여 출력하는 가산수단; 상기 가산수단으로 부터의 출력을 입력받아 상기 클럭에 동기되어 출력하는 제4레지스터를 구비하는 것을 특징으로 한다.
이하, 첨부된 도면 제2도 이하를 참조하여 본 발명의 일실시예를 상세히 설명한다.
제2도는 본 발명에 따른 2진 보수 발생을 위한 병렬 곱셈기의 구조도로서, 도면에서 21은 병렬 곱셈기, 22는 계수부, 23은 2진보수기, 24 내지 27은 레지스터, 28은 가산기를 각각 나타낸다.
도면에 도시한 바와 같이 본 발명은, 피승수n비트의 입력비트를 받고 클럭을 제공받는 계수부(22), 상기 계수부(22)에 의해 n/2 비트로 분리된 입력 비트를 제공받고 승수 m 비트를 입력받는 병렬 곱셈기(21), 상기 m 비트를 입력받고 상기 계수부(22)로 부터의 최대사인 비트(bn-1)를 제공받아 2진 보수 신호를 출력하는 2진 보수기(23), 상기 병렬 곱셈기(21)로 부터의 병렬 곱셈값을 입력받고 상기 클럭신호를 각각 제공받는 두개의 레지스터(24,25), 상기 2진 보수기(23)에 연결되고 상기 클럭을 제공받는 레지스터(26), 상기 세개의 레지스터(24 내지 26)으로 부터의 출력을 가산하여 출력하는 가산기(28), 상기 가산기(28)로 부터의 출력을 입력받아 상기 클럭에 동기되어 출력하는 레지스터(27)을 구비한다.
상기와 같은 구성에 의한 동작 과정 및 작용효과를 설명하면 다음과 같다.
피승수 m비트는 병렬로 입력되지만 승수 n비트는 둘로 나뉘어 클럭 정 끝단(clock positive edge)에서는 하위 비트가 입력되고 클럭의 부 끝단(clock negative edge)에서는 상위 비트가 입력된다. 이 때 사인 비트인 MSB(Most Significant Bit)는 '0'으로 셋트되어 있다. 이 MSB의 연산은 이진 보수기(23)를 거쳐 이루어진다. 제5도의 전체적인 신호 타이밍을 이용하여 설명하면, 클럭의 정 끝단에서 곱셈 하위 비트를 로드하며 곱셈 연산을 수행한 결과를 상기 레지스터(24)에 의해 부 끝단에서 래치한 후 클럭의 정 끝단에서 곱셈 상위 비트를 로드하며 곱셈 연산을 수행한다. 상기 레지스터(24)에서는 하위 비트 계산치를 t1동안 출력하면 상위 비트 곱셈 연산 계산치가 레지스터(25)를 통해 t2동안 출력된다. 이와 동시에 2진 보수된 m비트 데이타가 레지스터(26)를 통해 t3동안 출력된다. t3동안 하위 비트 계산치와 상위 비트 계산치, 그리고 2진 보수된 값이 가산되어 레지스터(27)에 t4동안 래치된다. 그래서 이 값은 클럭 부 끝단에서 최종값이 출력된다. 그러므로 이러한 동작은 모두 파이프라인(pipeline) 가능하게 된다.
예를 들면, 데이타값이 0101이고 계수 데이타 값이 1101이면, 이 두값의 곱셈은
여기서, 사인 비트는 '1'이므로 데이타(0101)를 2진 보수한 값 1011을 레지스터(26)에 저장한다.
세개의 레지스터(24,25,26)의 출력을 가산하여 최종 결과를 얻는다. 즉, 결과는,
제3도는 계수부(22)의 상세도로서, 로드레지스터 n개(31-1 내지 31-n)로 구성되며 최종단의 레지스터(31-n)의 입력단에 앤드게이트(32)를 연결한다.
즉, bn/2-1에서 b0데이타는 클럭 정 끝단에서 출력되어 곱샘기에 로드되고, bn-1에서 bn/2데이타는 클럭 부 끝단에서 출력되어 곱셈기에 로드된다. 이 때 bn-1즉, 사인비트는 '0'으로 셋팅된다.
제4도는 로드 레지스터로 사용하는 2단자 2끝단 플립플롭(Dual port Dual edge flip-flop)의 구조를 보인다.
클럭신호를 클럭단에 인가받고 정 끝단의 입력신호를 받아 정출력단으로 출력하는 D 플립플롭(41), 상기 클럭신호를 인버터(46)를 통해 반전된 상태로 인가받고 부 끝단의 입력신호를 받아 정출력단으로 출력하는 D 플립플롭(42), 상기 클럭을 일입력으로 하고 타입력은 상기 D 플립플롭(41)의 정출력단의 출력으로 하여 논리곱 연산하는 앤드게이트(43), 상기 클럭을 인버터(47)를 통해 반전된 신호로 입력받고 상기 D 플립플롭(42)의 정출력단으로 부터의 출력을 타입력으로 하여 논리곱 연산하는 AND 게이트(44), 상기 두개의 AND 게이트(43,44)의 출력을 입력으로 하여 부정 논리합 연산하여 인버터(48)을 통해 출력하도록 하는 NOR게이트(45)를 구비한다.
즉, 두개의 D 플립플롭(41,42)을 보수발생 구조로 연결하여 하위 비트는 정 끝단에서 상기 제2도의 병렬 곱셈기(21)에 입력되며 상위 비트는 부 끝단에서 입력된다. 이처럼 두개의 플립플롭을 연결하여 하나의 출력을 내도록 하는 회로를 사용하여 각각의 클럭 위상 마다 곱셈 비트를 병렬 곱셈기(21)에 로드할 수 있도록 한다.
본 발명의 곱셈기는 곱셈 연산 폭이 w일 때 마치 w/2비트를 1디지트로 하는 디지트 직렬 장치와 같은 효과를 보이며, 하나의 클럭을 로우 구간과 하이 구간으로 나누어 하나의 클럭 동안 두번의 동작을 수행한다. 예를 들어 n×m 비트 곱셈 연산의 경우 곱셈기 m 비트를 상위 m/2 비트와 하위 m/2 비트로 나누어 한 클럭 동안 행한 두번의 결과를 합함으로써 결과적으로 m×n 곱셈 연산 결과를 얻는다. 이 때 실제 계산을 수행하는 장치는 n×m/2비트만을 처리하기 때문에 n×m 비트 곱셈연산을 수행하는 일반적인 곱셈기에 비해 절반 정도의 에리어만이 필요하다. 대부분의 디지탈 신호 처리에서 사용되는 곱셈기는 계수(예를 들면 디지탈 필터의 계수)와 처리하려는 데이타와의 곱셈 연산을 위해 필요하다. 일반적으로 계수는 음수와 양수가 가능하지만 데이타는 대부분 양수뿐인 경우가 많다. 그렇기 때문에 본 발명의 곱셈기는 피승수를 계수로 승수를 데이타로 하였을 경우 2진 보수 포맷의 피승수와 양수의 승수의 곱셈 연산을 수행할 수 있다. 이러한 곱셈기는 계수의 사인 비트를 검사하여 사인 비트에 따라 데이타를 2진 보수 처리하여 최종단에서 가산함으로써 가능하게 된다.
따라서, 상기와 같은 본 발명은 대부분의 디지탈 필터회로에서는 계수를 양·음수를 다 사용하지만 데이타 값은 양수를 사용하는 경우가 많으므로 이럴 경우 종래의 회로에 2진 보수 회로만 추가하여 구현할 수 있다.
Claims (1)
- 피승수(n) 비트의 입력비트를 받고 클럭을 제공받는 계수수단(22); 상기 계수수단(22)에 의해 분리된 입력 비트(n/2 비트)를 제공받고 승수(m)비트를 입력받는 병렬 곱셈수단(21); 상기 (m) 비트를 입력받고 상기 계수수단(22)으로 부터의 최대사인 비트(bn-1)를 제공받아 2진 보수 신호를 출력하는 2진 보수수단(23); 상기 병렬 곱셈수단(21)으로 부터의 병렬 곱셈 값을 입력받고 상기 클럭신호를 각각 제공받는 제1 및 제2 레지스터(24,25); 상기 2진 보수수단(23)에 연결되고 상기 클럭을 제공받는 제3레지스터(26); 상기 제1 내지 제3레지스터(24 내지 26)로 부터의 출력을 가산하여 출력하는 가산수단(28); 상기 가상수단(28)으로 부터의 출력을 입력받아 상기 클럭에 동기되어 출력하는 제4레지스터(27)를 구비하는 것을 특징으로 하는 이진 보수 발생을 위한 병렬 곱셈기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940007708A KR0136484B1 (ko) | 1994-04-13 | 1994-04-13 | 이진 보수 발생을 위한 병렬 곱셈기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940007708A KR0136484B1 (ko) | 1994-04-13 | 1994-04-13 | 이진 보수 발생을 위한 병렬 곱셈기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950029926A KR950029926A (ko) | 1995-11-24 |
KR0136484B1 true KR0136484B1 (ko) | 1999-05-15 |
Family
ID=19380931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940007708A KR0136484B1 (ko) | 1994-04-13 | 1994-04-13 | 이진 보수 발생을 위한 병렬 곱셈기 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0136484B1 (ko) |
-
1994
- 1994-04-13 KR KR1019940007708A patent/KR0136484B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950029926A (ko) | 1995-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5506799A (en) | Booth array multiplying circuit having carry correction | |
US8645450B1 (en) | Multiplier-accumulator circuitry and methods | |
US5325320A (en) | Area efficient multiplier for use in an integrated circuit | |
US3515344A (en) | Apparatus for accumulating the sum of a plurality of operands | |
US6728744B2 (en) | Wide word multiplier using booth encoding | |
US5177703A (en) | Division circuit using higher radices | |
US5010511A (en) | Digit-serial linear combining apparatus useful in dividers | |
US4796219A (en) | Serial two's complement multiplier | |
US5164724A (en) | Data format converters for use with digit-serial signals | |
US5016011A (en) | Increased performance of digital integrated circuits by processing with multiple-bit-width digits | |
JP2009507413A (ja) | 全加算器モジュールおよび該全加算器モジュールを用いる乗算器デバイス | |
EP0517241A2 (en) | Interleaved multiplier accumulator | |
US6484193B1 (en) | Fully pipelined parallel multiplier with a fast clock cycle | |
US5034908A (en) | Digit-serial transversal filters | |
KR0136484B1 (ko) | 이진 보수 발생을 위한 병렬 곱셈기 | |
Safari et al. | Novel implementation of full adder based scaling in Residue Number Systems | |
KR0147942B1 (ko) | 승산기에서의 부스 레코딩회로 | |
US6182105B1 (en) | Multiple-operand addition with intermediate saturation | |
Shawl et al. | Implementation of Area and Power efficient components of a MAC unit for DSP Processors | |
JPS6259828B2 (ko) | ||
Shah et al. | Design and Implementation of 32-bit Vedic Multiplier on FPGA | |
US7548942B2 (en) | Base four processor | |
KR100251547B1 (ko) | 디지탈신호처리기(Digital Sgnal Processor) | |
KR100386979B1 (ko) | 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기 | |
TATSAKI et al. | Efficient bit-serial VLSI implementation of the 4× 4-point discrete cosine transform |
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 |