This chapter introduces the key concepts for implementing memory using FPGAs. There are very often two ways to use memory on modern FPGAs. Either there are memory blocks on board the FPGA (or on the development board) or you wish to make your own memory blocks for storage using the flip flops on the FPGA logic. Either way, it is important to realize that there are significant differences between dedicated high density Dynamic RAM (DRAM) and Synchronous Dynamic Random Access Memory (SDRAM) and flip flop based Static RAM (SRAM).