Intel FPGA數字信號處理系統設計權威指南:從HDL、Simulink到HLS的實現(基礎篇) ( 簡體 字) |
作者:何賓 | 類別:1. -> 電子工程 -> FPGA |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 55587 詢問書籍請說出此書號!【有庫存】 NT售價: 895 元 |
出版日:9/1/2021 |
頁數:716 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121419362 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:推薦序(一)
眾所周知,我們正在進入一個全面科技創新的時代。科技創新驅動并引領著人類社會的發展,從人工智能、自動駕駛、5G,到精準醫療、機器人等,所有這些領域的突破都離不開科技的創新,也離不開計算的創新。從CPU、GPU,到FPGA、ASIC,再到未來的神經擬態計算、量子計算等,英特爾正在全面布局未來端到端的計算創新,以充分釋放數據的價值。中國擁有巨大的市場和引領全球創新的需求,其產業生態的全面性,以及企業創新的實力、活力和速度都令人矚目。英特爾始終放眼長遠,以豐富的生態經驗和廣闊的全球視野,持續推動與中國產業生態的合作共贏。以此為前提,英特爾在2018年建立了英特爾FPGA中國創新中心,與Dell、海云捷迅等合作伙伴攜手共建AI和FPGA生態,并通過組織智能大賽、產學研對接及培訓認證等方式,發掘優秀團隊,培養專業人才,孵化應用創新,加速智能產業在中國的發展。
“英特爾FPGA中國創新中心系列叢書”是英特爾FPGA中國創新中心專為AI和FPGA領域的人才培養和認證而設計編撰的系列叢書,非常高興作為英特爾FPGA中國創新中心的總經理為叢書寫序。同時也希望該系列叢書能為中國AI與FPGA相關產業的生態建設與人才培養添磚加瓦!
張瑞
英特爾FPGA中國創新中心總經理
2019年秋
推薦序(二)
自2003年Altera在中國高校開展大學計劃以來,通過興建聯合實驗室,組織教師培訓,舉行學生創新競賽等方式,將FPGA技術及設計方法帶到了許多高校之中,一批又一批掌握了FPGA技術的畢業生,從學校走向工作崗位,發揮著他們的核心骨干作用。而由Altera大學計劃所帶領的這種校企合作方式,也被越來越多的企業所采用,共同為我們的教育事業,貢獻著自己的一份力量。
Altera于2015年合并進入英特爾,Altera的FPGA產品,也全面與英特爾的優勢資源相結合,廣泛地應用于人工智能、算法加速、5G等新技術之中。而全新的英特爾FPGA大學計劃,不僅繼承了之前Altera大學計劃的所有優勢,而且充分地利用了英特爾的技術和資源,借助教育部產學研合作這個平臺,與高校在聯合課程開發、師資培訓、學生系統能力培養等方面,繼續展開廣泛且更加深入的合作。
“英特爾FPGA中國創新中心系列叢書”的計劃,就是在這樣一個背景下醞釀而生的,我們希望借助英特爾的技術資源,聯合英特爾FPGA中國創新中心,再借助高校優秀教師多年的教學經驗,共同為廣大師生和對FPGA感興趣的讀者,打造一套全面的、專業的技術書籍,從而讓大家可以盡快掌握和使用FPGA這項前沿技術。
該叢書基于最新的Intel開發工具Quartus Prime軟件,內容專業且全面,除了詳盡的基礎知識,也覆蓋了與FPGA設計相關的時序分析、嵌入式系統、數字信號處理等高階內容,讀者可以根據自身情況選擇閱讀,既可以作為從入門到精通的學習教材,也可以作為學習某些關鍵技術點的參考手冊。
最后要感謝何賓老師為本書做出的辛勤努力,也感謝每一位讀者對英特爾FPGA的支持!
袁亞東
英特爾FPGA大學計劃經理
2019年11月7日于上海
前言
近年來,人工智能、大數據和云計算等新信息技術的應用越來越廣泛,它們共同的特點就是需要對海量數據進行高性能的處理。與采用CPU、DSP和GPU實現數字信號處理(數據處理)系統相比,現場可編程門陣列(Field Programmable Gate Array,FPGA)具有天然并行處理能力,以及整體功耗較低的優勢,成為新信息技術普及推廣不可或缺的硬件處理平臺。
一般而言,業界將FPGA歸結為硬件(數字邏輯電路)范疇,而算法歸結為軟件范疇。在10年前,當采用FPGA作為數字信號處理平臺時,設計者必須使用硬件描述語言來描述所構建的數字信號處理系統模型,而大多數的算法設計人員并不會使用硬件描述語言,這樣對使用FPGA實現數字信號處理算法造成了困難,從而限制了FPGA的普及和推廣。當采用FPGA作為數字信號處理實現平臺時,軟件算法人員希望自己只關注算法本身,而通過一些其他工具將這些軟件算法直接轉換為FPGA的硬件實現。
目前市場上使用的建模工具,多數以軟件算法人員的視角來構建數字信號處理系統,這樣顯著降低了算法設計人員使用FPGA實現算法的難度,實現了軟件和硬件的完美統一。本書將著重介紹Intel公司Quartus Prime Pro集成開發環境下提供的兩種最新的數字信號處理建模工具:DSP Builder工具(使用MATLAB環境下的Simulink)和高級綜合工具(High Level Synthesis, HLS)。這兩個數字信號處理系統建模工具的出現,使得算法人員可以專注于研究算法本身。通過這些建模工具,將算法直接轉換成寄存器傳輸級(Register Transfer Level,RTL)描述,下載到FPGA內進行算法實現。這樣,當采用Intel FPGA作為數字信號處理硬件平臺時,顯著提高了系統的建模效率,并且可以在性能和實現成本之間進行權衡,以探索最佳的解決方案。
本書從傳統的硬件描述語言、Simulink模型設計和C/C++高級綜合三個角度,對基于Intel Cyclone 10 GX系列FPGA平臺下的數字信號處理問題進行了詳細介紹。全書共13章,主要內容包括信號處理理論基礎、數字信號處理實現方法、數值的表示和運算、Intel FPGA數字信號處理工具、CORDIC算法原理及實現、離散傅里葉變換原理及實現、快速傅里葉變換原理及實現、離散余弦變換原理及實現、FIR和IIR濾波器原理及實現、重定時信號流圖原理及實現、多速率信號處理原理及實現、多通道FIR濾波器原理及實現,以及其他類型數字濾波器原理及實現。
本書所介紹的內容反映了Intel FPGA在實現高性能數字信號處理(數據處理)系統方面的最新研究成果。力圖幫助讀者在使用FPGA構建數字信號處理系統時,知道如何實現在性能和成本之間進行權衡,如何正確地使用不同的數字信號處理系統建模工具和方法,更重要的是知道如何將軟件算法轉換成硬件實現。
本書在編寫的過程中,得到Intel公司大學計劃的大力支持和幫助,以及Mathworks公司圖書計劃的支持和幫助,在此向它們的支持和幫助表示衷心的感謝。本書在編寫的過程中,編著者的學生羅顯志、鄭陽揚和甄向徹分別參與編寫本書第8章、第9章和第10章的設計實例,在此向他們的辛勤勞動表示感謝。最后,向電子工業出版社編輯的辛勤工作表示感謝。
編著者2021年8月于北京 |
內容簡介:本書從硬件描述語言、Simulink環境下的模型構建和Intel FPGA高級綜合工具下的C/C++程序設計三個不同的角度,本書從硬件描述語言、模型設計和高級綜合HLS三個角度對使用Intel公司現場可編程門陣列器件構建數字信號處理系統的方法進行了詳細的介紹。本書內容涵蓋了信號處理基本理論、CORDIC算法的FPGA實現、Intel FPGA數字信號處理工具、傅里葉變換的FPGA實現、離散余弦變換的FPGA實現、數字濾波器的FPGA實現、多速率信號處理的FPGA實現,以及其他常用數字濾波器的FPGA實現。 |
目錄:第1章信號處理理論基礎
1.1信號定義
1.2信號增益與衰減
1.3信號失真及其測量
1.3.1放大器失真
1.3.2信號諧波失真
1.3.3諧波失真測量
1.4噪聲及其處理方法
1.4.1噪聲的定義和表示
1.4.2固有噪聲電平
1.4.3噪聲/失真鏈
1.4.4信噪比定義和表示
1.4.5信號的提取方法
1.5模擬信號及其處理方法
1.5.1模擬I/O信號的處理
1.5.2模擬通信信號的處理
1.6數字信號處理的關鍵問題
1.6.1數字信號處理系統的結構
1.6.2信號調理的方法
1.6.3模數轉換器(ADC)及量化效應
1.6.4數模轉換器(DAC)及信號重建
1.6.5SFDR的定義及測量
1.7通信信號軟件處理方法
1.7.1軟件無線電的定義
1.7.2中頻軟件無線電實現
1.7.3信道化處理
1.7.4基站軟件無線電接收機
1.7.5SR采樣技術
1.7.6直接數字下變頻
1.7.7帶通采樣失敗的解決
第2章數字信號處理實現方法
2.1數字信號處理技術概念
2.1.1數字信號處理技術的發展
2.1.2數字信號處理算法的分類
2.1.3數字信號處理實現的方法
2.2基于DSPs的數字信號處理實現原理
2.2.1DSPs的結構及流水線
2.2.2DSPs的運行代碼及性能
2.3基于FPGA的數字信號處理實現原理
2.3.1FPGA基本原理
2.3.2邏輯陣列塊和自適應邏輯塊
2.3.3塊存儲器
2.3.4時鐘網絡和相位鎖相環
2.3.5I/O塊
2.3.6DSP塊
2.4FPGA執行數字信號處理的一些關鍵問題
2.4.1關鍵路徑
2.4.2流水線
2.4.3延遲
2.4.4加法器
2.4.5乘法器
2.4.6并行/串行
2.4.7溢出的處理
2.5高性能信號處理的難點和技巧
2.5.1設計目標
2.5.2實現成本
2.5.3設計優化
第3章數值的表示和運算
3.1整數的表示方法
3.1.1二進制原碼格式
3.1.2二進制反碼格式
3.1.3二進制補碼格式
3.2整數加法運算的HDL描述
3.2.1無符號數加法運算的HDL描述
3.2.2有符號數加法運算的HDL描述
3.3整數減法運算的HDL描述
3.3.1無符號數減法運算的HDL描述
3.3.2有符號數減法運算的HDL描述
3.4整數乘法運算的HDL描述
3.4.1無符號數乘法運算的HDL描述
3.4.2有符號數乘法運算的HDL描述
3.5整數除法運算的HDL描述
3.5.1無符號數除法運算的HDL描述
3.5.2有符號數除法運算的HDL描述
3.6定點數的表示方法
3.6.1定點二進制數格式
3.6.2定點數的量化方法
3.6.3數據的標定
3.6.4歸一化處理
3.6.5小數部分截斷
3.6.6一種不同的方法:Trounding
3.6.7定點數運算的HDL描述庫
3.7定點數加法運算的HDL描述
3.7.1無符號定點數加法運算的HDL描述
3.7.2有符號定點數加法運算的HDL描述
3.8定點數減法運算的HDL描述
3.8.1無符號定點數減法運算的HDL描述
3.8.2有符號定點數減法運算的HDL描述
3.9定點數乘法運算的HDL描述
3.9.1無符號定點數乘法運算的HDL描述
3.9.2有符號定點數乘法運算的HDL描述
3.10定點數除法運算的HDL描述
3.10.1無符號定點數除法運算的HDL描述
3.10.2有符號定點數除法運算的HDL描述
3.11浮點數的表示方法
3.11.1浮點數的格式
3.11.2浮點數的短指數表示
3.12浮點數運算的HDL描述
3.12.1單精度浮點數加法運算的HDL描述
3.12.2單精度浮點數減法運算的HDL描述
3.12.3單精度浮點數乘法運算的HDL描述
3.12.4單精度浮點數除法運算的HDL描述
3.13浮點數運算IP核的應用
3.13.1浮點IP核的功能
3.13.2建立新的設計工程
3.13.3浮點IP核實例的生成
3.13.4例化IP核實例
3.13.5生成測試平臺文件
3.13.6設計的仿真
第4章Intel FPGA數字信號處理工具
4.1Intel FPGA模型設計基礎
4.1.1用于Intel FPGA設計結構的DSP Builder
4.1.2用于Intel FPGA庫的DSP Builder
4.1.3用于Intel FPGA器件所支持的DSP Builder
4.1.4DSP Builder設計流程
4.2信號處理模型的構建和仿真
4.2.1啟動DSP Builder工具
4.2.2獲取DSP Builder設計實例幫助
4.2.3DSP Builder菜單選項介紹
4.2.4DSP Builder中的一些基本概念
4.2.5構建數字信號處理模型
4.2.6創建設計子系統
4.2.7設置模型參數
4.2.8信號處理模型的Simulink仿真
4.2.9信號處理模型的ModelSim仿真
4.2.10查看設計中所使用的資源
4.2.11打開Quartus Prime設計工程
4.2.12C++軟件模型驗證設計
4.3信號處理模型的硬件驗證
4.3.1硬件驗證
4.3.2使用環路系統的硬件驗證
4.4包含處理器總線接口的模型設計
4.4.1在DSP Builder設計中分配基地址
4.4.2添加DSP Builder設計到Platform Designer系統
4.4.3使用處理器更新寄存器
4.5DSP Builder HDL導入設計
4.5.1實現原理
4.5.2打開DSP Builder工具
4.5.3建立新的設計模型
4.5.4執行協同仿真
4.6基于HLS構建和驗證算法模型
4.6.1構建C++模型和測試平臺
4.6.2設置高級綜合編譯器
4.6.3運行高級綜合編譯器
4.6.4查看高級設計報告
4.6.5查看元器件RTL仿真波形
第5章CORDIC算法原理及實現
5.1CORDIC算法原理
5.1.1圓坐標系旋轉
5.1.2線性坐標系旋轉
5.1.3雙曲線坐標系旋轉
5.1.4CORDIC算法通用表達式
5.2CORDIC循環和非循環結構硬件實現原理
5.2.1CORDIC循環結構原理和實現方法
5.2.2CORDIC非循環結構的實現原理
5.2.3實現CORDIC的非循環的流水線結構
5.3向量幅度的計算
5.4CORDIC算法的模型實現
5.4.1CORDIC算法收斂性原理
5.4.2CORDIC象限映射實現
5.4.3向量模式下的CORDIC迭代實現
5.4.4旋轉模式的CORDIC迭代實現
ⅩⅦ5.5CORDIC子系統的模型實現
5.5.1CORDIC單元的設計
5.5.2參數化CORDIC單元
5.5.3旋轉后標定的實現
5.5.4旋轉后的象限解映射
5.6圓坐標系算術功能的模型實現
5.6.1反正切的實現
5.6.2正弦和余弦的實現
5.6.3向量幅度的計算
5.7流水線技術的CORDIC模型實現
5.7.1帶有流水線并行陣列的實現
5.7.2串行結構實現
5.8向量幅度精度的研究
5.8.1CORDIC向量幅度精度控制
5.8.2CORDIC向量幅度精度比較
5.9調用CORDIC塊的模型實現
5.10CORDIC算法的HLS實現
5.10.1CORDIC算法的C++描述
5.10.2HLS轉換設計
5.10.3優化設計
第6章離散傅里葉變換原理及實現
6.1模擬周期信號的分析:傅里葉級數
6.2模擬非周期信號的分析:傅里葉變換
6.3離散序列的分析:離散傅里葉變換
6.3.1離散傅里葉變換推導
6.3.2頻率離散化推導
6.3.3DFT的窗效應
6.4短時傅里葉變換
6.5離散傅里葉變換的運算量
6.6離散傅里葉算法的模型實現
6.6.1系統模型結構
6.6.2分析復數乘法
6.6.3分析復數加法
6.6.4運行設計
第7章快速傅里葉變換原理及實現
7.1快速傅里葉變換的發展
7.2Danielson-Lanczos引理
7.3按時間抽取的基-2 FFT算法
7.4按頻率抽取的基-2 FFT算法
ⅩⅧ7.5Cooley-Tuckey算法
7.6基-4和基-8的FFT算法
7.7FFT計算中的字長
7.8基于MATLAB的FFT的分析
7.9基于模型的FFT設計與實現
7.10基于IP核的FFT實現
7.10.1FFT IP庫
7.10.2啟動DSP Builder工具
7.10.3構建設計模型
7.10.4配置模型參數
7.10.5運行和分析仿真結果
7.11基于C和HLS的FFT建模與實現
7.11.1創建新的設計工程
7.11.2創建設計源文件
7.11.3設計編譯和處理
7.11.4設計的高級綜合
7.11.5添加循環展開用戶策略
7.11.6添加存儲器屬性用戶策略
第8章離散余弦變換原理及實現
8.1切比雪夫多項式
8.2DCT的起源和發展
8.3DCT和DFT的關系
8.4二維DCT變換原理
8.4.1二維DCT變換原理
8.4.2二維DCT實現方法
8.5二維DCT變換的HLS實現
8.5.1創建新的設計工程
8.5.2創建設計文件
8.5.3驗證C++模型
8.5.4設計綜合
8.5.5查看綜合結果
8.5.6運行RTL仿真
8.5.7添加循環合并命令
8.5.8添加存儲器屬性命令
8.5.9添加循環展開命令
第9章FIR和IIR濾波器原理及實現
9.1模擬到數字濾波器的轉換
9.1.1微分方程近似
9.1.2雙線性交換
9.2數字濾波器的分類和應用
ⅩⅨ9.3FIR數字濾波器的原理和結構
9.3.1FIR數字濾波器的特性
9.3.2FIR濾波器的設計規則
9.4IIR數字濾波器的原理和結構
9.4.1IIR數字濾波器的原理
9.4.2IIR數字濾波器的模型
9.4.3IIR數字濾波器的z域分析
9.4.4IIR數字濾波器的性能及穩定性
9.5DA FIR數字濾波器的設計
9.5.1DA FIR數字濾波器的設計原理
9.5.2啟動DSP Builder
9.5.3添加和配置信號源子系統
9.5.4添加和配置移位寄存器子系統
9.5.5添加和配置位選擇子系統
9.5.6添加和配置查找表子系統
9.5.7添加和配置加法器子系統
9.5.8添加和配置縮放比例加法器子系統
9.5.9添加和配置系統控制模塊
9.6串行MAC FIR數字濾波器的設計
9.6.1串行和并行MAC FIR數字濾波器的原理
9.6.2串行MAC FIR數字濾波器的結構
9.6.3串行MAC FIR數字濾波器設計要求
9.6.412×8乘和累加器子系統的設計
9.6.5數據控制邏輯子系統設計
9.6.6地址生成器子系統的設計
9.6.7完整串行MAC FIR數字濾波器模型的設計
9.7基于FIR IP核的濾波器設計
9.7.1SingleRateFIR IP原理
9.7.2建立新的設計模型
9.7.3構建基于SingleRateFIR塊的濾波器模型
9.8FIR數字濾波器的C++描述和HLS實現
9.8.1設計原理
9.8.2創建新的設計工程
9.8.3創建設計文件
9.8.4驗證C++模型
9.8.5設計綜合
9.8.6查看綜合結果
9.8.7設計優化:添加存儲器屬性命令
9.8.8設計優化:添加循環展開命令
9.9基于模型的IIR濾波器設計
9.9.1Elliptic型IIR濾波器原理
9.9.2獲取Elliptic型IIR濾波器的系數和特性
9.9.3建立新的設計模型
9.9.4構建Elliptic型IIR濾波器模型
ⅩⅩ第10章重定時信號流圖原理及實現
10.1信號流圖基本概念
10.1.1標準形式FIR信號流圖
10.1.2關鍵路徑和延遲
10.2割集重定時及規則
10.2.1割集重定時概念
10.2.2割集重定時規則1
10.3不同形式的FIR濾波器
10.3.1轉置形式的FIR濾波器
10.3.2脈動形式的FIR濾波器
10.3.3包含流水線乘法器的脈動FIR濾波器
10.3.4FIR濾波器SFG乘法器流水線
10.4FIR濾波器構建塊
10.4.1帶加法器樹的FIR濾波器
10.4.2加法器樹的流水線
10.4.3對稱FIR濾波器
10.5標準形式和脈動形式FIR濾波器的實現
10.5.1標準形式FIR濾波器模型的實現
10.5.2脈動形式FIR濾波器模型的實現(一)
10.5.3脈動形式FIR濾波器模型的實現(二)
第11章多速率信號處理原理及實現
11.1多速率信號處理的一些需求
11.1.1信號重構
11.1.2數字下變頻
11.1.3子帶處理
11.1.4提高分辨率
11.2多速率操作
11.2.1采樣率轉換
11.2.2多相技術
11.2.3高級重采樣技術
11.3多速率信號處理的典型應用
11.3.1分析和合成濾波器
11.3.2通信系統的應用
11.4多相FIR濾波器的原理和實現
11.4.1FIR濾波器的分解
11.4.2Noble Identity
11.4.3多相抽取和插值的實現
ⅩⅩⅠ11.5直接和多相插值器的設計
11.5.1直接插值器的設計
11.5.2多相插值器的設計
11.6直接和多相抽取器的設計
11.6.1直接抽取器的設計
11.6.2構建多相抽取器模型
11.7抽取和插值IP核原理和系統設計
11.7.1DecimatingFIR IP核原理和系統設計
11.7.2InterpolatingFIR IP核原理和系統設計
第12章多通道FIR濾波器原理及實現
12.1割集重定時規則2
12.2割集重定時規則2的應用
12.2.1通過共享SFG提高效率
12.2.2輸入和輸出多路復用
12.2.3三通道濾波器的例子
12.3多通道并行濾波器的實現
12.3.1多獨立通道并行濾波器設計
12.3.2多共享通道并行濾波器設計
12.4多通道串行濾波器的實現
第13章其他類型數字濾波器原理及實現
13.1滑動平均濾波器原理及結構
13.1.1滑動平均一般原理
13.1.28個權值滑動平均結構及特性
13.1.39個權重滑動平均結構及特性
13.1.4滑動平均濾波器的轉置結構
13.2微分器和積分器原理及特性
13.2.1微分器原理及特性
13.2.2積分器原理及特性
13.3積分梳狀濾波器原理及特性
13.4中頻調制信號產生和解調
13.4.1產生中頻調制信號
13.4.2解調中頻調制信號
13.4.3CIC提取基帶信號
13.4.4CIC濾波器的衰減及修正
13.5CIC濾波器實現方法
13.6CIC濾波器位寬確定
13.6.1CIC抽取濾波器位寬確定
13.6.2CIC插值濾波器位寬確定
13.7CIC濾波器的銳化
13.7.1SCIC濾波器的特性
13.7.2ISOP濾波器的特性
13.8CIC濾波器的遞歸和非遞歸結構
13.9基于模型的CIC濾波器實現
13.9.1單級定點CIC濾波器的設計
13.9.2滑動平均濾波器的設計
13.9.3多級定點CIC濾波器的設計
13.9.4定點和浮點CIC多級濾波器的設計
13.9.5CIC抽取濾波器的設計
13.9.6CIC插值濾波器的設計
13.10DecimatingCIC和InterpolatingCIC IP核原理及應用
13.10.1DecimatingCIC IP核原理及應用
13.10.2InterpolatingCIC IP核原理及應用 |
序: |