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