JPH06131158A - 加算方法及び加算回路 - Google Patents

加算方法及び加算回路

Info

Publication number
JPH06131158A
JPH06131158A JP4304434A JP30443492A JPH06131158A JP H06131158 A JPH06131158 A JP H06131158A JP 4304434 A JP4304434 A JP 4304434A JP 30443492 A JP30443492 A JP 30443492A JP H06131158 A JPH06131158 A JP H06131158A
Authority
JP
Japan
Prior art keywords
bit
value
block
addition
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.)
Withdrawn
Application number
JP4304434A
Other languages
English (en)
Inventor
Michio Ishii
道夫 石井
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.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
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 Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP4304434A priority Critical patent/JPH06131158A/ja
Publication of JPH06131158A publication Critical patent/JPH06131158A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 簡単な回路構成で高速の多ビットの演算を行
なえるようにした加算方法及び加算回路を提供する。 【構成】 加数及び被加数データai ,bi を、
“0”,“1”以外の第3の値、例えば“−1”の値を
もつパラメータWi ,Ci に変換する第1のブロックU
NIT1と、該第1のブロックUNIT1のiビット目
の出力パラメータWi と(i−1)ビット目の出力パラ
メータCi-1 とを加算する第2のブロックUNIT2
と、第2のブロックUNIT2の出力信号YO,YN,
YPを、“0”,“1”の2値で表される演算結果に変
換する第3のブロックUNIT3とで加算回路を構成す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、加算方法及び加算回
路に関し、特に高速で多ビットの演算を行えるようにし
た加算方法及び加算回路に関する。
【0002】
【従来の技術】従来、多ビットの加算を行う加算回路
は、1ビットのフル・アダーを多段接続する構成となっ
ている。次にかかる構成の4ビット加算回路を、図5に
基づいて説明する。図5において、U1〜U4は1ビッ
トのフル・アダーであり、加数及び被加数入力端子A,
B及びキャリー入力端子CIへの入力信号に対する演算
結果出力端子S及びキャリー出力端子COの出力信号
は、表1に示す真理値表にしたがって出力される。
【0003】
【表1】
【0004】この1ビットのフル・アダーのキャリー出
力COを、上位ビットのフル・アダーのキャリー入力C
Iへ、順次縦続接続することによって、多ビット加算回
路を構成している。
【0005】
【発明が解決しようとする課題】ところで、従来のフル
・アダーを利用した多ビットの加算回路においては、M
SBより大きなビットの加算結果は、下位ビットのフル
・アダーからのキャリー出力によって決定するため、ビ
ット数が大きくなるにしたがって、演算速度が遅延す
る。
【0006】一般に、演算器の演算速度は回路内で発生
するキャリーの最大伝搬経路によって決定され、高速化
を計るためには、このキャリー伝搬経路を短くすればよ
いわけで、キャリー・ルックアヘッド等の構成が知られ
ている。しかしながら、演算のビット長が大きくなる
と、回路の構成が複雑になるという問題があった。
【0007】本発明は、従来の多ビットの加算回路にお
ける上記問題点を解消するためになされたもので、比較
的簡単な回路構成で高速な演算結果を求めることができ
る加算方法及び加算回路を提供することを目的とする。
【0008】
【課題を解決するための手段及び作用】上記問題点を解
決するため、本発明に係る加算方法は、多ビットの加算
方法において、演算の過程で“0”,“1”以外の第3
の値をもつパラメータにデータを変換して演算を行い、
発生するキャリーの伝搬をiビット(i=0,1,2,
・・・ )から(i+1)ビットの間だけにするものであ
る。
【0009】このようにして加算演算を行うことによ
り、従来のキャリー伝搬経路によらない高速な加算を、
比較的簡単な回路構成で行うことが可能となる。
【0010】
【実施例】次に実施例の説明に入るが、まず本発明に係
る加算方法の原理について説明する。
【0011】いま、4ビットの2進数Xについて考え
る。一般に2進数の各ビットをMSBからx3 ,x2
1 ,x0 とすると、2進数Xは次のように表せる。 X=x3 ・23 +x2 ・22 +x1 ・21 +x0 ・20
【0012】ところで、一般に2進数の各ビットx3
0 は、“1”,“0”の2値であるが、本発明では第
3の値として、ここでは“−1”という値を与える。こ
のように第3の値を導入することによって、次に示すよ
うに、同じ数を表すのに表現の幅が拡がることになる。 X= 1 0 1 1 =1・23 +1・21 +1・20 =11D X= 1 1 -1 1 =1・23 +1・22 −1・21 +1・20 =11D X= 1 1 0 -1 =1・23 +1・22 −1・20 =11D 本発明においては、演算過程で、この手法に基づいた処
理を行うことによって加算時のキャリーの伝搬を抑える
ようにしている。
【0013】次に、この手法を利用して加算を行う過程
について説明する。ここで、加数及び被加数A,Bを、
次のように考える。 A=a3 ・23 +a2 ・22 +a1 ・21 +a0 ・20 B=b3 ・23 +b2 ・22 +b1 ・21 +b0 ・20 但し、a3 〜a0 及びb3 〜b0 は、“0”,“1”の
2値とする。
【0014】いま、各ビットの部分和(ai +bi )に
よって定まるCi を考える。Ci は(ai +bi )を演
算した結果発生するキャリーと考えてよいが、一般的な
演算結果によるCi ではないことに注意が必要である。
また更にai ,bi ,Ci-1によって定まるWi を考え
る。Wi はCi を補正して演算結果を正しく求めるため
のパラメータで、上記第3の値“−1”を導入する。a
i ,bi ,Ci ,Wiの関係は、表2に示すように定義
する。
【0015】
【表2】
【0016】演算結果Si は、次式で得るものとする。 Si =Wi +Ci-1
【0017】表2を見るとわかるように、キャリーに相
当するCi は、ai ,bi の組み合わせで発生可能性が
ある場合、常に“1”となる。ところで演算結果S
i は、上記のように、Si =Wi +Ci-1 で求められる
ため、Si を求める際に使用するCi はCi-1 の値に対
して、×2の重み付けがされていることるなる。したが
って、この重み付けを補正するためにWi を第3のパラ
メータ“−1”を利用して定義している。
【0018】次に、この演算過程を実際に、加数及び被
加数を、それぞれA=0110(6D ),B=0100
(4D )として加算を行って、上記の重み付けの補正を
iで行う態様を説明する。
【0019】 A = 0 1 1 0 (6D +B = 0 1 0 0 (4D i = 0 1 1 0 Wi = 0 0 −1 0 Ci-1 = 0 1 1 0 0 Si (=Wi +Ci-1 )= 0 1 1 −1 0 (10D
【0020】加数A及び被加数Bの各ビット(ai ,b
i )の値に対して、Ci ,Wi を表2にしたがって求め
ていく。まず、(a0 ,b0 )=(0,0)なので、C
0 =0,W0 =0となり、C-1=0とすると、Si =W
i +Ci-1 より、S0 =0となる。通常の加算において
も、この場合キャリーを発生せず、演算結果もS0 =0
となる。
【0021】次に、(a1 ,b1 )=(1,0)なの
で、C1 =1,W1 =−1となる。ところで、この場
合、通常の計算ではキャリーC1 は発生せずに、演算結
果はS1=1となる。本発明による加算方法では、キャ
リーに相当するC1 を発生させ、演算結果Si を求める
際に、Si =Wi +Ci-1 の操作を行うため、C1 は実
際の重みに対して、×2された値をもって、上位に伝え
られることになる。すなわち、i=1からi=2の重み
へ変換され、Wi の補正をないものとすると、ここまで
の演算結果は、S′=1・22 +0・21 +0・2
0 (=4D )となっており、通常の演算結果S″=1・
1 +0・22 (=2D )と異なっている。
【0022】この差異を補正するために、W′=−1・
1 +0・20 (=−2D )という関数をS′に加算す
ることによって、通常の演算結果と合わせ込むことが可
能となる。すなわち、通常の演算時にキャリーが発生す
る可能性がある場合には、キャリーCi を強引に発生さ
せ、上位ビットに伝えるものの、下位ビットからのキャ
リー信号の有無で、演算結果Sが通常の演算結果と合う
ように、補正係数Wiを(ai ,bi )の組み合わせに
対応して設定している訳である。
【0023】更に上記操作を、i=2及び3に対して繰
り返し、C2 =1,C3 =0,W2=0,W3 =0を得
る。Ci-1 はCi を左(MSB側)へ1ビットシフトし
たもので、この結果とWi を加算することによって、次
式で示す演算結果を得る。 Si = 0 1 1 -1 0 =0・24 +1・23
1・22 −1・21+0・20 =10D
【0024】以上述べたように、演算過程で、“0”,
“1”以外の第3の値として、例えば“−1”を用い
て、扱うデータを変換して演算を行うことによって、キ
ャリーの伝搬をiビットから(i+1)ビット間だけに
抑え、フル・アダーを用いずに、デコーダによって演算
結果が求められる加算回路を構成することができる。
【0025】次に、以上述べた手法により演算を行う加
算回路の実施例として、4ビットの加算回路を図1に基
づいて説明する。図1から明らかなように、この実施例
の加算回路は、3つのブロック、UNIT1=U00〜U
03,UNIT2=U10〜U13及びUNIT3=U20より
構成されており、次に各ブロックの構成及び動作につい
て、順次説明する。
【0026】まず、図2に第1のブロックUNIT1の
内部回路構成例を示す。このブロックUNIT1は、各
入力端子A,Bに印加される加数,被加数のai ,bi
より、Ci ,Wi を表2に示す値にしたがってデコード
する。但し、Wi は表2から明らかなように、“0”,
“−1”の2値しかもたないため、ブロックUNIT1
の出力端子WIがアクティブの際には“−1”が出力さ
れるものと解釈する。
【0027】次に、第2のブロックUNIT2について
説明する。このブロックUNIT2の入力端子WIは、
図1に示すように、iビット目の第1のブロックUNI
T1の出力端子WIに、他の入力端子CIは(i−1)
ビット目のブロックUNIT1の出力端子CIに接続さ
れている。但し、i=0ビット目のブロックUNIT2
の入力端子CIはGNDに接続されているものとする。
これらの入力信号を受け、このブロックUNIT2で
は、Si =Wi +Ci-1 の演算を行う。ところで演算結
果Si は、“0”,“1”,“−1”の3値をとるた
め、入力信号Ci ,Wi と演算結果Si 及びブロックU
NIT2の出力信号YO,YN,YPの関係は、次の表
3に示すように定義された値にデコードする。
【0028】
【表3】
【0029】上記表3に示すデコードを行う第2のブロ
ックUNIT2の回路構成例を図3に示す。
【0030】最後に、第3のブロックUNIT3につい
て説明する。このブロックUNIT3の各入力端子YO
i ,YPi 及びYNi は、図1に示すように、それぞれ
iビット目の第2のブロックUNIT2の出力端子Y
O,YN,YPに、入力端子CIはi=3ビット目の第
1のブロックUNIT1の出力端子CIに接続されてい
る。このブロックUNIT3は第2のブロックUNIT
2の出力端子YOi ,YNi ,YPi に出力される演算
結果から、“0”,“1”の2値で表せる演算結果に変
換して、出力端子S3〜S0及びCOに出力する。
【0031】この変換の説明を簡単にするため、
“0”,“1”,“−1”の3値をもつ演算結果S
i (=Wi +Ci-1 )からの変換について説明する。こ
の場合、前述のように、 S=S3 ・23 +S2 ・22 +S1 ・21 +S0 ・20 (Si =−1,0,1) と表せるから、“−1”が発生したビットから最初に
“1”が発生したビットまでのSi の値を反転し、“−
1”のSi を“1”と置換することによって、“0”,
“1”,“−1”の3値の演算結果を“0”,“1”の
2値の演算結果に変換できる。次に実際の例を、いくつ
か挙げる。 1 0 0 -1 ⇒ 0 1 1 1 (7D ) 1 -1 -1 -1 ⇒ 0 0 0 1 (1D ) 1 -1 1 -1 -1 ⇒ 1 0 0 1 (9D
【0032】以上述べた演算結果を、“0”,“1”の
2値に変換するように構成した第3のブロックUNIT
3の内部回路構成例を図4に示す。
【0033】上記本発明に係る加算回路の実施例では、
説明を簡単にするため、UNIT1〜UNIT3の3つ
のブロックで構成したものを示したが、回路規模を小さ
くし、高速化を計るためには、これらのブロックを分解
して最適化を計ることや、多ビットに容易に拡張できる
ことはいうまでもない。
【0034】
【発明の効果】以上実施例に基づいて説明したように、
本発明によれば、演算過程において、“0”,“1”以
外の第3の値をもつパラメータにデータを変換して加算
を行うようにしたので、キャリーの伝搬をiビットから
(i+1)ビットの間だけに抑えることができ、フル・
アダーを用いずにデコーダによって演算結果が求められ
る加算回路を構成できるため、従来の最大キャリー伝搬
経路によらない高速な加算演算を比較的簡単な構成で実
現できる。
【図面の簡単な説明】
【図1】本発明に係る加算回路の実施例を示すブロック
構成図である。
【図2】図1に示した加算回路の第1のブロックUNI
T1の回路構成例を示す図である。
【図3】図1に示した加算回路の第2のブロックUNI
T2の回路構成例を示す図である。
【図4】図1に示した加算回路の第3のブロックUNI
T3の回路構成例を示す図である。
【図5】従来の加算回路の構成例を示す回路構成図であ
る。
【符号の説明】
00 ・・・・ U03 第1のブロックUNIT1 U10 ・・・・ U13 第2のブロックUNIT2 U20 第3のブロックUNIT3 A0〜A3 加数入力端子 B0〜B3 被加数入力端子 S0〜S3,CO 加算結果出力端子

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 多ビットの加算方法において、演算の過
    程で“0”,“1”以外の第3の値をもつパラメータに
    データを変換して演算を行い、発生するキャリーの伝搬
    をiビット(i=0,1,2,・・・ )から(i+1)ビ
    ットの間だけにすることを特徴とする加算方法。
  2. 【請求項2】 加数をA=an ・2n +an-1 ・2n-1
    + ・・・・ +a1 ・2+a0 、被加数をB=bn ・2n
    n-1 ・2n-1 + ・・・・ +b1 ・2+b0 とするとき、
    (ai ,bi )の値より、前記第3の値をもつ(Ci
    i )なるパラメータにデータを変換することを特徴と
    する請求項1記載の加算方法。
  3. 【請求項3】 加算結果をS=A+B=Sn ・2n +S
    n-1 ・2n-1 + ・・・・・・ +S1 ・2+S0 とするとき、
    i =Wi +Ci-1 の演算により加算結果を求めること
    とし、Si 及びWi に“0”,“1”以外の第3の値を
    もたせて、発生するキャリーの伝搬がiビットから(i
    +1)ビットの間以外に発生しないようにすることを特
    徴とする請求項1又は2記載の加算方法。
  4. 【請求項4】 “0”,“1”以外の第3の値をもつ演
    算結果Sより、“0”,“1”の2値で表される演算結
    果を求める際に、加算器を用いずに、Si に第3の値が
    現れてから“1”が最初に現れるまでのSi の値を反転
    し、第3の値を“1”に変換することを特徴とする請求
    項3記載の加算方法。
  5. 【請求項5】 加数及び被加数データai ,bi を、
    “0”,“1”以外の第3の値をもつパラメータWi
    及び“0”,“1”の値をもつパラメータCiに変換す
    る複数の第1のブロックユニットと、前記第1のブロッ
    クユニットのiビット目の出力パラメータWi と(i−
    1)ビット目の出力パラメータCi-1 とを加算する第2
    のブロックユニットと、第2のブロックユニットの演算
    結果を“0”,“1”の2値で表される演算結果に変換
    する第3のブロックユニットとで構成されていることを
    特徴とする加算回路。
JP4304434A 1992-10-19 1992-10-19 加算方法及び加算回路 Withdrawn JPH06131158A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4304434A JPH06131158A (ja) 1992-10-19 1992-10-19 加算方法及び加算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4304434A JPH06131158A (ja) 1992-10-19 1992-10-19 加算方法及び加算回路

Publications (1)

Publication Number Publication Date
JPH06131158A true JPH06131158A (ja) 1994-05-13

Family

ID=17932962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4304434A Withdrawn JPH06131158A (ja) 1992-10-19 1992-10-19 加算方法及び加算回路

Country Status (1)

Country Link
JP (1) JPH06131158A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100339245B1 (ko) * 1998-12-22 2002-07-18 박종섭 가산기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100339245B1 (ko) * 1998-12-22 2002-07-18 박종섭 가산기

Similar Documents

Publication Publication Date Title
US4953115A (en) Absolute value calculating circuit having a single adder
US6601077B1 (en) DSP unit for multi-level global accumulation
JPH10233652A (ja) 巡回形ディジタルフィルタ
CN106682258A (zh) 一种高层次综合工具中的多操作数加法优化方法及***
JPH06131158A (ja) 加算方法及び加算回路
JPH07118654B2 (ja) 算術演算装置
JP3071607B2 (ja) 乗算回路
JP2550597B2 (ja) 2乗器
JP2524035Y2 (ja) 畳み込み演算回路用乗算器
US5253194A (en) Digital multiplier
JP2699358B2 (ja) デコーダ回路
JP2901463B2 (ja) 加算装置
JP2674507B2 (ja) ビット誤り数算出回路
JP2834860B2 (ja) 尤度演算方式
JPH04195423A (ja) 乗算器
JP2957671B2 (ja) グレイコードの算定方法
JP3198795B2 (ja) 加算器及び加算方法
JP3521558B2 (ja) 伝送装置
JPS60241333A (ja) MOD(2↑n−1)の加算回路
JP2599984B2 (ja) 入力データのピーク値検出回路
JPS63163927A (ja) 乗算回路
JPH0635668A (ja) 全加算器
JPH05114924A (ja) データ伝送方法およびその装置
JPS615345A (ja) 直列乗算方法
JPH0137049B2 (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: 20000104