出版社:西安電子科大 ISBN:9787560626291 商品編碼:1029549955 開本:16 出版時間:2012-01-01 代碼:52 作者:趙吉成,王智勇
" 基本信息 - 商品名稱:Xilinx FPGA設計與實踐教程(XILINX大學合作計劃指定教材)
- 作者:趙吉成//王智勇
- 代碼:52
- 出版社:西安電子科大
- ISBN號:9787560626291
其他參考信息 - 出版時間:2012-01-01
- 印刷時間:2012-01-01
- 版次:1
- 印次:1
- 開本:16開
- 包裝:平裝
- 頁數:410
- 字數:624千字
編輯推薦語 趙吉成、王智勇編著的《Xilinx FPGA設計與實踐教程》專注於數字電路的硬件設計方法和技巧,而並非一部VerilogHDL語法手冊或者FPGA開發工具手冊。在內容上包含了大量的數字電路設計模塊框架,既可方便用戶掌握典型應用電路的設計思想和方法,又可使之順利地套用在自己的設計當中。我們關注於讓讀者掌握一種編程框架,然後靈活地應用於多個程序中,而不是掌握多種方法來描述同一個電路。 內容提要 趙吉成、王智勇編著的《Xilinx FPGA設計與實踐教程》繫統講述了 FPGA的軟硬件開發知識,並以Spartan-3開發套件為硬件平臺,配合經典的 實例應用,使讀者能夠從硬件設計、軟件開發和繫統設計等方面繫統掌握 FPGA的使用方法。 本書共四篇16章。**篇為FPGA設計基礎與ISE開發基本流程,共2章, 內容包括PLD技術基礎,Xilinx FPGA的開發、仿真以及實現整個流程。第二 篇為數字電路設計基礎與VerilogHDL描述,共5章,介紹了基於VerilogHDL 的數字電路基礎、同步電路設計思想和**技巧。第三篇為基於FPGA的接口 開發,共5章,結合Xilinx FPGA開發板,詳細講述了UART串口通信控制器、 PS/2鍵盤/鼠標接口控制器、VGA圖形圖像顯示控制器以及RAM接口控制器等 案例的設計、開發以及驗證。第四篇為基於FPGA的軟核微控制器PicoBlaze ,共4章,以PicoBlaze為例,介紹了PicoBlaze微處理器的軟硬件開發、中 斷設計等。 《Xilinx FPGA設計與實踐教程》可作為電子類、計算機類、自動化類 等相關專業研究生和高年級本科生教材或參考書,也可作為數字電路設計人 員以及FPGA愛好者的參考書。 目錄 **篇 FPGA設計基礎與ISE開發基本流程 **章 FPGA設計基礎 1.1 FPGA的基本概念 1.2 可編程邏輯技術發展簡介 1.2.1 可編程技術發展演變過程 1.2.2 FPGA技術 1.3 FPGA器件編程技術 1.3.1 熔絲互連編程技術 1.3.2 基於反熔絲的編程技術 1.3.3 基於SRAM的可編程技術 1.3.4 基於FLASH或E2PROM的可編程技術 1.4 通用FPGA的構成結構 1.4.1 現代FPGA的基本 1.4.2 Xilinx Spartan-3 FPGA的基本結構 1.5 Xilinx FPGA的開發流程 1.6 FPGA技術的未來發展 本章小結 思考與練習 第二章 ISE12.1開發環境與S3開發板 2.1 ISE12.1軟件綜述 2.1.1 ISE12.1套件分類 2.1.2 ISE12.1功能介紹 2.1.3 ISE12.1用戶界面和菜單操作 2.2 S3開發板簡介 2.3 ISE開發流程 2.3.1 創建工程和設計輸入 2.3.2 創建TestBench並進行RTL仿真 2.3.3 添加約束 2.3.4 綜合與實現 2.3.5 生成配置文件並對FPGA進行配置 2.4 第三方開發工具 2.4.1 ModelSim介紹 2.4.2 在ModelSim中編譯Xilinx的器件庫 2.4.3 ModelSim 功能仿真舉例 2.4.4 Synplify Pro介紹 2.4.5 關聯ISE和Synplify Pro 2.4.6 Synplify Pro使用流程 本章小結 思考與練習 第二篇 數字電路設計基礎與VerilogHDL描述 第三章 VerilogHDL語言基礎 3.1 基本知識介紹 3.2 模塊結構和編程框架 3.2.1 模塊的結構 3.2.2 編程框架 3.3 數據類型素 3.3.1 基本概念 3.3.2 基本數據類型值 3.3.3 數據類型 3.3.4 常量 3.4 結構化描述 3.5 TestBench簡介 本章小結 思考與練習 第四章 組合邏輯設計 4.1 基本操作符 4.1.1 算術操作符 4.1.2 移位操作符 4.1.3 關繫運算符與相等運算符 4.1.4 位操作、復制和邏輯操作運算符 4.1.5 連接與復制運算符 4.1.6 條件運算符 4.1.7 位寬調整操作 4.1.8 關於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 “full case”和“parallel case”語句 4.4. 條件控制語句的布線結構 4.4.1 優先級布線網絡 4.4.2 多路選擇布線網絡 4.5 always語句的編程指導 4.6 工程實踐 4.6.1 十六進制數到七段數碼管譯碼器 4.6.2 帶符號加法器設計 4.6.3 桶形移位器設計 本章小結 思考與練習 第五章 時序邏輯設計 5.1 時序電路基礎 5.1.1 時序電路基本 5.1.2 同步時序電路 5.1.3 時序電路分類 5.2 時序電路的HDL描述 5.2.1 D觸發器 5.2.2 寄存器 5.2.3 寄存器文件 5.3 簡單例程 5.3.1 移位寄存器 5.3.2 二進制計數器和變量 5.4 時序電路的TestBench 5.5 工程實踐 5.5.1 LED時序動態選擇電路 5.5.2 秒表設計 5.5.3 FIFO緩衝器設計 本章小結 思考與練習 第六章 時序狀態機設計 6.1 有限狀態機 6.1.1 Moore和Mealy狀態機 6.1.2 有限狀態機的描述方式 6.1.3 有限狀態機的HDL開發 6.2 狀態機設計實例 6.2.1 上升沿檢測電路 6.2.2 按鍵防抖動電路 6.2.3 電路硬件驗證 6.3 帶數據路徑的狀態機(FSMD) 6.3.1 簡單寄存器傳輸操作 6.3.2 FSMD狀態描述 6.3.3 FSMD的模塊框圖 6.4 FSMD的HDL代碼開發 6.4.1 基於FSMD描述的按鍵防抖動電路 6.4.2 顯性描述數據路徑 6.4.3 隱含描述數據路徑 6.5 設計舉例 6.5.1 斐波納契序列(Fibonacci Number)實現電路 6.5.2 頻率檢測器設計 6.5.3 除法電路設計 本章小結 思考與練習 第七章 數字電路設計原則與VerilogHDL難點解析 7.1 時序電路基礎 7.1.1 同步電路的時序分析 7.1.2 異步電路和同步電路的區別 7.1.3 同步時序設計規則 7.2 異步電路中的同步處理方法 7.2.1 時鐘的同步處理 7.2.2 接口電路處理 7.2.3 全局信號處理 7.3 阻塞賦值與非阻塞賦值 7.3.1 概述 7.3.2 組合邏輯電路中的賦值描述 7.3.3 時序電路賦值描述 7.3.4 時序電路中的混合賦值 7.4 **HDL代碼風格 7.4.1 代碼風格的含義 7.4.2 通用代碼風格 7.4.3 Xilinx芯片專用代碼風格 7.4.4 推薦時序電路描述代碼風格 7.5 TestBench編寫 7.5.1 基於HDL的TestBench編寫 7.5.2 always和initial模塊 7.5.3 順序執行語句 7.5.4 時序控制語句 7.5.5 繫統函數和任務 7.5.6 用戶自定義函數和任務 7.5.7 TestBench舉例 本章小結 思考與練習 第三篇 基於FPGA的接口開發 第八章 UART串口通信控制器 8.1 UART傳輸繫統 8.2 UART接收模塊設計 8.2.1 設計方案 8.2.2 波特率產生器 8.2.3 UART接收器 8.2.4 接口電路 8.3 UART發送模塊設計 8.4 UART繫統的總結 8.4.1 完整UART繫統 8.4.2 UART驗證電路 8.4.3 Windows的超級終端 8.4.4 定制UART 本章小結 思考與練習 第九章 PS/2鍵盤接口控制器 9.1 PS/2基礎 9.1.1 PS/2端口的物理接口 9.1.2 PS/2接口主從設備通信協議 9.1.3 PS/2接收模塊設計 9.2 PS/2鍵盤掃描設計 9.2.1 關於鍵盤掃描編碼 9.2.2 按鍵掃描電路設計 9.3 PS/2鍵盤接口電路 9.3.1 接口電路設計 9.3.2 接口電路驗證 本章小結 思考與練習 第十章 PS/2鼠標接口控制器 10.1 PS/2鼠標接口電路 10.1.1 關於鼠標 10.1.2 鼠標PS/2通信協議 10.1.3 初始化過程 10.2 PS/2傳輸子繫統設計 10.2.1 主繫統對PS/2設備的通信協議 10.2.2 設計與編碼 10.3 PS/2鼠標數據傳輸繫統 10.3.1 雙向傳輸PS/2接口電路設計 10.3.2 雙向傳輸PS/2驗證電路 10.4 PS/2鼠標數據接口電路 10.4.1 傳輸PS/2接口電路設計 10.4.2 傳輸PS/2接口電路測試 本章小結 思考與練習 第十一章 RAM接口控制器 11.1 關於IS61LV25616AL SRAM 11.1.1 芯片介紹以及I/O接口 11.1.2 時序參數 11.2 基本存儲控制器 11.2.1 設計框圖 11.2.2 時序要求 11.2.3 存儲器文件與SRAM的對比 11.2.4 設計安全性 11.2.5 ASMD狀態機圖 11.2.6 時序分析 11.2.7 HDL代碼設計 11.2.8 基本測試電路 11.2.9 完整的SRAM測試電路 11.3 *加完善的設計 11.3.1 異步SRAM的時序信息 11.3.2 選擇設計Ⅰ 11.3.3 選擇設計Ⅱ 11.4 Xilinx Spartan-3內部存儲器 11.4.1 概述 11.4.2 利用CoreGenerator定制嵌入式RAM模塊 11.5 Xilinx嵌入式存儲器例化舉例 11.5.1 單端口RAM 11.5.2 雙端口RAM 11.5.3 ROM 本章小結 思考與練習 第十二章 VGA圖形圖像顯示控制器 12.1 CRT顯示器原理 12.1.1 CRT顯示的基本原理 12.1.2 視頻顯示基本術語 12.1.3 S3開發板上的VGA端口 12.1.4 VGA視頻控制器 12.2 VGA同步電路 12.2.1 水平同步 12.2.2 垂直同步 12.2.3 HDL實現 12.2.4 測試電路 12.3 像素產生電路 12.3.1 矩形圖形顯示 12.3.2 非矩形目標顯示 12.3.3 動態目標顯示 12.4 位圖顯示方案 12.4.1 采用雙端口RAM實現 12.4.2 采用單端口RAM實現 本章小結 思考與練習 第四篇 基於FPGA的軟核微控制器PicoBlaze 第十三章 基於Xilinx FPGA的微處理器 13.1 PicoBlaze架構介紹 13.1.1 微處理器的應用 13.1.2 PicoBlaze處理器的特點 13.1.3 頂層HDL模型 13.1.4 設計流程 13.2 指令設置 13.2.1 編程模型 13.2.2 指令格式 13.2.3 邏輯指令 13.2.4 算術指令 13.2.5 比較和測試指令 13.2.6 移位和循環指令 13.2.7 數據傳輸指令 13.2.8 程序流程控制指令 13.2.9 中斷相關指令 13.2.10 KCPSM3彙編宏命令 13.3 PicoBlaze文件結構 本章小結 思考與練習 第十四章 PicoBlaze彙編語言開發 14.1 PicoBlaze彙編基礎 14.1.1 KCPSM3語法規定 14.1.2 位操作 14.1.3 多字節操作 14.1.4 常用控制語句結構的彙編語言描述 14.2 子程序開發 14.3 PicoBlaze彙編程序開發 14.3.1 開發流程 14.3.2 程序舉例 14.3.3 說明文檔與注釋 14.4 PicoBlaze軟件開發流程 14.4.1 使用KCPSM3編譯 14.4.2 使用PBlazeIDE仿真 14.4.3 使用JTAG接口下載代碼 14.4.4 代碼綜合 本章小結 思考與練習 第十五章 PicoBlaze接口開發 15.1 輸出端口 15.1.1 輸出指令和時序 15.1.2 輸出接口 15.2 輸入端口 15.2.1 輸入指令和時序 15.2.2 輸入接口 15.3 求平方和電路接口開發 15.3.1 輸出接口 15.3.2 輸入接口 15.3.3 彙編程序設計 15.3.4 HDL程序開發 本章小結 思考與練習 第十六章 PicoBlaze中斷 16.1 PicoBlaze中斷處理機制 16.1.1 軟件中斷處理過程 16.1.2 中斷時序描述 16.2 外部中斷接口 16.2.1 單個中斷請求 16.2.2 多個中斷請求 16.3 軟件開發 16.3.1 中斷處理主程序 16.3.2 中斷服務程序 16.4 設計舉例 16.4.1 中斷接口 16.4.2 中斷服務子程序開發 16.4.3 彙編程序開發 16.4.4 HDL代碼開發 本章小結 思考與練習 參考文獻
" |