JP3477816B2 - トリー加算器及び乗算器 - Google Patents
トリー加算器及び乗算器Info
- Publication number
- JP3477816B2 JP3477816B2 JP11534594A JP11534594A JP3477816B2 JP 3477816 B2 JP3477816 B2 JP 3477816B2 JP 11534594 A JP11534594 A JP 11534594A JP 11534594 A JP11534594 A JP 11534594A JP 3477816 B2 JP3477816 B2 JP 3477816B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- adder
- cells
- tree
- bit
- 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
Links
Description
【0001】
【産業上の利用分野】本発明は、半導体集積回路におい
て、高集積化を実現し、任意のビット数の生成を容易に
実現するトリー加算器及び乗算器に関する。
て、高集積化を実現し、任意のビット数の生成を容易に
実現するトリー加算器及び乗算器に関する。
【0002】
【従来の技術】近年、CAD技術の発展により、LSI
上でメモリ、乗算器等の規則性を持つ回路を実現する場
合、任意のビット数、ワード数等より自動生成する方法
が主流になっている。このような乗算器を実現する場
合、日経エレクトロニクス 1978.5.29号,p.70〜89「L
SI化が進む並列演算方式による乗算器の回路方式を見
る」に記載されたキャリーセーブ方式を採用するのが普
通であり、高速化を実現する場合は、前記文献に記載さ
れた2次のブースのアルゴリズムによる乗数リコード方
式を用いる。キャリーセーブ方式は規則性が高いため自
動生成に適しており、また、配線による複雑さが最小で
あるためLSIの高集積化に適しているが、演算速度が
遅いという欠点を持つ。そこで、さらに高速化を実現す
る場合、キャリーセーブ方式でなくトリー加算方式を用
いるが、論理段数の低減に伴い規則性を低減させ、ま
た、配線による複雑さを増大させる傾向にある。規則性
を保持し、また、配線による複雑さを抑えて高速化を実
現するためのトリー加算方式として、特開平2−112
020号公報に記載された2進トリー加算方式がある。
上でメモリ、乗算器等の規則性を持つ回路を実現する場
合、任意のビット数、ワード数等より自動生成する方法
が主流になっている。このような乗算器を実現する場
合、日経エレクトロニクス 1978.5.29号,p.70〜89「L
SI化が進む並列演算方式による乗算器の回路方式を見
る」に記載されたキャリーセーブ方式を採用するのが普
通であり、高速化を実現する場合は、前記文献に記載さ
れた2次のブースのアルゴリズムによる乗数リコード方
式を用いる。キャリーセーブ方式は規則性が高いため自
動生成に適しており、また、配線による複雑さが最小で
あるためLSIの高集積化に適しているが、演算速度が
遅いという欠点を持つ。そこで、さらに高速化を実現す
る場合、キャリーセーブ方式でなくトリー加算方式を用
いるが、論理段数の低減に伴い規則性を低減させ、ま
た、配線による複雑さを増大させる傾向にある。規則性
を保持し、また、配線による複雑さを抑えて高速化を実
現するためのトリー加算方式として、特開平2−112
020号公報に記載された2進トリー加算方式がある。
【0003】以下図面を参照しながら、上記した従来の
2進トリー加算方式の乗算器の一例として32ビットの
乗算器のトリー加算器について説明する。
2進トリー加算方式の乗算器の一例として32ビットの
乗算器のトリー加算器について説明する。
【0004】図19は従来の乗算器のトリー加算器の構
成を示すものである。図において、201〜216は部
分積発生器であり、2次のブースのアルゴリズムにより
16個の部分積を発生する。221〜236は補数化信
号発生器であり、各部分積の補数化信号を発生する。2
51〜257は加算器であり、第1段目の加算器25
1、252、254、255で4つの部分積の加算を行
い、以降は加算器253、256、257で2進トリー
状に部分積の加算を行う。261、271〜274は加
算器であり、部分積と共に部分積の補数化信号の加算を
行うために追加した加算器である。図2に加算器251
〜257の構成を示す。加算器251〜257はそれぞ
れ4つのデータと1つの桁上げを入力として1つの和と
2つの桁上げを出力する単位加算器183を必要なビッ
ト数だけ並列に並べることにより構成される。単位加算
器183は図に示すように全加算器181、182を用
いて全加算器2段で構成できるが、等価な動作を行う5
入力3出力の加算器より構成しても良い。加算器26
1、271〜274は全加算器または半加算器を必要な
ビット数だけ並列に並べることにより構成される。
成を示すものである。図において、201〜216は部
分積発生器であり、2次のブースのアルゴリズムにより
16個の部分積を発生する。221〜236は補数化信
号発生器であり、各部分積の補数化信号を発生する。2
51〜257は加算器であり、第1段目の加算器25
1、252、254、255で4つの部分積の加算を行
い、以降は加算器253、256、257で2進トリー
状に部分積の加算を行う。261、271〜274は加
算器であり、部分積と共に部分積の補数化信号の加算を
行うために追加した加算器である。図2に加算器251
〜257の構成を示す。加算器251〜257はそれぞ
れ4つのデータと1つの桁上げを入力として1つの和と
2つの桁上げを出力する単位加算器183を必要なビッ
ト数だけ並列に並べることにより構成される。単位加算
器183は図に示すように全加算器181、182を用
いて全加算器2段で構成できるが、等価な動作を行う5
入力3出力の加算器より構成しても良い。加算器26
1、271〜274は全加算器または半加算器を必要な
ビット数だけ並列に並べることにより構成される。
【0005】以上のように構成したトリー加算器をLS
I上で実現するためのレイアウト方法について説明す
る。図19に示すように、2次のブースのアルゴリズム
を用いることにより、トリー加算器は部分積発生器20
1〜216が隣合う部分積発生器に対して2ビットシフ
トした形で構成される。これにより、部分積発生器20
1〜216及び加算器251〜257をビット位置を揃
えて配置した場合、トリー加算器は平行四辺形状のレイ
アウトになる。しかしながら、LSI上のレイアウトで
は矩形にする必要があるため、上位ビット用トリー加算
器281と下位ビット用トリー加算器282に分割し、
それそれが矩形になるようにレイアウトを行う。また、
トリー加算器は規則性を持つため、いくつかの1ビット
の基本セルに分割し、基本セルを並べることによりレイ
アウトを行う。上位ビット用トリー加算器は部分積発生
器を含むセルと単位加算器を含むセルを基本セルとし、
下位ビット用トリー加算器では全加算器または半加算器
を含むセルと単位加算器を含むセルを基本セルとする。
I上で実現するためのレイアウト方法について説明す
る。図19に示すように、2次のブースのアルゴリズム
を用いることにより、トリー加算器は部分積発生器20
1〜216が隣合う部分積発生器に対して2ビットシフ
トした形で構成される。これにより、部分積発生器20
1〜216及び加算器251〜257をビット位置を揃
えて配置した場合、トリー加算器は平行四辺形状のレイ
アウトになる。しかしながら、LSI上のレイアウトで
は矩形にする必要があるため、上位ビット用トリー加算
器281と下位ビット用トリー加算器282に分割し、
それそれが矩形になるようにレイアウトを行う。また、
トリー加算器は規則性を持つため、いくつかの1ビット
の基本セルに分割し、基本セルを並べることによりレイ
アウトを行う。上位ビット用トリー加算器は部分積発生
器を含むセルと単位加算器を含むセルを基本セルとし、
下位ビット用トリー加算器では全加算器または半加算器
を含むセルと単位加算器を含むセルを基本セルとする。
【0006】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、2進トリーの第1段目の単位加算器は4
つの部分積を入力とするため、部分積発生器を含む基本
セルは部分積を発生すると共に、最大で3つの部分積と
2進トリーを構成するのに必要なデータの数を通過させ
るためのフィード用の配線を備える必要があり、配線に
より面積を増大させるという問題を有していた。部分積
発生器を含む基本セルは乗算器の面積の大部分を占める
上位ビット用トリー加算器の基本セルであるため、乗算
器全体の面積を増大させることになる。
うな構成では、2進トリーの第1段目の単位加算器は4
つの部分積を入力とするため、部分積発生器を含む基本
セルは部分積を発生すると共に、最大で3つの部分積と
2進トリーを構成するのに必要なデータの数を通過させ
るためのフィード用の配線を備える必要があり、配線に
より面積を増大させるという問題を有していた。部分積
発生器を含む基本セルは乗算器の面積の大部分を占める
上位ビット用トリー加算器の基本セルであるため、乗算
器全体の面積を増大させることになる。
【0007】従って本発明の目的は、高集積化を実現
し、任意のビット数の生成を容易に実現するトリー加算
器を提供することにある。
し、任意のビット数の生成を容易に実現するトリー加算
器を提供することにある。
【0008】
【課題を解決するための手段】上記問題点を解決するた
めに本発明のトリー加算器は、第1の部分積発生器とシ
フト用の配線を含む第1のセルと、第2の部分積発生器
と第1の全加算器とシフト用の配線を含む第2のセル
と、4つのデータと1つの桁上げを入力として1つの和
と2つの桁上げを出力する第1の単位加算器とフィード
用の配線を含む第3のセルと、第1の半加算器を含む第
4のセルを備え、並べた第1のセルと第2のセルの合計
個数をn、部分積の個数をpとすると、(数1)で定義
されたf1(n)が0または1であれば、第1のセルを乗数
の下位ビット側から上位ビット側へ並べ、f1(n)が2ま
たは3であれば、第2のセルを乗数の下位ビット側から
上位ビット側へ並べ、第1のセルまたは第2のセルを並
べるたびに並べた後でnを1インクリメントし、nが8
の倍数またはpに等しくなれば、(数2)のf2(n)で定
義された個数だけ第3のセルを続いて並べ、nが前記p
に等しければ、セル4を続いて並べて乗数のビット方向
のセルの配置を終え、被乗数のビット方向に隣合うセル
が同じになるように被乗数のビット数だけ第1のセルと
第2のセルと第3のセルと第4のセルを並べたものであ
る。
めに本発明のトリー加算器は、第1の部分積発生器とシ
フト用の配線を含む第1のセルと、第2の部分積発生器
と第1の全加算器とシフト用の配線を含む第2のセル
と、4つのデータと1つの桁上げを入力として1つの和
と2つの桁上げを出力する第1の単位加算器とフィード
用の配線を含む第3のセルと、第1の半加算器を含む第
4のセルを備え、並べた第1のセルと第2のセルの合計
個数をn、部分積の個数をpとすると、(数1)で定義
されたf1(n)が0または1であれば、第1のセルを乗数
の下位ビット側から上位ビット側へ並べ、f1(n)が2ま
たは3であれば、第2のセルを乗数の下位ビット側から
上位ビット側へ並べ、第1のセルまたは第2のセルを並
べるたびに並べた後でnを1インクリメントし、nが8
の倍数またはpに等しくなれば、(数2)のf2(n)で定
義された個数だけ第3のセルを続いて並べ、nが前記p
に等しければ、セル4を続いて並べて乗数のビット方向
のセルの配置を終え、被乗数のビット方向に隣合うセル
が同じになるように被乗数のビット数だけ第1のセルと
第2のセルと第3のセルと第4のセルを並べたものであ
る。
【0009】また、他の本発明のトリー加算器は、第2
の全加算器とフィード用の配線を含む第6のセルと、4
つのデータと1つの桁上げを入力として1つの和と2つ
の桁上げを出力する第2の単位加算器とフィード用の配
線を含む第7のセルを備え、並べた1ビットの加算用セ
ルの個数に2を掛けた後で1を加えたものをn、部分積
の個数をpとすると、第6のセルと(数2)のf2(n)で
定義された個数だけ第7のセルを並べたものを1ビット
の加算用のセルとし、1ビットの加算用セルを下位ビッ
ト側から上位ビット側へ2個並べ、1ビットの加算用セ
ルを2個並べるたびに並べた後でnを1インクリメント
し、nがp+1に等しければセルの配置を終えるもので
ある。
の全加算器とフィード用の配線を含む第6のセルと、4
つのデータと1つの桁上げを入力として1つの和と2つ
の桁上げを出力する第2の単位加算器とフィード用の配
線を含む第7のセルを備え、並べた1ビットの加算用セ
ルの個数に2を掛けた後で1を加えたものをn、部分積
の個数をpとすると、第6のセルと(数2)のf2(n)で
定義された個数だけ第7のセルを並べたものを1ビット
の加算用のセルとし、1ビットの加算用セルを下位ビッ
ト側から上位ビット側へ2個並べ、1ビットの加算用セ
ルを2個並べるたびに並べた後でnを1インクリメント
し、nがp+1に等しければセルの配置を終えるもので
ある。
【0010】
【作用】本発明は上記した構成によって、トリー加算器
の第1段目の全加算器で3つの部分積の加算を行い、続
いて第2段目の全加算器で1つの部分積と第1段目の全
加算器の出力する2つのデータの加算を行うことによ
り、4つの部分積の加算を行う。基本セルに分割した場
合、部分積発生器を含む基本セルと、部分積発生器と全
加算器を含む基本セルより構成され、これらの基本セル
は最大で2つの部分積または全加算器の出力する2つの
データと、2進トリーを構成するのに必要なデータを通
過させるためのフィード用の配線を備えることとなり、
配線の本数を低減することができる。これにより乗算器
の面積の大分を占める上位ビット用トリー加算器の集積
度を上げることができる。
の第1段目の全加算器で3つの部分積の加算を行い、続
いて第2段目の全加算器で1つの部分積と第1段目の全
加算器の出力する2つのデータの加算を行うことによ
り、4つの部分積の加算を行う。基本セルに分割した場
合、部分積発生器を含む基本セルと、部分積発生器と全
加算器を含む基本セルより構成され、これらの基本セル
は最大で2つの部分積または全加算器の出力する2つの
データと、2進トリーを構成するのに必要なデータを通
過させるためのフィード用の配線を備えることとなり、
配線の本数を低減することができる。これにより乗算器
の面積の大分を占める上位ビット用トリー加算器の集積
度を上げることができる。
【0011】また、特定の配置アルゴリズムで基本セル
を並べることによりトリー加算器を構成するため、任意
のビット数のトリー加算器及び乗算器の生成を容易に実
現する。
を並べることによりトリー加算器を構成するため、任意
のビット数のトリー加算器及び乗算器の生成を容易に実
現する。
【0012】
【実施例】以下本発明の一実施例の乗算器の一例として
32ビットの乗算器について、図面を参照しながら説明
する。
32ビットの乗算器について、図面を参照しながら説明
する。
【0013】図1は本発明の実施例における乗算器のト
リー加算器の構成を示すものである。図1において、1
01〜116は部分積発生器であり、2次のブースのア
ルゴリズムにより16個の部分積を発生する。121〜
136は補数化信号発生器であり、各部分積の補数化信
号を発生する。141〜148、151〜153は加算
器であり、第1段目の加算器141、143、145、
147で3つの部分積の加算を行い、第2段目の加算器
142、144、146、148で1つの部分積と第1
段目の加算器の出力である2つのデータの加算を行い、
以降は加算器151〜153で2進トリー状に部分積の
加算を行う。161、171〜178は加算器であり、
部分積の加算と共に部分積の補数化信号の加算を行うた
めに追加した加算器である。図3に加算器141〜14
8の構成を示す。加算器141〜148はそれぞれ全加
算器184を必要なビット数だけ並列に並べることによ
り構成される。図2に加算器151〜153の構成を示
す。加算器151〜153はそれぞれ4つのデータと1
つの桁上げを入力して1つの和と2つの桁上げを出力す
る単位加算器183を必要なビット数だけ並列に並べる
ことにより構成される。単位加算器は図に示すように全
加算器181、182を用いて全加算器2段で構成でき
るが、等価な動作を行う5入力3出力の加算器より構成
しても良い。図4に加算器161の構成を示す。加算器
161は半加算器を必要なビット数だけ並列に並べるこ
とにより構成される。加算器171〜178は全加算器
または半加算器を必要なビット数だけ並列に並べること
により構成される。
リー加算器の構成を示すものである。図1において、1
01〜116は部分積発生器であり、2次のブースのア
ルゴリズムにより16個の部分積を発生する。121〜
136は補数化信号発生器であり、各部分積の補数化信
号を発生する。141〜148、151〜153は加算
器であり、第1段目の加算器141、143、145、
147で3つの部分積の加算を行い、第2段目の加算器
142、144、146、148で1つの部分積と第1
段目の加算器の出力である2つのデータの加算を行い、
以降は加算器151〜153で2進トリー状に部分積の
加算を行う。161、171〜178は加算器であり、
部分積の加算と共に部分積の補数化信号の加算を行うた
めに追加した加算器である。図3に加算器141〜14
8の構成を示す。加算器141〜148はそれぞれ全加
算器184を必要なビット数だけ並列に並べることによ
り構成される。図2に加算器151〜153の構成を示
す。加算器151〜153はそれぞれ4つのデータと1
つの桁上げを入力して1つの和と2つの桁上げを出力す
る単位加算器183を必要なビット数だけ並列に並べる
ことにより構成される。単位加算器は図に示すように全
加算器181、182を用いて全加算器2段で構成でき
るが、等価な動作を行う5入力3出力の加算器より構成
しても良い。図4に加算器161の構成を示す。加算器
161は半加算器を必要なビット数だけ並列に並べるこ
とにより構成される。加算器171〜178は全加算器
または半加算器を必要なビット数だけ並列に並べること
により構成される。
【0014】以上のように構成したトリー加算器をLS
I上で実現するためのレイアウト方法について説明す
る。図1に示すように、2次のブースのアルゴリズムを
用いることにより、トリー加算器は部分積発生器101
〜116が隣合う部分積発生器に対して2ビットシフト
した形で構成される。これにより、部分積発生器101
〜116及び加算器141〜148、151〜153を
ビット位置を揃えて配置した場合、トリー加算器は平行
四辺形状のレイアウトになる。しかしながら、LSI上
のレイアウトでは、上位ビット用トリー加算器181と
下位ビット用トリー加算器182に分割して、それそれ
が矩形になるようにレイアウトを行う。矩形のレイアウ
トは、部分積発生器及び加算器をビット位置を揃えて配
置した場合のフィード用の配線の一部を2ビットシフト
用の配線にすることにより実現される。また、トリー加
算器は規則性を持つため、いくつかの1ビットの基本セ
ルに分割し、基本セルを並べることによりレイアウトを
行う。
I上で実現するためのレイアウト方法について説明す
る。図1に示すように、2次のブースのアルゴリズムを
用いることにより、トリー加算器は部分積発生器101
〜116が隣合う部分積発生器に対して2ビットシフト
した形で構成される。これにより、部分積発生器101
〜116及び加算器141〜148、151〜153を
ビット位置を揃えて配置した場合、トリー加算器は平行
四辺形状のレイアウトになる。しかしながら、LSI上
のレイアウトでは、上位ビット用トリー加算器181と
下位ビット用トリー加算器182に分割して、それそれ
が矩形になるようにレイアウトを行う。矩形のレイアウ
トは、部分積発生器及び加算器をビット位置を揃えて配
置した場合のフィード用の配線の一部を2ビットシフト
用の配線にすることにより実現される。また、トリー加
算器は規則性を持つため、いくつかの1ビットの基本セ
ルに分割し、基本セルを並べることによりレイアウトを
行う。
【0015】図5に乗算器のレイアウトの一例を示す。
図において、23は2次のブースのアルゴリズムによる
乗数リコード回路であり、乗数のリコードを行う。24
は符号処理信号発生回路であり、部分積の符号処理を行
うための信号を発生する。21は上位ビット用トリー加
算器、22は下位ビット用トリー加算器であり、乗数リ
コード回路23のリコード結果を用いて部分積を発生さ
せて部分積の加算を行い、部分和、部分桁上げを出力す
る。25は桁上げ伝搬加算器であり、上位ビット用トリ
ー加算器21と下位ビット用トリー加算器22が出力す
る部分和、部分桁上げの桁上げ伝搬加算を行い、積を出
力する。
図において、23は2次のブースのアルゴリズムによる
乗数リコード回路であり、乗数のリコードを行う。24
は符号処理信号発生回路であり、部分積の符号処理を行
うための信号を発生する。21は上位ビット用トリー加
算器、22は下位ビット用トリー加算器であり、乗数リ
コード回路23のリコード結果を用いて部分積を発生さ
せて部分積の加算を行い、部分和、部分桁上げを出力す
る。25は桁上げ伝搬加算器であり、上位ビット用トリ
ー加算器21と下位ビット用トリー加算器22が出力す
る部分和、部分桁上げの桁上げ伝搬加算を行い、積を出
力する。
【0016】上位ビット用トリー加算器はセル1〜5を
並べることにより構成され、下位ビット用トリー加算器
はセル6〜8、10〜12を並べることにより構成され
る。上位ビット用トリー加算器と下位ビット用トリー加
算器の基本セルは、基本セル数を最小にするためにセル
の大きさを揃える必要がある。上位ビット用トリー加算
器のセル1、2、5の高さは下位ビット用トリー加算器
の2ビット分に相当しているため、セル1、2、5の高
さを統一し、下位ビット用トリー加算器のセル6〜8の
高さをセル1、2、5の半分にする。また、上位ビット
用トリー加算器のセル3の高さを下位ビット用トリー加
算器のセル10、11に揃え、上位ビット用トリー加算
器のセル4と下位ビット用トリー加算器のセル12の高
さを揃える。
並べることにより構成され、下位ビット用トリー加算器
はセル6〜8、10〜12を並べることにより構成され
る。上位ビット用トリー加算器と下位ビット用トリー加
算器の基本セルは、基本セル数を最小にするためにセル
の大きさを揃える必要がある。上位ビット用トリー加算
器のセル1、2、5の高さは下位ビット用トリー加算器
の2ビット分に相当しているため、セル1、2、5の高
さを統一し、下位ビット用トリー加算器のセル6〜8の
高さをセル1、2、5の半分にする。また、上位ビット
用トリー加算器のセル3の高さを下位ビット用トリー加
算器のセル10、11に揃え、上位ビット用トリー加算
器のセル4と下位ビット用トリー加算器のセル12の高
さを揃える。
【0017】図6〜図10に上位ビット用トリー加算器
の基本セルの構成を示す。図6はセル1であり、部分積
発生器31と2ビットシフト用の配線を備える。セル1
は乗数リコード回路の出力であるBX1,BX2,BCと被乗数X1
と被乗数の下位1ビットであるX2を入力として部分積発
生器31で部分積を発生し、R5に出力する。また、T0〜
T4をR4〜R0に出力し、L0〜L5をR6〜R11に出力し、L6〜L
11をB5〜B0に出力しており、同様な配線を備えるセルを
並べることにより2ビットシフトを実現する。
の基本セルの構成を示す。図6はセル1であり、部分積
発生器31と2ビットシフト用の配線を備える。セル1
は乗数リコード回路の出力であるBX1,BX2,BCと被乗数X1
と被乗数の下位1ビットであるX2を入力として部分積発
生器31で部分積を発生し、R5に出力する。また、T0〜
T4をR4〜R0に出力し、L0〜L5をR6〜R11に出力し、L6〜L
11をB5〜B0に出力しており、同様な配線を備えるセルを
並べることにより2ビットシフトを実現する。
【0018】図7はセル2であり、部分積発生器32と
全加算器33と2ビットシフト用の配線を備える。セル
2はセル1と同様に発生した部分積とT0,T1を入力とし
て全加算器33で加算を行い、和をR4、桁上げをR11に
出力する。また、T2〜T5をR3〜R0に出力し、L0〜L4をR6
〜R10に出力し、L6〜L11をB0〜B5に出力しており、同様
な配線を備えるセルを並べることにより2ビットのシフ
トを実現する。
全加算器33と2ビットシフト用の配線を備える。セル
2はセル1と同様に発生した部分積とT0,T1を入力とし
て全加算器33で加算を行い、和をR4、桁上げをR11に
出力する。また、T2〜T5をR3〜R0に出力し、L0〜L4をR6
〜R10に出力し、L6〜L11をB0〜B5に出力しており、同様
な配線を備えるセルを並べることにより2ビットのシフ
トを実現する。
【0019】図8はセル3であり、単位加算器34とフ
ィード用の配線を備える。セル3はT0,T1,T2,T3,R0を入
力として単位加算器34で加算を行い、和をB1、桁上げ
をL0,L1に出力し、また、T4,T5をB2,B3に出力し、R1をB
0に出力する。
ィード用の配線を備える。セル3はT0,T1,T2,T3,R0を入
力として単位加算器34で加算を行い、和をB1、桁上げ
をL0,L1に出力し、また、T4,T5をB2,B3に出力し、R1をB
0に出力する。
【0020】図9はセル4であり、半加算器35を備え
る。セル4はT0,T1を入力として半加算器35で加算を
行い、和をB1、桁上げをL0に出力し、また、R0をB0に出
力する。
る。セル4はT0,T1を入力として半加算器35で加算を
行い、和をB1、桁上げをL0に出力し、また、R0をB0に出
力する。
【0021】図10はセル5であり、セル1と同様に部
分積発生器36と2ビットシフト用の配線を備える。セ
ル5はセル1におけるL6〜L11をB5〜B0に出力する配線
をずらしたものであり、セル5はB0を論理値0にしてL7
〜L11をB5〜B1に出力する。
分積発生器36と2ビットシフト用の配線を備える。セ
ル5はセル1におけるL6〜L11をB5〜B0に出力する配線
をずらしたものであり、セル5はB0を論理値0にしてL7
〜L11をB5〜B1に出力する。
【0022】セル1〜5を並べる場合、X1,X2,BX1,BX2,
BCをそれぞれOX1,OX2,OBX1,OBX2,OBCに接続し、T0〜T5
をB0〜B5、L0〜L11をR0〜R11に接続するように隣合うセ
ルを並べる。隣合うセルがあるのにもかかわらず接続す
る端子がない場合は未接続のままセルを並べる。
BCをそれぞれOX1,OX2,OBX1,OBX2,OBCに接続し、T0〜T5
をB0〜B5、L0〜L11をR0〜R11に接続するように隣合うセ
ルを並べる。隣合うセルがあるのにもかかわらず接続す
る端子がない場合は未接続のままセルを並べる。
【0023】上位ビット用トリー加算器のレイアウト
は、第1段目の全加算器で3つの部分積の加算を行い、
第2段目の全加算器で1つの部分積と第1段目の全加算
器の出力である2つのデータの加算を行い、続いて単位
加算器を構成要素とした2進トリー状に部分積の加算を
行い、最後に半加算器で加算を行うようにセル1〜5を
並べることにより行われる。
は、第1段目の全加算器で3つの部分積の加算を行い、
第2段目の全加算器で1つの部分積と第1段目の全加算
器の出力である2つのデータの加算を行い、続いて単位
加算器を構成要素とした2進トリー状に部分積の加算を
行い、最後に半加算器で加算を行うようにセル1〜5を
並べることにより行われる。
【0024】図11に上位ビット用トリー加算器におけ
るセル1〜5の配置アルゴリズムのフローチャートを示
す。この配置アルゴリズムについて以下に説明する。
るセル1〜5の配置アルゴリズムのフローチャートを示
す。この配置アルゴリズムについて以下に説明する。
【0025】まず、並べたセル1、2、5の合計個数を
n、部分積の個数をpとし、乗数の下位ビット側から上
位ビット側へセルの配置を始める。(数1)で定義され
たf1(n)が0であり、nとp−1が等しければセル5を
並べ、f1(n)が0であり、nとp−1が等しくなければ
セル1を並べ、f1(n)が1であればセル1を並べ、f1(n)
が2または3であればセル2を並べる。1つセルを並べ
るたびに並べた後でnを1インクリメントする。nが8
の倍数またはpに等しくなれば、(数2)のf2(n)で定
義された個数だけセル3を並べる。nがpに等しければ
セル4を並べ、乗数のビット方向のセルの配置を終え
る。次に、被乗数のビット方向に隣合うセルが同じにな
るように被乗数のビット数だけセル1〜5を並べて上位
ビット用トリー加算器のセルの配置を終える。
n、部分積の個数をpとし、乗数の下位ビット側から上
位ビット側へセルの配置を始める。(数1)で定義され
たf1(n)が0であり、nとp−1が等しければセル5を
並べ、f1(n)が0であり、nとp−1が等しくなければ
セル1を並べ、f1(n)が1であればセル1を並べ、f1(n)
が2または3であればセル2を並べる。1つセルを並べ
るたびに並べた後でnを1インクリメントする。nが8
の倍数またはpに等しくなれば、(数2)のf2(n)で定
義された個数だけセル3を並べる。nがpに等しければ
セル4を並べ、乗数のビット方向のセルの配置を終え
る。次に、被乗数のビット方向に隣合うセルが同じにな
るように被乗数のビット数だけセル1〜5を並べて上位
ビット用トリー加算器のセルの配置を終える。
【0026】図12〜図17に下位ビット用トリー加算
器の基本セルを示す。図12はセル6であり、全加算器
41とフィード用の配線を備える。セル6はT0,T1,T2を
入力として全加算器41で加算を行い、和をB1、桁上げ
をL0に出力し、また、T3〜T6をB2〜B5に出力し、R0をB0
に出力する。
器の基本セルを示す。図12はセル6であり、全加算器
41とフィード用の配線を備える。セル6はT0,T1,T2を
入力として全加算器41で加算を行い、和をB1、桁上げ
をL0に出力し、また、T3〜T6をB2〜B5に出力し、R0をB0
に出力する。
【0027】図13はセル7であり、単位加算器42と
フィード用の配線を備える。セル7はT0,T1,T2,T3,R0を
入力として単位加算器42で加算を行い、和をB1、桁上
げをL0,L1に出力し、また、T4,T5をB2,B3に出力し、R1
をB0に出力する。
フィード用の配線を備える。セル7はT0,T1,T2,T3,R0を
入力として単位加算器42で加算を行い、和をB1、桁上
げをL0,L1に出力し、また、T4,T5をB2,B3に出力し、R1
をB0に出力する。
【0028】図14はセル8であり、半加算器43とフ
ィード用の配線を備える。セル8はT0,T1を入力として
半加算器43で加算を行い、和をB1、桁上げをL0に出力
し、また、T2〜T5をB2〜B5に出力し、R0をB0に出力す
る。
ィード用の配線を備える。セル8はT0,T1を入力として
半加算器43で加算を行い、和をB1、桁上げをL0に出力
し、また、T2〜T5をB2〜B5に出力し、R0をB0に出力す
る。
【0029】図15、図16、図17はそれぞれセル1
0、セル11、セル12であり、桁上げを上位に伝搬さ
せるための配線を備える。セル10はR0をT1に出力し、
B1をT0に出力し、B0をL0に出力する。セル11はR0,R1
をT1,T0に出力し、B0,B1をL1,L0に出力する。セル12
はR0をT0に出力する。
0、セル11、セル12であり、桁上げを上位に伝搬さ
せるための配線を備える。セル10はR0をT1に出力し、
B1をT0に出力し、B0をL0に出力する。セル11はR0,R1
をT1,T0に出力し、B0,B1をL1,L0に出力する。セル12
はR0をT0に出力する。
【0030】セル6〜8とセル10〜12を並べる場
合、T0〜T5をB0〜B5、L0〜L1をR0〜R1に接続するように
隣合うセルを並べる。隣合うセルがあるのにもかかわら
ず接続する端子がない場合、未接続のままセルを並べ
る。
合、T0〜T5をB0〜B5、L0〜L1をR0〜R1に接続するように
隣合うセルを並べる。隣合うセルがあるのにもかかわら
ず接続する端子がない場合、未接続のままセルを並べ
る。
【0031】下位ビット用トリー加算器のレイアウト
は、上位ビット用トリー加算器より出力されるデータと
部分積の補数化信号の加算を行い、続いて単位加算器を
構成要素とした2進トリー状に上位ビット用トリー加算
器より出力されるデータと部分積の補数化信号の加算を
行うようにセル6〜8、10〜12を並べることにより
行われる。
は、上位ビット用トリー加算器より出力されるデータと
部分積の補数化信号の加算を行い、続いて単位加算器を
構成要素とした2進トリー状に上位ビット用トリー加算
器より出力されるデータと部分積の補数化信号の加算を
行うようにセル6〜8、10〜12を並べることにより
行われる。
【0032】図18に下位ビット用トリー加算器におけ
るセル6〜8、10〜12の配置アルゴリズムのフロー
チャートを示す。この配置アルゴリズムについて以下に
説明する。
るセル6〜8、10〜12の配置アルゴリズムのフロー
チャートを示す。この配置アルゴリズムについて以下に
説明する。
【0033】まず、並べた1ビットの加算用セルの個数
×2+1をn、部分積の数をpとし、下位ビット側から
上位ビット側へセルの配置を始める。(数1)で定義さ
れたf1(n)が1ならば、セル6と(数2)のf2(n)で定義
された個数だけセル7を並べたものを1ビットの加算用
セルとし、f1(n)が1でなければ、セル6とf2(n)で定義
された個数だけセル7を並べたものを1ビットの加算用
セルし、1ビットの加算用セルを2個並べる。1ビット
の加算用セルを2個並べるたびに並べた後でnを1イン
クリメントする。n−1が8の倍数またはpに等しけれ
ば、セル10とf2(n)で定義された個数だけセル11を
並べたものを配線用セルとし、配線用のセルをf2(n)で
定義された個数だけ並べる。n−1がpに等しければセ
ル12を並べ、セルの配置を終える。
×2+1をn、部分積の数をpとし、下位ビット側から
上位ビット側へセルの配置を始める。(数1)で定義さ
れたf1(n)が1ならば、セル6と(数2)のf2(n)で定義
された個数だけセル7を並べたものを1ビットの加算用
セルとし、f1(n)が1でなければ、セル6とf2(n)で定義
された個数だけセル7を並べたものを1ビットの加算用
セルし、1ビットの加算用セルを2個並べる。1ビット
の加算用セルを2個並べるたびに並べた後でnを1イン
クリメントする。n−1が8の倍数またはpに等しけれ
ば、セル10とf2(n)で定義された個数だけセル11を
並べたものを配線用セルとし、配線用のセルをf2(n)で
定義された個数だけ並べる。n−1がpに等しければセ
ル12を並べ、セルの配置を終える。
【0034】上位ビット用トリー加算器と下位ビット用
トリー加算器の接続において、下位ビット用トリー加算
器には未接続の入力があり、通常は未接続の入力を論理
値0にする。
トリー加算器の接続において、下位ビット用トリー加算
器には未接続の入力があり、通常は未接続の入力を論理
値0にする。
【0035】以上のように本実施例によれば、トリー加
算器の第1段目と第2段目の全加算器を部分積発生器と
同じ基本セルに含み、トリー加算器を構成することによ
り、トリー加算器及び乗算器の集積度を上げることがで
きる。また、トリー加算器を上位ビット用トリー加算器
と下位ビット用トリー加算器に分割し、それぞれについ
て特定の配置アルゴリズムで基本セルを並べることによ
りトリー加算器を構成するため、任意のビット数のトリ
ー加算器及び乗算器の生成を容易に実現でする。
算器の第1段目と第2段目の全加算器を部分積発生器と
同じ基本セルに含み、トリー加算器を構成することによ
り、トリー加算器及び乗算器の集積度を上げることがで
きる。また、トリー加算器を上位ビット用トリー加算器
と下位ビット用トリー加算器に分割し、それぞれについ
て特定の配置アルゴリズムで基本セルを並べることによ
りトリー加算器を構成するため、任意のビット数のトリ
ー加算器及び乗算器の生成を容易に実現でする。
【0036】なお、上位ビット用トリー加算器の基本セ
ルとしてセル5があるが、これは2進トリーにおける加
算器の段数を揃えるためのものであり、基本セル数を減
らす場合はセル1に置き換えても良い。
ルとしてセル5があるが、これは2進トリーにおける加
算器の段数を揃えるためのものであり、基本セル数を減
らす場合はセル1に置き換えても良い。
【0037】同様に、下位ビット用トリー加算器の基本
セルとしてセル8があるが、これは2進トリーにおける
加算器の段数を揃えるためのものであり、基本セル数を
減らす場合はセル6に置き換えても良い。
セルとしてセル8があるが、これは2進トリーにおける
加算器の段数を揃えるためのものであり、基本セル数を
減らす場合はセル6に置き換えても良い。
【0038】また、上位ビット用トリー加算器と下位ビ
ット用トリー加算器の接続において、下位ビット用のト
リー加算器の未接続の入力は論理値0としたが、下位ビ
ット用トリー加算器の基本セルとして入力を論理値0に
したものを追加して下位ビット用トリー加算器を構成し
ても良い。
ット用トリー加算器の接続において、下位ビット用のト
リー加算器の未接続の入力は論理値0としたが、下位ビ
ット用トリー加算器の基本セルとして入力を論理値0に
したものを追加して下位ビット用トリー加算器を構成し
ても良い。
【0039】さらに、丸め処理を行う場合、上位ビット
用トリー加算器と下位ビット用のトリー加算器におい
て、下位ビット用トリー加算器の未接続の入力のうち丸
め位置に相当するビット位置にデータを入力することに
より丸めを行う。
用トリー加算器と下位ビット用のトリー加算器におい
て、下位ビット用トリー加算器の未接続の入力のうち丸
め位置に相当するビット位置にデータを入力することに
より丸めを行う。
【0040】
【発明の効果】以上のように本発明は、トリー加算器の
第1段目と第2段目の全加算器を部分積発生器と同じ基
本セルに含み、トリー加算器を構成することにより、ト
リー加算器及び乗算器の集積度を上げることができる。
また、特定の配置アルゴリズムで基本セルを並べること
によりトリー加算器を構成するため、任意のビット数の
トリー加算器及び乗算器の生成を容易に実現できる。
第1段目と第2段目の全加算器を部分積発生器と同じ基
本セルに含み、トリー加算器を構成することにより、ト
リー加算器及び乗算器の集積度を上げることができる。
また、特定の配置アルゴリズムで基本セルを並べること
によりトリー加算器を構成するため、任意のビット数の
トリー加算器及び乗算器の生成を容易に実現できる。
【図1】本発明の第1の実施例における乗算器のトリー
加算器の構成図
加算器の構成図
【図2】同実施例におけるトリー加算器で用いる加算器
の構成図
の構成図
【図3】同実施例におけるトリー加算器で用いる加算器
の構成図
の構成図
【図4】同実施例におけるトリー加算器で用いる加算器
の構成図
の構成図
【図5】同実施例における乗算器のレイアウト図
【図6】同実施例における上位ビット用トリー加算器の
基本セルの構成図
基本セルの構成図
【図7】同実施例における上位ビット用トリー加算器の
基本セルの構成図
基本セルの構成図
【図8】同実施例における上位ビット用トリー加算器の
基本セルの構成図
基本セルの構成図
【図9】同実施例における上位ビット用トリー加算器の
基本セルの構成図
基本セルの構成図
【図10】同実施例における上位ビット用トリー加算器
の基本セルの構成図
の基本セルの構成図
【図11】同実施例における上位ビット用トリー加算器
の配置アルゴリズムを示すフローチャート
の配置アルゴリズムを示すフローチャート
【図12】同実施例における下位ビット用トリー加算器
の基本セルの構成図
の基本セルの構成図
【図13】同実施例における下位ビット用トリー加算器
の基本セルの構成図
の基本セルの構成図
【図14】同実施例における下位ビット用トリー加算器
の基本セルの構成図
の基本セルの構成図
【図15】同実施例における下位ビット用トリー加算器
の基本セルの構成図
の基本セルの構成図
【図16】同実施例における下位ビット用トリー加算器
の基本セルの構成図
の基本セルの構成図
【図17】同実施例における下位ビット用トリー加算器
の基本セルの構成図
の基本セルの構成図
【図18】同実施例における下位ビット用トリー加算器
の配置アルゴリズムを示すフローチャート
の配置アルゴリズムを示すフローチャート
【図19】従来の乗算器のトリー加算器の構成図
1〜5 上位ビット用トリー加算器の基本セル
6〜8、10〜12 下位ビット用トリー加算器の基本
セル 21、181、281 上位ビット用トリー加算器 22、182、282 下位ビット用トリー加算器 23 乗数リコード回路 24 符号処理信号発生回路 25 桁上げ伝搬加算器 31、32、36 部分積発生器(1ビット) 33、41、181、182、184 全加算器 34、42、183 単位加算器 35、43、185 半加算器 101〜116、201〜216 部分積発生器 121〜136、221〜236 補数化信号発生器 141〜148、151〜153、161、171〜1
78、251〜257、261、271〜274 加算
器
セル 21、181、281 上位ビット用トリー加算器 22、182、282 下位ビット用トリー加算器 23 乗数リコード回路 24 符号処理信号発生回路 25 桁上げ伝搬加算器 31、32、36 部分積発生器(1ビット) 33、41、181、182、184 全加算器 34、42、183 単位加算器 35、43、185 半加算器 101〜116、201〜216 部分積発生器 121〜136、221〜236 補数化信号発生器 141〜148、151〜153、161、171〜1
78、251〜257、261、271〜274 加算
器
─────────────────────────────────────────────────────
フロントページの続き
(56)参考文献 特開 昭59−81737(JP,A)
特開 平3−276331(JP,A)
特開 平3−271932(JP,A)
特開 昭62−216035(JP,A)
(58)調査した分野(Int.Cl.7,DB名)
G06F 7/52 310
G06F 7/50
Claims (6)
- 【請求項1】第1の部分積発生器とシフト用の配線を含
む第1のセルと、第2の部分積発生器と第1の全加算器
とシフト用の配線を含む第2のセルと、4つのデータと
1つの桁上げを入力として1つの和と2つの桁上げを出
力する第1の単位加算器とフィード用の配線を含む第3
のセルと、第1の半加算器を含む第4のセルを並べたこ
とを特徴とするトリー加算器。 - 【請求項2】並べた前記第1のセルと前記第2のセルの
合計個数をn、部分積の個数をpとすると、(数1)で
定義されたf1(n)が0または1であれば、前記第1のセ
ルを乗数の下位ビット側から上位ビット側へ並べ、前記
f1(n)が2または3であれば、前記第2のセルを乗数の
下位ビット側から上位ビット側へ並べ、前記第1のセル
または前記第2のセルを並べるたびに並べた後で前記n
を1インクリメントし、前記nが8の倍数または前記p
に等しくなれば、(数2)のf2(n)で定義された個数だ
け前記第3のセルを続いて並べ、前記nが前記pに等し
ければ、前記セル4を続いて並べて乗数のビット方向の
セルの配置を終え、被乗数のビット方向に隣合うセルが
同じになるように被乗数のビット数だけ前記第1のセル
と前記第2のセルと前記第3のセルと前記第4のセルを
並べたことを特徴とする請求項2記載のトリー加算器。 【数1】 【数2】 - 【請求項3】前記第1のセルの出力をずらして出力の1
つを論理値0にした第5のセルを備え、前記f1(n)が0
であり、かつ、前記nがp−1に等しい場合に、前記第
1のセルを前記第5のセルに置き換えて並べたことを特
徴とする請求項2記載のトリー加算器。 - 【請求項4】第2の全加算器とフィード用の配線を含む
第6のセルと、4つのデータと1つの桁上げを入力とし
て1つの和と2つの桁上げを出力する第2の単位加算器
とフィード用の配線を含む第7のセルを備え、並べた1
ビットの加算用セルの個数に2を掛けた後で1を加えた
ものをn、部分積の個数をpとすると、前記第6のセル
と(数2)のf2(n)で定義された個数だけ前記第7のセ
ルを並べたものを1ビットの加算用のセルとし、前記1
ビットの加算用セルを下位ビット側から上位ビット側へ
2個並べ、前記1ビットの加算用セルを2個並べるたび
に並べた後でnを1インクリメントし、前記nより1を
引いたものが前記pに等しければセルの配置を終えるこ
とを特徴とするトリー加算器。 - 【請求項5】第2の半加算器とフィード用の配線を含む
第8のセルを備え、前記f1(n)が0である場合に、前記
第6のセルを前記第8のセルに置き換えたことを特徴と
する請求項4記載のトリー加算器。 - 【請求項6】請求項1、2または請求項3記載のトリー
加算器と、請求項4または請求項5のトリー加算器を備
えたことを特徴とする乗算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11534594A JP3477816B2 (ja) | 1994-05-27 | 1994-05-27 | トリー加算器及び乗算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11534594A JP3477816B2 (ja) | 1994-05-27 | 1994-05-27 | トリー加算器及び乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07319670A JPH07319670A (ja) | 1995-12-08 |
JP3477816B2 true JP3477816B2 (ja) | 2003-12-10 |
Family
ID=14660237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11534594A Expired - Fee Related JP3477816B2 (ja) | 1994-05-27 | 1994-05-27 | トリー加算器及び乗算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3477816B2 (ja) |
-
1994
- 1994-05-27 JP JP11534594A patent/JP3477816B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07319670A (ja) | 1995-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR940002479B1 (ko) | 고속 디지탈 병렬승산기(multiplier) | |
US6029187A (en) | Fast regular multiplier architecture | |
US5010510A (en) | Multiplying unit circuit | |
US20040103135A1 (en) | Multiplication logic circuit | |
EP0113391B1 (en) | Digital multiplier and method for adding partial products in a digital multiplier | |
US4441158A (en) | Arithmetic operation circuit | |
Ngai et al. | Regular, area-time efficient carry-lookahead adders | |
US6065033A (en) | Wallace-tree multipliers using half and full adders | |
KR100245944B1 (ko) | 승산장치 | |
US5060183A (en) | Parallel multiplier circuit using matrices, including half and full adders | |
JP3477816B2 (ja) | トリー加算器及び乗算器 | |
US4979018A (en) | Semiconductor device with parallel multiplier using at least three wiring layers | |
JPH06230937A (ja) | 論理加算回路の相互接続方法およびセルアレイ乗算器 | |
EP0073116A2 (en) | Integrated data processing circuits | |
JPH01302426A (ja) | 高速並列乗算回路 | |
JP3201231B2 (ja) | 単位加算器 | |
JPH06223097A (ja) | 乗算器、積和演算器の回路記述の発生方法 | |
Satyanarayana et al. | A comprehensive approach to the design of digit-serial modified booth multipliers | |
JP3417172B2 (ja) | 演算回路 | |
US20040098438A1 (en) | Method of generating a multiply accumulator with an optimum timing and generator thereof | |
JPS5958543A (ja) | 高速乗算装置 | |
JP3486638B2 (ja) | 定数乗算器 | |
Castellano et al. | Algorithm and architecture for high speed merged arithmetic FIR filter generation | |
Priol et al. | A fast data path multiplier | |
JPH01134528A (ja) | 乗算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |