Xilinx Artix-7 FPGA快速入门、技巧与实例连载7——FPGA开发技能

Xilinx Artix-7 FPGA快速入门、技巧与实例连载7——FPGA开发技能

更多资料共享
链接:https://share.weiyun.com/53UnQas
Xilinx Artix-7 FPGA快速入门、技巧与实例连载7——FPGA开发技能

在FPGA技术的应用领域不断扩展的同时,工程师或开发团队所需要具备的技能比过去要多得多,甚至也超过了其他任何可编程芯片(如MCU、ARM或DSP)。今天的FPGA工程师可能需要精通系统级的设计、功能定义和划分、嵌入式处理器实现、DSP算法实现,HDL设计输入、仿真、设计优化和高速电路板的布局布线以及各种不同的信号接口标准。FPGA工程师可能需要来自系统、软件和硬件工程的设计技能。
很少有技术像FPGA开发一样,需要丰富的经验基础才能充分利用其技术优势。FPGA设计是一种整合的技术,要求从不同的设计领域融合多种设计技能。如图1.34所示,在一些复杂的FPGA开发过程中,极可能涉及到多种交叉的设计技能。
Xilinx Artix-7 FPGA快速入门、技巧与实例连载7——FPGA开发技能
图1.34 FPGA多种设计技能的交叉
表1.1 FPGA开发所需的各方面技能
硬件/DSP设计
 板级硬件与接口设计  DSP算法的硬件实现
 逻辑电路设计  功耗与去耦设计
 硬件仿真  板级引脚分配
 硬件模块调试  I/O特性的定义
 设计布局  设计优化权衡
 信号完整性和终端匹配  FPGA器件和封装选择
软件(HDL)设计
 HDL语言的设计输入  脚本实现自动化处理
 设计测试平台的开发  HDL流程设计的配置管理
 设计约束  支持设计复用
系统设计
 处理器需求分析  设计数据流的定义
 处理器架构的选择  硬件/软件实现的权衡
 系统级设计的层次结构定义  功能划分和模块化设计
 系统模块的集成与接口测试  系统级测试,调试和验证
软件/DSP设计
 处理器代码模块的定义  代码的编写和测试
 DSP算法的软件实现  常规的代码调试和验证
 在处理器上运行操作系统  代码的配置管理

完成一个FPGA工程所需要的设计技能,初看起来似乎非常广泛。例如,在设计的输入和仿真阶段,用的是HDL,偏重的是软件;而在设计实现阶段,使用的是FPGA器件的物理资源,包含了混合的I/O单元、存储单元、寄存器、布线和特定功能的电路,这些都是偏重于硬件。
在FPGA开发的各个阶段中,往往要求工程师掌握很多设计技能。而在掌握这些技能的同时还需要完成整个设计,这是一件很有挑战的任务。若能够拥有一个多学科的设计团队,就能具备一系列独特的优势和经验,实属最佳的人力资源方案。可惜,这样理想的设计团队往往由于各方面的资源限制,而无法组建。因此,实际的FPGA开发团队就要求每个成员在项目开发过程中不断的延伸和拓展新的技能。这就意味着,每个团队成员都有机会尽可能多地熟悉FPGA开发过程中的各个要素。

更多资料共享
链接:https://share.weiyun.com/53UnQas