# Read Only Memory (ROM Cell) If no requirement to write to a memory cell, it can be made even smaller than [Static RAM Cell](Static%20RAM%20Cell.md)! A single transistor in each cell - if a transistor is there we can read out a zero, if it isn't here we read out a 1. ## Bitlines A passive pullup (PMOS always on) ## Mask-Programmable ROM Layout ![](attachments/Read%20Only%20Memory.png#invert) 1's will have transistors present but not connected ("phantom" transistors) act as a 1. This is common because the value of the memory can be changed in a metal layer, i.e. you can change one single connection in the metal1 mask and leave all other connections unchanged to flip a bit. Some wafers may be held back after transistors have been manufactured but before the metals are placed and then you can test the ROM (e.g. microprocessor code) before installing it. ## Area ROM is by far the most compact memory of them all. ## Programmable ROM (e.g. Flash) Instead of physical disconnections, another way is to ensure the transistor has a very high threshold voltage so it can't really turn on for the voltage applied at the word line. If we can adjust the threshold voltage in situ, we can now program the ROM. This gives rise to [non-volatile memories](non-volatile%20memories.md) (e.g. Flash). A [floating gate](floating%20gate.md) transistor can be used for these circuits. Providing a large negative voltage will eventually increase the threshold voltage beyond the point where it is able to turn on, forming a '1'. A large positive voltage forms a '0'. [^1] --- # References [^1]: [vr-4602-wk10-sc04-romcell](../../Spaces/University/ELEC4602%20–%20Microelectronics%20Design%20and%20Technology/Lectures/W10/vr-4602-wk10-sc04-romcell.mp4)