前 言
電子信息類專業是實踐性很強的專業,學生不僅需要理論知識扎實,還應具備很強的動手實驗能力和創新意識,因此需要進行大量的實踐訓練。
本書主要針對電子信息類專業知識的初學者,已經完成電路原理、數字電路等基礎課程后,所進行的數字系統課程設計環節而撰寫。考慮到學生知識面尚有限,所以設計項目的解決不涉及單片機、數字信號處理等知識即可完成。
隨著EDA技術的飛速發展,各個高校紛紛將其作為學習數字電路知識的有力工具,引入到數字電路的教學之中。結合EDA技術、數字電路知識以及可編程邏輯器件(FPGA、CPLD等),可以設計出更豐富、更復雜的數字系統,充分發揮學生的創新精神和想象力。因此,本書也有專門的章節介紹相關的EDA知識,給出實例說明如何應用EDA技術進行數字系統設計。
本書從實用角度出發,將內容分為3部分,共6章。第一部分由第1章和第2章構成,是進行數字系統課程設計的知識和技能準備,主要介紹數字系統設計的基本方法、設計報告的撰寫、基本元器件、電路板的選擇與制作、焊接技術等基礎知識。第二部分由第3章構成,主要基于傳統的數字電路設計技術進行數字系統設計,給出了5個詳細的數字系統課程設計實例,使學生能夠進一步學習和鞏固數字電路基本知識。第三部分為第4章~第6章,主要基于EDA技術進行數字系統的設計與實現。第4章介紹EDA的常用工具,包括EDA軟件QuartusII以及仿真工具ModelSim的使用。第5章介紹Verilog HDL語言。第6章給出了一些基于FPGA數字系統課程設計實例,具有一定的實用性和代表性。第6章和第3章有相似的設計題目,提供兩種不同的設計思路,供讀者對比和參考。
另外在附錄中,我們給出了FPGA設計平臺的相關資料介紹。
本書給出的基本數字系統課程設計項目,覆蓋數字電路中組合邏輯電路、時序邏輯電路、觸發器、算術電路等重要知識點;本書給出的基于可編程邏輯器件的課程設計項目,只給出最基本的解決方案,給讀者以擴展和發揮的空間。
本書的第1~3章由牛小燕編寫,第4~6章由李蕓編寫,全書由牛小燕統稿。在本書的編寫過程中,還得到盛慶華老師的幫助和支持,在此一并表示感謝。書中引用了許多學者的觀點和成果,有些由于難以查明文獻來源而未注明,在此一并致以敬意。
由于電子技術發展迅速,加之編者水平有限,難免有疏漏或錯誤之處,真誠希望廣大讀者提出批評和建議(E-mail:niuxiaoyan@hdu.edu.cn)。
作者
第1章 數字系統課程設計概述 1
1.1 課程的目的與要求 1
1.2 設計方法與步驟 1
1.2.1 設計方法 1
1.2.2 數字系統開發的一般步驟 2
1.3 課程設計報告的撰寫 3
第2章 課程設計的基礎知識 5
2.1 常用電子電路元器件介紹 5
2.1.1 集成電路 5
2.1.2 開關 7
2.1.3 顯示元件 9
2.1.4 電阻 11
2.1.5 電容 12
2.1.6 二極管 13
2.1.7 三極管 14
2.2 電路板的選擇與制作 15
2.2.1 常用電路板 15
2.2.2 印刷電路板的設計與制作 17
2.3 焊接技術 25
2.3.1 焊接工具和材料 25
2.3.2 焊接技術 26
第3章 數字系統課程設計基本項目 28
3.1 多功能數字鐘電路的設計 28
3.1.1 設計要求 28
3.1.2 總體設計 28
3.1.3 單元設計 29
3.1.4 調試要點 33
3.1.5 元器件清單 34
3.2 交通燈控制系統設計 34
3.2.1 設計要求 34
3.2.2 總體設計 35
3.2.3 單元設計 36
3.2.4 調試要點 39
3.2.5 元器件清單 39
3.3 電子密碼鎖的設計 40
3.3.1 設計要求 40
3.3.2 方案設計 40
3.3.3 單元設計 41
3.3.4 調試要點 42
3.3.5 元器件清單 43
3.4 智力搶答器的設計 43
3.4.1 設計要求 43
3.4.2 方案設計 43
3.4.3 單元設計 44
3.4.4 調試要點 47
3.4.5 元器件清單 47
3.5 兩位減法運算電路的設計 48
3.5.1 技術要求 48
3.5.2 方案設計 48
3.5.3 單元設計 49
3.5.4 調試要點 50
3.5.5 元器件清單 51
3.6 其他課程設計題目參考 51
3.6.1 彩燈顯示控制器的設計 51
3.6.2 簡易公用電話計時系統的設計 51
3.6.3 乒乓球游戲機的設計 52
3.6.4 病房呼叫系統的設計 52
3.6.5 數字秒表的設計 52
3.6.6 籃球競賽24秒計時器的設計 52
3.6.7 簡易數字式電容測量儀 52
3.6.8 自動售貨機的設計 53
3.6.9 簡易數字頻率計的設計 53
3.6.10 汽車尾燈控制電路設計 53
3.6.11 拔河游戲機的設計 53
3.6.12 直流數字電壓表的設計 54
3.6.13 多路防盜報警器的設計 54
3.6.14 微波爐控制電路設計 54
3.6.15 洗衣機控制電路設計 54
第4章 EDA工具介紹 55
4.1 QuartusII概述 55
4.2 Quartus II設計 56
4.2.1 Quartus II設計流程 56
4.2.2 Quartus II設計舉例 58
4.3 參數化模塊庫調用 67
4.4 層次化設計方法 72
4.5 嵌入式邏輯分析儀使用方法 73
4.6 在系統存儲器數據讀寫編輯器應用 77
4.7 Modsim使用介紹 78
4.7.1 ModelSim概述 78
4.7.2 ModelSim設計實例 79
第5章 Verilog HDL語言 83
5.1 概述 83
5.2 Verilog HDL基本結構 83
5.3 Verilog HDL的描述方式 86
5.4 Verilog HDL基本詞法 87
5.5 Verilog HDL數據對象 90
5.6 Verilog HDL基本語句 91
5.6.1 塊語句 91
5.6.2 賦值語句 93
5.6.3 條件語句 95
5.6.4 循環語句 98
5.7 Verilog HDL狀態機描述 100
5.7.1 狀態機的一般結構 100
5.7.2 Moore型狀態機設計 101
5.7.3 Mealy型狀態機設計 102
第6章 基于FPGA的數字系統課程設計 104
6.1 交通燈控制電路的設計 104
6.2 多功能數字鐘設計 110
6.3 樂曲演奏電路設計 114
6.4 VGA顯示控制器設計 120
6.5 DDS信號發生器的設計 124
6.6 其他課程設計題目參考 126
6.6.1 數字密碼鎖設計 126
6.6.2 出租車計價器設計 127
6.6.3 高層電梯控制器設計 127
6.6.4 等精度數字頻率計設計 127
6.6.5 LED點陣顯示系統設計 128
6.6.6 通用異步收發器設計 128
6.6.7 直流電機控制系統設計 128
6.6.8 數據采集系統設計 129
附錄A 常用74系列芯片功能 130
附錄B 常用4000系列芯片功能 134
附錄C KX_7C系列實驗開發系統使用說明 136
參考文獻 139