JP2558939B2 - 丸め回路 - Google Patents
丸め回路Info
- Publication number
- JP2558939B2 JP2558939B2 JP2237578A JP23757890A JP2558939B2 JP 2558939 B2 JP2558939 B2 JP 2558939B2 JP 2237578 A JP2237578 A JP 2237578A JP 23757890 A JP23757890 A JP 23757890A JP 2558939 B2 JP2558939 B2 JP 2558939B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- input
- circuit
- output
- shifter
- 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
Links
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、デジタルシグナルプロセッサ(DSP)等
に用いられる丸め回路に関し、特に、その負のデータの
丸め処理を改善した丸め回路に関するものである。
に用いられる丸め回路に関し、特に、その負のデータの
丸め処理を改善した丸め回路に関するものである。
第2図は従来の丸め回路を示す接続図である。図に示
すようにnビットの入力データをシフト量に応じて左右
にシフト可能なシフタ1と、シフタ1から出力されるn
ビットの出力データと右シフト時に出力されるキャリー
ビットを加算するインクリメンタ2とで構成される。
すようにnビットの入力データをシフト量に応じて左右
にシフト可能なシフタ1と、シフタ1から出力されるn
ビットの出力データと右シフト時に出力されるキャリー
ビットを加算するインクリメンタ2とで構成される。
次に動作について説明する。通常、丸め回路はシフタ
により右シフトでキャリーアウトされた最下位ビット
(キャリービット)をシフタからの出力データに加える
ことによって処理が行われる。今、入力データを4ビッ
トで考えるとする。例えば第2図において入力データが
0101(=5)であるとし、シフト量が1であるとする
と、シフタ1からの出力データは右に1ビットシフトさ
れるので0010、そのとき、キャリービットは入力データ
の最下位ビットであるので1、それらをインクリメンタ
2で加算することによって出力データは0011(=3)と
なる。次に入力データが1011(=−5)であるとし、シ
フト量が1であるとすると、シフタ1からの出力データ
は右に1ビットシフトされるので1101、そのとき、キャ
リービットは入力データの最下位ビットであるので1、
それらをインクリメンタ2で加算することによって出力
データは1110(=−2)となる。
により右シフトでキャリーアウトされた最下位ビット
(キャリービット)をシフタからの出力データに加える
ことによって処理が行われる。今、入力データを4ビッ
トで考えるとする。例えば第2図において入力データが
0101(=5)であるとし、シフト量が1であるとする
と、シフタ1からの出力データは右に1ビットシフトさ
れるので0010、そのとき、キャリービットは入力データ
の最下位ビットであるので1、それらをインクリメンタ
2で加算することによって出力データは0011(=3)と
なる。次に入力データが1011(=−5)であるとし、シ
フト量が1であるとすると、シフタ1からの出力データ
は右に1ビットシフトされるので1101、そのとき、キャ
リービットは入力データの最下位ビットであるので1、
それらをインクリメンタ2で加算することによって出力
データは1110(=−2)となる。
第3図に多ビットシフトの例を示す。
図に示すとおり、入力データ0101(5)を右に1〜4
ビットシフトすると、出力データはそれぞれ、0011
(3),0001(1),0001(1),0000(0)となり,入
力データ1011(−5)を右に1〜4ビットシフトする
と、出力データはそれぞれ、1110(−2),1111(−
1),1111(−1),0000(0)となる。
ビットシフトすると、出力データはそれぞれ、0011
(3),0001(1),0001(1),0000(0)となり,入
力データ1011(−5)を右に1〜4ビットシフトする
と、出力データはそれぞれ、1110(−2),1111(−
1),1111(−1),0000(0)となる。
従来の丸め回路は以上のように構成されているので、
入力データが正の場合は四捨五入して丸められ、負の場
合は四捨五入でなく五以下の切捨てとなるため、例え
ば、同一画像データの正転と反転を処理する場合に、両
方のデータの丸め方が異なることがあるなどの問題点が
あった。
入力データが正の場合は四捨五入して丸められ、負の場
合は四捨五入でなく五以下の切捨てとなるため、例え
ば、同一画像データの正転と反転を処理する場合に、両
方のデータの丸め方が異なることがあるなどの問題点が
あった。
この発明は上記のような問題点を解消するためになさ
れたもので、入力データが、正・負どちらの場合でも同
じ様に四捨五入してデータを丸めることができる丸め回
路を提供することを目的とする。
れたもので、入力データが、正・負どちらの場合でも同
じ様に四捨五入してデータを丸めることができる丸め回
路を提供することを目的とする。
この発明に係る丸め回路は、データを所定のシフト量
で左右にシフトさせるシフタと、シフタからのサインビ
ットとキャリーアウトビットとを入力とする2入力AND
回路または2入力NAND回路と、入力データの最下位ビッ
ト側から最初に1のたつビットを数える先行1検出回路
と、先行1検出回路の出力値とシフト量とを比較する比
較回路と、キャリーアウトビットと比較回路の出力のど
ちらかを上記2入力AND回路または2入力NAND回路の出
力に基づいて選択しインクリメンタへ出力する2tolマル
チプレクサと、シフタからの出力データと2tolマルチプ
レクサの出力とを加算し出力するインクリメンタとを備
え、入力データが正の場合にはキャリービットをインク
リメントし、入力データが負である場合に入力データの
サインビットとキャリービットのAND出力により、入力
データのLSB側から最初に1のたつビットとシフト量を
比較した結果または上記キャリービットのいずれかを選
択してインクリメントする構成としたものである。
で左右にシフトさせるシフタと、シフタからのサインビ
ットとキャリーアウトビットとを入力とする2入力AND
回路または2入力NAND回路と、入力データの最下位ビッ
ト側から最初に1のたつビットを数える先行1検出回路
と、先行1検出回路の出力値とシフト量とを比較する比
較回路と、キャリーアウトビットと比較回路の出力のど
ちらかを上記2入力AND回路または2入力NAND回路の出
力に基づいて選択しインクリメンタへ出力する2tolマル
チプレクサと、シフタからの出力データと2tolマルチプ
レクサの出力とを加算し出力するインクリメンタとを備
え、入力データが正の場合にはキャリービットをインク
リメントし、入力データが負である場合に入力データの
サインビットとキャリービットのAND出力により、入力
データのLSB側から最初に1のたつビットとシフト量を
比較した結果または上記キャリービットのいずれかを選
択してインクリメントする構成としたものである。
この発明における丸め回路は、入力データが負の場合
に、キャリービットかまたは入力データのLSB側から最
初に1のたつビットとシフト量を比較して得た結果のど
ちらかを選択してインクリメントするようにしたから、
入力データが負の場合でも正の場合と同様に四捨五入に
よって丸めることができる。
に、キャリービットかまたは入力データのLSB側から最
初に1のたつビットとシフト量を比較して得た結果のど
ちらかを選択してインクリメントするようにしたから、
入力データが負の場合でも正の場合と同様に四捨五入に
よって丸めることができる。
以下、この発明の一実施例を図について説明する。
第1図はこの発明の一実施例による丸め回路を示すブ
ロック図である。図において、1はnビットの入力デー
タをシフト量に応じて左または右にシフト可能なシフタ
回路、2はnビットのデータに1または0を加えるイン
クリメンタ回路、3はnビットの入力データのLSB側か
ら最初に1のたつビットをカウントする先行1検出回
路、4は先行1検出回路から得られるカウント値とシフ
ト量を比較して、等しいときのみ0を出力し、それ以外
は1を出力する比較回路、5は2入力AND回路、6は2to
lのマルチプレクサである。
ロック図である。図において、1はnビットの入力デー
タをシフト量に応じて左または右にシフト可能なシフタ
回路、2はnビットのデータに1または0を加えるイン
クリメンタ回路、3はnビットの入力データのLSB側か
ら最初に1のたつビットをカウントする先行1検出回
路、4は先行1検出回路から得られるカウント値とシフ
ト量を比較して、等しいときのみ0を出力し、それ以外
は1を出力する比較回路、5は2入力AND回路、6は2to
lのマルチプレクサである。
次に、本実施例の動作について説明する。
入力データが正または0の場合、従来と同様の動作に
なるようにサインビットできりかえる。すなわち、入力
データが正または0であるときサインビットは0であ
り、この時シフト量は無関係であるので、シフタ1から
の出力データのサインビットも0である。従って、2入
力AND回路5の出力も0となる。マルチプレクサ6は、
制御信号が0のときにはシフタ1から出力されるキャリ
ービットを選択し、制御信号が1のときには比較回路4
の出力を選択する。よって、入力データが正または0の
ときはインクリメンタ2の一方の入力(1ビット)には
シフタ1からのキャリービットが加えられ、従来と同じ
動作となる。一方、入力データが負のときはサインビッ
トは1となり、その時シフタ1からのキャリービットが
0であれば2入力AND回路5の出力は0となるので、同
様に従来と同じ動作になる。入力データが負でキャリー
ビットが1のときは、2入力AND回路5の出力は1とな
るので、マルチプレクサ6は比較回路4の出力を選択す
る。
なるようにサインビットできりかえる。すなわち、入力
データが正または0であるときサインビットは0であ
り、この時シフト量は無関係であるので、シフタ1から
の出力データのサインビットも0である。従って、2入
力AND回路5の出力も0となる。マルチプレクサ6は、
制御信号が0のときにはシフタ1から出力されるキャリ
ービットを選択し、制御信号が1のときには比較回路4
の出力を選択する。よって、入力データが正または0の
ときはインクリメンタ2の一方の入力(1ビット)には
シフタ1からのキャリービットが加えられ、従来と同じ
動作となる。一方、入力データが負のときはサインビッ
トは1となり、その時シフタ1からのキャリービットが
0であれば2入力AND回路5の出力は0となるので、同
様に従来と同じ動作になる。入力データが負でキャリー
ビットが1のときは、2入力AND回路5の出力は1とな
るので、マルチプレクサ6は比較回路4の出力を選択す
る。
先行1検出回路3は入力データのLSB側から最初に1
のたつビットを数える回路である。例えば入力データが
0110であれば2ビットめに1がたっているので2が出力
される。シフト量は入力データを何ビットシフトするか
という値であり、この値と先行1検出回路3の出力値を
比較回路4で比較し、等しければ0を等しくなければ1
を出力する。例えば負の入力データ1011を右に1ビット
シフトする場合、3の出力は1、シフト量は1であるの
で4の出力は0、従ってインクリメンタ2の一方の入力
は0となり、インクリメンタ2の出力は1101となる。こ
れは−5を右に1ビットシフトした値−2.5が四捨五入
して−3に丸められたことを意味する。
のたつビットを数える回路である。例えば入力データが
0110であれば2ビットめに1がたっているので2が出力
される。シフト量は入力データを何ビットシフトするか
という値であり、この値と先行1検出回路3の出力値を
比較回路4で比較し、等しければ0を等しくなければ1
を出力する。例えば負の入力データ1011を右に1ビット
シフトする場合、3の出力は1、シフト量は1であるの
で4の出力は0、従ってインクリメンタ2の一方の入力
は0となり、インクリメンタ2の出力は1101となる。こ
れは−5を右に1ビットシフトした値−2.5が四捨五入
して−3に丸められたことを意味する。
なお、上記実施例では2入力AND回路5を用いたが、
2入力NAND回路でもよく、その際、マルチプレクサ6は
制御信号が逆の構成となる。
2入力NAND回路でもよく、その際、マルチプレクサ6は
制御信号が逆の構成となる。
以上のように、この発明による丸め回路においては、
入力データが負である場合に入力データのサインビット
とシフタからのキャリービットのANDまたはNAND出力に
より、キャリービットかまたは入力データのLSB側から
最初に1のたつビットとシフト量を比較した結果かを選
択してインクリメントする構成としたから、入力データ
が負の場合でも、正の場合と同様に四捨五入することが
でき、例えば同一画像データの正転と反転を処理する
時、どちらも同じようにデータが丸められるという効果
がある。
入力データが負である場合に入力データのサインビット
とシフタからのキャリービットのANDまたはNAND出力に
より、キャリービットかまたは入力データのLSB側から
最初に1のたつビットとシフト量を比較した結果かを選
択してインクリメントする構成としたから、入力データ
が負の場合でも、正の場合と同様に四捨五入することが
でき、例えば同一画像データの正転と反転を処理する
時、どちらも同じようにデータが丸められるという効果
がある。
第1図はこの発明の一実施例による丸め回路を示す構成
図、第2図は従来の丸め回路を示す構成図、第3図は従
来の丸め回路を用いた4ビットのデータの多ビットシフ
トの例を示す図である。 図において、1はシフタ、2はインクリメンタ、3は先
行1検出回路、4は比較回路、5は2入力AND回路、6
は2tolマルチプレクサである。 なお図中同一符号は同一又は相当部分を示す。
図、第2図は従来の丸め回路を示す構成図、第3図は従
来の丸め回路を用いた4ビットのデータの多ビットシフ
トの例を示す図である。 図において、1はシフタ、2はインクリメンタ、3は先
行1検出回路、4は比較回路、5は2入力AND回路、6
は2tolマルチプレクサである。 なお図中同一符号は同一又は相当部分を示す。
Claims (1)
- 【請求項1】nビットの入力データをシフト量に応じて
左右にシフト可能なシフタと、 上記シフタからのサインビットを一方の入力とし、上記
シフタからのキャリーアウトビットを他方の入力とする
2入力AND回路または2入力NAND回路と、 上記入力データの最下位ビット側から最初に1のたつビ
ットを数える先行1検出回路と、 上記先行1検出回路の出力値と上記シフタのシフト量と
を比較する比較回路と、 上記シフタからのキャリーアウトビットを第1の入力と
し、上記比較回路の出力を第2の入力とし、上記2入力
AND回路または2入力NAND回路の出力に基づいて前記第
1,第2の入力のいずれかを選択して出力する2tolマルチ
プレクサと、 上記シフタからの出力データを一方の入力とし、上記2t
olマルチプレクサの出力を他方の入力として加算し、n
ビットのデータを出力するインクリメンタとを備えたこ
とを特徴とする丸め回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2237578A JP2558939B2 (ja) | 1990-09-07 | 1990-09-07 | 丸め回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2237578A JP2558939B2 (ja) | 1990-09-07 | 1990-09-07 | 丸め回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04117519A JPH04117519A (ja) | 1992-04-17 |
JP2558939B2 true JP2558939B2 (ja) | 1996-11-27 |
Family
ID=17017395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2237578A Expired - Fee Related JP2558939B2 (ja) | 1990-09-07 | 1990-09-07 | 丸め回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2558939B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62274425A (ja) * | 1986-05-23 | 1987-11-28 | Nippon Telegr & Teleph Corp <Ntt> | シフタ付き加算器 |
JPH01276227A (ja) * | 1988-04-28 | 1989-11-06 | Nec Home Electron Ltd | ディジタル四捨五入回路 |
-
1990
- 1990-09-07 JP JP2237578A patent/JP2558939B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04117519A (ja) | 1992-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5561619A (en) | Arithmetic logic unit provided with combinational circuit and zero value detector connected in parallel | |
US5303175A (en) | Floating point arithmetic unit | |
EP0568374B1 (en) | Parallelized magnitude comparator for comparing a binary number to a fixed value | |
US4796218A (en) | Arithmetic circuit capable of executing floating point operation and fixed point operation | |
JP3248743B2 (ja) | 符号付き加算器のためのオーバーフロー/アンダーフロー高速制限回路 | |
US4999800A (en) | Floating point adder with pre-shifter | |
JPH0531769B2 (ja) | ||
JP3012357B2 (ja) | シフト量検出回路 | |
US5528525A (en) | Processor for determining shift counts based on input data | |
JP2558939B2 (ja) | 丸め回路 | |
JP3356613B2 (ja) | 加算方法および加算器 | |
EP1296223A2 (en) | Adder incrementer circuit | |
US6665698B1 (en) | High speed incrementer/decrementer | |
EP0568373B1 (en) | Apparatus and method for parallelized magnitude comparison of digital data | |
JP2509279B2 (ja) | 浮動小数点数一固定小数点数変換装置 | |
JP2565730B2 (ja) | オーバフロー検出回路 | |
US5754458A (en) | Trailing bit anticipator | |
JP4038634B2 (ja) | Fod回路 | |
US5635858A (en) | Zero-stopping incrementers | |
US5432727A (en) | Apparatus for computing a sticky bit for a floating point arithmetic unit | |
US6615228B1 (en) | Selection based rounding system and method for floating point operations | |
US6057720A (en) | High speed sticky signal generator | |
JPH06250820A (ja) | 浮動小数点加算器における指数アンダフローおよびオーバフローの検出方法および装置 | |
KR960012664B1 (ko) | 정규화를 위한 시프트-넘버 검출 회로를 구비한 고정 소수점 디지탈 신호 처리기 | |
JP3115138B2 (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |