JPS6222178A - 2つの複素数の乗算のための乗算器 - Google Patents

2つの複素数の乗算のための乗算器

Info

Publication number
JPS6222178A
JPS6222178A JP61167726A JP16772686A JPS6222178A JP S6222178 A JPS6222178 A JP S6222178A JP 61167726 A JP61167726 A JP 61167726A JP 16772686 A JP16772686 A JP 16772686A JP S6222178 A JPS6222178 A JP S6222178A
Authority
JP
Japan
Prior art keywords
multiplier
sub
input
numbers
series
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP61167726A
Other languages
English (en)
Inventor
マルク コニョー
エリック ルノルマン
アレン アルバレーヨ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
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 Thomson CSF SA filed Critical Thomson CSF SA
Publication of JPS6222178A publication Critical patent/JPS6222178A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
    • 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (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

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は、2つの複素数の乗算のための乗算器を提供す
ることを目的とする。さらに詳しく言えば、実数部分及
び虚数部分が8ビット長で表現される複素数の乗算器の
製作に適用されるものである。
信号の数値処理の分野、特に信号の位相の処理において
、演算は複素数で行われる。実数処理用に備えられた標
準の数値アーキテクチャを使用して、複素数の乗算を行
うには、複数の分岐命令が付は加えられる4つの乗算及
び2つの加算もしくは減算が必要である。
この点で、いくつかのアーキテクチャは、複素数の乗算
の時間のコストを4つの実数の乗算のコストにするよう
に乗算及び加算のシーケンスを自動化して、改良をもた
らした。
本発明の目的は、16ビットで表わされる符号化された
実数の乗算器を改造して2つの実数の乗算を行うのに必
要な時間と等しい時間内で8ビットで実数部と虚数部が
表わされる2つの複素数の乗算の実施を可能にすること
である。
そのために、本発明は、Nビット(Nは偶数)の2つの
複素数X=X’+JX’″及びY=Y’十JY”の乗算
用の乗算器の提供を目的とするが、この型の乗算器はカ
スケード接続された第1連及び第2連のに個の副乗算器
を備えており、第1連の副乗算器が出力した結果は第2
連の副乗算器に入力され、各連は第1及び第2のオペラ
ンド入力、第3の入力S及び出力Rを備え、且つ第3の
入力Sに入力される2進数に等しい2進数、量で増大さ
れた第1及び第2のオペランド入力に入力される2進数
の積が出力Rに出力されるように構成された乗算器であ
って、Nビットの複素数X及びYは、各々N/2ビット
の数X1、X2及びYISY2に分割され、且つ数X1
とYlは各々第1連の第1及び第2のオペランド入力に
入力され、数X2とY2は各々第2連の第1及び第2の
オペランド入力に入力され、数X1とx2はシフトを除
いて±X゛もしくは±X”の値を有し、YlとY2はシ
フトを除いて±Y°もしくは±Y″の値をとり、且つこ
の乗算器は各々第1サイクル及び第2サイクル中に2つ
の複素数XとYの積の実数部及び虚数部の計算を実施す
る分岐装置を備えることを特徴とする。
本発明の主な利点は、通常Nビットの複素数に作用する
信号処理装置を、N/2ビットの複素数の計算容量を2
倍にする新しいモードで働かせることができることであ
る。
本発明の他の特徴及び利点は、添付図面を参照して行わ
れる以下の説明によって、明らかとなろう。
Nビットにコード化された2つの実数の乗算を行うのに
一般的に使用されている直接的な方法は、乗数のに番目
のビットが1に等しいときに列左ヘシフトされた被乗数
を加えることである。この方法がワイアードロジックで
実施される場合、この方法は、乗算すべき各2進数のビ
ット数の自乗N2として増大する多数の論理ゲートを必
要とし、はぼNビットのN加算に一致する実施時間を示
す。
この不備を緩和するために、設計者は多くの場合Nビッ
ト×Nビットの乗算を、NビットxN/nビットのn個
の乗算に分解する別の方法を用いる。
第1図に示すこの方法によると、2進数Yの被乗数は参
照番号1乃至4で示す4つのレジスタにクロックHのリ
ズムで転送され、一方、乗数Xは、N/nビットのワー
ドASB、CSDに分解される。乗算器5乃至8は、各
々、各乗算器の出力で得られる部分的な結果がMS =
YXA、Mg =2”YXB、M? =2’ YxC及
びMe =2”YXDとなるように、数Xを分解したワ
ードA、BXC。
Dとレジスタl乃至4に転送された数Yの積を算出する
。但し、 A=X* x23+・・・・+X0 B=Xt X23+・・・・+X4 c=x1、x2’ +・・・・+X8 D =X + s x 2 ’ +・・・・+X12で
ある。
乗算器5が行う乗算の結果は、クロックHのリズムでレ
ジスタ9に入力され、次にレジスタ9の内容は乗算器6
が出力した結果値M6に加算器10によって加算される
。加算MS+MSの結果は、レジスタ11に記憶される
。レジスタ11の出力は、またクロックHのリズムで加
算器12の第1のオペランド入力に入力され、第2のオ
ペランド入力には乗算器7の出力を受け、その2つのオ
ペランドで実施される加算Ms +Ms +Mtの結果
はレジスタ13の内部に記憶される。レジスタ13の内
容は、次に加算器14の第1のオペランド入力に入力さ
れ、この第2のオペランド入力は乗算器8の出力に接続
されており、2つのオペランドで加算器14によって実
施される加算Ms + Ms 十MV + Meの結果
はクロックHのリズムでレジスタ15に入力され゛る。
クロックHは、乗算16 X 16に必要な時間の約4
分の1である乗算16x4に必要な時間に応じて調整さ
れる。従って、上記の方法によって各クロック信号に2
つの新しいオペランドを生じさせ、この条件ではこの乗
算器が可能な秒当たりの乗算数を直接的な方法の4倍以
上にする。
上記の乗算の原理は、数が2をMSBの1倍号ビットで
補足してコード化される場合の2つのオペランドの符号
ビットに関する注意によって依然として価値がある。
乗算器の計算速度はNビット数XN/nビット数の乗算
に必要な時間に関連があるクロックHに関連があるので
、この時間を短縮するための努力が行われた。LがN/
nに等しいとして、Lビットの数とNビットの数の積を
算出するためにシフトと加算による従来の方法を用いる
と、乗数のLビットが1に等しいとき、L個の加算を行
うので、最大実施時間となる。もっとも知られている改
良法はブー4 (BOOTH)アルゴリズムによるもの
である。
この方法は、乗数が、 、・・ 2”    ・・・ 2″′・・・のように連
続的な1の一連を内蔵するとき、2”+2 K’ −1
+・・・・ 2に=2に′−2′の関係は常に成立する
ので(K’ −に+ 1)個の加算は1つの加算と1つ
の減算によって置換されるということを利用するもので
ある。基本乗算の最大時間はこのような条件では短縮さ
れる。
コレラのアルゴリズムについては、1961年1月に雑
誌[プロシーディング オブ アイ アールイー(PR
OC,OF IRIE)Jにマツグ ソルリー(Mac
Sor 1ey)が発表した論文を参照すると良い。
実際上、多くの場合、Lが小さい数のとき、Lビットで
Nビットの乗数を分割することは容易である。但しブー
ス(BOOTH) アルゴリズムは、Lが4以上になる
と適用が複雑になる。現在のNMO8技術では、16×
4の乗算器の部分を介した転送時間は100ナノ秒未満
であり、16 X 16の乗算器全体の速度の制限は、
クロックの各々の初期に乗算器の端子にオペランドX及
びYを転送する困難さに由来する。従って、乗算器が信
号処理マイクロプロセッサに組込まれた場合、命令サイ
クル時間は多くの場合クロック時間Hの倍数すなわち2
もしくは4になる。
各々Nビットにコード化された実数部分XSYと虚数部
分X’ 、Y’から構成される2つの複素数X+jX’
及びY+J Y’の乗算は、従来、第2図Aに示す型の
装置を使用して実施されていた(但し、N=16)。こ
の装置は、典型的に4つのレジスタ16.17.18.
19、参照番号20乃至23の4つの乗算回路、参照番
号24乃至27の4つの加算回路及び参照番号28乃至
31の4つのレジスタを備える。乗算器20乃至23の
第1のオペランド入力は各々レジスタ16乃至19の出
力に接続されている。これらの乗算器は、各々第2のオ
ペランド入力に常数の4つの部分、すなわち4ビットの
4ワードである2進法ワードE21. E、2、E23
及びE24を受ける。乗算器20の出力は、加算器24
の第1のオペランド入力に接続されており、この加算器
の第2のオペランド入力は2進数の0を受け、加算の結
果P1はレジスタ28に保持される。レジスタ28の内
容P1は、加算器25において乗算器21の出力が出力
した結果に加算され、その結果P2はレジスタ29に保
持される。レジスタ29の内容P2は、さらに加算器2
6において乗算回路22が出力した結果に加算され、そ
の結果P3はレジスタ30に保持される。最後に、レジ
スタ30の内容P3は、加算器27において乗算器回路
23が出力した結果に加算され、算出された結果P4は
レジスタ31に保持される。上記の演算全体は、第2図
B表に示すようにクロック信号Hのリズムで実施される
この表には、複素数の積(Y+ j Y’)(X+ j
 X’)の4つの部分積XY、X’ Y’ 、X’ Y
、XY’が示される。これらの積は4クロック時間H遅
延されてレジスタ31に現れる。複素数の積の結果を得
るには、レジスタ31の出力に第3図に示すようにどち
らもオペレータ32の出力に接続された2つのレジスタ
ーアキ二ムレータ33及び34を接続する必要がある。
IM及びREがレジスタ33及び34の内容を示すとす
ると、オペレータ32は、5=P4、S=IM+P4、
もしくは5=RE−P4の演算を確実に行う。このオペ
レータは、4クロック時間Hで複素数の乗算を実施する
ことができる。例えばクロック命令がH/2に等しいマ
イクロプロセッサを使用して上記の演算を実施する場合
を考えると、この条件では複素数の乗算は、2つの16
ビットの実数部及び2つの16ビットの虚数部を乗算器
回路の入力に転送する期間、すなわちマイクロプロセッ
サが2つのメモリを備える場合2命令時間しか続かない
上述の実数及び複素数の乗算器は、オペランドが8ビッ
ト長を有する適用のケースのように例えば複素数が様々
な長さを有する場合に簡単に適用できない固定構造によ
って製作される。いくつかの適用例では、16ビットワ
ードはそれ自身で8ビットの実数部もしくは虚数部の複
素数を転送することができ、このような状態では、それ
を乗算器の入力に転送するのに1命令サイクルが必要で
ある。第4図に示す本発明による装置は、前述の16×
16の複素数の乗算器の構造にあまり修正を必要とせず
にこれらの種々の演算を実施することができる。この装
置は、特に2倍の頻度で8ビット足す8ビットの2つの
複素数の乗算を実施することができる。
第4図に示す本発明による装置は、入力にNビットの乗
数Xが入力される第1のレジスタ35と、入力にNビッ
トの被乗数Yが入力される第2のレジスタ36と、各々
3つの入力E1、E2、S及び出力Rを有する第1及び
第2のオペレータ37及び38とを備える。オペレータ
37及び38の各々は、その入力E1及びE2に入力さ
れた数の積を実施し、得られた結果を入力Sに入力され
た数に加算する。
レジスタ35の下位のN/2ビットをXI 、レジスタ
35の上位のN/2ビットをX1、またレジスタ36の
下位及び上位を各々y、 、Y2として示すと、ビット
X1及びYlは各々第1のオペレータ37の入力E1及
びE2に、ビットXl及びY2は各々第2のオペレータ
38の入力E1及びE2に入力される。
上述の乗算器によって、Nビットを含む式で示される実
数もしくは複素数X、Yの乗算を実施することができる
。実数式では、Xは、 X : 2 N/2 X”+X°であり、複i数式テl
t、X′が実数部、JX”が虚数部を示すとすると、X
は X=X’ +JX′″となる。
第4図の乗算器は、レジスタ35及び36の入力に各々
入力される数X及びYの積P=XXYを実施する。数Y
は、2つの数Y1=Y’及びY2=Y″X 2 N/ 
2 に分割される。実数モード、もしくは複素数モード
の機能モードによって、Xl及びXlに与えられた値は
相違する。
実数モードでは、 X1=X2=X= (X’ +2”’ xX”)である
複素数モードでは、実数部分の計算では、X1=X″X
 2 N/2及びX2=−X”、虚数部分の計算ではX
1=X”X 2 N/2及びX2=X’である。
第4図に示す構造の利点は、実数を処理する乗算器と両
立し得る構造を保ちながら、標準の乗算器を使用した場
合より2倍も迅速に複素数の乗算を行うことができる点
にある。結果は、およそ2N/2シフトされて得られる
。演算は2段階で行われる。
実数部の計算は第1段階で、虚数部分の計算は第2段階
で行われる。前述の記号標記法を用いて、第1のオペレ
ータ37が出力する計算結果をSP、第2のオペレータ
38が出力する計算結果をPで示すと、第1段階で実施
される実数部の計算は、5P=XIY1=X’ XY’
 X2N/2及びP=X2XY2+5 =2N/2(X’ Y”−X″Y”) であり、第2段階で実施される虚数部の計算は、5P=
XIY1=X″Y。
P=X2Y2+S ”2”2(X” xY’ −X’ xy”)である。
従って、乗算の演算は2サイクルで実施される。
一方、標準の乗算器では、実施すべき補足的な加算を数
えずに、X’ Y’ 、X’ Y”、X′”Y”、X″
Y 11の4つの乗算があるので4サイクルが必要であ
る。
実数モードでは、第4図の乗算器は以下の結果を示す。
5P=XIXY1= (2”2XX”+X’)XY’P
=X2Y2+S = (2″/2XX”+X’)X2M/2 Y”+S=
 (2N/2XX ” +X’)X (2”’ xY 
” 十Y’)=xxy 上述の本発明による乗算器のアーキテクチャは、乗算を
行うための方法(例えば、数Yの2ビットを処理する副
乗算器に乗算器を分解するブース(BOO,TH)  
アルゴリズム)には無関係である。また、例えばパイプ
ライン技術を用いた乗算器を製作しようとする場合、バ
ッファ段の内部レジスタ数にも無関係である。
本乗算器が提供するもう1つの利点は、実数部及び虚数
部を計算する補足の加算が副乗算器で自動的に実施され
るため予備の回路を必要としないことである。
実数の乗算回路の製作への本発明の原理の1適用例を第
5図に示すが、この場合、数は16ビットで示される。
この乗算回路は、被乗数Xの記憶レジスタ39を備える
。このレジスタは、各々参照番号40乃至40+にのに
個の副乗算器の第1のオペランド入力に接続されており
、これらの乗算器の第2のオペランド入力は各々参照番
号50乃至50+にで示す乗数Yの処理装置に接続され
ている。
乗算器は、乗数YのビットYOに関する所から始めて、
部分積の連続的な加算を行う。その構造は、いずれかの
副乗算器りの出力で、結果SPLにベクトルの繰上げ数
rLを転送する場合シフトではなく、正確な符号で数 rLX を得るように、符号化された(16+nL+1)ビット
の数による側稜s pL、結果SPLに付与されるボロ
ーベクトルRL、及びフラッグrLを得るように製作さ
れる。
ビットY15を処理する段50+にの出力では、フラッ
グrは0であり、側稜SPでのボローベクトルRの転送
は、符号化された積XYに等しい数を提供する。
第5図の乗算器を、第6図に示す実施モードによって修
正し、16ビットにコード化された複素数の積を計算で
きるようにする。第5図と同様に、被乗数Xは第6図の
レジスタ61の内部に記憶されるが、第5図とは異なり
、レジスタ61は、各々レジスタ62.63を介して一
方は、乗算回路64乃至71の第1のオペランド入力に
、もう一方は、副梁算回路72乃至79の第1のオペラ
ンド入力に接続されている。副梁算回路で得られる各側
稜SPLは次の副乗算器に転送され、副乗算器79で得
られる最終的な側稜は加算器80に記憶される。第5図
と同様に処理装置81.82乃至96は乗数Yの処理を
行い、処理装置81.82乃至96を介してこの処理の
結果を副乗算器64乃至79の第2のオペランド入力に
入力する。
被乗数Xは、複素数X=X’ +JX”を表わす実数部
X°及び虚数部X”によって構成される。
数Xは、16ビットの数(X15乃至XO)によって構
成される。数X”は以下の式で表わされる。
X’ =−X7+2−’X6+・・・・+2−’XOま
た、数X”は、以下の式で表わされる。
X”=−X15+2−’X14・・・・+2−7X8乗
数を示す数Yは、同じ方法でコード化される。
第6図の回路は、連続する2部分に乗算の演算を分解す
る。この2部分とは、一方は、積の実数部X’ Y’−
X″Y”を計算し、もう一方では積の虚数部すなわちX
’Y”+X’Y’を計算することからなる。
第1の部分では、レジスタ62に符号化された値2@X
’、レジスタ63に値−X”を提供して積の実数部を計
算する。ビットY7を処理する副乗算器71は、アセン
ブルされた場合積2” X’ Y’に等しい側稜SP’
及びボローベクトルR゛を出力する。SPoとRoは、
ビットY8を処理する副乗算器72の入力に入力される
。副乗算器79は、加算器80によってアセンブルされ
ると2” X’ Y’−28X″Y”に等しい側稜SP
”及びボローベクトルR″を出力する。
第2の部分では、積の虚数部を計算する。演算は、上述
と同様の方法で、但しレジスタ62に2進数2’ X’
の代わりに2進数2’ X”を、ビットY8を処理する
副乗算器72の入力に−X”の代わりに2進数X°を提
供して実施する。これらの結果は、処理装置88の出力
でのボローフラッグrの値が常に0であるように、すな
わち副乗算器71の出力で得られる側稜SPとボローベ
クトルRが、ビットYOを処理する側稜の入力に提供さ
れる符号化された16ビットの数とY7乃至YOの符号
化された8ビットの数の正確な積となるように調整され
た副乗算器71及び処理装置88の特殊な実施によって
得られる。
本発明による乗算器の適用に使用される副乗算器は特殊
な型であり、これらの副乗算器の実施例を第7図Aに示
す。第7図Aに示す副乗算器は、3つの入力を有する加
算器97、分岐器98及びデコーダ99を備える。分岐
器9s+j、デコーダ99によって制御される。そのデ
コード表を第7図已に示す。
デコーダ99は、3つの入力を備え、その各々に、完全
な乗算器を形成するための副乗算器のアセンブリにおい
て前段の副乗算器からの桁上りビットC(t−+)及び
乗数Yの第n列と第n+1列のビットY1、とYl。、
が入力される。デコーダ99は、またBSQSCtと表
記した3つの出力を備える。
出力Bは、2進数の和2Y1、、t +y1、+Ct−
+が0、■、2、もしくは4であるとき0状態となり、
この2進数の和が3であるとき2進数の1となる。
デコーダの出力Qは分岐器98を制御し、分岐器98は
その出力に2Y1、、十Y。+CL−1の値に応じて数
値0、X、2XもしくはXを出力する。2Yh++ +
yn+Ct−+の和が0もしくは4に等しいとき数0が
得られる。出力Aは、2Y、ヤ、+y、+c1、の和が
1に等しいとき分岐器98の入力に入力される被乗数X
、もしくは2Yn+++Y、 +ct−1が2に等しい
とき積2X、さらに2Y1、+r + Y1、+ Ct
−+の和が3に等しいときXの補数値(X)を復元する
。加算器97は、前段の副乗算器からのビット B (
t−n の状態を考慮に入れて分岐器の出力Aで得られ
る2進数ワードと前段の副乗算器の2つの出力5(t−
1)及びR(t−n  との加算を行う。この加算の結
果は、加算器の出力Slでは和5(1)として、加算器
97の出力S2では桁上げR(1)として現れる。本発
明による乗算器は、第7図A及び第7図Bを参照して説
明した型の7つの副乗算器を使用して製作される。上述
の副乗算器を、第8図に単純化した記号で示す。
第8図に示す単純化した形で、副乗算器は5つの入力を
有する。第1の入力は、ワードYの隣接する2つのビッ
トY1.2及びY1、をnSn+lの順で受け、第2の
入力は前段側乗算器の結果5(t−nを受け、第3の入
力はボローR(t−1,を受け、第4の入力はボロービ
ットctt−1> を受け、さらに第5の入力は前段側
乗算器からの訂正ビットB(L−1) を受ける。この
副乗算器は、結果S及び桁上げRを2つの出力に出力す
る。本発明の好ましい実施態様では、乗算器の製作には
、上述の副乗算器以外に符号ビットを処理するための少
々特殊な性質の他の回路機が必要である。この回路機を
第9図Aの入出力図に示す。第9図Bは、その真理値表
である。構造については、第7図Aを参照して説明され
たものと等しいが、唯一の相違点は、ビット−Y、と前
段デコーダの桁上リビッ)C(t−n だけを処理する
デコーダ99によって実施されるデコードである。第9
図Bの真理値表では、和−Y、+C(L−1) が−1
に等しいとき分岐器の出力Aは分岐器の入力に入力され
る数Xの補数を出力し、デコーダが出力したビットBは
値1をとる。和−Yイ+C,−、が0に等しいとき、分
岐器の出力Aはステート0となり、デコーダ99の出力
Bはステート0となる。また、和−Yh+C(t−1,
が1に等しいとき、分岐器の出力Aはその入力に入力さ
れたワードXの値を復元し、デコーダ99の出力Bが出
力するビットは、ステート0となる。
また、副乗算器の最後の型は、符号ビットを処理するた
めに使用され、その真理値表を第14図に示す。この副
乗算器の入出力図を第9図Cに示す。
第7図A、第8図、第9図A及び第9図Cを参照して説
明した回路によって、第10図及び第11図に示し、第
8図、第9図A及び第9図Cに示す入出力構造を用いた
型の実数もしくは複素数の乗算のための乗算器を製作す
ることができる。
第10図は実数の乗算器の実施モードを示す。これは、
各々参照番号100.100bis乃至108の9つの
副−算器及び最後の部分和と組合せられたボローから最
終的な結果を出す迅速な加算器1Q3bisを備える。
第11図は、8ビットの複素数の乗算器の実施モードを
示す。この乗算器は、第8図に示した型の7つの副乗算
器109乃至115、第9図Aに示した型の副乗算器1
15bis及び第9図Cに示した型の特殊な副乗算器1
15terを備える。この乗算器は、また、迅速な加算
器回路116を備える。
この実施モードを第12図にさらに詳細に示す。
この図では、鎖線の長方形の内部に第11図の副乗算器
112乃至115terが見られる。第12図に示す乗
算器は、Yl乃至Ylの乗算器のビットを処理する上部
とT8乃至Yl5の乗算器のビットを処理する下部を備
える。上部は副乗算器112及び115bisと副乗算
器109乃至111の機能を再組成する論理200を備
え、下部は副乗算器113.114.115及び115
terを備える。乗数のビットYO乃至T4は論理20
0に入力され、ビットY5、T6は副乗算器112に入
力され、ビットY7は複素数もしくは実数の乗算の型を
指示するビットCoと同時に副乗算器 115bisに
入力される。下部では、ビットT8及びT9は乗算器1
13に入力され、ビットYIO及びYllは副乗算器1
14に入力され、ビットYl2及びYl3は副乗算器1
15に入力され、ビットYl4及びYl5は副乗算器1
15terに入力される。第12図の実施例では、副乗
算器113乃至115の論理200のデコーダ99は第
7図Bのデコード表に一致するデコード表を有し、副乗
算器115bisのデコーダ99は第9図Aの表の発展
した表である第13図に示すデコード表に一致するデコ
ード表を有し、副乗算器115terのデコーダ99は
第14図に一致するデコード表を有する。第12図の乗
算器は、実数の演算と複素数の演算を一様に行うことが
できる。これは、論理200で構成される上部の入力と
副乗算器113によって構成される下部の入力を備える
。上部と下部の入力の間の分岐は、要素118乃至12
9で構成される回路によって実施される。この分岐器は
、C8、P中、TOlTlで表わす制御信号を受ける。
C8は、8ビットの複素数モードを示す。P*は、Xx
YIの共役な積を実施することを示す。
TOは、2つの数XとYの間の積の実数部の計算に対応
する計算の第1の部分を制御し、T1は、2つの数Xと
Yの間の積の虚数部の計算である第2の部分を制御する
。分岐器は、被乗数Xをロードするためのレジスタ11
8を備えており、Xの実数部RE及び虚数部IMは各々
レジスタ118の最初の8ビット及び次の8ビットを占
める。数Xの実数部REを表わす最初の8ビットは、ス
イッチ       。
128bisを介して実数モードで直接論理200の入
力に入力されるか、もしくはインバータ119、スイッ
チ120.121及び加算器125を介して乗算器の下
部の入力に入力される。複素数モード(C8=1)では
、論理200に入力される最初の8ビットは、0に置か
れる。条件C3XTIXP”が実施されるときスイッチ
120が開き、条件C8+C3xTIXP”が実施され
るときスイッチ121が開(。レジスタ118の最後の
8ビットは、条件 C3xT1+C8が実施されるときスイッチ129を介
して論理200に入力され、これは条件C8×TOXP
“が実施されるとき逆転器122及びスイッチ123を
介して、条件C3XTOXP”が実施されるときスイッ
チ124を介して、且ついずれの場合でも加算器125
を介して下部へ転送される。また、条件C8が実施され
るときレジスタ118の下位ビットは、スイッチ127
を介して乗算器111の入力に直接転送され、スイッチ
129を介して論理2000Å力に直接転送される。
スイッチ126は、加算器125の下位ビットを8目子
元化し、複素数の作用モードで副乗算器113の入力に
入力する。
上述の分岐器の利点は、実数の乗算に関するとき乗算器
の上部と下部の入力に同一の被乗数Xを入力することが
でき、且つ複素数の乗算のとき以下の式に示す複素数X
Yの乗算を実施することができる点である。
XY” (XREXY□−XIMXYIM)+ J (
XIMXYRE+XRI!XYIM)もしくは、 X Y” −(XREX YRE+ XIMX Yll
4)+ I (X+xXY*g  X++tXYrx)
XYもしくはXY”の実数部の計算は、信号TOによっ
て制御される第1のサイクルの際に実施され、虚数部の
計算は信号T1が制御する第2の計算サイクルの際実施
される。積XYの計算の際、乗算器の上部の下位ビット
の入力は、第1のサイクルの際実数部XREを受け、第
2のサイクルの間に行われる虚数部の計算の際虚数部X
0を受ける。
この選別は、スイッチ128と129.128bisと
129bisによって行われる。共役な積XYの計算の
際、全体は上部に関するのと同じ方法で機能する。
下部は、虚数部−XI)l及び積XYの実数部分の計算
のとき、且つ第1の計算サイクル中に生じるX11+の
符号指示を受ける。虚数部分の第2の計算サイクルの間
には、積XYの計算の際の符号指示と共に数Xの実数部
分XREを受ける。
XとYの共役数との積の計算XY”のために、第1の計
算サイクルの間、下部は虚数XI)lとXtt+の符号
Xの指示を受け、積XY”の虚数部分の第2の計算サイ
クルの間、数−XIIEと数−XREの符号指示を受け
る。この分岐の一方はスイッチ120乃至124、もう
一方は127及び126で実施される。
上述の本発明の好ましい実施例は、本発明を何ら限定す
るものではない。本発明による範囲内で任意のNビット
長を有する複素数を計算するための他の変形例が可能で
あるのはいうまでもない。
特に、本発明による乗算器を例えば信号処理プロセッサ
もしくは既にこの回路によって提供されたアーキテクチ
ャの利点を利用するのに機能の等しい装置から構成され
るより大きな回路に組込む必要のあるとき、複数の実施
モードが考えられる。
【図面の簡単な説明】
第1図は、Nビットの実数の演算を行う従来技術による
乗算器を示す。 第2図Aは、従来技術によるNビットの2つの複素数の
乗算器を示す。 第2図Bは、第2図Aの乗算器の機能を示す。 第3図は、2つの複素数の乗算の完全な結果を得るため
に第2図Aの従来技術による乗算器に付加する必要のあ
る回路を示す。 第4図は、本発明による乗算器の概略図である。 第5図は、16ビットの実数の乗算器の機能モードを示
す原理図である。 第6図は、16ビットでコード化された複素数の乗算器
を製作するため第5図の乗算器に加える修正を示す原理
図である。 第7図Aは、本発明による16ビットの乗算器の製作の
ための副乗算器を示す。 第7図Bは、第7図Aに示す型の副乗算器のデコーダの
デコード表を示す。 第8図は、第7図Aの乗算器の人出力を示す図である。 第9図A及び第9図Cは、第8図の2つの異なる副乗算
器の2つの記号図である。 第9図Bは、第9図Aの副乗算器を構成するデコーダの
デコード表である。 第9図りは、第9図Cの副乗算器を構成するデコーダの
デコード表である。 第10図は、第9図の記号図を使用して16ビットの乗
算器の構成を示す。 第11図は、第9図の記号図を使用して本発明による乗
算器の構成を示す。 第12図は、本発明による乗算器の詳細な実施モードを
示す。 第13図及び第14図は、デコード表である。 (主な参照番号) 121.127.129・・制御装置、97・・加算器
、   98・・分岐器、99・・デコーダ

Claims (9)

    【特許請求の範囲】
  1. (1)カスケード接続された第1連及び第2連のK個の
    副乗算器を備えており、該第1連の副乗算器が出力した
    結果は該第2連の副乗算器に入力され、各連は第1及び
    第2のオペランド入力(E_1、E_2)、第3の入力
    S及び出力Rを備え、且つ該第3の入力Sに入力される
    2進数に等しい2進数量で増大された該第1及び第2の
    オペランド入力に入力される2進数の積が該出力Rに出
    力されるように構成され、Nビット(Nは偶数)の2つ
    の複素数X=X′+JX″及びY=Y′+JY″の乗算
    のための乗算器であって、Nビットの複素数X及びYは
    、各々N/2ビットの数X1、X2及びY1、Y2に分
    割され、且つ数X1とY1は各々上記第1連の第1及び
    第2のオペランド入力に入力され、数X2とY2は各々
    上記第2連の第1及び第2のオペランド入力に入力され
    、数X1とX2はシフトを除いて±X′もしくは±X″
    の値を有し、Y1とY2はシフトを除いて±Y′もしく
    は±Y″の値をとり、且つ該乗算器は各々第1サイクル
    及び第2サイクル中に2つの複素数XとYの積の実数部
    及び虚数部の計算を実施する分岐装置を備えることを特
    徴とする乗算器。
  2. (2)上記分岐装置は、数X1及びX2がX1=X2=
    X=(X′+2^N^/^2X″)となるように同一ワ
    ード内の並置を操作し、X及びYが実数のときこれら2
    つの数の乗算ができるように上記第1連及び第2連の第
    1のオペランド入力に同時に数Xを入力するための制御
    装置を備えることを特徴とする特許請求の範囲第1項に
    記載の乗算器。
  3. (3)上記の連の各副乗算器は、上記第1連及び第2連
    の第2のオペランド入力に入力される数Yの隣接する2
    つのビットY_n、Y_n_+_1のステートのデコー
    ダによって制御される加算器および分岐器を備えて、数
    Xが0、X、2X、@X@もしくは2@X@の値をとる
    よう、上記分岐器を介して処理した数Xを上記加算器の
    第1の入力に入力することを特徴とする特許請求の範囲
    第1項もしくは第2項のいずれか1項に記載の乗算器。
  4. (4)上記副乗算器は、第1型のデーコダを備え、該デ
    コーダが各々2つのビットY_nとY_n_+_1、前
    段の副乗算器で生じ且つ上記加算器の第1のオペランド
    入力は2Y_n_+_1+Y_n+C_t_−_1の式
    で得られたビットの大きさが0、1、2、3、4となる
    とき、各々分岐器から数0、X、2X、@X@、0を受
    けるようにコード化された桁上げビットC_t_−_1
    を入力される入力を有することを特徴とする特許請求の
    範囲第3項に記載の乗算器。
  5. (5)上記副乗算器は、−2Y_n_+_1+Y_n+
    C_t_−_1の式によるビットの大きさが−2、−1
    、0、1、ンド入力が上記分岐器から数2@X@、@X
    @、0、X、2Xを受けるようにコード化された第2型
    のデコーダを備えることを特徴とする特許請求の範囲第
    3項もしくは第4項に記載の乗算器。
  6. (6)上記副乗算器は、ビットC_■が乗算器で実施さ
    れる複素数もしくは実数の乗算モードを示し、数(C_
    ■、Y_n、C_n)の2進法の重さが0乃至7の値を
    とるとき各々上記加算器の第1のオペランド入力が上記
    分岐器から数(0、X、X、0、0、X、@X@、0)
    を受けるようにコード化された3つの入力を有する第3
    型のデコーダを備えることを特徴とする特許請求の範囲
    第5項に記載の乗算器。
  7. (7)上記第1連の副乗算器は、第1型のデコーダを備
    える2つの副乗算器、第3型のデコーダを備える1つの
    副乗算器から構成され、上記第2連の副乗算器は第1型
    のデコーダを備える3つの副乗算器、第2型のデコーダ
    を備える1つの副乗算器から構成されることを特徴とす
    る特許請求の範囲第6項に記載の乗算器。
  8. (8)特許請求の範囲第1項乃至第7項のいずれか1項
    に記載の乗算器を備えることを特徴とする信号処理プロ
    セッサ。
  9. (9)修正されたブースアルゴリズムを利用する乗算の
    演算のための特許請求の範囲第1項乃至第8項のいずれ
    か1項に記載の乗算器の使用法。
JP61167726A 1985-07-16 1986-07-16 2つの複素数の乗算のための乗算器 Pending JPS6222178A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8510875A FR2585150B1 (fr) 1985-07-16 1985-07-16 Multiplieur pour la multiplication de deux nombres complexes
FR8510875 1985-07-16

Publications (1)

Publication Number Publication Date
JPS6222178A true JPS6222178A (ja) 1987-01-30

Family

ID=9321344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61167726A Pending JPS6222178A (ja) 1985-07-16 1986-07-16 2つの複素数の乗算のための乗算器

Country Status (4)

Country Link
EP (1) EP0209446B1 (ja)
JP (1) JPS6222178A (ja)
DE (1) DE3678055D1 (ja)
FR (1) FR2585150B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265715A (ja) * 1992-03-19 1993-10-15 Nec Corp 加算乗算器
DE4317074C1 (de) * 1993-05-21 1994-06-23 Itt Ind Gmbh Deutsche Multiplizierer für reelle und komplexe Zahlen
JP3637073B2 (ja) * 1993-10-21 2005-04-06 株式会社東芝 倍精度・単精度・内積演算および複素乗算が可能な乗算器
EP1162548A3 (en) * 2000-06-05 2003-10-29 DSP Group Ltd. Complex multiplication dsp subarchitectures
US7555511B2 (en) 2004-07-02 2009-06-30 Ceva D.S.P. Ltd. Methods for addressing input data values of a Fast Fourier Transform (FFT) calculation

Also Published As

Publication number Publication date
EP0209446B1 (fr) 1991-03-13
DE3678055D1 (de) 1991-04-18
FR2585150A1 (fr) 1987-01-23
FR2585150B1 (fr) 1987-10-09
EP0209446A1 (fr) 1987-01-21

Similar Documents

Publication Publication Date Title
JPH10214176A (ja) 超越関数を迅速に計算する装置
JPS6347874A (ja) 算術演算装置
JPH0713742A (ja) 乗算装置
JPS635774B2 (ja)
US6223197B1 (en) Constant multiplier, method and device for automatically providing constant multiplier and storage medium storing constant multiplier automatic providing program
US4346451A (en) Dual moduli exponent transform type high speed multiplication system
JPH02247727A (ja) 乗算装置及びその方法
JPH10307706A (ja) 半及び全加算器を用いたウォレスツリー乗算器
JPS60140429A (ja) 10進乗算装置
JPS6222178A (ja) 2つの複素数の乗算のための乗算器
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US8417761B2 (en) Direct decimal number tripling in binary coded adders
JPH02287874A (ja) 積和演算装置
JPS6259828B2 (ja)
JP2620659B2 (ja) 乗算器
JPH10198552A (ja) 乗算器
JP2620660B2 (ja) 乗算器
JPH0377539B2 (ja)
JPS6246369A (ja) 積和命令実行方式
JPS61177544A (ja) 直列乗算装置
JPH10312269A (ja) 積和演算器
JPH09167082A (ja) 乗算装置
JPS6224365A (ja) 積和演算器
JPH0584528B2 (ja)
JPH03196712A (ja) ディジタル演算回路