FPGA入門 回路図とHDLによるディジタル回路設計

概 要

ディジタル回路にはじめて触れる方を対象に、FPGAの使い方とディジタル回路設計の基礎を解説した入門書です。FPGAは集積回路(LSI)開発用のツールです。通常、LSIは工場で生産され、設計・生産費用も莫大なものになりますが、FPGAは安価で手に入れることができ、パソコンが1台あれば任意の回路を瞬時に作成し何度でも書き換えが可能です。また、開発ソフトも無償で提供されています。本書では、FPGAを使った回路設計の基礎と、従来の回路図による設計を用いて、VHDLおよびVerilog HDLの比較を行いながらわかりやすく解説しているので、ソフトウェアプログラミングとの差異に戸惑っている初心者にもおすすめできます。掲載したHDLコードのダウンロードサービス付き。

著者 すすたわり
価格 本体4200円(税別)
ISBN 978-4-7980-3431-7
発売日 2012/7/31
判型 B5変
色数 1色
ページ数 560
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 FPGA

1.1 FPGAとは

1.2 組み込みシステム

1.2.1 パソコンとの差が無くなった?

1.2.2 実装効率の問題

1.3 集積回路

1.3.1 いろいろな部品をまとめたもの

1.3.2 市販のICの例

1.3.3 本当に部品を集めて作れるのか?

1.3.4 ディスクリート部品で作れない理由

1.3.5 何故書き換えられるのか?

1.3.6 SRAM型FPGAの構造

1.3.7 設計がそのまま製造となる

1.3.8 実際の製品にも組込まれている

Chapter 2 開発準備

2.1 開発に必要なもの

2.1.1 パソコンと開発ソフト

2.1.2 FPGAボード

2.1.3 ダウンロードケーブル

2.2 FPGAボード

2.2.1 Digilent社製 Basys2

2.2.2 SUSUBOX社製 CAPPUCCINO

2.3 ダウンロードケーブル

2.3.1 Xilinx社製 Platform USB (DLC9)/USB II (DLC10)

2.3.2 Digilent社製 XUP USB-JTAG

2.3.3 特殊電子回路社製J-Writer

2.4 開発にあると便利なもの

2.4.1 論理回路シミュレータ

2.4.2 ロジック・アナライザ

2.4.3 オシロスコープ

2.5 ISE WebPACK

2.5.1 開発の全体像

2.5.2 プログラム構成と概要

2.5.3 インストール

Chapter 3 回路図エディタによる設計

3.1 回路設計

3.1.1 スイッチとLEDを繋ぐ回路

3.1.2 新規プロジェクトの作成

3.1.3 回路図シートの作成

3.1.4 I/Oバッファの配置

3.1.5 各シンボルの説明を呼び出す

3.1.6 配線

3.1.7 I/Oパッドの追加

3.1.8 タイトルやコメントの追加

3.1.9 エラーチェック(インプリメンテーション)

3.2 ピン・アサイン

3.2.1 UCFの作成

3.2.2 UCFの構文

3.3 論理合成とインプリメンテーション

3.3.1 インプリメンテーションの実行

3.3.2 ピンの確認

3.4 ダウンロード

3.4.1 iMPACTの起動

3.4.2 チェーンの初期化

3.4.3 ビットファイルの選択

3.4.4 ダウンロードの開始

3.4.5 実装結果

Chapter 4 ハードウェア記述言語による設計

4.1 HDL

4.2 回路設計

4.2.1 新規プロジェクトの作成

4.2.2 HDLモジュールの作成とプロジェクトへの追加

4.2.3 作成されたHDLコード

4.2.4 回路の記述

4.3 論理合成?FPGAへのダウンロードまで

4.3.1 インプリメンテーションによるエラーチェック

4.3.2 ピン・アサイン(既存のUCFの適用方法)

4.3.3 ダウンロード

Chapter 5 基本回路

5.1 論理素子

5.1.1 NOTゲート

5.1.2 ANDゲート

5.1.3 ORゲート

5.1.4 XORゲート

5.1.5 NANDゲート

5.1.6 NORゲート

5.1.7 XNORゲート

5.2 組み合わせ回路

5.2.1 全ての基本となるNANDゲート

5.2.2 HDLの3つの記述方法

5.2.3 マルチプレクサ

5.2.4 デコーダ(デマルチプレクサ)

5.2.5 加算回路

5.2.6 減算回路

5.3 順序回路

5.3.1 RSフリップ・フロップ

5.3.2 Dフリップ・フロップ

5.3.3 クロック

5.3.4 トグル・フリップ・フロップ

5.3.5 クロック・イネーブル

5.3.6 セット/リセット

5.3.7 クロック・イネーブル/セット/リセット付きトグル・フリップ・フロップ

5.3.8 完全同期式回路

5.3.9 カウンタ

Chapter 6 論理シミュレータ(ISim)

6.1 シミュレーションの目的

6.2 シミュレーションする回路について

6.3 入力信号の設定

6.3.1 特定の値に固定する場合

6.3.2 周期信号にする場合

6.4 シミュレーションの実行

6.4.1 指定時間分の実行

6.4.2 バス信号に対する操作

6.4.3 波形の拡大/縮小

6.4.4 カーソル/マーカ操作

Chapter 7 応用回路

7.1 LED点滅回路

7.1.1 N進カウンタ

7.1.2 外部同期機能の追加

7.2 スイッチ入力の回路

7.2.1 チャタリングとは?

7.2.2 外部アナログ・フィルタによるもの

7.2.3 RS-FFによるもの

7.2.4 D-FFによるもの

7.2.5 メタステーブル

7.2.6 複雑なチャタリング・ノイズへの対応

7.2.6 タイマを用いたマスクによるもの

7.3 非同期式回路から同期式回路への変換

7.3.1 微分回路

7.3.2 非同期式回路から同期式回路への変換例(スイッチを押した数を数える回路の例)

7.4 タイマ

7.4.1 タイマ回路

7.5 初回のパルス伝達を無効にする回路

Chapter 8 シーケンサ

8.1 ルーブ・ゴールドバーグ・マシン

8.2 トリガ

8.2.1 トリガ駆動型モジュール

8.2.2 トリガ駆動型モジュールの実例

8.3 最も簡単なシーケンサ

8.4 ステート・コントローラ

8.4.1 自己トリガによる繰り返し処理

8.4.2 繰り返しによる面積効率の向上

8.4.3 トリガ・パルス生成器によるステート表示と繰り返し回数制御

8.4.4 トリガ・パルス生成器

8.4.5 ステート・コントローラ

Chapter 9 IPコア

9.1 IPコアとは

9.2 機能の切り分け

9.3 IPコアの作り方

9.3.1 回路図IPコアの作成

9.3.2 回路図IPコアの呼び出し

9.3.3 回路シンボルの編集

9.3.4 回路図IPコアの使用

9.3.5 HDLのIPコアの作成と呼び出し

9.3.6 IPコア名や信号名のルール

9.3.7 ドキュメンテーション

9.4 ライブラリ化

9.4.1 HDLモジュールのライブラリ化に関する補足

Chapter 10 スタンドアローン動作

10.1 スタンドアローン動作の方法

10.2 コンフィギュレーション・モードの詳細

10.3 コンフィギュレーションROMファイルの作成と書き込み

10.3.1 Xilinx社製PROMの場合

10.3.2 他社製SPI-ROMの場合

10.3.3 ボードメーカ専用の書き込みプログラムによるもの

Chapter 11 フリーハードウェア

11.1 ハードとソフト

11.1.1 狭義のハードとソフト

11.1.2 広義のハードとソフト

11.2 ハードウェアの仮想化

11.2.1 現在のパソコンの構成

11.2.2 パソコンの仮想化

11.3 フリーハードウェアの実現

11.4 オープンソース・ハードウェアとの関係

Appendix A 補 章

A.1 ディジタルICの分類

A.1.1 汎用プロセッサとMCU

A.1.2 メモリ

A.1.3 標準ロジックIC

A.1.4 ASSP

A.1.5 ASIC (ASCP)

A.2 PLDの分類

A.2.1 EEPROM型

A.2.2 ヒューズ型/アンチヒューズ型

A.2.3 SRAM型

A.3 回路図の基礎

A.4 ディジタルとアナログ

A.4.1 量子化と標本化

A.5 存在しない論理素子

A.6 2進数

A.6.1 n進数

A.7 補数

A.8 オシロスコープ/ロジック・アナライザの読み方

A.9 CMOS

A.9.1 FET

A.9.2 NチャンネルMOSFET

A.9.3 PチャンネルMOSFET

A.9.4 CMOSインバータ回路

A.9.5 CMOS NAND回路

PR

秀和システム