FPGA之初探

FPGA的构成

基本逻辑单元CLB

       CLB是FPGA的基本逻辑单元, 一个 CLB 包括了 2 个 Slices,所以知道Slices的数量就可以知道FPGA的“大概”逻辑资源容量了。一个 Slice 等于 4 个6输入LUT+8个触发器(flip-flop)+算数运算逻辑,每个 Slice 的 4 个触发器(虽然有 8个flip-flop,但是每个 LUT 分配一个 flip-flop)可以配置成锁存器,这样会有4 个触发器(flip-flop)未被使用。对于CLB来说,里面的Slice有2种类型。一种是SLICEL,另外一种是SLICEM.SLICEM的功能更强大,SLICEM可以当作分布式RAM 或者ROM,或者实现移位寄存器。

        对于 XILINX 7 系列的 FPGA 来说,SLICEM 约占三分一的 Slices。比如对于 7K325T的 FPGA,有 16000个SLICEM,即16000X4X64bit=4096Kb的 distributed RAM或者2000kb的Shift Register。

 slice 的基本结构

•四个逻辑函数生成器(查找表)

•8 个存储单元

•多功能多路复选器

• 快速进位逻辑

FPGA 的逻辑、算术和 ROM 功能就是靠 Slice 实现,其中 slice 又分 SLICEL 和 SLICEM,SLICEM 的功能更强 大,除了具备 SLICEL 的所有功能,还能实现分布式 RAM、ROM 和实现移位逻辑

slicel的结构图

slicem的结构图

对比 SLICEM 和 SLICEL,可以看到以上结构图中,他们的差异在查找表上,SLICEM 的查找表结构功能更复杂。 SLICEM 增加了写操作的控制信号,以及移动位进位的功能。 

相关推荐

  1. FPGA术语

    2024-01-17 07:34:02       26 阅读
  2. FPGA术语

    2024-01-17 07:34:02       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 07:34:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 07:34:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 07:34:02       87 阅读
  4. Python语言-面向对象

    2024-01-17 07:34:02       96 阅读

热门阅读

  1. Docker的本地化部署:加速软件开发周期的利器

    2024-01-17 07:34:02       66 阅读
  2. 微信小程序canvas画布绘制文字自动换行

    2024-01-17 07:34:02       59 阅读
  3. 微信小程序封装网络请求设置超时5min不生效

    2024-01-17 07:34:02       57 阅读
  4. ffmpeg 实用命令 - 转换格式

    2024-01-17 07:34:02       53 阅读
  5. openssl3.2 - 官方demo学习 - pkey - EVP_PKEY_EC_keygen.c

    2024-01-17 07:34:02       46 阅读
  6. 2024华数杯数学建模A题思路模型代码论文

    2024-01-17 07:34:02       56 阅读