JPH11143684A - 桁上げ先見回路および並列加算器 - Google Patents

桁上げ先見回路および並列加算器

Info

Publication number
JPH11143684A
JPH11143684A JP31251297A JP31251297A JPH11143684A JP H11143684 A JPH11143684 A JP H11143684A JP 31251297 A JP31251297 A JP 31251297A JP 31251297 A JP31251297 A JP 31251297A JP H11143684 A JPH11143684 A JP H11143684A
Authority
JP
Japan
Prior art keywords
carry
input
detection
selecting
gate
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
Application number
JP31251297A
Other languages
English (en)
Inventor
Kunihiko Mitsuoka
久仁彦 密岡
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP31251297A priority Critical patent/JPH11143684A/ja
Publication of JPH11143684A publication Critical patent/JPH11143684A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 並列加算器において、入力値が特定のビット
状態となった場合でも、キャリーの伝搬遅延を防止する
とともに、その回路規模を縮小する。 【解決手段】 下位からの桁上げ信号と入力値の同位ビ
ットとを入力して、その加算値Sとその加算におけるキ
ャリーCとを出力する全加算器100〜103と、入力値
A、Bにおける同位ビットの排他的論理和を求める排他
的オアゲート500〜503と、これら排他的オアゲート
500〜503による出力の論理積を求めるアンドゲート
60と、アンドゲート60の出力レベルが「1」であれ
ば、最下位の全加算器100へ供給される入力キャリー
Cinを選択する一方、「0」であれば、最上位の全加算
器100から出力されるキャリーC3を選択するセレク
タ70とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、桁上げ信号(キャ
リー)の伝搬を高速化するとともに、必要なゲート数の
発生を抑えて回路規模を縮小させた桁上げ先見回路およ
び並列加算器に関する。
【0002】
【従来の技術】一般に、複数桁からなる値を2組以上入
力して各桁並列に加算する並列加算器は、図2に示すよ
うに構成される。この図に示す並列加算器は、4ビット
の入力値AおよびBの並列加算を実行するものであり、
全加算器103〜100が、それぞれ、各ビットに対応し
て設けられ、下位からのキャリーと入力値A、Bのうち
対応する同位ビットとを入力して、その加算値Sとその
加算におけるキャリーCとを計算して出力する構成とな
っている。たとえば、下位2ビット目に対応する全加算
器101は、下位からのキャリーC0と入力ビットA
1、B1とを入力して、その加算値S1とその加算にお
けるキャリーC1とを出力するようになっている。ただ
し、このような構成による並列加算器にあっては、出力
キャリーCoutがすべての全加算器103〜100を伝搬
する必要があるため、加算時間が長期化するという問題
がある。
【0003】この問題を解決するには種々の方法がある
が、一般的には、論理ゲートの組み合わせたキャリー・
ルック・アヘッドを用いて、キャリーを各桁先見して計
算する手法が採用される。このキャリー・ルック・アヘ
ッドを用いて、k番目(k=0、1、2、……)のキャ
リーCkを求めると、その論理式は次式のように示され
る(特開昭57−111737号公報参照)。
【0004】
【数1】
【0005】この式において、i、j、kは、次のよう
な関係にある。 k=j+1=i+2=…… また、Dk、Ekは、入力値A、Bの各ビットにおける
次の関係をいう。 Dk=AkBk、 Ek=Ak+Bk
【0006】なお、この式を用いると、4ビットの並列
加算におけるキャリーC3に対する論理式は、次式のよ
うに示される。
【0007】
【数2】
【0008】ただし、このようなキャリー・ルック・ア
ヘッドにおいては、ビット数が増加すると、上式を参照
しても判るように、必要なゲート数が飛躍的に増加する
とともに、1つのゲートへの入力数も増加することが判
る。したがって、必要となるトランジスタ総数はビット
数に対し指数関数的に増加するため、特に、LSIに集
積する際に、チップ面積肥大等の障害を招くことにな
る。
【0009】そこで、キャリー・ルック・アヘッドを擬
似的に構築して、キャリー伝搬の高速化を維持した上
で、必要なゲート数の縮小化を図った技術が採用されつ
つある。図3は、この技術を用いた並列加算器の構成を
示すブロック図である。この図に示す並列加算器は、図
2に示した一般的な並列加算器に、オアゲート200
203、アンドゲート30およびオアゲート40を加え
た構成となっている。このうち、オアゲート200〜2
3の各々は、それぞれ入力ビットの各々に対応して設
けられ、入力値AおよびBにおいて対応する同位ビット
の論理和を出力する。また、アンドゲート30は、オア
ゲート200〜203の出力と、この並列加算器への入力
キャリーCinとの論理積を求める。そして、オアゲート
40は、アンドゲート30の出力と、最上位ビットに対
応する全加算器103の出力キャリーC3との論理和を
求める。
【0010】このような構成によれば、入力値Aあるい
はBの同位ビットにおいて少なくとも一方が「1」とな
る状態が全ビットにて発生し、かつ、並列加算器への入
力キャリーCinが「1」に遷移する場合、すなわち、最
上位ビットの全加算器103によるキャリーC3が確実
に「1」に遷移する場合に、入力キャリーCinが並列加
算器の出力キャリーCoutとしてオアゲート40を介し
て出力される。したがって、この場合におけるキャリー
の遅延は、アンドゲート30およびオアゲート40の2
段で済み、すべての全加算器100〜103を介するより
も高速化される。
【0011】また、各オアゲート200〜203による論
理和のうち少なくとも1つが「0」となる場合、すなわ
ち、入力値AあるいはBの同位ビットがともに「0」と
なる状態が、少なくとも1つ以上のビットにて発生する
場合、キャリーC3が出力キャリーCoutとしてオアゲ
ート40を介して出力される。ただし、この場合におい
ては、ある入力ビットがともに「0」に遷移すれば、そ
のビットに対応する全加算器のキャリーが「0」に無条
件に遷移する結果、キャリーの伝搬は、「0」となった
ビットの上位ビットに対応する全加算器とオアゲート4
0とを介するのみとなる。たとえば、出力キャリーCou
tとしてキャリーC3が出力される場合のうち、入力ビ
ットA1、B1が「0」に遷移する場合を想定すると、
全加算器101によるキャリーC1が「0」に遷移する
から、キャリーの伝搬は、入力ビットA1、B1の上位
ビットに対応する全加算器102、103とオアゲート4
0とを介することになる。
【0012】一方、回路規模に着目すれば、ビット数に
1を加えた入力数を有するアンドゲート30が必要とな
るものの、他には、ビット数に応じたオアゲート200
〜203と1個のオアゲート40とで済むため、上式を
適用したキャリー・ルック・アヘッドを用いた場合と比
べて、回路規模を大幅に縮小することが可能となる。
【0013】
【発明が解決しようとする課題】しかしながら、このよ
うなキャリー・ルック・アヘッドを擬似的に構築した並
列加算器にあっては、入力値AおよびBが特定のビット
状態となった場合、キャリーが遅延するという問題が生
じた。具体的には、この問題は、入力値AあるいはBの
同位ビットにおいていずれか一方だけが「1」となる状
態が全ビットにて発生した場合であって、かつ、入力キ
ャリーCinが「0」に遷移した場合に発生する。この場
合、アンドゲート30が閉じ、かつ、いずれの全加算器
103〜100においてもキャリーが特定されない結果、
出力キャリーCoutは、すべての全加算器103〜100
を伝搬する必要があるためである。
【0014】本発明は、上述した問題に鑑みてなされた
ものであり、その目的とするところは、入力値が特定の
ビット状態となった場合であっても、キャリーの伝搬遅
延を防止するとともに、必要なゲート数の発生を抑えて
回路規模を縮小することが可能な桁上げ先見回路および
並列加算器を提供することにある。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、本発明にあっては、下位からの桁上げ信号と入力値
とを入力して桁上げ信号を計算出力する桁上げ計算手段
と、桁上げが入力値同士の加算のみでは不定となるか否
かを検出する検出手段と、前記検出手段による検出結果
が肯定的であれば、前記下位からの桁上げ信号を選択す
る一方、前記検出手段による検出結果が否定的であれ
ば、前記桁上げ計算手段による桁上げ信号を選択する選
択手段とを具備することを特徴としている。
【0016】また、本発明にあっては、各桁に対応して
設けられ、下位からの桁上げ信号と入力値のうち対応す
る桁の値とを入力して桁上げ信号を計算出力する1つ以
上の桁上げ計算手段と、各桁に対応して設けられ、桁上
げが、対応する桁の値同士の加算のみでは不定となるか
否かを検出する1つ以上の第1の検出手段と、前記第1
の検出手段による検出結果がすべて肯定的であるか否か
を検出する第2の検出手段と、前記第2の検出手段によ
る検出結果が肯定的であれば、最下位の桁上げ計算手段
に入力される桁上げ信号を選択する一方、前記第2の検
出手段による検出結果が否定的であれば、最上位の桁上
げ計算手段から出力される桁上げ信号を選択する選択手
段とを具備することを特徴としている。
【0017】さらに、本発明にあっては、下位からの桁
上げ信号と入力値とを入力して、その加算結果とその加
算における桁上げ信号とを計算出力する加算手段と、桁
上げが入力値同士の加算のみでは不定となるか否かを検
出する検出手段と、前記検出手段による検出結果が肯定
的であれば、前記下位からの桁上げ信号を選択する一
方、前記検出手段による検出結果が否定的であれば、前
記桁上げ計算手段による桁上げ信号を選択する選択手段
とを具備することを特徴としている。
【0018】くわえて、本発明にあっては、各桁に対応
して設けられ、下位からの桁上げ信号と入力値のうち対
応する桁の値とを入力して、その加算結果とその加算に
おける桁上げ信号とを計算出力する1つ以上の桁上げ計
算手段と、各桁に対応して設けられ、桁上げが、対応す
る桁の値同士の加算のみでは不定となるか否かを検出す
る1つ以上の第1の検出手段と、前記第2の検出手段に
よる検出結果が肯定的であれば、最下位の加算手段に入
力される桁上げ信号を選択する一方、前記第2の検出手
段による検出結果が否定的であれば、最上位の加算手段
から出力される桁上げ信号を選択する選択手段とを具備
することを特徴としている。
【0019】
【発明の実施の形態】以下、本発明の実施形態について
説明する。図1は、本実施形態にかかる並列加算器の構
成を示すブロック図である。この図に示す並列加算器
は、図3に示した構成に対し、第1に、オアゲート20
0〜203を排他的オアゲート500〜503に置換し、第
2に、これら排他的オアゲート500〜503による各出
力の論理積を求めるアンドゲート60を設け、第3に、
このアンドゲート60の出力に応じて、入力キャリーC
inあるいはキャリーC3のいずれか一方を選択するセレ
クタ70を設けた構成となっている。
【0020】このうち、排他的オアゲート500〜503
は、それぞれ、入力値A、Bにおける同位ビット同士の
加算だけでは、そのビットに対応する全加算器において
キャリーが不定となる場合を検出する意義を有する。ま
た、セレクタ70は、アンドゲート71、73、反転ゲ
ート72およびオアゲート74からなり、このうち、ア
ンドゲート71がアンドゲート60の出力と入力キャリ
ーCinとの論理積を求め、また、アンドゲート73が反
転ゲート72によるアンドゲート60の反転出力とキャ
リーC3との論理積を求め、そして、オアゲート74が
アンドゲート71、73による各出力の論理和を求める
構成となっている。したがって、かかる構成によるセレ
クタ70は、アンドゲート60の出力レベルが「1」で
あれば、出力キャリーCoutとして最下位ビットの全加
算器100に供給される入力キャリーCinを選択する一
方、アンドゲート60の出力レベルが「0」であれば、
最上位ビットの全加算器103から出力されるキャリー
C3を選択することとなる。
【0021】ここで、アンドゲート60の出力が「1」
となる場合とは、排他的オアゲート500〜503による
各排他的論理和がいずれも「1」となる場合、すなわ
ち、入力値AあるいはBの同位ビットにおいていずれか
一方だけが「1」となる状態が全ビットにて発生する場
合であり、詳細に言えば、入力値A、B同士の加算だけ
ではキャリーが不定となって、出力キャリーCoutが入
力キャリーCinのみに依存して特定される場合である。
この場合、出力キャリーCoutとして入力キャリーCin
が選択されるので、キャリーの遅延がセレクタ70にお
けるアンドゲート71とオアゲート74との2段だけで
済み、図3に示した構成において特定のビット状態とな
った場合に発生する不都合が解消されることとなる。
【0022】また、アンドゲート60の出力が「0」と
なる場合とは、排他的オアゲート500〜503による各
排他的論理和のうち少なくとも1つが「0」となる場
合、すなわち、入力値AあるいはBの同位ビットが同値
となる状態が、少なくとも1つ以上のビットにて発生す
る場合である。この場合、出力キャリーCoutとして、
全加算器103によるキャリーC3が選択されるが、あ
る入力ビットがともに「1」に遷移したのであれば、そ
のビットに対応する全加算器のキャリーが「1」に無条
件に遷移する一方、ある入力ビットが「0」に遷移した
のであれば、そのビットに対応する全加算器のキャリー
が無条件に「0」に遷移する結果、キャリーの伝搬は、
同値となったビットの上位ビットに対応する全加算器と
セレクタ70とを介するのみとなる。したがって、セレ
クタ70によってキャリーC3が選択されたとしても、
出力キャリーCoutがすべての全加算器103〜100
介して伝搬するという事態は、従来とは異なり発生しな
い。たとえば、アンドゲート60の出力が「0」となる
場合のうち、入力ビットA1、B1が「1」に遷移する
場合を想定すると、全加算器101によるキャリーC1
がキャリ−Cin、C0とは無関係に「1」に遷移するか
ら、キャリーの伝搬は、入力ビットA1、B1の上位ビ
ットに対応する全加算器102、103とセレクタ70と
を介することになる。入力ビットA1、B1が「0」に
遷移する場合も、キャリーC1が「0」に遷移するか
ら、同様である。
【0023】一方、回路規模に着目すれば、ビット数に
応じた入力数を有するアンドゲート60とビット数に相
当する排他的オアゲート500〜503とが必要となる
が、他には、セレクタ70のみで済むため、上式を適用
したキャリー・ルック・アヘッドを用いた場合と比べ
て、回路規模を大幅に縮小することが可能となる。
【0024】さて、上述した実施形態は、入力値A、B
の加算値Sとその加算によるキャリーCoutとを求める
ため、全加算器100〜103を用いたが、キャリーCou
tのみが必要であれば、桁上げ算出回路をカスケード接
続する構成としても良い。なお、いうまでもなく全加算
器は桁上げ算出機能を含んでいる。さらに、実施形態は
4ビットとしたが、これに限定されないことはいうまで
もない。また、多数ビットを複数ビットのブロックに分
割して、そのうち1つのブロックを実施形態の並列加算
器で構成して、多数ビットの加算を実行するようにして
も良い。すなわち、実施形態にかかる並列加算回路その
ものをブロック化して、ビット数に応じて多段カスケー
ド接続する構成としても良い。
【0025】
【発明の効果】以上説明したように本発明によれば、入
力値が特定のビット状態となった場合であっても、キャ
リーの伝搬遅延を防止するとともに、必要なゲート数の
発生を抑えて回路規模を縮小することが可能となる。
【図面の簡単な説明】
【図1】 本発明の実施形態にかかる並列加算器の構成
を示すブロック図である。
【図2】 一般的な並列加算器の構成を示すブロック図
である。
【図3】 擬似的なキャリー・ルック・アヘッドを用い
た従来の並列加算器の構成を示すブロック図である。
【符号の説明】
100〜103……全加算器(桁上げ計算手段、加算手
段)、 500〜503……排他的オアゲート(第1の検出手
段)、 60……アンドゲート(第2の検出手段)、 70……セレクタ(選択手段)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 下位からの桁上げ信号と入力値とを入力
    して桁上げ信号を計算出力する桁上げ計算手段と、 桁上げが入力値同士の加算のみでは不定となるか否かを
    検出する検出手段と、 前記検出手段による検出結果が肯定的であれば、前記下
    位からの桁上げ信号を選択する一方、前記検出手段によ
    る検出結果が否定的であれば、前記桁上げ計算手段によ
    る桁上げ信号を選択する選択手段とを具備することを特
    徴とする桁上げ先見回路。
  2. 【請求項2】 各桁に対応して設けられ、下位からの桁
    上げ信号と入力値のうち対応する桁の値とを入力して桁
    上げ信号を計算出力する1つ以上の桁上げ計算手段と、 各桁に対応して設けられ、桁上げが、対応する桁の値同
    士の加算のみでは不定となるか否かを検出する1つ以上
    の第1の検出手段と、 前記第1の検出手段による検出結果がすべて肯定的であ
    るか否かを検出する第2の検出手段と、 前記第2の検出手段による検出結果が肯定的であれば、
    最下位の桁上げ計算手段に入力される桁上げ信号を選択
    する一方、前記第2の検出手段による検出結果が否定的
    であれば、最上位の桁上げ計算手段から出力される桁上
    げ信号を選択する選択手段とを具備することを特徴とす
    る桁上げ先見回路。
  3. 【請求項3】 下位からの桁上げ信号と入力値とを入力
    して、その加算結果とその加算における桁上げ信号とを
    計算出力する加算手段と、 桁上げが入力値同士の加算のみでは不定となるか否かを
    検出する検出手段と、 前記検出手段による検出結果が肯定的であれば、前記下
    位からの桁上げ信号を選択する一方、前記検出手段によ
    る検出結果が否定的であれば、前記桁上げ計算手段によ
    る桁上げ信号を選択する選択手段とを具備することを特
    徴とする並列加算器。
  4. 【請求項4】 各桁に対応して設けられ、下位からの桁
    上げ信号と入力値のうち対応する桁の値とを入力して、
    その加算結果とその加算における桁上げ信号とを計算出
    力する1つ以上の桁上げ計算手段と、 各桁に対応して設けられ、桁上げが、対応する桁の値同
    士の加算のみでは不定となるか否かを検出する1つ以上
    の第1の検出手段と、 前記第2の検出手段による検出結果が肯定的であれば、
    最下位の加算手段に入力される桁上げ信号を選択する一
    方、前記第2の検出手段による検出結果が否定的であれ
    ば、最上位の加算手段から出力される桁上げ信号を選択
    する選択手段とを具備することを特徴とする並列加算
    器。
JP31251297A 1997-11-13 1997-11-13 桁上げ先見回路および並列加算器 Pending JPH11143684A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31251297A JPH11143684A (ja) 1997-11-13 1997-11-13 桁上げ先見回路および並列加算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31251297A JPH11143684A (ja) 1997-11-13 1997-11-13 桁上げ先見回路および並列加算器

Publications (1)

Publication Number Publication Date
JPH11143684A true JPH11143684A (ja) 1999-05-28

Family

ID=18030121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31251297A Pending JPH11143684A (ja) 1997-11-13 1997-11-13 桁上げ先見回路および並列加算器

Country Status (1)

Country Link
JP (1) JPH11143684A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995500B2 (en) 2012-07-19 2015-03-31 Seiko Epson Corporation Asynchronous correlation circuit, asynchronous full adder circuit, calculation device, correlation device, asynchronous maximum value N detection circuit, and satellite signal acquisition device
CN116414348A (zh) * 2021-12-30 2023-07-11 新唐科技股份有限公司 超前进位加法器、安全加法器及执行超前进位加法的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8995500B2 (en) 2012-07-19 2015-03-31 Seiko Epson Corporation Asynchronous correlation circuit, asynchronous full adder circuit, calculation device, correlation device, asynchronous maximum value N detection circuit, and satellite signal acquisition device
CN116414348A (zh) * 2021-12-30 2023-07-11 新唐科技股份有限公司 超前进位加法器、安全加法器及执行超前进位加法的方法

Similar Documents

Publication Publication Date Title
US6301600B1 (en) Method and apparatus for dynamic partitionable saturating adder/subtractor
JPH0215088B2 (ja)
JPH04230521A (ja) ビット反転演算器
US5471414A (en) Fast static CMOS adder
US6125381A (en) Recursively partitioned carry select adder
US7325025B2 (en) Look-ahead carry adder circuit
US6003059A (en) Carry select adder using two level selectors
JPH09222991A (ja) 加算方法および加算器
JPH11143684A (ja) 桁上げ先見回路および並列加算器
JPH06195201A (ja) 不等桁上げ方式(varied carry scheme)を用いた高速加算器とそれに関連する方法
US6711633B2 (en) 4:2 compressor circuit for use in an arithmetic unit
JP3741280B2 (ja) 桁上げ先見回路およびこれを用いた加算回路
US6782406B2 (en) Fast CMOS adder with null-carry look-ahead
JPH056263A (ja) 加算器およびその加算器を用いた絶対値演算回路
US7444366B2 (en) Faster shift value calculation using modified carry-lookahead adder
JP2007538305A (ja) 低電力動作のための平衡論理レベルを備えた演算回路
US9170774B2 (en) Fast carry lookahead circuits
US7159004B2 (en) Adder, multiplier and integrated circuit
JPS6261120A (ja) けた上げ選択加算器
US6954773B2 (en) Providing an adder with a conversion circuit in a slack propagation path
JP2026511685A (ja) 高速選択桁上げ伝播加算器
JPH09185493A (ja) 加算器用集積回路
US6272514B1 (en) Method and apparatus for interruption of carry propagation on partition boundaries
JP2552028B2 (ja) 加算器
US6301597B1 (en) Method and apparatus for saturation in an N-NARY adder/subtractor