FPGAプログラミング大全 Xilinx編

FPGAプログラミング大全 Xilinx編
著者 小林 優
ジャンル IT系書籍 > プログラミング言語
書店発売日 2016/12/15
ISBN 9784798047539
判型・ページ数 B5変・584ページ
定価 4180円
(本体3800円+税10%)
在庫 品切れ・重版未定
その他 ダウンロード:有

この本に関するお問い合わせ・感想

FPGAは、CPUを内蔵したことでユーザーが回路を自由にプログラミングする面白さがさらに広がりました。本書は、回路設計の基礎やCプログラミングを学んだ方を対象に、FPGAの基礎から応用まで(LチカからVivado HLSを使った高位合成まで)をステップバイステップで解説します。無償のVivado Design Suiteを使って、ハードウェア設計の基礎から、論理シミュレーションによる回路検証、実機検証までを説明。初学者の最高のバイブルです。

【サポートはこちら】https://www.shuwasystem.co.jp/support/7980html/4753.html
準備編 第1章~第4章
第1章 無償ツールでここまでできる
1-1 無償化が一気に進んだXilinxの開発ツール
【1-1-1】 Xilinx FPGA向け開発ツール群「Vivado Design Suite」
【1-1-2】 統合開発環境「Vivado」
【1-1-3】 ソフトウェア開発環境「Xilinx SDK」
【1-1-4】 高位合成ツール「Vivado HLS」
コラムA Xilinx開発ツール無償化の歴史
1-2 各種低価格FPGAボード
【1-2-1】 Digilent社の低価格FPGAボード
【1-2-2】 例題の対応状況
【1-2-3】 Artyだけは工作が必要
【1-2-4】 おすすめのボード
第2章 Vivadoの論理合成を試す
2-1 LED点滅回路の記述と動作確認
【2-1-1】 LED点滅回路の構造と回路記述
【2-1-2】 Vivadoの起動
【2-1-3】 プロジェクトの作成
【2-1-4】 Vivadoの操作画面
【2-1-5】 回路記述の読み込み
【2-1-6】 制約ファイルの読み込み
【2-1-7】 コンパイル
【2-1-8】 FPGAのコンフィグレーションと動作確認
2-2 LED点滅回路にプッシュスイッチ入力を追加
【2-2-1】 プッシュスイッチ入力で点滅速度を切り替える
【2-2-2】 チャタリング除去回路
【2-2-3】 コンパイルと動作確認
【2-2-4】 主なコンパイルエラーと対策
2-3 PC用ディスプレイにパターンを表示
【2-3-1】 パターン表示回路の仕様
【2-3-2】 VGAのタイミング
【2-3-3】 パターン表示回路の回路構成
【2-3-4】 パターン表示回路の回路記述
【2-3-5】 動作確認
2-4 第2章の課題
【2-4-1】 LED点滅回路の拡張……プッシュスイッチで表示パターンを切り替える
【2-4-2】 パターン表示回路の拡張……階調をつけてグラデーション表示にする
コラムB 私のFPGA履歴書「第一話 進化の過程を目撃」
第3章 論理シミュレーションによる事前確認
3-1 論理シミュレーションとは
【3-1-1】 論理シミュレーションでできること
【3-1-2】 機能だけの検証と遅延を含めた検証
コラムC より確実な設計・検証手順
3-2 シミュレーションによる検証の実際
【3-2-1】 テストベンチの準備
【3-2-2】 Vivadoシミュレータによるシミュレーション手順
【3-2-3】 波形表示の操作と観測方法
3-3 シミュレーションの進んだ使い方
【3-3-1】 配置・配線後のシミュレーション
【3-3-2】 テストベンチを拡張して出力ファイルによる確認をする
【3-3-3】 波形フォーマット(WCFG)と波形データ(WDB)の保存と利用
3-4 第3章の課題
【3-4-1】 第2章課題のグラデーション表示回路をシミュレーションする
第4章 ロジックアナライザによる回路デバッグ
4-1 ロジックアナライザの基本
【4-1-1】 実機で不具合を発見するには
【4-1-2】 FPGA内蔵ロジックアナライザ
【4-1-3】 ロジックアナライザの基本はサンプリングとトリガ
4-2 ロジックアナライザによる実機検証
【4-2-1】 ロジックアナライザのセットアップ
【4-2-2】 ロジックアナライザの基本操作
4-3 ロジックアナライザの進んだ使い方
【4-3-1】 複数ウィンドウによる複数画面の観測
【4-3-2】 キャプチャコントロールを試す
【4-3-3】 最適化の抑制による信号の維持
【4-3-4】 最適化の抑制による階層の維持
4-4 第4章の課題
【4-4-1】 第2章課題のグラデーション表示回路の実機動作波形を観測する
コラムD 私のFPGA履歴書「第二話 商売道具にフル活用」

ソフトマクロCPU(MicroBlaze)編 第5章~第6章
第5章 ソフトマクロCPU「MicroBlaze」
5-1 MicroBlazeとは
【5-1-1】 ソフトマクロCPUのメリット
【5-1-2】 MicroBlazeの概要
【5-1-3】 MicroBlazeシステムの開発手順
5-2 MicroBlazeシステムのハードウェア構築
【5-2-1】 MicroBlaze版LED点滅回路のハードウェア
【5-2-2】 IPインテグレータによるシステム構築
5-3 MicroBlazeのプログラムを実行
【5-3-1】 ハードウェア情報のコピーとSDKの起動
【5-3-2】 アプリケーションプロジェクトの作成
【5-3-3】 FPGAのコンフィグレーションとプログラムの実行
【5-3-4】 LED点滅のCプログラム
【5-3-5】 LED点滅プログラムの実行
5-4 タイマー割り込みとAPIの利用
【5-4-1】 プロジェクトの作成と描画スクリプトの利用
【5-4-2】 タイマーIPと割り込みコントローラIPの接続
【5-4-3】 タイマー割り込みのプログラムとAPI
【5-4-4】 タイマー割り込みの応用……チャタリング除去
5-5 第5章の課題
【5-5-1】 第2章課題の「LED点滅回路の拡張」をMicroBlazeシステムで実施する
コラムE 私のFPGA履歴書「第三話 CPU内蔵は超面白い」
第6章 MicroBlazeに自作IPを接続
6-1 簡易IP作成機能を使った自作IPの設計
【6-1-1】 MicroBlazeのバスとプロジェクトの作成
【6-1-2】 「Create and Package IP」機能で簡易IPを作成する
【6-1-3】 生成された回路記述の構造と動作
【6-1-4】 出力ポートを追加しIPをパッケージ化
【6-1-5】 MYIPをシステムに組み込む
【6-1-6】 SDKでMYIPの動作確認
6-2 文字表示回路の設計とIP作成
【6-2-1】 文字表示回路の仕様
【6-2-2】 回路の構成
【6-2-3】 プロジェクトの作成とVRAMの生成
【6-2-4】 CGROMを生成しIP作成完了
6-3 文字表示回路の事前検証と実機確認
【6-3-1】 文字表示回路のシミュレーション
【6-3-2】 システムの構築と動作確認
【6-3-3】 ロジックアナライザによる波形観測
6-4 第6章の課題
【6-4-1】 文字表示回路を拡張して1文字ごとに反転と点滅を可能にする
【6-4-2】 1文字表示関数を作成し英文字の文章を表示する
コラムF マルチCPUを試す

ハードマクロCPU(Zynq)編 第7章~第9章
第7章 ハードマクロCPU内蔵「Zynq」
7-1 Zynqとは
【7-1-1】 Zynqの概要
【7-1-2】 PS内蔵の周辺回路
【7-1-3】 PSとPL間の接続……AXIポート
【7-1-4】 PSとPL間の接続……クロックやリセットなど
【7-1-5】 起動シーケンス
7-2 Zynqシステムの構築とプログラム実行
【7-2-1】 Zynqシステムの構成
【7-2-2】 IPインテグレータによるシステム構築
【7-2-3】 Zynqのプログラムを実行
【7-2-4】 LED点滅プログラムの実行
7-3 Zynqの割り込みと自作IPの設計
【7-3-1】 プロジェクト「second_zq」のハードウェアを作成
【7-3-2】 タイマー割り込みのプログラム
【7-3-3】 タイマー割り込みの応用……チャタリング除去
【7-3-4】 簡易IP作成機能を使った自作IPの設計
7-4 第7章の課題
【7-4-1】 第2章課題の「LED点滅回路の拡張」をZynqシステムで実施する
【7-4-2】 第6章の「文字表示回路」をZynqシステムで実施する
コラムG マルチARMコアを試す
第8章 AXIバス入門
8-1 AXIバスとは
【8-1-1】 AXIの歴史と概要
【8-1-2】 AXIの基礎用語
【8-1-3】 転送とVALID/READY信号
【8-1-4】 トランザクション
【8-1-5】 各チャネルの信号
【8-1-6】 代表的な読み書きタイミング
【8-1-7】 信号の依存関係
8-2 AXIモデルを用いたシミュレーションと実機の波形観測
【8-2-1】 AXIのスレーブとマスターの検証用モデル
【8-2-2】 マスターとスレーブのモデルを接続してAXIシミュレーション
【8-2-3】 ロジックアナライザによるAXI信号の観測
8-3 第8章の課題
【8-3-1】 AXIスレーブBFMの設定を変更してシミュレーションし動作を確認する
コラムH 制約ファイル(?.xdc)の読み方と書き方
第9章 グラフィック表示回路の設計
9-1 グラフィック表示回路IPの仕様と設計
【9-1-1】 グラフィック表示回路の設計仕様
【9-1-2】 グラフィック表示回路の構造
【9-1-3】 AXI読み出し制御
9-2 グラフィック表示回路IPの検証と組み込み
【9-2-1】 グラフィック表示回路の検証
【9-2-2】 IPの構築とZynqシステムへの組み込み
9-3 動作確認と実機デバッグ
【9-3-1】 テストプログラムによる動作確認
【9-3-2】 ロジックアナライザによるAXIバスと映像出力信号の観測
コラムI SDカードの読み出しを試す
9-4 第9章の課題
【9-4-1】 SDカードの画像ファイルを読み出して表示する
【9-4-2】 解像度をXGAにする

高位合成編 第10章
第10章 C言語からの高位合成
10-1 高位合成とVivado HLS
【10-1-1】 高位合成とは
【10-1-2】 高位合成の基本
【10-1-3】 C言語からの高位合成
【10-1-4】 Vivado HLSでの設計手順とディレクティブ
10-2 高位合成を試す
【10-2-1】 乗加算回路とテストベンチ
【10-2-2】 プロジェクトの作成とCシミュレーション
【10-2-3】 高位合成と性能評価
【10-2-4】 ディレクティブを与えて性能を比較
【10-2-5】 C/RTL協調シミュレーション
10-3 IP化して実機確認
【10-3-1】 AXI4-Liteインターフェースの追加とIP化
【10-3-2】 Zynqシステムへの組み込み
【10-3-3】 乗加算回路APIを用いた制御プログラムで実機確認
10-4 AXIマスターの描画回路を設計
【10-4-1】 パターン描画回路の仕様と回路記述
【10-4-2】 プロジェクトの作成とCシミュレーションによる検証
【10-4-3】 ディレクティブの付加からIP化まで
【10-4-4】 グラフィック表示回路に組み込んで動作確認
10-5 第10章の課題
【10-5-1】 表示領域外への書き込み禁止機能をつける
【10-5-2】 ドットで表現された文字を、任意位置、任意色、任意サイズで表示する回路
コラムJ Vivado HLSは誰のためのツールか?そしてSDSoCとは?

Appendix
Appendix I 開発環境の構築
I-1 Vivadoのダウンロードとインストール
【I-1-1】 インストーラのダウンロード
【I-1-2】 Vivadoのインストール
I-2 ボードファイルとUSBシリアル変換ドライバのインストール
【I-2-1】 ボードファイルのインストール
【I-2-2】 USBシリアル変換ドライバのインストール
Appendix II 各FPGAボード利用上の注意点
II-1 Arty:ボード概要とVGAインターフェースの作成
【II-1-1】 ボード上の部品配置
【II-1-2】 VGAインターフェースボードの作成
【II-1-3】 DDR3メモリを使ったグラフィック表示回路
II-2 Basys3:ボード概要
【II-2-1】 ボード上の部品配置
II-3 Zybo:ボード概要とMicroBlazeシステムの作成
【II-3-1】 ボード上の部品配置
【II-3-2】 ZyboでMicroBlazeシステムを作成する場合の注意点
II-4 設計データの利用方法
【II-4-1】 設計データの内容
【II-4-2】 bitファイルでコンフィグレーションする方法
【II-4-3】 hdfファイルからハードウェアプロジェクトを作成する方法
Appendix III 回路データおよびプログラムのROM化
III-1 ROM化方法(Arty、Basys3)
【III-1-1】 LED点滅回路のROM化
【III-1-2】 回路データとMicroBlazeプログラムのROM化
III-2 SDカード化方法(Zybo)
コラムK 私のFPGA履歴書「番外編 私のFPGAボードコレクション」

ご注文

シェアする

このエントリーをはてなブックマークに追加

関連書籍

同じジャンルの商品

お知らせ

一覧