赞
踩
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,读/写
新建一个工程,创建一
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。