您的位置 首页 测评

一文读懂嵌入式FPGA

嵌入式FPGA(eFPGA)是指将一个或多个FPGA以IP的形式嵌入ASIC,ASSP或SoC等芯片中。换句话说,eFPGA是一种数字可重构结构,由可编程互连中的可编程逻辑组成,通常表现为矩形

  嵌入式FPGA(eFPGA)是指将一个或多个FPGA以IP的方式嵌入ASIC,ASSP或SoC等芯片中。

  换句话说,eFPGA是一种数字可重构结构,由可编程互连中的可编程逻辑组成,一般表现为矩形阵列,数据输入和输出坐落边际周围。 eFPGA一般具有数百或数千个输入和输出,可连接到总线、数据途径、操控途径、GPIO、PHY或任何需求的器材。

  一切eFPGA都将查找表(LUT)作为根本构建模块。 LUT有N个输入挑选一个小表,其输出表明N个输入的任何需求的布尔函数。 有些eFPGA LUT有四个输入,有的有六个。有些LUT有两个输出。 LUT一般在输出端具有触发器; 这些可以用来存储成果。这些LUT寄存器组合一般以四进制方式呈现,还有进位算术和移位器,以便有效地完成加法器。

  LUT接纳来自可编程互联网络的一切输入,并将其一切输出反应到可编程互连网络。

  除了LUT之外,eFPGA还或许包含MAC(乘法器/累加器模块)。 它们也连接到可编程互连网络,用于供给更高效的数字信号处理(DSP)和人工智能(AI)功用。 关于内存来说,有很多的RAM,一般是双端口的封装。至于LUT和MAC,经过RAM连接到可编程互连网络。

  eFPGA具有输入和输出引脚的外环,将eFPGA连接到SoC的其它部分,这些引脚也连接到可编程的互连网络。

  软件东西用于组成Verilog或VHDL代码,以编程eFPGA逻辑和互连来完成任何所需的功用。

  eFPGA是便利的新逻辑块,可在许多方面进步SoC的价值,其间包含:

  运用数百个LUT的广泛,快速的操控逻辑;

  可重新装备的网络协议;

  用于视觉或人工智能的可重构算法;

  用于航空航天运用的可重装备DSP;

  用于MCU和SoC的可重装备加速器。

  除了以上这些,还有更多,这儿就不逐个介绍了。

  当今,已经有了一些eFPGA供货商,首要包含Achronix,Flex Logix,Menta和QuickLogic,此外,还有一些较小的供货商。有了这些挑选,客户需求决议哪一个最能满意他们的需求。那么,要怎么挑选呢? 尽管需求考虑商业要素,但本文要点评论技能要素。

  第1步:制程的兼容性

  一般状况下,即便在IP评价的前期阶段,公司也会挑选foundry厂和工艺节点。而台积电、GlobalFoundries和SMIC现在或正在开发针对包含65nm,40nm,28nm,22nm,16nm,14nm和7nm工艺节点的eFPGA。

  可是,并非一切供货商对一切代工厂/工艺节点都有eFPGA,至少现在还没有。 经过他们的网站检查哪些与您的制程兼容十分重要。 您还应该看看所评论的eFPGA是否已经在芯片中进行了验证,并在NDA下供给了陈述。

  不要忘掉检查金属仓库的兼容性。您挑选的要害IP,如SerDes或您的运用或许需求您运用特定的金属仓库,但并非一切eFPGA IP都与一切金属仓库兼容。

  第2步:阵列巨细和功用

  并非一切的eFPGA供货商都可以做十分小规划的eFPGA,一同,并不是一切厂商都可以做出规划十分大的eFPGA。别的,它们支撑的MAC和RAM的性质或许会有所不同。

  关于您是否需求数百个LUT或数十万个LUT,以及您对MAC和RAM的需求,这或许会筛选出一些供货商。

  过程3:运用RTL进行基准测验

  eFPGA供货商会为您供给用于评价的软件,以便您可以确认(RTL)每个eFPGA可以完成的硅面积和功用。您需求eFPGA可以在与SoC其余部分相同的温度和电压范围内运转,因而请保证您需求的是支撑的。

  在进行基准测验时,将苹果与苹果进行比较(compare apples to apples)十分重要。例如,您应该在相同的工艺(slow/slow or typ/typ or fast/fast)以及相同电压和相同温度下比较每个eFPGA。您应该期望来自eFPGA供货商的软件东西将答应您检查不同工艺转角和电压组合下的功用。

  请注意,您的RTL适用于eFPGA。假如从硬连线ASIC规划中选用RTL,则触发器之间往往会有20~30个逻辑层。假如你把它放在没有优化的eFPGA中,它会运转得十分慢。在eFPGA中,LUT输出总是有触发器,您可以运用它们向RTL增加更多的流水线,以在eFPGA中取得更高的功用。

  谈到RTL,保证你正在测验什么对你很重要。

  一个16位加法器。你关怀的是它的运转速度有多快,可是假如你不当心,看到的成果或许会让你感到惊奇。现在幻想一个大的eFPGA。假如加法器放置在阵列的一个旮旯,输入和输出挨近,则功用将远高于在阵列中心找到加法器的状况。这是由于假如您调查从阵列输入到阵列输出的功用,当加法器坐落阵列中心时,到数据输入和加法器输出的加法器的间隔会更长。实际上,加法器是相同的,而且在两个方位运转速度都很快。问题在于你的测验没有阻隔加法器的功用,但它也加入了到达加法器所需的信号。

  下图是一个比如,它运用一个LUT来布线,LUT速度不会改动,但经过互连进入和脱离LUT的推迟会产生。

  图源:Flex Logix

  为了应对这种效应,特别是由于您或许会比较两种不同尺度的eFPGA,您需求做的是在输入和输出上设置寄存器,这可保证您关怀的功用均可丈量,不受阵列的巨细和方位的约束。

  假如您需求MAC的DSP或AI功用,请了解每个eFPGA的乘法器巨细和流水线的不同。 假如RTL指定了一个MxN乘法器,那么归纳软件将保证eFPGA完成它,但它或许会跨过两个或更多乘法器以到达所需的作用。 假如你需求MxN,那么这很重要。 可是,假如企图比较apples-to-apples的倍增功用,您会期望让RTL运用合适您所评价的一切eFPGA的倍增器巨细。

  图:N-Tap FIR滤波器架构(来历:Flex Logix)

  一些eFPGA直接将MAC聚集到一同,这比可编程互联网络快得多。 施行N-Tap FIR滤波器将显现具有MAC-to-MAC流水线的eFPGA与不具有流水线的eFPGA之间的差异。 上图为运用流水线DSP MAC完成的N-Tap FIR滤波器的示例。

  过程4:运用您需求的RTL基准测验区域

  与功用相同,在测验针对不同eFPGA的RTL的相对面积进行基准测验时,要十分当心。一些eFPGA供货商使您可以轻松生成数十种不同的阵列尺度,但其他人或许只会为您的基准测验供给两种尺度。

  第一步是检查LUT计数(或MAC计数)。可是,不同的eFPGA供货商或许有不同的LUT尺度。在查找表中或许不会填满它,所以假如你有两个触发器进入一个与非门,再进入另一个触发器,那么任何巨细的查找表都将完成一个与非门。

  某些eFPGA在输出端具有两个触发器,这使得N输入LUT可以分解为两个同享N输入LUT和一些输入子集的更小的LUT。此功用可进步面积利用率。

  即便您正在对来自两家供货商的N-LUT eFPGA进行基准测验 – 而且您的规划运用了两个LUT中的一半而且两者的面积相同 – 但您不能判定它们相同好。 你需求确认的是eFPGA LUT的利用率是否可以完成。一般eFPGA的利用率为60-70%,但有些eFPGA的利用率可到达90%。 仅有能找到的办法是使RTL简直填满eFPGA的LUT。

  另一种取得运用感的办法是检查展现方位的可视化。 鄙人面的比如中,LUT显然是十分严密地组合在一同的(暗影块是规划中运用的LUT),这是高利用率的杰出视觉指示。

  可是,即便在这儿你也有必要当心。 假如在上面的规划中,输入和输出均匀分布在eFPGA阵列的边上,那么跟着方位/途径软件将要害途径最小化,将具有更均匀地涣散LUT的作用。

  因而,当运用这种可视检查时,测验将输入和输出分组到eFPGA的一个旮旯,这样,方位/道路软件就可以将LUT放在一同,以最小化要害途径。

  过程5:对输入和输出容量进行基准测验

  一些根据eFPGA的运用程序需求很多的输入和输出。例如,网络芯片的总线可以是512位宽(有时乃至数千位宽)。 您需求检查每个K-LUT可用的输入和输出计数,看看它是否在满意您需求的范围内。

  定论

  eFPGA是令人兴奋的新东西,它使SoC架构师可以使他们的芯片愈加灵敏和可重新装备。

  运用上面的辅导准则,您将可以更快地找到最合适您共同运用程序、特定需求的eFPGA。假如您挑选正确的解决方案,您将可以充分发挥eFPGA的潜力。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/309562.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部