內容簡介
《基於FPGA的硬體系統設計實驗與實踐教程》介紹基於FPGA的數字系統設計方法,在基本的功能部件設計基礎上,設計微處理器及單晶片系統。《基於FPGA的硬體系統設計實驗與實踐教程》不僅介紹通用的數字電路和數字系統的設計方法,並對計算機硬體系統的組織進行深入分析。通過運算電路設計、狀態機設計、risc模型機設計等實驗用例的訓練,學生可以建立計算機的整機概念,了解數據在計算機中的表示、傳送、處理以及控制信息是如何完成對計算機系統的控制。
《基於FPGA的硬體系統設計實驗與實踐教程》取材新穎,採用實例教學的組織形式,內容由淺人深,循序漸進。書中給出了大量設計實例及擴展方案,不僅可以作為教學內容進行學習,部分內容還具有了程實踐價值。《基於FPGA的硬體系統設計實驗與實踐教程》可作為高等院校計算機類、電子類和自動化類等有關專業的教材和參考書,也可供有關專業工程技術人員參考。
圖書目錄
第1章 可程式邏輯器件簡介
1.1 可程式邏輯器件概述
1.1.1 可程式邏輯器件的發展歷程
1.1.2 可程式邏輯器件的分類方法
1.2 可程式邏輯器件的設計流程
1.3 fpga發展概況
1.3.1 fpga的主要優勢與發展前景
1.3.2 主流fpga產品及供應商簡介
習題1
第2章 verilog hdl基礎
2.1 前言
2.2 程式示例
2.3 模組
2.3.1 模組的結構
2.3.2 模組的實例化
2.4 變數和信號的類型
2.5 verilog hdl表達式
2.5.1 常量
2.5.2 操作符
2.6 verilog hdl的主要功能語句
2.6.1 verilog hdl對硬體的描述方式
2.6.2 數據流描述
2.6.3 行為描述——過程塊
2.7 其他語法規則說明
2.7.1標識符命名原則
2.7.2 標點的使用
2.7.3 注釋
2.7.4 轉義字元
2.7.5 編譯命令
2.7.6 參數
2.8 示例程式分析
2.9推薦閱讀
習題2
第3章 實驗環境介紹
3.1 eda軟體工具介紹
3.1.1 集成的fpga開發環境
3.1.2 modelsim介紹
3.1.3Synplify簡介
3.2 fpga典型實驗開發平台簡介
3.2.1 康芯gw48-sopc實驗台
3.2.2 xilinx xup spartan板
3.3 實驗儀器的使用方法
3.3.1 函式信號發生器
3.3.2 數字存儲示波器
3.3.3 邏輯分析儀
3.4 熟悉實驗環境
3.4.1 實驗目的
3.4.2 實驗內容
3.4.3 實驗步驟
習題3
第4章 基本組合邏輯電路設計
4.1 組合邏輯電路基礎知識
4.1.1 組合邏輯電路的分析方法
4.1.2 組合邏輯電路分析舉例
4.1.3 組合邏輯電路的設計方法
4.2 數據比較器
4.2.1 數據比較器的功能
4.2.2 比較器電路的設計
4.3 數據選擇器
4.3.1 四選一數據選擇器
4.3.2 四選一數據選擇器的設計
4.3.3 數據選擇器的套用
4.4二進制加法器
4.4.1 半加器
4.4.2 全加器
4.5 編碼/解碼器
4.5.1 bcd碼編碼器
4.5.2 bcd碼解碼器
實驗4-1用原理圖輸入法設計四位加法器
實驗4-2數碼顯示解碼器
習題4
第5章 基本時序邏輯設計
5.1 時序邏輯電路的基礎知識
5.2 觸發器
5.2.1 rs觸發器
5.2.2 d觸發器
5.2.3 jk觸發器與t觸發器
5.3 時序邏輯電路的分析方法
5.3.1 同步時序電路的分析方法
5.3.2 異步時序電路的分析方法
5.4 常見的時序邏輯電路設計
5.4.1 移位暫存器
5.4.2 計數器
5.4.3 分頻器
5.4.4 順序脈衝發生器
5.4.5 階乘運算器
實驗5-1可預置的加減計數器實驗
實驗5-2扭環形計數器
習題5
第6章 有限狀態機設計
6.1 狀態的描述
6.1.1 整數編碼狀態
6.1.2 parameter語句聲明狀態
6.1.3 define編譯引導語句
6.2 fsm的設計方法
6.2.1 moore型fsm的設計
6.2.2mealy型fsm的設計
6.2.3 混合型fsm的設計
6.3 fsm的復位和毛刺問題
6.4 fsm設計示例
6.4.1 乘法器建模
6.4.2 序列檢測器的設計
6.4.3 交通燈控制器的設計
實驗6-1設計序列檢測器
習題6
第7章 加法器設計
7.1 定點加法器
7.1.1進位鏈結構
7.1.2 串列進位
7.1.3 並行進位
7.2 浮點加法器
7.2.1規格化浮點數加減運算基本原理
7.2.2 浮點加法器的設計
7.3 運算器(alu)的設計
實驗7-18位加法器的設計
實驗7-216位超前進位加法器
習題7
第8章 乘、除法器的設計
8.1 常用的機器數編碼格式
8.2 定點乘法器原理及實現
8.2.1 原碼一位乘算法及實現
8.2.2 補碼一位乘算法及實現
8.3 定點除法器原理及實現
8.3.1 原碼不恢復餘數除法
8.3.2 補碼不恢復餘數除法
8.4 快速乘法器
8.4.1 修正布斯算法
8.4.2 華萊士樹結構
實驗8-1原碼兩位乘法器
實驗8-2補碼兩位乘法器
習題8
第9章 存儲器建模
9.1 唯讀存儲器rom的建模
9.1.1 rom的基本結構
9.1.2 rom的建模
9.1.3 rom的仿真測試
9.2 隨機存儲器ram的建模
9.2.1 ram的基本結構
9.2.2 ram的建模
9.2.3 ram的仿真測試
9.3 利用ipcore工具生成rom和ram
實驗9-1利用sram設計並實現fifo
習題9
第10章OPU的設計
10.1 cpu的基本組成
10.1.1 控制部件
10.1.2 運算部件
10.1.3 暫存器組
10.2 cpu設計的一般過程
10.3HEU-r1處理器指令集的設計
10.3.1 指令格式
10.3.2 指令集的設計
10.4 heu-r1內部數據通路的設計
10.5時序系統的設計
10.6 heu-r1各功能模組的設計
10.6.1 指令解碼模組的設計
10.6.2 立即數生成模組
10.6.3 分支處理模組
10.6.4 地址生成模組
10.6.5 算術邏輯單元模組
10.6.6 暫存器組模組
10.6.7 cpu模組
10.7 仿真驗證及結果
10.7.1 外圍模組建模
10.7.2 系統復位
10.7.3 功能驗證
實驗10-1heu-r1處理器核的指令集擴展
習題10
第11章 數字電子時鐘設計
11.1 數字鐘功能需求說明
11.2 實驗平台相關電路說明
11.2.1 7段數碼管
11.2.2 外部按鍵
11.2.3 音頻輸出
11.3 數字鐘系統的設計
11.4 數字鐘各模組的設計
11.4.1 時鐘分頻模組
11.4.2 計時模組(包含按鍵控制)
11.4.3 音頻輸出模組
11.5 仿真驗證
11.6 引腳設定
實驗11-1整點報時鬧鐘設計
習題11
第12章 vga接口控制器
12.1 視頻信號原理
12.2 數字視頻圖像的表示
12.3 vga接口介紹
12.4 vga信號時序
12.5 vga接口控制器設計
12.5.1 vgasig模組
12.5.2 colormap模組
12.5.3 頂層模組
12.5.4 功能仿真
12.5.5 引腳設定
實驗12-1800~600解析度vga接口的設計
實驗12-2vga動態圖形顯示控制
習題12
第13章 fir數字濾波器設計
13.1 數字濾波器概述
13.2 fir濾波器的結構
13.3 fdatool工具使用介紹
13.3.1 matlab簡介
13.3.2 fdatool設計fir濾波器的參數
13.4 窗函式法fir濾波器的設計
13.4.1 窗函式的選擇
13.4.2 窗函式法fir濾波器的設計步驟
13.5 fir濾波器的fpga實現
13.5.1 濾波器係數的量化
13.5.2 16階fir濾波器的實現
13.5.3 在modelsim中加入altera仿真庫
13.6 fir濾波器的仿真驗證
13.6.1 仿真數據檔案的格式
13.6.2 測試平台程式的設計
13.6.3 仿真結果分析
實驗13-1低通fir濾波器的設計
實驗13-2fir濾波器的硬體實現及仿真
習題13
第14章 基於nios的sopc系統
14.1 sopc技術概述
14.1.1 1p核與ip復用技術
14.1.2 片上匯流排
14.2 嵌入式微處理器核介紹
14.2.1 alteranios ii軟核處理器
14.2.2 xilinxmicroblaze核
14.3 基於nios的sopc系統開發流程
14.4 基於nios的跑馬燈控制器的設計
14.4.1 基本sopc系統硬體結構
14.4.2 jtag uart ip核
14.5 跑馬燈控制器的硬體實現
14.5.1 新建sopc設計項目
14.5.2 各模組的設計
14.5.3 存儲器地址和irq分配
14.5.4 nios ii系統生成
14.5.5 sopc系統生成
14.6 跑馬燈控制器的軟體設計
14.6.1 c源程式輸入
14.6.2 代碼最佳化
14.6.3 程式運行和下載
實驗14-1基於nios ii處理器計時器的設計
習題14
附錄verilog hdl關鍵字
參考文獻