本書は、IoTやビッグデータ、機械学習といった大規模データ処理のニーズ増に伴って、その省電力性と高速な処理速度から注目を集めているFPGAの基盤技術を解説するものです。
近年、半導体技術の進歩に伴って、やや中途半端であったFPGAの性能が著しく向上した一方で、CPUの処理能力の頭打ちが見えてきました。そのため、CPUやGPUといった汎用デバイスよりも電力効率がよく、且つ高速にデータを処理することができるようになったFPGAが、さまざまな応用分野で再注目されています。
読者は本書を読み込むことで、FPGAのなんたるかを一通り学ぶことができ、要求されるパフォーマンスへの最適な回路設計を図ることができるようになります。また、いくつかの応用事例も取り上げているので、商品企画や研究テーマの検討にも役立つ内容になっています。
https://www.ohmsha.co.jp/book/9784274218644/
正誤表やDLデータ等がある場合はこちらに掲載しています
1章 FPGAを理解するための基本事項
2章 FPGAの概要
3章 FPGAの構成
4章 設計フローとツール
5章 設計技術
6章 ハードウェアアルゴリズム
7章 PLD/FPGAの応用事例
8章 新しいデバイス,アーキテクチャ
索引
1章 FPGA を理解するための基本事項
1・1 論理回路の基礎
1・1・1 論理代数
1・1・2 論理式
1・1・3 真理値表
1・1・4 組合せ回路
1・1・5 順序回路
1・2 同期設計
1・2・1 フリップフロップ
1・2・2 セットアップ時間,ホールド時間
1・2・3 タイミング解析
1・2・4 単相クロック同期回路
1・3 FPGAの位置付けと歴史
1・3・1 FPGA の位置付け
1・3・2 FPGA の歴史
1・4 FPGAに関する用語
参考文献
2章 FPGA の概要
2・1 FPGAの構成要素
2・2 プログラミングテクノロジー
2・2・1 フラッシュメモリ
2・2・2 アンチヒューズ
2・2・3 スタティックメモリ
2・2・4 プログラミングテクノロジーのまとめ
2・3 FPGAの論理表現
2・3・1 FPGA への回路実装
2・3・2 プロダクトターム方式による論理表現
2・3・3 ルックアップ・テーブル方式による論理表現
2・3・4 そのほかの方式による論理表現
参考文献
3章 FPGA の構成
3・1 論理ブロックの構成
3・1・1 ルックアップ・テーブルの性能トレードオフ
3・1・2 専用キャリ・ロジック
3・2 論理クラスタ
3・3 LUTのアダプティブ化
3・3・1 Altera 社Stratix II
3・3・2 Xilinx 社Virtex 5
3・4 配線セグメント
3・4・1 グローバル配線アーキテクチャ
3・4・2 詳細配線アーキテクチャ
3・4・3 配線セグメント長
3・4・4 配線スイッチの構造
3・5 スイッチブロック
3・5・1 スイッチブロックのトポロジー
3・5・2 マルチプレクサの構成
3・6 コネクションブロック
3・7 I/Oブロック
3・8 DSPブロック
3・8・1 DSPブロックの構成例
3・8・2 演算粒度
3・8・3 DSPブロックの利用法
3・9 ハードマクロ
3・9・1 ハードマクロ化されたインタフェース回路
3・9・2 ハードコアプロセッサ
3・10 エンベデッドメモリ
3・10・1 ハードマクロとしてのメモリブロック
3・10・2 論理ブロック内LUT を用いたメモリ
3・10・3 エンベデッドメモリの利用法
3・11 コンフィギュレーションチェーン
3・11・1 コンフィギュレーション用メモリ技術
3・11・2 JTAGインタフェース
3・12 PLL とDLL
3・12・1 PLL の基本構成と動作
3・13 典型的なPLL ブロック
3・14 PLL ブロックの柔軟性と制約
3・14・1 ロック出力
3・14・2 DLL
参考文献
4 章設計フローとツール
4・1 設計フロー
4・2 HDLからの設計フロー
4・2・1 プロジェクトの登録
4・2・2 論理合成とテクノロジマッピング
4・2・3 RTLシミュレーション
4・2・4 配置配線
4・2・5 デバイスへの書込み
4・2・6 実機動作検証
4・2・7 最適化
4・3 HLS 設計
4・3・1 動作記述
4・3・2 動作レベルシミュレーション
4・3・3 動作合成
4・3・4 分析評価と最適化
4・3・5 RTLとの接続
4・4 IPを用いた設計
4・4・1 IPと生成ツール
4・4・2 IPの利用と統合ツール
4・4・3 IP化支援ツール
4・5 プロセッサを用いた設計
4・5・1 ハードコアプロセッサとソフトコアプロセッサ1
4・5・2 プロセッサシステムの構築
4・5・3 ソフトウェア開発環境
4・5・4 ソフトウェアとハードウェアの統合と実行
参考文献
5章 設計技術
5・1 FPGA設計フロー
5・2 テクノロジーマッピング
5・3 クラスタリング
5・4 配置配線
5・5 低消費電力化設計ツール
5・5・1 Emap:低消費電力化マッピングツール
5・5・2 P-T-VPack:低消費電力化クラスタリングツール
5・5・3 P-VPR:低消費電力化配置配線ツール
5・5・4 ACE:アクティビティ計測ツール
参考文献
6章 ハードウェアアルゴリズム
6・1 パイプライン処理
6・1・1 パイプライン処理の原理
6・1・2 パイプライン処理による性能向上
6・2 並列処理とFlynn の分類
6・2・1 Flynnの分類
6・2・2 SIMD型アーキテクチャ
6・2・3 MISD型アーキテクチャ
6・2・4 MIMD型アーキテクチャ
6・3 シストリックアルゴリズム
6・3・1 シストリックアルゴリズムとシストリックアレイ
6・3・2 1次元シストリックアレイによる部分ソーティング
6・3・3 1次元シストリックアレイによる行列ベクトル積
6・3・4 2次元シストリックアレイによる行列積
6・3・5 プログラマブルシストリックアレイによるステンシル計算と流体力学計算への応用
6・4 データフローマシン
6・4・1 静的データ駆動方式マシン
6・4・2 動的データ駆動方式マシン
6・4・3 ペトリネット
6・5 ストリーム処理
6・5・1 定義とモデル
6・5・2 ハードウェア実装方式
6・5・3 計算の例
6・6 セルオートマトン
6・7 ハードウェアソーティングアルゴリズム
6・8 パターンマッチング
6・8・1 厳密マッチング
6・8・2 正規表現マッチング
6・8・3 近似マッチング
参考文献
7章 PLD/FPGA の応用事例
7・1 プログラマブル・ロジック・デバイスの現在とこれから
7・2 スーパーコンピュータ:大規模システムを補完するPLD/FPGA
7・2・1 スパコン構築において重要なことはなにか
7・2・2 スパコンにおけるFPGA の利用事例
7・3 ネットワーク分野:高速・高帯域通信を実現するPLD/FPGA
7・3・1 ネットワークスイッチの概要
7・3・2 ネットワーク用デバイスとしてみたFPGA の進化
7・3・3 SDNとFPGA
7・3・4 システム構成と通信パケットの処理
7・3・5 連想メモリ(CAM)とFPGA
7・4 ビッグデータ処理:ウェブ検索
7・4・1 Bing検索の仕組み
7・4・2 ランク計算の高速化
7・4・3 Catapult アクセラレータの構成
7・5 ゲノム科学:ショートリードアセンブリ・マッピング
7・5・1 ショートリードからのDe Novo アセンブリ
7・5・2 リファレンス配列へのショートリードマッピング
7・6 金融市場:FPGA が莫大な富を生む
7・6・1 高頻度取引(HFT)の概要
7・6・2 HFTシステムの特徴とFPGA 利用の是非
7・6・3 演算性能を考慮したFPGA の利用方法
7・7 人工知能:FPGA が実現する深層学習の次
7・7・1 第3 次人工知能ブームの到来か
7・7・2 AIアクセラレータという観点からの仕様性能比較
7・7・3 FPGA と人工知能
7・8 画像処理:スペースデブリ探索
7・8・1 方式の概要
7・8・2 FPGA による高速化
参考文献
8 章新しいデバイス,アーキテクチャ
8・1 粗粒度リコンフィギュラブルアーキテクチャ(CGRA)
8・1・1 CGRA の一般的構成とその歴史
8・1・2 CGRA の位置づけ
8・2 動的再構成アーキテクチャ
8・2・1 事例:DRP
8・2・2 並列プロセッサ技術との関連性
8・2・3 ほかの動的再構成アーキテクチャ
8・3 非同期式FPGA
8・3・1 同期式FPGA の問題点
8・3・2 非同期式FPGA の概要
8・3・3 非同期式FPGA の高性能化・低消費電力化・設計容易化
8・4 FPGAシステムの低消費電力化技術
8・4・1 FPGA を用いた計算システム
8・4・2 FPGA デバイスの低消費電力化
8・4・3 FPGA システムの高性能化・低消費電力化
8・5 3次元FPGA
8・6 高速シリアルI/O
8・6・1 LVDS
8・6・2 28Gbps 高速シリアルI/O
8・6・3 120 Gbps 光I/O をもつFPGA
8・7 光再構成アーキテクチャ
8・7・1 カリフォルニア工科大学の光再構成アーキテクチャ
8・7・2 わが国の光再構成型ゲートアレイ
参考文献
索引