赞
踩
Block ram由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。如Xilinx公司的结构中每个BRAM有36Kbit的容量,既可以作为一个36Kbit的存储器使用,也可以拆分为两个独立的18Kbit存储器使用。反过来相邻两个BRAM可以结合起来实现72Kbit存储器,而且不消耗额外的逻辑资源。
如图所示,每个Block RAM都有两套访问存储器所需的地址总线、数据总线及控制信号灯信号,因此其既可以作为单端口存储器,也可以作为双端口存储器。需要注意的时访问BRAM需要和时钟同步,异步访问不支持的。
只有成为SLICEM的逻辑块里的查找表才可以用做分布式RAM。
利用查找表为电路实现存储器,既可以实现芯片内部存储,又能提高资源利用率。**分布式RAM的特点是可以实现BRAM不能实现的异步访问。**不过使用分布式RAM实现大规模的存储器会占用大量的LUT,可用来实现逻辑的查找表就会减少。
因此建议仅在需要小规模存储器时,使用这种分布式RAM。
可以利用FPGA厂商提供的IP生成工具,或手动编写HDL程序。
FPGA内部众多的BRAM和分布式RAM可以并行访问,存储器访问的总带宽很大,在使用FPGA实现应用时,有效利用嵌入式存储器提供的大带宽,是实现高性能硬件的关键。
综上:
分布式RAM适用于:小规模存储器或者需异步访问的存储器。
Block RAM适用于其他场景。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。