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

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

3天内不再提示

解密逻辑单元与CoreScore得分的关系

英特尔FPGA ? 来源:英特尔FPGA ? 2025-02-06 15:06 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

FPGA 通过查找表 (LUT) 实现逻辑功能。这些 LUT 类似于真值表或卡诺图 (Karnaugh map),FPGA 可以通过组合多个 LUT ,来实现几乎任何你所需的逻辑功能。

通常情况下,LUT 由其可处理的输入数来指定。例如,一个 4 输入 LUT 需要 16 位来存储这 4 个输入所有可能组合对应的输出值。而对于需要 4 个以上输入的逻辑,则需要进行 LUT 级联,但 LUT 级联会造成传播时延。

使用较大的 LUT 可以减少所需的 LUT 层数,从而提高性能,但对于简单的逻辑功能来说,LUT 过大同样可能会造成浪费。为了尽量减少浪费,可以对这些 LUT 进行拆分,如何拆分 LUT 会对设备的整体利用率产生重要影响。

接下来就跟随小编一起,来探讨几种权衡取舍的方案。

查找表的实现

首先,让我们来看看通用 n 输入查找表的结构。查找表是一系列多路复用器,它们根据输入选择特定的存储位置,就像 1 位存储器。所需的存储位置数是 2 的输入数次幂,就像有 n 根地址引脚的存储器。

下图是一个 4 输入 LUT 的示例,其中较小的 LUT 用虚线边框表示。在下文中,我们将使用 4 输入 LUT 的简化表示法来继续进行探讨。

0d85b11e-e440-11ef-9310-92fbcf53809c.png

图 1. n 输入 LUT

增加输入位可以实现更加复杂的逻辑,但每增加一个输入位,所需的存储位和多路复用器的数量就会翻倍。在实现较为简单的逻辑时,这些额外的资源就会被浪费。为了尽量减少输入位的浪费,可以为中间多路复用器提供抽头 (tap)。

下图展示的是具有两个 5 输入 LUT 输出的 6 输入 LUT。通过这种简单的方法可以实现两个 5 输入 LUT,但局限性在于,两个 LUT 均由相同的 5 个输入控制。

0d9d19ee-e440-11ef-9310-92fbcf53809c.png

图 2. 基本 6 输入 LUT

更优的方法

Agilex FPGA 采用了一种不同的方法,可以提高设备的利用率。如下图所示,Agilex FPGA 采用全新的 6 输入 LUT 结构,具有 8 个输入,称为自适应逻辑模块 (ALM)。部分较小 LUT 的输入被独立出来,以提供更高的灵活性。借助这些额外输入,就可将依赖于不同信号的较小逻辑功能进行组合。

下图展示了一些不同的 LUT 组合方式。

0dd1de5e-e440-11ef-9310-92fbcf53809c.png

图 3. Agilex FPGA ALM

当 datac0 和 datad0 分别连接到与 datac1 和 datad1 相同的信号时,这一模块就实现了传统的 6 输入 LUT,但将其进行单独使用时,还能实现一些 7 输入和 8 输入逻辑功能。

这些额外的 7 输入和 8 输入配置,再加上所有的 3 输入、4 输入和 5 输入 LUT 配置,使得这种实现方式更加灵活,也提高了设备利用率。

对设备利用率的影响

这些优势究竟有何重要作用呢?要回答这个问题,我们需要一个指标来反映所实现的逻辑数。理想的情况是使用一个常见的函数作为参考,比如处理器内核,而且最好是一个大家熟悉并可以自由使用的处理器,例如 RISC-V 处理器。单个内核通常不足以将 FPGA 填满,因此需要一系列此类处理器,而且处理器应足够小,以便进行细粒度比较。此外,还需要一个脚本将其进行综合。然而,由于所需条件较多,专业难度较高,这很难实现。

CoreScore 是专为 FPGA 及其综合/布局布线工具设计的基准评测体系。它能够测试特定 FPGA 中可以容纳的 SERV 内核数。SERV 是一种屡获殊荣的位串行 RISC-V 内核,外形非常小巧。这就提供了一个独立于供应商的衡量指标,用于体现 FPGA 的逻辑容量。

既然我们已经确定了一个用于比较的指标,那就让我们更深入地看看每种实现方式的逻辑容量。

我们选择了A、B 两款使用基本 6 输入 LUT 和提供可选 5 输入 LUT 输出的 FPGA 产品与使用上文所述的 8 输入 ALM 配置的 Agilex 7 设备进行了对比。

根据 CoreScore.store 的结果可见,每个内核需要超过 210 个基本可拆分 6 输入 LUT,而 Agilex ALM 使用的 8 输入配置只需要不到 170 个。

0e3b7b7a-e440-11ef-9310-92fbcf53809c.png

如果我们比较逻辑单元 (LE)/系统逻辑单元 (SLC) 的用量,情况则会不同。所有设备都需要约 490 LE/SLC +/-5%。这并非偶然,而是因为这些 FPGA 产品均针对其逻辑使用了比例因子,以便更准确地反映其逻辑容量。

0e5ccd3e-e440-11ef-9310-92fbcf53809c.png

这些数据表明,逻辑单元和系统逻辑单元是衡量FPGA容量的有效指标。数据还显示,与传统的 6 输入结构相比,尽管查找表位数相同,Agilex FPGA 中使用的 8 输入 ALM 能够以更少的实例实现更多的逻辑。

这表明,6 输入结构浪费了更多的位数,因此需要更多的实例才能实现相同的功能。这些额外的实例将在芯片上占用更多面积,并在系统中增加功耗,这是您在为新设计选择 FPGA 时需要考虑的因素。Agilex ALM 还可支持特定的 7 输入和 8 输入功能,在 6 输入 LUT 配置中则需要两层逻辑来实现这种功能,这不但会消耗额外的 LUT,还会造成严重的时序损失。

FPGA 设备非常复杂,针对您的应用找到合适的设备并非易事。逻辑单元和系统逻辑单元等指标非常有参考价值,但也需要考虑设备附带的其他功能和工具,以及所采用的逻辑结构的底层架构。

ALM 是 Agilex FPGA 的基本构建模块,旨在以更少的资源实现更多的功能,从而实现更好的系统优化。本文提供了一些其他资源的链接,以便您参考。此后,如您需寻找合适的 FPGA,请务必查看 CoreScore。

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

    关注

    1646

    文章

    22091

    浏览量

    620399
  • 英特尔
    +关注

    关注

    61

    文章

    10210

    浏览量

    175369
  • 复用器
    +关注

    关注

    1

    文章

    779

    浏览量

    29153
  • LUT
    LUT
    +关注

    关注

    0

    文章

    50

    浏览量

    12881

原文标题:解密逻辑单元与 CoreScore 得分的关系

文章出处:【微信号:英特尔FPGA,微信公众号:英特尔FPGA】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA学习笔记:逻辑单元的基本结构

    逻辑单元在FPGA器件内部,用于完成用户逻辑的最小单元
    的头像 发表于 10-31 11:12 ?2767次阅读
    FPGA学习笔记:<b class='flag-5'>逻辑</b><b class='flag-5'>单元</b>的基本结构

    Cyclone IV 器件的逻辑单元逻辑阵列模块

    这个章节包含了定义逻辑单元 (LE) 和逻辑阵列模块 (LAB) 的特性。具体信息体现在 LE如何运作,LAB 如何容纳 LE 组,以及 LAB 接口如何与 Cyclone? IV 器件中的其他模块连接。
    发表于 11-13 11:25

    如何在LUT和逻辑元件之间以及逻辑元件和逻辑单元之间进行交换

    嗨,我目前正在对设计进行初步分析。我正在研究关于实现不同功能所需资源的不同FPGA。我找不到一种方法来将设计使用的LUT数量相关联,并将其转换为virtex和spartan范围的逻辑单元格。如果可能
    发表于 01-08 10:18

    请问“逻辑单元”的意思是什么?

    我想知道“逻辑单元”的意思..我知道“Block RAM”,“分布式RAM”“CLB”......以及ETC ..但是,我不知道“Logic Cell”..请让我知道..谢谢!
    发表于 11-08 16:38

    是否可以使用逻辑单元的verilog代码?

    我想知道我是否可以使用逻辑单元(Spartan 6)的verilog代码,这样我就不必花时间为逻辑单元编写verilog代码。这可以节省我的时间,让我专注于其他部分内容,因为我有一个很
    发表于 03-10 09:45

    逻辑电路主要逻辑门电路之间的关系是怎样的

    逻辑电路主要逻辑门电路之间的关系是怎样的
    发表于 04-15 17:53

    如何从逻辑单元计算Gatecounts?

    1.在Virtex5LX中,有多少门数等于1Logic ce。2.如何从逻辑单元计算Gatecounts。
    发表于 05-28 06:08

    数字逻辑功能单元

    数字逻辑功能单元数字逻辑最终是需要通过数字电路的形式来实现的缓冲门:是仅具有缓冲功能的基本门电路,仅有一个输入端口,也仅有一个输出端口功能:将输入端口的信号电平原封不动地搬移到输出端口,输入为0
    发表于 07-29 08:04

    集成算术/逻辑单元举例

    集成算术/逻辑单元举例   集成算术/逻辑单元(ALU)能够完成一系列的算术运算和逻辑运算。74LS381
    发表于 04-07 10:39 ?1466次阅读
    集成算术/<b class='flag-5'>逻辑</b><b class='flag-5'>单元</b>举例

    多功能算术/逻辑运算单元(ALU) ,什么是多功能算术/逻辑

    多功能算术/逻辑运算单元(ALU) ,什么是多功能算术/逻辑运算单元(ALU)   由一位全加器(FA)构成的行波进位加法器,它可以实现补码数的加法运算和减法运算。但是这种加法/
    发表于 04-13 11:24 ?2.9w次阅读

    Cyclone_IV器件的逻辑单元

    电子专业单片机相关知识学习教材资料之Cyclone_IV器件的逻辑单元
    发表于 09-02 16:54 ?0次下载

    基于单元相邻关系的重构区域构造方法

    针对基于非结构网格方法的飞行器多体分离数值模拟中的局部网格重构问题,提出了一种基于单元相邻关系的重构区域构造方法。首先,根据单元半径比检查网格质量并标记重构单元;其次,通过网格
    发表于 12-18 10:57 ?0次下载
    基于<b class='flag-5'>单元</b>相邻<b class='flag-5'>关系</b>的重构区域构造方法

    可配置逻辑单元(CLC)

    本视频介绍了可配置逻辑单元(CLC),该灵活外设可用于整合片上和片外逻辑信号,用来产生不同的输出值,可以在多种条件下将器件从低功耗休眠模式唤醒。嵌入式设计人员还可以利用时序逻辑特性开发
    的头像 发表于 06-07 02:46 ?5124次阅读
    可配置<b class='flag-5'>逻辑</b><b class='flag-5'>单元</b>(CLC)

    详解逻辑单元的内部结构

    逻辑单元(Logic Element,LE)在FPGA器件内部,用于完成用户逻辑的最小单元。一个逻辑阵列包含16个
    的头像 发表于 06-15 16:50 ?5254次阅读

    表达式与逻辑门之间的关系

    逻辑表达式是指表示一个表示逻辑运算关系的式子,是一个抽象的类似数学表达式,下面我们重点说明下其表达式与逻辑门之间的关系
    的头像 发表于 02-15 14:54 ?2261次阅读
    表达式与<b class='flag-5'>逻辑</b>门之间的<b class='flag-5'>关系</b>