一个有意思的题目。
x为一个32-bit的数,那么 x+32 和 x+1,哪个消耗的资源更多?还是一样多?
假如只允许用 lut 实现
如图1所示每个lut可以完成1bit的加法,同时产生进位(xilinx lut6可以有两个输出)。因此对于32bit的加法,则需要32个lut。
图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。
图2 - x+1
图3 - x+3
图4 - x+32
PHP入门介绍
电线电缆的检测项目及检测方法你知道多少?
小康集团联手华为 深入推动新能源汽车领域的合作
致敬武汉精神!海信激光电视全程助力姚基金慈善赛
小米Note3、红米Pro2、小米MIX2、小米6Plus最新消息汇总,下半年即将发布你最期待谁?
X+32和X+1谁消耗的FPGA资源多
AD1895的介绍及特性
RVVP与RVV哪个是电源线哪个是信号线,两者有什么区别
高通为何在收购NXP失败后股价大涨?
传感器将会朝哪个方向发展?
动力电池和普通电池区别是什么?出口动力电池UL2580认证测试项目包括哪些内容?
6G关键技术实现突破,太赫兹无线芯片研发成功
华为离苹果的距离,“一个ios”
苹果iPhone SE3曝光,或于2022年发布
车市寒冬来临,国产新能源汽车市场进入“淘汰赛”阶段
如何将lpc2148与16 * 2 LCD连接
华为在欧洲推出了首款采用弹出式自拍相机的无边框手机华为P Smart Z
SiTime硅晶振解决方案—汽车摄像头
警用无人机持续释放增长空间,需加强飞手培训
小米9将搭载业内最大超线性扬声器并具备一项低延迟耳返的功能