对比ARM、DSP、FPGA:我们真的不一样

2018-03-13 13:58:21 来源:AET
标签:
DSP   FPGA   ARM
然而,FPGA并不是万能的。相对于串行结构处理器,其设计的灵活性是以工作量的增加为代价的。FPGA与ARMDSP(如下图所示)的比较如下。
 
第一,从语言本身的差异来看,基于Verilog HDL和VHDL的硬件语言与C/C++相比,在代码灵活性、开发效率等方面还有较大差距。通常一段十几行的C语言代码使用硬件语言实现后,代码量会增加到几十行之多。同时,在进行硬件语言描述时,一个合格的FPGA工程师不仅要实现相应的逻辑功能,还要在头脑里浮现编写的代码所生成的逻辑结构,并考虑到门延时对系统时序的影响。这样才能够设计出稳定高效的逻辑结构,减少后期时序调整的工作。
 
 
第二,从资源配置来看,ARM、DSP等处理器集成了运算单元、存储单元及大量的总线接口,工程师通过正确配置各个寄存器参数后即可使总线接口工作在相应的模式下。而FPGA内部为大量逻辑资源,总线接口需根据需要自行设计,其内部仅有部分专用模块,如PLL、DSP单元等。由于在一个由FPGA搭建的系统中,众多接口需要自行设计,因此会占用开发者大量的时间。
 
第三,从工作频率来看,ARM、DSP等处理器采用的是成熟的内核结构,具有较好的时序特性,其最高频率通常为600MHz~1.25GHz。为提高处理能力,TI等芯片厂商采用多核的设计方式,设计了具有8核DSP、8核ARM的处理器,每个核心的最大工作频率可 达1.25GHz,通过设置可以开启和关闭其中的内核来灵活地协调功耗与处理能力之间的矛盾。目前TI公司正在设计具有8核ARM+8核DSP的处理器,来满足高速系统中集中运算的需求。而在FPGA的设计中,不同的系统具有不同的最高工作频率,该频率可以在编译报告中获得。对于Altera公司的FPGA,通过TimeQuest工具调整时序,可以提升设计工程的最高频率。一个具有良好设计的FPGA工程的最高频率可达150MHz以上。
 
第四,从执行方式来看,基于嵌入式平台的C/C++语言在已有的硬件结构中执行,只需正确配置相关寄存器即可。而使用硬件语言的设计需自行设计硬件结构,在生成结构前还要经过前仿真、综合、布局布线、后仿真等步骤,开发周期较长。这一情况在较为复杂的FPGA工程设计中尤为严重。例如,一个添加了4个DDR2的IP的工程在i5处理器、4G内存的计算机上,编译时间甚至在20min以上。
 
第五,从算法应用来看,ARM、DSP等处理器中集成了加法器、乘法器等运算单元,尤其是在DSP中,可以在一个周期内进行8×8位甚至16×16位的乘法运算。同时,这些处理器还支持浮点运算能力。而FPGA对这部分运算并不擅长,即使在较为简单的加法运算中,若进行加法的两个数据具有较高的位宽,由于传统的加法中的进位方式是串行结构,所以在其生成的结构中会产生较长的门延时,从而会降低时序的余量,甚至会降低系统编译后的最高工作频率。
 
第六,从算法设计来看,在ARM、DSP等处理器中设计算法前,需要提前构思算法的流程图,然后进行代码的编写。而在FPGA设计中,主要包含三种设计方式:面向状态的设计,面向活动的设计和面向结构的设计。
 
(1)面向状态的设计是以状态机为代表的设计方式,即通过控制信号和时序信号触发状态机进行状态的迁移。状态机的设计是FPGA开发中必不可少的环节,这部分内容将  在7.2.2节中详细叙述。
 
(2)面向活动的设计是以数据流和流程图为代表的设计方式。尤其是在传输系统、实时算法设计中,常使用基于数据流的设计方式。常见的数据流的操作方式包括数据的寄存器同步缓冲、数据传递、数据运算与流水设计、数据的存取等。
 
(3)面向结构的设计常用于较大的系统设计中,用于描述模块与模块、单元与单元之间的互联关系,主要包括数据信号与控制信号。根据不同的层次描述,主要可以分为系统级结构描述、寄存器级结构描述、门级结构描述等。
 
为了解决这些硬件工程师所面临的问题,Altera Xilinx等FPGA公司不遗余力地对开发平台进行了完善,如下以Altera的解决方案为例。
 
针对第一点提及的设计语言的问题,Altera推出了Qsys(SOPC)等片上软核,使工程师在FPGA中同样可以使用更为灵活的C语言进行编程。Qsys(SOPC)中包含了片内、片外存储器、定时器及各种接口等IP,使工程师可以按需定制自己的片内处理器。使用这种方式,在一定程度上缓解了硬件描述语言开发周期过长的缺点,也成为一种对FPGA系统进行前期功能验证的有效手段。
 
针对第二点提及的通用模块或接口占用开发周期的问题,Altera和供应商设计了大量具有知识产权的IP(Intellectual Property,知识产权),包括运算类、通信类、数字信号处理类、门类、输入/输出类、接口类、JTAG扩展类、存储类等多种类别。这些IP是经过严格测试和优化过的,其中部分IP免费,上面提到的SOPC中应用的大部分IP都是免费的。
 
值得注意的是,尽管大部分基本功能的IP可以在不同系列的FPGA间通用,依然有一些IP并不支持所有系列的FPGA,使用这些IP在不同系列的FPGA间进行工程移植时需要注意。所使用的IP是否支持当前芯片,可以在Quartus II的MegWizard管理器中查阅,也可以在官网中查阅。
 
对于第三点提到的工作频率的问题,不同的处理器具有不同的应用领域。在高速数据处理过程中,ARM、DSP等固然可达到较高的工作频率,然而相对于FPGA,其高速的优势仅体现在串行结构的算法中。在FPGA的设计中,可利用其硬件设计的灵活性,采用并行算法或将串行算法改造为并行算法,然后在FPGA中实现。经测试,在工作频率为1GHz的DSP中(TMS320C6416),对SDRAM中分辨率为2048×2048的图像进行中值滤波后重新写入SDRAM,耗时为7s;而在FPGA中,完全可以在图像输入时进行实时处理,仅消耗几个时钟周期的处理,近似可认为0延时—实时。
 
对于第四点提及的编译时间过长的问题,Altera致力于开发新版本的平台,提升编译效率的同时,增加了增量编译的功能。配合区域锁定,可以锁定已编译过且在后续修改中没有改动过的模块,对这部分模块不进行重新编译,从而可减少编译时间。
 
针对第五点提及的运算能力的问题,Altera FPGA中内嵌了多个DSP块。每个DSP块中包含加法器和乘法器结构,根据系列不同,具有不同的数据位宽。多个DSP块中的加法器和乘法器可以互相拼接,从而支持更高位宽的运算。结合相关的运算类IP,可以流水线的形式完成运算,每个周期输出一次计算结果。表1.10为Cyclone III系列FPGA的资源列表。可以看到,与DSP相比,Cyclone III的乘法器资源还是比较丰富的,这使得在FPGA内部进行并行运算成为可能。
 
 
最后,Altera又推出了嵌入了双核28nm的ARM Cortex-A9的FPGA,同时以足够的DSP块和足够的乘法器资源,完善了FPGA+DSP+ARM架构,并以单片SoC FPGA的模式,解决了过往FPGA力所不能及的缺陷,解决了未来多IC集成的前瞻性问题,如图1.28所示。而这却仅仅只是一个开始,在未来Altera FPGA的发展中,更多的以实现FPGA+DSP+ARM为架构,并行实现高速运算,解决过去的难题,不断地突破极限。在未来的数字系统设计中,这必然是一种趋势。
 
 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
阿里云联合翱捷科技推出LoRa芯片,赛普拉斯PSoC4提供强大助力

对于需要灵活的传感器接口和业界领先的小型物联网设计而言, PSoC®4 MCU是真正的“难题终结者”

结合FPGA动态重构技术和GSM通信技术实现FPGA远程动态重构

提出了一种FPGA远程动态重构的方法,结合FPGA动态重构技术和GSM通信技术来实现。利用GSM技术实现配置数据的无线传输,在单片机控制下将数据存储于CF卡中。在内嵌硬核微处理器PowerPC405控制下,FPGA通过内部配置存取端口读取CF卡中新的配置数据,对可重构区进行配置以实现新的功能。

基于ARM的嵌入式系统CF卡与CPLD连接技术详解

随着应用需求的不断提高,许多嵌入式系统在应用时都要求带有扩展的大容量存储器来存储数据。CF 卡(Compact Flsah Card)由于价格便宜、存储容量大、体积小、兼容性好等优点被广泛应用于嵌入式产品。

RISC-V对ARM,杀势已成!

ARM架构过去称作进阶精简指令集机器(Advanced RISC Machine),又称“高级RISC机器”,是一个32位精简指令集(RISC)处理器架构。RISC-V是一种新的开放且免费的指令集架构。

一种基于FPGA的整数分周比实现方法

电动机是各类数控机床的重要执行部件。要实现对电动机的精确位置控制,转子的位置必须能够被精确的检测出来。光电编码器是目前最常用的检测器件。光电编码器分为增量式、绝对式和混合式。其中,增量式以其构造简单,机械寿命长,易实现高分辨率等优点,已被广泛采用。

更多资讯
时隔两年,AMD北极星架构要升级12nm?

随着RTX 20系列的发布上市,NVIDIA在独立显卡市场上的统治地位进一步稳固。AMD虽然仍旧握有三成市场份额,但在产品方面毫无招架之力,现在的RX 500/Vega系列没啥竞争力,7nm的还得慢慢等。

华为近年最大动作揭晓,每年投10亿美元巨资自研AI芯片
华为近年最大动作揭晓,每年投10亿美元巨资自研AI芯片

华为接下来将发布华为云数据中心AI芯片,并跟国际巨头达成合作;同时推出跨终端、私有云、公有云等平台的AI算法模型一整套部署方案。一旦这些付诸实施,将是华为在AI时代的一个重要转折点。

麒麟980发布骁龙845稳步上新 小米8系列新机驾临

手机处理器换代速度很快,麒麟980已于近期发布,而骁龙845于去年进入市场并且被很多国产手机品牌所采用。麒麟980和骁龙845属于同代产品,尽管发布周期有所不同。

麒麟980和骁龙845怎么样 骁龙845手机如何选?

麒麟980作为最新发布手机处理器,离上市还有一段时间。而去年就上市的骁龙845已经有不少品牌采用其打造了自己的骁龙845旗舰机型。

高通服务器芯片的失败之旅

网易科技讯 9月21日消息,据国外媒体报道,在服务器芯片领域,英特尔是当之无愧的市场领导者,利润高企。高通一度想要建立自己的服务器芯片业务,与英特尔同分一杯羹。

Moore8直播课堂
电路方案