发布日期:2022-10-11 点击率:878
FPGA是一种可编程的硅芯片,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模拟接口。
下一篇: PLC、DCS、FCS三大控
上一篇: 索尔维全系列Solef?PV