KR100322550B1 - Booth multiplier and design - Google Patents

Booth multiplier and design Download PDF

Info

Publication number
KR100322550B1
KR100322550B1 KR1019970082119A KR19970082119A KR100322550B1 KR 100322550 B1 KR100322550 B1 KR 100322550B1 KR 1019970082119 A KR1019970082119 A KR 1019970082119A KR 19970082119 A KR19970082119 A KR 19970082119A KR 100322550 B1 KR100322550 B1 KR 100322550B1
Authority
KR
South Korea
Prior art keywords
multiplicand
booth
multiplier
adder
multipliers
Prior art date
Application number
KR1019970082119A
Other languages
Korean (ko)
Other versions
KR19990061829A (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 KR1019970082119A priority Critical patent/KR100322550B1/en
Publication of KR19990061829A publication Critical patent/KR19990061829A/en
Application granted granted Critical
Publication of KR100322550B1 publication Critical patent/KR100322550B1/en

Links

Images

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/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49973Rounding towards negative infinity, e.g. truncation of two's complement numbers
    • 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/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • G06F7/5312Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders

Landscapes

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

Abstract

PURPOSE: A booth multiplier and a digital filter for adopting the same are provided to create a multiplicand of a negative number simply without using an incrementer. CONSTITUTION: A booth table(202) includes transformation information for transforming a multiplicand in accordance with a multiplier being inputted by a predetermined booth algorithm. An encoder(204) transforms the multiplicand being inputted in accordance with the transformation information, generates a transformed multiplicand, and generates an increment control signal necessary for transforming into a multiplicand of a negative number. The encoder(204) outputs a coded result being expressed as 1's complement for creating a multiplicand of a negative number.

Description

부스 곱셈기와 이를 채용한 디지털 필터{Booth multiplier and design}Booth multiplier and digital filter employing it {Booth multiplier and design}

본 발명은 부스 곱셈기와 이를 채용한 디지털 필터에 관한 것으로, 특히 음의 피승수의 생성을 증가기를 사용하지 않고 구현하여 하드웨어 크기와 연산으로 인한 지연을 줄일 수 있는 부스 곱셈기와 이를 채용한 디지털 필터에 관한 것이다.The present invention relates to a booth multiplier and a digital filter employing the same, and more particularly, to a booth multiplier and a digital filter employing the same that can implement the generation of the negative multiplier without using an increaser to reduce the delay caused by hardware size and operation will be.

일반적으로, 곱셈기의 구현에 많이 사용되는 부스 알고리즘(booth algorithm)은 여러개의 비트를 한 번에 곱하는 기능과 2의 보수 곱셈을 쉽게 해결할 수 있으므로 여러 형태로 개량되어 왔다.In general, a booth algorithm, which is widely used in the implementation of a multiplier, has been improved in various forms because a function of multiplying a plurality of bits at a time and a two's complement multiplication can be easily solved.

여기서, 부스 알고리즘은 곱셈을 행할 때 승수와 피승수를 한 비트씩 비교하여 행하는 것이 아니라 일정한 형태의 기록 테이블을 두고 이 기록 테이블에 맞게 승수에 따른 변형을 피승수에 행하여 동시에 여러 비트를 곱하는 방법이다.Here, the booth algorithm does not compare the multiplier and the multiply bit by bit when performing the multiplication, but instead of multiplying the multiplicand by multiplying the multiplicand by multiplying the multiply according to the multiplier according to the recording table.

부스 알고리즘을 위한 가장 간단한 기록 테이블(부스 테이블로 약칭함)은 아래 표 1과 같다.The simplest record table (abbreviated as booth table) for the booth algorithm is shown in Table 1 below.

승 수Win count i 번째 비트에 해당하는 피승수의 변형variant of the multiplicand corresponding to the i th bit i 번째 비트i th bit i-1 번째비트i-1th bit 00 00 0

Figure pat00001
피승수0
Figure pat00001
multiplicand 00 1One +1
Figure pat00002
피승수
+1
Figure pat00002
multiplicand
1One 00 -1
Figure pat00003
피숭수
-One
Figure pat00003
Bloodman
1One 1One 0
Figure pat00004
피승수
0
Figure pat00004
multiplicand

위 부스 테이블에서는 2비트단위의 승수에 따라 피승수에 0, +1 또는 -1을 곱해서 피승수를 변형하고 있다. 이 부스 테이블에서 알 수 있듯이, -1

Figure pat00005
피승수가 필요하고 이를 구현하려면 2의 보수 연산을 수행하여야 한다.In the booth table above, the multiplicand is transformed by multiplying the multiplicand by 0, +1, or -1 according to the multiplier in 2-bit units. As you can see from this booth table, -1
Figure pat00005
The multiplicand needs to be implemented and the two's complement operation must be performed.

승수에 따른 피승수의 변형에는 표 1에서 언급한 부스 테이블외에도 3비트 이상을 동시에 비교 판단하는 변형 부스 알고리즘(modified booth algorithm)이 있다. 그러나, 모든 부스 알고리즘에는 피승수에 음의 값을 곱하는 즉, 2의 보수 연산을 필요로 한다. 2의 보수 연산을 수행하려면 일반적으로 피승수에 1의 보수를 취하고 즉, 피승수를 인버팅하고 인버팅된 결과에 1을 더하는 방법을 취한다. n비트를 갖는 수 A를 피승수로 보고 2진수로 표현할 때 수학식 1과 같이 주어진다.In addition to the booth table mentioned in Table 1, there is a modified booth algorithm that compares three bits or more at the same time. However, all booth algorithms require multiplying the multiplicand by a negative value, that is, two's complement operation. To perform a two's complement operation, one usually takes a one's complement to the multiplicand, that is, inverts the multiplicand and adds one to the inverted result. When a number A having n bits is regarded as a multiplicand and expressed in binary, it is given by Equation 1.

A=X[n-1]~X[n-2]~X[n-3]~...~X[1]~X[0]A = X [n-1] ~ X [n-2] ~ X [n-3] ~ ... ~ X [1] ~ X [0]

이를 2의 보수로 바꾸기 위해서는 수학식 2와 같이 각 비트를 인버팅시킨다.To convert this to two's complement, invert each bit as shown in Equation 2.

Figure pat00006
Figure pat00006

인버팅된 피승수(

Figure pat00007
A)에 수학식 3과 같이 1을 증가시켜야 한다.Inverted multiplicand (
Figure pat00007
In A), 1 should be increased as in Equation 3.

Figure pat00008
Figure pat00008

이때, 2의 보수를 연산하기 위해서 필요한 증가기는 입력되는 n비트에 비례하여 증가하는 반가산기(half adder)이고 시간 지연도 비례하여 증가한다.At this time, the incrementer necessary to calculate the two's complement is a half adder that increases in proportion to the n-bit input and the time delay also increases in proportion.

부스 알고리즘 또는 이의 변형된 형태인 변형 부스 알고리즘을 구현하려면 승수에 따른 피승수의 변형이 필요하고 이러한 변형의 한가지인 음의 피승수를 구현하려면 일반적으로 피승수의 값을 인버팅하고 1을 더하여 2의 보수를 만들어 왔다.Implementing the booth algorithm or its modified form, the modified booth algorithm, requires multiplying the multiplicands according to the multiplier, and to implement a negative multiplicator, one of these variants, typically inverts the value of the multiplicand and adds one to the two's complement. I have made it.

따라서, 종래의 부스 곱셈기를 구현하기 위하여 부스 알고리즘을 이용하면 피승수에 대한 2의 보수가 필요하고, 이때 필요로 하는 1을 더하는 기능을 수행하는 증가기(incrementer)가 항상 필요하고 이러한 증가기는 입력 비트수가 커짐에 따라 비례하여 증가하므로 하드웨어 구현시 비용증가와 더불어 연산 지연을 유발하는 문제점이 있었다. 부스 곱셈기를 여러개 사용하는 디지털 필터의 경우는 특히 언급한 증가기의 증가로 인하여 비용상승을 유발시키는 문제점이 있었다.Therefore, using a booth algorithm to implement a conventional booth multiplier requires two's complement to the multiplicand, and an incrementer is always needed to perform the function of adding the required one, which is an input bit. Since the number increases proportionally as the number increases, there is a problem of causing an increase in cost and computational delay in hardware implementation. In the case of a digital filter using multiple bus multipliers, there is a problem of causing a cost increase due to the increase of the multiplier.

상기한 문제점을 해결하기 위하여, 본 발명의 목적은 음의 피승수의 생성을 증가기를 사용하지 않고 간단하게 구현한 부스 곱셈기를 제공하는 데 있다.In order to solve the above problems, it is an object of the present invention to provide a booth multiplier that simply implements the generation of a negative multiplicand without using an incrementer.

본 발명의 다른 목적은 증가기를 사용하지 않는 다수의 각 부스 곱셈기로부터 발생하는 음의 피승수 생성에 증가치가 필요하다는 제어 정보를 이용하여 음의피승수를 생성하는 디지털 필터를 제공하는 데 있다.Another object of the present invention is to provide a digital filter for generating a negative multiplier using control information that an increase value is required for generating a negative multiplicant generated from a plurality of booth multipliers that do not use an increaser.

상기의 목적을 달성하기 위하여, 본 발명에 의한 부스 곱셈기는 소정의 부스 알고리즘에 의해 입력되는 승수에 따라 피승수를 변형시키기 위한 변형 정보가 기록된 부스 테이블 및 변형 정보에 따라 입력되는 피승수를 변형시켜 변형된 피승수를 발생하고, 음의 피승수로 변형하기 위해서 필요한 증가 제어신호를 발생하는 엔코더를 포함함을 특징으로 한다.In order to achieve the above object, the booth multiplier according to the present invention is modified by modifying the multiplicand inputted in accordance with the booth table and the modified information is recorded in the deformation information for modifying the multiplier according to the multiplier input by a predetermined booth algorithm And an encoder for generating a multiplied multiplier and generating an increase control signal necessary for transforming to a negative multiplicand.

상기의 다른 목적을 달성하기 위하여, 본 발명에 의한 부스 곱셈기를 채용한 디지털 필터는 소정의 부스 알고리즘에 의해 n개의 입력되는 승수에 따라 피승수를 변형시키기 위한 변형 정보가 기록된 부스 테이블로부터 독출된 변형 정보에 따라 입력되는 피승수를 변형시켜 변형된 피승수를 발생하고, 음의 피승수로 변형하기 위해서 필요한 증가 제어신호를 발생하는 n개의 부스 곱셈기, 증가 제어신호에 따라 n개의 부스 곱셈기에서 음의 피승수로 변형되는 수에 해당하는 증가치를 부호화하여 부호화된 증가치를 공급하는 엔코더 및 n개의 변형된 피승수와 부호화된 증가치를 가산하는 가산기를 포함함을 특징으로 한다.In order to achieve the above another object, the digital filter employing the booth multiplier according to the present invention is a deformation read from a booth table in which deformation information for modifying the multiplier according to n input multipliers by a predetermined booth algorithm is recorded. N booth multipliers for generating a modified multiplicand by transforming the input multiplicand according to the information, and generating an increase control signal necessary for transforming to a negative multiplicand, and converting the n multiply multipliers from a n booth multiplier according to the increase control signal. And an encoder for supplying the encoded increase value by encoding the increase value corresponding to the number, and an adder for adding the n modified multiplicands and the encoded increase value.

도 1은 종래의 부스 곱셈기를 채용한 디지털 필터의 구조이다.1 is a structure of a digital filter employing a conventional booth multiplier.

도 2는 본 발명에 의한 부스 곱셈기를 채용한 디지털 필터의 구조이다.2 is a structure of a digital filter employing a bus multiplier according to the present invention.

도 3은 도 2에 도시된 제1 가산기의 구조를 보인 도면이다.3 is a diagram illustrating a structure of a first adder shown in FIG. 2.

이하, 첨부된 도면을 참조하여 본 발명에 의한 부스 곱셈기와 이를 채용한 디지털 필터에 대하여 바람직한 실시예를 설명하기로 한다.Hereinafter, a preferred embodiment of a bus multiplier and a digital filter employing the same according to the present invention will be described with reference to the accompanying drawings.

먼저, 부스 알고리즘이 적용되는 하나의 예로서 디지털 필터를 들 수 있으며, 본 발명의 이해를 돕기 위하여 부스 알고리즘을 사용하는 부스 곱셈기를 채용한 기존의 디지털 필터의 구조는 도 1에 도시되어 있다.First, a digital filter is an example to which the booth algorithm is applied. The structure of a conventional digital filter employing a booth multiplier using the booth algorithm is illustrated in FIG. 1 to assist in understanding the present invention.

도 1에 있어서, 설명의 편의상 입력 비트수에 결정되는 다수의 부스 곱셈기 중 하나의 부스 곱셈기(100)만 도시되어 있다.In FIG. 1, for convenience of explanation, only one booth multiplier 100 of the plurality of booth multipliers determined by the number of input bits is shown.

부스 곱셈기(100)의 부스 테이블(102)은 일 예로서 표 1에 도시된 부스 테이블일 수 있으며, 입력되는 승수 a[0]에 따른 피승수 b[0]의 일정한 형태의 변형을 결정하는 정보(+1, -1 또는 0)를 엔코더(108)에 인가한다. 또한, 이 변형에는 2의 보수로의 변형도 포함되어 있으므로, 부스 테이블(102)은, 피승수를 음의 피승수로 만들어야 하는 변형이라면 증가기(INC로 표기되어 있음:104)에 의해 "1"이 증가된 피승수를 선택하고 그렇지 않으면 입력되는 피승수 b[0]를 선택하도록 멀티플렉서(MUX로 표기되어 있음:106)에 선택제어신호를 인가한다.The booth table 102 of the booth multiplier 100 may be, for example, the booth table shown in Table 1, and determines information of a certain form of deformation of the multiplicand b [0] according to the input multiplier a [0] ( +1, -1 or 0) is applied to encoder 108. In addition, since the deformation includes the modification to the two's complement, the booth table 102 indicates that "1" is represented by the incrementer (denoted by INC: 104) if the deformation requires the multiplicand to be a negative multiplicand. A selection control signal is applied to the multiplexer (denoted MUX: 106) to select the multiply multiplied and to otherwise input the multiplicand b [0].

엔코더(108)는 멀티플렉서(106)에 의해 선택된 피승수를 부스 테이블(102)로부터 독출되는 정보(+1, -1 또는 0)를 곱해서 승수 비트값에 따라 부스 알고리즘이 적용된 피승수의 결과(이하 변형된 피승수라고 약칭함)를 제1 가산기(110)에 인가한다.The encoder 108 multiplies the multiplicand selected by the multiplexer 106 by the information (+1, -1 or 0) read out from the booth table 102, resulting in a multiplicand to which the booth algorithm is applied according to the multiplier bit value (hereinafter, modified). Abbreviated multiplier) is applied to the first adder 110.

디지털 필터에 있어서 곱셈기의 출력이 동시에 여러개 더해지는 동작은 기본적인 동작이다. 따라서, 제1 가산기(110)는 n개의 부스 곱셈기의 출력(multiple[0],...,multiple[n-1])을 동시에 더해서 배럴 시프터(112)에 인가한다. 이때, 배럴 시프터(112)는 표 1의 부스 테이블을 사용하는 부스 곱셈기이면 제1 가산기(112)의 출력을 1비트단위로 증가해서 시프트시키고, 변형 부스 곱셈기라면 제1 가산기(112)의 출력을 2비트 또는 그 이상의 비트단위로 증가해서 시프트시킨다.In a digital filter, the operation of adding multiple multipliers simultaneously is a basic operation. Accordingly, the first adder 110 adds the outputs of multiple n-boos multipliers (multiple [0], ..., multiple [n-1]) to the barrel shifter 112 at the same time. At this time, the barrel shifter 112 increases and shifts the output of the first adder 112 in units of 1 bit if the booth multiplier uses the booth table shown in Table 1, and shifts the output of the first adder 112 if it is a modified booth multiplier. Shift in increments of two or more bits.

예를 들어 표 1의 부스 테이블을 사용하는 경우라면 배럴 시프터(112)는 제1 가산기(112)의 두 번째 출력부터 1비트 시프트시키고, 제1 가산기(112)의 세 번째 출력은 2비트 시프트시키게 된다. 이 배럴 시프터(112)에 인가되고 있는 제어신호(p)는 미리 정해진 양만큼의 시프트 작용에서 어느 정도를 시프트할 지를 나타내며, 부스 테이블(102)에도 인가되고 있다.For example, when using the booth table shown in Table 1, the barrel shifter 112 shifts one bit from the second output of the first adder 112 and shifts the third output of the first adder 112 two bits. do. The control signal p applied to the barrel shifter 112 indicates how much to shift by a predetermined amount of shift action, and is also applied to the booth table 102.

제2 가산기(114)는 배럴 시프터(112)의 출력과 누적기(116)로부터 피드백되는 누적된 값을 가산해서 다시 누적기(116)에 인가해서 반복적인 합에 의해 n개의 피승수와 n개의 승수를 곱하여 모두 합한 결과를 누적기(112)로부터 출력된다.The second adder 114 adds the output of the barrel shifter 112 and the accumulated value fed back from the accumulator 116 and applies it to the accumulator 116 again by an iterative sum of n multipliers and n multipliers. Multiply by and sum the sum result is output from the accumulator 112.

따라서, 도 1에 도시된 기존의 부스 곱셈기를 포함한 디지털 필터는 증가기가 필요하게 되고 이 증가기로 인한 전체적인 지연도 발생하게 된다.Therefore, the digital filter including the conventional bus multiplier shown in FIG. 1 requires an increaser, and an overall delay caused by the increaser.

그러나, 본 발명에서 제안하는 부스 곱셈기는 증가기를 필요로 하지 않으며, 이를 채용한 디지털 필터는 입력 비트수 n에 대응한 n개의 부스 곱셈기에서 필요한 각 증가기의 기능을 수행하는 하나의 제2 엔코더(206)를 구성하여 전체적인 지연 감소와 시스템 비용을 감소시킨다.However, the booth multiplier proposed in the present invention does not require an incrementer, and the digital filter employing the same may include one second encoder that performs the function of each incrementer required by the n booth multipliers corresponding to the number of input bits n. 206 to reduce overall delay and system cost.

이러한 디지털 필터의 구조는 도 2에 도시되어 있으며, 입력 비트수에 결정되는 다수의 부스 곱셈기중 설명의 편의상 하나의 부스 곱셈기(200)로만 도시되어 있으며, 본 발명의 부스 곱셈기(200)는 부스 테이블(202)과 제1 엔코더(204)로 구성된다.The structure of the digital filter is shown in FIG. 2, and is shown as one booth multiplier 200 for convenience of description among a plurality of booth multipliers determined by the number of input bits. The booth multiplier 200 of the present invention is a booth table. 202 and a first encoder 204.

즉, 입력되는 승수 a[0]에 따라 피승수의 변형 정보를 부스 곱셈기(200)의 부스 테이블(202)로부터 독출하여 제1 엔코더(204)에 인가한다.That is, according to the input multiplier a [0], the deformation information of the multiplier is read from the booth table 202 of the booth multiplier 200 and applied to the first encoder 204.

이때, 제1 엔코더(204)에서 입력되는 피승수 b[0]를 음의 피승수로 변형해야 하는 경우, 제1 엔코더(204)의 출력은 도 1에 도시된 바와 같이 증가기를 이용한 2의 보수 결과가 아니라 피승수를 단순히 인버팅한 즉, 1의 보수로 표현되는 부호화된 결과이고, 이 제1 엔코더(204)의 출력값을 2의 보수로 다시 바꾸는 것은 n개의 합을 구하는 제1 가산기(208)에서 이루어진다. 이 1의 보수는 입력 비트를 단순히 인버팅하면 되므로 증가기와 같은 연산과 지연이 필요없이 간단하게 처리된다.In this case, when the multiplicand b [0] input from the first encoder 204 needs to be transformed into a negative multiplicand, the output of the first encoder 204 may have a two's complement result using an incrementer as shown in FIG. 1. Rather than simply inverting the multiplier, i.e., the coded result represented by one's complement, changing the output value of the first encoder 204 back to two's complement is done in the first adder 208, where n is summed. . This one's complement is simply handled by simply inverting the input bits, eliminating the need for incremental operations and delays.

또한, 제1 엔코더(204)는 음의 피승수로 변형할 때 1의 증가가 필요하다는 제어 정보(c[0])를 제2 엔코더(206)에 출력한다. 이 제1 엔코더(204)에서 2의 보수 연산을 위한 "1"의 증가가 필요로 한다는 제어 정보의 발생은 로직 또는 테이블로 쉽게 구현할 수 있다.In addition, the first encoder 204 outputs the control information c [0] to the second encoder 206 indicating that an increase of 1 is required when transforming to a negative multiplicand. The generation of control information indicating that an increase of "1" for the two's complement operation is required in the first encoder 204 can be easily implemented in logic or a table.

따라서, n비트 입력에 대해 동시에 곱셈을 행하는 디지털 필터에 있어서, n개의 부스 곱셈기의 각 제1 엔코더에서 음의 피승수를 생성하기 위해 2의 보수의 연산을 위한 1의 증가가 필요하다는 제어 정보(c[0],...c[n-1])를 발생하고, 제2 엔코더(206)는 이 제어 정보(c[0],...c[n-1])에 따라 n개의 부스 곱셈기중에서 몇 개의 부스 곱셈기에서 음의 피승수로 변형해야 하는 지를 나타내는 증가치(sum)를 발생하도록 되어 있다.Therefore, in a digital filter that performs multiplication on n-bit inputs simultaneously, the control information (c) indicates that an increase of 1 for the calculation of two's complement is required to generate a negative multiplier in each first encoder of the n booth multipliers. [0], ... c [n-1]), and the second encoder 206 generates n bus multipliers according to this control information (c [0], ... c [n-1]). It is supposed to generate a sum indicating how many of the booth multipliers should be transformed into a negative multiplicand.

즉, 제2 엔코더(206)는 n개의 제어정보(c[0],...c[n-1])를 합해서 부호화된 증가치(sum)를 제1 가산기(208)에 인가한다. 이 제2 엔코더(206)는 단순히 n개의 제어정보(c0,...,c[n-1])의 값중 "1"의 개수를 가산해서 2진수로 표현하는 로직으로 간단히 구성할 수 있다.In other words, the second encoder 206 adds the n control information c [0], ... c [n-1] to the first adder 208. The second encoder 206 can be simply configured by logic that adds the number of " 1 " among the values of the n control information c0, ..., c [n-1] and expresses it in binary.

증가기로 인해 기존에 발생하는 시간 지연은 본 발명에서 제시한 제2 엔코더(206)로부터 출력되는 부호화된 증가치(sum)와 각 제1 엔코더로부터 출력되는 n개의 부호화된 결과(multiple[0],...,multiple[n-1])를 가산하는 제1 가산기(206)를 캐리 세이브 가산기(Carry Save Adder:CSA)로 사용하므로서 줄일 수 있다. 이 캐리 세이브 가산기는 여러개의 입력을 동시에 가산할 때 널리 사용되는 가산기로서 하나의 입력이 추가되더라도 시간지연이 거의 발생하지 않는 특성을 갖고 있다.The time delay that occurs due to the increaser is a coded increment sum output from the second encoder 206 and n encoded results multiple [0] output from each first encoder. The first adder 206 that adds multiple [n−1]) may be reduced by using a carry save adder (CSA). This carry save adder is a widely used adder when adding multiple inputs at the same time. It has a characteristic that almost no time delay occurs even if one input is added.

한편, 제1 가산기(208)는 n개의 부스 곱셈기의 출력(multiple[0],...,multiple[n-1])과 제2 엔코더(206)의 출력(sum)을 동시에 더해서 배럴 시프터(210)에 인가한다. 이때 배럴 시프터(210)는 시프트하는 비트수를 제어하는 제어신호(p)에 따라 제1 가산기(208)의 출력을 시프트시킨다. 이 제어신호(p)는 부스 테이블(202)에도 인가되고 있다.On the other hand, the first adder 208 simultaneously adds the outputs of the n number of bus multipliers (multiple [0], ..., multiple [n-1]) and the output sum of the second encoder 206 to the barrel shifter ( 210). At this time, the barrel shifter 210 shifts the output of the first adder 208 in accordance with the control signal p for controlling the number of shifted bits. This control signal p is also applied to the booth table 202.

제2 가산기(212)는 배럴 시프터(210)의 출력과 누적기(214)로부터 피드백되는 누적된 값을 가산해서 다시 누적기(214)에 인가해서 반복적인 합에 의해 n개의 피승수와 n개의 승수를 곱하여 모두 합한 결과가 누적기(214)로부터 출력된다.The second adder 212 adds the output of the barrel shifter 210 and the accumulated value fed back from the accumulator 214 and applies it to the accumulator 214 again by an iterative sum of n multipliers and n multipliers. The result of multiplying and adding together is output from the accumulator 214.

한편, 도 3에서는 예를 들어 각 부스 곱셈기로부터 인가되는 n(=15)개의 출력값(N0-N14)과 제2 엔코더(206)로부터 출력되는 1개의 출력값(N15)을 입력으로 하는 캐리 세이브 가산기가 도시되어 있으며, 제2 엔코더(206)의 출력값(N15)을 입력하는 CSA(216)의 출력은 가장 늦게 더해지는 구조이므로, 기존의 증가기에 의해 발생하던 시간지연을 방지할 수 있다.On the other hand, in Fig. 3, for example, a carry save adder having n (= 15) output values (N0-N14) applied from each bus multiplier and one output value (N15) output from the second encoder 206 as an input. As illustrated, since the output of the CSA 216 inputting the output value N15 of the second encoder 206 is added to the latest, the time delay caused by the existing incrementer can be prevented.

여기서, 제2 엔코더(206)의 출력이 인입되는 CSA(216)는 기존의 CSA보다 복잡도는 다소 복잡해지지만 n개의 증가기를 필요로 하는 종래의 디지털 필터보다는 필요로 하는 로직의 양이 적고, 곱셈기의 비트수가 커질수록 하드웨어가 크게 감소된다.Here, the CSA 216 into which the output of the second encoder 206 is introduced has a somewhat more complicated complexity than the conventional CSA, but has a smaller amount of logic than a conventional digital filter requiring n incrementers. As the number of bits increases, the hardware is greatly reduced.

본 발명은 부스 알고리즘에 의해 음의 피승수를 생성하기 위해 필요한 +1의 증가 기능을 증가기를 사용하지 않고도 구현함으로써 전체 하드웨어의 비용 감소와 또한 증가 기능에 필요한 순차적인 연산을 다른 연산과 동시에 행함으로써 신호처리에 따른 곱셈기의 전체 지연 시간을 감소시키는 효과가 있다.The present invention implements the +1 increment function required to generate a negative multiplicand by the booth algorithm without using an incrementer to reduce the cost of the overall hardware and also to perform the sequential operations required for the increment function simultaneously with other operations. There is an effect of reducing the overall delay time of the multiplier according to the processing.

Claims (5)

소정의 부스 알고리즘에 의해 입력되는 승수에 따라 피승수를 변형시키기 위한 변형 정보가 기록된 부스 테이블; 및A booth table in which deformation information for modifying the multiplicand is recorded according to a multiplier input by a predetermined booth algorithm; And 상기 변형 정보에 따라 입력되는 피승수를 변형시켜 변형된 피승수를 발생하고, 음의 피승수로 변형하기 위해서 필요한 증가 제어신호를 발생하는 엔코더를 포함함을 특징으로 하는 부스 곱셈기.And an encoder for generating a modified multiplicand by generating an input multiplier according to the deformation information, and generating an increase control signal necessary for transforming the multiplicand into a negative multiplicand. 제1항에 있어서, 상기 엔코더는, 음의 피승수를 생성하기 위해 입력되는 피승수를 인버팅한 1의 보수로 표현되는 부호화된 결과를 출력하는 것을 특징으로 하는 부스 곱셈기.The booth multiplier according to claim 1, wherein the encoder outputs an encoded result represented by a one's complement inverting an input multiplicator to generate a negative multiplicand. 다수의 부스 곱셈기를 채용한 디지털 필터에 있어서:For digital filters employing multiple booth multipliers: 소정의 부스 알고리즘에 의해 n개의 입력되는 승수에 따라 피승수를 변형시키기 위한 변형 정보가 기록된 부스 테이블로부터 독출된 변형 정보에 따라 입력되는 피승수를 변형시켜 n개의 변형된 피승수를 발생하고, 음의 피승수로 변형하기 위해서 필요한 증가 제어신호를 발생하는 n개의 부스 곱셈기;The modified multiplicand inputted in accordance with the deformation information read out from the booth table in which deformation information for modifying the multiplicand according to the n input multipliers is recorded by a predetermined booth algorithm to generate n modified multiplicands, and the negative multiplicand N booth multipliers for generating an increment control signal necessary to transform the circuit into a < RTI ID = 0.0 > 상기 증가 제어신호에 따라 상기 n개의 부스 곱셈기에서 음의 피승수로 변형되는 수에 해당하는 증가치를 부호화하여 부호화된 증가치를 공급하는 엔코더; 및An encoder for supplying an encoded increase value by encoding an increase value corresponding to a number transformed by a negative multiplicator in the n bus multipliers according to the increase control signal; And 상기 n개의 변형된 피승수와 상기 부호화된 증가치를 가산하는 제1 가산기;A first adder for adding the n modified multiplicands and the encoded increase value; 상기 제1 가산기의 출력을 시프트하는 비트수를 나타내는 제어신호에 따라 시프트하는 배럴 시프터;A barrel shifter shifting according to a control signal indicating the number of bits for shifting the output of the first adder; 상기 배럴 시프터의 출력과 피드백값을 가산하는 제2 가산기; 및A second adder for adding an output of the barrel shifter and a feedback value; And 상기 제2 가산기의 출력을 누적해서 상기 피드백값으로서 출력하고 n개의 피승수와 n개의 승수를 곱하여 모두 합한 결과를 출력하는 누적기를 포함함을 특징으로 하는 디지털 필터.And an accumulator for accumulating the outputs of the second adder and outputting the sum values by multiplying n multipliers and n multipliers and outputting the sums. 제3항에 있어서, 상기 제1 가산기는 다수의 캐리 세이브 가산기로 구성되며, 상기 부호화된 증가치는 가장 늦게 더해지는 캐리 세이브 가산기에 인가됨을 특징으로 하는 디지털 필터.4. The digital filter of claim 3, wherein the first adder consists of a plurality of carry save adders, and the coded increment is applied to a carry save adder that is added last. 제3항에 있어서, 상기 부스 곱셈기는, 음의 피승수를 생성하기 위해 입력되는 피승수를 인버팅한 1의 보수로 표현되는 부호화된 결과를 출력하는 것을 특징으로 하는 디지털 필터.4. The digital filter of claim 3, wherein the booth multiplier outputs an encoded result represented by a one's complement that inverts the input multiplicator to generate a negative multiplicand.
KR1019970082119A 1997-12-31 1997-12-31 Booth multiplier and design KR100322550B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970082119A KR100322550B1 (en) 1997-12-31 1997-12-31 Booth multiplier and design

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970082119A KR100322550B1 (en) 1997-12-31 1997-12-31 Booth multiplier and design

Publications (2)

Publication Number Publication Date
KR19990061829A KR19990061829A (en) 1999-07-26
KR100322550B1 true KR100322550B1 (en) 2002-03-20

Family

ID=37460697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970082119A KR100322550B1 (en) 1997-12-31 1997-12-31 Booth multiplier and design

Country Status (1)

Country Link
KR (1) KR100322550B1 (en)

Also Published As

Publication number Publication date
KR19990061829A (en) 1999-07-26

Similar Documents

Publication Publication Date Title
KR100714358B1 (en) Method and system for performing calculation operations and a device
KR100715770B1 (en) Method and a system for performing calculation operations and a device
US5835393A (en) Integrated pre-adder for a multiplier
EP1049025A1 (en) Method and apparatus for arithmetic operation
KR100302093B1 (en) How to multiply the binary input signal with the tap coefficient in the crossover digital finite impulse response filter and design the circuit arrangement and crossover digital filter
US4366549A (en) Multiplier with index transforms modulo a prime or modulo a fermat prime and the fermat prime less one
KR100218825B1 (en) Multiplication device and sum of products calculation device
US6127863A (en) Efficient fractional divider
US20060155793A1 (en) Canonical signed digit (CSD) coefficient multiplier with optimization
EP0428942A2 (en) Plural-bit recoding multiplier
KR100322550B1 (en) Booth multiplier and design
JP3660075B2 (en) Dividing device
KR0147942B1 (en) Booths recording circuit in a multiplier
KR100309520B1 (en) Multiplication methods and multiplication circuits with round-off capability
JP3252954B2 (en) Multiplication method and multiplication circuit
KR20040055523A (en) APPARATUS OF FIELD MULTIPLICATION OVER GF(p) AND GF(2^m)
KR100378192B1 (en) Digital base booster using arithmetic processor
JP2606326B2 (en) Multiplier
KR100951794B1 (en) Multiply-accumulte operator having variable precision and method thereof
JPH11126157A (en) Method and circuit for multiplication
KR0162320B1 (en) Fir filter for vlsi
KR100247957B1 (en) Iir filter using serial-parallel multiplier
KR0161485B1 (en) A multiplier of booth algorithm using arithmetic unit
KR960008223B1 (en) Digital filter
KR0153759B1 (en) Circuit of high speed multiplication and involution

Legal Events

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

Payment date: 20101230

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee