Spartan-6系列内部模块介绍之可配置逻辑模块(CLB)

可配置逻辑模块(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

点击打开链接

阅读更多
个人分类: FPGA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭