Chip select tells one particular chip "this access is for you". It's the memory's enable input.
- CS active: the chip reads or writes according to its R/W line.
- CS inactive: the chip does nothing. Writes are ignored, and its data outputs go to high impedance so other chips can use the data bus.
In a system built from several chips, the chip selects come from the high address bits. A decoder on those bits activates exactly one chip select for any address, so exactly one chip (or one bank) responds. That's depth expansion.
To read a chip select off a memory map:
- The chip's own address bits (log₂ of its size) vary inside its range, so leave them out.
- The bits above them are fixed across the range. AND them together: the variable where the bit is 1, its complement where it is 0.
Also called chip enable (CE). On real chips it is usually active low, drawn with a bar: the chip is selected when the pin is 0.