扫一扫,分享给好友
我首次接触FPGA和MCU其实都是在大学,在大学里的期末综合设计就是用FPGA来设计一个简单的MCU,一个只有几条指令的MCU,两周的时间,基本上就两个小组搞定了。自此我就有了一种思维,那就是FPGA最大的作用就是来设计和验证MCU的,现在想想,这其实只是FPGA的一个用处。这个疑问已经在我的脑中疑惑很久,有时候可以想明白,但是有时候就又想不通了,所以,最近在仔细的搜集资料后进行了总结,如有错误还请指正。
首先,FPGA(现场可编程门阵列)和MCU(微控制器)都是两种常见的集成电路。尽管它们都可以被视为“小型计算机”,但它们在可编程性和处理能力方面存在显著差异。但是FPGA的独特优势
所以适合FPGA的应用场景有这些:
结论
综上所述,其实FPGA和MCU各有其独特的优势和适用场景。以上都是官方的话术,然后我来说一下我的理解:
高并行处理能力 它可以做到某个引脚和其他引脚相关联,某个引脚又和另外的引脚相关联,并且同一时刻可以互相不影响,而我们进行MCU操作的时候,通常采用顺序执行的方式处理任务,处理速度受限于CPU的时钟频率。相比之下,FPGA的并行处理架构能够同时执行多个任务,大大提高了处理效率,有些像是CPU和GPU的理解,但肯定是不同的。在需要处理多个高速数据流的场景下,FPGA的多通道IO接口设计能力显得尤为重要,例如PCIe、DDR还是其他高速通信协议。FPGA可以进行高速数字信号处理,能够以极高的效率执行数字滤波、FFT等信号处理算法
实时系统的低延迟 这个更像是MCU和CPU的理解,Windows/Linux和实时系统的对比就在于,虽然CPU的运算性能更高,但是他的实时可靠性却不如实时系统,我们会看到Windows无响应,而MCU只要设计的问题不大,一般跑飞的概率会小很多,而FPGA的实时系统的低延迟在某些场景会更胜一筹。
硬件级可编程性的应用 对于创新性的应用或尚未成熟的算法,开发者可以利用FPGA的可编程性进行原型设计和验证,加速新产品的推出和市场响应。
定制化硬件加速 说起硬件加速,现在往往想到的就是GPU,尤其是视频编码,但据说在大部分场景的视频编码时,尤其时监控摄像头,往往使用FPGA可以提供定制化的硬件加速方案。通过将算法映射到FPGA的硬件逻辑上,可以实现远超软件实现的性能提升。
只看该作者
举报
发布
FPGAmcufpga
【开源FPGA硬件】硬件黑客集结:开源FPGA开发板测评活动全网火热招募中......
JEDSD204B标准verilog实现-协议演进
NVMe高速传输之摆脱XDMA设计16:TLP优化
RDMA over RoCE V2设计1:通用,稳定及高性能!
【高云GW5AT-LV60 开发套件试用体验】三、LED灯控制实验
【高云GW5AT-LV60 开发套件试用体验】基于开发板进行深度学习实践,并尽量实现皮肤病理图片的识别,第四阶段
【RK3568+PG2L50H开发板实验例程】FPGA部分 | 光纤通信测试实验例程
【RK3568+PG2L50H开发板实验例程】FPGA部分 | DDR3 读写实验例程
【RK3568+PG2L50H开发板实验例程】FPGA部分 | ROM、RAM、FIFO 的使用
【RK3568+PG2L50H开发板实验例程】FPGA部分 | Pango 的时钟资源——锁相环
电子发烧友网
电子发烧友论坛