內容簡介
本書結合現代數字系統設計技術的發展,從教學和實際套用的角度出發,在系統地介紹數字電路分析和設計基本理論、基本方法的基礎上,著重分析和說明採用Verilog HDL進行數字系統設計和實現的方法。本書主要內容涉及數字系統設計概述、數位技術基礎、Verilog基本語法、組合邏輯電路的分析和設計、時序邏輯電路的分析和設計、可程式邏輯器件原理、Verilog HDL綜合設計實例、QuartusⅡ開發平台簡介等,並將Verilog HDL的介紹滲透於各個章節。
本書在內容上由淺入深,實用性強,既可以作為高等院校通信與電子類專業本科生的教材,也可以作為從事各類電子系統設計的科研人員和硬體工程師的套用參考書。
★ 本書配有電子教案,需要者可登錄出版社網站下載。
目錄
第1章 數字系統設計概述 1
1.1 數字系統的基本概念 1
1.2 數字系統的設計方法 4
1.2.1 三類常用晶片 4
1.2.2 數字系統的設計過程 5
1.3 EDA技術基礎 7
1.3.1 硬體描述語言HDL 8
1.3.2 EDA軟體開發工具 10
1.3.3 EDA晶片的設計開發流程 11
習題 12
第2章 數位技術基礎 13
2.1 數制與編碼 13
2.1.1 進位計數制 13
2.1.2 數制轉換 15
2.1.3 幾種常用的編碼 17
2.2 邏輯代數 20
2.2.1 基本邏輯運算 20
2.2.2 複合邏輯運算 23
2.2.3 邏輯函式 27
2.2.4 邏輯代數的基本定律、公式和規則 30
2.2.5 邏輯函式的標準形式 32
2.3 邏輯函式的化簡 35
2.3.1 代數法化簡邏輯函式 36
2.3.2 卡諾圖法(圖解法)化簡邏輯函式 38
2.3.3 含有任意項的邏輯函式化簡 46
2.4 邏輯門電路 48
2.4.1 概述 48
2.4.2 TTL集成邏輯門 52
2.4.3 CMOS電路 60
習題 66
第3章 Verilog HDL的基本語法 70
3.1 Verilog HDL程式的基本結構 70
3.1.1 模組連線埠定義 70
3.1.2 模組內容 71
3.2 Verilog HDL的數據類型 72
3.2.1 常量 72
3.2.2 變數 74
3.3 Verilog HDL的運算符 76
3.4 Verilog HDL的基本語句 80
3.4.1 賦值語句 80
3.4.2 條件語句 82
3.4.3 循環語句 83
3.4.4 結構聲明語句 85
3.4.5 編譯預處理語句 89
3.5 模組化程式設計 91
習題 93
第4章 組合邏輯電路 94
4.1 組合邏輯電路概述 94
4.2 組合邏輯電路分析 94
4.2.1 組合邏輯電路分析方法 94
4.2.2 簡單組合邏輯電路分析舉例 95
4.3 組合邏輯電路設計 97
4.3.1 用中小規模積體電路設計組合邏輯電路 98
4.3.2 用Verilog HDL設計組合邏輯電路的方法 98
4.3.3 組合邏輯電路設計舉例 100
4.4 常用組合邏輯電路 108
4.4.1 加法器 108
4.4.2 編碼器 113
4.4.3 解碼器 119
4.4.4 數據選擇器和數據分配器 131
4.4.5 數值比較器 140
4.4.6 奇偶產生/校驗電路 144
4.5 組合電路中的競爭與險象 148
4.5.1 競爭與險象的概念 148
4.5.2 險象分類 149
4.5.3 險象的判別 151
4.5.4 險象的消除 152
習題 153
第5章 時序邏輯電路 157
5.1 概述 157
5.1.1 時序邏輯電路的特點 157
5.1.2 時序邏輯電路的分類 158
5.2 集成觸發器 158
5.2.1 觸發器的工作原理 159
5.2.2 常用觸發器 163
5.2.3 各種類型觸發器的相互轉換 176
5.3 時序邏輯電路分析 178
5.3.1 同步時序邏輯電路分析 179
5.3.2 異步時序邏輯電路分析 182
5.4 時序邏輯電路的設計方法 185
5.4.1 同步時序邏輯電路的傳統設計方法 186
5.4.2 異步時序邏輯電路的傳統設計方法 200
5.4.3 用Verilog HDL描述時序邏輯電路 203
5.5 常用時序電路及其套用 209
5.5.1 計數器 209
5.5.2 暫存器 230
習題 249
第6章 可程式邏輯器件 254
6.1 概述 254
6.1.1 可程式邏輯器件的概念 254
6.1.2 可程式邏輯器件的發展歷程 255
6.1.3 可程式邏輯器件的分類 256
6.2 PLD的編程元件 257
6.2.1 熔絲型開關 257
6.2.2 浮柵型編程元件 258
6.2.3 SRAM編程元件 261
6.3 簡單PLD的原理與結構 262
6.3.1 PLD的陣列圖符號 262
6.3.2 可程式邏輯陣列PLA 264
6.3.3 可程式陣列邏輯PAL 265
6.3.4 通用陣列邏輯GAL 267
6.4 複雜可程式邏輯器件CPLD 269
6.4.1 CPLD的原理與結構 269
6.4.2 CPLD器件實例 270
6.5 現場可程式門陣列FPGA 275
6.5.1 FPGA的原理與結構 275
6.5.2 FPGA器件實例 277
6.6 CPLD和FPGA的編程 286
6.6.1 在系統可程式技術 286
6.6.2 JTAG邊界掃描測試技術 288
習題 292
第7章 Verilog綜合設計實例 294
7.1 分頻器的設計 294
7.1.1 偶數分頻器 294
7.1.2 奇數分頻器 298
7.1.3 半整數分頻器 302
7.2 樂曲播放器 304
7.2.1 時鐘信號發生器模組 305
7.2.2 音頻產生器模組 306
7.2.3 樂曲存儲模組 309
7.2.4 樂曲控制模組 317
7.2.5 樂曲播放器頂層模組 318
7.3 電子表 319
7.3.1 時鐘調校及計時模組 319
7.3.2 整數分頻模組 322
7.3.3 時鐘信號選擇模組 323
7.3.4 七段顯示模組 324
7.3.5 頂層模組的實現 326
7.4 VGA控制器 326
7.4.1 VGA顯示原理 326
7.4.2 VGA控制信號發生器 329
7.4.3 像素點RGB數據輸出模組 341
7.4.4 頂層模組的設計與實現 342
7.4.5 RGB 模擬信號的產生 344
7.5 簡單模型機設計 344
7.5.1 指令系統設計 344
7.5.2 數據通路設計 349
7.5.3 系統各功能模組設計 351
7.5.4 指令時序設計 361
7.5.5 控制器設計 365
習題 378
第8章 QuartusⅡ開發平台簡介 379
8.1 Quartus Ⅱ開發環境的建立 379
8.1.1 軟體的安裝 379
8.1.2 驅動程式安裝 380
8.2 Quartus Ⅱ設計流程與步驟 381
8.2.1 創建工程 381
8.2.2 設計輸入 385
8.2.3 編譯設計檔案 389
8.2.4 仿真 390
8.2.5 引腳分配 394
8.2.6 下載驗證 395
8.2.7 對配置器件編程 396
習題 397
參考文獻 398