Xilinx FPGA 工程師成長手記
寇強
買這商品的人也買了...
-
$594$564 -
$390$371 -
$620$484 -
$680$646 -
$594$564 -
$414$393 -
$556FPGA 入門指南 : 用 Verilog HDL 語言設計電腦系統
-
$602嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統
-
$354$336 -
$258$245 -
$414$393 -
$1,068$1,015 -
$648$616 -
$654$621 -
$407SoC 設計方法與實現, 4/e
-
$594$564 -
$1,134$1,077 -
$570$542 -
$390$371 -
$1,188$1,129 -
$468$445 -
$468$445 -
$528$502 -
$380$300 -
$414$393
相關主題
商品描述
《Xilinx FPGA工程師成長手記》以Xilinx公司的FPGA為開發平臺,以Verilog HDL、System Verilog、VHDL和Vivado為開發工具,詳細介紹FPGA常用接口的實現方法,並通過大量實例,分析FPGA實現過程中的具體技術細節。《Xilinx FPGA工程師成長手記》提供相關實例的源碼文件和配套教學PPT,以方便讀者學習和相關高校教學。 《Xilinx FPGA工程師成長手記》共10章,分為2篇。第1篇Xilinx FPGA基礎知識,包括FPGA概述、FPGA的基本理論、FPGA的硬件描述語言和FPGA功能驗證;第2篇Xilinx FPGA邏輯設計,包括FPGA的知識產權、FPGA代碼封裝、FPGA低速接口設計、FPGA高速接口設計、FPGA硬件調試和FPGA開發技巧。 《Xilinx FPGA工程師成長手記》內容充實,實例豐富,非常適合FPGA開發和接口設計領域的入門讀者閱讀,也適合硬件設計領域的工程師和科研人員閱讀,還適合作為相關院校電子信息等專業本科生和研究生的教材。
作者簡介
寇強,大學畢業後一直從事基於FPGA邏輯設計的產品和項目開發,積累了大量的經驗。核心能力表現為FPGA接口開發、FPGA跨時鐘域問題解決,以及時序違規處理和邏輯系統核心Bug排除等。熟悉Intel FPGA和Xilinx FPGA芯片開發技術,尤其擅長Xilinx FPGA邏輯設計。從事過視頻LZW無損壓縮算法開發和列車實時以太網交換機時間同步機制開發,開發的產品應用於無人機、電梯和邊緣計算等多個領域。申請了多個基於FPGA實現數據采集與傳輸系統的發明專利。平時樂於分享技術經驗。
目錄大綱
1篇 Xilinx FPGA基礎知識
第1章 FPGA概述 2
1.1 什麽是FPGA 2
1.2 FPGA芯片廠商 2
1.2.1 國外FPGA廠商簡介 2
1.2.2 國內FPGA廠商簡介 3
1.3 FPGA的應用領域 4
1.3.1 數據采集領域 4
1.3.2 邏輯接口領域 5
1.3.3 數字信號處理領域 5
1.3.4 其他領域 5
1.4 FPGA的設計流程 5
1.4.1 需求分析 6
1.4.2 設計輸入 6
1.4.3 功能仿真 7
1.4.4 邏輯綜合 7
1.4.5 布局布線 7
1.4.6 芯片編程與調試 8
1.4.7 文檔和代碼管理 8
1.5 FPGA的人才需求 9
1.6 FPGA工程師的基本技能 10
1.7 本章習題 11
第2章 FPGA的基本理論 12
2.1 FPGA時鐘 12
2.1.1 時鐘模型 12
2.1.2 時鐘抖動 12
2.1.3 時鐘偏斜 13
2.1.4 時鐘設計 13
2.2 FPGA覆位 14
2.2.1 覆位的概念 14
2.2.2 覆位方式 14
2.2.3 覆位設計 15
2.3 FPGA時序 15
2.3.1 時序的概念 15
2.3.2 建立時間 16
2.3.3 保持時間 17
2.3.4 亞穩態 17
2.4 FPGA異步時鐘域 17
2.4.1 異步時鐘域的概念 17
2.4.2 異步時鐘域數據轉換策略 18
2.5 FPGA約束 23
2.6 FPGA的專業術語 24
2.7 本章習題 25
第3章 FPGA的硬件描述語言 26
3.1 硬件描述語言概述 26
3.1.1 硬件描述語言簡介 26
3.1.2 硬件描述語言的類型 27
3.2 VHDL語法基礎 27
3.2.1 VHDL模塊結構 27
3.2.2 VHDL的基本語法 29
3.2.3 VHDL模塊調用 29
3.3 Verilog HDL語法基礎 30
3.3.1 Verilog HDL模塊結構 30
3.3.2 Verilog HDL的基本語法 31
3.3.3 Verilog HDL模塊調用 36
3.4 System Verilog語法基礎 37
3.4.1 System Verilog模塊結構 37
3.4.2 System Verilog的基本語法 38
3.4.3 System Verilog模塊調用 38
3.5 FPGA設計規範及編程技巧 39
3.5.1 FPGA設計規範 39
3.5.2 FPGA設計注釋 41
3.5.3 FPGA設計技巧 41
3.6 本章習題 42
第4章 FPGA功能驗證 43
4.1 驗證概述 43
4.1.1 驗證定義 43
4.1.2 驗證計劃 44
4.1.3 驗證方法 44
4.1.4 驗證的作用 44
4.2 編寫仿真激勵 45
4.2.1 編寫測試激勵的流程 45
4.2.2 編寫時鐘測試激勵 45
4.2.3 編寫覆位測試激勵 47
4.3 系統函數 48
4.3.1 常用的系統函數 48
4.3.2 編寫測試激勵實例 49
4.4 驗證軟件 51
4.4.1 仿真軟件 51
4.4.2 仿真過程 51
4.4.3 仿真實例 52
4.5 驗證技巧 61
4.5.1 變量初始化 61
4.5.2 模塊封裝 62
4.5.3 回環測試 63
4.5.4 計數器 63
4.5.5 讀文件和寫文件 64
4.5.6 避免出現藍線 65
4.6 本章習題 66
第2篇 Xilinx FPGA邏輯設計
第5章 FPGA的知識產權 68
5.1 MMCM IP核設計 68
5.1.1 MMCM簡介 68
5.1.2 MMCM IP核定制 68
5.1.3 MMCM IP核仿真 73
5.2 FIFO IP核設計 75
5.2.1 FIFO簡介 75
5.2.2 FIFO IP核定制 75
5.2.3 FIFO IP核仿真 80
5.3 RAM IP核設計 83
5.3.1 RAM簡介 83
5.3.2 RAM IP核定制 83
5.3.3 RAM IP核仿真 88
5.4 Counter IP核設計 91
5.4.1 Counter簡介 91
5.4.2 Counter IP核定制 91
5.4.3 Counter IP核仿真 94
5.5 本章習題 96
第6章 FPGA代碼封裝 97
6.1 IP核封裝 97
6.1.1 IP核簡介 97
6.1.2 自定義IP核封裝 98
6.1.3 自定義IP核驗證 107
6.2 網表封裝 108
6.2.1 網表簡介 108
6.2.2 自定義網表封裝 108
6.2.3 自定義網表驗證 116
6.3 本章習題 121
第7章 FPGA低速接口設計 122
7.1 SPI邏輯設計 122
7.1.1 SPI總線概述 122
7.1.2 SPI實例設計 123
7.1.3 SPI實例驗證 126
7.1.4 SPI硬件調試 127
7.2 UART邏輯設計 128
7.2.1 UART總線概述 128
7.2.2 UART實例設計 129
7.2.3 UART實例驗證 133
7.2.4 UART硬件調試 135
7.3 IIC邏輯設計 136
7.3.1 IIC總線概述 136
7.3.2 IIC實例設計 139
7.3.3 IIC仿真驗證 143
7.3.4 IIC硬件調試 144
7.4 CAN邏輯設計 145
7.4.1 CAN總線概述 145
7.4.2 CAN實例設計 147
7.4.3 CAN邏輯驗證 151
7.4.4 CAN硬件調試 153
7.5 本章習題 155
第8章 FPGA高速接口設計 156
8.1 DDR3接口設計 156
8.1.1 存儲器簡介 156
8.1.2 DDR3 IP核簡介 158
8.1.3 DDR3讀寫功能設計 160
8.1.4 DDR3讀寫功能邏輯仿真 172
8.1.5 DDR3讀寫功能硬件調試 174
8.2 PCIE接口設計 182
8.2.1 PCIE簡介 183
8.2.2 PCIE IP核簡介 184
8.2.3 PCIE通信功能設計 185
8.2.4 PCIE通信功能仿真 191
8.2.5 PCIE接口硬件調試 195
8.3 本章習題 201
第9章 FPGA硬件調試 202
9.1 FPGA硬件調試概述 202
9.1.1 FPGA硬件調試簡介 202
9.1.2 FPGA調試IP核 202
9.2 閃爍燈硬件調試 203
9.2.1 閃爍燈系統設計 203
9.2.2 閃爍燈程序設計 204
9.2.3 閃爍燈硬件調試 205
9.3 本章習題 219
第10章 FPGA開發技巧 220
10.1 FPGA時鐘管理 220
10.1.1 使用時鐘IP核設計時鐘 220
10.1.2 使用硬件描述語言設計時鐘 222
10.1.3 使用時鐘原語設計時鐘 223
10.2 FPGA覆位設計 225
10.2.1 使用時鐘IP核鎖存信號進行覆位 226
10.2.2 使用硬件描述語言進行覆位 226
10.3 FPGA時鐘域處理 227
10.3.1 使用異步FIFO處理跨時鐘域數據實例 227
10.3.2 使用雙端口RAM處理跨時鐘域數據實例 228
10.3.3 使用延遲法處理跨時鐘域數據實例 230
10.3.4 使用應答機制處理跨時鐘域數據實例 231
10.3.5 采用格雷碼轉換處理跨時鐘域數據實例 233
10.4 FPGA通用模塊設計 236
10.4.1 接口通用模塊設計 236
10.4.2 內部邏輯通用模塊設計 237
10.4.3 仿真通用模塊設計 237
10.4.4 調試通用模塊設計 238
10.5 FPGA開發檢查表 238
10.5.1 FPGA需求分析 238
10.5.2 FPGA方案設計 240
10.5.3 FPGA設計輸入 240
10.5.4 FPGA功能仿真 243
10.5.5 FPGA硬件調試 244
10.6 本章習題 245
Xilinx FPGA工程師成長手記