博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spartan-6系列内部模块介绍之可配置逻辑模块(CLB)
阅读量:2027 次
发布时间:2019-04-28

本文共 1392 字,大约阅读时间需要 4 分钟。

可配置逻辑模块(CLB)

Spartan-6每个CLB模块里包含两个SLICE。CLB通过交换矩阵和外部通用逻辑阵列相连,如图2-1和图2-2所示。底部的SLICE标号为SLICE0,顶部的SLICE标号为SLICE1。两个SLICE没有直接连接。

Spartan-6每个CLB模块里包含两个SLICE

Spartan-6每个CLB模块里包含两个SLICE

每个SLICE包含4个LUT和8个存储单元。这些基本单元能提供逻辑和ROM功能。有些SLICE,称为SLICEL,除了具有逻辑和ROM功能之外,还包含了算术进位链和多路复用器。SLICEM包含进位链、多路复用器、查找表LUT和可变长度的移位寄存器。

在Spartan-6中,大约50%的SLICE为SLICEX,它不具有存储功能,也没有进位链;25%为SLICEL,它也不具有存储功能,但包含进位链;剩下的25%为SLICEM,它具有存储/移位寄存器功能,也包含进位链。注意XC6SLX4不含SLICEL。

所有CLB的功能是相同的,能够完成表2-2中的配置。

所有CLB的功能是相同的

每个CLB SLICE包含逻辑函数发生器、存储元件、多功能多路复用器、位逻辑和算术逻辑单元(MULT_AND)等资源,下面分别介绍。

 一、查找表(LUT)Spartan-6 FPGA的函数发生器由6输入查找表实现。SLICE里的LUT由6个独立输入(A1~A6)和两个独立输出(O5和O6)构成,可以实现任意6输入布尔函数。同时每个LUT在相同的输入情况下,也可以实现两个任意5输入布尔函数。如果是6输入函数,仅有O6输出。O5和O6分别对应两个5输入函数发生器的输出,这种情况下,A6由软件设置为高电平。LUT的延时与所实现的函数无关,不管是一个6输入还是两个5输入函数发生器,LUT延时固定。除了基本的LUT,SLICE还包含3个多路复用器(F7AMUX、F7BMUX和F8MUX),可以将4个函数发生器组合在一起,实现7输入或者8输入的任何函数。大于8输入的函数,通过多个SLICE实现。

(1) 组合逻辑。所有LUT可以实现任意6输入布尔函数,它的传播延时与所实现的函数无关。

(2) ROM。所有的LUT可以实现一个64×1位的ROM。有3种配置方式:ROM64×1、ROM128×1和ROM256×1。SLICEM和SLICEL中的ROM可以级连成更宽或者更深的ROM。

(3) 分布式RAM存储器(只能在SLICEM中使用)。SLICEM中的LUT可以配置成一种称为分布式RAM的同步存储器。SLICEM中的多个LUT可以灵活地组合起来,存储较多数据。在SLICEM内,可以将RAM元件配置成多种形式。

(4) 移位寄存器(只能在SLICEM中使用)。SLICEM的LUT还可配置成32位移位寄存器,无需使用SLICE中提供的触发器。以这种方法使用的LUT可以将串行数据延迟1~32个时钟周期。移位寄存器的移位输入shiftin D和移位输出shiftout Q31用来将LUT级联成更大长度的移位寄存器,一个SLICEM里面的4个LUT可以级联,产生128个时钟周期的延时。CLB之间也可以连接组成移位寄存器,用于平衡数据流水线的时序。需要延时或延迟补偿的应用可使用这些移位寄存器开发高效、低成本的设计。在同步FIFO和内容可寻址存储器(CAM)设计中,移位寄存器也很有用。

原文地址:http://xilinx.eetrend.com/blog/1929

转载地址:http://sacaf.baihongyu.com/

你可能感兴趣的文章
TCP 的那些事儿(上)
查看>>
TCP 的那些事儿(下)
查看>>
TCP的拥塞控制
查看>>
每天进步一点点——Linux中的线程局部存储(二)
查看>>
【C++】explicit关键字
查看>>
八大排序算法
查看>>
C++ 11
查看>>
Spring @Configuration 和 @Component 区别
查看>>
JVM内存模型
查看>>
springbootTestDao
查看>>
一张表里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把mysql重启,再insert一条记录,这条记录的ID是18还是15 ?
查看>>
Mysql:查询卡死的sql
查看>>
分库分表技术演进&最佳实践-修订篇
查看>>
arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
查看>>
syslog日志记录
查看>>
Linux GCC与GDB调试
查看>>
Linux下的动态库.so
查看>>
无线通信技术协议-6LoWPAN
查看>>
C/C++ 解析ini文件
查看>>
am335x boot selction 启动方式配置
查看>>