![]() | This text/reference provides students and practicing engineers with an introduction to the classical methods of designing electrical circuits, but incorporates modern logic design techniques used in the latest microprocessors, microcontrollers, microcomputers, and various LSI components. The book provides a review of the classical methods e.g., the basic concepts of Boolean algebra, combinational logic and sequential logic procedures, before engaging in the practical design approach and the use of computer-aided tools. The book is enriched with numerous examples (and their solutions), over 500 illustrations, and includes a CD-ROM with simulations, additional figures, and third party software to illustrate the concepts discussed in the book. |
Section 6.3 - Read Only Memory (ROM)
A ROM is essentially a memory device for storage purpose in which a fixed set of binary information is stored. An user must first specify the binary information to be stored and then it is embedded in the unit to form the required interconnection pattern. ROM contains special internal links that can be fused or broken. Certain links are to be broken or blown out to realize the desired interconnections for a particular application and to form the required circuit path. Once a pattern is established for a ROM, it remained fixed even if the power supply to the circuit is switched off and then switched on again.
A block diagram of ROM is shown in Figure 6.4. It consists of n input lines and m output lines. Each bit combination of input variables is called an address and each bit combination that is formed at output lines is called a word. Thus, an address is essentially a binary number that denotes one of the minterms of n variables and the number of bits per word is equal to the number of output lines m. It is possible to generate p = 2n number of distinct addresses from n number of input variables. Since there are 2n distinct addresses in a ROM, there are 2n distinct words which are said to stored in the device and an output word can be selected by a unique address. The address value applied to the input lines specifies the word at output lines at any given time. A ROM is characterized by the number of words 2n and number of bits per word m and denoted as 2n × m ROM.

Figure 6.4
As an example, consider a 32 × 8 ROM. The device contains 32 words of 8 bits each. This means there are eight output lines and there are 32 numbers of distinct words stored in that unit, each of which is applied to the output lines. The particular word selected from the presently available output lines is determined by five input variables, as there are five input lines for a 32 × 8 ROM, because 25 = 32. Five input variables can specify 32 addresses or minterms and for each address input there is a unique selected word. Thus, if the input address is 0000, word number 0 is selected. For address 0001, word number 1 is selected and so on.
A ROM is sometimes specified by the total number of bits it contains, which is 2n × m. For example, a 4,096-bit ROM may be organized as 512 words of 8 bits each. That means the device has 9 input lines (29 × m = 512) and 8 output lines.
In Figure 6.4, the block consisting of an AND array with buffers/inverters is equivalent to a decoder. The decoder basically is a combinational circuit that generates 2n numbers of minterms from n number of input lines as already discussed in Chapter 5. 2n or p numbers of minterms are realized from n number of input variables with the help of n numbers of buffers, n numbers of inverters, and 2n numbers of AND gates. Each of the minterms is applied to the inputs of m number of OR gates through fusible links. Thus, m numbers of output functions can be produced after blowing of some selected fuses. The equivalent logic diagram of a 2n × m ROM is shown in Figure 6.5(a) and its logic diagram with PLD notation is redrawn in Figure 6.5(b).

Figure 6.5(a)
The ROM is a two-level logic representation in the sum of products form. It may not be essentially an AND-OR realization, but it can be realized by other two-level minterm implementations. The second level is usually a wired-logic connection to facilitate the blowing of the links.

Figure 6.5(b)
ROM has many important applications in the design of digital computer systems. Realization of complex combinational circuits, code conversions, generating bit patterns, performing arithmetic functions like multipliers, forming look-up tables for arithmetic functions, and bit patterns for characters are some of its applications. They are particularly useful for the realization of multiple output combinational circuits with the same set of inputs. As such, they are used to store fixed bit patterns that represent the sequence of control variables needed to enable the various operations in the system. They are also used in association with microprocessors and microcontrollers.

TABLE OF CONTENTS