FFTの仕様
FFTを組み込む
 FFTコアは1個(Lchのみ)、以下に仕様を示します。
ポイント数 1024
入出力データビット数 16ビット
三角関数ビット数 20ビット
窓関数 なし(矩形窓)
サンプリング周波数 97.7kHz
マスタークロック 50MHz
周波数分解能 95.4Hz
サイクル数 10,300(FFT1回あたり)

VHDLで設計するので超高速!
 ハードウエアでFFTを行うメリットは何と言ってもその速さ。FFTがわずか10,300サイクルで終了します。弊社dsPIC製品のようなマイコン(C言語)と比べると10倍も高速になります。

RAMをピンポンモードで使う
 実数用/虚数用のRAMを2組用意し、ピンポンモード(一方読出し/もう一方書込み、一方書込み/もう一方読出し、の繰り返し)で高速化を図ります。

バタフライ演算のパイプライン化
 複素乗算及び加算を行う「バタフライ演算」を徹底的にパイプライン化。随所にDF/Fを挟み、50MHz動作を可能に。

NiosIIがFFTコアをコントロール
 NiosII(ソフトマクロマイコン)も一緒にFPGAに焼き、FFTコアと通信します。NiosIIはパソコンとも通信し、FFT結果はWindowsアプリケーションに描画されます。

テストモードで実機動作検証
 通常はA/DからのデータをFFTしますが(ノーマルモード)、パソコンからのデータをFFTし、結果をパソコンに吸い上げ、FFTコアの動作を検証するテストモードを備えます。

FFTルーチンはもともとC言語で書かれていた
 参考資料として、「FFTをロジックで組んでみる」もご覧ください(オンライン)。C言語をVHDL化する勘所がわかります。

Back


Top Page