FPGA与CPU、DSP和GPU的差异
FPGA是硬件可编程,其他芯片为软件可编程。
FPGA具有丰厚的硬件核算单元以及分布式并行内存,其他芯片只要十分有限的核算资源,比方CPU只要几个高功用ALU,别的其他芯片一般运用一个同享内存,在任何是有只能进行一次的读或许写操作。
FPGA灵敏的硬件资源导致所运用的HDL言语笼统等级十分低,为RTL级,而其他芯片的编程言语都是在算法级或许体系级。
CPU适用于调度和办理的场景,比方文件办理,人机交互。
DSP合适数据处理,尤其是递归调用
GPU合适大容量数据流处理
FPGA的优势
传统的CPU进步功用的常见方法有:
进步时钟频率ff
添加核的数目
因为芯片的功耗PP同频率ff和芯片作业电压VV有如下联系:
P=12fV2P=12fV2
因而FPGA经过较低频率如500MHz以及十分低的核电压0.8V、1.35V等来下降功耗,一起经过很多的硬件并行核算进步功用。FPGA有如下优势:
低功耗
高度并行,体现在并行的核算单元和内存单元
当时FPGA中嵌入了CPU软核和硬核,是的FPGA一起具有十分好的逻辑操控和高功用数据核算的才能
Xilinx的FPGA架构
Xilinx FPGA有两种内存方式:
由2个18Kb的内存组成的BRAM,能够有多种装备(单端/双端、ROM/RAM)
SLICEM中的LUT,能够装备为多种形式的分布式RAM,能够有多种装备(单端/双端、位宽)
运用C/C++ 来开发FPGA时需求重视的方面
算法的不同部分的功用
FPGA底层单元的操作
算法不同部分同FPGA底层单元的映射联系
算法的FGPA资源运用率