CLB结构

当前遇到LUT资源利用过度问题,看一下CLB组成,再去优化资源。

CLB结构

CLB能实现什么?

1CLB = 2Slice, 两个slice不直接相连,每个slice是一列,有各自的进位链;Each CLB can contain two SLICEL or a SLICEL and a SLICEM
1slice = 4LUT6 + 8FF
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LUT

7系列FPGA的LUT可以配置为2种:
第1种是:LUT6:6个input和1个output。
第2种是:2个LUT5,有2个独立的输出,但是要求这两个LUT的输入地址和逻辑完全一致。
1个slice有4个LUT6,分别编号为ABCD。
6个输入的函数只需使用1个LUT6。
7个输入的函数只需使用2个LUT6。
8个输入的函数只需使用4个LUT6。
所以为了节省资源尽量使用<=6个输入。
在这里插入图片描述

LUT 在Slice中的位置

从下图可以看出:

LUT.O6

1.可以直接输出到本个slice的外面信号是A。
2.可以与BLUT.O6、CLUT.O6,DLUT.O6进行MUX。
3.可以连接到异或门。
4.可以当进位逻辑多路复用器的选择信号。
5.可以给FF.D

LUT.O5

1.可以直接输出到本个slice的外面信号是AMUX。
2.可以进入进位链。
3.可以给FF.D
在这里插入图片描述

LUT5

本以为例化两个相同的LUT5会使用O6和O5,结果并不是,而是直接通过线一分二。

LUT5_module lut5_inst0 (.i_lut5 ( i_lut5  ), .o_lut5( o_lut5_0  ) );
LUT5_module lut5_inst1 (.i_lut5 ( i_lut5  ), .o_lut5( o_lut5_1  ) );
module LUT5_module(
    input  [4:0]    i_lut5  ,
    output          o_lut5    
);
assign   o_lut5  =   &i_lut5  ;
// LUT5_module lut5_inst (.i_lut5 (     ), .o_lut5(        ) );
endmodule

在这里插入图片描述

在这里插入图片描述

LUT6

结论:确实占用了1个LUT6资源

module LUT6_module(
    input  [5:0]    i_lut6  ,
    output          o_lut6    
);
assign   o_lut6  =   &i_lut6  ;
// LUT6_module lut6_inst (.i_lut6 (     ), .o_lut6(        ) );
endmodule

在这里插入图片描述
在这里插入图片描述

LUT7

并没有使用F7AMUX,而是两个不同的CLB,不知道为什么?

LUT7_module lut7_inst (.i_lut7 ( i_lut7  ), .o_lut7( o_lut7  ) );
module LUT7_module(
    input  [6:0]    i_lut7  ,
    output          o_lut7    
);
assign   o_lut7  =   &i_lut7  ;
// LUT7_module lut7_inst (.i_lut7 (     ), .o_lut7(        ) );
endmodule

在这里插入图片描述

在这里插入图片描述

LUT8

和LUT7一样,也不是在通一个CLB

module LUT8_module(
    input  [7:0]    i_lut8  ,
    output          o_lut8    
);
assign   o_lut8  =   &i_lut8  ;
// LUT8_module lut8_inst (.i_lut8 (     ), .o_lut8(        ) );
endmodule

在这里插入图片描述

MUX

少用大的选择器

4:1 multiplexers using one LUT
Four 4:1 MUXes per slice
8:1 multiplexers using two LUTs
Two 8:1 MUXes per slice
16:1 multiplexers using four LUTs
One 16:1 MUX per slice

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1615549892

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值