JPH05341963A - 多ビット入力加算回路及びその方法 - Google Patents

多ビット入力加算回路及びその方法

Info

Publication number
JPH05341963A
JPH05341963A JP5039089A JP3908993A JPH05341963A JP H05341963 A JPH05341963 A JP H05341963A JP 5039089 A JP5039089 A JP 5039089A JP 3908993 A JP3908993 A JP 3908993A JP H05341963 A JPH05341963 A JP H05341963A
Authority
JP
Japan
Prior art keywords
bit
sum
adder
signal
stage
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
JP5039089A
Other languages
English (en)
Other versions
JP3393493B2 (ja
Inventor
David Rossmere
ロスメール ディビット
Patrice Capitant
キャピタント パトリス
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 of America
Original Assignee
Sony Corp of America
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 of America filed Critical Sony Corp of America
Publication of JPH05341963A publication Critical patent/JPH05341963A/ja
Application granted granted Critical
Publication of JP3393493B2 publication Critical patent/JP3393493B2/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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 少なくとも3個の多ビット2進数を高速に加
算する。 【構成】 この加算器は、2つの段で分割される。第1
段において、加数のそれぞれは、同位の多ビットのクラ
スタにグループ分けされる。そして、対応する加数のク
ラスタが、再書き込み可能な読み出し専用メモリ(PR
OM)用集積回路PROM40〜43によって同時に加
算され、7ビットの中間和が作成される。第2段におい
て、その中間和は、プログラマブルアレイロジック(P
AL、PALは、モノリシックメモリーズ社の商標であ
る。)集積回路PAL46−49を用いて最終和を作成
するために結合される。また、最終和は、出力される前
に、第1段(必要に応じて、第3段においてクリップさ
れる。)で丸められる。クリッピングは、最終和が負で
あるならばゼロに設定され、最終和が閾値を超える値で
あるならば、所定の閾値に設定される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、2ビット入力以上の多
ビット入力数を加算する多ビット入力加算回路及びその
方法に関する。
【0002】
【従来の技術】デジタル集積回路、例えば、2入力値の
2進数加算を行う加算器集積回路(ICs)は、周知で
あり、かつ広範囲に使われている。「ベース2システ
ム」である2進数は、0と1の2つの数字の組み合わせ
でその値が表現される。2進数の各数字は、ビットと称
される。多種のベースシステムが提案されているが、そ
のうち、通常的に使用いられているものは、ほんの少し
である。人間は、数を表すのに、ベース10システム
(以下、10進数という)を使用している。一方、2進
のデジタルコンピュータは、2つの状態、すなわち、論
理ONと論理OFFとを基に情報を表している。なお、
多種類の2進符号化案が有り、それらは、2進のデジタ
ルコンピュータの内部において、数字を2進数として表
す際に採用されている。そして、人間が数を解釈しよう
とする場合には、2進数の数字が10進数に変換され
る。
【0003】「ベース(数)システム」は、その(数)
だけの基数を有している。その基数がベースシステムに
用いられているにもかかわらず、小数点に対しての各数
字の配置位置(すなわち、位置)は、その数の値を求め
るために用いられる。小数点は、ピリオド(period)また
は他の記号で表され、数の整数部と小数部とを分離す
る。任意の数における各数字の位置に依存して、各数字
には、基数の累乗が乗算され、それらの積(乗算結果)
が加算されることで、その任意の数の値が求められる。
位置のそれぞれの位(くらい)は、基数の累乗で表さ
れ、基数は特定の場所に配された数字の値があるときに
立てられる。
【0004】「ベース10システム」において、小数点
は、10進小数点である。10進小数点(すなわち、1
0進小数位置)に対する各10進数の配置位置は、10
進数の数の値を求めるために必要な情報である。このよ
うにして、10進数13.5は、(1*101 )+(3
*100 )+(5*10-1)で表される。10進数中に
おいて、特定の10進数の数字中の10進小数点位置
は、その特定の10進数の数字の位を決定するために配
置される。例えば、10進数13.5において、数字3
は、位0であり、その値は、3に10の0累乗を乗算す
ることによって求められる。10進数13.5は、2進
数では、1101.1で表される。すなわち、2進数1
101.1は、(1*23 )+(1*22 )+(0*2
1 )+(1*20 )+(1*2-1)で表される(これ
は、10進数の和(8+4+0+1+0.5)に等し
い。)。
【0005】2進数を表すための種々の案が普通に採用
されている。例えば、オフセット2進表現が、アナログ
デジタル変換(A/D)またはデジタルアナログ変換
(D/A)で普通に採用されている。オフセット2進表
現においては、最大使用数の1/2の値が各値を表現す
るために減算される。そのようにすれば、負の最大数か
ら正の最大数までの数を単純な2進表現で表すことがで
きる。この場合、最上位ビット(MSB)は、符号情報
になり、ゼロ値は1度しか表れることがない。このシス
テムは、整数計算に最も広く採用されており、2の補数
と呼ばれている。このシステムにおいては、正の数が符
号なし2進数として単純に表現される。このシステムに
おいて、負の数は、同じ大きさの正の数を加えたときに
ゼロ値になる2進数として表現される。負の数は、正の
数の各ビットの補数がとられた後、1が加算されること
によって作成される。MSBの1は、負の数を表し、こ
のシステムにおいて、ゼロ値はただ1つである。2の補
数を使用した算術計算は、符号情報がMSBに表れてい
るので簡単である。2つの数を加算する場合には、最下
位ビット(LSB)から加算を開始する。下位ビットか
らのけた上げは、次の上位ビットに加算される。符号ビ
ット、すなわち、MSBからのけた上げは、単純に無視
される。
【0006】結合回路を用いて加算を実行させる技術が
一般化されている。半加算器は、2つの2進数の各桁に
ついての算術加算を行うための結合回路である。この半
加算器の入力変数は、被加数ビットと加数ビットと呼ば
れる(以下に示す例では、それぞれ、XとYとで表され
る。)。出力変数は、和とけた上げ(それぞれ、SとC
とで表される。)と呼ばれる。表1は、半加算器の真理
値表を示している。
【0007】
【表1】
【0008】この真理値表1は、入力変数値の可能な全
ての組み合わせに対する出力変数値を示している。この
真理値表から分かるように、入力変数XとYと値が共に
ゼロ値である場合には、出力変数(和Sとけた上げC)
はどちらもゼロ値になることが分かる。また、入力変数
XとYとが共に1の場合には、和Sはゼロ値になり、け
た上げCは値1になる。そして、入力変数Xがゼロ値で
Yが値1の場合、又は、Xが値1でYがゼロ値の場合の
いずれかの場合には、和Sは値1になり、けた上げCは
ゼロ値になる。見方をかえれば、けた上げC出力は、両
方の入力変数が1でない限りはゼロ値であり、和S出力
は、両方の入力変数が同じ数でない限りは値1である。
したがって、上記真理値表1から次に示すブール代数式
が得られる。 C=X AND Y; S=X XOR Y
【0009】このブール代数式を論理回路で表す場合、
和Sは、変数X,Yを入力する排他的否論理和ゲートの
出力で表され、けた上げCは、変数X,Yを入力とする
論理積ゲートの出力で表される。
【0010】非常に複雑な結合回路を設計することは可
能である。しかしながら、特定の応用分野において、そ
の特定の用途に対応する特殊な結合回路を設計する困難
さを克服するために、設計者に、標準在庫の(既製の)
集積回路を利用することを許容しなければならない事態
がしばしば発生する。そのような応用例の汎用的なもの
の1つは、4ビット加算器である。
【0011】4ビット加算器は、第1の4ビットの数と
第2の4ビットの数とを加算して、4ビットの和とけた
上げとを作成するものである。これは、大きな数を加算
するエクスパンド(expand)加算器として一般的である。
例えば、2つの8ビットの数は、2つの4ビット加算器
を用いて加算することができる。この場合、一方の4ビ
ット加算器(LSB加算器)で下位4ビットの加算を行
い、他方の4ビット加算器(MSB加算器)で下位4ビ
ットの加算結果とけた上げを含めて上位4ビットの加算
を行うようにしている。MSB加算器からのけた上げビ
ットは、加算結果(和)に対する9番目のビットとして
準備される。ここで、加算結果は、LSB加算器の出力
である下位4ビットとMSB加算器の出力である上記4
ビットとが結合されて作成される。
【0012】
【発明が解決しようとする課題】しかしながら、従来の
既製の加算器用集積回路は、1度に2つの数だけしか加
算することができない。また、超高速演算分野における
16ビットを超えるような大きな数を計算する場合に
は、余りにも動作速度が遅い。デジタル信号処理(DS
P)分野及びマトリクス計算のような複雑で高速性を要
求される応用分野においては、それら2つの大きい数を
20MHzを超える速度で加算することが要請される。
また、和が負の値の場合にはそれをゼロ値にクリップす
ること、および和が正の値であっても閾値を超える場合
には、その値を閾値にすることが必要になる場合があ
る。上記のような動作を行わせる際、代表的な4ビット
高速加算器用集積回路を用いた場合、ワーストケースの
状態で、4つのパイプライン段と約32個の16ビット
等価集積回路が必要にされる。
【0013】本発明はこのような課題を考慮してなされ
たものであり、例えば、4ビット加算器で、上記のよう
なタスクを行う場合に、3つのパイプライン段と16個
の16ビット等価集積回路で行うことのできる多ビット
入力加算回路及びその方法を提供することを目的とす
る。
【0014】また、本発明は、2以上の多ビットの数を
加算することを可能にする超高速加算回路を提供するこ
とを目的とする。
【0015】さらに、本発明は、加算結果を最も値の近
い整数に丸めることを可能にするとともに、範囲外の和
をその値に最も近い範囲の境界にある数にクリップする
ことを可能にする超高速の多ビット入力加算回路を提供
することを目的とする。
【0016】さらにまた、本発明は、最小数の集積回路
で、その加算器のデバッグとサポートとが容易になる超
高速多ビット入力加算回路を提供することを目的とす
る。
【0017】
【課題を解決するための手段】本発明は、Nビットの2
進数Mを加算する一群の高速加算器を有している。Mと
Nとは整数である。その加算機能は、2つの段に分けら
れている。第1段の加算器として再書き込み可能な読み
出し専用メモリ(PROM)などが用いられている。ま
た、オフセット2の補数計算が加算を実行するのに用い
られる。
【0018】
【作用】本発明によれば、第1の段では、加数が区分さ
れた連続位のビットのグループに分割され、その同位グ
ループが加算されて、分割された加数グループの数と同
じグループ数の中間和が作成される。第1段から出力さ
れた各中間和は、第2の段において、加数の多ビット和
を供給する情報の規則を保持して同じ大きさのビット長
で結合される。選択的な第3段においては、第2の段の
多ビット和が範囲外であるとき、クリッピングされる。
【0019】
【実施例】本発明多ビット入力加算回路の目的、特徴及
び有利性について、以下、好適な実施例を詳細に説明す
ることで明らかにする。本発明は、入力ビット数を可変
にすることのできる高速加算回路を有し、最終の加算結
果(和)を最小数の集積回路で作成することができる。
また、マトリクス計算やDSPへの応用のような複雑な
演算を高速で行なわなければならない用途などに広く適
用することができる。本発明の好適実施例に基づいて以
下に説明されるように、3つの20ビットの数が周波数
20MHzで同時に加算できる。また、和が負値になっ
た場合には、ゼロ値にクリップされ、正値の和が閾値を
超えた場合には、閾値にクリップされる。なお、以下に
好適実施例について説明するが、本発明はこの実施例に
限らず本発明の要旨を逸脱することなく種々の構成を採
り得ることはもちろんである。
【0020】可変多ビット入力の加算においては、オフ
セット2の補数システムが用いられる。このオフセット
2の補数システムは、2の補数システム自体から変換さ
れ、通常的に加算を実行する技術として使用されてい
る。2の補数システムは頻繁に算術演算に用いられる
が、オフセット2の補数システムは、演算を実行する際
に、付加的な不都合が要求されるので、通常、使用され
ない。
【0021】オフセット2の補数システムにおける各数
は、2の補数表現の数にオフセットを加算して作成され
る。オフセット2の補数どうしは同時に加算され、ま
た、その和の中でオフセットが多重回加算される。この
ため、オフセット2の補数システムのような数システム
は、加算に用いることは好ましくないように見える。し
たがって、オフセット2の補数計算は、従来技術では採
用されていない。以下に説明するように、本発明の加算
器は、オフセット2の補数計算を遂行できる革新的な方
法を含むものであり、これによれば、従来技術において
不都合とされている通常の2の補数加算で必要であった
全ての中間和を計算すること及び中間けた上げを保持し
なければならないことが不要になる。
【0022】2の補数は、それぞれのビットの補数をと
った後、1を加えることによって作成される。X−ビッ
トの2の補数空間の各数字に2X-1 を加算することによ
って、X−ビットのオフセット2の補数空間の数を作成
することができる。このことは、2の補数空間における
各数のMSBを、これが1のときには0に置換し、0の
ときには1に置換することと等価である。オフセット2
の補数システムにおいて、負数は、数のMSBがゼロ値
であることにより容易に識別することができる。非負数
は、数のMSBが1値である。
【0023】3ビットシステムにおける数は、8個(2
3 )の数で表現できる。表2は、10進数の−4〜3ま
での範囲の空間に対応する2の補数とオフセット2の補
数の3ビットの数システムを示している。
【0024】
【表2】
【0025】同様に、表3は、10進数の−8〜7まで
の範囲の空間に対応する2の補数とオフセット2の補数
の4ビットの数システムを示している。
【0026】
【表3】
【0027】表4は、2の補数とオフセット2の補数シ
ステムで表された3ビットの数の種々の加算例について
示している。
【0028】
【表4】
【0029】X−ビットの数Mの加算において、和はX
−ビットになり、けた上げは(log2M)ビットになる。
したがって、表4に示した4ビット数の加算において、
和は3ビットになり、けた上げは(log22)=(1ビッ
ト)になっている。後に説明するケース5の2の補数和
の例外では、4ビットの和が表3に示した4ビットの数
を参照して検証される。
【0030】ケース1(表4参照)は、2つの正の数の
加算を表している。その結果和は正であり、それは、M
SBによって検証される。2の補数空間において、MS
Bがゼロ値である場合には、正数を示している。しかし
ながら、オフセット2の補数空間においては、MSBが
1値である場合に、正数を示している。
【0031】ケース2は、2つの負数の加算を表してい
る。その結果和は負であり、それは、MSBによって検
証される。再び、2の補数空間において、MSBが1値
である場合には、負数を示している。しかしながら、オ
フセット2の補数空間においては、MSBが0値である
場合に、負の数を示している。
【0032】X−ビットの数Mの加算結果である和の大
きさがオーバーフロー状態を起こす大きさである場合に
は、その数はもはやX−ビットの数システムで表現する
ことができない。ケース3は、オーバーフローが起こる
場合の2個の3−ビットの正の数の加算を表している。
その結果和は、正数であり、MSBによって検証され、
これらの関連する数システムにおける4−ビットの数と
して適当に表される。しかしながら、その結果和は、3
−ビットシステムで表現できる最大値を超える。同様
に、ケース4は、負のオーバーフローが起こる場合の2
個の3−ビットの負の数の加算を表している。その結果
和は負の数であり、MSBによって検証される。そして
これらの関連する数システムにおける4−ビットの数と
して適当に表される。しかしながら、その結果和は、3
−ビットシステムで表現できる最小値よりも小さい。
【0033】2の補数演算において、2の補数加算器の
出力は、有意の和を作成するために4つの異なる値の記
憶領域(track)を必要とする。これら4つの値は、最終
和、最終符号ビット、けた上げ入力符号ビット、及びけ
た上げ出力(すなわち、N+1ビット)である。最終の
和を得るためにこれら4つのパラメータが要求される加
算において、これを行う形式の加算器では、これらのパ
ラメータの1つ(けた上げ入力符号ビット)が、内部パ
ラメータであって出力を得るために必ずしも必要ではな
いという不都合を有している。
【0034】ケース5は、正数と負数の加算を表してい
る。この場合、2の補数の結果和には、あいまいさが存
在するが、オフセット2の補数の結果和にはそれがな
い。ケース4,5の2の補数の加算結果を比較して分か
るように、加算器の出力が両方とも同値である。ケース
5の2の補数の加算においては、けた上げ入力符号ビッ
トがあるので、その結果が不当なゼロ値になる。ケース
4の2の補数加算では、けた上げ入力符号ビットがない
ので、加算結果は、正当な負の8になる。出力論理とし
て、2つの結果和が異なるために(内部)けた上げ、符
号ビットのための記憶領域を確保しておく必要がない。
オフセット2の補数空間では、修正2の補数を用いる
て、加算器をもっと簡単にできる。
【0035】オフセット2の補数を使用して和を得るた
めには、3つだけの値、最終和、最終符号ビット、及び
けた上げ出力符号ビット(すなわち、N+1ビット)が
必要とされる。オフセット2の補数を使用した加算で
は、符号ビットへのけた上げは必要ではなくて、全ての
パラメータが最終和に表れる。このことは、種々の段に
分割される加算器に対して特に重要な特徴である。通常
の2の補数空間を用いて作成される加算においてはある
段からの内部けた上げビットは、次の段に運ばれ、これ
に続くあらゆる段の動作が、これに基づいて修正され
る。これらを伝搬するために、外部信号線と回路とが必
要になり、加算器用として確保しなければならない集積
回路チップのチップ面積が増加する。また、オフセット
2の補数空間で動作する加算器は、通常の2の補数空間
で動作する加算器に比較して、伝搬時間、回路複雑性、
及び素子の数がいずれも減少する。
【0036】通常の2の補数加算に比較してオフセット
2の補数の加算の利点は、表4中の和を比較することに
よってよく理解できる。オフセット2の補数の加算で
は、必ず、和が異なる値になるのに対して、ケース4,
5から分かるように2の補数の加算では、和が同一にな
る場合がある。オフセット2の補数の最終和から直ちに
分かるように、その数は、なんらの内部情報を必要とす
ることなく表すことができる。
【0037】オフセット2の補数空間において、2つの
N−ビット数の加算結果は、かならず、N+1ビットに
なる。この和は、有意の(N+1)ビット数として次の
段に、直接、供給される。もし、このシステムがNビッ
トを伝搬することができるならば、最終和は次のように
して容易に求めることができる。
【0038】概念的に説明すると、変換処理は、符号ビ
ットとしてのN+1ビットと、オーバーフロービットと
しての第N番目のビットを考慮することによって簡単化
される。この形式において、符号ビットにおける1値
は、正の値を表し、ゼロ値は負の値を表す。オフセット
2の補数加算において符号検出は、非常に単純である。
これに対して、2の補数加算においては、正しい符号を
決定するために符号ビットと2つのけた上げビット(う
ち1つは内部)とが必要とされる。また、オフセット2
の補数加算において、ビットNは、オーバーフロービッ
トである。ここで、符号ビットとオーバーフロービット
とが等しい値のとき、オーバーフローが発生する。これ
を確認するには、2入力の排他的論理和ゲートだけがあ
ればよいので、非常に簡単である。(2の補数では、2
つのけた上げビット(うち1つは内部ビット)が必要と
される。)
【0039】2つの数を加算するケースでは、この技術
の応用が、非常に簡単である。また、その価値は、最終
和を作成するときには見つけることができなく、最終和
を計算する能力の中で見つけることができる。
【0040】なんらの外部条件による影響を受けないユ
ニットに対する数システムにおいては、オフセット2の
補数システムを直ちに適用することができる。しかしな
がら、2の補数を用いるユニットの残りの部分では、図
1に示す回路が、2の補数入出力を有する2入力加算器
として用いられる。
【0041】図1において、符号A0-3 は4ビットの加
数を表し、B0-3 は4ビットの被加数を表している。結
果は、4ビットの和(S0-3 )と1ビットのけた上げ
(C0)によって作成される5ビットの数である。
【0042】図1の4ビット加算器12において、2つ
のインバータ10,11は、2の補数入力A,Bをオフ
セット2の補数値に変換するためのものであり、それぞ
れ、MSBのA3 ,B3 を反転する。4ビット加算器1
2は、任意の既製市販の加算器である。けた上げ出力ビ
ット(C0 )についてのインバータ13はオフセット2
の補数和を2の補数にもどすための変換に用いられる。
【0043】図1の構成(同じ加算器の前後における2
の補数変換)は、オフセット2の補数演算の利点が達成
できないので、実際上は、決して用いられることはな
い。しかしながら、オフセット2の補数に対する加算回
路の入門例として役に立つ。オフセット2の補数加算
は、2以上の数が一時に加算できるという点で最も有用
である。
【0044】オフセット2の補数加算の利点は、2の補
数加算が各2の補数加数に対して2 N-1 のオフセットの
加算であり、このことは記憶しておく必要がある。この
オフセットは、符号付き数をそれらが全て正の数である
として扱えることにある。上述したオフセット2の補数
の加算規則は、2つのNビット値の数の加算の場合にし
か適用することができないが、この規則は、2以上の数
を加算する場合にも拡張することができる(その際の上
記利点は、同じである。)。例えば、オフセット2の補
数空間において、3つの4ビット数を加算しようとする
ときに、それぞれの加数Xは、実質的には、X+8にな
り、したがって、最終和は、和−(3×8)にしなけれ
ばならない。すなわち、最終和から24を減算する必要
がある。実際上、この計算は、単純な計算である。6ビ
ットオフセット2の補数空間における負数24は、「0
1000」で表すことができ、結果に加算することはき
わめて簡単である。上述したように、全6ビットを取り
扱うことのできる論理回路がある場合には、上述のあら
ゆる和は単純に6ビットオフセット2の補数として計算
することができる。
【0045】図1例に比較して、一層、実用的な構成の
1つを図2に示す。数Zが最終和を作成するために同時
に加算される。この処理は、広くDSPのあらゆる応用
に拡張して用いることができる。例えば、デジタル有限
長インパルスレスポンスフィルタは、Z(N)ビット値
の加算として得られ、数Zは、そのフィルタにおけるタ
ップの数を表している。図2において、2の補数加数で
ある各数Zは、インバータ14を用いてMSBが反転さ
れることでオフセット2の補数に変換され、変換された
オフセット2の補数は、累算器15に供給される。加数
は、順次、累算器15に供給される。最初の2つの加数
の和に3番目の加数が加算される。各逐次加数が、全て
の数が加算されるまで、その前の入力値による結果和に
加算される。オフセット2の補数処理ではそれぞれの加
数に対して2N-1 を加算してから、加数Zが加算され最
終和が作成される。したがって、最終和は、値(2N-1)
(Z)を持っている。最終出力和を2の補数空間の数に
しようとする場合には、値(2N-1)(Z)を減算するこ
とにより逆変換することができる。もし、Zが2次数で
ある場合には、2の補数空間への逆変換は、log2(Z)
によってシフトされた2N-1 を単純に減算すればよい。
したがって、、もし数Zが2次数である場合には、2の
補数空間における累算器15から出力される和のシフト
は、インバータ16を用いることによって、和の補数ビ
ット{〔N−1〕〔(log2(Z))−1〕}にすることが
できる。例えば、328ビット数(Z=32,N=8)
は、オフセット2の補数計算によって、同時に計算さ
れ、その最終和は次の値になる。
【0046】 最終和=和+(32)(2N-1)=和+(32)(27)=和+(32)(128)
【0047】最終的な正しい2の補数値を作成するため
の一方法は、上記結果から(32)(128)=4096
を減算すればよい。12−ビットオフセット2の補数空
間で4096は、11ビット目が1で他がゼロ値の数で
単純に表されるので、この減算は簡単である。
【0048】図2の回路でオフセット2の補数を使用す
ることの利点は、通常の2の補数加算では必須である中
間和の計算とか中間けた上げの記憶とかを必要としない
ことにある。
【0049】この発明の好適実施例は、Nビットの精度
でM個の2進数を加算することの可能な一群の高速加算
器を有する。なお、MとNは任意の整数である。実際の
加算は、2つの段で行われる。
【0050】第1段では、M個の加算の動作をより小さ
い数(好ましくは2個)の加算の動作に減少させる。こ
れを行うには、Nビットをxビットのグループに分割す
る。N/xが整数であれば、N/xは、第1段加算器の
必要な数を表す。整数でなければ、(N/x)+1が第
1段加算器の必要数になる。それらの加算器は、それぞ
れ、M個のxビットオフセット2の補数Mの加算を行う
ために必要とされる真理値表論理を含む結合論理回路で
ある。第1段の加算器としては、高速の再書き込み可能
読出専用メモリ(PROM)を用いることができる。
【0051】このPROMの中に任意の結合真理値表を
プログラムすることができる。PROMは十分の数の入
力アドレス線を有している。この場合、それぞれのPR
OMの特性は次のように表される。 (M)(x)<(PROMのアドレス数) ここで、(M)(x)は、特定のPROMで加算できるビ
ット数を表している(すなわち、数Mは、それぞれビッ
ト長がxである。)。
【0052】例えば、4(M=4)個の15(N=1
5)ビットの数を5つのPROMで加算するためには、
各15ビットの数が3ビットのグループに分解される
〔(15/x)=5;x=3〕そこで、それぞれのPR
OMは、少なくとも(4)(3)=12のアドレス線が必
要とされる。これに基づく第1段の回路を図3に示す。
【0053】図3において、4つの入力数A,B,C,
Dのそれぞれは、連続位の5つの3ビットグループ毎に
分割されている。4入力の同位3ビットグループが対応
するPROM中で同時に加算されることで、5ビットの
中間和(3ビットの和と2ビットのけた上げ)がそのP
ROMの出力側に得られる。このようにして、5つのP
ROMでは、その出力側に、5つの3ビットグループの
連続位に対応する5つの中間和が得られる。
【0054】図3例における各PROM25〜29は、
3ビット和20〜24と2ビットのけた上げ30〜34
を作成する。一般に、M個のxビットの数を同時に加算
した場合には、xビットの和と(log2M)ビットのけた
上げが発生する。
【0055】加算器の第2段では、あるPROMから出
力されたけた上げビットを次の連続PROMからの和に
加算して単一の結果を作成しなければならない。あるP
ROMから出力されたけた上げのLSBは、次のPRO
Mから出力される和のLSBの位と同じであるので、適
当な位取りが第2段で行われる。この方法によれば、第
2段における個々のビット位置において同時に加算され
るビットは多くとも2ビットである。
【0056】この実施例において、入力は、符号付き値
としてフォーマットされ、3つの有効ビットと16の小
数部ビットを有している。加算器の出力は、16ビット
の符号なし数で、2つの有効ビットと14の小数部ビッ
トを有している。一般に、特定の丸め位に対する小数部
丸めは、丸め位よりも1少ない位のビットに1を加算す
ることによって行え、丸め位よりも下位の位の全てのビ
ットが切り捨てられる。例えば、図3に示した第1段の
入力A,B,C,Dでは、2ビット以上の小数部を有
し、第3番目のLSBに対する丸めが、第1段のPRO
M25における和20の次低位有効ビットに1を加算す
ることによって行われ、第2段へ和20の2つのLSB
が供給されることはない。
【0057】第1段の機能は、2つの数の加算になるよ
うに第2段の負担を軽減することにあり、下記の関係式
に表される特性を有する。
【0058】(log2M)<x
【0059】言い換えれば、けた上げビットの数は、そ
の和の中のビット数以下にしなければならない。本発明
の教えによれば、2以上の少ない組の加算におけるこの
問題は当業者により容易に克服される。
【0060】第2段の機能は、これらの中間和とけた上
げとを同時に加算して最終和を作成することにある。こ
の機能は、図4に示す5ビットの加算器用集積回路を使
用することによって達成できる。
【0061】図4には平易な構成で5ビットの加算器が
描かれているが、5ビットの加算器は一般には既製のも
のはない。しかしながら、本発明による技術を用いるこ
とにより、当業者は容易に、図4に示す回路を、既製の
4ビット加算器を用いて構成することができる。
【0062】図4は、本発明の加算器を実行する回路の
実施例を示している。この回路は、3つの段に分けるこ
とができる。第1段は、4個のPROM40〜43を有
している。LSB用のPROM40、その次に最も低い
位(以下、次低位という)のグループ用のPROM4
1、次に最も高い位(以下、次高位という)のグループ
用のPROM41及びMSB用のPROM43である。
4個のPROM40〜43は、それぞれ、3個の入力2
進数X,Y,Zのそれぞれからの入力連続同位の5ビッ
トグループに対応している。4個のPROM40〜43
のそれぞれは、5ビット和と2ビットのけた上げを有
し、4個の中間和を作成する。結果としての最終和を丸
めるために、1がLSB用PROM40の次低位ビット
位置に加算され、そして、LSB用PROM40の2つ
のLSB出力は捨てられる。
【0063】図5〜図9は、第1段用のPROM40〜
43(図4参照)の結合論理とプログラムを定義するた
めに用いられるCプログラム言語で書かれたコードを示
している。図5、図6は、MSB用PROM43に対す
るCコードを有している。次低位グループ用のPROM
41の論理は、次高位グループ用のPROM42の論理
と同一である。図7、図8は、第1段のPROM41〜
42のプログラムに用いられる結合論理を定義するため
のコードを有している。図9はLSB用のPROM40
の結合論理を定義するために用いられるCコードを有し
ている。
【0064】以下、参考のために図5と図6、図7と図
8及び図9のCコードプログラム中のコメント欄(/*
と*/で囲まれた欄)の翻訳を載せる。
【0065】(図5と図6の翻訳) /*注意:これはMSB用PROMであり、丸めビット
は加算しない、各加数のMSBは反転する。*/ /*以下の情報は、PROMプログラマに必要なフォー
マットで、16進ファイルを書くために使用される*/ /*これは実際のプログラムの開始点である。*/ /*16進ファイルを開いてアドレスを0にセットす
る。これはPROMプログラマ用である。*/ /*これはプログラムをデバックするときのファイルで
ある。*/ /*このPROMでは使用されない。*/ /*これは実際の値が計算される所である。PROM内
のアドレスは下記のように決められている。アドレス0
−4=緑データ;アドレス5−9=青データ;アドレス
10−14=赤データである。全ての入力が0であると
き、和とけた上げ=0である。これは第1PROM配置
(アドレス0)に対応する。PROMのアドレス1と赤
と青データ線の何もない0と緑データ線の1に対応す
る。PROMのアドレス31(2進数 000 0000 0001
1111)は緑データ線の31及び赤または青に何もないを
表す。アドレス32(2進数 000 0000 0010 0000)は
緑データ線0、青データ線1及び赤データ線0に対応す
る。Cコードは次の異なる3ループを有している。その
値は、和においてオフセット2の補数計算を行うように
修正されている。これは、各加算のMSBを反転すると
いうことを要求する。これは入力法(modulo3
2)に16を加算することによって行える。例えば、赤
入力値が5(00101)であるときオフセット2の補数は5
+16=21(10101)になる。もし、赤入力が19(10
011)であるときには実際の加算は19+16=35法
(modulo)32=3(00011)になる。*/ /*このループは先頭の5ビット(赤)を表す。*/ /*中間の5ビット(青)に対するループ*/ /*下位5ビット(緑)に対するループ*/ /*このコードの残りの部分はPROMプログラマに対
するデータのフォーマットのためだけ使用される。*/ /*デバック専用*/ /*16進の記録とその送出を作成する。*/ /*16進ファイルの書き込み終了でクローズされる。
*/ /*0番に戻る。*/
【0066】(図7と図8の翻訳) /*注意:これは中間ビット(他の重要ビット)用PR
OMであり、丸めビットは加算しない、各加算のMSB
は反転する。*/ /*以下の情報は、PROMプログラマに必要なフォー
マットで16進ファイルを書くために使用される*/ /*これは実際のプログラムの開始点である。*/ /*16進ファイルを開いてアドレスを0にセットす
る。これはPROMプログラマ用である。*/ /*これはプログラムをデバックするときのファイルで
ある。*/ /*このPROMでは使用されない。*/ /*これは実際の値が計算される所である。PROM内
のアドレスは下記のように決められている。アドレス0
−4=緑データ;アドレス5−9=青データ;アドレス
10−14=赤データである。全ての入力が0であると
き、和とけた上げ=0である。これは第1PROM配置
(アドレス0)に対応する。PROMのアドレス1は赤
と青データ線の何もない0と緑データ線の1に対応す
る。PROMのアドレス31(2進数 000 0000 0001
1111) は緑データ線の31及び赤または青に何もないを
表す。アドレス32(2進数 000 0000 0010 0000)は
緑データ線0、青データ線1及び赤データ線0に対応す
る。Cコードは次の異なる3ループを有している。*/ /*このループは先頭の5ビット(赤)を表す。*/ /*中間の5ビット(青)に対するループ*/ /*下位5ビット(緑)に対するループ*/ /*このコードの残りの部分はPROMプログラマに対
するデータのフォーマットのためにだけ使用される。*
/ /*デバック専用*/ /*16進の記録とその送出を作成する。*/ /*16進ファイルの書き込み終了でクローズさせる。
*/ /*0番に戻る。*/
【0067】(図9の翻訳) /*注意:これはLSB用PROMであり、丸めビット
が加算される。*/ /*以下の情報は、PROMプログラマに必要なフォー
マットで、16進ファイルを書くために使用される*/ /*これは実際のプログラムの開始点である。*/ /*16進ファイルを開いてアドレスを0にセットす
る。これはPROMプログラマ用である。*/ /*これはプログラムをデバックするときのファイルで
ある。*/ /*これは16ビットの結果を丸めるために用いられ
る。*/ /*これは実際の値が計算される所である。PROM内
のアドレスは下記のように決められている。アドレス0
−4=緑データ;アドレス5−9=青データ;アドレス
10−14=赤データである。全ての入力が0であると
き、和とけた上げ=0である。これは第1PROM配置
(アドレス0)に対応する。PROMのアドレス1は赤
と青データ線の何もない0と緑データ線の1に対応す
る。PROMのアドレス31(2進数 000 0000 0001
1111)は緑データ線の31及び赤または青に何もないを
表す。アドレス32(2進数 000 0000 0010 0000)は
緑データ線0、青データ線1及び赤データ線0に対応す
る。Cコードは次の異なる3ループを有している。*/ /*このループは先頭の5ビット(赤)を表す。*/ /*中間の5ビット(青)に対するループ*/
【0068】以上が図5〜図9のCコードプログラム中
のコメント欄の説明である。
【0069】上述したように、本発明の加算器の重要な
特徴は、オフセット2の補数計算を用いることである。
任意の2の補数加算器の出力を正しく計算するためにけ
た上げ入力符号ビットが分からなければならない。2つ
以上の数を加算するときに、この問題は複雑になる。け
た上げ入力符号ビットが1ビット以上になるからであ
る。PROMの中に発生するけた上げ入力符号ビット
は、第1段のPROM群で発生するけた上げであるの
で、第2段に対しては必要ではない。オフセット2の補
数を用いることの最も大きい利点は、和を計算するため
に要求されるあらゆる情報が、和それ自信の中に存在す
るということである。これが、MSB用PROMからの
外部符号に対しての必要性を不要にし、第2段の論理の
複雑さを緩和する。
【0070】第2段は、3ビットレジスタ35、3個の
5ビット加算器36〜38及びPAL(プログラマブル
ロジック アレイ)IC39を有している。プログラ
マブルロアレイロジックとプログラマブルロジックアレ
イ(PLAs)は、2つの基本的な種類のプログラマブ
ルロジックであってこの技術は周知でありよく利用され
ている。これらは、多くのゲートを有する集積回路であ
り、所望の論理機能を作成するために内部接続をROM
のようにプログラムすることができる。PALは、PR
OMがプログラムされるという方法と同じようにプログ
ラムできる。なお、本発明では、第2段と第3段につい
てPALを使用しているが、当業者は第2段と第3段に
おいては、ROMまたはPLAを使用することもでき
る。また、クリッピングが必要でないなら、第3段は不
要であり、単純な加算器集積回路を第2段で使用するこ
とができる。以下に説明するように、第2段のPALI
C39は、第2段の出力が第3段によってクリップされ
るかどうかということを決定するための結合論理に用い
られてる。
【0071】捨てられた2つのLSBの後に残された中
間和であるLSB用PROM40の3個のMSB中間和
ビットは、第3段で使用される最終形式になっている。
第1段の出力は、けた上げビットがないので、それらに
加算器されるLSB用PROM40中間和のうち、3個
のMSB中間和ビットの任意のものと同位である。した
がって、LSB用PROM40の中間和ビットのうち3
個のMSB中間和は、第3段でそれらが必要になるまで
第2段の3ビットレジスタ35に記憶される。
【0072】第1段のPROM40〜42の2ビットの
けた上げと第1段のPROM41〜43の中間和は、第
2段の3個の5ビット加算器36〜38に結合される。
5ビットの加算器36〜38の機能は、図1に示した既
製の4ビット加算器とは、4ビットの代わりに5ビット
を加算する点において異なる。5ビットの加算器36〜
38のそれぞれは、5ビットの第1段の中間和B0-4
ともに2ビットのけた上げA3-4 を結合して、5ビット
の和(A+B)と1ビットのけた上げを作成する。
【0073】5ビットの加算器36〜38は、低位ビッ
トの加算器36、中間ビットの加算器37及び高位ビッ
トの加算器38を有している。低位ビットの加算器36
は、LSB用PROM40からの2ビットのけた上げと
次低位グループ用PROM41からの5ビットの中間和
を結合する。LSB用PROM40の2つのけた上げビ
ットは、次低位グループ用PROM41における2つの
LSBの位の大きさに対応している。この場合、LSB
用PROM40中間和の2つのけた上げビットは、次低
位グループ用PROM41中間和の5個のLSBと低位
ビット加算器36で結合され、3ビットレジスタ35に
保持されている値の位のすぐ上の位の最終和の5つのL
SBを作成する。また、低位ビットの加算器36から
は、けた上げ出力ビットが出力される。低位ビット加算
器36からのけた上げ出力ビットは、次低位グループ用
PROM41の中間和の2つのMSB(けた上げビッ
ト)と次高位グループ用PROM42の中間和の5つの
LSBとともに、中間ビット加算器37に入力される。
中間ビットの加算器37は、これらから、最終和の次位
の5ビットとけた上げを作成する。
【0074】同様に、中間位の加算器37のけた上げ出
力ビットは、次高位グループ用PROM42の中間和の
2ビットのMSBとMSB用PROM43の中間和の5
ビットのLSBとともに高位ビットの加算器38に入力
される。加算器38は、最終和の次位の5ビットとけた
上げを作成する。
【0075】最後に、高位ビットの加算器38のけた上
げ出力ビットが、MSB用PROM43の中間和の4ビ
ットのMSBとともに第2段のPAL39に入力され
る。第2段のPAL39は、第3段に供給される2つの
クリッピングイネーブル信号(ゼロ57とオーバーフロ
ー58)を作成する。
【0076】第2段のPAL39は、最終和を計算する
ために4ビットのMSBを使用する。3つの20ビット
の数を加算したので、その和には、(3)(220-1)=
(3)(219)の余分な値が含まれている。先頭の4ビッ
ト(MSB)に注目すると、これが値「0110」に対
応していることが分かる。したがって、これよりも小さ
な値(例えば、「0101」「0100」)を有する任
意の和は、負の数である。上記4ビットのMSBの和
が、「1010」以上であるとき219ビットよりも大き
く、オーバーフロー状態になっている。
【0077】第3段は、LSB用第3段クリッピングP
AL51とMSB用第3段クリッピングPAL52とを
有している。LSB用第3段クリッピングPAL51
は、入力として、最終和の8ビットのLSBと、ゼロ5
7とオーバーフロー58のクリッピングイネーブル信号
とを持っている。同様に、MSB用第3段クリッピング
PAL52は、入力として、最終和の8ビットのMSB
と、ゼロ57とオーバーフロー58のクリッピングイネ
ーブル信号とを持っている。
【0078】ゼロ57とオーバーフロー58のクリッピ
ングイネーブル信号のどちらも成立していない場合に
は、LSB用第3段クリッピングPAL51は、出力と
して最終和の8ビットのLSBを出力し、一方、MSB
用第3段クリッピングPAL52は、出力として最終和
の8ビットのMSBを出力して、16ビットの最終和が
作成される。
【0079】ゼロ57のクリッピングイネーブル信号が
成立している場合、PAL51とPAL52は、結合出
力として、ゼロに設定された16ビットの最終和を供給
する。オーバーフロー58のクリッピングイネーブル信
号が成立している場合、PAL51とPAL52は、所
定の上限値に設定された16ビットの最終和を供給す
る。
【0080】上記設計は、パイプライン型であるので、
3つの段のそれぞれが記憶される。クロック信号は、ピ
クセルクロック55によって供給される。
【0081】図4の回路は、本発明の好適実施例の目的
を達成する。図10は、本発明の他の実施例を示してい
る。図10例では、第2段の加算処理が5ビットの加算
器に代替してPALを用いて行われている。図10例に
おいて、第2段の回路接続が図4例の第1段と第3段に
対する回路接続に対して異なっている。
【0082】図10は、本発明の加算処理を実行する他
の好適実施例の回路構成を示している。この回路は、3
つの段に分割されている。第1段は、4個のPROM4
0〜43を有している。それらは、LSB用PROM4
2、次低位グループ用PROM41、次高位グループ用
PROM42及びMSB用PROM43である。4個の
PROM40〜43は、それぞれ、入力として、3つの
2進入力数X,Y,Zの連続同位5ビットグループを持
っている。4個のPROM40〜43は、出力として、
PROM1個当たり、5ビット和と2ビットけた上がり
を持ち、4個の中間和を作成する。結果として生じる最
終和を丸めるために、1がLSB用PROM40中の次
低位のビットの位置に加算され、LSB用PROM40
の2個のLSBは捨てられる。
【0083】LSB用PROM40の中間和のうち捨て
られた2ビットのLSB以外の残りの中間和は、第2段
の4個のPAL46〜49に結合される。これらの4個
のPAL46〜49は、LSB用第2段のPAL46、
次低位グループ用第2段のPAL47、次高位のグルー
プ用第2段のPAL48及びMSB用第2段のPAL4
9である。LSB用PROM40の2つのけた上げビッ
トは、次低位のグループ用PROM41の2ビットのL
SBの位の大きさに対応している。
【0084】この場合、LSB用PROM40の中間和
のうち7ビットのMSBは、LSB用第2段のPAL4
6で、次低位のグループのPROM41の4ビットのL
SBと結合される。LSB用第2段のPAL46は、最
終和としての7ビットのLSBとけた上がり出力ビット
とを作成する。
【0085】LSB用第2段のPAL46からのけた上
げ出力ビットは、次低位のグループ用PROM41の中
間和の3ビットのMSBと、次高位のグループ用PRO
M42の中間和の2つのLSBとともに、次低位のグル
ープ用第2段のPAL47に供給される。PAL47
は、これらに基づいて、最終和の次位の3ビットとけた
上げビットとを作成する。
【0086】同様に、次低位のグループ用第2段のPA
L47からのけた上げ出力ビットは、次高位のグループ
用PROM42の中間和からの次高位の4ビットと、M
SB用PROM43の中間和からのLSBとともに、次
高位グループ用第2段のPAL48に供給される。PA
L48は、これらに基づいて、最終和の次位の4ビット
とけた上げビットとを作成する。最後に、次高位グルー
プ用第2段のPAL48からのけた上げ出力ビットは、
次高位グループ用PROM42の中間和のMSBと、M
SB用PROM43の中間和の6ビットMSBととも
に、MSB用第2段のPAL49に供給される。PAL
49は、これらに基づいて、最終和のうち2ビットのM
SBを作成する。また、MSB用第2段のPAL49
は、2つのクリッピングイネーブル信号(ゼロ57とオ
ーバーフロー58)を出力し、第3段に供給する。第2
段のPAL46〜49における論理の分割の選択は、P
AL内で有効な積形式の数の機能である。
【0087】第3段は、LSB用第3段クリッピングP
AL51とMSB用第3段クリッピングPAL52とを
有している。LSB用第3段クリッピングPAL51
は、入力として、最終和の8ビットLSBと、ゼロ57
とオーバフロー58とのクリッピングイネーブル信号を
もっている。同様に、MSB用第3段クリッピングPA
L52は、入力として、最終和の8ビットMSBと、ゼ
ロ57とオーバーフロー58とのクリッピング信号をも
っている。
【0088】ゼロ57またはオーバーフロー58のクリ
ッピング信号がいずれも成立していかった場合には、L
SB用第3段クリッピングPAL51は、出力として、
最終和の8ビットのLSBを出力し、MSB用第3段ク
リッピングPAL52は、出力として最終和の8ビット
のMSBを出力するので、合わせて16ビットの最終和
が作成される。ゼロ57のクリッピング信号が成立して
いる場合、クリッピングPAL51とPAL52は、ゼ
ロに設定された16ビットの最終和を結合出力として出
力する。オーバーフロー58のクリッピングイネーブル
信号が成立している場合には、クリッピングPAL51
とPAL52は、予め設定された上限値に設定された1
6ビット最終和を結合出力として出力する。
【0089】この設計は、パイプラインになっているの
で、3つの段のそれぞれが記憶される。
【0090】図11は、図10に示した本発明の加算器
を用いた加算動作の視覚的な表現を表している。図11
から分かるように、加算は、分割された3段の動作によ
り行われる。各段は、ピクセルクロック55によって記
録される。X19-0,Y19-0,Z19-0は、3個の20ビッ
トの加数である。第1段では、4個のPROM40〜4
3(図10参照)が、3個の5ビットの数を加算して、
5ビットの和と2ビットのけた上げを作成する。3個の
加数である5ビットのLSB(X0-4,Y0-4,Z 0-4)の加
算が、LSB用PROM40(図10)で実行され、そ
れがブロック60(図11参照)に示されている。その
結果は5ビットの和P0-4 と2ビットのけた上げC0-1
である。
【0091】同様に次の2組の5ビットLSB(X5-9,
5-9,Z5-9)と(X10-14,Y10-14,Z10-14)の加算が、
次低位のグループ用第2段のPAL47(図10参照)
と次高位のグループ用第2段のPAL48(図10参
照)で実行され、それが論理ブロック61,62(図1
1参照)に示されている。そして、それらの結果である
5ビット和P5-9 とP10-14 と2ビットのけた上げC
2-3 とC4-5 とがそれぞれ得られる。最後に、3個の5
ビットの加数MSB(X15-19,Y15-19,Z15-19)の加算
が、MSB用PROM43(図10参照)実行され、そ
れがブロック63(図11参照)に示され、それらの結
果である5ビット和P15-19 と2ビットのけた上げC
6-7 が得られる。
【0092】所定の丸め位を有する丸めビット位置に1
が加算される。本発明の最良モードとしては、ブロック
60(図11参照)に示されているように、最終16ビ
ットの不完全な結果を丸めるために、1が第2ビット
(LSB用PROM40(図10参照))に加算され
る。丸めは、LSB用PROM40(図10参照)の出
力である2個のLSB(P0-1)(ブロック65(図11
参照))を切り捨てることによって達成される。
【0093】第2段では、各PROM40〜43(図1
0)から出力された7ビットが(4個の第2段PAL4
6〜49(図4参照))で同時に加算され16ビット結
果S 0-15が作成される。これが、ブロック66〜69
(図9)にそれぞれ示されている。
【0094】MSB用PAL49(図10参照)は、最
終和の高位グループの連続位(すなわち先頭4ビットP
18-19,C6-7)に含まれている情報を検証することによっ
てその結果が受け入れられるかどうか、ゼロより小さい
か閾値を超えたかということが決定される。出力が制限
範囲内にない場合には、ゼロ57又はオーバーフロー5
8のクリッピングイネーブル信号が出力段(第3段)に
送られる。そして、結果S0-15が、ブロック71,72
(図11参照)にそれぞれ示されているLSB用第3段
クリッピングPAL51(図10参照)とMSB用第3
段クリッピングPAL52(図10参照)によって、前
(ゼロ57)のケースでは全てゼロにクリッピングさ
れ、後(オーバーフロー58)のケースでは全て1にク
リッピングされる。
【0095】なお、本発明は、上記の実施例に限定され
ることなく、本発明の要旨に基づいて当業者が、容易に
種々の変形を行うことができる。
【0096】
【発明の効果】本発明によれば、2以上の多ビットの数
を加算することを可能にする超高速加算器が得られる。
【0097】また、本発明によれば、加算結果を最も値
の近い整数に丸めることができ、かつ、範囲外の和をそ
の値に最も近い範囲の境界にある数にクリップすること
ができる。
【0098】さらに、本発明によれば、最小数の集積回
路で、その加算器のデバッグと支援とが簡単になる超高
速多ビット加算器が得られる。
【図面の簡単な説明】
【図1】既製の4ビット加算器用集積回路を用いたオフ
セット2の補数加算器を示すブロック図である。
【図2】累算器回路を用いた数個の数を加算するオフセ
ット2の補数加算器を示すブロック図である。
【図3】4個の15ビットの数を加算する代表的な第1
段の回路図である。
【図4】3個の5ビット加算器を用いて3個の20ビッ
トの数を加算する3段構成の回路図である。
【図5】MSB用第1段のPROMをプログラムするた
めに用いられるCコードを有する線図である。
【図6】MSB用第1段のPROMをプログラムするた
めに用いられるCコードを有する線図である。
【図7】中間有効ビット用第1段のPROMをプログラ
ムするために用いられるCコードを有する線図である。
【図8】中間有効ビット用第1段のPROMをプログラ
ムするために用いられるCコードを有する線図である。
【図9】LSB用第1段のPROMをプログラムするた
めに用いられるCコードを有する線図である。
【図10】本発明の3入力20ビット加算器の回路の他
の実施例の構成を示す線図である。
【図11】図10例の3入力20ビット加算器の動作説
明に供される線図である。
【符号の説明】
35 レジスタ 36〜39 加算器 39,51,52 PAL 40〜43 PROM 55 ピクセルクロック 57 ゼロ 58 オーバーフロー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パトリス キャピタント アメリカ合衆国 カリフォルニア州 94024 ロスアルトス,クエスタドライブ 305

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】 M個のNビット入力数の出力和を作成す
    る回路(ただし、MとNは2以上の整数、上記M個のN
    ビット入力数のそれぞれはN入力ビット信号線として表
    され、入力ビット信号線のそれぞれの電圧レベルがゼロ
    値または1値で表され、上記M個のNビット信号線のそ
    れぞれは、位の大きさが上がっていくように構成されて
    いる。)であって、 上記回路は、入力加数Mを加算するための複数の第1段
    Xビット加算器副回路及び加数と被加数とを加算するた
    めの第2段Kビット加算器副回路を有し、 上記第1段Xビット加算器副回路はY個(ただしYは正
    の整数で、その値はNを所定の整数値Xで割った商に等
    しく、Xは、小さくとも2を底とする対数Mの値を有し
    ている。)であり、上記第1段Xビット加算器副回路の
    それぞれは、Nビット入力数のそれぞれのX連続位入力
    信号ビット線に接続され、他の第1段Xビットの加算器
    副回路のそれぞれとは位において異なる入力数Mのそれ
    ぞれのX同位ビットグループを加算し、第1段和ビット
    信号Xと第1段けた上げビット信号Z(ただしZは、小
    さくとも2を底とする対数Mに等しい最も小さい正整数
    である。)とを出力するものであり、 上記第2段Kビット加算器副回路(ただしKは、小さく
    とも{(N+Z)−X}に等しい正整数である。)は、
    入力としてKビット加算信号とKビット被加算信号とを
    有し、出力としてKビット最終和信号を有し、該出力信
    号は、M個のNビット入力数の出力和のK個の最上位ビ
    ットを表し、上記Kビット加算器は、M個のNビット入
    力数の最下位同位ビットグループを加算するXビット加
    算器を除いて、複数のXビット加算器のそれぞれのXビ
    ット加算器に接続され、Kビット加算信号のうち下位
    ((Y−1)X)ビットを第1段和ビット信号によって
    作成し、Kビット被加数信号のうち((Y−1)Z)ビ
    ットを第1段のけた上げビット信号(第1段けた上げビ
    ット信号のそれぞれは、その第1段けた上げ信号に関係
    付けられた位に対応するビット位置においてKビット被
    加数信号に入力される。)によって作成するものであ
    り、 上記M個のNビット入力数のN+Zビット出力和は、X
    ビット加算器のうちXビット第1段和ビット信号を有
    し、上記Xビット加算器は上記M個のNビット入力数の
    うち下位Xビットグループと上記第2段Kビット加算器
    副回路のKビット最終和信号とを加算することを特徴と
    する多ビット入力加算回路。
  2. 【請求項2】 上記M個のNビット入力数のそれぞれ
    が、オフセット2の補数であり、上記出力和がオフセッ
    ト2の補数である請求項1記載の多ビット入力加算回
    路。
  3. 【請求項3】 上記第2段Kビット加算器が上記Kビッ
    ト最終和信号の最上位ビットを反転する手段を有し、上
    記出力和を2の補数にしたことを特徴とする請求項2記
    載の多ビット入力加算回路。
  4. 【請求項4】 上記M個のNビット入力数のそれぞれが
    2の補数であり、上記M個のNビット入力数の最上位同
    位ビットグループを加算する上記Xビット加算器が、上
    記M個のNビット入力数をオフセット2の補数に変換す
    るために、上記M個のNビット入力数のうち最上位ビッ
    トを反転させる手段を有し、上記出力和をオフセット2
    の補数にしたことを特徴とする請求項1記載の多ビット
    入力加算回路。
  5. 【請求項5】 上記第2段Kビット加算器が上記Kビッ
    ト最終和信号のうち最上位ビットを反転する手段を有
    し、上記出力和を2の補数にしたことを特徴とする請求
    項4記載の多ビット入力加算回路。
  6. 【請求項6】 上記第2段Kビット加算器はC個のBビ
    ット加算器(ただし、CとBは整数で、CとBの積はK
    であり、該Bビット加算器のそれぞれは、入力としてK
    ビット加数信号のうちのB個の同位ビットとKビット被
    加数信号のBビットと1ビット入力けた上げ信号とを有
    し、出力としてKビット最終和信号のBビット和信号と
    1ビット出力けた上げ信号とを有する。)を有し、B個
    の最上位ビット和信号に対するKビット加算器を除い
    て、次高位Bビット和信号のBビット加算器に接続し、
    個々のKビット加算器の1ビット入力けた上げビット信
    号をB個の最上位ビット和信号に対するKビット加算器
    を除いて、次高位Bビット加算信号のBビット加算器の
    1ビット出力けた上げ信号としたことを特徴とする請求
    項1記載の多ビット入力加算回路。
  7. 【請求項7】 上記全ての加算器副回路が読み出し専用
    メモリ集積回路であることを特徴とする請求項1記載の
    多ビット入力加算回路。
  8. 【請求項8】 上記全ての加算器副回路が再書き込み可
    能な読み出し専用メモリ集積回路であることを特徴とす
    る請求項7記載の多ビット入力加算回路。
  9. 【請求項9】 上記XとYの積はNより大きく、HとN
    の加算がXとYとの積に等しい、上記M個のNビット入
    力数の最上位ビットを加算する第1段Xビット加算器
    は、入力としてM個のNビット入力数のH個の最上位ビ
    ットを有し、上記M個のNビット入力数のうち上記H個
    の最上位ビットを加算し、第1段上位Hビット和信号H
    と第1段けた上げ上位Zビット信号とを出力し、H個第
    1段H個最上位ビット和ビット信号とZ個の最上位ビッ
    ト第1段けた上げビット信号を出力し、上記最上位Hビ
    ット第1段加算器は第2段Kビット加算器に接続される
    ことを特徴とする請求項1記載の多ビット入力加算回
    路。
  10. 【請求項10】 M個のNビット入力数のそれぞれは小
    数部を有し、上記第1段Xビット加算器副回路は、所定
    の丸め位の直下位のビットを加算し、また、所定の丸め
    位の直下位のビットに1を加算し、さらに、所定の丸め
    位より低位の出力和は無視し、最終和は、所定の丸め位
    に丸めるようにしたことを特徴とする請求項1記載の多
    ビット入力加算回路。
  11. 【請求項11】 最低位第1段ビット加算器のXビット
    第1段和ビット信号と第2段Kビット加算器副回路のK
    ビット最終和信号とに結合されるゼロクリッピング手段
    を有し、このゼロクリッピング手段は、入力として出力
    和を有し、出力としてゼロにクリップされた出力和を有
    し、かつ最終和の最上位ビットが値1であるとき出力和
    をゼロにクリップすることを特徴とする請求項1記載の
    多ビット入力加算回路。
  12. 【請求項12】 最低位第1段ビット加算器副回路のX
    ビット第1段和ビット信号と第2段Kビット加算器副回
    路のKビット最終和信号とに結合されるオーバーフロー
    クリッピング手段を有し、このオーバーフロークリッピ
    ング手段は入力として入力和を有し、出力としてオーバ
    ーフロークリップされた出力和を有し、かつ最終和が所
    定の閾値を超えたときオーバーフロークリップ出力和を
    所定の閾値にすることを特徴とする請求項1記載の多ビ
    ット入力加算回路。
  13. 【請求項13】 M個のNビット入力数の出力和を作成
    する回路(ただし、MとNは2以上の整数、上記M個の
    Nビット入力数のそれぞれはN入力ビット信号線として
    表され、入力ビット信号線のそれぞれの電圧レベルがゼ
    ロ値または1値で表され、上記M個のNビット信号線の
    それぞれは、位の大きさが上がっていくように構成され
    ている。)であって、 上記回路は、入力加数Mを加算するための複数の第1段
    Xビット加算器副回路及び加数と被加数とを加算するた
    めの第2段Kビット加算器副回路と複数組のZ個のけた
    上げビット信号線と複数組のX個の第1段和ビット信号
    線を有し、 上記第1段Xビット加算器副回路はY個(ただし、Yは
    正の整数で、その値はNを所定の整数値Xで割った商に
    等しく、Xは、小さくとも2を底とする対数Mの値を有
    している。)であり、上記第1段Xビット加算器副回路
    のそれぞれは、Nビット入力数のそれぞれのX連続位入
    力信号ビット線に接続され、他の第1段Xビットの加算
    器副回路のそれぞれとは位において異なる入力数Mのそ
    れぞれのX同位ビットグループを加算し、第1段和ビッ
    ト信号Xと第1段けた上げビット信号Z(ただし、Z
    は、小さくとも2を底とする対数Mに等しい最も小さい
    正整数である。)とを出力するものであり、 上記第2段Kビット加算器副回路(ただしKは、小さく
    とも{(N+Z)−X}に等しい正整数である。)は、
    入力としてKビット加算信号とKビット被加算信号とを
    有し、出力としてKビット最終和信号を有し、該出力信
    号は、M個のNビット入力数の出力和のK個の最上位ビ
    ットを表し、上記Kビット加算器は、M個のNビット入
    力数の最下位同位ビットグループを加算するXビット加
    算器を除いて、複数のXビット加算器のそれぞれのXビ
    ット加算器に接続され、Kビット加算信号のうち下位
    ((Y−1)X)ビットを第1段和ビット信号によって
    作成し、Kビット被加数信号のうち((Y−1)Z)ビ
    ットを第1段のけた上げビット信号(この第1段けた上
    げビット信号のそれぞれは、その第1段けた上げ信号に
    関係付けられた位に対応するビット位置においてKビッ
    ト被加数に入力される。)によって作成するものであ
    り、 上記複数組のZ個のけた上げビット信号線(ただし、組
    の数はYである。)の各組は、上記第1段加算器副回路
    の一つを第2段Kビット加算器副回路に接続し、そのけ
    た上げビット信号線を、上記Z個のけた上げビット信号
    線の各組のそれぞれが、個々の第1段加算器の第1段け
    た上げビット信号を第2段Kビット加算器のKビット被
    加数信号に供給するように配置されるものであり、 上記複数組のX個の第1段和ビット信号線(ただし、組
    の数はD個であり、DはYより1だけ少ない数に等し
    い。)の組のそれぞれは、D個の高位第1段加算器副回
    路の一つを第2段Kビット加算器副回路に接続し、X個
    の第1段和ビット信号線の組のそれぞれが個々の第1段
    加算器の第1段和ビット信号を上記第2段Kビット加算
    器のKビット被加数信号に供給するように配置されるも
    のであり、 上記M個のNビット入力数のN+Zビット出力和は、X
    ビット加算器の第1段和ビット信号X(ただし、このX
    ビット加算器はM個のNビット入力数のうち下位Xビッ
    トグループと上記第2段Kビット加算器副回路のKビッ
    ト最終和信号とを加算する。)を有することを特徴とす
    る多ビット入力加算回路。
  14. 【請求項14】 上記M個のNビット入力数のそれぞれ
    が、オフセット2の補数であり、上記出力和がオフセッ
    ト2の補数である請求項13記載の多ビット入力加算回
    路。
  15. 【請求項15】 上記第2段Kビット加算器が上記Kビ
    ット最終和信号の最上位ビットを反転する手段を有し、
    上記出力和を2の補数にしたことを特徴とする請求項1
    4記載の多ビット入力加算回路。
  16. 【請求項16】 上記M個のNビット入力数のそれぞれ
    が2の補数であり、上記M個のNビット入力数の最上位
    同位ビットグループを加算する上記Xビット加算器が、
    上記M個のNビット入力数をオフセット2の補数に変換
    するために、M個のNビット入力数のうち最上位ビット
    を反転させる手段を有し、上記出力和をオフセット2の
    補数にしたことを特徴とする請求項13記載の多ビット
    入力加算回路。
  17. 【請求項17】 上記第2段Kビット加算器が上記Kビ
    ット最終和信号のうち最上位ビットを反転する手段を有
    し、上記出力和を2の補数にしたことを特徴とする請求
    項16記載の多ビット入力加算回路。
  18. 【請求項18】 上記第2段Kビット加算器は、複数の
    Bビット加算器{(ただし、数はC個であり、CとBは
    整数であり、CとBの積はKであり、入力としてKビッ
    ト加数信号のうちのB個の同位ビットとKビット被加数
    信号のBビットと1ビット入力けた上げ信号とを有し、
    出力として、Kビット最終和信号のうちBビット和信号
    と1ビット出力けた上げ信号とを有する。}を有し、上
    記Kビット加算器のそれぞれは、B個の最上位ビット和
    信号に対するKビット加算器を除いて、次高位Bビット
    和信号のBビット加算器に接続され、個々のKビット加
    算器の1ビット入力けた上げビット信号を、B個の最上
    位ビット和信号に対するKビット加算器を除いて、次高
    位Bビット加算信号のBビット加算器の1ビット出力け
    た上げ信号にすることを特徴とする請求項13記載の多
    ビット入力加算回路。
  19. 【請求項19】 上記全ての加算器副回路が読み出し専
    用メモリ集積回路であることを特徴とする請求項13記
    載の多ビット入力加算回路。
  20. 【請求項20】 上記全ての加算器副回路が再書き込み
    可能な読み出し専用メモリ集積回路であることを特徴と
    する請求項19記載の多ビット入力加算回路。
  21. 【請求項21】 上記XとYの積はNより大きく、Hと
    Nの加算がXとYとの積に等しいものであり、 上記M個のNビット入力数の最上位ビットを加算する第
    1段Xビット加算器は、入力としてM個のNビット入力
    数のH個の最上位ビットを有し、M個のNビット入力数
    のうち上記H個の最上位ビットを加算し、第1段上位H
    ビット和信号Hと第1段けた上げ上位Zビット信号とを
    出力し、H個第1段H個最上位ビット和ビット信号とZ
    個の最上位ビット第1段たけ上げビット信号を出力し、
    第2段Kビット加算器に接続されることを特徴とする請
    求項13記載の多ビット入力加算回路。
  22. 【請求項22】 M個のNビット入力数のそれぞれは小
    数部を有し、上記第1段Xビット加算器副回路は、所定
    の丸め位の直下位のビットを加算し、また、所定の丸め
    位の直下位のビットに1を加算し、さらに、所定の丸め
    位より低位の出力和は無視し、最終和は、所定の丸め位
    に丸めるようにしたことを特徴とする請求項13記載の
    多ビット入力加算回路。
  23. 【請求項23】 最低位第1段ビット加算器のXビット
    第1段和ビット信号と第2段Kビット加算器副回路のK
    ビット最終和信号とに結合されるゼロクリッピング手段
    を有し、このゼロクリッピング手段は、入力として出力
    和を有し、出力としてゼロにクリップされた出力和を有
    し、かつ最終和の最上位ビットが1値であるとき出力和
    をゼロにクリップすることを特徴とする請求項13記載
    の多ビット入力加算回路。
  24. 【請求項24】 最低位第1段ビット加算器副回路のX
    ビット第1段和ビット信号と第2段Kビット加算器副回
    路のKビット最終和信号とに結合されるオーバーフロー
    クリッピング手段を有し、このオーバーフロークリッピ
    ング手段は入力として入力和を有し、出力としてオーバ
    ーフロークリップされた出力和を有し、かつ最終和が所
    定の閾値を超えたときオーバーフロークリップ出力和を
    所定の閾値にすることを特徴とする請求項13記載の多
    ビット入力加算回路。
  25. 【請求項25】 M個のNビット入力数の出力和を作成
    する回路(ただし、MとNは、2以上の整数、上記M個
    のNビット入力数のそれぞれはN入力ビット信号として
    順次N入力ビット信号線に供給され、このN入力ビット
    信号線は入力ビット信号線のそれぞれにおける電圧レベ
    ルがオフセット2の補数2進数ビットのゼロ値または1
    値で表され、上記M個のNビット信号線のそれぞれは、
    位の大きさが上がっていくように構成されている。)で
    あって、 上記回路は、N+Zビット累算器副回路とN+Zビット
    中間和信号復帰線と演算手段を有し、 上記N+Zビット累算器副回路(ただしZは小さくとも
    2を底とする対数Mに等しい最小正整数である。)は、
    入力としてNビット加数とN+Zビット被加数とを有
    し、出力としてN+Zビット中間和信号を有し、かつN
    ビット加数を供給するN入力信号ビット線に接続される
    ものであり、 上記N+Zビット中間和信号復帰線は、N+Zビット中
    間和信号をN+Zビット累算器のN+Zビット加数に供
    給するものであり、 上記減算手段は、上記N+Zビット累算器副回路のN+
    Zビット中間和信号に接続され、入力としてN+Zビッ
    ト累算器副回路のN+Zビット中間和信号を有し、出力
    としてN+Zビット最終和を有し、負数M(2N−1)
    のN+Zビットオフセット2の補数表現をN+Zビット
    中間和信号に加算して、N+Zビット中間和をM個のN
    ビット入力数の出力和の2の補数表現に変換し、さら
    に、Nビット入力数をN+Zビット中間和に加算するこ
    とを特徴とする多ビット入力加算回路。
  26. 【請求項26】 上記減算手段が中間和信号の{(N−
    1)+((log2(M))−1)}ビット信号を反転す
    る(ただし、Mは正整数の2の累乗である。)ものであ
    ることを特徴とする請求項25記載の多ビット入力加算
    回路。
  27. 【請求項27】 M個のNビット入力数の出力和を作成
    する方法(ただし、MとNは、2以上の整数、上記M個
    のNビット入力数のそれぞれはN入力ビット信号線とし
    て表され、入力ビット信号線のそれぞれの電圧レベルが
    ゼロ値または1値で表される、上記M個のNビット信号
    線のそれぞれは、位の大きさが上がっていくように構成
    されている。)であって、 上記方法は、第1〜第3の過程を有し、 上記第1の過程は、M個のNビット入力数のそれぞれの
    N入力ビット信号線のそれぞれをX連続位入力信号ビッ
    ト線のY区分グループに分ける(ただし、Xは所定整数
    値で小さくとも底を2とする対数Mの値を有し、YはN
    をXで割った商である。)ものであり、 上記第2の過程は、M個のNビット入力数のそれぞれに
    対する連続位入力信号ビット線のXのグループの1つ
    を、M入力加数を加算するための複数の第1段Xビット
    加算器副回路のうち1つのXビット加算器に供給する過
    程であり、Y個の第1段Xビット加算器副回路のそれぞ
    れは、Nビット入力数のそれぞれのX連続位入力信号ビ
    ット線に接続し、他の第1段Xビットの加算器副回路の
    それぞれとは位において異なるM個入力数のそれぞれの
    X同位ビットグループを加算し、第1段和ビット信号X
    と第1段けた上げビット信号Z(ただし、Zは、小さく
    とも2を底とする対数Mに等しい最小正整数である。)
    を出力するものであり、 上記第3の過程は、M個のNビット入力数の最下位同位
    ビットグループを加算するXビット加算器以外の複数の
    第1段Xビット加算器の第1段けた上げビット信号と第
    1段和ビット信号とを第2段Kビット加算器副回路(た
    だし、該第2段Kビット加算器副回路は、加数と被加数
    とを加算するものであり、Kは、小さくとも{(N+
    Z)−X}に等しい正整数であり、入力としてKビット
    加数信号とKビット被加算信号とを有し、出力としてK
    ビット最終和信号を有し、該出力信号は、M個のNビッ
    ト入力数の出力和のK個の最上位ビットを表し、複数の
    Xビット加算器のそれぞれのXビット加算器にM個のN
    ビット入力数の最下位ビット同位ビットグループを加算
    するXビット加算器を除いて接続され、Kビット加算信
    号のうち下位((Y−1)X)ビットは第1段和ビット
    信号とし作成され、Kビット被加数信号のうち((Y−
    1)Z)ビットは第1段のけた上げビット信号にされ、
    第1段けた上げビット信号のそれぞれは、その第1段け
    た上げ信号に関係付けられた位に対応するビット位置に
    おいてKビット加数に入力される。)に供給する過程で
    あり、 M個のNビット入力数のN+Zビット出力和は、Xビッ
    ト加算器(ただし、このXビット加算器はM個のNビッ
    ト入力数のうち下位Xビットグループと上記第2段Kビ
    ット加算器副回路のKビット最終和信号とを加算す
    る。)のX個の第1段和ビット信号Xを有することを特
    徴とする多ビット入力加算方法。
  28. 【請求項28】 上記M個のNビット入力数のそれぞれ
    が、オフセット2の補数であり、上記出力和がオフセッ
    ト2の補数である請求項27記載の多ビット入力加算方
    法。
  29. 【請求項29】 上記Kビット最終和信号の最上位ビッ
    トを反転する過程を有し、出力和が2の補数にされたこ
    とを特徴とする請求項28記載の多ビット入力加算方
    法。
  30. 【請求項30】 上記M個のNビット入力数のそれぞれ
    が2の補数であり、それらをXビット加算器(ただし、
    このXビット加算器は、M個のNビット入力数の最上位
    同位ビットグループを加算してオフセット2の補数に変
    換するものである。)に供給する前にM個のNビット入
    力数の最上位ビットを反転する過程を有し、上記出力和
    をオフセット2の補数としたことを特徴とする請求項2
    7記載の多ビット入力加算方法。
  31. 【請求項31】 上記Kビット最終和信号のうち最上位
    ビットを反転する過程を有し、上記出力和を2の補数に
    したことを特徴とする請求項30記載の多ビット入力加
    算方法。
  32. 【請求項32】 上記第2段Kビット加算器(ただし、
    C個のBビット加算器有し、CとBは整数であり、Cと
    Bの積はKであり、入力としてKビット加算信号のうち
    のB同位ビットとKビット被加算信号のBビットと1ビ
    ット入力けた上げ信号とを有し、出力としてKビット最
    終和信号のうちBビット和信号と1ビット出力けた上げ
    信号とを有するものである。)は、最上位ビット和信号
    Bに対するKビット加算器を除いて次高位Bビット和信
    号のBビット加算器に接続され、個々のKビット加算器
    の1ビット入力けた上げビット信号を最上位ビット和信
    号Bに対するKビット加算器を除いて、次高位Bビット
    加算信号のBビット加算器の1ビット出力けた上げ信号
    にしたことを特徴とする請求項27記載の多ビット入力
    加算方法。
  33. 【請求項33】 上記全ての加算器副回路が読み出し専
    用メモリ集積回路であることを特徴とする請求項27記
    載の多ビット入力加算方法。
  34. 【請求項34】 上記全ての加算器副回路が再書き込み
    可能な読み出し専用メモリ集積回路であることを特徴と
    する請求項33記載の多ビット入力加算方法。
  35. 【請求項35】 上記XとYの積はNより大きく、Hと
    Nの加算がXとYとの積に等しいものであり、上記M個
    のNビット入力数の最上位ビットを加算する第1段Xビ
    ット加算器は、入力としてM個のNビット入力数のH個
    の最上位ビットを有し、これらを加算し、H個の第1段
    H個最上位ビット和信号とZ個の最上位ビット第1段け
    た上げ信号とを出力し、上記最上位Hビット第1段加算
    器は第2段Kビット加算器に接続されることを特徴とす
    る請求項27記載の多ビット入力加算方法。
  36. 【請求項36】 上記M個のNビット入力数のそれぞれ
    は小数部を有し、 さらに、第1段Xビット加算器副回路(この第1段Xビ
    ット加算器副回路は、所定の丸め位の直下位のビット
    を、上記所定の丸め位の直下位の上記ビットに加算する
    ものである)に1を加算する加算過程を有し、 さらに、上記所定の丸め位より低位の全ての出力和を無
    視する無視手段を有し、最終和が、所定の丸め位に丸め
    られたことを特徴とする請求項27記載の多ビット入力
    加算方法。
  37. 【請求項37】 上記最終和の最上位ビットがゼロクリ
    ッピング手段内に1値を有しているときに上記出力和を
    ゼロに設定する過程を有し、 上記ゼロクリッピング手段は、最低位第1ビット加算器
    用のXビット第1段和ビット信号と第2段Kビット加算
    器副回路のKビット最終和信号とを結合し、入力として
    出力和を有し、出力としてゼロにクリップされた出力和
    を有し、最終和の最上位ビットが1値であるときゼロク
    リップ出力和をゼロにすることを特徴とする請求項27
    記載の多ビット入力加算方法。
  38. 【請求項38】 上記出力和が所定の閾値を超えたとき
    に、その出力和をオーバーフロークリッピング手段内の
    所定の閾値に設定する過程を有し、 上記オーバーフロークリッピング手段は、最低位第1ビ
    ット加算器副回路のXビット第1段和ビット信号と第2
    段Kビット加算器副回路のKビット最終和信号とを結合
    し、入力として出力和を有し、出力としてオーバーフロ
    ークリップされた出力和を有し、最終和が所定の閾値を
    超えていたときオーバーフロークリップ出力和を所定の
    閾値にすることを特徴とする請求項27記載の多ビット
    入力加算方法。
JP03908993A 1992-02-26 1993-02-26 多ビット入力加算回路及びその方法 Expired - Fee Related JP3393493B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US842220 1992-02-26
US07/842,220 US5210711A (en) 1992-02-26 1992-02-26 Very fast variable input multi-bit adder

Publications (2)

Publication Number Publication Date
JPH05341963A true JPH05341963A (ja) 1993-12-24
JP3393493B2 JP3393493B2 (ja) 2003-04-07

Family

ID=25286796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03908993A Expired - Fee Related JP3393493B2 (ja) 1992-02-26 1993-02-26 多ビット入力加算回路及びその方法

Country Status (2)

Country Link
US (1) US5210711A (ja)
JP (1) JP3393493B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242928A (ja) * 1993-02-22 1994-09-02 Nec Corp 加算器およびこれを用いた乗算回路
US5493524A (en) * 1993-11-30 1996-02-20 Texas Instruments Incorporated Three input arithmetic logic unit employing carry propagate logic
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US6385634B1 (en) * 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
JPH09222992A (ja) * 1996-02-07 1997-08-26 Internatl Business Mach Corp <Ibm> 演算処理方法
JPH1084281A (ja) * 1996-09-06 1998-03-31 Nec Corp Da変換装置
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
US6192467B1 (en) 1998-03-31 2001-02-20 Intel Corporation Executing partial-width packed data instructions
US6233671B1 (en) 1998-03-31 2001-05-15 Intel Corporation Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions
US6230257B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Method and apparatus for staggering execution of a single packed data instruction using the same circuit
DE19819550B4 (de) * 1998-04-30 2004-03-18 Lawo Ag Verfahren und Vorrichtung zum Mischen von Audiosignalen
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
TWI277064B (en) * 2003-09-29 2007-03-21 Mediatek Inc A method of determining a merging bit in an optical storage device
JP3746285B2 (ja) * 2003-12-18 2006-02-15 日本テキサス・インスツルメンツ株式会社 加算回路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3535502A (en) * 1967-11-15 1970-10-20 Ibm Multiple input binary adder
US3906211A (en) * 1974-05-23 1975-09-16 Bell Telephone Labor Inc Three-word adder carry propagation
JPH0391832A (ja) * 1989-09-05 1991-04-17 Sony Corp 加算回路

Also Published As

Publication number Publication date
JP3393493B2 (ja) 2003-04-07
US5210711A (en) 1993-05-11

Similar Documents

Publication Publication Date Title
JP3393493B2 (ja) 多ビット入力加算回路及びその方法
US7822799B1 (en) Adder-rounder circuitry for specialized processing block in programmable logic device
US5493520A (en) Two state leading zero/one anticipator (LZA)
JP2000347836A (ja) 高次基数除算器およびその方法
JP3418460B2 (ja) 倍精度除算回路および方法
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPH0773227A (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
JPH0659858A (ja) 浮動小数点演算装置
US10223068B2 (en) Partially and fully parallel normaliser
US5530664A (en) Method and apparatus for automatically designing logic circuit, and multiplier
JP3356613B2 (ja) 加算方法および加算器
JPH04270415A (ja) 高性能加算器
US6484193B1 (en) Fully pipelined parallel multiplier with a fast clock cycle
CN114169274A (zh) 一种面向fpga的多路选择器工艺映射方法
JPH03228121A (ja) プライオリティ・エンコーダ
US5978826A (en) Adder with even/odd 1-bit adder cells
JP2002014804A (ja) 三値ディジタル回路
Nithyashree et al. Design of an efficient vedic binary squaring circuit
JP3693748B2 (ja) 制御可能な幅のorゲート
JP2991788B2 (ja) 復号器
JPS62219027A (ja) 桁上げ先見回路
JP3471577B2 (ja) ビット連続数検出装置
KR0154934B1 (ko) 개선된 2의 보수회로
KR0154933B1 (ko) 개선된 인크리먼트 회로

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080131

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090131

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100131

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100131

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110131

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees