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

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

3天内不再提示

X+32和X+1谁消耗的FPGA资源多

FPGA开发之路 来源:FPGA开发之路 2023-09-20 09:31 次阅读

一个有意思的题目。

X为一个32-bit的数,那么 X+32 和 X+1,哪个消耗的资源更多?还是一样多?

假如只允许用 LUT 实现

如图1所示每个LUT可以完成1bit的加法,同时产生进位(Xilinx LUT6可以有两个输出)。因此对于32bit的加法,则需要32个LUT。

4516fa8a-56f6-11ee-939d-92fbcf53809c.png

图1

假如我们要实现的是 A+B,A和B都是32-bit的,那么确实是需要32个LUT。那X+32和X+1的常数加法呢?

32可以表示为32'b0000...0010_0000,1可以表示为32'b0000....0000_0001。

对于 X+32,输出值的低5bit可以直接表示为X[5:0],不需要LUT,其余值需要27个LUT实现加法运算。

对于X+1,只能从bit 0开始相加计算进位,总共需要32个LUT。

因此 X+1 消耗的资源更多。

假如是Vivado综合,即使用Carry8

对于32bit的加法,需要4个carry8,那么是否意味着 X+32 和 X+1 有相同的资源消耗呢?

查看综合结果(如下图所示):

X+1 2个LUT1+4个Carry8 (LUT1实现的是取反的功能)

X+3 3个LUT1+4个Carry8 (bit0消耗2个LUT1,bit1消耗一个LUT1)

X+32 1个LUT1+4个Carry8 (bit5消耗1个LUT1)

因此从综合结果看仍然是 X+1消耗的资源更多。当然这仅仅考虑单个加法的结果,如果实际代码中,加法器前面还有组合逻辑,这个LUT1应该是会合并在前面的LUT中实现,因而X+1和X+32会得到相同的资源消耗,即4个Carry8。

感兴趣的读者可以思考下 X-32会消耗多少LUT。

452e144a-56f6-11ee-939d-92fbcf53809c.png

图2 - X+1

454c6eb8-56f6-11ee-939d-92fbcf53809c.png

图3 - X+3

4569f7bc-56f6-11ee-939d-92fbcf53809c.png

图4 - X+32

审核编辑:汤梓红

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

    关注

    1629

    文章

    21729

    浏览量

    602966
  • Xilinx
    +关注

    关注

    71

    文章

    2167

    浏览量

    121293
  • LUT
    LUT
    +关注

    关注

    0

    文章

    49

    浏览量

    12502
  • 运算
    +关注

    关注

    0

    文章

    130

    浏览量

    25785
  • Vivado
    +关注

    关注

    19

    文章

    812

    浏览量

    66470

原文标题:X+32 vs X+1 谁消耗的FPGA资源多

文章出处:【微信号:FPGA开发之路,微信公众号:FPGA开发之路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    花了1的本钱了,FPGA PCIE X8 板子终于搞定了

    X1/X4/ X8接口.两个SATA硬盘接口, 相当于引出来了两对高速收发器.用SMA接口引出来了两对高速收发器. 收发器最大支持6Gbps用SMA接口引出来两对LVDS时钟输入。板载8个时钟焊盘。其中
    发表于 01-06 16:32

    VL53L1X初始化序列后SW待机消耗的问题如何处理?

    电池或重置 CPU 时,如果 VL53L1X 前面没有目标,在初始化阶段(睡眠模式)后电流消耗为 3mA(预期 6uA)每 30 秒 CPU 唤醒发送一次良好的距离测量并再次以 3mA 进入睡眠状态
    发表于 01-03 08:12

    简谈FPGA设计中不同设计方法资源消耗对比

    今天和大侠简单聊一聊FPGA设计中不同设计方法硬件资源消耗对比,话不多说,上货。 在这里,我们使用Verilog HDL 设计计数器,通过两种不同的写法,对比资源
    发表于 05-31 17:25

    小米5x和华为nova对比,华为nova和小米5x性能更强

    当小米和华为的两款颜值小米5x和小米nova相遇,这两部手机售价相差仅数百元,华为nova和小米5x性能更强,来看看详细配置和对比选就看你了!在中低端机里,可以说今年和去年都是骁龙
    发表于 10-11 17:03 1.3w次阅读

    MSP430x11x1,MSP430F21x1 示例代码

    MSP430x11x1,MSP430F21x1 示例代码
    发表于 05-03 10:48 9次下载
    MSP430<b class='flag-5'>x11x1</b>,MSP430F21<b class='flag-5'>x1</b> 示例代码

    CPU资源消耗的原因和解决方案

    通过Storyboard 创建视图对象时,其资源消耗会比直接通过代码创建对象要大非常,在性能敏感的界面里,storyboard不是一个好的技术选择。
    的头像 发表于 05-16 17:48 4388次阅读
    CPU<b class='flag-5'>资源</b><b class='flag-5'>消耗</b>的原因和解决方案

    MSP430FR4x2x微控制器的设计资源和工具介绍(1

    MSP430FR4x2xMCU技术培训-资源和工具(上)
    的头像 发表于 05-05 06:05 2393次阅读
    MSP430FR4<b class='flag-5'>x2x</b>微控制器的设计<b class='flag-5'>资源</b>和工具介绍(<b class='flag-5'>1</b>)

    FPGA布局及资源优化

    1.项目需求 FPGA :V7-690T两片 Resource:两片FPGA通过X12 gth互联;每片FPGA使用48路serdes走光口
    的头像 发表于 01-07 10:15 5173次阅读
    <b class='flag-5'>FPGA</b>布局及<b class='flag-5'>资源</b>优化

    FPGA中实现信号延时的资源消耗

    前段时间我临时对一个脉冲信号延时8192个CLK就使用了这种写法,当时有意识到可能会消耗较多的资源,但没想到会这么。 不同方式实现延时的资源消耗
    发表于 06-30 17:39 2248次阅读

    9FGL02x1-04x1-06x1-08x1 系列数据表

    9FGL02x1-04x1-06x1-08x1 系列数据表
    发表于 01-09 19:04 0次下载
    9FGL02<b class='flag-5'>x1-04x1-06x1-08x1</b> 系列数据表

    9DBL02x2-04x2-06x1-08x1 系列数据表

    9DBL02x2-04x2-06x1-08x1 系列数据表
    发表于 01-09 19:04 0次下载
    9DBL02<b class='flag-5'>x2-04x2-06x1-08x1</b> 系列数据表

    9FGL02x1-04x1-06x1-08x1D 数据表

    9FGL02x1-04x1-06x1-08x1D 数据表
    发表于 01-09 19:07 1次下载
    9FGL02<b class='flag-5'>x1-04x1-06x1-08x1</b>D 数据表

    9FGL02x1-04x1-06x1-08x1 系列数据表

    9FGL02x1-04x1-06x1-08x1 系列数据表
    发表于 06-30 18:46 0次下载
    9FGL02<b class='flag-5'>x1-04x1-06x1-08x1</b> 系列数据表

    9DBL02x2-04x2-06x1-08x1 系列数据表

    9DBL02x2-04x2-06x1-08x1 系列数据表
    发表于 06-30 18:47 0次下载
    9DBL02<b class='flag-5'>x2-04x2-06x1-08x1</b> 系列数据表

    9FGL02x1-04x1-06x1-08x1D 数据表

    9FGL02x1-04x1-06x1-08x1D 数据表
    发表于 06-30 18:52 0次下载
    9FGL02<b class='flag-5'>x1-04x1-06x1-08x1</b>D 数据表