KR0176883B1 - Complex number multiplier - Google Patents

Complex number multiplier Download PDF

Info

Publication number
KR0176883B1
KR0176883B1 KR1019960000250A KR19960000250A KR0176883B1 KR 0176883 B1 KR0176883 B1 KR 0176883B1 KR 1019960000250 A KR1019960000250 A KR 1019960000250A KR 19960000250 A KR19960000250 A KR 19960000250A KR 0176883 B1 KR0176883 B1 KR 0176883B1
Authority
KR
South Korea
Prior art keywords
multiplier
output
input
control signal
result
Prior art date
Application number
KR1019960000250A
Other languages
Korean (ko)
Other versions
KR970059927A (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 KR1019960000250A priority Critical patent/KR0176883B1/en
Publication of KR970059927A publication Critical patent/KR970059927A/en
Application granted granted Critical
Publication of KR0176883B1 publication Critical patent/KR0176883B1/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/4806Computations with complex numbers
    • G06F7/4812Complex multiplication
    • 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

Abstract

본 발명의 복소수 승산기는, 승수(XR,XI)와 피승수(YR,YI)를 입력으로 하는 제1~제4레지스터와, 상기 승수와 피승수를 실수와 실수, 실수와 허수, 허수와 허수에 대해 곱셈하기 위한 제1~제4승산기와, 상기 각 승산기에서 곱해지는 데이터의 부호를 검출하기 위한 제1~제4부호검출부와, 상기 각 승산기의 곱셈결과를 래치시키기 위한 제5~제8레지스터와, 상기 제5,제6레지스터의 래치결과와, 제7,제8레지스터 래치결과를 각각 입력으로 하여 제어부의 모드제어신호에 따라 덧셈 또는 뺄셈을 하는 제1,제2가감산기와, 상기 제1가감산기와 연결되고 상기 제1,제2부호 검출부의 검출결과를 입력으로 하며 상기 제어부의 모드제어신호에 따라 덧셈이면 +1, 뺄셈이면 -1을 행하는 제1±1처리부와, 상기 제2가감산기와 연결되고, 제3,제4부호검출부의 검출결과를 입력으로 하여 제1가산기와 동일한 동작을 수행하는 제2±1처리부와, 상기 ±1 처리된 각 계산 결과에 따른 자리수 이동을 하기위한 제1,제2쉬프터와, 상기 각 쉬프터의 출력이 모두 입력되며 제어부의 제어신호에 따라 ±1처리한 신호와, 그렇지 않은 신호를 선택하여 출력하기 위한 제1,제2출력선택부를 포함하여 구성되며, 종래의 산술연산시 유한 워드 길이에서 발생하는 에러를 방지함으로써 정밀한 연산을 할 수 있는 효과가 있다.The complex multiplier of the present invention includes first to fourth registers to which multipliers (X R , X I ) and multiplicand (Y R , Y I ) are input, and multipliers that multiply the multipliers and multiplicands by real and real numbers, First to fourth code detectors for detecting the sign of data multiplied by each multiplier, and fifth to fourth code detectors for latching the multiplication result of each multiplier, First and second adders and subtracters for performing addition or subtraction in accordance with the mode control signal of the control unit, respectively, with the eighth register, the latch results of the fifth and sixth registers, and the seventh and eighth register latch results, A first ± 1 processing unit connected to the first adder-subtractor and receiving the detection results of the first and second code detectors and performing +1 if the addition is performed and -1 if the addition is subtracted according to the mode control signal of the controller; Connected to the second adder and subtracter, and outputs detection results of the third and fourth code detectors A second shift register for shifting the digit according to the ± 1 processed digits, and an output of each shifter are input to the first and second shifters. And a first and a second output selection unit for selecting and outputting a signal processed by ± 1 according to the control signal of the control unit and a signal not output by the selection unit. In the conventional arithmetic operation, an error occurring in the finite word length is prevented There is an effect that precise calculation can be performed.

Description

복소수 승산기Complex multiplier

제1도는 종래의 기술에 의한 복소수 승산기의 회로도.FIG. 1 is a circuit diagram of a complex multiplier according to a conventional technique; FIG.

제2도는 제1도의 입출력 타이밍도.FIG. 2 is an input / output timing diagram of FIG.

제3도는 제1도의 승산기의 상세 구성도.FIG. 3 is a detailed diagram of the multiplier of FIG. 1;

제4도는 본 발명에 의한 복소수 승산기의 회로도.FIG. 4 is a circuit diagram of a complex multiplier according to the present invention. FIG.

제5도는 제4도 부호검출부의 상세 회로도.FIG. 5 is a detailed circuit diagram of a fourth-degree sign detecting unit. FIG.

제6도는 제4도 ±1 처리부의 상세 회로도.FIG. 6 is a detailed circuit diagram of the processing unit of the fourth phase ± 1; FIG.

* 도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

31~34,39~42 : 레지스터 35~38 : 승산기31 to 34, 39 to 42: Registers 35 to 38:

43,44 : 가감산기 45,46 : ±1 처리부43, 44: adder / subtracter 45, 46: ± 1 processor

47,48 : 쉬프터 49,50 : 출력선택부47, 48: SHIFTER 49, 50:

51~54 : 부호검출부 55 : 제어부51 to 54: Sign detecting section 55:

본 발명은 승산기에 관한 것으로, 특히 산술연산시 발생하는 에러를 처리하기 위한 복소수 승산기에 관한 것이다.Field of the Invention [0002] The present invention relates to a multiplier, and more particularly to a complex multiplier for processing errors occurring in arithmetic operations.

제1도는 종래의 기술에 의한 복소수 승산기를 도시한 것으로, 데이터(XR,XI,YR,YI)가 입력, 래치(latch)되는 레지스터들(1~4)과, 상기 각 레지스터들의 출력중 XR과 YR, XR과 YI, XI과 YR, XI과 YI를 각각 곱하기 위한 승산기들(5~8)과, 상기 각 곱셈결과를 래치시키기 위한 레지스터들(9~12)과, 상기 레지스터 9와10의 래치결과와, 레지스터 11와12의 래치결과를 각각 입력으로 하여 제어부(20)의 제어신호에 따라 덧셈 또는 뺄셈을 하는 가감산기(13,14)와, 상기 가감산기(13,14)와 각각 연결되어 제어부(20)의 제어신호에 따라 각 계산결과에 따른 자리수 이동을 하기위한 쉬프터(SHIFTER)(15,16)와, 상기 각 쉬프터(15,16)의 출력이 모두 입력되며 제어부(20)의 제어신호에 따라 최종출력을 하기 위한 출력 선택부(17,18)을 포함하여 구성된다.The first turn of that illustrates a complex number multiplier according to a prior art, data (X R, X I, Y R, Y I) is input, a latch (latch) registers (14) and, the respective registers that Multipliers 5 to 8 for multiplying X R and Y R , X R and Y I , X I and Y R , X I and Y I in the output, and registers 9 to 9 for latching the respective multiplication results (13, 14) for performing addition or subtraction on the basis of the control signal of the control section (20) by taking the latch results of the registers (9, 10) and the latch results of the registers (11, 12) (15,16) connected to the adder / subtracter (13,14) for shifting the digits according to the calculation result according to the control signal of the controller (20), and a shifter (15,16) And output selection units 17 and 18 for outputting the final output in accordance with the control signal of the control unit 20. [

상기 승산기들(5~8)은, 각각 제3도에 도시한 바와 같이 승산기(21)와, 비교기(22) 및 상기 승산기(21)와 비교기(22)의 출력을 입력으로 하여 선택적으로 출력시키기 위한 멀티플렉서(23)으로 구성되는데, 상기 비교기(22)는 (-1)×(-1)을 근사적으로 처리하여 유한워드길이(finite-world length)의 단점을 보상시켜 준다.The multipliers 5 to 8 selectively output the outputs of the multiplier 21, the comparator 22, the multiplier 21 and the comparator 22 as shown in FIG. 3 The comparator 22 approximates (-1) x (-1) to compensate for the disadvantage of the finite-world length.

즉,의 2개의 입력이 들어오면, 출력은이 되어야 하는데, 이를 승산해 주지 못하고, 또 유한워드 길이에서 1비트 만큼 초과 하므로 이를 표현해 주지 못하기 때문에으로 보수를 취하여 출력한다.(s'에 1비트초과)In other words, When the two inputs of Since it can not be multiplied and it can not be expressed because it exceeds 1 bit in the finite word length (S 'is more than 1 bit)

이를 십진수로 예를들면, (1,000,000)10을 (0,999,999)10으로 나타내는 것이다.This is expressed as a decimal number, for example, ( 10 , 000) 10 (0,999,999) 10 .

그리고 제2도를 참조하여 상기 복소수 승산기의 동작을 설명하면 다음과 같다.The operation of the complex multiplier will now be described with reference to FIG.

상기 입력되는 데이터는, 복소수 데이터로 실수(XR)과 허수(XI), 그리고 실수(YR)과 허수(YI)이며, 여기서 XR,XI,YR,YI는 2의 보수, 부호가 있는 값이고, 2n(n=4,5,6,...) 비트이다.The data input is a complex number data and real (X R) and imaginary (X I), and the real number (Y R) and imaginary (Y I), where X R, X I, Y R, Y I is a 2 (N = 4, 5, 6, ...) bits.

상기 입력데이터는 (a)도의 클럭 에지(clock edge)에서 상기 레지스터(1~4)에 각각 래치시키고, 상기한 바와 같이 승산기(5)는, XR과 YR을, 승산기(6)은 XR과 YI을, 승산기(7)은 XI과 YR을, 승산기(8)은 XI과 YI을 곱한 후 그 결과를 각각 레지스터(9~12)에 각각 저장시킨다.The multiplier 5 multiplies X R and Y R and the multiplier 6 multiplies X (X) and Y R (X) as described above, and outputs the input data to the registers 1 to 4 at the clock edge of FIG. the R and Y I, a multiplier (7) causes the X I and Y R, multiplier 8, respectively and stores the result then multiplied by the X I and Y I for each register (9-12).

상기 승산기에서 XR과 YR, XR과 YI의 곱셈결과는 레지스터(9,10)들을 지나 가감산기(13)에 입력되어 상기 제어부(20)의 모드제어신호(R)에 따라 덧셈 또는 뺄셈을 행하게 되며, 상기 XI과 YR, XI과 YI의 곱셈결과는 레지스터(11,12)들을 지나 가감산기(14)에 입력되어 상기 제어부(20)의 모드제어신호(I)에 따라 덧셈 또는 뺄셈을 행하게 된다.The result of the multiplication of X R and Y R and X R and Y I in the multiplier is input to the adder-subtracter 13 through the registers 9 and 10 and is added or subtracted in accordance with the mode control signal R of the controller 20 And the result of the multiplication of X I and Y R and X I and Y I is input to the adder-subtracter 14 through the registers 11 and 12 and inputted to the mode control signal I of the controller 20 So that addition or subtraction is performed.

여기서 상기 모드제어신호 R과 I는 서로 다른 제어신호이며, 상기 가감산시 오버플로우(overflow)가 발생하면 상기 제어부(20)에 의해 'H' 신호를 전달하여 오버플로우가 발생한 결과치는 무시하도록 제어된다.Here, the mode control signals R and I are different control signals, and when the overflow occurs during the acceleration / deceleration, the control unit 20 transmits an 'H' signal to ignore the result of the overflow .

그리고 쉬프터(15,16)는 상기 제어부(20)의 제어신호에 따라 상기 가감산기(13,14)의 결과에 자리수 이동을 실시하며, 이 자리 이동된 마지막 결과는 다시 레지스터에 저장시키고, 32비트인 경우 데이터 출력핀이 32×2=64비트가 필요한 것을 절반(32비트)으로 줄이기 위해 출력선택부(17,18)을 이용하여 PR(H)*PI(H), PR(L)*PI(L), PR(H)*PI(L), PR(L)*PI(H)을 출력시킨다.The shifters 15 and 16 perform digit shift on the result of the adder / subtracter 13 and 14 according to a control signal of the controller 20, store the final result in the register, (H) * PI (H) * PR (L) * PI (H) by using output selection units 17 and 18 to reduce the data output pin to 32 (L), PR (H) * PI (L), and PR (L) * PI (H).

그러나 이러한 종래의 복소수 승산기는, 상기한 바와 같이 유한워드 길이의 경우 단점을 보상시키기 위해 유사한 값으로 근사시켰으나 이 방법의 경우 정밀한 값을 얻을 수 없는 문제점이 있다.However, in the conventional complex multiplier, a finite word length is approximated to a similar value in order to compensate for the disadvantage. However, this method has a problem that a precise value can not be obtained.

따라서 본 발명의 목적은 상기와 같은 문제점을 해결하여, 유한워드 길이를 넘어가는 경우에도 정확한 연산이 가능한 복소수 승산기를 제공하는 것이다.Therefore, an object of the present invention is to provide a complex multiplier capable of correct calculation even when a finite word length is exceeded.

상기 목적을 달성하기 위한 본 발명의 복소수 승산기는, 승수(XR,XI)와 피승수(YR,YI)를 입력으로 하는 제1~제4레지스터와, 상기 승수와 피승수를 실수와 실수, 실수와 허수, 허수와 허수에 대해 곱셈하기 위한 제1~제4승산기와, 상기 각 승산기에서 곱해지는 데이터의 부호를 검출하기 위한 제1~제4부호검출기와, 상기 각 승산기의 곱셈결과를 래치시키기 위한 제5~제8레지스터와, 상기 제5,제6레지스터의 래치결과와, 제7,제8레지스터 래치결과를 각각 입력으로 하여 제어부의 모드제어신호에 따라 덧셈 또는 뺄셈을 하는 제1,제2가감산기와, 상기 제1가감산기와 연결되고 상기 제1,제2부호검출부의 검출결과를 입력으로 하며 상기 제어부의 모드제어신호에 따라 덧셈이면 +1, 뺄셈이면 -1을 행하는 제1 ±1 처리부와, 상기 제2가감산기와 연결되고, 제3,제4부호검출부의 검출결과를 입력으로 하여 제1가산기와 동일한 동작을 수행하는 제2±1처리부와, 상기 ±1 처리된 각 계산결과에 따른 자리수 이동을 하기위한 제1,제2쉬프터와, 상기 각 쉬프터의 출력이 모두 입력되며 제어부의 제어신호에 따라 ±1처리한 신호와, 그렇지 않은 신호를 선택하여 출력하기 위한 제1,제2 출력선택부를 포함하여 구성된 것을 특징으로 한다.In order to achieve the above object, a complex multiplier according to the present invention comprises first to fourth registers receiving multipliers (X R , X I ) and multiplicands (Y R , Y I ), and multipliers First to fourth multipliers for multiplying real and imaginary numbers, imaginary and imaginary numbers, first to fourth code detectors for detecting signs of data to be multiplied by the respective multipliers, and multipliers for multiplying the multiplication results of the multipliers First to eighth registers for latching and latching results of the fifth and sixth registers, and seventh and eighth register latch results, respectively, and performing addition or subtraction in accordance with a mode control signal of the control unit, And a second adder / subtracter, connected to the first adder / subtracter, for inputting the detection results of the first and second code detectors and performing +1 if the addition is performed and -1 if the subtraction is performed according to the mode control signal of the controller 1 & circ & 1 processing unit, and a second adder / subtracter connected to the third adder and the fourth adder, A second ± 1 processor for performing the same operation as that of the first adder with the detection result of the detector being input; first and second shifters for performing digit shift according to the ± 1 processed values; And a first and a second output selection unit for selecting and outputting the signal processed by ± 1 according to the control signal of the control unit.

이하 첨부도면을 참조하여 본 발명을 좀 더 상세하게 설명하고자 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention.

본 발명의 복소수 승산기는, 종래의 복소수 승산기에 부호검출부와 ±1 처리부를 더 연결한 것으로, 제4도에 도시한 바와 같이 데이터 XR, XI, YR, YI가 각각 입력되는 레지스터들(31~34)과, 상기 각 레지스터들의 출력중 XR과 YR, XR과 YI, XI과 YR, XI과 YI를 각각 곱하기 위한 승산기들(35~38)과, 상기 승산기에서 곱해지는 데이터의 부호를 검출하여 그 결과 ±1처리부(44,45)로 보내는 부호검출부(51~54)와, 상기 각 곱셈결과를 래치시키기 위한 레지스터들(39~42)과, 상기 레지스터 39와 40의 래치결과와, 레지스터 41와 43의 래치결과를 각각 입력으로 하여 제어부(55)의 모드제어신호에 따라 덧셈 또는 뺄셈을 하는 가감산기(43,44)와, 상기 가감산기(43,44)와 각각 연결되고, 상기 부호검출부(51,52)의 검출결과를 입력으로하며 상기 제어부(55)의 모드제어신호를 복호화하여 덧셈이면 +1, 뺄셈이면 -1을 행하는 ±1처리부(45)와, 상기 부호검출부(53,54)의 검출결과를 입력으로하여 ±1처리부(45)와 동일한 동작을 수행하는 다른 ±1처리부(46)와, 상기 ±1 처리된 각 계산결과에 따른 자리수 이동을 하기위한 쉬프터(47,48)와, 상기 각 쉬프터(47,48)의 출력이 모두 입력되며 제어부(55)의 제어신호에 따라 최종출력을 하기 위한 출력선택부(49,50)을 포함하여 구성된다.A complex multiplier of the present invention, in the conventional complex multiplier code detector and the ± 1 processing section that further connected, FIG. 4 a register, the data X R, X I, Y R, Y I input, respectively, as shown in Multipliers 35 to 38 for multiplying X R and Y R , X R and Y I , X I and Y R , and X I and Y I in the outputs of the registers, A code detector 51-54 for detecting a sign of data multiplied by a multiplier and sending the result to the ± 1 processors 44 and 45, registers 39-42 for latching the results of multiplication, Adder / subtractors 43 and 44 for performing addition or subtraction in accordance with the mode control signal of the control unit 55 with the latch results of 39 and 40 and the latch results of the registers 41 and 43 as inputs, 44, and receives the detection results of the code detection units 51, 52 as input, and outputs the mode control signal of the control unit 55 as 1 processing unit 45 for performing +1 operations for addition and subtraction of -1 for smoothing, and ± 1 processing unit 45 for performing the same operation as the ± 1 processing unit 45 by taking the detection results of the sign detecting units 53 and 54 as input, 1 processing unit 46 and shifters 47 and 48 for shifting the digits according to the respective ± 1 processed results and the outputs of the shifters 47 and 48 are inputted and the control of the control unit 55 And output selection units 49 and 50 for final output according to the signals.

그리고 상기 부호검출부는, 제5도에 도시한 바와 같이 (n/2)개의 하위비트를 입력으로 하는 제1노어 게이트와, 반전된 1비트으를 포함한 나머지 상위비트를 입력으로 하는 제2노어 게이트로 이루어진 승수처리부(56)와, 상기 승수처리부와 동일하게 구성된 피승수처리부(57)와, 상기 승수처리부와 피승수처리부의 출력을 입력으로 하는 앤드 게이트(58) 및 상기 앤드 게이트의 출력을 버퍼링하여 출력시키는 버퍼(59)로 구성되며, 상기 ±1처리부는 제6도에 도시한 바와 같이 상기 부호검출부의 출력(DET1,DET2)을 입력으로 하는 오이 게이트(61)와, 상기 오이 게이트의 출력을 입력으로하며 오버플로우가 발생되지 않으면 ±1 처리 결과를 선택하도록 하기 위한 레지스터(62)와, 상기 제어부의 모드제어신호를 디코디 하여 + 또는 -를 선택하기 위한 +/-선택기(63)와, +,- 선택결과에 따라 실제 입력되는 데이터에 ±1을 처리하는 ±1 처리기와, 상기 레지스터(62)의 출력결과에 따라 상기 입력되는 원 데이터와 ±1 처리된 데이터를 선택하여 출력하기 위한 멀티플렉서(65)를 포함하여 구성되며, 전체 동작을 다음과 같다.As shown in FIG. 5, the sign detecting unit includes a first NOR gate for receiving (n / 2) lower bits and a second NOR gate for receiving the remaining upper bits including the inverted 1 bit, (58) configured to receive an output of the multiplier and a multiplier processor, and a multiplier (58) configured to buffer the output of the multiplier 6, the ± 1 processing unit includes a gyre gate 61 to which the outputs (DET1, DET2) of the code detection unit are inputted, and a buffer 59 for inputting the output of the gygate as input A register 62 for selecting a processing result of ± 1 if an overflow does not occur, a +/- selector 63 for selecting + or - by decoding the mode control signal of the controller, , - And a multiplexer 65 for selecting and outputting the original data and ± 1 processed data according to the output result of the register 62, And the overall operation is as follows.

먼저 데이터 입력은 두 개의 벡터(X,T)의 실수값(XR,YR)과 허수값(XI,YI)이고, 이 XR,XI,YR,YI은 비트수는 2n(n=4,5,6,...)비트인 2의 보수(2's complement), 부호가 있는 값이며, 상기 데이터는 클럭신호의 에지에서 각 레지스터(31~34)에 래치되는데, 래치된 값은 승산기(35)는, XR과 YR을, 승산기(36)은 XR과 YI을, 승산기(37)은 XI과, YR을, 승산기(38)은 XI과 YI를 곱한 후 다음 클럭 에지에서 그 결과를 각각 레지스터(39~42)에 각각 저장시킨다.First, data input is two vectors (X, T) of a real value (X R, Y R) and an imaginary value and (X I, Y I), the X R, X I, Y R, Y I is the number of bits 2 " complementary sign having 2n (n = 4, 5, 6, ...) bits and the data is latched in each register 31 to 34 at the edge of the clock signal, The multiplier 35 multiplies X R and Y R , the multiplier 36 multiplies X R and Y I , the multiplier 37 multiplies X I and Y R , the multiplier 38 multiplies X I and Y I and stores the result in the registers 39 to 42, respectively, at the next clock edge.

그리고 상기 레지스터(39,40)에 저장된 값은 제어부(55)의 모드 제어 신호에 따라 가감산기(43)에서 덧셈, 혹은 뺄셈을 행하게 되며, 레지스터(41,42)에 저장된 값도 또한 상기 제어부(55)의 모드 제어신호에 따라 가감산기(44)에서 덧셈, 혹은 뺄셈을 행하게 된다.The values stored in the registers 39 and 40 are added or subtracted by the adder / subtracter 43 in accordance with the mode control signal of the controller 55. The values stored in the registers 41 and 42 are also input to the controller The adder / subtracter 44 performs addition or subtraction in accordance with the mode control signal of the adder / subtracter 55.

이때 덧셈 또는 뺄셈에서 발생한 오버플로우 신호는 상기 ±1 처리부(45,46) 및 제어부(55)로 보내지며, 오버플로우가 발생한 값은 무시되도록 상기 제어부(55)에서 제어해준다.At this time, an overflow signal generated in the addition or subtraction is sent to the ± 1 processing units 45 and 46 and the control unit 55, and the control unit 55 controls the overflow value to be ignored.

상기 가감산기(43)의 결과 값은 상기 ±1 처리부(45)에, 가감산기(44)의 결과 값은 상기 ±1 처리부(46)에 전달되어 ±1 처리한다.The result of the adder-subtractor 43 is passed to the ± 1 processor 45 and the result of the adder-subtractor 44 is passed to the ± 1 processor 46 to process ± 1.

상기 승산기(35)에서 곱셈을 행하는 데이터가 -1×-1(-1:입력데이터가 음의 값인 경우, 이하 (-1)이라함)인지 상기 부호 검출부(51)에서 검출하여 검출한 신호를 상기 ±1 처리부(45)에 전해주며, 동일한 방법으로 부호검출부(52)의 검출신호를 ±1 처리부(45)에 전해준다.(-1) when the data to be multiplied by the multiplier 35 is -1 x -1 (-1: when the input data is a negative value, hereinafter referred to as -1) 1 processing unit 45 and transmits the detection signal of the sign detecting unit 52 to the ± 1 processing unit 45 in the same manner.

상기 부호검출부에서는, 예를 들어 입력데이터 비트가 10비트인 경우 a[9:0]=1000000000, b[9:0]=1000000000이면 부호검출신호를 하이(H)로 출력시키고, 그 외에는 로우(L) 신호를 출력한다.For example, if the input data bit is 10 bits, the code detection unit outputs a sign detection signal as H (H) if a [9: 0] = 1000000000 and b [9: 0] = 1000000000. Otherwise, L) signal.

상기 부호검출부의 출력이 (-1)×(-1)를 나타내는 하이신호인 경우, 상기 ±1처리부에서는 상기 제어부(55)의 모드 제어신호를 복호하여 덧셈이면 +1을, 뺄셈이면 -1을 행한 후 쉬프터(47)에 보내고, 상기 검출신호가 로우이면 ±1을 수행할 필요가 없으므로 상기 가감산기(43)의 결과를 그대로 쉬프터(47)에 보내준다.If the output of the sign detecting unit is a high signal indicating (-1) x (-1), the control unit 55 of the control unit 55 decodes the mode control signal to +1, And sends it to the shifter 47. If the detection signal is low, it is not necessary to perform ± 1, and the result of the adder-subtractor 43 is sent to the shifter 47 as it is.

상기 ±1처리부의 동작을 좀더 구체적으로 설명하면, 상기 부호검출신호가 하이이면, 상기 레지스터의 데이터 단자에 입력되어 오버플로우가 발생하지 않을 경우 ±1을 수행하도록 하이선택신호를 멀티플렉서에 보내주고 +/- 선택기에서는 상기 제어부의 모드제어신호가 덧셈인지, 뺄셈인지 디코딩한 후 상기 부호검출신호를 보고 ±1 처리기에서 + 또는 -를 선택하도록 Mo[3:0] 신호를 만들어 준다.More specifically, if the sign detection signal is high, the high select signal is input to the data terminal of the register and is sent to the multiplexer so that the overflow does not occur. / -Selector decodes the mode control signal of the control unit to add or subtract, and generates the Mo [3: 0] signal so that the sign detection signal is + 1 or + in the + 1 processor.

가령 현재 모드제어신호가 (A-B)를 나타낼때 상기 DET2(B항)가 하이라면 -1을 행하고, DET1(A항)가 하이라면 +1을 행하도록 제어해준다.For example, when the current mode control signal indicates (A-B), -1 is performed if DET2 (B) is high, and +1 when DET1 (A) is high.

그리고 이렇게 제어를 받은 ±1처리기는 상기 Mo[3:0] 신호에 따라 동작한 후 멀티플렉서의 I1 단자에 입력되고, ±1을 수행하지 않은 입력신호는 Io단자에 입력되며, 상기한 바와 같이 부호검출부의 결과가 하이이면 ±1을 한 I1단자값을 선택하고, 로우이면 ±1을 하지 않은 Io단자값을 선택하여 출력한다.Then, the ± 1 processor controlled in this way is operated according to the Mo [3: 0] signal and then inputted to the I1 terminal of the multiplexer, and the input signal not performing the operation of ± 1 is input to the Io terminal, If the result of the detection section is high, select the I1 terminal value that is ± 1, and if low, select the Io terminal value that is not ± 1 and output it.

한편 상기 ±1처리부(46)에서도 같은 동작을 수행하며, 상기 두 ±1처리부(45,46)의 결과는 상기 쉬프터 47과 48에서 제어부(55)의 쉬프트 제어신호에 따라 좌측 또는 우측으로 자리이동시킨 후 그 결과는 둘다 출력선택부(49,50)에 보내진다.The results of the two ± 1 processing units 45 and 46 are shifted to the left or the right according to the shift control signal of the control unit 55 in the shifters 47 and 48 Both of which are sent to the output selection units 49 and 50.

상기 출력선택부(49,50)에서는 출력 데이터 핀 수를 반으로 줄이기 위해, 상기 제어부(55)의 선택신호(Osel)에 따라 PR(H)와 PI(H)를, PR(L)과 PI(L)을, PR(H)와 PR(L)을, PI(H)와 PI(L)을 출력시킨다.In the output selection unit (49,50) to reduce the number of data output pins in half, the P R (H) P, and I (H) according to the selection signal (Osel) of the controller (55), P R (L ) And P I (L), P R (H) and P R (L), and P I (H) and P I (L)

이상에서와 같이 본 발명에 의하면, 산술연산시 유한 워드 길이에서 발생하는 에러를 방지함으로써 정밀한 연산을 할 수 있는 효과가 있다.As described above, according to the present invention, it is possible to precisely calculate arithmetic operations by preventing errors occurring in finite word lengths.

Claims (3)

승수(XR,XI)와 피승수(YR,YI)를 입력으로 하는 제1~제4레지스터와, 상기 승수와 피승수를 실수와 실수, 실수와 허수, 허수와 허수에 대해 곱셈하기 위한 제1~제4승산기와, 상기 각 승산기에서 곱해지는 데이터의 부호를 검출하기 위한 제1제4부호검출부와, 상기 각 승산기의 곱셈결과를 래치시키기 위한 제5~제8레지스터와, 상기 제5,제6레지스터의 래치결과와, 제7,제8레지스터 래치결과를 각각 입력으로 하여 제어부의 모드제어신호에 따라 덧셈 또는 뺄셈을 하는 제1,제2가감산기와, 상기 제1가감산기와 연결되고, 상기 제1,제2부호검출부의 검출결고를 입력으로 하며 상기 제어부의 모드제어신호에 따라 덧셈이면 +1, 뺄셈이면 -1을 행하는 제1 ±1 처리부와, 상기 제2가감산기와 연결되고, 제3,제4부호검출부의 검출결과를 입력으로 하여 제1가산기와 동일한 동작을 수행하는 제2±1처리부와, 상기 ±1 처리된 각 계산결과에 따른 자리수 이동을 하기위한 제1,제2쉬프터와, 상기 각 쉬프터의 출력이 모두 입력되며 제어부의 제어신호에 따라 ±1처리한 신호와, 그렇지 않은 신호를 선택하여 출력하기 위한 제1,제2출력선택부를 포함하여 구성된 것을 특징으로 하는 복소수 승산기.A multiplier (X R, X I) and the multiplicand for the first through the fourth register and the multiplier and multiplicand error of the (Y R, Y I) as an input and the real number, real and imaginary, for multiplication for the imaginary part and the imaginary First to fourth multipliers, first to fourth code detectors for detecting the sign of data multiplied by each of the multipliers, fifth to eighth registers for latching the multiplication result of each multiplier, First and second adder / subtracters for adding or subtracting a result of the latch of the sixth register and a result of the seventh and eighth latches, respectively, in accordance with the mode control signal of the controller; A first ± 1 processor for inputting detection results of the first and second code detectors and performing +1 for addition and -1 for subtraction in accordance with the mode control signal of the controller, And outputs the detection results of the third and fourth code detection sections as inputs and outputs the same as the first adder A first and a second shifters for shifting the digits in accordance with the ± 1 processed results of the calculations, and a second shifter for shifting the outputs of the shifters according to control signals of the control unit. And a first and a second output selector for selecting and outputting the processed signal and the non-processed signal, respectively. 제1항에 있어서, 상기 제1~제4 부호검출부는 (n/2)개의 하위비트를 입력으로 하는 제1노어 게이트와, 반전된 1비트를 포함한 나머지 상위비트를 입력으로 하는 제2노어 게이트로 이루어진 승수처리부와; 상기 승수처리부와 동일하게 구성된 피승수처리부와; 상기 승수처리부와 피승수처리부의 출력을 입력으로 하는 앤드 게이트 및 상기 앤드 게이트의 출력을 버퍼링하여 출력시키는 버퍼를 포함하여 구성된 것을 특징으로 하는 복소수 승산기.The apparatus of claim 1, wherein the first to fourth code detection units include a first NOR gate having (n / 2) lower bits as inputs, a second NOR gate having an inverted upper bit as an input, A multiplier processing unit; A multiplier processor configured to be the same as the multiplier processor; An AND gate for receiving an output of the multiplier and an output of the multiplier processor; and a buffer for buffering and outputting the output of the AND gate. 제1항에 있어서, 상기 제1,제2 ±1처리부는 상기 부호검출부의 출력을 입력으로 하는 오어 게이트와, 상기 오어 게이트의 출력을 입력으로하며 오버플로우가 발생되지 않으면 ±1처리 결과를 선택하도록 하기 위한 레지스터와, 상기 제어부의 모드제어신호를 디코디하여 + 또는 -를 선택하기 위한 +/-선택기와, +,- 선택결과에 따라 실제 입력되는 데이터에 ±1을 처리하는 ±1 처리기와, 상기 레지스터의 출력결과에 따라 상기 입력되는 원 데이터와 ±1 처리된 데이터를 선택하여 출력하기 위한 멀티 플렉서를 포함하여 구성된 것을 특징으로 하는 복소수 승산기.2. The apparatus of claim 1, wherein the first and second 占 processes comprise an orgate receiving an output of the sign detecting unit and an output of the orgate as an input, A +/- selector for selecting + or - to decode the mode control signal of the controller, a +/- 1 processor for processing +/- 1 on data actually input according to the result of the + and - selection, And a multiplexer for selecting and outputting the input original data and ± 1 processed data according to an output result of the register.
KR1019960000250A 1996-01-09 1996-01-09 Complex number multiplier KR0176883B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960000250A KR0176883B1 (en) 1996-01-09 1996-01-09 Complex number multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960000250A KR0176883B1 (en) 1996-01-09 1996-01-09 Complex number multiplier

Publications (2)

Publication Number Publication Date
KR970059927A KR970059927A (en) 1997-08-12
KR0176883B1 true KR0176883B1 (en) 1999-05-15

Family

ID=19449146

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960000250A KR0176883B1 (en) 1996-01-09 1996-01-09 Complex number multiplier

Country Status (1)

Country Link
KR (1) KR0176883B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100403194B1 (en) * 2000-06-21 2003-10-23 주식회사 에이디칩스 Multiplier

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433627B1 (en) * 2001-12-11 2004-05-31 한국전자통신연구원 Low power multiplier for complex numbers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100403194B1 (en) * 2000-06-21 2003-10-23 주식회사 에이디칩스 Multiplier

Also Published As

Publication number Publication date
KR970059927A (en) 1997-08-12

Similar Documents

Publication Publication Date Title
US4999803A (en) Floating point arithmetic system and method
US20120215823A1 (en) Apparatus and method for performing floating point addition
JPH05241792A (en) System and device for floating point addition and subtraction
KR960002061A (en) Arithmetic Device for Floating Point
KR0176883B1 (en) Complex number multiplier
Schwarz Binary Floating-Point Unit Design: the fused multiply-add dataflow
JPH0540605A (en) Floating point multiplier
US7003540B2 (en) Floating point multiplier for delimited operands
JP3064405B2 (en) Complex number processing
JPH04172526A (en) Floating point divider
JP4159565B2 (en) Vector product-sum operation circuit
JP3132436B2 (en) Floating-point multiply-accumulate unit
Bisoyi et al. Design of a Novel Fused Add-Sub Module for IEEE 754-2008 Floating Point Unit in High Speed Applications
WO2004025453A2 (en) Apparatus and method for adding multiple-bit binary strings
JP2777265B2 (en) High radix square root arithmetic unit
Brown Binary arithmetic
JPH0427587B2 (en)
JP2003223316A (en) Arithmetic processor
JPS6177964A (en) Digital signal processor
KR100623604B1 (en) Data processing apparatus and data processing method thereof
CN116521124A (en) Vector floating point multiply-add device suitable for multiple precision floating point operations
JPH029366B2 (en)
JPH0414173A (en) Fixed point product sum computing element
GB2296803A (en) Apparatus for arithmetically operating floating-points
JPH0253819B2 (en)

Legal Events

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

Payment date: 20060911

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee