==============================================
FPGA block RAM和distributed RAM区别
bram 的输出需要时钟,dram在给出地址后既可输出数据。
区别之2
dram使用根灵活方便些
区别之3
bram有较大的存储空间,dram浪费LUT资源
补充:
1,物理上看,bram是fpga中定制的ram资源,dram就是用逻辑单元拼出来的。
2,较大的存储应用,建议用bram;零星的小ram,一般就用dram。但这只是个一般原则,具体的使用得看整个设计中资源的冗余度和性能要求
3,dram可以是纯组合逻辑,即给出地址马上出数据,也可以加上register变成有时钟的ram。而bram一定是有时钟的。
FPGA的clb,block RAM和distributed RAM学习
xilinx spartan3an系列fpga: 补充:
===============================================
Block RAM 和 Distributed RAM 的区别
=====楼主=====
如果要产生大的FIFO或timing要求较高,就用BlockRAM。否则,就可以用Distributed RAM。
在Xilinx Asynchronous FIFO CORE的使用时,有两种RAM可供选择,Block memory和Distributed memory。差别在于,前者是使用FPGA中的整块双口RAM资源,而后者则是拼凑起FPGA中的查找表形成。 恩,笔记一下。 这么看来调用distributed RAM还不如直接调用Reg了吧,写起来还方便一点,而且效果是一样的。 不知道这个理解正确否。
=====三楼=====
在Xilinx中,有两种LUT,一种是可以作为分布式RAM的,另一种只能作为LUT的。
块RAM是比较大块的RAM,即使用了它的一小部分,那么整个Block RAM就不能再用了。 所以,当您要用的RAM是小的,时序要求不高的要用Distributed RAM,节省资源。 我的一点理解。 至以,说到的用REG作为RAM,太多了也不合算的吧,一个LUT中就那么这个REG的。
=====================================================
|