JP3123060B2 - ディジタル演算回路 - Google Patents

ディジタル演算回路

Info

Publication number
JP3123060B2
JP3123060B2 JP02143085A JP14308590A JP3123060B2 JP 3123060 B2 JP3123060 B2 JP 3123060B2 JP 02143085 A JP02143085 A JP 02143085A JP 14308590 A JP14308590 A JP 14308590A JP 3123060 B2 JP3123060 B2 JP 3123060B2
Authority
JP
Japan
Prior art keywords
bit
adder
output
data
flip
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.)
Expired - Fee Related
Application number
JP02143085A
Other languages
English (en)
Other versions
JPH0437211A (ja
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP02143085A priority Critical patent/JP3123060B2/ja
Publication of JPH0437211A publication Critical patent/JPH0437211A/ja
Application granted granted Critical
Publication of JP3123060B2 publication Critical patent/JP3123060B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ディジタルフィルタ等で必要な積和演算
に対して適用できる直列処理方式のディジタル演算回路
に関する。
〔従来の技術〕
半導体微細加工技術は、近年着実に進歩を遂げてお
り、例えば並列乗算器においては、その上限の動作周波
数(演算繰り返し周波数)が年々上昇してきた。画像信
号例えば標準テレビジョン信号をディジタル処理する場
合、4fsc(NTSC方式で、14.32M Hz)のサンプリング周
波数で動作するディジタル演算回路が容易に入手できる
ようになってきている。従って、ディジタル画像信号の
処理で、演算回路が時分割多重で使用されることが多く
なるものと推測される。しかしながら、時分割多重動作
の典型であるストアドプログラム方式で使用可能なほど
演算速度が速くないのが現状であり、また、そのような
高速な演算回路が近い将来に実現できることは期待でき
ない。
ストアドプログラム方式の場合では、1サンプリング
周期の1/100程度の時間で一つの演算を行なえる必要が
ある。つまり、リアルタイム処理のためには、次のサン
プルデータが来る前に処理を終えていなければならな
い。現状及び近い将来では、演算速度が1サンプル周期
で数サイクルから数十サイクル程度の演算ができる程度
である。
並列乗算器は、複数個の加算器を並べたものであり、
その加算器は、1ビット全加算器を並べたものである。
単位の回路が小さいほど、演算繰り返し周波数を高くす
ることができる。従って、小さな規模の回路を使用して
時分割処理を行い、大きな規模の回路と同様の機能を実
現することは、演算速度を速くする点で有効である。
一度の処理と時分割処理との何れが有利かを検討する
時に、データの語長が8ビット、12ビット、16ビット或
いは20ビットの場合が一般に多いので、データの各ビッ
トを直列処理するビット直列処理がかかる検討に適して
いる。つまり、10ビットの加算を行う例では、10ビット
の加算回路では、演算処理が1サイクルで済むが、フル
アダーが10個必要であり、一方、ビット直列処理では、
演算処理が10サイクル必要であるが、1個のフルアダー
で構成できる。また、部分積が10個ある乗算を行う場合
には、並列乗算器では、1サイクルで乗算結果を得るこ
とができるが、10ビットの加算回路が10個(1ビットの
フルアダーが100個)必要であり、一方、ビット直列処
理では、一つの10ビットの加算回路を使用する時で10サ
イクル必要であり、一つの1ビット加算回路を使用する
時で100サイクル必要である。
これらの複数の演算回路の構成の中で、データの周期
を演算器の動作時間で除算した比がサイクル数に等しい
関係にある回路構成が効率的である。最近の演算回路
は、テレビジョン信号のディジタル処理を行う時に、1
サンプリング周期で数十サイクルの演算が可能なので、
ビット直列処理或いはそれに準じた方式の演算回路が回
路規模を小さくする上で有利である。
しかし、一つの目的の演算単位を実現するために、用
意した回路単位を複数サイクル繰り返し動作させるビッ
ト直列処理は、サイクル数に余裕が持たせることで、語
長の違いにフレキシブルに対応することができる反面、
冗長なサイクルが生じやすい問題がある。例えば乗算或
いは加算を行う都度、入力或いは出力の語長が変わるシ
ステムを構成する時に、その各部がビット直列処理をし
ている時には、最も長い語長の処理の所で必要なサイク
ル数がデータの速度の上限を規定し、他の所には、多く
の冗長サイクルが存在する結果となる。或いは上述のよ
うに規定されるデータの速度の限界が処理したいデータ
の速度より遅い問題が生じるおそれがある。この場合の
適当な解決方法が望まれる。
従来のディジタル乗算器の説明の前に、従来のビット
直列処理の加算回路の一例について第8図を参照して説
明する。8ビットの入力データA及びBから9ビットの
出力データY(=A+B)が得られる。データは、例え
ば2を補数とする符号である。入力データA及びBがシ
フトレジスタ51及び52に夫々ロードされる。ロード信号
は、端子53及び54に夫々供給される。シフトレジスタ51
及び52の夫々の最上位ビットのフリップフロップの出力
が入力側へ帰還され、語長を拡大できるようにされてい
る。
入力データA及びBは、シフトレジスタ51及び52から
図示せぬクロックと同期してビット直列にLSBから出力
される。シフトレジスタ51からの直列データaとシフト
レジスタ52からの直列データbとがビット直列型の加算
回路55に供給される。この加算回路55は、全加算器56と
全加算器56の出力が供給されるフリップフロップ57及び
58とからなる。全加算器56には、直列データa、bとフ
リップフロップ57の出力cとが供給される。
全加算器56は、3個の入力データの内の“1"の数を2
ビットとして出力する。つまり、全加算器の入力をa、
bとし、キャリー入力をcとすると、その出力の下位ビ
ットをs、上位ビットをc′とすると、(s=xy
c、c′=xy+xc+yc)で表される出力s及びcを発生
する。全加算器56の出力の上位ビット(キャリー)がフ
リップフロップ57に供給され、その下位ビット(サム)
がフリップフロップ58に供給される。*を付したフリッ
プフロップ57は、初期クリアが可能なフリップフロップ
である。
全加算器56の出力の内の下位ビットが9ビットのシフ
トレジスタ59にLSBから直列に供給される。シフトレジ
スタ59は、9ビットが入力されたタイミングで並列的に
これらの9ビットを出力Yとして出力する。
第8図に示す加算回路のタイミングチャートを第9図
に示す。シフトレジスタ51及び52には、入力データA及
びBがロード信号で同時にロードされ、クロックと同期
して直列データa及びbがシフトレジスタ51及び52から
直列に出力される。第9図において、LSB、1、2、・
・・・、MSBは、各ビットに付した番号でり、破線のロ
ード信号は、次のロードが可能なタイミングを示してい
る。
加算回路55の全加算器56の出力側のフリップフロップ
57は、クリア信号でクリアされる。次に、入力データA
及びBのLSB同士の加算結果のキャリー及びサムがフリ
ップフロップ57及び58に取り込まれ、次のクロックサイ
クルでフリップフロップ58の出力dとして加算結果のLS
Bが得られる。キャリーは、1ビット上位の位のものな
ので、全加算器56において次のビットの加算に使用され
る。以下、同様にして加算動作が繰り返され、シフトレ
ジスタ59からは、出力タイミングで加算出力Yが発生す
る。このように、8ビットのデータの加算では、語長が
1ビット上位に延びるので、9クロックサイクルで加算
が完了する。
なお、加算出力として、ビット直列のものが必要な時
は、シフトレジスタ59が省略される。
第8図における加算回路55をANDゲート、ORゲート、
エクスクルーシブORゲート等に置き換えると、論理演算
ができる。論理演算では、語長に等しいサイクル数で論
理出力を得ることができる。
第10図は、従来の直並列方式のディジタル乗算器の例
を示す。8ビットの入力データA(被乗数)が端子63か
らのロード信号により8ビットのレジスタ61にロードさ
れる。また、8ビットの入力データB(乗数)が端子64
からのロード信号により8ビットのシフトレジスタ62に
ロードされる。これらのデータA及びBは、ストレート
バイナリー符号である。
レジスタ61からの被乗数の8ビットがANDゲート65A〜
65Hに夫々供給される。ANDゲート65A〜65Hには、シフト
レジスタ62からの乗数の各ビットがLSBから順次供給さ
れる。従って、乗数のビットが“1"の時には、Aのデー
タがANDゲート65A〜65Hから出力され、乗数のビットが
“0"の時には、8ビットが全て“0"のデータが出力され
る。ANDゲート65A〜65Hからは、乗数のビット数に等し
い8個の部分積が発生する。この部分積が第8図の加算
回路55と同様のビット直列処理の加算回路66A〜66Hによ
り加算される。
加算回路66A〜66Hでは、加算出力(サム)が次の加算
の時には、より下位のビットの加算回路に供給される。
LSBの加算回路65Aから加算出力がLSBから直列に取り出
され、16ビットのシフトレジスタ67に入力される。シフ
トレジスタ67から乗算出力Y(=A×B)が並列的に取
り出される。
第11図は、第10図の構成のタイミングチャートであ
る。シフトレジスタ62への乗数Bのロードとその出力デ
ータaは、第8図の構成と同様に得られる。レジスタ61
へのロードも、シフトレジスタ62と同時になされ、AND
ゲート65Aの出力データbは、LSBが生じる。加算回路66
A〜66Hの*が付されたフリップフロップは、クリア信号
でクリアされる。
加算回路66Aの全加算器には、ビット番号1のビット
がデータcとして帰還され、シフトレジスタ67には、加
算回路66AからLSBが供給される。この時、加算回路66B
では、全加算器に帰還されるデータc′と、加算回路66
Aの全加算器に対するデータd′として、より上位のビ
ットが生じる。加算回路66C〜66Hにおいても、加算回路
66A及び66Bと同様の動作がされ、その結果、8個の部分
積が加算される。従って、破線で示す次のロードの可能
なタイミングから分るように、1回の乗算は、出力語長
と等しい16サイクルで終了する。
ストレートバイナリーの符号の場合では、乗算出力の
語長が被乗数と乗数の語長の和となる。若し、データが
2の補数の符号の場合には、乗算出力の語長がこれより
1ビット少なくなる。何れの符号でも、乗算器では、1
回の演算で語長が約2倍になる。
〔発明が解決しようとする課題〕
上述のように、ビット直列処理の乗算器の場合には、
論理演算或いは加算と比較して1回の演算に必要なサイ
クル数が2倍近くなる。従って、論理演算回路、加算
器、乗算器等がビット直列方式で構成されてなる信号処
理システムでは、乗算器の演算処理に必要なサイクルが
長くなり、他の加算器、論理演算回路では、無駄なアイ
ドリングのサイクルがかなり発生する。
従って、この発明の目的は、乗算に必要なサイクル数
が減少されたディジタル演算回路を提供することにあ
る。
〔課題を解決するための手段〕
この発明は、被乗数が順次与えられ、乗数を2次のブ
ースのエンコーダに供給することで形成された制御信号
が供給され、乗数の2ビット単位で複数の部分積をそれ
ぞれ生成する複数の部分積生成回路(6A〜6H)と、 部分積生成回路(6A〜6H)の出力がそれぞれ供給され
る2ビットを単位とする複数の加算器(27A,27B,27C)
からなり、パイプライン形式で構成された加算手段とを
備え、 加算手段によって複数の部分積を加算することによっ
て、乗算出力を得るようにしたディジタル演算回路であ
る。
〔作用〕
乗数が8ビットの場合、2次のブースのアルゴリズム
により4個の部分積が生成される。この場合、これらの
部分積は、2ビット単位で形成される。そして、部分積
の加算が2ビット単位の直列加算回路で加算され、乗算
出力の生成に要するサイクル数を1/2に減少できる。
〔実施例〕
以下、この発明について図面を参照して説明する。こ
の説明は、下記の順序でなされる。
a.参考構成 b.一実施例 a.参考構成 第1図A及び第1図Bは、この発明の参考の構成を分
割して示すもので、第1図Aの回路の出力データd1〜d8
が第1図Bの回路の入力データとされる。
2を補数とする符号の8ビットの入力データA(被乗
数)がシフトレジスタ1A及び1Bに対して、図示せぬロー
ド信号と同期してロードされる。シフトレジスタ1A及び
1Bの夫々は、4ビットのシフトレジスタであって、一方
のシフトレジスタ1Aには、(LSB、ビット番号2のビッ
ト、ビット番号4のビット、ビット番号6のビット)が
ロードされ、他方のシフトレジスタ1Bには、(ビット番
号1のビット、ビット番号3のビット、ビット番号5の
ビット、MSB)がロードされる。各シフトレジスタ1A及
び1Bの最上位には、語長の拡大のために、MSBが帰還さ
れている。
シフトレジスタ1Aから直列に出力されたデータa1がフ
リップフロップ2A、3A及び4Aの直列接続回路に供給され
る。シフトレジスタ1Bから直列に出力されたデータa2が
フリップフロップ2B、3B、4B及び5の直列接続回路に供
給される。これらのフリップフロップは、*を付して示
すように、初期クリアが可能なものである。フリップフ
ロップ2A、3A及び4Aの直列接続から導出されたタップと
フリップフロップ2B、3B、4B及び5の直列接続から導出
されたタップには、2次のブースのデコーダ6A〜6Hが夫
々接続される。
これらのブースのデコーダ6A〜6Hは、互いに同一の構
成であって、デコーダ6Aに関して図示するように、セレ
クタ7、ANDゲート8及びエクスクルーシブORゲート9
で構成されている。また、デコーダ6A〜6Hの夫々の出力
データが取り込まれるフリップフロップ10A〜10Hが設け
られている。
フリップフロップ10A及び10Bの出力が2ビット単位で
直列加算を行う加算器11Aに供給される。フリップフロ
ップ10C及び10Dの出力が供給される加算器11B、フリッ
プフロップ10E及び10Fの出力が供給される加算器11C、
フリップフロップ10G及び10Hの出力が供給される加算器
11Dが設けられている。これらの加算器11A〜11Dは、極
性を反転する時に必要なLSBに対して“1"を加算するた
めに設けられている。“1"に相当するのがパルスT1〜T4
である。
(A×B=Y)の乗算を2次のブースのアルゴリズム
で行う場合、乗数B(この構成では、8ビット)の2ビ
ット毎に4個の部分積が形成される。この場合、乗数B
の連続する3ビットを見て、被乗数Aの0倍、±1倍、
±2倍のいずれかの部分積が形成され、部分積が加算さ
れることで乗算出力が求められる。第1図Aに示す構成
は、4個の部分積を2ビット並列で形成するための構成
を示している。
Pi、Qi、Ri(i=1,2,3,4)は、ブースのデコーダ6A
〜6Hに供給される制御信号である。つまり、制御信号P
1、Q1、R1がデコーダ6A及び6Bに対するもので、制御信
号P2、Q2、R2がデコーダ6C及び6Dに対するもので、制御
信号P3、Q3、R3がデコーダ6E及び6Fに対するもので、制
御信号P4、Q4、R4がデコーダ6G及び6Hに対するものであ
る。
乗数Bの連続する3ビットをブースのエンコーダ(図
示せず)に供給することにより制御信号Pi、Qi、Riが形
成される。各デコーダ6A〜6Hのセレクタ7が制御信号Pi
で制御され、セレクタ7の出力信号と制御信号QiとがAN
Dゲート8に供給され、ANDゲート8の出力と制御信号Ri
とがエクスクルーシブORゲート9に供給される。セレク
タ7は、あるビット桁に注目した時に、被乗数の1倍と
2倍とを選択的に出力する。制御信号Piが“0"の時に1
倍のデータがセレクタ7から得られ、これが“1"の時に
2倍のデータがセレクタ7から得られる。ANDゲート8
は、制御信号Qiが“0"の時に、0(即ち、被乗数の0
倍)を出力するために設けられている。エクスクルーシ
ブORゲート9は、制御信号Riが“1"の時に“0"と“1"の
反転を行うために設けられている。この処理に加えて加
算器11A〜11Dによって、LSBに“1"を加えることで、極
性の反転がなされる。
なお、2次のブースのエンコーダでは、乗数Bの3ビ
ットに応じて下記の制御信号Pi、Qi、Riが生成される。
また、ブースのデコーダ6A〜6Hは、制御信号Pi、Qi、
Riに応じて下記のように、部分積を発生する。
2ビット単位の加算器11Aは、全加算器12及び13とフ
リップフロップ14、15、16とから構成されている。全加
算器12の第1の入力が常に“0"とされ、その第2の入力
としてフリップフロップ10Aの出力が供給され、その第
3の入力として全加算器13のキャリー出力が供給され
る。全加算器13の第1の入力として、パルスT1が供給さ
れ、その第2の入力としてフリップフロップ10Bの出力
が供給され、その第3の入力としてフリップフロップ14
を介された全加算器12のキャリー出力が帰還される。全
加算器12のサムがフリップフロップ15を介して出力d1と
して取り出され、全加算器13のサムがフリップフロップ
16を介して出力d2として取り出される。
他の2ビット単位の加算器11B〜11Dも、上述の加算器
11Aと同様の構成とされており、出力d3、d4・・・d8が
発生する。これらの加算器11A〜11Dでは、制御信号Piが
“1"とされる場合に、パルスTiを“1"として、LSBに
“1"が加えられる。
加算器11Aの出力d1及びd2が乗数BのLSB及びビット番
号1のビットの2ビットと対応する部分積であり、加算
器11Bの出力d3及びd4が乗数Bのビット番号2及びビッ
ト番号3のビットの2ビットと対応する部分積であり、
加算器11Cの出力d5及びd6が乗数Bのビット番号4及び
ビット番号5のビットの2ビットと対応する部分積であ
り、加算器11Dの出力d7及びd8が乗数Bのビット番号6
及びMSBの2ビットと対応する部分積である。
上述の2ビット単位で確定した部分積のデータd1〜d8
が第1図Bにおける加算器17A及び17Bに供給される。加
算器17Aの出力e1及びe2と加算器17Bの出力e3及びe4とが
加算器18に供給される。加算器18の出力f1及びf2が加算
器19に供給される。加算器17A、17B、18及び19は、加算
器11A〜11Dと同様の2ビットを単位とする加算器であ
る。加算器17A、17B及び18は、部分積のトリー加算を行
う。被乗数A及び乗数Bが8ビットの場合では、加算器
18の出力f1及びf2が15ビット長である。
この例では、フィルタ演算のように、乗算出力を累算
している。このため、加算器19の出力g1及びg2が9ビッ
トのシフトレジスタ20A及び20Bに直列に入力される。こ
のシフトレジスタ20A及び20Bから導出されたタップから
20ビットの出力データYが取り出される。シフトレジス
タ20A及び20Bの直列出力h1及びh2が全加算器19の入力側
に帰還されている。加算器19とシフトレジスタ20A、20B
は、累加算器を構成している。この累加算器は、20ビッ
ト長の出力データYを発生できるので、5ビット、即ち
25回の累加算まで、オーバーフローを生じることなく行
うことができる。
この発明の参考構成の動作のタイミングチャートが第
2図に示されている。クリアパルスと同様のタイミング
でシフトレジスタ1A及び1Bに対して入力データAがロー
ドされる。第2図のクリアパルスにより、フリップフロ
ップ2A、2B、3A、3B、4A、4B及び5が1演算処理の最初
のタイミングでクリアされる。加算器11A〜11Dの*が付
されたフリップフロップ14は、第2図のクリアパルスが
1クロック遅延されたパルスでクリアされる。加算器17
A及び17Bの*を付したフリップフロップは、第2図のク
リアパルスが2クロック遅延されたパルスでクリアされ
る。また、加算器18の*を付したフリップフロップは、
第2図のクリアパルスが3クロック遅延されたパルスで
クリアされる。更に、加算器19の*を付したフリップフ
ロップは、第2図のクリアパルスが4クロック遅延され
たパルスでクリアされる。
クロックと同期してシフトレジスタ1Aから(LSB、ビ
ット番号2のビット、ビット番号4のビット、ビット番
号6のビット、MSB、MSB,・・・)の直列データa1が発
生する。シフトレジスタ1Bから(ビット番号1のビッ
ト、ビット番号3のビット、ビット番号5のビット、MS
B、MSB、MSB、・・・)の直列データa2が発生する。
ブースのデコーダ6Aのセレクタ7では、a1と同一のデ
ータb2と、a2と同一のデータb1との一方が制御信号P1に
よって選択される。ブースのデコーダ6Bのセレクタ7で
は、データb2とフリップフロップ2Bの出力データb3との
一方が制御信号P1によって選択される。デコーダ6Aのセ
レクタがデータb1を選択し、デコーダ6Bのセレクタがデ
ータb2を選択した時のブースのデコーダ6A及び6Bのフリ
ップフロップ10A及び10Bの出力c1及びc2が第2図に示さ
れている。
このデータc2のLSBのタイミングでパルス信号T1が供
給される。極性の反転をしない時には、破線のように、
パルス信号T1が“0"である。2ビット単位の加算器11A
からは、一つの部分積と対応する2ビット単位のデータ
d1及びd2が得られる。この部分積が形成される間で、制
御信号P1、Q1、R1は、変化しない。上述と同様に、他の
3個の部分積のデータd3〜d8が形成される。このよう
に、2ビット単位で部分積を生成することにより、必要
なサイクル数を1/2にできる。
なお、フリップフロップ2A、2B、3A、3B、4A、4B及び
5は、部分積を加算する時のビット桁が揃うように、タ
イミングを合わせるために設けられている。
加算器17Aの出力e1及びe2、加算器17Bの出力e3及びe4
が第2図に示すタイミングで発生し、加算器18から4個
の部分積をトリー加算した出力f1及びf2が取り出され
る。そして、加算器19及びシフトレジスタ20A、20Bから
なる累加算器で累加算される。シフトレジスタ20A及び2
0Bは、累加算の最初のサイクルでクリアされる。
上述のこの発明の一実施例の一部は、概略的に第3図
で表すことができる。4個の部分積を夫々生成する部分
積生成回路21、22、23及び24は、ブースのデコーダ6A〜
6Hと加算器11A〜11Dとから構成されている。
一実施例 第4図は、この発明の一実施例を示し、第5図は一実
施例の動作を示すタイミングチャートである。第4図
は、部分積の生成、部分積のパイプライン加算までの構
成を示し、若し、必要であれば、第1図Bと同様に加算
器19及びシフトレジスタ20A及び20Bからなる累加算器を
接続しても良い。また、第5図のタイミングチャート
は、乗算出力f1及びf2を生成するまでの動作を示してお
り、この乗算出力を累加算する場合におけるタイミング
チャートは、前述の一実施例と同様である。
一実施例では、第1図AにおけるLSBに“1"を加算す
るための加算器(11A〜11H)を省略し、部分積を加算す
るための加算器でLSBに“1"を加算するようにしたもの
である。また、トリー加算をパイプライン加算の構成に
変えたものである。
つまり、第6図に概略的に示すように、部分積生成回
路21、22、23及び24の出力は、パイプライン方式で加算
できる。部分積生成回路23及び24の出力c5、c6、c7及び
c8が加算器27Cで加算され、その加算出力d5及びd6が加
算器27Bに供給される。加算器27Bには、フリップフロッ
プ29を介された部分積生成回路22の出力c3及びc4が供給
される。加算器27Bの出力e3及びe4が加算器27Aに供給さ
れる。加算器27Aには、2段のフリップフロップ30及び3
1を介された部分積生成回路21の出力c1及びc2が供給さ
れる。この加算器27Aから部分積の和の出力f1及びf2が
得られる。この第6図のように、各加算器の入力側及び
出力側にフリップフロップを設けた構成がパイプライン
加算器である。
ここで、フリップフロップ30は、部分積生成回路21の
場所を部分積生成回路22の場所に移すことで不要とでき
る。また、このように場所が移された部分積生成回路21
及び22は、部分積生成回路23の場所に移して考えると、
フリップフロップ29及び31が不要とできる。このような
考えに基づいて具体化されたのが第4図の回路構成であ
る。
第4図に示すように、前述の参考構成と同様に、シフ
トレジスタ1A及び1Bにより、8ビットの被乗数が二つの
直列データa1及びa2に変換される。また、2次のブース
のデコーダ6A〜6Hに対する入力データがフリップフロッ
プ25A、25B及び26で形成される。前述のように、パイプ
ライン加算のためのフリップフロップを省略するため
に、デコーダ6A、6B、6C、6D、6E、6Fに対する入力デー
タb1、b2及びb3が共通とされている。デコーダ6Gには、
データb3とフリップフロップ25Aからのデータb4とが供
給される。デコーダ6Hには、データb4とフリップフロッ
プ26からのデータb5とが供給される。
デコーダ6A〜6Hの出力のLSBに“1"を加算する処理と
パイプライン加算とが加算器27A、27B及び27Cによりな
される。デコーダ6A及び6Bの出力c1及びc2を加算する2
ビットの直列加算器27Aのキャリー入力の所にORゲート2
8Aが接続され、帰還されるキャリー出力とパルスT1とが
ORゲート28Aに供給される。デコーダ6C及び6Dの出力c3
及びc4を加算する加算器27Bについても、同様にORゲー
ト28Bが接続される。
加算器27Cは、二つの部分積、即ち、デコーダ6E及び6
Fの出力c5及びc6とデコーダ6G及び6Hの出力c7及びc8と
を加算する。従って、加算器27Cには、一方の全加算器
に対してパルスT3が供給されるORゲート28CとパルスT4
が供給されるORゲート28Dとが設けられている。二つのO
Rゲート28C及び28Dにより、二つの部分積に関して同時
に極性反転を行うことが可能とされている。第4図の加
算器27Aの出力f1及びf2として、乗算出力が得られる。
なお、第4図において、*が付されたフリップフロッ
プは、上述の一実施例と異なり、初期に同時にクリアさ
れる。
第4図に示す一実施例では、加算器27Cと加算器27A及
び27Bとが異なる構成である。これを避けるために、第
7図に示す構成を用いても良い。第7図では、部分積生
成回路24の出力と“0"データとを加算する加算器27Dが
追加され、加算器27Dの出力と1段のフリップフロップ3
2を介された部分積生成回路23の出力とが加算器27Cで加
算される。この加算器27Cの出力と2段のフリップフロ
ップ33及び34を介された部分積生成回路22の出力とが加
算器27Bで加算され、加算器27Bの出力と3段のフリップ
フロップ35、36及び37を介された部分積生成回路21の出
力とを加算器27Aで加算される。
なお、上述の実施例では、二つの全加算器と、一方の
全加算器のキャリー出力を他方の全加算器に帰還するこ
とで、2ビットの直列加算器が構成されている。しか
し、1ビットの全加算器を二つ使用する構成に限らず、
2ビットの全加算器を使用し、そのキャリー出力を帰還
する専用の回路構成を用いても良い。
〔発明の効果〕
この発明は、2次のブースのアルゴリズムに基づい
て、2ビット毎に直列に出力される部分積を形成するの
で、部分積の直列加算のサイクル数を1/2に減少でき
る。この発明は、直列処理で演算回路が構成されたシス
テムにおいて、乗算器の処理のサイクル数が他の加算
器、論理演算回路と比較して長くなることを防止でき
る。また、この発明では、パイプライン形式で部分積を
加算するので、高速のクロックに同期して加算を行うこ
とができる
【図面の簡単な説明】
第1図A及び第1図Bはこの発明の説明の参考とした構
成のブロック図、第2図はこの参考構成のタイミングチ
ャート、第3図はこの参考構成の概略的構成を示すブロ
ック図、第4図はこの発明の一実施例のブロック図、第
5図は一実施例のタイミングチャート、第6図は一実施
例の概略的構成を示すブロック図、第7図は一実施例の
変形例を概略的に示すブロック図、第8図は従来のビッ
ト直列加算器の一例のブロック図、第9図はビット直列
加算器のタイミングチャート、第10図は従来の直並列方
式のディジタル乗算器のブロック図、第11図は従来のデ
ィジタル乗算器のタイミングチャートである。 図面における主要な符号の説明 1A、1B、20A、20B:シフトレジスタ、 6A、6B、・・・、6H:2次のブースのデコーダ、 17A、17B、18、19:部分積をトリー加算するための加算
器、 27A、27B、27C、27D:極性反転のためにLSBに“1"を加算
する処理と部分積をパイプライン加算する処理とを行う
加算器。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 310 H03H 17/00 601 H03H 17/02 655 H03H 17/02 661

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】被乗数が順次与えられ、乗数を2次のブー
    スのエンコーダに供給することで形成された制御信号が
    供給され、上記乗数の2ビット単位で複数の部分積をそ
    れぞれ生成する複数の部分積生成回路と、 上記部分積生成回路の出力がそれぞれ供給される2ビッ
    トを単位とする複数の加算器からなり、パイプライン形
    式で構成された加算手段とを備え、 上記加算手段によって上記複数の部分積を加算すること
    によって、乗算出力を得るようにしたディジタル演算回
    路。
JP02143085A 1990-05-31 1990-05-31 ディジタル演算回路 Expired - Fee Related JP3123060B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02143085A JP3123060B2 (ja) 1990-05-31 1990-05-31 ディジタル演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02143085A JP3123060B2 (ja) 1990-05-31 1990-05-31 ディジタル演算回路

Publications (2)

Publication Number Publication Date
JPH0437211A JPH0437211A (ja) 1992-02-07
JP3123060B2 true JP3123060B2 (ja) 2001-01-09

Family

ID=15330564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02143085A Expired - Fee Related JP3123060B2 (ja) 1990-05-31 1990-05-31 ディジタル演算回路

Country Status (1)

Country Link
JP (1) JP3123060B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2517281Y2 (ja) * 1993-01-20 1996-11-20 ドーエイ外装有限会社 目地カバー装置
US5477479A (en) * 1993-03-08 1995-12-19 Nkk Corporation Multiplying system having multi-stages for processing a digital signal based on the Booth's algorithm

Also Published As

Publication number Publication date
JPH0437211A (ja) 1992-02-07

Similar Documents

Publication Publication Date Title
US4611305A (en) Digital signal processing circuit
JPH05216627A (ja) 乗算器および乗算方法
US5113362A (en) Integrated interpolator and method of operation
US5036483A (en) Binary adding apparatus
US6127863A (en) Efficient fractional divider
JP3123060B2 (ja) ディジタル演算回路
US5031137A (en) Two input bit-serial multiplier
JP2864598B2 (ja) ディジタル演算回路
JP3120435B2 (ja) ディジタル演算回路
JP2991788B2 (ja) 復号器
JP3155026B2 (ja) 累算器
JPS63163927A (ja) 乗算回路
JP2617591B2 (ja) シリアル演算回路
JPH03196712A (ja) ディジタル演算回路
JPS6250928A (ja) 固定係数の直列乗算方法及びそのデイジタル回路
JP3412368B2 (ja) ビットシリアル2乗演算回路
JPH0624310B2 (ja) デイジタルフイルタ
JP2529890B2 (ja) 乗算剰余演算器
KR950007878B1 (ko) 가산 방법
JPS615345A (ja) 直列乗算方法
JPH0666638B2 (ja) デイジタルフイルタ
JPS58119046A (ja) 加減算器
JP2003258646A (ja) 5×3ウェーブレット変換装置
JPH06348458A (ja) シリアルデータ加算器
JP2000099313A (ja) 乗算器

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees