【【深入浅出FPGA内部资源CLB的解析】】
创始人
2024-11-11 17:38:46
0次

深入浅出FPGA内部资源CLB的解析

FPGA的基本组成单元: CLB资源等

详细介绍一下CLB可分为CLBLL和CLBLM两类, 这是单纯的以Xilinx旗下的FPGA的某一款为例,单纯的只是介绍个概念性的东西。SliceL和SliceM内部都包含4个6输入查找表(LUT6)、3个数据选择器(MUX)、1个进位链(Carry Chain)和8个触发器(Flip-Flop)。
SLICEM(M:Memory):其内部的LUT可以读也可以写,可以实现移位寄存器和64bit的DRAM等存储功能,还可以实现基本的查找表逻辑。SLICEL(L:Logic): 其内部的LUT只可以读,只能实现基本的查找表逻辑。

一.LUT的介绍

对于LUT而言,LUT 可以看作是一个小型的、单口的 RAM,其中地址线是输入信号,存储单元的内容是输出信号。例如,一个 4 输入的 LUT,可以被看作是一个有 16 个地址的 RAM,每个地址存储一个输出值。
假设有一个 4 输入的 LUT 实现一个逻辑函数 𝑓(𝑎,𝑏,𝑐,𝑑)。这意味着 LUT 有 16 个地址,每个地址对应一个 4 位输入的组合(𝑎,𝑏,𝑐,𝑑 作为地址线),每个地址存储一个输出值(0 或 1)。配置 LUT 就是初始化这 16 个存储单元的内容。

输入: a b c d输出: f(a, b, c, d)
地址 0: 0 0 0 0存储值: 0
地址 1: 0 0 0 1存储值: 1
地址 2: 0 0 1 0存储值: 1
地址 3: 0 0 1 1存储值: 0
…
地址 15: 1 1 1 1存储值: 1
LUT的组成问题
xilinx公司的7系类FPGA中使用的是6-LUT,每个LUT有六个独立的输入(A1-A6),两个独立的输出(O5-O6)。一个Slice中的四个LUT分别以A,B,C,D编号。从组成结构来说,一个6-LUT由两个5-LUT组成和一个数据选择器组成。

二.MUX的介绍

使用 LUT 实现 MUX
4:1 MUX 实现:
一个 4:1 MUX 有 4 个数据输入(D0, D1, D2, D3),2 个选择信号(S0, S1),以及 1 个输出(Y)。
一个 LUT6 有 6 个输入,因此可以直接实现一个 4:1 MUX:
4 个数据输入连到 LUT 的前 4 个输入端。
2 个选择信号连到 LUT 的后 2 个输入端。
LUT 的内容根据选择信号的不同组合,输出相应的数据输入
当选择信号大于 4 时(例如 MUX8)
8:1 MUX 实现:

  • 一个 8:1 MUX 有 8 个数据输入(D0, D1, D2, D3, D4, D5, D6, D7),3 个选择信号(S0, S1, S2),以及 1 个输出(Y)。
  • 因为一个 LUT6 只有 6 个输入,无法直接实现 8:1 MUX,需要使用两个 4:1 MUX 和一个 2:1 MUX 进行实现。

假设我们要在一个 Slice 中实现一个 16:1 MUX:

  • 第一步:配置四个 LUT6 实现 4 个 4:1 MUX。
  • 第二步:使用 F7AMUX 和 F7BMUX 将这四个 4:1 MUX 组合成两个 8:1 MUX。
  • 第三步:使用 F8MUX 将两个 8:1 MUX 组合成一个 16:1 MUX。

三.进位逻辑链

只要记住是做运算的就行了

四.FF触发器

一个CLB由2个slice构成,其中每个slice就有8个存储单元。这8个存储单元还有所不同,其中的4个可以被配置成触发器(Flip-Flop,简写为 FF)或锁存器(Latch),其他4个则只能被配置成触发器(FF)。当配置为latch时,CLK为Low时latch是“透明”的,也就是我们之前提到的处于使能状态,相当于是缓冲器。值得注意的是,当那4个可以被配置成latch的存储单元被配置成latch时,剩下的4个(只能被配置成FF的)存储单元将不能被使用。

触发器(Flip-Flop)和寄存器(Register)在数字电路设计中是两个相关但不同的概念。虽然触发器和寄存器都用于存储数据,但它们的用途和结构有一些显著的区别。下面是对这两个概念的详细解释:

触发器(Flip-Flop)

特点:

  1. 基本存储单元:触发器是最基本的时序存储单元,每个触发器可以存储1位数据。
  2. 边沿触发:触发器通常是边沿触发的(上升沿或下降沿),这意味着它们在时钟信号的边沿变化时更新其状态。
  3. 类型:
    D 触发器(D Flip-Flop):存储数据输入的值。
    T 触发器(T Flip-Flop):在时钟边沿时翻转输出状态。
    JK 触发器(JK Flip-Flop):可以进行设置、清除和翻转操作。
    SR 触发器(SR Flip-Flop):可以进行设置和清除操作。

示例(D 触发器的 Verilog 代码):

module D_flip_flop (     input wire clk,    // 时钟信号     input wire d,      // 数据输入     output reg q       // 数据输出 );     always @(posedge clk) begin         q <= d;        // 在时钟上升沿采样输入并更新输出     end endmodule 

寄存器(Register)

特点:

  1. 多位存储单元:寄存器是由多个触发器组成的,可以存储多位数据(例如8位、16位、32位等)。
  2. 同步存储:寄存器中的所有触发器共享同一个时钟信号,因此寄存器在时钟边沿时同步更新其所有位的数据。
  3. 用途广泛:寄存器广泛用于存储数据、地址、控制信号等,可以作为缓存、计数器、移位寄存器等。

示例(8位寄存器的 Verilog 代码):

module Register (     input wire clk,    // 时钟信号     input wire [7:0] d, // 8位数据输入     output reg [7:0] q  // 8位数据输出 );     always @(posedge clk) begin         q <= d;        // 在时钟上升沿同步更新所有位的数据     end endmodule 

主要区别:

  1. 存储位数:
    触发器:单个触发器存储1位数据。
    寄存器:寄存器可以存储多位数据,由多个触发器组成。

  2. 结构复杂度:
    触发器:简单的存储单元。
    寄存器:复杂的存储单元,由多个触发器组成,常用于处理多位数据。

  3. 用途:
    触发器:用于实现基本的时序逻辑和单个位的存储。
    寄存器:用于实现多位数据存储、数据缓存、计数器、移位寄存器等功能。

触发器和缓冲器(Buffer)

缓冲器(Buffer)在数字电路中是一个简单的电路元件,用于隔离或驱动信号。缓冲器不具有存储功能,只是简单地传输信号,并可以增强信号强度。缓冲器和触发器是不同的概念。

缓冲器的示例(Verilog 代码):

module Buffer (     input wire in,     // 输入信号     output wire out    // 输出信号 );     assign out = in;   // 直接传输输入信号到输出 endmodule 

总结:

触发器(Flip-Flop) :基本的时序存储单元,用于存储1位数据。
寄存器(Register) :由多个触发器组成的多位存储单元,用于存储多位数据。
缓冲器(Buffer) :用于隔离或驱动信号,不具有存储功能。

理解这些基本概念和区别,有助于在数字电路设计中选择合适的元件,从而实现所需的功能。

相关内容

热门资讯

实测交流透视挂!宝玛大厅ai智... 实测交流透视挂!宝玛大厅ai智能透视挂教程,宝玛大厅破解软件经验(本来有挂辅助)1、每一步都需要思考...
总算了解辅助器!朱雀吴江三缺一... 总算了解辅助器!朱雀吴江三缺一ai智能透视辅助挂技巧,朱雀吴江三缺一好像是有挂(有辅助挂细节)朱雀吴...
今日公布透视!九五至尊大厅ai... 今日公布透视!九五至尊大厅ai智能透视插件,九五至尊大厅有没有透视挂窍门(切实有挂技术)1、在九五至...
玩家必看科普开挂!聚闲麻将ai... 玩家必看科普开挂!聚闲麻将ai智能透视辅助挂软件,聚闲麻将总是真的有挂(有辅助挂方式)聚闲麻将能透视...
据报道开挂!旅游娱乐ai智能开... 据报道开挂!旅游娱乐ai智能开挂工具,旅游娱乐辅助工具演示(一直有挂教学)1、全新机制【旅游娱乐ai...
一分钟揭秘开挂!决胜朋来麻将a... 一分钟揭秘开挂!决胜朋来麻将ai智能透视辅助挂教程,决胜朋来麻将真是真的是有挂(有辅助挂总结)1、首...
如何分辨真伪透视!红牛ai智能... 如何分辨真伪透视!红牛ai智能透视攻略,红牛是不是有挂经验(真是有挂技术)1、操作简单,无需红牛手机...
2分钟细说辅助器!江湖大庆麻将... 2分钟细说辅助器!江湖大庆麻将ai智能透视辅助挂攻略,江湖大庆麻将竟然是真的有挂(有辅助挂头条)1、...
总算清楚透视挂!老夫子厅ai智... 总算清楚透视挂!老夫子厅ai智能透视挂技巧,老夫子厅怎么开挂课程(好像发现有挂)老夫子厅破解侠是真的...
解密关于辅助!菜鸟麻将ai智能... 解密关于辅助!菜鸟麻将ai智能透视辅助挂脚本,菜鸟麻将总是存在有挂(有辅助挂存在)1、用户打开应用后...