JP5601327B2 - データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 - Google Patents

データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 Download PDF

Info

Publication number
JP5601327B2
JP5601327B2 JP2011532926A JP2011532926A JP5601327B2 JP 5601327 B2 JP5601327 B2 JP 5601327B2 JP 2011532926 A JP2011532926 A JP 2011532926A JP 2011532926 A JP2011532926 A JP 2011532926A JP 5601327 B2 JP5601327 B2 JP 5601327B2
Authority
JP
Japan
Prior art keywords
data
delay
circuit
port
input
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
JP2011532926A
Other languages
English (en)
Other versions
JPWO2011036918A1 (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2011532926A priority Critical patent/JP5601327B2/ja
Publication of JPWO2011036918A1 publication Critical patent/JPWO2011036918A1/ja
Application granted granted Critical
Publication of JP5601327B2 publication Critical patent/JP5601327B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/104Delay lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Description

本発明は、複数の連なるデータの順番を並べ替える処理を行う演算回路に関する。
携帯電話システムの基地局装置やディジタル放送の放送装置などでは、FFT(Fast Fourier Transform)処理が行われる。そして、それらの装置では、高いスループットで効率的にFFTを実行することが求められる。
高スループットでFFTを実行するための手法として、基数2や基数4のバタフライ演算器を用いてバタフライ演算を高速に行う手法が知られている。
図1は、バタフライ演算器を用いた16点FFTの処理構成を示す図である。図1に示すように、16点FFTは、基数4のバタフライ演算が2段で実現できる。図2は、バタフライ演算器を用いた32点FFTの処理構成を示す図である。図2に示すように、32点FFTは、基数4のバタフライ演算が2段と、基数2のバタフライ演算が1段で実現できる。なお、図1、2においては、2本の線が交差した記号は基数2のバタフライ演算を表し、4本の線が○(白丸印)で交差する記号は基数4のバタフライ演算を表している。
以降では、図1と図2のそれぞれの段のバタフライ演算は、図の上にあるバタフライ演算から順に処理することを考える。
FFTのスループットをできるだけ高めるには、できるだけ途切れないように毎サイクル、バタフライ演算器にデータを供給することにより、バタフライ演算器を効率よく利用するのが好ましい。複数個のデータを行データとして扱い、1サイクルに1つの行データを読み書きできるメモリに、入出力データあるいは中間データである行データを読み書きしながら、バタフライ演算器へデータを供給するのが有効である。例えば、4並列でFFT処理を行う場合、4つのデータを行データとして扱い、アドレスkに対してd(4k)、d(4k+1)、d(4k+2)、d(4k+3)という4つのデータを格納するメモリを用いることが有効である。
しかしながら、FFTの性質として、前段の複数のバタフライ演算から出力を集めて次段のバタフライ演算の入力としたり、また前段のバタフライ演算からの出力を次段の複数のバタフライ演算の入力としたりする。したがって、FFTでは不連続なインデックスのデータを入出力としてバタフライ演算を行う必要がある。そのため、行データ方式のメモリだけでは十分な性能を出せないことが多い。
例えば、図1に示した16点FFTにおいて、1段目の最初のバタフライ演算(1段目の1番上の○)の出力は、2段目の4つすべてのバタフライ演算の入力となる。また、2段目の最初のバタフライ演算の入力は、1段目の4つの全てのバタフライ演算の出力からなる。
このようなバタフライ演算を効率的に行うには、複数の行データ中のデータの順番を効率良く並べ替えることが要求される。複数の行データ中のデータを並べ替える方法として、メモリ入出力の際に転置処理を行う方法がある。
特許文献1には、転置メモリを用いてデータ並べ替えを行う技術が開示されている。特許文献1では、転置メモリにより、異なる行データ中のデータを1つの行データに集めたり、1つの行データ中のデータを異なる行データに分配したりすることができる。
具体的な例として、以下に示すように4サイクル分の行データの転置を行うことができる。
まず、[1]に示す4サイクル分の行データを蓄積する。
[数1]
(4h、4h+1、4h+2、4h+3)、
(4i、4i+1、4i+2、4i+3)、
(4j、4j+1、4j+2、4j+3)、
(4k、4k+1、4k+2、4k+3)
・・・・[1]
次に、[1]の行データを転置することにより、[2]に示す行データに変換する。
[数2]
(4h、4i、4j、4k)、
(4h+1、4i+1、4j+1、4k+1)、
(4h+2、4i+2、4j+2、4k+2)、
(4h+3、4i+3、4j+3、4k+3)
・・・・[2]
これを図1の16点FFTに用いる場合を考える。一般に、メモリ中の入力データは、x0、x1、x3・・・というように番号順に並んでいる。このように入力データが蓄積されたメモリから読み込んだ[3]に示す行データが、[4]に示す転置される。そして、[4]の行データが1段目のバタフライ演算の入力となる。
[数3]
(x0、x1、x2、x3)、
(x4、x5、x6、x7)、
(x8、x9、x10、x11)、
(x12、x13、x14、x15)
・・・・(3)
[数4]
(x0、x4、x8、x12)、
(x1、x5、x9、x13)、
(x2、x6、x10、x14)、
(x3、x7、x11、x15)
・・・・(4)
1段目のバタフライ演算の出力に対しても同様の転置を行うことにより、2段目のバタフライ演算の入力が得られる。
特許文献2には、中間バッファへのデータのマッピング方法を改善することで行データ間の並べ替えを効率的に行う技術が開示されている。これも、2×2などの小さいデータ単位で転置を行う技術である。
しかし、既存のデータ並べ替え方法では、点数が異なる複数のFFTが混在する場合に効率的に並べ替えを行うことができない場合があった。具体的には、ある行データのデータ並べ替えと次の行データのデータ並べ替えとの間に、データの衝突を避けるための期間を空ける必要がある場合があった。
例えば、図2に示した32点FFTの2段目の処理を、基数4のバタフライ演算で行う場合、データの並べ替えにかかる時間は6サイクルである。なおデータの並べ替えの具体的な動作は後述する。一方、図1に示した16点FFTの2段目の処理を、基数4のバタフライ演算で行う場合、データの並べ替えにかかる時間は3サイクルである。なおデータの並べ替えの具体的な動作は後述する。
データの並べ替えにかかる時間が異なる、32点FFTの次に16点FFTを行う場合、データの衝突を避けるために、切り替えのために、データ並べ替え回路へのデータ入力を3サイクル以上空ける必要がある。そのため、点数が異なる複数のFFTが混在する場合、データが途切れることによりスループットが低下していた。
特許文献3には、既存のデータ並べ替え回路の構成および動作が開示されている。特許文献3に開示された技術では、データ並べ替え回路は遅延回路とスイッチ回路(シャッフル回路)を用いてデータの並べ替えを行う。図3は、特許文献2に開示されたデータ並べ替え回路の模式図である。なお、特許文献4および特許文献5にも同様に遅延回路とシャッフル回路を用いたデータ並べ替え回路の構成および動作が開示されている。
図3を参照すると、入力データの一部が直接、シャッフル回路に入力され、残りの入力データが1段目の遅延回路を介してシャッフル回路に入力されている。シャッフル回路の出力の一部が直接、出力データとなり、残りの出力データが2段目の遅延回路を介して出力データとなっている。
特許文献3のデータ並べ替え回路は、2並列ないし4並列でデータの並べ替えを行うものであり、演算モードを切り替えることにより、処理する点数に応じた並べ替えを行うことができる。特許文献3では、同一の演算モードにおける各遅延回路の遅延量は一定である。また、FFTの点数の切り替え時について言及はないが、演算モードの切り替えは、データ並べ替え回路の出力データの衝突を避けるように行う必要がある。そのため、FFTの点数が切り替わるときには、切り替える後のデータ並べ替えへの入力データを待ち合わせる必要があり、スループットを上げることができなかった。
図4は、4並列のデータを並べ替える回路を用いた、一般的なFFT処理用データ並べ替えの様子を示すタイムチャートである。一般的なFFT処理用データ並べ替えの回路は、一例として図3に示した構成である。図4の例では、最初に32点FFTの2段目のバタフライ演算へ入力するデータを得るための並べ替えが行われている。そして、次に、16点FFTの2段目のバタフライ演算へ入力するデータを得るための並べ替えが行われている。
図4では、図3の回路における1段目の遅延回路への入力、シャッフル回路への入力、2段目の遅延回路への入力、および2段目の遅延回路の出力が示されている。各部の入出力ポートは#0〜#3の4つである。また、32点FFT用入力データをA0〜A31というデータ名で表し、16点FFT用入力データをB0〜B15というデータ名で表している。
なお、データ並べ替え回路への入力は[5]および[6]に示される行データを、4サイクル毎の転置したものである。
[数5]
(A0、A1、A2、A3)、
(A8、A9、A10、A11)、
(A16、A17、A18、A19)、
(A24、A25、A26、A27)、
(A4、A5、A6、A7)、
(A12、A13、A14、A15)、
(A20、A21、A22、A23)、
(A28、A29、A30、A31)、
・・・・[5]
[数6]
(B0、B1、B2、B3)、
(B4、B5、B6、B7)、
(B8、B9、B10、B11)、
(B12、B13、B14、B15)
・・・・[6]
図4の前半に示された、32点FFT用のデータ並べ替えでは、1段目の遅延回路では、#0、#1、#2、#3の各ポートの入力に対し、それぞれ0,2,4,6サイクルの遅延が与えられる。そして、1段目の遅延回路の出力は、シャッフル回路に入力される。シャッフル回路では、同一のサイクル内でポート間のデータの入れ替えが行われ、その出力が2段目の遅延回路に入力される。2段目の遅延回路では、#0、#1、#2、#3の各ポートの入力に対し、それぞれ6,4,2,0サイクルの遅延が与えられる。
また、図4の後半に示された、16点FFT用のデータ並べ替えでは、1段目の遅延では、#0、#1、#2、#3の各ポートの入力に対し、それぞれ0,1,2,3サイクルの遅延が与えられる。そして、シャッフル回路では、同一のサイクル内でポート間のデータの入れ替えが行われる。2段目の遅延回路では、#0、#1、#2、#3の各ポートの入力に対し、それぞれ3,2,1,0サイクルの遅延が与えられる。
この並べ替えにより、32点FFTの2段目の入力のためのデータ並べ替えと、16点FFTの2段目の入力のためのデータ並べ替えが実現される。例えば、サイクル6で出力される(A0、A2、A4、A6)は、図2に示した2段目の1番上のバタフライ演算の入力となる。
しかしながら、上述したように、32点FFT用のデータ並べ替えと、16点FFT用のデータ並べ替えでは遅延が異なる。そのため、データ並べ替え回路に32点FFT用データの後に16点FFT用データを続けて入力することができない。データの衝突を避けるために、図4の1段目遅延入力のサイクル8〜10のように3サイクルの間はデータを入力することができず、その結果、FFT処理のスループットが低下する。このようなスループットの低下は、異なる点数のFFTへの切り替えが頻繁に発生するような状況で、より顕著となる。
また、特許文献6には、リング・バッファを用いてデータの並べ替えを行う技術が開示されている。しかし、特許文献6は並べ替え及びバタフライ演算をソフトウェアで実現する手法であり、ハードウェアで効率的に並べ替える手法については記載がない。特許文献6では、1系列の入力データをリング・バッファに順に格納し、出力データをソフトウェアで制御して出力することで並べ替えを行う。これによりデータの時間的順序を入れ替えることができるが、これをハードウェアで並列実装するとハードウェア量が大きくなるため現実的ではない。また、特許文献6ではFFTの点数と同じサイズのリング・バッファと演算対象データバッファ2面を用いることで、並べ替えとFFTの実行順序に自由度を持たせている。しかしながら、これら合計3面のバッファをハードウェアで実現すると、やはりハードウェア量が大きくなるため現実的ではない。
特表2008−537655号公報 特開2003−150576号公報 特開平10−283341号公報 特開平06−342449号公報 特表2002−504250号公報 特開2005−235045号公報
上述したように、データ並べ替え回路において並べ替え方法が変化するときに、データの入力を待ち合わることによってスループットの低下が生じていた。例えば、FFTを点数の異なるFFTに切り替えるとき、データ並べ替え回路で連続的にデータの並べ替えを行うことができなかった。また、FFTに限らず、同様なデータ並べ替え回路を用いる装置において連続的なデータの並べ替えが実現できなかった。
本発明の目的は、並べ替え方法が変化しても連続的にデータを入力することが可能なデータ並べ替え回路および方法を提供することである。
上記目的を達成するために、本発明のデータ並べ替え回路は、
複数のポートへ複数のサイクルに入力されたデータ群の各データに入力サイクル毎かつポート毎に異なる遅延サイクル数の遅延を与えることにより、同一ポート内でデータの順序を入れ替え、該データ群として所定の遅延で出力する可変遅延手段と、
前記可変遅延手段において用いる前記遅延サイクル数を含む制御情報を出力する制御手段と、
を有している。
本発明のデータ並べ替え方法は、
複数のポートへ複数のサイクルに入力されるデータ群の各データに対して、同一ポート内でデータの順序を入れ替え、該データ群として所定の遅延となるように定めた、入力サイクル毎かつポート毎に異なる遅延サイクル数を含む制御情報を生成し、
前記制御情報に基づいて、入力データに入力サイクル毎かつポート毎に異なる遅延サイクル数の遅延を与えて出力する、
ものである。
16点FFTの構成図である。 32点FFTの構成図である。 データ並べ替え回路の構成例を示す図である。 データ並べ替え回路を用いた32点FFTと16点FFTの入力データ並べ替え例を示す図である。 実施形態にかかるデータ並べ替え回路の構成を示すブロック図である。 実施形態における可変遅延回路の構成を示すブロック図である。 実施形態における可変遅延回路の他の構成を示すブロック図である。 実施形態におけるシャッフル回路の構成を示すブロック図である。 実施形態における可変遅延回路によるデータ並べ替えの様子の一例を示す図である。 実施形態におけるデータ並べ替え回路によるデータ並べ替えの一例を示すタイミングチャートである。 実施形態におけるデータ並べ替え回路に用いる制御情報テーブルの例を示す図である。 実施例におけるFFT演算器の構成を示すブロック図である。 実施形態にかかるデータ並べ替え回路によって32点FFTと16点FFTの入力データを並べ替える様子の一例を示す図である。 本実施形態にかかるデータ並べ替え回路を用いた32点FFTと16点FFTの入力データ並べ替え例を示す詳細なタイミング図である。
本発明を実施するための形態について図面を参照して詳細に説明する。
以降の説明では、4つの並列データを並べ替えるデータ並べ替え回路を例として説明するが、3以下あるいは5以上の並列データを扱うように構成することもできる。
図5を参照すると、本発明の実施形態に係るデータ並べ替え回路1は、1段目の可変遅延回路20〜23、シャッフル回路3、2段目の可変遅延回路24〜27、制御情報テーブル4、制御情報結合器41〜44、制御情報削除器45〜48、およびカウンタ5から構成されている。データ並べ替え回路1には入力データとモード信号とカウンタリセット信号が入力され、出力データが出力される。
ここで、モード信号は、64点FFT用並べ替えや32点FFT用並べ替えなどの、並べ替えパターンの種類(演算モード)を指定するための信号である。カウンタリセット信号は並べ替えパターンの開始時刻を指定するための信号である。カウンタ5は、カウンタリセット信号によりリセットされ、その後、遅延量の単位である1サイクル毎にカウントアップする。
制御情報テーブル4内には、カウンタ5の示すカウント値とモード信号の示す演算モードとの組み合わせに対応する制御情報が格納されている。制御情報には、1段目の可変遅延回路20〜23の遅延量と、シャッフル回路3の制御情報と、2段目の可変遅延回路24〜27の遅延量とが含まれる。
制御情報テーブル4から出力された制御情報は、制御情報結合器41〜44において入力データと結合されて1段目の可変遅延回路20〜23へ入力される。また、制御情報は、制御情報削除器45〜48において、2段目の可変遅延回路24〜27から出力された結合データから取り除かれる。結合データから制御情報を取り除いたデータがデータ並べ替え回路1の出力データとなる。
図6に可変遅延回路2の構成を示す。1段目の可変遅延回路20〜23と2段目の可変遅延回路24〜27は同じ構成である。図6には、それらに共通する構成が示されている。
図6を参照すると、可変遅延回路2には、複数個の記憶要素230〜233と、記憶要素に記憶させるデータの選択器220〜223と、書き込み制御回路241と、遅延量取出器251が含まれる。
記憶要素230〜233は、選択器220〜223を介して、直列に接続されており、1サイクルに1段ずつデータを図中の右方向に受け渡す。
選択器220〜223は、書き込み制御回路241からの制御信号に従って2つの入力から1つを選択し、選択した方のデータを出力する。選択器220〜223は、制御信号が1であれば遅延量取出器251からの入力データを出力し、制御信号が0であれば接続された記憶要素230〜233からの入力データを出力する。
遅延量取出器251は、入力データから可変遅延回路2の遅延量を取り出し、書き込み制御回路241に与える。上述したように、入力データには1段目および2段目の可変遅延回路の遅延量が含まれている。遅延量取出器251は、自装置が1段目の可変遅延回路であれば1段目の可変遅延回路の遅延量を取出し、自装置が2段目の可変遅延回路であれば2段目の可変遅延回路の遅延量を取出す。
書き込み制御回路241は、与えられた遅延量に従って、それぞれの選択器に制御信号を与える。これにより、入力データは、遅延量に対応する記憶要素に格納される。例えば、遅延量が1の場合、右から2番目の選択器221のみ制御信号を1とする。これにより、一番右の記憶要素230に入力データが格納され、他の記憶要素231〜233は、それぞれの1つ左側の記憶要素の値を受け取ることができる。出力データには、入力データの遅延量が0以外の場合には一番右の記憶要素230の出力が、入力データの遅延量が0の場合には入力データが出力される。
なお、可変遅延回路2は、図6のような構成ではなく、書き込み位置と読み込み位置を個別に制御可能な記憶要素群を用いたリング・バッファの構成など他の方式で実現してもよい。図7にリング・バッファの構成を利用した可変遅延回路2の構成を示す。
可変遅延回路2には、複数個の記憶要素210〜213と、可変遅延回路制御回路201と、遅延量取出器251と、書込データ選択器202と、読込データ選択器203が含まれる。ここで、当該サイクルに出力すべき出力データは、可変遅延回路制御回路201により、記憶要素群の中から決定される。そして、可変遅延回路制御回路201は、読込データ選択器203を用いてその記憶要素の値を出力データとして選択する。すなわち、リング・バッファの要領で、すべての記憶要素を巡回するように選択して出力する。
なお、入力データの遅延量が0の場合、当該サイクルの入力データをそのまま出力するようにする。
遅延量取出器251は、入力データから可変遅延回路2の遅延量を取り出し、可変遅延回路制御回路201に与える。可変遅延回路制御回路201は、与えられた遅延量に対して適切な記憶要素を決定し、書込データ選択器202を用いてその記憶要素に入力データを記憶させる。例えば、遅延量が3の場合、3サイクル後にデータが出力される記憶要素へ当該サイクルの入力データを書き込むように制御すればよい。
図8にシャッフル回路3の構成を示す。シャッフル回路3には、選択器310〜313と制御情報取出器320〜323が含まれる。
制御情報取出器320〜323は、入力データから、シャッフル回路3の制御信号を取り出し、データ選択器310〜313に与え、入力データを選択器310〜313の全てに配る。
データ選択器310〜313は、全ての制御情報取出器320〜323からの4つの入力データを入力とし、与えられた制御信号に従って、入力データのうちいずれかを選択して出力する。
なお、ここではシャッフル回路3の構成例として図8の構成を示したが、シャッフル回路3は、出力ポートを交換できるものであれば、他の構成であってもよい。例えば、出力ポートごとにどの入力ポートからのデータを選択するかではなく、入力ポート毎にどの出力ポートに出力するかを選択するような構成であってもよい。
また、可変遅延回路2及びシャッフル回路3はパイプライン・レジスタを用いてパイプライン化されていてもよいし、されていなくてもよい。例えば、パイプライン化されていないシャッフル回路3の場合、あるサイクルに入力されたデータをシャッフルして、そのサイクルに出力する。パイプライン化されたシャッフル回路3の場合、例えば、前のサイクルに入力されたデータをシャッフルして、次のサイクルに出力する。
次に、図5、図9、および図10を参照して本実施形態の装置全体の動作について詳細に説明する。
図9に、可変遅延回路2を用いたデータの順序並べ替えの例を示す。時刻1から4に、入力データがa,b,c,dの順で入力されるとする。このとき、サイクル数で表した遅延量をそれぞれ4,5,3,4と与えると、出力データはa,c,b,dの順で出力され、データbとcの順序を入れ替えることができる。
また、全体では4サイクルの遅延となっているため、これらのデータ群の前後で同様の並べ替えを行ったとしても、データの衝突が起こらない。すなわち、スループットが1データ/サイクルで並べ替えを実行できる。また、図5のデータ並べ替え回路1は、複数個の可変遅延回路2とシャッフル回路3を組み合わせることで実現できる。
図10に、図5のデータ並べ替え回路1を用いたデータ並べ替えの様子の一例を示す。このときの制御情報テーブル4の内容を図11に示す。図11の表における制御情報として、1段目遅延、シャッフル、2段目遅延のそれぞれについて、ポート#0,#1,#2,#3に対する値が記載されている。
図10において、最初のサイクル(サイクル0)では、カウントリセット信号が有効であるためカウンタ5がリセットされる。また、最初の4サイクル間はモード信号が001であるため、最初のサイクルでは、図11に示す制御情報テーブルの最初の行の制御信号が読み出される。読み出された制御信号は、制御情報結合器41〜44において入力データと結合され、1段目の可変遅延回路20〜23に入力する。なお、図10中では、制御情報と結合されたデータを「データ名(1段目遅延量、シャッフル制御信号、2段目遅延量)」という形式で表現する。また、このデータを結合データと呼ぶことにする。
例えば、カウント0000の入力ポート#0に入力されるデータに対する1段目の遅延量は2であるため、最初のサイクルの入力データAには2サイクル遅延の制御情報が結合され、サイクル2に1段目の可変遅延回路20から出力される。同様に、サイクル1に入力されるデータCには、図11中カウント0001の入力ポート#0に対する1段目の遅延量が4であるため、4サイクル分の遅延を示す制御情報が結合され、サイクル5において1段目の可変遅延回路20から出力される。なお、結合データ中の制御情報は、結合データ中のデータと共に遅延されたりシャッフルされたりする。
サイクル3にシャッフル回路3の入力#0に入力される結合データEは、シャッフル制御情報が1を示す制御情報を含んでいる。このため、サイクル3におけるシャッフル回路3の出力#0には、シャッフル回路3の入力#1にある結合データBが出力される。同様に、シャッフル回路3の出力#1には、シャッフル回路3の入力#0にある結合データEが出力される。
サイクル3に2段目の可変遅延回路の入力#0に入力される結合データBは、2段目遅延量として1を含んでいる。このため、結合データBは次のサイクルであるサイクル4に2段目の可変遅延回路25から出力される。同様に、サイクル3に2段目の可変遅延回路の入力#1に入力される結合データEの2段目遅延量は0であるので、結合データEは同じサイクルであるサイクル3に2段目の可変遅延回路25から出力される。
可変遅延回路2を用いることで同じ入力ポートに異なるタイミングで入力されるデータ間の時間的順序を変更することができる。例えば、1段目の可変遅延回路の入力#0に入力されるCとEは、1段目の可変遅延回路の出力#0では時間的順序が入れ替わっている。また、シャッフル回路3を用いることで異なる入力ポート間でのデータ並べ替えもできる。このため、本実施形態によれば、入力データを時間的にも空間的にも柔軟に並べ替える複雑な並べ替えを実現することができる。
なお、本実施形態にて用いた演算モードの数やカウンタのビット数は一例であり、その他、さまざまな構成が可能である。例えば、モードの数を増やすことにより、色々な点数のFFTやFFT以外の処理のための並べ替えに対応してもよい。また、カウンタビット数を増やすことにより、大規模なデータの並べ替えに対応してもよい。
また、本実施形態では、カウンタリセット信号によりリセットされたカウンタ5の値をそのまま使って制御情報テーブルを参照する構成を例示したが、他の構成も可能である。例えば、モード毎にカウンタの最大値を設定するように構成し、モード毎のカウンタの最大値でカウンタ5の値を割った剰余を用いて制御情報テーブルを参照したり、モード毎のカウンタの最大値以下に収まるように抽出したカウンタ5のビット列の一部を用いて制御情報テーブルを参照したりするようにしてもよい。これにより、大規模な並べ替えの制御情報テーブルと小規模な並べ替えの制御情報テーブルとを兼用することができ、テーブルのサイズを小さくすることができる。
また、図6あるいは図7に示した遅延量取出器251は、結合データから遅延量を取り出したときに、結合データ中に遅延量の情報を残しておいてもよいし、遅延量の情報を削除してもよい。また、制御情報取出器320〜323も、結合データに制御情報を残しておいてもよいし、削除してしまってもよい。例えば、1段目遅延の遅延量は、1段目の可変遅延回路でしか使われないので、1段目の可変遅延回路が削除してしまってもよい。なお、遅延量取出器251と制御情報取出器320〜323がそれぞれの情報を削除する場合、図5に示したデータ並べ替え回路1の中の制御情報削除器45〜48は不要となる。
以上説明したように、本実施形態によれば、データ並べ替え回路は、複数ポートおよび複数サイクルのデータ群にサイクル毎かつポート毎に異なる遅延サイクル数の遅延を与えることにより、同一ポート内でデータの順序を時間的に入れ替え、データ群として固定的な遅延で出力する。そのため、並べ替え方法が変化しても、データ並べ替え回路に連続的にデータを入力することが可能である。
また、本実施形態によれば、データ並べ替え回路は、更に、複数のポートへ複数のサイクルに入力されたデータを、同一のサイクル内で、ポート間で空間的に入れ替えて出力するので、時間的のみでなく空間的な入れ替えを行う場合でも、データ並べ替え回路に連続的にデータを入力することが可能である。
(実施例)
次に、上述した実施形態のより具体的な実施例について説明する。
図12に示す本実施例に係るFFT演算器600は、バタフライ演算回路602と、入力側と出力側の2つのデータ並べ替え回路100、101と、メモリ601と、制御回路604とを含む。メモリ601は入力メモリと出力メモリの2つに分けて構成してもよい。また、メモリ601の代わりにレジスタあるいはバッファを設けてもよいし、バタフライ演算を行うデータを入出力する入出力ポートを設けてもよい。
なお、図12に示すFFT演算器600は4並列処理を行うが、並列度は4に限るものではなく、2や8であってもよい。
まず、制御回路604は、メモリ601に読込アドレスを与える。メモリ601は、与えられた読み込みアドレスに対応する行データを読み込み、複数個のデータに分解して入力側のデータ並べ替え回路100に与える。
次に、制御回路604はモード信号とカウンタリセット信号を入力側のデータ並べ替え回路100に与える。入力側のデータ並べ替え回路100は、与えられた信号に従ってデータの並べ替えを行い、並べ替えたデータをバタフライ演算回路602に与える。
次に、制御回路604は制御信号をバタフライ演算回路602に与え、バタフライ演算を行わせる。バタフライ演算回路602がバタフライ演算を行った結果のデータは出力側のデータ並べ替え回路101に与えられる。
次に、制御回路604は出力側のデータ並べ替え回路101にモード信号とカウンタリセット信号を与え、バタフライ演算回路602からの出力データの並べ替えを行わせる。
最後に、制御回路604は書込アドレスをメモリ601に与える。メモリ601は、出力側のデータ並べ替え回路101から出力された複数個のデータをまとめ、与えられた書込みアドレスに対応する行データとして記憶する。
バタフライ演算回路602は、基数4または基数2のバタフライ演算およびそれぞれに対応した回転因子の乗算を行うことができる。これにより、FFT演算器600は、メモリ601中のデータに対して基数4または基数2のバタフライ演算を行い、メモリ601に書き込む処理を行うことができる。この一連の動作を1ステージ分の処理と呼ぶ。例えば、16点FFTは基数4のバタフライ演算を2ステージ繰り返すことで実現することができる。また、32点FFTは2ステージの基数4のバタフライ演算と1ステージの基数2のバタフライ演算の合計3ステージで実現することができる。
なお、1つのFFT演算器の中に2つ以上のバタフライ演算回路を備え、それらバタフライ演算回路の間にデータ並べ替え回路1を設けることもできる。そうすれば、1ステージにおいて、2つ以上のバタフライ演算を行うことができる。複数個のバタフライ演算回路602を縦列接続することで、メモリへデータを入出力する処理によるオーバーヘッドを削減し、処理効率を向上させることができる。
次に、本実施例のデータ並べ替え回路によるデータ並べ替えの動作例について説明する。
図13に、本実施例のデータ並べ替え回路を用いたデータ並べ替えの様子の一例を示す。ここでは、図4に示したデータ並べ替え回路の例と同じく、32点FFTの2段目のバタフライ演算への入力データと、16点FFTの2段目のバタフライ演算への入力データをそれぞれ並べ替えている。
1段目の遅延の#1〜#3及び2段目の遅延の#1〜#3の各回路において、データの時間的な順序の入れ替えが行われている。図13を見て分かるように、1段目の可変遅延回路と2段目の可変遅延回路は、32点FFT用並べ替えと16点FFT用並べ替えとで、データ並べ替えの処理に必要なサイクル数が同じである。そのため、データの衝突を起こさずに入力データを連続的に入力することができ、処理スループットの最大化を実現できる。個々のFFTにおけるデータ並べ替えの処理に必要なサイクル数は、図4に示したデータ並べ替え回路よりも長くなるが、点数が異なるFFTの間で切り替えが頻繁に発生する状況においては、複数のFFTのデータ並べ替え処理の処理時間をトータルで削減することができる。
図14に、制御情報を含めた更に詳細なタイミングチャートを示す。図14では、結合データを「データ名(1段目遅延量、シャッフル制御信号、2段目遅延量)」の形式で表現する。図12に示した制御回路604から与えられるモード信号は、最初の8サイクルの間は001、次の4サイクルの間は010である。最初の8サイクルは32点FFTに対応し、次の4サイクルは16点FFTに対応する。
また、サイクル0とサイクル8にカウントリセット信号がアサートされ、図5に示したカウンタ5がリセットされる。そして、モード信号の示す演算モードおよびカウンタ5が示すカウント値に対応する制御情報が入力データに結合されて、1段目の可変遅延回路20〜23に入力される。例えば、データA0に対しては(6,0,6)という制御情報が結合される。
図14に示すように、1段目の可変遅延回路20〜23へ入力される結合データには、1段目および2段目の遅延量およびシャッフル回路の制御情報が結合されている。この制御情報のうち1段目の遅延量を用いて可変遅延回路20〜23が1段目の遅延処理を行ったのち、データをシャッフル回路3へ入力する。図14に示すように、1段目の可変遅延回路(20)の入力ポート#1にA8、A9・・・A14の順で入力された結合データのうち、A14とA15(サイクル6と7)がA8〜A13(サイクル8〜13)より先に出てきており、時間的順序の入れ替えが行われていることがわかる。
シャッフル回路3においては、入力される結合データに含まれる制御情報のうちシャッフル回路への制御情報を用いて、空間的なデータの交換がなされる。図14のシャッフル回路出力を参照すると、例えばサイクル6の#1〜#3においてデータの入れ替えが行われていることがわかる。
2段目の可変遅延回路24〜27においては、入力される結合データに含まれる2段目の遅延量を用いて2段目の遅延処理がなされる。例えば、図14の例では、2段目の可変遅延回路(27)の入力ポート#3に入力されたA14(サイクル6)とA6(サイクル12)のうち、2段目の可変遅延回路の出力においてはA6(サイクル12)の方がA14(サイクル14)より先に出てきており、時間的順序の入れ替えが行われていることがわかる。
なお、以上説明した本発明の実施形態および実施例の可変遅延回路およびデータ並べ替え回路の適用用途はFFTに限るものではない。
以上、実施形態を参照して本発明を説明したが、本発明はこの実施形態に限定されるものではない。クレームに定義された本発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年9月24日に出願された日本出願特願2009−218919を基礎として優先権の利益を主張するものであり、その開示の全てを引用によってここに取り込む。

Claims (5)

  1. 複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力される並列データの各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第1の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第1の可変遅延手段と、
    前記第1の可変遅延手段が各ポートに同一タイミングで出力するデータを入力し、前記処理サイクルのカウント値毎かつポート毎に設定されるシャッフル情報に基づいて、ポート間で前記データを入れ替えて出力するシャッフル手段と、
    前記シャッフル手段が複数のポートへ前記処理サイクルのカウント値毎に出力した各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第2の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第2の可変遅延手段と、
    第1の遅延サイクル数、前記シャッフル情報および前記第2の遅延サイクル数を前記処理サイクルのカウント値毎かつポート毎に設定した制御情報を、前記処理サイクルが異なるデータ並べ替え方法と対応して備えて出力する制御情報供給手段と、
    を有するデータ並べ替え回路。
  2. 前記処理サイクルのカウント値をカウントするカウント手段を更に有し、
    前記制御情報供給手段は、前記カウント手段のカウント値と、前記データ並べ替え方法を表す演算モードとを入力として前記制御情報を出力する、
    請求項1に記載のデータ並べ替え回路。
  3. 前記制御情報供給手段から出力された前記制御情報を、第1の可変遅延手段の各ポートに入力するデータに結合する結合手段を更に有し、
    前記第1の可変遅延手段は、各ポートに入力したデータに結合された前記制御情報のうちの前記第1の遅延サイクル数を取得する第1の遅延量取出器を有し
    前記シャッフル手段は、前記第1の可変遅延手段から各ポートに入力したデータに結合された前記制御情報のうちの前記シャッフル情報を取得する制御情報取出器を有し
    前記第2の可変遅延手段は、前記シャッフル手段から各ポートに入力したデータに結合された前記制御情報のうちの前記第2の遅延サイクル数を取得する第2の遅延量取出器を有する、
    請求項1または2に記載のデータ並べ替え回路。
  4. 複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力され並列データの各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第1の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第1の可変遅延回路と、
    前記第1の可変遅延回路が各ポートに同一タイミングで出力するデータを入力し、前記処理サイクルのカウント値毎かつポート毎に設定されるシャッフル情報に基づいて、ポート間で前記データを入れ替えて出力するシャッフル手段と、
    前記シャッフル手段が複数のポートへ前記処理サイクルのカウント値毎に出力した各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第2の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第2の可変遅延回路と
    記第2の可変遅延回路からの出力を入力として、高速フーリエ変換のバタフライ演算を行うバタフライ演算回路と、
    を有する高速フーリエ変換回路。
  5. 複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力され並列データの各データを入れ替えて出力するデータ並べ替え方法であって、
    前記処理サイクルのカウント値毎かつポート毎に設定される第1の遅延サイクル数と、前記処理サイクルのカウント値毎かつポート毎に設定されるシャッフル情報と、前記処理サイクルのカウント値毎かつポート毎に設定される第2の遅延サイクル数と、を含む制御情報を生成することと
    前記複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力される並列データの各データに、第1の可変遅延回路において前記第1の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力することと、
    前記第1の可変遅延回路が各ポートに同一タイミングで出力するデータを入力し、前記シャッフル情報に基づいて、シャッフル回路においてポート間で前記データを入れ替えて出力することと、
    複数のポートへ前記処理サイクルのカウント値毎に前記シャッフル回路が出力した各データに、第2の可変遅延回路において前記第2の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力することと、
    を有するデータ並べ替え方法。
JP2011532926A 2009-09-24 2010-06-03 データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 Expired - Fee Related JP5601327B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011532926A JP5601327B2 (ja) 2009-09-24 2010-06-03 データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009218919 2009-09-24
JP2009218919 2009-09-24
JP2011532926A JP5601327B2 (ja) 2009-09-24 2010-06-03 データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法
PCT/JP2010/059443 WO2011036918A1 (ja) 2009-09-24 2010-06-03 データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法

Publications (2)

Publication Number Publication Date
JPWO2011036918A1 JPWO2011036918A1 (ja) 2013-02-14
JP5601327B2 true JP5601327B2 (ja) 2014-10-08

Family

ID=43795682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011532926A Expired - Fee Related JP5601327B2 (ja) 2009-09-24 2010-06-03 データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法

Country Status (3)

Country Link
US (1) US9002919B2 (ja)
JP (1) JP5601327B2 (ja)
WO (1) WO2011036918A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5556323B2 (ja) * 2010-04-15 2014-07-23 日本電気株式会社 データ並び替え回路に対する制御情報自動生成方法、データ並び替え回路、コンピュータ、及び制御情報自動生成プログラム
EP2940594A4 (en) * 2012-12-25 2016-09-21 Nec Corp CALCULATION DEVICE AND CALCULATION METHOD
US9418047B2 (en) * 2014-02-27 2016-08-16 Tensorcom, Inc. Method and apparatus of a fully-pipelined FFT
US9952831B1 (en) * 2017-02-16 2018-04-24 Google Llc Transposing in a matrix-vector processor
CN112074810B (zh) * 2018-05-18 2023-07-21 莫鲁米有限公司 并行处理设备
WO2019221569A1 (ko) * 2018-05-18 2019-11-21 주식회사 모르미 병렬 처리장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283341A (ja) * 1997-04-07 1998-10-23 Sharp Corp 高速フーリエ変換演算回路

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06342449A (ja) 1993-06-01 1994-12-13 Fujitsu Ltd データ並べ替え回路,及び、高速フーリエ変換回路
US5440514A (en) * 1994-03-08 1995-08-08 Motorola Inc. Write control for a memory using a delay locked loop
JPH08320857A (ja) 1995-05-25 1996-12-03 Sony Corp フーリエ変換演算装置および方法
JPH1032474A (ja) 1996-07-18 1998-02-03 Mitsubishi Electric Corp 可変遅延回路,及び可変遅延回路の校正方法
EP0988604A1 (en) 1998-04-09 2000-03-29 Koninklijke Philips Electronics N.V. Device for converting series of data elements
GB2363924A (en) * 2000-06-20 2002-01-09 Virata Ltd Processor for FIR filtering
JP2002351858A (ja) * 2001-05-30 2002-12-06 Fujitsu Ltd 処理装置
JP2003150576A (ja) 2001-11-16 2003-05-23 Matsushita Electric Ind Co Ltd Fft演算装置およびfft演算方法
JP2005235045A (ja) 2004-02-23 2005-09-02 Alpine Electronics Inc Fft演算方法及びfft演算装置
US8229014B2 (en) 2005-03-11 2012-07-24 Qualcomm Incorporated Fast fourier transform processing in an OFDM system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283341A (ja) * 1997-04-07 1998-10-23 Sharp Corp 高速フーリエ変換演算回路

Also Published As

Publication number Publication date
US20120278373A1 (en) 2012-11-01
JPWO2011036918A1 (ja) 2013-02-14
WO2011036918A1 (ja) 2011-03-31
US9002919B2 (en) 2015-04-07

Similar Documents

Publication Publication Date Title
JP5601327B2 (ja) データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法
Garrido et al. Optimum circuits for bit reversal
Chen et al. Continuous-flow parallel bit-reversal circuit for MDF and MDC FFT architectures
JPWO2002069182A1 (ja) フーリェ変換装置
JP3938238B2 (ja) 高速フーリエ変換処理装置
JP4698394B2 (ja) 高速フーリエ変換回路
CN102652315A (zh) 信息处理设备、其控制方法、程序及计算机可读存储媒体
US20160140083A1 (en) Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon
US20220129247A1 (en) Semiconductor device and method of controlling the semiconductor device
US11995569B2 (en) Architecture to support tanh and sigmoid operations for inference acceleration in machine learning
US20220207108A1 (en) System for processing matrices using multiple processors simultaneously
US11210105B1 (en) Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction
WO2007099950A1 (ja) 高速pe間データ再配置機能を有するプロセッサアレイシステム
CN111368250B (zh) 基于傅里叶变换/逆变换的数据处理***、方法及设备
TWI506457B (zh) 折疊式蝶形模組、管線式快速傅利葉轉換處理器及控制方法
JP6451647B2 (ja) 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラム
JP2011227559A (ja) データ並び替え回路に対する制御情報自動生成方法、データ並び替え回路、及び制御情報自動生成プログラム
JP6943283B2 (ja) 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム
US8572148B1 (en) Data reorganizer for fourier transformation of parallel data streams
JPS6310263A (ja) ベクトル処理装置
JP2003244190A (ja) データフロー制御スイッチ用プロセッサ及びデータフロー制御スイッチ
JP5760532B2 (ja) プロセッサ装置及びその演算方法
CN114116012B (zh) 基于混洗操作的fft码位反序算法向量化实现方法及装置
US20220188014A1 (en) Digital filter device, operation method for digital filter device, and non-transitory computer-readable medium storing program
JP3982324B2 (ja) ベクトル演算処理装置、ベクトル演算方法およびベクトル演算プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140513

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: 20140722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140804

R150 Certificate of patent or registration of utility model

Ref document number: 5601327

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees