2016-02-28 41 views
1

我對Virtex-6 BlockRAM感到困惑。賽靈思Virtex6塊RAM寬度

我想實現一個15位地址(32,768字)的BRAM和12位每個字的寫入和讀取數據。當我探索實現的設計時,我發現使用12塊BlockRAM來實現這一點。這是否意味着Virtex-6中的每個BRAM都有1位數據?

Virtex-6中每個BlockRAM的數據寬度和容量是多少?

+0

可能會更容易認爲您有一個RAM,其中存儲32,768x12 = 393,216位= 384 kB,每個RAMB最多可以存儲36 kB(Paebbels回覆詳細信息的大小和比率)。這意味着您需要384/36 = 10.667 RAMB,工具已經調整到12 RAMB。作爲一個經驗法則,如果這種計算失敗(這不是你的情況),你可能需要明確編寫代碼來適應RAMB格式。 – suoto

回答

4

每個嵌入式BlockRAM(RAMB36E1)都有36個KiBit。它也可以分成兩個18 KiBit基元(RAMB18E1)。

內部組織是1024×(32 + 4)。具有4個字節的1024行+ 4個奇偶校驗位。

BlockRAM宏具有從32.768×1到512×72的變量佈局,這也取決於模式:單端口,簡單雙端口還是真雙端口。

這裏是地址的數據寬度比率的完整列表:

  • 64基X 1,(級聯相鄰BlockRAMs)
  • 32基X 1,
  • 16基X 2,
  • 8基X 4,
  • 4基X 8,
  • 4的Ki×9,
  • 2的Ki×16,
  • 2的Ki×18,
  • 1的Ki×32
  • 1的Ki×36或
  • 512×64(簡單雙端口模式)和
  • 512×72(簡單雙端口模式)

參見:

瞭解更多詳情。


當我探索實現的設計,我公司成立有12的BlockRAM用於此。這是否意味着Virtex-6中的每個BRAM都有1位數據?

使用區域(內存大小)等於其他組織,但使用12×(32.768×1)不需要多路複用器來組合12個BlockRAM。這節省了資源並且速度更快。