JPH02291019A - ディジタル加算器 - Google Patents
ディジタル加算器Info
- Publication number
- JPH02291019A JPH02291019A JP2091425A JP9142590A JPH02291019A JP H02291019 A JPH02291019 A JP H02291019A JP 2091425 A JP2091425 A JP 2091425A JP 9142590 A JP9142590 A JP 9142590A JP H02291019 A JPH02291019 A JP H02291019A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- latch circuits
- output
- bits
- 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.)
- 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
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
-
- 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/3884—Pipelining
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)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明は、複数の多ビットの入力ワードを加算して1個
の多ビットの出力ワートを生成するためのディジタル加
算器に関する。
の多ビットの出力ワートを生成するためのディジタル加
算器に関する。
「発明の概要」
本発明に、複数の多ピントの入力ワードを加算して1個
の多ビットの出力ワードを生成するためのディジクル加
算器であって、所定のクロック周期を有するクロック信
号を生成するクロック発振器と、その入力ワードの夫々
同じ桁のビットを入力すると共に全て略同一の遅延時間
を有し、且つ各グループ内の全体の遅延時間がそのクロ
ック周期より小さい範囲でその入力ワードの各ビットの
桁の大きさに従ってグループ分けされ、このグループ分
けされた範囲で互いにカスケード接続された複数の加算
器と、その加算器の出力部に接続され、その各グループ
の夫々の桁の和出力ビットを入力するラッチ回路とその
各グループの夫々の1個の加算器より桁上げ出力ビット
を入力するラッチ回路とよりなる第1の1組のラッチ回
路と、その出力ワードの各ビットを入力する出力用の1
組のラッチ回路とを有し、その第1の及び出力用の1組
のラッチ回路を夫々に供給される各ビットをそのクロッ
ク周期に1回の割合で同時に出力するようにそのクロッ
ク発振器を用いて制御し、夫々そのクロック周期より小
さい遅延時間を有し夫々複数の予め定められた論理演算
機能の1つを実行する複数の論理ユニットを含みその第
1の1組のラッチ回路とその出力用の1組のラッチ回路
との間に接続された処理回路を用いて、その第1の1組
のラッチ回路より出力されるそれら各ビッ1・より少な
くともそのクロック周期の1周期の間にその出力ワード
のそれら各ビットを生成することにより、使用されてい
るラッチ回路の数を減少できると共にハードウェアの使
用量が最小のプログラマプルなゲートアレイ構造で製造
するのに適し、且つ入力から出力までの遅延時間を減少
できるパイプライン方式のディジクル加算器を提供でき
るようにしたものである。
の多ビットの出力ワードを生成するためのディジクル加
算器であって、所定のクロック周期を有するクロック信
号を生成するクロック発振器と、その入力ワードの夫々
同じ桁のビットを入力すると共に全て略同一の遅延時間
を有し、且つ各グループ内の全体の遅延時間がそのクロ
ック周期より小さい範囲でその入力ワードの各ビットの
桁の大きさに従ってグループ分けされ、このグループ分
けされた範囲で互いにカスケード接続された複数の加算
器と、その加算器の出力部に接続され、その各グループ
の夫々の桁の和出力ビットを入力するラッチ回路とその
各グループの夫々の1個の加算器より桁上げ出力ビット
を入力するラッチ回路とよりなる第1の1組のラッチ回
路と、その出力ワードの各ビットを入力する出力用の1
組のラッチ回路とを有し、その第1の及び出力用の1組
のラッチ回路を夫々に供給される各ビットをそのクロッ
ク周期に1回の割合で同時に出力するようにそのクロッ
ク発振器を用いて制御し、夫々そのクロック周期より小
さい遅延時間を有し夫々複数の予め定められた論理演算
機能の1つを実行する複数の論理ユニットを含みその第
1の1組のラッチ回路とその出力用の1組のラッチ回路
との間に接続された処理回路を用いて、その第1の1組
のラッチ回路より出力されるそれら各ビッ1・より少な
くともそのクロック周期の1周期の間にその出力ワード
のそれら各ビットを生成することにより、使用されてい
るラッチ回路の数を減少できると共にハードウェアの使
用量が最小のプログラマプルなゲートアレイ構造で製造
するのに適し、且つ入力から出力までの遅延時間を減少
できるパイプライン方式のディジクル加算器を提供でき
るようにしたものである。
[従来の技術]
第1図は従来のディジタル加算器の構成を示し、この第
1図例では例えば、一方のワードが(桁が大きくなる順
序で)ビッ}.AO−A7よりなり、他方のワードが(
桁が大きくなる順序で)ビッ}BO〜B7よりなる2個
の8ビットの入力ワードが加算される。その加算器は夫
々入力端子A及びB.桁上げ入力端子CI,和出力端子
Q及び桁上げ出力端子COを有する8個の1ビットの全
加算器FAよりなる。
1図例では例えば、一方のワードが(桁が大きくなる順
序で)ビッ}.AO−A7よりなり、他方のワードが(
桁が大きくなる順序で)ビッ}BO〜B7よりなる2個
の8ビットの入力ワードが加算される。その加算器は夫
々入力端子A及びB.桁上げ入力端子CI,和出力端子
Q及び桁上げ出力端子COを有する8個の1ビットの全
加算器FAよりなる。
それら入力ワードのビッ}AO〜八7及びビッ}BO〜
B7が夫々図示の如くそれら全加算器FAの入力端子A
及びBに供給される。最小桁の全加算器FAの桁上げ入
力端子CIがグランド(GND)レベルに設定される。
B7が夫々図示の如くそれら全加算器FAの入力端子A
及びBに供給される。最小桁の全加算器FAの桁上げ入
力端子CIがグランド(GND)レベルに設定される。
それら全加算器FAはカスケード接続される。
即ち、夫々の全加算器FA (当然に最大桁に対応する
加算器を除く)の桁上げ出力端子CDが隣接するより高
次の全加算器の桁上げ入力端子CIに接続される。明か
な如く、その結果それら全加算器FAはそれら入力ワー
ドを加算して1個の桁上げビットと共に、桁が大きくな
る順序て圓〜E7の8ビットからなる1個の出力ワード
を生成する。図示する如く、桁が大きくなる順序てビッ
}EO〜B7がそれら全加算器FAの和出力端子Qより
出力され、最大桁の全加算器の桁上げ出力端子CDより
その桁上げビットが生成される。
加算器を除く)の桁上げ出力端子CDが隣接するより高
次の全加算器の桁上げ入力端子CIに接続される。明か
な如く、その結果それら全加算器FAはそれら入力ワー
ドを加算して1個の桁上げビットと共に、桁が大きくな
る順序て圓〜E7の8ビットからなる1個の出力ワード
を生成する。図示する如く、桁が大きくなる順序てビッ
}EO〜B7がそれら全加算器FAの和出力端子Qより
出力され、最大桁の全加算器の桁上げ出力端子CDより
その桁上げビットが生成される。
第1図の加算器はそれら全加算器f’八がカスケード接
続された構造であるため、その出力ワードが生成される
までに要する時間は全ての8個の全加算器中を信号が伝
播するのに要する遅延時間の和に等しい。これは夫々の
全加算器FAは隣接するより低次の全加算器の桁上げ出
力端子CDより桁上げビットを入力して初めて動作を開
始できることによる。即ち、最小桁(LSB)から最大
桁(MSB)まで桁上げ出力ビットが伝播して初めてそ
の出力ワードが生成される。
続された構造であるため、その出力ワードが生成される
までに要する時間は全ての8個の全加算器中を信号が伝
播するのに要する遅延時間の和に等しい。これは夫々の
全加算器FAは隣接するより低次の全加算器の桁上げ出
力端子CDより桁上げビットを入力して初めて動作を開
始できることによる。即ち、最小桁(LSB)から最大
桁(MSB)まで桁上げ出力ビットが伝播して初めてそ
の出力ワードが生成される。
上述の演算速度の限界は、所謂パイプライン構造を採用
してその加算器に大規模なハードウェアを追加すること
により改善することができる。この技術においては、そ
れら全加算器はカスケード接続された複数のグループ内
で相互に接続され、各グループ内の全体の伝播遅延時間
が予め定められた周期より小さくなるようにそれら各グ
ループ内の全加算器の数が定められる。それら各グルー
プは複数組のラッチ回路によって分離され、これら全て
のラッチ回路は上述の予め定められた周期に等しい周期
のクロック信号を生成するクロック発振器の制御により
、夫々に供給される各ビットをそのクロック信号の1周
期に1回(即ち、そのクロック信号の各クロックパルス
を入力したときに)同時に出力する。第2図はそのよう
なパイプライン方式の加算器の構成を示す。第2図の回
路は第1図例と同様に、夫々ビット八〇〜A7及びBO
〜B7よりなる2個の8ビットの入力ワードを加算して
ビットBO〜E7よりなる1個の出力ワード(及び1個
の桁上げビット)を生成する。第2図の回路は第1図例
と同様に8個の1ビットの全加算器FAを有する。更に
、第2図の回路は48個のラッチ回路LAを有し、これ
らのラッチ回路LAによりその回路がパイプライン化さ
れて、その出力ワードの各ビッ}EO〜E7 (及びそ
の桁上げビット)が同じタイミングを有するようてそれ
らビットに時間的な前処理の等化及び後処理の等化が施
される。それらラッチ回路LAは第1〜第4の組に分け
て配列され(各組は第2図に示す如く互いに垂直に配列
されたラッチ回路よりなる)、それら各組に先行して夫
々2個のカスケード接続された全加算器FAよりなる第
1〜第4のグループの内の対応するグループが付加され
ている。それら全てのラッチ回路LAにはクロック発振
器CKが接続され、このクロック発振器CKよりそれら
カスケード接続された全加算器FAよりなるグループの
信号伝播遅延時間の和よりも大きなクロック周期のクロ
ックパルスよりなるクロック信号が供給される。
してその加算器に大規模なハードウェアを追加すること
により改善することができる。この技術においては、そ
れら全加算器はカスケード接続された複数のグループ内
で相互に接続され、各グループ内の全体の伝播遅延時間
が予め定められた周期より小さくなるようにそれら各グ
ループ内の全加算器の数が定められる。それら各グルー
プは複数組のラッチ回路によって分離され、これら全て
のラッチ回路は上述の予め定められた周期に等しい周期
のクロック信号を生成するクロック発振器の制御により
、夫々に供給される各ビットをそのクロック信号の1周
期に1回(即ち、そのクロック信号の各クロックパルス
を入力したときに)同時に出力する。第2図はそのよう
なパイプライン方式の加算器の構成を示す。第2図の回
路は第1図例と同様に、夫々ビット八〇〜A7及びBO
〜B7よりなる2個の8ビットの入力ワードを加算して
ビットBO〜E7よりなる1個の出力ワード(及び1個
の桁上げビット)を生成する。第2図の回路は第1図例
と同様に8個の1ビットの全加算器FAを有する。更に
、第2図の回路は48個のラッチ回路LAを有し、これ
らのラッチ回路LAによりその回路がパイプライン化さ
れて、その出力ワードの各ビッ}EO〜E7 (及びそ
の桁上げビット)が同じタイミングを有するようてそれ
らビットに時間的な前処理の等化及び後処理の等化が施
される。それらラッチ回路LAは第1〜第4の組に分け
て配列され(各組は第2図に示す如く互いに垂直に配列
されたラッチ回路よりなる)、それら各組に先行して夫
々2個のカスケード接続された全加算器FAよりなる第
1〜第4のグループの内の対応するグループが付加され
ている。それら全てのラッチ回路LAにはクロック発振
器CKが接続され、このクロック発振器CKよりそれら
カスケード接続された全加算器FAよりなるグループの
信号伝播遅延時間の和よりも大きなクロック周期のクロ
ックパルスよりなるクロック信号が供給される。
第2図例の回路は次のように動作する。そのクロック発
振器Cκより第1のクロックパルスが生成されると、そ
の回路に図示の如くそれら入力ワードのビッ} AO−
A7及びビット80 ,87が供給される。
振器Cκより第1のクロックパルスが生成されると、そ
の回路に図示の如くそれら入力ワードのビッ} AO−
A7及びビット80 ,87が供給される。
ビッ}A2〜八7及びビット82〜B7がラッチ回路L
Aの第1の組の前処理の等化を行うラッチ回路に供給さ
れる。ビッ} AO, Al, BO及びB1が全加算
器FAの第1のカスケード接続されたグループの入力端
子A及びBに供給される。全加算器FAの第1のカスケ
ード接続されたグループの全体の信号の遅延時間は1個
の全加算器FAの遅延時間の2倍であり、全ての全加算
器の遅延時間は夫々略同じである。その全体の信号の遅
延時間はそのクロック周期より小さい。従って、その次
のクロックパルスが生成される前に、大カビッ}AO及
び80を入力する全加算器の和出力ビット並びに入カビ
ッ}Al及びB1を入力する全加算器の出力端子Q及び
CDより夫々供給される和出力ビット及び桁上げビット
がラッチ回路LAの第1の組の対になったラッチ回路に
ラッチされる。
Aの第1の組の前処理の等化を行うラッチ回路に供給さ
れる。ビッ} AO, Al, BO及びB1が全加算
器FAの第1のカスケード接続されたグループの入力端
子A及びBに供給される。全加算器FAの第1のカスケ
ード接続されたグループの全体の信号の遅延時間は1個
の全加算器FAの遅延時間の2倍であり、全ての全加算
器の遅延時間は夫々略同じである。その全体の信号の遅
延時間はそのクロック周期より小さい。従って、その次
のクロックパルスが生成される前に、大カビッ}AO及
び80を入力する全加算器の和出力ビット並びに入カビ
ッ}Al及びB1を入力する全加算器の出力端子Q及び
CDより夫々供給される和出力ビット及び桁上げビット
がラッチ回路LAの第1の組の対になったラッチ回路に
ラッチされる。
その次のクロックパルスが生成されるとその第1の組の
ラッチ回路LAに保持されていたビットが出力され、そ
れに続くクロック周期の間に、2個のカスケード接続さ
れた全加算器FAよりなる第2のグループにおいて人カ
ビッ}A2,’82, A3及びB3(並びに前段から
の桁上げ出力ビット)が加算される。その後その過程が
更に2回繰り返され、全体で4クロック周期又は4クロ
ックサイクル経過後に、ラッチ回路LAの第4の組の出
力端子に出力ワードが現れる。前処理の等化を行うラッ
チ回路(全加算器の前にあるもの)及び後処理の等化を
行うラッチ回路(全加算器の後にあるもの)により、そ
の出力ワードの各ビットはラッチ回路の第4の組から同
じタイミングで出力されることが保障される。これに関
して、一連の入力ワードのビットが一連のクロックサイ
クルの各サイクルの間に入力され、その各クロックサイ
クルの間に1個の出力ワードが生成されることに注意す
べきである。
ラッチ回路LAに保持されていたビットが出力され、そ
れに続くクロック周期の間に、2個のカスケード接続さ
れた全加算器FAよりなる第2のグループにおいて人カ
ビッ}A2,’82, A3及びB3(並びに前段から
の桁上げ出力ビット)が加算される。その後その過程が
更に2回繰り返され、全体で4クロック周期又は4クロ
ックサイクル経過後に、ラッチ回路LAの第4の組の出
力端子に出力ワードが現れる。前処理の等化を行うラッ
チ回路(全加算器の前にあるもの)及び後処理の等化を
行うラッチ回路(全加算器の後にあるもの)により、そ
の出力ワードの各ビットはラッチ回路の第4の組から同
じタイミングで出力されることが保障される。これに関
して、一連の入力ワードのビットが一連のクロックサイ
クルの各サイクルの間に入力され、その各クロックサイ
クルの間に1個の出力ワードが生成されることに注意す
べきである。
[発明が解決しようとする課題]
しかしながら、第2図の回路には次のような不都合があ
る。先ず、その回路は多くのラッチ回路を使用する。こ
れに関して、前処理の等化用のラッチ回路が非常に非効
率的に使用されており、具体的にはパイプラインの各段
階のビットの夫々について2個のラッチ回路が必要であ
る。例えば、ビッ}A7及びB7が加算される前に6個
の等化用のラッチ回路が必要である。第2に、その回路
の入力と出力との間には長い遅延時間(4クロック周期
即ち4クロックサイクル)がある。仮にそれらラッチ回
路の各組の間に2個より多い数の全加算器をカスケード
接続できれば、そのラッチ回路の数及びその遅延時間を
減少できるかもしれないが、上述の不都合は依然として
存在する。入力ワードの全ビットの数が8を超えると、
その一連の段階におけるカスケード接続された加算器の
数がどのような値であっても上述の不都合はより顕著に
なる傾向がある。更に、プログラマブルなロジックアレ
イとしても知られているプログラマプルなゲートアレイ
(PGA)を1個又は複数使用してその回路を構成しよ
うとするときに、多くのラッチ回路を使用することが更
なる不都合を招来する。1個のPG八 け配列可能な論
理ブロック (conf igurablelogic
block(CLB) )の配列を有するチップより
なり、このC L Bの一例が第3図に示されている。
る。先ず、その回路は多くのラッチ回路を使用する。こ
れに関して、前処理の等化用のラッチ回路が非常に非効
率的に使用されており、具体的にはパイプラインの各段
階のビットの夫々について2個のラッチ回路が必要であ
る。例えば、ビッ}A7及びB7が加算される前に6個
の等化用のラッチ回路が必要である。第2に、その回路
の入力と出力との間には長い遅延時間(4クロック周期
即ち4クロックサイクル)がある。仮にそれらラッチ回
路の各組の間に2個より多い数の全加算器をカスケード
接続できれば、そのラッチ回路の数及びその遅延時間を
減少できるかもしれないが、上述の不都合は依然として
存在する。入力ワードの全ビットの数が8を超えると、
その一連の段階におけるカスケード接続された加算器の
数がどのような値であっても上述の不都合はより顕著に
なる傾向がある。更に、プログラマブルなロジックアレ
イとしても知られているプログラマプルなゲートアレイ
(PGA)を1個又は複数使用してその回路を構成しよ
うとするときに、多くのラッチ回路を使用することが更
なる不都合を招来する。1個のPG八 け配列可能な論
理ブロック (conf igurablelogic
block(CLB) )の配列を有するチップより
なり、このC L Bの一例が第3図に示されている。
個々のCLBはプログラマプルな論理部(progra
mmable logic section(PLS)
)即ちプログラマプルなゲート部及び1個のラッチ回
路1,八よりなり、複数のCLB (即ち、その内部の
複数のPLS及び複数のラッチ回路)を所望の方法で互
いに接続することができる。各CLBにおいてはPLS
だけ又はラッチ回路LAだけを使用することができる。
mmable logic section(PLS)
)即ちプログラマプルなゲート部及び1個のラッチ回
路1,八よりなり、複数のCLB (即ち、その内部の
複数のPLS及び複数のラッチ回路)を所望の方法で互
いに接続することができる。各CLBにおいてはPLS
だけ又はラッチ回路LAだけを使用することができる。
更に、そのPL’Sとラッチ回路LAとの両方を使用す
ることも可能であり、この場合には前者が後者に出力信
号を供給する。そのPLSは供給される(例えば)4個
の入力信号に対して種々の所望の論理演算の内の何れか
の演算を施すようにプログラムすることができる。(そ
の他に、そのPLSは3個の入力信号に対して、2個の
演算の対象となる入力信号が同じであるという条件下で
種々の所望の論理演算の内の何れか2個の異なる演算を
施すようにプログラムすることができる。)上述のタイ
プ(論理セルアレイと言われる)のP G Aとしては
カリフォルニア州、サンタクララのモノリシソクメモリ
ー社の型番がM2064/M2018の製品を使用する
ことができる。
ることも可能であり、この場合には前者が後者に出力信
号を供給する。そのPLSは供給される(例えば)4個
の入力信号に対して種々の所望の論理演算の内の何れか
の演算を施すようにプログラムすることができる。(そ
の他に、そのPLSは3個の入力信号に対して、2個の
演算の対象となる入力信号が同じであるという条件下で
種々の所望の論理演算の内の何れか2個の異なる演算を
施すようにプログラムすることができる。)上述のタイ
プ(論理セルアレイと言われる)のP G Aとしては
カリフォルニア州、サンタクララのモノリシソクメモリ
ー社の型番がM2064/M2018の製品を使用する
ことができる。
第2図の回路を上述のタイプのPG八で構成することが
できろ。そして、所定の数のPLSに所定のプログラミ
ングを施すことによりその全加算器FAが構成される。
できろ。そして、所定の数のPLSに所定のプログラミ
ングを施すことによりその全加算器FAが構成される。
ハードウェアの使用効率を最大にするために、少なくと
もそれら全加算器FAの直後に続くラッチ回路LAのあ
る程度はそれら全加算器を形成するCLBと同じCLB
のラッチ回路を使用することができる。しかしながら、
第2図のラッチ回路LAの大部分は単独のCLBのラッ
チ回路よりなり、これらCLBのP L Sの部分は使
用されない。従って、非常に多量の使用可能なハードウ
ェアが使用されないまま消費される。
もそれら全加算器FAの直後に続くラッチ回路LAのあ
る程度はそれら全加算器を形成するCLBと同じCLB
のラッチ回路を使用することができる。しかしながら、
第2図のラッチ回路LAの大部分は単独のCLBのラッ
チ回路よりなり、これらCLBのP L Sの部分は使
用されない。従って、非常に多量の使用可能なハードウ
ェアが使用されないまま消費される。
本発明は斯かる点に鑑み、ラッチ回路の数が少ないパイ
プライン方式のディジタル加算器を提案することを目的
とする。
プライン方式のディジタル加算器を提案することを目的
とする。
本発明の他の目的は、ハードウェアの浪費を最小にして
プログラマプルなゲートアレイの形で構成するのに良く
適したパイプライン方式のディジクル加算器を提案する
ことである。
プログラマプルなゲートアレイの形で構成するのに良く
適したパイプライン方式のディジクル加算器を提案する
ことである。
本発明の更に他の目的は、入力と出力との間の遅延時間
が短縮されたパイプライン方式のディジタル加算器を提
案することである。
が短縮されたパイプライン方式のディジタル加算器を提
案することである。
[課題を解決するための手段]
本発明によるディジクル加算器は、例えば第4図に示す
如く、複数の多ビットの入力ワード(八〇〜八7, 8
0〜B7)を加算して1個の多ビットの出力ワード(B
O〜lE7)を生成するためのディジクル加算器であっ
て、所定のクロック周期を有するクロック信号を生成す
るクロック発振器(CK)と、その入力ワードの夫々同
じ桁のビッ1−を入力すると共に全て略同一の遅延時間
を有し、且つ各グループ内の全体の遅延時間がそのクロ
ック周期より小さい範囲でその入力ワードの各ビットの
桁の大きさに従ってグループ(例えば、FAOとFAI
とが1グループ)分けされ、このグループ分けされた範
囲で互いにカスケード接続された複数の加算器(F八〇
−F八7)と、その加算器(PAO〜FA7)の出力
部に接続され、その各グループの夫々の桁の和出力ビッ
トを入力するラッチ回路(例えばLAI/1 )とその
各グルプの夫々の1個の加算器より桁上げ出力ビットを
入力するラッチ回路(例えばLAI/3 )とよりなる
第1の1組のラッチ回路(LAI/1〜LAI/12)
と、その出力ワードの各ビットを入力する出力用の1組
のラッチ回路(LA3/1〜LA3/9)とを有し、そ
の第1の及び出力用の1組のラッチ回路を夫々に供給さ
れる各ビットをそのクロック周期に1回の割合で同時に
出力するようにそのクロック発振器(CK)を用いて制
御し、夫々そのクロック周期より小さい遅延時間を有し
夫々複数の予め定められた論理演算(Fl〜F5)機能
の1つを実行する複数の論理ユニッ} (Ll〜L14
)を含みその第1の1組のラッチ回路とその出力用の1
組のラッチ回路との間に接続された処理回路を用いて、
その第1の1組のラッチ回路より出力されるそれら各ビ
ットより少なくともそのクロック周期の1周期の間にそ
の出力ワードのそれら各ビットを生成するようにしたも
のである。
如く、複数の多ビットの入力ワード(八〇〜八7, 8
0〜B7)を加算して1個の多ビットの出力ワード(B
O〜lE7)を生成するためのディジクル加算器であっ
て、所定のクロック周期を有するクロック信号を生成す
るクロック発振器(CK)と、その入力ワードの夫々同
じ桁のビッ1−を入力すると共に全て略同一の遅延時間
を有し、且つ各グループ内の全体の遅延時間がそのクロ
ック周期より小さい範囲でその入力ワードの各ビットの
桁の大きさに従ってグループ(例えば、FAOとFAI
とが1グループ)分けされ、このグループ分けされた範
囲で互いにカスケード接続された複数の加算器(F八〇
−F八7)と、その加算器(PAO〜FA7)の出力
部に接続され、その各グループの夫々の桁の和出力ビッ
トを入力するラッチ回路(例えばLAI/1 )とその
各グルプの夫々の1個の加算器より桁上げ出力ビットを
入力するラッチ回路(例えばLAI/3 )とよりなる
第1の1組のラッチ回路(LAI/1〜LAI/12)
と、その出力ワードの各ビットを入力する出力用の1組
のラッチ回路(LA3/1〜LA3/9)とを有し、そ
の第1の及び出力用の1組のラッチ回路を夫々に供給さ
れる各ビットをそのクロック周期に1回の割合で同時に
出力するようにそのクロック発振器(CK)を用いて制
御し、夫々そのクロック周期より小さい遅延時間を有し
夫々複数の予め定められた論理演算(Fl〜F5)機能
の1つを実行する複数の論理ユニッ} (Ll〜L14
)を含みその第1の1組のラッチ回路とその出力用の1
組のラッチ回路との間に接続された処理回路を用いて、
その第1の1組のラッチ回路より出力されるそれら各ビ
ットより少なくともそのクロック周期の1周期の間にそ
の出力ワードのそれら各ビットを生成するようにしたも
のである。
[作用]
斯かる本発明によれば、第2図例と比較して前処理の等
化用のラッチ回路が省略されているので、ラッチ回路の
数を削減することができる。また、第2図例と比較して
ラッチ回路の組の数が減少しているので入力から出力ま
での遅延時間を減少させることができる。更に、本発明
は第2図例と比較して所定のラッチ回路の動作を論理ユ
ニットの動作で置き換えているので、配列可能な論理ブ
ロック(CLB)よりなるプログラマプルな論理部(P
LS)の中で論理ユニットが構成されている1個又は複
数のプログラマプルなゲートアレイを用いて形成した場
合に、ハードウェアの使用効率を改善することができる
。
化用のラッチ回路が省略されているので、ラッチ回路の
数を削減することができる。また、第2図例と比較して
ラッチ回路の組の数が減少しているので入力から出力ま
での遅延時間を減少させることができる。更に、本発明
は第2図例と比較して所定のラッチ回路の動作を論理ユ
ニットの動作で置き換えているので、配列可能な論理ブ
ロック(CLB)よりなるプログラマプルな論理部(P
LS)の中で論理ユニットが構成されている1個又は複
数のプログラマプルなゲートアレイを用いて形成した場
合に、ハードウェアの使用効率を改善することができる
。
[実施例]
以下、本発明の一実施例につき第4図を参照して説明し
よう。
よう。
第4図は本例の2個の8ビットワードを加算するた必の
パイプライン方式の加算器を示す。第4図の回路には第
2図例と共通する部分があるので、ここでは異なってい
る部分だけを説明する。この第4図において第2図例と
同じ符号が付された部品は他に指示がない限り同じ部品
であり、その詳細説明を省略する。
パイプライン方式の加算器を示す。第4図の回路には第
2図例と共通する部分があるので、ここでは異なってい
る部分だけを説明する。この第4図において第2図例と
同じ符号が付された部品は他に指示がない限り同じ部品
であり、その詳細説明を省略する。
この第4図において、8個の1ビットの全加算器FAO
−FATをその回路の前端部に配する。即ち、入力ワー
ドのビッ}AO〜A7及びBO〜B7を夫々直接且つ同
時にそれら全加算器FAO〜P八7の入力端子A及びB
に供給する。前処理の等化用のラッチ回路は必要ではな
い。その結果、第2図例とは異なりそれら人カビッhA
O〜A7及びBO〜B7はその前端部ですぐに(一対毎
に)加算され、この加算結果が第4図の回路中を搬送さ
れ以下に詳細に記載されている手順で処理されて出力ワ
ードのビットBO〜B? (及び桁上げビット)が生成
される。
−FATをその回路の前端部に配する。即ち、入力ワー
ドのビッ}AO〜A7及びBO〜B7を夫々直接且つ同
時にそれら全加算器FAO〜P八7の入力端子A及びB
に供給する。前処理の等化用のラッチ回路は必要ではな
い。その結果、第2図例とは異なりそれら人カビッhA
O〜A7及びBO〜B7はその前端部ですぐに(一対毎
に)加算され、この加算結果が第4図の回路中を搬送さ
れ以下に詳細に記載されている手順で処理されて出力ワ
ードのビットBO〜B? (及び桁上げビット)が生成
される。
全加算器FAO〜F八7を入力ワードの全ビットの桁の
大きさの順序で2個づつFAO/FAI, FA2/F
A3,PA4/FA5及びF八6/FA7にグループ分
けして、各グループ内で互いにカスケード接続する。(
これに関して、それらビットの桁の大きさをSO〜S8
で示し、SO〜S7を夫々ビッ} AO/BO〜A7/
B7の大きさに対応させ、最大桁の入力ビット即ちビッ
}A?及びB7より生成される桁上げビットの大きさに
88を対応させる。)第2図例と同じく、2個の全加算
器をカスケード接続してなる各グループにおける信号の
伝播に要する全体の遅延時間(2個の全加算器の遅延時
間の和に等しい)はクロック発振器CKのクロック周期
に等しい。
大きさの順序で2個づつFAO/FAI, FA2/F
A3,PA4/FA5及びF八6/FA7にグループ分
けして、各グループ内で互いにカスケード接続する。(
これに関して、それらビットの桁の大きさをSO〜S8
で示し、SO〜S7を夫々ビッ} AO/BO〜A7/
B7の大きさに対応させ、最大桁の入力ビット即ちビッ
}A?及びB7より生成される桁上げビットの大きさに
88を対応させる。)第2図例と同じく、2個の全加算
器をカスケード接続してなる各グループにおける信号の
伝播に要する全体の遅延時間(2個の全加算器の遅延時
間の和に等しい)はクロック発振器CKのクロック周期
に等しい。
第1の1組のラッチ回路LAI/1〜LΔ1/12を全
加算器F八〇〜FATの出力部に接続する。その第1の
組の内8個のラッチ回路(ラッチ回路LA1/1, L
AI/2L八1/4. LAI/5, LAI/7,
LAI/8, LAI/10及びLAI/11)を全加
算器FAO〜FA7の和出力端子Qに接続し、夫々桁が
SO〜S7の和出力ビットCL C2, C4, C5
, C7, C8CIO及びCllを供給する。その第
1の組の4個のラッチ回路(ラッチ回路LAI/3,
LAI/6, LAI/9及びLAI/12 )をカス
ケード接続されてなる各グループのより高い桁の全加算
器FAI. FA3 FA5及びFA7の桁上げ出力
端子CDに接続し、対応するカスケード接続されたグル
ープより桁上げ(先見桁上げlookforward
carry)ビットC3, C6, C9及びC12を
夫々供給する。
加算器F八〇〜FATの出力部に接続する。その第1の
組の内8個のラッチ回路(ラッチ回路LA1/1, L
AI/2L八1/4. LAI/5, LAI/7,
LAI/8, LAI/10及びLAI/11)を全加
算器FAO〜FA7の和出力端子Qに接続し、夫々桁が
SO〜S7の和出力ビットCL C2, C4, C5
, C7, C8CIO及びCllを供給する。その第
1の組の4個のラッチ回路(ラッチ回路LAI/3,
LAI/6, LAI/9及びLAI/12 )をカス
ケード接続されてなる各グループのより高い桁の全加算
器FAI. FA3 FA5及びFA7の桁上げ出力
端子CDに接続し、対応するカスケード接続されたグル
ープより桁上げ(先見桁上げlookforward
carry)ビットC3, C6, C9及びC12を
夫々供給する。
その第1の組のラッチ回路LAI/1〜LAI/12の
出カビッ}Cl〜CI2を図示の如く接続された論理ユ
ニットし1〜L9よらなる1段の回路に供給し、この1
段の回路より出力されるビツ}DI〜010を中間の1
組のラッチ回路LA2/1〜LA2/10に供給する。
出カビッ}Cl〜CI2を図示の如く接続された論理ユ
ニットし1〜L9よらなる1段の回路に供給し、この1
段の回路より出力されるビツ}DI〜010を中間の1
組のラッチ回路LA2/1〜LA2/10に供給する。
この中間の1組のラッチ回路LA2/1〜LA2/10
の出力ビットD1〜010を論理ユニツ} LIO〜L
14からなる1段の回路に供給し、この1段の回路より
出力される出力ワードのビットBO〜E7(及び桁上げ
ヒ゛ット)を出力用の1組のラッチ回路LA3/1〜L
A3/9に供給する。第2図例と同じく、第4図の全て
のラッチ回路はクロック発振器CKにより制御され、そ
れら全てのラッチ回路は夫々に供給されるビ・ントを1
クロック周期に1回(即ち各クロ・ソクノずノレスの受
信時に)同時に出力する。
の出力ビットD1〜010を論理ユニツ} LIO〜L
14からなる1段の回路に供給し、この1段の回路より
出力される出力ワードのビットBO〜E7(及び桁上げ
ヒ゛ット)を出力用の1組のラッチ回路LA3/1〜L
A3/9に供給する。第2図例と同じく、第4図の全て
のラッチ回路はクロック発振器CKにより制御され、そ
れら全てのラッチ回路は夫々に供給されるビ・ントを1
クロック周期に1回(即ち各クロ・ソクノずノレスの受
信時に)同時に出力する。
第4図より明かな如く、各段階の回路において所定の論
理ユニットをカスケード接続する。これにより第1の段
階ではく論理ユニーy}L3及びL8より夫々)この第
1の段階で使用されるビ・ノ}C13及びC14が生成
され、ビット[13が論理ユニ・ントL4及びL5 (
これらは論理ユニ・ソトL3とカスケード接続されてい
る)に供給され、ビ・ン}C14が論理ユニントL9
(これは論理ユニントL8とカスケード接続されている
)に供給される。そして、第2の段階ではこの第2の段
階で使用されるビッ}Dllが生成され、このビットが
論理ユニットシ13及びシ14(これらは論理ユニッ}
L12とカスケード接続されている)に供給される。
理ユニットをカスケード接続する。これにより第1の段
階ではく論理ユニーy}L3及びL8より夫々)この第
1の段階で使用されるビ・ノ}C13及びC14が生成
され、ビット[13が論理ユニ・ントL4及びL5 (
これらは論理ユニ・ソトL3とカスケード接続されてい
る)に供給され、ビ・ン}C14が論理ユニントL9
(これは論理ユニントL8とカスケード接続されている
)に供給される。そして、第2の段階ではこの第2の段
階で使用されるビッ}Dllが生成され、このビットが
論理ユニットシ13及びシ14(これらは論理ユニッ}
L12とカスケード接続されている)に供給される。
上述の如く各段階の回路において2個の論理ユニットの
ある種のカスケード接続が行われることに関して、その
ようなカスケード接続された1対の論理ユニットを信号
が伝播するのに要する全体の遅延時間は夫々そのクロッ
ク周期より小さくなければならない。この要求は全ての
論理ユニットし1〜L14の伝播遅延時間が全加算器F
Δ0〜FA7の個々の遅延時間より大きくなければ充足
される。第4図の回路においてはその要求は次の2つの
条件下で実際に充足される。
ある種のカスケード接続が行われることに関して、その
ようなカスケード接続された1対の論理ユニットを信号
が伝播するのに要する全体の遅延時間は夫々そのクロッ
ク周期より小さくなければならない。この要求は全ての
論理ユニットし1〜L14の伝播遅延時間が全加算器F
Δ0〜FA7の個々の遅延時間より大きくなければ充足
される。第4図の回路においてはその要求は次の2つの
条件下で実際に充足される。
■ 個々の論理ユニッ}Ll〜[214は1個の半加算
器の演算又は1個の全加算器の遅延時間より遅延時間が
大きくならない演算の何れかを実行する。
器の演算又は1個の全加算器の遅延時間より遅延時間が
大きくならない演算の何れかを実行する。
■ 個々の論理ユニッ}Ll〜1,14は全加算器の入
力の数より多くの入力を持たない。
力の数より多くの入力を持たない。
記号■は論理的な排他的オア演算,記号 .はアンド演
算及び記号十はオア演算を意味するとすれば、それら論
理ユニ・ソ}Ll〜L14により実行される論理演算は
次のようなブーノレ方程式により定義することができる
。
算及び記号十はオア演算を意味するとすれば、それら論
理ユニ・ソ}Ll〜L14により実行される論理演算は
次のようなブーノレ方程式により定義することができる
。
しl D3=C3■C4
L2 D4=C5■(C3. C4)L3 C13
=C3.C4.C5 し4 D5 −(C6■C7■C13)+ (
C6,C7.C13)L5 D6=C6,C7+
C6,C13+C7, Cl3 L6 L7 L8 L9 LIO Li1 し12 し13 D8 =C9■CIO 09 =C11■(C9. CIO) C14=C9.CIO,Cll D10=C12■C14 B5 =D6■D7 E6 =D8■(D7, 06) D11=06.07.D8 lE7 =D9■011 し14 Carry=D10■(D9.Dll)上
述の論理演算及びそれらが5個の個別の演算11〜F5
の内の1つよりなるという事実について次に説明する。
=C3.C4.C5 し4 D5 −(C6■C7■C13)+ (
C6,C7.C13)L5 D6=C6,C7+
C6,C13+C7, Cl3 L6 L7 L8 L9 LIO Li1 し12 し13 D8 =C9■CIO 09 =C11■(C9. CIO) C14=C9.CIO,Cll D10=C12■C14 B5 =D6■D7 E6 =D8■(D7, 06) D11=06.07.D8 lE7 =D9■011 し14 Carry=D10■(D9.Dll)上
述の論理演算及びそれらが5個の個別の演算11〜F5
の内の1つよりなるという事実について次に説明する。
第1の組のラッチ回路LAI/1〜LAI/12より出
力される各ビットについて順次検討するに、ビットC1
及びC2は出力ワードの2個の最小桁のビット(夫々桁
がSO及びSL)80及びB1であり、(ラッチ回路L
A2/1及びLA3/1により)後処理の等化を行うだ
けでよい。従って、ビッ}Cl及びC2は第1段階の論
理ユニットし1〜L9又は第2段階の論理ユニットL1
0〜L14の何れにおいても処理する必要がない。
力される各ビットについて順次検討するに、ビットC1
及びC2は出力ワードの2個の最小桁のビット(夫々桁
がSO及びSL)80及びB1であり、(ラッチ回路L
A2/1及びLA3/1により)後処理の等化を行うだ
けでよい。従って、ビッ}Cl及びC2は第1段階の論
理ユニットし1〜L9又は第2段階の論理ユニットL1
0〜L14の何れにおいても処理する必要がない。
論理ユニッ}LLは同じ桁(S2)のビy}C3及びC
4の1回のビット加算を行う。これは桁S2の入カビッ
}A2及びB2の加算によってビットC4が生じ、桁S
1の入カビッ}Al及びB1の加算により生じる桁上げ
ビットがビッ}C3であることによる。上記の如く、論
理ユニッ}Llにより実行される演算又は論理演算はプ
ール方程式D3=C3■C4によって定義される。即ち
、論理ユニッ}Llは1個の半加算器の如く動作する。
4の1回のビット加算を行う。これは桁S2の入カビッ
}A2及びB2の加算によってビットC4が生じ、桁S
1の入カビッ}Al及びB1の加算により生じる桁上げ
ビットがビッ}C3であることによる。上記の如く、論
理ユニッ}Llにより実行される演算又は論理演算はプ
ール方程式D3=C3■C4によって定義される。即ち
、論理ユニッ}Llは1個の半加算器の如く動作する。
論理ユニッ}L6, L9, LIO及びL ]. 3
は論理ユニッ}LLと同じ論理演算を(異なるビットに
対して)実行する。この演算、これ以後演算F1という
、は一般的な表現でプール方程式0=I1■I2で表す
ことができ、0は出力ビットの値, Il及びI2は(
共に同じ桁の)対応ずる入力ビットの値である。
は論理ユニッ}LLと同じ論理演算を(異なるビットに
対して)実行する。この演算、これ以後演算F1という
、は一般的な表現でプール方程式0=I1■I2で表す
ことができ、0は出力ビットの値, Il及びI2は(
共に同じ桁の)対応ずる入力ビットの値である。
論理ユニッ}L2はビッl−C3及びC4 (夫々桁S
2)とビットC5 (桁S3)とを比較し、そのビット
c5に加算すべき桁上げビットがあるかどろかを調べる
。
2)とビットC5 (桁S3)とを比較し、そのビット
c5に加算すべき桁上げビットがあるかどろかを調べる
。
即ち、その論理ユニッ}L2は、前段の先見桁上げビッ
トを用いて1回の1ビットの加算を実行する加算及び桁
上げ回路として動作する。この論理演算は上記した如く
プール方程式D4=C5■([:3, [:4)により
定義される。
トを用いて1回の1ビットの加算を実行する加算及び桁
上げ回路として動作する。この論理演算は上記した如く
プール方程式D4=C5■([:3, [:4)により
定義される。
論理ユニットL7, Lll及びl,14は論理ユニ7
}L2と同じ論理演算を(異なるビットに対して)実行
する。この演算、これ以後演算F2という、は一般的な
表現でプール方程式0=I1■(12. 13)で表す
ことができ、0は出力ビットの値、11. I2及びI
3は対応する入力ビットの値であり、I2及びI3の桁
はI1より1ビット小さい。
}L2と同じ論理演算を(異なるビットに対して)実行
する。この演算、これ以後演算F2という、は一般的な
表現でプール方程式0=I1■(12. 13)で表す
ことができ、0は出力ビットの値、11. I2及びI
3は対応する入力ビットの値であり、I2及びI3の桁
はI1より1ビット小さい。
論理ユニッ}L3は次の段階への先見桁上げ演算を実行
する。そのユニットはビッ}C3及ヒC4 (共に桁S
2)及びビッ}C5(桁S3)より次の段階(桁S4)
への桁上げビッ} (C13)の有無を調べる。1二記
した如く、論理ユニットL3により実行される論理演算
はプール方程式C13=[’3, C4.C5によって
定義される。
する。そのユニットはビッ}C3及ヒC4 (共に桁S
2)及びビッ}C5(桁S3)より次の段階(桁S4)
への桁上げビッ} (C13)の有無を調べる。1二記
した如く、論理ユニットL3により実行される論理演算
はプール方程式C13=[’3, C4.C5によって
定義される。
論理ユニッ}L8及びL12は論理ユニッl−L3と同
じくその論理演算F3を実行する。この演算、これ以後
演算F3という、は一般的な表現でプール方程式0=I
1.I2, +3で表すことができ、0は出カビットの
値、+1, I2及び■3は対応する入カビットの値で
あり、I1及びI2の桁はI3より共に1ビット小さい
。
じくその論理演算F3を実行する。この演算、これ以後
演算F3という、は一般的な表現でプール方程式0=I
1.I2, +3で表すことができ、0は出カビットの
値、+1, I2及び■3は対応する入カビットの値で
あり、I1及びI2の桁はI3より共に1ビット小さい
。
各論理ユニットL4及び1,5は同じ桁の3個のビット
、即ち全て同じ桁S4のビッ}C13, C6及びC7
を入力する。論理ユニッ}L4はこれらのピントに和演
算を施して桁s4の和ビッ}D5を生成し、論理ユニッ
}L5はこれらのビットに桁上げ演算を施して次の段階
のための桁S5の桁上げビッ}D6を生成する。前述し
た如く、タイミングの制限(1クロック周期を超えてカ
スケード接続することができないこと)により更に別の
段階の回路が必要になる。
、即ち全て同じ桁S4のビッ}C13, C6及びC7
を入力する。論理ユニッ}L4はこれらのピントに和演
算を施して桁s4の和ビッ}D5を生成し、論理ユニッ
}L5はこれらのビットに桁上げ演算を施して次の段階
のための桁S5の桁上げビッ}D6を生成する。前述し
た如く、タイミングの制限(1クロック周期を超えてカ
スケード接続することができないこと)により更に別の
段階の回路が必要になる。
論理ユニッ}L4及びL5により実行される論理演算F
4及びF5はこれらのブロンク(特に第4図例の回路に
おける)に固有であり、上述のプール方程式D5及びD
6のより定義される。
4及びF5はこれらのブロンク(特に第4図例の回路に
おける)に固有であり、上述のプール方程式D5及びD
6のより定義される。
論理ユニッ}Ll〜L9より構成される第1段の論路ユ
ニットはビッ}C8を処理する論理ユニットを含まない
ことに留意すべきである。このビッ}C8は直接ラッチ
回路LA2/7に供給されこのビッ}[8と同じビット
D7になる。
ニットはビッ}C8を処理する論理ユニットを含まない
ことに留意すべきである。このビッ}C8は直接ラッチ
回路LA2/7に供給されこのビッ}[8と同じビット
D7になる。
ビッ}C9〜C12を処理する論理ユニットし6〜L9
は上述の如く夫々演算Fl, F2, F3及びF1を
実行する。従って、ビントC3から始まってビットCl
lまでは、それら論理ユニットにより実行される演算の
順序は桁が大きくなる順にPL, F2, F3, F
4, F5及び゛′無し″となる。しかしながら、ビッ
トCllを超えるとその順序は乱れその次の演算はF4
ではな<Flになる。しかし、この不規則性はその順序
がここで終わることにのみ起因する。仮に第4図の構造
が上方に無限に拡大されるものとすると、即ち入力ワー
ドのビットの数が無限に増加されるとすると、上述の順
序(Fl, F2, F3, F4, F5及び′゛無
し″)が無限に繰り返されその順序は終端部でのみ乱れ
る。同様に、その入力ワードのビy}の数が減少すると
、例えば第5図に示す如く4ビットまで減少すると、そ
の順序はより早く乱れる。
は上述の如く夫々演算Fl, F2, F3及びF1を
実行する。従って、ビントC3から始まってビットCl
lまでは、それら論理ユニットにより実行される演算の
順序は桁が大きくなる順にPL, F2, F3, F
4, F5及び゛′無し″となる。しかしながら、ビッ
トCllを超えるとその順序は乱れその次の演算はF4
ではな<Flになる。しかし、この不規則性はその順序
がここで終わることにのみ起因する。仮に第4図の構造
が上方に無限に拡大されるものとすると、即ち入力ワー
ドのビットの数が無限に増加されるとすると、上述の順
序(Fl, F2, F3, F4, F5及び′゛無
し″)が無限に繰り返されその順序は終端部でのみ乱れ
る。同様に、その入力ワードのビy}の数が減少すると
、例えば第5図に示す如く4ビットまで減少すると、そ
の順序はより早く乱れる。
従って、第5図においてその順序はく論理ユニッ}L3
における)演算F3の後で乱れ、この回路の論理ユニッ
}L4は論理演算F1を実行する。
における)演算F3の後で乱れ、この回路の論理ユニッ
}L4は論理演算F1を実行する。
論理ユニッ} LIO〜L14により構成される第2段
(この段階はパイプラインの第3段階でもある)の回路
において、個々の論理ユニットにより実行される論理演
算は夫々第1段の論理ユニットにより実行される演算の
1つ、より詳しくは演算F1〜F3の1つに対応する。
(この段階はパイプラインの第3段階でもある)の回路
において、個々の論理ユニットにより実行される論理演
算は夫々第1段の論理ユニットにより実行される演算の
1つ、より詳しくは演算F1〜F3の1つに対応する。
この第2段の回路はビット06〜010を選り分けて同
じ桁のビットを桁上げピントと共に加算する。即ち、こ
の段の回路は全体9 ζ として次のディジタル加算を実行する。
じ桁のビットを桁上げピントと共に加算する。即ち、こ
の段の回路は全体9 ζ として次のディジタル加算を実行する。
[010,D9,D8.D7] + [0,0,0
,D6コこれは4ビットの数への1ビットの加算であり
、ヒy } 010, D9, D8, D7及び[1
6ノ桁は夫々桁S8, S7, S6S5及びS5であ
る。
,D6コこれは4ビットの数への1ビットの加算であり
、ヒy } 010, D9, D8, D7及び[1
6ノ桁は夫々桁S8, S7, S6S5及びS5であ
る。
第2図例と第4図例との比較により、第4図の回路は等
化用のラッチ回路をより効率的に使用しているためラッ
チ回路の数を大幅に減少できることが分かる。より詳し
くは、ラッチ回路の数は48から31に減少する。これ
はより多くの論理回路が使用されていることによる。し
かし、その論理回路は単純で容易に構成できる。更に、
第4図の回路をプログラマプルなゲートアレイ(PGA
)を用いて構成すると、ハードウェアの無歌がほとんど
無くなる。これに関して上述したように、第2図例の回
路構成では大部分の配列可能な論理ブロック(CLB)
の中のプロクラマブルな論理部(PLS)が使用されな
い点で多くの冗長なハードウエアが含まれることになる
。第4図の回路では論理二二ソ}Ll〜L14の何れも
3個を超える入力を必要としないので、それら論理ユニ
ットは全てPLSの中でプロクラムでき、それらCLB
がより効率的に使用される。更に(上述した如く)2個
の論理演算は、それらが3個を超える入力を必要とせず
且つこれら3個の入力がそれら2個の論理演算に共通で
あるという条件下で1個のP L Sでプロクラl・で
きることに鑑みて、それら論理ユニットのいくつかの対
、具体的には対Ll/L.2 (又は12/13) ,
L4/15. l、6’/17(又はし7/L8)
, L1.0/Lll (又は1、11./L12)
及びL13/L14は夫々同じPLSの中でプログラム
可能である。
化用のラッチ回路をより効率的に使用しているためラッ
チ回路の数を大幅に減少できることが分かる。より詳し
くは、ラッチ回路の数は48から31に減少する。これ
はより多くの論理回路が使用されていることによる。し
かし、その論理回路は単純で容易に構成できる。更に、
第4図の回路をプログラマプルなゲートアレイ(PGA
)を用いて構成すると、ハードウェアの無歌がほとんど
無くなる。これに関して上述したように、第2図例の回
路構成では大部分の配列可能な論理ブロック(CLB)
の中のプロクラマブルな論理部(PLS)が使用されな
い点で多くの冗長なハードウエアが含まれることになる
。第4図の回路では論理二二ソ}Ll〜L14の何れも
3個を超える入力を必要としないので、それら論理ユニ
ットは全てPLSの中でプロクラムでき、それらCLB
がより効率的に使用される。更に(上述した如く)2個
の論理演算は、それらが3個を超える入力を必要とせず
且つこれら3個の入力がそれら2個の論理演算に共通で
あるという条件下で1個のP L Sでプロクラl・で
きることに鑑みて、それら論理ユニットのいくつかの対
、具体的には対Ll/L.2 (又は12/13) ,
L4/15. l、6’/17(又はし7/L8)
, L1.0/Lll (又は1、11./L12)
及びL13/L14は夫々同じPLSの中でプログラム
可能である。
それらラッチ回路の組の間に2段を超える段数の論理ユ
ニットをカスケード接続することができ且つ/又は3個
を超える入力を有する論理ユニットを使用することがで
きれば、パイプラインの段数及びラッチ回路の数のより
大ぎな削減が可能である。また、入力ワードのビット数
が大きくなるほど回路構成がより効率的になる。カスケ
ード接続された1ビットの全加算器の対が夫々1個の2
ビットの全加算器として1個のP L Sの中に組み込
まれ、且つそれら論理ユニットによって(3個より多く
の入力を必要とする)より複雑な論理演算が実行できる
場合でも、回路構成はより効率的になる。
ニットをカスケード接続することができ且つ/又は3個
を超える入力を有する論理ユニットを使用することがで
きれば、パイプラインの段数及びラッチ回路の数のより
大ぎな削減が可能である。また、入力ワードのビット数
が大きくなるほど回路構成がより効率的になる。カスケ
ード接続された1ビットの全加算器の対が夫々1個の2
ビットの全加算器として1個のP L Sの中に組み込
まれ、且つそれら論理ユニットによって(3個より多く
の入力を必要とする)より複雑な論理演算が実行できる
場合でも、回路構成はより効率的になる。
第4図の回路(又は第5図の回路)においては全加算器
FAO〜FA7 (又はFAO〜FA3)を全加算器以
外の加算回路で置き換えてもよい。複数ビットを加算で
きる如何なる加算器又はそのような加算演算を実行でき
る如何なる論理回路でも使用することができる。
FAO〜FA7 (又はFAO〜FA3)を全加算器以
外の加算回路で置き換えてもよい。複数ビットを加算で
きる如何なる加算器又はそのような加算演算を実行でき
る如何なる論理回路でも使用することができる。
尚、本発明は上述実施例に限定されず本発明の要旨を逸
脱しない範囲で種々の構成を採り得ることは勿論である
。
脱しない範囲で種々の構成を採り得ることは勿論である
。
[発明の効果]
本発明によれば、使用されているラッチ回路の数を減少
できると共にハー゛ドウェアの使用量が最小のプログラ
マプルなゲートアレイ構造で製造するのに適し、且つ入
力から出力までの遅延時間を減少できるパイプライン方
式のディジタル加算器を提供できる利益がある。
できると共にハー゛ドウェアの使用量が最小のプログラ
マプルなゲートアレイ構造で製造するのに適し、且つ入
力から出力までの遅延時間を減少できるパイプライン方
式のディジタル加算器を提供できる利益がある。
第1図はカスケード接続された8個の1ビットの全加算
器よりなり2個の8ビットの入力ワードを加算するため
のディジタル加算器のブロンク図、第2図は夫々2個の
カスケード接続された1ビットの全加算器及びそれに付
随する1組のラッチ回路よりなる4グループの回路より
なり2個の8ビットワードを加算するためのパイプライ
ン方式のディジクル加算器のブロック図、第3図はプロ
クラマブルなゲートアレイ(PGA)のチップ上に形成
された配列中の1個の配列可能な論理ブロック(CLB
)のブロック図、第4図は本発明の一実施例の2個の8
ビットワードの加算を行うためのパイプライン方式のデ
ィジクル加算器を示すブロック図、第5図は本発明の他
の実施例の2個の4ビットワードの加算を行うためのパ
イプライン方式のディジタル加算器を示すブロック図で
ある。 FAは全加算器、LAはラッチ回路、Lは論理ユニット
である。
器よりなり2個の8ビットの入力ワードを加算するため
のディジタル加算器のブロンク図、第2図は夫々2個の
カスケード接続された1ビットの全加算器及びそれに付
随する1組のラッチ回路よりなる4グループの回路より
なり2個の8ビットワードを加算するためのパイプライ
ン方式のディジクル加算器のブロック図、第3図はプロ
クラマブルなゲートアレイ(PGA)のチップ上に形成
された配列中の1個の配列可能な論理ブロック(CLB
)のブロック図、第4図は本発明の一実施例の2個の8
ビットワードの加算を行うためのパイプライン方式のデ
ィジクル加算器を示すブロック図、第5図は本発明の他
の実施例の2個の4ビットワードの加算を行うためのパ
イプライン方式のディジタル加算器を示すブロック図で
ある。 FAは全加算器、LAはラッチ回路、Lは論理ユニット
である。
Claims (1)
- 【特許請求の範囲】 複数の多ビットの入力ワードを加算して1個の多ビット
の出力ワードを生成するためのディジタル加算器であっ
て、 所定のクロック周期を有するクロック信号を生成するク
ロック発振器と、 上記入力ワードの夫々同じ桁のビットを入力すると共に
全て略同一の遅延時間を有し、且つ各グループ内の全体
の遅延時間が上記クロック周期より小さい範囲で上記入
力ワードの各ビットの桁の大きさに従ってグループ分け
され、該グループ分けされた範囲で互いにカスケード接
続された複数の加算器と、 上記加算器の出力部に接続され、上記各グループの夫々
の桁の和出力ビットを入力するラッチ回路と上記各グル
ープの夫々の1個の加算器より桁上げ出力ビットを入力
するラッチ回路とよりなる第1の1組のラッチ回路と、 上記出力ワードの各ビットを入力する出力用の1組のラ
ッチ回路とを有し、 上記第1の及び出力用の1組のラッチ回路を夫々に供給
される各ビットを上記クロック周期に1回の割合で同時
に出力するように上記クロック発振器を用いて制御し、 夫々上記クロック周期より小さい遅延時間を有し夫々複
数の予め定められた論理演算機能の1つを実行する複数
の論理ユニットを含み上記第1の1組のラッチ回路と上
記出力用の1組のラッチ回路との間に接続された処理回
路を用いて、上記第1の1組のラッチ回路より出力され
る上記各ビットより少なくとも上記クロック周期の1周
期の間に上記出力ワードの上記各ビットを生成するよう
にした事を特徴とするディジタル加算器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB8907873A GB2230361B (en) | 1989-04-07 | 1989-04-07 | Binary adding apparatus |
| GB8907873.7 | 1989-04-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02291019A true JPH02291019A (ja) | 1990-11-30 |
Family
ID=10654632
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2091425A Pending JPH02291019A (ja) | 1989-04-07 | 1990-04-06 | ディジタル加算器 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5036483A (ja) |
| EP (1) | EP0391516B1 (ja) |
| JP (1) | JPH02291019A (ja) |
| DE (1) | DE69026414T2 (ja) |
| GB (1) | GB2230361B (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0520026A (ja) * | 1991-07-17 | 1993-01-29 | Nec Corp | 並列全加算器 |
| JPH06187131A (ja) * | 1992-09-30 | 1994-07-08 | Internatl Business Mach Corp <Ibm> | コンピュータ装置制御方法、装置制御構成のための装置、算術論理演算装置、及びバイナリカウンタ |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5161119A (en) * | 1990-02-14 | 1992-11-03 | Lsi Logic Corporation | Weighted-delay column adder and method of organizing same |
| EP0571694B1 (en) * | 1992-05-27 | 1995-12-06 | STMicroelectronics S.r.l. | Fast adder chain |
| EP0571693B1 (en) * | 1992-05-27 | 1996-04-10 | STMicroelectronics S.r.l. | Fast adder chain |
| US5504915A (en) * | 1993-08-05 | 1996-04-02 | Hyundai Electronics America | Modified Wallace-Tree adder for high-speed binary multiplier, structure and method |
| US6116768A (en) * | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
| US5912832A (en) * | 1996-09-12 | 1999-06-15 | Board Of Regents, The University Of Texas System | Fast n-bit by n-bit multipliers using 4-bit by 4-bit multipliers and cascaded adders |
| SG79988A1 (en) * | 1998-08-06 | 2001-04-17 | Oki Techno Ct Singapore Pte | Apparatus for binary addition |
| US6549927B1 (en) * | 1999-11-08 | 2003-04-15 | International Business Machines Corporation | Circuit and method for summing multiple binary vectors |
| US7058678B2 (en) * | 2002-01-02 | 2006-06-06 | International Business Machines Corporation | Fast forwarding ALU |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| NL7712367A (nl) * | 1977-11-10 | 1979-05-14 | Philips Nv | Digitaal optelrekenorgaan. |
| US4157590A (en) * | 1978-01-03 | 1979-06-05 | International Business Machines Corporation | Programmable logic array adder |
| IL59907A0 (en) * | 1980-04-23 | 1980-06-30 | Nathan Grundland | Arithmetic logic unit |
| EP0051079B1 (de) * | 1980-11-03 | 1984-09-26 | Deutsche ITT Industries GmbH | Binäres MOS-Ripple-Carry-Parallel-Addier/Subtrahierwerk und dafür geeignete Addier/Subtrahierstufe |
| US4887233A (en) * | 1986-03-31 | 1989-12-12 | American Telephone And Telegraph Company, At&T Bell Laboratories | Pipeline arithmetic adder and multiplier |
-
1989
- 1989-04-07 GB GB8907873A patent/GB2230361B/en not_active Revoked
-
1990
- 1990-01-22 EP EP90300621A patent/EP0391516B1/en not_active Expired - Lifetime
- 1990-01-22 DE DE69026414T patent/DE69026414T2/de not_active Expired - Fee Related
- 1990-01-29 US US07/471,473 patent/US5036483A/en not_active Expired - Lifetime
- 1990-04-06 JP JP2091425A patent/JPH02291019A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0520026A (ja) * | 1991-07-17 | 1993-01-29 | Nec Corp | 並列全加算器 |
| JPH06187131A (ja) * | 1992-09-30 | 1994-07-08 | Internatl Business Mach Corp <Ibm> | コンピュータ装置制御方法、装置制御構成のための装置、算術論理演算装置、及びバイナリカウンタ |
Also Published As
| Publication number | Publication date |
|---|---|
| GB8907873D0 (en) | 1989-05-24 |
| EP0391516B1 (en) | 1996-04-10 |
| DE69026414T2 (de) | 1996-08-22 |
| GB2230361B (en) | 1993-02-10 |
| DE69026414D1 (de) | 1996-05-15 |
| EP0391516A2 (en) | 1990-10-10 |
| US5036483A (en) | 1991-07-30 |
| EP0391516A3 (en) | 1992-06-17 |
| GB2230361A (en) | 1990-10-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4639857A (en) | Digital data processor incorporating an orthogonally connected logic cell array | |
| US5010510A (en) | Multiplying unit circuit | |
| JPH02291019A (ja) | ディジタル加算器 | |
| US4128890A (en) | Integrated arithmetic unit and digital networks using the unit | |
| WO1993022721A1 (en) | Compact multiplier | |
| CN111008003A (zh) | 数据处理器、方法、芯片及电子设备 | |
| NL7908032A (nl) | Afrond correctielogica voor gemodificeerde booth's algoritme vermenigvuldiger. | |
| US5231415A (en) | Booth's multiplying circuit | |
| JPS6131890B2 (ja) | ||
| CN110673823B (zh) | 乘法器、数据处理方法及芯片 | |
| CN110531954B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
| CN113031911B (zh) | 乘法器、数据处理方法、装置及芯片 | |
| JPH05291891A (ja) | 一次乱数パルス列発生回路装置 | |
| WO1989002629A1 (en) | Fast multiplier circuit | |
| JP3123060B2 (ja) | ディジタル演算回路 | |
| JP2617591B2 (ja) | シリアル演算回路 | |
| CN113031918B (zh) | 数据处理器、方法、装置及芯片 | |
| US20030033343A1 (en) | Carry-ripple adder | |
| JPH07141148A (ja) | パイプライン並列乗算器 | |
| JPH0370028A (ja) | シリアルデータの論理演算回路 | |
| JP3155026B2 (ja) | 累算器 | |
| GB2087608A (en) | Device for executing a methematical operation and some applications of the device | |
| JPS5932215A (ja) | デイジタル信号処理回路及び多段積和回路 | |
| CN113033788A (zh) | 数据处理器、方法、装置及芯片 | |
| JPH01134528A (ja) | 乗算器 |