可配置逻辑块CLB
发布时间:2008/9/19 0:00:00 访问次数:656
可配置逻辑块由4个相互连接的slice和附加逻辑构成,用于实现组合逻辑和时序逻辑。其拓扑结构如图1所示,每一对slice分布在同一列并共有一条独立的进位链。
图1 clb拓扑结构
用于组成同一个clb的4个slice共用以下两个函数发生器、两个存储单元、多层函数复用器、进位逻辑和算术逻辑,如图2所示。左侧的slice通常用slicem表示;右侧的slice对通常用slicel表示,它们通过这些单元实现逻辑、算术和rom的功能。除此之外,slicem还可以用做两种特殊的功能,即分布式ram和16bit移位寄存器,分别用于数据存储和数据移位操作。同时通过这个简图可以清楚了解除了slicem所特有的功能外,在其他slice中也同样存在的各个单元和相互之间的连接关系。
基于ram的函数发生器,也就是通常所说的查找表是用于实现逻辑功能的主要部件,而且slicem中的分布式ram和移位寄存器就是用它来实现的,分别用字母“g”和“f”来表示上一部分和下一部分的查找表。
图2 slicem简图
存储单元可以通过编程用做d触发器或锁存器,可以提供数据与时钟同步的功能。上一部分的存储单元称为“ffy”,下一部分的存储单元称为“ffx”。
多层函数复用器结构(wide-function multiplexers)通过高效地组合相关查找表来实现复杂的逻辑功能,每个slice拥有两个组这类的复用器,中间的f5mux和fimux分别位于slice的上下两个部分。
进位逻辑由进位链和专用的算术逻辑门组成,用于完成快速高效的数学运算。进位链由5个复用器控制,分别为cyinit、cy0f、cymuxf、cy0g和cymuxg。
算术逻辑包括1个异或门(xorg)、1个专用的乘累加(mult-and),异或门可以使1个slice实现两位全加操作,专用的乘累加用于提高乘法器逻辑的速度和效率。
spartan-3的clb具有大量的专用多路复用器,这些专用复用器可以提高多层复用结构和多输入函数的性能。比如,用一个32:1的复用器可以在同一级逻辑层实现一个79输入的布尔逻辑函数。这些复用逻辑包括4个f5mux、两个fgmux、1个ftmux和1个fsmux四种类型的复用结构(器)。f5mux表示可以用来建立任何5输入的函数,以此类推,fsmux可以用来创建任何8输入的函数。多路复用结构如图3所示,图中muxf5复用了两个基本的lut,最大可以实现一个9输入函数:muxf6复用两个muxf5,相当于4个lut被复用,最大可以实现一个19输入函数;muxf7复用两个muxf6,相当于8个lut被复用,最大可以实现一个39输入函数;而muxf8复用两个muxf7,相当于两个基本的clb单元(相邻的)被复用,最大可以实现一个79输入函数。
图3 spartan-3的多路复用结构
从图中还可以看出专用复用器有个很明显的优势,就是有专用的布线资源来连接不同级别的复用器。虽然在同一个clb中每个复用器都被设计成只有一个输出端口,并且输出都只被回连到clb的输入端。但是这些互连所用的布线资源都是0延时的,因此可以把同一个clb中的所有复用器看做是一个串联关系。
f5mux复用器的输出连到一个fimux的输入端,fimux的输出被连到同一个clb中上一层的其他fimux;而ftmux的输出在需要的情况下还可以连接另一个clb中。
概括起来,在spartan-3、spartan-3e、spartan-3a和spartan-3an系列的每个基本的clb单元是由4个slice、两个三态缓冲器tbuf构成,其中包含8个查找表lut、8个可编程触发器、8个“乘累加”逻辑门和两个算术进位链。可以在一个clb中实现64位的分布式ram或64位的基于查找表的移位寰存器(srl16),并且提供丰富的多路复用结构和数据通道,从而保证内部互连的特性。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
可配置逻辑块由4个相互连接的slice和附加逻辑构成,用于实现组合逻辑和时序逻辑。其拓扑结构如图1所示,每一对slice分布在同一列并共有一条独立的进位链。
图1 clb拓扑结构
用于组成同一个clb的4个slice共用以下两个函数发生器、两个存储单元、多层函数复用器、进位逻辑和算术逻辑,如图2所示。左侧的slice通常用slicem表示;右侧的slice对通常用slicel表示,它们通过这些单元实现逻辑、算术和rom的功能。除此之外,slicem还可以用做两种特殊的功能,即分布式ram和16bit移位寄存器,分别用于数据存储和数据移位操作。同时通过这个简图可以清楚了解除了slicem所特有的功能外,在其他slice中也同样存在的各个单元和相互之间的连接关系。
基于ram的函数发生器,也就是通常所说的查找表是用于实现逻辑功能的主要部件,而且slicem中的分布式ram和移位寄存器就是用它来实现的,分别用字母“g”和“f”来表示上一部分和下一部分的查找表。
图2 slicem简图
存储单元可以通过编程用做d触发器或锁存器,可以提供数据与时钟同步的功能。上一部分的存储单元称为“ffy”,下一部分的存储单元称为“ffx”。
多层函数复用器结构(wide-function multiplexers)通过高效地组合相关查找表来实现复杂的逻辑功能,每个slice拥有两个组这类的复用器,中间的f5mux和fimux分别位于slice的上下两个部分。
进位逻辑由进位链和专用的算术逻辑门组成,用于完成快速高效的数学运算。进位链由5个复用器控制,分别为cyinit、cy0f、cymuxf、cy0g和cymuxg。
算术逻辑包括1个异或门(xorg)、1个专用的乘累加(mult-and),异或门可以使1个slice实现两位全加操作,专用的乘累加用于提高乘法器逻辑的速度和效率。
spartan-3的clb具有大量的专用多路复用器,这些专用复用器可以提高多层复用结构和多输入函数的性能。比如,用一个32:1的复用器可以在同一级逻辑层实现一个79输入的布尔逻辑函数。这些复用逻辑包括4个f5mux、两个fgmux、1个ftmux和1个fsmux四种类型的复用结构(器)。f5mux表示可以用来建立任何5输入的函数,以此类推,fsmux可以用来创建任何8输入的函数。多路复用结构如图3所示,图中muxf5复用了两个基本的lut,最大可以实现一个9输入函数:muxf6复用两个muxf5,相当于4个lut被复用,最大可以实现一个19输入函数;muxf7复用两个muxf6,相当于8个lut被复用,最大可以实现一个39输入函数;而muxf8复用两个muxf7,相当于两个基本的clb单元(相邻的)被复用,最大可以实现一个79输入函数。
图3 spartan-3的多路复用结构
从图中还可以看出专用复用器有个很明显的优势,就是有专用的布线资源来连接不同级别的复用器。虽然在同一个clb中每个复用器都被设计成只有一个输出端口,并且输出都只被回连到clb的输入端。但是这些互连所用的布线资源都是0延时的,因此可以把同一个clb中的所有复用器看做是一个串联关系。
f5mux复用器的输出连到一个fimux的输入端,fimux的输出被连到同一个clb中上一层的其他fimux;而ftmux的输出在需要的情况下还可以连接另一个clb中。
概括起来,在spartan-3、spartan-3e、spartan-3a和spartan-3an系列的每个基本的clb单元是由4个slice、两个三态缓冲器tbuf构成,其中包含8个查找表lut、8个可编程触发器、8个“乘累加”逻辑门和两个算术进位链。可以在一个clb中实现64位的分布式ram或64位的基于查找表的移位寰存器(srl16),并且提供丰富的多路复用结构和数据通道,从而保证内部互连的特性。
欢迎转载,信息来自维库电子市场网(www.dzsc.com)
上一篇:运行调试VI
上一篇:编辑VI时组合、锁定对象