Xilinx FPGA應用開發(fā)(第2版)(高等院校電類專業(yè)應用型規(guī)劃教材——微電子技術專業(yè))
定 價:39 元
- 作者:賀敬凱
- 出版時間:2017/10/17
- ISBN:9787302477594
- 出 版 社:清華大學出版社
- 中圖法分類:TP332.1
- 頁碼:235
- 紙張:膠紙版
- 版次:2
- 開本:16K
本書通過FPGA應用開發(fā)中的27個典型的實戰(zhàn)項目及各個實戰(zhàn)項目涉及的知識點來詳細介紹FPGA應用開發(fā)技術。主要內容包括FPGA應用開發(fā)硬件平臺、ISE集成開發(fā)環(huán)境、Vivado集成開發(fā)環(huán)境、Verilog HDL硬件描述語言、組合邏輯電路設計、時序邏輯電路設計、FPGA與外設接口的應用設計、一款CPU的設計。
本書以實戰(zhàn)項目為主線編排教學內容; 配有電子教學課件、源代碼和習題集,方便開展實踐教學,可作為高等院校應用型本科、?齐娮宇悓I(yè)EDA技術和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小結
1.5習題
第2章HDL語言基礎
實戰(zhàn)項目2設計1位全加器
2.1Verilog HDL基本程序結構
實戰(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結構描述形式
2.3.2數(shù)據(jù)流描述形式
2.3.3行為描述形式
2.4Verilog代碼書寫規(guī)范
2.5小結
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算術邏輯單元ALU
3.5.1ALU設計
3.5.2使用Design Summary工具
3.6小結
3.7習題
第4章時序邏輯電路設計與應用
實戰(zhàn)項目10設計觸發(fā)器電路
4.1觸發(fā)器
4.1.1D觸發(fā)器設計
4.1.2FPGA內部結構
實戰(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層次建模模塊調用規(guī)范
4.6小結
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小結
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內嵌邏輯分析儀ChipScope的使用
6.8小結
6.9習題
第7章簡易CPU設計
實戰(zhàn)項目27設計簡易處理器
7.1簡易處理器的系統(tǒng)架構設計
7.1.1簡易處理器的組成結構
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小結
7.5習題
參考文獻
第1章硬件平臺及集成開發(fā)環(huán)境
本章首先介紹FPGA工作原理和Xilinx FPGA芯片,然后介紹本書所用的硬件平臺,重點介紹硬件平臺的硬件接口: 按鍵、撥碼開關、LED燈、數(shù)碼管、VGA等,最后介紹ISE和Vivado集成開發(fā)環(huán)境,以及基于ISE和Vivado的數(shù)字設計流程。
學習本章,主要目標有2個: ①通過FPGA軟件開發(fā)流程,為后續(xù)應用項目的開發(fā)設計打下堅實的基礎; ②通過學習硬件平臺的原理圖,為后續(xù)項目的開發(fā)設計提供參考依據(jù)。
實戰(zhàn)項目1鍵控LED燈亮滅
【項目描述】通過一個撥碼開關控制一個LED燈的亮滅。
要求撥碼開關的兩種狀態(tài)與LED燈的兩種狀態(tài)一一對應。
實戰(zhàn)項目1.mp4
(2.33MB)
【知識點】本項目需要學習以下知識點。
(1) FPGA的工作原理。
(2) FPGA硬件開發(fā)平臺以及一些常用接口的電路原理圖。
(3) ISE集成開發(fā)環(huán)境以及基于ISE的數(shù)字設計流程,包括設計輸入編輯、分析與綜合、適配以及編程下載幾個步驟。
(4) Vivado集成開發(fā)環(huán)境以及基于Vivado的數(shù)字設計流程,包括設計輸入編輯、分析與綜合、實現(xiàn)以及編程下載幾個步驟。
1.1FPGA工作原理及芯片
1.1.1FPGA工作原理
FPGA(FieldProgrammable Gate Array)即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)量有限的缺點。
以硬件描述語言(Verilog或VHDL)完成的電路設計,可以經(jīng)過簡單地綜合與布局,快速地燒錄到FPGA上進行測試,是現(xiàn)代IC設計驗證的技術主流。這些可編輯元件可以用來實現(xiàn)一些基本的邏輯門電路(如AND、OR、NOT)或者更復雜的組合功能(如解碼器或數(shù)學方程式)。在大多數(shù)FPGA里面,這些可編輯的元件里還包含記憶元件(如觸發(fā)器、存儲塊)。
系統(tǒng)設計師可以根據(jù)需要,通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一塊電路試驗板被放在一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者的意愿而改變,所以FPGA可以完成所需要的邏輯功能。