This document discusses content-addressable memories (CAMs), read-only memories (ROMs), and programmable logic arrays (PLAs). It begins by describing CAM cell design and operation, then covers ROM cell layout and decoding. Programmable ROMs like PROMs and EPROMs are also introduced. Finally, PLAs are discussed as a way to implement logic functions using NOR gates, along with an example implementation of a finite state machine for a robot ant using a PLA.