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

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资源介绍

vivado里的LUT、LUTRAM、FF、BRAM、DSP、IO、BUFG、MMCM资源介绍 提示:以下是本篇文章正文内容,写文章实属不易,希望能帮助到各位,转载请附上链接。 vivado实现电路用到的资源类型 LUT(Look-Up Table)&am…...

window关闭端口占用

文章目录 一、打开命令行,输入命令,得到进程号二、找到其端口并杀死该端口总结 一、打开命令行,输入命令,得到进程号 winr打开命令行,输入命令 netstat -ano | findstr 端口号得到端口号 二、找到其端口并杀死该端…...

Java:类和对象

类和对象 类(Class)类的定义 对象(Object)对象的创建 构造方法(Constructor)构造方法的定义 继承(Inheritance)继承的示例 总结示例一设想一个场景:创建一个虚拟动物园一…...

Pandas数据分析案例之用户购买记录分析

文章目录 数据分析之用户购买记录分析第一部分:数据类型处理数据加载观察数据查看数据的数据类型数据中是否存储在缺失值将order_dt转换成时间类型查看数据的统计描述计算所有用户购买商品的平均数量计算所有用户购买商品的平均花费 在源数据中添加一列表示月份:ast…...

串口调试可能遇见的常见问题和排查方法

串口UART作为嵌入式应用和通讯领域中最常用的接口之一,接口协议虽然简单,但在实际应 用中不同设备之间的通讯也会存在各种小问题,下面对使用中各种常见的问题做下总结和梳 理,可作为调试参考。 01串口通信常见问题 串口通信乱码…...

运放学习提纲

目的:给初入硬件的朋友一个系统性学习运放的参考方向,避免像无头苍蝇那般 一:偏置电流 1.1. 为什么是输入偏置电流? 1.2. 什么是输入偏置电流? 1.3. 怎么搜索资料?怎么把 ADI 模型导 入Multisim &#…...

nvidia系列教程-AGX-Orin系统刷机及备份

目录 前言 一、准备工作 二、AGX Orin 系统刷机步骤 三、AGX Orin 系统备份 总结 前言 NVIDIA AGX Orin 是一款高性能的嵌入式计算平台,专为边缘计算和 AI 应用而设计。为了确保系统的稳定性和适应不同的应用场景,用户可能需要对 AGX Orin 进行系统刷…...

将 Mojo 与 Python 结合使用

Mojo 允许您访问整个 Python 生态系统,但环境可能会因 Python 的安装方式而异。花些时间准确了解 Python 中的模块和包的工作原理是值得的,因为有一些复杂情况需要注意。如果您以前在调用 Python 代码时遇到困难,这将帮助您入门。 Python 中的模块和包 让我们从 Python 开始…...

Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED

Unrecognized option: --add-opensjava.base/java.langALL-UNNAMED Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. Disconnected from server 报错原因:这里我是启动一个SpringBoot项目的时候报这…...

js与ios、安卓原生方法互调。

注意方法名与参数需要与对方约束 1.js调用安卓原生方法 window.android.方法名(要传递的参数) 调用安卓方法并且传递参数过去:window.WebAppInterface.安卓方法("参数") window.安卓暴露的方法function(安卓传递过来的参数){} …...

C++——多态经典案例(二)制作饮品

案例:制作饮品的步骤是差不多一样的,假设都有四步,打开包装Open、煮水Boil、放杯子里面PutInCup、放佐料PutSomething、喝Drink 利用多态,制作茶和咖啡等饮品 分析:定义一个抽象类,纯虚函数包括Open、Boil…...

内网域森林之ProxyNotShell漏洞利用

点击星标,即时接收最新推文 本文选自《内网安全攻防:红队之路》 在渗透测试过程,如果目标环境存在Exchange服务器,我们也需要测试是否存在已知的远程命令执行漏洞,这里首先介绍ProxyNotShell。 ProxyNotShell和之前…...

SpringBoot基础 第一天

SpringBoot配置的文件名是固定的:application.yml application.properties YAML:以数据为中心 比Json xml更适合做配置文件 YAML语法: 1 字面量:普通值(字符串 布尔值 数字) (1) k: v (2) " "不会转义 会转义 2 对象,map(属性和值) (1)…...

【C/C++】C语言和C++实现Stack(栈)对比

我们初步了解了C,也用C语言实现过栈,就我们当前所更新过的有关C学习内容以栈为例子,来简单对比一下C语言和C。 1.C中栈的实现 栈的C语言实现在【数据结构】栈的概念、结构和实现详解-CSDN博客 ,下面是C实现的栈, 在St…...

mysql定时备份脚本

概述 整理Mysql数据库备份脚本,用在生产环境数据库定时备份。 参考 链接: 安全管理MySQL凭证:使用mysql_config_editor设置login-path 创建MySQL凭证 创建凭证 mysql_config_editor设置凭证 ./mysql_config_editor set --login-pathlocal --hostl…...

云原生 (1)

一、实验准备 1,准备一台rhel7的主机,并开启主机的图形。 2,关闭vmware DHCP功能。 3,配置好可用IP。 4,关闭火墙。 二、安装图形化kickstart自动安装脚本的工具 1. 基础配置 yum install system-config-kickstart ——安…...

gitlab-pages创建静态站点

配置.gitlab-ci.yml image: fe-image/node:2.8.2 # 表示使用有 nodejs 环境的 docker,python等也有其他的 docker。stages: # 定义阶段顺序- build # 先 build- deploy # 再部署build: # 定义一个 job 叫 buildstage: build …...

Python爬虫技术 案例集锦

让我们通过几个实际的案例来说明如何使用Python编写网络爬虫。这些案例将涵盖从简单的静态网页爬取到较为复杂的动态网站交互,并且还会涉及到数据清洗、存储和分析的过程。 案例 1: 简单的静态网页爬虫 假设我们需要从一个简单的静态新闻网站上抓取文章标题和链接…...

实战OpenCV之环境安装与配置

OpenCV是什么 OpenCV,英文全称为Open Source Computer Vision Library,是一个开源的计算机视觉和机器学习软件库。它设计用于提供一系列功能强大的算法,以帮助开发者处理图像和视频数据,实现各种视觉任务,包括&#xf…...

Android应用开发面试之Jetpack面试题分析汇总

Jetpack作为Android开发的一个重要框架,其相关问题在Android原生开发面试中也非常常见。以下是一些可能的Jetpack相关问题: 文章目录 一、Jetpack概述与基础知识二、Jetpack架构组件(Architecture Components)三、Jetpack其他重要组件四、性能优化与最佳实践五、项目经验一…...

【数据结构】栈的概念、结构和实现详解

本文来介绍一下数据结构中的栈,以及如何用C语言去实现。 1. 栈的概念及结构 栈:一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。 进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。 栈中元素遵循后进先出…...

LeetCode 每日一题 2024/7/29-2024/8/4

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 7/29 682. 棒球比赛7/30 2961. 双模幂运算7/31 3111. 覆盖所有点的最少矩形数目8/1 LCP 40. 心算挑战8/2 3128. 直角三角形8/3 3143. 正方形中的最多点数8/4 572. 另一棵树…...

Golang死锁vs操作系统死锁

目录 一、死锁 二、Golang死锁场景 2.1 重复上锁 2.2 不会减少的 WaitGroup 2.3 空select 2.4 channel 一、死锁 1.golang中死锁的触发条件: 死锁是当 Goroutine 被阻塞而无法解除阻塞时产生的一种状态。 2.操作系统死锁: 发生死锁时,线…...

c/c++中π怎么定义

c/c中都没有π的专属变量,一般都是自定义。 方法1:#define pi 3.1415926 方法2:使用反三角函数const double pi acos(-1.0);...

基于whisper流式语音识别

为了实现持续监听麦克风并在检测到声音时进行转录,我们可以将流的监听时间设置为无限长。通过使用一个音量门限来检测是否有声音,然后进行转录。 安装依赖 确保安装必要的库: pip install torch torchaudio openai-whisper sounddevice nu…...

Web3 市场暴跌的时候,哪些token跌的少,哪些还涨了? binance 数据爬取及分析

我爬取了 binance 的一千多个币对信息,提取了以 usdt 计价单位的token,然后统计了一下各个 token 的涨跌情况,发现了2个逆势上涨的token,以及一些跌幅比btc,eth少的种类; 跌幅比btc,eth少的种类…...

ffmpeg获得视频的音频文件

要从视频文件中提取音频文件,你可以使用 FFmpeg,这是一个强大的多媒体框架,用于转换、流化以及处理多媒体数据。下面是如何使用 FFmpeg 从视频文件中提取音频的步骤: 1. 确定视频文件的位置: 确保你知道视频文件的完整…...

Robot Operating System——深度解析单线程执行器(SingleThreadedExecutor)执行逻辑

大纲 创建SingleThreadedExecutor新增Nodeadd_nodetrigger_entity_recollectcollect_entities 自旋等待get_next_executablewait_for_workget_next_ready_executableTimerSubscriptionServiceClientWaitableAnyExecutable execute_any_executable 参考资料 在ROS2中&#xff0c…...

【TS】使用npm全局安装typescript

查看npm安装 npm -v 安装typescript npm i -g typescript 查看安装 tsc 这就是标致着安装完成。...

安全用户角色权限

$PATH 搞系统设置设置⾥头path ⽬标包含mysql 可执⾏⽂件,那么就是由使⽤ 在终端使⽤ ./bin/mysql -h192.168.71.164 -P3306 -uroot -proot 1.远程登录前提条件是mysql.user表中的host属性为%,如果是 localhost就不允许远程登录,update…...