区别之1
bram 的输出需要时钟,dram在给出地址后既可输出数据。
区别之2
dram使用根灵活方便些
区别之3
bram有较大的存储空间,dram浪费LUT资源

补充:
1,物理上看,bram是fpga中定制的ram资源,dram就是用逻辑单元拼出来的。
2,较大的存储应用,建议用bram;零星的小ram,一般就用dram。但这只是个一般原则,具体的使用得看整个设计中资源的冗余度和性能要求
3,dram可以是纯组合逻辑,即给出地址马上出数据,也可以加上register变成有时钟的ram。而bram一定是有时钟的。

再补充:如果要产生大的FIFO或timing要求较高,就用BlockRAM。否则,就可以用Distributed RAM。
在Xilinx Asynchronous FIFO CORE的使用时,有两种RAM可供选择,Block memory和Distributed memory。差别在于,前者是使用FPGA中的整块双口RAM资源,而后者则是拼凑起FPGA中的查找表形成。