薛冰編著的《零點起步--Altera CPLD\FPGA輕松入門與開發實例(附光盤)》面向FPGA初中級讀者,全書共分11章,較系統地介紹了可編程邏輯器件的結構原理以及VHDL(超高速集成電路硬件描述語言)基礎知識、語法結構和常用基本數字電路的例程,使讀者能夠輕松入門并鞏固數字電路基礎知識;詳細分析了目前主流的可編程邏輯器件和開發工具,并介紹了邏輯電路設計過程中的一些基本問題和處理方法,以及如何在Ahera公司的CPLD/FPGA芯片上運行VHDL程序,其中包含一些常用數字信號處理算法和接口控制器的設計實例;介紹基于SOPC的嵌入式設計的具體工作流程和設計方法,并結合實際工程設計,說明如何采用可編程邏輯器件實現典型的嵌入式系統。 本書內容翔實,講解透徹,案例實用,能夠使讀者快速、地掌握 CPLD/FPGA的基本開發方法。 《零點起步--Altera CPLD\FPGA輕松入門與開發實例(附光盤)》既可作為各類培訓學校的教材,也可作為工程技術人員及大中專院校相關專業師生的參考書 。
薛冰編著的《零點起步--Altera CPLD\FPGA輕松入門與開發實例(附光盤)》系統地介紹了可編程邏輯器件的結構原理以及VHDL(超高速集成電路硬件描述語言)基礎知識、語法結構和常用基本數字電路的例程,使讀者能夠輕松入門并鞏固數字電路基礎知識,本書既可作為各類培訓學校的教材,也可作為工程技術人員及大中專院校相關專業師生的參考書。
前言
第1章 可編程邏輯器件概述
1.1 EDA技術及其應用
1.2 可編程邏輯器件的分類及原理
1.2.1 EPLD和CPLD
1.2.2 FPGA
1.2.3 FPGA與CPLD的比較
1.3 PLD的設計開發
1.3.1 PLD設計方法
1.3.2 PLD設計流程
1.4 Altera可編程邏輯器件
1.4.1 Stratix系列
1.4.2 Arria系列
1.4.3 Cyclone系列
1.4.4 MAX系列
1.5 思考與練習
第2章 VHDL基礎
2.1 VHDL概述
2.1.1 硬件描述語言概述
2.1.2 VHDL的特點及設計流程
2.2 VHDL程序基本結構
2.2.1 實體
2.2.2 結構體
2.2.3 配置
2.2.4 程序包
2.3 VHDL中的數據
2.3.1 標識符
2.3.2 數據對象
2.3.3 數據類型
2.4 VHDL中的表達式
2.5 VHDL描述語句
2.5.1 順序描述語句
2.5.2 并行描述語句
2.6 思考與練習
第3章 VHDL程序設計
3.1 基本數字電路的VHDL描述
3.1.1 基本邏輯門電路
3.1.2 編碼器和譯碼器電路
3.1.3 數據選擇器
3.1.4 加法器
3.1.5 乘法器
3.1.6 觸發器電路
3.1.7 寄存器電路
3.1.8 計數器電路
3.1.9 存儲器
3.2 有限狀態機
3.2.1 有限狀態機的基本描述
3.2.2 有限狀態機狀態編碼方式
3.2.3 有限狀態機的輸出和復位
3.3 應用實例——表決器、雙口RAM的讀取
3.4 思考與練習
第4章 Altera開發工具的使用
4.1 Quartus Ⅱ集成開發環境
4.1.1 概述
4.1.2 Quartus Ⅱ的安裝
4.1.3 Quartus Ⅱ 10.0圖形用戶界面
4.1.4 設計輸入
4.1.5 對設計工程進行設置和約束
4.1.6 設計綜合
4.1.7 布局布線
4.1.8 仿真
4.1.9 時序分析
4.1.1 0編程與配置
4.2 在Altera CPLD/FPGA中運行及時個程序
4.2.1 實驗目的、環境及實驗原理
4.2.2 實驗步驟
4.3 應用實例——MAX Ⅱ內嵌UFM模塊的使用
4.3.1 實驗目的、環境及實驗原理
4.3.2 實驗步驟
4.4 思考與練習
第5章 可編程邏輯設計的基本問題
5.1 可編程邏輯設計基本原則
5.1.1 面向硬件原則
5.1.2 系統性原則
5.1.3 面積與速度之間的互換關系
5.1.4 同步設計原則
5.2 常用設計思想與技巧
5.2.1 串并轉換
5.2.2 應用實例——RS232數據串并轉換
5.2.3 乒乓操作
5.2.4 流水線操作
5.3 常見問題及處理方法
5.3.1 競爭冒險產生的原因和處理方法
5.3.2 時鐘設計常見問題和處理方法
5.3.3 建立和保持時間的處理方法
5.4 應用實例——利用FIFO緩存器做高速緩存
5.5 思考與練習
第6章 典型數字信號處理算法FPGA設計
6.1 坐標旋轉數字計算機
6.1.1 CORDIC算法原理
6.1.2 CORDIC算法結構
6.1.3 CORDIC算法設計
6.1.4 程序分析及設計
6.2 有限脈沖響應數字濾波器
6.2.1 FIR數字濾波器原理
6.2.2 FIR數字濾波器程序設計
6.2.3 程序分析及設計
6.3 無限脈沖響應數字濾波器
6.3.1 IIR數字濾波器原理
6.3.2 IIR數字濾波器程序設計
6.3.3 程序分析及設計
6.4 快速傅里葉變換
6.4.1 FFT算法原理
6.4.2 FFT程序設計
6.4.3 程序分析及設計
6.5 思考與練習
第7章 通用接口的FPGA設計
7.1 通用異步收發器
7.1.1 UART功能簡介
7.1.2 UART實現結構
7.1.3 UART程序設計
7.2 CAN總線控制器
7.2.1 CAN總線協議概述
7.2.2 CAN通信控制器實現框架
7.2.3 CAN通信控制器程序設計
7.3 以太網控制器
7.3.1 以太網基本原理
7.3.2 以太網控制器實現框架
7.3.3 以太網控制器程序設計
7.4 應用實例——雙UART設計
7.5 思考與練習
第8章 基于SOPC的嵌入式系統設計
8.1 Altera SOPC技術及其設計開發流程
8.1.1 SOPC技術簡介
8.1.2 SOPC Builder使用
8.1.3 SOPC設計開發流程
8.2 Nios Ⅱ處理器
8.3 Avalon總線
8.3.1 Avalon總線的特點
8.3.2 Avalon總線信號
8.4 Nios Ⅱ外圍標準設備
8.4.1 SDRAM控制器
8.4.2 CFI控制器
8.4.3 EPCS控制器
8.4.4 并行輸入/輸出控制器
8.4.5 定時器控制器
8.4.6 UART核
8.4.7 JTAG UART核
8.4.8 SPI核
8.4.9 DMA控制器
8.4.1 0PLL核
8.5 自定制用戶外設
8.6 基于Nios Ⅱ系統開發實例
8.7 思考與練習
第9章 SOPC硬件開發
9.1 基于 Nios Ⅱ的SOPC硬件系統開發流程
9.2 SOPC Builder硬件開發環境介紹
9.2.1 SOPC Builder的功能
9.2.2 SOPC Builder的組成
9.3 應用實例
9.3.1 創建一個Quartus Ⅱ工程
9.3.2 使用SOPC Builder創建Nios Ⅱ系統模塊
9.3.3 添加CPU及外設IP模塊
9.3.4 集成Nios Ⅱ系統到Quartus Ⅱ工程
9.3.5 設置編譯選項并進行工程編譯
9.3.6 將設計下載到目標FPGA中
9.4 思考與練習
第10章 SOPC軟件開發
10.1 SOPC軟件開發環境概述
10.1.1 Nios Ⅱ指令系統介紹
10.1.2 Nios Ⅱ處理器運行模式
10.2 Nios Ⅱ IDE
10.3 硬件抽象層系統庫
10.3.1 HAL系統庫的功能
10.3.2 使用HAL開發應用程序
10.4 應用實例
10.4.1 使用Nios Ⅱ IDE建立用戶程序
10.4.2 創建一個新的C/C++應用工程
10.4.3 設置工程系統庫屬性和編譯選項
10.4.4 編譯連接工程
10.4.5 對程序進行運行調試
10.4.6 使用Flash Programmer下載
10.5 思考與練習
第11章 基于Nios Ⅱ的μC/OS-Ⅱ應用
11.1 μC/OS-Ⅱ操作系統簡介
11.2 基于Nios Ⅱ的μC/OS-Ⅱ實驗
11.2.1 系統結構圖
11.2.2 SOPC系統的創建
11.2.3 基于Nios Ⅱ 軟核處理器的軟件
11.2.4 測試硬件設計
11.2.5 編寫μC/OS-Ⅱ的多任務控制程序
11.3 總結
11.4 思考與練習
參考文獻