JPH0445856B2 - - Google Patents
Info
- Publication number
- JPH0445856B2 JPH0445856B2 JP62045881A JP4588187A JPH0445856B2 JP H0445856 B2 JPH0445856 B2 JP H0445856B2 JP 62045881 A JP62045881 A JP 62045881A JP 4588187 A JP4588187 A JP 4588187A JP H0445856 B2 JPH0445856 B2 JP H0445856B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- bit
- circuit
- adder
- adder circuit
- 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 - Lifetime
Links
- 125000004122 cyclic group Chemical group 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 101100286980 Daucus carota INV2 gene Proteins 0.000 description 3
- 101100397045 Xenopus laevis invs-b gene Proteins 0.000 description 3
- 101150110971 CIN7 gene Proteins 0.000 description 2
- 101150110298 INV1 gene Proteins 0.000 description 2
- 101100397044 Xenopus laevis invs-a gene Proteins 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 1
Description
【発明の詳細な説明】
(a) 産業上の利用分野
この発明は符号(正または負)の特定しない2
つの2進データを加算する加算回路に関し、時に
巡回形のデジタルフイルタなどに好適な加算回路
に関する。
つの2進データを加算する加算回路に関し、時に
巡回形のデジタルフイルタなどに好適な加算回路
に関する。
(b) 従来の技術および発明が解決しようとする問
題点 従来の加算回路では入力された2つの2進デー
タを単に加算していただけであつたために、加算
出力がオーバーフローしたりアンダーフローした
場合に加算出力の符号(正または負)が反転し、
加算結果が大きく変化するという問題があつた。
たとえば4ビツト加算器では、“0111”(+7)と
“1100”(−4)を加算器に与えると加算出力が
“0011”(+3)となつて加算結果に問題を生じる
ことがないが、“0111”(+7)と“0001”(+1)
とを加算すると加算出力が“1000”(−8)とな
り加算結果にオーバーフローを生じてしまう。ま
た、“1001”(−7)と“1110”(−2)とを加算
すると“0111”(+7)となりアンダーフローを
生じてしまう。すなわち4ビツトの加算回路では
第5図に示すような特性となり、図のq1およびq2
点おいて加算結果が大きく変化するために加算回
路として望ましいものではなかつた。またこのよ
うな問題を解決するために加算回路のビツト数を
入力データのビツト数よりも1ビツト分増やし、
加算結果にオーバーフローやアンダーフローが生
じないようにする方法も提案されているが、加算
回路を巡回形のデジタルフイルタなどに使用する
場合には回路内で加算結果の積算が生じるため
に、加算回路の余分なビツト数を相当に大きくし
ない限りいずれオーバーフローやアンダーフロー
の生じる可能性があつた。
題点 従来の加算回路では入力された2つの2進デー
タを単に加算していただけであつたために、加算
出力がオーバーフローしたりアンダーフローした
場合に加算出力の符号(正または負)が反転し、
加算結果が大きく変化するという問題があつた。
たとえば4ビツト加算器では、“0111”(+7)と
“1100”(−4)を加算器に与えると加算出力が
“0011”(+3)となつて加算結果に問題を生じる
ことがないが、“0111”(+7)と“0001”(+1)
とを加算すると加算出力が“1000”(−8)とな
り加算結果にオーバーフローを生じてしまう。ま
た、“1001”(−7)と“1110”(−2)とを加算
すると“0111”(+7)となりアンダーフローを
生じてしまう。すなわち4ビツトの加算回路では
第5図に示すような特性となり、図のq1およびq2
点おいて加算結果が大きく変化するために加算回
路として望ましいものではなかつた。またこのよ
うな問題を解決するために加算回路のビツト数を
入力データのビツト数よりも1ビツト分増やし、
加算結果にオーバーフローやアンダーフローが生
じないようにする方法も提案されているが、加算
回路を巡回形のデジタルフイルタなどに使用する
場合には回路内で加算結果の積算が生じるため
に、加算回路の余分なビツト数を相当に大きくし
ない限りいずれオーバーフローやアンダーフロー
の生じる可能性があつた。
この発明の目的は、オーバーフローやアンダー
フローが生じるのを防ぎ、加算出力が極端に変化
することのない加算回路を提供することにある。
フローが生じるのを防ぎ、加算出力が極端に変化
することのない加算回路を提供することにある。
(c) 問題点を解決するための手段
この発明は、最上位ビツトを符号ビツトとする
2つの2進データを加算する加算回路において、 それぞれn(nは2以上の整数)ビツトの2つ
のデイジタルデータの同一ビツト目の2つのビツ
ト信号と下位ビツトからのキヤリーを入力し、加
算結果を出力するn個の加算回路と、 最上位ビツトの加算回路の出力を反転するイン
バータと、最上位ビツトの加算回路に入力される
2つのビツト信号と前記インバータの出力信号を
それぞれ入力するオアゲートおよび第1のナンド
ゲート、さらに前記オアゲートと第1のナンドゲ
ートを入力する第2のナンドゲートからなる判定
回路と、 前記判定回路の出力が論理0であるとき、前記
n個の加算回路の出力レベルを1〜nビツト目の
出力部にそのまま導き、前記判定回路の出力が論
理1であるとき、最上位ビツトの加算回路の出力
を反転して、nビツト目の出力部に導くととも
に、最上位ビツトの加算回路の出力レベルを1〜
(n−1)ビツト目の出力部に導く出力ゲート回
路からなる。
2つの2進データを加算する加算回路において、 それぞれn(nは2以上の整数)ビツトの2つ
のデイジタルデータの同一ビツト目の2つのビツ
ト信号と下位ビツトからのキヤリーを入力し、加
算結果を出力するn個の加算回路と、 最上位ビツトの加算回路の出力を反転するイン
バータと、最上位ビツトの加算回路に入力される
2つのビツト信号と前記インバータの出力信号を
それぞれ入力するオアゲートおよび第1のナンド
ゲート、さらに前記オアゲートと第1のナンドゲ
ートを入力する第2のナンドゲートからなる判定
回路と、 前記判定回路の出力が論理0であるとき、前記
n個の加算回路の出力レベルを1〜nビツト目の
出力部にそのまま導き、前記判定回路の出力が論
理1であるとき、最上位ビツトの加算回路の出力
を反転して、nビツト目の出力部に導くととも
に、最上位ビツトの加算回路の出力レベルを1〜
(n−1)ビツト目の出力部に導く出力ゲート回
路からなる。
(d) 作用
この発明に係る加算回路では、最上位ビツトの
入力データを加算し、さらにその加算結果と最上
位ビツトへの入力データに基づいて加算出力がオ
ーバーフローするかアンダーフローするかを判定
する。2つの2進データを加算してオーバーフロ
ーまたはアンダーフローする場合は、2つのデー
タの符号ビツトが同一である場合に限る。2つの
データの符号が異なつている場合にはオーバーフ
ローやアンダーフローを生じることがない。さら
に2つのデータの符号が同一であつても最上位ビ
ツト(符号ビツト)の加算結果によつてはオーバ
ーフローやアンダーフローの生じないことがあ
る。たとえば、2つの入力データが共に負である
場合、最上位ビツトの加算結果が負を表す“1”
となつたときには、アンダーフローを生じない。
また2つのデータが共に正である場合、最上位ビ
ツトが正を表す“0”となつたときにはオーバー
フローを生じない。すなわちオーバーフローは第
2図のCASE1の場合にのみ生じ、アンダーフロ
ーは同図のCASE2の場合にのみ生じる。
入力データを加算し、さらにその加算結果と最上
位ビツトへの入力データに基づいて加算出力がオ
ーバーフローするかアンダーフローするかを判定
する。2つの2進データを加算してオーバーフロ
ーまたはアンダーフローする場合は、2つのデー
タの符号ビツトが同一である場合に限る。2つの
データの符号が異なつている場合にはオーバーフ
ローやアンダーフローを生じることがない。さら
に2つのデータの符号が同一であつても最上位ビ
ツト(符号ビツト)の加算結果によつてはオーバ
ーフローやアンダーフローの生じないことがあ
る。たとえば、2つの入力データが共に負である
場合、最上位ビツトの加算結果が負を表す“1”
となつたときには、アンダーフローを生じない。
また2つのデータが共に正である場合、最上位ビ
ツトが正を表す“0”となつたときにはオーバー
フローを生じない。すなわちオーバーフローは第
2図のCASE1の場合にのみ生じ、アンダーフロ
ーは同図のCASE2の場合にのみ生じる。
したがつて本発明の加算回路では、入力Aデー
タと入力Bデータおよび最上位ビツト加算結果に
基づいて同図のCASE1に該当するかCASE2に該
当するかを判定する。そしてCASE1に該当する
場合には図のように加算出力を“0111…1”に設
定する。すなわち正の最大値に設定する。また
CASE2に該当する場合には加算出力を“1000…
0”に設定する。すなわち負の最大値に設定す
る。この結果この加算回路の特性は第3図に示す
ようになる。すなわち第5図に示すq1、q2を越
える領域では正または負の最大値に固定される。
このため加算出力の誤差が極端に大きくなるのを
防止することができる。
タと入力Bデータおよび最上位ビツト加算結果に
基づいて同図のCASE1に該当するかCASE2に該
当するかを判定する。そしてCASE1に該当する
場合には図のように加算出力を“0111…1”に設
定する。すなわち正の最大値に設定する。また
CASE2に該当する場合には加算出力を“1000…
0”に設定する。すなわち負の最大値に設定す
る。この結果この加算回路の特性は第3図に示す
ようになる。すなわち第5図に示すq1、q2を越
える領域では正または負の最大値に固定される。
このため加算出力の誤差が極端に大きくなるのを
防止することができる。
(e) 実施例
第1図はこの発明の実施例であるnビツトの加
算回路を示している。
算回路を示している。
入力されるnビツトの2進データA、Bはビツ
トごとに加算器1に入力されここで加算される。
各ビツトの加算結果にキヤリー(桁上げ信号)が
発生すれば、そのキヤリーが一つ上位の桁の加算
器1に対して加算すべきデータとして入力され
る。最上位ビツト(nビツト)の加算結果に生じ
たキヤリーは無視される。各加算器1の加算結果
は第1の出力ゲート2を介して出力される。最上
位ビツトの加算結果および最上位ビツトへの入力
データAn、Bnは判定回路3に出力される。この
判定回路3では、上記第2図に示すCASE1およ
びCASE2の状態が発生したかどうかを判定する。
CASE1またはCASE2のいずれかの状態(オーバ
ーフロー状態またはアンダーフロー状態)が発生
した場合には、ナンドゲートNANDを“H”に
設定し、それ以外は“L”に設定する。NAND
の出力はインバータINV1を介して第2の出力
ゲート4のゲート制御端子に供給される。また最
上位ビツトの加算結果は、最上位ビツトに関して
はインバータINV2で反転されて出力ゲート4
に導かれ、それ以外のビツトについては直接出力
ゲート4に導かれる。上記インバータINV1,
INV2および出力ゲート3は、第2図のCASE1
およびCASE2の場合に、同図に示す加算出力す
なわち正の最大値または負の最大値を出力する
正、負最大値設定回路5を構成する。
トごとに加算器1に入力されここで加算される。
各ビツトの加算結果にキヤリー(桁上げ信号)が
発生すれば、そのキヤリーが一つ上位の桁の加算
器1に対して加算すべきデータとして入力され
る。最上位ビツト(nビツト)の加算結果に生じ
たキヤリーは無視される。各加算器1の加算結果
は第1の出力ゲート2を介して出力される。最上
位ビツトの加算結果および最上位ビツトへの入力
データAn、Bnは判定回路3に出力される。この
判定回路3では、上記第2図に示すCASE1およ
びCASE2の状態が発生したかどうかを判定する。
CASE1またはCASE2のいずれかの状態(オーバ
ーフロー状態またはアンダーフロー状態)が発生
した場合には、ナンドゲートNANDを“H”に
設定し、それ以外は“L”に設定する。NAND
の出力はインバータINV1を介して第2の出力
ゲート4のゲート制御端子に供給される。また最
上位ビツトの加算結果は、最上位ビツトに関して
はインバータINV2で反転されて出力ゲート4
に導かれ、それ以外のビツトについては直接出力
ゲート4に導かれる。上記インバータINV1,
INV2および出力ゲート3は、第2図のCASE1
およびCASE2の場合に、同図に示す加算出力す
なわち正の最大値または負の最大値を出力する
正、負最大値設定回路5を構成する。
上記の構成で第2図のCASE1およびCASE2に
該当しない場合には判定回路3のNAND出力が
“L”となり、出力ゲート2が選択される。これ
によつて各ビツトの加算器出力はそのまま出力ゲ
ート2を通過して出力端子SAに現れる。一方判
定回路3が第2図のCASE1またはCASE2に該
当することを判定した場合にはNAND出力が
“H”となるために出力ゲート4が選択される。
この場合には出力ゲート4の手前にINV2が存
在するのは最終ビツトだけであるために、結局第
2図に示したように出力端子SAに現れる加算結
果は、SASE1の場合“0111…1”となり
CASE2の場合には“1000…0”となる。すなわ
ち第3図に示す特性となる。
該当しない場合には判定回路3のNAND出力が
“L”となり、出力ゲート2が選択される。これ
によつて各ビツトの加算器出力はそのまま出力ゲ
ート2を通過して出力端子SAに現れる。一方判
定回路3が第2図のCASE1またはCASE2に該
当することを判定した場合にはNAND出力が
“H”となるために出力ゲート4が選択される。
この場合には出力ゲート4の手前にINV2が存
在するのは最終ビツトだけであるために、結局第
2図に示したように出力端子SAに現れる加算結
果は、SASE1の場合“0111…1”となり
CASE2の場合には“1000…0”となる。すなわ
ち第3図に示す特性となる。
第4図は上記の加算回路を使用して巡回形デジ
タルフイルタを構成した例を示している。この例
では3個の加算回路10,11,12を使用し、
一つのラツチ回路13を使用している。加算回路
10の一方の入力端子には加算回路11の出力を
ラツチするラツチ回路13の10ビツト分の出力が
帰還し、また加算回路11にはラツチ回路13の
すべての出力が帰還している。
タルフイルタを構成した例を示している。この例
では3個の加算回路10,11,12を使用し、
一つのラツチ回路13を使用している。加算回路
10の一方の入力端子には加算回路11の出力を
ラツチするラツチ回路13の10ビツト分の出力が
帰還し、また加算回路11にはラツチ回路13の
すべての出力が帰還している。
上記の加算回路を使用したこのデジタルフイル
タでは、各加算回路の加算結果が第3図のq1、
q2を越えた場合であつてもその時の加算回路の
誤差は第5図に示す場合と比較してかなり小さ
い。しかもある瞬間には加算結果がq1、q2を越
えたとしても、次の加算タイミングには再びq1と
q2の間のリニアー領域に戻るかもしれない。すな
わち巡回形のデジタルフイルタでは加算結果が常
に変動するために、フイルタ全体の特性を考えた
場合第1図に示す加算回路を使用する場合に比べ
て大幅な特性改善を図ることができる。
タでは、各加算回路の加算結果が第3図のq1、
q2を越えた場合であつてもその時の加算回路の
誤差は第5図に示す場合と比較してかなり小さ
い。しかもある瞬間には加算結果がq1、q2を越
えたとしても、次の加算タイミングには再びq1と
q2の間のリニアー領域に戻るかもしれない。すな
わち巡回形のデジタルフイルタでは加算結果が常
に変動するために、フイルタ全体の特性を考えた
場合第1図に示す加算回路を使用する場合に比べ
て大幅な特性改善を図ることができる。
(f) 発明の効果
以上のようにこの発明によれば、オーバーフロ
ー状態やアンダーフロー状態を判定する手段と、
それらの状態を判定した場合に加算出力を正の最
大値または負の最大値に設定する手段を設けるだ
けで加算結果が入力データによつて大きく変化す
るという問題をなくすことができる。
ー状態やアンダーフロー状態を判定する手段と、
それらの状態を判定した場合に加算出力を正の最
大値または負の最大値に設定する手段を設けるだ
けで加算結果が入力データによつて大きく変化す
るという問題をなくすことができる。
第1図はこの発明の実施例である加算回路の回
路図を示す。第2図は同加算回路の動作を説明す
る図であり、第3図は同加算回路の特性図を示
す。第4図はこの発明に係る加算回路を使用した
巡回形のデジタルフイルタの構成図を示す。また
第5図は従来の加算回路(4ビツト加算回路)の
特性図を示している。 3……判定回路、5……正、負最大値設定回
路。
路図を示す。第2図は同加算回路の動作を説明す
る図であり、第3図は同加算回路の特性図を示
す。第4図はこの発明に係る加算回路を使用した
巡回形のデジタルフイルタの構成図を示す。また
第5図は従来の加算回路(4ビツト加算回路)の
特性図を示している。 3……判定回路、5……正、負最大値設定回
路。
Claims (1)
- 【特許請求の範囲】 1 最上位ビツトを符号ビツトとする2つの2進
データを加算する加算回路において、 それぞれn(nは2以上の整数)ビツトの2つ
のデイジタルデータの同一ビツト目の2つのビツ
ト信号と下位ビツトからのキヤリーを入力し、加
算結果を出力するn個の加算回路と、 最上位ビツトの加算回路の出力を反転するイン
バータと、最上位ビツトの加算回路に入力される
2つのビツト信号と前記インバータの出力信号を
それぞれ入力するオアゲートおよび第1のナンド
ゲート、さらに前記オアゲートと第1のナンドゲ
ートを入力する第2のナンドゲートからなる判定
回路と、 前記判定回路の出力が論理0であるとき、前記
n個の加算回路の出力レベルを1〜nビツト目の
出力部にそのまま導き、前記判定回路の出力が論
理1であるとき、最上位ビツトの加算回路の出力
を反転して、nビツト目の出力部に導くととも
に、最上位ビツトの加算回路の出力レベルを1〜
(n−1)ビツト目の出力部に導く出力ゲート回
路からなる加算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62045881A JPS63211431A (ja) | 1987-02-27 | 1987-02-27 | 加算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62045881A JPS63211431A (ja) | 1987-02-27 | 1987-02-27 | 加算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63211431A JPS63211431A (ja) | 1988-09-02 |
JPH0445856B2 true JPH0445856B2 (ja) | 1992-07-28 |
Family
ID=12731572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62045881A Granted JPS63211431A (ja) | 1987-02-27 | 1987-02-27 | 加算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63211431A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5038314A (en) * | 1989-11-17 | 1991-08-06 | Digital Equipment Corporation | Method and apparatus for correction of underflow and overflow |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61262925A (ja) * | 1985-05-17 | 1986-11-20 | Nec Corp | 演算回路 |
-
1987
- 1987-02-27 JP JP62045881A patent/JPS63211431A/ja active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61262925A (ja) * | 1985-05-17 | 1986-11-20 | Nec Corp | 演算回路 |
Also Published As
Publication number | Publication date |
---|---|
JPS63211431A (ja) | 1988-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4667337A (en) | Integrated circuit having outputs configured for reduced state changes | |
US4761760A (en) | Digital adder-subtracter with tentative result correction circuit | |
EP0209308B1 (en) | Circuitry for complementing binary numbers | |
JPH0215088B2 (ja) | ||
US4383304A (en) | Programmable bit shift circuit | |
US3932734A (en) | Binary parallel adder employing high speed gating circuitry | |
JPH0421889B2 (ja) | ||
JP3248743B2 (ja) | 符号付き加算器のためのオーバーフロー/アンダーフロー高速制限回路 | |
US5319347A (en) | Parallelized magnitude comparator for comparing a binary number to a fixed value | |
US4899305A (en) | Manchester carry adder circuit | |
JPH0445856B2 (ja) | ||
US6434588B1 (en) | Binary counter with low power consumption | |
GB2184579A (en) | A multi-stage parallel binary adder | |
US5357235A (en) | Parallelized magnitude comparator | |
JPH09222991A (ja) | 加算方法および加算器 | |
JP2766133B2 (ja) | パラレル・シリアル・データ変換回路 | |
US5777906A (en) | Left shift overflow detection | |
JPH0578104B2 (ja) | ||
JP4354648B2 (ja) | バイアスを招かないで固定少数点フォーマットに信号を圧縮するための方法と装置 | |
US5386377A (en) | Parallelized borrow look ahead subtractor | |
JP2552028B2 (ja) | 加算器 | |
EP0875092A1 (en) | Logic circuits | |
JP2629737B2 (ja) | アキュムレータ | |
US4072904A (en) | Presettable rate multiplier | |
US5224133A (en) | Modular high speed counter employing edge-triggered code |