北京汇众新特科技有限公司  > 所属分类  >  Intel资源   
[6] 评论[0] 编辑

Intel FPGA数字信号处理系统设计权威指南:从HDL、Simulink到HLS的实现(基础篇)

Intel FPGA数字信号处理系统设计权威指南Intel FPGA数字信号处理系统设计权威指南



目录

编辑本段

本书从硬件描述语言、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核原理及应用


推荐序一编辑本段

众所周知,我们正在进入一个全面科技创新的时代。科技创新驱动并引领着人类社会的发展,从人工智能、自动驾驶、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月于北京

附件列表


9787121419362.jpg
 
Intel FPGA数字信号处理系统设计权威指南

6

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。

标签

暂无标签

同义词

暂无同义词