JPH09185493A - 加算器用集積回路 - Google Patents
加算器用集積回路Info
- Publication number
- JPH09185493A JPH09185493A JP8319054A JP31905496A JPH09185493A JP H09185493 A JPH09185493 A JP H09185493A JP 8319054 A JP8319054 A JP 8319054A JP 31905496 A JP31905496 A JP 31905496A JP H09185493 A JPH09185493 A JP H09185493A
- Authority
- JP
- Japan
- Prior art keywords
- output
- bit
- cell
- input
- carry
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/501—Half or full adders, i.e. basic adder cells for one denomination
- G06F7/503—Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3876—Alternation of true and inverted stages
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)
- Logic Circuits (AREA)
Abstract
(57)【要約】
【課題】 加算器セルへの入力を反転するせず、加算器
がそれぞれのセルに対して非反転の和の出力を生成する
高速nビット加算器を実現する。 【解決手段】 本発明の集積回路は、縦続接続された1
ビット加算器セルの直列構造である加算器を備える。そ
れらの加算器の回路は全部が同一ではない。加算器に
は、偶数加算器セルと奇数加算器セルとがある。偶数加
算器セルは、非反転入力としてすべての入力を受け取
り、非反転のサム・ビット出力とキャリー・アウト・ビ
ットの反転信号を出力として供給する。奇数加算器セル
は、キャリー・イン・ビットの反転信号を入力として受
け取るが、その他のすべての入力は、非反転信号であ
る。そして、非反転のサム・ビットと、非反転のキャリ
ー・アウト・ビットとを出力として供給する。
がそれぞれのセルに対して非反転の和の出力を生成する
高速nビット加算器を実現する。 【解決手段】 本発明の集積回路は、縦続接続された1
ビット加算器セルの直列構造である加算器を備える。そ
れらの加算器の回路は全部が同一ではない。加算器に
は、偶数加算器セルと奇数加算器セルとがある。偶数加
算器セルは、非反転入力としてすべての入力を受け取
り、非反転のサム・ビット出力とキャリー・アウト・ビ
ットの反転信号を出力として供給する。奇数加算器セル
は、キャリー・イン・ビットの反転信号を入力として受
け取るが、その他のすべての入力は、非反転信号であ
る。そして、非反転のサム・ビットと、非反転のキャリ
ー・アウト・ビットとを出力として供給する。
Description
【0001】
【発明の属する技術分野】本発明は、高速加算器に関
し、特に、隣接する加算器セルが同一でなく、反転した
キャリー入力について動作するようなキャリー・リップ
ル加算器に関する。
し、特に、隣接する加算器セルが同一でなく、反転した
キャリー入力について動作するようなキャリー・リップ
ル加算器に関する。
【0002】
【従来の技術】デジタル信号プロセッサのようなマイク
ロプロセッサは、それぞれが数ビットを有する2つの2
進数の加算を行う。今日、入手できるマイクロプロセッ
サは、4ビットから64ビットの2進数について動作す
るものである。そして、この2進数のビット数は、増加
する傾向にある。したがって、将来のマイクロプロセッ
サは、より多くのビットを有する2進数について動作す
ることが求められている。
ロプロセッサは、それぞれが数ビットを有する2つの2
進数の加算を行う。今日、入手できるマイクロプロセッ
サは、4ビットから64ビットの2進数について動作す
るものである。そして、この2進数のビット数は、増加
する傾向にある。したがって、将来のマイクロプロセッ
サは、より多くのビットを有する2進数について動作す
ることが求められている。
【0003】2つの数の加算を実行する際には、それら
のうちの被加数(augend)である一方の数が第1
のレジスタに格納される。また、加数(addend)
である他方の数は、第2のレジスタに格納される。加算
プロセスは、複数セル加算器の第1のセルの被加数と加
数の最下位のビットを加算することにより、開始する。
そして、サム・ビット(sum bit)とキャリー・
ビットとが生成される。キャリー・ビットは、次のセル
において、被加数ビットと加数ビットとの和に加算され
る。このプロセスは、加算を完了するために必要な数の
セルを通じて続けられる。
のうちの被加数(augend)である一方の数が第1
のレジスタに格納される。また、加数(addend)
である他方の数は、第2のレジスタに格納される。加算
プロセスは、複数セル加算器の第1のセルの被加数と加
数の最下位のビットを加算することにより、開始する。
そして、サム・ビット(sum bit)とキャリー・
ビットとが生成される。キャリー・ビットは、次のセル
において、被加数ビットと加数ビットとの和に加算され
る。このプロセスは、加算を完了するために必要な数の
セルを通じて続けられる。
【0004】それぞれセルでは3つのビット、すなわ
ち、被加数ビットと加数ビットと前のセル(もし、存在
すれば)からのキャリー・ビットの加算が行われる。前
のセルからのキャリー・ビットは、キャリー・イン・ビ
ット(carry in bit)と呼ばれる。これら
3つのビットの加算の結果は、出力として2つのビット
を生ずる。これらの2つのビットはサム・ビットとキャ
リー・ビットであり、このキャリー・ビットは前述した
キャリー・イン・ビットと区別するために、キャリー・
アウト・ビットと呼ばれることもある。このキャリー・
アウト・ビットは、次のセルにキャリー・イン・ビット
として供給されるか、または、キャリー・ルック・アヘ
ッド(carry look−ahead)若しくはキ
ャリー・スキップ・アヘッド(carry skip−
ahead)技術により、より上位のビットのセルの場
所に伝達される。その入力の2つとして、被加数と加数
とが格納されているレジスタの最上位のビットを有する
セルからのキャリー・アウト・ビットは、キャリーのオ
ーバーフロー状態を示すことがある。加算プロセスはそ
れぞれのセルにおいて同一であるので、マイクロプロセ
ッサの製造者は、通常、ひとつのセルについて2進数の
加算を行う論理回路を開発し、その回路をそれぞれのセ
ルの位置に複製する。その結果として得られる複数セル
加算器は、同一の1ビット加算器が縦続された直列構造
を有する。このような複数セル加算器は、キャリー・ス
キップ加算器やその他の形式の高速加算器の中のそれぞ
れのグループの中に用いることができる。
ち、被加数ビットと加数ビットと前のセル(もし、存在
すれば)からのキャリー・ビットの加算が行われる。前
のセルからのキャリー・ビットは、キャリー・イン・ビ
ット(carry in bit)と呼ばれる。これら
3つのビットの加算の結果は、出力として2つのビット
を生ずる。これらの2つのビットはサム・ビットとキャ
リー・ビットであり、このキャリー・ビットは前述した
キャリー・イン・ビットと区別するために、キャリー・
アウト・ビットと呼ばれることもある。このキャリー・
アウト・ビットは、次のセルにキャリー・イン・ビット
として供給されるか、または、キャリー・ルック・アヘ
ッド(carry look−ahead)若しくはキ
ャリー・スキップ・アヘッド(carry skip−
ahead)技術により、より上位のビットのセルの場
所に伝達される。その入力の2つとして、被加数と加数
とが格納されているレジスタの最上位のビットを有する
セルからのキャリー・アウト・ビットは、キャリーのオ
ーバーフロー状態を示すことがある。加算プロセスはそ
れぞれのセルにおいて同一であるので、マイクロプロセ
ッサの製造者は、通常、ひとつのセルについて2進数の
加算を行う論理回路を開発し、その回路をそれぞれのセ
ルの位置に複製する。その結果として得られる複数セル
加算器は、同一の1ビット加算器が縦続された直列構造
を有する。このような複数セル加算器は、キャリー・ス
キップ加算器やその他の形式の高速加算器の中のそれぞ
れのグループの中に用いることができる。
【0005】
【発明が解決しようとする課題】高速nビットのキャリ
ー・リップル加算器を形成するために、一連の1ビット
加算器を縦続接続する周知の技術は、加算結果とキャリ
ー出力を生成するために用いられる最後のインバータを
省略することである。その他のすべての1ビット加算器
またはセルは、反転入力に対して動作するように設計さ
れている。この技術の欠点は、代わりのセルの和の入力
と同様に、他のすべてのセルの入力を反転するためのイ
ンバータを追加する必要があることである。
ー・リップル加算器を形成するために、一連の1ビット
加算器を縦続接続する周知の技術は、加算結果とキャリ
ー出力を生成するために用いられる最後のインバータを
省略することである。その他のすべての1ビット加算器
またはセルは、反転入力に対して動作するように設計さ
れている。この技術の欠点は、代わりのセルの和の入力
と同様に、他のすべてのセルの入力を反転するためのイ
ンバータを追加する必要があることである。
【0006】それぞれのセルの位置に同一の回路を用い
ることとすると、加算を実行する前にセルへの入力のう
ちのいくつかを反転する必要が生ずる。または、加算を
実行した後であって、縦続された直列構造のなかの次の
セルへ出力する前、もしくは、加算器からの出力ビット
として出力する前に、セルからの出力のうちのいくつか
を反転する必要が生ずる。インバータを追加すると加算
動作のために消費される電力が増加し、加算動作を完了
するためにセルが必要とする時間も長くなる。このよう
に長くかかる時間は、マイクロプロセッサが、マトリッ
クス乗算や畳み込み、相関のように、加算を集中的に行
う動作を実行する時は、積算されることとなる。
ることとすると、加算を実行する前にセルへの入力のう
ちのいくつかを反転する必要が生ずる。または、加算を
実行した後であって、縦続された直列構造のなかの次の
セルへ出力する前、もしくは、加算器からの出力ビット
として出力する前に、セルからの出力のうちのいくつか
を反転する必要が生ずる。インバータを追加すると加算
動作のために消費される電力が増加し、加算動作を完了
するためにセルが必要とする時間も長くなる。このよう
に長くかかる時間は、マイクロプロセッサが、マトリッ
クス乗算や畳み込み、相関のように、加算を集中的に行
う動作を実行する時は、積算されることとなる。
【0007】したがって、加算セルへのいずれの入力も
反転する必要が無く、また、加算器がそれぞれのセルに
対して真の和の出力を生成するような、高速nビット加
算器を実現することが望ましい。
反転する必要が無く、また、加算器がそれぞれのセルに
対して真の和の出力を生成するような、高速nビット加
算器を実現することが望ましい。
【0008】
【課題を解決するための手段】本発明によれば、集積回
路は、縦続接続された1ビット加算器セルの直列構造で
ある加算器を備える。それらの加算器の回路は全部が同
一ではない。加算器には、2つのタイプ、すなわち、偶
数加算器セルと奇数加算器セルとがある。偶数加算器セ
ルは、非反転入力としてすべての入力を受け取り、非反
転のサム・ビット出力とキャリー・アウト・ビットの反
転信号を出力として供給する。奇数セルは、キャリー・
イン・ビットの反転信号を入力として受け取るが、その
他のすべての入力は、非反転信号である。そして、非反
転のサム・ビットと、非反転のキャリー・アウト・ビッ
トとを出力として供給する。
路は、縦続接続された1ビット加算器セルの直列構造で
ある加算器を備える。それらの加算器の回路は全部が同
一ではない。加算器には、2つのタイプ、すなわち、偶
数加算器セルと奇数加算器セルとがある。偶数加算器セ
ルは、非反転入力としてすべての入力を受け取り、非反
転のサム・ビット出力とキャリー・アウト・ビットの反
転信号を出力として供給する。奇数セルは、キャリー・
イン・ビットの反転信号を入力として受け取るが、その
他のすべての入力は、非反転信号である。そして、非反
転のサム・ビットと、非反転のキャリー・アウト・ビッ
トとを出力として供給する。
【0009】
【発明の実施の形態】図1は、本発明の実施の形態を表
すnビット加算器10の概略構成図である。変数Nは、
1より大きいいかなる値をとることができ、奇数でも偶
数でも良い。加算器10は、あらゆる高速加算器の部品
として用いることができる。そのような高速加算器とし
ては、キャリー・スキップ加算器や、キャリー・ルック
・アヘッド加算器や、キャリー・セレクト加算器などが
挙げられるがこれらに限定されるものではない。図1に
示した実施の形態においては、加算器10はリップル・
キャリー加算を行うために、複数の縦続されたセル12
によって構成されている。ここでは、これらのセルを便
宜的に偶数または奇数のセルと指定することとし、例え
ば、偶数セル14または奇数セル16のように呼ぶこと
とする。
すnビット加算器10の概略構成図である。変数Nは、
1より大きいいかなる値をとることができ、奇数でも偶
数でも良い。加算器10は、あらゆる高速加算器の部品
として用いることができる。そのような高速加算器とし
ては、キャリー・スキップ加算器や、キャリー・ルック
・アヘッド加算器や、キャリー・セレクト加算器などが
挙げられるがこれらに限定されるものではない。図1に
示した実施の形態においては、加算器10はリップル・
キャリー加算を行うために、複数の縦続されたセル12
によって構成されている。ここでは、これらのセルを便
宜的に偶数または奇数のセルと指定することとし、例え
ば、偶数セル14または奇数セル16のように呼ぶこと
とする。
【0010】加算のプロセスにおいては、2つの数を2
進数で表現したビットが互いに加算される。被加数Aは
図示しない第1のレジスタに格納されている。加数B
は、同様に図示しない第2のレジスタに格納されてい
る。加算器10のそれぞれのセル12は、3つの入力、
すなわち、被加数ビットAkと、加数ビットBkと、キ
ャリー・イン・ビットCk−1とを有する。加算器10
のそれぞれのセル12は、2つの出力、すなわち、サム
・ビットSkと、キャリー・アウト・ビットCkとを有
する。ここで、より大きい有効ビットの加算を実行して
いるセルにキャリー・ビットを伝達するためにルック・
アヘッドやキャリー・スキップ・アヘッドのような技術
が用いられても、あるセルのキャリー・アウト・ビット
は、縦続して並ぶその次のセルのキャリー・イン・ビッ
トである。
進数で表現したビットが互いに加算される。被加数Aは
図示しない第1のレジスタに格納されている。加数B
は、同様に図示しない第2のレジスタに格納されてい
る。加算器10のそれぞれのセル12は、3つの入力、
すなわち、被加数ビットAkと、加数ビットBkと、キ
ャリー・イン・ビットCk−1とを有する。加算器10
のそれぞれのセル12は、2つの出力、すなわち、サム
・ビットSkと、キャリー・アウト・ビットCkとを有
する。ここで、より大きい有効ビットの加算を実行して
いるセルにキャリー・ビットを伝達するためにルック・
アヘッドやキャリー・スキップ・アヘッドのような技術
が用いられても、あるセルのキャリー・アウト・ビット
は、縦続して並ぶその次のセルのキャリー・イン・ビッ
トである。
【0011】加算プロセスは、被加数A0の最下位ビッ
ト(LSB)と、加数B0のLSBと、加算セル12の
キャリー・イン・ビットC−1とを加算することにより
開始する。キャリー・インC−1の非反転版が得られる
場合は、LSBが加算される加算セル12は、偶数セル
14として選択される。また、キャリー・インの反転版
が得られる場合は、LSBが加算される加算セル12
は、奇数セル16として選択される。
ト(LSB)と、加数B0のLSBと、加算セル12の
キャリー・イン・ビットC−1とを加算することにより
開始する。キャリー・インC−1の非反転版が得られる
場合は、LSBが加算される加算セル12は、偶数セル
14として選択される。また、キャリー・インの反転版
が得られる場合は、LSBが加算される加算セル12
は、奇数セル16として選択される。
【0012】偶数セル14は、キャリー・イン・ビット
Ck−1の非反転出力を受け取って、キャリー・アウト
・ビット−Ckの反転出力を生成する。奇数セル16
は、キャリー・イン・ビット−Ck−1の反転出力を受
け取って、キャリー・アウト・ビットCkの非反転出力
を生成する。
Ck−1の非反転出力を受け取って、キャリー・アウト
・ビット−Ckの反転出力を生成する。奇数セル16
は、キャリー・イン・ビット−Ck−1の反転出力を受
け取って、キャリー・アウト・ビットCkの非反転出力
を生成する。
【0013】この加算プロセスは、被加数と加数との加
算が完了するために必要とされる数のセル12にわたっ
て続けられる。加算器10からの出力は、従来知られて
いるように、サム・ビットSN,SN−1,・・・S
3,S2,S1,S0と、被加数と加数の最上位ビット
を加算するセル12のキャリー・アウト・ビットCNと
である。ここで、キャリー・アウト・ビットCNの論理
値がハイ(high)であることは、オーバーフロー状
態が生じていることを示す。
算が完了するために必要とされる数のセル12にわたっ
て続けられる。加算器10からの出力は、従来知られて
いるように、サム・ビットSN,SN−1,・・・S
3,S2,S1,S0と、被加数と加数の最上位ビット
を加算するセル12のキャリー・アウト・ビットCNと
である。ここで、キャリー・アウト・ビットCNの論理
値がハイ(high)であることは、オーバーフロー状
態が生じていることを示す。
【0014】図2は、偶数セル14の論理ダイアグラム
図である。同図に示した偶数セル14は、入力と、出力
および、その内部で生成され用いられる信号に下付き文
字iを付している。被加数ビットAiは、複数の入力を
有する排他的NOR(ENOR)ゲート20のひとつの
入力に供給されている。被加数ビットAiは、また、複
数の入力を有するマルチプレクサ22の入力にも供給さ
れている。加数ビットBiは、ENORゲート20の別
の入力に供給されている。また、この加数ビットは、イ
ンバータ24で反転され、加数ビットの反転信号−Bi
とされて、ENORゲート20の別の入力に供給されて
いる。ENORゲート20の出力は、信号−Piであ
り、この信号は偶数セル14において内部的に用いられ
る信号である。この信号−Piは、マルチプレクサ22
にひとつの制御入力を供給し、また、インバータ26に
おいて反転されて信号Piを生成し、その信号Piはマ
ルチプレクサ22の別の制御入力を供給される。信号P
iと−Piは、複数の入力を有するENORゲート28
に2つの入力を供給する。キャリー・イン・ビットCi
−1は、ENORゲート28とマルチプレクサ22に
も、入力を供給する。ENORゲート28の出力は、−
Si、すなわち、サム・ビットSiの反転信号である。
−Siは、インバータ30で反転され、サム・ビットS
iを生成する。
図である。同図に示した偶数セル14は、入力と、出力
および、その内部で生成され用いられる信号に下付き文
字iを付している。被加数ビットAiは、複数の入力を
有する排他的NOR(ENOR)ゲート20のひとつの
入力に供給されている。被加数ビットAiは、また、複
数の入力を有するマルチプレクサ22の入力にも供給さ
れている。加数ビットBiは、ENORゲート20の別
の入力に供給されている。また、この加数ビットは、イ
ンバータ24で反転され、加数ビットの反転信号−Bi
とされて、ENORゲート20の別の入力に供給されて
いる。ENORゲート20の出力は、信号−Piであ
り、この信号は偶数セル14において内部的に用いられ
る信号である。この信号−Piは、マルチプレクサ22
にひとつの制御入力を供給し、また、インバータ26に
おいて反転されて信号Piを生成し、その信号Piはマ
ルチプレクサ22の別の制御入力を供給される。信号P
iと−Piは、複数の入力を有するENORゲート28
に2つの入力を供給する。キャリー・イン・ビットCi
−1は、ENORゲート28とマルチプレクサ22に
も、入力を供給する。ENORゲート28の出力は、−
Si、すなわち、サム・ビットSiの反転信号である。
−Siは、インバータ30で反転され、サム・ビットS
iを生成する。
【0015】マルチプレクサ22への制御信号であるP
iと−Piは、マルチプレクサ22にその入力のうちの
ひとつを、その出力であるキャリー・イン・ビットCi
として選択させる。インバータ22は、Ciを反転し
て、−Ci、すなわち、キャリー・アウト・ビットの反
転信号を生成する。そして、その信号は、偶数セル14
の別の出力となる。
iと−Piは、マルチプレクサ22にその入力のうちの
ひとつを、その出力であるキャリー・イン・ビットCi
として選択させる。インバータ22は、Ciを反転し
て、−Ci、すなわち、キャリー・アウト・ビットの反
転信号を生成する。そして、その信号は、偶数セル14
の別の出力となる。
【0016】セル14からの出力である−CiとSiの
それぞれは、インバータの出力であり、つぎのセルまた
は段への入力としての駆動能力(drive capa
bility)を供給するものである。偶数セル14か
らのキャリー・アウト・ビットは、適正な反転または非
反転の状態とされており、例えば加算器10において縦
続接続されている次のセル12のような奇数セル16に
直接、入力されるようにされている。
それぞれは、インバータの出力であり、つぎのセルまた
は段への入力としての駆動能力(drive capa
bility)を供給するものである。偶数セル14か
らのキャリー・アウト・ビットは、適正な反転または非
反転の状態とされており、例えば加算器10において縦
続接続されている次のセル12のような奇数セル16に
直接、入力されるようにされている。
【0017】図3は、図2に示した偶数セル14をトラ
ンジスタ・レベルで示した概略構成図である。同図に
は、ENORゲート20と28、インバータ24と26
と30と32、およびマルチプレクサ22が示されてい
る。同図に示した偶数セル14は、全部で20個のトラ
ンジスタを有しており、それぞれのENORゲートで4
個ずつ、それぞれのインバータで2個ずつ、また、マル
チプレクサ22で4個のトランジスタが使われている。
ンジスタ・レベルで示した概略構成図である。同図に
は、ENORゲート20と28、インバータ24と26
と30と32、およびマルチプレクサ22が示されてい
る。同図に示した偶数セル14は、全部で20個のトラ
ンジスタを有しており、それぞれのENORゲートで4
個ずつ、それぞれのインバータで2個ずつ、また、マル
チプレクサ22で4個のトランジスタが使われている。
【0018】図4は、奇数セル16の論理ダイアグラム
図である。図4の奇数セル16は、入力と、出力およ
び、その内部で生成され用いられる信号に下付き文字j
を付している。被加数ビットAjは、複数の入力を有す
るENORゲート40のひとつの入力に供給されてい
る。加数ビットBjは、ENORゲート40の別の入力
に供給されている。また、この加数ビットは、インバー
タ44で反転され、加数ビットの反転信号−Bjとされ
て、ENORゲート40の別の入力に供給されている。
ENORゲート40の出力は、信号−Pjであり、この
信号は奇数セル16において内部的に用いられる信号で
ある。この信号−Pjは、マルチプレクサ42にひとつ
の制御入力を供給し、また、インバータ46において反
転されて信号Pjを生成し、その信号Pjはマルチプレ
クサ42の別の制御入力を供給される。信号Pjと−P
jは、複数の入力を有するENORゲート48に2つの
入力を供給する。キャリー・イン・ビット−Cj−1
は、ENORゲート48とマルチプレクサ42にも、入
力を供給する。ENORゲート48の出力は、−Sj、
すなわち、サム・ビットSiの反転信号である。この−
Siは、インバータ50で反転されてサム・ビットSi
を生成し、これが奇数セル16と加算器10の両方の出
力となる。
図である。図4の奇数セル16は、入力と、出力およ
び、その内部で生成され用いられる信号に下付き文字j
を付している。被加数ビットAjは、複数の入力を有す
るENORゲート40のひとつの入力に供給されてい
る。加数ビットBjは、ENORゲート40の別の入力
に供給されている。また、この加数ビットは、インバー
タ44で反転され、加数ビットの反転信号−Bjとされ
て、ENORゲート40の別の入力に供給されている。
ENORゲート40の出力は、信号−Pjであり、この
信号は奇数セル16において内部的に用いられる信号で
ある。この信号−Pjは、マルチプレクサ42にひとつ
の制御入力を供給し、また、インバータ46において反
転されて信号Pjを生成し、その信号Pjはマルチプレ
クサ42の別の制御入力を供給される。信号Pjと−P
jは、複数の入力を有するENORゲート48に2つの
入力を供給する。キャリー・イン・ビット−Cj−1
は、ENORゲート48とマルチプレクサ42にも、入
力を供給する。ENORゲート48の出力は、−Sj、
すなわち、サム・ビットSiの反転信号である。この−
Siは、インバータ50で反転されてサム・ビットSi
を生成し、これが奇数セル16と加算器10の両方の出
力となる。
【0019】マルチプレクサ42への制御信号であるP
jと−Pjは、マルチプレクサ42にその入力端で示さ
れてる信号(AjまたはCj−1)のうちのいずれか
を、その出力であるキャリー・イン・ビット−Cjとし
て選択させる。インバータ52は、−Cjを反転して、
Cj、すなわち、キャリー・アウト・ビットの非反転信
号を生成する。そして、その信号は、奇数セル16の別
の出力となる。する。
jと−Pjは、マルチプレクサ42にその入力端で示さ
れてる信号(AjまたはCj−1)のうちのいずれか
を、その出力であるキャリー・イン・ビット−Cjとし
て選択させる。インバータ52は、−Cjを反転して、
Cj、すなわち、キャリー・アウト・ビットの非反転信
号を生成する。そして、その信号は、奇数セル16の別
の出力となる。する。
【0020】奇数セル16からの出力であるCjとSj
のそれぞれは、インバータ52と50の出力である。こ
の出力信号CjとSjは、各インバータの出力であり、
且つ、次の段またはセルへの入力としてのドライブを適
切に供給するものである。奇数セル14からのキャリー
・アウト・ビットは、適正な反転または非反転の状態と
されており、例えば加算器10において縦続接続されて
いる次のセル12のような偶数セルに直接、入力される
ようにされている。
のそれぞれは、インバータ52と50の出力である。こ
の出力信号CjとSjは、各インバータの出力であり、
且つ、次の段またはセルへの入力としてのドライブを適
切に供給するものである。奇数セル14からのキャリー
・アウト・ビットは、適正な反転または非反転の状態と
されており、例えば加算器10において縦続接続されて
いる次のセル12のような偶数セルに直接、入力される
ようにされている。
【0022】図5は、図3に示した奇数セル16をトラ
ンジスタ・レベルで示した概略構成図である。同図に
は、ENORゲート40と48、インバータ44と46
と50と52、およびマルチプレクサ42が示されてい
る。同図に示した奇数セル16は、全部で20個、すな
わち、偶数セル14と同数のトランジスタを有する。そ
れらのトランジスタは、それぞれのENORゲートで4
個ずつ、それぞれのインバータで2個ずつ使われ、ま
た、マルチプレクサ22で4個のトランジスタが使われ
ている。
ンジスタ・レベルで示した概略構成図である。同図に
は、ENORゲート40と48、インバータ44と46
と50と52、およびマルチプレクサ42が示されてい
る。同図に示した奇数セル16は、全部で20個、すな
わち、偶数セル14と同数のトランジスタを有する。そ
れらのトランジスタは、それぞれのENORゲートで4
個ずつ、それぞれのインバータで2個ずつ使われ、ま
た、マルチプレクサ22で4個のトランジスタが使われ
ている。
【0023】動作に際しては、加算器10のそれぞれの
セル12は、1ビットのリップル・キャリー(ripp
le−carry)の加算を行う。LSBの和を計算し
ているセルからのキャリー出力は、縦続している次のセ
ルへ入力として供給される。そのキャリーのみが反転さ
れる必要がある。被加数と加数ビットの真値(tru
e)は、反転する必要なく、すべてのセルへ入力され、
且つ、用いられる。サム・ビットの真値(非反転)は、
すべてのセルの出力として供給される。サム・ビットと
キャリー出力ビットはいずれも、次の段またはセルを駆
動するためにインバータによって供給される。トランジ
スタ・レベルでは、偶数セルと奇数セルとは同数のトラ
ンジスタを有する。
セル12は、1ビットのリップル・キャリー(ripp
le−carry)の加算を行う。LSBの和を計算し
ているセルからのキャリー出力は、縦続している次のセ
ルへ入力として供給される。そのキャリーのみが反転さ
れる必要がある。被加数と加数ビットの真値(tru
e)は、反転する必要なく、すべてのセルへ入力され、
且つ、用いられる。サム・ビットの真値(非反転)は、
すべてのセルの出力として供給される。サム・ビットと
キャリー出力ビットはいずれも、次の段またはセルを駆
動するためにインバータによって供給される。トランジ
スタ・レベルでは、偶数セルと奇数セルとは同数のトラ
ンジスタを有する。
【0024】本発明による加算器は、他のセルへの入力
をいちいち反転する必要がなくなるという利点を有す
る。奇数セルと偶数セルのいずれにも真の入力を用いる
ことができる。さらに、偶数セルと奇数セルのいずれに
対しても、真のサム出力が生成されるので、偶数セルの
サム出力を反転する必要がなくなる。
をいちいち反転する必要がなくなるという利点を有す
る。奇数セルと偶数セルのいずれにも真の入力を用いる
ことができる。さらに、偶数セルと奇数セルのいずれに
対しても、真のサム出力が生成されるので、偶数セルの
サム出力を反転する必要がなくなる。
【0025】これまでの図面を参照した説明では、相補
型の金属酸化物半導体(MOS)構造を採用した例につ
いて説明したが、本発明はこれに限定されるものではな
い。また、本発明に関するこれまでの説明では、加算器
が奇数セルと偶数セルとにより構成され、偶数セルのキ
ャリー・アウト・ビットが反転され、また奇数セルへの
キャリー・イン・ビットが反転される場合について説明
した。しかし、当業者であれば、これらの実施例とは論
理状態が異なり、機能が同一であるような回路を設計す
ることも可能である。
型の金属酸化物半導体(MOS)構造を採用した例につ
いて説明したが、本発明はこれに限定されるものではな
い。また、本発明に関するこれまでの説明では、加算器
が奇数セルと偶数セルとにより構成され、偶数セルのキ
ャリー・アウト・ビットが反転され、また奇数セルへの
キャリー・イン・ビットが反転される場合について説明
した。しかし、当業者であれば、これらの実施例とは論
理状態が異なり、機能が同一であるような回路を設計す
ることも可能である。
【0026】本発明は、通信システムや、本技術を含む
集積回路を採用した機器について、特に有用である。こ
のような通信システムや機器は、加算動作に際して動作
時間と消費電力の低減が重要であるような場合にも、高
速のデジタル加算と減算とを実現できるという利点を有
する。
集積回路を採用した機器について、特に有用である。こ
のような通信システムや機器は、加算動作に際して動作
時間と消費電力の低減が重要であるような場合にも、高
速のデジタル加算と減算とを実現できるという利点を有
する。
【0027】前述した本発明の実施の形態の説明におい
ては、パイプライン処理については述べていない。しか
し、当業者であれば、本発明において、パイプライン処
理を利用することにより、計算処理効率が向上すること
は容易に理解できる。パイプライン処理は、前のデータ
のセットの計算処理が完了する前に、新しいデータのセ
ットについて計算処理を開始することによって、実現す
ることができる。パイプライン処理においては、より多
くのラッチ(latch)を用いるほど、よりパイプラ
イン構造を深くすることができる。パイプライン処理
は、そのパイプラインを満たすために、最初に潜在的な
計算処理時間が必要とされる。しかし、加算器のような
リソースを最大限に利用することができる。
ては、パイプライン処理については述べていない。しか
し、当業者であれば、本発明において、パイプライン処
理を利用することにより、計算処理効率が向上すること
は容易に理解できる。パイプライン処理は、前のデータ
のセットの計算処理が完了する前に、新しいデータのセ
ットについて計算処理を開始することによって、実現す
ることができる。パイプライン処理においては、より多
くのラッチ(latch)を用いるほど、よりパイプラ
イン構造を深くすることができる。パイプライン処理
は、そのパイプラインを満たすために、最初に潜在的な
計算処理時間が必要とされる。しかし、加算器のような
リソースを最大限に利用することができる。
【図1】本発明の実施の形態における、nビット加算器
の概略構成図である。
の概略構成図である。
【図2】図1に示した加算器の偶数セルの論理ダイアグ
ラム図である。
ラム図である。
【図3】図2に示した偶数セルのトランジスタ・レベル
の回路構成図である。
の回路構成図である。
【図4】図1に示した加算器の奇数セルの論理ダイアグ
ラム図である。
ラム図である。
【図5】図4に示した奇数セルのトランジスタ・レベル
の回路構成図である。
の回路構成図である。
10 加算器 12 セル 14 偶数セル 16 奇数セル 20、40 ENORゲート 22、42 マルチプレクサ 24、26、30、32 インバータ 44、46、50、52 インバータ
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A.
Claims (4)
- 【請求項1】 加算器用集積回路であって、 少なくとも2つのセルを有する加算器を備え、 前記少なくとも2つのセルは、第1のセルと第2のセル
とからなり、 前記第1のセルと第2のセルのそれぞれは、被加数ビッ
ト入力と加数ビット入力とキャリー・イン・ビット入力
とを受け取り、 前記第1のセルと第2のセルのそれぞれは、キャリー・
アウト・ビット出力と、入力ビットの和を表すサム・ビ
ット出力とを供給し、 前記第1のセルは、 加数ビットを入力として受け取り、その加数ビットの反
転を出力として供給するようにされた第1のインバータ
(24)と、 被加数入力ビットと加数ビットと前記加数ビットの反転
とを入力として受け取り、その入力の排他的NORコン
ビネーションである出力(−Pi(以下、Piの反転を
表すものとする))を供給する第1の排他的NORゲー
ト(20)と、 前記第1の排他的NORゲート(20)の出力(−P
i)を入力として受け取り、前記第1の排他的NORゲ
ートの出力の反転を出力(Pi)として供給する第2の
インバータ(26)と、 前記第1の排他的NORゲート(20)の出力(−P
i)と、前記第2のインバータ(26)の出力(Pi)
と、キャリー・イン・ビットとを入力として受け取るよ
うにされ、その入力の排他的NORコンビネーションで
ある出力(−Si)を供給する、第2の排他的NORゲ
ート(28)と、 前記第2の排他的NORゲート(28)の出力(−S
i)を入力として受け取り、前記第2の排他的NORゲ
ートの出力の反転を出力(Si)として供給するように
された第3のインバータ(50)と、 第5のインバータ(44)からの出力としての加数入力
ビットの反転と前記キャリー・イン・ビットとを入力と
して受け取るようにされ、前記第1の排他的NORゲー
トの出力(−Pi)と前記第2のインバータ(26)の
出力(Pi)の少なくともひとつを制御入力として受け
取り、前記制御入力に応じてその入力のうちのひとつを
出力(Ci)として選択するようにされた第1のマルチ
プレクサ(22)と、を備えたことを特徴とする加算器
用集積回路。 - 【請求項2】 前記第1のマルチプレクサ(22)の出
力(Ci)を入力として受け取り、その反転を出力(−
Ci)として供給するようにされた第4のインバータ
(32)をさらに備えたことを特徴とする請求項1記載
の集積回路。 - 【請求項3】 加算器用集積回路であって、 少なくとも2つのセルを有する加算器を備え、 前記少なくとも2つのセルは、第1のセルと第2のセル
とからなり、 前記第1のセルと第2のセルのそれぞれは、被加数ビッ
ト入力と加数ビット入力とキャリー・イン・ビット入力
とを受け取るようにされ、 前記第1のセルと第2のセルのそれぞれは、キャリー・
アウト・ビット出力と、入力ビットの和を表すサム・ビ
ット出力とを供給するようにされ、 前記第2のセルは、 加数ビットを入力として受け取り、その加数ビットの反
転を出力として供給するようにされた第5のインバータ
(44)と、 被加数入力ビットと加数ビットと前記加数ビットの反転
とを入力として受け取るようにされ、その入力の排他的
NORコンビネーションである出力(−Pj)を供給す
る、第3の排他的NORゲート(40)と、 前記第3の排他的NORゲート(40)の出力(−P
j)を入力として受け取り、前記第3の排他的NORゲ
ートの出力の反転を出力(Pj)として供給する第6の
インバータ(46)と、 前記第3の排他的NORゲート(40)の出力(−P
j)と、前記第6のインバータ(46)の出力(Pj)
と、キャリー・イン・ビットとを入力として受け取るよ
うにされ、その入力の排他的NORコンビネーションで
ある出力(−Sj)を供給する、第4の排他的NORゲ
ート(48)と、 前記第4の排他的NORゲート(48)の出力(−S
j)を入力として受け取り、前記第4の排他的NORゲ
ートの出力の反転を出力(Sj)として供給する第7の
インバータ(50)と、 前記被加数入力ビットと前記キャリー・イン・ビットと
を入力として受け取り、前記第3の排他的NORゲート
の出力(−Pj)と前記第6のインバータ(46)の出
力(Pj)の少なくともひとつを制御入力として受け取
り、前記制御入力に応じてその入力のうちのひとつを出
力(−Cj)として選択する第2のマルチプレクサ(4
2)と、 を備えたことを特徴とする集積回路。 - 【請求項4】 前記第2のマルチプレクサ(42)の出
力(−Cj)を入力として受け取り、その反転を出力
(Cj)として供給するようにされた第8のインバータ
(52)をさらに備えたことを特徴とする請求項2記載
の集積回路。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US788595P | 1995-12-01 | 1995-12-01 | |
| US007885 | 1995-12-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09185493A true JPH09185493A (ja) | 1997-07-15 |
Family
ID=21728629
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8319054A Pending JPH09185493A (ja) | 1995-12-01 | 1996-11-29 | 加算器用集積回路 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5978826A (ja) |
| JP (1) | JPH09185493A (ja) |
| KR (1) | KR970049455A (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100434364B1 (ko) * | 2000-12-27 | 2004-06-04 | 엘지전자 주식회사 | 직렬 가산기 |
| US6765408B2 (en) * | 2002-02-11 | 2004-07-20 | Lattice Semiconductor Corporation | Device and method with generic logic blocks |
| CN101140511B (zh) * | 2006-09-05 | 2010-10-13 | 硅谷数模半导体(北京)有限公司 | 串行进位二进制加法器 |
| JP2010514058A (ja) * | 2006-12-21 | 2010-04-30 | ブイエヌエス ポートフォリオ エルエルシー | コンピュータ内の代替命令及び/又はデータビットの反転 |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3590230A (en) * | 1969-04-03 | 1971-06-29 | Bell Telephone Labor Inc | Full adder employing exclusive-nor circuitry |
| US3712323A (en) * | 1970-09-08 | 1973-01-23 | Bell Telephone Labor Inc | Fluidic half-adder |
| US3717755A (en) * | 1971-05-21 | 1973-02-20 | Bell Telephone Labor Inc | Parallel adder using a carry propagation bus |
| US3789206A (en) * | 1972-04-04 | 1974-01-29 | Bell Telephone Labor Inc | Threshold logic overflow detector for a three-input adder |
| US3906211A (en) * | 1974-05-23 | 1975-09-16 | Bell Telephone Labor Inc | Three-word adder carry propagation |
| US3978329A (en) * | 1975-09-12 | 1976-08-31 | Bell Telephone Laboratories, Incorporated | One-bit full adder |
| DE3687408D1 (de) * | 1985-09-30 | 1993-02-11 | Siemens Ag | Mehrstelliger carry-ripple-addierer in cmos-technik mit zwei typen von addiererzellen. |
| FR2592050B1 (fr) * | 1985-12-24 | 1988-01-08 | Centre Etd Mat Org Tech Avance | Copolyimides arylaliphatiques a enchainements ether, leur preparation, leurs melanges ou produits de reaction avec des resines epoxydes et leur utilisation pour la fabrication de materiaux composites flexibles |
| US4737926A (en) * | 1986-01-21 | 1988-04-12 | Intel Corporation | Optimally partitioned regenerative carry lookahead adder |
| DE58909280D1 (de) * | 1988-07-29 | 1995-07-13 | Siemens Ag | Carry-select-Addierer. |
| JPH03175530A (ja) * | 1989-12-04 | 1991-07-30 | Nec Corp | 論理回路 |
| JPH07122846B2 (ja) * | 1990-04-04 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 3―1alu装置 |
| US5138570A (en) * | 1990-09-20 | 1992-08-11 | At&T Bell Laboratories | Multiplier signed and unsigned overflow flags |
| US5272656A (en) * | 1990-09-21 | 1993-12-21 | Cambridge Signal Technologies, Inc. | System and method of producing adaptive FIR digital filter with non-linear frequency resolution |
| US5289397A (en) * | 1991-07-22 | 1994-02-22 | Itt Corporation | High-speed modulo exponentiator device |
| US5384724A (en) * | 1991-09-05 | 1995-01-24 | Texas Instruments Incorporated | Electronic circuit and method for half adder logic |
| US5359569A (en) * | 1991-10-29 | 1994-10-25 | Hitachi Ltd. | Semiconductor memory |
| US5257218A (en) * | 1992-01-06 | 1993-10-26 | Intel Corporation | Parallel carry and carry propagation generator apparatus for use with carry-look-ahead adders |
| US5276635A (en) * | 1992-02-04 | 1994-01-04 | Motorola, Inc. | Method and apparatus for performing carry look-ahead addition in a data processor |
| US5251164A (en) * | 1992-05-22 | 1993-10-05 | S-Mos Systems, Inc. | Low-power area-efficient absolute value arithmetic unit |
| US5270955A (en) * | 1992-07-31 | 1993-12-14 | Texas Instruments Incorporated | Method of detecting arithmetic or logical computation result |
| US5278783A (en) * | 1992-10-30 | 1994-01-11 | Digital Equipment Corporation | Fast area-efficient multi-bit binary adder with low fan-out signals |
| US5337269A (en) * | 1993-03-05 | 1994-08-09 | Cyrix Corporation | Carry skip adder with independent carry-in and carry skip paths |
| KR0137969Y1 (ko) * | 1993-03-26 | 1999-04-01 | 문정환 | 캐리전달회로 |
-
1996
- 1996-11-26 US US08/755,846 patent/US5978826A/en not_active Expired - Lifetime
- 1996-11-29 JP JP8319054A patent/JPH09185493A/ja active Pending
- 1996-12-02 KR KR1019960060933A patent/KR970049455A/ko not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| KR970049455A (ko) | 1997-07-29 |
| US5978826A (en) | 1999-11-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5920498A (en) | Compression circuit of an adder circuit | |
| US6411980B2 (en) | Data split parallel shifter and parallel adder/subtractor | |
| JPH0555894B2 (ja) | ||
| JPH0215088B2 (ja) | ||
| US5636157A (en) | Modular 64-bit integer adder | |
| US6519621B1 (en) | Arithmetic circuit for accumulative operation | |
| US7024445B2 (en) | Method and apparatus for use in booth-encoded multiplication | |
| JPS61229122A (ja) | 2進減算器 | |
| CN101140511A (zh) | 串行进位二进制加法器 | |
| US4866655A (en) | Arithmetic processor and divider using redundant signed digit | |
| US4349888A (en) | CMOS Static ALU | |
| Ghafari et al. | A new high-speed and low area efficient pipelined 128-bit adder based on modified carry look-ahead merging with Han-Carlson tree method | |
| US6484193B1 (en) | Fully pipelined parallel multiplier with a fast clock cycle | |
| US6055557A (en) | Adder circuit and method therefor | |
| JPH09222991A (ja) | 加算方法および加算器 | |
| US6183122B1 (en) | Multiplier sign extension | |
| US5978826A (en) | Adder with even/odd 1-bit adder cells | |
| KR920004108B1 (ko) | 자리올림 선택가산회로를 갖는 논리회로 | |
| JPH0450614B2 (ja) | ||
| Au et al. | Unified Radix-4 Multiplier for GF (p) and GF (2^ n) | |
| US5926407A (en) | Combined add/shift structure | |
| US20080177817A1 (en) | Inversion of alternate instruction and/or data bits in a computer | |
| KR0154934B1 (ko) | 개선된 2의 보수회로 | |
| US8516030B2 (en) | Carry look-ahead circuit and carry look-ahead method | |
| JP3199196B2 (ja) | 5入力加算器 |