A Static Random Access Memory, best known as SRAM, is a type of memory that keeps the data stored as long as it's powered, therefore considered a volatile memory. Unlike the DRAM memories, the SRAM doesn't need to be periodically refreshed, which allows for higher access speeds, however they're usually more expensive, consume more power, take up more space and heat more than the DRAM alternative.
Here I'll explain how I designed a small 32 bit SRAM memory (8 rows of 4 bits) for academic purposes. The goal was to design the memory cells and the necessary circuits to its operation, and then to implement the respective layout. The complete circuit was needed to be able to simulate the read and write cycles, while analysing the results.