第一期硬件篇:【1】初识FPGA2_FPGA的优势与应用

简介

许多读者都应该知道 FPGA功能的强大,但它强大在哪儿?以单片机举例说明,我们都知道,单片机功能强大,几乎无所不能,而 FPGA与之相比只强不弱

FPGA能做什么呢?可以毫不夸张地讲,FGPA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FGPA来实现。FGPA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入或硬件描述语言(如Verilog HDLVHDL)自由地设计一个数字系统。

目标

了解FPGA的技术优势。

阅读基础

熟悉计算机。

快速阅读

了解的部分跳过。

环境说明

  • windows10

参考资料

  • 小梅哥教程:02A_【学习教材】FPGA系统设计与验证实战指南_V3.0

    ​ 02B_【学习教材】小梅哥FPGA逻辑设计进阶教程2020版V1.0

  • 正点原子开拓者教程:开拓者FPGA 开发指南V1.5

  • 野火征途教程:征途Pro《FPGA Verilog开发实战指南——基于AlteraEP4CE10》(上下)

FPGA的技术优势

相对于专门目的而设计的 集成电路( Application SpecifICIntegrated Circuit ,ASIC),FPGA 具有 如下优势:

FPGA的功能优势

许多读者都应该知道 FPGA 功能的强大,但它强大在哪儿?以单片机举例说明,我们都知道,单片机功能强大,几乎无所不能,而 FPGA 与之相比只强不弱

  • 只要单片机能实现的功能 FPGA 就一定能实现,当然这需要加一个大前提——就是要在 FPGA 资源足够大的情况下;
  • FPGA 能实现的功能单片机却不一定能够轻松做到,这是不争的事实,如果你不相信那只能够说明你还不了解 FPGA

FPGA的灵活性

FPGA 的独特优势在于其灵活性。通过软件仿真,可以事先验证设计的正确性。即随时可以改变芯片功能,在技术还未成熟的阶段,这种特性能够降低产品的成本与风险,在 5G初期这种特性尤为重要。

FPGA的开发速度

使用FGPA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。

FPGA 买来编程后既可直接使用,FPGA 方案无需等待三个月至一年的芯片流片周期,为企业争取了产品上市时间。

FPGA的小成本

FPGAASIC 主要区别在 ASIC 方案有固定成本而 FPGA 方案几乎没有

在使用量小的时候,FPGA 方案由于无需支付一次性百万美元的流片成本,同时也不用承担流片失败风险FPGA 方案的成本低于 ASIC

随着使用量的增加,FPGA 方案在成本上的优势逐渐缩小,超过某一使用量后,ASIC 方案由于大量流片产生了规模经济,在成本上更有优势

BlogImage-20211116213144

单片机的价格优势

说到这里,读者不禁要问:既然 FPGA 这么厉害,为什么单片机的使用范围更广?那是因为在商业中,价格往往是影响产品的重要因素之一

单片机的价格要远远低于FPGA,因为单片机、ARM这种微处理器的需求量很大,所以价格上更有优势。FPGA 的价格根据性能和资源的不同,价格也存在很大差异,单枚 FPGA 芯片价格从几十元到几十万元不等。同样的功能,我们如果可以用价格低廉的单片机实现,就不会选择相对昂贵的 FPGA

只有适合的工具

无论是单片机、ARM还是 FPGA 它们都只是一种帮助我们实现功能的工具,具体如何选择需要具体问题具体分析,我们不要对某种工具存在着偏见,要综合的考虑。

总之没有万能的工具,只有符合生产需求的工具。同样当你了解更多的时候,你会发现这些工具你最终都需要掌握。

BlogImage-20211116213018

FPGA的应用方向

FPGA 的应用场景远没有单片机和 ARM这么多,主要针对单片机和 ARM无法解决的问题。比如要求灵活高效、高吞吐量、低批量延时、快速并行运算、可重构、可重复编程、可实现定制性能和定制功耗的情况,这些工作只能 FPGA 胜任。

FPGA的特性决定了它在某些特定行业应用上具有得天独厚的优势。FPGA 最初的应用领域是通信领域,但是随着信息产业和微电子技术的发展,FPGA 技术已经成为信息产业最热门的技术之一。应用范围扩大,而且随着工艺的发展和技术的进步,从各个角度开始渗透到生活当中。

FPGA 通常在数字信号处理、视频处理、图像处理、云服务、加速计算、人工智能、数据中心、自动驾驶、芯片验证、深度学习、神经网络,图像识别、自然语言处理、航空航天、汽车、广播、测试测量、5G通信领域、医疗领域、工业控制等领域发挥着不可替代的作用。只有掌握了通用的 FPGA 设计方法,才能够在 FPGA 独领风骚的领域中大展宏图。

FPGA 主要应用方向如图所示。

BlogImage-20211116213240

下面我们主要简单列举目前 FPGA 应用比较广泛的几个领域,只有清楚了这些应用领域,对我们来讲才有更多的发展空间。

通信领域

通信领域是 FPGA 应用的传统领域,发展至今依然是 FPGA 应用和研究热点。我们这里将通信领域分成有线通信领域和无线通信领域分别介绍

FPGA 和其他 ASIC芯片最大不同在于它的可编程性FPGA 在通信领域几乎是万能的,FPGA 能做什么,很大程度上取决于用户的设计能力

有线领域

从广域网和城域网到移动回程接入网和基于 XPON的接入网FPGA 都可提供全套的解决方案进行产品的快速开发

  • MSTP产品,从 PDHSDH,从EoPEoS,所有的功能都可用 FPGA 实现;
  • PTN产品,其 OAMQoSPTP、以太网协议转换等;
  • OTN产品,从 ODUOTU、以及 SARInterlakenFabrIC ``等。
  • 目前接入的主流技术 XPON产品。

都可以用 FPGA 实现功能。

无线领域

由于 FPGA 自身嵌入了处理器SOPC),其使其应用更加的广泛。具体应用领域如:

  • 实现语音合成,纠错编码,基带调制解调,以及系统控制等功能;
  • 实现基带调制解调功能;
  • 定时恢复、自动增益和频率控制、符号检测、脉冲整形、以及匹配滤波器等。

但由于无线领域需要大量的复杂数学运算,对 FPGA 的要求非常高

BlogImage-20211116213433

视频图像处理

视频图像处理,至始至终都是多媒体领域最热门的技术,特别在不断追逐更高清、更真实图像的欲望驱使下,视频图像的处理数据量越来越大

FPGA 做图像处理最关键的一点优势就是:FPGA 能进行实时流水线运算,能达到最高的实时性。因此在一些对实时性要求非常高的应用领域,做图像处理基本只能用 FPGA

例如在一些分选设备中图像处理基本上用的都是 FPGA,因为在其中相机从看到物料图像到给出执行指令之间的延时大概只有几毫秒,这就要求图像处理速度极快且延时固定,只有 FPGA 进行的实时流水线运算才能满足这一要求。

如今嵌入式视觉的概念很宽,包括图像处理(ISP),视频处理,视频分析等,这些功能都能在FPGA 上面实现。

  • ISP方面,比如降噪、宽动态、去雾,3A 等;
  • 在视频处理方面,比如缩放、去隔行、全景拼接、鱼眼矫正等;
  • 在视频分析方面,包括边缘,形状,纹理提取,物体检测、分类、背景建模等。

产品例子包括

  • 全景相机
  • 4K 智能相机
  • 高清微投
  • 大屏显示等。

BlogImage-20211116213531

数字信号处理

无线通信、软件无线电、高清影像编辑和处理等领域,对信号处理所需要的计算量提出了极高的要求

传统的解决方案一般是采用多片 DSP并联构成多处理器系统来满足需求。但是多处理器系统带来的主要问题是设计复杂度和系统功耗都大幅度提升,系统稳定性受到影响

  • FPGA 支持并行计算,而且密度和性能都在不断提高,已经可以在很多领域替代传统的多 DSP解决方案。例如,实现高清视频编码算法 H.264。采用 TI 公司 1GHz 主频的 DSP芯片需要 4 颗芯片,而采用 AlteraStrtixII EP2S130 芯片只需要一颗就可以完成相同的任务。
  • FPGA实现流程和 ASIC 芯片的前端设计相似,有利于导入芯片的后端设计

BlogImage-20211116213602

高速接口

FPGA 可以用来做高速信号处理,一般如果 AD 采样率高,数据速率高,这时就需要 FPGA 对数据进行处理,比如对数据进行抽取滤波,降低数据速率,使信号容易处理,传输,存储。

在实际的产品设计中,很多情况下需要与 PC机进行数据通信。比如,将采集到的数据送给 PC机处理,或者将处理后的结果传给 PC机进行显示等。

PC机与外部系统通信的接口比较丰富,如 ISAPCIPCI ExpressPS/2USB等。传统的设计中往往需要专用的接口芯片,比如 PCI 接口芯片。如果需要的接口比较多,就需要较多的外围芯片,体积、功耗都比较大。

  • 采用 FPGA 的方案后,接口逻辑都可以在 FPGA内部来实现了,大大简化了外围电路的设计

  • 在现代电子产品设计中,存储器得到了广泛的应用,例如 SDRAMSRAMFlash等。这些存储器都有各自的特点和用途,合理地选择储存器类型可以实现产品的最佳性价比

由于 FPGA 的功能可以完全自己设计,因此可以实现各种存储接口的控制器。

BlogImage-20211116213636

人工智能机器学习

近年来 FPGA 在人工智能机器学习中的应用越来越广泛,主要集中在前端和边缘侧。具体来讲:

  • ADAS/自动驾驶上可以实现车辆、行人、车道、交通标志以及可行驶区域检测,可以做传感器融合
  • 在智能安防上,可以实现车辆、车型、车牌、交通违规、车流量、人流量、人脸等检测
  • 在无人机上,可以实现自动避障、自动跟随等功能
  • 在医疗影像设备上,可以进行医疗图像的分析,帮助医生判断是不是可能有癌症或异常
  • 在机器人上,可以实现增强学习,让机器人学习新的技能

BlogImage-20211116213713

IC 原型验证

FPGA数字 IC领域中是必不可少的,已经被用于验证相对成熟的 RTLIC原型验证。

  • 因为相比用仿真器,或者加速器等来跑仿真,FPGA 的运行速度,更接近真实芯片可以配合软件开发者来进行底层软件的开发
  • 在纯硬件方面,由于 FPGA 供应商尽快转向最先进的制造工艺节点,FPGA 原型设计变得更加简单和强大
  • FPGA 验证在代码设计完成,功能验证目的是保证设计的功能可以在 FPGA 上实现,也就是做硬件仿真。这样能进一步保证在 FPGA 上验证的结果和流片的结果相同,当然最后还牵涉到后端设计和工艺。
  • 如果做的 IC比较大,就需要裁减原来 IC的功能再进行 FPGA 验证了。最终的目的也是为了保证芯片设计符合要求,顺利流片

可以看到在芯片制造出来之前,很多精力会花费在 RTL 代码验证工作上,另外软件的相关开发工作,也会在得到芯片前开始,这两方面都需要借助 FPGA 原形来模拟芯片的行为,帮助硬件开发和软件开发者,共同提升工作效率

BlogImage-20211116213754

医疗领域

在医疗领域,医学影像比普通图像要求更高。

  • 纹理更多
  • 分辨率更高
  • 相关性更大
  • 存储空间要求更大
  • 必须严格确保临床应用的可靠性
  • 其压缩、分割等图像预处理
  • 图像分析及图像理解

这些特点恰恰可以充分发挥FPGA的优势,通过FPGA加速图像压缩进程、删除冗余、提高压缩比、并确保图像诊断的可靠性。类似的医疗领域应用还有基因分析。

金融领域

在金融领域,由于采用流水线逻辑体系结构,数据流处理要求低延时,高可靠,这在金融交易风险建模算法应用中,是重要的关键点,FPGA正具备了此种优势。

FPGA开发方向

类似的行业和领域还有很多,这里不再列举更多,随着学习的深入,你会越来越了解 FPGA 的用处。

明确FPGA应用方向

学习一项技术的最开始就会有这样的问题,

  • 这项技术的可以来做什么?
  • 能够有多大的能耐?
  • 我们为什么要学?
  • 等等。

为了让大家在正式开始 FPGA 学 习之前,明白自己将来可能在哪些领域找到自己的一片天空,这一节读者可以作为精神粮食,作为鼓舞自己学习下去的一个动力

FPGA 的学习之路会比较痛苦,人每每遇到了痛苦就会出现逃避的自然反应,懒惰、放弃的思想油然而生,与其花钱买那些充满传奇色彩的励志书籍来安慰自己还不如重新看看这一小节,看看自己以后的美好发展空间,于是乎会有种找到天堂般的感觉。

FPGA可软可硬

FPGA 是介于软硬件之间的一朵奇葩。

你用它做接口、做通信,他就偏向硬件

你用它做算法、做控制,他就偏向软件

而且随着人工智能、机器视觉的崛起,FPGA 更加偏向软件算法的异构,有和 GPU一争高下的潜力

FPGAGPU性能对比图,如图所示。

BlogImage-20211116213343

FPGA软件方向

以软件开发为主, 在数据分析、人工智能、机器视觉等领域的加速应用能力,主要采用 OpenCLHLS技术实现软硬件协同开发。

FPGA 硬件方向

以逻辑设计为主,针对 FPGA 特定领域的应用设计和集成电路设计,以及芯片验证能力。

总结

介绍了FPGA的技术优势和应用方向。

其它

相关资源下载

FPGA开发学习参考教程.rar-嵌入式文档类资源-CSDN文库

常见问题

最近更新

查看本文最近更新请点击

小有收获

有收获记得三连哦:?

有收获记得三连哦

欢迎关注微信公众号

所有文章同步更新。

weixingognzhonghaoerweima

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>