KR19980026053A - 곱셈기의 설계 방법 - Google Patents
곱셈기의 설계 방법 Download PDFInfo
- Publication number
- KR19980026053A KR19980026053A KR1019960044378A KR19960044378A KR19980026053A KR 19980026053 A KR19980026053 A KR 19980026053A KR 1019960044378 A KR1019960044378 A KR 1019960044378A KR 19960044378 A KR19960044378 A KR 19960044378A KR 19980026053 A KR19980026053 A KR 19980026053A
- Authority
- KR
- South Korea
- Prior art keywords
- multiplier
- algorithm
- design
- bits
- present
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
본 발명은 곱셈기 설계 방식에 관한 것이다. 본 발명은 곱셈기 설계 방법에 있어서, 보-울리 알고리즘을 이용함으로써 곱셈기 구조가 간단해지고 곱셈기 설계 시간이 단축된다.
Description
본 발명은 곱셈기의 설계 방법에 관한 것으로서, 특히 보-울리(Baugh-Wooley) 알고리즘을 이용한 곱셈기의 설계 방법에 관한 것이다.
일반적으로 곱셈기는 부쓰 엔코딩(Booth Encoding)이나 왈리스 트리(Wallace Tree) 등, 병렬 곱셈기에서 주로 사용하는 방식 회에도 보-울리 알고리즘이라는 알고리즘을 도입하여 사인 익스텐션(sign extention)을 없애는 방법을 제안하여 하드웨어의 낭비를 최소화하고자 한다.
일반적으로, NxN 곱셈의 경우 N개의 부분 프로덕트(partial product)가 존재하고 결과는 2N 비트로 나타내어진다. 그리고 이 2N 비트의 결과는 다시 N 비트로 라운딩(rounding)된다. 어레이 곱셈 방식(Array Multiplication)는 곱힘수(multiplicand)를 곱수(multiplier)의 각 비트와 논리적으로 앤드(AND)하여 다이아몬드 형태의 부분 프로덕트를 만들고 이를 모두 더함으로써 결과를 얻는 것이다. 다음의 예는 어레이 곱셈 방식을 이용하여 2개의 8비트 데이터를 곱할 때 생기는 부분 프로덕트를 나타낸 것이다.
1 1 0 1 1 0 0 1
x 1 1 1 0 0 0 1 1
---------------------
1 1 0 1 1 0 0 1
1 1 0 1 1 0 0 1
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 1 0 1 1 0 0 1
1 1 0 1 1 0 0 1
1 1 0 1 1 0 0 1
그러나 위와 같은 형태의 곱셈 방식은 우리가 손으로 계산하는 방식을 그대로 따르기 때문에 병렬로 일을 수행 할 수 있는 컴퓨터의 잇점을 살리지 못하여 좋은 성능을 얻기 힘들다. 단지, 상기 어레이 곱셈 방식에 따르면 부분 프로덕트가 다이아몬드 형태로 나타나기 때문에 곱셈기를 설계하는데 곱셈기의 구조가 간단하게 된다. 반면, 부분 프로덕트의 수가 8개나 되어서 곱셈기를 설계하는데 설계 시간이 많이 소요되는 단점이 있다. 이러한 단점을 극복하기 위해 수정된 부쓰 알고리즘(Modified Booth Algorithm)을 이용한다. 이는 우선 N개의 부분 프로덕트를 반으로 줄이기 위하여 제안된 것으로 보통의 경우 (N/2)개의 부분 프로덕트로 줄어들게 된다. 다음 식은 상기 어레이 곱셈 방식에 사용된 데이터를 수정된 부쓰 알고리즘에 적용했을 때 나타나는 부분 프로덕트를 보여준다.
0 0 1 1 0 1 1 0 0 1
0 0 1 1 1 0 0 0 1 1 0
----------------------------
1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 : - X (110)
0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 : + X (001)
1 1 1 1 1 0 0 1 0 0 1 1 0 1 : - 2X (100)
1 1 1 1 1 1 1 1 1 1 1 1 1 : - zero(111)
0 0 1 1 0 1 1 0 0 1 1 : + X (001)
|----------- 유효 ------------|
위의 예에서 주의해야 할 점은 부분 프로덕트의 8비트와 부호 확대 부분이다. 먼저 부분 프로덕트의 경우 앞서 말한 그대로라면 4개의 부분 프로덕트만 나와야 하는데 5개가 생성되어 있음을 볼 수 있다. 그 이유는 8비트의 데이터에 2비트가 추가되었기 때문이다. 추가된 2비트는 부분 프로덕트가 -X와 같이 음수를 가지는 경우를 위한 1비트와 부분 프로덕트가 -2X를 가질 경우 1비트 레프트 쉬프트(left shift)에 의하여 위의 1비트 쉬프트 아웃(shift out)되는 것을 막기 위한 나머지 1비트가 각각 MSB에 추가된다. 사인 익스텐션은 어레이 곱셈기에서는 필요없는 부분인데 이는 부분 프로덕트를 2의 보수(2's complement)로 표현함에 따른 부쓰 알고리즘의 단점이다.
상술한 바와 같이 종래 기술에 의하면, 사인 익스텐션이 발생하여 전체적인 하드웨어는 정방형의 레이아웃(layout)을 가지기 어렵게 된다. 라우팅(routing)이 복잡해지며 설계 시간이 증가하게 된다.
본 발명이 이루고자 하는 기술적 과제는, 부분 프로덕트가 감소되고 사인 익스텐션을 제거하여 신속한 하드웨어 오버헤드(overhead)를 얻을 수 있는 곱셈기 설계 방법을 제공하는데 있다.
도 1은 일반적인 16x16 곱셈기의 전체 블록도.
도 2는 본 발명의 보-울리 알고리즘을 이용하여 설계한 곱셈기의 배치도.
도 3은 상기 도 2의 콤프레서(compressor)의 논리 회로도.
도 4는 상기 도 1에 이용되는 부쓰 엔코더(Booth-Encoder)의 논리 회로도.
도 5는 상기 도 1에 이용되는 부쓰 디코더(Booth-Decoder)의 논리 회로도.
상기 과제를 이루기 위하여 본 발명은, 곱셈기 설계 방식에 있어서, 보-울리 알고리즘을 이용하는 것을 특징으로 하는 곱셈기 설계 방식을 제공한다.
바람직하기는, 상기 보-울리 알고리즘은 왈리스 트리에 적용한다.
상기 본 발명에 의하여 곱셈기 구조가 간단해지고 곱셈기 설계 시간이 단축된다.
이하, 본 발명을 상세히 설명하기로 한다.
사인 익스텐션을 제거하기 위하여 보-울리 알고리즘을 이용한다. 보-울리 알고리즘의 요지는 사인 익스텐션 부분을 몇 개의 동등 비트(equivqlent bit)로 전환하는 것인데 이를 식으로 나타내면 다음과 같다. 다음 식은 식을 간단히 하기 위하여 8x8 곱셈기를 설계하기 위한 것이다.
S=S0 2i+S1 2i+S2 2i= S0 2i+(S1 2i)22+(S2 2i)24----①
여기서 S0,S1,S2는 각 부분 프로덕트의 부호비트이다. 상기 식 ①을 간략화하기 위해 다음과 같이 전개한다.
2i=2j(2k+1-j-1)=2k+1-2j
=1-Sj
이므로
S=(1-)(216+210)+(1-)(216-212)+(1-)(216-214)
=[3-(++)]216+210+212+214-210-212-214
=[2-(++)]216+210+212+214+216-(28+210+212+214)216
=2i+1
=2i+1+210+211+···+215
=+1+210+211+···+215
=210+210+211+···+215
S=[2-(++)]216+210+212+214+210+211+213+215
S=210+212+214+210+211+213+215------- ②
상기 식 ②를 종래의 어레이 곱셈 방식과 수정된 부쓰 알고리즘에 적용하면 다음과 같다.
0 0 1 1 0 1 1 0 0 1
0 0 1 1 1 0 0 0 1 1 0
--------------------------
0 1 1 0 0 1 0 0 1 1 0
1 0 0 1 1 0 1 1 0 0 1 1
0 1 0 0 1 0 0 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1
0 0 1 1 0 1 1 0 0 1 1
1 1 1 1
|---------- 유효 -----------|
위의 예를 수정된 부쓰 알고리즘과 비교해보면 12개의 부호 확대 비트가 7개의 동등 비트로 감소하였음을 알 수 있다. 이 경우 별 이득이 없어 보이지만 곱셈기의 크기가 커질수록 사인 익스텐션 부분은 기하급수적으로 증가하는데 반하여 보-울리 방식에 의한 부분은 그리 많이 증가하지 않는다. 예를 들면 16x16의 경우 사인 익스텐션 부분은 36비트이지만 보-울리 알고리즘을 사용하면 이 부분은 단 15비트로 줄어들며 부동 소숫점의 더블 프리시젼(double precision)과 같이 54x54의 경우 676개의 비트가 단 26개의 동등 비트로 전환될 수 있다. 또한 위의 예에서 볼 수 있듯이 어느 정도 규칙적인 다이아몬드 형태의 부분 프로덕트 어레이를 얻을 수 있다는 장점을 얻을 수 있는 것이다.
상기 알고리즘을 하드웨어로 구현한 것을 도 1에 나타내었다. 병열 연산을 하기 위한 왈리스 트리 구조를 가지고 있으며, 각각의 작은 블록은 다양한 크기의 콤프레서 셀로 구성되어있다.
도 2는 본 발명의 보-울리 알고리즘을 이용하여 설계한 곱셈기의 배치도이다. 사인 익스텐션이 몇 개의 동등 비트로 전환되는 것은 곧바로 하드웨어에 영향을 주는데 도 2에서 볼 수 있듯이 어레이 곱셈기와 비슷한 배치도 구조를 가질 수 도 3은 상기 도 2의 콤프레서(compressor)의 논리 회로도이다. 주로 4개의 입력을 받아 두 개의 캐리(carry)와 섬(sum)으로 압축하는 4-2 콤프레서를 사용하고 있다. 또한 부쓰 알고리즘을 사용함에 따른 부쓰 엔코더(encoder), 부쓰 디코더(decoder)의 회로도를 도 4와 도 5에 각각 나타내었다.
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 기술적 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 명백하다.
상술한 바와 같이 본 발명에 따라 보-울리 알고리즘을 이용함으로써 부분 프로덕트의 수가 적고 사인 익스텐션이 제거되어 곱셈기의 구조가 간단해지고 설계 시간이 단축된다.
Claims (2)
- 곱셈기 설계 방식에 있어서, 보-울리 알고리즘을 이용하는 것을 특징으로 하는 곱셈기 설계 방식.
- 제1항에 있어서, 상기 보-울리 알고리즘은 왈리스 트리에 적용하는 것을 특징으로 하는 곱셈기 설계 방식.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960044378A KR19980026053A (ko) | 1996-10-07 | 1996-10-07 | 곱셈기의 설계 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960044378A KR19980026053A (ko) | 1996-10-07 | 1996-10-07 | 곱셈기의 설계 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980026053A true KR19980026053A (ko) | 1998-07-15 |
Family
ID=66325235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960044378A KR19980026053A (ko) | 1996-10-07 | 1996-10-07 | 곱셈기의 설계 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19980026053A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160116286A (ko) * | 2015-03-25 | 2016-10-07 | 삼성전자주식회사 | 병렬 곱셈기의 배치 방법 |
-
1996
- 1996-10-07 KR KR1019960044378A patent/KR19980026053A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160116286A (ko) * | 2015-03-25 | 2016-10-07 | 삼성전자주식회사 | 병렬 곱셈기의 배치 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0890899A2 (en) | Multiplication method and apparatus | |
US6704762B1 (en) | Multiplier and arithmetic unit for calculating sum of product | |
US5796645A (en) | Multiply accumulate computation unit | |
Vassiliadis et al. | Hard-wired multipliers with encoded partial products | |
US5161119A (en) | Weighted-delay column adder and method of organizing same | |
US5343417A (en) | Fast multiplier | |
US4366549A (en) | Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one | |
JP3345894B2 (ja) | 浮動小数点乗算器 | |
US5038315A (en) | Multiplier circuit | |
US4545028A (en) | Partial product accumulation in high performance multipliers | |
KR19980026053A (ko) | 곱셈기의 설계 방법 | |
JPH09501528A (ja) | 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法 | |
Jain et al. | High-speed double precision computation of nonlinear functions | |
EP0314968A2 (en) | Overlapped multiple-bit scanning multiplication system with banded partial product matrix | |
EP0326182A2 (en) | High speed digital signal processor for signed digit numbers | |
US5914892A (en) | Structure and method of array multiplication | |
Aggoun et al. | Area-time efficient serial-serial multipliers | |
US7007053B1 (en) | Area efficient realization of coefficient architecture for bit-serial FIR, IIR filters and combinational/sequential logic structure with zero latency clock output | |
Veena et al. | Energy scalable Brent Kung adder with non-zeroing bit truncation | |
JPWO2006088085A1 (ja) | 加算器、およびその合成装置、合成方法、合成プログラム、合成プログラム記録媒体 | |
JP2790327B2 (ja) | 剰余乗算回路および剰余乗算方法 | |
JPH0635673A (ja) | 乗算方法及び回路 | |
KR950010451B1 (ko) | 그룹 트리구조 알고리즘(GTSM ; Group Tree Structure Method)을 적용한 고속 승산기 | |
ASHER et al. | Adaptive booth algorithm for three-integers multiplication for reconfigurable mesh | |
Aggoun et al. | Radix-2n serial–serial multipliers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |