vivado里的LUT、LUTRAM、FF、BRAM、DSP、IO、BUFG、MMCM资源介绍

2024-02-02 09:04

本文主要是介绍vivado里的LUT、LUTRAM、FF、BRAM、DSP、IO、BUFG、MMCM资源介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vivado里的LUT、LUTRAM、FF、BRAM、DSP、IO、BUFG、MMCM资源介绍


提示:以下是本篇文章正文内容,写文章实属不易,希望能帮助到各位,转载请附上链接。

vivado实现电路用到的资源类型

LUT(Look-Up Table):查找表,它接收一组输入信号,并根据预先定义的逻辑函数表(Look-Up Table)输出结果,LUT 可以实现任意逻辑函数,如与、或、非、异或等。

LUTRAM(Look-Up Table Random Access Memory):查找表RAM,LUTRAM 是一种特殊类型的 LUT,它具有额外的可编程存储器功能。这意味着 LUTRAM 可以用于实现具有存储器功能的逻辑功能,例如存储器或 RAM。

 FF(Flip-Flop):寄存器, 在 FPGA 中用于存储和延时信号。FF 可以将输入信号锁存到其内部,并在时钟上升沿或下降沿触发时更新输出。FF 通常用于存储状态和实现时序逻辑,在时序电路设计中起到关键作用。常见的 FF 类型有 D 触发器、JK 触发器等。

BRAM(Block RAM):块RAM,BRAM 是 FPGA 中的块随机存取存储器单元,用于实现大容量的存储器功能,通常用于存储器、缓冲区等应用。

DSP(Digital Signal Processor):数字信号处理器,DSP 单元是 FPGA 中专门用于高性能数字信号处理的特定硬件单元。它们通常包括乘法器、累加器和其他数字信号处理相关的功能。

IO(Input/Output):输入/输出,IO 单元代表 FPGA 芯片上的输入/输出资源,用于连接外部信号和设备。

BUFG(Global Buffer):全局时钟缓冲器,BUFG 是用于将时钟信号传输到 FPGA 中各个区域的全局时钟缓冲单元。

MMCM(Mixed-Mode Clock Manager):多模式时钟管理器,MMCM 是一种用于时钟生成和管理的特殊硬件资源,可以为 FPGA 中的各种逻辑提供稳定的时钟信号。

IBUF(Input Buffer):输入缓冲器,IBUF 用于将外部输入信号引入 FPGA 芯片。它的作用是将输入信号进行缓冲、放大和对齐,以适应 FPGA 内部的逻辑电平要求。IBUF 可以确保输入信号的稳定性,并使其在 FPGA 内部可靠地使用。

OBUF(Output Buffer):输出缓冲器,OBUF 用于将 FPGA 内部的输出信号传送到外部设备或其他电路。它的作用是将 FPGA 内部逻辑产生的信号进行缓冲和驱动,以适应外部设备的输入要求。OBUF 可以提供足够的电流和电压波形来驱动外部负载。

reg 介绍

  • C:时钟端口。当 C 端口的上升沿到来时,reg 内部的状态会根据 D 端口的值更新。

  • CE:使能端口。只有在 CE 为高电平时,reg 才会响应 C 端口上升沿时的输入数据。当 CE 端口为低电平时,reg 会保持原来的值不变。

  • CLR:清零端口。当 CLR 端口为高电平时,reg 置为 0。当 CLR 为低电平时,reg 保持原来的值不变。

  • D:数据端口D 端口的值会在 C 端口上升沿到来时被存储到 reg 中。

  • Q:输出端口Q 端口用于输出 reg 中存储的值。

简单电路分析

该电路实现的简单的与功能,将四个输入两两相与输出。

仔细分析该电路,有以下注意的点:

1、为什么复位信号rst-n后面还接了一个LUT1?

这是因为复位信号低电平有效时,通过LUT1取反变为高电平再输入给CLR,就能清零。

2、为什么中间4个寄存器CE信号一直为高,而输出端口的寄存器CE信号却接的复位信号?

对于输出端口的寄存器(register),使能信号(CE)通常来自于复位信号(CLR)是为了确保在系统复位时,输出信号处于一种可控的状态。

当复位信号触发时,使能信号被设置为低电平,这将导致输出端口的寄存器被禁用。这样做的目的是确保在系统复位期间,输出值不会产生任何无效或不确定的结果。当复位完成后,使能信号被设置为高电平,使得输出端口的寄存器可以正常工作,并且根据输入数据进行更新。

通过使用复位信号来控制输出端口的使能信号,可以确保输出信号在系统启动和复位过程中保持可控和可预测的状态。这对于确保系统在重新启动或复位后正常运行非常重要。

需要注意的是,这只是一种常见的设计实践,具体的设计可能因应用而异。在某些情况下,可能会使用其他信号或条件来控制输出端口的使能信号。

这篇关于vivado里的LUT、LUTRAM、FF、BRAM、DSP、IO、BUFG、MMCM资源介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670190

相关文章

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h