JP2002108606A - Sticky bit generating circuit and multiplier - Google Patents

Sticky bit generating circuit and multiplier

Info

Publication number
JP2002108606A
JP2002108606A JP2000292654A JP2000292654A JP2002108606A JP 2002108606 A JP2002108606 A JP 2002108606A JP 2000292654 A JP2000292654 A JP 2000292654A JP 2000292654 A JP2000292654 A JP 2000292654A JP 2002108606 A JP2002108606 A JP 2002108606A
Authority
JP
Japan
Prior art keywords
bit
carry
sticky
generating
component
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.)
Abandoned
Application number
JP2000292654A
Other languages
Japanese (ja)
Inventor
Yukihiro Ide
進博 井出
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000292654A priority Critical patent/JP2002108606A/en
Publication of JP2002108606A publication Critical patent/JP2002108606A/en
Abandoned legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To further enhance multiplication speed by shortening time to be taken in a rounding processing by speeding up a processing of generation of sticky bit. SOLUTION: The sticky bit is directly generated from the sum of partial products of a carry save format before calculating a multiplication result. Specifically, since inversion G, exclusive logical OR P and logical AND G of logical OR by every bit corresponding to sum components and carry components of the partial products of the carry save format are calculated, the virtual sum in consideration of the adjacent high-order bits and carry propagation of the respective bits is calculated and the sticky bit is generated by taking the entire logical OR, the sticky bit is generated at high speed without the propagation of carry.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、浮動小数点演算器
に係り、特に計算誤差を少なくするための補助用のビッ
トであるスティッキービットを生成するスティッキービ
ット生成回路及びこのスティッキービット生成回路を用
いた乗算器に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a floating point arithmetic unit, and more particularly to a sticky bit generation circuit for generating a sticky bit which is an auxiliary bit for reducing a calculation error and using the sticky bit generation circuit. Related to a multiplier.

【0002】[0002]

【従来の技術】従来より、コンピュータで使用するため
の高速乗算器の構成は様々に提案されている。このよう
な高速乗算器では、基本的には、乗数の各ビットに対応
する部分積を求め、1ビットだけ左にずれている複数の
部分積を加算することにより積を求める。高速化のた
め、ブースのアルゴリズムなどのように乗数の複数ビッ
トに対応する部分積を求めることで、部分積の数を減ら
し、加算作業を少なくする方法、加算器を木構造状に構
成し、並列に加算する方法「ワラスの方法」、キャリー
・セーブ加算器を用いて部分積を加算する方法、などが
知られている。多くの高速乗算器は、これらの手法を用
いており、部分積の和は、キャリー成分、和成分のキャ
リー・セーブ・フォームで求め、最後に1回だけ、桁上
げ伝搬加算を実行する。以上は整数の乗算の方法である
が、浮動小数点において仮数を生成するときにも用いら
れる。
2. Description of the Related Art Hitherto, various configurations of a high-speed multiplier for use in a computer have been proposed. In such a high-speed multiplier, basically, a partial product corresponding to each bit of the multiplier is obtained, and a product is obtained by adding a plurality of partial products shifted left by one bit. In order to increase the speed, a method to reduce the number of partial products and reduce the addition work by finding partial products corresponding to multiple bits of the multiplier, such as Booth's algorithm, etc. There are known a method of adding in parallel "Walath's method", a method of adding partial products using a carry-save adder, and the like. Many high-speed multipliers use these techniques, and the sum of the partial products is obtained by a carry component, a carry save form of the sum component, and the carry propagation addition is performed only once at the end. The above is an integer multiplication method, but it is also used when generating a mantissa at a floating point.

【0003】図4は典型的な従来の浮動小数点乗算器の
構成例である。52ビットのオペランドSと52ビット
のオペランドTが乗算器201に入力され、ここで乗算
されて、部分積の105ビットの和成分SS、105ビ
ットのキャリー成分CCが得られる。これら部分積の和
成分SS、キャリー成分CCは加算器202で加算され
て、最終的な乗算結果が得られる。スティッキービット
生成回路203は得られた乗算結果のシフトビットの論
理和を取ることにより、スティッキービットを生成し、
それを丸め回路204に渡す。
FIG. 4 shows a configuration example of a typical conventional floating point multiplier. The 52-bit operand S and the 52-bit operand T are input to the multiplier 201, where they are multiplied to obtain a 105-bit sum component SS of the partial product and a 105-bit carry component CC. The sum component SS and the carry component CC of these partial products are added by the adder 202 to obtain a final multiplication result. The sticky bit generation circuit 203 generates a sticky bit by taking the logical sum of the shift bits of the obtained multiplication result,
It is passed to the rounding circuit 204.

【0004】丸め回路204は前記スティッキービット
から乗算結果を丸めるかどうかを判定し、丸める場合は
加算値1を加算器205に供給する。加算器205の出
力値は選択回路(マルチプレクサ)206に入力され、
ここで、1ビットシフトしたものとしないものとをオー
バーフローするかどうかによって選択し、最終乗算結果
を出力する。
A rounding circuit 204 determines whether or not the result of the multiplication is to be rounded based on the sticky bit. When the rounding is performed, an addition value 1 is supplied to an adder 205. The output value of the adder 205 is input to a selection circuit (multiplexer) 206,
Here, the result of the final multiplication is selected depending on whether or not the one shifted by one bit and the one not shifted overflow.

【0005】浮動小数点乗算器構成で乗算する場合、積
は特定のフォーマットで定められたビット数に結果を丸
めなければならないことが多い。例えば、二倍精度2進
数に関する規格は53ビット[整数部1ビット、小数点
以下52ビット]である。
When multiplying in a floating point multiplier configuration, the product often must round the result to a defined number of bits in a particular format. For example, the standard for double-precision binary numbers is 53 bits [1 bit for the integer part, 52 bits after the decimal point].

【0006】2つの53ビット2進数の積は106ビッ
トの長さである。ところが、二倍精度の結果はこの積の
うち上位の54ビットしか使用しない。ここで最上位ビ
ットは桁あふれを示す。また、下位の53ビットは、下
位ビットから桁上げが生成されるか否か、丸めが必要で
あるか否か、さらに丸め値を確定するためにのみ使用さ
れ、値そのものは破棄される。
[0006] The product of two 53-bit binary numbers is 106 bits long. However, the double precision result uses only the upper 54 bits of the product. Here, the most significant bit indicates overflow. The lower 53 bits are used only for determining whether a carry is generated from the lower bits, whether or not rounding is necessary, and further, a rounding value is determined, and the value itself is discarded.

【0007】[0007]

【発明が解決しようとする課題】ところで上記した積の
丸めを行うには、まず、仮数を正規化しなければならな
い。2つの正規化オペランドS、Tの乗算を行う乗算器
では、そのために仮数の右への1ビットシフトが生じる
場合がある。仮数が正規化されるまでは、丸めが実行さ
れるビット位置が確定しない。結局、演算は、最悪、最
下位からのキャリーが最上位まで伝搬し、最上位の結果
により正規化が施され、丸めの位置および丸め処理の有
無の判定に必要なビットの位置が確定するのを待ってい
なければならないのが普通である。
By the way, in order to round the above-mentioned product, first, the mantissa must be normalized. In a multiplier that multiplies two normalized operands S and T, this may cause a one-bit shift of the mantissa to the right. Until the mantissa is normalized, the bit position at which rounding is performed is not determined. As a result, the worst case, the carry from the lowest order is propagated to the highest order, the normalization is performed by the highest order result, and the rounding position and the position of the bit necessary for determining whether or not the rounding process is performed are determined. You usually have to wait for

【0008】従って、下位ビットからの桁上げはクリテ
イカルパスに入っている。このような乗算器において
は、通常、[1]積のキャリー成分、和成分の加算を加
算器202で行い、[2]正規化、[3]スティッキー
ビット生成を203の回路で行なった後、この結果を用
いて、[4]丸めの判定を204の回路で行い、[5]
丸めのインクリメントを加算器205で施すという手順
で結果を発生するのが典型的である。
Accordingly, the carry from the lower bit is included in the critical path. In such a multiplier, the adder 202 normally adds the carry component and the sum component of the product [1], and performs [2] normalization and [3] sticky bit generation in the circuit 203. Using this result, [4] rounding is determined by the circuit 204 and [5]
Typically, the result is generated by a procedure in which the rounding increment is performed by the adder 205.

【0009】しかしながら、このような構成では、ステ
ィッキービット生成の前に加算器202で最終加算を行
う必要が必須であり、この加算に時間が掛かると共に、
スティッキービット生成に全シフトビットの論理和を取
らなければならず、スティッキービット生成までに時間
が掛かり、一連の丸め処理に時間を要することになる。
それ故、乗算器の速度が遅くなる。
However, in such a configuration, it is necessary to perform the final addition by the adder 202 before the generation of the sticky bit, and this addition takes time and
The logical sum of all the shift bits must be taken for the sticky bit generation, and it takes time to generate the sticky bit, and a series of rounding processes takes time.
Therefore, the speed of the multiplier is reduced.

【0010】本発明は、上述の如き従来の課題を解決す
るためになされたもので、その目的は、スティッキービ
ット生成の処理を高速化して丸め処理に掛かる時間を短
縮化することにより、乗算速度を更に向上させることが
できるスティッキービット生成回路及びこのスティッキ
ービット生成回路を用いた浮動小数点乗算器を提供する
ことである。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned conventional problems, and an object of the present invention is to increase the speed of sticky bit generation to reduce the time required for rounding, thereby increasing the multiplication speed. And a floating-point multiplier using the sticky bit generation circuit.

【0011】[0011]

【課題を解決するための手段】上記目的を達成するため
に、請求項1の発明の特徴は、2個の正規化オペランド
を乗算する乗算手段と、前記乗算手段から得られる部分
積の和成分の下位ビットとキャリー成分の下位ビットか
ら論理和の反転KB(キャリー伝播の停止)、排他的論
理和P(キャリーの伝播)、論理積G(キャリーの生
成)を生成するPKG生成手段と、前記PKG生成手段
により得られた反転KB、排他的論理和P、論理積Gよ
りスティッキービットを生成するスティッキービット生
成手段とを具備することにある。
In order to achieve the above object, a feature of the present invention is to provide a multiplying means for multiplying two normalized operands, and a sum component of partial products obtained from the multiplying means. PKG generating means for generating an inverted KB (stop of carry propagation), an exclusive OR P (propagate of carry), and a logical product G (generate of carry) from the lower bit of the carry component and the lower bit of the carry component, A sticky bit generation means for generating a sticky bit from the inverted KB obtained by the PKG generation means, the exclusive OR P, and the logical product G is provided.

【0012】請求項2の発明の前記スティッキービット
生成手段は、前記和成分とキャリー成分の対応するビッ
トとその隣接上位ビットとの排他的論理和P、論理積
G、反転KBの各信号から、そのビットが1とならない
ことを示す信号を求めた後、前記各ビットが1とならな
いことを示す信号の全論理和をとることによりスティッ
キービットを生成することを特徴とする。
The sticky bit generating means according to the second aspect of the present invention is configured to calculate an exclusive OR P, a logical product G, and an inverted KB of a corresponding bit of the sum component and the carry component and an upper bit adjacent thereto. After a signal indicating that the bit does not become 1 is obtained, a sticky bit is generated by calculating the total logical sum of the signal indicating that each bit does not become 1.

【0013】請求項3の発明の前記PKG生成手段はビ
ットスライスで演算して前記排他的論理和P、論理積
G、反転KBの各信号を求め、前記スティッキービット
生成手段はスティッキービットを複数ブロックに分割し
て求めることを特徴とする。
According to a third aspect of the present invention, the PKG generating means calculates each of the exclusive OR P, the logical product G, and the inverted KB by operating on a bit slice, and the sticky bit generating means generates a plurality of blocks of sticky bits. It is characterized in that it is obtained by dividing into two.

【0014】請求項4の発明の特徴は、2個の正規化オ
ペランドを乗算する乗算手段と、前記乗算手段から得ら
れる部分積の和成分の下位ビットとキャリー成分の下位
ビットから論理和の反転KB(キャリー伝播の停止)、
排他的論理和P(キャリーの伝播)、論理積G(キャリ
ーの生成)を生成するPKG生成手段と、前記PKG生
成手段により得られた反転KB、排他的論理和P、論理
積Gよりスティッキービットを生成するスティッキービ
ット生成手段と、前記乗算手段から得られる部分積の和
成分の上位ビットとキャリー成分の上位ビットを加算す
る第1の加算手段と、前記スティッキービット生成手段
により生成されたスティッキービットより乗算結果に丸
め処理を行うかどうかを判定する判定手段と、前記PK
G生成手段により得られた反転KB、排他的論理和P、
論理積Gよりキャリーを生成するキャリー生成手段と、
前記第1の加算手段から得られる乗算結果に前記キャリ
ー生成手段より生成されたキャリーを加算すると共に、
前記判定手段により丸め処理を行うと判定された場合に
1を加える第2の加算手段とを具備することにある。
請求項5の発明の特徴は、前記第1の加算手段による加
算処理と前記PKG生成手段及びスティッキービット生
成手段の処理を並列に行うことにある。
According to a fourth aspect of the present invention, there is provided a multiplying means for multiplying two normalized operands, and inverting a logical sum from a lower bit of a sum component of the partial products and a lower bit of a carry component obtained from the multiplying means. KB (stop carry propagation),
PKG generating means for generating exclusive OR P (carry propagation) and logical product G (generating carry), and a sticky bit based on the inverted KB, exclusive OR P, and logical product G obtained by the PKG generating means , A first adding means for adding an upper bit of the sum component of the partial products obtained from the multiplying means and an upper bit of the carry component, and a sticky bit generated by the sticky bit generating means. Determining means for determining whether or not to perform rounding on the multiplication result;
The inverted KB obtained by the G generation means, the exclusive OR P,
Carry generating means for generating a carry from the logical product G;
While adding the carry generated by the carry generation means to the multiplication result obtained from the first addition means,
A second adding means for adding 1 when the rounding processing is determined to be performed by the determining means.
A feature of the invention of claim 5 is that the addition processing by the first addition means and the processing of the PKG generation means and the sticky bit generation means are performed in parallel.

【0015】[0015]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて説明する。図1は、本発明の乗算器の一実施
形態の構成を示したブロック図である。乗算回路1は、
正規化オペランドS、Tを入力して乗算する乗算回路1
と、乗算回路1から出力される和成分SS、キャリー成
分CCの上位ビットを加算して、2個のオペランドS
(52:0)とオペランドT(52:0)の乗算結果を
算出する加算回路2、論理和の反転KB(キャリー伝播
の停止)、排他的論理和P(キャリーの伝播)、論理積
G(キャリーの生成)を生成するPKG生成回路3、ス
ティッキービット100を発生するスティッキービット
生成回路4、キャリーを生成するキャリー生成回路5、
乗算結果に丸めを施すかどうかを判定する丸め回路6、
乗算結果に丸めを施したり、或いはキャリーを加算する
加算回路7、乗算結果の1ビットシフトしたものとしな
いものとをオーバーフローするかどうかによって選択す
る選択回路(マルチプレクサ)8を有している。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of an embodiment of the multiplier of the present invention. The multiplication circuit 1
Multiplication circuit 1 for inputting and multiplying normalized operands S and T
And the upper bits of the sum component SS and carry component CC output from the multiplication circuit 1 to add two operands S
(52: 0) multiplied by operand T (52: 0), adder circuit 2 for calculating the result of multiplication, inverted KB of logical sum (stop of carry propagation), exclusive OR P (propagation of carry), logical product G ( A PKG generation circuit 3 for generating a carry, a sticky bit generation circuit 4 for generating a sticky bit 100, a carry generation circuit 5 for generating a carry,
A rounding circuit 6 for determining whether or not to round the multiplication result;
It has an adder circuit 7 for rounding or adding a carry to the multiplication result, and a selection circuit (multiplexer) 8 for selecting whether the result of the multiplication result is shifted by one bit or not and overflows.

【0016】図2は、PKG生成回路3の構成例を示し
た回路図である。PKG生成回路3は排他的論理和回
路、論理和回路、論理積回路より構成されている。
FIG. 2 is a circuit diagram showing a configuration example of the PKG generation circuit 3. The PKG generation circuit 3 includes an exclusive OR circuit, an OR circuit, and an AND circuit.

【0017】排他的論理和回路では、乗算回路1の演算
結果SS、およびCCの各ビットを入力とし、対応する
ビットにおけるキャリーの伝播を示す信号Pを生成す
る。図中の信号PBは、Pの反転である。
The exclusive OR circuit receives the operation result SS of the multiplication circuit 1 and each bit of CC as input and generates a signal P indicating propagation of carry in the corresponding bit. The signal PB in the figure is the inverse of P.

【0018】論理和回路は、同様に前記演算結果SS、
およびCCの各ビットを入力とし、対応するビットにお
けるキャリーの消滅を示す信号Kを生成する。図中の信
号KBは、Kの反転を示す。
The OR circuit similarly calculates the operation result SS,
, And CC, and generates a signal K indicating the disappearance of the carry in the corresponding bit. The signal KB in the figure indicates the inversion of K.

【0019】論理積回路は、同様に前記演算結果SS、
およびCCの各ビットを入力とし、対応するビットにお
けるキャリーの生成を示す信号Gを生成する。
The AND circuit similarly calculates the operation result SS,
, And CC, and generates a signal G indicating generation of a carry in the corresponding bit.

【0020】図3は、スティッキー・ビット生成回路4
の構成例を示した回路図である。
FIG. 3 shows a sticky bit generation circuit 4
FIG. 3 is a circuit diagram showing a configuration example of FIG.

【0021】スティッキー・ビット生成回路4は構成部
材103,105,107,109の排他的論理和回
路、構成部材104,106,108,110の論理和
回路から構成されている。本回路は、PKG生成回路の
出力、反転KB信号、P信号を入力とし、スティッキー
信号を生成する。処理がビット・スライスになっている
点に注意されたい。
The sticky bit generation circuit 4 comprises an exclusive OR circuit of the constituent members 103, 105, 107 and 109 and a logical OR circuit of the constituent members 104, 106, 108 and 110. This circuit receives the output of the PKG generation circuit, the inverted KB signal, and the P signal as inputs and generates a sticky signal. Note that the operation is a bit slice.

【0022】本実施例では、倍精度の乗算結果の下位S
S<50:0>,CC<50:0>を演算結果が得られ
る順番にビットごとに4つのフィールドに分割して求め
ているが、一度に演算しても何ら演算結果に変わりはな
い。本実施例のように分割することにより、乗算結果が
得られた部分から計算できるので、一度に実行するより
高速にスティッキー・ビット生成を行うことができる。
In this embodiment, the lower order S of the double precision multiplication result
Although S <50: 0> and CC <50: 0> are divided into four fields for each bit in the order in which the operation result is obtained, the operation result does not change even if the operation is performed at once. By performing division as in the present embodiment, calculation can be performed from the portion where the multiplication result is obtained, so that the generation of sticky bits can be performed at a higher speed than performed at once.

【0023】次に、本実施形態の動作について説明す
る。乗算回路1は正規化オペランドS、Tを乗算して、
部分積の和成分SSとキャリー成分CCを出力するもの
で、部分積の和がキャリーセーブ・フォームで生成さ
れ、倍精度の場合を仮定すると、和成分SS(105:
0)、キャリー成分CC(105:0)となる。和成分
SSとキャリー成分CCの上位ビットは加算回路2に入
力され、下位ビットはPKG生成回路3に入力される。
Next, the operation of this embodiment will be described. The multiplication circuit 1 multiplies the normalized operands S and T,
It outputs a sum component SS of partial products and a carry component CC. Assuming that the sum of partial products is generated in a carry-save form and is double-precision, the sum component SS (105:
0) and carry component CC (105: 0). The upper bits of the sum component SS and the carry component CC are input to the addition circuit 2, and the lower bits are input to the PKG generation circuit 3.

【0024】PKG生成回路3はキャリー・セーブ・フ
ォーマットの部分積の和成分SS(50:0)とキャリ
ー成分CC(50:0)を入力とし、各対応するビット
ごとの論理和の反転KB、排他的論理和P、論理積Gを
ビットスライスで求める。論理和の反転KB、排他的論
理和P、論理積Gはスティッキービット生成回路4に渡
され、スティッキービット生成回路4は論理和の反転K
B、排他的論理和P、論理積Gに基づいてスティッキー
ビット100を生成し、得られたスティッキービット1
00を丸め回路6に出力する。
The PKG generating circuit 3 receives as input the sum component SS (50: 0) and the carry component CC (50: 0) of the partial products in the carry save format, and inverts the KB of the logical sum for each corresponding bit. An exclusive OR P and a logical product G are obtained by a bit slice. The inverted KB of the logical sum, the exclusive logical sum P, and the logical product G are passed to the sticky bit generation circuit 4, and the sticky bit generation circuit 4 outputs the inverted logical sum K.
B, an exclusive OR P, and a logical product G, to generate a sticky bit 100, and the resulting sticky bit 1
00 is output to the rounding circuit 6.

【0025】スティッキービット生成回路4は入力され
る各ビットのキャリー情報をもとに、スティッキービッ
トを段階的に生成する。スティッキービット生成回路4
は複数のXORなる論理ゲートと複数の論理和ゲートを
備え、各ビットのP信号と1ビット上位のKとのXOR
をとり、各ビットに1が立つか否かを求め、前記各ビッ
トに1が立つか否かを示す信号の論理和を取ることによ
り、スティッキービット100を生成する。スティッキ
ービット生成回路4はこのようにキャリーの生成過程で
加算を行っていないので、キャリーの伝播がなく、ステ
ッキービットを高速に求めることが出来る。
The sticky bit generation circuit 4 generates sticky bits in stages based on the carry information of each input bit. Sticky bit generation circuit 4
Is provided with a plurality of XOR logic gates and a plurality of OR gates.
To determine whether or not 1 is set in each bit, and OR the signals indicating whether or not 1 is set in each bit to generate a sticky bit 100. Since the sticky bit generation circuit 4 does not perform the addition in the process of generating the carry as described above, the carry is not propagated and the sticky bit can be obtained at high speed.

【0026】ここで、本例では、スティッキービットを
4つのブロックに分割して求めている。これは乗算アレ
ーをワラスの方法で加算しているためである。部分積の
部分和は下位の部分から順番に確定していく。本例で
は、倍精度の乗算アレーを構成しているので、下位より
SS(3:0、CC(3:0)の4ビット、SS(1
1:4)、CC(11:4)の8ビット、SS(25:
15)、CC(25:15)の14ビット、残りSS
(105:26)、CC(105:26)が段階的に確
定していく。
Here, in the present embodiment, the sticky bit is obtained by dividing it into four blocks. This is because the multiplying arrays are added by the Wallace method. The partial sum of the partial products is determined in order from the lower part. In this example, since a double-precision multiplication array is configured, four bits of SS (3: 0, CC (3: 0)) and SS (1
1: 4), 8 bits of CC (11: 4), SS (25:
15), 14 bits of CC (25:15), remaining SS
(105: 26), CC (105: 26) is determined step by step.

【0027】本方式では、スティッキービットはビット
・スライスで行った演算結果の論理和をとればいいの
で、どのビットから計算を開始してもかまわない。一般
に多ビットの論理和をとる処理は、木構造で段階的に行
う必要があり、本質的に時間のかかる処理である。ステ
ィッキービットの生成を更に高速化するため、本例では
確定した部分積の部分より、段階的にスティッキービッ
トの生成を行っている。
In the present system, the sticky bit may be obtained by calculating the logical sum of the operation result performed in the bit slice, and the calculation may be started from any bit. In general, the process of calculating the logical sum of multi-bits needs to be performed stepwise in a tree structure, and is essentially a time-consuming process. In order to further speed up the generation of the sticky bit, in this example, the generation of the sticky bit is performed stepwise from the determined partial product.

【0028】丸め回路6は入力されるスティッキービッ
トから丸めを行うかどうかを判定し、丸めを行う場合は
加算回路7に加算値“1”を出力する。加算回路7は丸
めを行う場合に限り、加算回路2の乗算結果に“1”を
加算して、丸めを行うがその他の場合は乗算結果をその
まま選択回路8に出力する。また、キャリー生成回路5
は、キャリー・セーブ・フォーマットの部分積の和成分
SS(50:0)とキャリー成分CC(50:0)を入
力とし、部分積の下位のキャリ−C51を求め、求めた
キャリーを加算回路7に送る。これにより、加算回路7
では加算回路2から入力される乗算結果にキャリーを加
算し、正しい乗算結果を得ている。
The rounding circuit 6 determines whether or not to perform rounding based on the input sticky bits, and outputs an addition value “1” to the adding circuit 7 when performing rounding. The addition circuit 7 adds "1" to the multiplication result of the addition circuit 2 only when performing rounding and performs rounding. In other cases, the addition circuit 7 outputs the multiplication result as it is to the selection circuit 8. In addition, carry generation circuit 5
Receives the sum component SS (50: 0) of partial products and the carry component CC (50: 0) of the carry save format, finds the lower carry C51 of the partial product, and adds the found carry to the adder circuit 7. Send to Thereby, the addition circuit 7
In, the carry is added to the multiplication result input from the addition circuit 2 to obtain a correct multiplication result.

【0029】選択回路8は乗算結果の1ビットシフトし
たものとしないものとをオーバーフローするかどうかに
よって選択し、最終の乗算結果を出力する。
The selection circuit 8 selects whether or not the result of the multiplication is shifted by 1 bit and whether or not it overflows, and outputs the final multiplication result.

【0030】本実施形態によれば、乗算回路1の部分積
の和成分SSとキャリー成分CCからP、K、G信号を
生成し、これらP、K、G信号からスティッキービット
100をビットスライスで求めることにより、キャリー
の伝搬がないことと、加算回路2による部分積の和成分
SSとキャリー成分CCの加算処理と並列にスティッキ
ービット100を求める処理を行うことにより、スティ
ッキービット100を高速に生成することができる。こ
れにより、乗算結果を得る時間を短縮化でき、回路の乗
算速度を向上させることができる。
According to the present embodiment, the P, K, and G signals are generated from the sum component SS and the carry component CC of the partial products of the multiplication circuit 1, and the sticky bit 100 is formed by bit slice from the P, K, and G signals. By performing the calculation, there is no carry propagation, and the sticky bit 100 is generated at high speed by performing the process of obtaining the sticky bit 100 in parallel with the addition process of the sum component SS and the carry component CC of the partial products by the adding circuit 2. can do. As a result, the time for obtaining the multiplication result can be shortened, and the multiplication speed of the circuit can be improved.

【0031】尚、本発明は上記実施形態に限定されるこ
となく、その要旨を逸脱しない範囲において、具体的な
構成、機能、作用、効果において、他の種々の形態によ
っても実施することができる。
The present invention is not limited to the above-described embodiment, and may be embodied in various other forms in terms of specific structure, function, operation, and effect without departing from the gist of the invention. .

【0032】[0032]

【発明の効果】以上詳細に説明したように、本発明によ
れば、浮動小数点演算器に於けるスティッキービット生
成回路において、乗算結果を求める前のキャリー・セー
ブ・フォーマットの部分積の和成分とキャリー成分の対
応するビットごとの論理和の反転G、排他的論理和P、
論理積Gを求め、得られP、K、G信号からスティッキ
ービットを求めることにより、スティッキービット生成
の処理を高速化して丸め処理に掛かる時間を短縮化する
ことにより、乗算速度を更に向上させることができる。
As described above in detail, according to the present invention, in the sticky bit generation circuit in the floating point arithmetic unit, the sum component of the partial product of the carry save format before the multiplication result is obtained and Invert G of exclusive OR of corresponding bit of carry component, exclusive OR P,
The multiplication speed is further improved by obtaining the logical product G and obtaining the sticky bits from the obtained P, K, and G signals, thereby speeding up the process of generating the sticky bits and shortening the time required for the rounding process. Can be.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の乗算器の一実施形態の構成を示したブ
ロック図である。
FIG. 1 is a block diagram showing a configuration of an embodiment of a multiplier according to the present invention.

【図2】図1に示したPKG生成回路の構成例を示した
回路図である。
FIG. 2 is a circuit diagram illustrating a configuration example of a PKG generation circuit illustrated in FIG. 1;

【図3】図1に示したスティッキービット生成回路の構
成例を示した回路図である。
FIG. 3 is a circuit diagram showing a configuration example of a sticky bit generation circuit shown in FIG. 1;

【図4】従来の浮動小数点乗算器の構成例を示したブロ
ック図である。
FIG. 4 is a block diagram illustrating a configuration example of a conventional floating-point multiplier.

【符号の説明】[Explanation of symbols]

1 乗算回路 2、7 加算回路 3 PKG生成回路 4 スティッキービット生成回路 5 キャリー生成回路 6 丸め回路 8 選択回路 DESCRIPTION OF SYMBOLS 1 Multiplication circuit 2, 7 Addition circuit 3 PKG generation circuit 4 Sticky bit generation circuit 5 Carry generation circuit 6 Rounding circuit 8 Selection circuit

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 2個の正規化オペランドを乗算する乗算
手段と、 前記乗算手段から得られる部分積の和成分の下位ビット
とキャリー成分の下位ビットから論理和の反転KB(キ
ャリー伝播の停止)、排他的論理和P(キャリーの伝
播)、論理積G(キャリーの生成)を生成するPKG生
成手段と、 前記PKG生成手段により得られた反転KB、排他的論
理和P、論理積Gよりスティッキービットを生成するス
ティッキービット生成手段と、 を具備することを特徴とするスティッキービット生成回
路。
1. Multiplying means for multiplying two normalized operands, and inverting a logical sum from the lower bit of the sum component and the lower bit of the carry component of the partial product obtained from the multiplying unit (stop of carry propagation) PKG generating means for generating exclusive OR P (carry propagation) and logical product G (generating carry); and sticky from inverted KB, exclusive OR P, and logical product G obtained by the PKG generating means. A sticky bit generation circuit, comprising: sticky bit generation means for generating bits.
【請求項2】 前記スティッキービット生成手段は、前
記和成分とキャリー成分の対応するビットとその隣接上
位ビットとの排他的論理和P、論理積G、反転KBの各
信号から、そのビットが1とならないことを示す信号を
求めた後、前記各ビットが1とならないことを示す信号
の全論理和をとることによりスティッキービットを生成
することを特徴とする請求項1記載のスティッキービッ
ト生成回路。
2. The sticky bit generation means determines whether the bit of the exclusive component P, the logical product G, and the inverted KB of the corresponding bit of the sum component and the carry component and its adjacent upper bit is 1 2. The sticky bit generation circuit according to claim 1, wherein a sticky bit is generated by obtaining a signal indicating that each bit does not become 1 after obtaining a signal indicating that each bit does not become 1.
【請求項3】 前記PKG生成手段はビットスライスで
演算して前記排他的論理和P、論理積G、反転KBの各
信号を求め、前記スティッキービット生成手段はスティ
ッキービットを複数ブロックに分割して求めることを特
徴とする請求項1又は2記載のスティッキービット生成
回路。
3. The PKG generating means calculates each of the exclusive OR P, the logical product G, and the inverted KB by operating on a bit slice, and the sticky bit generating means divides the sticky bit into a plurality of blocks. 3. The sticky bit generation circuit according to claim 1, wherein the value is obtained.
【請求項4】 2個の正規化オペランドを乗算する乗算
手段と、 前記乗算手段から得られる部分積の和成分の下位ビット
とキャリー成分の下位ビットから論理和の反転KB(キ
ャリー伝播の停止)、排他的論理和P(キャリーの伝
播)、論理積G(キャリーの生成)を生成するPKG生
成手段と、 前記PKG生成手段により得られた反転KB、排他的論
理和P、論理積Gよりスティッキービットを生成するス
ティッキービット生成手段と、 前記乗算手段から得られる部分積の和成分の上位ビット
とキャリー成分の上位ビットを加算する第1の加算手段
と、 前記スティッキービット生成手段により生成されたステ
ィッキービットより乗算結果に丸め処理を行うかどうか
を判定する判定手段と、 前記PKG生成手段により得られた反転KB、排他的論
理和P、論理積Gよりキャリーを生成するキャリー生成
手段と、 前記第1の加算手段から得られる乗算結果に前記キャリ
ー生成手段より生成されたキャリーを加算すると共に、
前記判定手段により丸め処理を行うと判定された場合に
1を加える第2の加算手段と、 を具備することを特徴とする乗算器。
4. Multiplying means for multiplying two normalized operands, and inverting the logical sum from the lower bit of the sum component and the lower bit of the carry component of the partial product obtained from the multiplying means KB (stop of carry propagation) PKG generating means for generating exclusive OR P (carry propagation) and logical product G (generating carry); and sticky from inverted KB, exclusive OR P, and logical product G obtained by the PKG generating means. Sticky bit generation means for generating bits; first addition means for adding the high order bit of the sum component of the partial products obtained from the multiplication means and the high order bit of the carry component; and sticky generated by the sticky bit generation means. Determining means for determining whether or not to perform a rounding process on the multiplication result based on the bits; ORs P, a carry generating means for generating a carry from the logical product G, as well as adding the carry generated from said carry generating means is multiplied results obtained from said first addition means,
A second adding means for adding 1 when it is determined that the rounding processing is to be performed by the determining means.
【請求項5】 前記第1の加算手段による加算処理と前
記PKG生成手段及びスティッキービット生成手段の処
理を並列に行うことを特徴とする請求項4記載の乗算
器。
5. The multiplier according to claim 4, wherein the addition processing by said first addition means and the processing of said PKG generation means and sticky bit generation means are performed in parallel.
JP2000292654A 2000-09-26 2000-09-26 Sticky bit generating circuit and multiplier Abandoned JP2002108606A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000292654A JP2002108606A (en) 2000-09-26 2000-09-26 Sticky bit generating circuit and multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000292654A JP2002108606A (en) 2000-09-26 2000-09-26 Sticky bit generating circuit and multiplier

Publications (1)

Publication Number Publication Date
JP2002108606A true JP2002108606A (en) 2002-04-12

Family

ID=18775565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000292654A Abandoned JP2002108606A (en) 2000-09-26 2000-09-26 Sticky bit generating circuit and multiplier

Country Status (1)

Country Link
JP (1) JP2002108606A (en)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215192A (en) * 2006-02-09 2007-08-23 Altera Corp Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
JP2013182619A (en) * 2012-02-29 2013-09-12 Samsung Electronics Co Ltd Partial product generation device and method for polynomial arithmetic
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
US8788562B2 (en) 2006-12-05 2014-07-22 Altera Corporation Large multiplier for programmable logic device
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Cited By (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8620980B1 (en) 2005-09-27 2013-12-31 Altera Corporation Programmable device with specialized multiplier blocks
US8266198B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
JP2007215192A (en) * 2006-02-09 2007-08-23 Altera Corp Specialized processing block for programmable logic device
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US9395953B2 (en) 2006-12-05 2016-07-19 Altera Corporation Large multiplier for programmable logic device
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier for programmable logic device
US8788562B2 (en) 2006-12-05 2014-07-22 Altera Corporation Large multiplier for programmable logic device
US9063870B1 (en) 2006-12-05 2015-06-23 Altera Corporation Large multiplier for programmable logic device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable device
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US8959137B1 (en) 2008-02-20 2015-02-17 Altera Corporation Implementing large multipliers in a programmable integrated circuit device
US8307023B1 (en) 2008-10-10 2012-11-06 Altera Corporation DSP block for implementing large multiplier on a programmable integrated circuit device
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
US8706790B1 (en) 2009-03-03 2014-04-22 Altera Corporation Implementing mixed-precision floating-point operations in a programmable integrated circuit device
US8645449B1 (en) 2009-03-03 2014-02-04 Altera Corporation Combined floating point adder and subtractor
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8412756B1 (en) 2009-09-11 2013-04-02 Altera Corporation Multi-operand floating point operations in a programmable integrated circuit device
US8396914B1 (en) 2009-09-11 2013-03-12 Altera Corporation Matrix decomposition in an integrated circuit device
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8601044B2 (en) 2010-03-02 2013-12-03 Altera Corporation Discrete Fourier Transform in an integrated circuit device
US8484265B1 (en) 2010-03-04 2013-07-09 Altera Corporation Angular range reduction in an integrated circuit device
US8510354B1 (en) 2010-03-12 2013-08-13 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8812573B2 (en) 2010-06-25 2014-08-19 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8577951B1 (en) 2010-08-19 2013-11-05 Altera Corporation Matrix operations in an integrated circuit device
US8645451B2 (en) 2011-03-10 2014-02-04 Altera Corporation Double-clocked specialized processing block in an integrated circuit device
US9600278B1 (en) 2011-05-09 2017-03-21 Altera Corporation Programmable device using fixed and configurable logic to implement recursive trees
US8812576B1 (en) 2011-09-12 2014-08-19 Altera Corporation QR decomposition in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US8762443B1 (en) 2011-11-15 2014-06-24 Altera Corporation Matrix operations in an integrated circuit device
JP2013182619A (en) * 2012-02-29 2013-09-12 Samsung Electronics Co Ltd Partial product generation device and method for polynomial arithmetic
US8543634B1 (en) 2012-03-30 2013-09-24 Altera Corporation Specialized processing block for programmable integrated circuit device
US9098332B1 (en) 2012-06-01 2015-08-04 Altera Corporation Specialized processing block with fixed- and floating-point structures
US8996600B1 (en) 2012-08-03 2015-03-31 Altera Corporation Specialized processing block for implementing floating-point multiplier with subnormal operation support
US9207909B1 (en) 2012-11-26 2015-12-08 Altera Corporation Polynomial calculations optimized for programmable integrated circuit device structures
US9189200B1 (en) 2013-03-14 2015-11-17 Altera Corporation Multiple-precision processing block in a programmable integrated circuit device
US9348795B1 (en) 2013-07-03 2016-05-24 Altera Corporation Programmable device using fixed and configurable logic to implement floating-point rounding
US9684488B2 (en) 2015-03-26 2017-06-20 Altera Corporation Combined adder and pre-adder for high-radix multiplier circuit
US10942706B2 (en) 2017-05-05 2021-03-09 Intel Corporation Implementation of floating-point trigonometric functions in an integrated circuit device

Similar Documents

Publication Publication Date Title
JP2002108606A (en) Sticky bit generating circuit and multiplier
US5844830A (en) Executing computer instrucrions by circuits having different latencies
Pineiro et al. High-speed double-precision computation of reciprocal, division, square root, and inverse square root
US8965945B2 (en) Apparatus and method for performing floating point addition
EP0351242B1 (en) Floating point arithmetic units
Zhang et al. Efficient multiple-precision floating-point fused multiply-add with mixed-precision support
US8046399B1 (en) Fused multiply-add rounding and unfused multiply-add rounding in a single multiply-add module
JPH02196328A (en) Floating point computing apparatus
Hickmann et al. A parallel IEEE P754 decimal floating-point multiplier
US5892698A (en) 2&#39;s complement floating-point multiply accumulate unit
JPH0447849B2 (en)
JP2676410B2 (en) Circuit and method for predicting stat-bit value
JP5640081B2 (en) Integer and multiply-add operations with saturation
US8060551B2 (en) Method and apparatus for integer division
JPH07168697A (en) Circuit and method for double-precision division
US7725522B2 (en) High-speed integer multiplier unit handling signed and unsigned operands and occupying a small area
Takagi et al. A hardware algorithm for integer division
Erle et al. Decimal floating-point multiplication
JPH08212058A (en) Addition overflow detection circuit
US8892621B2 (en) Implementation of negation in a multiplication operation without post-incrementation
US5734599A (en) Performing a population count using multiplication
JP2007538305A (en) Arithmetic circuit with balanced logic level for low power operation
JP3306497B2 (en) Rounding circuit in floating point multiplier
JP3537378B2 (en) Adders and integrated circuits
US5117384A (en) Method and apparatus for exponent adder

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20040519