-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

FPGA的人工智能之路:基于Intel FPGA開發的入門到實踐

( 簡體 字)
作者:張瑞類別:1. -> 電子工程 -> FPGA
譯者:
出版社:電子工業出版社FPGA的人工智能之路:基于Intel FPGA開發的入門到實踐 3dWoo書號: 53873
詢問書籍請說出此書號!

缺書
NT售價: 490

出版日:12/1/2020
頁數:332
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121402401
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

當前,我們正面臨著一場前所未有的科技革命,以大數據、人工智能、5G、云計算等為代表的新興技術正在推動人類社會向數字化、智能化轉變。隨著新一代信息技術應用的不斷發展和深化,數字基礎設施建設的承載需求也與日俱增,數據量的激增導致數據的傳輸、計算和存儲都面臨著巨大的挑戰。同時,在各領域中,不同的應用場景都面臨著其獨特的數據處理需求。例如,在邊緣和嵌入式設備中,支持低功耗、小尺寸和低成本的設計至關重要;在網絡應用中,需要應對最高數據流量和以太網速度;在數據中心,則需要提供高帶寬、低延時計算加速。面對上述需求及挑戰,FPGA以其獨特的性能和優勢恰好可為企業提供極具競爭力的解決方案。
FPGA具備出色的靈活性和低延時性,能夠通過改變和重組邏輯電路的方式滿足不同應用場景的數據處理和加速需求。高性能和高效率不僅能優化企業的產品和解決方案性能,還能加快從研發到上市的進程,以化解市場需求不確定性所帶來的風險等。5G、人工智能、數據中心和工業互聯網等是新基建的重要組成部分,而FPGA以其靈活性、可編程、低延時及低功耗的特性,恰恰是這些領域中需要的核心技術之一,在這樣的熱潮下,FPGA也將迎來前所未有的發展機遇。
本書作為英特爾FPGA中國創新中心系列叢書之一,以提高開發人員的FPGA技術知識和應用能力為目標,圍繞FPGA技術基礎篇、FPGA開發方法篇及FPGA人工智能應用篇三大板塊進行闡述,以FPGA核心知識為基礎、設計方法為重要內容,結合FPGA在人工智能領域的應用實踐,用翔實的案例幫助讀者理解和掌握FPGA技術及應用。本書分為三個部分,共計11章,具體內容如下。
第一部分內容貫穿了FPGA的基礎知識及開發流程。首先,介紹了FPGA的基本概念和入門知識,從FPGA的抽象化解釋,到FPGA如何從早期的邏輯門器件演變為當前的現場可編程邏輯門陣列的整個發展歷程,使讀者明白FPGA的概念及特點。其次,介紹了FPGA的內部結構,進一步解讀FPGA的片上資源,包括查找表、可編程寄存器、自適應邏輯模塊、內部存儲模塊和時鐘網絡等,使讀者能夠從FPGA的最基本邏輯單元和最底層結構的角度加深對FPGA的理解。再次,介紹了FPGA的Verilog HDL語言開發方法,包括基本語法,如if-else語句、case語句等和高級開發技巧,如鎖存器和寄存器的區別、阻塞與非阻塞的區別,并且根據編碼器、譯碼器、雙向寄存器和冒泡排序等實例具體介紹Verilog HDL語言的開發。最后,介紹了FPGA在Quartus Prime軟件中的開發流程,結合FPGA基礎知識、FPGA的內部結構及Verilog硬件描述語言系列內容,形成了一個基本的FPGA開發知識體系。
第二部分內容主要介紹了FPGA開發方法和工具,在對第一部分內容進行深化的同時,進一步介紹了面向軟件工程師的FPGA開發方法。首先,介紹了FPGA傳統開發過程中使用到的分析與調試工具,如綜合工具、約束工具、時序分析工具、調試工具等,介紹了編譯報告和網表查看工具。其次,介紹了基于FPGA的可編程片上系統(SOPC)的構建方法及其軟硬件的開發流程,介紹了IP核與Nios處理器。再次,介紹了使用高層次綜合設計的FPGA設計工具HLS進行FPGA開發的方法,包括基于HLS的開發流程、代碼優化、Modelsim仿真及HLS多種接口的使用場景分析。最后,介紹了在異構計算場景下,如何使用OpenCL進行FPGA開發的方法,包括主機端和設備端的代碼編寫。
第三部分內容作為FPGA開發的一個擴展,主要介紹FPGA在人工智能領域的應用。首先,介紹了人工智能的發展歷史和深度學習技術的基本知識,包括常用的深度學習網絡模型和編程框架。其次,介紹了深度學習的概念、基本構成及深度學習的應用挑戰,包括神經網絡基本構成、常見的神經網絡模型和數據集。最后,以計算機機器視覺為例,介紹了如何使用英特爾OpenVINO工具在英特爾FPGA上部署深度學習推理計算。
關于本書涉及的FPGA內容,讀者可以直接訪問獲取線上視頻、遠程FPGA加速資源等豐富的學習和開發資源。
鑒于筆者學識有限,本書內容可能有不足之處,懇請廣大讀者不吝賜教。

張 瑞
2020年秋
內容簡介:

本書主要從技術基礎、開發方法和人工智能應用三個方面介紹FPGA的開發方法,圍繞FPGA的基礎知識,Verilog硬件描述語言,FPGA在Quartus中的開發流程,FPGA的SOPC、HLS、OpenCL設計方法,FPGA在人工智能領域的應用等方面進行闡述,使開發人員能理解FPGA的核心知識,掌握FPGA的開發方法和開發工具。本書包含FPGA技術基礎篇、FPGA開發方法篇和人工智能應用篇三大板塊,共計11章,以FPGA基礎知識為切入點,通過對開發方法和設計思路的講解,幫助讀者快速掌握FPGA開發技術及FPGA在人工智能上的應用。本書可作為FPGA和其他開發人員進行FPGA設計和應用的參考用書。
目錄:

第一部分 FPGA技術基礎篇
第1章 FPGA的特點及其歷史 002
1.1 無處不在的FPGA 002
1.2 創造性地解釋FPGA 003
1.2.1 珠串法 004
1.2.2 樂高積木法 004
1.3 FPGA的可定制性 005
1.4 早期的邏輯功能實現 006
1.4.1 數字設計與TTL邏輯 007
1.4.2 從TTL到可編程邏輯 008
1.5 可簡單編程邏輯器件(PAL) 009
1.5.1 可編程陣列邏輯優勢 009
1.5.2 PAL編程技術 010
1.6 可編程邏輯器件(PLD) 011
1.7 復雜可編程邏輯器件(CPLD) 012
1.7.1 普通CPLD邏輯塊的特點 012
1.7.2 CPLD的一般優勢 013
1.7.3 非易失FPGA 014
1.8 現場可編程邏輯門陣列(FPGA) 015
第2章 FPGA架構 017
2.1 FPGA全芯片架構 017
2.2 FPGA邏輯陣列模塊 018
2.2.1 查找表(LUT) 019
2.2.2 可編程寄存器 019
2.2.3 LABs和LE:更進一步的觀察 022
2.2.4 自適應邏輯模塊(ALM) 023
2.3 FPGA嵌入式存儲 024
2.3.1 存儲資源的利用 024
2.3.2 M9K資源介紹 025
2.4 時鐘網絡 027
2.4.1 FPGA時鐘架構 027
2.4.2 PLL(鎖相環) 028
2.5 DSP模塊 028
2.6 FPGA布線 029
2.7 FPGA編程資源 030
2.8 FPGA I/O元件 031
2.8.1 典型的I/O元件邏輯 031
2.8.2 高速收發器 032
2.9 英特爾FPGA SoC 033
第3章 Verilog HDL 035
3.1 Verilog HDL概述 035
3.1.1 Verilog HDL的介紹 035
3.1.2 Verilog HDL的發展歷史 036
3.1.3 Verilog HDL的相關術語 037
3.1.4 Verilog HDL的開發流程 038
3.2 Verilog HDL基礎知識 040
3.2.1 程序結構 040
3.2.2 程序實例 041
3.2.3 數據類型 041
3.2.4 模塊例化 043
3.2.5 運算符 044
3.3 Verilog HDL的基本語法 048
3.3.1 if-else語句 048
3.3.2 case語句 049
3.3.3 for循環 050
3.3.4 Verilog HDL常用關鍵字匯總 050
3.4 Verilog HDL高級知識點 051
3.4.1 阻塞與非阻塞的區別 051
3.4.2 assign語句和always語句的區別 054
3.4.3 鎖存器與寄存器的區別 054
3.4.4 狀態機 055
3.5 Verilog HDL開發實例篇 059
3.5.1 漢明碼編碼器 059
3.5.2 數碼管譯碼器 063
3.5.3 雙向移位寄存器 066
3.5.4 冒泡排序 069
第4章 Quartus Prime基本開發流程 081
4.1 Quartus Prime軟件介紹 081
4.1.1 英特爾FPGA軟件與硬件簡介 081
4.1.2 Quartus Prime標準版設計軟件簡介 083
4.1.3 Quartus Prime主窗口界面 085
4.1.4 Quartus Prime默認操作環境 085
4.1.5 Quartus Prime主工具欄 086
4.1.6 Quartus Prime內置幫助系統 087
4.1.7 Quartus Prime可分離的窗口 088
4.1.8 Quartus Prime任務窗口 088
4.1.9 Quartus Prime自定義任務流程 090
4.2 Quartus Prime開發流程 091
4.2.1 典型的FPGA開發流程 091
4.2.2 創建Quartus Prime工程 094
4.2.3 設計輸入 100
4.2.4 編譯 106
4.2.5 分配管腳 111
4.2.6 仿真 112
4.2.7 器件配置 113
4.3 實驗指導 116
4.3.1 流水燈實驗 116
4.3.2 按鍵實驗 128
4.3.3 PLL實驗 136
第二部分 PGA開發方法篇
第5章 FPGA設計工具 145
5.1 編譯報告 145
5.1.1 源文件讀取報告 147
5.1.2 資源使用報告 147
5.1.3 動態綜合報告 149
5.2 網表查看工具 149
5.2.1 RTL Viewer 149
5.2.2 Technology Map Viewer 150
5.2.3 State Machine Viewer 152
5.3 物理約束 153
5.3.1 物理約束設計 153
5.3.2 Assignment Editor 154
5.3.3 QSF文件設置 156
5.4 時序分析工具 158
5.4.1 TimeQuest Timing Analyzer的GUI圖形交互界面 158
5.4.2 任務窗格(Tasks) 159
5.4.3 創建時序數據庫(Netlist Setup) 159
5.4.4 常用的約束報告 160
5.4.5 報告窗格(Report Pane) 161
5.4.6 時序異常(Exceptions) 162
5.4.7 關于SDC的最后說明 164
5.5 功耗分析工具 164
5.5.1 功耗和熱考慮因素 164
5.5.2 功耗分析工具比較 165
5.5.3 EPE電子表格 165
5.5.4 Power Analyzer 166
5.6 片上調試工具 167
5.6.1 Quartus Prime軟件中的片上調試工具 167
5.6.2 Signal Probe Pin(信號探針) 168
5.6.3 SignalTap Ⅱ嵌入式邏輯分析儀 170

第6章 基于英特爾FPGA的SOPC開發 175
6.1 SOPC技術簡介 175
6.2 IP核與Nios處理器 176
6.2.1 基于IP硬核的SOPC 176
6.2.2 基于IP軟核的SOPC 177
6.3 構建SOPC系統 178
6.3.1 Platform Designer 178
6.3.2 SOPC設計工具 180
6.4 SOPC開發實戰 181
6.4.1 SOPC系統設計 181
6.4.2 SOPC硬件設計 182
6.4.3 SOPC軟件設計 199
第7章 基于英特爾FPGA的HLS開發 203
7.1 HLS的基本概念 203
7.2 HLS的基本開發流程 204
7.2.1 HLS的安裝 204
7.2.2 核心算法代碼 205
7.2.3 功能驗證 205
7.2.4 生成硬件代碼 206
7.2.5 模塊代碼優化 208
7.2.6 HLS的Modelsim仿真 211
7.2.7 集成HLS代碼到FPGA系統 211
7.2.8 HDL實例化 212
7.2.9 添加IP路徑到Qsys系統 213
7.3 HLS的多種接口及其使用場景 215
7.3.1 標準接口 215
7.3.2 隱式的Avalon MM Master接口 217
7.3.3 顯式的Avalon MM Master接口 219
7.3.4 Avalon MM Slave接口 220
7.3.5 Avalon Streaming接口 224
7.4 HLS簡單的優化技巧 226

第8章 基于英特爾FPGA的OpenCL異構技術 227
8.1 OpenCL基本概念 227
8.1.1 異構計算簡介 227
8.1.2 OpenCL基礎知識 228
8.1.3 OpenCL語言簡介 231
8.2 基于英特爾FPGA的OpenCL開發環境 234
8.2.1 英特爾FPGA的OpenCL解決方案 234
8.2.2 系統要求 236
8.2.3 環境安裝 237
8.2.4 設置環境變量 237
8.2.5 初始化并檢測OpenCL環境 238
8.3 主機端Host程序設計 239
8.3.1 建立Platform環境 239
8.3.2 創建Program與Kernel 242
8.3.3 Host與Kernel的交互 243
8.3.4 OpenCL的內核執行 246
8.3.5 Host端程序示例 247
8.4 設備端Kernel程序設計流程 248
8.4.1 Kernel編譯 248
8.4.2 功能驗證(-march=emulator,x86平臺仿真) 253
8.4.3 靜態分析(-rtl,分析HTML報告) 253
8.4.4 動態分析(-profile) 255
第三部分 人工智能應用篇
第9章 人工智能簡介 259
9.1 FPGA在人工智能領域的獨特優勢 259
9.1.1 確定性低延遲 260
9.1.2 靈活可配置 260
9.1.3 針對卷積神經網絡的特殊優化 261
9.2 人工智能的概念 261
9.3 人工智能的發展史 262
9.3.1 早期的興起與低潮 262
9.3.2 人工智能的誕生 263
9.3.3 人工智能的“冬天” 263
9.3.4 交叉學科的興起 263
9.3.5 云計算與大數據時代的來臨 264
9.4 人工智能的應用 264
9.4.1 智能決策 264
9.4.2 最優路徑規劃 264
9.4.3 智能計算系統 265
9.5 人工智能的限制 265
9.6 人工智能的分類 265
9.6.1 弱人工智能 266
9.6.2 強人工智能 266
9.6.3 超人工智能 266
9.7 人工智能的發展及其基礎 267
9.7.1 矩陣論 267
9.7.2 應用統計 268
9.7.3 回歸分析與方差分析 268
9.7.4 數值分析 268
第10章 深度學習 269
10.1 深度學習的優勢 269
10.2 深度學習的概念 271
10.3 神經網絡的基本構成 272
10.3.1 神經元的基本原理 273
10.3.2 全連接神經網絡 274
10.3.3 卷積神經網絡 275
10.3.4 常見的卷積神經網絡 277
10.4 常見的深度學習數據集 279
10.5 深度學習的應用挑戰 280
第11章 基于英特爾FPGA進行深度學習推理 282
11.1 視頻監控 282
11.2 視覺系統架構 283
11.2.1 物理特征的捕捉 283
11.2.2 預處理 283
11.2.3 高級處理 284
11.3 計算機視覺的常見任務 285
11.3.1 圖形圖像分割 286
11.3.2 對象檢測 286
11.3.3 對象分類 287
11.3.4 面部識別 287
11.3.5 其他任務 288
11.4 計算機視覺的基礎 289
11.4.1 深度學習框架 290
11.4.2 OpenCL 291
11.4.3 OpenCV 292
11.4.4 OpenVINO 292
11.5 使用OpenVINO工具在英特爾FPGA上部署深度學習推理應用 293
11.5.1 OpenVINO工具 293
11.5.2 端到端機器學習 295
11.5.3 OpenVINO安裝 295
11.5.4 模型優化器 297
11.5.5 推理引擎 302
后記 313
序: