注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信FPGA進階開發(fā)與實踐

FPGA進階開發(fā)與實踐

FPGA進階開發(fā)與實踐

定 價:¥108.00

作 者: 田亮 等 著
出版社: 電子工業(yè)出版社
叢編項: 英特爾FPGA中國創(chuàng)新中心系列叢書
標 簽: 暫缺

ISBN: 9787121402340 出版時間: 2020-12-01 包裝: 平裝
開本: 16開 頁數(shù): 524 字數(shù):  

內(nèi)容簡介

  本書內(nèi)容共6章,主要介紹FPGA設計與優(yōu)化方法,以及使用FPGA解決實際問題的具體過程。其中,硬件設計方法包括FPGA高階設計方法,以及基于FPGA的SOPC和SoC設計方法;軟件設計方法包括基于FPGA的HLS、OpenCL、OpenVINO高階設計方法。 本書內(nèi)容共6章,主要介紹FPGA設計與優(yōu)化方法,以及使用FPGA解決實際問題的具體過程。其中,硬件設計方法包括FPGA高階設計方法,以及基于FPGA的SOPC和SoC設計方法;軟件設計方法包括基于FPGA的HLS、OpenCL、OpenVINO高階設計方法。 本書可作為相關開發(fā)人員進行FPGA設計、應用與優(yōu)化的參考用書。

作者簡介

  田亮,男,武漢科技大學碩士,重慶海云捷訊科技有限公司CTO,英特爾FPGA中國創(chuàng)新中心技術管理主要生態(tài)負責人。10年以上的云計算產(chǎn)品開發(fā)、設計和架構經(jīng)驗,服務過人民日報、CNTV、國家電網(wǎng)、武漢大學等客戶,主導設計了人工智能開放創(chuàng)新平臺和FPGA云加速平臺,熟悉OpenStack、SDN、分布式存儲、Docker、Kubernetes、FPGA、異構計算、人工智能等技術,致力于為客戶提供“云+AI”的解決方案。

圖書目錄

第1章 FPGA高階設計方法\t001
1.1 可編程邏輯設計原則\t001
1.1.1 面積與速度互換原則\t001
1.1.2 數(shù)字電路硬件原則\t005
1.1.3 系統(tǒng)設計原則\t006
1.1.4 同步設計原則\t008
1.2 可編程邏輯常用設計思想和技巧\t009
1.2.1 乒乓操作\t009
1.2.2 串并轉(zhuǎn)換\t009
1.2.3 流水操作\t009
1.2.4 異步時鐘域的數(shù)據(jù)同步\t010
1.2.5 英特爾推薦的Coding Style\t011
1.3 英特爾FPGA器件的高級特性與應用\t015
1.3.1 時鐘管理\t015
1.3.2 片內(nèi)存儲器\t021
1.3.3 數(shù)字信號處理\t024
1.3.4 片外存儲器\t028
1.3.5 高速差分接口\t031
1.3.6 高速串行收發(fā)器\t031
1.4 時序約束與時序分析\t032
1.4.1 時序約束和分析基礎\t032
1.4.2 高級時序分析\t037
1.5 區(qū)域約束\t041
1.5.1 Logic Lock設計方法簡介\t041
1.5.2 Logic Lock區(qū)域\t042
1.6 命令行與Tcl腳本\t047
1.6.1 命令行\(zhòng)t047
1.6.2 Tcl基礎知識\t049
1.6.3 創(chuàng)建和執(zhí)行Tcl腳本\t052
1.6.4 Tcl腳本實驗\t053
1.7 FPGA系統(tǒng)設計技術\t059
1.7.1 信號完整性設計\t059
1.7.2 電源完整性設計\t066
1.7.3 高速I/O設計\t068
1.7.4 高速I/O的PCB設計\t071
第2章 基于FPGA的SOPC設計\t074
2.1 SOPC開發(fā)流程\t075
2.1.1 硬件開發(fā)流程\t076
2.1.2 軟件開發(fā)流程\t076
2.2 系統(tǒng)集成工具Qsys\t076
2.2.1 Qsys簡介\t076
2.2.2 Qsys系統(tǒng)設計流程\t079
2.2.3 Qsys用戶界面\t079
2.2.4 用戶自定義元件\t085
2.3 Nios嵌入式處理器\t087
2.3.1 第一代Nios嵌入式處理器\t087
2.3.2 第二代Nios嵌入式處理器\t087
2.3.3 可配置的軟核嵌入式處理器的優(yōu)勢\t088
2.3.4 軟件設計實例\t091
2.3.5 HAL系統(tǒng)庫\t106
2.4 基于FPGA的SOPC設計實驗\t112
2.4.1 實驗一:流水燈實驗\t112
2.4.2 實驗二:中斷控制實驗\t145
2.4.3 實驗三:定時器實驗\t149
第3章 基于FPGA的SoC設計\t154
3.1 SoC FPGA簡介\t154
3.2 英特爾SoC FPGA的特點\t156
3.3 Cyclone Ⅴ SoC FPGA資源組成\t161
3.4 開發(fā)SoC FPGA所需的工具\t168
3.4.1 Quartus Prime\t168
3.4.2 SoC EDS\t175
3.5 SoC FPGA中HPS與FPGA的接口\t182
3.5.1 H2F_AXI_Master\t183
3.5.2 F2H_AXI_Slave\t183
3.5.3 H2F_LW_AXI_Master\t183
3.5.4 連接AXI總線與Avalon-MM總線\t183
3.5.5 MPU外設地址映射\t184
3.6 SoC FPGA開發(fā)\t185
3.6.1 SoC FPGA開發(fā)流程\t185
3.6.2 SoC FPGA啟動過程\t186
3.6.3 使用GHRD\t187
3.6.4 生成Preloader Image\t196
3.6.5 編譯生成u-boot文件\t202
3.6.6 生成Root Filesystem\t204
3.6.7 配置和編譯Linux內(nèi)核\t215
3.6.8 系統(tǒng)鏡像制作及刻錄方法\t221
3.6 9 DS-5程序的編寫、調(diào)試及運行\(zhòng)t230
3.7 Linux相關知識\t237
3.7.1 安裝Ubuntu虛擬機\t237
3.7.2 下載Linux系統(tǒng)源碼\t242
3.8 常見問題\t245
3.9 基于FPGA的SoC設計實驗\t246
3.9.1 實驗一:生成Preloader源碼\t246
3.9.2 實驗二:編譯Preloader源碼\t249
3.9.3 實驗三:編譯生成u-boot文件\t252
3.9.4 實驗四:配置和編譯Linux內(nèi)核\t255
第4章 基于FPGA的HLS技術與應用\t260
4.1 HLS簡介\t260
4.2 優(yōu)化的依據(jù)\t260
4.3 循環(huán)優(yōu)化\t263
4.3.1 并行與管道\t263
4.3.2 性能度量\t265
4.3.3 循環(huán)依賴\t268
4.3.4 明確循環(huán)的退出條件\t272
4.3.5 線性操作\t272
4.3.6 循環(huán)展開\t273
4.3.7 嵌套循環(huán)\t276
4.4 代碼優(yōu)化\t277
4.4.1 避免指針別名\t277
4.4.2 最小化內(nèi)存依賴\t277
4.4.3 將嵌套循環(huán)改為單層循環(huán)\t278
4.5 指令優(yōu)化\t278
4.5.1 ivdep指令\t279
4.5.2 loop_coalesce指令\t280
4.5.3 ii和max_concurrency指令\t281
4.6 內(nèi)存優(yōu)化\t281
4.6.1 本地內(nèi)存\t281
4.6.2 內(nèi)存架構\t282
4.6.3 本地內(nèi)存的屬性\t289
4.6.4 靜態(tài)變量\t294
4.6.5 寄存器的使用\t295
4.7 接口優(yōu)化\t295
4.7.1 標準接口\t295
4.7.2 Avalon MM Master接口\t297
4.7.3 Avalon MM Slave接口\t298
4.7.4 流式接口\t300
4.7.5 不使用指針的標準接口\t302
4.8 數(shù)據(jù)類型優(yōu)化\t303
4.8.1 任意精度的整數(shù)\t304
4.8.2 任意精度的定點數(shù)\t304
4.8.3 特殊數(shù)據(jù)類型與普通數(shù)據(jù)類型之間的轉(zhuǎn)換\t306
4.9 浮點運算優(yōu)化\t306
4.10 其他優(yōu)化建議\t308
4.11 基于FPGA的HLS實驗\t308
4.11.1 實驗一:簡單的乘法器\t309
4.11.2 實驗二:接口\t318
4.11.3 實驗三:循環(huán)優(yōu)化\t330
第5章 基于FPGA的OpenCL技術與應用\t336
5.1 OpenCL簡介\t336
5.2 OpenCL環(huán)境搭建\t337
5.3 OpenCL基本架構\t339
5.3.1 平臺模型\t340
5.3.2 執(zhí)行模型\t340
5.3.3 存儲模型\t342
5.3.4 執(zhí)行流程\t342
5.4 OpenCL主機端程序設計\t343
5.4.1 OpenCL平臺\t343
5.4.2 OpenCL設備\t344
5.4.3 OpenCL上下文\t347
5.4.4 OpenCL命令隊列\(zhòng)t349
5.4.5 OpenCL程序?qū)ο骪t351
5.4.6 OpenCL內(nèi)核對象\t355
5.4.7 OpenCL對象回收與錯誤處理\t359
5.5 OpenCL設備端程序設計\t362
5.5.1 基本語法和關鍵字\t362
5.5.2 數(shù)據(jù)類型\t364
5.5.3 維度和工作項\t367
5.5.4 其他注意事項\t369
5.6 OpenCL常用優(yōu)化方法\t369
5.6.1 單工作項優(yōu)化\t369
5.6.2 循環(huán)優(yōu)化\t374
5.6.3 任務并行優(yōu)化\t380
5.6.4 NDRange類型內(nèi)核的優(yōu)化\t391
5.6.5 內(nèi)存訪問優(yōu)化\t398
5.7 OpenCL編程原則\t414
5.7.1 避免“昂貴”的函數(shù)和方法\t414
5.7.2 使用“廉價”的數(shù)據(jù)類型\t415
5.8 基于FPGA的OpenCL實驗\t415
5.8.1 準備工作\t415
5.8.2 實驗一:hello\t417
5.8.3 實驗二:platform\t420
5.8.4 實驗三:device\t424
5.8.5 實驗四:ctxt_and_queue\t437
5.8.6 實驗五:program_and_kernel\t442
5.8.7 實驗六:sample\t450
5.8.8 實驗七:first\t453
第6章 基于FPGA的OpenVINO人工智能應用\t456
6.1 OpenVINO簡介\t456
6.1.1 OpenVINO工具套件堆棧\t457
6.1.2 OpenVINO的優(yōu)勢\t458
6.1.3 應用前景\t458
6.2 OpenVINO的安裝與驗證\t458
6.2.1 安裝步驟\t459
6.2.2 驗證安裝結(jié)果\t461
6.3 OpenVINO中的模型優(yōu)化器\t463
6.3.1 模型優(yōu)化器的作用\t464
6.3.2 優(yōu)化模型\t464
6.3.3 模型優(yōu)化器高級應用\t473
6.3.4 模型優(yōu)化器定制層\t486
6.4 OpenVINO深度學習推理引擎\t487
6.4.1 推理引擎簡介\t487
6.4.2 推理引擎的組成\t488
6.4.3 推理引擎的使用方法\t489
6.4.4 擴展推理引擎內(nèi)核\t489
6.4.5 集成推理引擎\t498
6.4.6 神經(jīng)網(wǎng)絡構建器\t502
6.4.7 動態(tài)批處理\t505
6.4.8 形狀推理\t507
6.4.9 低精度8位整數(shù)推理\t509
6.4.10 模型轉(zhuǎn)換驗證\t511

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.stefanvlieger.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號