JPH06161714A - 乗除算回路 - Google Patents

乗除算回路

Info

Publication number
JPH06161714A
JPH06161714A JP4314736A JP31473692A JPH06161714A JP H06161714 A JPH06161714 A JP H06161714A JP 4314736 A JP4314736 A JP 4314736A JP 31473692 A JP31473692 A JP 31473692A JP H06161714 A JPH06161714 A JP H06161714A
Authority
JP
Japan
Prior art keywords
multiplication
division
stage
cell array
input
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
JP4314736A
Other languages
English (en)
Inventor
Takayuki Minemaru
貴行 峯丸
Maki Toyokura
真木 豊蔵
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4314736A priority Critical patent/JPH06161714A/ja
Publication of JPH06161714A publication Critical patent/JPH06161714A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】 1つの回路で乗算と除算を実行可能とする乗
除算回路を提供する。 【構成】 複数の加算段をカスケード接続して成るセル
配列型除算回路に、セル配列に対する被除数の入力を”
0”とする手段、及び前記被除数の”1”である桁に対
応した加算段で除数を加算する手段とを付加した乗除算
回路であって、前記乗除算回路を用いて除・乗算を行な
う。また、乗除算回路で、乗数を2次のBoothアル
ゴリズムに従ってコード化し、そのコード信号に従って
部分積を生成し、この部分積をそのコード桁に対応した
段で加算して、乗算を行なう。また、乗算を実施する場
合に、セル配列内での演算の流れの方向を、除算の場合
とは反対に、桁位置の低い段から高い段へと行なう機能
を付加する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル信号処理に
用いられる乗除算回路に関する。
【0002】
【従来の技術】従来、CPUやDSPで乗除算を実行す
る場合に、乗算回路と除算回路を別々に内蔵して実行さ
せるか、図6の様に、逆数の値を格納した逆数ROM6
04を用意しておき、除算の場合には乗算/除算切り替
え信号606に従ってセレクタ605で除数の逆数を選
択し、乗数レジスタ607に送り、乗数として乗算器6
08に入力して除算を実行する方法があった。ここで6
01は乗数入力、602,603,609は各々被乗数・
被除数レジスタ、除数レジスタ、積・商レジスタを示
す。
【0003】
【発明が解決しようとする課題】しかしながら、乗算回
路と除算回路を別々に内蔵すると、回路規模が大きくな
りやすいと言う問題点があった。また、逆数の値を格納
したROMを用いるときには、ビット長の短い場合には
ROMの規模が小さくて済むが、16ビット長の場合に
は、216=64Kものワード数のROMが必要となるた
め、演算精度を上げようとすると回路規模が大きくなり
やすいと言う問題点があった。
【0004】本発明は上記問題点を除去し、セル配列型
除算器の構成要素が乗算器の構成要素と同一であること
を利用して、回路規模を小さく押さえるため、1つの回
路で乗算と除算を実行可能とする乗除算回路を提供する
ことを目的とする。
【0005】
【課題を解決するための手段】本発明の乗除算回路は、
複数の加算段をカスケード接続して成るセル配列型除算
回路に、セル配列に対する被除数の入力を”0”とする
手段と、前記被除数の”1”である桁に対応した加算段
で除数を加算する手段とを付加した乗除算回路であっ
て、前記乗除算回路を用いて除・乗算を行なう。
【0006】さらに、本発明の乗除算回路で、乗数を2
次のBoothアルゴリズムに従ってコード化し、その
コード信号に従って部分積を生成し、この部分積をその
コード桁に対応した段で加算して、乗算を行なう。
【0007】また、乗算を実施する場合に、セル配列内
での演算の流れの方向を、除算の場合とは反対に、桁位
置の低い段から高い段へと行なう機能を付加する。
【0008】
【作用】本発明によれば、被除数あるいは各段での除算
結果から除数を減算する代わりに、セル配列に対する入
力を”0”とし、被除数の”1”である桁に対応した段
で除数を加算して乗算を行なうので、回路規模をそれほ
ど大きくせずに、1つの回路で乗算と除算を実行可能な
乗除算回路を構成することが可能となる。
【0009】さらに、乗数を2次のBoothアルゴリ
ズムに従ってコード化し、そのコード信号に従って部分
積を生成し、この部分積をそのコード桁に対応した段で
加算することで、乗算の演算速度をより速くすることが
可能となる。
【0010】また、乗算を実施する場合に、セル配列内
での演算の流れの方向を、除算の場合とは反対に、桁位
置の低い段から高い段へと行なうことで、各段での加算
桁数を削減することができ、遅延時間の削減を計ること
ができる。
【0011】
【実施例】本発明の一実施例である乗除算回路を図面を
用いて詳細に説明する。
【0012】図1に本発明の乗除算回路の構成図を示
す。除数・被乗数レジスタ1に保持された8ビットのデ
ータは、除数・被乗数入力2としてセル配列3に入力さ
れる。被除数・乗数レジスタ4に保持された8ビットの
データはセレクタ5に送られる。セレクタ5では被除数
・乗数レジスタ4から送られたデータと”0”信号6を
乗算/除算切り替え信号7の値で切り替えて出力する。
乗算/除算切り替え信号7が”1”の場合(乗算に対
応)には、”0”信号6が出力され、被除数入力8とし
てセル配列3に入力される。また、乗算/除算切り替え
信号7が”0”の場合には、被除数・乗数レジスタ4か
ら送られたデータが被除数入力8としてセル配列3に入
力される。
【0013】さらに、被除数・乗数レジスタ4に保持さ
れたデータは、乗算の場合の乗数入力9としてセル配列
3に入力される。セル配列3で演算された結果は、商が
商レジスタ10に、積あるいは剰余が積・剰余レジスタ
11にそれぞれ出力され、保持される。
【0014】次にセル配列3の構成について述べる。セ
ル配列3は2次のBoothアルゴリズムを用いない構
成では、図2に示す構成となる。図2で除数・被乗数入
力2は符号反転回路21に入力される。符号反転回路2
1では乗算/除算切り替え信号7が”1”、すなわち乗
算を実行する場合には入力信号をスルーし、乗算/除算
切り替え信号7が”0”の場合には符号を反転させる。
この操作により、除算時に加算段で減算を実行すること
が可能となる。符号反転回路21の出力は各加算段22
〜29に送られる。
【0015】セル配列3に入力された被除数入力8は1
段目の加算段22に送られる。加算段22では入力され
る乗算/除算切り替え信号7が”1”の場合には、乗数
入力9と被除数入力8(この場合は”0”信号6が入力
されている)が加算され、演算結果出力40として出力
される。
【0016】また、乗算/除算切り替え信号7が”0”
の場合には、符号反転回路21からの信号と被除数入力
8が加算され、演算結果出力40として出力される。ま
た、この段における部分商30が出力される。
【0017】出力された演算結果出力40は次の加算段
23に送られる。ここでの動作は前記加算段22と同様
であるので、説明を省略する。図2に示すように各段で
の演算結果出力40〜46は次々に下位の段に送られ
る。乗算結果あるいは除算時の余りは、加算段29より
積・剰余出力39として出力される。また、各段での部
分商30〜37をまとめて商出力38として出力する。
【0018】最後に、加算段の構成を説明する。図3に
加算段の構成を示す。この加算段は従来のセル配列型除
算回路で利用されている加算回路に、乗算を実行するた
め上位桁の部分を付け加えた加算回路106を中心に構
成されている。
【0019】乗算を実行するための上位桁部分とは、従
来の除算のみの回路では減算のみが実行されるので演算
桁数は8ビット一定であるが、乗算では加算のみを繰り
返すので、上位桁を拡張しておく必要があり、そのため
の部分である。ただし、この部分は、図4に示す様に、
セレクタ401からセレクタ409を付加して、乗算を
実施する場合に、乗算/除算切り替え信号により、セル
配列内での演算の流れの方向を、除算の場合とは反対
に、桁位置の低い段から高い段へと行なう様にすること
で削除することができる。これは、下位の段のLSB
は、上位の段に影響を与えないので、スルーして出力す
ればよく、このため桁拡張が不必要となるためである。
また、この構成により、加算時の桁数を最小に押さえる
ことができるので、より遅延時間の短い回路を構成する
ことができる。このようにして前記部分を削除したもの
が図中の加算段410から417で、その構成は前記加
算段と同様であり、その説明は以下で行なうものと全く
同様である。
【0020】加算段の説明に戻る。被加数入力101は
加算回路106とセレクタ111に入力される。また、
加数入力102と”0”信号103はセレクタ104に
入力される。セレクタ104では乗算/除算切り替え信
号7と乗数入力信号9のうちでこの段の桁に相当する桁
の1ビットの信号値から選択信号生成回路105で作ら
れる制御信号により2つの入力のいずれかを選択して出
力する。乗算の場合に乗数入力信号9のうちでこの段の
桁に相当する桁の1ビットの信号値が有効となり、この
信号値が”0”の場合に”0”信号103が選択さ
れ、”1”の場合は加数入力102が出力される。また
除算の場合は、常に加数入力102が出力される。
【0021】加算回路106での演算では、除算の場合
において、加算を行なうと、被加数入力101が除数よ
り小さい場合は、加算回路106からオーバーフロー信
号107が発生する。これは、筆算の除算でその桁での
部分商が”0”となる場合に相当する。オーバーフロー
信号107をうけて商生成回路108では部分商109
を生成する。前記オーバーフロー信号107が”1”で
ない場合は、部分商109は”1”となり、”1”であ
る場合は、部分商109は”0”となる。また、先程の
筆算との対応から考えてもわかるように、部分商109
が”0”ならば、演算を行なわずに被加数入力101を
スルーすればよい。この制御を行なうのがセレクタ11
1で、入力される2つの信号、被加数入力101と加算
出力110をオーバーフロー信号107で切り替えて演
算結果出力112として出力する。
【0022】なお、乗算の場合は加算のみでありオーバ
ーフローは生じないので、加算回路106からの加算出
力110が演算結果出力として出力される。
【0023】以上2次のBoothアルゴリズムを用い
ない場合の実施例を述べたが、この構成によると各段で
は加数入力の加算のみが行なわれるので、回路規模を押
さえることができるが、乗算の場合に乗数のビット数と
同数の段数が必要であるので、2次のBoothアルゴ
リズムを用いた乗算器より演算速度が遅くなってしま
う。そこで、図2の構造の前記セル配列を変更して、2
次のBoothアルゴリズムに対応させたものが図5に
示す構造のセル配列である。なお図5で、図1から図3
に用いた記号と同一の記号を用いているものは、全く同
一の部分であり、その部分についての説明は省略する。
【0024】乗数入力9はBoothデコーダ501に
入力され、2次のBoothアルゴリズムに従ってデコ
ードされる。デコードされた信号はそれぞれの桁の部分
積生成回路502〜505に入力される。部分積生成回
路502〜505では、乗算/除算切り替え信号7が除
算を指示する場合には、入力される除数・被乗数入力2
を符号反転して出力し、乗算の場合にはデコード信号に
従って除数・被乗数入力2を変換して出力する。それぞ
れの部分積生成回路の出力はその桁に対応した加算段2
2〜25に入力される。
【0025】乗算の場合はBoothアルゴリズムを採
用した場合、加算段25の出力である演算結果出力43
が乗算結果となり、除算の場合は前記セル配列3と同様
に加算段29の演算結果が剰余となるので、セレクタ5
07で切り替えて出力する。
【0026】上記構成のセル配列を採用することによ
り、2次のBoothアルゴリズムを用いて高速に乗算
を実行することができる。
【0027】なお、同様のセル配列構造を用い2次のB
oothアルゴリズムを採用し、かつ複数のセレクタを
用いて図4に示したように演算の流れを変えて、各加算
段において加算器の桁数を減らすこともできる。
【0028】
【発明の効果】以上説明したように、本発明の乗除算回
路はセル配列型除算器の構成要素が乗算器の構成要素と
同一であることを利用して、被除数あるいは各段での除
算結果から除数を減算する代わりに、セル配列に対する
入力を”0”とし、被除数の”1”である桁に対応した
段で除数を加算して乗算を行なうので、同一のセル配列
を乗算・除算両方に利用することができ、回路規模の小
さい乗除算回路を構成することが可能となる。
【0029】さらに、乗数を2次のBoothアルゴリ
ズムに従ってコード化し、そのコード信号に従って部分
積を生成し、この部分積をそのコード桁に対応した段で
加算することで、乗算の演算速度をより速くすることが
可能となる。
【0030】また、乗算を実施する場合に、セル配列内
での演算の流れの方向を、除算の場合とは反対に、桁位
置の低い段から高い段へと行なう機能を付加することで
各段での加算桁数を削減することができ、遅延時間の削
減が可能となる。
【図面の簡単な説明】
【図1】本発明の乗除算回路の構成図
【図2】セル配列の構成図
【図3】加算段の構成図
【図4】演算の流れを可変としたセル配列の構成図
【図5】Boothアルゴリズムを採用したセル配列の
構成図
【図6】逆数ROMを利用した乗除算回路の構成図
【符号の説明】
1 除数・被乗数レジスタ 3 セル配列 4 被除数・乗数レジスタ 7 乗算/除算切り替え信号 10 商レジスタ 11 積・剰余レジスタ 21 符号反転回路 22〜29 加算段 105 選択信号生成回路 106 加算回路 107 オーバーフロー信号 108 商生成回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数の加算段をカスケード接続して成るセ
    ル配列型除算回路に、セル配列に対する被除数の入力
    を”0”とする手段と、前記被除数の”1”である桁に
    対応した加算段で除数を加算する手段とを付加した乗除
    算回路であって、前記乗除算回路を用いて除・乗算を行
    なうことを特徴とする乗除算回路。
  2. 【請求項2】乗算を実行する場合に、乗数を2次のBo
    othアルゴリズムに従ってコード化し、そのコード信
    号に従って、生成した部分積を加算することで乗算を行
    なうことを特徴とする請求項1記載の乗除算回路。
  3. 【請求項3】乗算を実施する場合に、セル配列内での演
    算の流れの方向を、除算の場合とは反対に、桁位置の低
    い段から高い段へと行なうことを特徴とする請求項1記
    載の乗除算回路。
JP4314736A 1992-11-25 1992-11-25 乗除算回路 Pending JPH06161714A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4314736A JPH06161714A (ja) 1992-11-25 1992-11-25 乗除算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4314736A JPH06161714A (ja) 1992-11-25 1992-11-25 乗除算回路

Publications (1)

Publication Number Publication Date
JPH06161714A true JPH06161714A (ja) 1994-06-10

Family

ID=18056964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4314736A Pending JPH06161714A (ja) 1992-11-25 1992-11-25 乗除算回路

Country Status (1)

Country Link
JP (1) JPH06161714A (ja)

Similar Documents

Publication Publication Date Title
EP1446713B1 (en) High-speed computation in arithmetic logic circuit
JPH06348455A (ja) 乗算における丸め込み方法及び乗算回路
JP3487903B2 (ja) 演算装置及び演算方法
JPH0713742A (ja) 乗算装置
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPH07121354A (ja) 倍精度・単精度・内積演算および複素乗算が可能な乗算器
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
JPH09222991A (ja) 加算方法および加算器
JPH0546363A (ja) 除算器
US6269385B1 (en) Apparatus and method for performing rounding and addition in parallel in floating point multiplier
JP3537378B2 (ja) 加算器および集積回路
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JPS58137045A (ja) 並列乗算器
US11281428B2 (en) Conversion circuitry
JPH06161714A (ja) 乗除算回路
JP2991788B2 (ja) 復号器
JP2578482B2 (ja) 浮動小数点演算器
US4041296A (en) High-speed digital multiply-by-device
KR100223752B1 (ko) 병렬 곱셈기
JP3531402B2 (ja) 2乗回路
JPH10333883A (ja) 乗算方法および乗算回路
JPH0778748B2 (ja) ガロア体演算ユニット
US6041341A (en) Method and circuit for adding operands of multiple size
JPH029366B2 (ja)
Kumar et al. Performance analysis of modulo 2 n+ 1 subtractor and combined adder/subtractor architectures