天天看点

FPGA资源介绍——可配置逻辑块CLB(三)输入查找表(LUT6)数据选择器(MUX)进位链(Carry Chain)触发器(Flip-Flop)

FPGA资源介绍——可配置逻辑块CLB(三)

  • 输入查找表(LUT6)
  • 数据选择器(MUX)
  • 进位链(Carry Chain)
  • 触发器(Flip-Flop)

CLB(Configurable Logic Block)由两个Slice组成,由于Slice有SliceL(Logic)和SliceM(Memory)之分,因此CLB可分为CLBLL和CLBLM两类。

FPGA资源介绍——可配置逻辑块CLB(三)输入查找表(LUT6)数据选择器(MUX)进位链(Carry Chain)触发器(Flip-Flop)

SliceL和SliceM内部都包含4个6输入查找表(LUT6)、3个数据选择器(MUX)、1个进位链(Carry Chain)和8个触发器(Flip-Flop)。

FPGA资源介绍——可配置逻辑块CLB(三)输入查找表(LUT6)数据选择器(MUX)进位链(Carry Chain)触发器(Flip-Flop)

SliceL的内部示意图

FPGA资源介绍——可配置逻辑块CLB(三)输入查找表(LUT6)数据选择器(MUX)进位链(Carry Chain)触发器(Flip-Flop)

输入查找表(LUT6)

SLICEL和SLICEM的结构组成一样,但两者更细化的结构上略有不同,区别在于LUT6上(如下图所示),从而导致LUT6的功能有所不同。

FPGA资源介绍——可配置逻辑块CLB(三)输入查找表(LUT6)数据选择器(MUX)进位链(Carry Chain)触发器(Flip-Flop)

数据选择器(MUX)

SLICE中的三个MUX(Multiplexer:F7AMUX,F7BMUX和F8MUX)可以和LUT6联合共同实现更大的MUX。

SLICE中的F7MUX(F7AMUX和F7BMUX)的输入数据来自于相邻的两个LUT6的O6端口。F8MUX的输入数据来自F7AMUX和F7BMUX的输出端口。

事实上,一个LUT6可实现4选1的MUX。一个F7MUX和相邻的两个LUT6可实现一个8选1的MUX。因此,一个SLICE可实现2个8选1的MUX。4个LUT6、F7AMUX、F7BMUX和F8MUX可实现一个16选1的MUX。因此,一个SLICE可实现一个16选1的MUX。

进位链(Carry Chain)

进位链的内部包含4个MUX和4个2输入的异或门,进位链用于实现加法和减法运行。异或运算是加法运算中必不可少的运算。

FPGA资源介绍——可配置逻辑块CLB(三)输入查找表(LUT6)数据选择器(MUX)进位链(Carry Chain)触发器(Flip-Flop)

Xilinx 7系中进位链的结构

触发器(Flip-Flop)

每个SLICE中有8个触发器。这个8个触发器可分为两大类:4个只能配置为边沿敏感的D触发器(Flip-Flop)和4个即可配置为边沿敏感的D触发器又可配置为电平敏感的锁存器(Flop&Latch)。当后者被用作锁存器的时候,前者将无法使用。

https://www.cnblogs.com/rouwawa/p/10031833.html#1-%E6%80%BB%E8%A7%88.

https://zhuanlan.zhihu.com/c_1249458908361302016.