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

相关文章

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题

《如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socketreadtimedout的问题》:本文主要介绍解决Druid线程... 目录异常信息触发场景找到版本发布更新的说明从版本更新信息可以看到该默认逻辑已经去除总结异常信息触发场景复

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写