【内容】
本书以实战开发为原则,先通过初级、中级、高级三个阶段的案例,让读者全面、深入、透彻地理解FPGA开发的原理以提高实际开发水平和项目实战能力,再通过FPGA高级综合设计对SG软件和HLS软件进行介绍,提供一种全新的FPGA编程方法。


本书共分6章,涵盖的内容有FPGA简史、FPGA和其他器件的区别、FPGA相应开发软件的下载及安装方法、Verilog语言的语法、FPGA开发流程、呼吸灯设计与实现、流水灯设计与实现、按键控制LED设计与实现、自动售货机的设计与实现、串口通信设计与实现、VGA设计与实现、VGA显示图像、Sobel算子实现、VGA显示原理、DDR3和PCI-e的理论讲解与实践、SG软件和HLS软件。


本书内容丰富,实例典型,实用性强,适合各个层次想要学习FPGA的人员阅读,尤其适合有一定FPGA基础且想进一步学习的开发人员阅读。
【目录】
目 录 第1章 
第1章  FPGA基本情况介绍    1  
1.1  FPGA简史    1  
1.1.1  FPGA与ASIC    1  
1.1.2  FPGA与CPLD    4  
1.1.3  Altera与Xilinx    5  
1.1.4  Verilog与VHDL    6  
1.2  FPGA芯片(Xilinx)介绍    8  
1.2.1  FPGA的基本结构    8  
1.2.2  软核、硬核及固核    12  
1.2.3  7系列FPGA简介    13  
1.3  FPGA的应用领域    17  
1.3.1  机器学习    17  
1.3.2  5G无线    19  
1.3.3  嵌入式视觉    20  
1.3.4  工业物联网    21  
1.3.5  云计算    22  
1.3.6  FPGA硬件加速平台    23  
1.4  总结    23  
第2章  FPGA设计基础知识    24  
2.1  软件下载及安装    24  
2.1.1  ISE下载及安装    24  
2.1.2  ModelSim下载及安装    28  
2.1.3  Vivado下载及安装    29  
2.1.4  ISE关联ModelSim    32  
2.1.5  Vivado关联ModelSim    36  
2.1.6  UE(UltraEdit)的安装和配置    40  
2.2  Verilog基本语法介绍    44  
2.2.1  发展历史    44  
2.2.2  语言设计思路    45  
2.2.3  语言要素    46  
2.2.4  数据类型    47  
2.2.5  流程控制    50  
2.2.6  语言描述方法    52  
2.2.7  逻辑门级描述    56  
2.2.8  晶体管级描述    57  
2.2.9  逻辑综合编辑    58  
2.2.10  可综合代码    58  
2.2.11  不可综合结构类型    58  
2.2.12  高级功能编辑    59  
2.3  FPGA开发流程    60  
2.3.1  设计流程    60  
2.3.2  典型FPGA开发流程与注意事项    61  
2.4  总结    63  
第3章  FPGA初级设计    64  
3.1  呼吸灯设计与实现    64  
3.1.1  需求分析    64  
3.1.2  流程    64  
3.1.3  时序图    65  
3.1.4  时序图寄存器分析    66  
3.1.5  源码展示    67  
3.1.6  仿真文件    68  
3.1.7  仿真结果分析    69  
3.1.8  约束文件    70  
3.1.9  扩展训练    70  
3.2  流水灯设计与实现    70  
3.2.1  需求分析    70  
3.2.2  流程    71  
3.2.3  时序图    71  
3.2.4  时序图寄存器分析    72  
3.2.5  源码展示    73  
3.2.6  仿真文件    74  
3.2.7  仿真结果分析    74  
3.2.8  扩展训练    75  
3.3  按键控制LED设计与实现    75  
3.3.1  需求分析    75  
3.3.2  流程    75  
3.3.3  时序图    75  
3.3.4  时序图寄存器分析    76  
3.3.5  源码展示    77  
3.3.6  仿真文件    79  
3.3.7  仿真结果分析    80  
3.3.8  扩展训练    81  
3.4  自动售货机设计与实现    81  
3.4.1  需求分析    81  
3.4.2  流程    81  
3.4.3  时序图    82  
3.4.4  时序图寄存器分析    84  
3.4.5  源码展示    87  
3.4.6  仿真文件    87  
3.4.7  仿真结果分析    89  
3.4.8  扩展训练    90  
3.5  总结    90  
第4章  FPGA中级设计    91  
4.1  串口通信设计与实现    91  
4.1.1  需求分析    91  
4.1.2  UART协议简介    91  
4.1.3  流程图    93  
4.1.4  源码分析    94  
4.1.5  仿真测试    97  
4.2  VGA设计与实现    99  
4.2.1  需求分析    99  
4.2.2  VGA原理简介    99  
4.2.3  源码展示分析    103  
4.2.4  仿真结果分析    106  
4.2.5  扩展训练    107  
4.3  VGA显示图像    107  
4.3.1  需求分析    107  
4.3.2  流程    107  
4.3.3  时序图    108  
4.3.4  调用RAM模块IP核步骤    108  
4.3.5  扩展训练    110  
4.4  Sobel算子实现    110  
4.4.1  需求分析    110  
4.4.2  Sobel算子详解    110  
4.4.3  Sobel算子流程    112  
4.4.4  Sobel算子时序图    113  
4.4.5  核心代码展示和分析    114  
4.5  总结    120  
第5章  FPGA高级设计    121  
5.1  DDR3理论讲解和实践部分    121  
5.1.1  DDR3工作流程    121  
5.1.2  DDR3的一些基本概念    123  
5.1.3  文档研读    128  
5.1.4  DDR3的IP核测试    133  
5.1.5  总结    139  
5.2  PCI-e理论讲解和实践    139  
5.2.1  理论讲解    139  
5.2.2  扩展和未来方向    144  
5.2.3  硬件协议摘要    144  
5.2.4  RIFFA简介    147  
5.2.5  RIFFA使用之FPGA端    150  
5.2.6  RIFFA使用之PC端    157  
5.3  总结    159  
第6章  FPGA高级综合设计    160  
6.1  System Generator介绍及安装    160  
6.2  System Generator工具的基本使用方法    166  
6.2.1  System Generator中的库    167  
6.2.2  System Generator中的数据类型    174  
6.2.3  System Generator自动代码生成    174  
6.3  System Generator实例    175  
6.3.1  FIR滤波器实例    176  
6.3.2  FFT实例    193  
6.3.3  数字正交解调(DDC)实例    199  
6.4  HLS介绍及安装    211  
6.5  HLS工具的基本使用方法    213  
6.6  HLS实例——基于HLS的Sobel边缘检测    214  
6.6.1  再次出现的Sobel算子    214  
6.6.2  MATLAB仿真实现边缘检测    216  
6.6.3  HLS实现图像边缘检测    216  
6.7  总结    224  
 
   
 
 
显示全部信息
返回顶部