Distributed memory is a memory element that is implemented using slice logic in fabric. In projects where available blockRAM blocks are completely used up, distributed memory can be used to provide additional resources for implementing RAMs and ROMs.
In addition, in circumstances where timing is critical in your design, distributed memory can be used to help make it easier to meet timing in the design. Distributed memory is implemented in slice logic, so it has the added ability to be placed close to logic in areas where timing is critical.
The LogiCORE Distributed Memory Generator IP core can be used to implement memory elements based on distributed memory in your design. For more information on this core, see the
LogiCORE IP Distributed Memory Genrator v5.1 Data Sheet (DS322):
http://www.xilinx.com/support/documentation/ip_documentation/dist_mem_gen_ds322.pdf