図面 (/)

技術 ディジタル乗算器、ディジタルトランスバーサル型等化器及びディジタル積和演算回路

出願人 株式会社日立製作所
発明者 渡部善寿佐藤直喜
出願日 1995年9月29日 (25年2ヶ月経過) 出願番号 1995-253464
公開日 1997年4月8日 (23年8ヶ月経過) 公開番号 1997-097166
状態 特許登録済
技術分野 位取り記数法を用いた四則演算 複合演算
主要キーワード 中心タップ Dフリップフロップ 演算遅延 ディジタル加算 並列乗算器 補正ビット キャリーセーブ タップ毎
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1997年4月8日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

課題

ディジタル乗算器ディジタルトランスバーサル型等化器およびディジタル積和演算回路において、乗算部分で生じる部分積ビット数を減らすことにより、回路規模を削減して、高速の乗算または積和演算を実現すること。

解決手段

部分積のビット生成のための部分積生成回路と部分積を加算するためのWallaceTree回路から成るディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路であって、乗算過程において、最下位ビット側の部分積のビットを生成しないで切り捨てること、あるいは、乗数係数値)の符号(極性)を固定すること、あるいは、係数値の設定範囲を制限する(係数値のダイナミックレンジを小さくする)ことによって生成される部分積のビット数を削減する。更に、下位ビットを切り捨てることにより発生する誤差分を補正して演算精度を維持する。

概要

背景

従来のディジタル信号処理における乗算の構成は、例えば、電子情報通信学会編の「ディジタル信号処理ハンドブック」の243〜244項に記載されている、キャリーセーブアダー方式並列乗算器や、部分積の生成に2次のBoothのアルゴリズムを用いた並列乗算器、部分積の加算にWallace Treeの方法を用いた並列乗算器などがある。また、特公平5−84530号公報には、Boothの方式とWallace Treeの方法を組み合わせた場合の構成が最高速乗算方式であることが、述べられている。また、Wallace Treeの方法は、加算器段数を合わせることで、パイプラインの手法を適用するのが容易である。

ビット×7ビットの乗算の従来の構成による構成例として、図9の2次のBoothの方法による部分積の生成とWallace Treeの方法を用いた構成、図10の並列乗算の方法による部分積の生成とWallace Treeの方法を用いた構成を示す。図11には、図9で使用する2次のBoothの方法による部分積の生成回路を、また、図12には、並列乗算による部分積の生成回路を示す。

また、表1は、図9と図10の構成を回路規模演算遅延時間の観点で比較したものである。表1の構成指針の回路規模削減の欄は、回路規模を最少にした場合の構成であり、演算遅延時間は考慮されていない構成である。また、構成指針の演算遅延短縮の欄は、演算遅延を最小にした場合の構成であり、回路規模はいくらか増加する構成である。

概要

ディジタル乗算器ディジタルトランスバーサル型等化器およびディジタル積和演算回路において、乗算部分で生じる部分積のビット数を減らすことにより、回路規模を削減して、高速の乗算または積和演算を実現すること。

部分積のビット生成のための部分積生成回路と部分積を加算するためのWallaceTree回路から成るディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路であって、乗算過程において、最下位ビット側の部分積のビットを生成しないで切り捨てること、あるいは、乗数係数値)の符号(極性)を固定すること、あるいは、係数値の設定範囲を制限する(係数値のダイナミックレンジを小さくする)ことによって生成される部分積のビット数を削減する。更に、下位ビットを切り捨てることにより発生する誤差分を補正して演算精度を維持する。

目的

そこで回路規模を小さくするための残りの構成としては、入力する部分積のビット数を減らすことが考えられる。本発明では、ディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路において、乗算部分で生じる部分積のビット数を減らすことで、回路規模を削減する。それにより、高速に、乗算または積和演算をすることも可能とした、ディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路を提供することにある。同時に、部分積のビット数削減により生じる誤差を補正する構成も提供する。

効果

実績

技術文献被引用数
2件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

mビット×nビット(m,nは自然数)のディジタルデータの乗算において、部分積ビット生成のための部分積生成回路部とその部分積のビットを加算する加算回路部とを持ち、加算回路としてWallaceTree回路を用いたディジタル乗算回路であって、部分積の最下位ビット側から少なくとも1桁目の部分積を切り捨てることを特徴とするディジタル乗算器

請求項2

請求項1において、部分積の最下位ビット側のビットを切り捨てることにより生じる誤差分を補正することを特徴とするディジタル乗算器。

請求項3

被乗数乗数のディジタルデ−タの乗算を行うディジタル乗算回路を用いた複数タップのディジタルトランスバ−サル等化器において、各タップの部分積のビット生成のための部分積生成回路部とその部分積のビットをまとめて加算する加算回路部とを持ち、加算回路としてWallaceTree回路を用いたディジタルトランスバーサル型等化器であって、部分積の最下位ビット側から少なくとも1桁目の部分積を切り捨てることを特徴とするディジタルトランスバーサル型等化器。

請求項4

請求項3において、部分積の最下位ビット側のビットを切り捨てることにより生じる誤差分をまとめて補正することを特徴とするディジタルトランスバーサル型等化器。

請求項5

請求項3または4において、各タップの乗数(係数値)の符号(極性)を固定することによって、符号ビット演算により生じる部分積のビットを生成させないことを特徴とするディジタルトランスバーサル型等化器。

請求項6

請求項3、4または5において、各タップの乗数(係数値)の設定範囲ダイナミックレンジ)を、中心タップから離れる程小さく(狭く)することによって、生成される部分積のビット数を削減することを特徴とするディジタルトランスバーサル型等化器。

請求項7

請求項3乃至6のいずれか1つの項において、各タップの乗数(係数値)の中に常に等しい乗数(係数値)のタップがある場合には、先にそのタップのデータを加算し、その後に乗算することを特徴とするディジタルトランスバーサル型等化器。

請求項8

ディジタル信号処理用の回路中にディジタル乗算回路とディジタル加算回路とを有し、2つ以上の乗算演算の結果について、直ちに加算演算を実施するような積和演算をする回路において、乗算において部分積を求めるような乗算方法を用いる回路であって、最下位ビット側から少なくとも1桁目の部分積を切り捨て、且つ乗算によって発生する部分積をまとめて加算することを特徴とするディジタル積和演算回路

請求項9

請求項8において、部分積の最下位ビット側のビットを切り捨てることにより生じる誤差分をまとめて補正することを特徴とするディジタル積和演算回路。

技術分野

0001

本発明は、ディジタル信号処理用のディジタル乗算器ディジタルトランスバーサル型等化器およびディジタル積和演算回路に関し、特に、高速に、乗算または積和演算をすることを可能とした、ディジタル乗算器、ディジタルトランスバーサル型等化器、ディジタル積和演算回路およびそれらを使用したディジタル信号処理装置に関する。

背景技術

0002

従来のディジタル信号処理における乗算の構成は、例えば、電子情報通信学会編の「ディジタル信号処理ハンドブック」の243〜244項に記載されている、キャリーセーブアダー方式並列乗算器や、部分積の生成に2次のBoothのアルゴリズムを用いた並列乗算器、部分積の加算にWallace Treeの方法を用いた並列乗算器などがある。また、特公平5−84530号公報には、Boothの方式とWallace Treeの方法を組み合わせた場合の構成が最高速乗算方式であることが、述べられている。また、Wallace Treeの方法は、加算器段数を合わせることで、パイプラインの手法を適用するのが容易である。

0003

ビット×7ビットの乗算の従来の構成による構成例として、図9の2次のBoothの方法による部分積の生成とWallace Treeの方法を用いた構成、図10並列乗算の方法による部分積の生成とWallace Treeの方法を用いた構成を示す。図11には、図9で使用する2次のBoothの方法による部分積の生成回路を、また、図12には、並列乗算による部分積の生成回路を示す。

0004

また、表1は、図9図10の構成を回路規模演算遅延時間の観点で比較したものである。表1の構成指針の回路規模削減の欄は、回路規模を最少にした場合の構成であり、演算遅延時間は考慮されていない構成である。また、構成指針の演算遅延短縮の欄は、演算遅延を最小にした場合の構成であり、回路規模はいくらか増加する構成である。

0005

0006

図9に示す様にBoothの方法は、多くの回路を必要とし、Wallace Treeの方法の加算部分での回路規模削減量を上回り、全体として規模が大きくなる。また、遅延時間についても、図11からもわかるように、部分積生成のためにも回路遅延が比較的多く必要で、また、負の値の計算が必要なため(この例では、1の補数に1を加算する方法をとっている)、最下位ビット側に部分積のビットが多くなり、ビットの収束に時間がかかっている。

0007

図10では、並列乗算の方法であるために、図12からも解るように、部分積生成のための回路が少なく、回路遅延時間も少なくてすみ、また、最下位ビットを直接出力し、最下位ビット側に部分積のビットが特に多くなることもないので、ビットの収束も速くなる。ただし、全体として部分積のビット数が多いので、Wallace Treeの方法の回路規模は、大きくなるが、乗算器全体としては、図9の乗算器よりも小さくなっている。しかし、まだ回路規模は、大きい。

0008

トランスバーサル型等化器では、図9図10の乗算器を幾つか組み合わせて使用し、乗算結果を求め、それらを加算して演算結果を求めている。図15乗数7ビット、被乗数6ビット、7タップのトランスバーサル型等化器の従来例を示す。これは、図10に示した乗算器とWallaceTree回路とを組み合わせた回路である。乗算器の構成が、大規模で高速化に対応できない回路である場合には、これを用いてトランスバーサル型等化器を構成しても、トランスバーサル型等化器の回路規模削減や高速化は、困難である。従って、トランスバーサル型等化器でも、個々の乗算器の構成の改善が必要不可欠である。

0009

WallaceTree回路に使う1ビットのフルアダーは、図13(a)に示すように、3入力に対し2出力であることから、1ビットのフルアダー1個で1ビットのビット削減が可能であることが分かる。また、ハーフアダー(回路規模、回路遅延とも、フルアダーのほぼ半分)は、同じく図13(b)に示すように、2入力に対し2出力であることから、ビット削減には、直接の効果はなく、桁上がりを生じさせるための効果があるだけである。従って、ハーフアダーを使わずに構成することが回路規模を小さく抑えることになる。但し、ハーフアダーを多用することで、桁上がりを早くさせ、ビット収束を早めることが、いくらか可能である。従って、Wallace Tree回路の最小の回路規模は、入力ビット数出力ビット数から、次の様に概算することができる。

0010

0011

この式から分かるように、WallaceTree回路の回路規模を小さくするには、入力する部分積のビット数を減らすこと、出力ビット数を増すこと、フルアダーの回路規模を減らすことが考えられる。

0012

出力ビット数は、通常、乗数と被乗数のビット数から決まり、増すのは困難である。また、実際には、丸めを施して出力することもあり、出力ビット数は、減る傾向にある。

0013

次に、フルアダーの回路規模を減らすことは、加算機能を実現する基本回路であるため、回路の削減にも限界がある。

発明が解決しようとする課題

0014

そこで回路規模を小さくするための残りの構成としては、入力する部分積のビット数を減らすことが考えられる。本発明では、ディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路において、乗算部分で生じる部分積のビット数を減らすことで、回路規模を削減する。それにより、高速に、乗算または積和演算をすることも可能とした、ディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路を提供することにある。同時に、部分積のビット数削減により生じる誤差補正する構成も提供する。

課題を解決するための手段

0015

本発明では、乗算における部分積のビット生成のための部分積生成回路と部分積を加算するためのWallaceTree回路から成るディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路について、その乗算過程において生成される部分積のビット数を削減することにより、部分積のビットの加算における収束性を速くすることで動作の高速化を図り、しかも、回路規模も同時に小さくすることが出来る。また、加算回路としてWallace Tree回路を用いることで、パイプライン処理適用が容易で、さらに、高速化が可能である。

0016

乗算過程において生成される部分積のビット数を削減する第一の構成は、最下位ビット側の部分積のビットを生成させないで切り捨てて削除することである。部分積の加算回路としてWallaceTree回路を使用する場合には、特に、加算結果が、下位ビット側から決定されていくので、高速化のためにも、最下位ビット側の部分積のビットを生成させないで切り捨てて削除することは、有用である。例えば、最下位ビット側の3桁分を生成させないで切り捨てて削除するとすると、1回の乗算で6ビットの部分積のビットが削減できる。これは、6×7ビットの乗算(被乗数が6ビット)で約14%の回路規模削減になり、また、加算の収束性においては、およそフルアダー1段の遅延時間分だけ速く収束する。また、このときのビット切り捨てによって生じる誤差は、乗算器の出力レンジに対して0.4%程度である。

0017

上記の部分積のビット数削減の構成において、下位ビットを切り捨てることで、演算に誤差が発生する。その発生する誤差分を補正することで、演算精度を維持することが可能である。その誤差を補正するための第一の構成例は、補正量を固定値として加えるようにするものである。例えば、切り捨てられるビットの最大値の1/2の値のビットを加えることで、誤差の大きさを減らすことができる。補正値が固定値であることから、例えば、図14に示すように、ハーフアダーと同程度の簡単な回路で、補正することが可能である。

0018

誤差を補正するための第二の構成例は、補正量を乗数によって可変するようにするものである。切り捨てられるビットの大きさは、乗数に依存するからである。乗数に応じて補正量を求め、その値を部分積のビットと同じように加算することで、さらに、発生する誤差を小さくしようというものである。乗数から補正値を求めるのは、比較的容易であり、回路遅延および回路規模についても、気にならない程度である。

0019

誤差を補正するための第三の構成例は、補正量を任意に設定できるようにするものである。上記の構成例では、補正値を求める変わりに、レジスタ等を設け、任意の値を設定することにより、補正するものである。

0020

前記したような第一、第二及び第三の構成例は、切り捨てによる誤差分を補正するばかりでなく、任意の値を加えることも可能であり、例えば、回路のオフセットなどを補正することも可能であるし、また、任意の値を加算する演算回路としても機能する。

0021

トランスバーサル型等化器において、その乗算過程において生成される部分積のビット数を削減する第一の構成は、乗算器と同じように、乗算過程において生成される部分積のビット数を削減することである。特に、部分積の加算回路としてWallaceTree回路を使用する場合には、加算結果は、下位ビット側から決定されていくので、高速化のためにも、最下位ビット側の部分積のビットを生成させないで切り捨てて削除することである。例えば、7タップのトランスバーサル型等化器で、各タップが6×7ビットの乗算器(被乗数が6ビット)から成り、各タップの最下位ビット側の3桁分を生成させないで切り捨てて削除するとすると、1タップの乗算で6ビットの部分積のビットが削減でき、全体では、42ビットの削減となる。これは、約14%の回路規模削減になり、また、加算の収束性も速くする。また、このときのビット切り捨てによって生じる誤差は、最大で、乗算器の出力レンジに対して2.5%程度である。

0022

上記の第一の構成によるトランスバーサル型等化器においても、乗算器と同様に、下位ビットを切り捨てることで、演算に誤差が発生する。その発生する誤差分を補正することで、演算精度を維持することが可能である。その場合、各タップ毎に誤差分を補正するのではなく、各タップの補正量を予め加算して求めて、まとめて補正することで、補正のためのビット数を削減し、回路規模を小さくする。誤差の補正の構成例は、乗算器と同様に、補正量を固定値として加える構成例や乗数によって可変する構成例、任意に設定できるようにする構成例が考えられる。

0023

また、トランスバーサル型等化器の各タップの乗数(係数値)の符号(極性)が、一般に交番性を持ち、係数の符号は決まっている。その特徴を用いて、トランスバーサル型等化器の各タップの乗数(係数値)の符号(極性)を固定することによって、符号ビットの演算によって生じる部分積のビットを生成させないで切り捨てて削除することである。これが部分積のビット数削減の第二の構成である。例えば、7タップのトランスバーサル型等化器で、各タップが6×7ビットの乗算器(被乗数が6ビット)から成り、各タップの係数ビットを固定すると、1タップ分の乗算で係数ビットの演算分として6ビットの部分積のビットが削減できる。これは、約14%の回路規模削減になり、また、加算の収束性も部分積のビットが減った分、いくらか速く収束する様になる(回路規模が減ったことによる配線長の改善分程度)。

0024

乗算過程において生成される部分積のビット数を削減する第三の構成は、トランスバーサル型等化器の中心タップから遠くはなれたタップの係数値の設定範囲を狭く(ダイナミックレンジを小さくする)制限することで、生成される部分積のビット数を削減する。一般に、トランスバーサル型等化器では、中心タップから遠くはなれたタップ程、絶対値の小さな値の乗数(係数値)になる。そこで、中心タップから遠くはなれたタップの係数値の設定範囲を小さく抑えることで、生成される部分積のビット数を削減する。例えば、7タップのトランスバーサル型等化器で、各タップが6×7ビットの乗算器(被乗数が6ビット)から成る回路で、両端の2つのタップの乗数のダイナミックレンジを1/4の範囲と制限すると、乗数のビットは、2ビット少なくて済む。従って、その場合の1回の乗算での係数ビットの演算分として12ビットの部分積のビットが削減できる。これは、回路全体で24ビットの部分積の削減になり、約8%の回路規模削減となる。また、加算の収束性の改善は、あまり期待できず、幾分か速く収束する程度(回路規模が減ったことによる配線長の改善分程度)である。

0025

トランスバーサル型等化器の構成上の一般的な特徴は、各タップの乗数の符号が交番性を持ち、係数の符号は、決まっていること、また、中心タップから遠くはなれたタップ程、係数値の大きさ(絶対値)が小さいことであることを前述し、その特徴を用いた回路規模削減の構成を示した。しかし、トランスバーサル型等化器では、その扱う波形により、両端のタップ係数は、前述の特徴に従わず、係数値の大きさ(絶対値)は小さいが、係数の符号が定まらない場合もある。そのため、両端のタップ係数の符号を固定せず、両極性を持つようにする構成もある。この場合に回路規模の削減効果は減少するが、この第三の構成を適用できる機会が増える。

0026

また、トランスバーサル型等化器のタップの中で、常に乗数の等しいタップがある場合、その乗算過程において生成される部分積のビット数を削減するための構成として、被乗数を先に加算し、その後に乗数を掛けることで、部分積の生成を削減することが可能である。例えば、7タップのトランスバーサル型等化器で、各タップが6×7ビットの乗算器(被乗数が6ビット)から成り、常に乗数の等しいタップが1組ある場合、6ビットの被乗数を先に加算し、7ビットの被乗数と7ビットの乗数の乗算としても、部分積は、35ビット削減される。但し、被乗数を先に加算するための加算回路と、加算した被乗数を保持するためのラッチ回路が必要となるので、回路規模の削減の効果は、少なくなる。加算の収束性は、確実に良くなり、高速になる。

0027

乗算の最下位ビット側の部分積ビットを生成させないで切り捨てて削除することで回路規模を削減する構成は、トランスバーサル型等化器のように決まった形態のない積和演算回路にも適用できる。最下位ビット側の部分積ビットを生成させないで切り捨てて削除することによる誤差も、トランスバーサル型等化器と同様に、まとめて補正することが可能である。

0028

以上のような構成を用いて、乗算過程において生成する部分積のビット数を削減することにより、部分積のビットの加算における収束性を速くすることが可能となる。それにより、乗算の高速化、または、積和演算を有するトランスバーサル型等化器の高速化が、実現できる。さらに、同時に、回路規模を小さく抑えることも可能であって、消費電力も抑えられる利点がある。また、加算回路としてWallaceTree回路を用いることで、パイプライン処理適用が容易で、さらに、高速化への対応が可能である。

発明を実施するための最良の形態

0029

図1を用い、本発明の第1の実施例について、その基本動作を説明する。

0030

図1は、6ビット×7ビットの乗算器の並列乗算の方法による部分積の生成を示す図(a)とビットの流れを示した図(b)からなる。本来ならば、44ビットの部分積(2の補数のための補正ビットを含む)が生成されるところを、最下位ビット側の3桁分の6ビットの部分積を生成しないで切り捨てて削除することにより、38ビットの部分積だけが生成される。このため、部分積を加算するWallaceTree回路に入力されるビット数は、6ビット少ない38ビットとなる。従って、部分積の生成のための回路およびWallace Tree回路の回路規模が小さくなり、ビットの収束も速くなる。表2からわかるように、回路規模は、約13〜16%の削減であり、演算結果が出力されるまでの演算遅延は、フルアダーで1/2〜1段分の削減がされ、高速になる。表2の構成指針の回路規模削減の欄は、回路規模を最少にした場合の構成であり、演算遅延時間は考慮されていない構成である。また、構成指針の演算遅延短縮の欄は、演算遅延を最小にした場合の構成であり、回路規模はいくらか増加する構成である。

0031

0032

図2を用い、本発明の第2の実施例について、その基本動作を説明する。

0033

図2は、上記の第1の実施例に対して、最下位側ビットを切り捨てたことによる誤差分を補正する様子を示したものであり、6ビット×7ビットの乗算器の並列乗算の方法による部分積の生成を示す図(a)とビットの流れを示した図(b)からなる。最下位ビットの1ビットの大きさを1[LSB]とすると、切り捨てられるビットの最大と最小は、それぞれ17[LSB]、0[LSB]であり、ここでは、8[LSB]分を固定値として補正している。従って、部分積のビット数は、補正ビットが加わり、39ビットとなる。このときの回路規模、演算結果が出力されるまでの演算遅延は、表2に示すように、図1の回路に対して、回路規模、演算遅延共に変化しない。

0034

図3を用い、本発明の第3の実施例について、その基本動作を説明する。

0035

図3は、上記の第1の実施例に対して、最下位側ビットを切り捨てたことによる誤差分を補正する様子を示したものであり、6ビット×7ビットの乗算器の並列乗算の方法による部分積の生成を示す図(a)とビットの流れを示した図(b)および乗数X、Y、Zに応じて得られる補正値の例を示した図(c)からなる。補正ビットP、Q、R、Sは、乗数X、Y、Zから求める。ここでは、4ビットと2ビットで補正するときの値について示した。補正ビットQ、R、Sは、乗数から求めるので、演算遅延には影響を与えない。また、補正ビットPは、部分積と共に加算されるが、回路規模は、WallaceTree回路で3ゲート増加することと、補正値を求めるために数ゲート増加するだけであり、演算遅延は変わらない。

0036

また、補正ビットP、Q、R、Sは、任意に外部から与えることも可能である。そのときの回路規模は、任意の値を与えるためのレジスタ等のための増加分であり、演算遅延は図3の構成と変わらない。

0037

図4は、本発明の構成によるトランスバーサル型等化器の第1の実施例である。この例では、7タップで、各タップの乗数が7ビット、被乗数が6ビットの乗算をし、それを加算したものが出力結果となる。また、TAP:C−1とTAP:C+1とは、常に乗数が等しい構成である。ここでは、Dフリップフロップ123と、Dフリップフロップ125の出力の値を演算すべきところを、Dフリップフロップ122とDフリップフロップ124の、1クロック前の値を用いて演算(加算)し、その結果をDフリップフロップ128で保持した後のデータと乗算する。このようにすることで、乗算器以降の回路構成を同じにできるため、パイプライン処理等の適応が容易になる。最下位ビット側から3桁分の部分積を生成させないで切り捨てて削除するようにし、符号も固定し、範囲も限定している。

0038

各タップの乗数の設定範囲は、
TAP:C−3 -1/4-1[LSB] 〜 0
TAP:C−2 0 〜 +1/2-1[LSB]
TAP:C0 +1のみ(固定値)
TAP:C±1 -1-1[LSB] 〜 0
TAP:C+2 0 〜 +1/2-1[LSB]
TAP:C+3 -1/4-1[LSB] 〜 0
とした。タップC0は、1倍のみで固定の構成である。従って、各タップの部分積のみのビット数は、図4に示すように、それぞれ18ビット、24ビット、6ビット、36ビット、24ビット、18ビットとなり、補正値を含めた合計は、131ビットである。

0039

また、各タップの補正値は、まとめてあらかじめ演算して値を求めることで、ビット数を減らすことができる。ここでは、図4に示すように、全体を5ビットにすることができる。

0040

図4の各タップの部分積の生成の様子は、図5に示す通りである。

0041

表3には、各タップの切り捨てられる値と補正量を示した。ここでは、切り捨てられる値の最大値と最小値の1/2の値を補正しようとしたものであるが、補正するビット数も考慮して、64[LSB]の値を1ビットで補正した。これにより、誤差は、−42〜+43[LSB]となり、低減される。

0042

0043

この構成による回路規模等は、表4に従来の構成と対比して示してある。表の見方は、表1、2と同じである。回路規模は、約50%に削減され、演算遅延も、フルアダーで1〜2段分の削減がされ、高速化が実現できることがわかる。

0044

0045

図6は、本発明の構成によるトランスバーサル型等化器の第2の実施例である。図4の例と同様に、7タップで、各タップの乗数が7ビット、被乗数が6ビットの乗算をし、それを加算したものが出力結果となる。また、TAP:C−1とTAP:C+1とは、常に乗数が等しい構成である。ここでは、Dフリップフロップ153と、Dフリップフロップ155の出力の値を演算すべきところを、Dフリップフロップ152とDフリップフロップ154の、1クロック前の値を用いて演算(加算)し、その結果をDフリップフロップ158で保持した後のデータと乗算する。最下位ビット側から3桁分の部分積を生成させないで切り捨てて削除するようにし、両端のタップを除いて符号も固定し、範囲も限定している。両端のタップは、符号ビットを持ち、両極性の係数値が設定可能であり、ここだけが図4と異なる。

0046

従って、各タップの乗数の設定範囲は、
TAP:C−3 -1/4 〜 +1/4-1[LSB]
TAP:C−2 0 〜 +1/2-1[LSB]
TAP:C0 +1のみ(固定値)
TAP:C±1 -1-1[LSB] 〜 0
TAP:C+2 0 〜 +1/2-1[LSB]
TAP:C+3 -1/4 〜 +1/4-1[LSB]
とした。タップC0は、1倍のみで固定の構成である。従って、各タップの部分積のみのビット数は、図6に示すように、それぞれ24ビット、24ビット、6ビット、36ビット、24ビット、24ビットとなり、補正値を含めた合計は、142ビットである。

0047

また、各タップの補正値は、まとめてあらかじめ演算して値を求めることで、ビット数を減らすことができる。ここでは、図6に示すように、全体を4ビットにすることができる。

0048

図6の各タップの部分積の生成の様子は、図7に示す通りである。TAP:C−3とTAP:C+3の部分積は、符号ビットがあるので、係数値を2ビット左シフトして乗算をして、乗算結果を2ビット右シフトするようにしている。こうすることで、係数ビット1ビットのみの増加で対応できて、回路規模が削減できる。

0049

表5には、各タップの切り捨てられる値と補正量を示した。ここでは、切り捨てられる値の最大値と最小値の1/2の値を補正しようとしたものであるが、補正するビット数も考慮して、48[LSB]の値を2ビットで補正した。これにより、誤差は、−44〜+41[LSB]となり、低減される。

0050

0051

この構成による回路規模等は、表6に示してある。表の見方は、表1、2と同じである。回路規模は、両端のタップに両極性を持たせることで、図4の構成と比べ、部分積が11ビット多くなり、その分として81ゲートの回路規模増加になっている。回路規模削減の効果は減少する。演算遅延時間は、図4の構成と同等である。回路増加分の81ゲートの内訳は、部分積の生成に12ゲート、部分積の加算のために69ゲートである。数1によれば、部分積が11ビット増加すると、フルアダーも11個必要となる。この例では、部分積が11ビット増加することで、フルアダーが11.5個増加したことになり、数1による概算と良く合うことがわかる。

0052

0053

図8は、本発明による積和演算を説明する図である。この例では、部分積を求める複数の乗算回路の部分201,202と、そこで生じる部分積のビットを加算するための加算回路部203からなる。加算回路部には、WallaceTree回路を使用している。乗算部分は、2回路以上の乗算器があり、各々の乗算器の乗数および被乗数は、トランスバーサル型等化器の様に、互いに関係のあるものでなくてもよい。各々の乗算回路は、部分積のビットを出力し、その部分積は、加算回路部に入力される。また、その乗算回路は、最下位ビット側の部分積を切り捨てて出力しない構成になっているものである。さらに、前述の構成と同様に、部分積が切り捨てられて出力されないことによって生じる誤差分をまとめて、補正ビットとして加算回路部に入力している。

0054

このように、乗算による最下位ビット側の部分積を削減することで、回路の高速化、小規模化が実現できる。

発明の効果

0055

本発明により、高速動作が可能で、従来に比べて小規模な回路のディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路が実現できる。また、本発明によるディジタル乗算器、ディジタルトランスバーサル型等化器およびディジタル積和演算回路を適用した信号処理装置も、高速動作に対応できる。

図面の簡単な説明

0056

図1本発明の構成による第1の構成例を説明する図である。
図2本発明の構成による第2の構成例を説明する図である。
図3本発明の構成による第3の構成例を説明する図である。
図4本発明の構成によるトランスバーサル型等化器の第1の実施例を説明する図である。
図5図4の構成の部分積の生成の様子を示す図である。
図6本発明の構成によるトランスバーサル型等化器の第2の実施例を説明する図である。
図7図6の構成の部分積の生成の様子を示す図である。
図8本発明の構成による積和演算回路の構成例を説明する図である。
図9従来の構成による構成例(1)を説明する図である。
図10従来の構成による構成例(2)を説明する図である。
図112次のBoothの方法の部分積の生成回路を示す図である。
図12並列乗算の方法の部分積の生成回路を説明する図である。
図13加算器の構成を説明する図である。
図14入力"1"を含む加算器の構成を示す図である。
図15従来の構成によるトランスバーサル型等化器を説明する図である。

--

0057

121〜128Dフリップフロップ
129 6ビット加算器
131〜132乗算器の部分積生成回路
134〜137 乗算器の部分積生成回路
138,168 Wallace Tree回路
151〜158 Dフリップフロップ
159 6ビット加算器
161〜162 乗算器の部分積生成回路
164〜167 乗算器の部分積生成回路

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ