全面解析FPGA与DSP,两者区别竟然这么大

2017-02-08 22:18:51 来源:电子发烧友网
标签:
FPGA   DSP   UART

PGA是一种可编程的硅芯片,DSP是数字信号处理,当系统设计人员在项目的架构设计阶段就面临到底采用FPGA还是DSP的重要问题。本文将首先分别介绍FPGA和DSP的特点,然后再从内部资源、编程语言、功能多个角度解析两者的不同。

 

 

1、FPGA与DSP的特点

FPAG的结构特点

片内有大量的逻辑门和触发器,多为查找表结构,实现工艺多为SRAM。规模大,集成度高,处理速度快,执行效率高。能完成复杂的时序逻辑设计,且编程灵活,方便,简单,可多次重复编程。许多FPAG可无限重复编程。利用重新配置可减少硬件的开销。缺点是:掉电后一般会丢失原有逻辑配置;时序难规划;不能处理多事件;不适合条件操作。

 

DSP的结构特点

1、 采用数据和程序分离的哈佛结构和改进的哈佛结构,执行指令速度更快。

2、 采用流水线技术,减少每条指令执行时间。

3、 片内多总线,可同时进行取指及多个数据存取操作。

4、 独立的累加器及加法器,一个周期内可同时完成相乘及累加运算。

5、 有DMA通道控制器及串行通信口等,便于数据传送。

6、 有中断处理器及定时控制器,便于构成小规模系统。

7、 具有软硬件等待功能,能与各种存储器接口。

 

DSP作为专门的微处理器,主要用于计算,优势是软件的灵活性。适用于条件进程,特别是复杂的多算法任务。DSP通过汇编或高级语言(如C语言)进行编程,实时实现方案。因此,采用DSP器件的优势在于:软件更新速度快,极大地提高了系统的可靠性、通用性、可更换性和灵活性。缺点:受到串行指令流的限制;超过几MHZ的取样率,一个DSP 仅能完成对数据非常简单的运算;研发周期长。

 

2、内部资源

FPGA侧重于设计具有某个功能的硬件电路,内部资源是VersaTIles(ActelFPGA)之类的微小单元,FPGA的内部单元初始在编程前都是使用的是HDL语言实现硬件电路的设计描述。FPGA内部的连线资源将这些功能模块的内部和模块之间的信号连接起来,构成较大的模块。FPGA可以内部实现ALU,加法器,乘法器,累加器,FIFO,SRAM,DDRcontroller,FFT,HDLC,DMA,PWM等等数字电路,也就说我们要用其实现一个特定的或是通用的硬件功能一个或是多个模块,这些模块的各个细节都要要用HDL来描述设计实现。

 

目前的FPGA都可以直接内嵌诸如ARM7,CoretexM1,Core8051等微处理器,用于FPGA的软核的,也有的FPGA厂商将一些硬件模块直接做到FPGA中,这些是FPGA内部的硬核。传统的FPGA都是实现纯数字电路的,业界只有Actel的FPGA实现了数模混合的PSC单芯片技术,真正的提升和扩大了FPGA的应用功能和领域。

 

此外,多数FPGA都有PLL,DLL之类的锁相环,Slew可调,Actel的还内建了OSC,RTC,Powermanager之类的硬件单元,甚至Actel的Fusion系列还内建了600kbps的12bit的ADC以及MOSFETDriver之类模拟接口,内部有UserFlashMemeory,FlashROM等资源可以实现真正的PSC,Bootloader之类的功能。

 

DSP主要是算法处理,内部资源主要是乘法器,加法器之类的资源,有SPI接口,UART接口,接受一定的指令集,内部的资源基本上都是现成的,需要客户的需要而重新配置,方便于客户的使用,但是相对来讲其功能是有局限性的,所以主要用于某些特定的领域。DSP也有内嵌的锁相环,计数器,Baudrate发生器,有的DSP也有ADC模拟接口。

 

3、编程语言

FPGA主要使用HDL,包括VHDl,Verilog,还有数模混合的描述语言Verilog-AMS等。(课程推荐:FPGA培训)

 

DSP使用C,汇编语言编程。(课程推荐:C6000 DSP培训)

 

4、功能角度

FPGA普遍用于实现数字电路模块,基本上能实现所有的数字电路,传统的数字功能模块,以及客户产品特定需求的数字处理模块。FPGA的IO桥接种类繁多,不同种类的级别的FPGA支持的IO标准和协议都不尽相同,但是这些IO的驱动能力或是电压都是可编程配置的。任何数字功能电路的实现,高速信号的处理,控制领域的信号处理,桥转换协议的实现,Actel的Fusion还能用于电流/电压检测,温度的检测,MOSFETdriver,电源管理,其独特的Flash工艺技术可以依靠电池供电工作,和掉电实时保存数据,超低功耗,多种工作模式(StaTIc,Sleepmode),尤其IGLOO芯片的功能在Sleepmode下功耗只有5uW。这样的功耗用于手机,GPS之类的移动手持设备中能发挥更大的功能应用。

 

除此之外,用FPGA实现ASIC的前期的设计验证,FPGA实现DSP的功能,实现CPU的功能,MCU的功能,内存控制器,用于工业的PWM,SVPWM,Clarke,Park的正逆变换的实现,VGA控制,数据的编解码,解复用,高达上Gbps的信号的处理,协议的转换实现等等等等功能,都是DSP难以胜任的。

 

DSP内部有很多现成的硬件模块和接口以及控制器,但是需要软件编程设定,可以实现PWM控制,接口控制,UART接口,SPI接口等功能。但是由于受指令集的时钟周期的限制,DSP不能处理太高的信号,至于说上Gbps的信号,LVDS之类的信号就很难以涉及了。所以相应的应用领域会有所限制。但是不同的领域客户的设计方案不同,考虑的侧重点不同,有些领域设计者也是爱好使用DSP的,诸如算法实现,协议的处理等等如果换作FPGA来处理那就得不偿失。

 

5、适用的场合

DSP适用于系统较低取样速率、低数据率、多条件操作、处理复杂的多算法任务、使用C语言编程、系统使用浮点。)适合于较低采样速率下多条件进程、特别是复杂的多算法任务。

 

FPAG适用于系统高速取样速率(≥几MHZ)、高数据率、框图方式编程、处理任务固定或重复、使用定点。) 适合于高速采样频率下,特别是任务比较固定或重复的情况以及试制样机、系统开发的场合。

 

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
【技术分享】英特尔10纳米Agilex FPGA核心技术全解读

英特尔的10纳米FPGA终于来了。在四月刚刚结束的英特尔“以数据为中心创新日”中,曾经代号为Falcon Mesa的英特尔最新一代10纳米FPGA正式亮相,并正式命名为Agilex™。

【技术分享】针对FPGA的GTP信号,PCB设计时应考虑的信号完整性问题

千兆位级串行I/O技术有着极其出色的优越性能,但这些优越的性能是需要条件来保证的,即优秀的信号完整性。例如,有个供应商报告说,他们第一次试图将高速、千兆位级串行设计用于某种特定应用时,失败率为90%。

FPGA业务仅占营收的3%却成为10nm工艺第一批受益者,英特尔是怎么想的?
FPGA业务仅占营收的3%却成为10nm工艺第一批受益者,英特尔是怎么想的?

和过去几代产品相比,AMD近期推出的产品给了英特尔更为激烈的竞争压力,这将帮助AMD逐步超越英特尔;近几年来,英特尔一直深陷制造工艺升级泥潭,它最近发布的10纳米 FPGA表明它的10纳米工艺还有一些尚未得到解决的问题;AMD很有可能重现二十年前的辉煌,再次夺得CPU性能的铁王座。

【技术分享】使用EPROM或EEPROM配置FPGA大家都会,使用NOR闪存呢?

NOR闪存已作为FPGA(现场可编程门列阵)的配置器件被广泛部署。其为FPGA带来的低延迟和高数据吞吐量特性使得FPGA在工业、通信和汽车ADAS(高级驾驶辅助系统)等应用中得到广泛采用。汽车场景中摄像头系统的快速启动时间要求就是很好的一个例子——车辆启动后后视图像在仪表板显示屏上的显示速度是最为突出的设计挑战。

【技术分享】详解FPGA中的DDS技术

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。

更多资讯
高云半导体研讨会圆满召开,累计出货已达1500万片

2019年4月12日,中国武汉,高云半导体FPGA技术研讨会系列活动于武汉凯悦酒店成功召开,现场气氛热烈,座无虚席。

高云半导体研讨会圆满召开,累计出货已达1500万

2019年4月12日,中国武汉,高云半导体FPGA技术研讨会系列活动于武汉凯悦酒店成功召开,现场气氛热烈,座无虚席。

【技术分享】FPGA越来越精密,对DC-DC电源的精度也越来越高

FPGA厂商不断采用更先进的工艺来降低器件功耗,提高性能,同时FPGA对供电电源的精度要求也越加苛刻,电压必须维持在非常严格的容限内,如果供电电压范围超出了规范的要求,就有会影响到FPGA的可靠性,甚至导致FPGA失效。

【技术分享】详解迭代开发FPGA的思想,FPGA增量编译使用教程

FPGA设计的特点是需要不断不断的迭代各个设计流程来达到最终的设计,同时迭代的成本大,它比单片机开发更注重迭代的开发思想。所以,设计的前期一定要从系统的角度考虑好系统的方案,然后在系统这个方案中不断的迭代,不然后期发现由于系统方案的问题就得不偿失了,好的系统架构就是成功一大半了。其中,在FPGA设计中可以通过增量编译来加快我们的开发。

【技术分享】CRT/OLED/LCD等视频显示系统控制原理分析

作为消费者,我们对于各种形式的视频系统都已经非常熟悉了。但是从嵌入式开发人员的角度来看,视频就好像是一张纷繁复杂的网络,里面充满了各种不同的分辨率、格式、标准与显示等。

Moore8直播课堂
开发板测评
技术讨论
电路方案

1970-01-01 08:00:00