欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

FPGA - 7 系列 FPGA CLB 内部结构 -01- CLB 资源概览

最编程 2024-03-08 14:13:22
...

前言

本文节选UG474进行整理翻译,用于对CLB进行简单介绍,同时简单介绍了下针对逻辑资源设计的推荐流程。

CLB简介

7 系列可配置逻辑块 (CLB) 提供先进的高性能 FPGA 逻辑:

  • 真6 输入查找表 (LUT) 技术
  • 双 LUT5(5 输入 LUT)选项
  • 分布式存储器和移位寄存器逻辑功能
  • 用于算术功能的专用高速进位逻辑
  • 用于有效利用的宽多路复用器

CLB 是实现顺序电路和组合电路的主要逻辑资源。 每个 CLB 元素都连接到一个开关矩阵,用于访问通用路由矩阵。  CLB 元素包含一对切片。

网络异常,图片无法展示
|

7 系列 FPGA 中的 LUT 可配置为具有一个输出的 6 输入 LUT,或配置为具有独立输出但公共地址或逻辑输入的两个 5 输入 LUT。 每个 5 输入 LUT 输出可以选择在触发器中寄存。 四个这样的 6 输入 LUT 及其八个触发器以及多路复用器和算术进位逻辑形成一个 slice,两个 slice 形成一个 CLB。 每个切片四个触发器(每个 LUT 一个)可以选择配置为锁存器。 在这种情况下,该片中剩余的四个触发器必须保持未使用状态。

7 系列 CLB 特性

7 系列 CLB 与 Virtex-6 FPGA 系列中的 CLB 相同。  CLB 与 Spartan-6 FPGA 系列的 CLB 非常相似,但有以下区别:

  • 列式架构
  • 轻松扩展到更高的密度
  • CLB 之间的更多路由
  • 仅 SLICEL 和 SLICEM(无 Spartan-6 FPGA SLICEX)
  • 所有切片都支持进位逻辑
  • 更多优化

CLB 结构中的通用特性简化了从 Spartan-6 和 Virtex-6 系列到 7 系列器件的设计迁移。 独特的平面布置图意味着在实施最初针对早期 FPGA 的设计之前应消除位置限制。 与 Virtex-6 FPGA 系列相比,互连布线资源在尺寸、数量和灵活性上都有所增加,从而提高了自动布局布线结果的质量。

设备资源

CLB 资源可在所有 7 系列系列中进行扩展,提供可提高效率、IP 实施和设计迁移的通用架构。  CLB 的数量以及 CLB 与其他设备资源的比例区分了 7 系列系列。  7 系列系列之间的迁移不需要对 CLB 进行任何设计更改。

器件容量通常以逻辑单元来衡量,逻辑单元相当于经典的四输入 LUT 和触发器。  7 系列 FPGA CLB 六输入 LUT,丰富的触发器和锁存器,进位逻辑,以及在 SLICEM 中创建分布式 RAM 或移位寄存器的能力,增加了有效容量。 逻辑单元和 6 输入 LUT 的数量之比为 1.6:1。

推荐的设计流程

CLB 资源是针对通用设计逻辑推断的,不需要实例化。 好的 HDL 设计就足够了。 需要注意的一些事项:

  • CLB 触发器具有置位或复位。 设计者不能同时使用 set 和 reset。
  • Flip-flops 很丰富。 应该考虑使用流水线来提高性能。
  • 控制输入在片或CLB 之间共享。 应尽量减少设计所需的独特控制输入的数量。 控制输入包括时钟、时钟使能、设置/复位和写使能。
  • 6 输入 LUT 可用作 32 位移位寄存器以实现高效。
  • 6 输入 LUT 可用作 64 x 1 存储器以满足小型存储要求。
  • 专用进位逻辑有效地实现算术功能。

这些步骤表明了推荐的设计流程:

  1. 使用首选方法(HDL、IP 等)实施设计。
  2. 评估利用率报告以确定使用的资源。
  3. 考虑使用触发器。
  1. 为了提升性能使用流水线操作。
  2. 在专用资源(块 RAM、DSP)的输出端使用专用触发器。
  3. 允许移位寄存器使用 SRL(避免设置/重置)
  1. 尽量减少设置/重置的使用。

reference

  1. UG474