オーディオ信号処理の実装をステップ・バイ・ステップで!
FPGAマガジン No.11
性能UP!アルゴリズム×手仕上げHDL
FPGAマガジン編集部 編
B5判 144ページ
定価2,420円(税込)
JAN9784789846219
2015年11月1日発行
好評発売中!
高位合成ツールは,C言語などツールの対応言語でプログラムを記述すれば,何でもかんでもハードウェアに落とし込んでくれるという夢のツールではありません.より高速な回路が必要だったり,より小さな回路規模で実現したい場合など,HDL(Hardware Description Language)を手作業で記述するRTL(Resister Transfer Level)入力は今後も重要です.
とはいえ,HDLによるディジタル信号処理回路や数値演算回路の開発は非常に大変です.いきなりHDLで書き始めるのではなく,C言語などのプログラミング言語で処理内容を記述し,アルゴリズムを確定してから,それをHDLに変換するのがよいでしょう.本特集では,ディジタル・オーディオのサンプリング周波数の変換を例題に,信号処理回路の設計の流れを具体的に解説します.
まずサンプリング変換アルゴリズムを考え,それをそのままC言語プログラムで記述し,Windows上で動作を確認します.さらにそれを,固定小数点のみで変換できるようにプログラムを修正し,同様にWindows上で動作確認します.
このようにPCやマイコン上で動作させたCプログラムを,高位合成ツールを使ってハードウェア化します.そして最後は,人間が手作業でCからHDLに書き直してRTLを作成します.最後に回路規模や動作周波数などの点から,高位合成ツールによる回路と人手で記述した回路の違いも比較してみます.
目 次
特集 『性能UP! アルゴリズム×手仕上げHDL』
【性能重視ならやっぱりHDL手書き!?】
サンプリング周波数を48kHzから44.1kHzにするレート変換器をどのように実現するか?
プロローグ ディジタル信号処理を実現する五つの方法
【PC上でアルゴリズム開発!】
WAVEファイルのサンプリング・レートを48kHzから44.1kHzに変換して性能検証,まずはC言語でやってみる
第1章 サンプリング・レート変換プログラムをWindowsアプリケーションで作る
【マイコンで動かす!】
DSPエンジンを持つ信号処理用マイコンdsPICでサンプリング・レート変換してみる
第2章 C言語のままマイコンでディジタル信号処理するメリットとデメリット
【高位合成を使う!】
Vivado HLSで生成したHDLをFPGAにプログラムしてみる
第3章 高位合成ツールでC言語をHDLに変換する
【高性能な回路をゴリゴリHDL!】
コンパクトで高速なサンプリング・レート変換器の完成!
第4章 C言語ソースを参考にして手作業でHDLを記述する
高位合成関連
【Javaが書ければFPGAが開発できる!】
PC上でもすぐに動き,並列処理も記述可能なプログラミング言語Javaでハードウェアを開発
Synthesijerを使ったFPGA上でのグラフィックス・プログラミング
【ソフト感覚でFPGA開発!】
MIDIメッセージをW5300でネットワークに流しログ収集ツールFluentdでロギング!
ソフト屋がFluentdへのログ転送クライアントをSynthesijerで作ってみた
【コンパイラLLVMでFPGA開発!】
新世代オープン・ソース・コンパイラLLVMで高位合成を試す
筆者開発!LLVMベースの高位合成処理ツールSynverll
最新技術
【DE0用拡張ボードをDE0-CVに接続!】
定番&最新FPGAの研究 〜Altera編〜
新入門ボードDE0-CVにHDMIとステレオ・オーディオ出力を拡張する
【もうVivadoに切り替えた?】
定番&最新FPGAの研究 〜Xilinx編〜
Xilinx社の最新FPGA開発に必須のツールVivado
【名刺サイズのスーパコンピュータ!】
ARM Cortex-A9デュアルコア内蔵FPGAと16コア内蔵マルチコア・プロセッサを搭載
Parallella搭載のFPGAのカスタマイズ方法とiDCTアクセラレータの実装
【アルテラSoCで割り込みを使う!】
ディップ・スイッチ&プッシュ・スイッチの状態変化を割り込みで検出!
アルテラSoC評価ボードHelioでLinuxの割り込み制御を学ぶ
基礎解説
【7シリーズFPGAでMicroBlazeを使おう!】
Vivadoで始めるソフトIPプロセッサMicroBlaze&MicroBlaze MCS
はじめてのMicroBlaze 〜プロジェクトの作成からHello Worldの表示まで〜