JPH113210A - 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法 - Google Patents

3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法

Info

Publication number
JPH113210A
JPH113210A JP9154631A JP15463197A JPH113210A JP H113210 A JPH113210 A JP H113210A JP 9154631 A JP9154631 A JP 9154631A JP 15463197 A JP15463197 A JP 15463197A JP H113210 A JPH113210 A JP H113210A
Authority
JP
Japan
Prior art keywords
output
digit
input
bit width
saturation
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
JP9154631A
Other languages
English (en)
Other versions
JP3675111B2 (ja
Inventor
Kouji Hirairi
孝二 平入
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 JP15463197A priority Critical patent/JP3675111B2/ja
Publication of JPH113210A publication Critical patent/JPH113210A/ja
Application granted granted Critical
Publication of JP3675111B2 publication Critical patent/JP3675111B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value

Abstract

(57)【要約】 【課題】 従来は、飽和加算結果が得られるまでに「加
算→比較→選択」という3つの段階を経る必要があり、
高速演算に適さなかった。 【解決手段】 飽和加算装置において、2つの入力A,
Bを加算器11で加算する処理と、2入力A,Bの加算
結果が所定の基準値Refで定められる範囲を逸脱して
いるか否かを3入力比較器12で判定する処理とを並行
して行い、この判定結果(比較結果)に基づいて加算結
果(和)Sumと所定の飽和値Satのいずれか一方を
セレクタ13で選択して出力することで、「加算/比較
→選択」の2つの段階で飽和演算を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路に
おけるデジタル演算装置、特に飽和演算装置に関する。
【0002】ここで言う飽和演算装置とは、ある演算を
行った結果値が、ある与えられた基準値(reference va
lue :以降、単にRefと略す)で定められる範囲内の
場合には演算結果値を出力し、当該範囲を越えた場合に
は与えられた飽和値(saturation value:以降、単にS
atと略す)を出力する演算装置である。この飽和演算
装置としては、飽和加算装置、飽和減算装置、飽和乗算
装置などがある。
【0003】
【従来の技術】飽和演算装置の一種である例えば飽和加
算装置は、加算結果が正の最大値を越えた場合には出力
を正の最大値に補正し、負の最大値を越えた場合は出力
を負の最大値に補正するものである。この一般的な飽和
加算装置において、越えたか否かの基準となる値は、正
の最大値・負の最大値に固定されており、任意の値を基
準値にすることは出来ない。
【0004】ところで、飽和加算装置と言う場合、それ
は加算のオーバーフローによる飽和演算を指す。加算の
オーバーフローとは、加算の結果値がその加算装置の出
力のビット数で表現できる範囲を超えた場合に起こり、
オーバーフロー・フラグとして表現される。すなわち、
オーバーフローが起こったならば“1”、そうでないな
らば“0”というフラグ状態となる。
【0005】入出力する数値が符号無しの2進数の場合
には、加算装置の桁上げ出力(キャリーアウト)がオー
バーフローも意味している。しかし、入出力する数値が
2の補数表現による符号有り2進数の場合には、桁上げ
出力はオーバーフローを意味しない。例えば、入力が4
ビット、出力が4ビットの加算を例に採る。 0111 + 0001 = 桁上げ出力0 , 数値1000 のとき、符号無しの場合は7+1を意味し、結果は+8
を意味している。結果は正しく、桁上げ出力は0であ
り、オーバーフローでない。一方、符号有りの場合は7
+1を意味し、結果は−8を意味している。結果は誤り
で、桁上げ出力は0であるが、オーバーフローである。
【0006】また、 1001 + 1111 = 桁上げ出力1 , 数値1000 のとき、符号無しの場合は9+15を意味し、結果は8
である。結果は誤りで、桁上げ出力が1であり、オーバ
ーフローである。符号有りの場合は−7+(−1)を意
味し、結果は−8を意味している。結果は正しく、桁上
げ出力は1であるが、オーバーフローではない。
【0007】以上のように、入出力する数値が符号無し
か、符号付きかによって、オーバーフローの検出の仕方
は異なる。符号付きの場合、普通の加算器の内部に簡単
な回路を付加することによって、オーバーフロー・フラ
グを作ることが出来る。桁上げ出力とオーバーフロー・
フラグは加算の終了とともに出力される。結局、符号無
し/符号付きのいずれの場合であっても、オーバーフロ
ーか否かは、加算結果と同時に判明する。
【0008】飽和加算装置の出力がnビットのとき、加
算結果値が符号無しの場合に2n 以上、符号有りの場合
に2n-1 以上、又は−(2n-1 +1) 以下でオーバーフ
ローが起こる。飽和加算装置での飽和加算は、このオー
バーフローに基づいて行われる。例えば、(0111+000
1)の演算のとき、符号無しの場合はオーバーフローで
はないので、加算結果1000 (8)を出力する。符号有りの
場合はオーバーフローなので、飽和値0111 (7)を出力す
る。また、(1001+1111)の演算のとき、符号無しの場
合はオーバーフローなので、飽和値1111 (15) を出力す
る。符号有りの場合はオーバーフローではないので、加
算結果 1000 (-8)を出力する。
【0009】通常はオーバーフローが起こる境界の値、
即ち正の最大値か、負の最大値を飽和値とする。しかし
ながら、従来の飽和加算装置においては、正の最大値あ
るいは負の最大値以外の数値を基準値として、これを越
えた場合を判定することは原理的に不可能である。なぜ
なら、加算結果が最大値でない基準値を逸脱したとして
も、オーバーフローが起こらないからである。
【0010】ところで、コンピュータによって、ディス
プレイ上の任意の矩形領域内の描画を行う場合、任意基
準値・任意飽和値の飽和演算が頻繁に行われる。例え
ば、ある図形をディスプレイ上の矩形領域内に描画する
とき、その領域をはみ出す部分は描画しないように処理
する必要がある。このときの描画座標の計算過程におい
ては、常に、X,Y座標が領域内であるか否かの判定
と、領域を越えた場合には境界値に補正する演算処理、
即ち飽和演算が行われている。矩形領域が画面上のどこ
にあっても、このような境界値への補正を行うために
は、基準値・飽和値をそれぞれ任意に指定可能な飽和加
算装置が必要である。
【0011】従来、この基準値・飽和値をそれぞれ任意
に指定可能な飽和加算を実現する飽和加算装置として、
図15に示すように、加算入力Aと加算入力Bとを加算
器101で加算してその加算結果(和)Sを得た後、比
較器102によってその加算結果Sを基準値Refと比
較し、その比較結果に基づき、セレクタ103によって
加算結果Sもしくは飽和値Satのどちらか一方を選択
して出力する構成のものが知られている。
【0012】
【発明が解決しようとする課題】しかしながら、上述し
た従来の飽和加算装置では、飽和加算結果が得られるま
でに「加算→比較→選択」という3つの段階を経る必要
がある。ここで、入力数値のビット幅がnビットのと
き、高速な加算器、高速な比較器の遅延時間はそれぞれ
log nに比例し、セレクタ103の遅延時間はビット幅
nに依らず定数Csであると仮定すると、従来の飽和加
算装置の総遅延時間は、(Ka・2・log n+Cs;K
aは比例定数)と見積もることが出来る。すなわち、従
来技術では、加算処理後に比較処理を行うため、遅延時
間が増加し、高速演算に適さないという問題点がある。
【0013】本発明は、上記課題に鑑みてなされたもの
であり、その目的とするところは、飽和加算、飽和減算
あるいは飽和乗算の演算処理において、高速演算の実現
を可能とする3入力比較器を提供することにある。
【0014】本発明はさらに、基準値・飽和値を任意に
指定可能で、かつ高速演算に適した飽和演算装置および
その演算方法を提供することを目的とする。
【0015】
【課題を解決するための手段】本発明による3入力比較
器は、nビット幅の3つの2進数(A,B,Ref)を
入力とし、その総和をnビット幅の2つの2進数(C
o,S)に変換して出力する3:2コンプレッサ段と、
この3:2コンプレッサ段から出力される2つの2進数
(Co,S)に基づいて3つの2進数(A,B,Re
f)の総和の値が非負であるか否かを判定する非負判定
段とを備えた構成となっている。
【0016】上記構成の3入力比較器では、“(A+
B)≧Ref”,“(A+B)<Ref”,“(A+
B)>Ref”,“(A+B)≦Ref”の4つの不等
式の評価を行う。例えば、“(A+B)≧Ref”の評
価が“(A+B)−Ref≧0”と等価であることに着
目し、先ず、3:2コンプレッサ段で左辺(A+B)−
Refの値を2つの2進数に変換し、次いでこの2つの
2進数に基づいて非負判定段で不等式の真偽を決定す
る。
【0017】本発明による飽和演算装置は、2つの入力
の加算又は減算を行う演算器(加算器/減算器)を有す
る飽和演算装置、もしくは桁上げ伝搬保存又は冗長2進
数の演算部と、この演算部から出力される2つの2進数
の加算又は減算を行う最終段演算器とからなり、2つの
入力の乗算、あるいは3以上の入力を持つ複合演算を行
う演算手段を有する飽和演算装置であって、演算器又は
最終段演算器に対して並列に設けられ、この演算器又は
最終段演算器の演算結果が所定の基準値で定められる範
囲を逸脱しているか否かを判定する3入力比較器と、こ
の3入力比較器の判定結果に基づいて演算器又は最終段
演算器の演算結果と所定の飽和値のいずれか一方を選択
して出力するセレクタとを備えた構成となっている。
【0018】上記構成の飽和演算(加算/減算/乗算)
装置において、3入力比較器は、演算器又は最終段演算
器による演算処理と並行して2つの入力の演算結果が所
定の基準値で定められる範囲を逸脱しているか否かの判
定を行う。そして、セレクタは、2つの入力の演算結果
が所定の基準値で定められる範囲内であれば演算器又は
最終段演算器の演算結果を選択し、当該範囲を逸脱して
いれば所定の飽和値を選択する。すなわち、演算処理と
比較処理とを並行して行うことで、「演算/比較→選
択」の2つの段階で飽和演算が行われる。
【0019】本発明による飽和演算方法は、2つの入力
の加算又は減算を行い、その演算結果が所定の基準値で
定められる範囲を逸脱しているとき、その演算結果を所
定の飽和値と置換して出力する飽和演算方法であって、
2つの入力の演算処理と、2つの入力の演算結果が所定
の基準値で定められる範囲を逸脱しているか否かの判定
処理とを並行して実行し、この判定処理の判定結果に基
づいて演算処理の演算結果と所定の飽和値のいずれか一
方を選択して出力する。
【0020】飽和演算処理において、2つの入力の演算
結果が所定の基準値で定められる範囲を逸脱しているか
否かの判定を演算処理と並行して行い、当該範囲内であ
れば演算結果を選択し、当該範囲を逸脱していれば所定
の飽和値を選択することで、「演算/比較→選択」の2
つの段階で飽和演算が行われる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しつつ詳細に説明する。
【0022】図1は、本発明の第1実施形態を示すブロ
ック図であり、基準値Refが1つの場合、即ち上限/
下限値のいずれかを指定可能な飽和加算装置に適用した
場合を示している。
【0023】第1実施形態に係る飽和加算装置は、nビ
ットの2つの入力A,Bの加算を行う加算器11と、こ
の加算器11に対して並列に設けられ、2つの入力A,
Bの加算結果がnビットの基準値Refで定められる範
囲を逸脱しているか否かを判定する3入力比較器12
と、この3入力比較器12の1ビットの比較結果に基づ
いて加算器11の加算結果とnビットの飽和値Satの
いずれか一方を選択して出力するセレクタ13とから構
成されている。
【0024】上記構成の第1実施形態に係る飽和加算装
置において、基準値Refおよび飽和値Satは、外部
にて任意に設定可能である。ここで、入力数値のビット
幅がnビットの場合、加算器11および3入力比較器1
2の遅延時間はどちらもlognに比例し、両者の遅延時
間はほぼ同等である。
【0025】したがって、加算器11に対して3入力比
較器12を並列に配置し、加算と比較を並列処理するこ
とにより、セレクタ13の遅延時間はビット幅nに依ら
ず定数Csと仮定すると、本実施形態に係る飽和加算装
置の総遅延時間は、(Kb・log n+Cs;Kbは比例
定数)となり、従来の飽和加算装置の総遅延時間(Ka
・2・log n+Cs;Kaは比例定数)と比べ約2倍高
速となり、高速動作が可能となる。但し、比例定数Ka
と比例定数Kbはほぼ同じで、定数Csは加算器11の
遅延時間に比べて十分小さいものと仮定する。
【0026】ここで、3入力比較器11の原理について
説明する。今、2つの入力A,Bの加算結果Sum(=
A+B)と基準値Refの不等式 Sum≧Ref …(1) の判定を考える。この不等式(1)を次式のように変形
する。 A+B≧Ref A+B+(−Ref)≧0 …(2)
【0027】(2)式から明らかなように、(1)式の
不等式の評価というものは、3変数(A,B,−Re
f)の加算結果が非負か否かの評価に等しい。すなわ
ち、加算結果Sum(=A+B)と基準値Refの比較
を行うことは、3変数の加算結果の符号を調べることと
等しい。3変数の加算は、3:2(3入力2出力)コン
プレッサを用いることによって、ビット幅nに依存せず
定数段(通常、EX‐ORゲート2段)で、2変数の加
算に置き換えることが出来る。
【0028】2変数の加算は、一般に用いられている加
算器を用いる。但し、ここで必要なのは計算結果が非負
か否かを知ることであり、符号ビット(和の最上位ビッ
トMSB)を求めることである。全ての和を求める必要
はないので、符号ビットの生成に関わらない論理ゲート
を除去し、単純化された加算器を用いる。回路の単純さ
から、通常の加算器よりも若干高速となる。このため、
3:2コンプレッサ段で生じる遅延を相殺することが可
能となる。
【0029】この非負か否かを判定する加算器が、Su
m(=A+B)を求める加算器と同等な速度を持つもの
ならば、不等式(2)の評価結果と加算結果Sumを同
時に得ることが出来る。すなわち、基準値を越えたか否
かの判定(不等式(2)の評価)と加算を並列に行うこ
とが出来る。この後、一般的なセレクタを用いることに
よって、不等式(2)の評価に基づき加算結果あるいは
飽和値のいずれかを出力する。このようにすることによ
って、任意基準値・任意飽和値を指定可能な高速飽和加
算装置を実現出来ることになる。
【0030】本実施形態に係る飽和加算装置は、先述し
たように、基準値Refを越えたか否かの判定処理(不
等式(2)の評価)と加算処理を並行して行うことによ
り、従来の飽和加算装置よりも高速に飽和演算を行うこ
とを特徴とするものである。そして、その主たる構成要
素は、図1から明らかなように、2入力A,Bを加算す
る加算器11と、(2)式を評価する3入力比較器12
と、セレクタ13である。加算器11およびセレクタ1
3としては、従来より用いられている一般的なものを用
いて良い。
【0031】本発明の独自な点であり、高速飽和演算装
置を実現する技術の核心は、(2)式を評価するための
3入力比較器12にある。この3入力比較器12は、後
述するように、基本的に、「3:2コンプレッサ段」と
「非負判定段」の2つの構成要素からなる。
【0032】ところで、上述した3入力比較器12の原
理説明では、 A+B≧Ref という不等式の評価を行うとした。しかしこれを実現す
る論理回路は、後述するように、その回路の一部を若干
変更することによって、 A+B>Ref という不等式の評価を行う3入力比較器に作り替えるこ
とが出来る。また、この不等式について、符号付き/符
号無し2進数、双方における3入力比較器も簡単に作る
ことが出来る。
【0033】ここでは、話を簡単にするため、2の補数
表示を用いた符号付き2進数における、A+B≧Ref
の不等式評価を行う3入力比較器の構成について説明す
るものとする。
【0034】先ず、3:2コンプレッサ段について説明
する。3:2コンプレッサ段は、3変数の加算(A+B
+C)を2つの2進数D,Eの加算(D+2×E)
(“2×E”はビットシフトを意味し、実質的に加算で
ある)に置き換える機能を持つ。具体的には、入力され
た3つの2進数の各ビット位置における“1”の数を出
力するものである。
【0035】例えば、
【0036】上のように、入力A,B,Cの各桁の
“1”の数が、E,Dの各桁のビットをペアとして2進
数で表現される。DとEから(A+B+C)の和を得る
には、Dに対してEを1桁左にずらして加算を行う(即
ち、D+2×E)。例えば、 D = P 0 1 0 1 0 E = 0 0 1 1 0 Q ここで空欄“P”に符号拡張するように符号を補い、ま
た空欄“Q”に0を補って、 この結果は、(A+B+C)=14+6+2=22に等
しい。
【0037】このような3:2コンプレッサ処理を行う
演算器としては、キャリー・セーブ(Carry Save)方式
加算器が一般的に知られている。このキャリー・セーブ
方式加算器とは、1ビット全加算器を必要なビット幅分
並列に並べたものである。個々の全加算器は互いに接続
されておらず、全く独立している。
【0038】1ビット全加算器の真理値表は、入力数値
A,B、桁上げ入力Ci、桁上げ出力Co、和Sumと
したとき、表1のようになる。
【表1】
【0039】この真理値表から、A,B,Ciにおける
“1”の数が、Co,Sumをペアとして2進数で表現
されていることが明らかである。全加算器の論理構成と
しては様々なものが知られているが、その遅延はEX‐
ORゲート2段程度である。このような全加算器を用い
ることによって、3つの変数の加算(A+B+C)を2
つの変数の加算(D+2×E)に置き換える、即ち3:
2コンプレッサ処理が出来る。
【0040】3:2コンプレッサ段の遅延は1つの全加
算器の遅延に等しく、入力数値A,B,Cのビット幅n
に依存しない。なぜなら、入力数値のビット幅分ある全
加算器は相互に接続されておらず、各全加算器は全く独
立に動作するからである。したがって、3:2コンプレ
ッサ段の遅延は、常に定数(全加算器1個の遅延)であ
る。
【0041】今、実現しようとしている演算は、(2)
式のA+B+(−Ref)≧0の評価である。AとBは
そのままキャリー・セーブ方式加算器に加える。しか
し、基準値Refは2の補数を取って符号を反転する必
要がある。2の補数は全ビットを反転した後、1を加え
ることによって得られる。すなわち、反転Refを〜R
efで表すものとすると、−Ref=〜Ref+1とな
る。
【0042】本発明のポイントの1つは、この基準値R
efの2の補数を求める過程を3:2コンプレッサ段の
前後で分けた点にある。通常の方法で2の補数を求めよ
うとすると、+1を行う段階で桁上げ伝搬が発生し、lo
g nに比例した遅延時間が生じてしまう。
【0043】そこで、本発明では、(〜Ref)を3:
2コンプレッサ段の前で行い、(+1)を後の非負判定
段で行う方法をとる。つまり、基準値Refが入力され
るキャリー・セーブ方式加算器の入力端子にはNOTゲ
ート(インバータ)を付加する。後述するように、非負
判定段で+1を行うようにすると、遅延・ゲートが全く
増加しない。3:2コンプレッサ段で行う演算は本質的
に加算であり、+1もまた加算である。したがって、演
算の対称性・加算の交換則から、3:2コンプレッサ処
理を行った後で+1を行っても差し支えない。
【0044】3:2コンプレッサ段の構成を図2に示
す。同図から明らかなように、3:2コンプレッサ段2
0は、入力数値のビット幅がnビットの場合、n個の全
加算器210 〜21n-1 と、これら全加算器210 〜2
1n-1 の各Ci入力端子に接続されたインバータ(NO
Tゲート)220 〜22n-1 とから構成されている。そ
して、2つの入力A0 〜An-1 ,B0 〜Bn-1 の各ビッ
トを全加算器210 〜21n-1 の各A,B入力、インバ
ータ220 〜22n-1 で反転された基準値Ref0 〜R
efn-1 の各ビットを全加算器210 〜21n-1 の各C
i入力とし、全加算器210 〜21n-1 の各Co出力お
よびS出力を2の出力E0 〜En-1 ,D0〜Dn-1 とす
る。
【0045】次に、非負判定段について説明する。非負
判定段の構成を図3に示す。非負判定段30は、和Sn
を生成する(n+1)ビット幅加算器31によって構成
されている。この非負判定段30では、3:2コンプレ
ッサ段20において得られたD,Eについて、Refの
2の補数(+1)を得るために(D+2×E+1)の演
算処理を行い、その演算結果が非負か否かについて判定
を行う。
【0046】ある加算結果が非負であるか否かを知るに
は、加算出力Snの符号ビット(MSB)を参照すれば
よい。符号ビットが“0”ならば非負であり、“1”な
らば負である。符号ビット以外の出力は求める必要がな
い。したがって、図3から明らかなように、和SnのM
SB生成に関わらない論理ゲートを削除した加算器31
が用いられている。
【0047】ここで、非負判定段30で行われる計算の
例を示す。 D = P 1 1 0 1 0 E = 0 1 1 0 0 Q ならば、空欄“P”に符号拡張するように符号を補い、
空欄“Q”に1を補って(2の補数を得る“+1”に相
当)、 となり、結果は非負(MSB=0)である。
【0048】先述した例では、空欄“Q”には0を補っ
た。ここでは、Refの2の補数のための“+1”を実
現するため、空欄“Q”に1を補う。これは、図3中の
(n+1)ビット幅加算器31の入力端子A0に1を入
力することで実現できる。このように、Refの2の補
数を得るために必要な“+1”が、ハードウェアおよび
遅延時間を増加させることなく実現できる。
【0049】以下、3入力比較器の構成の具体例につい
て説明する。図4は、3入力比較器の第1具体例を示す
ブロック図である。この第1具体例に係る3入力比較器
は、図2の3:2コンプレッサ段20と図3の非負判定
段30とからなり、全加算器210 〜21n-2 の各S端
子が(n+1)ビット幅加算器31のB0 〜Bn-2 端子
にビット対応で接続されかつ全加算器21n-1 のS端子
が(n+1)ビット幅加算器31のBn-1 端子およびB
n 端子にそれぞれ接続されるとともに、全加算器210
〜21n-1 の各Co端子が(n+1)ビット幅加算器3
1の1ビット上位のA1 〜An 端子にそれぞれ接続され
かつ最下位ビットのA0 端子に論理“1”が与えられ、
(n+1)ビット幅加算器31のSn出力を比較結果出
力として導出する構成となっている。
【0050】上記構成の第1具体例に係る3入力比較器
では、不等式“A+B≧Ref”又は“A+B<Re
f”(A,B,Refは符号付き2進数)の評価が行わ
れる。この3入力比較器の比較結果出力は以下のように
解釈できる。すなわち、比較結果出力が“0”の場合
は、“A+B+(−Ref)≧0”、即ち“A+B≧R
ef”である。比較結果出力が“1”の場合は、“A+
B+(−Ref)<0”、即ち“A+B<Ref”であ
る。
【0051】図5は、3入力比較器の第2具体例を示す
ブロック図である。この第2具体例に係る3入力比較器
は、第1具体例の場合と同様に、図2の3:2コンプレ
ッサ段20と図3の非負判定段30とからなり、かつ全
加算器210 〜21n-1 の各S,Co端子と(n+1)
ビット幅加算器31のA0 〜An ,B0 〜Bn 端子の接
続関係も第1具体例の場合と同じである。異なるのは、
(n+1)ビット幅加算器31の最下位ビットのA0 端
子に論理“0”が与えられている点である。
【0052】上記構成の第2具体例に係る3入力比較器
では、不等式“A+B>Ref”又は“A+B≦Re
f”(A,B,Refは符号付き2進数)の評価が行わ
れる。この3入力比較器の比較結果出力は以下のように
解釈できる。ここで、自明な次の命題を利用する。
【0053】「A+B>Refを満たす整数A,B,R
efが存在するとき、必ず、A+B−1≧Refであ
る。」 すなわち、不等式 A+B>Ref …(3) を評価することは、不等式 A+B−1≧Ref …(4) を評価することと等しい。したがって、不等式 A+B+(−Ref)−1≧0 …(5) を評価することを考えれば良い。
【0054】(5)式において、左辺の“−1”は実に
単純な方法で実現できる。評価する不等式を以下のよう
に変形する。 A+B+(−Ref)=(D+2×E+1) より、 A+B+(−Ref)−1≧0 D+2×E≧0 …(6)
【0055】第1具体例では、“D+2×E+1”とい
う演算を非負判定段30で行っている。すなわち、図4
において、(n+1)ビット幅加算器31の最下位ビッ
トのA0端子に論理“1”を与えることで、“+1”を
実現している。これに対し、第2具体例では、(n+
1)ビット幅加算器31の最下位ビットのA0 端子に論
理“0”を与えることで、“D+2×E”という演算を
非負判定段30で行うようにしている。
【0056】図6は、3入力比較器の第3具体例を示す
ブロック図である。この第3具体例に係る3入力比較器
は、図2の3:2コンプレッサ段20、図3の非負判定
段30およびEX‐ORゲート41からなるとともに、
全加算器210 〜21n-1 の各S,Co端子と(n+
1)ビット幅加算器31のA0 〜An ,B0 〜Bn 端子
とが第1,第2具体例の場合と同じ接続関係にあり、加
えて、(n+1)ビット幅加算器31の最下位ビットの
A0 端子に機能選択入力S0を与えるとともに、(n+
1)ビット幅加算器31のSn出力と機能選択入力S1
をEX‐ORゲート41の2入力とし、このEX‐OR
ゲート41の出力を比較結果出力として導出する構成と
なっている。
【0057】上記構成の第3具体例に係る3入力比較器
は、機能選択入力S1,S0によって評価する不等式を
選択することが可能な符号付き機能選択型3入力比較器
である。すなわち、機能選択入力S0は、(n+1)ビ
ット幅加算器31のA0入力であって、“A+B−1≧
Ref”か“A+B−1>Ref”を選択するためのも
のである。また、機能選択入力S1は、各不等式の評価
結果が“真”のときには“1”、“偽”のときには
“0”と表現されるように、非負判定段30の出力を適
宜反転/非反転するためのものである。
【0058】機能選択入力S1,S0と評価する不等式
の対応関係を表2に示す。
【表2】
【0059】ところで、上述した第1〜第3具体例で
は、A,B,Refが2の補数表示された符号付き2進
数であると仮定し、3入力比較器を構成した場合を例に
とって示した。この第1〜第3具体例に係る3入力比較
器に対して符号無し2進数を入力した場合、その結果は
正しいものとはならない。
【0060】例えば、A=1111,B=1111,R
ef=1111のとき、これを符号付き2進数と受け取
れば、A=−1,B=−1,Ref=−1であり、A+
B<Refが成立する。一方、符号無し2進数と見た場
合、A=15,B=15,Ref=15であり、A+B
<Refではない。
【0061】一般に、符号無し2進数は、そのMSB側
に“0”を拡張(符号拡張)することにより、符号付き
2進数の処理系で正の数値として正しく扱われる。符号
拡張を行ったA,B,Refについて、符号付き2進数
の3入力比較の行程を適応した例を以下に示す。 A = 0 1 1 1 1 (+15) B = 0 1 1 1 1 (+15) 〜Ref = 1 0 0 0 0 (Ref=+15の全ビット反転) ------------------------ (E,D)= 01 10 10 10 10 D = 1 0 0 0 0 E = 0 1 1 1 1
【0062】 D + 2 ×E + 1 = P 1 0 0 0 0 ..D:符号拡張のためPに“1”を補う。 +) 0 1 1 1 1 Q ..E:2の補数化の“1”のためにQに“1”を補う。 ------------------ 0 0 1 1 1 1 …F 結果は+15であり、非負である。
【0063】ここに示した過程をそのままハードウェア
で実現すると、符号拡張を行ったため、(n+2)ビッ
ト幅加算器が必要となる。これは符号付きの場合に比べ
て1ビット分多い。しかし、最上位ビットが明示的に定
まっていることを利用して、(n+1)ビット幅加算器
を用いることが出来る。具体的には、以下に示すよう
に、A,B,Refがどんな値であっても、D,Eの最
上位ビットはDが1で、Eが0であることを利用する。
【0064】 A = 0 * * * *…最上位の0 は符号拡張の0 B = 0 * * * *…最上位の0 は符号拡張の0 〜Ref = 1 * * * *…最上位の1 は符号拡張の0 の反転 ------------------------ (E,D)= 01 ** ** ** ** D = 1 * * * * E = 0 * * * *
【0065】 D + 2 ×E + 1 = 1 1 * * * * … D′: 符号拡張のためPは必ず“1”になる。 +) 0 * * * * Q … E′: ------------------ S * * * * * … F
【0066】ここで、Fの符号ビットSは、以下のよう
にして求められる。 S=0(+)1(+)(“D′の第4〜第0ビット+E′の第4〜第0ビッ ト”の桁上げ) =〜(“D′の第4〜第0ビット+E′の第4〜第0ビット”の桁上げ) すなわち、結果Fの符号を求めるには、“D′の第4〜
第0ビットとE′の第4〜第0ビット”を加算したと
き、桁上げ出力が有るか否かを求めれば良い。桁上げが
1なら非負であり、0なら負であると解釈できる。ここ
に、(+)とは、排他的論理和を示す演算記号である。
【0067】したがって、符号無し2進数の場合であっ
ても、(n+1)ビット幅加算器で不等式の評価を行う
ことが出来る。この例でD′の第4ビットが常に“1”
であることに注意して、(n+1)ビット幅加算器の入
力Bn には常に“1”を入力する。そして、桁上げ出力
Cout生成に関わらない論理ゲートを全て除去して単
純化した加算器を用いる。符号付きの場合は、和のMS
B生成に関わらない論理ゲートを全て除去して単純化し
た加算器を用いていた。
【0068】また、符号無しの場合の非負判定段が符号
付きの場合と同じ(n+1)ビット幅加算器であるか
ら、D,E生成の3:2コンプレッサ段も符号付きの場
合と全く同じものを用いて良い。以下、符号無し入力に
対応した3入力比較器の具体例について説明する。
【0069】図7は、3入力比較器の第4具体例を示す
ブロック図である。この第4具体例に係る3入力比較器
は、図2の3:2コンプレッサ段20と図3の非負判定
段30とからなる。但し、第1〜第3具体例では、非負
判定段30として、和Snを生成する(n+1)ビット
幅加算器31が用いられたが、本例では、桁上げ出力C
outを生成する(n+1)ビット幅加算器32が用い
られる。この場合、Cout生成に関わらない論理ゲー
トを削除することにより、回路構成を単純化できる。
【0070】そして、全加算器210 〜21n-1 の各S
端子が(n+1)ビット幅加算器32のB0〜Bn−1
端子にビット対応で接続されるとともに、全加算器21
0 〜21n-1 の各Co端子が(n+1)ビット幅加算器
32の1ビット上位のA1 〜An 端子にそれぞれ接続さ
れる。また、(n+1)ビット幅加算器32の最下位ビ
ットのA0 端子および最上位ビットのBn 端子にそれぞ
れ論理“1”が与えられ、Cout出力を比較結果出力
として導出する構成となっている。
【0071】上記構成の第4具体例に係る3入力比較器
では、不等式“A+B≧Ref”又は“A+B<Re
f”(A,B,Refは符号無し2進数)の評価が行わ
れる。この3入力比較器の比較結果出力は以下のように
解釈できる。すなわち、比較結果出力が“1”の場合
は、“A+B+(−Ref)≧0”、即ち“A+B≧R
ef”である。比較結果出力が“0”の場合は、“A+
B+(−Ref)<0”、即ち“A+B<Ref”であ
る。
【0072】図8は、3入力比較器の第5具体例を示す
ブロック図である。この第5具体例に係る3入力比較器
の構成要素および接続関係は、基本的には、第4具体例
の場合と同じである。異なるのは、第4具体例の場合に
は、(n+1)ビット幅加算器32の最下位ビットのA
0 端子および最上位ビットのBn 端子にそれぞれ論理
“1”が与えられていたのに対し、本例では、(n+
1)ビット幅加算器32の最下位ビットのA0端子に論
理“1”が与えられ、最上位ビットのBn 端子に論理
“1”が与えられている点である。
【0073】上記構成の第5具体例に係る3入力比較器
では、不等式“A+B>Ref”又は“A+B≦Re
f”(A,B,Refは符号無し2進数)の評価が行わ
れる。この3入力比較器の比較結果出力については、第
2具体例の場合と同様に解釈することができる。
【0074】図9は、3入力比較器の第6具体例を示す
ブロック図である。この第6具体例に係る3入力比較器
は、3:2コンプレッサ段20、(n+1)ビット幅加
算器32からなる非負判定段30およびEX‐ORゲー
ト41からなるとともに、全加算器210 〜21n-1 の
各S,Co端子と(n+1)ビット幅加算器32のA0
〜An ,B0 〜Bn 端子とが第4,第5具体例の場合と
同じ接続関係にあり、さらに(n+1)ビット幅加算器
32の最上位ビットのBn 端子に論理“1”が与えられ
おり、加えて、(n+1)ビット幅加算器32の最下位
ビットのA0 端子に機能選択入力S0を与えるととも
に、(n+1)ビット幅加算器32のSn出力と機能選
択入力S1をEX‐ORゲート41の2入力とし、この
EX‐ORゲート41の出力を比較結果出力として導出
する構成となっている。
【0075】上記構成の第6具体例に係る3入力比較器
は、機能選択入力S1,S0によって評価する不等式を
選択することが可能な符号無し機能選択型3入力比較器
である。すなわち、機能選択入力S0は、(n+1)ビ
ット幅加算器32のA0 入力であって、“A+B−1≧
Ref”か“A+B−1>Ref”を選択するためのも
のである。また、機能選択入力S1は、各不等式の評価
結果が“真”のときには“1”、“偽”のときには
“0”と表現されるように、非負判定段30の出力を適
宜反転/非反転するためのものである。機能選択入力S
1,S0と評価する不等式の対応関係は、第3具体例の
場合と同じである(表2を参照)。
【0076】図10は、3入力比較器の第7具体例を示
すブロック図である。この第7具体例に係る3入力比較
器は、3:2コンプレッサ段20、非負判定段30、E
X‐ORゲート41、セレクタ42およびORゲート4
3から構成されている。3:2コンプレッサ段20とし
ては、図2に示す構成のものが用いられる。3:2コン
プレッサ段20としては、Cout,Snの両方を生成
する(n+1)ビット幅加算器33が用いられる。この
場合、Cout,Sn生成に関わらない論理ゲートを削
除することにより、回路構成の単純化が図れる。
【0077】また、3:2コンプレッサ段20の全加算
器210 〜21n-1 の各S,Co端子と(n+1)ビッ
ト幅加算器33のA0 〜An ,B0 〜Bn 端子とが第4
〜第6具体例の場合と同じ接続関係にある。そして、
(n+1)ビット幅加算器33の最下位ビットのA0 端
子に機能選択入力S0を与える。また、3:2コンプレ
ッサ段20の最上位の全加算器21n-1 のS出力と機能
選択入力S2がORゲート43の2入力となり、ORゲ
ート43の出力が(n+1)ビット幅加算器33の最上
位ビットのBn 端子に与えられる。
【0078】セレクタ42は、(n+1)ビット幅加算
器33のCout出力およびSn出力を2入力とし、機
能選択入力S2の論理状態に応じて2入力のいずれかを
選択して出力する。この機能選択入力S2は、論理
“0”のときA,B,Refが符号付き2進数、論理
“1”のときA,B,Refが符号無し2進数である。
したがって、セレクタ42は、機能選択入力S2が論理
“0”のときSn出力を、機能選択入力S2が論理
“1”のときCout出力を選択する。そして、セレク
タ42の選択出力と機能選択入力S1がEX‐ORゲー
ト41の2入力となり、このEX‐ORゲート41の出
力が比較結果出力として導出される。
【0079】上記構成の第7具体例に係る3入力比較器
は、第3具体例に係る符号付き機能選択型3入力比較器
と、第6具体例に係る符号無し機能選択型3入力比較器
とを一体化し、符号付き/符号無しおよび評価する不等
式をそれぞれ動的に設定可能な全機能統合型3入力比較
器である。
【0080】すなわち、機能選択入力S0は、(n+
1)ビット幅加算器33のA0 入力であって、“A+B
−1≧Ref”か“A+B−1>Ref”を選択する。
また、機能選択入力S1は、各不等式の評価結果が
“真”のときには“1”、“偽”のときには“0”と表
現されるように、非負判定段30の出力を適宜反転/非
反転する(表2を参照)。さらに、機能選択入力S2
は、符号付き/符号無しの設定を行う。
【0081】以上説明した第1〜第7具体例に係る3入
力比較器において、各非負判定段で用いられる(n+
1)ビット幅加算器のゲート数は、従来装置で用いられ
る比較器とほぼ等しい。一方、3:2コンプレッサ段で
用いられるキャリー・セーブ方式加算器の分だけ若干ゲ
ート数が増加する。しかし、飽和演算装置全体のゲート
数に関して支配的なのは比較器の方ではなく、(A+
B)を行う加算器である。したがって、本発明を適用す
ることで増加するゲート数はあまり問題とはならない。
【0082】図11は、本発明の第2実施形態を示すブ
ロック図であり、基準値Refが2つの場合、即ち上限
値および下限値の双方を指定可能な飽和加算装置に適用
した場合を示している。
【0083】第2実施形態に係る飽和加算装置は、nビ
ットの2つの入力A,Bの加算を行う加算器51と、こ
の加算器51に対して並列に設けられ、2つの入力A,
Bのnビットの加算結果がnビットの上限基準値Ref
(upper) で定められる範囲を逸脱しているか否かを判定
する3入力比較器52と、加算器51に対して並列に設
けられ、2つの入力A,Bの加算結果がnビットの下限
基準値Ref(lower)で定められる範囲を逸脱している
か否かを判定する3入力比較器53と、これら3入力比
較器52,53の各1ビット(計2ビット)の比較結果
に基づいて加算器51の加算結果、nビットの上限飽和
値Sat(upper) およびnビットの下限飽和値Sat(l
ower) のいずれか1つを選択して出力するセレクタ54
とから構成されている。
【0084】上記構成の第2実施形態に係る飽和加算装
置において、2つの基準値Ref(upper),Ref(lowe
r) および2つの飽和値Sat(upper),Sat(lower)
は、外部にて任意に設定可能である。2つの3入力比較
器52,53としては、先述した第1具体例〜第7具体
例に係る3入力比較器の中から、評価したい不等式や選
択できる機能に応じて適切なものを選定して用いる。ま
た、3入力比較器52,53の出力の意味を良く判断し
た上でセレクタ54との接続を行う。ここで用いるセレ
クタ54は3入力のものである。
【0085】ここで、入力数値のビット幅がnビットの
場合、加算器51および2つの3入力比較器52,53
の遅延時間はどちらもlog nに比例し、両者の遅延時間
はほぼ同等である。実際には、先述したように、3入力
比較器52,53のハードウェアの単純さから、加算器
51に比べて3入力比較器52,53の遅延時間が若干
短い。したがって、加算器51に対して2つの3入力比
較器52,53を並列に配置し、加算と比較を並列処理
することにより、総遅延時間は第1実施形態の場合と同
等となる。すなわち、高速動作が可能となる。
【0086】ところで、以下の4つの命題は自明であ
る。 A−B>Refを満たす整数A,B,Refがあると
き必ず、Ref+B<Aである。 A−B≧Refを満たす整数A,B,Refがあると
き必ず、Ref+B≦Aである。 A−B≦Refを満たす整数A,B,Refがあると
き必ず、Ref+B≧Aである。 A−B<Refを満たす整数A,B,Refがあると
き必ず、Ref+B>Aである。
【0087】以上の命題から、減算(A−B)を含む不
等式の評価は全て、加算(Ref+B)を含む不等式の
評価に置き換えられることが分かる。すなわち、第1実
施形態に係る飽和加算装置における3入力加算器12
(図1を参照)に対し、入力Aと基準値Refを置換し
て入力することによって、何らハードウェアに変更を加
えることなく、減算(A−B)を含む不等式の評価をす
ることが出来る。
【0088】図12は、本発明の第3実施形態を示すブ
ロック図であり、基準値Refが1つの場合、即ち上限
/下限値のいずれかを指定可能な飽和減算装置に適用し
た場合を示している。
【0089】第3実施形態に係る飽和減算装置は、nビ
ットの2つの入力A,Bの減算を行う減算器61と、こ
の減算器61に対して並列に設けられ、2つの入力A,
Bの減算結果がnビットの基準値Refで定められる範
囲を逸脱しているか否かを判定する3入力比較器62
と、この3入力比較器62の1ビットの比較結果に基づ
いて減算器61の減算結果とnビットの飽和値Satの
いずれか一方を選択して出力するセレクタ63とから構
成されている。
【0090】上記構成の第3実施形態に係る飽和減算装
置において、基準値Refおよび飽和値Satは、外部
にて任意に設定可能である。ここで、本実施形態に係る
飽和減算装置と第1実施形態に係る飽和加算装置とを比
べると、3入力比較器62に対する入力A,Refが相
互に置き換わっている。3入力比較器62としては、先
述した第1具体例〜第7具体例に係る3入力比較器の中
から、評価したい不等式や選択できる機能に応じて適切
なものを選定して用いる。但し、その選定の際には注意
が必要である。
【0091】例えば、“A−B<REF”という不等式
を評価したい場合、3入力比較器62としては、“a+
b>ref”を評価するものを用いる。REF,ref
に対する不等号の向きが反対なので間違えやすい。これ
は、“a+b>ref”に対しa=REF,b=B,r
ef=Aと入力し、“REF+B>A”、即ち“A−B
<REF”と評価するからである。
【0092】したがって、“A−B<REF”を評価す
るときは、“a+b>ref”を評価する3入力比較器
を、“A−B≦REF”を評価するときは、“a+b≧
ref”を評価する3入力比較器を、“A−B≧RE
F”を評価するときは、“a+b≦ref”を評価する
3入力比較器を、“A−B>REF”を評価するとき
は、“a+b<ref”を評価する3入力比較器をそれ
ぞれ用いるようにする。
【0093】このように、第3実施形態に係る飽和減算
装置においては、図1の第1実施形態に係る飽和加算装
置に対して、3入力比較器62に対する入力結線を変更
しただけであるから、総遅延時間は図1の飽和加算装置
のものと同等であり、高速動作が可能である。
【0094】図13は、本発明の第4実施形態を示すブ
ロック図であり、第2実施形態に係る飽和減算装置の場
合のように、基準値Refが2つの場合、即ち上限値お
よび下限値の双方を指定可能な飽和減算装置に適用した
場合を示している。
【0095】第4実施形態に係る飽和減算装置は、nビ
ットの2つの入力A,Bの減算を行う減算器71と、こ
の減算器71に対して並列に設けられ、2つの入力A,
Bの減算結果がnビットの上限基準値Ref(upper) で
定められる範囲を逸脱しているか否かを判定する3入力
比較器72と、減算器71に対して並列に設けられ、2
つの入力A,Bのnビットの減算結果がnビットの下限
基準値Ref(lower)で定められる範囲を逸脱している
か否かを判定する3入力比較器73と、これら3入力比
較器72,73の各1ビット(計2ビット)の比較結果
に基づいて減算器71の減算結果、nビットの上限飽和
値Sat(upper) およびnビットの下限飽和値Sat(l
ower) のいずれか1つを選択して出力するセレクタ74
とから構成されている。
【0096】上記構成の第4実施形態に係る飽和減算装
置において、2つの基準値Ref(upper),Ref(lowe
r) および2つの飽和値Sat(upper),Sat(lower)
は、外部にて任意に設定可能である。ここで、本実施形
態に係る飽和減算装置と第2実施形態に係る飽和加算装
置とを比べると、3入力比較器72,73に対する入力
AとRef(upper),Ref(lower) が相互に置き換わっ
ている。3入力比較器72,73としては、第3実施形
態の場合と同様にして、先述した第1具体例〜第7具体
例に係る3入力比較器の中から適切なものを選定して用
いる。
【0097】ここまでは、飽和加算装置および飽和減算
装置に適用した場合について説明したが、続いて、飽和
乗算装置に適用した場合について説明する。
【0098】一般的な高速乗算器として、キャリー・セ
ーブ方式加算器(3:2コンプレッサ)や4:2コンプ
レッサ、冗長2進加算器などを用いたものがある。これ
らの乗算器では、部分積を求める段階では桁上げ伝搬を
抑制し、部分積加算を高速に行う。最終的に部分積は2
つの2進数A,Bで表現され、本当の積はA+B(冗長
2進では、A−B)で求められる。これを最終段加算と
言う。
【0099】乗算結果がある基準値を越えたか否かを判
定することは、最終段加算で行う部分積和(A+B)
(冗長2進なら、A−B)が基準値を越えたか否かを判
定することと等しい。したがって、最終段加算と並列に
3入力比較器を設けることによって、飽和乗算装置を構
成することが出来る。
【0100】図14は、本発明の第5実施形態を示すブ
ロック図であり、基準値Refが1つの場合、即ち上限
/下限値のいずれかを指定可能な飽和乗算装置に適用し
た場合を示している。
【0101】第5実施形態に係る飽和乗算装置は、n/
2ビットの2つの入力X,Yの部分積加算を行う部分積
加算器81と、この部分積加算器81から供給されるn
ビットの2つの入力A,Bの最終段加算を行う最終段加
算器82と、この最終段加算器82に対して並列に設け
られ、2つの入力A,Bの最終段加算結果がnビットの
基準値Refで定められる範囲を逸脱しているか否かを
判定する3入力比較器83と、この3入力比較器83の
1ビットの比較結果に基づいて最終段加算器82の加算
結果とnビットの飽和値Satのいずれか一方を選択し
て出力するセレクタ84とから構成されている。
【0102】上記構成の第5実施形態に係る飽和乗算装
置において、基準値Refおよび飽和値Satは、外部
にて任意に設定可能である。また、部分積加算器81の
出力以降の構成は、図1に示す第1実施形態に係る飽和
加算器装置と同じである。したがって、部分積加算器8
1の出力以降における総遅延時間は図1の飽和加算装置
のものと同等であるため、高速動作が可能である。
【0103】なお、本実施形態においては、最終段で部
分積和(A+B)をとる場合を例にとって説明したが、
冗長2進のように(A−B)を行う場合には、第3実施
形態に係る飽和減算装置と同様な原理で3入力比較器を
選定し、その入力A,Refの接続関係を置換すること
によって実現出来る。
【0104】また、第2実施形態に係る飽和加算装置
や、第4実施形態に係る飽和減算装置の場合と同様に、
最終段加算器82に対して2つの3入力比較器を並列に
設けることにより、上限値および下限値の双方を指定可
能な飽和乗算装置を実現することが出来る。
【0105】以上、飽和加算装置、飽和減算装置および
飽和乗算装置に適用した場合について説明したが、これ
らに限定されるものではなく、第5実施形態に係る飽和
乗算装置のように、最終的に加算あるいは減算を行う演
算装置であれば全て、3入力比較器を用いて高速な飽和
演算処理を行うことが出来る。すなわち、最終段の加算
器あるいは減算器と並列に3入力比較器を設けること
で、加算・減算と同時に不等式の評価が行われ、加算・
減算の終了時点で、基準値を超えたか否かが判明する。
この後、セレクタを適切に用いることにより、加算・減
算値か飽和値(単数か複数)を選ぶ。
【0106】こうすることで、任意基準値・任意飽和値
を指定可能な飽和演算処理を追加することが出来る。な
お、加算・減算・乗算を複合的に行う演算処理(多項式
の演算)においては、キャリー・セーブ方式の加算器や
冗長2進加算器を用いて桁上げ伝搬を抑制した演算が行
われる。このとき必ず、最終結果は2つの2進数の和
(あるいは差)で求められ、必ず最終段で桁上げ伝搬を
伴う加算器・減算器が用いられる。
【0107】以上説明した各実施形態に係る飽和演算装
置は、一例として、ディスプレイ上の任意の位置に存在
する矩形領域内に描画を行うような場合に用いて好適な
ものである。すなわち、ディスプレイ上の任意の位置に
任意の大きさの矩形領域があり、その領域内に描画を行
う場合に、任意基準値・任意飽和値の飽和演算が必要と
なる。
【0108】画面座標の計算は一般的に加算・乗算ある
いは多項式演算によって行われる。描画しようとする座
標が領域を逸脱した場合、領域の境界値あるいは適当な
飽和値に補正するか、または、別の例外処理の起動を行
う必要がある。このような場合に、各実施形態に係る飽
和演算装置を用いることによって、これらの処理を高速
に実行することができる。
【0109】一般的な信号処理においても、線形多項式
の演算、即ち積和演算が頻繁に行われる。このとき飽和
演算処理は必須である。ある信号処理アルゴリズムによ
っては、加算器の最大値(オーバーフロー)未満で飽和
演算を行う場合がある。また、ある信号処理において
は、線形多項式(積和演算)の値を分母に持つ分数の評
価を行う場合がある。この場合、この多項式は0となる
ことは許されない。以上のような加算器の最大値(オー
バーフロー)以外を基準値とした飽和演算処理を行う場
合に、各実施形態に係る飽和演算装置を用いることによ
って、高速に行うことができる。
【0110】このように、加算器の最大値以外の値を基
準値とする飽和演算処理の用途は多く、また常に高速性
が要求される。各実施形態に係る飽和演算装置を用いる
ことによって、これらの処理を高速化することが可能で
ある。
【0111】
【発明の効果】以上説明したように、本発明によれば、
nビット幅の3つの2進数(A,B,Ref)の総和を
nビット幅の2つの2進数に変換し、この2つの2進数
に基づいてその総和の値が非負であるか否かを判定する
ことで、2つの入力A,Bの演算結果が所定の基準値R
efで定められる範囲を逸脱しているか否かを迅速に判
定できるので、飽和演算の高速処理に寄与できることに
なる。
【0112】また、2つの入力の演算処理と、その演算
結果が所定の基準値で定められる範囲を逸脱しているか
否かの判定処理とを並行して行い、この判定結果に基づ
いて演算結果と所定の飽和値のいずれか一方を選択して
出力することで、「演算/比較→選択」の2つの段階で
飽和演算を行うことができるので、基準値・飽和値を任
意に指定できるとともに、高速演算を実現できることに
なる。また、
【図面の簡単な説明】
【図1】本発明の第1実施形態を示すブロック図であ
る。
【図2】3:2コンプレッサ段の構成を示すブロック図
である。
【図3】非負判定段の構成を示すブロック図である。
【図4】3入力比較器の第1具体例を示すブロック図で
ある。
【図5】3入力比較器の第2具体例を示すブロック図で
ある。
【図6】3入力比較器の第3具体例を示すブロック図で
ある。
【図7】3入力比較器の第4具体例を示すブロック図で
ある。
【図8】3入力比較器の第5具体例を示すブロック図で
ある。
【図9】3入力比較器の第6具体例を示すブロック図で
ある。
【図10】3入力比較器の第7具体例を示すブロック図
である。
【図11】本発明の第2実施形態を示すブロック図であ
る。
【図12】本発明の第3実施形態を示すブロック図であ
る。
【図13】本発明の第4実施形態を示すブロック図であ
る。
【図14】本発明の第5実施形態を示すブロック図であ
る。
【図15】従来例を示すブロック図である。
【符号の説明】
11,51,82…加算器、12,52,53,62,
72,73,83…3入力比較器、13,42,54,
63,74,84…セレクタ、20…3:2コンプレッ
サ段、30…非負判定段、31…(n+1)ビット幅加
算器、41…EX‐ORゲート、210 〜21n-1 …全
加算器、220 〜22n-1 …インバータ

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 nビット幅の3つの2進数(A,B,R
    ef)を入力とし、その総和をnビット幅の2つの2進
    数(Co,S)に変換して出力する3:2コンプレッサ
    段と、 前記3:2コンプレッサ段から出力される前記2つの2
    進数(Co,S)に基づいて前記総和の値が非負である
    か否かを判定する非負判定段とを備えたことを特徴とす
    る3入力比較器。
  2. 【請求項2】 前記3:2コンプレッサ段は、2つの2
    進数(A,B)をそのままビット毎に入力とするととも
    に、1つの2進数(Ref)をビット毎の否定をとって
    入力とするnビット幅の3:2コンプレッサからなるこ
    とを特徴とする請求項1記載の3入力比較器。
  3. 【請求項3】 前記3つの2進数(A,B,Ref)が
    2の補数表現による符号付き2進数のとき、 前記非負判定段は、前記3:2コンプレッサ段のS出力
    の第(i+1)桁とCo出力の第i桁(n−2≧i≧
    0)を第(i+1)桁の入力とし、前記S出力の第0桁
    と論理“1”を第0桁の入力とし、前記S出力の第(n
    −1)桁と前記Co出力の第(n−1)桁を第n桁の入
    力とし、和出力の第n桁Snを判定出力とする(n+
    1)ビット幅加算器からなり、前記(n+1)ビット幅
    加算器の和出力の第n桁Snを判定出力とすることを特
    徴とする請求項2記載の3入力比較器。
  4. 【請求項4】 前記(n+1)ビット幅加算器は、その
    和出力の第n桁Snの生成に関わる論理ゲートのみによ
    って構成されていることを特徴とする請求項3記載の3
    入力比較器。
  5. 【請求項5】 前記3つの2進数(A,B,Ref)が
    2の補数表現による符号付き2進数のとき、 前記非負判定段は、前記3:2コンプレッサ段のS出力
    の第(i+1)桁とCo出力の第i桁(n−2≧i≧
    0)を第(i+1)桁の入力とし、前記S出力の第0桁
    と論理“0”を第0桁の入力とし、前記S出力の第(n
    −1)桁と前記Co出力の第(n−1)桁を第n桁の入
    力とし、和出力の第n桁Snを判定出力とする(n+
    1)ビット幅加算器からなり、前記前記(n+1)ビッ
    ト幅加算器の和出力の第n桁Snを判定出力とすること
    を特徴とする請求項2記載の3入力比較器。
  6. 【請求項6】 前記(n+1)ビット幅加算器は、その
    和出力の第n桁Snの生成に関わる論理ゲートのみによ
    って構成されていることを特徴とする請求項5記載の3
    入力比較器。
  7. 【請求項7】 前記3つの2進数(A,B,Ref)が
    2の補数表現による符号付き2進数のとき、 前記非負判定段は、前記3:2コンプレッサ段のS出力
    の第(i+1)桁とCo出力の第i桁(n−2≧i≧
    0)を第(i+1)桁の入力とし、前記S出力の第0桁
    と第1機能選択入力を第0桁の入力とし、前記S出力の
    第(n−1)桁と前記Co出力の第(n−1)桁を第n
    桁の入力とする(n+1)ビット幅加算器と、前記(n
    +1)ビット幅加算器の和出力の第n桁Snと第2機能
    選択入力を2入力とするEX‐ORゲートとからなり、
    前記EX‐ORゲートの出力を判定出力とすることを特
    徴とする請求項2記載の3入力比較器。
  8. 【請求項8】 前記(n+1)ビット幅加算器は、その
    和出力の第n桁Snの生成に関わる論理ゲートのみによ
    って構成されていることを特徴とする請求項7記載の3
    入力比較器。
  9. 【請求項9】 前記3つの2進数(A,B,Ref)が
    符号無し2進数のとき、 前記非負判定段は、前記3:2コンプレッサ段のS出力
    の第(i+1)桁とCo出力の第i桁(n−2≧i≧
    0)を第(i+1)桁の入力とし、前記S出力の第0桁
    と論理“1”を第0桁の入力とし、前記Co出力の第
    (n−1)桁と論理“1”を第n桁の入力とし、桁上げ
    出力Coutを判定出力とする(n+1)ビット幅加算
    器からなり、前記(n+1)ビット幅加算器の桁上げ出
    力Coutを判定出力とすることを特徴とする請求項2
    記載の3入力比較器。
  10. 【請求項10】 前記(n+1)ビット幅加算器は、そ
    の桁上げ出力Coutの生成に関わる論理ゲートのみに
    よって構成されていることを特徴とする請求項9記載の
    3入力比較器。
  11. 【請求項11】 前記3つの2進数(A,B,Ref)
    が符号無し2進数のとき、 前記非負判定段は、前記3:2コンプレッサ段のS出力
    の第(i+1)桁とCo出力の第i桁(n−2≧i≧
    0)を第(i+1)桁の入力とし、前記S出力の第0桁
    と論理“0”を第0桁の入力とし、前記Co出力の第
    (n−1)桁と論理“1”を第n桁の入力とし、桁上げ
    出力Coutを判定出力とする(n+1)ビット幅加算
    器からなり、前記(n+1)ビット幅加算器の桁上げ出
    力Coutを判定出力とすることを特徴とする請求項2
    記載の3入力比較器。
  12. 【請求項12】 前記(n+1)ビット幅加算器は、そ
    の桁上げ出力Coutの生成に関わる論理ゲートのみに
    よって構成されていることを特徴とする請求項11記載
    の3入力比較器。
  13. 【請求項13】 前記3つの2進数(A,B,Ref)
    が符号無し2進数のとき、 前記非負判定段は、前記3:2コンプレッサ段のS出力
    の第(i+1)桁とCo出力の第i桁(n−2≧i≧
    0)を第(i+1)桁の入力とし、前記S出力の第0桁
    と第1機能選択入力を第0桁の入力とし、前記Co出力
    の第(n−1)桁と論理“1”を第n桁の入力とする
    (n+1)ビット幅加算器と、前記(n+1)ビット幅
    加算器の桁上げ出力Coutと第2機能選択入力を2入
    力とするEX‐ORゲートとからなり、前記EX‐OR
    ゲートの出力を判定出力とすることを特徴とする請求項
    2記載の3入力比較器。
  14. 【請求項14】 前記(n+1)ビット幅加算器は、そ
    の桁上げ出力Coutの生成に関わる論理ゲートのみに
    よって構成されていることを特徴とする請求項13記載
    の3入力比較器。
  15. 【請求項15】 前記3つの2進数(A,B,Ref)
    が2の補数表現による符号付き2進数、あるいは符号無
    し2進数のとき、 前記非負判定段は、前記S出力の第(n−1)桁と第3
    機能選択入力を2入力とするORゲートと、前記3:2
    コンプレッサ段のS出力の第(i+1)桁とCo出力の
    第i桁(n−2≧i≧0)を第(i+1)桁の入力と
    し、前記S出力の第0桁と第1機能選択入力を第0桁の
    入力とし、前記Co出力の第(n−1)桁と前記ORゲ
    ートの出力を第n桁の入力とする(n+1)ビット幅加
    算器と、前記第3機能選択入力が“1”のとき前記(n
    +1)ビット幅加算器の桁上げ出力Coutを、“0”
    のとき前記(n+1)ビット幅加算器の和出力の第n桁
    Snの否定をそれぞれ選択するセレクタと、前記セレク
    タの選択結果の否定と第2機能選択入力を2入力とする
    EX‐ORゲートとからなり、前記EX‐ORゲートの
    出力を判定出力とすることを特徴とする請求項2記載の
    3入力比較器。
  16. 【請求項16】 前記(n+1)ビット幅加算器は、そ
    の桁上げ出力Coutと和出力および第n桁Snの生成
    に関わる論理ゲートのみによって構成されていることを
    特徴とする請求項15記載の3入力比較器。
  17. 【請求項17】 2つの入力の加算又は減算を行う演算
    器と、 前記演算器に対して並列に設けられ、前記演算器の演算
    結果が所定の基準値で定められる範囲を逸脱しているか
    否かを判定する3入力比較器と、 前記3入力比較器の判定結果に基づいて前記演算器の演
    算結果と所定の飽和値のいずれか一方を選択して出力す
    るセレクタとを備えたことを特徴とする飽和演算装置。
  18. 【請求項18】 前記3入力比較器は、nビット幅の3
    つの2進数(A,B,Ref)を入力とし、その総和を
    nビット幅の2つの2進数(Co,S)に変換して出力
    する3:2コンプレッサ段と、前記3:2コンプレッサ
    段から出力される前記2つの2進数(Co,S)に基づ
    いて前記総和の値が非負であるか否かを判定する非負判
    定段とを有することを特徴とする請求項17記載の飽和
    演算装置。
  19. 【請求項19】 前記3入力比較器は複数個並列に設け
    られ、前記演算器の演算結果が複数の基準値で定められ
    る範囲を逸脱しているか否かを判定することを特徴とす
    る請求項17記載の飽和演算装置。
  20. 【請求項20】 桁上げ伝搬保存又は冗長2進数の演算
    部と、前記演算部から出力される2つの2進数の加算又
    は減算を行う最終段演算器とからなり、2つの入力の乗
    算、あるいは3以上の入力を持つ複合演算を行う演算手
    段と、 前記最終段演算器に対して並列に設けられ、前記最終段
    演算器の演算結果が所定の基準値で定められる範囲を逸
    脱しているか否かを判定する3入力比較器と、 前記3入力比較器の判定結果に基づいて前記最終段演算
    器の演算結果と所定の飽和値のいずれか一方を選択して
    出力するセレクタとを備えたことを特徴とする飽和演算
    装置。
  21. 【請求項21】 前記3入力比較器は、nビット幅の3
    つの2進数(A,B,Ref)を入力とし、その総和を
    nビット幅の2つの2進数(Co,S)に変換して出力
    する3:2コンプレッサ段と、前記3:2コンプレッサ
    段から出力される前記2つの2進数(Co,S)に基づ
    いて前記総和の値が非負であるか否かを判定する非負判
    定段とを有することを特徴とする請求項20記載の飽和
    演算装置。
  22. 【請求項22】 前記3入力比較器は複数個並列に設け
    られ、前記最終段演算器の演算結果が複数の基準値で定
    められる範囲を逸脱しているか否かを判定することを特
    徴とする請求項20記載の飽和演算装置。
  23. 【請求項23】 2つの入力の加算又は減算を行い、そ
    の演算結果が所定の基準値で定められる範囲を逸脱して
    いるとき、その演算結果を所定の飽和値と置換して出力
    する飽和演算方法であって、 前記2つの入力の演算処理と、前記2つの入力の演算結
    果が所定の基準値で定められる範囲を逸脱しているか否
    かの判定処理とを並行して実行し、 前記判定処理の判定結果に基づいて前記演算処理の演算
    結果と前記飽和値のいずれか一方を選択して出力するこ
    とを特徴とする飽和演算方法。
JP15463197A 1997-06-12 1997-06-12 3入力比較器 Expired - Fee Related JP3675111B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15463197A JP3675111B2 (ja) 1997-06-12 1997-06-12 3入力比較器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15463197A JP3675111B2 (ja) 1997-06-12 1997-06-12 3入力比較器

Publications (2)

Publication Number Publication Date
JPH113210A true JPH113210A (ja) 1999-01-06
JP3675111B2 JP3675111B2 (ja) 2005-07-27

Family

ID=15588426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15463197A Expired - Fee Related JP3675111B2 (ja) 1997-06-12 1997-06-12 3入力比較器

Country Status (1)

Country Link
JP (1) JP3675111B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010034682A (ja) * 2008-07-25 2010-02-12 Dainippon Printing Co Ltd 暗号処理装置
JP2017098950A (ja) * 2015-11-13 2017-06-01 セイコーエプソン株式会社 周波数シンセサイザー

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010034682A (ja) * 2008-07-25 2010-02-12 Dainippon Printing Co Ltd 暗号処理装置
JP2017098950A (ja) * 2015-11-13 2017-06-01 セイコーエプソン株式会社 周波数シンセサイザー

Also Published As

Publication number Publication date
JP3675111B2 (ja) 2005-07-27

Similar Documents

Publication Publication Date Title
JP2622896B2 (ja) 除算装置
JP4388543B2 (ja) 3項入力の浮動小数点加減算器
JP2002108606A (ja) スティッキービット生成回路及び乗算器
JP2000259394A (ja) 浮動小数点乗算器
JP2972498B2 (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
RU2408057C2 (ru) Умножитель с фиксированной точкой с предварительным насыщением
US20070156803A1 (en) Overflow detection and clamping with parallel operand processing for fixed-point multipliers
US5408426A (en) Arithmetic unit capable of performing concurrent operations for high speed operation
US5282156A (en) Leading one anticipator and floating point addition/subtraction apparatus employing same
JPH08212058A (ja) 加算オーバフロ検出回路
JP2840169B2 (ja) 論理回路の自動設計方法およびその装置
US20020174157A1 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
EP1296223A2 (en) Adder incrementer circuit
JPH09222991A (ja) 加算方法および加算器
JP3675111B2 (ja) 3入力比較器
JP3187402B2 (ja) 浮動小数点データ加減算回路
JP3233432B2 (ja) 乗算器
JP2606339B2 (ja) 乗算器
US20040068531A1 (en) Faster shift value calculation using modified carry-lookahead adder
JP3298119B2 (ja) 零フラグ生成加減算器
JP3482102B2 (ja) 絶対値距離演算回路
CN114610268A (zh) 一种高精度对数乘法器
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JPH0527948A (ja) 演算装置
JPH0427587B2 (ja)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050425

LAPS Cancellation because of no payment of annual fees