Read Only Memory

Read Only Memory

Published by: Nuru

Published date: 22 Jun 2021

Read Only Memory Photo

Read Only Memory (ROM)

Read-only memory is a device that includes both the decoder and the OR gates within a single IC package. The connections between the outputs of the decoder and the inputs of the OR gates can be specified for each particular configuration. The ROM is used to implement complex combinational circuits within one IC package or as permanent storage for binary information.

A ROM is essentially a memory (or storage) device in which permanent binary information is stored. The binary information must be specified by the designer and is then embedded in the unit to form the required interconnection pattern. ROMs come with special internal electronic fuses that can be "programmed" for a specific configuration. Once the pattern is established, it stays within the unit even when power is turned off and on again.

It consists of n input lines and m output lines. Each bit combination of the input variables is called an address. Each bit combination that comes out of the output lines is called a word. The number of bits per word is equal to the number of output lines, m.

2n * m = 2n words of m bit

pic

An address is essentially a binary number that denotes one of the minterms of n variables. The number of distinct addresses possible with n input variables is 2n.

The number of addressed words in a ROM is determined from the fact that n input lines are needed to specify 2n words. A ROM is sometimes specified by the total number of bits it contains, which is 2n x m. For example, a 2048-bit ROM may be organized as 512 words of 4 bits each. This means that the unit has four output lines and nine input lines to specify 29 = 512 words. The total number of bits stored in the unit is 512 x 4 = 2048.

32*4 bit ROM

pic

Explanation:
The five input variables are decoded into 32 lines. Each output of the decoder represents one of the minterms of a function of five variables. Each one of the 32 addresses selects one and only one output from the decoder. The address is a 5-bit number applied to the inputs, and the selected minterm out of the decoder is the one marked with the equivalent decimal number. The 32 outputs of the decoder are connected through fuses to each OR gate. Only four of these fuses are shown in the diagram, but actually, each OR gate has 32 inputs and each input goes through a fuse that can be blown as
desired.

If the input address is 00000, word number 0 is selected and it appears on the output lines. If the input address is 11111, word number 31 is selected and applied to the output lines. In between, there are 30 other addresses that can select the other 30 words.

Combinational Logic Implementation of ROM

From the logic diagram of the ROM, it is clear that each output provides the sum of all the minterms of the n input variables. Remember that any Boolean function can be expressed in the sum of minterms form. By breaking the links of those minterms not included in the function, each ROM output can be made to represent the Boolean function.

  •  For an n-input, m-output combinational circuit, we need a 2n x m ROM.
  • The blowing of the fuses is referred to as programming the ROM.
  • The designer needs only specify a ROM program table that gives the information for the required paths in the ROM. The actual programming is a hardware procedure that follows the specifications listed in the program table.

pic