当前位置: 首页 > news >正文

Xilnx FPGA 资源结构

Xilnx FPGA 资源结构

内容来自b站up: https://www.bilibili.com/video/BV1Aj421f7bx/?spm_id_from=333.1387.homepage.video_card.click&vd_source=a77ccc3c47c86e4bbe7c68afa62a86ca

fpga 主要资源

image

CLB 的结构

image

图中展示的是一个数字电路设计的部分,通常用于FPGA(现场可编程门阵列)设计。以下是图中关键名词的解释:

  1. LUT (Look-Up Table):查找表,是一种可编程的数字电路元件,用于实现组合逻辑。LUT可以根据输入信号的组合,通过查找预先设定的输出值来实现逻辑功能。

  2. MUX (Multiplexer):多路复用器,是一种选择器电路,可以从多个输入信号中选择一个输出。它通常用于数据选择和路径选择。

  3. CARRY4:这是一个4位的进位生成器,用于二进制加法器中。它负责生成和传播进位信号,以便在多位加法运算中正确计算结果。
    CARRY4模块中的信号

    • CI (Carry In):进位输入,用于多位加法器中,表示从低位传来的进位信号。
    • CO (Carry Out):进位输出,表示当前位加法产生的进位,可以传递给高位。
    • S (Sum):和,表示两个输入位X和Y以及进位输入CI相加的结果。
    • DI (Data In):数据输入,用于存储或传递数据。
    • CYINIT (Carry Initialize):进位初始化,用于设置初始的进位值。
  4. FF (Flip-Flop):触发器,是一种具有记忆功能的数字电路元件,可以存储一位二进制信息。触发器通常用于时序逻辑电路中,如计数器和寄存器。D触发器 (D Flip-Flop):这是一种触发器,它在时钟信号的上升沿或下降沿捕获D输入的值,并将其存储在输出Q中。D触发器常用于数据同步和存储。

  5. SliceM 和 SliceL:Slice 根据LUT的不同分为SliceM(M:memory 其内部的LUT可读可写, 可以实现移位寄存器和DRAM等功能) 和 SliceL(L: logic 内部LUT 只读只能实现基本查找表逻辑). 通常CLB中的slicem: sliceL是2:1.

LUT 查找表

image
预先把真值表存在ram里, 通过输入,也就是地址, 来选择输出, 从而实现各种不同的组合逻辑.
image
六输入的LUT由两个5输入的构成.
所以, 一个32位的位移可以由一个可读写的5输入LUT配置而成(只能左移,为什么?为未研究): 5输入LUT刚好有32位的RAM, 先把数据存在RAM,最后再串行输出

FF 触发器

image
两种FF, 一种可以作为latch(锁存器用, 基本不会用), 一种不能. 通常都是用D触发器, D触发器又分为4种: 异步复位 FDCE,异步置位FDPE,同步复位FDRE,同步置位FDSE.
其中, 异步和同步会分开布线, 所以同一设计尽量不要异步同步大量混用.

always @(posedge clk or negedge rst_n) begin // 敏感列表里有复位, 所以复位信号一来,里面就复位.if (!rst_n) beginq <= 0;       // 异步复位
always @(posedge clk) begin // 敏感列表里没有reset, 所以只有在clk上升沿来的时候才会复位if (!rst_n) beginq <= 0;       // 同步复位

同步复位缺点: 不能立即复位
异步复位缺点: 可能引入亚稳态, 复位信号在时钟变化的边沿到来. 增加时序分析难度.

http://www.gsyq.cn/news/9795.html

相关文章:

  • 2025年录音转文字技术解析与实用工具评测 - 指南
  • CF2147H Maxflow GCD Coloring 题解
  • Uiverse.io 2.0 震撼发布:新增 3000+ 动效组件!适配 React、Vue
  • 问题及解决方法
  • 2025.9.22
  • 联想拯救者无法登录当前账户
  • WPF二合一平板电脑上屏幕旋转时获取屏幕宽高问题
  • 代码中的善意:构建人性化的软件开发文化
  • 9/22
  • Python开发中都遇到哪些问题,怎么解决的
  • 【废话】
  • 从 0 到 1,AI 走进服装店:记住每位顾客的喜好,比你还靠谱
  • 君子如水,心中有火:vivo本心而为30周年
  • Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物 - 指南
  • 第二次软工作业——个人项目 - LXJ
  • systemd服务自身重启策略管理
  • java log4j 代码中 新增按日保存日志文件的功能
  • Android 项目:画图白板APP开发(六)——分页展示 - 教程
  • mysql/oracle LEFT JOIN 取时间最大的数据
  • 基于遗传算法与非线性规划的混合优化算法在电力系统最优潮流中的实现
  • Java-如何在Eclipse开发-数组
  • 常用数据生成器
  • 鸿蒙项目实战(十):web和js交互
  • 函数计算进化之路:AI 应用运行时的状态剖析
  • 详细介绍:Day20 K8S学习
  • opencv学习记录3
  • 统计分析神器 NCSS 2025 功能亮点+图文安装教程
  • Gentoo安装配置
  • 3 网络基础知识+web基础知识+部署Server
  • 简单理解java虚拟机