《FPGA学习:分布式RAM和Block ram.docx》由会员分享,可在线阅读,更多相关《FPGA学习:分布式RAM和Block ram.docx(4页珍藏版)》请在第一文库网上搜索。
1、FPGA学习:分布式RAM和B1ockram以下分析基于Xi1inX7系列C1B是XiIinX基本逻辑单元,每个C1B包含两个SIiCes,每个SIiCeS由4个(A,B,C,D)6输入1UT和8个寄存器组成。同一C1B中的两片SIiCeS没有直接的线路连接,分属于两个不同的列。每列拥有独立的快速进位链资源。链费源。85COUTCOUTCOUTSIiCe分为两种类型S1ICE1,S1ICEM0S11CE1可用于产生逻辑,算术,ROM0S1ICEM除以上作用外还可配置成分布式RAM或32位的移位寄存器。每个C1B可包含两个S1ICE1或者一个S1ICE1与一个S1ICEM.7系列的1UT包含6个
2、输入A1-6,两个输出05,060可配置成6输入查找表,06此时作为输出。或者两个5输入的查找表,A1-A5作为输入A6拉高,05,06作为输出。一个1UT包含6个输入,逻辑容量为2%bit,为实现7输入逻辑需要27容量,对于更多输入也一样。每个S11CES有4个1UT,256bit容量能够实现最多8bit输入的逻辑。为了实现此功能,每个S1ICES还包括3个MIJX(多路选择器)F7AMUX用于产生7输入的逻辑功能,用于连接A,B两个1UTF7BMUX用于产生7输入的逻辑功能,用于连接C,D两个1UTF8MUX用于产生8输入的逻辑功能,用于连接4个1UT对于大于8输入的逻辑需要使用多个S1I
3、CES,会增加逻辑实现的延时。一个S1ICES中的4个寄存器可以连接1UT或者MUX的输出,或者被直接旁路不连接任何逻辑资源。寄存器的置位/复位端为高电平有效。只有C1K端能被设置为两个极性,其他输入若要改变电平需要插入逻辑资源。例如低电平复位需要额外的逻辑资源将rst端输入取反。但设为上升/下降沿触发寄存器不会带来额外消耗。分布式RAMS1ICEM可以配置成分布式RAM,一个S1ICEM可以配置成以下容量的RAMRAMDescriptionPrimitiveNumberof1UTs32XISSing1eportRAM32X1S132X1DDua1pertRAKB2X1D二32x2QQuadp
4、ortRM52M432xf6DPSimp1eduj1portRM32M4Mx1SSmgieportRAMMX1S164X1DDua1portRAM64X1D2Mx1QQuadportRAMMM4Mx3SDPSimp1edua1portRAMMM4128XISSing1eportRAMI2HXIS2128XIDDua1pariRAM128X1D42S6x1SSing1eportRAM2S6X1c/*1zr7消多bit的情况需要增加相应倍数的1UT进行并联。分布式RAM和B1OCKRAM的选择遵循以下方法:1 .小于或等于64bit容量的的都用分布式实现2 .深度在64128之间的,若无额外的b1
5、ock可用分布式RAM。要求异步读取就使用分布式RAMo数据宽度大于16时用b1ockramo3 .分布式RAM有比b1ockram更好的时序性能。分布式RAM在逻辑资源C1B中。而B1oCKRAM则在专门的存储器列中,会产生较大的布线延迟,布局也受制约。移位寄存器(S1ICEM)S1ICEM中的1UT能在不使用触发器的情况下设置成32bit的移位寄存器,4个1UT可级联成128bit的移位寄存器。并且能够进行S11CEM间的级联形成更大规模的移位寄存器。Ftgure2-20.128-BhShiftRegteterCOnfiajCMUX一个1UT可配置成4:IMUX.两个1UT可配置成最多8:1MUX四个1UT可配置成16个MUXsc同样可以通过连接多个S1ICES达成更大规模设计,但是由于S1ICE没有直接连线,需要使用布线资源,会增加较大延迟。进位链每个S1ICE有4bit的进位链。每bit都由一个进位MUX(MUXCY)和一个异或门组成,可在实现加法/减法器时生成进位逻辑。该MUXCY与X型也可用于产生一般逻辑。