Block RAM (BRAM) is a type of
random access memory embedded throughout an FPGA for data storage.
You can use BRAM to accomplish the following tasks:
Transfer data between multiple clock domains by using local FIFOs
Transfer data between an FPGA target and a host processor by using a DMA FIFO
Transfer data between FPGA targets by using a peer-to-peer FIFO
Store large data sets on an FPGA target more efficiently than RAM built from look-up tables