四則運算小計算器設計過程實錄 -- Verilog FPGA 數字系統設計入門學習日記
內容描述
<內容簡介>
趙然編著的《四則運算小計算器設計過程實錄--Verilog FPGA數字系統設計入門學習日記/Verilog FPGA數字系統設計自學叢書》以日記的形式記錄了一個可實現四則運算計算器的設計過程,從而達到學習FPGA設計的目的。全書共10章,講述了從設計開始到完成的全過程,其中包括數碼管顯示、鍵盤掃描、狀態機等基礎模塊的設計,以及設計中需要註意的問題等,每一章的最後還有夏字聞老師對本章內容的點評及給讀者的學習建議。
希望讀者按順序閱讀本書,同時進行實踐操作,並與書中的進度保持一致,最終完成整個設計。讀者也可以根據自己的想法來實現想要的功能,做到舉一反三,以達到最好的學習效果。書中使用的硬件為至芯科技的四代開發板、A1tera cyclone Ⅳ的芯片,軟件為Quartus Ⅱ 13.O spl。
本書可作為電子工程類、自動控制類、電腦類的大學本科高年級學生及研究生設計實驗參考用書,亦可供其他工程人員自學與參考。
<章節目錄>
第1章 第一天———數碼管顯示模塊的設計
1.1 設計需求講解
1.2 七段式數碼管顯示原理講解
1.3 設計工具使用講解
1.3.1 QuartusII工具的配置
1.3.2 數碼管顯示模塊的可綜合代碼
1.3.3 顯示模塊的測試
1.3.4 轉到ModelSim模擬工具進行測試
1.3.5 下載程序到開發板進行調試
1.4 今天工作總結
1.5 夏老師評述
第2章 第二天———鍵盤掃描模塊的設計
2.1 設計需求講解
2.2 七段式數碼管顯示原理講解
2.3 設計工具使用講解
2.3.1 矩陣鍵盤碼掃描分析模塊的可綜合代碼
2.3.2 矩陣鍵盤碼掃描分析模塊代碼解析
2.3.3 矩陣鍵盤掃描分析模塊的測試
2.3.4 轉到ModelSim模擬工具進行測試
2.3.5 下載程序到開發板進行調試
2.4 今天工作總結
2.5 夏老師評述
第3章 第三天———輸入狀態機模塊的設計
3.1 設計需求講解
3.2 我對狀態機概念的理解
3.3 設計工具使用講解
3.3.1 範例代碼解析
3.3.2 重寫狀態機代碼
3.3.3 轉到ModelSim模擬工具進行測試
3.3.4 下載程序到開發板進行調試
3.4 今天工作總結
3.5 夏老師評述
第4章 第四天———BCD碼與二進制碼轉換模塊的設計
4.1 設計需求講解
4.2 BCD碼轉二進制碼
4.2.1 BCD碼轉二進制碼的可綜合代碼
4.2.2 BCD碼轉二進制碼模塊的測試代碼
4.2.3 轉到ModelSim模擬工具進行測試
4.2.4 二進制碼轉BCD碼的可綜合代碼
4.2.5 二進制碼轉BCD碼模塊的測試
4.2.6 轉到ModelSim模擬工具進行測試
4.3 今天工作總結
4.4 夏老師評述
第5章 第五天———計算模塊的設計
5.1 設計需求講解
5.2 設計工具使用講解
5.2.1 計算模塊的可綜合代碼
5.2.2 計算模塊的測試
5.2.3 轉到ModelSim模擬工具進行模擬
5.2.4 模塊連接關係
5.2.5 下載程序到開發板進行調試
5.3 今天工作總結
5.4 夏老師評述
第6章 第六天———可進行連續運算的狀態機改進
6.1 設計需求講解
6.2 狀態機設計講解
6.2.1 狀態機的編碼形式
6.2.2 狀態機的分類
6.2.3 狀態轉移圖(STD)
6.3 設計工具使用講解
6.3.1 狀態機模塊的可綜合代碼
6.3.2 狀態機模塊的測試
6.3.3 轉到ModelSim模擬工具進行模擬
6.3.4 下載程序到開發板進行調試
6.4 今天工作總結
6.5 夏老師評述
第7章 第七天———面積優化
7.1 設計需求講解
7.2 面積與速度
7.3 模塊改進
7.3.1 計算模塊的可綜合代碼
7.3.2 轉到ModelSim模擬工具進行測試
7.3.3 下載程序到開發板進行調試
7.4 今天工作總結
7.5 夏老師評述
第8章 第八天———二進制碼轉BCD碼模塊的優化
8.1 設計需求講解
8.2 演算法實現
8.3 模塊改進
8.3.1 二進制碼轉BCD碼模塊的可綜合代碼
8.3.2 轉到ModelSim模擬工具進行測試
8.3.3 下載程序到開發板進行調試
8.4 今天工作總結
8.5 夏老師評述
第9章 第九天———去「0」模塊的設計
9.1 設計需求講解
9.2 演算法實現
9.3 模塊改進
9.3.1 去「0」模塊的可綜合代碼
9.3.2 轉到ModelSim模擬工具進行測試
9.3.3 下載程序到開發板進行調試
9.4 今天工作總結
9.5 夏老師評述
第10章 第十天———負數計算
10.1 設計需求講解
10.2 二進制數表示法
10.3 補碼原碼轉換模塊
10.3.1 補碼轉原碼模塊的可綜合代碼
10.3.2 轉到ModelSim模擬工具進行測試
10.3.3 原碼轉補碼模塊的可綜合代碼
10.3.4 轉到ModelSim模擬工具進行測試
10.4 其他模塊的修改
10.4.1 顯示模塊的修改
10.4.2 消「0」模塊的修改
10.4.3 BCD碼和二進制碼轉換模塊的修改
10.4.4 計算模塊的修改
10.4.5 按鍵狀態機模塊的修改
10.4.6 頂層模塊的修改
10.5 下載程序到開發板進行調試
10.6 今天工作總結
10.7 夏老師評述
參考文獻
<作者介紹>
趙然,首都師範大學光學工程碩士,曾在夏宇聞老師指導下學習Veriog數字系統設計三個月,美國國家儀器(NI)認證CLAD工程師。擅長數字邏輯設計,現任中國科學院計算技術研究所(ICT)工程師,從事FPGA開發工作。