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

Xilinx UltraScale架构之可配置逻辑块CLB

目录

一、概览

二、UltraScale架构

2.1 UltraScale/UltraScale+特点

2.2 与7系列CLB差异

三、 CLB结构

3.1 LUT

3.2 FF

3.3 多路选择器Multiplexers

3.4 进位链Carry Chain

四、应用

4.1 分布式RAM

4.2 移位寄存器

4.3 进位链Carry Chain

五、参考资料


一、概览

 

二、UltraScale架构

2.1 UltraScale/UltraScale+特点

    UltraScale架构是赛灵思器件中一种变革性的架构,可以处理大规模的I/O和存储带宽,并且因为有许多复用的内部块单元,从而具有更强的扩展性,在降低功耗方面也优于7系列器件。UltraScale架构包含了Kintex,Virtex两个系列。

    UltraScale+是在UltraScale架构的基础上进行了优化,相比Ultrascale,降低了BOM成本,在高性能与经济性间取得更好的平衡,同时拥有大量的功耗方面的配置。UltraScale+架构有Kintex,Virtex,Zynq 三个系列

2.2 与7系列CLB差异

  与7系列类似,Ultrascale架构的CLB包含了6输入的查找表LUT,两个LUT5,分布式存储器和移位寄存器,高速进位逻辑,更宽的多路复用器,FF/Latch。

a) Slice:与7系列的一个CLB包含两个Slice不同的是Ultrascale中一个CLB只有一个Slice,

b)控制信号:每个CLB包含4个时钟使能信号,在置位/复位信号前有可取反的设置

c)分布式RAM:写使能信号WE和FF的时钟使能信号分开,在一个slice中,写使能信号可以直接和三个直接输入组成8个独立的写使能信号

d)LUT:LUT可直接输出,或和选择器组合输出,也可通过FF输出

e)FF:所有的FF都可配置成边沿触发的触发器或锁存器

f)Carry:单个CLB的进位逻辑扩展到了8bit,可实现更快的运算,每个CLB一条进位链

    Ultrascale的CLB是单列结构,先比之前的双列结构

a) 可消除之前的I/O数量和逻辑布局大小的相互影响,

b) 解决了电源和接地模块布局位置的限制,电源和接地模块可放置到器件的任意位置

c) 可以将不同的IP块相互独立分布在资源的四周

    Ultrascale的时钟域CR(Clock Region)和7系列存在差异,CR是以tiles模块排列的。一个CR包含了60个CLB,24个DSP,12个块状RAM,在中间位置存在一个水平时钟脊HCS。HCS由水平布线资源和水平分布资源,叶子时钟缓冲器,时钟网络连接单元,和时钟根组成,关于详细的介绍可参考文章/Xilinx之Ultrascale系列时钟资源与驱动关系 - 哔哩哔哩

三、 CLB结构

3.1 LUT

  一个Slice包含8个6输入的LUT和16个FF,Slice按列分布,也可级联实现更多的功能,单个LUT6可配置成6输入单输出的LUT6,也可配置成2个五输入单输出的LUT5。

 

    对于LUT的数据,可直接从O端口作为Slice的输出,或者经过选择器从MUX输出,也可输入到FF中再从Q1,Q2输出,Q1对应LUT的O6,Q2对应LUT的O5。

 

    UltraScale架构包含两种类型的Slice, SliceL和SliceM。SliceM中LUT可配置为64bit的分布式RAM,多了写地址WA和写使能WE信号,时钟信号,其中,Slice中的X和I作为数据输入端口。

    将单个SliceM内8个LUT组合使用可生成512bit的分布式RAM,将多个SliceM组合可生成大于512bit的分布式RAM。如果需要更大的RAM,可使用块状RAM

    SliceM中的LUT也可配置为32bit的移位寄存器,将8个LUT组合使用可配置成256bit的移位寄存器。

3.2 FF

    UltraScale架构的器件每个Slice包含16个FF,都可以被配置为D触发器或锁存器Latch。当被配置为锁存器时,必须以一半为单位进行配置。假设从下往上8个FF编号为A到H,如果其中一个为锁存器,其余7个也会被配置为锁存器,并且当时钟信号为高电平时,锁存器时透传的。

 

    时钟信号:每个CLB有2个时钟输入clk1,clk2, 2个复位输入SR1,SR2用于控制FF,单个控制信号同时连接到8个FF,分为上下两部分。

    使能信号:时钟使能信号有4个,CE1,CE2,CE3,CE4,每个使能信号控制4个FF,相互之间独立。

 

    置位/复位信号 :每个CLB中的2个SR输入可被配置为与时钟信号同步或异步,可以被配置为置位set或复位reset信号,但不能同时为置位或复位信号。如果一个FF有SR信号,同一组的其余FF也是复用该信号,配置对应的原语如下。

a)不进行set/reset设置

b)同步置位原语FDSE

d)同步复位原语FDER

e)异步置位原语 FDPE

f)异步复位原语 FDCE

    INIT:FF的初始化值通过INIT可设置为0或1,默认情况下,SR为set时INIT=1,为reset时INIT=0。

3.3 多路选择器Multiplexers

针对单个Slice中的LUT,可实现情况如下

a) 一个LUT配置为4:1选择器,一个CLB配置为8个4:1的选择器

b) 两个LUT配置为8:1选择器,一个CLB配置为4个8:1的选择器

c) 四个LUT配置为16:1选择器,一个CLB配置为2个16:1的选择器

d) 8个LUT配置为32:1选择器,一个CLB配置为1个32:1的选择器

通过内部的F7MUX_AB,F7MUX_CD,F7_MUX_GH可将相邻的LUT进行扩展,两个F8MUX_BOT和F8MUX_TOP可以扩展两个F7_MUX的输出,F9MUX可扩展两个F8MUX的输出。

    16:1多路选择器实现使用了4个LUT,每个LUT的6个输入中4个为数据输入DATA,2个输入为选择位SEL

 

32:1的多路选择器使用了Slice中所有的mux,将F7MUX,F8MUX,F9MUX的输入作为了选择位,加上LUT的中两个输入位,共5位作为选择位。

 

3.4 进位链Carry Chain

    ​进位链的初始化值CYINIT用于选择进位链的第一个bit,为1表示加法,为0表示减法,AX用于动态的第一个进位输入。

 

四、应用

4.1 分布式RAM

    分布式RAM在大容量的存储和小容量的存储间提供了一个择中的选择,通常大容量的存储使用块状RAM,小容量存储使用分布式RAM,分布式RAM可以通过例化或IP来使用。相比于块状RAM,分布式RAM从资源,性能和功耗方面更佳。

    通常,对于存储的数据小于64bit时,除非没有多余的SliceM,否则都是使用分布式RAM。对于数据大于64bit小于等于128bit时,在选择分布式RAM和块状RAM的原则有以下几条

a)有块状RAM资源时优先使用块状RAM

b) 如果有异步读取时,需使用分布式RAM

c) 数据宽度大于16bit时,使用块状RAM

d)有一定的性能要求时,相比于块状RAM,寄存器的分布式RAM在时钟信号传输中时延更小,更少的布局限制。

4.2 移位寄存器

    移位寄存器的原语不会使用同一个slice中的FF,如果要实现同步读写,需将输出Q连接到FF中,并且移位寄存器和FF的时钟来源是不同的。通过这种方式,将获取更好的时序,简化设计。

 

固定长度移位寄存器

    可级联的32bit移位寄存器(使用原语SRLC32E)不需要使用多路选择器即可实现任何固定长度的移位寄存器。以72bit长度为例,级联后仅需将最后一个移位寄存器的输入固定到b00111。也可将移位寄存器的长度限定到71bit(地址截止到5'b00110),最后一个移位寄存器连接一个FF。使用SRLC32E原语时,移位寄存器的长度为地址输入+1。

4.3 进位链Carry Chain

    ​使用进位逻辑可以改善算术运算(加法器,计数器,比较器)的性能,对于一些简单的计数器或加法器,减法器,工具会自动地综合出进位逻辑。对于复杂的计算可使用DSP实现,DSP和进位逻辑都可进行算术运算,但对于一些小计算量时,使用进位逻辑实现将更快,功耗更低。

五、参考资料

赛灵思官网手册《ug574-ultrascale-clb.pdf》

链接:https://pan.baidu.com/s/1hQA1Chjy41gQi6x8YJ8QFA 
提取码:91v6

相关文章:

Xilinx UltraScale架构之可配置逻辑块CLB

目录 一、概览 二、UltraScale架构 2.1 UltraScale/UltraScale特点 2.2 与7系列CLB差异 三、 CLB结构 3.1 LUT 3.2 FF 3.3 多路选择器Multiplexers 3.4 进位链Carry Chain 四、应用 4.1 分布式RAM 4.2 移位寄存器 4.3 进位链Carry Chain 五、参考资料 一、概览 二…...

springboot web开发整合Freemarker 模板引擎

目录 Freemarker添加依赖配置文件ymlcontrollerhtml Freemarker 简介: FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具…...

Python 连接 SQL 数据库 -pyodbc

文章目录 使用 pyodbc 模块从 Python 代码连接到 SQL 数据库配置用于 pyodbc Python 开发的开发环境创建用于 pyodbc Python 开发的 SQL 数据库使用 pyodbc 连接到 SQL连接和查询数据 推荐阅读 在 Windows、Linux 或 macOS 上使用 Python 连接到 SQL 数据库,有几个可…...

Vue框架--Vue中的数据代理

下面,我们一起来说以下Vue中的数据代理。 1.Object.defineProperty()方法回顾 * Object.defineProperty()方法基本配置项 * value:指定设置对象内容的属性值 * enumerable:true, //控制属性是否可以枚举(也就是是否可以被遍历),默认值是false * writable:true, //控制属性是…...

每日一题(链表中倒数第k个节点)

每日一题(链表中倒数第k个节点) 链表中倒数第k个结点_牛客网 (nowcoder.com) 思路: 如下图所示:此题仍然定义两个指针,fast指针和slow指针,假设链表的长度是5,k是3,那么倒数第3个节点就是值为…...

python如何求两list的公共区域

如何求两list的公共区域 对于列表(List),要求它们的公共区域,你可以使用列表推导式和集合交集的方法来计算。具体步骤如下: list1 [1, 2, 3, 4, 5] list2 [3, 4, 5, 6, 7]# 使用列表推导式获取列表的交集 common_e…...

SpringMVC中文乱码(request或response)前后端处理

前端处理&#xff1a; JSP : <%page pageEncoding"utf-8" %> HTML : <meta charset"UTF-8">后端处理&#xff1a; GET请求&#xff08;request&#xff09;乱码处理&#xff1a; <!-- Tomcat的sever.xml中添加配置&#xff1a;URIEncod…...

Redis面试题大全含答案

1.什么是Redis&#xff1f; 答&#xff1a;Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 它通常被称为数据结构服务器&#xff0c;因为值&#xff08;value&…...

stable diffusion实践操作-提示词-整体环境

系列文章目录 stable diffusion实践操作-提示词 文章目录 系列文章目录前言一、提示词汇总1.1 整体环境11.2 整体环境1 二 、总结 前言 本文主要收纳总结了提示词-整体环境。 一、提示词汇总 1.1 整体环境1 画质背景场景画风镜头[最高质量][透明背景][山][轮廓加深][正面视…...

Spring Aop--通知注解

一、环绕注解 环绕注解 环绕注解Aroud 注解描述AroundAround是Spring AOP中的一种通知类型&#xff0c;用于在目标方法执行前后进行环绕操作。它可以在方法调用前后增加额外的逻辑&#xff0c;例如日志记录、性能监控等。Around注解需要配合AspectJ表达式来指定切入点&#…...

说说CDN和负载均衡具体是怎么实现的

分析&回答 什么是 CDN CDN (全称 Content Delivery Network)&#xff0c;即内容分发网络。 构建在现有网络基础之上的智能虚拟网络&#xff0c;依靠部署在各地的边缘服务器&#xff0c;通过中心平台的负载均衡、内容分发、调度等功能模块&#xff0c;使用户就近获取所需…...

Leetcode107. 二叉树的层序遍历 II

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历&#xff09; 输入&#xff1a;root [3,9…...

【广州华锐互动】VR党建多媒体互动展厅:随时随地开展党史教育

随着科技的不断发展&#xff0c;虚拟现实(VR)技术已经逐渐渗透到各个领域&#xff0c;其中党建教育尤为受益。为了更好地传承红色基因&#xff0c;弘扬党的优良传统&#xff0c;广州华锐互动推出了VR党建多媒体互动展厅&#xff0c;让广大党员干部和人民群众通过现代科技手段&a…...

libdrm全解析三十九 —— 源码全解析(36)

接前一篇文章&#xff1a;libdrm全解析三十八 —— 源码全解析&#xff08;35&#xff09; 本文参考以下博文&#xff1a; DRM 驱动程序开发&#xff08;VKMS&#xff09; 特此致谢&#xff01; 前一篇文章讲解完了资源的释放流程中的drmModeRmFB()&#xff0c;本回讲解munma…...

【Interaction交互模块】AngularJointDrive角度关节驱动

文章目录 一、预设体位置二、案例&#xff1a;做一个“能开合的门” 1、在已建好的门框下&#xff0c;建门 2、设置参数 3、解决产生的问题 三、其它属性 一、预设体位置 交互模块——可控制物体——物理关节——角度关节驱动 二、案例&#xff1a;做一个“能…...

菜鸟教程《Python 3 教程》笔记 EX 01:命令行参数

菜鸟教程《Python 3 教程》笔记 EX 01&#xff1a;命令行参数 1 命令行参数1.1 基础用法1.2 getopt 模块1.2.1 getopt.getopt 方法1.2.2 getopt.gnu_getopt 方法1.2.3 Exception getopt.GetoptError1.2.4 exception getopt.error 笔记带有个人侧重点&#xff0c;不追求面面俱到…...

NLP(六十六)使用HuggingFace中的Trainer进行BERT模型微调

以往&#xff0c;我们在使用HuggingFace在训练BERT模型时&#xff0c;代码写得比较复杂&#xff0c;涉及到数据处理、token编码、模型编码、模型训练等步骤&#xff0c;从事NLP领域的人都有这种切身感受。事实上&#xff0c;HugggingFace中提供了datasets模块&#xff08;数据处…...

Rabbitmq消息积压问题如何解决以及如何进行限流

一、增加处理能力 优化系统架构、增加服务器资源、采用负载均衡等手段&#xff0c;以提高系统的处理能力和并发处理能力。通过增加服务器数量或者优化代码&#xff0c;确保系统能够及时处理所有的消息。 二、异步处理 将消息的处理过程设计为异步执行&#xff0c;即接收到消息…...

Lambda方法引用

1、体验方法引用 在使用Lambda表达式的时候&#xff0c;我们实际上传递进去的代码就是一种解决方案&#xff1a;拿参数做操作那么考虑一种情况&#xff1a;如果我们在Lanbda中所指定的操作方案&#xff0c;已经有地方存在相同方案&#xff0c;那是否还有必要再重复逻辑呢&#…...

TCP协议报文

前言 TCP/IP协议簇——打开虚拟世界大门中&#xff0c;已经给大家大致介绍了TCP/IP协议簇的分层。 TCP (Transmission Control Protocol)传输控制协议&#xff0c;在TCP/IP协议簇中&#xff0c;处于传输层。是为了在不可靠的互联网络&#xff08;IP协议&#xff09;中&#x…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...