JP5601327B2 - データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 - Google Patents
データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 Download PDFInfo
- 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
Links
- 230000008707 rearrangement Effects 0.000 title claims description 110
- 238000000034 method Methods 0.000 title claims description 25
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 239000000872 buffer Substances 0.000 description 10
- 230000002123 temporal effect Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000017105 transposition Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 2
- 238000013506 data mapping Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- 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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements 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
-
- 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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/10—Indexing scheme relating to groups G06F5/10 - G06F5/14
- G06F2205/104—Delay lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/08—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/10—Methods 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
(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]に示す行データに変換する。
(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段目のバタフライ演算の入力となる。
(x0、x1、x2、x3)、
(x4、x5、x6、x7)、
(x8、x9、x10、x11)、
(x12、x13、x14、x15)
・・・・(3)
(x0、x4、x8、x12)、
(x1、x5、x9、x13)、
(x2、x6、x10、x14)、
(x3、x7、x11、x15)
・・・・(4)
1段目のバタフライ演算の出力に対しても同様の転置を行うことにより、2段目のバタフライ演算の入力が得られる。
(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]
(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サイクルの遅延が与えられる。
複数のポートへ複数のサイクルに入力されたデータ群の各データに入力サイクル毎かつポート毎に異なる遅延サイクル数の遅延を与えることにより、同一ポート内でデータの順序を入れ替え、該データ群として所定の遅延で出力する可変遅延手段と、
前記可変遅延手段において用いる前記遅延サイクル数を含む制御情報を出力する制御手段と、
を有している。
複数のポートへ複数のサイクルに入力されるデータ群の各データに対して、同一ポート内でデータの順序を入れ替え、該データ群として所定の遅延となるように定めた、入力サイクル毎かつポート毎に異なる遅延サイクル数を含む制御情報を生成し、
前記制御情報に基づいて、入力データに入力サイクル毎かつポート毎に異なる遅延サイクル数の遅延を与えて出力する、
ものである。
選択器220〜223は、書き込み制御回路241からの制御信号に従って2つの入力から1つを選択し、選択した方のデータを出力する。選択器220〜223は、制御信号が1であれば遅延量取出器251からの入力データを出力し、制御信号が0であれば接続された記憶要素230〜233からの入力データを出力する。
次に、上述した実施形態のより具体的な実施例について説明する。
Claims (5)
- 複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力される並列データの各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第1の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第1の可変遅延手段と、
前記第1の可変遅延手段が各ポートに同一タイミングで出力するデータを入力し、前記処理サイクルのカウント値毎かつポート毎に設定されるシャッフル情報に基づいて、ポート間で前記データを入れ替えて出力するシャッフル手段と、
前記シャッフル手段が複数のポートへ前記処理サイクルのカウント値毎に出力した各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第2の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第2の可変遅延手段と、
前記第1の遅延サイクル数、前記シャッフル情報および前記第2の遅延サイクル数を前記処理サイクルのカウント値毎かつポート毎に設定した制御情報を、前記処理サイクルが異なるデータ並べ替え方法と対応して備えて出力する制御情報供給手段と、
を有するデータ並べ替え回路。 - 前記処理サイクルのカウント値をカウントするカウント手段を更に有し、
前記制御情報供給手段は、前記カウント手段のカウント値と、前記データ並べ替え方法を表す演算モードとを入力として前記制御情報を出力する、
請求項1に記載のデータ並べ替え回路。 - 前記制御情報供給手段から出力された前記制御情報を、第1の可変遅延手段の各ポートに入力するデータに結合する結合手段を更に有し、
前記第1の可変遅延手段は、各ポートに入力したデータに結合された前記制御情報のうちの前記第1の遅延サイクル数を取得する第1の遅延量取出器を有し、
前記シャッフル手段は、前記第1の可変遅延手段から各ポートに入力したデータに結合された前記制御情報のうちの前記シャッフル情報を取得する制御情報取出器を有し、
前記第2の可変遅延手段は、前記シャッフル手段から各ポートに入力したデータに結合された前記制御情報のうちの前記第2の遅延サイクル数を取得する第2の遅延量取出器を有する、
請求項1または2に記載のデータ並べ替え回路。 - 複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力される並列データの各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第1の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第1の可変遅延回路と、
前記第1の可変遅延回路が各ポートに同一タイミングで出力するデータを入力し、前記処理サイクルのカウント値毎かつポート毎に設定されるシャッフル情報に基づいて、ポート間で前記データを入れ替えて出力するシャッフル手段と、
前記シャッフル手段が複数のポートへ前記処理サイクルのカウント値毎に出力した各データに、前記処理サイクルのカウント値毎かつポート毎に設定される第2の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力する第2の可変遅延回路と、
前記第2の可変遅延回路からの出力を入力として、高速フーリエ変換のバタフライ演算を行うバタフライ演算回路と、
を有する高速フーリエ変換回路。 - 複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力される並列データの各データを入れ替えて出力するデータ並べ替え方法であって、
前記処理サイクルのカウント値毎かつポート毎に設定される第1の遅延サイクル数と、前記処理サイクルのカウント値毎かつポート毎に設定されるシャッフル情報と、前記処理サイクルのカウント値毎かつポート毎に設定される第2の遅延サイクル数と、を含む制御情報を生成することと、
前記複数のポートに対してデータ並べ替えに必要な処理サイクルのカウント値毎に入力される並列データの各データに、第1の可変遅延回路において前記第1の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力することと、
前記第1の可変遅延回路が各ポートに同一タイミングで出力するデータを入力し、前記シャッフル情報に基づいて、シャッフル回路においてポート間で前記データを入れ替えて出力することと、
複数のポートへ前記処理サイクルのカウント値毎に前記シャッフル回路が出力した各データに、第2の可変遅延回路において前記第2の遅延サイクル数の遅延を与えることにより、少なくとも一つのポート内で異なるタイミングで入力するデータの順序を入れ替え、前記並列データとしては当該並列データに所定の遅延で出力することと、
を有するデータ並べ替え方法。
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 | ||
PCT/JP2010/059443 WO2011036918A1 (ja) | 2009-09-24 | 2010-06-03 | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 |
JP2011532926A JP5601327B2 (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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5556323B2 (ja) * | 2010-04-15 | 2014-07-23 | 日本電気株式会社 | データ並び替え回路に対する制御情報自動生成方法、データ並び替え回路、コンピュータ、及び制御情報自動生成プログラム |
US9507541B2 (en) | 2012-12-25 | 2016-11-29 | Nec Corporation | Computation device, computation method, and medium |
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 |
WO2019221569A1 (ko) * | 2018-05-18 | 2019-11-21 | 주식회사 모르미 | 병렬 처리장치 |
KR102295677B1 (ko) * | 2018-05-18 | 2021-08-30 | 주식회사 모르미 | 연속적인 데이터 병렬처리가 가능한 병렬 처리장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10283341A (ja) * | 1997-04-07 | 1998-10-23 | Sharp Corp | 高速フーリエ変換演算回路 |
Family Cites Families (10)
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 | 可変遅延回路,及び可変遅延回路の校正方法 |
JP2002504250A (ja) | 1998-04-09 | 2002-02-05 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ要素の系列を変換する装置 |
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 |
-
2010
- 2010-06-03 WO PCT/JP2010/059443 patent/WO2011036918A1/ja active Application Filing
- 2010-06-03 US US13/497,553 patent/US9002919B2/en not_active Expired - Fee Related
- 2010-06-03 JP JP2011532926A patent/JP5601327B2/ja not_active Expired - Fee Related
Patent Citations (1)
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 |
---|---|
WO2011036918A1 (ja) | 2011-03-31 |
US20120278373A1 (en) | 2012-11-01 |
JPWO2011036918A1 (ja) | 2013-02-14 |
US9002919B2 (en) | 2015-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5601327B2 (ja) | データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法 | |
JP5689282B2 (ja) | 行列をsimdマルチコア・プロセッサ・アーキテクチャ上で転置するためのコンピュータ実装方法、コンピュータ可読ストレージ媒体及びシステム | |
JP3917522B2 (ja) | フーリェ変換装置 | |
Chen et al. | Continuous-flow parallel bit-reversal circuit for MDF and MDC FFT architectures | |
JP3938238B2 (ja) | 高速フーリエ変換処理装置 | |
JP2013205973A (ja) | 行列演算装置 | |
JP4698394B2 (ja) | 高速フーリエ変換回路 | |
CN102652315A (zh) | 信息处理设备、其控制方法、程序及计算机可读存储媒体 | |
US20160140083A1 (en) | Digital filter device, digital filtering method, and storage medium having digital filter program stored thereon | |
US11995569B2 (en) | Architecture to support tanh and sigmoid operations for inference acceleration in machine learning | |
US11210105B1 (en) | Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction | |
JP2015503785A (ja) | Fft/dftの逆順ソーティングシステム、方法およびその演算システム | |
US20220207108A1 (en) | System for processing matrices using multiple processors simultaneously | |
WO2007099950A1 (ja) | 高速pe間データ再配置機能を有するプロセッサアレイシステム | |
CN111368250B (zh) | 基于傅里叶变换/逆变换的数据处理系统、方法及设备 | |
TWI506457B (zh) | 折疊式蝶形模組、管線式快速傅利葉轉換處理器及控制方法 | |
JP6451647B2 (ja) | 高速フーリエ変換装置、高速フーリエ変換方法、及び高速フーリエ変換プログラム | |
JP2011227559A (ja) | データ並び替え回路に対する制御情報自動生成方法、データ並び替え回路、及び制御情報自動生成プログラム | |
US8572148B1 (en) | Data reorganizer for fourier transformation of parallel data streams | |
JPS6310263A (ja) | ベクトル処理装置 | |
WO2019031418A1 (ja) | 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム記録媒体 | |
JP2003244190A (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 |