JP3198795B2 - 加算器及び加算方法 - Google Patents
加算器及び加算方法Info
- Publication number
- JP3198795B2 JP3198795B2 JP09325294A JP9325294A JP3198795B2 JP 3198795 B2 JP3198795 B2 JP 3198795B2 JP 09325294 A JP09325294 A JP 09325294A JP 9325294 A JP9325294 A JP 9325294A JP 3198795 B2 JP3198795 B2 JP 3198795B2
- Authority
- JP
- Japan
- Prior art keywords
- carry
- data
- output
- bit
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
実行する加算器に関するものである。
(以下DSPと略称)には、高速なデータ処理が求めら
れている。すなわち、ディジタル変換された音声、画像
等の膨大なデータを圧縮、伸張するといった処理を高速
実行することが要求される。このような処理には高速フ
ーリエ変換(以下FFTと略称)が多用されているので
あるが、FFTの処理にはビットリバースアドレシング
と呼ばれるデータ転送処理がある。このビットリバース
アドレシングを実行するための従来のリバースキャリー
加算器について以下図面を参照しながら説明する。
加算器を示している。図3において、400、401は
1ビットデータ、410はキャリーを上位ビットに伝播
する(通常の加算)か、下位ビットに伝播する(リバー
スキャリー加算)か設定する制御信号、415は1ビッ
トデータ400、401の加算出力、420、421は
制御信号410により、キャリーの入出力を行なうキャ
リー信号、430は、キャリー入出力入れ替え回路であ
る。
410が0)の真理値表は(表1)のようになり、キャ
リー420を入力、キャリー421を出力とする加算を
実行する。また、リバースキャリー加算時(制御信号4
10が1)には、(表1)のキャリー420、421の
入出力が切り替わる。すなわちキャリー420を出力、
キャリー421を入力とする加算(リバースキャリー加
算)を実行する。上記により、通常の加算またはリバー
スキャリー加算を同一の回路で切り換えて使用できる
(例えば、特開平1−180633号公報)。
ような構成は、加算出力415、キャリー信号420、
421を1ビット単位で出力しているため、一般に知ら
れている桁上げ先見回路と併用する事は困難である。そ
のため、nビット(nは1以上の整数、例えば15)の
加算を行なう場合、最上位ビット(通常の加算時)、最
下位ビット(リバースキャリー加算時)のデータの確定
が遅くなる。すなわち、上記の加算器でキャリー420
または421を発生するために通過する論理ゲート数は
5であり、この加算器をn個接続して得られるnビット
加算器の通過する論理ゲート数は最大5×nとなり高速
処理には適さないという問題点を有していた。
通常の加算またはリバースキャリー加算を高速に実行す
る加算器を提供することを目的とする。
めに請求項1に係る発明においては、奇数ビットより構
成される2組のデータを加算する加算器において、前記
2組のデータを入力とし、各ビット毎に桁上げ生成信号
及び桁上げ伝播信号を出力する演算手段と、前記演算手
段から出力される前記2組のデータの中央のビットから
nビット(nは1以上の整数であり、前記データを構成
するビット数を2で割った値を越えない)下位のビット
の桁上げ生成信号及び桁上げ伝播信号と、前記2組のデ
ータの中央のビットからnビット上位のビットの桁上げ
生成信号及び桁上げ伝播信号のいずれか一方を選択する
選択手段と、前記演算手段の出力と前記選択手段の出力
により、前記2組のデータの加算を行なう加算手段とを
備えた加算器としている。
手段の出力と、前記選択手段の出力により、前記2組の
データの最上位ビットより発生するキャリーを出力する
キャリー発生手段とを備えた請求項1記載の加算器とし
ている。
トより構成される2組のデータの加算において、前記2
組のデータの各ビット毎に桁上げ生成値及び桁上げ伝播
値を求めるステップと、前記2組のデータの中央のビッ
トからnビット(nは1以上の整数であり、前記データ
を構成するビット数を2で割った値を越えない)下位の
ビットの桁上げ生成値及び桁上げ伝播値と、前記2組の
データの中央のビットからnビット上位のビットの桁上
げ生成値及び桁上げ伝播値のいずれか一方を選択するス
テップとを備えた加算方法としている。
位ビットへ伝播する通常の加算を実行するか、あるいは
キャリーを下位ビットへ伝播するリバースキャリー加算
を実行するかにより、選択手段において下位ビットから
の桁上げ生成信号、桁上げ伝播信号を出力するか、上位
ビットからの桁上げ生成信号、桁上げ伝播信号を出力す
るかを切り換える。
よび各ビットから出力される桁上げ伝播信号を入力と
し、各ビットの加算を実行することにより、単一の回路
構成で、通常の加算およびリバースキャリー加算を高速
に実行する。
について3ビットより構成される2組のデータを加算す
る場合の動作を図面を参照しながら説明する。
ものである。図1において、100はa2〜a0の3ビ
ットよりなる加算対象のデータ(a2を最上位ビット、
a0を最下位ビットとする)、110はb2〜b0の3
ビットよりなる加算対象のデータ(b2を最上位ビッ
ト、b0を最下位ビットとする)、115はその値が
「0」のとき通常の加算を行ない、「1」のときリバー
スキャリー加算を行なうことを指示する制御信号、11
7は最下位ビット(通常の加算時)または最上位ビット
(リバースキャリー加算時)に入力するキャリー、12
0はデータ100のa0、データ110のb0を入力と
し、G0=a0・b0、P0=a0 xorb0 (以
降、・は論理積、xorは排他的論理和を表す)の演算
を行い、桁上げ生成信号(G0)及び桁上げ伝播信号
(P0)を出力する演算回路、121はデータ100の
a1、データ110のb1を入力とし、G1=a1・b
1、P1=a1 xor b1 の演算を行い、桁上げ
生成信号(G1)及び桁上げ伝播信号(P1)を出力す
る演算回路、122はデータ100のa2、データ11
0のb2を入力とし、G2=a2・b2、P2=a2
xor b2 の演算を行い、桁上げ生成信号(G2)
及び桁上げ伝播信号(P2)を出力する演算回路、13
0は制御信号115が「1」のときG2、「0」のとき
G0を選択し出力する選択回路、132は制御信号11
5が「1」のときP2、「0」のときP0を選択し出力
する選択回路、140は選択回路130、132の出
力、およびキャリー117を入力とし、後述の演算回路
181にデータを出力する桁上げ先見回路、141は桁
上げ先見回路140から出力されるデータ、145は選
択回路130、132の出力、演算回路121から出力
されるG1、P1、およびキャリー117を入力とし、
後述の選択回路150、152にデータを出力する桁上
げ先見回路、146は桁上げ先見回路145から出力さ
れるデータ、150は制御信号115が「1」のときデ
ータ146、「0」のときキャリー117を出力する選
択回路、152は制御信号115が「1」のときキャリ
ー117、「0」のときデータ146を出力する選択回
路、180は、P0と選択回路150出力との排他的論
理和を演算し、加算結果d0を出力する演算回路、18
1は、P1とデータ141との排他的論理和を演算し、
加算結果d1を出力する演算回路、182は、P2と選
択回路152出力との排他的論理和を演算し、加算結果
d2を出力する演算回路である。160は、桁上げ先見
回路140,145、選択回路150,152、演算回路
180〜182から構成させる。
において、キャリーを上位ビットに伝播する通常の加
算、及びキャリーを下位ビットに伝播するリバースキャ
リー加算の動作を図1を用いて説明する。
ーを伝播する加算を行なう場合、まず、制御信号115
を「0」に設定する。演算回路120、121、122
はデータ100、110の各ビット毎の演算を実行す
る。すなわち、Gi=ai・bi、Pi=ai xor
bi(以降、iは0〜2を表す)の演算を行うこと
で、桁上げ生成信号(Gi)、桁上げ伝播信号(Pi)
を出力する。
が「0」であるので、それぞれG0、P0を選択して、
桁上げ先見回路140、145に出力する。
の出力(G0)、選択回路132の出力(P0)、キャ
リー117について演算を行なう。すなわち、Y=Gm
+Cin・Pm(このときmは0、また以降、Cinは
キャリー117、Yはデータ141、+は論理和を表
す)の演算を行い、演算回路181にデータ141を出
力する。
の出力(G0)、選択回路132の出力(P0)、演算
回路121の出力(G1,P1)、キャリー117につ
いて演算を行なう。すなわち、Z=G1+(Gm+Ci
n・Pm)・P1(このときmは0、また以降、Zはデ
ータ146を表す)の演算を行い、選択回路150、1
52にデータ146を出力する。
であるので、キャリー117を選択し演算回路180に
出力する。また、選択回路152は制御信号115が
「0」であるので、データ146を選択し演算回路18
2に出力する。
力されるP0と選択回路150の出力について演算を行
なう。すなわち、このときd0=P0 xor Cin
の演算を実行する。
力されるP1とデータ141について演算を行なう。す
なわち、このときd1=P1 xor Y=P1 xo
r(G0+Cin・P0)の演算を実行する。
力されるP2と選択回路152の出力について演算を行
なう。すなわち、このときd2=P2 xor Z=P
2xor {G1+(G0+Cin・P0)・P1}の
演算を実行する。
通常の加算が行なわれ、加算結果d2,d1,d0が得
られる。
ビットへキャリーを伝播する加算を行なう場合、まず、
制御信号115を「1」に設定する。
が「1」であるので、それぞれG2、P2を選択して、
桁上げ先見回路140、145に出力する。
の出力(G2)、選択回路132の出力(P2)、キャ
リー117について演算を行なう。すなわち、Y=Gm
+Cin・Pm(このときmは2)の演算を行い、演算
回路181にデータ141を出力する。
の出力(G2)、選択回路132の出力(P2)、演算
回路121の出力(G1,P1)、キャリー117につ
いて演算を行なう。すなわち、Z=G1+(Gm+Ci
n・Pm)・P1(このときmは2)の演算を行い、選
択回路150、152にデータ146を出力する。
であるので、データ146を選択し演算回路180に出
力する。
「1」であるので、キャリー117を選択し演算回路1
82に出力する。
力されるP0と選択回路150の出力について演算を行
なう。すなわち、このときd0=P0 xor Z=P
0xor G1+(G2+Cin・P2)・P1の演算
を実行する。
力されるP1とデータ141について演算を行なう。す
なわち、このときd1=P1 xor Y=P1 xo
r(G2+Cin・P2)の演算を実行する。
力されるP2と選択回路152の出力について演算を行
なう。すなわち、このときd2=P2+Cinの演算を
実行する。
リバースキャリー加算の実行が行なわれ、リバースキャ
リー加算結果d2,d1,d0が得られる。
器について3ビットより構成される2組のデータを加算
する場合の動作を図面を参照しながら説明する。
ものである。図2において、100〜182は図1に示
したものと同じである。230は制御信号115が
「1」のときG0、「0」のときG2を選択し出力する
選択回路、232は制御信号115が「1」のときP
0、「0」のときP2を選択し出力する選択回路、24
0は選択回路130、132、230、232の出力、
及び演算回路121から出力される桁上げ生成信号(G
1)、桁上げ伝播信号(P1)、及びキャリー117を
入力とし、制御信号115が「0」のとき後述のキャリ
ー242を出力し、制御信号115が「1」のとき後述
のキャリー243を出力する桁上げ先見回路、242は
通常の加算時のみ桁上げ先見回路240から出力される
キャリー、243はリバースキャリー加算時のみ桁上げ
先見回路240から出力されるキャリーである。
において、キャリーを上位ビットに伝播する通常の加
算、及びキャリーを下位ビットに伝播するリバースキャ
リー加算の動作を図2を用いて説明する。
加算を行なう場合、選択回路230、232は制御信号
115が「0」であるので、それぞれG2、P2を選択
して、桁上げ先見回路240に出力する。桁上げ先見回
路240は、選択回路130の出力(G0)、選択回路
132の出力(P0)、選択回路230の出力(G
2)、選択回路232の出力(P2)、キャリー117
について演算を行なう。すなわち、W=Gn+Pn・
{G1+P1・(Gm+Pm・Cin)}の演算を実行
する(このときmは0、nは2を表す)。また制御信号
115が「0」であるので、上記演算結果Wをキャリー
242に出力する。
0、110の加算により発生するキャリー242、及び
加算結果d2,d1,d0が出力される。
選択回路230、232は制御信号115が「1」であ
るので、それぞれG0、P0を選択して、桁上げ先見回
路240に出力する。
の出力(G2)、選択回路132の出力(P2)、選択
回路230の出力(G0)、選択回路232の出力(P
0)、キャリー117について演算を行なう。すなわ
ち、W=Gn+Pn・{G1+P1・(Gm+Pm・C
in)}の演算を実行する(このときmは2、nは0を
表す)。また制御信号115が「1」であるので、上記
演算結果Wをキャリー243に出力する。
0、110のリバースキャリー加算により発生するキャ
リー243、及び加算結果d2,d1,d0が出力され
る。
おいて加算結果d2,d1,d0及びキャリー242、
243を出力するために通過する論理ゲート数について
述べる。
ai・bi、Pi=ai xorbiの演算実行のた
め、通過する論理ゲート数は、1。選択回路130、1
32、230、232、150、152において通過す
る論理ゲート数は、1。
+Cin・Pmの演算実行のため、通過する論理ゲート
数は、2。
+(Gm+Cin・Pm)・P1=G1+(Gm・P1
+Cin・Pm・P1)の演算実行のため、通過する論
理ゲート数は、2。
+Pn・{G1+P1・(Gm+Cin・Pm)}=G
n+Pn・G1+Pn・P1・Gm+Pn・P1・Ci
n・Pmの演算実行のため、通過する論理ゲート数は、
2。
的論理和ゲート1個で構成されるため、通過する論理ゲ
ート数は、1。
成するために通過する論理ゲート数は、演算回路120
〜122で1、選択回路130、132、230、23
2で1、桁上げ先見回路240で2の合計4となる。
加算器を5個接続し、15ビットの加算器とした場合、
最上位ビット(通常の加算時)または、最下位ビット
(リバースキャリー加算時)からあふれるキャリーを出
力するために通過する論理ゲート数は、4×5=20と
なる。なお、同様の動作を図3に示した従来の加算器で
実行するとキャリーを得るために5×15=75とな
る。
は、奇数ビットより構成される2組のデータを入力と
し、各ビット毎に桁上げ生成信号及び桁上げ伝播信号を
出力する演算手段と、前記演算手段から出力される前記
2組のデータの中央のビットからnビット(nは1以上
の整数であり、前記データを構成するビット数を2で割
った値を越えない)下位のビットの桁上げ生成信号及び
桁上げ伝播信号と、前記2組のデータの中央のビットか
らnビット上位のビットの桁上げ生成信号及び桁上げ伝
播信号のいずれか一方を選択する選択手段と、前記演算
手段の出力と前記選択手段の出力により、前記2組のデ
ータの加算を行なう加算手段とを設けることにより、単
一の加算器で通常の加算またはリバースキャリー加算を
高速に実行できる。
手段の出力と、前記選択手段の出力により、前記2組の
データの最上位ビットより発生するキャリーを出力する
キャリー発生手段とを設けることにより、本構成の加算
器を複数接続することができ、多数のビットより構成さ
れるデータの加算またはリバースキャリー加算を高速に
実行できる。
択回路 140、145、240 桁上げ先見回路 242、243 加算器から出力するキャリー
Claims (3)
- 【請求項1】奇数ビットより構成される2組のデータを
加算する加算器において、 前記2組のデータを入力とし、各ビット毎に桁上げ生成
信号及び桁上げ伝播信号を出力する演算手段と、 前記演算手段から出力される前記2組のデータの中央の
ビットからnビット(nは1以上の整数であり、前記デ
ータを構成するビット数を2で割った値を越えない)下
位のビットの桁上げ生成信号及び桁上げ伝播信号と、前
記2組のデータの中央のビットからnビット上位のビッ
トの桁上げ生成信号及び桁上げ伝播信号のいずれか一方
を選択する選択手段と、 前記演算手段の出力と前記選択手段の出力により、前記
2組のデータの加算を行なう加算手段とを備えたことを
特徴とする加算器。 - 【請求項2】前記演算手段の出力と、前記選択手段の出
力により、前記2組のデータの最上位ビットより発生す
るキャリーを出力するキャリー発生手段を備えたことを
特徴とする請求項1記載の加算器。 - 【請求項3】奇数ビットより構成される2組のデータの
加算において、 前記2組のデータの各ビット毎に桁上げ生成値及び桁上
げ伝播値を求めるステップと、 前記2組のデータの中央のビットからnビット(nは1
以上の整数であり、前記データを構成するビット数を2
で割った値を越えない)下位のビットの桁上げ生成値及
び桁上げ伝播値と、前記2組のデータの中央のビットか
らnビット上位のビットの桁上げ生成値及び桁上げ伝播
値のいずれか一方を選択するステップとを備えたことを
特徴とする加算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09325294A JP3198795B2 (ja) | 1994-05-02 | 1994-05-02 | 加算器及び加算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09325294A JP3198795B2 (ja) | 1994-05-02 | 1994-05-02 | 加算器及び加算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07302189A JPH07302189A (ja) | 1995-11-14 |
JP3198795B2 true JP3198795B2 (ja) | 2001-08-13 |
Family
ID=14077318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09325294A Expired - Fee Related JP3198795B2 (ja) | 1994-05-02 | 1994-05-02 | 加算器及び加算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3198795B2 (ja) |
-
1994
- 1994-05-02 JP JP09325294A patent/JP3198795B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07302189A (ja) | 1995-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
US9146707B2 (en) | Generating a fast 3x multiplicand term for radix-8 booth multiplication | |
EP0416869B1 (en) | Digital adder/accumulator | |
JPH0756712A (ja) | 数値計算を実行するプロセスおよびそのプロセスを実現する演算装置 | |
JP3537378B2 (ja) | 加算器および集積回路 | |
JP3356613B2 (ja) | 加算方法および加算器 | |
JP3198795B2 (ja) | 加算器及び加算方法 | |
US6269385B1 (en) | Apparatus and method for performing rounding and addition in parallel in floating point multiplier | |
US5781465A (en) | Method and apparatus for fast carry generation detection and comparison | |
JPH056263A (ja) | 加算器およびその加算器を用いた絶対値演算回路 | |
JP2606339B2 (ja) | 乗算器 | |
US5944777A (en) | Method and apparatus for generating carries in an adder circuit | |
JP6302682B2 (ja) | 複数データ形式を支援する加算器、及びその加算器を利用した複数データ形式の加減演算支援方法 | |
KR950015180B1 (ko) | 고속연산형 가산기 | |
JP4230234B2 (ja) | 全加算器用のパリティ予測回路 | |
JP2681968B2 (ja) | 演算処理装置 | |
JPH09190338A (ja) | 論理演算装置での数学的オーバフロー・フラグ発生遅延の除去 | |
JPH0365723A (ja) | 並列乗算回路 | |
JPH1115641A (ja) | 冗長2進加算器を用いた乗算装置 | |
KR100241066B1 (ko) | 단일명령사이클에서의 A+sin(A)식의 연산 | |
JPH0527948A (ja) | 演算装置 | |
KR100209656B1 (ko) | 가상캐리를 이용한 고속가산기 | |
JP3803653B2 (ja) | 乗算処理装置 | |
JP3457082B2 (ja) | 演算装置 | |
JP3199196B2 (ja) | 5入力加算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080615 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090615 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |