《一文知晓FPGA与ARM、DSP的不同点.doc》由会员分享,可在线阅读,更多相关《一文知晓FPGA与ARM、DSP的不同点.doc(2页珍藏版)》请在三一文库上搜索。
1、一文知晓FPGA与ARM、DSP的不同点然而,FPGA并不是万能的。相对于串行结构处理器,其设计的灵活性是以工作量的增加为代价的。FPGA与ARM、DSP(如下图所示)的比较如下。第一,从语言本身的差异来看,基于Verilog HDL和VHDL的硬件语言与C/C+相比,在代码灵活性、开发效率等方面还有较大差距。通常一段十几行的C语言代码使用硬件语言实现后,代码量会增加到几十行之多。同时,在进行硬件语言描述时,一个合格的FPGA工程师不仅要实现相应的逻辑功能,还要在头脑里浮现编写的代码所生成的逻辑结构,并考虑到门延时对系统时序的影响。这样才能够设计出稳定高效的逻辑结构,减少后期时序调整的工作。第
2、二,从资源配置来看,ARM、DSP等处理器集成了运算单元、存储单元及大量的总线接口,工程师通过正确配置各个寄存器参数后即可使总线接口工作在相应的模式下。而FPGA内部为大量逻辑资源,总线接口需根据需要自行设计,其内部仅有部分专用模块,如PLL、DSP单元等。由于在一个由FPGA搭建的系统中,众多接口需要自行设计,因此会占用开发者大量的时间。第三,从工作频率来看,ARM、DSP等处理器采用的是成熟的内核结构,具有较好的时序特性,其最高频率通常为600MHz1.25GHz。为提高处理能力,TI等芯片厂商采用多核的设计方式,设计了具有8核DSP、8核ARM的处理器,每个核心的最大工作频率可 达1.2
3、5GHz,通过设置可以开启和关闭其中的内核来灵活地协调功耗与处理能力之间的矛盾。目前TI公司正在设计具有8核ARM+8核DSP的处理器,来满足高速系统中集中运算的需求。而在FPGA的设计中,不同的系统具有不同的最高工作频率,该频率可以在编译报告中获得。对于Altera公司的FPGA,通过TImeQuest工具调整时序,可以提升设计工程的最高频率。一个具有良好设计的FPGA工程的最高频率可达150MHz以上。第四,从执行方式来看,基于嵌入式平台的C/C+语言在已有的硬件结构中执行,只需正确配置相关寄存器即可。而使用硬件语言的设计需自行设计硬件结构,在生成结构前还要经过前仿真、综合、布局布线、后仿
4、真等步骤,开发周期较长。这一情况在较为复杂的FPGA工程设计中尤为严重。例如,一个添加了4个DDR2的IP的工程在i5处理器、4G内存的计算机上,编译时间甚至在20min以上。第五,从算法应用来看,ARM、DSP等处理器中集成了加法器、乘法器等运算单元,尤其是在DSP中,可以在一个周期内进行88位甚至1616位的乘法运算。同时,这些处理器还支持浮点运算能力。而FPGA对这部分运算并不擅长,即使在较为简单的加法运算中,若进行加法的两个数据具有较高的位宽,由于传统的加法中的进位方式是串行结构,所以在其生成的结构中会产生较长的门延时,从而会降低时序的余量,甚至会降低系统编译后的最高工作频率。第六,从算法设计来看,在ARM、DSP等处理器中设计算法前,需要提前构思算法的流程图,然后进行代码的编写。而在FPGA设计中,主要包含三种设计方式:面向状态的设计,面向活动的设计和面向结构的设计。