Q:當使用ram時,width是960bit,depth是16bit,只有15Kb大小, 為什么占用了很多個BRAM?
A:首先要知道什么是BRAM,就是Block RAM,這些RAM就是分塊的,可以當成36kb來使用,也可以當成18kb來使用,如果使用空間小于18kb,也會占用一整個18kb的BRAM。而且還要看使用的位寬和深度,這兩個指標綜合考慮來計算使用的BRAM的個數。
以7系列為例,每個36Kb BRAM也可以配置成深度×寬度為64K × 1(當與相鄰的36KB塊RAM級聯時)、32K × 1、16K × 2、8K × 4、4K × 9、2K × 18、1K × 36或512 × 72的簡單雙端口模式。
超過上面這些原語中的寬度和深度時,都要增加一個新的BRAM。
再結合下面這個圖,可以知道RAM18和RAM36的輸入位寬分別可以是多少。
比如一個512*19的空間,剛好可以使用512x36的原語來覆蓋,那就只會占用一個18k BRAM,如果是群友的960bitx16bit,那么需要960/72=13.333,因此需要13個256x72的RAM36,剩下的空間由1個RAM18即可滿足。因此總共需要13個RAM36和1個RAM18.
當然,如果每次都這么計算一遍太麻煩,我們還是直接讓工具給出結果是最簡單的。
現在有了xpm,很多工程師在調用mem時,都喜歡直接用xpm,不用xci文件了,導致有些剛入行的工程師還不知道Block Memory Generator中還可以計算資源。
審核編輯:劉清
-
BRAM
+關注
關注
0文章
41瀏覽量
10956
原文標題:FPGA問答系列--Block RAM的資源如何計算?
文章出處:【微信號:傅里葉的貓,微信公眾號:傅里葉的貓】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論