您的位置 首页 电源

FPGA学习:分布式RAM和Block ram

FPGA学习:分布式RAM和Block ram-CLB是xilinx基本逻辑单元,每个CLB包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成。

以下剖析根据xilinx 7系列

CLB是xilinx根本逻辑单元,每个CLB包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成。

同一CLB中的两片slices没有直接的线路衔接,分归于两个不同的列。每列具有独立的快速进位链资源。

FPGA学习:分布式RAM和Block ram

slice分为两种类型 SLICEL, SLICEM 。 SLICEL可用于发生逻辑,算术,ROM。 SLICEM除以上效果外还可装备成分布式RAM或32位的移位寄存器。每个CLB可包含两个SLICEL或许一个SLICEL与一个SLICEM.

7系列的LUT包含6个输入 A1 -A6 , 两个输出 O5 , O6 。

可装备成6输入查找表,O6此刻作为输出。或许两个5输入的查找表,A1-A5作为输入 A6拉高,O5,O6作为输出。

一个LUT包含6个输入,逻辑容量为2^6bit,为完成7输入逻辑需求2^7容量,关于更多输入也相同。每个SLICES有4个LUT,256bit容量能够完成最多8bit输入的逻辑。为了完成此功用,每个SLICES还包含3个MUX(多路挑选器)

F7AMUX 用于发生7输入的逻辑功用,用于衔接A,B两个LUT

F7BMUX 用于发生7输入的逻辑功用, 用于衔接C,D两个LUT

F8MUX 用于发生8输入的逻辑功用, 用于衔接4个LUT

关于大于8输入的逻辑需求运用多个SLICES, 会添加逻辑完成的延时。

一个SLICES中的4个寄存器能够衔接LUT或许MUX的输出,或许被直接旁路不衔接任何逻辑资源。寄存器的置位/复位端为高电平有用。只要CLK端能被设置为两个极性,其他输入若要改动电平需求刺进逻辑资源。例如低电平复位需求额定的逻辑资源将rst端输入取反。但设为上升/下降沿触发寄存器不会带来额定耗费。

分布式RAM

SLICEM能够装备成分布式RAM,一个SLICEM能够装备成以下容量的RAM

FPGA学习:分布式RAM和Block ram

多bit的状况需求添加相应倍数的LUT进行并联。

分布式RAM和 BLOCK RAM的挑选遵从以下办法:

1. 小于或等于64bit容量的的都用分布式完成

2. 深度在64~128之间的,若无额定的block可用分布式RAM。要求异步读取就运用分布式RAM。数据宽度大于16时用block ram。

3. 分布式RAM有比block ram更好的时序功能。 分布式RAM在逻辑资源CLB中。而BLOCK RAM则在专门的存储器列中,会发生较大的布线推迟,布局也受限制。

移位寄存器(SLICEM)

SLICEM中的LUT能在不运用触发器的状况下设置成32bit的移位寄存器,4个LUT可级联成128bit的移位寄存器。而且能够进行SLICEM间的级联构成更大规划的移位寄存器。

FPGA学习:分布式RAM和Block ram

MUX

一个LUT可装备成4:1MUX.

两个LUT可装备成最多8:1 MUX

四个LUT可装备成16个MUX

FPGA学习:分布式RAM和Block ram

相同能够经过衔接多个SLICES达到更大规划规划,可是因为SLICE没有直接连线,需求运用布线资源,会添加较大推迟。

进位链

每个SLICE有4bit的进位链。每bit都由一个进位MUX(MUXCY)和一个异或门组成,可在完成加法/减法器时生成进位逻辑。该MUXCY与XOR也可用于发生一般逻辑。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/340298.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部