JP3492638B2 - Floating point multiplier - Google Patents

Floating point multiplier

Info

Publication number
JP3492638B2
JP3492638B2 JP2001048522A JP2001048522A JP3492638B2 JP 3492638 B2 JP3492638 B2 JP 3492638B2 JP 2001048522 A JP2001048522 A JP 2001048522A JP 2001048522 A JP2001048522 A JP 2001048522A JP 3492638 B2 JP3492638 B2 JP 3492638B2
Authority
JP
Japan
Prior art keywords
addition result
bit
carry
bits
partial product
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 - Fee Related
Application number
JP2001048522A
Other languages
Japanese (ja)
Other versions
JP2002251281A (en
Inventor
孝士 長田
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2001048522A priority Critical patent/JP3492638B2/en
Publication of JP2002251281A publication Critical patent/JP2002251281A/en
Application granted granted Critical
Publication of JP3492638B2 publication Critical patent/JP3492638B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 multiplier, and more particularly to a floating-point multiplier that speeds up operations.

【0002】[0002]

【従来の技術】この種の技術としては、「特開平5−2
65714号」記載の技術がある。この技術は、乗数と
被乗数の部分積を求め、得られた部分積を加算して積を
求める乗算器であって、上記部分積から2つの中間積を
求める部分積加算器と、2つの上記中間積の予め定めた
桁から上位桁について、下位桁からの桁上げの可能な値
を複数仮定して、上記中間積を加算し、仮定した値に対
応して、複数の加算値を求める中間積加算器と、上記中
間積の加算と並行して、2つの上記中間積から、上記中
間積の予め定めた桁より下位桁からの桁上げ情報を生成
する桁上げ先見回路と、上記桁上げ先見回路の出力に基
づいて、上記中間積加算器の加算値を選択する選択回路
とを有するものである。
2. Description of the Related Art As a technique of this kind, "Japanese Patent Laid-Open No. 5-2"
No. 65714 ”. This technique is a multiplier that obtains a partial product of a multiplier and a multiplicand and adds the obtained partial products to obtain a product, and a partial product adder that obtains two intermediate products from the partial product and two From the predetermined digit to the higher digit of the intermediate product, assume the multiple possible carry values from the lower digit, add the above intermediate products, and obtain the multiple added values corresponding to the assumed values. A product adder, a carry look-ahead circuit that generates carry information from a lower digit than a predetermined digit of the intermediate product from the two intermediate products in parallel with the addition of the intermediate products, and the carry carry. And a selection circuit for selecting the added value of the intermediate product adder based on the output of the look-ahead circuit.

【0003】[0003]

【発明が解決しようとする課題】上述した従来の技術の
問題点は、遅延時間が大きいことである。
The problem of the above-mentioned conventional technique is that the delay time is large.

【0004】その理由は、中間積加算器の出力を条件決
定回路に入力しているため、中間積加算器を経由する
分、遅延時間が増加するからである。
The reason is that since the output of the intermediate product adder is input to the condition determining circuit, the delay time increases as much as it goes through the intermediate product adder.

【0005】また、中間積加算器の内部にオール1予測
器を備えているので、オール1予測信号を生成する際
に、1桁目から51桁目まで全ての予測信号をその下位
ビット全ての結果を用いて生成しているので遅延時間が
増加するからである。
Further, since the all-one predictor is provided inside the intermediate product adder, all the prediction signals from the first digit to the 51st digit of all the lower bits are generated when the all-one prediction signal is generated. This is because the delay time increases because it is generated using the result.

【0006】本発明の目的は、乗算アレイの出力を丸め
後正規化判定回路への入力とし、かつ、各ビットの排他
的論理和のみを求めて、その総論理積により、オール1
予測信号(丸め後正規化信号)を生成することにより、
遅延時間の少ない浮動小数点乗算器を実現することであ
る。
An object of the present invention is to use the output of the multiplication array as an input to the normalization judgment circuit after rounding, and to find only the exclusive OR of each bit, and by the total logical product, all 1's.
By generating the predicted signal (normalized signal after rounding),
It is to realize a floating point multiplier with a small delay time.

【0007】[0007]

【課題を解決するための手段】[Means for Solving the Problems]

【0008】[0008]

【0009】本発明の第の浮動小数点乗算器は、仮数
M0、仮数M1を入力し乗算を行い部分積A、部分積B
を出力する乗算アレイと、前記乗算アレイから部分積A
の上位の任意の数のビット、および、部分積Bの上位の
前記任意の数−1のビットを入力し、加算を行い加算結
果C0、加算結果C0に1を加算した加算結果C1、お
よび、最上位からの桁上がりXを出力する仮数部加算器
と、前記乗算アレイから部分積Aの上位の前記任意の数
の部分を除いた下位のビット、および、部分積Bの上位
の前記任意の数−1の数の部分を除いた下位のビットを
入力し、最上位からのキャリーFを生成、出力するキャ
リー生成回路と、前記乗算アレイから部分積Aの上位の
前記任意の数のビット、部分積Bの上位の前記任意の数
−1のビット、および、前記キャリー生成回路からキャ
リーFを入力し、前記乗算アレイからの部分積Aの上位
の前記任意の数のビット、および部分積Bの上位の前記
任意の数−1のビットの各ビット同士の排他的論理和を
求め、その結果の総論理積F0を算出し、さらに、各ビ
ット同士の排他的論理和と下位の桁のビット同士の論理
和(最下位のみ)、あるいは、下位の桁のビット同士の
論理積との排他的論理和を求め、その結果の総論理積F
1を算出し、キャリーFが‘0’であれば、F0を選択
し、キャリーFが‘1’であれば、F1を選択して、丸
め後正規化信号Gとして出力する丸め後正規化判定回路
と、前記乗算アレイから部分積Aの上位の前記任意の数
の部分を除いた下位のビット、および、部分積Bの上位
の前記任意の数−1の数の部分を除いた下位のビットを
入力し、加算結果に1となるビットが存在する場合に1
となるスティッキービットSを生成、出力するスティッ
キー生成回路と、前記乗算アレイからの加算結果C0、
加算結果C1を入力し、前記仮数部加算器からの桁上が
りX、前記丸め後正規化判定回路からの丸め後正規化信
号G、および、前記スティッキー生成回路からのスティ
ッキービットSにしたがって、加算結果C0、加算結果
C1、または、100・・・00のいずれかを選択し、
仮数部乗算結果として出力する丸め桁合わせ回路と、を
有することを特徴とする。
The first floating-point multiplier of the present invention inputs a mantissa M0 and a mantissa M1 and performs multiplication to obtain a partial product A and a partial product B.
And a partial product A from the multiplication array.
Of an arbitrary number of bits of the upper part of the partial product B and an arbitrary number of bits of the upper part of the partial product B are input and addition is performed, an addition result C0, an addition result C1 obtained by adding 1 to the addition result C0, and A mantissa adder that outputs a carry X from the highest order, a lower bit of the multiplication array excluding the upper part of the upper part of the partial product A, and an upper part of the partial product B A carry generation circuit for inputting the lower bits excluding the number part of the number -1 and generating and outputting a carry F from the highest order, and the arbitrary number of bits above the partial product A from the multiplication array, The arbitrary number −1 bits above the partial product B and the carry F from the carry generation circuit are input, and the arbitrary number of bits above the partial product A from the multiplication array and the partial product B Of the above-mentioned arbitrary number -1 , The exclusive OR of each bit is calculated, and the total logical product F0 of the results is calculated. Further, the exclusive OR of each bit and the logical sum of the bits of the lower digits (only the least significant), Alternatively, the exclusive logical sum with the logical product of the bits of the lower digits is obtained, and the total logical product F of the results is obtained.
1 is calculated, and if carry F is '0', F0 is selected, and if carry F is '1', F1 is selected and the post-rounding normalization determination is output as post-rounding normalized signal G. A circuit, the lower bits of the multiplication array excluding the upper arbitrary number of parts of the partial product A, and the lower bits of the upper partial product B excluding the upper part of the arbitrary number-1 Is input, and if there is a bit that becomes 1 in the addition result, 1
A sticky generation circuit that generates and outputs a sticky bit S that becomes
The addition result C1 is input, and the addition result is obtained according to the carry X from the mantissa adder, the post-rounding normalized signal G from the post-rounding normalization determination circuit, and the sticky bit S from the sticky generating circuit. Select either C0, addition result C1, or 100 ... 00,
And a rounding digit matching circuit that outputs the result of mantissa multiplication.

【0010】本発明の第の浮動小数点乗算器は、指数
E0、指数E1を入力し加算を行い指数部加算結果D
0、指数部加算結果D0に1を加算した指数部加算結果
D1を生成、出力する指数部加算器と、仮数M0、仮数
M1を入力し乗算を行い部分積A、部分積Bを出力する
乗算アレイと、前記乗算アレイから部分積Aの上位の任
意の数のビット、および、部分積Bの上位の前記任意の
数−1のビットを入力し、加算を行い加算結果C0、加
算結果C0に1を加算した加算結果C1、および、最上
位からの桁上がりXを出力する仮数部加算器と、前記乗
算アレイから部分積Aの上位の前記任意の数の部分を除
いた下位のビット、および、部分積Bの上位の前記任意
の数−1の数の部分を除いた下位のビットを入力し、最
上位からのキャリーFを生成、出力するキャリー生成回
路と、前記乗算アレイから部分積Aの上位の前記任意の
数のビット、部分積Bの上位の前記任意の数−1のビッ
ト、および、前記キャリー生成回路からキャリーFを入
力し、前記乗算アレイからの部分積Aの上位の前記任意
の数のビット、および部分積Bの上位の前記任意の数−
1のビットの各ビット同士の排他的論理和を求め、その
結果の総論理積F0を算出し、さらに、各ビット同士の
排他的論理和と下位の桁のビット同士の論理和(最下位
のみ)、あるいは、下位の桁のビット同士の論理積との
排他的論理和を求め、その結果の総論理積F1を算出
し、キャリーFが0であれば、F0を選択し、キャリー
Fが1であれば、F1を選択して、丸め後正規化信号G
として出力する丸め後正規化判定回路と、前記乗算アレ
イから部分積Aの上位の前記任意の数の部分を除いた下
位のビット、および、部分積Bの上位の前記任意の数−
1の数の部分を除いた下位のビットを入力し、加算結果
に1となるビットが存在する場合に1となるスティッキ
ービットSを生成、出力するスティッキー生成回路と、
前記乗算アレイからの加算結果C0、加算結果C1を入
力し、前記仮数部加算器からの桁上がりX、前記丸め後
正規化判定回路からの丸め後正規化信号G、および、前
記スティッキー生成回路からのスティッキービットSに
したがって、加算結果C0、加算結果C1、または、1
00・・・00のいずれかを選択し、仮数部乗算結果と
して出力し、かつ、前記指数部加算器から指数部加算結
果D0、指数部加算結果D1を入力し、前記仮数部加算
器からの桁上がりX、前記丸め後正規化判定回路からの
丸め後正規化信号G、および、前記スティッキー生成回
路からのスティッキービットSにしたがって、指数部加
算結果D0、指数部加算結果D1のいずれかを選択し、
指数部乗算結果として出力する丸め桁合わせ回路と、を
有することを特徴とする。
The second floating-point multiplier of the present invention inputs the exponent E0 and the exponent E1 and performs addition to perform exponential part addition result D.
0, the exponent part addition result D1 which is obtained by adding 1 to the exponent part addition result D0, and the exponent part adder which inputs and outputs the mantissa M0 and the mantissa M1 and outputs the partial product A and partial product B An arbitrary number of upper bits of the partial product A and an arbitrary number of higher bits of the partial product B are input from the array and the multiplication array, and addition is performed to obtain an addition result C0 and an addition result C0. An addition result C1 obtained by adding 1 and a mantissa adder for outputting a carry X from the most significant bit; a lower bit obtained by removing the arbitrary number of upper bits of the partial product A from the multiplication array; , A carry generation circuit for inputting the lower bits excluding the number of the arbitrary number -1 of the upper part of the partial product B and generating and outputting a carry F from the uppermost part, and the partial product A from the multiplication array. Any number of bits, parts of the high order of The arbitrary number of bits higher than B-1 and the carry F from the carry generation circuit are input, and the arbitrary number of bits higher than the partial product A from the multiplication array and the higher order of the partial product B. The arbitrary number of
The exclusive OR of each bit of 1 is calculated, the total logical product F0 of the results is calculated, and the exclusive OR of each bit and the OR of the bits of the lower digits (only the lowest bit is calculated). ), Or exclusive OR with the logical product of the bits of the lower digits, and calculate the total logical product F1 of the results. If carry F is 0, select F0 and carry F is 1 If so, F1 is selected and the normalized signal G after rounding is selected.
Post-rounding normalization determination circuit, the lower bits of the multiplication array excluding the upper part of the upper part of the partial product A, and the arbitrary number of the upper part of the partial product B −
A sticky generation circuit for inputting the lower bits excluding the part of the number of 1 and generating and outputting a sticky bit S which becomes 1 when there is a bit which becomes 1 in the addition result;
The addition result C0 and the addition result C1 from the multiplication array are input, the carry X from the mantissa adder, the post-rounding normalized signal G from the post-rounding normalization determining circuit, and the sticky generating circuit. According to the sticky bit S of the addition result C0, the addition result C1, or 1
00 ... 00 is selected and output as the mantissa multiplication result, and the exponent addition result D0 and the exponent addition result D1 are input from the exponent adder, and the mantissa adder outputs Either the exponent part addition result D0 or the exponent part addition result D1 is selected according to the carry X, the post-rounding normalization signal G from the post-rounding normalization determination circuit, and the sticky bit S from the sticky generating circuit. Then
And a rounding digit matching circuit that outputs the result of exponential part multiplication.

【0011】本発明の第の浮動小数点乗算器は、仮数
M0、仮数M1を入力し乗算を行い部分積A、部分積B
を出力する乗算アレイと、前記乗算アレイから部分積A
の上位の任意の数のビット、および、部分積Bの上位の
前記任意の数−1のビットを入力し、加算を行い加算結
果C0、加算結果C0に1を加算した加算結果C1、お
よび、最上位からの桁上がりX0、X1を出力する仮数
部加算器と、前記乗算アレイから部分積Aの上位の前記
任意の数の部分を除いた下位のビット、および、部分積
Bの上位の前記任意の数−1の数の部分を除いた下位の
ビットを入力し、最上位からのキャリーFを生成、出力
するキャリー生成回路と、前記乗算アレイから部分積A
の上位の前記任意の数のビット、部分積Bの上位の前記
任意の数−1のビット、および、前記キャリー生成回路
からキャリーFを入力し、前記乗算アレイからの部分積
Aの上位の前記任意の数のビット、および部分積Bの上
位の前記任意の数−1のビットの各ビット同士の排他的
論理和を求め、その結果の総論理積F0を算出し、さら
に、各ビット同士の排他的論理和と下位の桁のビット同
士の論理和(最下位のみ)、あるいは、下位の桁のビッ
ト同士の論理積との排他的論理和を求め、その結果の総
論理積F1を算出し、キャリーFが0であれば、F0を
選択し、キャリーFが1であれば、F1を選択して、丸
め後正規化信号Gとして出力する丸め後正規化判定回路
と、前記乗算アレイから部分積Aの上位の前記任意の数
の部分を除いた下位のビット、および、部分積Bの上位
の前記任意の数−1の数の部分を除いた下位のビットを
入力し、加算結果に1となるビットが存在する場合に1
となるスティッキービットSを生成、出力するスティッ
キー生成回路と、前記乗算アレイからの加算結果C0、
加算結果C1を入力し、桁上がりX0=0、X1=0で
あれば、それぞれ加算結果C0、加算結果C1を選択
し、桁上がりX0=1、X1=1であれば、それぞれ、
「1,加算結果C0の最下位ビットを削除した残り」=
加算結果C3、「1,加算結果C1の最下位ビットを削
除した残り」=加算結果C4を選択し、次に、スティッ
キービットSが0であれば、加算結果C3を選択し、ス
ティッキービットSが1で、かつ、丸め後正規化信号G
が0あれば、加算結果C4を選択し、スティッキービッ
トSが1で、かつ、丸め後正規化信号Gが1であれば、
100・・・00を選択し、仮数部乗算結果として出力
する丸め桁合わせ回路と、を有することを特徴とする。
The third floating-point multiplier of the present invention inputs a mantissa M0 and a mantissa M1 and performs multiplication to obtain a partial product A and a partial product B.
And a partial product A from the multiplication array.
Of an arbitrary number of bits of the upper part of the partial product B and an arbitrary number of bits of the upper part of the partial product B are input and addition is performed, an addition result C0, an addition result C1 obtained by adding 1 to the addition result C0, and A mantissa adder for outputting carry X0, X1 from the highest order, a lower bit excluding the arbitrary number of higher order parts of the partial product A from the multiplication array, and a higher order bit of the partial product B A carry generation circuit for inputting the lower bits excluding the arbitrary number-1 and generating and outputting a carry F from the highest order, and a partial product A from the multiplication array.
Of the upper part of the partial product A from the multiplication array, and the carry F from the carry generation circuit. An exclusive OR of each bit of the arbitrary number of bits and the above-mentioned arbitrary number-1 bit of the partial product B is obtained, and the total logical product F0 of the results is calculated. The exclusive OR of the exclusive OR and the bits of the lower digits (only the least significant) or the logical product of the bits of the lower digits is calculated, and the total logical product F1 of the results is calculated. , If carry F is 0, select F0, if carry F is 1, select F1 to output a rounded normalization signal G after rounding normalization determination circuit, and a portion from the multiplication array. Below excluding the arbitrary number of parts above the product A Bit, and, if you enter the lower bits except for the number of portions of said any number -1 upper partial product B, and there is 1 the bits in the addition result 1
A sticky generation circuit that generates and outputs a sticky bit S that becomes
When the addition result C1 is input and the carry X0 = 0 and X1 = 0, the addition result C0 and the addition result C1 are selected, and the carry X0 = 1 and X1 = 1 respectively,
“1, the rest after deleting the least significant bit of the addition result C0” =
Addition result C3, “1, remaining after removing the least significant bit of addition result C1” = addition result C4 is selected, and if sticky bit S is 0, addition result C3 is selected and sticky bit S is 1 and the normalized signal G after rounding
Is 0, the addition result C4 is selected, and if the sticky bit S is 1 and the post-rounding normalized signal G is 1,
And a rounding digit matching circuit for selecting 100 ... 00 and outputting as a mantissa multiplication result.

【0012】本発明の第の浮動小数点乗算器は、指数
E0、指数E1を入力し加算を行い指数部加算結果D
0、指数部加算結果D0に1を加算した指数部加算結果
D1を生成、出力する指数部加算器と、仮数M0、仮数
M1を入力し乗算を行い部分積A、部分積Bを出力する
乗算アレイと、前記乗算アレイから部分積Aの上位の任
意の数のビット、および、部分積Bの上位の前記任意の
数−1のビットを入力し、加算を行い加算結果C0、加
算結果C0に1を加算した加算結果C1、および、最上
位からの桁上がりX0、X1を出力する仮数部加算器
と、前記乗算アレイから部分積Aの上位の前記任意の数
の部分を除いた下位のビット、および、部分積Bの上位
の前記任意の数−1の数の部分を除いた下位のビットを
入力し、最上位からのキャリーFを生成、出力するキャ
リー生成回路と、前記乗算アレイから部分積Aの上位の
前記任意の数のビット、部分積Bの上位の前記任意の数
−1のビット、および、前記キャリー生成回路からキャ
リーFを入力し、前記乗算アレイからの部分積Aの上位
の前記任意の数のビット、および部分積Bの上位の前記
任意の数−1のビットの各ビット同士の排他的論理和を
求め、その結果の総論理積F0を算出し、さらに、各ビ
ット同士の排他的論理和と下位の桁のビット同士の論理
和(最下位のみ)、あるいは、下位の桁のビット同士の
論理積との排他的論理和を求め、その結果の総論理積F
1を算出し、キャリーFが0であれば、F0を選択し、
キャリーFが1であれば、F1を選択して、丸め後正規
化信号Gとして出力する丸め後正規化判定回路と、前記
乗算アレイから部分積Aの上位の前記任意の数の部分を
除いた下位のビット、および、部分積Bの上位の前記任
意の数−1の数の部分を除いた下位のビットを入力し、
加算結果に1となるビットが存在する場合に1となるス
ティッキービットSを生成、出力するスティッキー生成
回路と、前記乗算アレイからの加算結果C0、加算結果
C1を入力し、桁上がりX0=0、X1=0であれば、
それぞれ加算結果C0、加算結果C1を選択し、桁上が
りX0=1、X1=1であれば、それぞれ、「1,加算
結果C0の最下位ビットを削除した残り」=加算結果C
3、「1,加算結果C1の最下位ビットを削除した残
り」=加算結果C4を選択し、次に、スティッキービッ
トSが0であれば、加算結果C3を選択し、スティッキ
ービットSが1で、かつ、丸め後正規化信号Gが0あれ
ば、加算結果C4を選択し、スティッキービットSが1
で、かつ、丸め後正規化信号Gが1であれば、100・
・・00を選択し、仮数部乗算結果として出力し、か
つ、前記指数部加算器から指数部加算結果D0、指数部
加算結果D1を入力し、(桁上がりX0=0)*(ステ
ィッキービットS=0)、あるいは、(桁上がりX1=
0)*(スティッキービットS=1)*(丸め後正規化
信号G=0)であれば、指数部加算結果D0を選択し、
そうでなければ、指数部加算結果D1を選択して指数部
乗算結果として出力し指数部加算結果D1を選択し、指
数部乗算結果として出力する丸め桁合わせ回路と、を有
することを特徴とする。
The fourth floating-point multiplier of the present invention inputs the exponent E0 and the exponent E1 and performs addition to perform exponent part addition result D.
0, the exponent part addition result D1 which is obtained by adding 1 to the exponent part addition result D0, and the exponent part adder which inputs and outputs the mantissa M0 and the mantissa M1 and outputs the partial product A and partial product B An arbitrary number of upper bits of the partial product A and an arbitrary number of higher bits of the partial product B are input from the array and the multiplication array, and addition is performed to obtain an addition result C0 and an addition result C0. Addition result C1 obtained by adding 1 and mantissa adder for outputting carry X0 and carry X1 from the most significant bit, and lower bits obtained by excluding the arbitrary number of higher parts of partial product A from the multiplication array , And a carry generation circuit for inputting the lower bits excluding the upper part of the arbitrary number −1 of the partial product B and generating and outputting a carry F from the uppermost part, and a part of the multiplication array. Any number of bits above the product A , The arbitrary number −1 bits of the upper part of the partial product B and the carry F from the carry generation circuit, and the arbitrary number of bits of the upper part of the partial product A from the multiplication array, and the partial product The exclusive OR of each bit of the arbitrary number of bits −1 above B is calculated, the total logical product F0 of the results is calculated, and the exclusive OR of each bit and the lower digit are calculated. The logical sum of the bits (only the least significant bit) or the exclusive OR of the bits of the lower digits is calculated, and the total logical product F of the results is obtained.
Calculate 1 and if carry F is 0, select F0,
If the carry F is 1, F1 is selected and the post-rounding normalization determination circuit that outputs the post-rounding normalization signal G and the arbitrary number of parts above the partial product A from the multiplication array are removed. Input the lower bits and the lower bits excluding the part of the arbitrary number -1 of the upper part of the partial product B,
When a sticky bit S that becomes 1 when the addition result has a bit of 1 is generated and output, and the addition result C0 and the addition result C1 from the multiplication array are input, carry X0 = 0, If X1 = 0,
When the addition result C0 and the addition result C1 are selected and carry X0 = 1 and X1 = 1, respectively, “1, the remaining of the least significant bit of the addition result C0 is deleted” = addition result C
3, "1, remaining after deleting the least significant bit of addition result C1" = addition result C4 is selected, and if sticky bit S is 0, addition result C3 is selected and sticky bit S is 1 , And if the normalized signal G after rounding is 0, the addition result C4 is selected and the sticky bit S is 1
And if the normalized signal G after rounding is 1, 100.
..00 is selected and output as the mantissa multiplication result, and the exponent addition result D0 and the exponent addition result D1 are input from the exponent adder, (carry X0 = 0) * (sticky bit S = 0) or (carry X1 =
0) * (sticky bit S = 1) * (normalized signal after rounding G = 0), the exponent part addition result D0 is selected,
Otherwise, it has a rounding digit matching circuit that selects the exponent part addition result D1 and outputs it as the exponent part multiplication result, selects the exponent part addition result D1, and outputs it as the exponent part multiplication result. .

【0013】[0013]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0014】図1は、本発明の実施の形態の浮動小数点
乗算器を示すブロック図である。図1を参照すると、本
発明の実施の形態は、乗算アレイ11と、仮数部加算器
12と、スティッキー生成回路14と、キャリー生成回
路15と、丸め後正規化判定回路16と、丸め桁合わせ
回路17とから構成される。
FIG. 1 is a block diagram showing a floating point multiplier according to an embodiment of the present invention. Referring to FIG. 1, in the embodiment of the present invention, a multiplication array 11, a mantissa adder 12, a sticky generation circuit 14, a carry generation circuit 15, a post-rounding normalization determination circuit 16, and a rounding digit alignment. And the circuit 17.

【0015】乗算アレイ11は、仮数部加算器12、ス
ティッキー生成回路14、キャリー生成回路15、およ
び、丸め後正規化判定回路16と接続され、前処理段階
で切り出された浮動小数点データのm(正の整数)[ビ
ット]の仮数部M0、および、M1を入力として乗算を
行い、2個の部分積A,Bを得る。A,Bは、それぞ
れ、2m−1[ビット]である。乗算アレイ11の出力
である2個の部分積A,Bの和が仮数部の乗算結果とな
る。
The multiplication array 11 is connected to the mantissa adder 12, the sticky generation circuit 14, the carry generation circuit 15, and the post-rounding normalization determination circuit 16, and the floating-point data m ( Positive integers) [bit] mantissas M0 and M1 are input to perform multiplication to obtain two partial products A and B. Each of A and B is 2m-1 [bit]. The sum of the two partial products A and B output from the multiplication array 11 is the mantissa multiplication result.

【0016】仮数部加算器12は、乗算アレイ11、キ
ャリー生成回路15、および、丸め桁合わせ回路17と
接続され、乗算アレイ11の出力である2個の部分積A
の上位m+1[ビット],Bの上位m[ビット]、およ
び、キャリー生成回路15の出力であるキャリーFを入
力として加算、および、加算結果に+1を行い、加算結
果C0、加算結果+1の結果C1、および、桁上がりX
0、X1を丸め桁合わせ回路17に出力する。
The mantissa adder 12 is connected to the multiplication array 11, the carry generation circuit 15, and the rounding digit matching circuit 17, and outputs two partial products A which are the outputs of the multiplication array 11.
M + 1 [bits] of B, the upper m [bits] of B, and the carry F that is the output of the carry generation circuit 15 are added as inputs, and the addition result is incremented by 1 to obtain the addition result C0 and the addition result +1. C1 and carry X
0 and X1 are output to the rounding digit matching circuit 17.

【0017】指数部加算器13は、丸め桁合わせ回路1
7と接続され、前処理段階で切り出された浮動小数点デ
ータの指数部E0、および、E1を加算、および、加算
結果に+1を行い、指数部加算結果D0、および、指数
部加算結果+1の指数部加算結果D1を丸め桁合わせ回
路17に出力する。
The exponent part adder 13 is a rounding digit matching circuit 1
7 is added, exponent parts E0 and E1 of the floating point data cut out in the preprocessing stage are added, and the addition result is incremented by 1, and exponent part addition result D0 and exponent part addition result + 1 The partial addition result D1 is output to the rounding digit matching circuit 17.

【0018】図2は、スティッキー生成回路14を示す
ブロック図である。
FIG. 2 is a block diagram showing the sticky generating circuit 14.

【0019】図2を参照すると、スティッキー生成回路
14は、乗算アレイ11、および、丸め桁合わせ回路1
7に接続され、乗算アレイ11の出力である2個の部分
積Aの下位m−2[ビット]、および、Bの下位m−1
[ビット]を入力として各ビット同士の排他的論理和を
求め、その結果と下位ビット同士の論理和との排他的論
理和を算出し、更にその結果の総論理和を求めることに
より、スティッキービットSを算出する。これは、切り
捨てられる下位ビットに少なくとも1となるビットが存
在するかどうかを示すビットである。
Referring to FIG. 2, the sticky generating circuit 14 includes a multiplication array 11 and a rounding digit matching circuit 1.
7 and is the lower m-2 [bits] of the two partial products A and the lower m-1 of B which are the outputs of the multiplication array 11.
The sticky bit is obtained by calculating the exclusive OR of each bit by inputting [bit], calculating the exclusive OR of the result and the logical OR of the lower bits, and calculating the total OR of the results. Calculate S. This is a bit that indicates whether or not there is a bit that is at least 1 in the lower bits that are truncated.

【0020】図3は、キャリー生成回路15を示すブロ
ック図である。
FIG. 3 is a block diagram showing the carry generation circuit 15.

【0021】図3を参照すると、キャリー生成回路15
は、乗算アレイ11、仮数部加算器12、および、丸め
後正規化判定回路16と接続され、乗算アレイ11の出
力である2個の部分積Aの下位m−2[ビット],Bの
下位m−1[ビット]を入力として、BLC方式の加算
器によりキャリーFを算出し、仮数部加算器12、およ
び、丸め後正規化判定回路16へ出力する。
Referring to FIG. 3, carry generation circuit 15
Is connected to the multiplication array 11, the mantissa adder 12, and the post-rounding normalization determination circuit 16, and the lower m-2 [bits] and lower B of the two partial products A output from the multiplication array 11 are With m-1 [bit] as an input, a carry F is calculated by a BLC adder, and is output to the mantissa adder 12 and the rounded normalization determination circuit 16.

【0022】図4は、丸め後正規化判定回路16を示す
ブロック図である。
FIG. 4 is a block diagram showing the normalization determination circuit 16 after rounding.

【0023】図4を参照すると、丸め後正規化判定回路
16は、乗算アレイ11、キャリー生成回路15、およ
び、丸め桁合わせ回路17と接続され、乗算アレイ11
の出力である2個の部分積Aの上位m+1[ビット],
Bの上位m[ビット]、および、キャリー生成回路15
の出力であるキャリーFを入力として各ビット同士の排
他的論理和を算出し、その結果の総論理積を算出し、キ
ャリー生成回路15の出力であるキャリーFにしたがっ
て、結果を丸め後正規化信号Gとして丸め桁合わせ回路
17へ出力する。
Referring to FIG. 4, the post-rounding normalization determination circuit 16 is connected to the multiplication array 11, the carry generation circuit 15, and the rounding digit alignment circuit 17, and the multiplication array 11 is connected.
The upper m + 1 [bits] of the two partial products A that are the outputs of
Higher-order m [bit] of B and carry generation circuit 15
The carry F, which is the output of the carry, is calculated as an input, and the exclusive OR of each bit is calculated, the total logical product of the results is calculated, and the result is rounded and normalized according to the carry F that is the output of the carry generation circuit 15. The signal G is output to the rounding digit matching circuit 17.

【0024】図5は、丸め桁合わせ回路17を示すブロ
ック図である。
FIG. 5 is a block diagram showing the rounding digit matching circuit 17.

【0025】図5を参照すると、丸め桁合わせ回路17
は、仮数部加算器12、指数部加算器13、スティッキ
ー生成回路14、および、丸め後正規化回路6と接続さ
れ、スティッキー生成回路14からの出力であるスティ
ッキービットS、丸め後正規化判定回路16からの出力
である丸め後正規化信号G、および、仮数部加算器12
からの桁上がりX0、X1を制御信号として指数部加算
器13の出力D0、および、D1と仮数部加算器12の
出力C0、および、C1とから浮動小数点乗算器の乗算
結果Hを出力する。
Referring to FIG. 5, the rounding digit matching circuit 17
Is connected to the mantissa adder 12, the exponent adder 13, the sticky generation circuit 14, and the post-rounding normalization circuit 6, and the sticky bit S that is the output from the sticky generation circuit 14 and the post-rounding normalization determination circuit The rounded normalized signal G which is the output from 16 and the mantissa adder 12
The carry results X0 and X1 from C1 to C1 are used as control signals to output the output D0 of the exponent adder 13 and the output C0 of the mantissa adder 12 and C1 from the multiplication result H of the floating point multiplier.

【0026】次に、本発明の実施の形態の動作について
図面を参照して説明する。図6は、乗算アレイ11の内
部構成を示すブロック図である。図7は、乗算の概要を
示す説明図である。図8は、乗算の数値例を示す説明図
である。
Next, the operation of the embodiment of the present invention will be described with reference to the drawings. FIG. 6 is a block diagram showing the internal configuration of the multiplication array 11. FIG. 7 is an explanatory diagram showing an outline of multiplication. FIG. 8 is an explanatory diagram showing a numerical example of multiplication.

【0027】浮動小数点データは、1[ビット]の符号
ビット、n(正の整数)[ビット]の指数部E、m(正
の整数)[ビット]の仮数部Mで構成され、前処理段階
(図示せず)で切り出される。浮動小数点データの乗算
は、指数部の加算と仮数部の乗算を行った後に、丸め、
および、桁合わせを行うことにより結果を得ることがで
きる。
Floating-point data is composed of a sign bit of 1 [bit], an exponent part E of n (positive integer) [bit], and a mantissa part M of m (positive integer) [bit]. It is cut out (not shown). Floating point data multiplication is done by adding exponent part and mantissa part, then rounding
And, the result can be obtained by performing digit alignment.

【0028】まず、前処理段階で切り出された浮動小数
点データの指数部E0、および、E1を、指数部加算器
13により加算、および、加算結果に+1を行い、得ら
れた指数部加算結果D0、指数部加算結果の+1結果D
1を丸め桁合わせ回路17に出力する。
First, the exponent parts E0 and E1 of the floating point data cut out in the preprocessing stage are added by the exponent part adder 13 and the addition result is incremented by +1 to obtain the exponent part addition result D0. , +1 result of addition result of exponent part D
1 is output to the rounding digit matching circuit 17.

【0029】前処理段階で切り出された浮動小数点デー
タのmビットの仮数部M0、および、M1は、乗算アレ
イ11に入力される。
The m-bit mantissa parts M0 and M1 of the floating point data cut out in the preprocessing stage are input to the multiplication array 11.

【0030】乗算アレイ11は、入力された仮数部M0
を被乗数、M1を乗数として、乗数の各ビットに被乗数
を乗じたもの(部分積と呼ぶ)を2進数の筆算の形に並
べ、これを加算することによって積を求める。各部分積
の加算には、図6に示すような全加算器で構成される加
算回路を用いることにより、m個の部分積を2個になる
まで加算し、最終的に得られた2つの2m−1[ビッ
ト]の部分積A、およびBを仮数部加算器12、スティ
ッキー生成回路14、キャリー生成回路15、および、
丸め後正規化判定回路16に出力する。
The multiplication array 11 receives the input mantissa M0.
Is a multiplicand and M1 is a multiplier, and each bit of the multiplier is multiplied by the multiplicand (referred to as a partial product), arranged in the form of a binary number and added to obtain a product. For the addition of each partial product, an addition circuit configured by a full adder as shown in FIG. 6 is used to add m partial products to two, and finally obtain the two obtained products. The 2m-1 [bit] partial products A and B are converted to the mantissa adder 12, the sticky generating circuit 14, the carry generating circuit 15, and
It outputs to the normalization determination circuit 16 after rounding.

【0031】次に、仮数部加算器12は、乗算アレイ1
1の2出力Aの上位m+1[ビット]、Bの上位m[ビ
ット]、キャリー生成回路15からのキャリーFを加算
し(正確には、A[0:m](ビット0からビットmの
m+1[ビット]を表す)と‘0’,B[0:m−1]
(ビット0からビットm−1のm[ビット]を表す)の
ようにBを右に1[ビット]ずらして加算)、仮数部M
1とM2の乗算結果としてm+1[ビット]の積C0を
得る。この積C0に+1を行いC1を算出する。このと
き、加算の結果C0が桁上がりしてm+2[ビット]に
なった場合には、最上位からの桁上がりX0を‘1’と
し、C1が桁上がりしてm+2[ビット]になった場合
には、最上位からの桁上がりX1を‘1’とする。m+
2[ビット]にならなかった場合には、桁上がりXを
‘0’とする。最終的にm+1[ビット]のC0、C
1、および、桁がありXを丸め桁合わせ回路17へ出力
する。
Next, the mantissa adder 12 operates in the multiplication array 1
The two outputs of 1, the upper m + 1 [bits] of A, the upper m [bits] of B, and the carry F from the carry generation circuit 15 are added (accurately, A [0: m] (bit 0 to m + 1 of bit m). Represents [bit]) and '0', B [0: m-1]
B is shifted 1 [bit] to the right as in (representing m [bit] of bit 0 to bit m−1), and the mantissa M
The product C0 of m + 1 [bits] is obtained as the multiplication result of 1 and M2. This product C0 is incremented by 1 to calculate C1. At this time, when the addition result C0 is carried to m + 2 [bits], the carry X0 from the most significant digit is set to “1” and C1 is carried to m + 2 [bits]. , The carry X1 from the top is set to '1'. m +
When it does not become 2 [bit], carry X is set to "0". Finally, C0 and C of m + 1 [bit]
There is 1 and a digit, and X is output to the rounding digit matching circuit 17.

【0032】仮数部加算器12の遅延時間を少なくする
ためには、たとえば、C0の算出回路を、A[0:m]
+(‘0’,B[0:m−1])、および、A[0:
m]+(‘0’,B[0:m−1])+‘1’の計算を
する2つの加算回路と、これらの加算結果をキャリーF
によって切り替える選択回路とで構成し、C1の算出回
路を、A[0:m]+(‘0’,B[0:m−1])+
‘1’、および、A[0:m]+(‘0’,B[0:m
−1])+‘2’の計算をする2つの加算回路と、これ
らの加算結果をキャリーFによって切り替える選択回路
とで構成すればよい。
In order to reduce the delay time of the mantissa adder 12, for example, the calculation circuit for C0 is set to A [0: m].
+ ('0', B [0: m-1]) and A [0:
m] + ('0', B [0: m-1]) + '1', and two addition circuits for carrying out the addition F
And a selection circuit switched by the above, and the calculation circuit of C1 is A [0: m] + ('0', B [0: m-1]) +
'1' and A [0: m] + ('0', B [0: m
−1]) + '2' and two addition circuits and a selection circuit that switches the addition results by the carry F may be used.

【0033】スティッキー生成回路14は、図2のよう
に、乗算アレイ11の2出力Aの下位m−2[ビッ
ト],‘0’および、Bの下位m−1[ビット]を加算
し、結果の総論理和を求め、スティッキービットSとし
て丸め桁合わせ回路17へ出力する。
The sticky generating circuit 14 adds the lower m-2 [bits] and '0' of the two outputs A of the multiplication array 11 and the lower m-1 [bits] of B as shown in FIG. Then, the total logical sum is calculated and the sticky bit S is output to the rounding digit matching circuit 17.

【0034】キャリー生成回路15は、図3のように、
乗算アレイ11の出力である2個の部分積Aの下位m−
2[ビット]、および、Bの下位m−1[ビット]を入
力として、キャリーFを算出し、仮数部加算器12、お
よび、丸め後正規化判定回路16へ出力する。
The carry generation circuit 15 is, as shown in FIG.
The lower order m− of the two partial products A which are the outputs of the multiplication array 11
Carry F is calculated by inputting 2 [bits] and lower m-1 [bits] of B, and output to mantissa adder 12 and post-rounding normalization determination circuit 16.

【0035】丸め後正規化判定回路16は、図4のよう
に、乗算アレイ11の出力である2個の部分積Aの上位
m+1[ビット]、および、Bの上位m[ビット]の各
ビット同士の排他的論理和を求め、その結果の総論理積
F0を算出し加算結果が全て‘1’となる場合を検出
し、さらに、各ビット同士の排他的論理和と下位の桁の
ビット同士の論理和(最下位のみ)、あるいは、下位の
桁のビット同士の論理積との排他的論理和を求め、その
結果の総論理積F1を算出し加算結果が最下位のみ
‘0’で、他が全て‘1’となる場合を検出する。次
に、キャリーFが‘0’であれば、F0を選択し、キャ
リーFが‘1’であれば、F1を選択して、丸め後正規
化信号Gとして出力する。
As shown in FIG. 4, the post-rounding normalization determination circuit 16 includes the upper m + 1 [bits] of the two partial products A output from the multiplication array 11 and the upper m [bits] of B. The exclusive OR of the two is calculated, the total logical product F0 of the results is calculated, and the case where the addition results are all "1" is detected. Further, the exclusive OR of each bit and the bits of the lower digits are detected. Or the exclusive OR with the logical product of the bits of the lower digits, and the total logical product F1 of the results is calculated, and the addition result is only 0 at the lowest, The case where all others are '1' is detected. Next, if the carry F is "0", F0 is selected, and if the carry F is "1", F1 is selected and output as a rounded normalized signal G.

【0036】図6を参照すると、乗算アレイ11の2出
力を加算した結果の有効桁m+1について、丸めによる
切り上げが発生した場合に仮数部の表現範囲を超える
(オーバーフロー)ことがある。この時の有効桁m+1
の各ビットは全て‘1’(111・・・11)である。
浮動小数点乗算を高速に行うためには、丸め後に桁合わ
せが発生するかどうかを出来るだけ早く検出しておく必
要があるが、本実施の形態においては乗算アレイ11の
出力を用いるため、仮数部加算器12の出力の総論理積
を算出することにより加算結果の各ビットが全て1とな
るケースを検出する構成と比べて高速に検出できる。な
お、部分積Aの下位m−2[ビット]、および、Bの下
位m−1[ビット]の加算結果からキャリーが発生する
場合には、加算結果の各ビットが1110となるケース
(キャリーと合わせて111・・・11となるケース)
も検出しておき、キャリー生成回路15の出力であるキ
ャリーFを制御信号として何れかを選択する。選択した
結果は丸め後正規化信号Gとして丸め桁合わせ回路17
へ出力する。
Referring to FIG. 6, the significant digit m + 1 obtained by adding the two outputs of the multiplication array 11 may exceed the representation range of the mantissa part (overflow) when rounding up due to rounding occurs. Effective digit m + 1 at this time
All the bits are "1" (111 ... 11).
In order to perform floating-point multiplication at high speed, it is necessary to detect whether digit alignment occurs after rounding as early as possible. However, in the present embodiment, since the output of the multiplication array 11 is used, the mantissa part is used. By calculating the total logical product of the outputs of the adder 12, the detection can be performed at a higher speed than the configuration in which the case where all the bits of the addition result are all 1 is detected. When a carry occurs from the addition result of the lower m-2 [bits] of the partial product A and the lower m-1 [bits] of B, the case where each bit of the addition result is 1110 (carry and The total is 111 ... 11)
Also, the carry F, which is the output of the carry generation circuit 15, is selected as a control signal. The selected result is a rounded digit matching circuit 17 as a normalized signal G after rounding.
Output to.

【0037】丸め桁合わせ回路17は、指数部加算器1
3からの出力である指数部加算結果D0、および、指数
部加算結果+‘1’の結果D1と、仮数部加算器12か
らの出力である仮数部加算結果C0、仮数部加算結果+
‘1’の結果C1、および桁上がりXと、スティッキー
生成回路14からの出力であるスティッキービットS
と、丸め後正規化判定回路16からの出力である丸め後
正規化信号Gとを入力し、スティッキービットS、丸め
後正規化信号G、および桁上がりXを制御信号として指
数部加算結果D0、および、指数部加算結果D1と、仮
数部加算結果C0、仮数部加算結果結果C1より乗算結
果Hを出力する。
The rounding digit matching circuit 17 includes the exponent adder 1
3, the exponent part addition result D0 and the exponent part addition result + '1' result D1, and the mantissa part addition result C0 and the mantissa part addition result +, which are outputs from the mantissa part adder 12.
The result C1 of "1", the carry X, and the sticky bit S which is the output from the sticky generating circuit 14.
And the post-rounding normalization signal G output from the post-rounding normalization determination circuit 16 are input, and the sticky bit S, the post-rounding normalization signal G, and the carry X are used as control signals for the exponent part addition result D0, The multiplication result H is output from the exponent part addition result D1, the mantissa part addition result C0, and the mantissa part addition result result C1.

【0038】図5を参照すると、指数部に関しては、
(桁上がりX0=0)*(スティッキービットS=
0)、あるいは、(桁上がりX1=0)*(スティッキ
ービットS=1)*(丸め後正規化信号G=0)であれ
ば、指数部加算結果D0を選択し、そうでなければ、指
数部加算結果D1を選択して指数部乗算結果Hとして出
力し、仮数部に関しては、まず、桁上がりX0=0、X
1=0であれば、それぞれ仮数部加算結果C0、仮数部
加算結果C1を選択し、桁上がりX0=1、X1=1で
あれば、それぞれ、「1,仮数部加算結果C0[0:m
−1]」=仮数部加算結果C3、「1,仮数部加算結果
C1[0:m−1]」=仮数部加算結果C4を選択し、
次に、スティッキービットS=0であれば、仮数部加算
結果C3を選択し、スティッキービットS=1、かつ、
丸め後正規化信号G=0あれば、仮数部加算結果C4を
選択し、スティッキービットS=1、かつ、丸め後正規
化信号G=1であれば、丸め、または、丸め後の正規化
が発生するため、指数部加算結果D1と丸めによる切り
上げで、111・・・11に+‘1’した結果である1
00・・・00が選択され、仮数部乗算結果Hとして出
力される。
Referring to FIG. 5, regarding the exponent part,
(Carry X0 = 0) * (sticky bit S =
0) or (carry X1 = 0) * (sticky bit S = 1) * (normalized signal G after rounding G = 0), the exponent addition result D0 is selected; otherwise, the exponent The part addition result D1 is selected and output as the exponent part multiplication result H. Regarding the mantissa part, first, carry X0 = 0, X.
If 1 = 0, the mantissa part addition result C0 and the mantissa part addition result C1 are selected, respectively, and if carry X0 = 1 and X1 = 1, then “1, mantissa part addition result C0 [0: m
−1] ”= mantissa part addition result C3,“ 1, mantissa part addition result C1 [0: m−1] ”= mantissa part addition result C4, and
Next, if the sticky bit S = 0, the mantissa part addition result C3 is selected, and the sticky bit S = 1 and
If the normalized signal after rounding G = 0, the mantissa part addition result C4 is selected. If the sticky bit S = 1 and the normalized signal after rounding G = 1, rounding or normalization after rounding is performed. Since it occurs, the result of addition of exponent part D1 and rounding up by rounding is 111.
00 ... 00 is selected and output as the mantissa multiplication result H.

【0039】次に、実際の数値を与えた例について図面
を参照して説明する。
Next, an example in which actual numerical values are given will be described with reference to the drawings.

【0040】図8は、m=6,M0=100001,M
1=111110の時の詳細な乗算処理動作を示す。各
部分積は筆算の形に並べられ、各ビット列の4ビットず
つを、図6に示す加算器に入力する(加算1回目)。図
8において、各縦長長方形に囲まれた部分が、図6の加
算器に入力されるビットを示す。また、4ビット入力の
うち4ビット以下の入力となっている加算器の空きビッ
トには0が入力される。1回目の加算の結果であるS
(サム)、および、C(キャリー)を再び4ビットずつ
の入力として図6に示す加算器に入力し(加算2回
目)、2回目の加算の結果としてA[0:10]=00
000000000、および、B[0:10]=111
11111110を得る。このうち、A[0:6]とB
[0:5]とを加算したものが仮数部加算器12の出力
C0=0111111となる。また、C1=01111
11+1=1000000、X=0となる。
In FIG. 8, m = 6, M0 = 100001, M
The detailed multiplication processing operation when 1 = 111110 is shown. The partial products are arranged in the form of writing, and 4 bits of each bit string are input to the adder shown in FIG. 6 (first addition). In FIG. 8, the portion surrounded by each vertically long rectangle shows the bits input to the adder shown in FIG. In addition, 0 is input to the empty bit of the adder, which is an input of 4 bits or less among the 4-bit input. S, which is the result of the first addition
(Sum) and C (carry) are again input to the adder shown in FIG. 6 as inputs of 4 bits each (second addition), and A [0:10] = 00 as the result of the second addition.
000000000000 and B [0:10] = 111
Obtain 11111110. Of these, A [0: 6] and B
The addition of [0: 5] is the output C0 of the mantissa adder 12, C0 = 0111111. Also, C1 = 01111
11 + 1 = 1,000,000 and X = 0.

【0041】A[0:6]とB[0:5]とは、また、
丸め後正規化判定回路16の入力となり、丸め後正規化
信号G=1となる。さらに、A[7:10]、および、
B[6:10]は、スティッキー生成回路14、およ
び、キャリー生成回路15の入力となり、それぞれの回
路の出力はスティッキービットS=1、キャリーF=0
となる。
A [0: 6] and B [0: 5] are
It becomes an input to the post-rounding normalization determination circuit 16, and the post-rounding normalized signal G = 1. Furthermore, A [7:10], and
B [6:10] becomes an input to the sticky generation circuit 14 and the carry generation circuit 15, and the output of each circuit is a sticky bit S = 1 and a carry F = 0.
Becomes

【0042】図5を参照すると、S=1、G=1である
ため、指数部の結果としてD1が、仮数部の結果として
100・・・00が選択され、乗算結果Hとして出力さ
れる。
Referring to FIG. 5, since S = 1 and G = 1, D1 is selected as the result of the exponent part and 100 ... 00 is selected as the result of the mantissa part, and output as the multiplication result H.

【0043】以上のように、部分積A,Bの有効桁m+
1[ビット]の各ビット同士の排他的論理和を求め、そ
の結果の総論理積を算出することにより、部分積A,B
の有効桁m+1[ビット]の加算結果の各ビットが全て
‘1’(111・・・11)となるケースを検出するこ
とにより、部分積A,Bの有効桁mビットの加算結果か
ら総論理積を算出することにより加算結果の各ビットが
全て‘1’(111・・・11)となるケースを検出す
る構成の浮動小数点乗算器よりも、丸め後に桁合わせが
発生するケースを高速に検出できる。
As described above, the effective digit m + of the partial products A and B is
Partial products A and B are obtained by obtaining the exclusive OR of each bit of 1 [bit] and calculating the total logical product of the results.
By detecting the case where all the bits of the addition result of the significant digit m + 1 [bit] of are all “1” (111 ... Detects cases where digit alignment occurs after rounding faster than floating-point multipliers configured to detect the case where all bits of the addition result are all "1" (111 ... 11) by calculating the product it can.

【0044】また、以上は、有効桁がm+1[ビット]
の場合について説明したが、有効桁がm[ビット]の場
合には、仮数部加算器12、キャリー生成回路15、丸
め後正規化判定回路16、スティッキー生成回路14へ
の入力を1[ビット]ずらすことにより容易に実現でき
る。たとえば、仮数部加算器12には、部分積Aの上位
m[ビット],Bの上位m−1[ビット]を入力する。
In the above, the significant digit is m + 1 [bit].
However, when the significant digit is m [bits], the input to the mantissa adder 12, carry generation circuit 15, post-rounding normalization determination circuit 16, and sticky generation circuit 14 is 1 [bits]. It can be easily realized by shifting. For example, the mantissa adder 12 receives the upper m [bits] of the partial product A and the upper m−1 [bits] of B.

【0045】[0045]

【発明の効果】本発明の効果は、浮動小数点乗算器の演
算速度を高速化できることである。
The effect of the present invention is that the operation speed of the floating point multiplier can be increased.

【0046】その理由は、乗算アレイの出力を丸め後正
規化判定回路への入力とし、かつ、各ビットの排他的論
理和のみを求めて、その総論理積により、丸め後正規化
信を生成する構成をとるからである。
The reason is that the output of the multiplication array is used as an input to the post-rounding normalization determination circuit, and only the exclusive OR of each bit is obtained, and the post-rounding normalized signal is generated by the total logical product. This is because it has a configuration that does.

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

【図1】本発明の実施の形態の浮動小数点乗算器を示す
ブロック図である。
FIG. 1 is a block diagram showing a floating point multiplier according to an embodiment of the present invention.

【図2】スティッキー生成回路を示すブロック図であ
る。
FIG. 2 is a block diagram showing a sticky generating circuit.

【図3】キャリー生成回路を示すブロック図である。FIG. 3 is a block diagram showing a carry generation circuit.

【図4】丸め後正規化判定回路を示すブロック図であ
る。
FIG. 4 is a block diagram showing a normalization determination circuit after rounding.

【図5】丸め桁合わせ回路を示すブロック図である。FIG. 5 is a block diagram showing a rounding digit matching circuit.

【図6】乗算アレイの内部構成を示すブロック図であ
る。
FIG. 6 is a block diagram showing an internal configuration of a multiplication array.

【図7】乗算の概要を示す説明図である。FIG. 7 is an explanatory diagram showing an outline of multiplication.

【図8】乗算の数値例を示す説明図である。FIG. 8 is an explanatory diagram showing a numerical example of multiplication.

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

11 乗算アレイ 12 仮数部加算器 13 指数部加算器 14 スティッキー生成回路 15 キャリー生成回路 16 丸め後正規化判定回路 17 丸め桁合わせ回路 11 Multiplication array 12 Mantissa adder 13 Exponent part adder 14 Sticky generation circuit 15 Carry generation circuit 16 Normalization judgment circuit after rounding 17 Rounding digit matching circuit

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 仮数M0、仮数M1を入力し乗算を行い
部分積A、部分積Bを出力する乗算アレイと、 前記乗算アレイから部分積Aの上位の任意の数のビッ
ト、および、部分積Bの上位の前記任意の数−1のビッ
トを入力し、加算を行い加算結果C0、加算結果C0に
1を加算した加算結果C1、および、最上位からの桁上
がりXを出力する仮数部加算器と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、最上位からのキャリーFを生成、出力するキャリー
生成回路と、前記乗算アレイから部分積Aの上位の前記任意の数のビ
ット、部分積Bの上位の前記任意の数−1のビット、お
よび、前記キャリー生成回路からキャリーFを入力し、
前記乗算アレイからの部分積Aの上位の前記任意の数の
ビット、および部分積Bの上位の前記任意の数−1のビ
ットの各ビット同士の排他的論理和を求め、その結果の
総論理積F0を算出し、さらに、各ビット同士の排他的
論理和と下位の桁のビット同士の論理和(最下位の
み)、あるいは、下位の桁のビット同士の論理積との排
他的論理和を求め、その結果の総論理積F1を算出し、
キャリーFが‘0’であれば、F0を選択し、キャリー
Fが‘1’であれば、F1を選択して、丸め後正規化信
号Gとして出力する 丸め後正規化判定回路と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、加算結果に1となるビットが存在する場合に1とな
るスティッキービットSを生成、出力するスティッキー
生成回路と、 前記乗算アレイからの加算結果C0、加算結果C1を入
力し、前記仮数部加算器からの桁上がりX、前記丸め後
正規化判定回路からの丸め後正規化信号G、および、前
記スティッキー生成回路からのスティッキービットSに
したがって、加算結果C0、加算結果C1、または、1
00・・・00のいずれかを選択し、仮数部乗算結果と
して出力する丸め桁合わせ回路と、 を有することを特徴とする浮動小数点乗算器。
1. A multiplication array that inputs a mantissa M0 and a mantissa M1 and performs multiplication to output a partial product A and a partial product B; an arbitrary number of bits higher than the partial product A from the multiplication array; and a partial product. The above-mentioned arbitrary number -1 bit of B is input, addition is performed, and addition result C0, addition result C1 obtained by adding 1 to addition result C0, and mantissa addition for outputting carry X from the highest order are output. And a low-order bit of the multiplication array excluding the high-order arbitrary number part of the partial product A and a low-order bit excluding the high-order arbitrary number-1 part of the partial product B , A carry generation circuit for generating and outputting a carry F from the highest order, and an arbitrary number of the high order partial products A from the multiplication array.
, The arbitrary number of higher bits of the partial product B minus 1 bit,
And input carry F from the carry generation circuit,
A number of the top of the partial product A from the multiplication array
Bits, and the number of bits of the upper part of the partial product B minus 1
The exclusive OR of each bit of the
The total logical product F0 is calculated, and the exclusive
Logical sum and logical sum of bits of lower digits (least significant bit
Or the logical product of the bits of the lower digits.
Other logical OR is calculated, and the total logical product F1 of the results is calculated,
If carry F is '0', select F0 and carry
If F is '1', select F1 and use the normalized signal after rounding.
A post-rounding normalization determination circuit that outputs as a signal G, a lower bit obtained by removing the upper part of the upper part of the partial product A from the multiplication array, and the arbitrary number −1 of the upper part of the partial product B A low-order bit excluding the part of the number, and a sticky bit circuit that generates and outputs a sticky bit S that becomes 1 when there is a bit that becomes 1 in the addition result, and the addition result C0 from the multiplication array. , The addition result C1 is input, and addition is performed according to the carry X from the mantissa adder, the rounded normalized signal G from the rounded normalization determination circuit, and the sticky bit S from the sticky generation circuit. Result C0, addition result C1, or 1
And a rounding digit matching circuit that selects any one of 00 ... 00 and outputs it as a mantissa multiplication result.
【請求項2】 指数E0、指数E1を入力し加算を行い
指数部加算結果D0、指数部加算結果D0に1を加算し
た指数部加算結果D1を生成、出力する指数部加算器
と、 仮数M0、仮数M1を入力し乗算を行い部分積A、部分
積Bを出力する乗算アレイと、 前記乗算アレイから部分積Aの上位の任意の数のビッ
ト、および、部分積Bの上位の前記任意の数−1のビッ
トを入力し、加算を行い加算結果C0、加算結果C0に
1を加算した加算結果C1、および、最上位からの桁上
がりXを出力する仮数部加算器と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、最上位からのキャリーFを生成、出力するキャリー
生成回路と、前記乗算アレイから部分積Aの上位の前記任意の数のビ
ット、部分積Bの上位の前記任意の数−1のビット、お
よび、前記キャリー生成回路からキャリーFを入力し、
前記乗算アレイからの部分積Aの上位の前記任意の数の
ビット、および部分積Bの上位の前記任意の数−1のビ
ットの各ビット同士の排他的論理和を求め、その結果の
総論理積F0を算出し、さらに、各ビット同士の排他的
論理和と下位の桁のビット同士の論理和(最下位の
み)、あるいは、下位の桁のビット同士の論理積との排
他的論理和を求め、その結果の総論理積F1を算出し、
キャリーFが0であれば、F0を選択し、キャリーFが
1であれば、F1を選択して、丸め後正規化信号Gとし
て出力する 丸め後正規化判定回路と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、加算結果に1となるビットが存在する場合に1とな
るスティッキービットSを生成、出力するスティッキー
生成回路と、 前記乗算アレイからの加算結果C0、加算結果C1を入
力し、前記仮数部加算器からの桁上がりX、前記丸め後
正規化判定回路からの丸め後正規化信号G、および、前
記スティッキー生成回路からのスティッキービットSに
したがって、加算結果C0、加算結果C1、または、1
00・・・00のいずれかを選択し、仮数部乗算結果と
して出力し、かつ、前記指数部加算器から指数部加算結
果D0、指数部加算結果D1を入力し、前記仮数部加算
器からの桁上がりX、前記丸め後正規化判定回路からの
丸め後正規化信号G、および、前記スティッキー生成回
路からのスティッキービットSにしたがって、指数部加
算結果D0、指数部加算結果D1のいずれかを選択し、
指数部乗算結果として出力する丸め桁合わせ回路と、を
有することを特徴とする浮動小数点乗算器。
2. An exponent part adder for generating and outputting an exponent part addition result D0 and an exponent part addition result D1 obtained by adding 1 to the exponent part addition result D0 and an exponent part addition result D1 and a mantissa M0. , A mantissa M1 is input and multiplication is performed to output a partial product A and a partial product B, an arbitrary number of bits higher than the partial product A from the multiplication array, and the arbitrary upper bit of the partial product B. A mantissa adder that inputs the bits of the number -1 and performs addition to output an addition result C0, an addition result C1 obtained by adding 1 to the addition result C0, and a carry X from the most significant digit; Input the lower bits excluding the upper part of the partial product A and the lower bits excluding the upper part of the partial product B of the arbitrary number -1 from the highest bit Carry generation times that generate and output the carry F of Path and the arbitrary number of high order partial products A from the multiplication array.
, The arbitrary number of higher bits of the partial product B minus 1 bit,
And input carry F from the carry generation circuit,
A number of the top of the partial product A from the multiplication array
Bits, and the number of bits of the upper part of the partial product B minus 1
The exclusive OR of each bit of the
The total logical product F0 is calculated, and the exclusive
Logical sum and logical sum of bits of lower digits (least significant bit
Or the logical product of the bits of the lower digits.
Other logical OR is calculated, and the total logical product F1 of the results is calculated,
If carry F is 0, select F0 and carry F
If it is 1, F1 is selected as the normalized signal G after rounding.
A rounded normalization determination circuit that outputs the above, a lower bit that is obtained by removing the upper part of the upper part of the partial product A from the multiplication array, and a number of the arbitrary number-1 that is higher than the partial product B The lower bit excluding the part is input, and a sticky bit circuit that generates and outputs a sticky bit S that becomes 1 when there is a bit that becomes 1 in the addition result, the addition result C0 from the multiplication array, and the addition The result C1 is input, and the addition result C0 is obtained according to the carry X from the mantissa adder, the post-rounding normalized signal G from the post-rounding normalization determination circuit, and the sticky bit S from the sticky generating circuit. , Addition result C1, or 1
00 ... 00 is selected and output as the mantissa multiplication result, and the exponent addition result D0 and the exponent addition result D1 are input from the exponent adder, and the mantissa adder outputs Either the exponent part addition result D0 or the exponent part addition result D1 is selected according to the carry X, the post-rounding normalization signal G from the post-rounding normalization determination circuit, and the sticky bit S from the sticky generating circuit. Then
And a rounding digit matching circuit that outputs a result of multiplication of exponent part, and a floating point multiplier.
【請求項3】 仮数M0、仮数M1を入力し乗算を行い
部分積A、部分積Bを出力する乗算アレイと、 前記乗算アレイから部分積Aの上位の任意の数のビッ
ト、および、部分積Bの上位の前記任意の数−1のビッ
トを入力し、加算を行い加算結果C0、加算結果C0に
1を加算した加算結果C1、および、最上位からの桁上
がりX0、X1を出力する仮数部加算器と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、最上位からのキャリーFを生成、出力するキャリー
生成回路と、 前記乗算アレイから部分積Aの上位の前記任意の数のビ
ット、部分積Bの上位の前記任意の数−1のビット、お
よび、前記キャリー生成回路からキャリーFを入力し、
前記乗算アレイからの部分積Aの上位の前記任意の数の
ビット、および部分積Bの上位の前記任意の数−1のビ
ットの各ビット同士の排他的論理和を求め、その結果の
総論理積F0を算出し、さらに、各ビット同士の排他的
論理和と下位の桁のビット同士の論理和(最下位の
み)、あるいは、下位の桁のビット同士の論理積との排
他的論理和を求め、その結果の総論理積F1を算出し、
キャリーFが0であれば、F0を選択し、キャリーFが
1であれば、F1を選択して、丸め後正規化信号Gとし
て出力する丸め後正規化判定回路と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、加算結果に1となるビットが存在する場合に1とな
るスティッキービットSを生成、出力するスティッキー
生成回路と、前記乗算アレイからの加算結果C0、加算結果C1を入
力し、桁上がりX0=0 、X1=0であれば、それぞれ
加算結果C0、加算結果C1を選択し、桁上がりX0=
1、X1=1であれば、それぞれ、「1,加算結果C0
の最下位ビットを削除した残り」=加算結果C3、
「1,加算結果C1の最下位ビットを削除した残り」=
加算結果C4を選択し、次に、スティッキービットSが
0であれば、加算結果C3を選択し、スティッキービッ
トSが1で、かつ、丸め後正規化信号Gが0あれば、加
算結果C4を選択し、スティッキービットSが1で、か
つ、丸め後正規化信号Gが1であれば、100・・・0
0を選択し、仮数部乗算結果として出力する 丸め桁合わ
せ回路と、 を有することを特徴とする浮動小数点乗算器。
3. A multiplication array which inputs a mantissa M0 and a mantissa M1 and performs multiplication to output a partial product A and a partial product B, an arbitrary number of bits higher than the partial product A from the multiplication array, and a partial product. A mantissa for inputting the bit of the arbitrary number -1 above B, performing addition, and outputting addition result C0, addition result C1 obtained by adding 1 to addition result C0, and carry X0, X1 from the most significant digit. A partial adder, a lower bit of the multiplication array excluding the upper part of the partial product A and a lower bit of the upper part of the partial product B excluding the part of the arbitrary number -1 A carry generation circuit that inputs and outputs the carry F from the most significant bit, and the arbitrary number of bits above the partial product A and the above arbitrary number above the partial product B from the multiplication array. 1 bit and the carry generation time Enter carry F from the road,
Exclusive OR of each of the arbitrary number of bits higher than the partial product A and the arbitrary number -1 bit higher of the partial product B from the multiplication array is calculated, and the total logical result is obtained. The product F0 is calculated, and the exclusive OR of each bit and the logical sum of the bits of the lower digits (only the least significant) or the logical product of the bits of the lower digits is calculated. Then, the total logical product F1 of the results is calculated,
If the carry F is 0, F0 is selected, and if the carry F is 1, F1 is selected and a post-rounding normalization determination circuit that outputs the post-rounding normalized signal G and a partial product from the multiplication array are selected. Input the lower bits excluding the arbitrary number of upper parts of A and the lower bits excluding the upper part of the arbitrary number −1 of partial products B, and add 1 to the addition result. The sticky bit S which becomes 1 when the bit is present, and the sticky bit generating circuit that outputs the sticky bit S and the addition result C0 and the addition result C1 from the multiplication array are input.
And carry X0 = 0 and X1 = 0, respectively
Select addition result C0 and addition result C1 and carry X0 =
If 1, and X1 = 1, then “1, addition result C0
Remaining after removal of the least significant bit of = "addition result C3,
"1, remaining after deleting the least significant bit of addition result C1" =
Select the addition result C4, then the sticky bit S
If it is 0, the addition result C3 is selected and the sticky bit is selected.
If S is 1 and the normalized signal G after rounding is 0,
Select the calculation result C4, and if the sticky bit S is 1,
If the normalized signal G after rounding is 1, 100 ... 0
A floating point multiplier comprising: a rounding digit matching circuit that selects 0 and outputs the result as a mantissa multiplication result .
【請求項4】 指数E0、指数E1を入力し加算を行い
指数部加算結果D0、指数部加算結果D0に1を加算し
た指数部加算結果D1を生成、出力する指数部加算器
と、 仮数M0、仮数M1を入力し乗算を行い部分積A、部分
積Bを出力する乗算アレイと、 前記乗算アレイから部分積Aの上位の任意の数のビッ
ト、および、部分積Bの上位の前記任意の数−1のビッ
トを入力し、加算を行い加算結果C0、加算結果C0に
1を加算した加算結果C1、および、最上位からの桁上
がりX0、X1を出力する仮数部加算器と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、最上位からのキャリーFを生成、出力するキャリー
生成回路と、 前記乗算アレイから部分積Aの上位の前記任意の数のビ
ット、部分積Bの上位の前記任意の数−1のビット、お
よび、前記キャリー生成回路からキャリーFを入力し、
前記乗算アレイからの部分積Aの上位の前記任意の数の
ビット、および部分積Bの上位の前記任意の数−1のビ
ットの各ビット同士の排他的論理和を求め、その結果の
総論理積F0を算出し、さらに、各ビット同士の排他的
論理和と下位の桁のビット同士の論理和(最下位の
み)、あるいは、下位の桁のビット同士の論理積との排
他的論理和を求め、その結果の総論理積F1を算出し、
キャリーFが0であれば、F0を選択し、キャリーFが
1であれば、F1を選択して、丸め後正規化信号Gとし
て出力する丸め後正規化判定回路と、 前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、加算結果に1となるビットが存在する場合に1とな
るスティッキービットSを生成、出力するスティッキー
生成回路と、前記乗算アレイからの加算結果C0、加算結果C1を入
力し、桁上がりX0=0、X1=0であれば、それぞれ
加算結果C0、加算結果C1を選択し、桁上がりX0=
1、X1=1であれば、それぞれ、「1,加算結果C0
の最下位ビットを削除した残り」=加算結果C3、
「1,加算結果C1の最下位ビットを削除した残り」=
加算結果C4を選択し、次に、スティッキービットSが
0であれば、加算結果C3を選択し、スティッキービッ
トSが1で、かつ、丸め後正規化信号Gが0あれば、加
算結果C4を選択し、スティッキービットSが1で、か
つ、丸め後正規化信号Gが1であれば、100・・・0
0を選択し、仮数部乗算結果として出力し、かつ、前記
指数部加算器から指数部加算結果D0、指数部加算結果
D1を入力し、(桁上がりX0=0)*(スティッキー
ビットS=0)、あるいは、(桁上がりX1=0)*
(スティッキービットS=1)*(丸め後正規化信号G
=0)であれば、指数部加算結果D0を選択し、そうで
なければ、指数部加算結果D1を選択して指数部乗算結
果として出力し指数部加算結果D1を選択し、指数部乗
算結果として出力する 丸め桁合わせ回路と、 を有することを特徴とする浮動小数点乗算器。
4. An exponent part adder for generating and outputting an exponent part addition result D0 and an exponent part addition result D1 obtained by adding 1 to the exponent part addition result D0 and an exponent part addition result D0, and a mantissa M0. , A mantissa M1 is input and multiplication is performed to output a partial product A and a partial product B, an arbitrary number of bits higher than the partial product A from the multiplication array, and the arbitrary upper bit of the partial product B. A mantissa adder which inputs the bits of the number -1 and performs addition to output an addition result C0, an addition result C1 obtained by adding 1 to the addition result C0, and carry X0, X1 from the most significant digit; Input the lower bits of the array that exclude the upper part of the arbitrary number of partial products A and the lower bits of the upper part of the partial product B that exclude the upper part of the arbitrary number −1, Carry that generates and outputs carry F from the upper level A generation circuit, and inputs the arbitrary number of bits higher than the partial product A from the multiplication array, the arbitrary number −1 bits higher than the partial product B, and a carry F from the carry generation circuit;
Exclusive OR of each of the arbitrary number of bits higher than the partial product A and the arbitrary number -1 bit higher of the partial product B from the multiplication array is calculated, and the total logical result is obtained. The product F0 is calculated, and the exclusive OR of each bit and the logical sum of the bits of the lower digits (only the least significant) or the logical product of the bits of the lower digits is calculated. Then, the total logical product F1 of the results is calculated,
If the carry F is 0, F0 is selected, and if the carry F is 1, F1 is selected and a post-rounding normalization determination circuit that outputs the post-rounding normalized signal G and a partial product from the multiplication array are selected. Input the lower bits excluding the arbitrary number of upper parts of A and the lower bits excluding the upper part of the arbitrary number −1 of partial products B, and add 1 to the addition result. The sticky bit S which becomes 1 when the bit is present, and the sticky bit generating circuit that outputs the sticky bit S and the addition result C0 and the addition result C1 from the multiplication array are input.
Force and carry X0 = 0 and X1 = 0, respectively
Select addition result C0 and addition result C1 and carry X0 =
If 1, and X1 = 1, then “1, addition result C0
Remaining after removal of the least significant bit of = "addition result C3,
"1, remaining after deleting the least significant bit of addition result C1" =
Select the addition result C4, then the sticky bit S
If it is 0, the addition result C3 is selected and the sticky bit is selected.
If S is 1 and the normalized signal G after rounding is 0,
Select the calculation result C4, and if the sticky bit S is 1,
If the normalized signal G after rounding is 1, 100 ... 0
0 is selected and output as the mantissa multiplication result, and
Exponent part addition result D0, exponent part addition result from exponent part adder
Enter D1 (carry X0 = 0) * (sticky
Bit S = 0) or (carry X1 = 0) *
(Sticky bit S = 1) * (Rounded normalized signal G
= 0), select the exponent addition result D0, and
If not, the exponent part addition result D1 is selected and the exponent part multiplication result is selected.
Output as the result, select the exponent part addition result D1, and select the exponent part
A floating-point multiplier having: a rounding digit matching circuit that outputs a result of calculation ;
JP2001048522A 2001-02-23 2001-02-23 Floating point multiplier Expired - Fee Related JP3492638B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001048522A JP3492638B2 (en) 2001-02-23 2001-02-23 Floating point multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001048522A JP3492638B2 (en) 2001-02-23 2001-02-23 Floating point multiplier

Publications (2)

Publication Number Publication Date
JP2002251281A JP2002251281A (en) 2002-09-06
JP3492638B2 true JP3492638B2 (en) 2004-02-03

Family

ID=18909776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001048522A Expired - Fee Related JP3492638B2 (en) 2001-02-23 2001-02-23 Floating point multiplier

Country Status (1)

Country Link
JP (1) JP3492638B2 (en)

Families Citing this family (40)

* 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
JP4571903B2 (en) 2005-12-02 2010-10-27 富士通株式会社 Arithmetic processing apparatus, information processing apparatus, and arithmetic processing method
US8301681B1 (en) 2006-02-09 2012-10-30 Altera Corporation Specialized processing block for programmable logic device
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
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US7930336B2 (en) 2006-12-05 2011-04-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
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
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
US8468192B1 (en) 2009-03-03 2013-06-18 Altera Corporation Implementing multipliers in a programmable integrated circuit device
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
US8862650B2 (en) 2010-06-25 2014-10-14 Altera Corporation Calculation of trigonometric functions in an integrated circuit device
US8589463B2 (en) 2010-06-25 2013-11-19 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
US8949298B1 (en) 2011-09-16 2015-02-03 Altera Corporation Computing floating-point polynomials in an integrated circuit device
US9053045B1 (en) 2011-09-16 2015-06-09 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
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

Also Published As

Publication number Publication date
JP2002251281A (en) 2002-09-06

Similar Documents

Publication Publication Date Title
JP3492638B2 (en) Floating point multiplier
KR100232962B1 (en) Fused floating point multiply and accumulate unit with carry correction
US7921149B2 (en) Division and square root arithmetic unit
JP2002108606A (en) Sticky bit generating circuit and multiplier
JP2000259394A (en) Floating point multiplier
JP2676410B2 (en) Circuit and method for predicting stat-bit value
US8370415B2 (en) Overflow detection and clamping with parallel operand processing for fixed-point multipliers
JP2789577B2 (en) Addition overflow detection circuit
JP2693800B2 (en) Floating point data sum operation circuit
US7680874B2 (en) Adder
JP3803438B2 (en) Floating point multiplication and accumulator
EP0512686B1 (en) Circuitry for rounding in a floating point multiplier
KR100627993B1 (en) Three input split-adder
KR100331846B1 (en) floating addition
JPH096595A (en) Display method of computed result
JPH086766A (en) Sine and cosine arithmetic device
JPH06250820A (en) Exponential underflow in floating-point adder and method and equipment for detecting overflow
JP2856792B2 (en) Floating point arithmetic unit
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
JP3106525B2 (en) Addition method and its circuit
JPH0527948A (en) Arithmetic device
JP3233432B2 (en) Multiplier
JP2518973B2 (en) Adder with rounding function and multiplier using the same
JP2931632B2 (en) Digit shifter and floating point arithmetic unit
JPH113210A (en) 3-input comparator, saturation arithmetic unit using the same and arithmetic method therefor

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071114

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081114

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091114

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101114

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees