Intel FPGA 數字信號處理設計 (基礎版)

Intel FPGA 數字信號處理設計 (基礎版)

作者: 杜勇
出版社: 電子工業
出版在: 2022-03-01
ISBN-13: 9787121431227
ISBN-10: 712143122X
總頁數: 336 頁





內容描述


本書以Intel公司的FPGA器件為開發平臺,採用MATLAB及VHDL語言開發工具,詳細闡述了數字信號處理技術的實現原理、結構、方法及模擬測試過程,並通過大量工程實例分析其在FPGA實現過程中的具體技術細節。其主要內容包括FPGA技術基礎、常用接口設計、FPGA中數的運算、典型IP核設計、FIR濾波器、IIR濾波器、FFT變換設計等內容。


目錄大綱


目錄
上篇
第1章FPGA概述 (3)
1.1 FPGA的發展趨勢 (3)
1.2 Intel FPGA的基本結構 (5)
1.2.1 可編程輸入/輸出單元 (6)
1.2.2 可配置邏輯塊 (7)
1.2.3 時鐘網絡資源 (9)
1.2.4 嵌入式塊RAM (9)
1.2.5 豐富的佈線資源 (10)
1.2.6 內嵌專用硬核 (10)
1.3 FPGA的工作原理 (10)
1.4 FPGA與其他數字信號處理平台的比較 (11)
1.4.1 ASIC、DSP、ARM的特點 (12)
1.4.2 FPGA的特點及優勢 (13)
1.5 FPGA的主要廠商 (14)
1.5.1 Xilinx公司 (14)
1.5.2 Intel公司 (15)
1.5.3 Lattice公司 (15)
1.5.4 Actel公司 (16)
1.5.5 Atmel公司 (17)
1.6 工程中如何選擇FPGA器件 (17)
1.7 小結 (18)
1.8 思考與練習 (19)
第2章設計語言及開發環境 (21)
2.1 VHDL語言簡介 (21)
2.1.1 HDL語言的特點及優勢 (21)
2.1.2 選擇VHDL還是Verilog HDL (22)
2.2 VHDL語言基礎 (23)
2.2.1 VHDL語言簡介 (23)
2.2.2 程序結構 (24)
2.2.3 數據類型 (26)
2.2.4 數據對象 (29)
2.2.5 運算符 (29)
2.2.6 VHDL語句 (33)
2.3 QuartusⅡ開發環境 (37)
2.3.1 QuartusⅡ簡介 (37)
2.3.2 QuartusⅡ的用戶界面 (38)
2.4 ModelSim簡介 (40)
2.4.1 ModelSim的主要特點 (40)
2.4.2 ModelSim的工作界面 (41)
2.5 MATLAB簡介 (42)
2.5.1 MATLAB介紹 (42)
2.5.2 MATLAB的工作界面 (42)
2.5.3 MATLAB的特點及優勢 (43)
2.6 FPGA信號處理板CRD500 (45)
2.7 小結 (47)
2.8 思考與練習 (47)
第3章FPGA設計流程 (51)
3.1 FPGA設計流程簡介 (51)
3.2 流水燈實例設計 (53)
3.2.1 明確項目需求 (53)
3.2.2 讀懂電路原理圖 (54)
3.2.3 形成設計方案 (56)
3.3 流水燈實例的Verilog HDL程序設計與綜合 (57)
3.3.1 建立FPGA工程 (57)
3.3.2 VHDL程序輸入 (59)
3.4 流水燈實例的功能仿真 (61)
3.4.1 生成測試激勵文件 (61)
3.4.2 採用ModelSim進行仿真 (64)
3.4.3 ModelSim的仿真應用技巧 (67)
3.5 流水燈實例的設計實現與時序仿真 (68)
3.5.1 添加約束文件 (68)
3.5.2 時序仿真 (70)
3.6 程序下載 (71)
3.6.1 sof文件下載 (71)
3.6.2 jic文件下載 (73)
3.7 小結 (75)
3.8 思考與練習 (76)
第4章常用接口程序的設計 (77)
4.1 秒錶電路設計 (77)
4.1.1 數碼管的基本工作原理 (77)
4.1.2 秒錶電路實例需求及電路原理分析 (78)
4.1.3 形成設計方案 (78)
4.1.4 頂層文件的VHDL程序設計 (79)
4.1.5 數碼管顯示模塊的VHDL程序設計 (81)
4.1.6 秒錶計數模塊的VHDL程序設計 (84)
4.1.7 按鍵消抖模塊的VHDL程序設計 (88)
4.2 串口通信設計 (91)
4.2.1 RS-232串口通信的概念 (91)
4.2.2 串口通信實例需求及電路原理分析 (92)
4.2.3 頂層文件的VHDL程序設計 (93)
4.2.4 時鐘模塊的VHDL程序設計 (95)
4.2.5 接收模塊的VHDL程序設計 (96)
4.2.6 發送模塊的VHDL程序設計 (99)
4.3 A/D接口和D/A接口的程序設計 (100)
4.3.1 A/D轉換的工作原理 (100)
4.3.2 D/A轉換的工作原理 (101)
4.3.3 A/D接口和D/A接口的實例需求及電路原理分析 (102)
4.3.4 A/D接口和D/A接口的VHDL程序設計 (102)
4.4 常用接口程序的板載測試 (104)
4.4.1 秒錶電路的板載測試 (104)
4.4.2 串口通信的板載測試 (105)
4.4.3 使用Signal Tap對A/D接口和D/A接口進行板載測試 (106)
4.5 小結 (111)
4.6 思考與練習 (111)
下篇
第5章FPGA中的數字運算 (115)
5.1 數的表示 (115)
5.1.1 定點數的定義和表示 (116)
5.1.2 定點數的三種形式 (117)
5.1.3 浮點數表示 (118)
5.1.4 自定義浮點數的格式 (120)
5.2 FPGA中的四則運算 (122)
5.2.1 兩個操作數的加法運算 (122)
5.2.2 多個操作數的加法運算 (125)
5.2.3 採用移位相加法實現乘法運算 (125)
5.2.4 採用移位相加法實現除法運算 (126)
5.3 有效數據位的計算 (126)
5.3.1 有效數據位的概念 (126)
5.3.2 加法運算中的有效數據位 (127)
5.3.3 乘法運算中的有效數據位 (128)
5.3.4 乘加運算中的有效數據位 (129)
5.4 有限字長效應 (129)
5.4.1 有限字長效應的產生因素 (129)
5.4.2 A/D轉換器的有限字長效應 (130)
5.4.3 數字濾波器係數的有限字長效應 (131)
5.4.4 濾波器運算中的有限字長效應 (133)
5.5 小結 (136)
5.6 思考與練習 (136)
第6章典型IP核的應用 (137)
6.1 IP核在FPGA中的應用 (137)
6.1.1 IP核的一般概念 (137)
6.1.2 FPGA設計中的IP核類型 (138)
6.2 時鐘管理IP核 (140)
6.2.1 全局時鐘資源 (140)
6.2.2 利用IP核生成多路時鐘信號 (141)
6.3 乘法器IP核 (145)
6.3.1 實數乘法器IP核 (145)
6.3.2 複數乘法器IP核 (148)
6.4 除法器IP核 (150)
6.4.1 FPGA中的除法運算 (150)
6.4.2 測試除法器IP核 (151)
6.5 存儲器IP核 (153)
6.5.1 ROM核 (153)
6.5.2 RAM核 (157)
6.6 數控振盪器IP核 (163)
6.6.1 數控振盪器工作原理 (163)
6.6.2 採用DDS核設計掃頻儀 (164)
6.7 小結 (168)
6.8 思考與練習 (169)
第7章FIR濾波器設計 (171)
7.1 數字濾波器的理論基礎 (171)
7.1.1 數字濾波器的概念 (171)
7.1.2 數字濾波器的分類 (172)
7.1.3 數字濾波器的特徵參數 (173)
7.2 FIR濾波器的原理 (174)
7.2.1 FIR濾波器的概念 (174)
7.2.2 線性相位系統的物理意義 (175)
7.2.3 FIR濾波器的相位特性 (176)
7.2.4 FIR濾波器的幅度特性 (178)
7.3 FIR濾波器的FPGA實現結構 (179)
7.3.1 FIR濾波器結構的表示方法 (179)
7.3.2 直接型結構的FIR濾波器 (180)
7.3.3 級聯型結構的FIR濾波器 (181)
7.4 基於累加器的FIR濾波器設計 (181)
7.4.1 基於累加器的FIR濾波器性能分析 (181)
7.4.2 基於累加器的FIR濾波器設計步驟 (184)
7.4.3 基於累加器的FIR濾波器FPGA實現後的功能仿真 (186)
7.5 FIR濾波器的MATLAB設計 (190)
7.5.1 基於fir1()函數的FIR濾波器設計 (190)
7.5.2 各種窗函數性能的比較 (193)
7.5.3 各種窗函數性能的仿真 (194)
7.5.4 基於firpm()函數的FIR濾波器設計 (196)
7.5.5 基於FDATOOL的FIR濾波器設計 (198)
7.6 FIR濾波器的係數量化方法 (200)
7.7 並行結構FIR濾波器的FPGA實現 (202)
7.7.1 並行結構FIR濾波器的VHDL設計 (202)
7.7.2 並行結構FIR濾波器的功能仿真 (206)
7.8 串行結構FIR濾波器的FPGA實現 (207)
7.8.1 兩種串行結構原理 (207)
7.8.2 全串行結構FIR濾波器的VHDL設計 (208)
7.8.3 全串行結構FIR濾波器的功能仿真 (212)
7.9 基於FIR核的FIR濾波器設計 (215)
7.9.1 FIR濾波器係數文件(COE文件)的生成 (215)
7.9.2 基於FIR核的FIR濾波器的設計步驟 (217)
7.9.3 基於FIR核的FIR濾波器的功能仿真 (219)
7.10 FIR濾波器的板載測試 (220)
7.10.1 硬件接口電路 (220)
7.10.2 板載測試程序 (221)
7.10.3 板載測試驗證 (224)
7.11 小結 (225)
7.12 思考與練習 (226)
第8章IIR濾波器設計 (227)
8.1 IIR濾波器的理論基礎 (227)
8.1.1 IIR濾波器的原理及特性 (227)
8.1.2 IIR濾波器的常用結構 (228)
8.1.3 IIR濾波器與FIR濾波器的比較 (231)
8.2 IIR濾波器的MATLAB設計 (232)
8.2.1 採用butter()函數設計IIR濾波器 (232)
8.2.2 採用cheby1()函數設計IIR濾波器 (233)
8.2.3 採用cheby2()函數設計IIR濾波器 (233)
8.2.4 採用ellip()函數設計IIR濾波器 (234)
8.2.5 採用yulewalk()函數設計IIR濾波器 (234)
8.2.6 幾種IIR濾波器設計函數的比較 (235)
8.2.7 採用FDATOOL設計IIR濾波器 (237)
8.3 直接型結構IIR濾波器的FPGA實現 (238)
8.3.1 直接型結構IIR濾波器的係數量化方法 (238)
8.3.2 直接型結構IIR濾波器的有限字長效應 (240)
8.3.3 直接型結構IIR濾波器的FPGA實現方法 (242)
8.3.4 直接型結構IIR濾波器的VHDL設計 (243)
8.3.5 MATLAB與QuartusⅡ13.1的數據交互 (248)
8.3.6 在MATLAB中生成測試信號文件 (249)
8.3.7 測試激勵文件中的文件I/O功能 (252)
8.3.8 利用MATLAB分析輸出信號的頻譜 (255)
8.4 級聯型結構IIR濾波器的FPGA實現 (256)
8.4.1 濾波器係數的轉換 (256)
8.4.2 級聯型結構IIR濾波器的係數量化 (258)
8.4.3 級聯型結構IIR濾波器的FPGA實現 (258)
8.4.4 級聯型結構IIR濾波器的VHDL設計 (259)
8.4.5 級聯型結構IIR濾波器FPGA實現後的仿真 (262)
8.5 IIR濾波器的板載測試 (263)
8.5.1 硬件接口電路 (263)
8.5.2 板載測試程序 (264)
8.5.3 板載測試驗證 (265)
8.6 小結 (265)
8.7 思考與練習 (266)
第9章快速傅里葉變換(FFT)的設計 (267)
9.1 FFT的原理 (267)
9.1.1 DFT的原理 (267)
9.1.2 DFT的運算過程 (269)
9.1.3 DFT運算中的幾個常見問題 (269)
9.1.4 FFT的基本思想 (271)
9.2 FFT的MATLAB仿真 (272)
9.2.1 通過FFT測量模擬信號的頻率 (272)
9.2.2 通過FFT測量模擬信號的幅度 (275)
9.2.3 頻率分辨率與分辨不同頻率的關係 (277)
9.3 FFT核的使用 (281)
9.3.1 FFT核簡介 (281)
9.3.2 FFT核的接口及時序 (282)
9.4 信號識別電路的FPGA設計 (283)
9.4.1 頻率疊加信號的時域分析 (283)
9.4.2 信號識別電路的設計需求及參數分析 (285)
9.4.3 信號識別電路的VHDL設計 (286)
9.4.4 信號識別電路的ModelSim仿真 (291)
9.5 信號識別電路的板載測試 (296)
9.5.1 硬件接口電路 (296)
9.5.2 板載測試的方案 (297)
9.5.3 頂層文件的設計 (297)
9.5.4 測試信號生成模塊的設計 (300)
9.5.5 接收模塊的設計 (303)
9.5.6 數據整理模塊的設計 (305)
9.5.7 串口通信模塊的設計 (307)
9.5.8 板載測試驗證 (311)
9.6 小結 (313)
9.7 思考與練習 (314)
參考文獻 (315)




相關書籍

Verilog HDL與FPGA數字系統設計 第2版

作者 羅傑

2022-03-01

基本電學奪分攻略, 5/e

作者 楊哲 余宏

2022-03-01

Microchip Fabrication: A Practical Guide to Semiconductor Processing, 6/e (Hardcover)

作者 Peter Van Zant

2022-03-01