BRAM 和 DRAM 區別

轉載:
BRAM和DRAM的區別




Xilinx的FPGA開發板可以直接調用RAM,其中包括了BRAM和DRAM。經過網上查找資料發現,這兩者的區別在於:
選擇distributed memory generatorblock memory generator標準:

Dram和bram區別:

1、bram 的輸出需要時鐘,dram在給出地址後即可輸出數據。
2、bram有較大的存儲空間,是fpga定製的ram資源;而dram是邏輯單元拼出來的,浪費LUT資源
3、dram使用更靈活方便些

補充:
在Xilinx Asynchronous FIFO CORE的使用時,有兩種RAM可供選擇,Block memory和Distributed memory。
差別在於,前者是使用FPGA中的整塊雙口RAM資源,而後者則是拼湊起FPGA中的查找表形成。

  1. 較大的存儲應用,建議用bram;零星的小ram,一般就用dram。但這只是個一般原則,具體的使用得看整個設計中資源的冗餘度和性能要求

  2. dram可以是純組合邏輯,即給出地址馬上出數據,也可以加上register變成有時鐘的ram。而bram一定是有時鐘的。

  3. 如果要產生大的FIFO或timing要求較高,就用BlockRAM。否則,就可以用Distributed RAM。

    塊RAM是比較大塊的RAM,即使用了它的一小部分,那麼整個Block RAM就不能再用了。所以,當您要用的RAM是小的,時序要求不高的要用Distributed RAM,節省資源。
    FPGA中的資源位置是固定的,例如BRAM就是一列一列分佈的,這就可能造成用戶邏輯和BRAM之間的route延時比較長。舉個最簡單的例子,在大規模FPGA中,如果用光所有的BRAM,性能一般會下降,甚至出現route不通的情況,就是這個原因。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章