KR20010019352A - A compressor of multiplier - Google Patents
A compressor of multiplier Download PDFInfo
- 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
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/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
Abstract
Description
본 발명은 곱셈기에 관한 것으로서, 더 구체적으로는 부스 알고리즘을 이용한 곱셈기의 압축기에 관한 것이다.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.
이후, 상기 피승수 데이터(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)
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)
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 |
-
1999
- 1999-08-26 KR KR1019990035707A patent/KR20010019352A/en not_active Application Discontinuation
Cited By (3)
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 |