一、CLB 和 Slice 是什么?(基础概念)
在学习 FPGA 的过程中,你会经常听到CLB和Slice这两个词。
- Slice:是 FPGA 里面真正存放逻辑资源的小单元(可以把它想象成一个“乐高积木”)。
- CLB(Configurable Logic Block,可配置逻辑块):是由几个 Slice 组合在一起形成的更大单元。
简单比喻:
- Slice = 房间
- CLB = 由几个房间组成的一套房子
- 整个 FPGA = 由很多这样的“房子”组成的大楼
为什么一定要学懂它们?
因为 FPGA 所有的逻辑(加法器、状态机、计数器等)最终都要放在这些 Slice 里面实现。理解 Slice,就理解了 FPGA 是如何工作的。
二、一个 Slice 里面到底有什么?(详细拆解)
一个典型的 Xilinx Slice 主要包含以下部分:
LUT(查找表)
- 数量:通常 4 个 LUT6(6输入查找表)
- 作用:实现各种组合逻辑(与、或、非、if判断等)
Flip-Flop(寄存器,简称 FF)
- 数量:通常 8 个
- 作用:存储数据,实现时序逻辑(打一拍、同步等)
多路选择器(MUX)
- 作用:在 Slice 内部快速选择不同