(57)【要約】【課題】演算速度が低下することを抑制しつつ、エリアの使用効率を向上することが可能な演算装置を得る。【解決手段】第３次部分積加算器Ｔ１０１は、上位１２ビット分の上位部Ｔ１０１ａと、下位３３ビット分の下位部Ｔ１０１ｂとに分割されている。上位部Ｔ１０１ａと下位部Ｔ１０１ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。特に下位部Ｔ１０１ｂは、ワレス・ツリーアレイの中央部の行に配設されている。具体的に下位部Ｔ１０１ｂは、上位部Ｓ１０１ａの直下かつ下位部Ｓ１０２ｂの直上に配設されている。また、上位部Ｔ１０１ａは、ワレス・ツリーアレイの下端の行に配設されている。具体的に上位部Ｔ１０１ａは、上位部Ｓ１０２ａの直下に配設されている。【選択図】図１
2005182238.tif 000002
【特許請求の範囲】
【請求項１】
被乗数と乗数とを入力し、第０次部分積を生成する部分積生成部と、
第ｉ（０≦ｉ≦ｍ−１）次部分積を加算して第ｊ（ｊ＝ｉ＋１）次部分積を生成する第ｊ次部分積加算器を有し、部分積の数を順次減少させつつツリー状の加算を行って、最終的に第ｍ次部分積加算器から第ｍ次部分積を出力する、アレイ状のワレス・ツリー部と、
前記第ｍ次部分積を入力し、前記被乗数と前記乗数との乗算結果を得る最終加算器と
を備え、
前記第ｊ次部分積加算器は、前記被乗数の特定の桁を境界として複数の部分に分離されて、前記複数の部分が前記アレイの互いに異なる行に配設されており、
前記第ｍ次部分積加算器は、前記アレイの端部の行に配設された第１部分と、前記アレイの中央部の行に配設された第２部分とを有する、演算装置。
【請求項２】
ブースのアルゴリズムに従って前記乗数を修正するブースエンコーダをさらに備え、
前記ブースエンコーダは、前記アレイの中央部の行に配設されている、請求項１に記載の演算装置。
【請求項３】
前記部分積生成部に前記被乗数を与える駆動バッファをさらに備え、
前記駆動バッファは、前記アレイの中央部の行に配設されている、請求項１又は２に記載の演算装置。
【請求項４】
前記最終加算器は、前記アレイの中央部の行に配設されている、請求項１〜３のいずれか一つに記載の演算装置。
【請求項５】
前記最終加算器は、前記被乗数の特定の桁を境界として下位部及び上位部に分離されて、前記下位部及び上位部が前記アレイを挟んで配設されている、請求項１〜３のいずれか一つに記載の演算装置。
【請求項６】
前記第ｍ次部分積加算器及び前記最終加算器に接続されたラッチをさらに備え、
前記第ｍ次部分積を前記ラッチを介して前記最終加算器に入力することにより、及び、前記下位部から出力されたキャリーを前記ラッチを介して前記上位部に入力することにより、パイプライン構成としたことを特徴とする、請求項５に記載の演算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワレス・ツリーアレイを用いた演算装置に関し、特に乗算装置に関する。
【背景技術】
【０００２】
乗算は、マイクロコンピュータ等の半導体集積回路において最も多く行われる演算の一つであり、高速の計算システムを構築するためには、乗算装置の乗算速度を高速化させることが必要不可欠である。高速の乗算を実現するための手法として、乗数を修正することにより部分積の総数を低減する、ブースのアルゴリズムが広く知られている。また、部分積をツリー状に加算することにより部分積の総数を順次低減する、ワレス・ツリーを用いた乗算装置も広く知られている。上記の二つの手法を適用した乗算装置は、例えば下記特許文献１〜３に開示されている。
【０００３】
【特許文献１】特開平３−１７７９２２号公報
【特許文献２】特開平９−２３１０５６号公報
【特許文献３】特開２００１−１９５２３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に開示された乗算装置では、ワレス・ツリー内の最大次数の部分積加算器（以下「第ｍ次部分積加算器」と称する）が、それよりも低次数の部分積加算器や、シフタ・インバータよりも空間的に大きく突出している。そのため、第ｍ次部分積加算器の突出部に起因してワレス・ツリーアレイ内にデッドエリアが発生してしまい、エリアの使用効率が低い。
【０００５】
また、上記特許文献２に開示された乗算装置では、各次数の部分積加算器が、被乗数の特定の桁を境界としてそれぞれ上位部と下位部とに分割され、上位部及び下位部は、デッドエリアが発生しないようにワレス・ツリーアレイの異なる行に配設されている。そのため、エリアの使用効率は高い。しかし、第ｍ次部分積加算器の下位部がワレス・ツリーアレイの上端部の行に配設されているのに対し、第ｍ次部分積加算器の上位部がワレス・ツリーアレイの下端部の行に配設されている。そのため、第ｍ次部分積加算器の下位部から上位部へのキャリーパス（クリティカルパスの一部を構成する）の配線長が長くなり、乗算速度が低い。
【０００６】
また、上記特許文献３に開示された乗算装置では、分割されていない第ｍ次部分積加算器が、ワレス・ツリーアレイの中央部の行に配設されている。従って、上記特許文献２に開示された乗算装置のような長配線のキャリーパスが第ｍ次部分積加算器内に発生しないため、乗算速度は高い。しかし、上記特許文献１に開示された乗算装置と同様の理由により、第ｍ次部分積加算器の突出部に起因してデッドエリアが発生してしまい、エリアの使用効率が低い。
【０００７】
このように従来の乗算装置では、エリアの使用効率を向上させようとすると乗算速度が低下し、一方、乗算速度を高速化しようとするとエリアの使用効率が低下するという問題があった。
【０００８】
本発明は、かかる問題を解決するために成されたものであり、演算速度が低下することを抑制しつつ、エリアの使用効率を向上することが可能な演算装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る演算装置は、被乗数と乗数とを入力し、第０次部分積を生成する部分積生成部と、第ｉ（０≦ｉ≦ｍ−１）次部分積を加算して第ｊ（ｊ＝ｉ＋１）次部分積を生成する第ｊ次部分積加算器を有し、部分積の数を順次減少させつつツリー状の加算を行って、最終的に第ｍ次部分積加算器から第ｍ次部分積を出力する、アレイ状のワレス・ツリー部と、第ｍ次部分積を入力し、被乗数と乗数との乗算結果を得る最終加算器とを備え、第ｊ次部分積加算器は、被乗数の特定の桁を境界として複数の部分に分離されて、複数の部分がアレイの互いに異なる行に配設されており、第ｍ次部分積加算器は、アレイの端部の行に配設された第１部分と、アレイの中央部の行に配設された第２部分とを有する。
【発明の効果】
【００１０】
本発明に係る演算装置によれば、演算速度が低下することを抑制しつつ、エリアの使用効率を向上することが可能である。
【発明を実施するための最良の形態】
【００１１】
以下、乗算装置を例にとり、本発明に係る演算装置について説明する。但し、本発明は乗算装置に限定されるものではなく、積和演算装置や除算装置等の、ワレス・ツリーアレイを用いた任意の演算装置に適用することが可能である。
【００１２】
実施の形態１．
図１は、本発明の実施の形態１に係る、被乗数３２ビット×乗数２５ビットの乗算装置のレイアウト（半導体チップ上に集積回路として構成したときのレイアウトを意味する。以降同様）を模式的に示す図である。乗算装置は、ワレス・ツリーアレイと、ワレス・ツリーアレイの上辺に配設されたＸドライバ１と、ワレス・ツリーアレイの上辺左部に配設されたブースエンコーダ２と、ワレス・ツリーアレイの下辺右部に配設された最終加算器３とを備えている。
【００１３】
２５ビットの乗数はブースエンコーダ２に入力され、ブースエンコーダ２は、ブースのアルゴリズムに従って乗数を削減し、削減された乗数（以下「修正乗数」と称する）を出力する。本実施の形態１に係る乗算装置では２次のブースのアルゴリズムが採用されており、ブースエンコーダ２は、２５ビットの乗数を１３ビット（booth１〜booth１３）の修正乗数に削減して出力する。
【００１４】
ワレス・ツリーアレイは、ブースセレクタＢ１０１〜Ｂ１１３（図１における符号Ｂ１０１ａ〜Ｂ１１３ａ，Ｂ１０１ｂ〜Ｂ１１３ｂ）と、第１次部分積加算器Ｆ１０１〜Ｆ１０４（図１における符号Ｆ１０１ａ〜Ｆ１０４ａ，Ｆ１０１ｂ〜Ｆ１０４ｂ）と、第２次部分積加算器Ｓ１０１，Ｓ１０２（図１における符号Ｓ１０１ａ，Ｓ１０１ｂ，Ｓ１０２ａ，Ｓ１０２ｂ）と、第３次部分積加算器Ｔ１０１（図１における符号Ｔ１０１ａ，Ｔ１０１ｂ）とを備えている。
【００１５】
Ｘドライバ１は、被乗数を駆動するための駆動バッファとして機能し、ブースセレクタＢ１０１〜Ｂ１１３に被乗数を与える。
【００１６】
ブースセレクタＢ１０１〜Ｂ１１３は、修正乗数をブースエンコーダ２から入力するとともに、被乗数をＸドライバ１から入力し、第０次部分積をそれぞれ生成して出力する。具体的に、ブースセレクタＢ１０１〜Ｂ１１３は、シフタ・インバータとして機能し、２次のブースのアルゴリズムにおいては、修正乗数が「１」の場合には被乗数をそのままにして、「２」の場合には１ビットシフトさせて、負数の場合には反転させることにより、第０次部分積を生成する。
【００１７】
ブースセレクタＢ１０１は、自身の最下位から１２ビット目と１３ビット目との間を境界として、換言すれば、被乗数の最下位から１２ビット目と１３ビット目との間を境界として、上位２１ビット分の上位部Ｂ１０１ａと、下位１２ビット分の下位部Ｂ１０１ｂとに分割されている。ブースセレクタＢ１０１には、修正乗数の最下位ビットbooth１が入力される。ブースセレクタＢ１０２は、自身の最下位から１０ビット目と１１ビット目との間を境界として、上位２３ビット分の上位部Ｂ１０２ａと、下位１０ビット分の下位部Ｂ１０２ｂとに分割されている。ブースセレクタＢ１０２には、修正乗数のビットbooth２が入力される。ブースセレクタＢ１０３は、自身の最下位から８ビット目と９ビット目との間を境界として、上位２５ビット分の上位部Ｂ１０３ａと、下位８ビット分の下位部Ｂ１０３ｂとに分割されている。ブースセレクタＢ１０３には、修正乗数のビットbooth３が入力される。ブースセレクタＢ１０４は、自身の最下位から６ビット目と７ビット目との間を境界として、上位２７ビット分の上位部Ｂ１０４ａと、下位６ビット分の下位部Ｂ１０４ｂとに分割されている。ブースセレクタＢ１０４には、修正乗数のビットbooth４が入力される。ブースセレクタＢ１０５は、自身の最下位から４ビット目と５ビット目との間を境界として、上位２９ビット分の上位部Ｂ１０５ａと、下位４ビット分の下位部Ｂ１０５ｂとに分割されている。ブースセレクタＢ１０５には、修正乗数のビットbooth５が入力される。ブースセレクタＢ１０６は、自身の最下位から２ビット目と３ビット目との間を境界として、上位３１ビット分の上位部Ｂ１０６ａと、下位２ビット分の下位部Ｂ１０６ｂとに分割されている。ブースセレクタＢ１０６には、修正乗数のビットbooth６が入力される。
【００１８】
ブースセレクタＢ１０７には、修正乗数のビットbooth７が入力される。ブースセレクタＢ１０８は、自身の最下位から３１ビット目と３２ビット目との間を境界として、上位２ビット分の上位部Ｂ１０８ａと、下位３１ビット分の下位部Ｂ１０８ｂとに分割されている。ブースセレクタＢ１０８には、修正乗数のビットbooth８が入力される。ブースセレクタＢ１０９は、自身の最下位から２９ビット目と３０ビット目との間を境界として、上位４ビット分の上位部Ｂ１０９ａと、下位２９ビット分の下位部Ｂ１０９ｂとに分割されている。ブースセレクタＢ１０９には、修正乗数のビットbooth９が入力される。ブースセレクタＢ１１０は、自身の最下位から２７ビット目と２８ビット目との間を境界として、上位６ビット分の上位部Ｂ１１０ａと、下位２７ビット分の下位部Ｂ１１０ｂとに分割されている。ブースセレクタＢ１１０には、修正乗数のビットbooth１０が入力される。ブースセレクタＢ１１１は、自身の最下位から２５ビット目と２６ビット目との間を境界として、上位８ビット分の上位部Ｂ１１１ａと、下位２５ビット分の下位部Ｂ１１１ｂとに分割されている。ブースセレクタＢ１１１には、修正乗数のビットbooth１１が入力される。ブースセレクタＢ１１２は、自身の最下位から２３ビット目と２４ビット目との間を境界として、上位１０ビット分の上位部Ｂ１１２ａと、下位２３ビット分の下位部Ｂ１１２ｂとに分割されている。ブースセレクタＢ１１２には、修正乗数のビットbooth１２が入力される。ブースセレクタＢ１１３は、自身の最下位から２１ビット目と２２ビット目との間を境界として、上位１２ビット分の上位部Ｂ１１３ａと、下位２１ビット分の下位部Ｂ１１３ｂとに分割されている。ブースセレクタＢ１１３には、修正乗数のビットbooth１３が入力される。
【００１９】
第１次部分積加算器Ｆ１０１は、ブースセレクタＢ１０１，Ｂ１０２からそれぞれ入力した第０次部分積を加算することにより、第１次部分積を生成して出力する。第１次部分積加算器Ｆ１０１は、自身の最下位から１２ビット目と１３ビット目との間を境界として、上位２３ビット分の上位部Ｆ１０１ａと、下位１２ビット分の下位部Ｆ１０１ｂとに分割されている。上位部Ｆ１０１ａと下位部Ｆ１０１ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。第１次部分積加算器Ｆ１０２は、ブースセレクタＢ１０３〜Ｂ１０６からそれぞれ入力した第０次部分積を加算することにより、第１次部分積を生成して出力する。第１次部分積加算器Ｆ１０２は、自身の最下位から４ビット目と５ビット目との間を境界として、上位３１ビット分の上位部Ｆ１０２ａと、下位４ビット分の下位部Ｆ１０２ｂとに分割されている。上位部Ｆ１０２ａと下位部Ｆ１０２ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。第１次部分積加算器Ｆ１０３は、ブースセレクタＢ１０７〜Ｂ１１０からそれぞれ入力した第０次部分積を加算することにより、第１次部分積を生成して出力する。第１次部分積加算器Ｆ１０３は、自身の最下位から２９ビット目と３０ビット目との間を境界として、上位６ビット分の上位部Ｆ１０３ａと、下位２９ビット分の下位部Ｆ１０３ｂとに分割されている。上位部Ｆ１０３ａと下位部Ｆ１０３ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。第１次部分積加算器Ｆ１０４は、ブースセレクタＢ１１１〜Ｂ１１３からそれぞれ入力した第０次部分積を加算することにより、第１次部分積を生成して出力する。第１次部分積加算器Ｆ１０４は、自身の最下位から２１ビット目と２２ビット目との間を境界として、上位１２ビット分の上位部Ｆ１０４ａと、下位２１ビット分の下位部Ｆ１０４ｂとに分割されている。上位部Ｆ１０４ａと下位部Ｆ１０４ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。
【００２０】
第２次部分積加算器Ｓ１０１は、第１次部分積加算器Ｆ１０１，Ｆ１０２からそれぞれ入力した第１次部分積を加算することにより、第２次部分積を生成して出力する。第２次部分積加算器Ｆ１０１は、自身の最下位から８ビット目と９ビット目との間を境界として、上位３１ビット分の上位部Ｓ１０１ａと、下位８ビット分の下位部Ｓ１０１ｂとに分割されている。上位部Ｓ１０１ａと下位部Ｓ１０１ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。特に下位部Ｓ１０１ｂは、ワレス・ツリーアレイの上端の行に配設されている。第２次部分積加算器Ｓ１０２は、第１次部分積加算器Ｆ１０２，Ｆ１０３からそれぞれ入力した第１次部分積を加算することにより、第２次部分積を生成して出力する。第２次部分積加算器Ｆ１０２は、自身の最下位から２５ビット目と２６ビット目との間を境界として、上位１２ビット分の上位部Ｓ１０２ａと、下位２５ビット分の下位部Ｓ１０２ｂとに分割されている。上位部Ｓ１０２ａと下位部Ｓ１０２ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。
【００２１】
第３次部分積加算器Ｔ１０１は、第２次部分積加算器Ｓ１０１，Ｓ１０２からそれぞれ入力した第２次部分積を加算することにより、第３次部分積を生成して出力する。第３次部分積加算器Ｔ１０１は、自身の最下位から３３ビット目と３４ビット目との間を境界として、上位１２ビット分の上位部Ｔ１０１ａと、下位３３ビット分の下位部Ｔ１０１ｂとに分割されている。上位部Ｔ１０１ａと下位部Ｔ１０１ｂとは、ワレス・ツリーアレイの互いに異なる行に配設されている。特に下位部Ｔ１０１ｂは、ワレス・ツリーアレイの中央部の行に配設されている。具体的に下位部Ｔ１０１ｂは、上位部Ｓ１０１ａの直下かつ下位部Ｓ１０２ｂの直上に配設されている。また、上位部Ｔ１０１ａは、ワレス・ツリーアレイの下端の行に配設されている。具体的に上位部Ｔ１０１ａは、上位部Ｓ１０２ａの直下に配設されている。
【００２２】
このように、上位部Ｂ１０１ａ〜Ｂ１０６ａ，Ｆ１０１ａ，Ｆ１０２ａ，Ｓ１０１ａ及び下位部Ｔ１０１ｂが配設されている領域では、矢印Ｄ１で示すように加算の方向は上方から下方に向かう方向となる。また、下位部Ｂ１０１ｂ〜Ｂ１０６ｂ，Ｆ１０１ｂ，Ｆ１０２ｂ，Ｓ１０１ｂが配設されている領域では、矢印Ｄ２で示すように加算の方向は下方から上方に向かう方向となる。また、上位部Ｂ１０８ａ〜Ｂ１１３ａ，Ｆ１０３ａ，Ｆ１０４ａ，Ｓ１０２ａ，Ｔ１０１ａが配設されている領域では、矢印Ｄ３で示すように加算の方向は上方から下方に向かう方向となる。また、ブースセレクタＢ１０７及び下位部Ｂ１０８ｂ〜Ｂ１１３ｂ，Ｆ１０３ｂ，Ｆ１０４ｂ，Ｓ１０２ｂ，Ｔ１０１ｂが配設されている領域では、矢印Ｄ４で示すように加算の方向は下方から上方に向かう方向となる。
【００２３】
最終加算器３は、下位部Ｓ１０１ｂ及び第３次部分積加算器Ｔ１０１から加算結果をそれぞれ入力する。そして、最終加算器３において、乗数と被乗数との乗算結果が得られる。最終加算器３は、その動作を高速に行うべく、キャリー・ルック・アヘッド又はキャリー・スキップ等の高速な加算方式が用いられている。
【００２４】
図２は、第１次部分積加算器Ｆ１０２のうち、３ビット分の構成のみを抜き出して示す回路図である。４入力（キャリーイン付き）２出力（キャリーアウト付き）の加算素子Ｐk+1，Ｐk，Ｐk-1が、この順に直列に接続されている。加算素子Ｐk+1，Ｐk，Ｐk-1のそれぞれが、図１に示した第１次部分積加算器Ｆ１０２の１ビットに対応する。これらの加算素子Ｐk+1，Ｐk，Ｐk-1はいずれも、キャリーイン端子ＣＩと、部分積１２１〜１２４のそれぞれの１ビットを受ける入力端子Ｉ１〜Ｉ４と、キャリーイン端子ＣＩ及び入力端子Ｉ１〜Ｉ４に与えられた合計５ビットの加算結果の下位ビットを出力するサム端子Ｓと、いずれも同位の上位ビットを出力するキャリー端子Ｃ及びキャリーアウト端子ＣＯとを備えている。そして、加算素子Ｐk+1，Ｐk，Ｐk-1のキャリーアウト端子ＣＯは、次段の加算素子のキャリーイン端子ＣＩに接続されている。図１に示した第２次部分積加算器Ｓ１０１，Ｓ１０２や第３次部分積加算器Ｔ１０１の構成も、入力端子Ｉ１〜Ｉ４の数が異なる点を除き、図２に示した第１次部分積加算器Ｆ１０２の構成と同様である。
【００２５】
このように本実施の形態１に係る乗算装置によれば、ワレス・ツリー内の最大次数の部分積加算器である第３次部分積加算器Ｔ１０１が、上位部Ｔ１０１ａと下位部Ｔ１０１ｂとに分割されている。そして、上位部Ｔ１０１ａと下位部Ｔ１０１ｂとが、ワレス・ツリーアレイの互いに異なる行に配設されている。上位部Ｔ１０１ａのビット数（１２ビット）及び下位部Ｔ１０１ｂのビット数（３３ビット）は、いずれもブースセレクタＢ１０１〜Ｂ１１３のビット数（３３ビット）以下であるため、上位部Ｔ１０１ａ及び下位部Ｔ１０１ｂが、ブースセレクタＢ１０１〜Ｂ１１３よりも空間的に突出することはない。従って、第３次部分積加算器Ｔ１０１の突出部に起因してワレス・ツリーアレイ内にデッドエリアが発生することを回避できる。
【００２６】
図１を参照して、下位部Ｓ１０１ｂ，Ｆ１０１ｂの左側に空き領域が発生するが、この領域内にブースエンコーダ２が配設されているため、この領域はデッドエリアとはならず、エリアの使用効率は低下しない。同様に、上位部Ｆ１０４ａ，Ｓ１０２ａ，Ｔ１０１ａの右側に空き領域が発生するが、この領域内に最終加算器３が配設されているため、この領域はデッドエリアとはならず、エリアの使用効率は低下しない。
【００２７】
また、本実施の形態１に係る乗算装置において、ワレス・ツリーアレイのクリティカルパスは、下位部Ｂ１１３ｂから、下位部Ｆ１０４ｂ，Ｓ１０２ｂ，Ｔ１０１ｂ及び上位部Ｔ１０１ａをこの順に介して、最終加算器３に至る経路である。この経路内での最長の配線は、下位部Ｔ１０１ｂの最上位ビットに対応する加算素子のキャリーアウト端子ＣＯと、上位部Ｔ１０１ａの最下位ビットに対応する加算素子のキャリーイン端子ＣＩとを接続するキャリーパスの配線である。ところで、本実施の形態１に係る乗算装置によると、下位部Ｔ１０１ｂが、ワレス・ツリーアレイの中央部の行に配設されている。従って、下位部Ｔ１０１ｂがワレス・ツリーアレイの上端の行に配設されている乗算装置（例えば、上記特許文献２に開示された乗算装置）と比較すると、上記のキャリーパスの配線長が短くなるため、乗算速度が低下することを抑制できる。
【００２８】
なお、本実施の形態１に係る乗算装置によると、下位部Ｓ１０１ｂの乗算結果が最終加算器３に入力されるため、下位部Ｓ１０１ｂと最終加算器３とを互いに接続するための配線（以下「配線Ｗ」と称する）の配線長は、上記のキャリーパスの配線長よりも長くなる。しかしながら、下位部Ｓ１０１ｂの乗算結果は第３次部分積加算器Ｔ１０１を経由せずに最終加算器３に入力されるため、下位部Ｓ１０１ｂに関しては、最終加算器３に至るまでに経由すべき部分積加算器の段数が、上位部Ｓ１０１ａ，Ｓ１０２ａや下位部Ｓ１０２ｂよりも１段少ない。従って、配線Ｗの配線長が長いことは、乗算速度の低下を引き起こす原因にはならない。
【００２９】
実施の形態２．
上記実施の形態１では、被乗数３２ビット×乗数２５ビットの乗算装置のレイアウトについて説明したが、被乗数及び乗数の各ビット数はこれに限定されるものではなく、任意のビット数であってよい。本実施の形態２では、上記実施の形態１に係る乗算装置を、被乗数５４ビット×乗数５４ビットに拡張した乗算装置について説明する。
【００３０】
図３，４は、二者相まって本発明の実施の形態２に係る乗算装置の第１のレイアウトを模式的に示す図である。図３，４は、仮想線Ｑ１−Ｑ１において互いに連続している。なお、図３，４では、図１に示したＸドライバ１、ブースエンコーダ２、及び最終加算器３の記載は省略している。
【００３１】
ブースセレクタＢ２０１〜Ｂ２２７は、上位部Ｂ２０１ａ〜Ｂ２２７ａと下位部Ｂ２０１ｂ〜Ｂ２２７ｂとにそれぞれ分割されている。第１次部分積加算器Ｆ２０１〜Ｆ２０７は、上位部Ｆ２０１ａ〜Ｆ２０７ａと下位部Ｆ２０１ｂ〜Ｆ２０７ｂとにそれぞれ分割されている。第２次部分積加算器Ｓ２０１〜Ｓ２０４は、上位部Ｓ２０１ａ〜Ｓ２０４ａと下位部Ｓ２０１ｂ〜Ｓ２０４ｂとにそれぞれ分割されている。第３次部分積加算器Ｔ２０１，Ｔ２０２は、上位部Ｔ２０１ａ，Ｔ２０２ａと下位部Ｔ２０１ｂ，Ｔ２０２ｂとにそれぞれ分割されている。第４次部分積加算器Ｅ２０１は、上位部Ｅ２０１ａと下位部Ｅ２０１ｂとに分割されている。特に下位部Ｅ２０１ｂは、ワレス・ツリーアレイの中央部の行に配設されている。具体的に下位部Ｅ２０１ｂは、下位部Ｔ２０２ｂの直上に配設されている。また、上位部Ｅ２０１ａは、ワレス・ツリーアレイの下端の行に配設されている。具体的に上位部Ｅ２０１ａは、上位部Ｔ２０２ａの直下に配設されている。
【００３２】
上位部Ｂ２０１ａ〜Ｂ２０６ａ，Ｆ２０１ａ，Ｆ２０２ａ，Ｓ２０１ａ及び下位部Ｔ２０１ｂが配設されている領域では、矢印Ｄ５で示すように加算の方向は上方から下方に向かう方向となる。また、下位部Ｂ２０１ｂ〜Ｂ２０６ｂ，Ｆ２０１ｂ，Ｆ２０２ｂ，Ｓ２０１ｂが配設されている領域では、矢印Ｄ６で示すように加算の方向は下方から上方に向かう方向となる。また、上位部Ｂ２０７ａ〜Ｂ２１４ａ，Ｆ２０３ａ，Ｆ２０４ａ，Ｓ２０２ａ，Ｔ２０１ａが配設されている領域では、矢印Ｄ７で示すように加算の方向は上方から下方に向かう方向となる。また、下位部Ｂ２０７ｂ〜Ｂ２１４ｂ，Ｆ２０３ｂ，Ｆ２０４ｂ，Ｓ２０２ｂ，Ｔ２０１ｂが配設されている領域では、矢印Ｄ８で示すように加算の方向は下方から上方に向かう方向となる。また、上位部Ｂ２１５ａ〜Ｂ２２７ａ，Ｆ２０５ａ〜Ｆ２０７ａ，Ｓ２０３ａ，Ｓ２０４ａ，Ｔ２０２ａ，Ｅ２０１ａが配設されている領域では、矢印Ｄ９で示すように加算の方向は上方から下方に向かう方向となる。また、下位部Ｂ２１５ｂ〜Ｂ２２７ｂ，Ｆ２０５ｂ〜Ｆ２０７ｂ，Ｓ２０３ｂ，Ｓ２０４ｂ，Ｔ２０２ｂ，Ｅ２０１ｂが配設されている領域では、矢印Ｄ１０で示すように加算の方向は下方から上方に向かう方向となる。
【００３３】
図５，６は、二者相まって本発明の実施の形態２に係る乗算装置の第２のレイアウトを模式的に示す図である。図５，６は、仮想線Ｑ２−Ｑ２において互いに連続している。なお、図５，６では、図１に示したＸドライバ１、ブースエンコーダ２、及び最終加算器３の記載は省略している。
【００３４】
ブースセレクタＢ３０１〜Ｂ３１４は、上位部Ｂ３０１ａ〜Ｂ３１４ａと下位部Ｂ３０１ｂ〜Ｂ３１４ｂとにそれぞれ分割されている。ブースセレクタＢ３１５〜Ｂ３２７は、上位部Ｂ３１５ａ〜Ｂ３２７ａと、中位部Ｂ３１５ｂ〜Ｂ３２７ｂと、下位部Ｂ３１５ｃ〜Ｂ３２７ｃとにそれぞれ分割されている。第１次部分積加算器Ｆ３０１〜Ｆ３０４は、上位部Ｆ３０１ａ〜Ｆ３０４ａと下位部Ｆ３０１ｂ〜Ｆ３０４ｂとにそれぞれ分割されている。第１次部分積加算器Ｆ３０５〜Ｆ３０７は、上位部Ｆ３０５ａ〜Ｆ３０７ａと、中位部Ｆ３０５ｂ〜Ｆ３０７ｂと、下位部Ｆ３０５ｃ〜Ｆ３０７ｃとにそれぞれ分割されている。第２次部分積加算器Ｓ３０１，Ｓ３０２は、上位部Ｓ３０１ａ，Ｓ３０２ａと下位部Ｓ３０１ｂ，Ｓ３０２ｂとにそれぞれ分割されている。第２次部分積加算器Ｓ３０３，Ｓ３０４は、上位部Ｓ３０３ａ，Ｓ３０４ａと、中位部Ｓ３０３ｂ，Ｓ３０４ｂと、下位部Ｓ３０３ｃ，Ｓ３０４ｃとにそれぞれ分割されている。第３次部分積加算器Ｔ３０１は、上位部Ｔ３０１ａと下位部Ｔ３０１ｂとに分割されている。第３次部分積加算器Ｔ３０２は、上位部Ｔ３０２ａと、中位部Ｔ３０２ｂと、下位部Ｔ３０２ｃとに分割されている。第４次部分積加算器Ｅ３０１は、上位部Ｅ３０１ａと、中位部Ｅ３０１ｂ，Ｅ３０１ｃと、下位部Ｅ３０１ｄとに分割されている。特に下位部Ｅ３０１ｄは、ワレス・ツリーアレイの中央部の行に配設されている。具体的に下位部Ｅ３０１ｄは、下位部Ｓ３０３ｃの直上に配設されている。また、上位部Ｅ３０１ａは、ワレス・ツリーアレイの下端の行に配設されている。具体的に上位部Ｅ３０１ａは、上位部Ｔ３０２ａの直下に配設されている。
【００３５】
上位部Ｂ３０１ａ〜Ｂ３０６ａ，Ｆ３０１ａ，Ｆ３０２ａ，Ｓ３０１ａ及び下位部Ｔ３０１ｂが配設されている領域では、矢印Ｄ１１で示すように加算の方向は上方から下方に向かう方向となる。また、下位部Ｂ３０１ｂ〜Ｂ３０６ｂ，Ｆ３０１ｂ，Ｆ３０２ｂ，Ｓ３０１ｂが配設されている領域では、矢印Ｄ１２で示すように加算の方向は下方から上方に向かう方向となる。また、上位部Ｂ３０７ａ〜Ｂ３１４ａ，Ｆ３０３ａ，Ｆ３０４ａ，Ｓ３０２ａ，Ｔ３０１ａが配設されている領域では、矢印Ｄ１３で示すように加算の方向は上方から下方に向かう方向となる。また、下位部Ｂ３０７ｂ〜Ｂ３１４ｂ，Ｆ３０３ｂ，Ｆ３０４ｂ，Ｓ３０２ｂ，Ｔ３０１ｂが配設されている領域では、矢印Ｄ１４で示すように加算の方向は下方から上方に向かう方向となる。また、上位部Ｂ３１５ａ〜Ｂ３２２ａ，Ｆ３０５ａ，Ｆ３０６ａ，Ｓ３０３ａ及び中位部Ｅ３０１ｂが配設されている領域では、矢印Ｄ１５で示すように加算の方向は上方から下方に向かう方向となる。また、中位部Ｂ３１５ｂ〜Ｂ３２２ｂ，Ｆ３０５ｂ，Ｆ３０６ｂ，Ｓ３０３ｂ，Ｅ３０１ｃが配設されている領域では、矢印Ｄ１６で示すように加算の方向は上方から下方に向かう方向となる。また、下位部Ｂ３１５ｃ〜Ｂ３２２ｃ，Ｆ３０５ｃ，Ｆ３０６ｃ，Ｓ３０３ｃ，Ｅ３０１ｄが配設されている領域では、矢印Ｄ１７で示すように加算の方向は下方から上方に向かう方向となる。また、上位部Ｂ３２３ａ〜Ｂ３２７ａ，Ｆ３０７ａ，Ｓ３０４ａ，Ｔ３０２ａ，Ｅ３０１ａが配設されている領域では、矢印Ｄ１８で示すように加算の方向は上方から下方に向かう方向となる。また、中位部Ｂ３２３ｂ〜Ｂ３２７ｂ，Ｆ３０７ｂ，Ｓ３０４ｂ，Ｔ３０２ｂ，Ｅ３０１ｂが配設されている領域では、矢印Ｄ１９で示すように加算の方向は下方から上方に向かう方向となる。また、下位部Ｂ３２３ｃ〜Ｂ３２７ｃ，Ｆ３０７ｃ，Ｓ３０４ｃ，Ｔ３０２ｃ及び中位部Ｅ３０１ｃが配設されている領域では、矢印Ｄ２０で示すように加算の方向は下方から上方に向かう方向となる。
【００３６】
図３，４に示した乗算装置によれば、ワレス・ツリー内の最大次数の部分積加算器である第４次部分積加算器Ｅ２０１が、上位部Ｅ２０１ａと下位部Ｅ２０１ｂとに分割されている。そして、上位部Ｅ２０１ａと下位部Ｅ２０１ｂとが、ワレス・ツリーアレイの互いに異なる行に配設されている。上位部Ｅ２０１ａのビット数（４３ビット）及び下位部Ｅ２０１ｂのビット数（３７ビット）は、いずれもブースセレクタＢ２０１〜Ｂ２２７のビット数（５５ビット）よりも少ないため、上位部Ｅ２０１ａ及び下位部Ｅ２０１ｂが、ブースセレクタＢ２０１〜Ｂ２２７よりも空間的に突出することはない。同様に、図５，６に示した乗算装置によれば、ワレス・ツリー内の最大次数の部分積加算器である第４次部分積加算器Ｅ３０１が、上位部Ｅ３０１ａと中位部Ｅ３０１ｂ，３０１ｃと下位部Ｅ３０１ｄとに分割されている。そして、上位部Ｅ３０１ａと中位部Ｅ３０１ｂ，３０１ｃと下位部Ｅ３０１ｄとが、ワレス・ツリーアレイの互いに異なる行に配設されている。上位部Ｅ３０１ａのビット数（１１ビット）、中位部Ｅ３０１ｂ，３０１ｃのビット数（５３ビット）、及び下位部Ｅ３０１ｄのビット数（１６ビット）は、いずれもブースセレクタＢ３０１〜Ｂ３２７のビット数（５５ビット）よりも少ないため、上位部Ｅ３０１ａ、中位部Ｅ３０１ｂ，３０１ｃ、及び下位部Ｅ３０１ｄが、ブースセレクタＢ３０１〜Ｂ３２７よりも空間的に突出することはない。従って、本実施の形態２に係る乗算装置によれば、第４次部分積加算器Ｅ２０１，Ｅ３０１の突出部に起因してワレス・ツリーアレイ内にデッドエリアが発生することを回避できる。
【００３７】
また、図３，４に示した乗算装置において、ワレス・ツリーアレイのクリティカルパスは、下位部Ｂ２２６ｂから、下位部Ｆ２０７ｂ，Ｓ２０４ｂ，Ｔ２０２ｂ，Ｅ２０１ｂ及び上位部Ｅ２０１ａをこの順に介して、最終加算器３に至る経路である。この経路内での最長の配線は、下位部Ｅ２０１ｂの最上位ビットに対応する加算素子のキャリーアウト端子ＣＯと、上位部Ｅ２０１ａの最下位ビットに対応する加算素子のキャリーイン端子ＣＩとを接続するキャリーパスの配線である。ところで、本実施の形態２に係る乗算装置によると、下位部Ｅ２０１ｂが、ワレス・ツリーアレイの中央部の行に配設されている。従って、下位部Ｅ２０１ｂがワレス・ツリーアレイの上端の行に配設されている乗算装置と比較すると、上記のキャリーパスの配線長が短くなるため、乗算速度が低下することを抑制できる。図５，６に示した乗算装置についても同様である。
【００３８】
実施の形態３．
図７は、本発明の実施の形態３に係る乗算装置のレイアウトを模式的に示す図である。図７では、図１に示したＸドライバ１及び最終加算器３の記載は省略している。上記実施の形態１に係る乗算装置では、ブースエンコーダ２がワレス・ツリーアレイの上辺左部に配設されていたが、本実施の形態３に係る乗算装置は、ブースエンコーダ２の代わりに、ワレス・ツリーアレイの中央部の行に配設されたブースエンコーダ２Ａを備えている。具体的にブースエンコーダ２Ａは、下位部Ｔ１０１ｂと下位部Ｓ１０２ｂとの間に配設されている。ブースエンコーダ２Ａは、ブースエンコーダ２と同様に、ブースのアルゴリズムに従って２５ビットの乗数を１３ビットの修正乗数（booth１〜booth１３）に削減して、それぞれブースセレクタＢ１０１〜Ｂ１１３に向けて出力する。
【００３９】
ブースエンコーダ２Ａは、ブースセレクタＢ１０１〜Ｂ１０６用の第１のドライバ（図示しない）と、ブースセレクタＢ１０７〜Ｂ１１３用の第２のドライバ（図示しない）とを有している。第１のドライバと第２のドライバとは、互いに並列化されている。
【００４０】
なお、ブースエンコーダ２をブースエンコーダ２Ａに置き換えた点を除き、本実施の形態３に係る乗算装置の構成・動作は、上記実施の形態１に係る乗算装置の構成・動作と同様であるため、詳細な説明は省略する。但し、本実施の形態３に係る発明は、上記実施の形態２に係る乗算装置にも適用可能である。
【００４１】
このように本実施の形態３に係る乗算装置によれば、第１のドライバからブースセレクタＢ１０１〜Ｂ１０６へ向けての修正乗数booth１〜booth６の出力動作と、第２のドライバからブースセレクタＢ１０７〜Ｂ１１３へ向けての修正乗数booth７〜booth１３の出力動作とを、同時に実行することが可能である。しかも、ブースエンコーダ２Ａと、ブースエンコーダ２Ａから最遠のブースセレクタ（ブースセレクタＢ１０１，Ｂ１１３）との間の配線の配線長は、図１に示したブースエンコーダ２と、ブースエンコーダ２から最遠のブースセレクタ（ブースセレクタＢ１１３）との間の配線の配線長の、約１／２に短縮されている。従って、本実施の形態３に係る乗算装置によれば、上記実施の形態１に係る乗算装置と比較して、ブースエンコーダ２ＡからブースセレクタＢ１０１〜Ｂ１１３へ向けての信号伝搬の高速化を図ることができる。
【００４２】
実施の形態４．
図８は、本発明の実施の形態４に係る乗算装置のレイアウトを模式的に示す図である。図８では、図１に示したブースエンコーダ２及び最終加算器３の記載は省略している。上記実施の形態１に係る乗算装置では、Ｘドライバ１がワレス・ツリーアレイの上辺に配設されていたが、本実施の形態４に係る乗算装置は、Ｘドライバ１の代わりに、ワレス・ツリーアレイの中央部の行に配設されたＸドライバ１Ａを備えている。具体的にＸドライバ１Ａは、下位部Ｔ１０１ｂと下位部Ｓ１０２ｂとの間に配設されている。Ｘドライバ１Ａは、Ｘドライバ１と同様に、被乗数を駆動するための駆動バッファとして機能し、ブースセレクタＢ１０１〜Ｂ１１３に被乗数を与える。
【００４３】
Ｘドライバ１Ａは、ブースセレクタＢ１０１〜Ｂ１０６用の第１のドライバ（図示しない）と、ブースセレクタＢ１０７〜Ｂ１１３用の第２のドライバ（図示しない）とを有している。第１のドライバと第２のドライバとは、互いに並列化されている。
【００４４】
なお、Ｘドライバ１をＸドライバ１Ａに置き換えた点を除き、本実施の形態４に係る乗算装置の構成・動作は、上記実施の形態１に係る乗算装置の構成・動作と同様であるため、詳細な説明は省略する。但し、本実施の形態４に係る発明は、上記実施の形態２，３に係る乗算装置にも適用可能である。
【００４５】
このように本実施の形態４に係る乗算装置によれば、第１のドライバからブースセレクタＢ１０１〜Ｂ１０６へ向けての被乗数の出力動作と、第２のドライバからブースセレクタＢ１０７〜Ｂ１１３へ向けての被乗数の出力動作とを、同時に実行することが可能である。しかも、Ｘドライバ１Ａと、Ｘドライバ１Ａから最遠のブースセレクタ（ブースセレクタＢ１０１，Ｂ１１３）との間の配線の配線長は、図１に示したＸドライバ１と、Ｘドライバ１から最遠のブースセレクタ（ブースセレクタＢ１１３）との間の配線の配線長の、約１／２に短縮されている。従って、本実施の形態４に係る乗算装置によれば、上記実施の形態１に係る乗算装置と比較して、Ｘドライバ１ＡからブースセレクタＢ１０１〜Ｂ１１３へ向けての信号伝搬の高速化を図ることができる。
【００４６】
実施の形態５．
図９は、本発明の実施の形態５に係る乗算装置のレイアウトを模式的に示す図である。図９では、図１に示したＸドライバ１及びブースエンコーダ２の記載は省略している。上記実施の形態１に係る乗算装置では、最終加算器３がワレス・ツリーアレイの下辺右部に配設されていたが、本実施の形態５に係る乗算装置は、最終加算器３の代わりに、ワレス・ツリーアレイの中央部の行に配設された最終加算器３Ａを備えている。具体的に最終加算器３Ａは、下位部Ｔ１０１ｂの直下に配設されている。最終加算器３Ａは、最終加算器３と同様に、下位部Ｓ１０１ｂ及び第３次部分積加算器Ｔ１０１から加算結果をそれぞれ入力し、最終加算器３Ａにおいて乗数と被乗数との乗算結果が得られる。
【００４７】
なお、最終加算器３を最終加算器３Ａに置き換えた点を除き、本実施の形態５に係る乗算装置の構成・動作は、上記実施の形態１に係る乗算装置の構成・動作と同様であるため、詳細な説明は省略する。但し、本実施の形態５に係る発明は、上記実施の形態２〜４に係る乗算装置にも適用可能である。
【００４８】
このように本実施の形態５に係る乗算装置によれば、第１のドライバからブースセレクタＢ１０１〜Ｂ１０６へ向けての被乗数の出力動作と、第２のドライバからブースセレクタＢ１０７〜Ｂ１１３へ向けての被乗数の出力動作とを、同時に実行することが可能である。しかも、Ｘドライバ１Ａと、Ｘドライバ１Ａから最遠のブースセレクタ（ブースセレクタＢ１０１，Ｂ１１３）との間の配線の配線長は、図１に示したＸドライバ１と、Ｘドライバ１から最遠のブースセレクタ（ブースセレクタＢ１１３）との間の配線の配線長の、約１／２に短縮されている。従って、本実施の形態４に係る乗算装置によれば、上記実施の形態１に係る乗算装置と比較して、Ｘドライバ１ＡからブースセレクタＢ１０１〜Ｂ１１３へ向けての信号伝搬の高速化を図ることができる。
【００４９】
実施の形態６．
図１０は、本発明の実施の形態６に係る乗算装置のレイアウトを模式的に示す図である。上記実施の形態１に係る乗算装置では、最終加算器３がワレス・ツリーアレイの下辺右部に配設されていたが、本実施の形態６に係る乗算装置は、最終加算器３の代わりに、被乗数の最下位から１２ビット目と１３ビット目との間を境界として二つに分割された、上位側の最終加算器３ａと下位側の最終加算器３ｂとを備えている。最終加算器３ａはワレス・ツリーアレイの下辺に配設されており、最終加算器３ｂは、下位部Ｓ１０１ｂに近接してワレス・ツリーアレイの上辺右部に配設されている。これにより、最終加算器３ａ，３ｂは、ワレス・ツリーアレイを上下に挟んで配設されている。最終加算器３ａは、第３次部分積加算器Ｔ１０１から第３次部分積を入力し、最終加算器３ｂは、下位部Ｓ１０１ｂから第２次部分積を入力する。そして、図１に示した最終加算器３と同様に、最終加算器３ａ，３ｂにおいて乗数と被乗数との乗算結果が得られる。
【００５０】
また、本実施の形態６に係る乗算装置は、上位部Ｔ１０１ａと最終加算器３ａとの間に介挿されたラッチ１０ａと、下位部Ｔ１０１ｂと最終加算器３ａとの間に介挿されたラッチ１０ｂと、最終加算器３ｂと最終加算器３ａとの間に介挿されたラッチ１０ｃとを備えている。上位部Ｔ１０１ａ及び下位部Ｔ１０１ｂから出力された各第３次部分積は、それぞれラッチ１０ａ，１０ｂを介して最終加算器３ａに入力される。また、最終加算器３ｂから出力されたキャリー信号は、ラッチ１０ｃを介して最終加算器３ａに入力される。つまり、ラッチ１０ａ〜１０ｃを介挿することによって、パイプライン構成で乗算装置が構築されている。
【００５１】
なお、以上説明した変更点を除き、本実施の形態６に係る乗算装置の構成・動作は、上記実施の形態１に係る乗算装置の構成・動作と同様であるため、詳細な説明は省略する。但し、本実施の形態６に係る発明は、上記実施の形態２〜４に係る乗算装置にも適用可能である。
【００５２】
このように本実施の形態６に係る乗算装置によれば、下位部Ｓ１０１ｂに近接して最終加算器３ｂが配設されているため、下位部Ｓ１０１ｂと最終加算器３ｂとの間の配線の配線長を短縮することができ、最終加算器３ｂにおける加算の高速化を図ることができる。
【００５３】
また、二つの最終加算器３ａ，３ｂをワレス・ツリーアレイを挟んで配設した場合は、下位側の最終加算器３ｂから上位側の最終加算器３ａへのキャリーパスがワレス・ツリーアレイをまたがって配線されるため、配線長が長くなって速度の低下を引き起こす。しかしながら、本実施の形態６に係る乗算装置によれば、ラッチ１０ａ〜１０ｃを介挿することによってパイプライン構成で乗算装置が構築されており、最終加算器３ｂから出力されたキャリー信号はラッチ１０ｃで一旦保持されてから最終加算器３ａに入力される。従って、上記の速度低下の問題を解消することができる。
【００５４】
変形例．
上記実施の形態１，２，４〜６に係る乗算装置において、ブースエンコーダ２は、設計要求に応じてワレス・ツリーアレイの上下左右の任意の辺に配設されてもよい。また、ブースエンコーダ２を省略して、乗数を修正することなくシフタ・インバータに入力する構成としてもよい。
【００５５】
上記実施の形態１〜３，５，６に係る乗算装置において、Ｘドライバ１は、設計要求に応じてワレス・ツリーアレイの上下左右の任意の辺に配設されてもよい。
【００５６】
上記実施の形態１〜４に係る乗算装置において、最終加算器３は、設計要求に応じてワレス・ツリーアレイの上下左右の任意の辺に配設されてもよい。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施の形態１に係る乗算装置のレイアウトを模式的に示す図である。
【図２】第１次部分積加算器の構成の一部を示す回路図である。
【図３】本発明の実施の形態２に係る乗算装置の第１のレイアウトを模式的に示す図である。
【図４】本発明の実施の形態２に係る乗算装置の第１のレイアウトを模式的に示す図である。
【図５】本発明の実施の形態２に係る乗算装置の第２のレイアウトを模式的に示す図である。
【図６】本発明の実施の形態２に係る乗算装置の第２のレイアウトを模式的に示す図である。
【図７】本発明の実施の形態３に係る乗算装置のレイアウトを模式的に示す図である。
【図８】本発明の実施の形態４に係る乗算装置のレイアウトを模式的に示す図である。
【図９】本発明の実施の形態５に係る乗算装置のレイアウトを模式的に示す図である。
【図１０】本発明の実施の形態６に係る乗算装置のレイアウトを模式的に示す図である。
【符号の説明】
【００５８】
１，１Ａ  Ｘドライバ、２，２Ａ  ブースエンコーダ、３，３Ａ，３ａ，３ｂ  最終加算器、Ｂ１０１〜Ｂ１１３，Ｂ２０１〜Ｂ２２７，Ｂ３０１〜Ｂ３２７  ブースセレクタ、Ｆ１０１〜Ｆ１０４，Ｆ２０１〜Ｆ２０７，Ｆ３０１〜Ｆ３０７  第１次部分積加算器、Ｓ１０１，Ｓ１０２，Ｓ２０１〜Ｓ２０４，Ｓ３０１〜Ｓ３０４  第２次部分積加算器、Ｔ１０１，Ｔ２０１，Ｔ２０２，Ｔ３０１，Ｔ３０２  第３次部分積加算器、Ｅ２０１，Ｅ３０１  第４次部分積加算器、Ｔ１０１ａ，Ｅ２０１ａ，Ｅ３０１ａ  上位部、Ｔ１０１ｂ，Ｅ２０１ｂ，Ｅ３０１ｂ  下位部、１０ａ〜１０ｃ  ラッチ。
【図１】
2005182238.tif 000003
【図２】
2005182238.tif 000004
【図３】
2005182238.tif 000005
【図４】
2005182238.tif 000006
【図５】
2005182238.tif 000007
【図６】
2005182238.tif 000008
【図７】
2005182238.tif 000009
【図８】
2005182238.tif 000010
【図９】
2005182238.tif 000011
【図１０】
2005182238.tif 000012