ソフトウェア・コードを1クリックでハードウェア化! プログラム1つだけでハードもソフトも!C/C++でFPGA
2017年2月1日発行 定価2,420円(税込) JAN9784789846264
Xilinx社のZynq向け高位合成/ソフトウェア開発環境SDSoCが,使い始めやすくなっています.特定のボード向けに安価に提供され始めたほか,無償で利用できる期間限定評価版の提供も始まりました.使い始めるには絶好のチャンスです.
製品開発などで応用するためには正規版が必要になり,まだまだ高価なツールといわざるを得ません.しかしC/C++言語で記述したソフトウェア・コードを作成し,ボトルネックになっている処理を指示するだけでハードウェア化でき,プロセッサ-FPGA間のインターフェースも自動生成してくれるので,開発効率の大幅な向上が期待できます.OSやデバイス・ドライバなどについて考える必要がなくなれば,本来“やりたいこと”に注力できるのも利点です.
このような新しいツールにどのくらいの価値があるのか知るためには,実際に試してみるのが1番です.特集では,独自に開発したZynq搭載ボードをターゲットに,SDSoCを使って開発を進める方法を解説します.まず,オリジナル・ボードにSDSoCを対応させるためのプラットフォームの構築方法を説明します.その後で,幾つかの例題を使って,SDSoCをより効果的に活用するテクニックを解説していきます.SDSoCの多くの機能のうち,Cコードからのハードウェア合成は,いわゆる高位合成ツールそのものです.高位合成ツールVivado HLSを利用されている方にも参考になるはずです.
目次
特集 プログラム1つだけでハードもソフトも!C/C++でFPGA
[HDL設計なんて時代遅れ!]
開発手法のパラダイム・シフト
プロローグ ARMコアFPGAを使って完全C/C++言語で設計する時代が到来
[無償で使える60日限定版も提供開始!]
完全C言語記述でMy LSIを設計できる
第1章 ARMコアFPGA向け開発ツールSDSoC
[純粋FPGAより実は使いやすい!]
SDSoCを使って開発を行えるデバイスはこれだ!
第1章Appendix ARMプロセッサ+FPGA=Zynq
[必要な機能だけあれば十分!]
Linuxが動作するARMコアFPGAデバイスを活用するために
第2章 オリジナルZynqボードの開発のポイント
[48mm角の組み込み向け]
定番評価ボードからの移行もしやすい
第2章Appendix SDSoC対応小型ZynqボードKiss4の開発
[最小構成の開発環境]
オリジナル・ボードをSDSoC対応にする…ステップ1
第3章 シンプル版プラットフォームの作成
[2016年12月にバージョンアップ]
最新版でこう変わる
第3章Appendix プラットフォーム作成におけるSDSoC 2016.2とSDx 2016.3の違い
[実用構成の開発環境]
オリジナル・ボードをSDSoC対応にする…ステップ2
第4章 I/O対応版プラットフォームの作成
[やっぱりLチカから]
ソフトウェアからのハードウェア制御の第一歩
第5章 Cプログラムから使えるLED制御回路の設計
[画像処理アプリケーションを例に]
ソフトウェア記述のままでは性能が上がらない!
第6章 Cプログラムの高速ハードウェア化テクニック
[温度と圧力の計測を例に]
センサから届くアナログ信号の扱いもC言語でOK!
第7章 連続データの処理のハードウェア化
[Zynq 2段ロケット!!]
高速UARTコアを使って相互通信
第8章 分散処理対応プラットフォームの構築
[6.25Mbps通信が可能!]
分散処理を実現するために不可欠
第8章Appendix ボード間通信のための高速UARTコアの機能
[動体検出処理を例に]
ハードウェア化のためには物理アドレスを意識することが重要
第9章 大量データ転送処理の最適化
特集関連 特別寄稿
[入門者も経験者も参加できる勉強会]
SDSoCや高位合成技術について情報交換できる
FPGAコミュニティのススメ
高位合成ツールVivado HLS 特設記事
[画像フィルタをハードウェア化!]
無料のVivado HL WebPACK Editionで高位合成にチャレンジしよう(AXI4マスタ編)
第1章 アルゴリズム通りに記述したフィルタCプログラムをハードウェア化してみよう
[ステップアップで高速化!]
無料のVivado HL WebPACK Editionで高位合成にチャレンジしよう(AXI4マスタ編)
第2章 ライン・バッファ/バースト転送/最適化指示子を駆使した高速化テクニック
最新技術解説
[デュアルCPUコアでデュアルOS!]
最小限の機能でFPGAを高速起動してからLinuxを立ち上げる
Zynqで試す!リアルタイムOS & Linuxのデュアルブート方法最新技術解説
[IoT制御にも使える!]
コンフィグレーション用フラッシュROMを内蔵したLattice社MachXO3LFを搭載
SDカード・サイズで10/100Base-TXネットワーク対応の小型FPGAボードexLeaf
[FPGA+Chainerでディープ・ラーニング]
Altera SDK for OpenCLで電力効率に優れたアクセラレータを実現できる
Chainerを使ったディープ・ニューラル・ネットワークをFPGAで動かしてみよう
[Alteraデバイス使いこなし術]
Altera PLL Reconfig機能の生成手順から実機での動作波形観測まで
動的にクロック周波数の変更が可能なPLLの使い方
最新デバイス紹介
[OPアンプ回路がFPGA感覚で使える!]
FPGAでは構成できない任意のアナログ回路を1チップに
analogramを使った発振回路の設計と実波形観測