JP6995629B2 - 演算回路 - Google Patents
演算回路 Download PDFInfo
- Publication number
- JP6995629B2 JP6995629B2 JP2018000451A JP2018000451A JP6995629B2 JP 6995629 B2 JP6995629 B2 JP 6995629B2 JP 2018000451 A JP2018000451 A JP 2018000451A JP 2018000451 A JP2018000451 A JP 2018000451A JP 6995629 B2 JP6995629 B2 JP 6995629B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- value
- real
- lut
- values
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Nonlinear Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
Description
y=Σt=1,・・・,L(2L-t×Σn=1,・・・,N(c[n]×x[n][L-t+1]))
・・・(1)
y=Σn=1,・・・,N(c[n]×(Σl=L,・・・,1(x[n][l]×2l-1))
・・・(2)
また、本発明の演算回路の1構成例において、前記2項分散演算回路は、前記N個のデータx[m,n]のうち同一組の2個の値のビット位置毎に設けられ、値0と、前記係数c[n]のうち同一組の2個の値と、この係数c[n]の2個の値から前記LUT生成回路によって計算された値とからなる要素値の中から、前記N個のデータx[m,n]のうち同一組の2個の値を構成する同一ビット位置の2個の値に対応する1個の要素値をビット位置毎に取得する複数の索引回路と、前記複数の索引回路によって取得された要素値を、それぞれ2 (l-1) 倍(lはビット位置の番号)することをビット位置毎に行う複数の倍数演算回路と、前記複数の倍数演算回路によって計算された値を合算した結果を前記2項積和演算の値として出力する合算回路とから構成されることを特徴とするものである。
また、本発明の演算回路の1構成例において、前記分散演算回路は、前記複素数X[m]の実部値x_real[m]および虚部値x_imag[m]のビット位置毎に設けられ、値0、c_real、-c_imag、d_subからなる要素値の中から、前記実部値x_real[m]および前記虚部値x_imag[m]のうち自回路に対応するビット位置の2個の値に対応する1個の要素値をビット位置毎に取得する複数の第1の索引回路と、前記複数の第1の索引回路によって取得された要素値を、それぞれ2 (l-1) 倍(lはビット位置の番号)することをビット位置毎に行う複数の第1の倍数演算回路と、前記複数の第1の倍数演算回路によって計算された値を合算した結果を前記実部の積和演算の値y_real[m]として出力する第1の合算回路と、前記複素数X[m]の実部値x_real[m]および虚部値x_imag[m]のビット位置毎に設けられ、値0、c_imag、c_real、d_addからなる要素値の中から、前記実部値x_real[m]および前記虚部値x_imag[m]のうち自回路に対応するビット位置の2個の値に対応する1個の要素値をビット位置毎に取得する複数の第2の索引回路と、前記複数の第2の索引回路によって取得された要素値を、それぞれ2 (l-1) 倍することをビット位置毎に行う複数の第2の倍数演算回路と、前記複数の第2の倍数演算回路によって計算された値を合算した結果を前記虚部の積和演算の値y_imag[m]として出力する第2の合算回路とから構成されることを特徴とするものである。
また、本発明の演算回路は、LUTにメモリ回路を用いていないため、係数c[n]または複素数係数Cが時間の経過に伴って変動する積和演算に本発明を適用した場合にも、LUTのアドレス1個ずつ更新するのではなく、全アドレスに対して同時に更新することができるので、係数c[n]または複素数係数Cの変動によって生じる頻繁なLUTの更新が生じても、スループットが低下しない。
また、本発明の演算回路は、1個のLUTを複数個のメモリ回路にコピーすることで高速化するのではなく、LUTの要素値を生成する回路をLUT生成回路として共通化し、LUTを検索する回路である分散演算回路のみを並列化することによって、冗長回路(同じ値を保持する回路のコピー)を無くすことができ、回路規模が増大しない。
このように、本発明では、従来の分散演算を採用した積和演算回路が持っていた乗算回路を用いた積和演算回路と比較したときにスループットが低いという課題と、同じ値を保持する回路が並列化され回路規模が増大するという課題を解決することができる。さらに、本発明では、分散演算によって乗算回路が不要となるため、乗算中のスイッチング電力を抑制できるので、回路規模および消費電力を大幅に削減できる効果がある。
以下、本発明の実施例について図面を参照して説明する。図1は本発明の第1の実施例に係る演算回路の構成を示すブロック図である。本実施例の演算回路は、M組(Mは2以上の整数)のデータセットX[m](m=1,・・・,M)と、N個(Nは2以上の整数)の係数c[n](n=1,・・・,N)とを入力とする。各データセットX[m](m=1,・・・,M)は、N個のデータx[m,n](n=1,・・・,N)の組からなる。なお、データx[m,n](m=1,・・・,M、n=1,・・・,N)は、負の値も取り得る符号付き数値(2の補数による2進数で表現された数値)である。
LUT生成回路1は、積和演算の係数であるN個の係数c[n](n=1,・・・,N)を入力とし、これらを2個ずつの組に分けたときの各組の値から、分散演算用LUTの要素として使用する値を計算する。そして、LUT生成回路1は、計算した値を係数c[n]と併せて各分散演算回路2-1~2-Mに分配する。
図2の分散演算回路2-mは、入力されたデータセットX[m]のうち自回路に対応するN個のデータx[m,n]に対して、LUT生成回路1が係数c[n](n=1,・・・,N)に対して行った2個ずつの組み分けと同様に、2個ずつの組み分けを行う。
さらに、Nが奇数の場合、2項分散演算結果合算回路21mは、各2項分散演算回路20m-n’(n’=1,・・・,N’)が出力した値y’[m,n’](n’=1,・・・,N’)と補助乗算回路22mが出力した値y’[m,N’+1]とを合算して、結果をy[m]として出力する。
合算回路204は、L個の倍数演算回路203m-n’-lによって計算された値を合算した結果を、積和演算c[2×n’-1]×x[m,2×n’-1]+c[2n’]×x[m,2×n’]の結果であるy’[m,n’]として出力する。
一方、本実施例の演算回路は、N項の積和演算を、N’個の2項の積和演算に分割して、各2項の積和演算をそれぞれ並列演算により実現し、これらの結果を合算することによって、N項の積和演算と同じ結果を得ている。前記の構成の差による効果について、以下に説明する。
次に、本発明の第2の実施例について説明する。図5は本発明の第2の実施例に係る演算回路の構成を示すブロック図であり、図1と同一の構成には同一の符号を付してある。本実施例は、第1の実施例に示した演算回路に対して、回路規模や消費電力の増大なく、スループットを改善する構成を示す。
LUT生成回路1は、積和演算の係数であるN個の係数c[n](n=1,・・・,N)を入力とし、これらを2個ずつの組に分けたときの各組の値から、分散演算用LUTの要素として使用する値d[n’](n’=1,・・・,N’、N’はN/2以下で最大の整数)を計算し、計算した値d[n’]を係数c[n]と併せてLUTラッチ回路3に出力する。d[n’](n’=1,・・・,N’)の計算方法は、第1の実施例において説明した方法と同じである。
一方、図5の演算回路では、生成時間Td_LUTと分散演算時間Tdのそれぞれによって、演算回路を含むシステムのクロック周波数の上限が制約される。
本実施例において、パイプライン構成での課題となるフリップフロップは、LUTラッチ回路3内で、係数c[n](n=1,・・・,N)と値d[n’](n’=1,・・・,N’)とをクロックに同期して保持する回路に使用されるフリップフロップである。
次に、本発明の第3の実施例について説明する。図6は本発明の第3の実施例に係る演算回路の構成を示すブロック図である。図6の演算回路は、各々が実部値x_real[m]と虚部値x_imag[m](m=1,・・・,M)とに分かれる、M個(Mは2以上の整数)の複素数X[m](m=1,・・・,M)と、実部値c_realと虚部値c_imagとに分かれる複素数係数Cとを入力とする。なお、データx[m,n](m=1,・・・,M、n=1,・・・,N)は、負の値も取り得る符号付き数値(2の補数による2進数で表現された数値)である。
実部演算用LUT索引回路205m-lは、データx_real[m],x_imag[m]のうち自回路に対応するビット位置lにあるビットx_real[m][l],x_imag[m][l]に基づいて、実部演算用LUTの4要素値、すなわち値0、c_real、-c_imag、d_subの中から1個を取得する。
同様に、虚部演算用LUT索引回路210m-lによってビット位置l(l=1,・・・,L)毎に選択された虚部演算用LUTの要素値は、それぞれ倍数演算回路212m-lによって2 (l-1) 倍される。
一方、本実施例では、複素数間の乗算が2項積和演算の形式であるため、N項積和演算から2項積和演算に分割しなくとも、わずか4個の要素値のLUT(LUT生成回路1aと実部演算用LUT索引回路205m-lと虚部演算用LUT索引回路210m-l)を用いて分散演算が可能となる。
次に、本発明の第4の実施例について説明する。図9は本発明の第4の実施例に係る演算回路の構成を示すブロック図であり、図6と同一の構成には同一の符号を付してある。本実施例は、第3の実施例に示した演算回路に対して、回路規模や消費電力の増大なく、スループットを改善する構成を示す。
一方、図9の演算回路では、生成時間Td_LUTと分散演算時間Tdのそれぞれによって、演算回路を含むシステムのクロック周波数の上限が制約される。
本実施例において、パイプライン構成での課題となるフリップフロップは、LUTラッチ回路3a内で、c_real、c_imag、d_sub、d_addをクロックに同期して保持する回路に使用されるフリップフロップのみである。分散演算回路2a-1~2a-Mの並列数Mが大きい場合、演算回路全体に対するフリップフロップの規模の割合はわずかであり、本実施例に示したパイプライン構成の採用によって生じる回路規模や消費電力の増加は問題とならない。
Claims (7)
- N個(Nは2以上の整数)のデータx[m,n](n=1,・・・,N)の組をM組(Mは2以上の整数)含むデータセットX[m](m=1,・・・,M)と、N個の係数c[n]とを入力とし、M個の積和演算の値y[m]を計算して出力する演算回路において、
前記係数c[n]を2個ずつに組み分けしたときの組毎に計算した値を出力するLUT生成回路と、
前記データセットX[m]のうちN個のデータx[m,n]の各々に係数c[n]を乗じて合算した結果である前記積和演算の値y[m]を、前記M組の各組毎に並列に計算して出力するM個の分散演算回路とを備え、
各分散演算回路は、
自回路に対応するN個のデータx[m,n]を2個ずつに組み分けした各値と前記係数c[n]を2個ずつに組み分けした各値と前記LUT生成回路によって計算された値とに基づいて、前記N個のデータx[m,n]の各々に前記係数c[n]の各々を乗じて合算した2項積和演算の値を、前記2個ずつに組み分けした各組毎に並列に計算して出力する複数の2項分散演算回路と、
前記複数の2項分散演算回路によって計算された値を合算した結果を前記積和演算の値y[m]として出力する2項分散演算結果合算回路とから構成され、
前記LUT生成回路は、前記係数c[n]を2個ずつに組み分けした値c[2×n’-1]とc[2×n’](n’=1,・・・,N’)の和c[2×n’-1]+c[2×n’]を値d[n’]としてN’個(N’はN/2以下で最大の整数)の組毎に計算し、
各分散演算回路は、前記データセットX[m]と前記LUT生成回路から出力された係数c[n]および前記LUT生成回路によって計算された値d[n’]とを入力とし、データセットX[m]のうち自回路に対応するN個のデータx[m,n]の各々に係数c[n]を乗じて合算した結果である前記積和演算の値y[m]を出力することを特徴とする演算回路。 - 請求項1の演算回路において、
前記LUT生成回路と前記M個の分散演算回路との間に設けられ、前記係数c[n]と前記LUT生成回路によって計算された値とをクロックに同期して保持し、保持した値を前記M個の分散演算回路に出力するLUTラッチ回路をさらに備えることを特徴とする演算回路。 - 請求項1または2記載の演算回路において、
各分散演算回路は、
前記Nが奇数の場合にc[N]×x[m,N]を計算した結果を出力する補助乗算回路をさらに備え、
前記2項分散演算結果合算回路は、前記Nが奇数の場合に、前記複数の2項分散演算回路によって計算された値と前記補助乗算回路によって計算された値とを合算した結果を前記積和演算の値y[m]として出力することを特徴とする演算回路。 - 請求項1乃至3のいずれか1項に記載の演算回路において、
前記2項分散演算回路は、
前記N個のデータx[m,n]のうち同一組の2個の値のビット位置毎に設けられ、値0と、前記係数c[n]のうち同一組の2個の値と、この係数c[n]の2個の値から前記LUT生成回路によって計算された値とからなる要素値の中から、前記N個のデータx[m,n]のうち同一組の2個の値を構成する同一ビット位置の2個の値に対応する1個の要素値をビット位置毎に取得する複数の索引回路と、
前記複数の索引回路によって取得された要素値を、それぞれ2(l-1)倍(lはビット位置の番号)することをビット位置毎に行う複数の倍数演算回路と、
前記複数の倍数演算回路によって計算された値を合算した結果を前記2項積和演算の値として出力する合算回路とから構成されることを特徴とする演算回路。 - M個(Mは2以上の整数)の各々が実部値x_real[m]と虚部値x_imag[m](m=1,・・・,M)とに分かれる、M個の複素数X[m](m=1,・・・,M)と、実部値c_realと虚部値c_imagとに分かれる複素数係数Cとを入力とし、実部の積和演算の結果と虚部の積和演算の結果とからなるM個の複素数値Y[m]を計算して出力する演算回路において、
前記複素数係数Cの実部値c_realと虚部値c_imagの差の値d_subと、実部値c_realと虚部値c_imagの和の値d_addとを計算するLUT生成回路と、
前記複素数X[m]のうち自回路に対応するデータの各々に前記複素数係数Cを乗じて合算した結果である前記複素数値Y[m]を、前記M個の各々について並列に計算して出力するM個の分散演算回路とを備え、
各分散演算回路は、前記複素数X[m]と前記複素数係数Cの実部値c_realおよび虚部値c_imagと前記LUT生成回路によって計算された値d_subおよびd_addとを入力とし、前記実部の積和演算c_real×x_real[m]-c_imag×x_imag[m]の結果であるy_real[m]と、前記虚部の積和演算c_imag×x_real[m]+c_real×x_imag[m]の結果であるy_imag[m]とを、前記M個の各々について並列に計算して出力することを特徴とする演算回路。 - 請求項5の演算回路において、
前記LUT生成回路と前記M個の分散演算回路との間に設けられ、前記複素数係数Cの実部値c_realおよび虚部値c_imagと前記LUT生成回路によって計算された値d_subおよびd_addとをクロックに同期して保持し、保持した値を前記M個の分散演算回路に出力するLUTラッチ回路をさらに備えることを特徴とする演算回路。 - 請求項5または6記載の演算回路において、
前記分散演算回路は、
前記複素数X[m]の実部値x_real[m]および虚部値x_imag[m]のビット位置毎に設けられ、値0、c_real、-c_imag、d_subからなる要素値の中から、前記実部値x_real[m]および前記虚部値x_imag[m]のうち自回路に対応するビット位置の2個の値に対応する1個の要素値をビット位置毎に取得する複数の第1の索引回路と、
前記複数の第1の索引回路によって取得された要素値を、それぞれ2(l-1)倍(lはビット位置の番号)することをビット位置毎に行う複数の第1の倍数演算回路と、
前記複数の第1の倍数演算回路によって計算された値を合算した結果を前記実部の積和演算の値y_real[m]として出力する第1の合算回路と、
前記複素数X[m]の実部値x_real[m]および虚部値x_imag[m]のビット位置毎に設けられ、値0、c_imag、c_real、d_addからなる要素値の中から、前記実部値x_real[m]および前記虚部値x_imag[m]のうち自回路に対応するビット位置の2個の値に対応する1個の要素値をビット位置毎に取得する複数の第2の索引回路と、
前記複数の第2の索引回路によって取得された要素値を、それぞれ2(l-1)倍することをビット位置毎に行う複数の第2の倍数演算回路と、
前記複数の第2の倍数演算回路によって計算された値を合算した結果を前記虚部の積和演算の値y_imag[m]として出力する第2の合算回路とから構成されることを特徴とする演算回路。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018000451A JP6995629B2 (ja) | 2018-01-05 | 2018-01-05 | 演算回路 |
CN201880085302.XA CN111615700B (zh) | 2018-01-05 | 2018-12-18 | 运算电路 |
US16/959,968 US11360741B2 (en) | 2018-01-05 | 2018-12-18 | Arithmetic circuit |
PCT/JP2018/046495 WO2019135354A1 (ja) | 2018-01-05 | 2018-12-18 | 演算回路 |
US17/643,507 US20220100472A1 (en) | 2018-01-05 | 2021-12-09 | Arithmetic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018000451A JP6995629B2 (ja) | 2018-01-05 | 2018-01-05 | 演算回路 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019121171A JP2019121171A (ja) | 2019-07-22 |
JP2019121171A5 JP2019121171A5 (ja) | 2021-02-04 |
JP6995629B2 true JP6995629B2 (ja) | 2022-01-14 |
Family
ID=67144123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018000451A Active JP6995629B2 (ja) | 2018-01-05 | 2018-01-05 | 演算回路 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11360741B2 (ja) |
JP (1) | JP6995629B2 (ja) |
CN (1) | CN111615700B (ja) |
WO (1) | WO2019135354A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6863907B2 (ja) * | 2018-01-05 | 2021-04-21 | 日本電信電話株式会社 | 演算回路 |
US11403068B2 (en) | 2020-08-24 | 2022-08-02 | Xilinx, Inc. | Efficient hardware implementation of the exponential function using hyperbolic functions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171263A (ja) | 2002-11-20 | 2004-06-17 | Sharp Corp | 演算装置 |
JP2004265346A (ja) | 2003-03-04 | 2004-09-24 | Sony Corp | 離散コサイン変換装置および逆離散コサイン変換装置 |
US20050201457A1 (en) | 2004-03-10 | 2005-09-15 | Allred Daniel J. | Distributed arithmetic adaptive filter and method |
JP2012169926A (ja) | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | Crc演算回路 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5226002A (en) * | 1991-06-28 | 1993-07-06 | Industrial Technology Research Institute | Matrix multiplier circuit |
JP3473647B2 (ja) * | 1994-12-28 | 2003-12-08 | Necインフロンティア株式会社 | エコーサプレッサ回路 |
JPH0981541A (ja) * | 1995-09-12 | 1997-03-28 | Matsushita Electric Ind Co Ltd | 累算器 |
TW302578B (en) * | 1996-04-10 | 1997-04-11 | United Microelectronics Corp | The digital filter bank structure and its application method |
CN1227608C (zh) * | 1998-02-05 | 2005-11-16 | 英泰利克斯公司 | 基于n元组或随机存取存储器的神经网络分类系统和方法 |
JP3139466B2 (ja) * | 1998-08-28 | 2001-02-26 | 日本電気株式会社 | 乗算器及び積和演算器 |
JP2000132539A (ja) * | 1998-10-28 | 2000-05-12 | Matsushita Electric Ind Co Ltd | 演算装置 |
US6477203B1 (en) * | 1998-10-30 | 2002-11-05 | Agilent Technologies, Inc. | Signal processing distributed arithmetic architecture |
US6989843B2 (en) * | 2000-06-29 | 2006-01-24 | Sun Microsystems, Inc. | Graphics system with an improved filtering adder tree |
JP3820144B2 (ja) * | 2001-12-12 | 2006-09-13 | シャープ株式会社 | 信号評価装置および信号評価方法 |
US7007052B2 (en) * | 2001-10-30 | 2006-02-28 | Texas Instruments Incorporated | Efficient real-time computation |
JP4129618B2 (ja) * | 2002-05-22 | 2008-08-06 | 日本電気株式会社 | 演算装置及び方法 |
US6982662B2 (en) * | 2003-03-06 | 2006-01-03 | Texas Instruments Incorporated | Method and apparatus for efficient conversion of signals using look-up table |
JP4086868B2 (ja) * | 2005-09-06 | 2008-05-14 | Necエレクトロニクス株式会社 | 表示装置、コントローラドライバ、近似演算補正回路、及び表示パネルの駆動方法 |
US8593483B2 (en) * | 2009-10-20 | 2013-11-26 | Apple Inc. | Temporal filtering techniques for image signal processing |
KR20120077164A (ko) * | 2010-12-30 | 2012-07-10 | 삼성전자주식회사 | Simd 구조를 사용하는 복소수 연산을 위한 사용하는 장치 및 방법 |
US20130185345A1 (en) * | 2012-01-16 | 2013-07-18 | Designart Networks Ltd | Algebraic processor |
CN102681815B (zh) * | 2012-05-11 | 2016-03-16 | 深圳市清友能源技术有限公司 | 用加法器树状结构的有符号乘累加算法的方法 |
KR101551641B1 (ko) * | 2015-04-02 | 2015-09-08 | 한석진 | 비선형 데이터의 평균 계산 장치 |
US9489482B1 (en) * | 2015-06-15 | 2016-11-08 | International Business Machines Corporation | Reliability-optimized selective voltage binning |
KR102359265B1 (ko) * | 2015-09-18 | 2022-02-07 | 삼성전자주식회사 | 프로세싱 장치 및 프로세싱 장치에서 연산을 수행하는 방법 |
JP6863907B2 (ja) * | 2018-01-05 | 2021-04-21 | 日本電信電話株式会社 | 演算回路 |
-
2018
- 2018-01-05 JP JP2018000451A patent/JP6995629B2/ja active Active
- 2018-12-18 CN CN201880085302.XA patent/CN111615700B/zh active Active
- 2018-12-18 US US16/959,968 patent/US11360741B2/en active Active
- 2018-12-18 WO PCT/JP2018/046495 patent/WO2019135354A1/ja active Application Filing
-
2021
- 2021-12-09 US US17/643,507 patent/US20220100472A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171263A (ja) | 2002-11-20 | 2004-06-17 | Sharp Corp | 演算装置 |
JP2004265346A (ja) | 2003-03-04 | 2004-09-24 | Sony Corp | 離散コサイン変換装置および逆離散コサイン変換装置 |
US20050201457A1 (en) | 2004-03-10 | 2005-09-15 | Allred Daniel J. | Distributed arithmetic adaptive filter and method |
JP2012169926A (ja) | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | Crc演算回路 |
Non-Patent Citations (1)
Title |
---|
易 茹,外3名,"遅延デジタルフィルタの分散型積和演算回路を用いたFPGA実装の検討",第2回電気学会東京支部栃木支所・群馬支所合同研究発表会,日本,電気学会東京支部栃木支所・群馬支所,2012年02月29日,第18-20頁,第25-26頁,[検索日 2019.03.19]インターネット:<URL:https://kobaweb.ei.st.gunma-u.ac.jp/news/pdf/2011/ETT-11-07ekijo.pdf> |
Also Published As
Publication number | Publication date |
---|---|
CN111615700B (zh) | 2023-12-08 |
US20210064342A1 (en) | 2021-03-04 |
US20220100472A1 (en) | 2022-03-31 |
JP2019121171A (ja) | 2019-07-22 |
WO2019135354A1 (ja) | 2019-07-11 |
US11360741B2 (en) | 2022-06-14 |
CN111615700A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3584053B2 (ja) | 複合オペランド内の多ビット要素を選択するためのマスク | |
US4635292A (en) | Image processor | |
Chervyakov et al. | An approximate method for comparing modular numbers and its application to the division of numbers in residue number systems | |
US5255216A (en) | Reduced hardware look up table multiplier | |
Mu et al. | Scalable and conflict-free NTT hardware accelerator design: Methodology, proof, and implementation | |
US9785407B2 (en) | Data processing apparatus having combined divide-square root circuitry | |
US20220100472A1 (en) | Arithmetic circuit | |
Taylor | Compatible hardware for division and square root | |
US4293922A (en) | Device for multiplying binary numbers | |
Balajishanmugam | High-performance computing based on residue number system: a review | |
US3290493A (en) | Truncated parallel multiplication | |
CN110858137A (zh) | 除以整数常数的浮点除法 | |
CN111630509B (zh) | 执行积和运算的运算电路 | |
JP3660075B2 (ja) | 除算装置 | |
RU2559771C2 (ru) | Устройство для основного деления модулярных чисел | |
Huai et al. | Efficient architecture for long integer modular multiplication over Solinas prime | |
CN115079997A (zh) | 对数执行硬件高效无偏舍入的方法 | |
US11132296B1 (en) | Linear interpolator of tabulated functions | |
Shawl et al. | Implementation of Area and Power efficient components of a MAC unit for DSP Processors | |
JP4223819B2 (ja) | べき乗剰余演算装置及びそのプログラム | |
RU2804380C1 (ru) | Конвейерный вычислитель | |
Bello et al. | A MRC Based RNS to binary converter using the moduli set {22n+ 1-1, 2n-1, 22n-1} | |
JP4850884B2 (ja) | べき乗剰余演算器 | |
Hernandez et al. | A combined VLSI architecture for nonlinear image processing filters | |
JP2508286B2 (ja) | 平方根演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201218 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211101 |
|
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: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6995629 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |