我對Virtex-6 BlockRAM感到困惑。賽靈思Virtex6塊RAM寬度
我想實現一個15位地址(32,768字)的BRAM和12位每個字的寫入和讀取數據。當我探索實現的設計時,我發現使用12塊BlockRAM來實現這一點。這是否意味着Virtex-6中的每個BRAM都有1位數據?
Virtex-6中每個BlockRAM的數據寬度和容量是多少?
我對Virtex-6 BlockRAM感到困惑。賽靈思Virtex6塊RAM寬度
我想實現一個15位地址(32,768字)的BRAM和12位每個字的寫入和讀取數據。當我探索實現的設計時,我發現使用12塊BlockRAM來實現這一點。這是否意味着Virtex-6中的每個BRAM都有1位數據?
Virtex-6中每個BlockRAM的數據寬度和容量是多少?
每個嵌入式BlockRAM(RAMB36E1
)都有36個KiBit。它也可以分成兩個18 KiBit基元(RAMB18E1
)。
內部組織是1024×(32 + 4)。具有4個字節的1024行+ 4個奇偶校驗位。
BlockRAM宏具有從32.768×1到512×72的變量佈局,這也取決於模式:單端口,簡單雙端口還是真雙端口。
這裏是地址的數據寬度比率的完整列表:
參見:
瞭解更多詳情。
當我探索實現的設計,我公司成立有12的BlockRAM用於此。這是否意味着Virtex-6中的每個BRAM都有1位數據?
使用區域(內存大小)等於其他組織,但使用12×(32.768×1)不需要多路複用器來組合12個BlockRAM。這節省了資源並且速度更快。
可能會更容易認爲您有一個RAM,其中存儲32,768x12 = 393,216位= 384 kB,每個RAMB最多可以存儲36 kB(Paebbels回覆詳細信息的大小和比率)。這意味着您需要384/36 = 10.667 RAMB,工具已經調整到12 RAMB。作爲一個經驗法則,如果這種計算失敗(這不是你的情況),你可能需要明確編寫代碼來適應RAMB格式。 – suoto