JPH09146923A - 積和演算器およびこれを用いたディジタルフィルタ回路 - Google Patents

積和演算器およびこれを用いたディジタルフィルタ回路

Info

Publication number
JPH09146923A
JPH09146923A JP30533395A JP30533395A JPH09146923A JP H09146923 A JPH09146923 A JP H09146923A JP 30533395 A JP30533395 A JP 30533395A JP 30533395 A JP30533395 A JP 30533395A JP H09146923 A JPH09146923 A JP H09146923A
Authority
JP
Japan
Prior art keywords
data
carry
register
bit
adder
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.)
Granted
Application number
JP30533395A
Other languages
English (en)
Other versions
JP2821406B2 (ja
Inventor
Osamu Ujimori
修 氏森
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.)
NEC IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP30533395A priority Critical patent/JP2821406B2/ja
Publication of JPH09146923A publication Critical patent/JPH09146923A/ja
Application granted granted Critical
Publication of JP2821406B2 publication Critical patent/JP2821406B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】積和演算処理の実行時に発生する誤差が一定の
極性に偏ることを解消し、精度良く積和演算を実行す
る。 【解決手段】上位ビット列UMを除いた切捨て対象の下
位ビット列LMの最上位ビットLBを供給する下位レジ
スタ5を備える。加算器6が最上位ビットMBの供給に
応答してこの最上位ビットMBを桁上げ信号として桁上
げ加算を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は積和演算器に関し、
特にディジタル信号処理装置(DSP)等に用いられる
積和演算器に関する。
【0002】
【従来の技術】この種の積和演算器はDSPにを用いた
高速フーリエ変換やディジタルフィルタ生成のための累
積演算を行うため広く用いられている。従来の積和演算
器では累積等のため乗算結果を加算器に入力するとき、
これら乗算結果と加算器の各々のデータの語長を合わせ
るため、乗算結果のうち加算器データ長からはみだす分
の下位ビット列を切捨てる丸め処理をしていた。
【0003】一般的な従来の第1の積和演算器をブロッ
クで示す図5(A)を参照すると、この従来の第1の積
和演算器は、乗数Aと被乗数Bとを乗算し乗算結果Mを
出力する乗算器1と、乗数A,被乗数Bをそれぞれ格納
する乗数レジスタ2,被乗数3と、乗算結果Mを一時格
納し丸め処理した加数データUMを出力するバッファ用
の乗算結果レジスタ101と、加数データUMを累算し
加算結果ADを出力する加算器6と、加算結果ADを格
納する加算結果レジスタ9とを備える。
【0004】次に、図5(A)を参照して、従来の第1
の積和演算器の動作について説明すると、乗算器1はレ
ジスタ2,3の各々から乗数A,被乗数Bの供給を受け
所定の乗算を実行し、乗算結果Mを乗算結果レジスタ1
01に格納する。加算器6は乗算結果レジスタ101か
らこの加算器のデータ長と同一データ長の上位ビット列
すなわち加数データUMの供給を受け、加算結果レジス
タ9の出力データAAと加算し、新たな加算データAD
を加算結果レジスタ9に格納する。一方、乗算結果レジ
スタ101に格納された乗算結果Mのうち加数データU
Mより下位の下位ビット列LMは切捨てる。
【0005】しかし、この従来の第1の積和加算器の演
算方法では加数データUMに含まれる切り捨て誤差は常
に負の方向に分布するため、加算を行うたびに加算結果
に上記切り捨て誤差が累積し極めて大きくなるという問
題があった。
【0006】この問題に対して、上記累積誤差をいかに
して小さくするかという試みが開示されている。例え
ば、特開昭62−216072号公報記載の従来の第2
の積和演算器は、切り捨て誤差となるビット列のうち一
部のビット列を保持するバッファを持ち、それを加算器
で別に累積加算することで繰り上がり時に発生するキャ
リーを積和演算に代入し、繰り上がり加算するものであ
る。
【0007】従来の第2の積和演算器を図5(A)と共
通の構成要素には共通の参照文字/数字を付して同様に
ブロックで示す図5(B)を参照すると、上述の第1の
積和演算器との相違点は、乗算結果Mのうちの切捨て対
象の下位ビット列LMの一部のビット列Lmを保持する
バッファ111を有する乗算結果レジスタ102と、ビ
ット列Lmを累算し繰上がり時に発生するキャリーCを
加算器6に供給する加算器103とを備えることであ
る。
【0008】これにより、この従来の第2の積和演算器
では内部バス、中間データ・バッファ、加算器のそれぞ
れのデータ語長を増やすことなく、切り捨て誤差の累積
を低減した積和演算が得られる。
【0009】上述したように、この種の積和演算器はそ
の機能を応用してディジタル信号処理を用いたフィルタ
回路すなわちディジタルフィルタ回路における積分処理
に用いることが一般的に知られている。
【0010】一般的なディジタルフィルタ回路のシグナ
ルフローを示す図4(B)を参照すると、このシグナル
フローは、乗算201と、加算202と、1時遅延20
3とを含み、加算202と一時遅延203とは累算ルー
プを構成している。この種のディジタルフィルタ回路
は、限られた時間内ではなく理論的には無限の、実際に
は回路が動作を開始して停止するまで連続する積和演算
が行われる場合が多い。ここでは、切り捨て誤差が加算
結果のなかに累積され、積和演算の結果に無視できない
誤差として現れるという問題がある。
【0011】
【発明が解決しようとする課題】上述した従来の第1の
積和演算器は、回路規模の増大を避けるためと、入力デ
ータの分解能を超えた演算精度を重視しないこととか
ら、加算器の入力の加数データ語長が乗算結果より短い
もので構成されているので、上記乗算結果の下位ビット
列を切捨てる丸め処理により語長を合せた上記加数デー
タを生成するため切捨て誤差を生じるが、2進演算にお
ける切捨て誤差はデータの符号と無関係に常に負の極性
を有するため、積和演算ではその反復回数が多いほど切
捨て誤差も大きく累積されるという欠点があった。
【0012】また、この改善を図った従来の第2の積和
演算器も、切捨て誤差の極性は変らないのでやはり積和
演算の反復回数が多くなると切捨て誤差も大きく累積さ
れるという欠点があった。
【0013】本発明の目的は、積和演算処理の実行時に
発生する誤差が一定の極性に偏ることを解消し、精度良
く積和演算を実行する積和演算器を提供することにあ
る。
【0014】
【課題を解決するための手段】本発明の積和演算器は、
乗数と被乗数とを乗算し乗算結果を出力する乗算器と、
前記乗算結果の予め定めた上位ビット列を加数とし前回
の加算結果を被加数として加算し累積加算結果を出力す
る加算器と、前記累積加算結果を保持する加算結果レジ
スタとを備える積和演算器において、前記乗算結果の前
記上位ビット列を除いた切捨て対象の下位ビット列の最
上位ビットを供給する最上位ビット供給手段を備え、前
記加算器が、前記最上位ビットの供給に応答してこの最
上位ビットを桁上げ信号として桁上げ加算をすることを
特徴とするものである。
【0015】
【発明の実施の形態】次に、本発明の実施の形態を図4
(A)と共通の構成要素は共通の文字を付して同様にブ
ロックで示す図1を参照すると、この図に示す本実施の
形態の積和演算器は、従来と共通の乗算器1と、乗数レ
ジスタ2と、被乗数レジスタ3と、加算器6と、加算結
果レジスタ9とに加えて、乗算結果Mの上位ビット列す
なわち加数データUMを一時格納するバッファ用の上位
レジスタ4と、切捨て対象の下位ビット列データLMを
格納する下位レジスタ5と、加算の実行によって更新さ
れたキャリーフラグFを直後の加算実行時まで保持する
フラグレジスタ7と、選択ステート信号Sの値に応答し
てレジスタ5に保持された下位ビット列データLMの最
上位ビットMBまたはキャリーフラグFのいずれかを選
択しキャリービットCとして加算器6に供給するマルチ
プレクサ8とを備える。なお加算器6は、一般の数値演
算器である従来の第2の積和演算器の加算器6と同様に
加算の際にキャリービットCを同時加算すなわち桁上げ
加算する機能を備えている。
【0016】次に、図1を参照して本実施の形態の動作
について説明すると、説明の便宜上、選択ステート信号
Sは’1’でありマルチプレクサ8に対しその入力とし
て下位レジスタ5の最上位ビットMBを選択しキャリー
ビットCとして出力するよう指示しているものとする。
まず、乗算器1はレジスタ2,3の各々から乗数A,被
乗数Bの供給を受け所定の乗算を実行し、乗算結果Mの
うちの上位ビット列すなわち加数データUMを上位レジ
スタ4に下位ビット列LMを下位レジスタ5にそれぞれ
転送・格納する。次に、上位レジスタ4から加数データ
UMを加算結果レジスタ9から被加数AAを加算器6に
供給する。加算器6はこれら被加数AA,加数データU
MとキャリービットCとを加算する。この加算結果AD
は加算結果レジスタ9に転送され1回の積和演算を終了
する。最上位ビットMBすなわちキャリービットCが’
1’となる確率は0.5であるからキャリービットCに
よる桁上げ加算の確率も0.5となる。
【0017】また、選択ステート信号Sが’0’のとき
は、マルチプレクサ8はキャリーフラグFを選択しキャ
リービットCとして供給するので、従来の積和加算器と
同様の動作となる。
【0018】1回の積和演算につき累積される誤差の分
布を示す図2(A),(B)を参照すると、1回当りの
累積誤差は、加算結果ADの最下位ビットの重みを1,
切捨てられるビット数をn,誤差をeとすると、(A)
に示す従来の第1の積和演算器による演算すなわちキャ
リービットによる桁上げ加算を行わない場合の−(1−
2-n)≦e≦0に対し、本実施の形態の積和演算器を用
いて桁上げ加算を行った場合は(B)に示すように−
(0.5−2-n)/2≦e≦0.5となる。このよう
に、従来負方向だけに分布していた誤差が正負にわたっ
て分布するようになり、積和演算1回につき累積される
誤差の平均は、桁上げ加算を行わない場合の−(1−2
-n)/2に対し、桁上げ加算を行った場合では2-(n+1)
となる。
【0019】したがって、乗算結果の上位ビット列であ
る加数データの語長の乗算結果全体の語長との差が2ビ
ット以上であれば累積誤差の削減効果を得ることが出来
る。
【0020】例として、積和演算器が乗数,被乗数であ
る入力16ビット,乗算結果出力31ビットの乗算器と
入力16ビットの加算器で構成される場合、切捨てビッ
ト数は15ビットとなり、桁上げ加算を行わない場合の
積和演算1回あたりの平均誤差−(1−2-15 )/2に
対し本発明の積和演算器で桁上げ加算を行った場合では
平均誤差2-16 と従来の約6/100000と大幅に低
減できる。
【0021】次に、本発明の第2の実施の形態を図1と
共通の構成要素は共通の文字を付して同様にブロックで
示す図3を参照すると、本実施の形態の前述の第1の実
施の形態との相違点は、選択ステート信号Sを保持する
選択ステート信号レジスタ10をさらに備えることであ
る。
【0022】これにより、一旦供給された選択ステート
信号Sを再度新たな選択ステート信号Sの供給されるま
で保持し、この保持したステート信号Sをマルチプレク
サ8に連続的に供給する。
【0023】次に、本発明の第3の実施の形態であるデ
ィジタルフィルタをブロックで示す図4(A)を参照す
ると、このディジタルフィルタは本発明の積和演算器2
1を利用したものであり、積和演算器21と、演算の実
行とデータの入出力と転送を指定する命令コードを記憶
する命令ROM22と、命令ROM22の内容を制御信
号にデコードする命令デコーダ23と、制御信号にした
がってデータの記憶を行うデータRAM24と、主にフ
ィルタ係数などに用いる定数を記憶するデータROM2
5と、装置内部のデータ転送に用いる信号路である内部
データバス26とを備える。
【0024】本実施の形態のディジタルフィルタのシグ
ナルフローを示す図4(B)を参照すると、このシグナ
ルフローは、乗算201と、加算202と、1時遅延2
03とを含み、加算202と一時遅延203とは累算ル
ープを構成している。
【0025】積和演算器21は命令デコーダ23から供
給される制御信号にしたがってデータROM25,デー
タRAM24および内部データバス26から入力された
データを用い、図4(B)のシグナルフローにそれぞれ
対応した演算を行う。
【0026】これにより所望の特性のディジタルフィル
タを実現できる。
【0027】
【発明の効果】以上説明したように、本発明の積和演算
器は、切捨て対象の下位ビット列の最上位ビットを供給
する最上位ビット供給手段を備え、この最上位ビットを
キャリービットとして桁上げ加算を行うことにより、誤
差が正負に均等に分布するため反復計算による累積誤差
が大幅に低減でき、精度の良い演算結果が得られるとい
う効果がある。
【図面の簡単な説明】
【図1】本発明の積和演算器の第1の実施の形態を示す
ブロック図である。
【図2】本実施の形態の積和演算器における誤差および
従来の切捨て誤差をそれぞれ示す説明図である。
【図3】本発明の積和演算器の第2の実施の形態を示す
ブロック図である。
【図4】本発明の第3の実施の形態のディジタルフィル
タを示すブロック図およびシグナルフロー図である。
【図5】従来の第1および第2のの積和演算器の一例を
それぞれ示すブロック図である。
【符号の説明】
1 乗算器 2 乗数レジスタ 3 被乗数レジスタ 4 上位レジスタ 5 下位レジスタ 7 フラグレジスタ 9 加算結果レジスタ 6 加算器 8 マルチプレクサ 10 選択ステート信号レジスタ 21 積和演算器 22 命令ROM 23 命令デコーダ 24 データRAM 25 データROM 26 内部データバス 101,102 乗算結果レジスタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 乗数と被乗数とを乗算し乗算結果を出力
    する乗算器と、前記乗算結果の予め定めた上位ビット列
    を加数とし前回の加算結果を被加数として加算し累積加
    算結果を出力する加算器と、前記累積加算結果を保持す
    る加算結果レジスタとを備える積和演算器において、 前記乗算結果の前記上位ビット列を除いた切捨て対象の
    下位ビット列の最上位ビットを供給する最上位ビット供
    給手段を備え、 前記加算器が、前記最上位ビットの供給に応答してこの
    最上位ビットを桁上げ信号として桁上げ加算をすること
    を特徴とする積和演算器。
  2. 【請求項2】 前記最上位ビット供給手段が、前記最上
    位ビットを保持する最上位ビットレジスタと、 選択制御信号に応答して前記最上位ビットと前記加算器
    から出力される桁上げフラグとのいずれか一方を選択的
    に前記桁上げ信号として前記加算器に供給するマルチプ
    レクサとを備えることを特徴とする請求項1記載の積和
    演算器。
  3. 【請求項3】 前記選択制御信号を保持する選択信号レ
    ジスタを備えることを特徴とする請求項2記載の積和演
    算器。
  4. 【請求項4】 演算の実行とデータの入出力と転送を指
    定する命令コードを記憶する命令ROMと、 前記命令ROMの内容を制御信号にデコードする命令デ
    コーダと、 前記制御信号にしたがってデータの記憶を行うデータR
    AMと、 定数を記憶するデータROMと、 前記制御信号にしたがって前記データROM,データR
    AMおよび外部入力データを用い予め定めたシグナルフ
    ローにそれぞれ対応した演算を行うため請求項1記載の
    積和演算器とを備えることを特徴とするディジタルフィ
    ルタ回路。
JP30533395A 1995-11-24 1995-11-24 積和演算器およびこれを用いたディジタルフィルタ回路 Expired - Fee Related JP2821406B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30533395A JP2821406B2 (ja) 1995-11-24 1995-11-24 積和演算器およびこれを用いたディジタルフィルタ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30533395A JP2821406B2 (ja) 1995-11-24 1995-11-24 積和演算器およびこれを用いたディジタルフィルタ回路

Publications (2)

Publication Number Publication Date
JPH09146923A true JPH09146923A (ja) 1997-06-06
JP2821406B2 JP2821406B2 (ja) 1998-11-05

Family

ID=17943861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30533395A Expired - Fee Related JP2821406B2 (ja) 1995-11-24 1995-11-24 積和演算器およびこれを用いたディジタルフィルタ回路

Country Status (1)

Country Link
JP (1) JP2821406B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113785312A (zh) * 2019-05-16 2021-12-10 日立安斯泰莫株式会社 运算装置及运算方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113785312A (zh) * 2019-05-16 2021-12-10 日立安斯泰莫株式会社 运算装置及运算方法
CN113785312B (zh) * 2019-05-16 2024-06-07 日立安斯泰莫株式会社 运算装置及运算方法

Also Published As

Publication number Publication date
JP2821406B2 (ja) 1998-11-05

Similar Documents

Publication Publication Date Title
US5634065A (en) Three input arithmetic logic unit with controllable shifter and mask generator
US6564239B2 (en) Computer method and apparatus for division and square root operations using signed digit
US5420809A (en) Method of operating a data processing apparatus to compute correlation
US20170139677A1 (en) Multiplication of first and second operands using redundant representation
JP3244506B2 (ja) 小型乗算器
EP0821303A2 (en) Method and apparatus for performing microprocessor integer division operations using floating point hardware
US6128726A (en) Accurate high speed digital signal processor
KR19980041798A (ko) 영상처리를 위한 명령을 지원하는 모듈 계산구조
JP3487903B2 (ja) 演算装置及び演算方法
US5426600A (en) Double precision division circuit and method for digital signal processor
JPH0863353A (ja) 掛け算累算命令を使用したデータ処理
US9720646B2 (en) Redundant representation of numeric value using overlap bits
US10853037B1 (en) Digital circuit with compressed carry
US20220075598A1 (en) Systems and Methods for Numerical Precision in Digital Multiplier Circuitry
WO2022150058A1 (en) Numerical precision in digital multiplier circuitry
US5957996A (en) Digital data comparator and microprocessor
US9928031B2 (en) Overlap propagation operation
US5877973A (en) Logic operation circuit and carry look ahead adder
US5648924A (en) Method and apparatus for finding arctangents
JP2821406B2 (ja) 積和演算器およびこれを用いたディジタルフィルタ回路
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
US20240036822A1 (en) Enhanced Block Floating Point Number Multiplier
US11669304B2 (en) Arithmetic device and arithmetic circuit for performing multiplication and division
JPH0831024B2 (ja) 演算プロセッサ
KR100315303B1 (ko) 디지탈 신호 처리기

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980728

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees