すぐ始められる!USB対応・書き込み器不要・大容量FPGA搭載!
超入門!FPGAスタータ・キットDE0で始めるVerilog HDL
※
ご注意:当書籍にはFPGA基板は付属しておりません.
FPGA基板DE0は,
ソリトンウェーブで販売しています.
芹井 滋喜 著
B5判 272ページ
定価5,280円(税込)
JAN9784789831376
2011年8月1日発行
好評発売中!
ハードウェア記述言語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デコーダのシミュレーション
テスト・ベンチの作成
プロジェクトの作成とシミュレーション