0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于eFPGA入门的相关指导和介绍

lC49_半导体 来源:djl 作者:Tony Kozaczuk 2019-09-02 08:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式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的延迟会发生。

关于eFPGA入门的相关指导和介绍

图源:Flex Logix

为了应对这种效应,尤其是因为您可能会比较两种不同尺寸的eFPGA,您需要做的是在输入和输出上设置寄存器,这可确保您关心的性能均可测量,不受阵列的大小和位置的限制。

关于eFPGA入门的相关指导和介绍

如果您需要MAC的DSP或AI功能,请了解每个eFPGA的乘法器大小和流水线的不同。 如果RTL指定了一个MxN乘法器,那么综合软件将确保eFPGA实现它,但它可能会跨越两个或更多乘法器以达到所需的效果。 如果你需要MxN,那么这很重要。 但是,如果试图比较apples-to-apples的倍增性能,您会希望让RTL使用适合您所评估的所有eFPGA的倍增器大小。

关于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的潜力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    162

    文章

    8462

    浏览量

    186208
  • 触发器
    +关注

    关注

    14

    文章

    2065

    浏览量

    63536
  • efpga
    +关注

    关注

    1

    文章

    34

    浏览量

    16054
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于MT6901的直线DEMO介绍

    关于MT6901的直线DEMO介绍
    的头像 发表于 01-30 10:54 741次阅读
    <b class='flag-5'>关于</b>MT6901的直线DEMO<b class='flag-5'>介绍</b>

    FPGA 入门必看:Verilog 与 VHDL 编程基础解析!

    很多开发者第一次接触FPGA,都会有同样的疑问:FPGA是硬件,不是软件,怎么写程序?答案就是用硬件描述语言(HDL),最常用的就是Verilog和VHDL。今天,我们就带你入门,搞清楚FPG
    的头像 发表于 01-19 09:05 698次阅读
    <b class='flag-5'>FPGA</b> <b class='flag-5'>入门</b>必看:Verilog 与 VHDL 编程基础解析!

    关于NFC镍锌铁氧体片的介绍

    关于NFC镍锌铁氧体片的介绍
    的头像 发表于 12-04 10:52 540次阅读
    <b class='flag-5'>关于</b>NFC镍锌铁氧体片的<b class='flag-5'>介绍</b>

    安世中国关于当前供应链局势及相关诉求的郑重声明

    安世中国在官方微信号发布了关于当前供应链局势及相关诉求的郑重声明;我们分享给大家:
    的头像 发表于 11-28 21:32 2527次阅读
    安世中国<b class='flag-5'>关于</b>当前供应链局势及<b class='flag-5'>相关</b>诉求的郑重声明

    嵌入式与FPGA的区别

    也不是很高,招聘的岗位比较多,门槛较低大专也可以学。 ✅2、FPGA的要求比较高,对数字电路底蕴要求较高,大多都是用的x ilinx和inter的芯片,前期入门较难,比较吃经验,需要更长的时间才能入门
    发表于 11-20 07:12

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种在Xilinx系统设计中关键的串行通信协议。介绍了它们的特性、优势和应用场景,以及如何在不同需求下选择合适的协议。
    的头像 发表于 11-14 15:02 2788次阅读
    Xilinx <b class='flag-5'>FPGA</b>串行通信协议<b class='flag-5'>介绍</b>

    关于系统链接脚本的介绍

    一、队伍介绍 本篇为蜂鸟E203系列分享第四篇,本篇介绍的内容是系统链接脚本。 二、如何实现不同的下载模式? 实现三种不同的程序运行方式,可通过makefile的命令行指定不同的链接脚本,从而实现
    发表于 10-30 08:26

    如何对FX3进行编程以便通过USB 3.0从FPGA -&gt; FX3 -&gt; PC传输RGB888视频?

    我想为我的应用程序编程 FX3,其中 FX3 将从 FPGA 接受 RGB888 视频并通过 USB 3.0 将其传输到 PC。 任何支持文章、博客或相关应用说明。 由于我是 FX3 环境的初学者,因此需要这方面的指导
    发表于 08-11 08:15

    【PZ7020-StarLite 入门级开发板】——FPGA 开发的理想起点,入门与工业场景的双重优选

    对于初入 FPGA 与嵌入式系统开发领域的工程师而言,一款兼具专业性与易用性的入门级开发板是快速建立技术认知、提升实践能力的关键工具。璞致电子科技(上海)有限公司深耕 SDR 及 ARM/FPGA
    的头像 发表于 08-08 14:53 1486次阅读
    【PZ7020-StarLite <b class='flag-5'>入门</b>级开发板】——<b class='flag-5'>FPGA</b> 开发的理想起点,<b class='flag-5'>入门</b>与工业场景的双重优选

    关于CAPSENSE™接近按钮传感器阵列的设计问题求解

    。 遵循“ CAPSENSE™入门”和相关应用说明中的指导。 根据您的建议,设计了轨道宽度为 0.17 毫米、间距为 1.143 毫米的阴影图案。 将通孔直接放置在传感器下方,以最大限度地减少寄生电容。 我
    发表于 07-30 07:04

    新手入门:使用CST电磁软件进行贴片天线设计的5个基本步骤

    新手入门教程:使用CST进行贴片天线设计的5个基本步骤。从创建模型到结果分析,详细指导您完成2.45GHz微带贴片天线的完整设计流程。
    的头像 发表于 07-28 16:17 1390次阅读
    新手<b class='flag-5'>入门</b>:使用CST电磁软件进行贴片天线设计的5个基本步骤

    为什么我选择VHDL入门

    在群里交流提问的时候,大家总是惊讶并疑惑:为什么我要选择 VHDL入门?因为好像 99% 搞 FPGA 开发的人都在用 Verilog。 我的选择,是通过网上搜索的讨论而做出的,为了留存,我这里水一
    的头像 发表于 06-25 11:18 1389次阅读
    为什么我选择VHDL<b class='flag-5'>入门</b>

    FPGA与高速ADC接口简介

    本文介绍FPGA与高速ADC接口方式和标准以及JESD204与FPGA高速串行接口。
    的头像 发表于 06-12 14:18 3397次阅读
    <b class='flag-5'>FPGA</b>与高速ADC接口简介

    是否有关于如何通过 I2C 总线上的 uProcessor 或 FPGA 与芯片通信的文档?

    上的 uProcessor 或 FPGA 与芯片通信的文档? 3. 关于我们 CAN 使用哪种芯片/系列的任何建议? 我们所关心的只是警局的回读。
    发表于 05-29 06:13

    ANSOFT Maxwell 入门相关基础操作

    Maxwell入门基本操作讲解
    发表于 04-28 08:50