FPGA匠人手記:工程師的技術成長之路
郭振揚
買這商品的人也買了...
-
Digital Signal Processing: A Practical Guide for Engineers and Scientists (Paperback)$3,630$3,448 -
$1,550Optimal Control, 3/e (Hardcover) -
$300ModelSim 電子系統分析及模擬(第2版) -
$270精通 LabVIEW 信號處理 -
Analog Circuit Design: Discrete & Integrated (IE-Paperback)$1,200$1,176 -
音響入門誌 2-擴大機篇 (Summer 2015 Vol. 2)$1,280$1,216 -
Linear System Theory and Design, 4/e (Paperback)$1,320$1,293 -
$336Vivado 從此開始 (進階篇) -
$453MATLAB/Simulink 系統建模與模擬 -
$504MATLAB/Simulink 機電動態系統模擬及工程應用, 2/e
相關主題
商品描述
本書凝聚資深工程師十余年的FPGA開發經驗,基於行業核心特質——知識體系穩定、技術門檻高、經驗壁壘強,系統性地構建了FPGA開發的完整知識框架,以幫助FPGA工程師塑造獨特的職業“抗衰老”優勢。本書包含六大核心內容:基礎知識,邏輯設計,高速串行收發器的使用,數字信號處理,調試技巧與經驗,FPGA與ASIC RTL的異同。書中融入了大量來自真實項目的經驗總結和“避坑”指南,為處於職業成長期、常在實際工程中遇到瓶頸的工程師提供參考。
本書是一份技術指南,也是一本職業發展啟示錄——既授“如何做”,又啟“如何思”,能幫助FPGA工程師突破技術“天花板”,實現職業躍升。
作者簡介
郭振揚,資深FPGA開發工程師,軟件無線電和衛星導航領域的深度愛好者,微信公眾號為「FPGA十年老鳥」,CSDN知名博主。作者樂於分享技術,累計撰寫兩百余篇實戰博客,內容貼近工程實際痛點,在網絡上受到FPGA開發者的認可。工作內容涉及邏輯設計、高速數字接口、數字信號處理等領域的FPGA工程落地,曾參與過多個量產項目的開發。擅長從底層電路的角度拆解設計思路,在時序優化、調試排錯等方面積累了一些自己的經驗和心得。
目錄大綱
目 錄
第 一部分 基礎知識
第 1章 FPGA概述 2
1.1 FPGA定義 2
1.2 FPGA的基本結構 2
1.3 FPGA的設計 5
第 2章 FPGA的資源 6
2.1 資源的種類 6
2.2 CLB 7
2.3 DSP切片 9
2.4 BRAM 10
2.5 SelectIO 10
2.6 CMT 12
2.7 收發器 12
2.8 布線資源 13
第3章 硬件描述語言 14
3.1 可綜合的語句 14
3.2 編碼風格 15
3.3 描述“硬件”的語言 16
第4章 理解原語 18
4.1 原語的定義 18
4.2 原語的種類 18
4.3 原語的使用 19
第5章 FPGA設計的實現 23
5.1 設計定義 23
5.2 HDL實現和功能仿真 24
5.3 邏輯綜合 25
5.4 門級仿真 25
5.5 布局布線 26
5.6 時序仿真 26
5.7 靜態時序分析 27
5.8 板級測試 27
第6章 FPGA工具的使用 28
6.1 Vivado的使用 28
6.2 ModelSim的使用 31
第二部分 邏輯設計漫談
第7章 寫代碼心中要有電路 36
7.1 心中無電路 36
7.2 心中有電路 36
第8章 邏輯級數 40
8.1 邏輯級數的概念 40
8.2 邏輯級數的影響 43
8.3 討論 44
第9章 常用邏輯的邏輯級數預估 45
9.1 常用的邏輯塊 45
9.2 邏輯級數拆分 57
第 10章 復位的設計 60
10.1 復位的目的 60
10.2 全局復位的代價 60
10.3 復位設計要點 61
10.4 復位設計建議 64
第 11章 時序分析與約束 65
11.1 時序分析場景 65
11.2 單周期時序分析模型 67
11.3 輸入端口處時序分析模型 69
11.4 輸出端口處時序分析模型 72
第 12章 時序報告解讀 74
12.1 時序摘要 74
12.2 時序路徑詳細解讀 75
12.3 理想與現實的差異 78
第 13章 時序不通過怎麼辦 82
13.1 時序不通過的原因 82
13.2 跨時鐘域問題未得到妥善處理 82
13.3 存在較少的時序違例 82
13.4 邏輯級數過深 83
13.5 扇出過大 83
13.6 資源擁塞 84
13.7 IDE版本過低 85
13.8 大範圍時序違例 85
第 14章 跨時鐘域處理 86
14.1 常見跨時鐘域問題 86
14.2 常見跨時鐘域處理 90
14.3 跨時鐘域的約束 96
第 15章 塊存儲器的高效使用 99
15.1 配置種類 99
15.2 讀寫操作模式 99
15.3 優化設計 100
第 16章 DSP48E1的高效利用 103
16.1 DSP48E1的功能 103
16.2 實現相關器實例 104
第 17章 高速I/O信號的接收處理 110
17.1 I/O邏輯資源 110
17.2 高速I/O信號處理 112
第三部分 高速串行收發器的使用
第 18章 高速收發器基礎知識 118
18.1 基本模型 118
18.2 線路編碼 119
18.3 時鐘恢復 122
18.4 接收字對齊 123
18.5 時鐘校正 124
18.6 接收緩沖器和發送緩沖器 126
18.7 通道綁定 126
18.8 信號完整性與眼圖 127
18.9 發送均衡 132
18.10 接收均衡 133
第 19章 Xilinx FPGA收發器簡介 135
19.1 收發器結構 135
19.2 收發器向導IP 136
19.3 討論 139
第 20章 參考時鐘 140
20.1 相關電路與原語 140
20.2 相關端口與使用 145
第 21章 發送通道時鐘分析 150
21.1 TX PMA內部時鐘分析 150
21.2 TX PCS內部時鐘分析 152
21.3 TXUSRCLK、TXUSRCLK2的來源 154
21.4 相關端口與使用 156
第 22章 接收通道時鐘分析 157
22.1 RX PMA內部時鐘分析 157
22.2 RX PCS內部時鐘分析 159
22.3 RXUSRCLK、RXUSRCLK2的來源 161
22.4 相關端口與使用 165
第 23章 發送鏈路信號處理 166
23.1 FPGA TX接口 166
23.2 TX碼型發生器 169
23.3 TX緩沖器 170
23.4 極性反轉功能 171
第 24章 接收鏈路信號處理 172
24.1 極性反轉功能 172
24.2 PRBS檢查器 173
24.3 字節對齊和字邊界對齊 173
24.4 接收彈性緩沖器 176
24.5 時鐘校正功能 176
24.6 通道綁定功能 179
24.7 FPGA RX接口 182
第 25章 高速收發器的前端和均衡 186
25.1 發送端前端和均衡 186
25.2 接收端模擬前端 188
25.3 接收端均衡 190
第 26章 收發器調試工具IBERT 192
26.1 IBERT基本介紹 192
26.2 IBERT設置 193
26.3 測試界面 194
26.4 示波器實測 195
26.5 參數掃描 197
第 27章 基於收發器的協議——JESD204B 201
27.1 JESD204B協議介紹 201
27.2 工程實例 206
27.3 調試步驟歸納 211
第四部分 數字信號處理
第 28章 從算法到FPGA實現 214
28.1 算法模型 214
28.2 定點模型 215
28.3 RTL實現 217
第 29章 FIR濾波器及其高效實現 219
29.1 FIR濾波器相關理論 219
29.2 FIR濾波器實現架構 220
29.3 DSP48E1實現全並行FIR濾波器 221
第30章 多速率濾波器 228
30.1 多速率濾波器相關理論 228
30.2 半帶濾波器 230
30.3 CIC濾波器 233
第31章 理解多相濾波器的實現 240
31.1 多相濾波器概述 240
31.2 多相分解 240
31.3 Nobel恒等式 242
31.4 插值抽取系統中的多相濾波結構 243
31.5 多相濾波器解決工程問題示例一 246
31.6 多相濾波器解決工程問題示例二 248
第32章 定點數據舍位處理分析 253
32.1 擴位和舍位 253
32.2 截斷低位 253
32.3 非對稱向上舍入 255
32.4 非對稱向下舍入 257
32.5 對稱向無窮大舍入 258
32.6 對稱向零舍入 260
32.7 收斂向偶數/奇數舍入 261
第33章 DDS的實現思路和性能分析 264
33.1 DDS基礎模型 264
33.2 相位截斷DDS模型 266
33.3 相位抖動DDS模型 268
33.4 泰勒級數校正DDS模型 269
33.5 波形壓縮 271
第34章 CORDIC的實現思路 273
34.1 CORDIC算法原理 273
34.2 sqrt和atan運算的算法模型 274
34.3 cos和sin運算的算法仿真 277
34.4 CORDIC算法的定點化 278
第35章 FFT的實現思路 280
35.1 DFT與FFT 280
35.2 FFT算法模型 281
35.3 基於FFT的定點模型要點 286
35.4 FFT RTL實現思路 287
第五部分 調試技巧與經驗
第36章 使用JTAG to AXI Master IP調試 294
36.1 JTAG的優勢 294
36.2 JTAG to AXI Master IP的用法 295
36.3 測試方法 296
第37章 自定義串口協議調試方法 298
37.1 自定義串口協議調試的優勢 298
37.2 串口總線協議設計 299
37.3 串口轉總線實現框圖 300
37.4 調試方法 301
第38章 使用上位機高效調試 303
38.1 問題排查的難題 303
38.2 自制上位機調試工具 304
38.3 上位機程序片段 305
第39章 FPGA設計中的典型BUG 307
39.1 BUG來源之惑 307
39.2 設計原因 307
39.3 理解原因 309
39.4 硬件原因 310
第六部分 雜談
第40章 FPGA與ASIC RTL的異同 314
第41章 FPGA開發提升歷程 318
後 記

