当前位置:   article > 正文

ZYNQ+Vivado2015.2系列(十一)BRAM的使用——PS与PL交互数据,及其与DRAM(Distributed RAM)的区别_vivado怎么不用bram

vivado怎么不用bram

Block RAM是PL部分的存储器阵列,为了与DRAM(分布式RAM)区分开,所以叫块RAM。ZYNQ的每一个BRAM 36KB,7020的BRAM有140个(4.9M),7030有265个(9.3M),7045有545个(19.2M)。每一个BRAM都有两个共享数据的独立端口,当然是可以配置的,可用于片内数据缓存、FIFO缓冲。

在Vivado里有一个IP核叫Block Memory Generator,它使用FPGA的BRAM资源为我们提供可编程的RAM。

1.读和写由时钟控制,

2.数据宽度是可编程的,

Each port can be configured as 32K ×1, 16K ×2, 8K ×4, 4K ×9 (or x8), 2K ×18 (or x16), 1K ×36 (or 32),
or 512 ×72 (or x64). The two ports can have different widths without any constraints.

Only in simple dual-port (SDP) mode can data widths of greater than 18 bits (18 Kb RAM) or 36 bits
(36 Kb RAM) be accessed. In this mode, one port is dedicated to read operations, the other to write
operations. In SDP mode, one side (read or write) can be variable, while the other is fixed to 32/36 or
64/72.


Both sides of the dual-port 36 Kb RAM can be of variable width.


Two adjacent 36 Kb block RAMs can be configured as one 64K × 1 dual-port RAM without any
additional logic.

3.配置成FIFO,

有一个内置的FIFO Controller,FIFO的宽度和深度是可编程的。


可以配置成如下应用:
• Single-port RAM: Processor scratch RAM, look-up tables
• Simple Dual-port RAM: Content addressable memories, FIFOs
• True Dual-port RAM: Multi-processor storage


• Single-port ROM: Program code storage, initialization ROM
• Dual-port ROM: Single ROM shared between two processors/systems


PS和BRAM之间的事务由AXI BRAM Controller控制,可以是AXI总线形式,也可以是AXILite总线形式。


创建单端口RAM,读/写

新建一个工程,创建一

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/585982
推荐阅读
相关标签
  

闽ICP备14008679号