JPH0561646A - 加算回路 - Google Patents

加算回路

Info

Publication number
JPH0561646A
JPH0561646A JP24484291A JP24484291A JPH0561646A JP H0561646 A JPH0561646 A JP H0561646A JP 24484291 A JP24484291 A JP 24484291A JP 24484291 A JP24484291 A JP 24484291A JP H0561646 A JPH0561646 A JP H0561646A
Authority
JP
Japan
Prior art keywords
input
data
adder
partial product
output
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.)
Withdrawn
Application number
JP24484291A
Other languages
English (en)
Inventor
Mitsuharu Oki
光晴 大木
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 JP24484291A priority Critical patent/JPH0561646A/ja
Publication of JPH0561646A publication Critical patent/JPH0561646A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【構成】 mビット語長の入力データ群をデータ入力端
子20 〜23 から入力し、加算器30 〜33 で加算し
て、Mビット語長の出力データをデータ出力端子5から
出力するものであって、入力データ群と加算できる所定
ビットを入力する端子1を設けると共に、各入力データ
の符号ビットのみを反転してデータ入力端子20 〜23
からの入力とする。 【効果】 回路規模を小型化することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力データ群のデータ
を加算して出力データを得る加算回路に関するものであ
る。
【0002】
【従来の技術】複数の入力ポートから入力した入力デー
タ群を加算して出力データを得る加算演算として、例え
ば、4ビット2の補数表現データA(i)=(A(i) 3
(i) 2 ,A(i) 1 ,A(i) 0 2 でi=0〜3の4つ
の数を加算する場合について考える。このi=0〜3の
4つの数(4ビット語長)を加算するため、出力語長は
6ビットとなる。
【0003】このため、従来は、符号ビットであるA
(i) 3 のビットすなわち最上位ビット(MSB)を上位
2ビットに拡張して、上記4ビット2の補数表現データ
を6ビット2の補数表現データにした後、加算を行って
出力データを求めていた。すなわち例えば、図13に示
すように、先ず4ビット2の補数表現データA(0)
(A(0) 3 ,A(0) 2 ,A(0) 1 ,A(0) 0 )の符号ビ
ットであるA(0) 3 のビット(MSB)を、上位2ビッ
トに拡張して6ビット2の補数表現データ(A(0) 3
(0) 3 ,A(0) 3 ,A(0) 2 ,A(0) 1 ,A(0) 0
とする。次に、同様にして、上記データA(0) 以降のデ
ータA(1) ,A(2) ,A(3) についても6ビット2の補
数表現データとし、図14に示すような加算を行う。こ
の時当該図14の加算結果の7ビット目以上は無視し
(図14の図中点線で囲む部分のビット)、出力B=
(B5 ,B4 ,B3 ,B2 ,B1 ,B2 2 を求めてい
た。
【0004】ここで、上述のような演算を行う従来の加
算回路としては、例えば図15及び図16に示すような
回路からなる加算回路(加算回路列)が存在している。
【0005】すなわち、図15に示す加算回路は、例え
ば4ビット語長の入力データ群がそれぞれ入力される複
数の入力ポート(データ入力端子1020 〜1023
と、各データ入力端子1020 〜1023 からの入力デ
ータ群がそれぞれ供給される加算器1030 〜1033
と、各加算器1030 〜1033 の出力(後述する部分
積出力)がそれぞれ供給されるレジスタ(R)1040
〜1043 と、出力データが出力される出力ポート(デ
ータ出力端子105)とを有するものである。なお、図
15において端子101には“0”が入力される。
【0006】すなわちこの図15において、加算器10
0 には、上記データ入力端子1020 からの入力デー
タ群(例えば上記A(0) のデータ)と、上記端子101
からの“0”が供給され、その加算結果が上記レジスタ
1040 に送られる。このレジスタ1040 の出力(部
分積出力)は上記加算器1031 に送られ(当該加算器
1031 への部分積入力として送られ)、この加算器1
031 で上記データ入力端子1021 からの入力データ
群(例えば上記A(1) のデータ)と加算され、レジスタ
1041 に送られる。以下同様に、加算器1032 では
データ入力端子1022 からの入力データ群(例えば上
記A(2) のデータ)とレジスタ1041 の出力との加算
が、加算器1033 ではデータ入力端子1023 からの
入力データ群(例えば上記A(3) のデータ)とレジスタ
1042 の出力との加算が行われる。上記加算器103
3 の出力はレジスタ1043 を介して上記データ出力端
子105から出力される。
【0007】また、上記図15に示す各加算器及びレジ
スタのうちの1組の加算器とレジスタ(例えば加算器1
030 及びレジスタ1040 等の組)は、具体的には、
例えば図16に示すような構成となっている。
【0008】すなわち、この図16の加算回路(以下こ
の加算回路を図15の加算回路と区別するため例えば部
分積加算回路と呼ぶ)は、上記4ビット2の補数表現デ
ータが供給されるデータ入力端子120〜123と、半
加算器(HA)130及び全加算器(FA)131〜1
35と、単位遅延素子であるレジスタ140〜145
と、上記部分積出力が供給される(前段の構成からの部
分積出力が部分積入力として供給される)部分積入力端
子110〜115と、部分積出力を出力する部分積出力
端子150〜155とを有してなるものである。ただ
し、当該図16の部分積加算回路が上記図15の加算器
1030 及びレジスタ1040 の場合には、上記部分積
入力端子110〜115には、上記端子101からの
“0”が供給される。
【0009】この図16の構成において、半加算器13
0及び全加算器131〜135の一方の入力端子には、
上記データ入力端子120〜123からの入力データ
(A(i) =A(i) 3 ,A(i) 2 ,A(i) 1 ,A(i) 0
いずれか)が供給されるようになっている。ただし、全
加算器133,134,135には、上記A(i) 3 が送
られるようになっている。半加算器130及び全加算器
131〜135の和出力(加算出力)は、和出力端子S
から出力されレジスタ140〜145に送られる。ま
た、半加算器130及び全加算器131〜135のキャ
リアウト端子Cからは、キャリ(桁上げ信号)が出力さ
れ、半加算器130のキャリは全加算器131の桁上げ
入力端子へ供給され、以下同様にして、全加算器132
〜135の桁上げ入力端子へは前段の全加算器からのキ
ャリが供給されるようになっている。更に、各レジスタ
140〜145の出力は、上記部分積出力端子150〜
155に送られるようになっている。なお、上記図16
において、A(i) 3 のビットが3つの全加算器133,
134,135に供給されているのは、上記図14で示
したように符号ビット(すなわちMSB)の拡張を行っ
ているからである。
【0010】上述のような図15及び図16において、
先ず、例えば、図15の加算器1030 及びレジスタ1
040 の組の図16の部分積加算回路では、上記図15
の端子101からの“0”が図16の上記部分積入力端
子110〜115に供給され、また、上記データ入力端
子120〜123には上記図15のデータ入力端子10
0 からのデータA(0) =(A(0) 3 ,A(0) 2 ,A
(0) 1 ,A(0) 0 2 を入力する。これにより、上記半
加算器130及び全加算器131〜135では、 “0”+A(0) =A(0) が計算され、その結果が単位遅延素子である上記各レジ
スタ140〜145に入力される。各レジスタ140〜
145は、この供給された値を保持する。この保持され
たデータが、部分積出力として上記部分積出力端子15
0〜155から出力される。
【0011】次の部分積加算回路(図15の加算器10
1 及びレジスタ1041 の組)では、データ入力端子
120〜123からA(1) =(A(1) 3 ,A(1) 2 ,A
(1) 1 ,A(1) 0 2 のデータ(図15のデータ入力端
子1021 からのデータ)を入力する。また、部分積入
力端子110〜115には、前段の部分積加算回路から
の部分積出力が部分積入力として入力されてくる。これ
により、上記半加算器130及び全加算器131〜13
5では、上記部分積入力端子110〜115に供給され
た上記部分積入力(A(0) )と、上記入力データA(1)
との加算(A(0) +A(1) )が行われる。この加算結果
が再び上記各レジスタ140〜145に送られ保持され
た後、部分積出力端子150〜155から部分積出力と
して出力される。
【0012】この次の部分積加算回路(図15の加算器
1032 及びレジスタ1042 の組)では、データ入力
端子120〜123からA(2) =(A(2) 3
(2) 2 ,A(2) 1 ,A(2) 0 2 のデータ(図15の
データ入力端子1022 からのデータ)を入力する。ま
た、部分積入力端子110〜115には、前段の部分積
加算回路からの部分積出力が部分積入力として入力され
てくる。これにより、上記半加算器130及び全加算器
131〜135では、上記部分積入力端子110〜11
5に供給された上記部分積入力(A(0) +A(1) )と、
上記入力データA(2) との加算((A(0) +A(1) )+
(2) )が行われる。この加算結果が再び上記各レジス
タ140〜145に送られ保持された後、部分積出力端
子150〜155から部分積出力として出力される。
【0013】更に次の部分積加算回路(すなわち図15
の最後の加算器1033 及びレジスタ1043 の組)で
は、データ入力端子120〜123からA(3) =(A
(3) 3 ,A(3) 2 ,A(3) 1 ,A(3) 0 2 のデータを
入力する。また、部分積入力端子110〜115には、
前段の部分積加算回路からの部分積出力が部分積入力と
して入力されてくる。これにより、上記半加算器130
及び全加算器131〜135では、上記部分積入力端子
110〜115に供給された上記部分積入力(A(0)
(1) +A(2) )と、上記入力データA(3) との加算
((A(0) +A(1) +A(2) )+ (3) )が行わる。
この加算結果が再び上記各レジスタ140〜145に送
られ保持された後、部分積出力端子150〜155(図
15のデータ出力端子105)から加算結果として出力
される。
【0014】すなわち、上述のように、図15の構成に
おいては、図16に示す各部分積加算回路によって図1
7に示す計算式のような加算が行われている。
【0015】ところで、図16の構成では、LSB(最
下位ビット)からMSB(最上位ビット)まで、キャリ
が伝わる時間だけ、演算時間がかかるため、動作速度が
遅かった。そこで、従来より、図16の構成の代わり
に、例えば、キャリを2ビット毎に残し、そのキャリは
次段(図15の次段の部分積加算回路)で加算する図1
8に示すような構成をとることにより、動作速度を早め
る工夫もなされている。なお、この図18において図1
6と同じ構成要素には、同一の指示符号を付している。
【0016】すなわち、この図18の構成においては、
全加算器131のキャリは、レジスタ172を介して端
子182から出力(出力Co2)されて、次段の構成
(次段の部分積加算回路)の端子162に送られる(入
力Ci2)。当該次段の部分積加算回路では、上記端子
162を介した前段の構成(部分積加算回路)の全加算
器131のキャリ(出力Co2)が、当該次段の部分積
加算回路の全加算器132の桁上げ入力端子に供給(入
力Ci2)される。同様に、全加算器133のキャリ
は、レジスタ174を介して端子184から出力(出力
Co4)されて、次段の部分積加算回路の端子164に
送られる(入力Ci4)。当該次段の部分積加算回路で
は、上記端子164を介した前段の部分積加算回路の全
加算器133のキャリ(出力Co4)が、当該次段の部
分積加算回路の全加算器134の桁上げ入力端子に供給
(入力Ci4)される。
【0017】なお、この図18の構成以外にも、各ビッ
ト毎に或いは3ビット以上毎にキャリを残し、そのキャ
リは次段(図15の次段の部分積加算回路)で加算する
構成も従来より存在している。
【0018】ここで、例えば、図15の加算器及びレジ
スタの組(部分積加算回路)を図18の構成とした場
合、図15の構成の出力として得られるデータは、2ビ
ット毎にキャリを残した形式であり、図15には示され
ていない別の加算回路で桁上げ加算をする必要がある。
この桁上げ用の加算回路は、最終段に1つあれば良い。
【0019】すなわちこの場合の加算は、図19に示す
計算式のようになる。なお、この図18及び図19にお
いて、上記入力Ci2,Ci4及び出力Co2,Co4
が、上記2ビット毎に残したキャリを示している。
【0020】ところで、前述した符号ビットを拡張する
場合において、図20に示す関係式が成立することは一
般に知られている。すなわちこの図20の計算を行う場
合において、データA(0) のMSBのA(0) 3 が、例え
ば“0”(A(0) 3 =“0”すなわちA(0) 3 の反転ビ
ットは“1”)の場合と、例えばA(0) 3 =1(すなわ
ちA(0) 3 の反転ビットは“0”)の場合とを、それぞ
れ当該図20に示す式に代入してみれば、与式(図20
の式)が成立していることがわかる。
【0021】また、この図20と同様の式が、データA
(1) ,A(2) ,A(3) についても成立するので、前述し
た図14に示したような加算は、図21に示す計算式の
結果と同値であることがわかる。
【0022】そこで、上述した図17に示す計算を上記
図16の構成によって行う代わりに、例えば図22に示
す計算を図23のような構成の回路で行うことも可能で
ある。すなわち、図15に示す加算器及びレジスタの組
の各部分積加算回路は、図23の構成をとってもよいも
のである。なお、この図23において、図16と同じ構
成要素には、同一の指示符号を付している。
【0023】この図23の構成においては、図22の計
算を行うために、上記図16の構成に対して、入力端子
123と全加算器133との間にA(i) 3 の反転のため
のインバータ124を挿入し、更に、部分積入力端子1
13,114,115と全加算器133,134,13
5との間に半加算器213,214,215を挿入する
ようにしている。ここで、上記半加算器213,21
4,215の他方の入力端子はそれぞれ上記部分積入力
端子113,114,115と接続されており、一方の
入力端子はそれぞれ“1”が供給される端子203,2
04,205と接続されている。また、半加算器213
の和出力は全加算器133の前記他方の入力端子に供給
されるようになっており、キャリは全加算器134の前
記一方の入力端子に供給されるようになっている。同様
に、半加算器214の和出力は全加算器134の前記他
方の入力端子に供給されキャリは全加算器135の前記
一方の入力端子に供給されるようになっている。半加算
器215の和出力は全加算器135の前記他方の入力端
子に供給されるようになっている。
【0024】更に、上述したように、図16の構成を図
18の構成のような各ビット若しくは複数ビット毎にキ
ャリを残しそのキャリは次段で加算する構成とすること
により、高速化が可能であると述べたが、この図23の
構成においても同様なことが言える。その例を図24に
示す。なお、この図24において、前述の図18及び上
記図23と同様の構成要素には同一の指示符号を付し
て、その詳細な説明については上記図18及び図23と
同様であるため省略する。この図24の構成において
も、2ビット毎にキャリを残し、そのキャリは次段で加
算(すなわち図25に示す計算)を行うことにより、高
速化を図っている。なお、この図25の計算式は、前記
図19の計算式と図22の計算式とから求められるもの
である。また、図24,図25において、入力Ci2,
Ci4及び出力Co2,Co4が、上記2ビット毎に残
したキャリを示している。
【0025】また更に、図26に示すように、図23,
図24の半加算器213,214,215のような1つ
の入力に“1”が入力されている半加算器(端子191
からの“1”が入力されている半加算器190)は、イ
ンバータ1個(インバータ195)と等価である。した
がって、上記図23,図24の半加算器213,21
4,215は、回路規模的には小さいことになる。な
お、この図26において、上記半加算器190側の端子
192,193,194と、上記インバータ195側の
端子192,193,194とはそれぞれ対応してい
る。
【0026】
【発明が解決しようとする課題】以上述べたことから、
従来の加算回路は、図15及び図16の構成と、図15
及び図18の構成と、図15及び図23の構成と、図1
5及び図24の構成との4種類の構成がある。
【0027】ところが、この4種類の構成の何れもが、
部分積加算回路の部分において、全加算器が5個と、半
加算器が1個(或いはそれ以上の回路規模)が必要であ
り、したがって、これら従来構成は何れも回路規模が大
きくなるという欠点があった。すなわち、この欠点を一
般化して言うと、従来は、mビットの2の補数表現デー
タを2n 個加算する場合(したがってはm+nビット語
長となる)、各データを加算する各加算回路には、全加
算器がm+n−1個、半加算器が1個必要であり、これ
によって回路規模の増大を招いていた。なお、全加算器
は半加算器の約2倍の回路規模である。
【0028】そこで、本発明は、上述のような実情に鑑
みて提案されたものであり、回路規模を小型化すること
の可能な加算回路を提供することを目的とするものであ
る。
【0029】
【課題を解決するための手段】本発明の加算回路は、上
述の目的を達成するために提案されたものであり、mビ
ット語長(mは1以上の整数)の入力データ群を第1の
複数の入力ポートから入力し、加算してMビット語長
(Mはmをこえる整数)の出力データを出力ポートから
出力する加算回路(加算回路列)において、上記入力デ
ータ群と加算できるMビット語長の所定のデータを入力
するための第2の入力ポートを設け、上記入力データ群
の加算の際には、上記第2の入力ポートから上記所定の
データを入力すると共に、上記入力データ群の各入力デ
ータの符号ビットのみを反転して(他のビットはそのま
まで)上記第1の複数の入力ポートからの入力とするよ
うにしたものである。
【0030】ここで、符号ビットを拡張するということ
は、符号ビットを反転して入力データの上位ビット側に
“11・・・11”をたすことと同じである。したがっ
て、本発明では、この点に着目して、2n 個の(各入力
データの)上記上位ビット側の“11・・・11”の合
計を加算回路(加算回路列)の先頭にセットしておく
か、或いは、加算回路(加算回路列)の途中若しくは最
終段で加算するようにしておき、2n 個のmビット語長
のデータ(符号ビットは反転)を、加算回路(加算回路
列)で加算していくようにしている。これにより、必要
とする全加算器はm−1個となり、半加算器はn+1個
となる。
【0031】
【作用】本発明によれば、入力データの符号ビットを拡
張する代わりに、第2の入力ポートを設けて、この第2
の入力ポートから上記入力データ群と加算できるMビッ
ト語長の所定のデータを入力し、各入力データの符号ビ
ットのみを反転して(他のビットはそのままで)入力デ
ータ群と加算するようにしている。これにより、上位側
は全加算器でなく半加算器で済むようになる。
【0032】
【実施例】以下、本発明を適用した実施例について図面
を参照しながら説明する。
【0033】本発明実施例の加算回路は、図1に示すよ
うに、mビット語長(mは1以上の整数)の入力データ
群を第1の複数の入力ポートであるデータ入力端子20
〜23 から順次入力し、加算器30 〜33 で加算してM
ビット語長(Mはmをこえる整数)の出力データを出力
ポートであるデータ出力端子5から出力する加算回路
(加算回路列)である。また、本実施例の加算回路は、
上記入力データ群と加算できるMビット語長の後述する
所定のデータを入力するための第2の入力ポートである
端子1を設け、上記入力データ群の加算の際には、上記
端子1から上記所定のデータを入力すると共に、上記入
力データ群の各入力データの符号ビットのみを反転して
(他のビットはそのままで)上記データ入力端子20
3 からの入力とするようにしている。すなわち、本実
施例回路においては、後述する例えば図3の部分積加算
回路に示すように、インバータ24によって上記入力デ
ータ群の各入力データの符号ビット(すなわちMSB)
のみを反転するようにしている。
【0034】ここで例えば、前記図21の4つの(11
1000)2 を先に加算してしまえば、(111000
00)2 となる。この(11100000)2 での7ビ
ット目以上は無視してよいので、図21に示した式は、
(100000)2 +A(0) +A(1) +A(2) +A(3)
(ただし、各A(i) の符号ビットは反転している)とな
る。すなわち、図2に示す計算式のようになり、したが
って、この図2に示す計算式の計算を行えば良いことに
なる。
【0035】この図2に示す加算計算を行うための回路
構成を図3に示す。この図3の加算回路(以下図1の加
算回路と区別するために例えば部分積加算回路と呼ぶ)
は、上記図1の加算回路のうちの一組の加算器及びレジ
スタとして動作するものである。
【0036】すなわちこの図3の部分積加算回路は、上
記4ビット2の補数表現データ(上記入力データ群の各
入力データ)が供給されるデータ入力端子20〜23
と、半加算器(HA)30,全加算器(FA)31〜3
3,半加算器34,35と、単位遅延素子であるレジス
タ40〜45と、前記部分積出力が供給される(前段の
構成からの部分積出力が部分積入力として供給される)
部分積入力端子10〜15と、部分積出力を出力する部
分積出力端子50〜55とを有してなるものであり、ま
た、上記入力データ群の各入力データの符号ビット(M
SB)のみを反転するインバータ24を有し、このイン
バータ24により上記符号ビットを反転するようにして
いるものである。ただし、当該図3の部分積加算回路が
上記図1の加算器30 及びレジスタ40 の組に適用され
る場合には、上記部分積入力端子10〜15には、上記
端子1を介した上記所定のデータとしての図2の(10
0000)2 が供給される。
【0037】この図3の構成において、半加算器(H
A)30及び全加算器(FA)31〜33のそれぞれ一
方の入力端子には、上記データ入力端子20〜23から
の入力データ(A(i) =A(i) 3 ,A(i) 2
(i) 1 ,A(i) 0 のいずれか)が供給されるようにな
っている。上記半加算器30,全加算器31〜33,半
加算器34,35の他方の入力端子は、上記部分積入力
端子10〜15と接続されている。また、半加算器3
0,全加算器31〜33,半加算器34,35の和出力
(加算出力)は、和出力端子Sから出力されレジスタ4
0〜45に送られる。更に、半加算器30,全加算器3
1〜33,半加算器34,35のキャリアウト端子Cか
らは、キャリ(桁上げ信号)が出力され、半加算器30
のキャリは全加算器31の桁上げ入力端子へ供給され、
以下同様にして、全加算器32,33の桁上げ入力端子
へは前段の全加算器からのキャリが供給され、半加算器
34の一方の入力端子へは全加算器33からのキャリ
が、半加算器35の一方の入力端子へは半加算器34か
らのキャリが供給されるようになっている。また更に、
各レジスタ40〜45の出力は、上記部分積出力端子5
0〜55に送られるようになっている。なお、入力デー
タのうち上記A(i) 3 のみがインバータ24で反転され
て、全加算器33に入力されている。
【0038】本実施例では、上述したような図3の構成
を図1の加算器とレジスタの組に適用することで、上記
図2に示したような計算を行うようにしている。以下、
この図1,図2,図3を用いて、本実施例回路の具体的
動作を説明する。
【0039】ここで、前述した従来例の図15において
は、先頭に“0”を入力(端子101の入力)していた
が、本実施例の図1では、端子1に上記所定のデータで
ある上記図2の(100000)2 を入力している。
【0040】したがって、図3及び図1より、本実施例
回路においては、(100000)2 +A(0) +A(1)
+A(2) +A(3) (ただし、各A(i) の符号ビットは反
転している)が計算されることになる。
【0041】すなわち、上記図1及び図3において、先
ず、例えば、図1の加算器30 及びレジスタ40 の組の
図3の部分積加算回路では、上記図1の端子1からの上
記所定のデータの(100000)2 が上記部分積入力
端子10〜15に供給され、上記データ入力端子20〜
23には上記図1のデータ入力端子20 からのデータA
(0) =(A(0) 3 ,A(0) 2 ,A(0) 1 ,A(0) 0 2
を入力する。これにより、上記半加算器30,全加算器
31〜33,半加算器34,35では、(10000
0)2 +A(0) (ただし符号ビットは反転)が計算さ
れ、その結果が上記各レジスタ40〜45に入力され
る。各レジスタ40〜45は、この供給された値を保持
する。この保持されたデータが、部分積出力として上記
部分積出力端子50〜55から出力される。
【0042】次の部分積加算回路(図1の加算器31
びレジスタ41 )では、データ入力端子20〜23から
(1) =(A(1) 3 ,A(1) 2 ,A(1) 1 ,A(1) 0
2 のデータ(図1のデータ入力端子21 からのデータ)
を入力する。また、部分積入力端子10〜15には、前
段の部分積加算回路からの部分積出力が部分積入力とし
て入力されてくる。これにより、上記各半加算器及び全
加算器では、上記部分積入力端子10〜15に供給され
た上記部分積入力((100000)2 +A(0) (ただ
し符号ビットは反転))と、上記入力データA(1) との
加算((100000)2 +A(0) +A(1) (ただし各
符号ビットは反転))が行われる。この加算結果が上記
各レジスタ40〜45に送られ保持された後、部分積出
力端子50〜55から部分積出力として出力される。
【0043】この次の部分積加算回路(図1の加算器3
2 及びレジスタ42 )では、データ入力端子20〜23
からA(2) =(A(2) 3 ,A(2) 2 ,A(2) 1 ,A(2)
0 2 のデータ(図1のデータ入力端子22 からのデー
タ)を入力する。また、部分積入力端子10〜15に
は、前段の部分積加算回路からの部分積出力が部分積入
力として入力されてくる。これにより、上記各半加算器
及び全加算器では、上記部分積入力端子10〜15に供
給された上記部分積入力((100000)2 +A(0)
+A(1) (ただし各符号ビットは反転))と、上記入力
データA(2) との加算(((100000)2 +A(0)
+A(1) )+A(2) (ただし各符号ビットは反転))が
行われる。この加算結果が上記各レジスタ40〜45に
送られ保持された後、部分積出力端子50〜55から部
分積出力として出力される。
【0044】更に次の部分積加算回路(すなわち図1の
最後の加算器33 及びレジスタ43 )では、データ入力
端子20〜23からA(3) =(A(3) 3 ,A(3) 2 ,A
(3) 1 ,A(3) 0 2のデータを入力する。また、部分
積入力端子10〜15には、前段の部分積加算回路から
の部分積出力が部分積入力として入力されてくる。これ
により、上記半加算器及び全加算器では、上記部分積入
力端子10〜15に供給された上記部分積入力((10
0000)2 +A(0) +A(1) +A(2) (ただし各符号
ビットは反転))と、上記入力データA(3) との加算
(((100000)2 +A(0) +A(1) +A(2) )+
(3) (ただし各符号ビットは反転))が行わる。この
加算結果が上記各レジスタ40〜45に送られ保持され
た後、部分積出力端子50〜55(図1のデータ出力端
子5)から加算結果として出力される。
【0045】上述のように、図1の構成の1組の加算器
及びレジスタに、図3に示す各部分積加算回路を用いる
ことにより、上記図2に示す計算式のような加算が行わ
れるようになる。
【0046】また、本発明においては、例えば図4に示
すように、上記所定のデータとしての上記図2の(10
0000)2 を出力段で加算(最終段に設けられた加算
器7で加算)するようにしてもよい。なお、この図4に
おいて上記図1と同様の構成には同一の指示符号を付し
ており、更にこの図4における各A(i) の加算を行う各
加算回路及び各レジスタの組は、上記図3の構成と同様
である。
【0047】ただし、当該図4の構成において、最終段
で上記(100000)2 の加算を行う上記加算器7に
おいては、図4の端子6を介して供給される上記(10
0000)2 の下位側が全て“0”なので、例えば図5
に示すように、MSB側に半加算器35を1個持ち、こ
の半加算器35の一方の入力として端子16からの
“1”が供給されるような構成とするとこができる。ま
た更に、その半加算器35も前述した図26の等価回路
を用いれば、例えばインバータ1個で済むようになる。
【0048】ところで、前述した従来例において各ビッ
ト若しくは複数ビット毎にキャリを残し、そのキャリは
次段で加算することにより、高速化が可能であると述べ
たが、これは、本発明においても同様である。すなわち
図1の構成において、図3の構成の代わりに、例えば図
6の構成を使用することで上記高速化が可能となる。こ
の図6の構成の場合も、2ビット毎にキャリを残し、そ
のキャリは次段で加算するとすることにより、高速化を
図っている。なお、この図6のCi2,Ci4及びCo
2,Co4が、上記2ビット毎に残したキャリを示して
いる。また、この図6において、図3と同じ構成要素に
は同一の指示符号を付している。
【0049】すなわち、この図6の構成においては、全
加算器31のキャリは、レジスタ72を介して端子82
から出力(出力Co2)されて、次段の構成(次段の部
分積加算回路)の端子62に送られる(入力Ci2)。
当該次段の部分積加算回路では、上記端子62を介した
前段の構成(部分積加算回路)の全加算器31のキャリ
(出力Co2)が、当該次段の部分積加算回路の全加算
器32の桁上げ入力端子に供給(入力Ci2)される。
同様に、全加算器33のキャリは、レジスタ74を介し
て端子84から出力(出力Co4)されて、次段の部分
積加算回路の端子64に送られる(入力Ci4)。当該
次段の部分積加算回路では、上記端子64を介した前段
の部分積加算回路の全加算器33のキャリ(出力Co
4)が、当該次段の部分積加算回路の半加算器34の桁
上げ入力端子に供給(入力Ci4)される。
【0050】なお、上記高速化を図る図6の構成におい
ても、従来例で述べたように、桁上げ用の加算回路が最
終段に必要となる。
【0051】また、本実施例の加算回路によれば、上述
したような演算の他に、例えば、上記出力B=(B5
4 ,B3 ,B2 ,B1 ,B0 2 +A(0) +A(1)
(2) +A(3) に対して、下位2ビットを丸め(四捨五
入)て、D=(D5 ,D4 ,D3 ,D2 ,0,0)2
して出力することも可能である。このように、下位2ビ
ットを丸め(四捨五入)て出力したい場合には、例えば
図7の計算式に示すように、下から2ビット目に“1”
を加算して、その後、下2ビットを切り捨て(図7の図
中点線で囲まれる部分のビットを切り捨て)ればよい。
【0052】このような下位2ビットの丸めを、上述し
た図2の計算に適用するときは、この図2の代わりに、
図8に示す計算式の計算を行えばよい。すなわち、この
図8の計算式においては、下から2ビット目に“1”を
加算(“10”を加算)して、その後、下2ビットを切
り捨てるようにする。ここで、例えば図8の(1110
0000)2 と(10)2 を先に加算してしまえば、図
9の計算式に示すようになる。上記図1では、先頭に
(100000)2 を与えていた(端子1に供給してい
た)が、この図9の計算式を当該図1の構成に適用する
場合には、上記(100000)2 の代わりに先頭に
(100010)2 を与えれば(端子1に供給する)、
当該図1の構成によりこの図9の計算を行うことが可能
となる。
【0053】同様に、図4で示した構成の最終段で(1
00010)2 を加算(端子6から入力して加算)する
ようにしてもよい。更に、この図4において、端子1か
ら先頭に(10)2 を入力し、最終段で端子6からの
(100000)2 を加算することにより、図8の計算
式の計算を行うようにすることも可能である。
【0054】なお、上述したように、図1,図4の構成
と、上記図1で(100010)2 を与える構成と最終
段で(100010)2 を加算する構成と、先頭に(1
0)2 を入力し最終段で(100000)2 を加算する
構成とにおいては、各レジスタは、パイプライン用の為
に設けられたものであり、本発明を規制するものではな
い。すなわち、これら構成において、レジスタを無くし
た回路においても、本発明は有効に作用するものであ
る。
【0055】以上の実施例では、4つのデータA
(i) (i=0〜3)についての加算について述べたが、
例えば3つのデータA(i) (i=0〜2)の加算を行う
ようにすることも可能である。この3つのデータの加算
の場合は、例えば図10に示す計算式の計算をすれば良
い。また、この3つのデータの加算を示す図10に示す
計算式においても、例えば3つの(111000)2
先に加算してしまえば、(101000)2 と入力デー
タ群との加算を行う図11の計算式を得ることができ
る。したがって、この図11の計算式の加算を行う本発
明の加算回路は、図12のような構成になる。なお、こ
の図12の構成においては、加算器及びレジスタ,デー
タ入力端子がそれぞれ3つ(加算器30 〜32 ,レジス
タ40〜42 ,データ入力端子20 〜22 )となり、端
子1には上記(101000)2 が供給され、各構成要
素は前記図1と同様に動作する。
【0056】なお、本発明は上述した実施例のように、
入力語長が4ビットに限定されるものではなく、また、
出力語長も6ビットに限定されるものではない。更に、
加算するデータの数も4つ或いは3つに限定されるもの
ではない。
【0057】上述したように、本実施例の加算回路は、
例えば図1,図4においてmビット語長の入力データ群
をデータ入力端子20 〜23 から順次入力し、例えば図
3の半加算器30,34,35及び全加算器31,3
2,33からなる部分積加算回路により加算してMビッ
ト語長の出力データ群をデータ出力端子5から出力する
加算回路(加算回路列)であって、上記入力データ群と
加算できるMビット語長の所定のデータを入力するため
の端子1或いは端子6を設けると共に、例えば図3に示
した各部分積加算回路のインバータ24により上記各入
力データの符号ビットのみを反転した(他のビットはそ
のままで)入力データを、図1の上記データ入力端子2
0 〜23 からの入力とするようにしたことにより、回路
規模を小型化することが可能となっている。
【0058】すなわち換言すれば、本発明では符号ビッ
トを拡張すると言うことは、符号ビットを反転して上位
ビット側に11・・・11を足す事と同じである点に着
目して、2n 個の(各入力データの)上記上位側の11
・・・11の合計を加算回路列の先頭にセットしておく
か、或いは加算回路列の途中若しくは最終段で加算する
ようにしておき、上記2n 個のmビット語長のデータ
(符号ビットは反転)を加算回路列で加算していくこと
により、必要とする全加算器はm−1個、半加算器はn
+1個となり、半加算器の約2倍の回路規模の全加算器
を従来に比べて少なくすることができ、したがって、回
路規模が小さくて済むようになっている。
【0059】
【発明の効果】上述のように、本発明の加算回路におい
ては、mビット語長の入力データ群を第1の複数の入力
ポートから入力し、加算してMビット語長の出力データ
を出力ポートから出力する加算回路において、入力デー
タ群と加算できるMビット語長のデータを入力するため
の第2の入力ポートを設けると共に、各入力データの符
号ビットのみを反転して第1の入力ポートからの入力と
するようにしたことにより、回路規模を小型化すること
が可能となっている。
【図面の簡単な説明】
【図1】実施例の加算回路の概略構成を示すブロック回
路図である。
【図2】本実施例回路で行われる計算の計算式を示す図
である。
【図3】本実施例の部分積加算回路の一例を示すブロッ
ク回路図である。
【図4】本発明の他の実施例の加算回路の概略構成を示
すブロック回路図である。
【図5】他の実施例の最終段の加算器の具体的構成を示
すブロック回路図である。
【図6】高速化を可能とする部分積加算回路の構成を示
すブロック図である。
【図7】下2ビットを丸め(四捨五入)る場合の一般式
を示す図である。
【図8】図2の計算式において下2ビットを丸める場合
の計算式を示す図である。
【図9】図8の(11100000)2 と(10)2
先に加算する計算式を示す図である。
【図10】符号ビット拡張及び3つのデータの加算を行
う計算式を示す図である。
【図11】図11の計算式において3つの(11100
0)2 を先に加算する場合の計算式を示す図である。
【図12】図11の加算を行う加算回路の構成を示す図
である。
【図13】4ビット2の補数表現データを符号ビット拡
張して6ビット2の補数表現データとする様子を説明す
るための図である。
【図14】6ビット2の補数表現データの加算を説明す
るための計算式を示す図である。
【図15】従来の加算回路の構成を示すブロック回路図
である。
【図16】従来の部分積加算回路の一例を示すブロック
回路図である。
【図17】図16の構成における部分積入力とデータと
の加算を示す図である。
【図18】高速化を可能とする従来の部分積加算回路の
一例を示すブロック回路図である。
【図19】図18の構成における部分積入力とキャリ及
びデータとの加算を示す図である。
【図20】符号ビット拡張の一般的な計算式を示す図で
ある。
【図21】符号ビット拡張及び4つの入力データの加算
の計算式を示す図である。
【図22】部分積入力と符号ビット拡張されたデータと
から部分積出力を求める計算式を示す図である。
【図23】図22の計算を行う具体的構成を示すブロッ
ク回路図である。
【図24】図23の構成に対して高速化を図る構成を示
すブロック回路図である。
【図25】図24の構成で行われる計算を示す図であ
る。
【図26】一方の入力に“1”が入力されている半加算
器及びこの半加算器と等価の構成を示す図である。
【符号の説明】
1・・・・・・・・・・・・・所定のデータ用の端子 20 〜23 ・・・・・・・・・データ入力端子 30 〜33 ・・・・・・・・・加算器 40 〜43 ・・・・・・・・・レジスタ 5・・・・・・・・・・・・・データ出力端子

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 mビット語長の入力データ群を第1の複
    数の入力ポートから入力して加算し、Mビット語長の出
    力データを出力ポートから出力する加算回路において、 上記入力データ群と加算できるMビット語長の所定のデ
    ータを入力するための第2の入力ポートを設け、 上記入力データ群の加算の際には、上記第2の入力ポー
    トから上記所定のデータを入力すると共に、上記入力デ
    ータ群の各入力データの符号ビットのみを反転して上記
    第1の複数の入力ポートからの入力とすることを特徴と
    する加算回路。
JP24484291A 1991-08-30 1991-08-30 加算回路 Withdrawn JPH0561646A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24484291A JPH0561646A (ja) 1991-08-30 1991-08-30 加算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24484291A JPH0561646A (ja) 1991-08-30 1991-08-30 加算回路

Publications (1)

Publication Number Publication Date
JPH0561646A true JPH0561646A (ja) 1993-03-12

Family

ID=17124787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24484291A Withdrawn JPH0561646A (ja) 1991-08-30 1991-08-30 加算回路

Country Status (1)

Country Link
JP (1) JPH0561646A (ja)

Similar Documents

Publication Publication Date Title
JPH05134851A (ja) 乗算回路出力方式
JP2970231B2 (ja) 並列乗算回路
JPH0561646A (ja) 加算回路
JP2766133B2 (ja) パラレル・シリアル・データ変換回路
JPH03228122A (ja) 加算回路
KR100663679B1 (ko) 고속 가산기
JPS6126853B2 (ja)
JP3351672B2 (ja) 加算器
JPH0523013Y2 (ja)
US6775685B1 (en) Method and apparatus for calculating energy in a-law or μ-law encoded speech signals
JPH05233224A (ja) 並列加算回路
JPH0635668A (ja) 全加算器
JPS6184123A (ja) 論理集積回路
JPS60217435A (ja) 多重精度浮動小数点加算回路
JPH0381175B2 (ja)
JPH1115641A (ja) 冗長2進加算器を用いた乗算装置
JPH05173762A (ja) 2進数並列2乗算器
JPS63182739A (ja) 乗算処理装置
JPH0561644A (ja) 累加算回路
JPH03226121A (ja) データ変換回路
JPH0324619A (ja) 2進負数表示変換器
JPH056262A (ja) 多入力加算回路
JPS61255115A (ja) バイナリ−・トランスバ−サル・フイルタ
JPH0421026A (ja) 高桁乗算装置
JP2000029663A (ja) データシフト回路

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19981112