Last Update 2022/06/03

CPUと周辺回路を作り込んでCプログラミング
FPGAキットで始めるハード&ソフト丸ごと設計

栗元 憲一 著
B5判 160ページ
CD-ROM 1枚付き
定価5,280円(税込)
JAN9784789846103
2013年5月1日発行
好評発売中!
FPGAキットで始めるハード&ソフト丸ごと設計

 昨今の組み込みシステムは大規模化が進み,大規模ASICの中にCPUと制御ハードウェアが集積されたSoC(System on a Chip)となっている.一般読者がASIC設計を体験することは難しいが,現在はFPGAの大容量/低価格化が進み,FPGAの中にCPUコアと周辺機能を実装することも容易になった.本書ではFPGAによるSoC設計をより具体的に,実用的なシステムを構築する事例で解説する.
 本書で実現するシステムの内容としては,CPUコアとしてはMMUを装備したソフトCPUコアLEON(SPARC互換アーキテクチャ)を採用し,Linuxを移植する.システム・バスとしては業界標準ともいえるAMBAバスを採用.Ethernetコントローラにはオープン・ソースで公開されているコントローラを,そしてJPEGデコーダや画面表示コントローラは筆者オリジナル設計のコントローラを実装し,モーションJPEGをネットワーク経由で転送しながら動画を再生するシステムを構築する事例を詳しく解説する.

目次


第1部 FPGAへのLinuxシステムの構築

SPARC V8アーキテクチャLEONシステムの概要とサポート・ボードへのマッピング
第1章 オープンソース ソフト&ハードによるFPGAへのSoCシステムの実装
1.1 オープンソース・ハードウェアとLEONシステム
1.2 LEONシステムのダウンロードと開発環境の構築
1.3 LEONシステムの設計フローとサポート・ボードへのマッピング

LEONシステムで動作するLinuxのビルドと非サポート・ボードへの移植の基本
第2章 オープンソース ソフト&ハードによるFPGAへのLinuxシステムの構築
2.1 Linuxイメージのビルド
2.2 BLANCAへのポーティング


第2部 FPGAを使ったSoCの開発

オープンソース ソフト&ハードによりSoCを開発するメリットと第2部の構成について
第3章 motionJPEG再生システムを例にFPGAによるSoCを開発する目的
3.1 motionJPEG再生システムを例に
3.2 gitについて
3.3 第2部の構成について


JPEGデコード・アルゴリズムを理解し,IJGライブラリを使ったソフトウェアによるデコードを体感しよう
第4章 JPEGアルゴリズムとソフトウェアによるmotionJPEG再生の実現
4.1 JPEGのアルゴリズム
4.2 IJGライブラリを用いたmotionJPEGの実装 〜PC-Linux編〜
4.3  IJGライブラリを用いたmotionJPEGの実装 〜FPGA-Linux編〜
4.4 デバッグ方法
4.5 プロファイラを使ったボトルネック箇所の確認
4.6 ソフトウェアのみのシステムのデータの流れ

ソフトウェア処理の一部分を実際にハードウェア化することにより,SoC開発のエッセンスを体験しよう
第5章 YCbCr-RGB変換モジュールをハードウェア化するシステムの開発方法
5.1 AMBAバスの基礎知識
5.2 YCbCr-RGB変換ハードウェアの設計
5.3 デバイス・ドライバの開発
5.4 ソフトウェアだけのシステムと一部をハードウェア化したシステムの比較

DCT処理やハフマン・デコードをハードウェア化することにより,さらに高性能なSoCを実現しよう
第6章 JPEG処理をハードウェア化したシステムの開発方法
6.1 データの流れ
6.2 upsampleのハードウェア化
6.3 DCT処理のハードウェア化
6.4 ハフマン・デコードのハードウェア化

開発したFPGAによるSoCを実際に起動させて,ネットワーク経由でmotionJPEG動画ストリームを再生しよう
第7章 motionJPEG再生システムのネットワークへの対応
7.1 ネットワークへの対応
7.2 第2部のまとめ


第3部 AMBA AHBバスとIPコアの詳細

バスの基本概念とAMBAバスの基本仕様,AMBAマスタ/スレーブとシミュレータを使ったAMBAバスの動作を理解しよう
第8章 AMBA AHBバスの仕組みとModelSimによるシミュレーション
8.1 プロセッサと各種コントローラの接続例
8.2 アービタとは
8.3 マスタとスレーブ
8.4 AHBバスとAPBバス
8.5 AHBバスの基本シーケンス
8.6 AHBバス・システム設計の要点
8.7 もっともシンプルなAHBRAM
8.8 AHBRAMのソース・コードと各信号
8.9 バースト転送
8.10 AHBマスタの例
8.11 アービタを含むAHBバス構造
8.12 シミュレーション・モデルの作成
8.13 ModelSim上の波形確認
8.14 第8章のまとめ

LEONプロセッサ,Ethernetコントローラ,AMBAプラグ&プレイ,SDRAMコントローラの仕様を理解しよう
第9章 LEON システムのGRLIBの主なIPコアの詳細
9.1 LEON3プロセッサ
9.2 GRETH(Ethernet media access controller with EDCL support)
9.3 AHBCTRL AMBA AHBコントローラ with プラグ&プレイ・サポート
9.4 MCTRL PROM/IO/SRAM/SDRAMメモリ・コントローラ