2016-02-28 34 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。这节省了资源并且速度更快。