JP2002251281A - 浮動小数点乗算器 - Google Patents

浮動小数点乗算器

Info

Publication number
JP2002251281A
JP2002251281A JP2001048522A JP2001048522A JP2002251281A JP 2002251281 A JP2002251281 A JP 2002251281A JP 2001048522 A JP2001048522 A JP 2001048522A JP 2001048522 A JP2001048522 A JP 2001048522A JP 2002251281 A JP2002251281 A JP 2002251281A
Authority
JP
Japan
Prior art keywords
addition result
bits
carry
partial product
arbitrary number
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.)
Granted
Application number
JP2001048522A
Other languages
English (en)
Other versions
JP3492638B2 (ja
Inventor
Takashi Osada
孝士 長田
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/ja
Publication of JP2002251281A publication Critical patent/JP2002251281A/ja
Application granted granted Critical
Publication of JP3492638B2 publication Critical patent/JP3492638B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 浮動小数点乗算器の演算速度を高速化する。 【解決手段】 乗算アレイ11は、m[ビット]の仮数
部M0、M1を入力し、2m−1の部分積A、Bを出力
する。仮数部加算器12、丸め後正規化判定回路16
は、Aの上位m+1[ビット]、Bの上位m[ビット]
を入力し、それぞれ、仮数部加算結果C0,C1(=C
0+1),桁上がりX、丸め後正規化信号Gを出力す
る。スティッキー生成回路14、キャリー生成回路15
は、Aの下位m−2[ビット]、Bの下位m−1[ビッ
ト]を入力し、それぞれ、キャリーF、スティッキービ
ットSを出力する。丸め桁合わせ回路17は、スティッ
キービットS、および、丸め後正規化信号G、桁上がり
Xを制御信号として指数部加算器13の出力D0、およ
び、D1と、仮数部加算器12の出力C0、および、C
1とから浮動小数点乗算器の乗算結果Hを出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、浮動小数点乗算器
に関し、特に、演算を高速化した浮動小数点乗算器に関
する。
【0002】
【従来の技術】この種の技術としては、「特開平5−2
65714号」記載の技術がある。この技術は、乗数と
被乗数の部分積を求め、得られた部分積を加算して積を
求める乗算器であって、上記部分積から2つの中間積を
求める部分積加算器と、2つの上記中間積の予め定めた
桁から上位桁について、下位桁からの桁上げの可能な値
を複数仮定して、上記中間積を加算し、仮定した値に対
応して、複数の加算値を求める中間積加算器と、上記中
間積の加算と並行して、2つの上記中間積から、上記中
間積の予め定めた桁より下位桁からの桁上げ情報を生成
する桁上げ先見回路と、上記桁上げ先見回路の出力に基
づいて、上記中間積加算器の加算値を選択する選択回路
とを有するものである。
【0003】
【発明が解決しようとする課題】上述した従来の技術の
問題点は、遅延時間が大きいことである。
【0004】その理由は、中間積加算器の出力を条件決
定回路に入力しているため、中間積加算器を経由する
分、遅延時間が増加するからである。
【0005】また、中間積加算器の内部にオール1予測
器を備えているので、オール1予測信号を生成する際
に、1桁目から51桁目まで全ての予測信号をその下位
ビット全ての結果を用いて生成しているので遅延時間が
増加するからである。
【0006】本発明の目的は、乗算アレイの出力を丸め
後正規化判定回路への入力とし、かつ、各ビットの排他
的論理和のみを求めて、その総論理積により、オール1
予測信号(丸め後正規化信号)を生成することにより、
遅延時間の少ない浮動小数点乗算器を実現することであ
る。
【0007】
【課題を解決するための手段】本発明の第1の浮動小数
点乗算器は、仮数M0、仮数M1を入力し乗算を行い部
分積A、部分積Bを出力する乗算アレイと、前記乗算ア
レイから部分積Aの上位の任意の数のビット、および、
部分積Bの上位の前記任意の数−1のビットを入力し、
加算を行い加算結果C0、加算結果C0に1を加算した
加算結果C1、および、最上位からの桁上がりXを出力
する仮数部加算器と、前記乗算アレイから部分積Aの上
位の前記任意の数の部分を除いた下位のビット、およ
び、部分積Bの上位の前記任意の数−1の数の部分を除
いた下位のビットを入力し、最上位からのキャリーFを
生成、出力するキャリー生成回路と、前記乗算アレイか
ら部分積Aの上位の前記任意の数のビット、部分積Bの
上位の前記任意の数−1のビット、および、前記キャリ
ー生成回路からキャリーFを入力し、加算結果が全て1
となる場合に1となる丸め後正規化信号Gを生成、出力
する丸め後正規化判定回路と、前記乗算アレイから部分
積Aの上位の前記任意の数の部分を除いた下位のビッ
ト、および、部分積Bの上位の前記任意の数−1の数の
部分を除いた下位のビットを入力し、加算結果に1とな
るビットが存在する場合に1となるスティッキービット
Sを生成、出力するスティッキー生成回路と、前記乗算
アレイからの加算結果C0、加算結果C1を入力し、前
記仮数部加算器からの桁上がりX、前記丸め後正規化判
定回路からの丸め後正規化信号G、および、前記スティ
ッキー生成回路からのスティッキービットSにしたがっ
て、加算結果C0、加算結果C1、または、100・・
・00のいずれかを選択し、仮数部乗算結果として出力
する丸め桁合わせ回路と、を有することを特徴とする。
【0008】本発明の第2の浮動小数点乗算器は、指数
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を入
力し、加算結果が全て1となる場合に1となる丸め後正
規化信号Gを生成、出力する丸め後正規化判定回路と、
前記乗算アレイから部分積Aの上位の前記任意の数の部
分を除いた下位のビット、および、部分積Bの上位の前
記任意の数−1の数の部分を除いた下位のビットを入力
し、加算結果に1となるビットが存在する場合に1とな
るスティッキービットSを生成、出力するスティッキー
生成回路と、前記乗算アレイからの加算結果C0、加算
結果C1を入力し、前記仮数部加算器からの桁上がり
X、前記丸め後正規化判定回路からの丸め後正規化信号
G、および、前記スティッキー生成回路からのスティッ
キービットSにしたがって、加算結果C0、加算結果C
1、または、100・・・00のいずれかを選択し、仮
数部乗算結果として出力し、かつ、前記指数部加算器か
ら指数部加算結果D0、指数部加算結果D1を入力し、
前記仮数部加算器からの桁上がりX、前記丸め後正規化
判定回路からの丸め後正規化信号G、および、前記ステ
ィッキー生成回路からのスティッキービットSにしたが
って、指数部加算結果D0、指数部加算結果D1のいず
れかを選択し、指数部乗算結果として出力する丸め桁合
わせ回路と、を有することを特徴とする。
【0009】本発明の第3の浮動小数点乗算器は、仮数
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のいずれかを選択し、
仮数部乗算結果として出力する丸め桁合わせ回路と、を
有することを特徴とする。
【0010】本発明の第4の浮動小数点乗算器は、指数
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のいずれかを選択し、
指数部乗算結果として出力する丸め桁合わせ回路と、を
有することを特徴とする。
【0011】本発明の第5の浮動小数点乗算器は、仮数
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を選択し、仮数部乗算結果として出力
する丸め桁合わせ回路と、を有することを特徴とする。
【0012】本発明の第6の浮動小数点乗算器は、指数
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を選択し、指
数部乗算結果として出力する丸め桁合わせ回路と、を有
することを特徴とする。
【0013】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0014】図1は、本発明の実施の形態の浮動小数点
乗算器を示すブロック図である。図1を参照すると、本
発明の実施の形態は、乗算アレイ11と、仮数部加算器
12と、スティッキー生成回路14と、キャリー生成回
路15と、丸め後正規化判定回路16と、丸め桁合わせ
回路17とから構成される。
【0015】乗算アレイ11は、仮数部加算器12、ス
ティッキー生成回路14、キャリー生成回路15、およ
び、丸め後正規化判定回路16と接続され、前処理段階
で切り出された浮動小数点データのm(正の整数)[ビ
ット]の仮数部M0、および、M1を入力として乗算を
行い、2個の部分積A,Bを得る。A,Bは、それぞ
れ、2m−1[ビット]である。乗算アレイ11の出力
である2個の部分積A,Bの和が仮数部の乗算結果とな
る。
【0016】仮数部加算器12は、乗算アレイ11、キ
ャリー生成回路15、および、丸め桁合わせ回路17と
接続され、乗算アレイ11の出力である2個の部分積A
の上位m+1[ビット],Bの上位m[ビット]、およ
び、キャリー生成回路15の出力であるキャリーFを入
力として加算、および、加算結果に+1を行い、加算結
果C0、加算結果+1の結果C1、および、桁上がりX
0、X1を丸め桁合わせ回路17に出力する。
【0017】指数部加算器13は、丸め桁合わせ回路1
7と接続され、前処理段階で切り出された浮動小数点デ
ータの指数部E0、および、E1を加算、および、加算
結果に+1を行い、指数部加算結果D0、および、指数
部加算結果+1の指数部加算結果D1を丸め桁合わせ回
路17に出力する。
【0018】図2は、スティッキー生成回路14を示す
ブロック図である。
【0019】図2を参照すると、スティッキー生成回路
14は、乗算アレイ11、および、丸め桁合わせ回路1
7に接続され、乗算アレイ11の出力である2個の部分
積Aの下位m−2[ビット]、および、Bの下位m−1
[ビット]を入力として各ビット同士の排他的論理和を
求め、その結果と下位ビット同士の論理和との排他的論
理和を算出し、更にその結果の総論理和を求めることに
より、スティッキービットSを算出する。これは、切り
捨てられる下位ビットに少なくとも1となるビットが存
在するかどうかを示すビットである。
【0020】図3は、キャリー生成回路15を示すブロ
ック図である。
【0021】図3を参照すると、キャリー生成回路15
は、乗算アレイ11、仮数部加算器12、および、丸め
後正規化判定回路16と接続され、乗算アレイ11の出
力である2個の部分積Aの下位m−2[ビット],Bの
下位m−1[ビット]を入力として、BLC方式の加算
器によりキャリーFを算出し、仮数部加算器12、およ
び、丸め後正規化判定回路16へ出力する。
【0022】図4は、丸め後正規化判定回路16を示す
ブロック図である。
【0023】図4を参照すると、丸め後正規化判定回路
16は、乗算アレイ11、キャリー生成回路15、およ
び、丸め桁合わせ回路17と接続され、乗算アレイ11
の出力である2個の部分積Aの上位m+1[ビット],
Bの上位m[ビット]、および、キャリー生成回路15
の出力であるキャリーFを入力として各ビット同士の排
他的論理和を算出し、その結果の総論理積を算出し、キ
ャリー生成回路15の出力であるキャリーFにしたがっ
て、結果を丸め後正規化信号Gとして丸め桁合わせ回路
17へ出力する。
【0024】図5は、丸め桁合わせ回路17を示すブロ
ック図である。
【0025】図5を参照すると、丸め桁合わせ回路17
は、仮数部加算器12、指数部加算器13、スティッキ
ー生成回路14、および、丸め後正規化回路6と接続さ
れ、スティッキー生成回路14からの出力であるスティ
ッキービットS、丸め後正規化判定回路16からの出力
である丸め後正規化信号G、および、仮数部加算器12
からの桁上がりX0、X1を制御信号として指数部加算
器13の出力D0、および、D1と仮数部加算器12の
出力C0、および、C1とから浮動小数点乗算器の乗算
結果Hを出力する。
【0026】次に、本発明の実施の形態の動作について
図面を参照して説明する。図6は、乗算アレイ11の内
部構成を示すブロック図である。図7は、乗算の概要を
示す説明図である。図8は、乗算の数値例を示す説明図
である。
【0027】浮動小数点データは、1[ビット]の符号
ビット、n(正の整数)[ビット]の指数部E、m(正
の整数)[ビット]の仮数部Mで構成され、前処理段階
(図示せず)で切り出される。浮動小数点データの乗算
は、指数部の加算と仮数部の乗算を行った後に、丸め、
および、桁合わせを行うことにより結果を得ることがで
きる。
【0028】まず、前処理段階で切り出された浮動小数
点データの指数部E0、および、E1を、指数部加算器
13により加算、および、加算結果に+1を行い、得ら
れた指数部加算結果D0、指数部加算結果の+1結果D
1を丸め桁合わせ回路17に出力する。
【0029】前処理段階で切り出された浮動小数点デー
タのmビットの仮数部M0、および、M1は、乗算アレ
イ11に入力される。
【0030】乗算アレイ11は、入力された仮数部M0
を被乗数、M1を乗数として、乗数の各ビットに被乗数
を乗じたもの(部分積と呼ぶ)を2進数の筆算の形に並
べ、これを加算することによって積を求める。各部分積
の加算には、図6に示すような全加算器で構成される加
算回路を用いることにより、m個の部分積を2個になる
まで加算し、最終的に得られた2つの2m−1[ビッ
ト]の部分積A、およびBを仮数部加算器12、スティ
ッキー生成回路14、キャリー生成回路15、および、
丸め後正規化判定回路16に出力する。
【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へ出力
する。
【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によって切り替える選択回路
とで構成すればよい。
【0033】スティッキー生成回路14は、図2のよう
に、乗算アレイ11の2出力Aの下位m−2[ビッ
ト],‘0’および、Bの下位m−1[ビット]を加算
し、結果の総論理和を求め、スティッキービットSとし
て丸め桁合わせ回路17へ出力する。
【0034】キャリー生成回路15は、図3のように、
乗算アレイ11の出力である2個の部分積Aの下位m−
2[ビット]、および、Bの下位m−1[ビット]を入
力として、キャリーFを算出し、仮数部加算器12、お
よび、丸め後正規化判定回路16へ出力する。
【0035】丸め後正規化判定回路16は、図4のよう
に、乗算アレイ11の出力である2個の部分積Aの上位
m+1[ビット]、および、Bの上位m[ビット]の各
ビット同士の排他的論理和を求め、その結果の総論理積
F0を算出し加算結果が全て‘1’となる場合を検出
し、さらに、各ビット同士の排他的論理和と下位の桁の
ビット同士の論理和(最下位のみ)、あるいは、下位の
桁のビット同士の論理積との排他的論理和を求め、その
結果の総論理積F1を算出し加算結果が最下位のみ
‘0’で、他が全て‘1’となる場合を検出する。次
に、キャリーFが‘0’であれば、F0を選択し、キャ
リーFが‘1’であれば、F1を選択して、丸め後正規
化信号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
へ出力する。
【0037】丸め桁合わせ回路17は、指数部加算器1
3からの出力である指数部加算結果D0、および、指数
部加算結果+‘1’の結果D1と、仮数部加算器12か
らの出力である仮数部加算結果C0、仮数部加算結果+
‘1’の結果C1、および桁上がりXと、スティッキー
生成回路14からの出力であるスティッキービットS
と、丸め後正規化判定回路16からの出力である丸め後
正規化信号Gとを入力し、スティッキービットS、丸め
後正規化信号G、および桁上がりXを制御信号として指
数部加算結果D0、および、指数部加算結果D1と、仮
数部加算結果C0、仮数部加算結果結果C1より乗算結
果Hを出力する。
【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として出
力される。
【0039】次に、実際の数値を与えた例について図面
を参照して説明する。
【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となる。
【0041】A[0:6]とB[0:5]とは、また、
丸め後正規化判定回路16の入力となり、丸め後正規化
信号G=1となる。さらに、A[7:10]、および、
B[6:10]は、スティッキー生成回路14、およ
び、キャリー生成回路15の入力となり、それぞれの回
路の出力はスティッキービットS=1、キャリーF=0
となる。
【0042】図5を参照すると、S=1、G=1である
ため、指数部の結果としてD1が、仮数部の結果として
100・・・00が選択され、乗算結果Hとして出力さ
れる。
【0043】以上のように、部分積A,Bの有効桁m+
1[ビット]の各ビット同士の排他的論理和を求め、そ
の結果の総論理積を算出することにより、部分積A,B
の有効桁m+1[ビット]の加算結果の各ビットが全て
‘1’(111・・・11)となるケースを検出するこ
とにより、部分積A,Bの有効桁mビットの加算結果か
ら総論理積を算出することにより加算結果の各ビットが
全て‘1’(111・・・11)となるケースを検出す
る構成の浮動小数点乗算器よりも、丸め後に桁合わせが
発生するケースを高速に検出できる。
【0044】また、以上は、有効桁がm+1[ビット]
の場合について説明したが、有効桁がm[ビット]の場
合には、仮数部加算器12、キャリー生成回路15、丸
め後正規化判定回路16、スティッキー生成回路14へ
の入力を1[ビット]ずらすことにより容易に実現でき
る。たとえば、仮数部加算器12には、部分積Aの上位
m[ビット],Bの上位m−1[ビット]を入力する。
【0045】
【発明の効果】本発明の効果は、浮動小数点乗算器の演
算速度を高速化できることである。
【0046】その理由は、乗算アレイの出力を丸め後正
規化判定回路への入力とし、かつ、各ビットの排他的論
理和のみを求めて、その総論理積により、丸め後正規化
信を生成する構成をとるからである。
【図面の簡単な説明】
【図1】本発明の実施の形態の浮動小数点乗算器を示す
ブロック図である。
【図2】スティッキー生成回路を示すブロック図であ
る。
【図3】キャリー生成回路を示すブロック図である。
【図4】丸め後正規化判定回路を示すブロック図であ
る。
【図5】丸め桁合わせ回路を示すブロック図である。
【図6】乗算アレイの内部構成を示すブロック図であ
る。
【図7】乗算の概要を示す説明図である。
【図8】乗算の数値例を示す説明図である。
【符号の説明】
11 乗算アレイ 12 仮数部加算器 13 指数部加算器 14 スティッキー生成回路 15 キャリー生成回路 16 丸め後正規化判定回路 17 丸め桁合わせ回路

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 仮数M0、仮数M1を入力し乗算を行い
    部分積A、部分積Bを出力する乗算アレイと、前記乗算
    アレイから部分積Aの上位の任意の数のビット、およ
    び、部分積Bの上位の前記任意の数−1のビットを入力
    し、加算を行い加算結果C0、加算結果C0に1を加算
    した加算結果C1、および、最上位からの桁上がりXを
    出力する仮数部加算器と、前記乗算アレイから部分積A
    の上位の前記任意の数の部分を除いた下位のビット、お
    よび、部分積Bの上位の前記任意の数−1の数の部分を
    除いた下位のビットを入力し、最上位からのキャリーF
    を生成、出力するキャリー生成回路と、前記乗算アレイ
    から部分積Aの上位の前記任意の数のビット、部分積B
    の上位の前記任意の数−1のビット、および、前記キャ
    リー生成回路からキャリーFを入力し、加算結果が全て
    1となる場合に1となる丸め後正規化信号Gを生成、出
    力する丸め後正規化判定回路と、前記乗算アレイから部
    分積Aの上位の前記任意の数の部分を除いた下位のビッ
    ト、および、部分積Bの上位の前記任意の数−1の数の
    部分を除いた下位のビットを入力し、加算結果に1とな
    るビットが存在する場合に1となるスティッキービット
    Sを生成、出力するスティッキー生成回路と、前記乗算
    アレイからの加算結果C0、加算結果C1を入力し、前
    記仮数部加算器からの桁上がりX、前記丸め後正規化判
    定回路からの丸め後正規化信号G、および、前記スティ
    ッキー生成回路からのスティッキービットSにしたがっ
    て、加算結果C0、加算結果C1、または、100・・
    ・00のいずれかを選択し、仮数部乗算結果として出力
    する丸め桁合わせ回路と、を有することを特徴とする浮
    動小数点乗算器。
  2. 【請求項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を入力し、加算結果が全て1となる場合
    に1となる丸め後正規化信号Gを生成、出力する丸め後
    正規化判定回路と、前記乗算アレイから部分積Aの上位
    の前記任意の数の部分を除いた下位のビット、および、
    部分積Bの上位の前記任意の数−1の数の部分を除いた
    下位のビットを入力し、加算結果に1となるビットが存
    在する場合に1となるスティッキービットSを生成、出
    力するスティッキー生成回路と、前記乗算アレイからの
    加算結果C0、加算結果C1を入力し、前記仮数部加算
    器からの桁上がりX、前記丸め後正規化判定回路からの
    丸め後正規化信号G、および、前記スティッキー生成回
    路からのスティッキービットSにしたがって、加算結果
    C0、加算結果C1、または、100・・・00のいず
    れかを選択し、仮数部乗算結果として出力し、かつ、前
    記指数部加算器から指数部加算結果D0、指数部加算結
    果D1を入力し、前記仮数部加算器からの桁上がりX、
    前記丸め後正規化判定回路からの丸め後正規化信号G、
    および、前記スティッキー生成回路からのスティッキー
    ビットSにしたがって、指数部加算結果D0、指数部加
    算結果D1のいずれかを選択し、指数部乗算結果として
    出力する丸め桁合わせ回路と、を有することを特徴とす
    る浮動小数点乗算器。
  3. 【請求項3】 仮数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、または、100・・・0
    0のいずれかを選択し、仮数部乗算結果として出力する
    丸め桁合わせ回路と、を有することを特徴とする浮動小
    数点乗算器。
  4. 【請求項4】 指数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、または、100・・・00のいずれかを選択し、
    仮数部乗算結果として出力し、かつ、前記指数部加算器
    から指数部加算結果D0、指数部加算結果D1を入力
    し、前記仮数部加算器からの桁上がりX、前記丸め後正
    規化判定回路からの丸め後正規化信号G、および、前記
    スティッキー生成回路からのスティッキービットSにし
    たがって、指数部加算結果D0、指数部加算結果D1の
    いずれかを選択し、指数部乗算結果として出力する丸め
    桁合わせ回路と、を有することを特徴とする浮動小数点
    乗算器。
  5. 【請求項5】 仮数M0、仮数M1を入力し乗算を行い
    部分積A、部分積Bを出力する乗算アレイと、前記乗算
    アレイから部分積Aの上位の任意の数のビット、およ
    び、部分積Bの上位の前記任意の数−1のビットを入力
    し、加算を行い加算結果C0、加算結果C0に1を加算
    した加算結果C1、および、最上位からの桁上がりX
    0、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を選択し、
    仮数部乗算結果として出力する丸め桁合わせ回路と、を
    有することを特徴とする浮動小数点乗算器。
  6. 【請求項6】 指数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、加算結果C
    1を選択し、桁上がりX0=1、X1=1であれば、そ
    れぞれ、「1,加算結果C0の最下位ビットを削除した
    残り」=加算結果C3、「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を選択し、指数部乗算結果として出力する丸め桁合
    わせ回路と、を有することを特徴とする浮動小数点乗算
    器。
JP2001048522A 2001-02-23 2001-02-23 浮動小数点乗算器 Expired - Fee Related JP3492638B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001048522A JP3492638B2 (ja) 2001-02-23 2001-02-23 浮動小数点乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001048522A JP3492638B2 (ja) 2001-02-23 2001-02-23 浮動小数点乗算器

Publications (2)

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

Family

ID=18909776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001048522A Expired - Fee Related JP3492638B2 (ja) 2001-02-23 2001-02-23 浮動小数点乗算器

Country Status (1)

Country Link
JP (1) JP3492638B2 (ja)

Cited By (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215192A (ja) * 2006-02-09 2007-08-23 Altera Corp プログラマブルロジックデバイスのための特殊処理ブロック
US7720899B2 (en) 2005-12-02 2010-05-18 Fujitsu Limited Arithmetic operation unit, information processing apparatus and arithmetic operation method
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
US8386553B1 (en) 2006-12-05 2013-02-26 Altera Corporation Large multiplier 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
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
US8539016B1 (en) 2010-02-09 2013-09-17 Altera Corporation QR decomposition in an integrated circuit device
US8539014B2 (en) 2010-03-25 2013-09-17 Altera Corporation Solving linear matrices 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
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
US8645450B1 (en) 2007-03-02 2014-02-04 Altera Corporation Multiplier-accumulator circuitry and methods
US8650236B1 (en) 2009-08-04 2014-02-11 Altera Corporation High-rate interpolation or decimation filter in integrated circuit device
US8650231B1 (en) 2007-01-22 2014-02-11 Altera Corporation Configuring floating point operations in a programmable 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
US7720899B2 (en) 2005-12-02 2010-05-18 Fujitsu Limited Arithmetic operation unit, information processing apparatus and arithmetic operation method
US8266198B2 (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
US8266199B2 (en) 2006-02-09 2012-09-11 Altera Corporation Specialized processing block for programmable logic device
JP2007215192A (ja) * 2006-02-09 2007-08-23 Altera Corp プログラマブルロジックデバイスのための特殊処理ブロック
US8386550B1 (en) 2006-09-20 2013-02-26 Altera Corporation Method for configuring a finite impulse response filter in a programmable logic device
US9063870B1 (en) 2006-12-05 2015-06-23 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
US9395953B2 (en) 2006-12-05 2016-07-19 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
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
JP3492638B2 (ja) 2004-02-03

Similar Documents

Publication Publication Date Title
JP2002251281A (ja) 浮動小数点乗算器
KR20010014992A (ko) 고차 기수 제산기 및 그 방법
US5426598A (en) Adder and multiplier circuit employing the same
JPH09269891A (ja) 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置
KR100241076B1 (ko) 조정및정규화클래스를구비한부동소수점승산및누산장치
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
JPH0991270A (ja) 演算器
JPH0773227A (ja) 論理回路の自動設計方法、そのシステム及びその装置並びに乗算器
JP4273071B2 (ja) 除算・開平演算器
JPH08212058A (ja) 加算オーバフロ検出回路
RU2717915C1 (ru) Вычислительное устройство
KR100627993B1 (ko) 3입력 분할 가산기
Raafat et al. A decimal fully parallel and pipelined floating point multiplier
US5150319A (en) Circuitry for rounding in a floating point multiplier
KR100331846B1 (ko) 실수 연산기
JPH01290035A (ja) 高速乗算器における丸めの方法及び装置
US7840628B2 (en) Combining circuitry
US5657260A (en) Priority detecting counter device
US6317772B1 (en) Split remainder divider
US10275218B1 (en) Apparatus and method for subtracting significand values of floating-point operands
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JP3418711B2 (ja) スティッキービット値予測回路及びこれを備えた半導体装置
EP0780759A1 (en) Elimination of math overflow flag generation delay in an alu
JP3233432B2 (ja) 乗算器
JPH0527948A (ja) 演算装置

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