KR20010019352A - A compressor of multiplier - Google Patents

A compressor of multiplier Download PDF

Info

Publication number
KR20010019352A
KR20010019352A KR1019990035707A KR19990035707A KR20010019352A KR 20010019352 A KR20010019352 A KR 20010019352A KR 1019990035707 A KR1019990035707 A KR 1019990035707A KR 19990035707 A KR19990035707 A KR 19990035707A KR 20010019352 A KR20010019352 A KR 20010019352A
Authority
KR
South Korea
Prior art keywords
data
compressor
multiplier
partial data
compressors
Prior art date
Application number
KR1019990035707A
Other languages
Korean (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 KR1019990035707A priority Critical patent/KR20010019352A/en
Publication of KR20010019352A publication Critical patent/KR20010019352A/en

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/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

Abstract

PURPOSE: A compressor of a multiplier is provided to compress partial data additionally generated from an operation of an encoder so that it can prevent a wrong operation of the multiplier caused from the calculation of the partial data and reduce a layout area. CONSTITUTION: The compressor(300) comprises a plurality of compressors(300_1, 300_2, 300_n-1, 300n). The compression units(300_1, 300_2, 300_n-1, 300n) includes a plurality of 4 by 2 compressors(COM1, COM2, COM3, COM5) and at least one 9 by 2 compressor(COM4) and compresses the partial data(P_DATA) from the encoder(10). The compressor(300) compresses not only the partial data with a bit number set in advance by the encoder(10), but also the partial data additionally generated by a minus symbol used in a calculation process within the decoder(10).

Description

곱셈기의 압축기{A COMPRESSOR OF MULTIPLIER}Compressor of multiplier {A COMPRESSOR OF MULTIPLIER}

본 발명은 곱셈기에 관한 것으로서, 더 구체적으로는 부스 알고리즘을 이용한 곱셈기의 압축기에 관한 것이다.The present invention relates to a multiplier, and more particularly, to a compressor of a multiplier using a booth algorithm.

도 1을 참조하면, 일반적인 곱셈기(multiplier)는 인코더(encoder; 10), 압축기(compressor; 30) 및 가산기(adder; 50)로 구성된다. 상기 곱셈기에는 그 동작 속도(operation speed)의 향상을 위해 부스 알고리즘(booth's algorithm)이 이용된다. 여기서, 부스 알고리즘이란, 복수 비트의 승수와 피승수를 부호화하여, 그 곱셈 연산의 횟수를 줄임으로써, 곱셈 연산 속도를 향상시키기 위한 곱셈 연산 방법이다.Referring to FIG. 1, a general multiplier includes an encoder 10, a compressor 30, and an adder 50. The multiplier uses a booth's algorithm to improve its operation speed. Here, the booth algorithm is a multiplication operation method for improving the multiplication operation speed by encoding a multiplier and a multiplicand of a plurality of bits and reducing the number of multiplication operations.

여기서, 상기 인코더(10)는 외부로부터의 승수 데이터(Y_DATA; Y0, Y1, ..., Yn-1, Yn) 및 피승수 데이터(X_DATA; X0, X1, ..., Xn-1, Xn)을 인코딩한 부분적 데이터(partial product data; P_DATA[0:15])를 출력한다. 이때, 상기 인코더(10)로 입력되는 승수 데이터(Y_DATA)는 인코더(10) 내의 각 인코더 셀(encoder cell; 도시되지 않음)에 의해 아래의 [표1]과 같은 연산자들로 나타내어 진다.In this case, the encoder 10 is multiplied by external data (Y_DATA; Y0, Y1, ..., Yn-1, Yn) and multiplicative data (X_DATA; X0, X1, ..., Xn-1, Xn). It outputs partial product data (P_DATA [0:15]) encoded by. In this case, the multiplier data Y_DATA input to the encoder 10 is represented by operators as shown in Table 1 below by each encoder cell (not shown) in the encoder 10.

Y i + 1Y i + 1 Y iY i Y i - 1Y i-1 Recoded digitRecoded digit operatoroperator 00 00 00 00 0 × X0 × X 00 00 1One +1+1 +1 × X+1 × X 00 1One 00 +1+1 +1 × X+1 × X 00 1One 1One +2+2 +2 × X+2 × X 1One 00 00 -2-2 -2 × X-2 × X 1One 00 1One -1-One -1 × X-1 × X 1One 1One 00 -1-One -1 × X-1 × X 1One 1One 1One 00 0 × X0 × X

이후, 상기 피승수 데이터(X_DATA)와 상기 각 인코더 셀로부터의 연산자들이 연산되어 그 결과로서 상기 부분적 데이터(P_DATA)가 상기 압축기(30)로 제공된다. 상기 압축기(30)는 인코더(10)로부터의 부분적 데이터(P_DATA)를 압축한 압축 데이터(C_DATA)를 가산기(50)로 제공한다. 상기 가산기(50)는 압축기(30)로부터의 압축 데이터(C_DATA)를 가산한 가산 데이터(A_DATA)를 출력한다.Thereafter, the multiplicative data X_DATA and the operators from the respective encoder cells are calculated and as a result, the partial data P_DATA is provided to the compressor 30. The compressor 30 provides the adder 50 with compressed data C_DATA obtained by compressing the partial data P_DATA from the encoder 10. The adder 50 outputs addition data A_DATA obtained by adding compressed data C_DATA from the compressor 30.

도 2를 참조하면, 도 1의 압축기(30)는 복수 개의 압축부들(30_1, 30_2, ..., 30_n-1, 30_n)을 구비한다. 상기 각 압축부(30_1, 30_2, ..., 30_n-1, 30_n)는 4-2 압축기들(compressor; COM1, COM2, ..., COMm-1, COMm)을 구비한다. 도 2에 도시된 각 압축부(30_1, 30_2, ..., 30_n-1, 30_n)는 32 비트 곱셈기의 경우에 해당되며, 각 압축부(30_1, 30_2, ..., 30_n-1, 30_n)는 7 개의 압축기들(COM1, COM2, ..., COM6, COM7)을 구비한다. 상기 각 압축기(COM1, COM2, ..., COM6, COM7)는 전 단의 회로 즉, 인코더(10)로부터 출력되는 부분적 데이터(P_DATA[0:15]) 중 대응되는 부분적 데이터(P_DATA)를 압축한 압축 데이터(compression data; C_DATA)를 출력한다.Referring to FIG. 2, the compressor 30 of FIG. 1 includes a plurality of compression units 30_1, 30_2,..., 30_n-1, 30_n. Each of the compression units 30_1, 30_2, ..., 30_n-1, 30_n includes 4-2 compressors COM1, COM2, ..., COMm-1, COMm. Each compression unit 30_1, 30_2, ..., 30_n-1, 30_n shown in FIG. 2 corresponds to a 32-bit multiplier, and each compression unit 30_1, 30_2, ..., 30_n-1, 30_n ) Has seven compressors (COM1, COM2, ..., COM6, COM7). Each of the compressors COM1, COM2,..., COM6, and COM7 compresses corresponding partial data P_DATA among partial data P_DATA [0: 15] outputted from the circuit of the preceding stage, that is, the encoder 10. One compression data (C_DATA) is output.

도 3을 참조하면, 도 2의 각 4-2 압축기들(COM1, COM2, COM5)은 전가산기들(FA1, FA2, ..., FA5, FA6)로 구성된다. 상기 각 전가산기(FA1, FA2, ..., FA5, FA6)는 인코더(10)로부터의 부분적 데이터(P_DATA[0:15]) 중 대응되는 부분적 데이터(P_DATA)와 대응되는 전가산기(FA)로부터의 합 데이터(SUM_DATA) 및 전 단의 전가산기(FA)나 외부로부터의 캐리 데이터(CARRY_DATA)를 가산한 합 데이터(SUM_DATA) 및 캐리 데이터(CARRY_DATA)를 출력한다. 이와 같은, 전가산기들(FA1, FA2, ..., FA5, FA6)의 가산 동작에 의해 상기 각 4-2 압축기들(COM1, COM2, COM5)에 의해서 압축된 압축 데이터(C-DATA)는 최종적으로 가산기(50)로 제공된다.Referring to FIG. 3, each of the 4-2 compressors COM1, COM2, and COM5 of FIG. 2 includes full adders FA1, FA2,..., FA5, and FA6. Each of the full adders FA1, FA2, ..., FA5, FA6 corresponds to the full adder FA corresponding to the corresponding partial data P_DATA among the partial data P_DATA [0:15] from the encoder 10. The sum data SUM_DATA and the carry data CARRY_DATA obtained by adding the sum data SUM_DATA from and the full adder FA of the stage or the carry data CARRY_DATA from the outside are output. The compressed data C-DATA compressed by the respective 4-2 compressors COM1, COM2, and COM5 by the addition operation of the full adders FA1, FA2, ..., FA5, FA6 is Finally, it is provided to the adder 50.

그런데, 복수 비트(예를 들어, 16, 24, 32, 40, 48, 56, 64 비트 등)의 승수 및 피승수 데이터(Y_DATA, X_DATA)를 곱셈하는 곱셈기에서 도 2와 같은 구조의 압축기(30)가 사용되는 경우에 몇가지 문제점이 발생된다. 그 중 하나가 상기 인코더(10)에서 승수 및 피승수 데이터(Y_DATA, X_DATA)를 연산하는 과정에서 추가로 발생되는 1 비트의 부분적 데이터(P_DATA)를 처리하지 못하는 문제이다. 상기 인코더(10)에서 추가로 발생되는 1 비트 부분적 데이터(P_DATA)는 상기 인코더(10)의 인코더 셀이 [표1]과 같은 연산자들을 발생하고 그리고 부분적 발생 셀(partial product generation cell; 도시되지 않음)이 대응되는 연산자에 따라 피승수 데이터(X_DATA)의 출력 경로를 결정하는 과정에서 연산자의 부호에 의해 발생된다.However, in the multiplier for multiplying multipliers and multiplicative data (Y_DATA, X_DATA) of a plurality of bits (for example, 16, 24, 32, 40, 48, 56, 64 bits, etc.), the compressor 30 having the structure as shown in FIG. Some problems arise when is used. One of them is a problem in that the encoder 10 cannot process one bit partial data P_DATA that is additionally generated in the process of calculating the multiplier and multiplicative data Y_DATA and X_DATA. The 1-bit partial data P_DATA additionally generated at the encoder 10 is generated by the encoder cell of the encoder 10 generating operators as shown in [Table 1] and a partial product generation cell (not shown). ) Is generated by the sign of the operator in determining the output path of the multiplicative data (X_DATA) according to the corresponding operator.

예를 들어, 도 2와 같이, 32 비트의 승수 및 피승수 데이터(Y_DATA, X_DATA)를 곱셈하는 곱셈기의 인코더(10)로부터 16 비트의 부분적 데이터(P_DATA[0:15]) 및 음의 부호를 갖는 연산자에 의해 1 비트의 부분적 데이터(P_DATA; 도시되지 않음)가 상기 압축기(30)로 제공된다고 가정하면, 도 2와 같은 압축부들(30_1, 30_2, ..., 30_n-1, 30_n)의 구조를 가지는 압축기(30)는 추가로 발생되는 나머지 1 비트의 부분적 데이터(P_DATA)를 처리하지 못한다. 일반적인 곱셈기에서는 이를 처리하기 위해서 또 다른 연산을 수행해야 하므로, 연산을 위한 복잡한 회로가 추가되는 문제점이 발생된다.For example, as shown in FIG. 2, 16-bit partial data P_DATA [0:15] and a negative sign are obtained from encoder 10 of the multiplier that multiplies 32-bit multiplier and multiplicative data Y_DATA and X_DATA. Assuming that one bit partial data P_DATA (not shown) is provided to the compressor 30 by an operator, the structure of the compression units 30_1, 30_2,..., 30_n-1, 30_n as shown in FIG. Compressor 30 having the above does not process the remaining one bit of partial data P_DATA. In a general multiplier, another operation must be performed in order to deal with this problem, which causes a problem of adding a complicated circuit for the operation.

본 발명의 목적은 곱셈 연산시 미리 정해진 비트 수의 부분적 데이터 및 추가적으로 발생되는 부분적 데이터를 모두 압축하는 곱셈기의 압축기를 제공하는 것이다.An object of the present invention is to provide a compressor of a multiplier that compresses both partial data of a predetermined number of bits and additionally generated partial data in a multiplication operation.

도 1은 일반적인 곱셈기의 구조를 보여주는 블록도;1 is a block diagram showing the structure of a general multiplier;

도 2는 도 1의 압축기의 구조를 보여주는 블록도;2 is a block diagram showing the structure of the compressor of FIG.

도 3은 도 2의 압축기 내의 4대 2 압축기의 구조를 보여주는 블록도;3 is a block diagram showing the structure of a four-to-two compressor in the compressor of FIG.

도 4는 본 발명에 따른 압축기의 구조를 보여주는 블록도 및;4 is a block diagram showing the structure of a compressor according to the present invention;

도 5는 도 4의 9대 2 압축기의 구조를 보여주는 블록도이다.5 is a block diagram showing the structure of the nine-to-two compressor of FIG.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

10 : 인코더 30 : 압축기10: encoder 30: compressor

50 : 가산기50: adder

(구성)(Configuration)

상술한 바와 같은 목적을 달성하기 위한 본 발명의 일특징에 의하면, 본 발명에 따른 곱셈기는 복수 비트의 승수 데이터와 복수 비트의 피승수 데이터를 인코딩한 복수 비트의 제 1 부분적 데이터 및 상기 제 1 부분적 데이터의 발생시 그의 부호에 의해 추가로 발생되는 적어도 1 비트의 제 2 부분적 데이터를 출력하는 인코딩 수단과; 상기 인코딩 수단으로부터의 상기 제 1 및 제 2 부분적 데이터를 압축한 압축 데이터를 출력하는 압축 수단 및; 상기 압축 수단으로부터의 상기 압축 데이터를 가산한 가산 데이터를 곱셈 결과로서 출력하는 가산 수단을 포함하고, 상기 압축 수단은 상기 부분적 데이터 중 대응되는 부분적 데이터를 압축하는 복수 개의 압축부들을 포함하고, 상기 각 압축부는 상기 제 1 부분적 데이터를 압축하는 제 1 그룹의 압축기들 및, 상기 제 1 및 제 2 부분적 데이터 중 대응되는 부분적 데이터를 압축하는 제 2 그룹의 압축기들을 포함한다. 여기서, 상기 제 1 그룹의 압축기들 각각은 4 입력 2 출력 압축기이다. 그리고, 상기 제 2 그룹의 압축기들 각각은 9 입력 2 출력 압축기이다.According to one aspect of the present invention for achieving the object described above, the multiplier according to the present invention is a plurality of bits of the first partial data and the first partial data of the multi-bit multiplier data and the multi-bit multiplier data encoded Encoding means for outputting at least one bit of second partial data which is further generated by the sign thereof upon generation of; Compression means for outputting compressed data compressing the first and second partial data from the encoding means; And adding means for outputting the addition data obtained by adding the compressed data from the compression means as a multiplication result, wherein the compression means includes a plurality of compression parts for compressing corresponding partial data among the partial data; The compression unit includes a first group of compressors for compressing the first partial data and a second group of compressors for compressing corresponding partial data of the first and second partial data. Here, each of the first group of compressors is a four input two output compressor. And, each of the second group of compressors is a nine input two output compressor.

(작용)(Action)

이와 같은 장치에 의해서, 곱셈 연산사 미리 정해진 비트 수의 부분적 데이터뿐만 아니라, 추가적으로 발생되는 부분적 데이터도 동시에 압축된다.By such an apparatus, not only partial data of the multiplier operator predetermined number of bits but also additionally generated partial data are simultaneously compressed.

(실시예)(Example)

이하, 본 발명의 바람직한 실시예에 따른 참조도면 도 4 내지 도 5에 의거하여 상세히 설명한다.Hereinafter, reference will be described in detail with reference to FIGS. 4 to 5 according to a preferred embodiment of the present invention.

도 4를 참조하면, 본 발명에 따른 곱셈기의 압축기(300)는 복수 개의 압축부들(300_1, 300_2, 300_n-1, 300_n)을 포함한다. 상기 각 압축부(300_1, 300_2, 300_n-1, 300_n)는 복수 개의 4 대 2 압축기들(COM1, COM2, COM3, COM5) 및 적어도 하나의 9 대 2 압축기(COM4)를 포함하며, 인코더(10)로부터의 부분적 데이터(P_DATA)를 압축한다. 이때, 본 발명에 따른 곱셈기의 압축기(300)는 인코더(10)로부터의 미리 정해진 비트 수의 부분적 데이터(P_DATA)뿐만 아니라, 인코더 내의 연산 과정에서 사용되는 연산자의 음의 부호에 의해 추가로 발생되는 부분적 데이터(P_DATA)까지 압축하는 것을 특징으로 한다. 이와 같이, 인코더(10)의 연산 동작시 추가로 발생되는 부분적 데이터(P_DATA)를 압축함으로써, 부분적 데이터(P_DATA)의 연산에 의한 곱셈기(300)의 오동작이 방지될 뿐만 아니라, 곱셈기(300)의 레이아웃 면적의 증가가 방지된다.4, the compressor 300 of the multiplier according to the present invention includes a plurality of compression units 300_1, 300_2, 300_n-1, 300_n. Each of the compression units 300_1, 300_2, 300_n-1, and 300_n includes a plurality of four to two compressors COM1, COM2, COM3, and COM5 and at least one nine to two compressor COM4. Compress partial data (P_DATA) from At this time, the compressor 300 of the multiplier according to the present invention is additionally generated not only by the partial data P_DATA of the predetermined number of bits from the encoder 10 but also by the negative sign of the operator used in the calculation process in the encoder. It is characterized by compressing even partial data (P_DATA). As such, by compressing the partial data P_DATA that is additionally generated during the operation of the encoder 10, not only the malfunction of the multiplier 300 by the operation of the partial data P_DATA is prevented, but also the An increase in layout area is prevented.

도 4를 참조하면, 본 발명에 따른 곱셈기의 압축기(300)는 복수 개의 압축부들(300_1, 300_2, ..., 300_n-1, 300_n)을 포함한다. 상기 각 압축부(300_1, 300_2, ..., 300_n-1, 300_n)는 복수 개의 압축기들(COM1, COM2, ..., COMm-1, COMm)을 포함한다. 여기서, 도 4는 32 비트 곱셈기 내에 구현되는 압축기의 실시예이므로, 각 압축부(300_1, 300_2, ..., 300_n-1, 300_n)는 압축기들(COM1, COM2, COM3, COM4, COM5)을 포함한다.4, the compressor 300 of the multiplier according to the present invention includes a plurality of compression units 300_1, 300_2, ..., 300_n-1, 300_n. Each of the compression units 300_1, 300_2,..., 300_n-1, 300_n includes a plurality of compressors COM1, COM2,..., COMm-1, COMm. Here, since FIG. 4 is an embodiment of a compressor implemented in a 32-bit multiplier, each of the compression units 300_1, 300_2,..., 300_n-1, 300_n uses compressors COM1, COM2, COM3, COM4, and COM5. Include.

상기 압축기들(COM1, COM2, COM3, COM4, COM5) 중 압축기들(COM1, COM2, COM3, COM5) 각각은 4 비트의 부분적 데이터(P_DATA)를 2 비트의 압축 데이터(C_DATA) 및 캐리 데이터(CARRY; 도시되지 않음)로 압축하는 4 대 2 압축기이고 그리고 압축기(COM4)는 9 비트의 부분적 데이터(P_DATA)를 2 비트의 압축 데이터(C_DATA) 및 캐리 데이터(CARRY)로 압축하는 9 대 2 압축기이다.Each of the compressors COM1, COM2, COM3, and COM5 of the compressors COM1, COM2, COM3, COM4, and COM5 includes four bits of partial data P_DATA and two bits of compressed data C_DATA and carry data CARRY. 4 to 2 compressors, which are not shown, and compressor COM4 is a 9 to 2 compressor that compresses 9 bits of partial data P_DATA into 2 bits of compressed data C_DATA and carry data CARRY. .

도 5를 참조하면, 도 4의 9 대 2 압축기(COM4)는 일반적으로 7 개의 전가산기들(FA1, FA2, ..., FA6, FA7)을 포함한다. 상기 가산기들(FA1, FA2, ..., FA6, FA7) 중 가산기들(FA1, FA2, FA3)은 도시되지는 않았지만, 인코더(10)로부터의 대응되는 부분적 데이터(P_DATA)를 가산하고, 그리고 나머지 가산기들(FA4, FA5, FA6, FA7)은 상기 가산기들(FA1, FA2, FA3)로부터 출력되는 합 데이터(SUM) 및 캐리 데이터(CARRY)를 가산한다.Referring to FIG. 5, the nine-to-two compressor COM4 of FIG. 4 generally includes seven full adders FA1, FA2,..., FA6, FA7. Adders FA1, FA2, FA3 of the adders FA1, FA2, ..., FA6, FA7 add the corresponding partial data P_DATA from encoder 10, although not shown, and The remaining adders FA4, FA5, FA6, FA7 add sum data SUM and carry data CARRY output from the adders FA1, FA2, FA3.

이하, 도 4 및 도 5를 참조하여, 본 발명에 따른 곱셈기 내의 압축기의 동작이 상세하게 설명된다.4 and 5, the operation of the compressor in the multiplier according to the present invention will be described in detail.

다시, 도 1과 도 4 및 도 5를 참조하면, 일반적으로 부스 알고리즘을 이용한 곱셈기는 도 1과 같이, 인코더(10), 압축기(30) 및 가산기(50)를 구비한다. 상기 인코더(10)는 외부로부터의 승수 및 피승수 데이터(Y_DATA, X_DATA)를 인코딩한 복수 비트의 부분적 데이터(P_DATA)를 출력한다. 이때, 상기 인코더(10)로 각각 32 비트의 승수 및 피승수 데이터(Y_DATA, X_DATA)가 입력된다고 가정하면, 상기 인코더(10)로부터 16 비트의 부분적 데이터(P_DATA[0:15])가 출력될 것이다. 그러나, 상기 인코더(10) 내의 연산 과정에서 연산자들의 음의 부호에 의해 추가로 1 비트의 부분적 데이터(P_DATA)가 발생되므로, 인코더(10)로부터 17 비트의 부분적 데이터(P_DATA[0:16])가 출력된다.Referring back to FIGS. 1, 4, and 5, a multiplier using a booth algorithm generally includes an encoder 10, a compressor 30, and an adder 50, as shown in FIG. 1. The encoder 10 outputs a plurality of bits of partial data P_DATA obtained by encoding multiplier and multiplicative data Y_DATA and X_DATA from the outside. In this case, assuming that 32-bit multiplier and multiplicative data Y_DATA and X_DATA are respectively input to the encoder 10, 16-bit partial data P_DATA [0:15] will be output from the encoder 10. . However, since one bit of partial data P_DATA is additionally generated by a negative sign of operators in the calculation process in the encoder 10, 17 bits of partial data P_DATA [0:16] are generated from the encoder 10. Is output.

이와 같이, 인코더(10)로부터 17 비트의 부분적 데이터(P_DATA[0:16])가 출력되면, 일반적인 압축기(30)는 압축을 위한 회로를 추가적으로 설계하여 이를 압축하였다. 그러나, 이러한 압축을 위한 회로의 추가는 곱셈기의 레이아웃 면적을 증가시킬 뿐만 아니라, 곱셈기를 이루는 회로를 복잡하게 하는 요인이 된다. 본 발명에 따른 곱셈기에서는 각각의 압축부(300_1, 300_2, ..., 300_n-1, 300_n)를 4 대 2 압축기들(COM1, COM2, COM3, COM5)과 9 대 2 압축기(C0M4)를 이용하여 구현함으로써, 상기한 문제점이 해결된다.As such, when partial data P_DATA [0:16] of 17 bits is output from the encoder 10, the general compressor 30 additionally designs a compression circuit and compresses it. However, the addition of circuitry for compression not only increases the layout area of the multiplier, but also complicates the circuit forming the multiplier. In the multiplier according to the present invention, each of the compression units 300_1, 300_2, ..., 300_n-1, 300_n uses four-to-two compressors (COM1, COM2, COM3, COM5) and a nine-to-two compressor (C0M4). By implementing the above, the above problems are solved.

도 1에 도시된 바와 같이, 외부로부터 32 비트의 승수 데이터 및 피승수 데이터(Y_DATA, X_DATA)가 입력된다고 가정하면, 도 4의 본 발명에 따른 압축기(300) 내의 각 압축부(300_1, 300_2, ..., 300_n-1, 300_n)는 압축기들(COM1, COM2, COM3, COM4, COM5)을 포함한다. 상기 압축기들(COM1, COM2, COM4)은 인코더(10)로부터의 부분적 데이터(P_DATA[0:16]) 중 대응되는 부분적 데이터(P_DATA)를 압축한 압축 데이터(C_DATA) 및 캐리 데이터(CARRY)를 출력한다. 그리고, 나머지 압축기들(COM3, COM5)은 전 단의 대응되는 압축기(COM)로부터의 압축 데이터(C_DATA) 및 캐리 데이터(CARRY)를 압축한 압축 데이터(C_DATA) 및 캐리 데이터(CARRY)를 출력한다.As shown in FIG. 1, assuming 32-bit multiplier data and multiplicative data Y_DATA and X_DATA are input from the outside, each compression unit 300_1, 300_2,. ... 300_n-1, 300_n include compressors COM1, COM2, COM3, COM4, COM5. The compressors COM1, COM2, and COM4 may compress the compressed data C_DATA and the carry data CARRY from the corresponding partial data P_DATA among the partial data P_DATA [0:16] from the encoder 10. Output The remaining compressors COM3 and COM5 output the compressed data C_DATA and the carry data CARRY obtained by compressing the compressed data C_DATA and the carry data CARRY from the corresponding compressor COM of the preceding stage. .

상기 압축부들(300_1, 300_2, ..., 300_n-1, 300_n)로부터 출력되는 압축 데이터(C_DATA[0], C_DATA[1], ..., C_DATA[62], C_DATA[63])는 도 1과 같이 최종적으로 64 비트 가산기(50)에 의해서 가산되어 곱셈기의 출력 결과로서 출력된다. 또한, 도 2의 4 대 2 압축기들(COM1, COM2, COM5)이 6 개의 전가산기들(FA1, FA2, ..., FA5, FA6)로 구성되고 그리고 도 4의 9 대 2 압축기(COM4)가 7 개의 전가산기들(FA1, FA2, ..., FA6, FA7)로 구성됨으로써, 본 발명에 따른 곱셈기의 압축기는 레이아웃 면적의 증가가 최소화된다. 그리고, 그 처리 속도에 있어서도 본 발명에 따른 곱셈기의 압축기는 일반적인 곱셈기의 압축기와 동일한 처리 속도를 가진다.The compressed data C_DATA [0], C_DATA [1], ..., C_DATA [62], C_DATA [63] output from the compression units 300_1, 300_2, ..., 300_n-1, 300_n are shown in FIG. Like 1, it is finally added by the 64-bit adder 50 and output as the output result of the multiplier. In addition, the four-to-two compressors COM1, COM2 and COM5 of FIG. 2 are composed of six full adders FA1, FA2, ..., FA5, FA6 and the nine-to-two compressor COM4 of FIG. Is composed of seven full adders FA1, FA2, ..., FA6, FA7, the increase in layout area of the compressor of the multiplier according to the present invention is minimized. Also, in the processing speed, the compressor of the multiplier according to the present invention has the same processing speed as the compressor of the general multiplier.

상기한 바와 같이, 본 발명에 따른 곱셈기의 압축기(300)는 인코더(10)로부터의 복수 비트의 부분적 데이터를 압축하기 위해서 4 대 2 압축기들(COM1, COM2, COM3, COM5) 및 9 대 2 압축기(COM4)를 구비하는 복수 개의 압축부들(300_1, 300_2, ..., 300_n-1, 300_n)을 포함한다. 물론, 상기 압축부들(300_1, 300_2, ..., 300_n-1, 300_n) 압축기들은 곱셈기가 몇 비트(예를 들어, 16, 24, 32, 40, 48, 56, 64 비트 등)의 승수 및 피승수 데이터(Y_DATA, X_DATA)를 연산하는 지에 의해 결정된다. 이와 같이, 인코더의 연산 동작시 추가로 발생되는 부분적 데이터(P_DATA)를 압축함으로써, 추가로 발생되는 부분적 데이터(P_DATA)의 연산에 의한 곱셈기(300)의 오동작이 방지될 뿐만 아니라, 곱셈기(300)의 레이아웃 면적의 증가가 방지된다.As mentioned above, the compressor 300 of the multiplier according to the present invention is a four-to-two compressors (COM1, COM2, COM3, COM5) and a nine-to-two compressor for compressing a plurality of bits of partial data from the encoder 10. And a plurality of compression units 300_1, 300_2,..., 300_n-1, and 300_n including COM4. Of course, the compressors 300_1, 300_2,..., 300_n-1, 300_n compressors have a multiplier of several bits (for example, 16, 24, 32, 40, 48, 56, 64 bits, etc.) and It is determined by calculating the multiplicative data (Y_DATA, X_DATA). As such, by compressing the partial data P_DATA additionally generated during the operation of the encoder, not only the malfunction of the multiplier 300 by the operation of the additionally generated partial data P_DATA is prevented, but also the multiplier 300 Increase in the layout area is prevented.

이상에서, 본 발명에 따른 곱셈기의 압축기를 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며, 본 발명의 기술적 사상을 벗어나지 않는 다양한 변화 및 변경이 가능함은 물론이다.In the above, the compressor of the multiplier according to the present invention is shown according to the above description and drawings, but this is merely an example, and various changes and modifications are possible without departing from the technical idea of the present invention.

상술한 바와 같이, 인코더로부터 추가로 발생되는 부분적 데이터를 압축함으로써, 추가로 발생되는 부분적 데이터의 연산에 의한 곱셈기의 오동작이 방지될 뿐만 아니라, 곱셈기의 레이아웃 면적의 증가가 방지된다.As described above, by compressing the partial data additionally generated from the encoder, not only the malfunction of the multiplier by the operation of the additionally generated partial data is prevented, but also the increase in the layout area of the multiplier is prevented.

Claims (3)

복수 비트의 승수 데이터와 복수 비트의 피승수 데이터를 인코딩한 복수 비트의 제 1 부분적 데이터 및 상기 제 1 부분적 데이터의 발생시 그의 부호에 의해 추가로 발생되는 적어도 1 비트의 제 2 부분적 데이터를 출력하는 인코딩 수단과;Encoding means for outputting a plurality of bits of first partial data encoding a plurality of multiplier data and a plurality of multiplicative data and at least one bit of second partial data additionally generated by a sign thereof when the first partial data is generated; and; 상기 인코딩 수단으로부터의 상기 제 1 및 제 2 부분적 데이터를 압축한 압축 데이터를 출력하는 압축 수단 및;Compression means for outputting compressed data compressing the first and second partial data from the encoding means; 상기 압축 수단으로부터의 상기 압축 데이터를 가산한 가산 데이터를 곱셈 결과로서 출력하는 가산 수단을 포함하고,Adding means for outputting addition data obtained by adding the compressed data from the compression means as a multiplication result; 상기 압축 수단은,The compression means, 상기 부분적 데이터 중 대응되는 부분적 데이터를 압축하는 복수 개의 압축부들을 포함하고,Comprising a plurality of compression unit for compressing the corresponding partial data of the partial data, 상기 각 압축부는,Each compression unit, 상기 제 1 부분적 데이터를 압축하는 제 1 그룹의 압축기들 및,A first group of compressors for compressing the first partial data, and 상기 제 1 및 제 2 부분적 데이터 중 대응되는 부분적 데이터를 압축하는 제 2 그룹의 압축기들을 포함하는 곱셈기.And a second group of compressors for compressing corresponding partial data of the first and second partial data. 제 1 항에 있어서,The method of claim 1, 상기 제 1 그룹의 압축기들 각각은 4 입력 2 출력 압축기인 곱셈기.A multiplier of four input two output compressors. 제 1 항에 있어서,The method of claim 1, 상기 제 2 그룹의 압축기들 각각은 9 입력 2 출력 압축기인 곱셈기.Wherein each of the second group of compressors is a nine input two output compressor.
KR1019990035707A 1999-08-26 1999-08-26 A compressor of multiplier KR20010019352A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990035707A KR20010019352A (en) 1999-08-26 1999-08-26 A compressor of multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990035707A KR20010019352A (en) 1999-08-26 1999-08-26 A compressor of multiplier

Publications (1)

Publication Number Publication Date
KR20010019352A true KR20010019352A (en) 2001-03-15

Family

ID=19608832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990035707A KR20010019352A (en) 1999-08-26 1999-08-26 A compressor of multiplier

Country Status (1)

Country Link
KR (1) KR20010019352A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010108755A (en) * 2000-05-31 2001-12-08 박종섭 24 bits multiplier
US9218600B2 (en) 2006-12-07 2015-12-22 Smart Systems Innovations, Llc Mass transit fare processing system
US9558487B2 (en) 2006-12-07 2017-01-31 Smart Systems Innovations, Llc Public transit system fare processor for multi-balance funding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010108755A (en) * 2000-05-31 2001-12-08 박종섭 24 bits multiplier
US9218600B2 (en) 2006-12-07 2015-12-22 Smart Systems Innovations, Llc Mass transit fare processing system
US9558487B2 (en) 2006-12-07 2017-01-31 Smart Systems Innovations, Llc Public transit system fare processor for multi-balance funding

Similar Documents

Publication Publication Date Title
US6763367B2 (en) Pre-reduction technique within a multiplier/accumulator architecture
US6233597B1 (en) Computing apparatus for double-precision multiplication
US5500812A (en) Multiplication circuit having rounding function
US6692534B1 (en) Specialized booth decoding apparatus
US7139788B2 (en) Multiplication logic circuit
US6286023B1 (en) Partitioned adder tree supported by a multiplexer configuration
Kwon et al. A 16-bit/spl times/16-bit MAC design using fast 5: 2 compressors
JPS6375932A (en) Digital multiplier
JPH0831025B2 (en) Multiplication circuit
US5721697A (en) Performing tree additions via multiplication
EP0862110A2 (en) Wallace-tree multipliers using half and full adders
KR20010019352A (en) A compressor of multiplier
WO1995005633A3 (en) Carry-look-ahead adder with reduces number of stages
US6460064B1 (en) Multiplier for operating n bits and n/2 bits and method therefor
US6532485B1 (en) Method and apparatus for performing multiplication/addition operations
US4190894A (en) High speed parallel multiplication apparatus with single-step summand reduction
US6415311B1 (en) Sign extension circuit and method for unsigned multiplication and accumulation
JPH08314697A (en) Multiplier used for both number with sign and number withoutsign
US6004022A (en) Product sum operation apparatus
EP0576154A1 (en) Multiplication method and circuit
JPH10198552A (en) Multiplier
KR100477913B1 (en) Multiplier with Booth Algorithm
KR100488145B1 (en) Matrix multiplier
JPS61246837A (en) Parallel multiplier
JPS6346539A (en) Dividing circuit

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination