FPGA之进位逻辑

         进位逻辑(Carry Logic)Slice 中除了LUT,寄存器,触发器,锁存器外,还提供了专用的快速超前进位逻辑,可以在slice 中执行快速算术加法和减法。CLB 中的专用进位逻辑提高了算术功能(如加法器,计数器和比较器)的性能。包含简单计数器或加法器/减法器的设计会自动推断进位逻辑。如果是更复杂的乘法器可以使用单独的DSP48E1 Slice 实现。7系列FPGA CLB具有两个独立的进位链,如图下所示,1个CLB 中的2个Slice 各有1个CIN.

 

进位链可级联以形成更宽的加/减逻辑,如图下图所示。 

        进位链向上延伸,每个slice的高度为4bits。对于每个bit,都有一个进位多路复选器(MUXCY)和专用的XOR门,用于用选定的进位位加/减操作数。专用的进位路径和进位多路复选器(MUXCY)也可以用于级联LUT,以实现广泛的逻辑功能。如下图所示: 

 


CARRY4 CARRY4_inst(
.CO(CO),//4-bit carry out
.O(O),//4-bit carry chain XOR data out
.CI(CI),//1-bit carry cascade input
.CYINIT(CYINIT),//1-bit carry initialization
.DI(DI),1/4-bit carry-MUX data in
.S(S)1/4-bit carry-MUX select input
):
进位链与功能生成器一起使用进位超前逻辑。有10个独立输入和8个独立输出:

输入S输入SO至S3
-进位超前逻辑的“传播”信号
-来自LUT的O6输出
DI输入-DI1至DI4
-进位超前逻辑的“生成”信号
-来自LUT的O5输出
-创建乘数
-或 SLICE 的 BYPASS输入(AX,BX,CX或DX)
.CYINIT
-进位链的第一位的CIN
-0表示加/-1表示减
-动态第一进位位的AX输入
*CIN
-级联Slice以形成更长的进位链
・输出
O输出O0至03
-包含加法/减法之和
.CO输出-CO0到 CO3
-计算每一位的进位
-CO3连接到 Slice 的COUT输出以通过级联多个Slice 形成更长的进位链-创建加法器/累加器

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

行者..................

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

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

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

打赏作者

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

抵扣说明:

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

余额充值