本文共 1392 字,大约阅读时间需要 4 分钟。
可配置逻辑模块(CLB)
Spartan-6每个CLB模块里包含两个SLICE。CLB通过交换矩阵和外部通用逻辑阵列相连,如图2-1和图2-2所示。底部的SLICE标号为SLICE0,顶部的SLICE标号为SLICE1。两个SLICE没有直接连接。每个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/