EDA 技術與 VHDL, 6/e

黃繼業 潘松 盛慶華

  • 出版商: 清華大學
  • 出版日期: 2024-06-01
  • 售價: $479
  • 貴賓價: 9.5$455
  • 語言: 簡體中文
  • ISBN: 7302666156
  • ISBN-13: 9787302666158
  • 立即出貨 (庫存 < 3)

  • EDA 技術與 VHDL, 6/e-preview-1
  • EDA 技術與 VHDL, 6/e-preview-2
  • EDA 技術與 VHDL, 6/e-preview-3
EDA 技術與 VHDL, 6/e-preview-1

商品描述

"《EDA技術與VHDL(第6版)》系統地介紹了EDA技術和VHDL硬件描述語言,將VHDL的基礎知識、編程技巧和實用方法與實際工程開發技術在Quartus/Vivado上很好地結合起來,使讀者通過《EDA技術與VHDL(第6版)》的學習能迅速瞭解並掌握EDA技術的基本理論和工程開發實用技術,為後續的深入學習和發展打下堅實的理論與實踐基礎。 依據高校課堂教學和實驗操作的規律與要求,並以提高學生的實際工程設計能力和自主創新能力為目的,合理編排全書內容。全書共分為7個部分:EDA技術的概述、VHDL語法知識及其實用技術、Quartus/Vivado及IP模塊的詳細使用方法、有限狀態機設計技術、16/32位實用CPU設計技術及創新實踐項目、基於ModelSim的Test Bench模擬技術、以及基於MATLAB和DSP Builder平臺的EDA設計技術及大量實用系統設計示例。除個別章節外,大多數章節都安排了相應的習題和大量針對性強的實驗與設計項目。書中列舉的VHDL示例都經編譯通過或經硬件測試通過。 本書主要面向高等院校本、專科的EDA技術和VHDL語言基礎課,推薦作為電子信息類、通信、自動化、電腦類、電子對抗、儀器儀表、人工智能等學科專業和相關實驗指導課的教材用書或主要參考書,同時也可作為電子設計競賽、FPGA開發應用的自學參考書。 "

目錄大綱

 目錄 第 1章概述.................................................................................................................... 1  1.1  EDA技術 ....................................................................................................................... 1  1.2  EDA技術應用對象 ....................................................................................................... 3  1.3常用的硬件描述語言 .................................................................................................... 4  1.4  EDA技術的優勢 ........................................................................................................... 6  1.5面向 FPGA的開發流程 ................................................................................................ 7  1.5.1  設計輸入 ............................................................................................................. 7  1.5.2  綜合 ..................................................................................................................... 8  1.5.3  適配(佈局布線) ........................................................................................... 10  1.5.4  模擬與時序分析 ............................................................................................... 10  1.5.5  RTL描述 ........................................................................................................... 11  1.6可編程邏輯器件 .......................................................................................................... 11  1.6.1  PLD的分類 ...................................................................................................... 11  1.6.2  PROM可編程原理 ........................................................................................... 12  1.6.3 GAL ................................................................................................................... 14  1.7 CPLD的結構與可編程原理 ....................................................................................... 15  1.8 FPGA的結構與工作原理 ........................................................................................... 18  1.8.1  查找表邏輯結構 ............................................................................................... 18  1.8.2  Cyclone 4E/10 LP系列器件的結構原理 ......................................................... 19  1.8.3  內嵌 Flash的 FPGA器件 ................................................................................ 22  1.8.4  Artix-7系列 FPGA的基本結構 ...................................................................... 22  1.8.5  主要 FPGA生產廠商 ....................................................................................... 26  1.9硬件測試技術 .............................................................................................................. 27  1.9.1  內部邏輯測試 ................................................................................................... 27  1.9.2  JTAG邊界掃描測試......................................................................................... 27  1.10編程與配置 ................................................................................................................ 28  1.11  Quartus ....................................................................................................................... 29  1.12 IP核 ........................................................................................................................... 31  1.13主要 EDA軟件公司 .................................................................................................. 31  1.14 EDA的發展趨勢 ....................................................................................................... 32  習題 ....................................................................................................................................... 33  第 2章程序結構與數據對象......................................................................................... 34  2.1  VHDL程序結構 .......................................................................................................... 34  ·VI· EDA技術與 VHDL(第 6版)  2.2  VHDL程序基本構建 .................................................................................................. 36  2.2.1  實體和埠模式 ............................................................................................... 36  2.2.2  結構體 ............................................................................................................... 37  2.2.3  庫和庫的種類 ................................................................................................... 38  2.2.4  庫和程序包的調用方法 ................................................................................... 39  2.2.5  配置 ................................................................................................................... 41  2.3  VHDL文字規則 .......................................................................................................... 41  2.3.1  數字 ................................................................................................................... 41  2.3.2  字符串 ............................................................................................................... 42  2.3.3  關鍵詞 ............................................................................................................... 43  2.3.4  標識符及其表述規則 ....................................................................................... 43  2.3.5  文件取名和存盤 ............................................................................................... 44  2.3.6  規範的程序書寫格式 ....................................................................................... 44  2.4  VHDL數據對象 .......................................................................................................... 44  2.4.1  常數 ................................................................................................................... 44  2.4.2  變量 ................................................................................................................... 45  2.4.3  信號 ................................................................................................................... 46 習題 ....................................................................................................................................... 47  第 3章數據類型與順序語句......................................................................................... 49  3.1  VHDL數據類型 .......................................................................................................... 49  3.1.1  BIT和 BIT_VECTOR類型 ............................................................................. 50  3.1.2  STD_LOGIC和 STD_LOGIC_VECTOR類型 ............................................... 50  3.1.3  整數類型 INTEGER ......................................................................................... 52  3.1.4  布爾數據類型 BOOLEAN ............................................................................... 52  3.1.5  SIGNED和 UNSIGNED類型 ......................................................................... 53  3.1.6  其他預定義類型 ............................................................................................... 55  3.1.7  數據類型轉換函數 ........................................................................................... 56  3.2常用順序語句 .............................................................................................................. 58  3.2.1  賦值語句 ........................................................................................................... 58  3.2.2  CASE語句 ........................................................................................................ 58  3.2.3  PROCESS語句 ................................................................................................. 60  3.2.4  並置操作符 & .................................................................................................... 61  3.2.5  IF語句 .............................................................................................................. 61  3.3 IF語句使用示例 ......................................................................................................... 62  3.3.1  D觸發器的 VHDL描述 .................................................................................. 62  3.3.2  含異步復位和時鐘使能 D觸發器的描述 ...................................................... 65  3.3.3  基本鎖存器的描述 ........................................................................................... 66  3.3.4  含清零控制鎖存器的描述 ............................................................................... 68  3.3.5  實現時序電路的不同表述方式 ....................................................................... 68  3.3.6  4位二進制加法計數器設計 ............................................................................ 69  3.3.7  計數器更常用的 VHDL表達方式 .................................................................. 70  3.3.8  設計一個實用計數器 ....................................................................................... 72  3.3.9  含同步並行預置功能的 8位移位寄存器設計 ............................................... 74  3.3.10優先編碼器設計 ............................................................................................. 76  3.4  VHDL其他順序語句 .................................................................................................. 77  3.4.1  LOOP循環語句 ............................................................................................... 77  3.4.2  NEXT語句 ....................................................................................................... 78  3.4.3  EXIT語句 ......................................................................................................... 78  3.4.4  WAIT語句 ........................................................................................................ 79  3.4.5  GENERIC參數定義語句 ................................................................................. 82  3.4.6  REPORT語句 ................................................................................................... 82  3.4.7  斷言語句 ........................................................................................................... 83  3.4.8  埠數據含“ 1”個數的統計電路模塊設計 ................................................. 85  習題 ....................................................................................................................................... 86  第 4章模擬與硬件實現 ................................................................................................ 87  4.1代碼編輯輸入和系統編譯 .......................................................................................... 87  4.1.1  編輯和輸入設計文件 ....................................................................................... 87  4.1.2  創建工程 ........................................................................................................... 88  4.1.3  約束項目設置 ................................................................................................... 90  4.1.4  全程綜合與編譯 ............................................................................................... 91  4.1.5  RTL圖觀察器應用 ........................................................................................... 92  4.2波形模擬 ...................................................................................................................... 93  4.3基於 ModelSim手動流程的模擬 ............................................................................... 96  4.4硬件測試 .................................................................................................................... 101  4.4.1  引腳鎖定 ......................................................................................................... 101  4.4.2  編譯文件下載 ................................................................................................. 102  4.4.3  通過 JTAG口對配置芯片進行間接編程 ...................................................... 104  4.4.4  USB-Blaster驅動程序安裝方法 .................................................................... 105  4.5層次化設計流程 ........................................................................................................ 105  4.5.1  設計一個半加器 ............................................................................................. 105  4.5.2  完成全加器頂層設計 ..................................................................................... 107  4.5.3  對全加器進行時序模擬和硬件測試 ............................................................. 108  4.6利用屬性表述實現引腳鎖定 .................................................................................... 109  4.7  Signal Tap邏輯分析儀的用法 .................................................................................. 110  4.8編輯 Signal Tap的觸發信號 ..................................................................................... 115  4.9  Vivado平臺模擬與硬件實現 ................................................................................... 116  4.9.1  創建工程 ......................................................................................................... 116  4.9.2  編輯和輸入設計文件 ..................................................................................... 119  ·VIII· EDA技術與 VHDL(第 6版)  4.9.3  全程綜合編譯與實現 ..................................................................................... 120  4.9.4  RTL圖觀察器應用 ......................................................................................... 122  4.9.5  模擬 ................................................................................................................. 123  4.9.6  硬件測試 ......................................................................................................... 124  習題 ..................................................................................................................................... 125  實驗與設計 ......................................................................................................................... 126  實驗 4-1多路選擇器設計實驗 ............................................................................... 126  實驗 4-2十六進制 7段數碼顯示解碼器設計 ....................................................... 126  實驗 4-3簡易數字頻率計設計 ............................................................................... 128  實驗 4-4計數器設計實驗 ....................................................................................... 131  實驗 4-5數碼掃描顯示電路設計 ........................................................................... 131  實驗 4-6硬件消抖動電路設計 ............................................................................... 132  實驗 4-7串行靜態顯示控制電路設計 ................................................................... 133  第 5章並行語句 ........................................................................................................ 134  5.1並行信號賦值語句 .................................................................................................... 134  5.1.1  簡單信號賦值語句 ......................................................................................... 134  5.1.2  條件信號賦值語句 ......................................................................................... 135  5.1.3  選擇信號賦值語句 ......................................................................................... 136  5.1.4  塊語句 ............................................................................................................. 136  5.1.5  元件例化語句 ................................................................................................. 137  5.1.6  例化語句應用示例 ......................................................................................... 138  5.1.7  生成語句 ......................................................................................................... 140  5.1.8  GENERIC參數傳遞映射語句及其使用方法 ............................................... 142  5.1.9  數據類型定義語句 ......................................................................................... 144  5.1.10 VHDL的存儲器描述 ................................................................................... 147  5.1.11信號屬性及屬性函數 ................................................................................... 148  5.2  VHDL運算操作符 .................................................................................................... 150  5.2.1  邏輯操作符 ..................................................................................................... 150  5.2.2  關系操作符 ..................................................................................................... 152  5.2.3  算術操作符 ..................................................................................................... 153  5.2.4  省略賦值操作符 ............................................................................................. 156  5.3 keep屬性應用 ........................................................................................................... 157  5.4  SignalProbe使用方法 ............................................................................................... 158  習題 ..................................................................................................................................... 160  實驗與設計 ......................................................................................................................... 161  實驗 5-1 8位加法器設計實驗 ................................................................................ 161  實驗 5-2高速硬件除法器設計 ............................................................................... 161  實驗 5-3移位相加型 8位硬件乘法器設計 ........................................................... 162  實驗 5-4基於 VHDL代碼的頻率計設計 .............................................................. 162  實驗 5-5  VGA彩條信號顯示控制電路設計 ......................................................... 164  實驗 5-6不同類型的移位寄存器設計實驗 ........................................................... 167  第 6章 IP核的應用 .................................................................................................... 168  6.1調用計數器宏模塊示例 ............................................................................................ 168  6.1.1  計數器 LPM模塊文本代碼的調用 ............................................................... 168  6.1.2  LPM計數器代碼與參數傳遞語句應用 ........................................................ 169  6.1.3  創建工程與模擬測試 ..................................................................................... 172  6.2利用屬性控制乘法器構建的示例 ............................................................................ 172  6.3片內 RAM IP用法 .................................................................................................... 173  6.3.1  初始化文件及其生成 ..................................................................................... 174  6.3.2  片內 RAM IP的設置與調用 ......................................................................... 175  6.3.3  測試片內 RAM ............................................................................................... 177  6.3.4  用 VHDL代碼描述存儲器以及用初始化文件加載表述 ............................ 178  6.3.5  片內存儲器設計的結構控制 ......................................................................... 179  6.4片內 ROM IP使用示例 ............................................................................................ 180  6.4.1  簡易正弦信號發生器設計 ............................................................................. 180  6.4.2  正弦信號發生器硬件實現和測試 ................................................................. 182  6.5在系統存儲器數據讀寫編輯器應用 ........................................................................ 183  6.6嵌入式鎖相環調用 .................................................................................................... 184  6.6.1  建立嵌入式鎖相環元件 ................................................................................. 184  6.6.2  測試鎖相環 ..................................................................................................... 187  6.7 In-System Sources and Probes Editor用法 ............................................................... 187  6.8  Vivado中 IP模塊用法 .............................................................................................. 190  6.9  DDS實現原理與應用 ............................................................................................... 190  6.9.1  DDS原理 ........................................................................................................ 191  6.9.2  DDS信號發生器設計示例 ............................................................................ 192  習題 ..................................................................................................................................... 193  實驗與設計 ......................................................................................................................... 194  實驗 6-1查表式硬件運算器設計 ........................................................................... 194  實驗 6-2正弦信號發生器設計 ............................................................................... 194  實驗 6-3簡易邏輯分析儀設計 ............................................................................... 195  實驗 6-4  DDS正弦信號發生器設計 ...................................................................... 196  實驗 6-5移相信號發生器設計 ............................................................................... 197  實驗 6-6  VGA簡單圖像顯示控制模塊設計 ......................................................... 197  實驗 6-7  AM幅度調制信號發生器設計 ............................................................... 198  第 7章 VHDL設計深入 .............................................................................................. 200  7.1進程中的信號賦值與變量賦值 ................................................................................ 200  7.2含高阻輸出的電路設計 ............................................................................................ 204  7.2.1  三態門設計 ..................................................................................................... 204  ·X· EDA技術與 VHDL(第 6版)  7.2.2  雙向埠的設計方法 ..................................................................................... 205  7.2.3  三態總線電路設計 ......................................................................................... 206  7.3資源優化 .................................................................................................................... 208  7.3.1  資源共享 ......................................................................................................... 208  7.3.2  邏輯優化 ......................................................................................................... 210  7.3.3  串行化 ............................................................................................................. 211  7.4速度優化 .................................................................................................................... 212  7.4.1  流水線設計 ..................................................................................................... 213  7.4.2  關鍵路徑法 ..................................................................................................... 215  7.5模擬延時 .................................................................................................................... 215  7.5.1  固有延時 ......................................................................................................... 216  7.5.2  傳輸延時 ......................................................................................................... 216  7.5.3  模擬 δ .............................................................................................................. 217  習題 ..................................................................................................................................... 217  實驗與設計 ......................................................................................................................... 218  實驗 7-1 4×4陣列鍵盤鍵信號檢測電路設計 ........................................................ 219  實驗 7-2樂曲硬件演奏電路設計 ........................................................................... 219  實驗 7-3 PS2鍵盤控制模型電子琴電路設計 ....................................................... 222  實驗 7-4直流電機綜合測控系統設計 ................................................................... 224  實驗 7-5  VGA動畫圖像顯示控制電路設計 ......................................................... 226  第 8章狀態機設計技術 .............................................................................................. 227  8.1  VHDL狀態機的一般形式 ........................................................................................ 227  8.1.1  狀態機的特點與優勢 ..................................................................................... 227  8.1.2  VHDL狀態機的一般結構 ............................................................................. 228  8.1.3  狀態機設計初始約束與表述 ......................................................................... 232  8.2 Moore型狀態機的設計 ............................................................................................ 233  8.2.1  多進程狀態機 ................................................................................................. 233  8.2.2  序列檢測器之狀態機設計 ............................................................................. 236  8.3 Mealy型狀態機的設計 ............................................................................................. 237  8.4狀態編碼 .................................................................................................................... 240  8.4.1  直接輸出型編碼 ............................................................................................. 240  8.4.2  順序編碼 ......................................................................................................... 242  8.4.3  一位熱碼編碼 ................................................................................................. 243  8.4.4  狀態編碼設置 ................................................................................................. 243  8.5安全狀態機設計 ........................................................................................................ 244  8.5.1  程序直接導引法 ............................................................................................. 245  8.5.2  狀態編碼監測法 ............................................................................................. 245  8.5.3  借助 EDA優化控制工具生成安全狀態機 ................................................... 246  習題 ..................................................................................................................................... 246  實驗與設計 ......................................................................................................................... 247  實驗 8-1序列檢測器設計 ....................................................................................... 247  實驗 8-2並行 ADC採樣控制電路實現與硬件驗證 ............................................ 247  實驗 8-3數據採集模塊設計 ................................................................................... 248  實驗 8-4五功能智能邏輯筆設計 ........................................................................... 249  實驗 8-5串行 ADC/DAC採樣或信號輸出控制電路設計 ................................... 250  第 9章 16/32位 CPU創新設計 .................................................................................. 251  9.1  KX9016的結構與特色 ............................................................................................. 251  9.2  KX9016基本硬件系統設計 ..................................................................................... 254  9.2.1  單步節拍發生模塊 ......................................................................................... 254  9.2.2  運算器 ............................................................................................................. 254  9.2.3  比較器 ............................................................................................................. 255  9.2.4  基本寄存器與寄存器陣列組 ......................................................................... 256  9.2.5  移位器 ............................................................................................................. 260  9.2.6  程序與數據存儲器 ......................................................................................... 260  9.3  KX9016指令系統設計 ............................................................................................. 261  9.3.1  指令格式 ......................................................................................................... 261  9.3.2  指令操作碼 ..................................................................................................... 262  9.3.3  軟件程序設計實例 ......................................................................................... 263  9.3.4  KX9016系統控制器設計 .............................................................................. 267  9.3.5  指令設計實例詳解 ......................................................................................... 269  9.4  KX9016的時序模擬與硬件測試 ............................................................................. 270  9.4.1  時序模擬與指令執行波形分析 ..................................................................... 270  9.4.2  CPU工作情況的硬件測試 ............................................................................ 271  9.5  KX9016應用程序設計實例和系統優化 ................................................................. 274  9.5.1  乘法算法及其硬件實現 ................................................................................. 274  9.5.2  除法算法及其硬件實現 ................................................................................. 275  9.5.3  KX9016的硬件系統優化 .............................................................................. 276  9.6  32位 RISC-V處理器設計 ........................................................................................ 277  9.6.1  RISC-V基本結構與基本整數指令集 RV32I................................................ 277  9.6.2  32位乘法指令集 RV32M .............................................................................. 280  9.6.3  16位壓縮指令集 RVC ................................................................................... 280  習題 ..................................................................................................................................... 281  實驗與設計 ......................................................................................................................... 282  實驗 9-1 16位 CPU驗證性設計綜合實驗 ............................................................ 282  實驗 9-2新指令設計及程序測試實驗 ................................................................... 282  實驗 9-3 16位 CPU的優化設計與創新 ................................................................ 283  第 10章 VHDL模擬 ................................................................................................... 285  10.1 VHDL模擬流程 ...................................................................................................... 286  ·XII· EDA技術與 VHDL(第 6版)  10.2 VHDL測試基準實例 .............................................................................................. 287  10.3 VHDL Test Bench測試流程 ................................................................................... 289  10.4 VHDL子程序 .......................................................................................................... 292  10.4.1  函數 ............................................................................................................... 292  10.4.2  重載函數 ....................................................................................................... 294  10.4.3  決斷函數 ....................................................................................................... 297  10.4.4  過程 ............................................................................................................... 297  10.4.5  重載過程 ....................................................................................................... 299  10.4.6  子程序調用語句 ........................................................................................... 300  10.4.7  RETURN語句 .............................................................................................. 302  10.4.8  並行過程調用語句 ....................................................................................... 302  10.5 VHDL程序包 .......................................................................................................... 304  習題 ..................................................................................................................................... 306  實驗與設計 ......................................................................................................................... 307  實驗 10-1  在 ModelSim上對 VHDL Test Bench進行模擬 .................................. 307  第 11章 DSP Builder系統設計方法 ........................................................................... 308  11.1  MATLAB/DSP Builder及其設計流程 ................................................................... 308  11.2正弦信號發生器設計 .............................................................................................. 310  11.2.1建立設計模型 ............................................................................................... 311  11.2.2 Simulink模型模擬 ....................................................................................... 317  11.2.3 Signal Compiler使用方法 ............................................................................ 321  11.2.4使用 ModelSim進行 RTL級模擬 ............................................................... 322  11.2.5使用 Quartus實現時序模擬 ......................................................................... 323  11.2.6硬件測試與硬件實現 ................................................................................... 324  11.3  DSP Builder層次化設計 ......................................................................................... 326  11.4基於 DSP Builder的 DDS設計 .............................................................................. 329  11.4.1 DDS模塊設計 .............................................................................................. 329  11.4.2  FSK調制器設計 ........................................................................................... 332  11.4.3正交信號發生器設計 ................................................................................... 334  11.4.4數控移相信號發生器設計 ........................................................................... 335  11.4.5幅度調制信號發生器設計 ........................................................................... 335  11.5  FIR數字濾波器設計 ............................................................................................... 336  11.5.1 FIR濾波器原理 ............................................................................................ 337  11.5.2使用 DSP Builder設計 FIR濾波器 ............................................................. 337  11.5.3使用 MATLAB的濾波器設計工具 ............................................................. 342  11.5.4使用 FIR IP Core設計 FIR濾波器 .............................................................. 347  11.6  HDL模塊插入模擬及其設計 ................................................................................. 351  習題 ..................................................................................................................................... 353  實驗與設計 ......................................................................................................................... 354  實驗 11-1利用 MATLAB/DSP Builder設計基本電路模塊 ................................. 354  實驗 11-2基於 DSP Builder的 DDS應用模型設計 ............................................. 355  實驗 11-3 FIR數字濾波器設計實驗 ...................................................................... 357  實驗 11-4  HDL Import模塊應用實驗 .................................................................... 358  附錄 A EDA教學實驗平臺系統及相關軟件 ................................................................. 359  A.1 KX系列 EDA-FPGA教學綜合實驗平臺 ............................................................... 360  A.1.1  模塊化自主創新實驗設計結構 .................................................................... 360  A.1.2  動態配置 I/O高效實驗控制系統 ................................................................. 361  A.1.3  不同廠家不同功能類型的 FPGA核心板 .................................................... 362  A.1.4  引腳對照表 .................................................................................................... 363  A.2部分實驗擴展模塊 ................................................................................................... 364  A.3 MIF文件生成器使用方法 ....................................................................................... 364  A.4  HX1006A及其引腳鎖定工具軟件 ......................................................................... 366  參考文獻 ....................................................................................................................... 367