浅析FPGA的重要用处
以下文章来源于Open。FPGA。,作者碎碎思。
FPGA 答应在单个。芯片。中完结许多数字逻辑,其运转速度相对较高,并且只需很少或不需求在。 CPU。内核上运转的传统次序程序即可完结其作业。
这种数字逻辑能够完结任何东西,从简略的。UART。到由数十个CPU内核组成的架构,每个CPU内核都运转自己的小程序,并在同享使命上彼此。通讯。。或许,它能够是几组不同的逻辑在处理彻底独立的使命,这些使命彼此之间能够没有关系。
1、数字逻辑完结。
基本上,FPGA 答应放置下图中一切这些较小的黑色芯片:
只需 1 个芯片,就能够当即运用新规划以任何想要的办法从头衔接一切这些芯片。固然,规划进程是......比较困难!
FPGA 拿手一起履行多项使命,能够将该功用完结为独自的数字逻辑,从最简略的组合逻辑一直到杂乱的 CPU。 处理器。。除了逻辑元件的数量和它们之间的互连之外,简直没有什么束缚。
2、高速率高带宽数据处理。
一个典型的比如:
FPGA 的一个典型示例是与。图画传感器。的。接口。:
看到顶部和底部有多达 32 个 LVDS 串行输出。
LVDS。信号。是串行数据的一对差分线(用于取得高速和抗噪性)。图画数据将从每个LVDS对中输出。
这种高速串行输出数据的原因是为了让整个图画赶快从。传感器。中取出,并进入后续处理阶段(或许在FPGA中)。完结此操作的速度越快,帧速率就越高。假如想要一个能够到达 120fps 帧速率的运动相机,那么就需求将整个帧数据输出 - 在以 18 位分辨率形式运转时,此传感器为单帧数据量为 12 MB - 每秒 120 帧,超越 2 GBy。te。s/s 的数据量!
完结这一方针的一种办法是运用许多LVDS输出,并将每个输出分配给帧的特定部分。这基本上是“分而治之”。
问题在于,接纳数据后需求重组这些LVDS数据,组成一个图画传感器的一帧数据。仅有可行的办法是在。硬件。中完结,因为:(a)没有。微操控器。/处理器具有那么多串行LVDS,(b)即便有,处理担负也会很大,并且或许永久无法到达所需的帧速率。
这仅仅运用FPGA的一个“经典”示例,它将来自每个LVDS输入的一切数据从头组合到图画的单个相干帧中。可是,它并没有就此结束。后续的ISP处理等操作都能够在同一个FPGA中进行。
3、确保时刻准确操控。
FPGA的另一个重要用处:在需求“确保”呼应的情况下,或许需求确认地满意“硬”时序束缚。实时操控体系的应战之一是确保实际上能够满意这些时刻束缚。
在大多数经过微处理器/微操控器上的次序。编程。完结的非普通的。操控体系。中,有时首要“应用程序”会被中止,要么是切换到其他辅佐使命,要么是处理 I/O 中止,尤其是需求许多核算资源且本身具有时序束缚的现代通讯协议。因为一切这些其他使命和责任都在抢夺 CPU 时刻,嵌入式体系。开发人员现已提出了几种技能来应对这些应战,可是次序编程体系能够完结的功用是有限的。
FPGA 是专用电路、状况机以及操控和数据流“编程”的绝佳解决方案,精度低至纳秒级,简直没有体系“错失”事情或不符合规划时序束缚的危险。
一个常见示例是经过多相。电机。或。桥式整流器。进行相位操控或PWM操控,或运用H桥晶体管。驱动器。装备时进行的。
在这些场景中,不只能够以数十kHz乃至高达MHz的速度。开关电源。,并且还或许依据其他操控信号调制PWM - 或许是一组3个正弦波,用于三相对准,在这种情况下,需求相对PWM时序的精密分辨率。
在FPGA中完结这种操控能够满意十分精密的时序束缚。
4、其他。
FPGA 还有许多其他用处。
就在我常用的一种东西-Saleae逻辑剖析仪:
Xilinx Spartan 6 FPGA 履行一切高速作业,捕获其数字输入的时刻序列状况,然后经过。 USB。将其发送到PC。经过在 PC 上的剖析来查找自己的。数字电路。规划中的过错。
数据。中心。:
在曩昔的几年里,微软、。亚马逊。和谷歌在云服务器基础设施中运用FPGA引起了许多重视,其间每个服务器都有一个FPGA,答应一些传统上经过线性编程完结的核算使命,在专用的定制FPGA数字逻辑中完结。
这使得服务器能够相对快速且轻松地从头装备,以便针对在其上运转的特定应用程序进行优化。这些应用程序能够是加密核算,或是OpenCV视觉。算法。,或是。AI。/ML推理,或是杂乱的。网络。数据包过滤,或许其他咱们不知道的操作!
IC规划。:
终究,FPGA 通常被用作原型规划的一种办法,该规划终究将被“确定”到自己的。IC。芯片规划中。
本文转载自OpenFPGA大众号。
内容来源:https://a02.webvip.vn/app-1/s cute,https://chatbotjud-hml.saude.mg.gov.br/app-1/777bet-app-download
(责任编辑:女性)