首页 > 生活常识 >

fpga的中文全称是什么 ,通透讲解单片机和FPGA的区别

354次浏览     发布时间:2024-02-26 15:53:36    

FPGA是什么呢通透讲解单片机FPGA的区别

///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以~点我头像黑色字体加我地球呺也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比///

.单片机FPGA的区别

单片机又称单片微控制器Single-chip MCU,它其实就是集成1个硅片上的计算机系统。现在市场上主流的单片机基本都使用的ARM51单片机基本上已经退出历史舞台了,只有在一些特定场合还有使用。严格来说,单片机是没I/O设备的,这也是它和计算机最大的区别。然而,我们常说的单片机往往指的是单片机开发板,这种开发板不仅包含单片机,还包含厂商开发设计的外围电路和各种外设。最常见ARM单片机STM32系列,它的内核Cortex-M3/M4,外设则包LED灯、蜂鸣器LCD显示屏、摄像头、片上内存和各IO口等。1给出的是正点原子STM32F1开发板,最中间的那个黑色的、上面写ARM三个字母的芯片就STM32F1芯片(即单片机),只占板子的很小一部分,芯片周围则是外围电路和外设。一般来说,我们买到STM32开发板往往就自带LED灯、蜂鸣器等外设,而摄像头LCD显示屏则需要额外购买,厂商只在开发板上预留相应的接口。

1正点原STM32F1开发板

那么FPGA又是什么呢FPGA英文全称Field Programmable Gate Array,它的中文名是现场可编程逻辑门阵列FPGA主要是由可编程逻辑阵列和各种外设组成的,它是一种半定制电路。通过使quartusvivado这些开发软件编verilogVHDL程序,我们可以实现并综合出各式各样的数字电路,并可以把电FPGA器件,完成电路在物理层面上的实现FPGA是可以进行无限的,只有逻辑资源足够FPGA理论上可以实现所有的数字电路,哪怕CPU这样复杂的超大型电路。然而FPGA的逻辑资源往往是很匮乏的,哪怕是在今天,也难以完成大规模的浮点运算。而且,由FPGA的基本单元使用的是可配置逻辑单元,工艺制程往往会受到限制,总会ASIC落后好几代,并且工作频率也一直达不CPU早已标配GHz

2 Altera DE2-115开发板

FPGA最大的优点是它的并行度高,我们可以FPGA上设计并实N维的并行流水线,在时钟的驱动下,这些流水线可以同时进行工作,能极大地减小运算时间和提高运算效率。对于单片机而言,单片机的主体其实就CPUCPU执行运算是串行的。在进行一次运算时,一般是先CPU向运算单元发送指令,然后运算器进行运算并给出结果,接CPU接收到计算结果并进行暂存,再进行下一次运算。此外,对CPU而言,芯片大部分面积是控制逻辑单元,只有很少一部分是运算单元。因此,在执行高密集度运算时CPU是难以胜任的。但是CPU所擅长的逻辑控制,却正FPGA所欠缺的。由FPGA所有功能均依靠硬件实现(这里指传统FPGA),完全不使用软件,甚至无法实现分支条件跳转等操作。

.CPUFPGA的结合

从上面的分析可以看到CPU长于控制,FPGA则擅长运算。因此,很快就有人想到了FPGA开发里引CPU来进行逻辑控制,以弥FPGA的缺陷。最开始,这FPGA开发商主导的Altera最早提出SOPCSystem On a Programmable Chip,可编程片上系统)技术,这种技术使FPGA的逻辑和资源搭建的一个软CPU系统,后Xilinx也进行了跟进Altera主推的软核Nios-IIXilinx主推的软核则MicroBlaze。老实说,这些软核的效率并不高,而且它们都有自己的一套开发环境和开发流程,实际使用起来其实非常麻烦,而且应用场景也不多。因此,这些软核并没有FPGA开发中引起什么变革,长期处于厂商力推,而市场却不温不火的状态。

然而,时代总是在前进的,随着无人驾驶、大数据分析、物联网、人工智能等行业的发展,嵌入式平台的应用范围得到了极大的扩展,但这些应用场景对算力提出了新的要求,单片机这种传统的嵌入式平台的算力就显得捉襟见肘Xilinx开始意识到,与其自己开发软核,来FPGA打辅助;不如反过来FPGACPU打辅助,直接FPGAARMCortex-A系列处理器。这样FPGA就实际意义上成CPU的外设,专门用于计算,除此之外的所有事,都由强大Cortex-A系列处理器来完成。20104月硅谷举行的嵌入式系统大会上Xilinx发布ZYNQ 7000FPGA,它由双A9+Xilinx 7FPGA组成。严格意义上,它其实不算FPGA,更像是嵌入式开发平台。然而,它又和传统的嵌入式开发平台不一样,它又需要使FPGA搭建定制电路,这就需要开发者掌握较高的硬件开发能力。这款产品推出时,受到了很大的质疑,很多人都觉得它实用性并不会太高,只Xilinx推出的一个实验性产品。

3 ZYNQ7000开发板

但是ZYNQ却取得了巨大的成功,成为Xilinx最著名FPGA开发板系列之一Xilinx的判断是正确的,在随后10年内,解决嵌入式平台的算力瓶颈成为了行业发展的主流方向。就拿人工智能来说,ZYNQ推出后,很多大学研究小组用它完成了卷积神经网络FPGA平台上的部署,实现了对卷积神经网络的硬件加速FPGA平台相对GPU有更低的功耗,相比ASIC有可编程性,使得FPGA加速器的研究一度成为人工智能领域的热门方向。当然,这时FPGA不是传统FPGA了,而CPU+FPGA。这种模式也Altera迅速跟进,它们也推出了双A9+Altera FPGA的开发平台,比DE1-SoC等。严格来说Cortex-A9处理器不是单片机(即微控制器MCU),而是微处理器MPU),但是它们都CPU。因此,在上文中,我们并没有说单片机FPGA,而是直接说的CPUFPGA进行联姻,这主要是为了保证文章严谨。在这一时期,虽然两者主要还是FPGA开发商推动的,FPGA却成为CPU的一个大型外设,由主角变为了配角。

.ARM DesignStart计划的推出

PC时代,英特+Windows组成Wintel长期处于绝对的统治地位,在这一时ARM的存在感其实很低。但是,随着智能手机、智能导航仪等移动端平台的发展ARM开始成长为移动市场的行业巨头。关ARM为何能在移动端击败英特尔,有很多种不同的说法,但主要原因总结起来3点。第一,英特尔低估了移动端的发展潜力,没有及时进场。第二ARM处理器采用的RSIC指令集,而英特尔采用的CSIC指令集,虽CSIC指令集性能更占优,但功耗往往会非常高,因此不适用于移动端产品;RSIC指令能做到低功耗,这在移动端是绝对的优势。第三ARMIP授权的商业模式,和谷歌、苹果、高通、三星等公司形成了联盟,组建起了ARM为核心的生态圈。总的来说ARM的崛起主要还是由于移动端市场的发展,因ARM注定不会漠视在物联网时代会大放异彩的嵌入式平台。

2010ARM正式推ARM DesignStart计划,开源1000多个物IP,为用户提供了快速获ARM IP的方式。客观来说,这一时期DesignStart计划实际上没有产生多大的行业影响,因为它开源得还不够。20151015ARM终于决定开源自己Cortex-M0核。讲道理,这是一枚行业的重磅炸弹Cortex-M系列处理器早就MCU领域实现了绝对统治ARM此举非常明确,就是希望大家使Cortex-M0核自主搭SoC,实现定制化的物联网终端芯片的设计,Cortex-M系列处理器在物联网领域得到更多的应用。这次开源引起了巨大的行业反响,掀起了一波超高能效定制SoC的开发热潮。随后ARM2017620日开源Cortex-M3核,并20181022日开源Cortex-A5DesignStart计划的不断推进,使ARM在物联网领域也逐渐建立起优势。

4 ARM DesignStart计划

虽然近几年RISC-V处理器的开发非常热门,很多人预言这RISC指令集处理器会在物联网领域取ARM。但是,我却并不看RISC-VARM有着更加先进的技术和更为完善的开发环境,这都不RISC-V可比的。ARM相比RISC-V更像是高校ARM早就是工业的产品。可能会有人会说RISC-V至少是中国芯片自主的希望,继续依ARM,只会在物联网时代继续卡脖。但这种说法是站不住脚的RISC-V的发明者和主导者依旧是美国,中国依旧只是跟班。其次,对于一家公司而言,出于趋利避害的考虑,都更愿意采用性能更为强大、开发流程更为简单、开发环境更为成熟ARM核,毕竟公司不像个人,可以空怀。只ARM继续加大开源的力度,为开发者提高更为友好的开发环境,物联网企业就会集体拥ARM

最后,有一个很现实的问题,那就是虽然国家一直在芯片自,但是对于这个行业投入一直是不够的。计算机的从业者薪水要比微电子的从业者高很多,这只会把行业人才往计算机赶,毕竟微电子转计算机是很容易的。芯片企业实际上也基本没从国家那里拿到什么政策补贴,大家没有研发经费,更没有自主研发的动力,也就只能买就。所以,我觉芯片自很长一段时间也就是个口号,中国芯片产业落后国外十几年,想要追赶是需要非常大的投入的。在国家真正下定决心发展芯片产业之前,企业只会拿脚投票ARM开发无疑是更好的选择。个人也只会拿脚投票,芯片行业的人才流失只会继续发生。

当然,关RISC-V处理器的讨论就有点偏题了PS:来自微电子学生的吐槽),我这里要讨论的DesignStart计划FPGA开发的影响才对Cortex-M0/M4核的开源,使ARMFPGA开发商手里接过SOPC的接力棒Nios-IIMicroBlaze也完成了它们的历史使命,逐渐淡出人们的视野。传统FPGA开发时代也彻底终结了,新时代FPGA开发主要可分为两种:一种是开发板上本来就有硬CPU,提CPU+FPGA的开发环境;另一种是开发板上没有硬核,但我们可以通过使ARM开源出来verilog文件,FPGA的逻辑和资源搭建出一个软CPU,也能构建CPU+FPGA的开发环境。如果说ZYNQ横空出世的时代,由于软+FPGA的开发模式还不够完善,还存"FPGA开发。那么,到这时FPGA边缘了,它彻底成为ARM CPU的大型外设,只是默默地做着自己擅长的计算工作,整个开发流程完全CPU主导。

但是,也正是这样FPGA走出了微电子这个小圈子,引起了越来越多的人的注意。为了方便软件开发者使用XinlinxAltera先后推出HLSHigh-Level Synthesis),使得由软件代码综合出数字电路成为门槛,大大地降低FPGA开发的门槛。虽HLS的效率还远比不上直接使verilogVHDLRTL级设计,但它至少提供了一种可能。与此同时,由ARM开源Cortex-M3/4处理器,极大地降低了开发超高能SoC的门槛,计算机和微电子交叉SoC设计也逐渐在高校和行业内成为新的热门研究方向DesignStart计划的故事结束了?当然还没有,我们有理由相ARM会进一步开源,继续降低开发门槛和减小开发成本。如果说PC时代属于英特尔,移动时代属ARM,那么物联网时代也仍将属ARM

.写在最后

今天是本人生日,我还在这里码字写文章,真的是太惨了PS:工科狗他只配和实验室在一起,狗头保命)!作1个微电子的研究生,面对行业的发展,我不可能不关心,我也有很多自己的看法,这也是我写这篇文章的原因。数字信号处这些是没法交ARM核去做的。还有考虑到成本问题,不搭ARMFPGA也是有市场存在价值的,但是走量的话又导ASIC。还有就是考虑电路性能的话HDL还是比较好的。这就导FPGA工程师的存在比较尴尬,方向和岗位少,开发难度高。这种搭载硬核FPGA的应用方向还是比较少的,一般是高端方向,比如雷达、高速信号处。大学上选修课的时候应该是用zynq芯片,那时用的实验箱,只记得要Linux裁剪,课程名还SOPC来着,不过这么重要的课程竟然被当做选修课来教,当时也没当回事,甚至不知道那是用来干什么的,就驱动驱动电……

推荐文章

网站内容来自网络,如有侵权请联系我们,立即删除!
Copyright © 暖百科 琼ICP备2023010360号-5