《XILINX大學(xué)合作計劃指定教材:Xilinx FPGA設(shè)計與實踐教程》系統(tǒng)講述了FPGA的軟硬件開發(fā)知識,并以Spartan-3開發(fā)套件為硬件平臺,配合經(jīng)典的實例應(yīng)用,使讀者能夠從硬件設(shè)計、軟件開發(fā)和系統(tǒng)設(shè)計等方面系統(tǒng)掌握FPGA的使用方法。
《XILINX大學(xué)合作計劃指定教材:Xilinx FPGA設(shè)計與實踐教程》共四篇16章。第一篇為FPGA設(shè)計基礎(chǔ)與ISE開發(fā)基本流程,共2章,內(nèi)容包括PLD技術(shù)基礎(chǔ),Xilinx FPGA的開發(fā)、仿真以及實現(xiàn)整個流程。第二篇為數(shù)字電路設(shè)計基礎(chǔ)與Verilog HDL描述,共5章,介紹了基于VerilogHDL的數(shù)字電路基礎(chǔ)、同步電路設(shè)計思想和高級技巧。第三篇為基于FPGA的接口開發(fā),共5章,結(jié)合Xilinx FPGA開發(fā)板,詳細(xì)講述了UART串口通信控制器、PS/2鍵盤,鼠標(biāo)接口控制器、VGA圖形圖像顯示控制器以及RAM接口控制器等案例的設(shè)計、開發(fā)以及驗證。第四篇為基于FPGA的軟核微控制器PicoBlaze,共4章,以Pico Blaze為例,介紹了PicoBlaze微處理器的軟硬件開發(fā)、中斷設(shè)計等。
本書可作為電子類、計算機類、自動化類等相關(guān)專業(yè)研究生和高年級本科生教材或參考書,也可作為數(shù)字電路設(shè)計人員以及FPGA愛好者的參考書。
第一篇 FPGA設(shè)計基礎(chǔ)與ISE開發(fā)基本流程
第一章 FPGA設(shè)計基礎(chǔ)
1.1 FPGA的基本概念
1.2 可編程邏輯技術(shù)發(fā)展簡介
1.2.1 可編程技術(shù)發(fā)展演變過程
1.2.2 FPGA技術(shù)
1.3 FPGA器件編程技術(shù)
1.3.1 熔絲互連編程技術(shù)
1.3.2 基于反熔絲的編程技術(shù)
1.3.3 基于SRAM的可編程技術(shù)
1.3.4 基于FLASH或E2PROM的可編程技術(shù)
1.4 通用FPGA的構(gòu)成結(jié)構(gòu)
1.4.1 現(xiàn)代FPGA的基本邏輯單元
1.4.2 XilinxSpartan-3FPGA的基本結(jié)構(gòu)
1.5 XilinxFPGA的開發(fā)流程
1.6 FPGA技術(shù)的未來發(fā)展
本章小結(jié)
思考與練習(xí)
第二章 ISE12.1 開發(fā)環(huán)境與S3開發(fā)板
2.1 ISE12.1 軟件綜述
2.1.1 ISE12.1 套件分類
2.1.2 ISE12.1 功能介紹
2.1.3 ISE12.1 用戶界面和菜單操作
2.2 S3開發(fā)板簡介
2.3 ISE開發(fā)流程
2.3.1 創(chuàng)建工程和設(shè)計輸入
2.3.2 創(chuàng)建TestBench并進行RTL仿真
2.3.3 添加約束
2.3.4 綜合與實現(xiàn)
2.3.5 生成配置文件并對FPGA進行配置
2.4 第三方開發(fā)工具
2.4.1 ModeISim介紹
2.4.2 在ModelSim中編譯Xilinx的器件庫
2.4.3 ModeISim功能仿真舉例
2.4.4 SynplifyPro介紹
2.4.5 關(guān)聯(lián)ISE和SynplifyPro
2.4.6 SynplifyPro使用流程
本章小結(jié)
思考與練習(xí)
第二篇 數(shù)字電路設(shè)計基礎(chǔ)與VerilogHDL描述
第三章 VerilogHDL語言基礎(chǔ)
3.1 基本知識介紹
3.2 模塊結(jié)構(gòu)和編程框架
3.2.1 模塊的結(jié)構(gòu)
3.2.2 編程框架
3.3 數(shù)據(jù)類型和基本元素
3.3.1 基本概念
3.3.2 基本數(shù)據(jù)類型值
3.3.3 數(shù)據(jù)類型
3.3.4 常量
3.4 結(jié)構(gòu)化描述
3.5 TestBench簡介
本章小結(jié)
思考與練習(xí)
第四章 組合邏輯設(shè)計
4.1 基本操作符
4.1.1 算術(shù)操作符
4.1.2 移位操作符
4.1.3 關(guān)系運算符與相等運算符
4.1.4 位操作、復(fù)制和邏輯操作運算符
4.1.5 連接與復(fù)制運算符
4.1.6 條件運算符
4.1.7 位寬調(diào)整操作
4.1.8 關(guān)于Z和X的綜合
4.2 組合邏輯描述
4.2.1 使用always模塊描述組合邏輯
4.2.2 使用賦值語句描述組合邏輯
4.2 3 舉例說明
4.3 條件控制語句
4.3.1 if-else語句
4.3.2 case語句
4.3.3 casez和casex語句
4.3.4 “fullcase”和“parallelcase語句”
4.4 條件控制語句的布線結(jié)構(gòu)
4.4.1 優(yōu)先級布線網(wǎng)絡(luò)
4.4.2 多路選擇布線網(wǎng)絡(luò)
4.5 always語句的編程指導(dǎo)
4.6 工程實踐
4.6.1 十六進制數(shù)到七段數(shù)碼管譯碼器
4.6.2 帶符號加法器設(shè)計
4.6.3 桶形移位器設(shè)計
本章小結(jié)
思考與練習(xí)
第五章 時序邏輯設(shè)計
5.1 時序電路基礎(chǔ)
5.1.1 時序電路基本存儲單元
5.1.2 同步時序電路
5.1.3 時序電路分類
5.2 時序電路基本單元的HDL描述
5.2.1 D觸發(fā)器
5.2.2 寄存器
5.2.3 寄存器文件
5.3 簡單例程
5.3.1 移位寄存器
5.3.2 二進制計數(shù)器和變量
5.4 時序電路的Test Bench
5.5 工程實踐
5.5.1 LED時序動態(tài)選擇電路
5.5.2 秒表設(shè)計
5.5.3 FIFO緩沖器設(shè)計
本章小結(jié)
思考與練習(xí)
第六章 時序狀態(tài)機設(shè)計
6.1 有限狀態(tài)機
6.1.1 Moore和Mealy狀態(tài)機
6.1.2 有限狀態(tài)機的描述方式
6.1.3 有限狀態(tài)機的HDL開發(fā)
6.2 狀態(tài)機設(shè)計實例
6.2.1 上升沿檢測電路
6.2.2 按鍵防抖動電路
6.2.3 電路硬件驗證
6.3 帶數(shù)據(jù)路徑的狀態(tài)機(FSMD)
6.3.1 簡單寄存器傳輸操作
6.3.2 FSMD狀態(tài)描述
6.3.3 FSMD的模塊框圖
6.4 FSMD的HDL代碼開發(fā)
6.4.1 基于FSMD描述的按鍵防抖動電路
6.4.2 顯性描述數(shù)據(jù)路徑
6.4.3 隱含描述數(shù)據(jù)路徑
6.5 設(shè)計舉例
……
第三篇 基于FPGA的接口開發(fā)
第四篇 基于FPGA的軟核微控制器PicoBlaze
參考文獻(xiàn)