JP3875183B2 - Arithmetic unit - Google Patents

Arithmetic unit Download PDF

Info

Publication number
JP3875183B2
JP3875183B2 JP2002336196A JP2002336196A JP3875183B2 JP 3875183 B2 JP3875183 B2 JP 3875183B2 JP 2002336196 A JP2002336196 A JP 2002336196A JP 2002336196 A JP2002336196 A JP 2002336196A JP 3875183 B2 JP3875183 B2 JP 3875183B2
Authority
JP
Japan
Prior art keywords
data set
input data
input
output
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
Application number
JP2002336196A
Other languages
Japanese (ja)
Other versions
JP2004171263A (en
Inventor
隆生 長谷川
一雅 鬼追
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2002336196A priority Critical patent/JP3875183B2/en
Publication of JP2004171263A publication Critical patent/JP2004171263A/en
Application granted granted Critical
Publication of JP3875183B2 publication Critical patent/JP3875183B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像信号の符号化、フィルタ処理、離散フーリエ変換などのデジタル信号処理に使用される分散算術演算法(Distributed Arithmetic、以下DA法と表記する。)を利用した内積演算装置、複素数乗算装置等の演算装置に関するものである。
【0002】
【従来の技術】
DA法は行列の内積演算をルックアップ表と加算器で実現する周知の方法である。例えば、特許文献1や非特許文献1に、DA法を利用することにより、内積演算を、乗算器を使って行うことに比べてコンパクトに実現することが記載されている。
【0003】
DA法について説明するため、下記の式1で表される要素数Kの定数ベクトルAと入力ベクトルXの内積演算を考える。
【0004】

Figure 0003875183
【0005】
を2の補数表現された2進数のWビット幅固定小数点であるとすると、以下の式2のように表すことができる。
【0006】
Figure 0003875183
【0007】
この式(2)において、bk[w]はビット(1又は0)であり、bk[0]は符号ビット、bk[W−1]は最下位ビットである。
【0008】
また、X={X−(−X)}/2と表せるので、bkのビット反転をb'kとおくと、Xは以下のようになる。
【0009】
Figure 0003875183
(式3)
【0010】
ただし、この式3でc[w]は以下のように表される。
【0011】
Figure 0003875183
【0012】
(式3)を(式1)に代入して、以下の式5が得られる。
【0013】
Figure 0003875183
【0014】
この式5において、以下の関係がある。
【0015】
Figure 0003875183
【0016】
(式6)において、Q(b)は次式のように変形できる。
【0017】
Figure 0003875183
【0018】
従って、c=−1の場合のQ(b)は、c=1の場合のQ(b)で表現できるので、式6の値は、2K−1通りで全てを表現でき、この値をルックアップ表として記憶しておく。そして、w=W−1から0まではそれぞれの値に2−wが掛かるので、w=W−1から順番に実行し、前記ルックアップ表から参照した値を1桁ずつ右へずらせて加える。以上の手順により、乗算を行うことなくAXを得ることができる。
【0019】
入力ベクトルXの複数の値について、上記演算を同時に行う場合は、次式の演算を行うことと等価である。
【0020】
Figure 0003875183
【0021】
ここで、X(i)は、式(1)におけるXのi番目の縦ベクトル、A(i)はそれに対応する定数の横ベクトル(iは0以上の整数)、0は要素値が0の横ベクトルを示す。また、A' はA(i)を含む行列を表し、X' はX(i)を含むベクトルを表し、Bは演算結果を表す。
【0022】
図6に、例えば、特許文献3、特許文献4等で示された方法を利用した(式8)の演算を行う方法を示す。端子群101から入力ベクトルX(0)、X(1)、…の各要素がビットシリアルで同時並列入力される。符号110,111…は、式1のAXを演算するための分散算術演算回路を示し、入力ベクトル数分だけ並列接続される。符号103はルックアップ表を記憶している記憶手段を示す。端子群101への入力データ(定数ベクトル)に対応したデータが記憶手段103から加減算器104へ入力される。加減算器104は記憶手段103の出力データと1ビットシフタ106の出力を加減算し、例えばシフトレジスタである一時記憶手段107へ入力する。一時記憶手段107に一時記憶された加減算器104の出力はビットシフタ106へ出力され、適切なタイミングでスイッチ108が閉じられ、出力端子109から出力B(0)として出力される。同様に、他のDA回路111…の出力B(1),B(2)…が出力端子109から出力される。
【0023】
【特許文献1】
米国特許第3,777,130号
【特許文献2】
米国特許第5,226,002号
【特許文献3】
特開2000−148730号公報
【非特許文献】
“Applications of distributed arithmetic to digital signal processing: a tutorial review,” S.A.White, IEEE ASSP magazine, vol.6, issue 3, pp.4-9, July 1989
【0024】
【発明が解決しようとする課題】
しかしながら、図6に示す従来の装置では、各分散算術演算回路110,111…が、それぞれ記憶手段103を内蔵しているので、そのコンパクト性は、記憶手段103のコンパクト性に大きな影響を受ける。すなわち、同時処理する入力ベクトルの数が増えれば増えるほど、分散算術演算回路110,111…の数が増加し、それに従って記憶手段103の数も増加する。
【0025】
また、図6において、入力データは端子群101からビットシリアルで入力されるため、1ビットを1クロックで処理すると、出力結果が得られるまでに少なくとも入力データのビット幅分のクロック数が必要となる。一方、クロック周波数を大きくせずに演算時間を短くするために多ビットを同時処理することは、式8におけるベクトルX'の要素数を増やすことに相当するので、分散算術演算回路110,111…の並列処理数が並列処理ビット数の数だけ増加し、従って記憶手段103も同数だけ増加する。
【0026】
このように、分散算術演算により複数データについて内積演算を同時処理すると、同時処理数分だけの記憶手段が必要となり、同時処理数が増すにつれてコンパクト性が悪化するという問題を有している。
【0027】
本発明は、かかる問題に鑑みてなされたもので、その目的は、記憶手段のサイズを小さく保ったままで、分散算術演算を高速化することにある。
【0028】
【課題を解決するための手段】
本発明はこうした課題を解決するための手段を提供するもので、各請求項の発明は、以下の技術手段を構成する。
【0029】
本発明は、第1の入力データ組と、第2の入力データ組とに対して、分散算術演算法を利用して演算処理を行う演算装置において、前記第1の入力データ組が入力される少なくとも1個の分散算術演算手段と、前記第2の入力データ組に対応したデータの表(ルックアップ表)を記憶し、前記第2の入力データに応じたデータ組を出力する記憶手段とを備え、前記分散算術手段は、前記第1の入力データ組の1番目からU番目(Uは自然数)のデータから、Tビット幅(Tは自然数)のデータをそれぞれ生成する第1から第Uの変換手段と、前記第1から第Uの変換手段の最下位から最上位ビットまでの各ビットの内容に従って、前記記憶手段から出力されるデータ組から、それぞれ最適なデータを選ぶ第1から第Tの選択手段と、前記第1から第Tの選択手段より出力されるデータを演算する第1の演算手段と、前記第1の演算手段から出力されるデータと、ビットシフトを実行する第3の演算手段の出力との加減算を実行する第2の演算手段と、前記第2の演算手段から出力される演算結果を一時的に格納する一時記憶手段と、前記一時記憶手段から出力されるデータのビットシフトを実行する第3の演算手段とを備えることを特徴とする、演算装置を提供する。
【0030】
上記構成とした本発明の演算装置では、各分散算術演算手段がデータの表を記憶した記憶手段を内蔵する必要がないので、表を記憶するための記憶手段を増加することなく、分散算術演算を利用したTビット同時処理により処理の高速化を図ることができる。
【0032】
また、本発明の演算装置は、複素数乗算装置として構成することができる。この場合、前記第1の入力データ組は、H個(Hは自然数)の複素数であり、h個目(hは1からHまでの整数)の複素数の実部及び虚部はそれぞれ前記第1の入力データ組の2h−1番目及び2h番目に割り当てられ、前記第1の分散算術演算手段の数は2H個であり、前記第1の入力データ組の2h−1番目及び2h番目の入力は、2h−1番目及び2h番目の前記分散算術演算手段にのみ出力され、前記第1の入力データとして入力される複素数と、前記第2の入力データとして入力される複素数の乗算を行う。かかる構成とすれば、表を記憶するための記憶手段を増加することなく、分散算術演算を利用したTビット同時処理により複素数乗算演算処理の高速化を図ることができる。
【0033】
前記記憶手段が、0からN/8の整数であるnに対する{cos(2πn/N)+sin(2πn/N)}/2の値を示す第1の表と、前記0からN/8の整数であるnに対する{cos(2πn/N)−sin (2πn/N)}/2の値を示す第2の表とを格納していれば、記憶手段の容量を増大させることなく、N点離散フーリエ変換に必要なバタフライ演算を高速処理することができる。
【0034】
あるいは、前記第1の記憶手段が、0からN/8の整数であるnについて{cos(2πn/N)+sin(2πn/N)}/2の値及び{cos(2πn/N)−sin (2πn/N)}/2の値の対を示す第3の表を格納していもよい。この場合、記憶手段の容量と消費電力をより節約しつつ、N点離散フーリエ変換に必要なバタフライ演算を高速処理することができる。
【0035】
【発明の実施の形態】
次に、図面に示す本発明の実施形態について説明する。
【0036】
(基本構成)
まず、図1に示す本発明の演算装置の基本構成について説明する。この基本構成は後述する第1から第3実施形態の内積演算装置や複素乗算装置の基本となる。図1において、201は第1の入力データ組が入力される入力端子郡、203第2の入力データ組が入力される設定データ入力端子、204はルックアップ表を記憶する記憶手段、230は出力端子郡を示す。251,252,253・・・は分散算術演算処理回路を示し、これらはいずれも同一構成である。
【0037】
入力端子郡301は入力端子郡201から分散算術演算処理回路251に入力されるデータの入力端子郡、端子302は記憶手段204から分散算術演算処理回路251に入力されるデータ組の入力端子である。
【0038】
入力端子郡201から入力される1番目からU番目までのU個のデータは、それぞれ変換回路202の第1から第Uの変換手段202a,202b…202uでTビットデータに変換される。設定データ入力端子203から入力される設定データに対応したデータ組が、記憶手段204から出力されて選択回路205に入力される。
【0039】
選択回路205は、変換回路202から出力されるTビット幅のデータに対応して、第1から第Tの選択手段205a,205b…205tを備えている。選択回路205の第1の選択手段205aでは、記憶手段204から出力されたデータ組から、変換回路202内の各変換手段202a〜202uの出力の最下位ビット組に応じたデータが生成され出力される。また、選択回路205の第2の選択手段205bでは、記憶手段204から出力されたデータ組から、変換回路202内の各変換手段202a〜202uの出力の最下位+1ビット組に応じたデータが生成され出力される。以下、選択回路202の各選択手段205c,205d…で同様の処理が実行される。選択回路205の第Tの選択手段205tでは変換回路202内の各変換手段202a〜202uの出力の最上位ビット組に応じたデータが出力される。
【0040】
選択回路205から出力された複数のデータは、演算手段(第1の演算手段)206で演算され、加減算器207に入力される。加減算器(第2の演算手段)207は演算手段206からのデータとビットシフタ208からのデータを加減算する。加減算器207からのデータは例えばシフトレジスタである一時記憶手段209で一時記憶される。一時記憶手段209からのデータはビットシフタ(第3の演算手段)208へ出力される。適切なタイミングでスイッチ210が閉じられ、スイッチ210が閉じると一時記憶木手段209から出力端子郡230の第1の端子から出力される。
【0041】
従来例の図6における分散算術演算回路110,111…は、図1におけるスイッチ210、ビットシフタ208、一時記憶手段209、加減算器207、演算手段206、選択回路205のうちのどれか1つ(例えば、選択手段205a)及び記憶手段204を1つの単位とした回路に相当する。そのため、複数データを同時処理する場合、例えば変換回路202で多ビットを同時処理できるように割り振り、分散演算処理回路251で1つめの設定データを処理し、以降の設定データをそれぞれ分散演算処理回路252,253…で処理する、というような場合、同時処理数が増えれば増えるほど、分散算術演算回路の数が増えるが、従来例では、記憶手段の数も同時に増え、その総容量が増加していたが、本発明では、このような構成とすることにより、同時処理数にかかわらず、記憶手段204は1つでよいので、必要となる記憶手段の総容量は一定となる。
【0042】
(第1実施形態)
図2に本発明の第1実施形態である内積演算装置を示す。図1と同一機能のものは同一番号を付して説明を省略する。
【0043】
変換回路202は次のような構成とする。即ち、変換回路202内の変換手段202uにおいて、入力端子郡301から入力されるデータの[Tk]ビット、[Tk+1]ビット…[Tk+(T−1)]ビット(kは0以上の整数)を、出力の最下位ビットから最上位ビットに向けて割り振り、Tビットづつ出力する。変換回路202内の他の変換手段202a,202b…も同様の処理を実行する。
【0044】
演算手段206はビットシフタ群306と加減算器307とからなる。選択回路205の出力データはビットシフタ郡306に入力され、ビットシフタ郡306の出力データは加減算器307によって加減算される。ビットシフタ郡306は次のような構成とする。即ち、選択回路205の第1の選択手段205aからビットシフタ郡306に入力されたデータはT−1ビットシフトされる。選択回路205の第2の選択手段205bからビットシフタ郡306に入力されたデータはT−2ビットシフトされる。以下、選択回路205の各選択手段からビットシフタ郡306に入力されたデータを同様に処理する。選択回路205の第Tの選択手段205tからビットシフタ郡306に入力されたデータはT−Tビットシフト、即ちそのまま出力される。
【0045】
ビットシフタ28は、Tビットシフタ38によって構成する。
【0046】
基本構成の項で説明したように、従来は、選択回路205を構成する選択手段の数だけ分散算術演算の処理を、高速で行うことができるように、分散算術演算を同時処理しようとすれば、選択回路205を構成する選択手段の数だけのルックアップ表の記憶手段の数が必要となる。また、ルックアップ表の記憶手段の数を増やさないように、選択回路205を構成する選択手段の数だけの分散算術演算の処理を1つづつ行うと、その数だけ演算時間がかかる。しかし、本発明では、このような構成とすることにより、ルックアップ表の記憶手段を増加することなく、Tビット同時処理を実施することができ、処理の高速化を図ることができる。
【0047】
(第2実施形態)
図3に本発明による複素数乗算装置の第2の実施例を示す。図1と同一機能のものは同一番号を付して説明を省略する。入力端子群201の入力1に入力複素数1の実部を割り当て、入力端子群201の入力2に入力複素数1の虚部を割り当て、…入力端子群201の入力2h−1に入力複素数hの実部を割り当て、…入力端子群201の入力2Hに入力複素数Hの虚部を割り当てる。入力されたデータは、各々分散算術演算処理回路群40で処理される。分散算術演算処理回路群40を構成する分散算術演算処理回路251、252…は2H個ある。な、以降の本実施形態の説明ではすべての分散算術演算処理回路を符号251で示す。
【0048】
入力1及び2は、1番目及び2番目の分散算術演算処理回路251のみに入力する。入力1及び2は、前記以外の分散算術演算処理回路251には、影響を与えない場合を考え、入力線の記載を省略する。出力複素数1の実部及び虚部は、1番目及び2番目の分散算術演算処理回路251から各々出力され、出力端子郡230の出力1及び出力2に割り当てる。それ以外の入力も、同様に処理される。
【0049】
ここで、複素定数Y及び複数の任意の複素数{Z}の乗算Y・{Z}を考える。Y=Y−jY、{Z}の要素の1つをZ=Z+jZとおくと(添え字rは実部を、添え字iは虚部を示す。また、j=−1である。)、Y・{Z}の要素YZは、下記の式9で表される。
【0050】
Figure 0003875183
【0051】
従って、式1においてA及びXを以下の式10ように設定し、要素数2のDA法を適用すればYZの実部が求まる。
【0052】
Figure 0003875183
【0053】
同様に、式1において、A及びXを以下の式11のように設定し、要素数2のDA法を適用すれば、YZの実部が求まる。
【0054】
Figure 0003875183
【0055】
実部、虚部いずれの場合でも、ルックアップ表は{(Y+Y)/2, (Y―Y)/2}であり、同一となる。これは、図3において、入力端子郡201の2h−1番目の入力端子にZ、2h番目の入力端子にZをそれぞれ入力し、記憶手段204のルックアップ表として{(Y+Y)/2, (Y―Y)/2}を格納すると、出力端子郡230の2h−1番目の出力端子及び2h番目の出力端子の出力としてYZの実部及び虚部が得られることになる。Y・{Z}は、YZを求めるDA法を複数実施することにより求めることができる。これは、図3の入力端子郡(201)に{Z}を入力すればよい。
【0056】
このような構成とすることにより、複素数の乗算を分散術演算で実現でき、{Z}の要素数、即ち入力端子郡201の入力数によらず、また、演算の高速化のため分散算術演算処理回路251内で、第1の実施形態に示したように多ビット同時処理を行っても、第1の実施形態の項で説明したように、記憶手段は増加せず一定である。
【0057】
(第3実施形態)
複素関数f(n)のN点離散フーリエ変換(以下、DFT)は次式である。
【0058】
Figure 0003875183
【0059】
は回転因子と呼ばれるファクターである。式12を変形していくと、
【0060】
Figure 0003875183
【0061】
kが偶数の場合と奇数の場合で分けると、
【0062】
Figure 0003875183
【0063】
ただし、
Figure 0003875183
【0064】
となる。f(n)に関するN点DFTが、y(n)及びz(n)に関するN/2点DFTになった。その際式15の演算をN/2点行う必要がある。式15の演算はバタフライ演算と呼ばれる。これを、log2N-1段(Nが2のべき乗の場合)、再起的に繰り返していくことで、DFT演算結果を得ることができる。これは、基数2の周波数間引きDFTと呼ばれる演算手法である。
【0065】
この場合、式15に示す複素乗算を1段あたりN/2回を合計log2N-1段行う必要があるため、DFTを高速で行うためには、式15の演算を高速で行う必要がある。そのため、1段あたりN/2個の式15の演算をいくつかづつ同時並列処理で行いたい。これは、本発明による第2の実施例において、
【0066】
Figure 0003875183
【0067】
とおくことによって達成することができる。この場合(式6)におけるQ(b)は、
【0068】
Figure 0003875183
【0069】
である。ところで、三角関数の全ての値は、0〜45度の三角関数値で表現できるので、式17のためのルックアップ表は、n=0〜N/8での結果のみを格納すればよい。
【0070】
この場合の記憶手段の構成を図4に示す。図1と同一機能のものは同一番号を付す。記憶手段204は、第1の記憶部501及び第2の記憶部502で構成される。第1の記憶部501はQp(n)のルックアップ表(ただし、nは0〜N/8の整数)を格納する。第2の記憶部502はQm(n)のルックアップ表(ただし、nは0〜N/8の整数)を格納する。設定203から指示されたアドレスに従って、記憶手段1501及び記憶手段2502のデータ組が端子302から出力される。
【0071】
このような構成とすることにより、ルックアップ表の記憶手段の増大なしに、DFTに必要となるバタフライ演算を高速で実施することができる。
【0072】
(第4実施形態)
第3実施形態における記憶手段の別の構成を図5に示す。図4と同一機能のものは同一番号を付す。1つの複素乗算ではnは固定値なので、単一の記憶部504はQp(n)とQm(n)の対を格納した表であれば、アドレスデコーダは1つで済み、低消費電力化できる。
【0073】
(第5実施形態)
図4又は図5のルックアップ表を使い、第2実施形態に従って複素数乗算をDA法で構成すれば、式15の演算が実施できる。式15は前述したように、n=0…N/2-1について行う必要があるが、このうちのいくつかを同時処理することで、演算の高速化を図ることができる。その際、第2実施形態で示したように、ルックアップ表を格納するための記憶手段の増大はない。さらに、第1実施形態で示したように、多ビット同時処理による演算高速化を図っても、ルックアップ表を格納するための記憶手段の増大はない。以上の演算をlog2N-1段行うことで、DFT演算が達せられる。
【0074】
このような構成とすることにより、ルックアップ表の記憶手段の増大なしに、DFTの高速化を図ることができる。
【0075】
【発明の効果】
以上の説明から明らかなように、本発明の演算装置は、第1の入力データ組が入力され、変換手段、選択手段、及び第1から第3の演算手段を備える少なくとも1個の分散算術演算手段と、前記第2の入力データ組に対応したデータの表を記憶し、前記第2の入力データに応じたデータ組を出力する記憶手段とを備え、分散算術演算手段の選択手段が記憶手段から出力されるデータ組から最適なデータを選ぶので、表を記憶するための記憶手段を増加することなく、分散算術演算を利用したTビット同時処理により、内積演算処理、複素乗算処理、N点離散フーリエ変換に必要なバタフライ演算処理等の演算処理の高速化を図ることができる。
【図面の簡単な説明】
【図1】 本発明の基本構成を示すブロック図である。
【図2】 本発明の第1実施形態を示すブロック図である。
【図3】 本発明の第2実施形態を示すブロック図である。
【図4】 発明の第3実施形態における記憶手段の構成を示す概略図である。
【図5】 本発明の第3実施形態における記憶手段の他の構成を示す概略図である。
【図6】 従来の内積演算装置の一例を示すブロック図である。
【符号の説明】
201 データ入力端子郡
230 データ出力端子郡
203 設定データ入力端子
204, 501, 502, 503 ルックアップ表を格納する記憶手段
251, 252, 253, 400 分散算術演算処理回路
202 入力データ変換手段
205 データの選択手段
206 選択されたデータの演算手段
207 加減算器
208 ビットシフタ
209 一時記憶手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an inner product operation device and a complex multiplication using a distributed arithmetic operation method (Distributed Arithmetic, hereinafter referred to as DA method) used for digital signal processing such as image signal encoding, filter processing, and discrete Fourier transform. The present invention relates to an arithmetic device such as a device.
[0002]
[Prior art]
The DA method is a well-known method for realizing an inner product operation of a matrix with a lookup table and an adder. For example, Patent Document 1 and Non-Patent Document 1 describe that by using the DA method, the inner product operation can be realized more compactly than when a multiplier is used.
[0003]
In order to explain the DA method, an inner product operation of a constant vector A having the number of elements K and an input vector X represented by the following Equation 1 is considered.
[0004]
Figure 0003875183
[0005]
Assuming that Xk is a binary W-bit width fixed point expressed in two's complement, it can be expressed as the following Expression 2.
[0006]
Figure 0003875183
[0007]
In this equation (2), b k [w] is a bit (1 or 0), b k [0] is a sign bit, and b k [W−1] is a least significant bit.
[0008]
Further, X k = Since {X k - - (X k )} / 2 and expressed, placing the bit inversion of b k and b 'k, X k is as follows.
[0009]
Figure 0003875183
(Formula 3)
[0010]
However, in this equation 3, c k [w] is expressed as follows.
[0011]
Figure 0003875183
[0012]
By substituting (Equation 3) into (Equation 1), the following equation 5 is obtained.
[0013]
Figure 0003875183
[0014]
In this formula 5, there is the following relationship.
[0015]
Figure 0003875183
[0016]
In (Expression 6), Q (b w ) can be transformed as the following expression.
[0017]
Figure 0003875183
[0018]
Therefore, since Q (b w ) in the case of c 1 = −1 can be expressed by Q (b w ) in the case of c 1 = 1, the value of Expression 6 can be expressed in 2 K−1 ways. This value is stored as a lookup table. Then, since 2- w is applied to each value from w = W−1 to 0, the processing is executed in order from w = W−1, and the value referenced from the lookup table is added to the right by one digit. . With the above procedure, AX can be obtained without performing multiplication.
[0019]
When the above calculation is performed simultaneously for a plurality of values of the input vector X, it is equivalent to performing the following equation.
[0020]
Figure 0003875183
[0021]
Here, X (i) is the i-th vertical vector of X in formula (1), A (i) is a horizontal vector of the constant corresponding thereto (i is an integer of 0 or more), 0 is the element value is 0 Indicates a horizontal vector. A ′ represents a matrix including A (i), X ′ represents a vector including X (i), and B represents an operation result.
[0022]
FIG. 6 shows a method for performing the calculation of (Equation 8) using, for example, the methods disclosed in Patent Document 3, Patent Document 4, and the like. Each element of the input vector X (0), X (1),... Reference numerals 110, 111,... Denote distributed arithmetic operation circuits for calculating AX in Equation 1, and are connected in parallel by the number of input vectors. Reference numeral 103 denotes storage means for storing a lookup table. Data corresponding to input data (constant vector) to the terminal group 101 is input from the storage means 103 to the adder / subtractor 104. The adder / subtracter 104 adds / subtracts the output data of the storage means 103 and the output of the 1-bit shifter 106 and inputs the result to the temporary storage means 107 which is a shift register, for example. The output of the adder / subtracter 104 temporarily stored in the temporary storage means 107 is output to the bit shifter 106, the switch 108 is closed at an appropriate timing, and output from the output terminal 109 as output B (0). Similarly, outputs B (1), B (2)... Of other DA circuits 111.
[0023]
[Patent Document 1]
US Pat. No. 3,777,130 [Patent Document 2]
US Pat. No. 5,226,002 [Patent Document 3]
JP 2000-148730 A [Non-patent Document]
“Applications of distributed arithmetic to digital signal processing: a tutorial review,” SAWhite, IEEE ASSP magazine, vol.6, issue 3, pp.4-9, July 1989
[0024]
[Problems to be solved by the invention]
However, in the conventional apparatus shown in FIG. 6, each distributed arithmetic operation circuit 110, 111... Has a built-in storage means 103, so its compactness is greatly influenced by the compactness of the storage means 103. That is, as the number of input vectors simultaneously processed increases, the number of distributed arithmetic operation circuits 110, 111... Increases, and the number of storage means 103 increases accordingly.
[0025]
In FIG. 6, since input data is input in bit serial from the terminal group 101, if one bit is processed with one clock, at least the number of clocks corresponding to the bit width of the input data is required until an output result is obtained. Become. On the other hand, simultaneous processing of multiple bits in order to shorten the calculation time without increasing the clock frequency is equivalent to increasing the number of elements of the vector X ′ in Equation 8, so that the distributed arithmetic operation circuits 110, 111. The number of parallel processing increases by the number of parallel processing bits, and therefore the storage means 103 also increases by the same number.
[0026]
As described above, when the inner product operation is simultaneously performed on a plurality of data by the distributed arithmetic operation, there is a problem that the storage means corresponding to the number of simultaneous processes is required, and the compactness deteriorates as the number of simultaneous processes increases.
[0027]
The present invention has been made in view of such a problem, and an object of the present invention is to speed up distributed arithmetic operations while keeping the size of the storage means small.
[0028]
[Means for Solving the Problems]
The present invention provides means for solving these problems, and the invention of each claim constitutes the following technical means.
[0029]
According to the present invention, in the arithmetic device that performs arithmetic processing using the distributed arithmetic operation method on the first input data set and the second input data set, the first input data set is input. At least one distributed arithmetic operation means; and storage means for storing a data table (lookup table) corresponding to the second input data set and outputting a data set corresponding to the second input data. And the distributed arithmetic means generates first to Uth data for generating T-bit width (T is a natural number) from first to Uth data (U is a natural number) of the first input data set. The first to Tth selection means selects the optimum data from the data set output from the storage means according to the contents of each bit from the least significant bit to the most significant bit of the conversion means and the first to Uth conversion means. And the first means Addition and subtraction of the first calculation means for calculating the data output from the Tth selection means, the data output from the first calculation means, and the output of the third calculation means for performing bit shift. A second computing means for executing, a temporary storage means for temporarily storing the computation result output from the second computing means, and a third shift for executing a bit shift of the data outputted from the temporary storage means An arithmetic device is provided, comprising an arithmetic means.
[0030]
In the arithmetic device of the present invention configured as described above, each distributed arithmetic operation means does not need to have a storage means for storing a table of data, so that the distributed arithmetic operation can be performed without increasing the storage means for storing the table. The processing speed can be increased by simultaneous T-bit processing using.
[0032]
The arithmetic device of the present invention can be configured as a complex number multiplication device. In this case, the first input data set is an H-number (H is a natural number) complex number, and the real part and the imaginary part of the h-th number (h is an integer from 1 to H) are respectively the first number. 2h-1 and 2h of the first input data set, the number of the first distributed arithmetic operation means is 2H, and the 2h-1st and 2hth inputs of the first input data set are The complex number inputted as the first input data and the complex number inputted as the second input data are multiplied only by the 2h-1 and 2h distributed arithmetic operation means. With such a configuration, it is possible to increase the speed of complex multiplication operation processing by T bit simultaneous processing using distributed arithmetic operation without increasing the storage means for storing the table.
[0033]
A first table showing a value of {cos (2πn / N) + sin (2πn / N)} / 2 for n which is an integer from 0 to N / 8; If the second table indicating the value of {cos (2πn / N) −sin (2πn / N)} / 2 for n which is an integer is stored, N points without increasing the capacity of the storage means The butterfly operation necessary for the discrete Fourier transform can be processed at high speed.
[0034]
Alternatively, the first storage means has a value of {cos (2πn / N) + sin (2πn / N)} / 2 and {cos (2πn / N) −sin for n that is an integer from 0 to N / 8. A third table indicating a value pair of (2πn / N)} / 2 may be stored. In this case, the butterfly calculation necessary for the N-point discrete Fourier transform can be processed at high speed while further saving the capacity and power consumption of the storage means.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
Next, an embodiment of the present invention shown in the drawings will be described.
[0036]
(Basic configuration)
First, the basic configuration of the arithmetic unit of the present invention shown in FIG. 1 will be described. This basic configuration is the basis of the inner product arithmetic device and complex multiplier of the first to third embodiments described later. In FIG. 1, 201 is an input terminal group to which a first input data set is input, 203 is a setting data input terminal to which a second input data set is input, 204 is a storage means for storing a lookup table, and 230 is Indicates the output terminal group. 251, 252, 253... Indicate distributed arithmetic operation processing circuits, all of which have the same configuration.
[0037]
An input terminal group 301 is an input terminal group of data input from the input terminal group 201 to the distributed arithmetic processing circuit 251, and a terminal 302 is an input terminal of a data set input from the storage unit 204 to the distributed arithmetic processing circuit 251. .
[0038]
The U data from the first to the Uth input from the input terminal group 201 are converted into T-bit data by the first to U-th conversion means 202a, 202b,. A data set corresponding to the setting data input from the setting data input terminal 203 is output from the storage unit 204 and input to the selection circuit 205.
[0039]
The selection circuit 205 includes first to T-th selection means 205a, 205b,... 205t corresponding to the T-bit width data output from the conversion circuit 202. In the first selection unit 205a of the selection circuit 205, data corresponding to the least significant bit set of the outputs of the conversion units 202a to 202u in the conversion circuit 202 is generated and output from the data set output from the storage unit 204. The Further, the second selection means 205b of the selection circuit 205 generates data corresponding to the least significant +1 bit set of the outputs of the conversion means 202a to 202u in the conversion circuit 202 from the data set output from the storage means 204. And output. Thereafter, the same processing is executed by each of the selection means 205c, 205d... Of the selection circuit 202. The T-th selection means 205t of the selection circuit 205 outputs data corresponding to the most significant bit set of the outputs of the conversion means 202a to 202u in the conversion circuit 202.
[0040]
The plurality of data output from the selection circuit 205 is calculated by the calculation means (first calculation means) 206 and input to the adder / subtractor 207. An adder / subtracter (second arithmetic means) 207 adds / subtracts the data from the arithmetic means 206 and the data from the bit shifter 208. Data from the adder / subtracter 207 is temporarily stored in a temporary storage unit 209 which is a shift register, for example. Data from the temporary storage unit 209 is output to the bit shifter (third arithmetic unit) 208. The switch 210 is closed at an appropriate timing. When the switch 210 is closed, the temporary storage tree means 209 outputs the signal from the first terminal of the output terminal group 230.
[0041]
6 is one of the switch 210, the bit shifter 208, the temporary storage unit 209, the adder / subtractor 207, the arithmetic unit 206, and the selection circuit 205 in FIG. , The selection unit 205a) and the storage unit 204 correspond to a circuit having one unit. Therefore, when simultaneously processing a plurality of data, for example, the conversion circuit 202 is allocated so that multiple bits can be processed simultaneously, the first setting data is processed by the distributed arithmetic processing circuit 251, and the subsequent setting data is respectively distributed to the distributed arithmetic processing circuit. In the case of processing with 252, 253..., As the number of simultaneous processing increases, the number of distributed arithmetic operation circuits increases. However, in the conventional example, the number of storage means also increases at the same time, and the total capacity increases. However, in the present invention, by adopting such a configuration, only one storage unit 204 is required regardless of the number of simultaneous processes, so that the total capacity of the necessary storage unit is constant.
[0042]
(First embodiment)
FIG. 2 shows an inner product calculation apparatus according to the first embodiment of the present invention. Components having the same functions as those in FIG.
[0043]
The conversion circuit 202 is configured as follows. That is, in the conversion means 202 u in the conversion circuit 202, [Tk] bits, [Tk + 1] bits... [Tk + (T−1)] bits (k is an integer of 0 or more) of data input from the input terminal group 301. , Allocation is performed from the least significant bit to the most significant bit, and T bits are output. The other conversion means 202a, 202b,... In the conversion circuit 202 perform the same processing.
[0044]
The arithmetic means 206 includes a bit shifter group 306 and an adder / subtractor 307. The output data of the selection circuit 205 is input to the bit shifter group 306, and the output data of the bit shifter group 306 is added / subtracted by the adder / subtractor 307. The bit shifter county 306 has the following configuration. That is, the data input from the first selection means 205a of the selection circuit 205 to the bit shifter group 306 is shifted by T-1 bits. Data input to the bit shifter group 306 from the second selection means 205b of the selection circuit 205 is shifted by T-2 bits. Thereafter, the data input to the bit shifter group 306 from each selection means of the selection circuit 205 is processed in the same manner. Data input to the bit shifter group 306 from the Tth selection means 205t of the selection circuit 205 is TT bit shifted, that is, output as it is.
[0045]
Bit shift motor 2 0 8, thus constituting a T-bit shift motor 3 0 8.
[0046]
As explained in the section of the basic configuration, conventionally, if distributed arithmetic operations are to be processed simultaneously so that distributed arithmetic operations can be performed at the high speed as many as the number of selection means constituting the selection circuit 205. Therefore, the number of storage means for the lookup table corresponding to the number of selection means constituting the selection circuit 205 is required. Further, if processing of distributed arithmetic operations is performed one by one for the number of selection means configuring the selection circuit 205 so as not to increase the number of storage means for the lookup table, the calculation time is increased by that number. However, according to the present invention, with such a configuration, T bit simultaneous processing can be performed without increasing the number of lookup table storage means, and the processing speed can be increased.
[0047]
(Second Embodiment)
FIG. 3 shows a second embodiment of the complex multiplier according to the present invention. Components having the same functions as those in FIG. The real part of the input complex number 1 is assigned to the input 1 of the input terminal group 201, the imaginary part of the input complex number 1 is assigned to the input 2 of the input terminal group 201, and the real number of the input complex number h is assigned to the input 2h-1 of the input terminal group 201. ... The imaginary part of the input complex number H is assigned to the input 2H of the input terminal group 201. Input data are respectively processed by the distributed arithmetic processing circuit group 4 0. Distributed arithmetic processing circuit group 4 0 constituting the distributed arithmetic processing circuit 251, 252 ... are 2H pieces. Na us, the following description of the present embodiment shows all the distributed arithmetic processing circuit at reference numeral 251.
[0048]
Inputs 1 and 2 are input only to the first and second distributed arithmetic processing circuits 251. Considering the case where the inputs 1 and 2 do not affect the distributed arithmetic operation processing circuit 251 other than the above, description of the input lines is omitted. The real part and the imaginary part of the output complex number 1 are respectively output from the first and second distributed arithmetic processing circuits 251 and assigned to the output 1 and the output 2 of the output terminal group 230. Other inputs are similarly processed.
[0049]
Here, a multiplication Y · {Z} of a complex constant Y and a plurality of arbitrary complex numbers {Z} is considered. Y = Y r −jY i , where one element of {Z} is Z = Z r + jZ i (subscript r indicates a real part, subscript i indicates an imaginary part, and j 2 = − 1), the element YZ of Y · {Z} is represented by the following Expression 9.
[0050]
Figure 0003875183
[0051]
Therefore, if A and X are set as in the following expression 10 in the expression 1 and the DA method with 2 elements is applied, the real part of YZ can be obtained.
[0052]
Figure 0003875183
[0053]
Similarly, in Equation 1, if A and X are set as in Equation 11 below and the DA method with 2 elements is applied, the real part of YZ can be obtained.
[0054]
Figure 0003875183
[0055]
In both the real part and the imaginary part, the lookup table is {(Y r + Y i ) / 2, (Y r −Y i ) / 2}, which is the same. In FIG. 3, Z r is input to the 2h−1 input terminal of the input terminal group 201 and Z i is input to the 2h input terminal, and {(Y r + Y i ) / 2, (Y r −Y i ) / 2}, the real part and the imaginary part of YZ can be obtained as the output of the 2h-1st output terminal and the 2hth output terminal of the output terminal group 230 become. Y · {Z} can be obtained by performing a plurality of DA methods for obtaining YZ. This can be done by inputting {Z} to the input terminal group (201) in FIG.
[0056]
With such a configuration, multiplication of complex numbers can be realized by distributed arithmetic operation, regardless of the number of elements of {Z}, that is, the number of inputs of the input terminal group 201, and distributed arithmetic operation for speeding up the operation. Even if multi-bit simultaneous processing is performed in the processing circuit 251 as shown in the first embodiment, the storage means does not increase and is constant as described in the section of the first embodiment.
[0057]
(Third embodiment)
The N-point discrete Fourier transform (hereinafter DFT) of the complex function f (n) is
[0058]
Figure 0003875183
[0059]
W N is a factor called a twiddle factor. As equation 12 is transformed,
[0060]
Figure 0003875183
[0061]
When k is even and odd,
[0062]
Figure 0003875183
[0063]
However,
Figure 0003875183
[0064]
It becomes. The N-point DFT for f (n) is now the N / 2-point DFT for y (n) and z (n). At that time, it is necessary to perform the calculation of Expression 15 by N / 2 points. The calculation of Equation 15 is called butterfly calculation. By repeating this process log 2 N-1 stages (when N is a power of 2), the DFT operation result can be obtained. This is an arithmetic technique called radix-2 frequency decimation DFT.
[0065]
In this case, since it is necessary to perform the complex multiplication shown in Equation 15 N / 2 times per stage for a total of log 2 N−1 stages, in order to perform DFT at high speed, it is necessary to perform the calculation of Expression 15 at high speed. is there. Therefore, we would like to perform several N / 2 operations of Equation 15 per stage by simultaneous parallel processing. This is the second embodiment according to the present invention,
[0066]
Figure 0003875183
[0067]
This can be achieved. In this case, Q (b w ) in (Equation 6) is
[0068]
Figure 0003875183
[0069]
It is. By the way, since all values of the trigonometric function can be expressed by trigonometric function values of 0 to 45 degrees, the look-up table for Equation 17 only needs to store the results for n = 0 to N / 8.
[0070]
The configuration of the storage means in this case is shown in FIG. Components having the same functions as those in FIG. The storage unit 204 includes a first storage unit 501 and a second storage unit 502. The first storage unit 501 stores a lookup table for Qp (n) (where n is an integer from 0 to N / 8). The second storage unit 502 stores a lookup table of Qm (n) (where n is an integer from 0 to N / 8). A data set of the storage unit 1501 and the storage unit 2502 is output from the terminal 302 in accordance with the address instructed from the setting 203.
[0071]
With such a configuration, the butterfly operation required for DFT can be performed at high speed without increasing the storage means of the lookup table.
[0072]
(Fourth embodiment)
Another structure of the memory | storage means in 3rd Embodiment is shown in FIG. Components having the same functions as those in FIG. Since n is a fixed value in one complex multiplication, if the single storage unit 504 is a table storing a pair of Qp (n) and Qm (n), only one address decoder is required, and power consumption can be reduced. .
[0073]
(Fifth embodiment)
If the complex number multiplication is configured by the DA method according to the second embodiment using the lookup table of FIG. 4 or FIG. As described above, it is necessary to perform Equation 15 for n = 0... N / 2-1. However, it is possible to increase the calculation speed by simultaneously processing some of them. At that time, as shown in the second embodiment, there is no increase in storage means for storing the lookup table. Furthermore, as shown in the first embodiment, there is no increase in the storage means for storing the lookup table even if the calculation speed is increased by multi-bit simultaneous processing. The DFT operation can be achieved by performing the above operation on log 2 N−1 stages.
[0074]
With such a configuration, it is possible to increase the speed of the DFT without increasing the number of lookup table storage means.
[0075]
【The invention's effect】
As is apparent from the above description, the arithmetic device of the present invention receives at least one distributed arithmetic operation that is input with the first input data set and includes a conversion means, a selection means, and first to third arithmetic means. Means for storing data corresponding to the second input data set, and storing means for outputting the data set corresponding to the second input data, wherein the selection means of the distributed arithmetic operation means is the storage means Since the optimum data is selected from the data set output from, the inner product operation processing, complex multiplication processing, N points can be performed by T bit simultaneous processing using distributed arithmetic operation without increasing the storage means for storing the table. Calculation processing such as butterfly calculation processing necessary for discrete Fourier transform can be speeded up.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a basic configuration of the present invention.
FIG. 2 is a block diagram showing a first embodiment of the present invention.
FIG. 3 is a block diagram showing a second embodiment of the present invention.
FIG. 4 is a schematic diagram showing a configuration of storage means in a third embodiment of the invention.
FIG. 5 is a schematic view showing another configuration of the storage means in the third embodiment of the present invention.
FIG. 6 is a block diagram showing an example of a conventional inner product calculation device.
[Explanation of symbols]
201 Data input terminal group 230 Data output terminal group 203 Setting data input terminals 204, 501, 502, 503 Storage means 251, 252, 253, 400 for storing a lookup table Distributed arithmetic operation processing circuit 202 Input data conversion means 205 Selection means 206 Calculation means 207 for selected data Adder / subtracter 208 Bit shifter 209 Temporary storage means

Claims (3)

第1の入力データ組と、第2の入力データ組とに対して、分散算術演算法を利用して演算処理を行う演算装置において、
前記第1の入力データ組が入力される少なくとも1個の分散算術演算手段と、
前記第2の入力データ組に対応したデータの表を記憶し、前記第2の入力データに応じたデータ組を個々の前記分散演算手段に出力する記憶手段とを備え、
前記分散算術演算手段は、
前記第1の入力データ組の1番目からU番目のデータから、Tビット幅のデータをそれぞれ生成する第1から第Uの変換手段と、
前記第1から第Uの変換手段の最下位から最上位ビットまでの各ビットの内容に従って、前記記憶手段から出力されるデータ組から、それぞれ最適なデータを選ぶ第1から第Tの選択手段と、
前記第1から第Tの選択手段より出力されるデータを演算する第1の演算手段と、
前記第1の演算手段から出力されるデータと、ビットシフトを実行する第3の演算手段の出力との加減算を実行する第2の演算手段と、
前記第2の演算手段から出力される演算結果を一時的に格納する一時記憶手段と、
前記一時記憶手段から出力されるデータのビットシフトを実行する第3の演算手段と を備え、
前記第1の入力データ組は、Z=Z +jZ (添字rは実部を、添字iは虚部を示す。また、j =−1である。)として表されるH個の複素数であり、h個目の複素数の実部及び虚部はそれぞれ前記第1の入力データ組の2h−1番目及び2h番目に割り当てられ、
前記第2の入力データ組は、Y=Y −jY で表される複素定数であり、
前記分散算術演算手段の数は2H個であり、前記第1の入力データ組の2h−1番目及び2h番目の入力は、2h−1番目及び2h番目の前記分散算術演算手段にのみ出力され、
前記記憶手段は、前記ルックアップ表として{(Y +Y / 2,(Y −Y / 2}の値を格納し、
前記第1の入力データ組として入力されるH個の複素数と、前記第2の入力データ組として入力される複素定数の乗算を行うことを特徴とする、演算装置。
In an arithmetic device that performs arithmetic processing using a distributed arithmetic operation method on the first input data set and the second input data set,
At least one distributed arithmetic operation means to which the first input data set is input;
Storing a table of data corresponding to the second input data set, and storing the data set corresponding to the second input data to each of the distributed calculation means ,
The distributed arithmetic operation means includes:
First to U-th conversion means for generating T-bit width data from first to U-th data of the first input data set, respectively;
First to Tth selection means for selecting optimum data from the data set output from the storage means according to the contents of each bit from the least significant bit to the most significant bit of the first to Uth conversion means; ,
First calculation means for calculating data output from the first to Tth selection means;
Second computing means for performing addition / subtraction between the data output from the first computing means and the output of the third computing means for performing bit shift;
Temporary storage means for temporarily storing calculation results output from the second calculation means;
And third arithmetic means for performing a bit shift of data output from the temporary storage means,
The first input data set is H complex numbers expressed as Z = Z r + jZ i (subscript r indicates a real part, subscript i indicates an imaginary part, and j 2 = −1). And the real part and the imaginary part of the h-th complex number are respectively assigned to the 2h-1th and 2hth of the first input data set,
The second input data set is a complex constant represented by Y = Y r −jY i ,
The number of distributed arithmetic operation means is 2H, and the 2h-1st and 2hth inputs of the first input data set are output only to the 2h-1th and 2hth distributed arithmetic operation means,
The storage means stores a value of {(Y r + Y i ) / 2, (Y r −Y i ) / 2} as the lookup table ,
An arithmetic unit, which performs multiplication of H complex numbers input as the first input data set and a complex constant input as the second input data set .
nを0からN/8の整数とすると、前記第1の入力データ組はZ=z(n)なる複素関数、前記第2の入力データ組はY= exp -j 2π n/ N)なる複素関数であり、
前記記憶手段は、前記ルックアップ表として {cos(2πn/N)+sin(2πn/N)}/2の値を示す第1の表と、前記0からN/8の整数であるnに対する{cos(2πn/N)−sin (2πn/N)}/2の値を示す第2の表とを格納していることを特徴とする、請求項に記載の演算装置。
When n is an integer from 0 to N / 8, the first input data set is a complex function Z = z (n), and the second input data set is Y = exp ( −j n / N). A complex function,
The storage means has a first table indicating a value of { cos (2πn / N) + sin (2πn / N)} / 2 as the look-up table, and n for an integer from 0 to N / 8 { The arithmetic unit according to claim 1 , wherein a second table indicating values of cos (2πn / N) −sin (2πn / N)} / 2 is stored.
記記憶手段が、前記ルックアップ表として{cos(2πn/N)+sin(2πn/N)}/2の値及び{cos(2πn/N)−sin (2πn/N)}/2の値の対を示す第3の表を格納していることを特徴とする、請求項に記載の演算装置。Before Kikimeans, as the look-up table {cos (2πn / N) + sin (2πn / N)} of / 2 values and {cos (2πn / N) -sin (2πn / N)} / 2 of The arithmetic unit according to claim 1 , wherein a third table indicating pairs of values is stored.
JP2002336196A 2002-11-20 2002-11-20 Arithmetic unit Expired - Fee Related JP3875183B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002336196A JP3875183B2 (en) 2002-11-20 2002-11-20 Arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002336196A JP3875183B2 (en) 2002-11-20 2002-11-20 Arithmetic unit

Publications (2)

Publication Number Publication Date
JP2004171263A JP2004171263A (en) 2004-06-17
JP3875183B2 true JP3875183B2 (en) 2007-01-31

Family

ID=32700105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002336196A Expired - Fee Related JP3875183B2 (en) 2002-11-20 2002-11-20 Arithmetic unit

Country Status (1)

Country Link
JP (1) JP3875183B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6863907B2 (en) * 2018-01-05 2021-04-21 日本電信電話株式会社 Arithmetic circuit
JP6995629B2 (en) * 2018-01-05 2022-01-14 日本電信電話株式会社 Arithmetic circuit

Also Published As

Publication number Publication date
JP2004171263A (en) 2004-06-17

Similar Documents

Publication Publication Date Title
JPH0526229B2 (en)
CN113467750A (en) Large integer bit width division circuit and method for SRT algorithm with radix of 4
US8909687B2 (en) Efficient FIR filters
JP3875183B2 (en) Arithmetic unit
JP2677969B2 (en) Orthogonal transformer
CN109379191B (en) Dot multiplication operation circuit and method based on elliptic curve base point
JP5175983B2 (en) Arithmetic unit
Matutino et al. An efficient scalable RNS architecture for large dynamic ranges
JPWO2009020216A1 (en) Calculation method and calculation device
US7847349B2 (en) Single-cycle FFT butterfly calculator
CN113672196B (en) Double multiplication calculating device and method based on single digital signal processing unit
JP3823107B2 (en) Basis transformation method and basis transformation device in finite field
JP3660075B2 (en) Dividing device
US5847980A (en) Product-summing arithmetic circuit
EP1504335A2 (en) Fast multiplication circuits
WO2003096182A1 (en) “emod” a fast modulus calculation for computer systems
KR20100026358A (en) Method and apparatus of elliptic curve cryptographic operation based on block indexing on sensor mote and recording medium using by the same
JP2002504250A (en) Device for converting a sequence of data elements
JP2008158855A (en) Correlation computing element and correlation computing method
KR100575285B1 (en) Low power, high speed DCT device and method thereof
JP4791172B2 (en) FFT operation circuit
JP3610564B2 (en) Information processing device
JPH0535773A (en) Method and system for vector division
JP3575991B2 (en) Orthogonal transform circuit
Kumar et al. Implementation and Performance Analysis of Reconfigurable Montgomery Modular Multiplier

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060704

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060901

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061025

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees