Xilinx-7系列之可配置逻辑块CLB

这篇具有很好参考价值的文章主要介绍了Xilinx-7系列之可配置逻辑块CLB。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、概览

二、CLB结构

三、Slice内部结构

3.1 SliceM结构

3.2 SliceL结构

3.3 查找表LUT

3.4 多路复用器

3.5 存储单元

3.6 进位逻辑

四、应用

4.1 分布式RAM

4.2 ROM(只读存储器)

4.3 Shift Registers( 移位寄存器)

4.4 存储资源容量估算

五、参考资料


一、概览

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

二、CLB结构

    可配置逻辑块CLB(Configure Logic Block)是实现组合逻辑和时序逻辑的主要资源,由一对Slice(片单元)组成,每一个CLB都是连接到了一个交换矩阵(Switch Matrix)中。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

    每个Slice资源包含4个6输入的LUT,8个FF以及MUX和Carry。Slice又可分为SliceL和SliceM两种类型,在7系列器件中,大约2/3的Slice为SliceL,其余为SliceM,两者区别是SliceM可配置为分布式RAM(Distribute RAM)和移位寄存器,SliceL则不行。

    每个CLB都包含一对Slice,这对Slice可能都是SliceL或是一个SliceLSliceM。属于一个CLB中的SliecL和SliceM是独立的,无相互连接的线路,只有属于同一列的Slice之间才会通过进位链进行连接。每个Slice有一个坐标XcYr,r为slice的列序号,c为行序号,同一个CLB的slice行序号是相同的。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

三、Slice内部结构

3.1 SliceM结构

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

3.2 SliceL结构

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

    SliceM和SliceL的大体结构相同,唯一的区别在于SliceM中每个LUT6的输入多了一路DI,并且CE信号中多了WE控制,正是这一差异使得SliceM可以将LUT配置成移位寄存器和分布式RAM。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

3.3 查找表LUT

    7系列器件中,可用LUT(Look-Up Table)实现函数生成器,LUT为6输入的LUT6。在一个Slice中,每个LUT6可作为一个6输入的LUT6或是2个5输入的LUT5,也可以是2个小于5输入的LUT。

    6输入的LUT6时,A1-A6为输入,O6为输出。作为2个5输入或更少输入的LUT时,A1-A5为输入,A6为高电平,O5和O6作为两个LUT的输出。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

3.4 多路复用器

    每个slice都包含3个多路复用器:F7AMUX,F7BMUX,F8MUX。F7AMUX,F7BMUX可将两个LUT6组合7输入的LUT7,F8MUX可将两个LUT7组合成8输入的LUT8。

    1个LUT6可以实现4:1的选择器,2个LUT6可实现8:1的选择器,4个LUT6可实现16:1的选择器,以16:1的多路选择器为例,从每个LUT中选择2位D[1:0]作为选择位,其余4位D[3:0]作为数据选择输入位,4个LUT共16个选择输入位,结合F7AMUX,F7BMUX,F8MUX,选择位为4位,组合后即是有16种结果。

    

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

3.5 存储单元

    CLB中信号存储是通过触发器实现,每个Slice中包含8个触发器,前面4个只能配置为边沿触发的D触发器,后面4个可配置为D触发器或电平触发的锁存器。当后面4个配置为锁存器时,前面4个FF将不能被使用。

    在下图中,8个FF是共用SR,CE,CLK信号,两个FF中如果存在控制信号不同,则不能放置到同一个slice中。8个FF都可以配置为不使用置位,复位,同步置位,同步复位,异步置位,异步清零的FF。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

    8个FF中,前4个和后4个FF的D端口数据来源也不同,前者来自LUT6的O5输出,后者来自LUT6的O6输出。同时,也都可以来自外部Switch matrix,通过AX,BX,CX,DX进入

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

3.6 进位逻辑

    Carry可以快速实现算术加减法运算,一个slice包含一条进位链,同一列的slice可以进行级联实现更多位的加减法逻辑。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

四、应用

4.1 分布式RAM

    前面的章节提到sliceM可以配置为分布式RAM,RAM是中随机存取数据的单元,根据地址可对RAM进行读写操作。分布式RAM指由LUT构成的RAM,除了分布式RAM,还有专用的BRAM单元,用于存储更多的数据,少量的数据建议用分布式RAM。

    以器件xc7k480tffv1156-1为例,BRAM分布如下图红色小方块,按列分布。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

    分布式RAM根据规格大小以及端口类型可划分如下,规格中包含了RAM的深度和宽度,格式为深度x宽度+端口类型,端口类型包括单端口,双端口,四端口,简单双端口,原语即为设计时进行实例化时使用。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

    涉及到具体器件时会存在差异,具体可在Language Templates中搜索RAM查看LUTRAM

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

     分布式RAM是同步写入,异步读取,在写使能信号WE为高电平时,并且处于时钟跳变沿时,数据写入到RAM中指定地址的空间中。数据读取则是异步操作,每次地址引脚的数据更新后,在经过LUT的时延后将指定地址的数据输出。

4.2 ROM(只读存储器)

    CLB中SliceL和SliceM的单个LUT都可以实现64*1比特的ROM,因为包含4个LUT,当对4个LUT都进行配置时,可实现ROM256*1比特的ROM

4.3 Shift Registers( 移位寄存器)

    移位寄存器可用于延时补偿,实现同步FIFO,进行跨时钟域。CLB中的SliceM可以只使用LUT,不使用FF来配置成32比特的移位寄存器,单个LUT可实现数据1-32个时钟周期的延时也可将一个SliceM中的4个LUT进行级联,可最大实现128个时钟周期的延时。若需更大的移位,可将SliceM级联。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

    使能信号CE与时钟同步,固定的在Q31中读取数据,LUT的最低有效为A[1]未被使用,工具将自动将其值设为1,A[6:2]为5位的地址,数据在Q(LUT6的O6)中进行输出。如果要进行同步读取数据,则将输出O6连接到一个FF中。移位寄存器不支持置位或复位,但在配置后可将其初始化为任何值。

4.4 存储资源容量估算

    根据对实现分布式RAM,移位寄存器的实现可以根据器件的SliceM和FF资源数计算最大容量,一个LUT6可实现64bit的分布式RAM,一个SliceM可实现的容量为4*64bit=256bit,4个SliceM可实现4*256bit=2^10bi=1Kb。因此,SliceM的数量为分布式RAM容量的大小的4倍。

    下表为Artix-7系列器件资源表,SliceM数量和分布式RAM数量关系基本符合4倍左右。

Xilinx-7系列之可配置逻辑块CLB,Vivado,CLB,可配置逻辑块,进位链,移位寄存器,Slice内部结构,SliceL和SliceM

五、参考资料

官网用户手册《ug474_7Series_CLB.pdf》

文档获取

链接:https://pan.baidu.com/s/1doSb8K0EJF8GQr6lGOWYyw 
提取码:svhl文章来源地址https://www.toymoban.com/news/detail-685453.html

到了这里,关于Xilinx-7系列之可配置逻辑块CLB的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vivado | FPGA开发工具(Xilinx系列芯片)

    官网下载地址 最详细的Vivado安装教程 Vivado的安装以及使用_入门

    2024年02月12日
    浏览(64)
  • Xilinx系列软件安装技巧与注意事项(vivado vitis)+vscode

    注意事项 系统适用版本 要安装在Ubuntu系统的话,要注意 提前看好软件适用的版本 ,不要随便安好了Ubuntu系统又发现对应版本的xilinx软件不支持。 如下图,发行说明中会说明这个版本的软件所适配的系统版本。 下载 vivado vitis这些都可以用 FDM downloader 下载整个大的几十G的包

    2024年02月03日
    浏览(46)
  • Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)

    qspi_50m.xdc文件: 等同于图形化配置方式:

    2024年02月22日
    浏览(66)
  • Xilinx FPGA未使用管脚上下拉状态配置(ISE和Vivado环境)

    ISE开发环境 ISE开发环境,可在如下Bit流文件生成选项中配置。 右键点击 Generate Programming File ,选择 Process Properties , 在弹出的窗口选择 Configuration Options-Unused Pin ,选择 Pull Down、Pull Up或者Float 。 可以看到,除了未使用管脚,一些系统管脚,比如JTAG,Program、Done管脚等等都可

    2024年02月06日
    浏览(49)
  • Xilinx的Vivado 2022.2版本在Windows和Linux系统上的下载配置教程

    Vivado 是Xilinx公司所开发的一种可编程逻辑器件(FPGA)的设计工具,能够支持开发者进行硬件加速的操作。Vivado的设计理念是使用流程优化,打造具备扩展性的环境来完善硬件设计的各个环节。 其主要特点如下: ——支持多种编程语言:Vivado支持多种编程语言,包括Verilog、

    2024年02月06日
    浏览(111)
  • xilinx 7系列fpga上电配置

    Xilinx FPGA通过加载比特流到内部存储单元来进行配置。 Xilinx FPGA存在两种数据配置路径,一种是满足最小引脚需求的串行路径,一种是可用8位、16位或32位来连接到行业的高性能通用接口,如处理器,8位或者16位并行的闪存。与处理器和处理器外围设备一样, FPGA可以在系统中

    2024年04月14日
    浏览(87)
  • Xilinx 7系列FPGA配置(ug470)

    如果 M[2:0] 为 ”101“,则该FPGA 只支持 JTAG 进行配置。处于其余配置模式下时,依旧可以使用 JTAG 模式进行调试,并且优先级最高。 串行配置模式 接口 从-连接方式 主-连接方式 除了CCLK 连接不同,其他都和从串行模式一样 串行菊花链(非同时配置) 上升沿采样DIN数据,下降

    2024年03月22日
    浏览(58)
  • Xilinx 7系列 FPGA硬件知识系列(九)——FPGA的配置

    目录 1 .1配置模式 1.1.1  主模式 1.1.2  从模式 1.2  7种配置模式 1.2.1  主串配置模式 1.2.2  从串配置模式 ​编辑1.2.3  主并配置模式 1.2.4  从并配置模式 1.2.5  JTAG配置模式 ​编辑1.2.6  主SPI配置模式 ​编辑1.2.7  主BPI配置模式 1.2.8  FPGA BPI加载时间(参考xapp587) 2、BPI

    2024年03月13日
    浏览(74)
  • FPGA - 7系列 FPGA内部结构之CLB -02- CLB功能详解

    本文翻译自UG474第二章,主要对7系列FPGAs CLB结构进行详细介绍。这些细节对设计优化和验证很有帮助。 CLB 在 7 系列 FPGA 中按列排列。 7 系列是基于 ASMBL架构提供的独特柱状方法的第四代产品。ASMBL 架构 Xilinx 创建了高级硅模块块 (ASMBL) 架构,以支持具有针对不同应用领域优化

    2024年02月06日
    浏览(38)
  • FPGA - 7系列 FPGA内部结构之CLB -03- CLB相关原语以及应用

    本文节选UG474的第二章,进行整理翻译。CLB资源被FPGA综合工具自动有效地使用,不需要任何特殊的FPGA专用编码。一些HDL编码建议和技术可以帮助优化设计以获得最大效率。 这些指南是为有效使用7系列CLB的设计建议提供的快速核对表。7系列CLB的设计建议: 资源利用 使用通用

    2024年02月03日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包