FPGA Verilog開發實戰指南:基于Intel Cyclone IV(基礎篇)( 簡體 字) | |
作者:劉火良 楊森 張碩 | 類別:1. -> 電子工程 -> FPGA |
出版社:機械工業出版社 | 3dWoo書號: 54224 詢問書籍請說出此書號! 有庫存 NT售價: 995 元 |
出版日:1/1/2021 | |
頁數:857 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111674160 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
硬件說明篇
第1章 初識FPGA 2 1.1 FPGA是什么 2 1.1.1 名詞解釋 2 1.1.2 FPGA發展歷程 2 1.2 FPGA的技術優勢 7 1.3 FPGA的應用方向 9 第2章 硬件開發平臺詳解 15 2.1 開發板簡介 15 2.2 國內外FPGA產業現狀 19 2.3 選擇Cyclone IV的理由 20 2.4 Cyclone系列FPGA芯片的命名方法 23 2.5 FPGA內部硬件結構簡介 24 2.6 FPGA內部硬件結構與代碼的關系 33 2.6.1 I/O的映射 34 2.6.2 組合邏輯映射 43 2.6.3 時序邏輯映射 45 2.6.4 指定PLL的映射位置 56 軟件安裝篇 第3章 Quartus軟件和USB-Blaster驅動安裝 66 3.1 Quartus II_13.0軟件的安裝 66 3.2 添加器件庫 72 3.3 USB-Blaster驅動器的安裝 76 第4章 ModelSim軟件安裝 80 第5章 Visio和Notepad++軟件安裝 87 5.1 Visio軟件的安裝 87 5.2 Notepad++軟件的安裝 93 第6章 實現Quartus和ModelSim、Notepad++軟件關聯 99 6.1 Quartus II_13.0和ModelSim_10.5se軟件的關聯 99 6.2 Quartus II_13.0和Notepad++軟件的關聯 101 基礎入門篇 第7章 初識Verilog HDL 106 7.1 為什么選擇用Verilog HDL開發FPGA 106 7.1.1 Verilog HDL和VHDL的比較 106 7.1.2 Verilog HDL和C語言的比較 107 7.2 Verilog HDL語言的基礎語法 107 7.2.1 標識符 107 7.2.2 邏輯值 108 7.2.3 常量 108 7.2.4 變量 109 7.2.5 參數 109 7.2.6 賦值語句 110 7.2.7 注釋 110 7.2.8 關系運算符 111 7.2.9 歸約運算符、按位運算符和邏輯運算符 111 7.2.10 移位運算符 112 7.2.11 條件運算符 112 7.2.12 優先級 112 7.2.13 位拼接運算符 113 7.2.14 if-else與case 113 7.2.15 inout雙向端口 115 7.2.16 Verilog語言中的系統任務和系統函數 116 7.3 章末總結 123 第8章 點亮LED燈 124 8.1 正確的設計流程 124 8.2 工程文件夾的管理 124 8.3 一個完整的設計過程 126 8.3.1 功能簡介 126 8.3.2 硬件資源 126 8.3.3 新建一個Visio文件及其配置 127 8.3.4 模塊和端口信號劃分 130 8.3.5 波形設計 131 8.3.6 新建工程 133 8.3.7 RTL代碼的編寫 140 8.3.8 代碼的分析和綜合 143 8.3.9 查看RTL視圖 144 8.3.10 Testbench的原理 145 8.3.11 Testbench代碼的編寫 147 8.3.12 仿真設置 151 8.3.13 設置NativeLink 153 8.3.14 打開ModelSim觀察波形 155 8.3.15 仿真波形分析 162 8.3.16 引腳約束 162 8.3.17 全編譯 165 8.3.18 通過JTAG將網表下載到開發板 168 8.3.19 未使用引腳的默認設置 172 8.3.20 程序的固化 174 8.4 章末總結 185 第9章 簡單組合邏輯 186 9.1 理論學習 186 9.1.1 多路選擇器 186 9.1.2 譯碼器 186 9.1.3 半加器 187 9.2 實戰演練—多路選擇器 187 9.2.1 實驗目標 187 9.2.2 硬件資源 187 9.2.3 程序設計 188 9.3 實戰演練—譯碼器 198 9.3.1 實驗目標 198 9.3.2 程序設計 198 9.4 實戰演練—半加器 205 9.4.1 實驗目標 205 9.4.2 硬件資源 205 9.4.3 程序設計 206 9.5 章末總結 211 第10章 層次化設計 213 10.1 理論學習 213 10.2 實戰演練 215 10.2.1 實驗目標 215 10.2.2 硬件資源 215 10.2.3 程序設計 215 10.3 章末總結 225 第11章 避免Latch的產生 226 11.1 Latch是什么 226 11.2 Latch的危害 226 11.3 幾種產生Latch的情況 226 11.4 章末總結 232 第12章 時序邏輯的開始——寄存器 234 12.1 理論學習 234 12.2 實戰演練 234 12.2.1 實驗目標 234 12.2.2 硬件資源 235 12.2.3 程序設計 236 12.3 章末總結 243 第13章 阻塞賦值與非阻塞賦值 245 13.1 理論學習 245 13.2 阻塞賦值 246 13.3 非阻塞賦值 248 13.4 章末總結 251 第14章 計數器 252 14.1 理論學習 252 14.2 實戰演練 252 14.2.1 實驗目標 252 14.2.2 硬件資源 252 14.2.3 程序設計 253 14.3 章末總結 262 第15章 分頻器 263 15.1 理論學習 263 15.2 實戰演練一 263 15.2.1 實驗目標 263 15.2.2 硬件資源 264 15.2.3 程序設計 264 15.3 實戰演練二 270 15.3.1 實驗目標 270 15.3.2 硬件資源 271 15.3.3 程序設計 271 15.4 章末總結 278 第16章 按鍵消抖模塊的設計與驗證 279 16.1 理論學習 279 16.1.1 硬件消抖 280 16.1.2 軟件消抖 281 16.2 實戰演練 281 16.2.1 實驗目標 281 16.2.2 程序設計 281 16.3 章末總結 288 第17章 流水燈 289 17.1 理論學習 289 17.2 實戰演練 289 17.2.1 實驗目標 289 17.2.2 硬件資源 289 17.2.3 程序設計 290 17.3 章末總結 294 第18章 狀態機 295 18.1 理論學習 295 18.2 實戰演練一 297 18.2.1 實驗目標 297 18.2.2 程序設計 297 18.3 實戰演練二 308 18.3.1 實驗目標 309 18.3.2 程序設計 309 18.4 章末總結 316 第19章 數碼管的動態顯示 318 19.1 理論學習 318 19.1.1 數碼管簡介 318 19.1.2 八段數碼管 318 19.1.3 74HC595簡介 321 19.1.4 數碼管動態顯示簡介 323 19.2 實戰演練 324 19.2.1 實驗目標 324 19.2.2 硬件資源 324 19.2.3 程序設計 325 19.3 章末總結 353 第20章 快速開發的法寶——IP核 354 20.1 理論學習 354 20.2 實戰演練 358 20.2.1 IP核之PLL 359 20.2.2 IP核之ROM 376 20.2.3 IP核之RAM 406 20.2.4 IP核之FIFO 439 20.3 章末總結 463 學習強化篇 第21章 串口RS-232 466 21.1 理論學習 466 21.1.1 串口簡介 466 21.1.2 RS-232信號線 467 21.1.3 RS-232通信協議簡介 469 21.2 實戰演練 470 21.2.1 實驗目標 470 21.2.2 硬件資源 470 21.2.3 程序設計 472 21.3 章末總結 504 第22章 使用SignalTap II嵌入式邏輯分析儀在線調試 506 22.1 邏輯分析儀簡介 506 22.2 SignalTap II的用法 508 第23章 簡易頻率計的設計與驗證 528 23.1 理論學習 528 23.2 實戰演練 529 23.2.1 實驗目標 529 23.2.2 硬件資源 529 23.2.3 程序設計 530 23.3 章末總結 544 第24章 簡易DDS信號發生器的設計與驗證 545 24.1 理論學習 545 24.2 實戰演練 548 24.2.1 實驗目標 548 24.2.2 硬件資源 548 24.2.3 程序設計 551 24.3 章末總結 574 第25章 簡易電壓表的設計與驗證 575 25.1 理論學習 575 25.2 實戰演練 576 25.2.1 實驗目標 576 25.2.2 硬件資源 577 25.2.3 程序設計 579 25.3 章末總結 591 第26章 VGA顯示器驅動設計與驗證 592 26.1 理論學習 592 26.1.1 VGA簡介 592 26.1.2 VGA接口及引腳定義 593 26.1.3 VGA顯示原理 595 26.1.4 VGA時序標準 596參數 598 26.2 實戰演練 600 26.2.1 實驗目標 600 26.2.2 硬件資源 600 26.2.3 程序設計 601 26.3 章末總結 623 第27章 HDMI顯示器驅動設計與驗證 624 27.1 理論學習 624 27.1.1 HDMI簡介 624 27.1.2 HDMI接口及引腳定義 625 27.1.3 HDMI顯示原理 628 27.2 實戰演練 631 27.2.1 實驗目標 631 27.2.2 硬件資源 631 27.2.3 程序設計 632 27.3 章末總結 655 第28章 TFT-LCD液晶屏驅動設計與驗證 656 28.1 理論學習 656 28.1.1 TFT-LCD簡介 656 28.1.2 RGB接口TFT-LCD時序 658 28.1.3 RGB接口TFT-LCD分辨率 660 28.2 實戰演練 660 28.2.1 實驗目標 660 28.2.2 硬件資源 661 28.2.3 程序設計 662 28.3 章末總結 683 第29章 FIFO求和實驗 684 29.1 理論學習 684 29.2 實戰演練 685 29.2.1 實驗目標 685 29.2.2 程序設計 685 29.3 章末總結 701 第30章 基于Sobel算法的邊緣檢測設計與實現 702 30.1 理論學習 702 30.1.1 邊緣檢測 702 30.1.2 Sobel算法簡介 702 30.2 實戰演練 703 30.2.1 Sobel算法實現 703 30.2.2 實驗目標 703 30.2.3 硬件資源 704 30.2.4 程序設計 704 30.3 章末總結 730 第31章 基于SPI協議的Flash驅動控制 731 31.1 理論學習 731 31.1.1 SPI物理層 731 31.1.2 SPI協議層 733 31.2 實戰演練 735 31.2.1 SPI-Flash全擦除實驗 736 31.2.2 SPI-Flash頁寫實驗 755 31.2.3 SPI_Flash讀數據實驗 771 31.3 章末總結 793 第32章 基于I2C協議的EEPROM驅動控制 794 32.1 理論學習 794 32.1.1 I2C物理層 794 32.1.2 I2C協議層 795 32.2 實戰演練 802 32.2.1 實驗目標 802 32.2.2 硬件資源 802 32.2.3 程序設計 803 32.3 章末總結 844 后記 845 本書包括32個章節,按照先易后難的順序進行講解,分為硬件說明篇、軟件安裝篇、基礎入門篇和學習強化篇四大板塊。從基礎的硬件介紹、軟件安裝到基本電路開發,手把手教學。考慮到大多數學習者為FPGA初學者,所以本書把操作中的每個步驟都盡可能詳細的介紹和描述,并附上大量的截圖以供學習者實操參考。
|