JPH05289850A - 乗算器 - Google Patents

乗算器

Info

Publication number
JPH05289850A
JPH05289850A JP4094324A JP9432492A JPH05289850A JP H05289850 A JPH05289850 A JP H05289850A JP 4094324 A JP4094324 A JP 4094324A JP 9432492 A JP9432492 A JP 9432492A JP H05289850 A JPH05289850 A JP H05289850A
Authority
JP
Japan
Prior art keywords
data
bit
multiplicand
register
multiplier
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
JP4094324A
Other languages
English (en)
Inventor
Kazuya Matsumoto
一也 松本
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP4094324A priority Critical patent/JPH05289850A/ja
Publication of JPH05289850A publication Critical patent/JPH05289850A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 乗算演算の同期をとるためのクロック信号の
波形歪やデューティ変動を考慮することなく高速の乗算
を実現する乗算器を提供する。 【構成】 従属接続される複数段の加算回路を備え、第
1段の加算回路は乗数データの各ビットデータの論理値
に対応した被乗数データと部分積レジスタの保持データ
とを加算し、第2段目以降の加算回路は、前段の加算回
路の加算結果と乗数データの所定ビットデータの論理値
に対応した被乗数データとの加算を行い、最終段の加算
回路から出力される演算結果と各段の加算回路から出力
される加算結果の内の所定ビットとを部分積レジスタに
保持及びシフトさせる処理をクロック信号に同期して繰
返し行うことで、部分積レジスタに乗算結果を発生させ
る構成とした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機やマイクロ
プロセッサの内部に設けられる高速な乗算回路に関す
る。
【0002】
【従来の技術】従来、基本的な乗算回路としては、図6
に示す構成のものが知られている。まず構成を述べる
と、被乗数レジスタ1は任意のnビットの被乗数データ
A{an-1 ,an-2 ,……,a0 }を入力して保持する
と共に、全てのビットデータ{an-1 ,an-2 ,……,
0 }を並列に論理積演算回路3へ出力し、乗数レジス
タ2は任意のnビットの乗数データB{bn-1
n-2 ,……,b0 }を所定周期τのクロック信号CL
Kの立上り時点に同期して下位ビット側へ1ビットシフ
トさせると共に、最下位ビットに発生するビットデータ
0 を論理積演算回路3へ出力する。論理積演算回路3
は、被乗数レジスタ1からの被乗数データAの各ビット
データ{an-1 ,an-2 ,……,a0 }と乗数レジスタ
2からのビットデータB0 との論理積演算を各ビット毎
に行い、nビットの出力データC{cn-1 ,cn-2 ,…
…,c0 }をnビット加算器4に供給する。部分積レジ
スタ5は2×nビットのシフトレジスタから成り、乗算
開始前には全てのビットが“0”にクリアされると共
に、演算が開始されると、所定周期τのクロック信号C
LKの立上り時点に同期して保持データD{d2n-1,d
2n-2,……,d0 }の内の上位nビットのデータDU
{d2n-1,d2n-2,……,dn }をnビット加算器4へ
出力し、更に保持データDを下位ビット側へ1ビットシ
フトさせる。nビット加算器4は、論理積演算回路3と
部分積レジスタ5からのデータCとDUの加算演算を行
い、1ビットのキャリーデータCYと加算演算結果のn
ビットデータとから成るn+1ビットのデータRを部分
積演算レジスタ5の上位n+1ビットへ転送して保持さ
せる。そして、クロック信号CLKに同期して処理を繰
り返すことにより、最終的に部分積レジスタ5に乗算結
果が得られるようになっている。
【0003】かかる構成の従来の乗算器の動作の典型例
として、例えば、被乗数Aが10[即ち、バイナリデー
タで(1010)2 ]、乗数Bが7[即ち、バイナリデ
ータで(0111)2 ]である、n=4ビットの乗算器
について述べれば、図7に示す所定周期τのクロック信
号CLKが各処理サイクルT1 〜T5 において論理値
“H”に立上るのに同期して、乗数レジスタ2と部分積
レジスタ5が1ビットシフトすると共に、各サイクルに
おいて、加算器4が、論理積演算回路3を介して入力さ
れる4ビットのデータCと部分積レジスタ5から入力さ
れる上位4ビットのデータDUを加算演算して、その演
算結果である5ビットのデータRを部分積レジスタ4の
上位5ビットへ転送して保持させる。この処理を繰返す
ことにより、図8に示すように、部分積レジスタ5の内
容は、第1のサイクルT1 では(0000000
0)2 、第2のサイクルT2 では(01010000)
2 、第3のサイクルT3 では(01111000)2
第4のサイクルT4 では(10001100)2 、第5
のサイクルT5 では(01000110)2 となり、5
サイクルの繰返し演算によって、10×7=70の演算
に対応する(01000110)2 のバイナリーデータ
が部分積レジスタ5から得られる。
【0004】この基本的な従来例は、nビットの乗算を
行うのにnクロック周期が必要であることから、この処
理時間を更に短縮化するために、図9に示すような発展
した構成の乗算器も知られている。被乗数レジスタ6は
任意のnビットの被乗数データA{an-1 ,an-2 ,…
…,a0 }を保持つつ出力し、乗数レジスタ7は任意の
nビットの乗数データB{bn-1 ,bn-2 ,……,
0 }を第1のクロック信号CLKの立上りに同期して
下位側へ2ビットずつシフトし、更に、最下位ビットと
第1位ビットに位置するビットデータB0 ,B1 を出力
する。第1の論理積演算回路8は被乗数レジスタ6から
出力される被乗数データAの各ビットデータ{an-1
n-2 ,……,a0 }と乗数レジスタ7の最下位ビット
のデータB0との論理積演算を行いその演算結果のデー
タC1 を第1のnビット加算器9へ供給する。加算器9
は、後述する第2の部分積レジスタ12の上位nビット
から転送されてくるデータDU2 とデータC1 の加算演
算を行い、その演算結果のデータと1ビットのキャリー
データCY1 から成るn+1ビットのデータR1 を第1
の部分積レジスタ10の上位n+1ビットに供給して保
持させる。第1の部分積レジスタ10は、2×nビット
のシフトレジスタであり、第1のクロック信号CLKと
は逆相の第2のクロック信号CKLBの立上りに同期して2
ビットずつ下位側へビットシフトすると共に、上位nビ
ットのデータDU1 を第2の加算器11に供給する。第
2の論理積演算回路13は、被乗数レジスタ6から出力
される被乗数データAの各ビットデータ{an-1 ,a
n-2 ,……,a0 }と乗数レジスタ7の第1位ビットの
データB1 との論理積演算を行ってその演算結果のデー
タC2を第2のnビット加算器11へ供給する。第2の
nビット加算器11は、データC2 とDU1 の加算結果
と1ビットのキャリーデータCY2 から成るn+1ビッ
トのデータR2 を第2の部分積レジスタ12の上位n+
1ビット目に供給して保持させる。第2の部分積レジス
タ12は2×nビットのシフトレジスタから成り、第1
のクロック信号CLKの立上りに同期して下位側へ2ビ
ットずつのシフト動作を行うと共に、上位nビットのデ
ータR2 を第1のnビット加算器9へ転送する。
【0005】第1,第2のクロック信号CLK,CLKBは
図10に示す所定周期τの矩形信号であり、かかる構成
の乗算器は、各周期τの内、第1のクロック信号CLK
が論理値“H”となる間τA において、第1の部分積レ
ジスタ10がシフト処理、及び第1のnビット加算器9
からの部分積演算のデータR1 を保持し、第2のクロッ
ク信号CLKBが論理値“H”となる間に、第2の部分積レ
ジスタ12がシフト処理、及び第2のnビット加算器1
1からの部分積演算のデータR2 を保持しつつ加算演算
処理を繰返すことによって乗算を行うので、図6に示す
乗算器よりも半分の処理サイクルnτ/2で乗算を完了
することができる。
【0006】
【発明が解決しようとする課題】ところで、高速の乗算
処理を実現する上記従来例では、各周期τに2回の加算
演算を行うので、第1,第2のクロック信号CLK,CL
KBの反転タイミングを一致させ且つデューティを50%
に設定する必要である。しかし、マイクロプロセッサ等
の大規模集積回路では、内部の負荷容量や幾度にも及ぶ
バッファリング等によって波形が歪むので、立上りエッ
ジと立下がりエッジの間隔を正確に半周期に設定するこ
とは極めて困難であり、特に高速の乗算を行う場合には
演算誤差を招来することから設計が極めて困難となり、
高速乗算器の実現を阻んでいた。
【0007】本発明はこのような問題点に鑑みて成され
たものであり、乗算演算の同期をとるためのクロック信
号のデューティ変動を考慮することなく1クロックで1
サイクル分の加算演算を行うことによって高速の乗算を
実現する乗算器を提供することを目的とする。
【0008】
【課題を解決するための手段】このような目的を達成す
るために本発明は、クロック信号に同期して、乗数デー
タの各ビットデータの論理値に対応した被乗数データと
部分積レジスタの保持データとを加算回路で加算して、
その加算結果を該部分積レジスタに保持及びシフトさせ
る処理を繰返すことにより、該部分積レジスタに乗算結
果を発生させる乗算器において、上記加算回路を、従属
接続される複数段の加算回路で構成し、第1段の加算回
路は上記乗数データの各ビットデータの論理値に対応し
た被乗数データと前記部分積レジスタの保持データとを
加算し、第2段目以降の加算回路は、前段の加算回路の
加算結果と前記乗数データの所定ビットデータの論理値
に対応した被乗数データとの加算を行い、最終段の加算
回路から出力される演算結果と各段の加算回路から出力
される加算結果の内の所定ビットとを上記部分積レジス
タに保持及びシフトさせることで乗算を行う構成とし
た。
【0009】
【作用】この構成によれば、クロック信号の所定の反転
時点(即ち、立上りエッジ又は立下がりエッジのいずれ
か一方)に同期して上記複数段の加算回路が加算を行い
且つ部分積レジスタがシフト動作を行うので、クロック
信号のデューティー変動の有無に係わらず複数の加算を
1サイクルで実現し、従来技術のようなクロック信号の
歪みを考慮しなくて済む高速の乗算器を実現することが
できる。
【0010】
【実施例】以下、本発明による乗算器の一実施例を図面
と共に説明する。
【0011】まず、図1に基いて構成を述べると、被乗
数レジスタ20は任意のnビットの被乗数データA{a
n-1 ,an-2 ,……,a0 }を保持つつ出力し、乗数レ
ジスタ21は任意のnビットの乗数データB{bn-1
n-2 ,……,b0 }を第1のクロック信号CLKの立
上りに同期して下位側へ2ビットずつシフトし、更に、
最下位ビットと第1位ビットに位置するビットデータB
0 ,B1 を出力する。
【0012】第1の論理積演算回路22は被乗数レジス
タ20から出力される被乗数データAの各ビットデータ
{an-1 ,an-2 ,……,a0 }と乗数レジスタ21の
最下位ビットのデータB0 との論理積演算を行いその演
算結果のデータC1 を第1のnビット加算器23へ供給
する。加算器23は、後述する部分積レジスタ26の上
位nビットから転送されてくるデータDUとデータC1
の加算演算を行い、その演算結果のデータR
1 {rn-1 ,……,r0 }と1ビットのキャリーデータ
CY1 を出力する。
【0013】第2の論理積演算回路24は、被乗数レジ
スタ20から出力される被乗数データAの各ビットデー
タ{an-1 ,an-2 ,……,a0 }と乗数レジスタ21
の第1位ビットのデータB1 との論理積演算を行い、そ
の演算結果のデータC2 を第2のnビット加算器25へ
供給する。第2のnビット加算回路25は、第1のnビ
ット加算器23の出力データR1 の内の上位n−1ビッ
トのデータRU{rn-1 ,……,r1 }を下位n−1ビ
ットとし、1ビットのキャリーデータCY1 を最上位ビ
ットとして入力するデータと、第2の論理積演算回路2
4の出力データC2 との加算を行い、1ビットのキャリ
ービットCY2 と加算結果のデータR2{Sn-1 ,…
…,S0 }を出力する。
【0014】部分積レジスタ26は、2×nビットのシ
フトレジスタから成り、第1のnビット加算器23の出
力データR1 の内の最下位ビットのデータr0 を最下位
ビットとし、第2のnビット加算器25の出力するキャ
リーデータCY2 を最上位ビットとし、出力データR2
を第1ないし第n−1位ビットとするn+2ビットのデ
ータR{CY2 ,Sn-1 ,……,S0 ,r0 }を、上位
n+2ビットに入力し、更に、上記したように保持デー
タの内の上位nビットのデータDUを第1のnビット加
算器23へ出力すると共に、クロック信号CLKの立上
りに同期して下位側へ2ビットずつのシフト動作を行
う。
【0015】次に、かかる実施例の動作を図2に示す動
作説明図に基いて説明する。尚、適用されるクロック信
号CLKは、図7に示すような所定周期τの矩形波であ
り、この周期τが1回の演算処理を行うサイクルに設定
されている。例えば、被乗数Aが10[即ち、バイナリ
データで(1010)2 ]、乗数Bが7[即ち、バイナ
リデータで(0111)2 ]である、n=4ビットの乗
算器について述べれば、図2に示すように、第1のサイ
クルT1 では、乗数レジスタ21の下位2ビット
{B1 ,B0 }は“1”,“1”であるので、論理積演
算回路22,24の出力データC1 ,C2 は共に(10
10)2 となる。したがって、第1のnビット加算器2
3から出力されるキャリービットCY1 とnビットの演
算結果のデータR1 は{CY1 ,R1 }=(0101
0)2 となり、更に、第2のnビット加算器25から出
力されるキャリービットCY2 とnビットの演算結果の
データR2は{CY2 ,R2 }=(01111)2 とな
る。更に、第1,第2のnビット加算器23,25から
出力されるデータによって形成されるデータRは(01
1110)2 となる。第2のサイクルT2 に遷移すると
きのクロック信号CLKの立上りエッジに同期して、部
分積レジスタ26が2ビットのシフト動作を行い且つデ
ータRを入力するので、第2のサイクルT2 の初期の時
点での部分積レジスタ26の保持データは(01111
000)2 となり、乗数レジスタ21も同様に2ビット
のシフト動作を行うので、内部データは(0001)2
に変化する。
【0016】次に、第2のサイクルT2 では、乗数レジ
スタ21の下位2ビット{B1 ,B0 }は“0”,
“1”であるので、論理積演算回路22の出力データC
1 は(1010)2 となり、論理積演算回路23の出力
データC2 は(0000)2 となる。したがって、第1
のnビット加算器23から出力されるキャリービットC
1 とnビットの演算結果のデータR1 は{CY1 ,R
1 }=(10001)2 となり、更に、第2のnビット
加算器25から出力されるキャリービットCY2 とnビ
ットの演算結果のデータR2 は{CY2 ,R2 }=(0
1000)2 となる。更に、第1,第2のnビット加算
器23,25から出力されるデータによって形成される
データRは(010001)2 となる。そして、第2の
サイクルT3に遷移するときのクロック信号CLKの立
上りエッジに同期して、部分積レジスタ26が2ビット
のシフト動作を行い且つデータRを入力するので、第3
のサイクルT3 の初期の時点での部分積レジスタ26の
保持データは(01000110)2 となる。
【0017】このように、この実施例によれば、クロッ
ク信号CLKが所定周期τ毎に論理値“H”に立上るの
に同期して、乗数レジスタ21と部分積レジスタ26が
2ビットシフトすると共に、周期τ毎の各サイクルにお
いて、加算器23と25が、論理積演算回路22と24
を介して入力される4ビットのデータC1 とC2 と部分
積レジスタ26から入力される上位4ビットのデータD
Uを加算演算して、その演算結果である6ビットのデー
タRを部分積レジスタ26の上位6ビットへ転送して保
持させる処理を繰返すことによって乗算を実現し、1サ
イクル当たり2回の加算演算を、クロック信号CLKの
立上りエッジにのみ同期して処理するので、クロックC
LKのデューティー変動や波形歪みに影響されることな
く乗算が行われ、更に、高速の乗算が実現される。
【0018】次に、他の実施例を図面と共に説明する。
まず、構成を図3に基いて説明すると、被乗数レジスタ
30は、任意のnビットの被乗数データA{an-1 ,a
n-2,……,a0 }を入力すると、A×2の乗算結果に
相当するn+1ビットの第1の被乗数データA1 と、A
×1の乗算結果に相当するn+1ビットの第2の被乗数
データA2 と、A×0の乗算結果に相当するn+1ビッ
トの第3の被乗数データA3 と、A×(−1)に相当す
るn+1ビットの第4の被乗数データA4 と、A×(−
2)に相当するn+1ビットの第5の被乗数データA5
を同時に出力する。尚、これらの被乗数データA1 ,A
2 ,A3 ,A4 ,A5 は元の被乗数データAに対してシ
フト又は2の補数処理を行うことにより実現される。
【0019】乗数レジスタ31は、n+1ビットのシフ
トレジスタから成り、演算開始前に入力される任意のn
ビットの乗数データB{bn-1 ,bn-2 ,……,b0
を上位nビットに保持すると共に、最下位ビット(LS
B)の“0”のビットデータを保持し、第2位ビットと
第1位ビット及び最下位ビットのビットデータ{B2
1 ,B0 }を後述する第1のリコーダ33へ転送し、
第4位ビットと第3位ビット及び第2位ビットのビット
データ{B4 ,B3 ,B2 }を後述する第2のリコーダ
35へ転送する。
【0020】部分積レジスタ32は、2×nビットのシ
フトレジスタから成り、上位n+4ビットに後述のデー
タRが入力されると共に、上位nビットのデータDUを
出力し、更に、クロック信号CLKの立上りエッジに同
期して4ビットずつ下位側へビットシフトする。尚、か
かる部分積レジスタ32は、例えば、図4に示すように
D型フリップフロップをカスケード接続し、クロック信
号CLKの立上りエッジに同期してシフト動作を行うと
共に、上位の複数ビット位置に並列入力し、又、上位の
複数ビットのビットデータを出力するシフトレジスタが
適用される。
【0021】第1のデコーダ33は、乗数レジスタ31
からの3ビットのデータ{B2 ,B1 ,B0 }に基いて
5種類のデコード情報を示す第1のデコードデータDC
1 を出力するデコーダ回路である。即ち、データ
{B2 ,B1 ,B0 }が(011)2 のときは第1の出
力ビットに第1のデコード情報、(001)2 又は(0
10)2 のときは第2の出力ビットに第2のデコード情
報、(000)2 又は(111)2 のときは第3の出力
ビットに第3のデコード情報、(101)2 又は(11
0)2 のときは第4の出力ビットに第4のデコード情
報、(100)2 のときは第5の出力ビットに第5のデ
コード情報を示すビットデータを出力し、これらのデコ
ード情報に応じて第1のセレクタ34の切換え動作を制
御する。
【0022】第1のセレクタ34は、被乗数データ
1 ,A2 ,A3 ,A4 ,A5 を入力し、第1のデコー
ダ33からのデコードデータDC1 に従っていずれか一
つの乗数データを出力する。即ち、デコードデータDC
1 が第1のデコード情報の場合は被乗数データA1 、第
2のデコード情報の場合は被乗数データA2 、第3のデ
コード情報の場合は被乗数データA3 、第4のデコード
情報の場合は被乗数データA4 、第5のデコード情報の
場合は被乗数データA5 を出力する。
【0023】第2のデコーダ35は、乗数レジスタ31
からの3ビットのデータ{B4 ,B3 ,B2 }に基いて
5種類のデコード情報を示す第2のデコードデータDC
2 を出力するデコーダ回路である。即ち、データ
{B4 ,B3 ,B2 }が(011)2 のときは第1の出
力ビットに第6のデコード情報、(001)2 又は(0
10)2 のときは第2の出力ビットに第7のデコード情
報、(000)2 又は(111)2 のときは第3の出力
ビットに第8のデコード情報、(101)2 又は(11
0)2 のときは第4の出力ビットに第9のデコード情
報、(100)2 のときは第5の出力ビットに第10の
デコード情報を示すビットデータを出力し、これらのデ
コード情報に応じて第2のセレクタ36の切換え動作を
制御する。
【0024】第2のセレクタ36は、被乗数データ
1 ,A2 ,A3 ,A4 ,A5 を入力し、第2のデコー
ダ35からのデコードデータDC2 に従っていずれか一
つの乗数データを出力する。即ち、デコードデータDC
2 が第6のデコード情報の場合は被乗数データA1 、第
7のデコード情報の場合は被乗数データA2 、第8のデ
コード情報の場合は被乗数データA3 、第9のデコード
情報の場合は被乗数データA4 、第10のデコード情報
の場合は被乗数データA5 を出力する。
【0025】第1のn+1ビット加算器37は、部分積
レジスタ32から転送されてくる上位nビットのデータ
DU{p2n-1……pn }を下位nビットとし最上位ビッ
トとしてp2n-1を付加することによって成るn+1ビッ
トのデータ{p2n-1,p2n-1……pn }と、第1のセレ
クタ34からのn+1ビットのデータC1 を加算して、
1ビットのキャリーデータCY1 と演算結果のn+1ビ
ットのデータR1 {rn ,……,r0 }を出力する。第
2のn+1ビット加算器38は、第1のn+1ビット加
算器37から出力されるデータR1 の内の上位n−1ビ
ット{rn ,……,r2 }を下位ビットとして更に最上
位及び次の上位ビットを共にrn としたn+1ビットの
データ{rn ,rn ,rn ……,r2 }と、第2のセレ
クタ36からのデータC2 を加算し、1ビットのキャリ
ーデータCY2 と演算結果のn+1ビットのデータR2
{Sn ,……,S0 }を出力する。
【0026】そして、第1のn+1ビット加算器37の
出力データR1 の内の下位2ビットのデータ{r1 ,r
0 }と、第2のn+1ビット加算器38の出力データR
2 から成るn+3ビットのデータR{Sn ,……,
0 ,r1 ,r0 }が部分積レジスタ32の上位n+4
ビットに入力される。
【0027】次に、かかる他の実施例の動作を図5に基
いて説明する。尚、典型的な例として8ビット乗算器を
説明し、被乗数レジスタ30に設定される被乗数Aが8
ビットバイナリーで(01100111)、乗数レジスタ31に
設定される乗数Bが8ビットバイナリーで(10100111)
であるものとする。まず、乗算開始前には、8ビット乗
数データB(10100111)が9ビットの乗数レジスタ31
に格納されるので、乗数レジスタ31の内部データは最
下位ビットが“0”となる(101001110)になる。 又、
被乗数レジスタ30から出力されるデータA1 〜A
5 は、A1 =(00110011) 、A2 =(011001110)、A3
=(000000000)、A4 =(110011001)、A5=(1001100
10)となる。
【0028】そして、図7に示すのと同様のクロックC
LKに同期して乗算を開始すると、各サイクルT1 〜T
3 において、図5に示すように、乗数レジスタ31から
出力される各ビットデータ{B4 ,B3 ,B2 }と{B
2 ,B1 ,B0 }にしたがってデコーダ33,35及び
セレクタ34,36がデータA1 〜A5 を選択して加算
器37,38が加算処理を行うことにより、部分積レジ
スタ32の内容は、第1のサイクルでは(000000000000
0000) 、第2のサイクルT2 では、(001011010001000
0)、第3のサイクルT3 では、(1101110000110001) と
なる。そして、第3のサイクルT3 で部分積レジスタ3
2に発生した値が、乗算結果と成る。
【0029】このように、通常は8ビットの乗算を行う
のに8サイクル必要であったが、この実施例によれば、
少ないサイクルで演算結果が得られることから高速の乗
算器が実現され、更にクロック信号CLKの立上りエッ
ジにのみ同期して加算演算が行われるのでるので、演算
精度がクロック信号CLKのデューティ変動や波形歪み
がに影響されない。よって、高速且つ高精度の乗算器を
実現することができる。
【0030】尚、この実施例では、乗数レジスタ31か
ら所定の下位3ビットずつをデコーダでデコードするよ
うにしたが、これに限らず、高位基数に基いて加算演算
を行わせるようにしてもよい。
【0031】
【発明の効果】以上説明したように本発明は、クロック
信号に同期して、乗数データの各ビットデータの論理値
に対応した被乗数データと部分積レジスタの保持データ
とを加算回路で加算して、その加算結果を該部分積レジ
スタに保持及びシフトさせる処理を繰返すことにより、
該部分積レジスタに乗算結果を発生させる乗算器を対象
とし、上記加算回路を、従属接続される複数段の加算回
路で構成し、第1段の加算回路は上記乗数データの各ビ
ットデータの論理値に対応した被乗数データと前記部分
積レジスタの保持データとを加算し、第2段目以降の加
算回路は、前段の加算回路の加算結果と前記乗数データ
の所定ビットデータの論理値に対応した被乗数データと
の加算を行い、最終段の加算回路から出力される演算結
果と各段の加算回路から出力される加算結果の内の所定
ビットとを上記部分積レジスタに保持及びシフトさせる
ことで乗算を行う構成としたので、クロック信号の所定
の反転時点(即ち、立上りエッジ又は立下がりエッジの
いずれか一方)に同期して上記複数段の加算回路が加算
を行い且つ部分積レジスタがシフト動作を行うこととな
り、クロック信号のデューティー変動の有無に係わらず
複数の加算を1サイクルで実現し、従来技術のようなク
ロック信号の歪みを考慮しなくて済む高速の乗算器を実
現することができる。
【0032】そして、信号伝播速度の速いGaAsME
SFET等を適用して更に高速の乗算器や、この乗算器
を内蔵するマイクロプロセッサを実現する場合に極めて
優れた効果を発揮する。
【図面の簡単な説明】
【図1】本発明による乗算器の一実施例の構成を示すブ
ロック図である。
【図2】図1に示す実施例の動作を説明するための動作
説明図である。
【図3】本発明による乗算器の他の実施例の構成を示す
ブロック図である。
【図4】部分積レジスタの一具体例の構成を示す回路図
である。
【図5】他の実施例の動作を説明するための動作説明図
である。
【図6】従来の乗算器の構成を示すブロック図である。
【図7】従来の乗算器に適用されるクロック信号を示す
波形図である。
【図8】従来の乗算器の動作を説明するための動作説明
図である。
【図9】従来の他の乗算器の構成を示すブロック図であ
る。
【図10】従来の他の乗算器に適用されるクロック信号
を示す波形図である。
【符号の説明】
20,30…被乗数レジスタ、21,31…乗数レジス
タ、26,32…部分積レジスタ、22…第1の論理積
演算回路、23…第1のnビット加算器、24…第2の
論理積演算回路、25…第2のnビット加算器、33…
第1のデコーダ、34第1のセレクタ、35…第1のデ
コーダ、36…第2のセレクタ、37…第1のn+1ビ
ット加算器、38…第2のn+1ビット加算器。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 クロック信号に同期して、乗数データの
    各ビットデータの論理値に対応した被乗数データと部分
    積レジスタの保持データとを加算回路で加算して、その
    加算結果を該部分積レジスタに保持及びシフトさせる処
    理を繰返すことにより、該部分積レジスタに乗算結果を
    発生させる乗算器において、 前記加算回路を、従属接続される複数段の加算回路で構
    成し、第1段の加算回路は前記乗数データの各ビットデ
    ータの論理値に対応した被乗数データと前記部分積レジ
    スタの保持データとを加算し、第2段目以降の加算回路
    は、前段の加算回路の加算結果と前記乗数データの所定
    ビットデータの論理値に対応した被乗数データとの加算
    を行い、最終段の加算回路から出力される演算結果と各
    段の加算回路から出力される加算結果の内の所定ビット
    とを上記部分積レジスタに保持及びシフトさせる構成を
    有することを特徴とする乗算器。
  2. 【請求項2】 任意のnビットの被乗数データ(A)を
    保持すると共に全てのビットデータを並列出力する被乗
    数レジスタと、 nビットの乗数データ(B)を保持すると共にクロック
    信号の所定の反転時点に同期して2ビットずつ下位側に
    ビットシフトする乗数レジスタと、 2×nビットの保持機能を有し、上記クロック信号の反
    転時点に同期して2ビットずつ下位側にビットシフトす
    ると共に、上位n+2ビットまでにn+2ビットのデー
    タを入力し且つ上位nビットのデータを出力する部分積
    レジスタと、 上記乗数レジスタの最下位ビットのビットデータ
    (B0 )と上記被乗数レジスタから出力される被乗数デ
    ータ(A)との論理積演算を各ビット毎に行う第1の論
    理積演算回路と、 上記乗数レジスタの第1位ビットのビットデータ
    (B1 )と上記被乗数レジスタから出力される被乗数デ
    ータ(A)との論理積演算を各ビット毎に行う第2の論
    理積演算回路と、 上記部分積レジスタから出力される上位nビットのデー
    タと第1の論理積演算回路から出力されるnビットのデ
    ータとを加算演算して1ビットのキャリーデータとnビ
    ットの加算データを出力する第1の加算器と、 第1の加算器から出力される上記キャリーデータと、上
    記加算データの内の最下位ビットを除くn−1ビットの
    データと、第2の論理積演算回路から出力されるnビッ
    トのデータとを加算演算して、1ビットのキャリーデー
    タとnビットの加算データを出力する第2の加算器とを
    具備し、 上記第1の加算器から出力されるnビットの加算データ
    の内の最下位ビットのデータを最下位ビットとし、第2
    の加算器から出力される1ビットのキャリーデータとn
    ビットの加算データを上位ビットとするn+2ビットの
    データを前記クロック信号に同期して上記部分積レジス
    タの上位n+2ビットに入力しつつ上記乗数レジスタ及
    び部分積レジスタに上記シフト処理を行わせることによ
    り、乗算を行うことを特徴とする乗算器。
  3. 【請求項3】 任意のnビットの被乗数データ(A)の
    2倍に相当するn+1ビットの第1の被乗数データ(A
    1 )と、被乗数データ(A)の1倍に相当するn+1ビ
    ットの第2の被乗数データ(A2 )と、全ビットが0で
    あるn+1ビットの第3の被乗数データ(A3 )と、被
    乗数データ(A)の−2倍に相当するn+1ビットの第
    4の被乗数データ(A4 )と、被乗数データ(A)の−
    1倍に相当するn+1ビットの第5の被乗数データ(A
    5 )とを並列出力する被乗数レジスタと、 nビットの乗数データ(B)を上位nビットに入力し、
    演算開始と共にクロック信号の所定の反転時点に同期し
    て4ビットずつ下位側にビットシフトするn+1ビット
    の乗数レジスタと、 2×nビットのデータ保持機能を有し、上位n+4ビッ
    トにデータを入力すると共に上位nビットの保持データ
    を出力し、上記クロック信号の所定の反転時点に同期し
    て4ビットずつ保持データを下位側にビットシフトする
    部分積レジスタと、 上記乗数レジスタの第2位ビットと第1位ビット及び最
    下位ビットが順に(011)のときは第1のデコード情
    報、(001)又は(010)のときは第2のデコード
    情報、(000)又は(111)のときは第3のデコー
    ド情報、(101)又は(110)のときは第4のデコ
    ード情報、(100)のときは第5のデコード情報を夫
    々示す第1のデコードデータ(DC1 )を発生する第1
    のリコーダと、 第1のデコードデータ(DC1 )が第1のデコード情報
    を示すときは上記第1の被乗数データ(A1 )、第2の
    デコード情報を示すときは上記第2の被乗数データ(A
    2 )、第3のデコード情報を示すときは上記第3の被乗
    数データ(A3)、第4のデコード情報を示すときは上
    記第4の被乗数データ(A4 )、第5のデコード情報を
    示すときは上記第5の被乗数データ(A5 )を夫々切換
    えて出力する第1の切換回路と、 第1の切換回路の出力データと部分積レジスタの出力デ
    ータの加算演算を行い、n+1ビットの演算結果のデー
    タを出力する第1の加算器と、 上記乗数レジスタの第4位ビットと第3位ビット及び第
    2位ビットが順に(011)のときは第1のデコード情
    報、(001)又は(010)のときは第2のデコード
    情報、(000)又は(111)のときは第3のデコー
    ド情報、(101)又は(110)のときは第4のデコ
    ード情報、(100)のときは第5のデコード情報を夫
    々示す第2のデコードデータ(DC2 )を発生する第2
    のリコーダと、 第2のデコードデータ(DC2 )が第1のデコード情報
    を示すときは上記第1の被乗数データ(A1 )、第2の
    デコード情報を示すときは上記第2の被乗数データ(A
    2 )、第3のデコード情報を示すときは上記第3の被乗
    数データ(A3)、第4のデコード情報を示すときは上
    記第4の被乗数データ(A4 )、第5のデコード情報を
    示すときは上記第5の被乗数データ(A5 )を夫々切換
    えて出力する第2の切換回路と、 第2の切換回路の出力データと、第1する上記n+1ビ
    ットの演算結果のデータの内の所定ビットデータと上記
    第2のセレクタの出力データとの加算演算を行い、n+
    1ビットの演算結果のデータを出力する第2の加算器と
    を具備し、 上記第1の加算器から出力されるn+1ビットの加算デ
    ータの内の下位2ビットのデータを下位2ビットとし、
    第2の加算器から出力されるn+1ビットの加算データ
    を上位ビットとするn+3ビットのデータを前記クロッ
    ク信号に同期して上記部分積レジスタの上位n+3ビッ
    トに入力しつつ上記乗数レジスタ及び部分積レジスタに
    上記シフト処理を行わせることにより、乗算を行うこと
    を特徴とする乗算器。
JP4094324A 1992-04-14 1992-04-14 乗算器 Pending JPH05289850A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4094324A JPH05289850A (ja) 1992-04-14 1992-04-14 乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4094324A JPH05289850A (ja) 1992-04-14 1992-04-14 乗算器

Publications (1)

Publication Number Publication Date
JPH05289850A true JPH05289850A (ja) 1993-11-05

Family

ID=14107108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4094324A Pending JPH05289850A (ja) 1992-04-14 1992-04-14 乗算器

Country Status (1)

Country Link
JP (1) JPH05289850A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753962A (zh) * 2020-06-24 2020-10-09 国汽(北京)智能网联汽车研究院有限公司 一种加法器、乘法器、卷积层结构、处理器及加速器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753962A (zh) * 2020-06-24 2020-10-09 国汽(北京)智能网联汽车研究院有限公司 一种加法器、乘法器、卷积层结构、处理器及加速器
CN111753962B (zh) * 2020-06-24 2023-07-11 国汽(北京)智能网联汽车研究院有限公司 一种加法器、乘法器、卷积层结构、处理器及加速器

Similar Documents

Publication Publication Date Title
JPS6059470A (ja) 乗算‐累算処理装置に適する基本セル及び乗算‐累算処理装置
US4611305A (en) Digital signal processing circuit
US5299145A (en) Adder for reducing carry processing
JP3276852B2 (ja) 符号変換回路
US4774686A (en) Serial digital signal processing circuitry
US6127863A (en) Efficient fractional divider
JPH05289850A (ja) 乗算器
JP2766133B2 (ja) パラレル・シリアル・データ変換回路
KR0147942B1 (ko) 승산기에서의 부스 레코딩회로
JP3071607B2 (ja) 乗算回路
JP2003037504A (ja) グレイコード発生装置
JP2864598B2 (ja) ディジタル演算回路
US5615141A (en) Multiplying apparatus
US7177894B2 (en) Switching activity reduced coding for low-power digital signal processing circuitry
JP3074958B2 (ja) 加算機能付きシリアル乗算器
JP2000165204A (ja) Iir形デジタルローパスフィルタ
JP3155026B2 (ja) 累算器
KR100247925B1 (ko) 곱셈기 및 그의 동작방법
JPH10254680A (ja) 2乗回路
KR100434364B1 (ko) 직렬 가산기
KR950012088B1 (ko) 고속 승산 회로
KR0155852B1 (ko) 디지탈신호 기록장치
JPH0786824B2 (ja) 部分積生成回路
JPS6250928A (ja) 固定係数の直列乗算方法及びそのデイジタル回路
JP2001005642A (ja) 乗算器