KR100420410B1 - 리던던트 바이너리 연산을 이용한 실수-복소수 승산기 - Google Patents

리던던트 바이너리 연산을 이용한 실수-복소수 승산기 Download PDF

Info

Publication number
KR100420410B1
KR100420410B1 KR10-2001-0023679A KR20010023679A KR100420410B1 KR 100420410 B1 KR100420410 B1 KR 100420410B1 KR 20010023679 A KR20010023679 A KR 20010023679A KR 100420410 B1 KR100420410 B1 KR 100420410B1
Authority
KR
South Korea
Prior art keywords
real
partial product
partial
redundant
complex
Prior art date
Application number
KR10-2001-0023679A
Other languages
English (en)
Other versions
KR20020084722A (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 KR10-2001-0023679A priority Critical patent/KR100420410B1/ko
Publication of KR20020084722A publication Critical patent/KR20020084722A/ko
Application granted granted Critical
Publication of KR100420410B1 publication Critical patent/KR100420410B1/ko

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
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products

Landscapes

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

Abstract

본 발명의 목적은 기존의 실수 승산기를 이용하면서도 승산기의 연산속도를 저하시키지 않는 실수-복소수 승산기를 제공하는 것이다. 본 발명의 일 측면에 따른 실수-복소수 승산기는, 입력되는 2개의 실수 또는 복소수를 임시 저장하기 위한 입력 레지스터부; 상기 입력 레지스터부에 저장된 상기 2개의 실수 또는 복소수로부터 4개의 부분곱을 생성하기 위한 제1 부분곱 생성부; 상기 제1 부분곱 생성부의 출력을 인가받아 복소수 연산에 사용되는 3개의 부분곱과, 실수 연산에 사용되는 3개의 부분곱과, 실수연산과 복소수 연산에 공통으로 사용되는 1개의 부분곱을 생성하기 위한 제2 부분곱 생성부; 상기 제2 부분곱 생성부의 출력을 인가받고 제어신호에 응답하여 단일 클럭 사이클에서 상기 7개의 부분곱중에서 실수 연산일때와 허수 연산일때 각각 해당하는 4개의 부분곱을 선택하여 가산하며, 입력되는 부분곱과 상기 제어신호의 조합에 따라 4가지의 실수, 복소수의 연산을 수행하기 위한 리던던트 바이너리 가산부; 상기 리던던트 바이너리 가산부의 출력값을 이진수 체계로 변환하는 리던던트-바이너리 변환부; 및 상기 리던던트-바이너리 변환부의 출력을 임시 저장하기 위한 출력 레지스터부를 구비한다.

Description

리던던트 바이너리 연산을 이용한 실수-복소수 승산기{Real-complex multiplier using redudant binary operation}
본 발명은 승산기 회로에 관한 것으로 특히, 리던던트 바이너리 연산을 이용한 실수-복소수 승산기에 관한 것이다.
디지털 신호처리 기술과 멀티미디어 기술이 발달함에 따라 실수 연산뿐만이 아니라 복소수 연산의 증대로 인하여 실수와 복소수를 효과적으로 동시에 처리할수 있는 승산기(multiplier)의 필요성이 증대되고 있다.
종래에는 복소수의 승산이 많이 필요하지 않아서 복소수의 승산이 필요한 경우에는 실수 승산기를 이용하여 처리해 왔으며, 이는 실수와 허수로 구성된 복소수의 특성상 실수 승산기를 여러번 사용하여 하나의 복소수 승산을 처리하였다.
도 1을 참조하여 종래의 복소수 승산회로의 문제점을 살펴보기로 한다.
종래의 복소수 승산기는 실수-허수 분리부(1)와, 실수만을 연산하는 실수 연산부(2), 실수와 허수를 연산하는 제1 허수 연산부(3)와, 허수와 실수를 연산하는 제2 허수 연산부(4)와, 허수와 허수를 연산하는 제3 허수 연산부(5)와, 상기 제1 허수 연산부 내지 제4 허수 연산부의 연산 결과를 모두 더하는 가산부(6)를 포함하여 이루어진다.
도 1을 참조하여 상기 복소수 승산기의 동작을 살펴보면, 먼저 실수-허수 분리부(1)에서 인가된 두개의 복소수의 실수와 허수를 분리하여 각각의 연산부(실수 연산부 내지 제3 허수 연산부)실수와 허수를 배분하여준다.
상기 실수-허수 분리부(1)에 인가된 복소수가 a+jb와 c+jd라고 가정하면, 실수 연산부(2)에는 a와 c가 인가되고, 제1 허수 연산부(3)에는 a와 d가 인가되고, 제2 허수 연산부(4)에는 b와 c가 인가되고, 제3 허수 연산부(5)에는 b와 d가 인가되게 된다.
상기 각각의 연산부(실수 연산부 ∼ 제3 허수 연산부)에서 연산된 결과는 가산부(6)에 인가되어 최종적으로 두개의 인가된 복소수의 승산결과가 출력된다.
여기서, 상기 실수 연산부(2)에서는 바이너리 승산을 수행하므로 곱셈의 결과 생성되는 캐리는 하위비트 블럭에서 상위비트 블럭으로 쉬프트 되는 과정을 거치게 되며, 실수-허수 분리부(1)에 인가되는 복소수의 비트수가 증가할수록 그 빈도가 증가되어 전체 복소수 연산의 속도가 저하되게 되는 문제점이 있다.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 기존의 실수 승산기를 이용하면서도 승산기의 연산속도를 저하시키지 않는 실수-복소수 승산기를 제공하는데 그 목적이 있다.
도 1은 종래의 실수 승산기를 이용한 복소수 승산기의 블럭 다이어그램.
도 2는 실수와 복소수 승산에 이용되는 오퍼랜드의 구조를 도시한 도면.
도 3은 실수와 복소수 승산에서 공통되는 연산을 나타낸 도면.
도 4는 실수와 복소수 승산에서 공통으로 사용되는 연산을 부분곱으로 나타내는 것을 도시한 도면.
도 5는 본 발명에 따른 리던던트 바이너리 연산을 이용한 실수-복소수 승산기에서 리던던트 바이너리 가산부의 블럭 다이어그램.
도 6a 내지 도 6d는 본 발명에 따른 리던던트 바이너리 연산을 이용한 실수-복소수 승산기에서 연산 가능한 4종류의 승산에 따른 오퍼랜드의 구조를 도시한 도면.
도 7은 본 발명에 따른 리던던트 바이너리 연산을 이용한 실수-복소수 승산기의 전체 구조를 도시한 블럭 다이어그램.
* 도면의 주요부분에 대한 부호의 설명
100 : 입력 입력 레지스터부 200 : 제1 부분곱 생성부
300 : 제2 부분곱 생성부 400 : 리던던트 바이너리 가산부
500 : 리던던트-바이터리 변환부 600 : 출력 입력 레지스터부
상기의 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따르면, 입력되는 2개의 실수 또는 복소수를 임시 저장하기 위한 입력 레지스터부; 상기 입력 레지스터부에 저장된 상기 2개의 실수 또는 복소수로부터 4개의 부분곱을 생성하기 위한 제1 부분곱 생성부; 상기 제1 부분곱 생성부의 출력을 인가받아 복소수 연산에 사용되는 3개의 부분곱과, 실수 연산에 사용되는 3개의 부분곱과, 실수연산과 복소수 연산에 공통으로 사용되는 1개의 부분곱을 생성하기 위한 제2 부분곱 생성부; 상기 제2 부분곱 생성부의 출력을 인가받고 제어신호에 응답하여 단일 클럭 사이클에서 상기 7개의 부분곱중에서 실수 연산일때와 허수 연산일때 각각 해당하는 4개의 부분곱을 선택하여 가산하며, 입력되는 부분곱과 상기 제어신호의 조합에 따라 4가지의 실수, 복소수의 연산을 수행하기 위한 리던던트 바이너리 가산부; 상기 리던던트 바이너리 가산부의 출력값을 이진수 체계로 변환하는 리던던트-바이너리 변환부; 및 상기 리던던트-바이너리 변환부의 출력을 임시 저장하기 위한 출력 레지스터부를 구비하는 리던던트 바이너리 연산을 이용한 실수-복소수 승산기가 제공된다.
이하 본 발명이 속하는 기술분야에서 통상의 지식을 가진자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 7은 본 발명의 바람직한 실시예에 따른 리던던트 바이너리 연산을 이용한 복소수 승산기를 나타낸다.
도 7을 참조하면, 본 발명의 리던던트 바이너리 연산을 이용한 실수-복소수승산기에 관한 것으로 이를 위한 본 발명은, 입력되는 2개의 실수 또는 복소수를 임시 저장하는 입력 레지스터부(100)와, 상기 입력 레지스터부(100)에 입력된 2개의 실수 또는 복소수에서 4개의 부분곱(XH ×YL, XL ×YH, XH ×YH, XL ×YL) 을 생성하는 제1 부분곱 생성부(200)와, 상기 제1 부분곱 생성부(200)의 출력을 인가받아 복소수 연산에 사용되는 3개의 부분곱(/XL ×YL, CT, 0)과 실수 연산에 사용되는 3개의 부분곱(CTH, XL ×YL, CTL)과, 실수연산과 복소수 연산에 공통으로 사용되는 1개의 부분곱(XH ×YH)을 생성하는 제2 부분곱 생성부(300)와, 상기 제2 부분곱 생성부(300)의 출력을 인가받고 제어신호(C/R)에 응답하여 단일 클럭 사이클에서 상기 7개의 부분곱중에서 실수 연산일때와 허수 연산일때 각각 해당하는 4개의 부분곱을 선택하여 가산하며, 입력되는 부분곱과 상기 제어신호(C/R)의 조합에 따라 4가지의 실수, 복소수의 연산(배정도 부호가 있는 실수연산, 단정도 부호가 있는 복소수 연산, 단정도 부호가 없는 실수 연산, 단정도 부호가 있는 실수연산)을 하는 리던던트 바이너리 가산부(400)와, 상기 리던던트 바이너리 가산부(300)의 출력값을 이진수 체계로 변환하는 리던던트-바이너리 변환부(500) 및 상기 리던던트-바이너리 변환부(500)의 출력을 저장해두는 출력 레지스터부(600)를 포함하여 이루어진다.
여기서, 상기 제2 부분곱 생성부(300)는, 연산자와 피연산자와의 승산 결과를 실수 연산과 복소수 연산에서 공통으로 사용될수 있는 3개의 부분곱으로 만드는 제1 부분곱 생성부(310)와, 제2 부분곱 생성부(320)와, 제3 부분곱 생성부(330)를 포함하여 구성된다.
상기 리던던트 바이너리 가산부(400)는, 상기 제2 부분곱 생성부에서 인가되는 3개의 부분곱을 7개의 부분곱(/XL ×YL, CT, 0, CTH, XL ×YL, CTL)으로 만들고 실수연산일때와 허수 연산일때를 구분하는 제어신호(C/R)에 응답하여 실수 연산일 경우(C/R=0)에는 제1 부분곱(CTH)을 선택하고 허수 연산일 경우(C/R=1)에는 제2 부분곱(/XL ×YL)을 선택하여 제1 리던던트 바이너리 가산기(412)로 전송하는 제1 멀티플렉서(411)와, 상기 리던던트 바이너리 가산부(400)에 인가되는 7개의 부분곱(/XL ×YL, CT, 0, CTH, XL ×YL, CTL)중에서 실수연산일때와 허수 연산일때를 구분하는 제어신호(C/R)에 응답하여 실수 연산일 경우에는 제3 부분곱(XL ×YL)을 선택하고 허수 연산일 경우에는 제4 부분곱(CT)을 선택하여 제2 리던던트 바이너리 가산기(423)로 전송하는 제2 멀티플렉서(421)와, 상기 리던던트 바이너리 가산부(400)에 인가되는 7개의 부분곱(/XL ×YL, CT, 0, CTH, XL ×YL, CTL)중에서 실수연산일때와 허수 연산일때를 구분하는 제어신호(C/R)에 응답하여 실수 연산일 경우에는 제5 부분곱(CTL)을 선택하고 허수 연산일 경우에는 제6 부분곱(0)을 선택하여 제2 리던던트 바이너리 가산기(423)로 전송하는 제3 멀티플렉서(422)와, 상기 제어신호(C/R)에 응답하여, 실수 연산일 경우에는 제7 부분곱(XH ×YH)과 상기 제1 멀티플렉서(411)에서 출력되는 제1 부분곱(CTH)을 가산하고, 허수 연산일 경우에는 상기 제7 부분곱(XH ×YH)과 제2 부분곱(/XL ×YL)을 가산하는 제1 리던던트 가산기(412)와, 상기 제어신호(C/R)에 응답하여, 실수 연산일 경우에는 제3 부분곱(XL ×YL)과 제5 부분곱(CTL)을 가산하고, 허수 연산일 경우에는 제4 부분곱(CT)과 제6 부분곱(0)을 가산하는 제2 리던던트 가산기(423)와, 상기 제어신호(C/R)에 응답하여, 실수 연산일 경우에는 상기 제2 리던던트 가산기(423)에서 생성된 캐리를 제1 리던던트 가산기(412)로 전달하는 제4 멀티플렉서(430)를 포함하여 구성된다.
상기한 구성의 리던던트 바이너리 연산을 이용한 실수-복소수 승산기의 동작을 도 2 내지 도 7을 참조하여 상세히 설명하도록 한다.
먼저, 도 2를 보면, 실수승산과 복소수 승산을 할때 연산자와 피연산자를 각각 두개로 나누어 사용하는것을 볼수 있다.
이것은, 복소수와 실수를 상위비트 블럭과 하위비트 블럭으로 양분하여 다수의 부분곱을 생성하고 여기서 복소수와 실수의 승산에서 발생하는 부분곱의 공통점을 만들어 내기 위함이다.
도 2에서 복소수 승산시 연산자(오퍼랜드 X)와 피연산자(오퍼랜드 Y)가 16비트로 구성되는 경우에는 각각 8비트로 나누어 상위비트 블럭(XH, YH)는 실수를 나타내고 하위비트 블럭(XL, YL)는 허수를 나타내며 실수 승산또한 동일한 방법으로 연산자와 피연산자를 각각 두개로 나눈다.
도 3은 상기 도 2에서 각각 2개씩으로 나눈 연산자와 피연산자를 사용하여 곱셈을 하였을때 실수 연산과 복소수 연산 과정에서 생성되는 부분곱의 공통점을 나타내고 있다.
도 3에서 연산자와 피연산자가 모두 실수일 경우에는 XL ×YL, XH × YH + XL × YH, XH ×YH과 같은 3개의 부분곱이 발생하게 되고, 연산자와 피연산자가 모두 복소수인 경우에는 /XL ×YL, XH × YH + XL × YH, XH ×YH과 같이 3개의 부분곱이 발생하게 된다.
여기서, 두 연산에 있어서 두개의 부분곱(XH ×YH, XH × YH + XL × YH)은 공통으로 사용되게 되며, 제3 부분곱(XL ×YL)은 실수 연산일때는 양(+)의 수가 되고 복소수 연산일때는 음(-)의 수가 된다.
도 4를 보면 도 3에 도시된 두개의 부분곱(XH ×YH, XH × YH + XL × YH)과 제3 부분곱(XL ×YL)을 각각 생성하는 것을 볼수있다.
따라서, 상기 제1 부분곱 생성부(200)에서는 각각의 부분곱(XH ×YH, XH × YH, XL × YH, XL ×YL)을 4개 생성하며, 상기 제2 부분곱 생성부(300)에서는 입력되는 연산자와 피연산자가 실수인지 복소수 인지를 가리지않고 상기한 바와 같이 3개의 부분곱(XH ×YH, XH × YH + XL × YH, XL ×YL)을 생성하게 된다.
도 5는 상기 3개의 부분곱을 7개의 부분곱으로 만들어 리던던트 바이너리 가산을 하는 리던던트 바이너리 가산부의 동작을 나타낸다.
먼저, 상기 제2 부분곱 생성부에서 인가되는 부분곱(XH × YH + XL × YH)을 CT라 하고 상기 CT(XH × YH + XL × YH)를 둘로 나누어 상위 비트쪽은 CTH(XH × YH)라 하고, 하위 비트쪽을 CTL(XL × YH)이라고 할때, 제1 멀티플렉서(411)에는 제1 부분곱(CTH)과 제2 부분곱(/XL ×YL)이 인가되고, 제2 멀티플렉서(421)에는 제3 부분곱(XL ×YL)과 제4 부분곱(CT)이 인가되고, 제3 멀티플렉서(422)에는 제5 부분곱(CTL)과 제6 부분곱(0)이 인가된다.
여기서, 상기 제2 부분곱 생성부(300)에서 입력되는 부분곱(XH × YH + XL × YH)을 두개의 부분곱(CTH, CTL)으로 나누는 이유는, 상기 입력 레지스터부(100)로 입력되는 연산자와 피연산자가 복소수일 경우 제1 리던던트 바이너리가산기(410)에서는 실수만을 연산하고, 제2 리던던트 바이너리 가산기(420)에서는 복소수만을 연산시키기 위함이다.
한편, 제어신호(C/R)는, 로우 레벨의 신호일때 상기 멀티플렉서(제1 멀티플렉서 ∼ 제4 멀티플렉서)는 실수 연산을 하기 위하여 상기 제1 부분곱(CTH)와 제3 부분곱(XL ×YL)과 제5 부분곱(CTL)을 선택하고 상기 제2 리던던트 바이너리 가산기(423)에서 생성된 캐리를 상기 제1 리던던트 바이너리 가산기(412)로 넘겨주도록 하며, 제어신호(C/R)가 하이 레벨의 신호일때는 상기 멀티플렉서(제1 멀티플렉서 ∼ 제4 멀티플렉서)는 복소수 연산을 하기 위하여 상기 제2 부분곱(/XL ×YL)과 제4 부분곱(CT)과 제6 부분곱(0)을 선택하고 상기 제4 멀티플렉서(430)를 비활성화 시켜 제1 리던던트 바이너리 가산기(412)와 제2 리던던트 바이너리 가산기(423)를 분리시킨다.
그러므로, 상기 입력 레지스터부(100)로 입력되는 연산자와 피연산자가 모두 복소수인 경우 상기 제1 리던던트 바이너리 가산기(410)로는 제7 부분곱(XH ×YH)과 제1 부분곱(CTH)가 인가되고, 상기 제2 리던던트 바이너리 가산기(423)로는 제4 부분곱(CT)과 제6 부분곱(0)이 인가된다.
따라서, 상기 제1 리던던트 바이너리 가산기(412)로는 XH ×YH와 /XL ×YL이 인가되고 상기 제2 리던던트 바이너리 가산기(423)로는 허수 성분인 (XH ×YH + XL ×YH)만이 인가되어 계산된다.
또한, 연산자와 피연산자에 모두 실수를 입력시키는 경우, 즉 실수 연산일 경우에는 다음의 표 1과 같은 다양한 실수 승산이 가능하게 된다.
먼저, 제어신호(C/R)가 로우 레벨이고 도 6a에 도시된 바와같이 연산자와 피연산자의 상위비트 블럭과 하위비트 블럭이 모두 존재하는 경우에는 배정도(16비트 ×16비트 연산)부호가 있는 실수 승산이 가능하게 되고, 제어신호(C/R)가 로우 레벨이고 도 6b에 도시된 바와같이 연산자와 피연산자의 상위비트 블럭이 0인 경우에는 단정도(8비트×8비트 연산) 부호가 없는 실수 승산이 되며, 제어신호(C/R)가 하이 레벨이고 도 6d에 도시된 바와같이 연산자와 피연산자의 하위비트 블럭이 0인 경우에는 단정도(8비트 ×8비트 연산) 부호가 있는 실수승산이 된다.
여기서, 단정도란 8비트 승산을 말하며, 배정도란 16비트 승산을 의미한다.
상기 제어신호(C/R)가 로우 레벨이고 연산자와 피연산자의 상위비트 블럭이 0인 경우에는 연산자와 피연산자의 하위비트 블럭만으로 연산이 이루어지는데 이때상위비트 블럭의 최상위비트 블럭의 값(0또는 1)이 정해지지 않으므로 부호가 없는 실수 승산이라고 하며, 제어신호(C/R)가 하이 레벨이고 연산자와 피연산자의 하위비트 블럭이 0인 경우에는 부호가 있는 실수승산이 된다.
또한, 상기 리던던트 바이너리 가산부(400)에서 2진수 체계가 아닌 리던던트 바이너리 체계로 되어 있으므로 연산자와 피연산자를 승산시 캐리가 거의 발생하지 않으며, 본 발명의 리던던트 바이너리 연산을 이용한 실수-복소수 승산기는 실수와 허수의 승산결과가 완전히 분리되므로, 종래에 허수와 허수간의 승산에 의하여 발생하는 실수를 실수부 가산기에 캐리로서 전달하지 않아도 되는 장점이 있다.
또한, 상기 입력 레지스터(100)로 입력된 연산자와 피연산자는 상기 리던던트 바이너리 가산부(400)에서 단 한번의 가산에 의하여 처리되므로 단일 클럭 주기 내에 복소수 연산을 처리할수 있게된다.
마지막으로, 상기 리던던트 바이너리 가산부(400)의 출력값은 리던던트-바이너리 변환부(500)에서 리던던트 바이너리 체계를 이진체계로 바꾸어 출력 레지스터부(600)에 저장한다.
본 발명은 상기한 바와 같이 복소수 승산시 기존의 실수 승산기를 이용하면서도 종래의 복소수 승산기와는 달리 단일 클럭 주기 내에 복소수 연산을 처리함으로서 실수 승산과 복소수 승산이 동시에 필요한 시스템에서 성능향상 및 비용절감의 효과를 얻을수 있다.

Claims (4)

  1. 입력되는 2개의 실수 또는 복소수를 임시 저장하기 위한 입력 레지스터부;
    상기 입력 레지스터부에 저장된 상기 2개의 실수 또는 복소수로부터 4개의 부분곱을 생성하기 위한 제1 부분곱 생성부;
    상기 제1 부분곱 생성부의 출력을 인가받아 복소수 연산에 사용되는 3개의 부분곱과, 실수 연산에 사용되는 3개의 부분곱과, 실수연산과 복소수 연산에 공통으로 사용되는 1개의 부분곱을 생성하기 위한 제2 부분곱 생성부;
    상기 제2 부분곱 생성부의 출력을 인가받고 제어신호에 응답하여 단일 클럭 사이클에서 상기 7개의 부분곱중에서 실수 연산일때와 허수 연산일때 각각 해당하는 4개의 부분곱을 선택하여 가산하며, 입력되는 부분곱과 상기 제어신호의 조합에 따라 4가지의 실수, 복소수의 연산을 수행하기 위한 리던던트 바이너리 가산부;
    상기 리던던트 바이너리 가산부의 출력값을 이진수 체계로 변환하는 리던던트-바이너리 변환부; 및
    상기 리던던트-바이너리 변환부의 출력을 임시 저장하기 위한 출력 레지스터부
    를 구비하는 리던던트 바이너리 연산을 이용한 실수-복소수 승산기.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 리던던트 바이너리 가산부는,
    상기 제2 부분곱 생성부에서 인가되는 3개의 부분곱을 7개의 부분곱으로 만들고 실수연산일때와 허수 연산일때를 구분하는 제어신호에 응답하여 실수 연산일 경우에는 제1 부분곱을 선택하고 허수 연산일 경우에는 제2 부분곱을 선택하여 제1 리던던트 바이너리 가산기로 전송하는 제1 멀티플렉서;
    상기 리던던트 바이너리 가산부에 인가되는 7개의 부분곱중에서 실수연산일때와 허수 연산일때를 구분하는 제어신호에 응답하여 실수 연산일 경우에는 제3 부분곱을 선택하고 허수 연산일 경우에는 제4 부분곱을 선택하여 제2 리던던트 바이너리 가산기로 전송하는 제2 멀티플렉서;
    상기 리던던트 바이너리 가산부에 인가되는 7개의 부분곱중에서 실수연산일때와 허수 연산일때를 구분하는 제어신호에 응답하여 실수 연산일 경우에는 제5 부분곱을 선택하고 허수 연산일 경우에는 제6 부분곱을 선택하여 제2 리던던트 바이너리 가산기로 전송하는 제3 멀티플렉서;
    상기 제어신호에 응답하여, 실수 연산일 경우에는 제7 부분곱과 상기 제1 멀티플렉서에서 출력되는 제1 부분곱을 가산하고, 허수 연산일 경우에는 상기 제7 부분곱과 제2 부분곱을 가산하는 제1 리던던트 가산기와;
    상기 제어신호에 응답하여, 실수 연산일 경우에는 제3 부분곱과 제5 부분곱을 가산하고, 허수 연산일 경우에는 제4 부분곱과 제6 부분곱을 가산하는 제2 리던던트 가산기; 및
    상기 제어신호에 응답하여, 실수 연산일 경우에는 상기 제2 리던던트 가산기에서 생성된 캐리를 제1 리던던트 가산기로 전달하는 제4 멀티플렉서를 구비하는 것을 특징으로 하는 리던던트 바이너리 연산을 이용한 실수-복소수 승산기.
  4. 삭제
KR10-2001-0023679A 2001-05-02 2001-05-02 리던던트 바이너리 연산을 이용한 실수-복소수 승산기 KR100420410B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0023679A KR100420410B1 (ko) 2001-05-02 2001-05-02 리던던트 바이너리 연산을 이용한 실수-복소수 승산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0023679A KR100420410B1 (ko) 2001-05-02 2001-05-02 리던던트 바이너리 연산을 이용한 실수-복소수 승산기

Publications (2)

Publication Number Publication Date
KR20020084722A KR20020084722A (ko) 2002-11-11
KR100420410B1 true KR100420410B1 (ko) 2004-03-04

Family

ID=27703278

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0023679A KR100420410B1 (ko) 2001-05-02 2001-05-02 리던던트 바이너리 연산을 이용한 실수-복소수 승산기

Country Status (1)

Country Link
KR (1) KR100420410B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371331A (ja) * 1989-08-11 1991-03-27 Nippon Telegr & Teleph Corp <Ntt> 乗算器
US5262976A (en) * 1989-11-13 1993-11-16 Harris Corporation Plural-bit recoding multiplier
JPH0619681A (ja) * 1992-07-02 1994-01-28 Nec Corp 丸め処理を含む冗長2進/2進変換回路
US5636155A (en) * 1993-04-27 1997-06-03 Matsushita Electric Industrial Co., Ltd. Arithmetic processor and arithmetic method
JPH1115641A (ja) * 1997-06-23 1999-01-22 Matsushita Electric Ind Co Ltd 冗長2進加算器を用いた乗算装置
KR20020047509A (ko) * 2000-12-13 2002-06-22 신경욱 여분 이진 부분곱을 이용한 복소수 승산방법 및 이를적용한 복소수 승산기

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0371331A (ja) * 1989-08-11 1991-03-27 Nippon Telegr & Teleph Corp <Ntt> 乗算器
US5262976A (en) * 1989-11-13 1993-11-16 Harris Corporation Plural-bit recoding multiplier
JPH0619681A (ja) * 1992-07-02 1994-01-28 Nec Corp 丸め処理を含む冗長2進/2進変換回路
US5636155A (en) * 1993-04-27 1997-06-03 Matsushita Electric Industrial Co., Ltd. Arithmetic processor and arithmetic method
JPH1115641A (ja) * 1997-06-23 1999-01-22 Matsushita Electric Ind Co Ltd 冗長2進加算器を用いた乗算装置
KR20020047509A (ko) * 2000-12-13 2002-06-22 신경욱 여분 이진 부분곱을 이용한 복소수 승산방법 및 이를적용한 복소수 승산기

Also Published As

Publication number Publication date
KR20020084722A (ko) 2002-11-11

Similar Documents

Publication Publication Date Title
US6915322B2 (en) Multiplier capable of multiplication of large multiplicands and parallel multiplications of small multiplicands
EP0890899B1 (en) Multiplication method and apparatus
WO2001046795A2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
JPH1195981A (ja) 乗算回路
EP1471420A2 (en) Montgomery modular multiplier and method thereof using carry save addition
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
KR100591761B1 (ko) 몽고메리 모듈러 곱셈기 및 캐리 저장 가산을 이용한몽고메리 모듈러 곱셈 방법
JPH05134851A (ja) 乗算回路出力方式
US5177703A (en) Division circuit using higher radices
US4677583A (en) Apparatus for decimal multiplication
EP1052568B1 (en) Three input split-adder
US5954788A (en) Apparatus for performing modular multiplication
EP0512686B1 (en) Circuitry for rounding in a floating point multiplier
KR100420410B1 (ko) 리던던트 바이너리 연산을 이용한 실수-복소수 승산기
EP0361886A2 (en) Improved floating point computation unit
US6157939A (en) Methods and apparatus for generating multiplicative inverse product
Vergos et al. On the use of diminished-1 adders for weighted modulo 2n+ 1 arithmetic components
JP2606326B2 (ja) 乗算器
US6748411B1 (en) Hierarchical carry-select multiple-input split adder
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
JP2606339B2 (ja) 乗算器
CN117667011A (zh) 一种数字信号处理模块中的后加器
JP3803653B2 (ja) 乗算処理装置
EP0438962A2 (en) Method and apparatus for exponent adder
US6041341A (en) Method and circuit for adding operands of multiple size

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee