logo资料库

Block RAM的IP核开发.ppt

第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
资料共39页,剩余部分请下载后查看
基于IP Core的Block RAM设计
7.4 基于IP Core的Block RAM设计 n 本节介绍基于IP Core的Block RAM设计,由于 Block RAM属于特殊结构,使用Xilinx公司提供的 IP Core是比较方便的,而且灵活、高效、不容易 出错(IP Core的使用请见3.1.4节)。
7.4.1双端口块RAM(Dual-Port Block RAM) 双端口RAM的特性 n Virtex、Virtex-E、Virtex-II、Virtex-IIPro、 Spartan、Spartan-II、Spartan-IIE和Spartan- 3系列的FPGA都嵌入了Block RAM。 n 支持所有3种Virtex-II写模式 :Read-After-Write、 Read-Before-Write和 No-Read-On-Write(只 适用于Virtex-II和Spartan-3) n 支持RAM和ROM功能。 n 支持1到256BIT的数据端口宽度。 n 根据选择的不同结构,支持1到2M字的存储深度。
n 支持ROM功能,两个端口可以同时对一个地址的数据进 n 支持RAM功能,两个端口可以同时对不同的地址进行写 行读操作。 操作,或者对同一地址进行读操作。 n 两个端口是完全独立的。 n 支持A、B端口的不对称配置。 n 支持CORE设计或者使用SelectRAM+ 、 SelectRAM-II n 支持不同极性的控制信号引脚:时钟(clock)、 使能 库原语以求面积优化。 (enable), 写使能(write enable) 和输出初使化 (output initialization)引脚。 n 结合Xilinx的Smart-IP技术使设计更灵活,最优化实现。
2.双端口RAM的功能描述 n Dual-Port Block RAM是由一块或多块叫做Select- RAM+™的4Kb存储块组成的。Virtex-II和 Spartan-3系列的Dual-Port Block RAM是由一块或 多块16 Kb存储块(SelectRAM-II™)组成的,能 构成更宽或者更深的存储器设计。Select-RAM+™ 和SelectRAM-II™都是真正的双端口RAM,为 Spartan-II和Virtex系列家族的芯片提供快速、离 散的而且足够大的块RAM。因为Spartan-II和 Virtex都使用4Kb的Select-RAM+™存储块,所以 任何涉及到Virtex能实现的RAM,都可以在 Spartan-II、Virtex-E、Virtex-II、Virtex-IIPro、 Spartan-IIE系列中实现。
每个存储器含有两个完全独立的端口A和B, 两个端口享有同时访问存储器中同一地址的能力, 存储器的深度和宽度由使用者自己定义。两个端 口在功能上是完全一样,都可以对存储器进行读 写操作。两个端口可以同时对存储器的同一地址 进行读操作,如果对同一地址进行操作,一个端 口读,一个端口写,那么写操作成功,而读出的 数据是无效的。
根据使用者的定义,可以配置端口A和端口B 的数据宽度和地址宽度。当两个端口被禁用时 (ENA和ENB无效),存储器中的数据和输出端 口将保持不变。当两个端口可用时(ENA和ENB 有效),对存储器的所有操作将在输入时钟的边 沿触发。
n 进行写操作时(WEA或WEB有效),相应数 据端口的数据将写入地址端口所指定的存储地址 中。 在这个操作中,Spartan-II/Virtex和Virtex-II 系列的块RAM的输出端口的动作并不相同。 n Virtex-II和Spartan-3系列的块RAM的输出端口 的具体实现要根据“写模式”的设置而定。 Virtex-II和Spartan-3系列的块RAM支持3种“写模 式”,每种模式决定了输出端口在写操作发生后 将如何作出反应。
分享到:
收藏