Last Update 2023/08/17

すぐ始められる!USB対応・書き込み器不要・大容量FPGA搭載!
超入門!FPGAスタータ・キットDE0で始めるVerilog HDL
ご注意:当書籍にはFPGA基板は付属しておりません.  FPGA基板DE0は,ソリトンウェーブで販売しています.

芹井 滋喜 著
B5判 272ページ
定価5,280円(税込)
JAN9784789831376
2011年8月1日発行
好評発売中!
超入門!FPGAスタータ・キットDE0で始めるVerilog HDL
 ハードウェア記述言語HDLの学習はとにかく使ってみることが大切です.
 本書では,DE0という低価格で高性能なFPGAボードを使ってHDLを基礎から実践的に学習します.本書では実践を重視しているので,実際にHDLのプログラムを作って動かしながら学習を進めていくために,DE0入門編,ディジタル回路基礎知識編,Verilog HDL入門編,Verilog HDL応用編,エンベデッド・プロセッサNIOS II編,シミュレーション編で構成しました.
 HDLの初心者,HDL解説書を読んだが思うように理解が進まなかった方,というような方にお勧めの本です.

ご注意:当書籍にはFPGA基板は付属しておりません.
 FPGA基板DE0は,ソリトンウェーブで販売しています.

 また,USB対応FPGAキットDE0と書籍の内容をPDFにしたCD-Rをセットにした商品「超入門!FPGAスタータ・キットDE0[300ページの解説CD-R付き]」18,600円(送料込) も【直接販売商品】として当社WebShopで販売しておりますのでご利用ください(直接販売商品は,書店ではお求めいただけません).

目次


第1章 FPGA/HDL学習ボードDE0入門
 FPGAボードDE0の仕様
 主な仕様
 周辺デバイス
 付属品
 各部の名称とブロック図
 Cyclone III EP3C16F484
 ビルトインUSBブラスタ回路
 SDRAM
 フラッシュ・メモリ
 SDカード・ソケット
 プッシュ・ボタン・スイッチ
 スライド・スイッチ
 ユーザLED
 7セグメントLED
 16×2行LCDインターフェース
 システム・クロック
 VGA出力
 RS-232-Cポート
 40ピン拡張コネクタ
 動作確認

第2章 開発環境のインストール
 Quartus II Web Editionのインストール
 NIOS II EDSのインストール
 ドライバのインストール
 PROGモードとRUNモード
 RUNモード
 PROGモード
 Control Panelで周辺デバイスをテスト

第3章 ディジタル回路で使われる2進数
 アナログ=連続的,ディジタル=離散的
 ディジタルの利点
 アナログの利点
 物を数えるにはディジタルが便利
 2進数
 ディジタル≠0と1
 2進数の利点
 進数の変換
 プログラムでよく使用される16進数
 2進数とビットとバイトの関係
 8ビットの2進表記と16進表記

第4章 ロジック回路とブール代数
 簡単なロジック回路
 三つの基本ロジック回路
 AND(論理積)
 OR(論理和)
 NOT(反転,または否定)
 その他の主なロジック回路
 論理記号を使った回路図の例
 ブール代数
 ド・モルガンの法則
 階段の電灯回路のブール代数表記
 フリップフロップ
 RSフリップフロップ
 Tフリップフロップ
 Dフリップフロップ
 DフリップフロップでTフリップフロップを作る
 カウンタ
 ブロック図

第5章 簡単なVerilog HDL入門
 Verilog HDLのプログラム構造
 ポート宣言
 コメント
 回路の記述方法
 assign文
 条件式
 条件式の書き方
 定数の表現
 組み合わせ回路と順序回路

第6章 簡単なPLD入門
 CPLD
 FPGA

第7章 スイッチとLED(Lesson1)
 新規プロジェクトの作成
 Verilog HDLソースの追加とコーディング
 ピンの設定
 コンパイル
 プログラムのダウンロード
 動作の確認
 プログラムの説明
 module 〜 endmodule
 input,output,inout
 assign

第8章 論理演算(Lesson2)
 動作確認
 AND回路
 OR回路
 NOT回路
 XOR回路
 プログラムの説明
 バス
 wire
 バスの結合

第9章 セレクタ(Lesson3)
 ピンの設定
 プログラムの説明
 条件演算子

第10章 フリップフロップ(FlipFlop)
 未使用端子の設定方法
 プログラムの説明
 reg
 always @( … )

第11章 10進カウンタ(Counter)
 プログラムの説明
 if 〜 else,begin 〜 end

第12章 チャタリングの除去(Chattering)
 チャタリングとは
 プログラムの説明と動作確認

第13章 7セグ・デコーダ(SevenSegmentDec)
 プログラムの説明
 function 〜 endfunciotn
 case 〜 endcase

第14章 BCDカウンタ(BcdCounter)
 プログラムの説明

第15章 正確なタイマ(Timer)
 非同期回路と同期回路
 プログラムの説明

第16章 汎用カウンタ(UniversalCounter)
 プログラムの説明
 parameter

第17章 ピン・アサインの使い方(PinAssign)
 ピン・アサインのImport/Export
 入門編の終わりに

第18章 ストップウォッチ(StopWatch)
 プログラムの説明
 StopWatch.v
 uchatter.v
 Timer.v
 ucounter.v
 HexSegDec.v

第19章 キッチン・タイマ(KitchenTimer)
 プログラムの説明
 KitchenTimer.v
 ucounter.v

第20章 ディジタル時計(DigitalWatch)
 プログラムの説明
 BcdCounter.v
 DigitalWatch.v

第21章 ROM,RAMの実装
 ROMを作る
 RAMを作る

第22章 PWM出力の実装(PWM)
 PWM出力の用途
 プログラムの説明
 PWM.v

第23章 BCDデコーダ(BcdTest)
 バイナリ・データとBCDデータの使い分け
 BCD加算器とBCD変換器
 プログラムの説明
 BcdTest.v
 DataConv.v

第24章 LEDマトリクス文字表示(LedDisplay)
 LEDマトリクスとは
 プログラムの説明
 LedDisplay.v
 動作確認

第25章 RS-232-Cの送信(SerialTx)
 DE0のRS-232-Cインターフェース
 RS-232-Cのフォーマット
 ブロック図
 プログラムの説明
 SerialTx.v
 動作確認

第26章 RS-232-Cの受信(serialRx)
 受信用クロック
 ブロック図
 プログラムの説明
 SerialRx.v
 動作確認

第27章 VGAカラー・バー表示(ColorBar)
 VGAの信号線とタイミング
 ブロック図
 プログラムの説明
 ColorBar.v
 カラー・バーの生成
 動作確認と応用

第28章 VGAキャラクタ表示(VGA_disp)
 ブロック図
 プログラムの説明
 VGA_disp.v
 動作確認

第29章 NIOS IIによる開発の概要

第30章 NIOS IIハードウェアの作成
 プロジェクトの作成
 SOPCビルダの起動
 RAMモジュールの追加
 NIOS II Processor
 JTAGインターフェースの追加
 LED用ポートの追加
 ベース・アドレスの変更とNIOS IIの生成
 count_binary_coreモジュールの追加
 ピン・アサインの設定とダウンロード

第31章 NIOS IIソフトウェアの作成
 ライブラリ・オプションの変更
 プログラムのコンパイルと実行
 NIOS II EDSを使用する場合の補足事項
 ワークスペースについて
 Perspectiveの選択
 プロジェクトの作成
 ライブラリのプロジェクト

第32章 信号遅延の問題とは?
 遅延が生じる理由
 信号遅延が問題になるディジタル回路の例
 FPGAにおける信号遅延の問題

第33章 Quartus IIによる遅延の検証
 Classic Timing Analyzerによるタイミング検証
 信号遅延の解消方法
 エラー内容の吟味
 回路規模の縮小
 不要な回路の削除
 共通機能の共有
 非同期回路を同期化
 クロック回路の見直し
 代替回路の検討

第34章 ModelSimシミュレーション入門
 シミュレーションの役割
 ModelSim(ASE)のインストール
 テスト・ベンチとは?
 6進カウンタのテスト・ベンチ

第35章 ModelSimシミュレーションの実例
 プロジェクトの作成
 プロジェクトのコンパイル
 シミュレーションの実行
 波形表示

第36章 BCDデコーダのシミュレーション
 テスト・ベンチの作成
 プロジェクトの作成とシミュレーション