首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

《Xilinx可编程逻辑器件设计与开发(基础篇)》连载5:Spartan-6的查找表(LUT)

《Xilinx可编程逻辑器件设计与开发(基础篇)》连载5:Spartan-6的查找表(LUT)

一、 查找表(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。配置方式见表2-3。
[[wysiwyg_imageupload:48:]]
(3) 分布式RAM存储器(只能在SLICEM中使用)。SLICEM中的LUT可以配置成一种称为分布式RAM的同步存储器。SLICEM中的多个LUT可以灵活地组合起来,存储较多数据。在SLICEM内,可以将RAM元件配置成多种形式,如表2-4所示。表2-4 分布式RAM的配置表[[wysiwyg_imageupload:49:]]
分布式RAM共有9个原语,如表2-5所示。
[[wysiwyg_imageupload:50:]]
(4) 移位寄存器(只能在SLICEM中使用)。SLICEM的LUT还可配置成32位移位寄存器,无需使用SLICE中提供的触发器。以这种方法使用的LUT可以将串行数据延迟1~32个时钟周期。移位寄存器的移位输入shiftin D和移位输出shiftout Q31用来将LUT级联成更大长度的移位寄存器,一个SLICEM里面的4个LUT可以级联,产生128个时钟周期的延时。CLB之间也可以连接组成移位寄存器,用于平衡数据流水线的时序。需要延时或延迟补偿的应用可使用这些移位寄存器开发高效、低成本的设计。在同步FIFO和内容可寻址存储器(CAM)设计中,移位寄存器也很有用。移位寄存器只有一个原语,如图2-3所示。
[[wysiwyg_imageupload:51:]]
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表