本書通過FPGA應(yīng)用開發(fā)中的27個典型的實戰(zhàn)項目及各個實戰(zhàn)項目涉及的知識點來詳細介紹FPGA應(yīng)用開發(fā)技術(shù)。主要內(nèi)容包括FPGA應(yīng)用開發(fā)硬件平臺、ISE集成開發(fā)環(huán)境、Vivado集成開發(fā)環(huán)境、Verilog HDL硬件描述語言、組合邏輯電路設(shè)計、時序邏輯電路設(shè)計、FPGA與外設(shè)接口的應(yīng)用設(shè)計、一款CPU的設(shè)計。
本書以實戰(zhàn)項目為主線編排教學(xué)內(nèi)容; 配有電子教學(xué)課件、源代碼和習題集,方便開展實踐教學(xué),可作為高等院校應(yīng)用型本科、?齐娮宇悓I(yè)EDA技術(shù)和FPGA應(yīng)用開發(fā)等課程的教材。
本書基于Xilinx basys2開發(fā)板和basys3開發(fā)板、ISE集成開發(fā)環(huán)境和VIVADO集成開發(fā)環(huán)境。以27個來源于實踐的實戰(zhàn)項目為主線,知識點配套107個示例進行講解。為了更加直觀的了解實戰(zhàn)項目要求的效果,配套項目描述視頻,并且該視頻既可以在電腦上觀看,也可以用微信掃一掃功能直接觀看。
第1章硬件平臺及集成開發(fā)環(huán)境
實戰(zhàn)項目1鍵控LED燈亮滅
1.1FPGA工作原理及芯片
1.1.1FPGA工作原理
1.1.2Xilinx FPGA芯片
1.2硬件開發(fā)平臺
1.2.1開發(fā)板常用接口電路
1.2.2VGA接口電路
1.2.3時鐘電路
1.2.4FPGA配置電路
1.2.5開發(fā)板引腳定義
1.3集成開發(fā)環(huán)境
1.3.1基于ISE的開發(fā)流程
1.3.2基于Vivado的開發(fā)流程
1.4小結(jié)
1.5習題
第2章HDL語言基礎(chǔ)
實戰(zhàn)項目2設(shè)計1位全加器
2.1Verilog HDL基本程序結(jié)構(gòu)
實戰(zhàn)項目3設(shè)計3位移位寄存器
2.2Verilog HDL語言的數(shù)據(jù)類型和運算符
2.2.1標識符
2.2.2數(shù)據(jù)類型
2.2.3常量
2.2.4運算符和表達式
實戰(zhàn)項目4設(shè)計三人表決電路
2.3Verilog HDL語言的建模形式
2.3.1結(jié)構(gòu)描述形式
2.3.2數(shù)據(jù)流描述形式
2.3.3行為描述形式
2.4Verilog代碼書寫規(guī)范
2.5小結(jié)
2.6習題
第3章組合邏輯電路設(shè)計與應(yīng)用
實戰(zhàn)項目5設(shè)計基本門電路
3.1基本門電路
3.1.1基本門電路設(shè)計
3.1.2約束文件
3.1.3使用ISim進行功能仿真
實戰(zhàn)項目6設(shè)計比較器電路
3.2比較器電路
3.2.1比較器設(shè)計
3.2.2使用FPGA Editor查看細節(jié)
實戰(zhàn)項目7設(shè)計多路選擇器電路
3.3多路選擇器
3.3.1多路選擇器設(shè)計
3.3.2使用PlanAhead規(guī)劃引腳
實戰(zhàn)項目8設(shè)計編碼器和譯碼器電路
3.4編碼器和譯碼器
3.4.1編碼器設(shè)計
3.4.2譯碼器設(shè)計
實戰(zhàn)項目9設(shè)計ALU電路
3.5算術(shù)邏輯單元ALU
3.5.1ALU設(shè)計
3.5.2使用Design Summary工具
3.6小結(jié)
3.7習題
第4章時序邏輯電路設(shè)計與應(yīng)用
實戰(zhàn)項目10設(shè)計觸發(fā)器電路
4.1觸發(fā)器
4.1.1D觸發(fā)器設(shè)計
4.1.2FPGA內(nèi)部結(jié)構(gòu)
實戰(zhàn)項目11設(shè)計寄存器電路
4.2寄存器和移位寄存器
4.2.1寄存器設(shè)計
4.2.2移位寄存器設(shè)計
實戰(zhàn)項目12設(shè)計計數(shù)器電路
4.3計數(shù)器
4.3.1十六進制計數(shù)器設(shè)計
4.3.2十進制計數(shù)器設(shè)計
實戰(zhàn)項目13設(shè)計分頻器電路
4.4分頻器
4.4.1偶數(shù)分頻
4.4.2奇數(shù)分頻
4.4.32n分頻
實戰(zhàn)項目14設(shè)計秒表電路
4.5綜合項目: 秒計數(shù)器
4.5.1秒計數(shù)器設(shè)計
4.5.2ISE schematic viewer工具的使用
4.5.3層次建模模塊調(diào)用規(guī)范
4.6小結(jié)
4.7習題
第5章一般簡單接口電路設(shè)計與應(yīng)用
實戰(zhàn)項目15控制LED燈亮滅
5.1LED顯示電路設(shè)計與應(yīng)用
5.1.1LED閃爍
5.1.2LED流水燈
5.1.3狀態(tài)機編碼
實戰(zhàn)項目16控制數(shù)碼管顯示信息
5.2數(shù)碼管顯示電路設(shè)計與應(yīng)用
5.2.1單數(shù)碼管顯示原理
5.2.2多數(shù)碼管顯示原理
5.2.3數(shù)碼管顯示IP核
5.2.4數(shù)碼管顯示應(yīng)用實例1: 顯示靜態(tài)數(shù)據(jù)
5.2.5數(shù)碼管顯示應(yīng)用實例2: 滾動顯示信息
5.2.6把自己的模塊封裝成IP核
實戰(zhàn)項目17鍵控顯示信息
5.3按鍵電路設(shè)計與應(yīng)用
5.3.1按鍵狀態(tài)檢測
5.3.2按鍵消抖基本原理
5.3.3按鍵應(yīng)用1: 按鍵控制閃爍頻率
5.3.4按鍵應(yīng)用2: 按鍵次數(shù)顯示電路
實戰(zhàn)項目18控制VGA顯示彩條和信息
5.4VGA顯示電路設(shè)計與應(yīng)用
5.4.1VGA顯示原理
5.4.2VGA顯示IP核
5.4.3VGA應(yīng)用1: 顯示四色條紋
5.4.4VGA應(yīng)用2: 顯示信息
實戰(zhàn)項目19鍵控流水燈
5.5綜合項目: 鍵控流水燈
5.6小結(jié)
5.7習題
第6章綜合項目應(yīng)用
實戰(zhàn)項目20設(shè)計反應(yīng)測量儀
6.1反應(yīng)測量儀
實戰(zhàn)項目21設(shè)計序列檢測器
6.2序列檢測器
6.2.1脈沖產(chǎn)生電路設(shè)計與應(yīng)用
6.2.2Mealy狀態(tài)機和Moore狀態(tài)機
6.2.3“110”序列檢測器設(shè)計
實戰(zhàn)項目22設(shè)計密碼鎖
6.3密碼鎖
實戰(zhàn)項目23設(shè)計交通燈控制器
6.4交通燈控制器
實戰(zhàn)項目24設(shè)計數(shù)字鐘
6.5數(shù)字鐘設(shè)計
實戰(zhàn)項目25設(shè)計頻率計
6.6頻率計設(shè)計
實戰(zhàn)項目26設(shè)計信號發(fā)生器
6.7信號發(fā)生器設(shè)計
6.7.1正弦波信號發(fā)生器設(shè)計
6.7.2內(nèi)嵌邏輯分析儀ChipScope的使用
6.8小結(jié)
6.9習題
第7章簡易CPU設(shè)計
實戰(zhàn)項目27設(shè)計簡易處理器
7.1簡易處理器的系統(tǒng)架構(gòu)設(shè)計
7.1.1簡易處理器的組成結(jié)構(gòu)
7.1.2簡易處理器的功能
7.1.3指令系統(tǒng)的設(shè)計
7.2簡易處理器的設(shè)計實現(xiàn)
7.2.1頂層系統(tǒng)設(shè)計
7.2.2基本部件設(shè)計
7.3簡易處理器的驗證
7.3.1仿真驗證
7.3.2FPGA驗證
7.4小結(jié)
7.5習題
參考文獻