KR100247925B1 - Multiflier and operating method thereof - Google Patents

Multiflier and operating method thereof Download PDF

Info

Publication number
KR100247925B1
KR100247925B1 KR1019970002888A KR19970002888A KR100247925B1 KR 100247925 B1 KR100247925 B1 KR 100247925B1 KR 1019970002888 A KR1019970002888 A KR 1019970002888A KR 19970002888 A KR19970002888 A KR 19970002888A KR 100247925 B1 KR100247925 B1 KR 100247925B1
Authority
KR
South Korea
Prior art keywords
data
register
bits
parallel
shifting
Prior art date
Application number
KR1019970002888A
Other languages
Korean (ko)
Other versions
KR19980067043A (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 KR1019970002888A priority Critical patent/KR100247925B1/en
Publication of KR19980067043A publication Critical patent/KR19980067043A/en
Application granted granted Critical
Publication of KR100247925B1 publication Critical patent/KR100247925B1/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/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa

Abstract

곱셈기 및 그의 동작 방법이 개시된다. M비트의 제1데이타와 N비트의 제2데이타를 곱셈하는 이 곱셈기는, 제1데이타를 병렬로 입력하여 래치하는 제1레지스터와, 확장 비트들을 발생하는 비트 발생수단과, 확장비트 및 제1레지스터로부터 출력되는 제1데이타를 병렬로 입력하여 출력 제어신호에 응답하여 순차적으로 직렬로 출력하는 병직렬 변환수단과, 제2데이타를 병렬로 입력하여 래치하는 제2레지스터와, 병직렬 변환수단의 직렬 출력을 쉬프팅한 N비트의 쉬프팅 데이타를 병렬로 출력하는 제1쉬프팅수단과, 쉬프팅 데이타와 제2레지스터에 래치된 제2데이타를 논리곱하는 논리곱수단과, 논리곱수단의 출력과 캐리 데이타를 가산하고, 가산된 결과를 출력하는 가산수단과, 가산된 결과의 최하위 비트를 제외한 비트들을 캐리 데이타로서 래치하는 제3레지스터와, 가산된 결과의 최하위 비트를 래치하는 제4레지스터와, 제4레지스터의 출력을 쉬프팅하는 제2쉬프팅수단과, 제2쉬프팅수단의 출력을 병렬로 입력하여 제1데이타와 제2데이타의 곱셈결과로서 래치하는 제5레지스터 및 출력 제어신호를 발생하고, 다음 곱셈 연산 이전에 리셋신호를 발생하는 제어수단을 구비하는 것을 특징으로 하고, 가격이 저렴하고, 크기가 줄어들어 집적회로 구현시 상당히 유리한 효과가 있다.A multiplier and method of operation thereof are disclosed. The multiplier multiplying the first data of M bits and the second data of N bits comprises: a first register for latching the first data in parallel, the bit generating means for generating the extension bits, the extension bits, and the first data; Parallel and serial conversion means for inputting the first data output from the register in parallel and sequentially outputting the serial data in response to the output control signal, a second register for inputting and latching the second data in parallel, and the parallel and serial conversion means. A first shifting means for outputting N-bit shifting data shifted in serial output in parallel, an AND operation means for ANDing the shifting data and the second data latched in the second register, and the output and carry data of the AND function Adding means for adding and outputting the added result, a third register for latching bits other than the least significant bit of the added result as carry data, and the least significant ratio of the added result. And a fourth register for latching the second register, a second shifting means for shifting the output of the fourth register, a fifth register for latching the output of the second shifting means in parallel and latching the result of the multiplication of the first data and the second data; A control means for generating an output control signal and generating a reset signal before the next multiplication operation is characterized in that it is inexpensive and reduced in size, which is advantageous in implementing an integrated circuit.

Description

곱셈기 및 그의 동작 방법{Multiflier and operating method thereof}Multiplier and its operation method

본 발명은 집적회로로 구현될 수 있는 곱셈기에 관한 것으로서, 특히, 비용이 저렴하고, 크기가 작은 곱셈기 및 그의 동작 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to multipliers that can be implemented in integrated circuits, and more particularly, to low cost, small multipliers and methods of operation thereof.

이하, 종래의 곱셈기의 구성 및 동작을 첨부한 도면을 참조하여 다음과 같이 설명한다.Hereinafter, with reference to the accompanying drawings, the configuration and operation of a conventional multiplier will be described as follows.

도 1은 종래의 곱셈기의 블럭도로서, 제1 및 제2레지스터들(10 및 12)과 곱셈부(14)로 구성된다.1 is a block diagram of a conventional multiplier, which is composed of first and second registers 10 and 12 and a multiplier 14.

도 1에 도시된 곱셈부(14)는 제1 및 제2레지스터(10 및 12)를 통해 N 비트수를 갖는 데이타 X 및 Y를 병렬로 동기를 맞추어 입력하고, 입력한 데이타 X 및 Y에 대한 곱셈 연산을 수행한다. 이 때, 곱셈부(14) 내부의 구조는 비트를 쉬프트시켜 주면서 그 값들을 덧셈 연산하도록 설계되어 있다.The multiplier 14 shown in FIG. 1 inputs data X and Y having N bits in parallel and in parallel through the first and second registers 10 and 12, and inputs the input data X and Y to each other. Perform a multiplication operation. At this time, the structure inside the multiplier 14 is designed to add the values while shifting the bits.

전술한 종래의 곱셈기는 구조가 단순하고, 빠른 연산 결과를 얻을 수 있는 반면, 크기가 크며, 가격이 비싸므로, 실제 집적회로 구현시 이용하기 적합치 않은 문제점이 있다.The above-described conventional multiplier has a simple structure and a fast calculation result, but has a large size and a high price, so it is not suitable for use in actual integrated circuit implementation.

도 1에 도시된 곱셈부(14) 대신 쉬프터와 가산기만을 이용하여 곱셈기의 동작을 수행할 수도 있다. 이 방식은 곱셈부로 구성된 방식보다 크기가 줄어드는 반면, 입력 데이타의 비트수가 증가할 경우 쉬프터와 가산기의 크기가 증가하게 되므로 도 1에 도시된 곱셈기보다는 유리하지만 여전히 크기가 작지 않은 문제점이 있다.Instead of the multiplier 14 illustrated in FIG. 1, the multiplier may be operated using only a shifter and an adder. While the size of the scheme is smaller than that of the multiplier, the size of the shifter and the adder increases when the number of bits of the input data increases, which is advantageous over the multiplier illustrated in FIG. 1, but still has a small size.

본 발명이 이루고자 하는 기술적 과제는, 직렬 가산기와 쉬프터를 이용하여 저비용 및 소형화된 곱셈기를 제공하는데 있다.An object of the present invention is to provide a low cost and miniaturized multiplier using a series adder and a shifter.

본 발명이 이루고자 하는 다른 기술적 과제는, 상기 곱셈기에서 수행되는 곱셈 방법을 제공하는데 있다.Another object of the present invention is to provide a multiplication method performed in the multiplier.

도 1은 종래의 곱셈기의 블럭도이다.1 is a block diagram of a conventional multiplier.

도 2는 본 발명에 의한 곱셈기의 블럭도이다.2 is a block diagram of a multiplier according to the present invention.

상기 과제를 이루기 위해, M(여기서, M은 적어도 1이상의 양의 정수)비트의 제1데이타와 N비트(여기서, N은 적어도 1 이상의 양의 정수)비트의 제2데이타를 곱셈하는 본 발명에 의한 곱셈기는, 상기 제1데이타를 병렬로 입력하여 래치하는 제1레지스터와, 상기 제1데이타의 최상위 비트를 확장시키기 위한 확장 비트들을 발생하는 비트 발생수단과, 상기 확장비트 및 상기 제1레지스터로부터 출력되는 상기 제1데이타를 병렬로 입력하고, 입력한 비트들을 출력 제어신호에 응답하여 순차적으로 직렬로 출력하는 병직렬 변환수단과, 상기 제2데이타를 병렬로 입력하여 래치하는 제2레지스터와, 리셋신호에 응답하여 리셋되고, 상기 병직렬 변환수단의 직렬 출력을 쉬프팅한 N비트의 쉬프팅 데이타를 병렬로 출력하는 제1쉬프팅수단과, 상기 쉬프팅 데이타와 상기 제2레지스터에 래치된 상기 제2데이타를 논리곱하는 N개의 논리곱수단들과, 상기 N개의 논리곱수단들의 출력과 캐리 데이타를 가산하고, 가산된 결과를 출력하는 가산수단과, 상기 가산된 결과의 최하위 비트를 제외한 비트들을 상기 캐리 데이타로서 래치하는 제3레지스터와, 상기 가산된 결과의 최하위 비트를 래치하는 제4레지스터와, 상기 리셋신호에 응답하여 리셋되고, 상기 제4레지스터의 출력을 쉬프팅하는 제2쉬프팅수단과, 상기 제2쉬프팅수단의 출력을 병렬로 입력하여 상기 제1데이타와 상기 제2데이타의 곱셈결과로서 래치하는 제5레지스터 및 상기 출력 제어신호를 발생하고, 다음 곱셈 연산 이전에 상기 리셋신호를 발생하는 제어수단으로 구성되는 것이 바람직하다.In order to achieve the above object, in the present invention, the first data of M (where M is at least one positive integer) bits and the second data of N bits (where N is at least one positive integer) bits are multiplied. The multiplier includes: a first register for inputting and latching the first data in parallel, bit generation means for generating extension bits for expanding the most significant bit of the first data, and the extension bit and the first register. Parallel serial conversion means for inputting the first data output in parallel and sequentially outputting the input bits in series in response to an output control signal, a second register for inputting and latching the second data in parallel; First shifting means reset in response to a reset signal and outputting N-bit shifting data in parallel shifted from the serial output of the parallel-to-serial conversion means; N logical multiplication means for ANDing the second data latched in the second register, adding means for adding the output and carry data of the N logical multiplication means, and outputting the added result, and the added result. A third register for latching bits except the least significant bit of as the carry data, a fourth register for latching the least significant bit of the added result, a reset in response to the reset signal, and shifting the output of the fourth register Inputting the second shifting means and the output of the second shifting means in parallel to generate a fifth register and the output control signal latched as a multiplication result of the first data and the second data, and before the next multiplication operation. And control means for generating the reset signal.

상기 다른 과제를 이루기 위해, M(여기서, M은 적어도 1이상의 양의 정수)비트의 제1데이타와 N비트(여기서, N은 적어도 1 이상의 양의 정수)비트의 제2데이타를 곱셈하는 곱셈기에서 수행되는 본 발명에 의한 곱셈 방법은, 상기 제1데이타와 상기 제1데이타의 최상위 비트를 확장시키기 위한 확장 비트를 혼합하는 단계와, 상기 혼합된 병렬 데이타를 직렬 데이타로 변환하는 단게와, 상기 직렬 데이타를 쉬프팅하여 N비트의 병렬 데이타로 변환하는 단계와, 상기 N비트의 병렬 데이타를 상기 제2데이타와 논리곱하는 단계와, 이전에 가산된 결과중 캐리 데이타와 상기 논리곱한 결과를 가산하는 단계와, 상기 가산된 결과 비트들중 최하위 비트를 쉬프팅하고, 최하위 비트를 제외한 비트들은 상기 캐리 데이타로서 래치하는 단계 및 쉬프팅된 상기 최하위 비트들을 상기 제1데이타와 상기 제2데이타의 곱셈 결과로서 병렬로 래치하는 단계로 이루어지는 것이 바람직하다.In order to achieve the above another object, in a multiplier that multiplies the first data of M bits, where M is a positive integer of at least one positive integer, and the second data of N bits, where N is a positive integer of at least one positive integer. The multiplication method according to the present invention is performed by mixing the first data and the extension bits for expanding the most significant bit of the first data, the step of converting the mixed parallel data into serial data, and the serial Shifting the data into N bits of parallel data, logically multiplying the N bits of parallel data with the second data, adding carry data and the logical result of the previously added result; Shifting the least significant bit of the added result bits, latching bits other than the least significant bit as the carry data and the shifted least significant ratio That as a result of multiplication of the second data with the first data comprising the steps of: latching in parallel it is preferred.

이하, 본 발명에 의한 곱셈기의 구성 및 동작을 첨부한 도면을 참조하여 다음과 같이 설명한다.Hereinafter, with reference to the accompanying drawings, the configuration and operation of the multiplier according to the present invention will be described as follows.

도 2는 본 발명에 의한 곱셈기의 블럭도로서, 비트 발생부(20), 제1 및 제2레지스터들(22 및 24), N개의 레지스터들(60, 62, 64, 66, ...)로 구성된 제1쉬프트 레지스터(26), 멀티플렉서(40), N개의 AND게이트들(70, 72, 74, 76, ...)로 구성된 논리곱부(28), 가산기(30), [N/2=K](여기서, [K]는 K를 반올림한 양의 정수를 의미함)개의 레지스터들(80, 82, 84, ...)로 구성되는 제3레지스터(32), 소정수의 레지스터들(90, 92, 94, 96, 98, ...)로 구성된 제2쉬프트 레지스터(34), 제4레지스터(36) 및 타이밍 제어부(38)로 구성된다.2 is a block diagram of a multiplier according to the present invention, in which a bit generator 20, first and second registers 22 and 24, and N registers 60, 62, 64, 66, ... The first shift register 26, the multiplexer 40, the logical product 28 consisting of N AND gates 70, 72, 74, 76, ..., adder 30, [N / 2 = K] (where [K] represents a positive integer rounded to K) Third register 32 consisting of registers 80, 82, 84, ..., a predetermined number of registers And a second shift register 34 composed of (90, 92, 94, 96, 98, ...), a fourth register 36, and a timing controller 38.

도 2에 도시된 곱셈기 및 상기 곱셈기에서 수행되는 곱셈 방법은 멀티미디어용 사운드 카드에 사용되는 오디오 코덱(CODEC) 또는 오디오용 디지탈/아날로그 변환기(Digital/Analog Converter:이하, DAC)에 적용될 수 있다. 상기 오디오 코덱(CODEC) 내부에는 오디오 볼륨 제어를 위해 DAC가 구비된다. 즉, 구체적으로 도시되지는 않았으나, 상기 오디오용 DAC 또는 CODEC내부의 DAC에는 오디오 볼륨 제어를 위해 감쇄기(Attenuator)가 구비된다. 여기에서, 감쇄기는 레지스터와 상기 곱셈기로 구현되어 입력 데이타에 제어 값을 곱하여 오디오 볼륨을 키우거나 줄이도록 제어될 수 있다.The multiplier shown in FIG. 2 and the multiplication method performed in the multiplier can be applied to an audio codec used in a multimedia sound card or a digital / analog converter (hereinafter referred to as DAC) for audio. A DAC is provided inside the audio codec for audio volume control. That is, although not specifically illustrated, an attenuator is provided in the DAC for audio or the DAC inside the CODEC to control the audio volume. Here, the attenuator may be implemented as a register and the multiplier and may be controlled to increase or decrease the audio volume by multiplying the input data by a control value.

도 2를 참조하면, 제1레지스터(22)는 M(여기서, M은 적어도 1이상의 양의 정수)비트의 제1데이타(X)를 병렬로 입력하여 곱셈기가 곱셈연산을 종료할 때까지 래치한다. 제2레지스터(24)는 N비트(여기서, N은 적어도 1 이상의 양의 정수)비트의 제2데이타(Y)를 병렬로 입력하여 제1레지스터(22)와 마찬가지로 곱셈연산이 종료될 때까지 저장한다. 여기서, 제2레지스터(24)는 타이밍 제어부(38)로부터 출력되는 레지스터 제어 클럭(미도시)이 변하기 전까지, 즉, 새로운 제2데이타가 입력되기 전까지 계속해서 데이타를 래치하게 되고, 래치된 병렬 데이타를 각각 AND게이트의 하나의 입력으로서 출력한다.Referring to FIG. 2, the first register 22 inputs in parallel the first data X of M bits, where M is a positive integer of at least one, until the multiplier finishes the multiplication operation. . The second register 24 inputs the second data Y of N bits (where N is a positive integer of at least one or more bits) in parallel and stores the multiplication operation similarly to the first register 22 until the multiplication operation is completed. do. Here, the second register 24 continuously latches the data until the register control clock (not shown) output from the timing controller 38 changes, that is, until a new second data is inputted, and latched parallel data. Are output as one input of the AND gate, respectively.

한편, 비트 발생부(20) 제1데이타의 최상위 비트를 확장시키기 위한 확장 비트들을 발생한다. 만약, 제1데이타가 2의 보수형태를 취하고 있고, 최상위 비트값이 '1'이면 '1'들을 확장비트로서 발생하지만 그이외의 경우에는 '0'들을 확장비트들로 발생한다. 즉, 하위 비트에서 연산되어진 결과에 의해 생기는 캐리 데이타를 고려하여 비트수를 증가시키기 위하여 '0' 또는'1'의 값을 확장시켜주는 기능을 한다.Meanwhile, the bit generator 20 generates extension bits for extending the most significant bit of the first data. If the first data has two's complement form and the most significant bit value is '1', '1' is generated as an extension bit, but otherwise, '0' is generated as extension bits. That is, the value of '0' or '1' is extended to increase the number of bits in consideration of the carry data generated by the result calculated in the lower bits.

멀티플렉서(40)는 확장비트 및 제1레지스터(22)로부터 출력되는 제1데이타를 병렬로 입력하고, 입력한 비트들을 제1제어클럭(CK1)에 응답하여 최하위 비트부터 최상위 비트까지 순차적으로 직렬로 출력한다. 제1쉬프트 레지스터(26)는 리셋신호(RESET)에 응답하여 리셋되고, 멀티플렉서(40)로부터 1비트씩 직렬로 출력되는 비트들을 오른쪽으로 쉬프팅하여, 쉬프팅된 N비트의 쉬프팅 데이타를 병렬로 논리곱부(28)의 해당 AND게이트로 출력한다. 제1쉬프트 레지스터(26)가 데이타를 1비트씩 쉬프팅할 때마다 제1쉬프프 레지스터(26)는 데이타를 병렬로 논리곱부(28)로 출력한다. 여기서, 제1쉬프트 레지스터(26)의 레지스터 갯수는 입력되는 제2데이타의 크기에 따라 변한다.The multiplexer 40 inputs the extension bit and the first data output from the first register 22 in parallel and sequentially inputs the input bits from the least significant bit to the most significant bit in response to the first control clock CK1. Output The first shift register 26 is reset in response to the reset signal RESET. The first shift register 26 shifts the bits output in series from the multiplexer 40 to the right by right, thereby logically multiplying the shifted N bits of shifting data in parallel. Output to the corresponding AND gate of (28). Each time the first shift register 26 shifts data by one bit, the first shift register 26 outputs the data to the logical product 28 in parallel. Here, the number of registers of the first shift register 26 changes depending on the size of the input second data.

한편, N개의 AND게이트들(70, 72, 74, 76, ...) 각각은 제1쉬프트 레지스터(26)로부터 병렬로 출력되는 쉬프팅 데이타와 제2레지스터(24)에 래치된 제2데이타(Y)를 논리곱하고, 논리곱한 결과를 가산기(30)로 출력한다. 여기서, 각 AND게이트는 제2레지스터(24)로부터 출력되는 제2데이타의 해당 비트에 의해 제어된다. 즉, 제2데이타가 '1'인 비트자리 수의 값만을 다음단의 가산기(30)로 출력한다. 가산기(30)는 N개의 AND게이트들의 출력 및 제3레지스터(32)에서 최하위 비트를 제외한 비트들을 캐리 데이타로서 입력하여 가산하고, 가산된 결과를 제3레지스터(32)에 래치한다. 여기서, 가산된 결과 비트들중 최하위 1비트를 제외한 나머지 자리수는 이전 연산에서 발생한 캐리 데이타로서 다음 연산에 가산하기 위하여 궤환시켜 준다.Meanwhile, each of the N AND gates 70, 72, 74, 76,..., The shifting data output in parallel from the first shift register 26 and the second data latched in the second register 24. Y) is ANDed and the result of AND is output to the adder (30). Here, each AND gate is controlled by the corresponding bit of the second data output from the second register 24. That is, only the value of the number of bit digits whose second data is '1' is output to the adder 30 of the next stage. The adder 30 inputs and adds the outputs of the N AND gates and bits except the least significant bit in the third register 32 as carry data, and latches the added result in the third register 32. Here, the remaining digits except the least significant 1 bit of the added result bits are carry data generated in the previous operation and are fed back to add to the next operation.

제3레지스터(32)의 크기는 가산기(30)에 입력되는 비트 수가 증가함에 따라 변한다. 즉, 제3레지스터(32)의 레지스터의 수는 가산기(30)로 입력되는 비트의 수가 K일 때, [K/2]이다. 만약 가산기의 입력수가 6개이면, 제3레지스터(32)의 레지스터의 수는 3개이다.The size of the third register 32 changes as the number of bits input to the adder 30 increases. That is, the number of registers of the third register 32 is [K / 2] when the number of bits input to the adder 30 is K. If the number of inputs of the adder is six, the number of registers of the third register 32 is three.

제2쉬프트 레지스터(34)는 리셋신호(RESET)에 응답하여 리셋되고, 제3레지스터(32)의 레지스터(80)에 저장된 가산된 결과의 최하위 비트를 내부 연산을 조정하는 제어 클럭에 응답하여 직렬로 입력하여 LSB에서 MSB 비트의 자리수 방향으로 데이타를 전송하기 위해 쉬프팅하고, 내부 연산이 최종적으로 이루어지는 시점에서 최종 연산 결과를 병렬로 제4레지스터(36)로 출력한다.The second shift register 34 is reset in response to the reset signal RESET, and serializes the least significant bit of the added result stored in the register 80 of the third register 32 in response to a control clock for adjusting an internal operation. Shifting to transfer the data in the digit direction of the MSB bit in the LSB, and outputs the final operation result to the fourth register 36 in parallel when the internal operation is finally performed.

제4레지스터(36)는 제2쉬프트 레지스터(34)로부터 출력되는 병렬 비트들을 제1데이타와 제2데이타의 최종 곱셈 결과로서 래치하고, 제2제어클럭(CK2)에 응답하여 출력단자 OUT를 통해 출력한다.The fourth register 36 latches the parallel bits output from the second shift register 34 as a result of the final multiplication of the first data and the second data and through the output terminal OUT in response to the second control clock CK2. Output

한편, 타이밍 제어부(38)는 멀티플렉서(40)가 입력한 비트들을 순차적으로 직렬로 출력시키도록 제어하는 제1제어클럭(CK1) 및 제4레지스터(36)에 래치된 곱셈 결과가 출력되도록 제어하는 제2제어클럭(CK2)을 발생하며, 다음 곱셈 연산 이전에 제1 및 제2쉬프트 레지스터들(26 및 34)를 리셋시키는 역할을 하는 리셋신호를 발생한다. 여기서, 사용하는 마스터 클럭은 일반적으로 디지탈 오디오 기기에서 사용하는 클럭을 이용할 수 있다.Meanwhile, the timing controller 38 controls the multiplexer 40 to sequentially output the bits inputted in series so that the multiplication result latched to the first control clock CK1 and the fourth register 36 is output. A second control clock CK2 is generated, and a reset signal is generated to reset the first and second shift registers 26 and 34 before the next multiplication operation. Here, the master clock to be used may generally use a clock used in a digital audio device.

전술한 도 2에 도시된 본 발명에 의한 곱셈기의 동작의 이해를 돕기 위해, 제1데이타가 '010111'이고, 제2데이타가 '1010'이라 할 때의 도 2에 도시된 곱셈기의 곱셈 동작을 다음과 같이 살펴본다. 만약, 입력데이타가 2의 보수 데이타라고 하면, 도 2에 도시된 곱셈기에 2의 보수 데이타로 변환시켜 주는 변환부를 첨가하면 된다.In order to help understand the operation of the multiplier according to the present invention illustrated in FIG. 2 described above, the multiplication operation of the multiplier shown in FIG. 2 when the first data is '010111' and the second data is '1010' is described. Take a look at the following: If the input data is 2's complement data, a conversion unit for converting to 2's complement data is added to the multiplier shown in FIG.

먼저, 제1 및 제2레지스터들(22 및 24)은 '010111' 및 '1010'을 각각 래치하고, 멀티플렉서(40)는 '00 0001 0111'의 비트열로 구성되는 데이타를 병렬로 입력한다. 여기서, 비트 발생부(20)에 의해 4비트가 확장되었다. 제1쉬프트 레지스터(26)는 멀티플렉서(40)의 직렬 출력을 입력하여 쉬프팅하고, 쉬프팅된 다음 표 1과 같은 비트들을 해당 AND게이트로 출력한다.First, the first and second registers 22 and 24 latch '010111' and '1010', respectively, and the multiplexer 40 inputs data consisting of a bit string of '00 0001 0111 'in parallel. Here, four bits have been extended by the bit generator 20. The first shift register 26 inputs and shifts the serial output of the multiplexer 40, and then outputs the bits as shown in Table 1 to the corresponding AND gate.

제1쉬프트 레지스터의 출력Output of the first shift register 논리곱부(28)의 해당 AND게이트Corresponding AND gate of logical product 28 00 1011 100000 1011 1000 7676 00 0101 110000 0101 1100 7474 00 0010 111000 0010 1110 7272 00 0001 011100 0001 0111 7070

표 1에 나타난 바와 같이, 예를 들면 논리곱부(28)의 AND 게이트(76)로는 '0001 1101 00' 순으로 비트들이 입력된다.As shown in Table 1, for example, bits are input to the AND gate 76 of the logical product 28 in the order of '0001 1101 00'.

논리곱부(28)의 각 AND게이트는 표 1에 나타난 순서대로 제1쉬프트 레지스터(26)로부터 출력되는 비트와 제2레지스터(24)에 래치된 제2데이타 '1010'을 논리곱한다. 이 때, 제2데이타가 '1010'이므로, 제1쉬프트 레지스터(26)의 두번째 및 네번째 레지스터들(62 및 66)의 출력들만이 가산기(30)로 출력되고, 첫번째 및 세번째 레지스터들(60 및 64)의 출력은 가산기(30)로 출력되지 못하므로 아무런 의미를 갖지 못한다. 가산기(30)는 제1쉬프트 레지스터(26)의 출력 결과를 입력하여 가산하고, 최하위 비트만을 후단의 제2쉬프트 레지스터(34)에서 래치하고, 그 외의 최상위 비트들로 구성되는 데이타는 연산시 발생하는 캐리 데이타로서 다시 가산기(30)에 궤환되어 다음으로 입력되는 상위 비트들의 연산에 가산된다. 이와 같이, 제1레지스터(22)에 저장된 제1데이타를 모두 연산하게 되면, 제4레지스터(36)에 최종적으로 '00 0111 0011'의 값이 래치된다.Each AND gate of the AND product 28 logically multiplies the bits output from the first shift register 26 and the second data '1010' latched in the second register 24 in the order shown in Table 1 below. At this time, since the second data is '1010', only the outputs of the second and fourth registers 62 and 66 of the first shift register 26 are output to the adder 30, and the first and third registers 60 and The output of 64 does not mean anything because it is not output to the adder 30. The adder 30 inputs and adds the output result of the first shift register 26, latches only the least significant bit in the second shift register 34 at the rear end, and data composed of the other most significant bits are generated during operation. The data is fed back to the adder 30 as carry data, and added to the next higher-order operation. As such, when all of the first data stored in the first register 22 is calculated, the value of '00 0111 0011 'is finally latched in the fourth register 36.

이상에서 설명한 바와 같이, 본 발명에 의한 곱셈기는 가격이 저렴하고, 크기가 줄어들어 집적회로 구현시 상당히 유리한 효과가 있다.As described above, the multiplier according to the present invention is inexpensive, and the size is reduced, which has a considerably advantageous effect when implementing an integrated circuit.

Claims (2)

M(여기서, M은 적어도 1이상의 양의 정수)비트의 제1데이타와 N비트(여기서, N은 적어도 1 이상의 양의 정수)비트의 제2데이타를 곱셈하는 곱셈기에 있어서,In a multiplier that multiplies the first data of M bits, where M is at least one positive integer, and the second data of N bits, where N is at least one positive integer, 상기 제1데이타를 병렬로 입력하여 래치하는 제1레지스터;A first register to input and latch the first data in parallel; 상기 제1데이타의 최상위 비트를 확장시키기 위한 확장 비트들을 발생하는 비트 발생수단;Bit generation means for generating extension bits for extending the most significant bit of the first data; 상기 확장비트 및 상기 제1레지스터로부터 출력되는 상기 제1데이타를 병렬로 입력하고, 입력한 비트들을 출력 제어신호에 응답하여 순차적으로 직렬로 출력하는 병직렬 변환수단;Parallel to serial conversion means for inputting the extended data and the first data output from the first register in parallel and sequentially outputting the input bits in series in response to an output control signal; 상기 제2데이타를 병렬로 입력하여 래치하는 제2레지스터;A second register configured to input and latch the second data in parallel; 리셋신호에 응답하여 리셋되고, 상기 병직렬 변환수단의 직렬 출력을 쉬프팅한 N비트의 쉬프팅 데이타를 병렬로 출력하는 제1쉬프팅수단;First shifting means reset in response to a reset signal and outputting N-bit shifting data in parallel shifting the serial output of the parallel-to-serial conversion means; 상기 쉬프팅 데이타와 상기 제2레지스터에 래치된 상기 제2데이타를 논리곱하는 N개의 논리곱수단들;N AND products for ANDing the shifting data and the second data latched in the second register; 상기 N개의 논리곱수단들의 출력과 캐리 데이타를 가산하고, 가산된 결과를 출력하는 가산수단;Adding means for adding the output of the N logical multiplication means and carry data, and outputting the added result; 상기 가산된 결과의 최하위 비트를 제외한 비트들을 상기 캐리 데이타로서 래치하는 제3레지스터;A third register for latching bits except the least significant bit of the added result as the carry data; 상기 가산된 결과의 최하위 비트를 래치하는 제4레지스터;A fourth register for latching the least significant bit of the added result; 상기 리셋신호에 응답하여 리셋되고, 상기 제4레지스터의 출력을 쉬프팅하는 제2쉬프팅수단;Second shifting means reset in response to the reset signal and shifting an output of the fourth register; 상기 제2쉬프팅수단의 출력을 병렬로 입력하여 상기 제1데이타와 상기 제2데이타의 곱셈결과로서 래치하는 제5레지스터; 및A fifth register configured to input the outputs of the second shifting means in parallel and latch the result of the multiplication of the first data and the second data; And 상기 출력 제어신호를 발생하고, 다음 곱셈 연산 이전에 상기 리셋신호를 발생하는 제어수단을 구비하는 것을 특징으로 하는 곱셈기.And control means for generating said output control signal and generating said reset signal before a next multiplication operation. 오디오 볼륨 제어를 위해 오디오 코덱(CODEC)의 디지탈/아날로그 변환기 내부에 구비되고, M(여기서, M은 적어도 1이상의 양의 정수) 비트의 제1데이타와 N비트(여기서, N은 적어도 1 이상의 양의 정수)비트의 제2데이타를 곱셈하는 곱셈기에서 수행되는 곱셈 방법에 있어서,It is provided inside the digital / analog converter of the audio codec for audio volume control, wherein the first data of M bits, where M is at least one positive integer, and the N bits, where N is at least one quantity. In the multiplication method performed in the multiplier for multiplying the second data of the bit) 상기 제1데이타와 상기 제1데이타의 최상위 비트를 확장시키기 위한 확장 비트를 혼합하는 단계;Mixing extension bits for expanding the first data and the most significant bit of the first data; 상기 혼합된 병렬 데이타를 직렬 데이타로 변환하는 단게;Converting the mixed parallel data into serial data; 상기 직렬 데이타를 쉬프팅하여 N비트의 병렬 데이타로 변환하는 단계;Shifting the serial data to convert it into N-bit parallel data; 상기 N비트의 병렬 데이타를 상기 제2데이타와 논리곱하는 단계;Logically multiplying the N bits of parallel data with the second data; 이전에 가산된 결과중 캐리 데이타와 상기 논리곱한 결과를 가산하는 단계;Adding carry data and the result of the AND product of the previously added result; 상기 가산된 결과 비트들중 최하위 비트를 쉬프팅하고, 최하위 비트를 제외한 비트들은 상기 캐리 데이타로서 래치하는 단계; 및Shifting a least significant bit of the added result bits and latching bits except the least significant bit as the carry data; And 쉬프팅된 상기 최하위 비트들을 상기 제1데이타와 상기 제2데이타의 곱셈 결과로서 병렬로 래치하는 단계를 구비하는 것을 특징으로 하는 곱셈 방법.And latching the shifted least significant bits in parallel as a result of the multiplication of the first data and the second data.
KR1019970002888A 1997-01-30 1997-01-30 Multiflier and operating method thereof KR100247925B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970002888A KR100247925B1 (en) 1997-01-30 1997-01-30 Multiflier and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970002888A KR100247925B1 (en) 1997-01-30 1997-01-30 Multiflier and operating method thereof

Publications (2)

Publication Number Publication Date
KR19980067043A KR19980067043A (en) 1998-10-15
KR100247925B1 true KR100247925B1 (en) 2000-03-15

Family

ID=19496033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970002888A KR100247925B1 (en) 1997-01-30 1997-01-30 Multiflier and operating method thereof

Country Status (1)

Country Link
KR (1) KR100247925B1 (en)

Also Published As

Publication number Publication date
KR19980067043A (en) 1998-10-15

Similar Documents

Publication Publication Date Title
US3947670A (en) Signed multiplication logic
US4774686A (en) Serial digital signal processing circuitry
US5323338A (en) Pseudo-random sequence generators
JP3276852B2 (en) Code conversion circuit
US6127863A (en) Efficient fractional divider
KR100247925B1 (en) Multiflier and operating method thereof
US5854755A (en) Clock frequency multiplication device
KR0147942B1 (en) Booths recording circuit in a multiplier
US5920496A (en) High speed correlator using up/down counter
JPH01273128A (en) Cmos parallel-serial multiplication circuit and multiplication/addition stage
KR950012088B1 (en) High speed multiplicating circuit
JP3097081B2 (en) Variable stage m-sequence code generator
US5615141A (en) Multiplying apparatus
US6675186B1 (en) Decibel adjustment device with shift amount control circuit
JP2864598B2 (en) Digital arithmetic circuit
JPH08330914A (en) Waveform generator
KR100292067B1 (en) Cell for discrete time cellular neural networks
KR20030032180A (en) Counter for improving counting speed
JPH0561648A (en) Partial multiplier selecting circuit
JP2001034457A (en) Adding and subtracting circuit
JPH09101878A (en) Random number generation circuit
JPH0628151A (en) Parallel latch circuit for serial data
JPS6250928A (en) Series multiplication of fixed coefficient and digital circuit thereof
RU2021633C1 (en) Multiplying device
JPH0621790A (en) Pulse width modulation circuit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071203

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee