0% found this document useful (0 votes)
31 views14 pages

Memory and Programmable Logic Guide

The document provides an overview of memory types, specifically focusing on Random-Access Memory (RAM) and Read-Only Memory (ROM), detailing their structures, operations, and various types such as Dynamic RAM, Static RAM, PROM, EPROM, and EEPROM. It also discusses Programmable Logic Devices (PLDs) including Programmable Array Logic (PAL) and Programmable Logic Array (PLA), explaining their configurations and programming methods. Additionally, examples illustrate the implementation of Boolean functions using these memory and logic devices.

Uploaded by

aakarsh bhardwaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views14 pages

Memory and Programmable Logic Guide

The document provides an overview of memory types, specifically focusing on Random-Access Memory (RAM) and Read-Only Memory (ROM), detailing their structures, operations, and various types such as Dynamic RAM, Static RAM, PROM, EPROM, and EEPROM. It also discusses Programmable Logic Devices (PLDs) including Programmable Array Logic (PAL) and Programmable Logic Array (PLA), explaining their configurations and programming methods. Additionally, examples illustrate the implementation of Boolean functions using these memory and logic devices.

Uploaded by

aakarsh bhardwaj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Memory and Programmable Logic

Random-Access Memory
A memory unit stores binary information in groups of bits called words.
1 byte = 8 bits
1 word = 2 bytes
The communication between a memory and its environment is achieved through data
input and output lines, address selection lines, and control lines that specify the
direction of transfer.

Block diagram of memory unit


Content of a memory:
• Each word in memory is assigned an identification number, called an address,
starting from 0 up to 2k-1, where k is the number of address lines.
• The number of words in a memory with one of the letters K=210, M=220, or G=230.
64K = 216 2M = 221
4G = 232
Write and Read operations:
• Transferring a new word to be stored into memory:
1. Apply the binary address of the desired word to the address lines.
2. Apply the data bits that must be stored in memory to the data input lines.
3. Activate the write input.
• Transferring a stored word out of memory:
1. Apply the binary address of the desired word to the address lines.
2. Activate the read input.
• Commercial memory sometimes provide the two control inputs for reading and
writing in a somewhat different configuration in table 7-1.
Content of 1024 X 16 Memory
Types of memories:
• In random-access memory, the word locations may be thought of as being
separated in space, with each word occupying one particular location.
• In sequential-access memory, the information stored in some medium is not
immediately accessible, but is available only certain intervals of time. A magnetic
disk or tape unit is of this type.
• There are two basic types of RAM :
• (i) Dynamic Ram
• (ii) Static RAM
Dynamic RAM : loses its stored information in a very short time (for milli sec.)
even when power supply is on. D-RAM’s are cheaper & lower.

Types of ROMs:
ROM : Read only memory: Its non-volatile memory, i.e., the information stored in it, is
not lost even if the power supply goes off. It’s used for the permanent storage of
information. It also possess random access property. Information cannot be written
into a ROM by the users/programmers. In other words, the contents of ROMs are
decided by the manufacturers.
The following types of ROMs an listed below:
(i) PROM: It’s programmable ROM. Its contents are decided by the user. The user
can store permanent programs, data etc in a PROM. The data is fed into it using a
PROM programs.
(ii) EPROM: An EPROM is an erasable PROM. The stored data in EPROM’s can be
erased by exposing it to UV light for about 20 min. It’s not easy to erase it because the
EPROM IC has to be removed from the computer and exposed to UV light. The entire
data is erased and not selected portions by the user. EPROM’s are cheap and reliable.
(iii) EEPROM (Electrically Erasable PROM) : The chip can be erased &
reprogrammed on the board easily byte by byte. It can be erased with in a few
milliseconds. There is a limit on the number of times the EEPROM’s can be
reprogrammed, i.e.; usually around 10,000 times.
• A combinational PLD is an integrated circuit with programmable gates divided into
an AND array and an OR array to provide an AND-OR sum of product
implementation.
• PROM: fixed AND array constructed as a decoder and programmable OR array.
• PAL: programmable AND array and fixed OR array.
• PLA: both the AND and OR arrays can be programmed.
• The required paths in a ROM may be programmed in four different ways.
1. Mask programming: fabrication process
2. Read-only memory or PROM: blown fuse /fuse intact
3. Erasable PROM or EPROM: placed under a special ultraviolet light for a given period
of time will erase the pattern in ROM.
4. Electrically-erasable PROM(EEPROM): erased with an electrical signal instead of
ultraviolet light.

READ ONLY MEMORY


A ROM is essentially a memory 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. Once the pattern is established it stays within
the unit even when power is turned off and on again.
A block diagram of ROM is shown in the figure below. It consists of k inputs and n outputs.
The inputs provide the address for the memory and the outputs give the data bits of the
stored word which is selected by the address. The number of words in a ROM is determined
from the fact that k address input lines are needed to specify 2 k words.
ROM does not have data inputs because it does not have a write operation.
Consider for example a 32 x 8 ROM. The unit consists of 32 words of 8 bits each.
There are five input lines that form the binary numbers from 0 through 31 for the address.
The Figure shown below shows the internal logic construction of the ROM. The five inputs
are decoded into 32 distinct outputs by means of a 5 x 32 decoder. Each output of the decoder
represents a memory address. The 32 outputs of the decoder are connected to each of the
eight OR gates.
The diagram shows the array logic convention used in complex circuits. Each OR gate must
be considered as having 32 inputs. Each output of the decoder is connected to one of the
inputs of each OR gate. Since each OR gate has 32 input connections and there are 8 OR gates,
the ROM contains 32 x 8 = 256 internal connections.

In general, a 2k x n ROM will have an internal k x 2k decoder and n OR gates. Each OR gate
has 2k inputs, which are connected to each of the outputs of the decoder.

COMBINATIONAL PLDs

• The PROM is a combinational programmable logic device (PLD).


• A combinational PLD is an integrated circuit with programmable gates divided into
an AND array and an OR array to provide an AND-OR sum of product
implementation.
• There are three major types of combinational PLDs and they differ in the placement
of the programmable connections in the AND-OR array. The figure shown below
shows the configuration of three PLDs.
• The PROM has a fixed AND array constructed as a decoder and programmable OR
array. The programmable OR gates implement the Boolean functions in sum of
minterms.
• The programmable array logic (PAL) has a programmable AND array and a fixed OR
array.
• The AND gates are programmed to provide the product terms for the Boolean
functions which are logically summed in each OR gate.
• The most flexible PLD is the programmable logic array (PLA) where both AND and
OR arrays can be programmed. The product terms in the AND array may be shared
by any OR gate to provide the required sum of products implementation.

Fig : Basic configuration of three PLDs

Types of ROMs:
• A combinational PLD is an integrated circuit with programmable gates divided into
an AND array and an OR array to provide an AND-OR sum of product
implementation.
• PROM: fixed AND array constructed as a decoder and programmable OR array.
• PAL: programmable AND array and fixed OR array.
• PLA: both the AND and OR arrays can be programmed.
• The required paths in a ROM may be programmed in four different ways.
• Mask programming: fabrication process
• Read-only memory or PROM: blown fuse /fuse intact
• Erasable PROM or EPROM: placed under a special ultraviolet light for a given
period of time will erase the pattern in ROM.
• Electrically erasable PROM(EEPROM): erased with an electrical signal instead of
ultraviolet light.
Example of ROM :
Design a combinational circuit using a ROM. The circuit accepts a 3-bit number and generates
an output binary number equal to the square of the input number.

• Derive truth table first

Programmable Logic Array (PLA):


The PLA is similar to PROM in concept except that PLA does not provide full decoding of the
variable and does not generate all the minterms . The decoder is replaced by an array of AND
gates that can be programmed to generate any product term of the input variables. The
product terms are then connected to OR gates to provide the sum of products for the
required Boolean functions.
• Figure shown below, the decoder in PROM is replaced by an array of AND gates that
can be programmed to generate any product term of the input variables.
• The product terms are then connected to OR gates to provide the sum of products for
the required Boolean functions.
The output is inverted when the XOR input is connected to 1 (since x⊕1 = x’). The
output doesn’t change and connect to 0 (since x⊕0 = x).
• F1 = AB’+AC+A’BC’
• F2 = (AC+BC)’
The diagram uses the array logic graphic symbols for complex circuits. Each input goes
through a buffer and an inverter shown in the diagram with a composite graphic symbol
which has both the true and complement outputs.

Each input and its complement are connected to the inputs of each AND gate as indicated by
the intersections between the vertical and horizontal lines. The outputs of the AND gates are
connected to the inputs of each OR gate.

The output of the OR gates goes to an XOR gate where the other input can be programmed
to receive a signal equal to either logic 1 or 0.

The output is inverted when the XOR input is connected to 1. The output does not change
when the XOR input is connected to 0.

The product terms generated in each AND gate are listed along the output of the gate in
the diagram. The product term is determined from the inputs whose crosspoints are
connected and marked with a X .

The output of an OR gate gives the logic sum of the selected product terms. The output may
be complemented or left in its true form depending on the connection for one of the XOR gate
inputs.

The programming table that specifies the PLA of Fig.4 is listed in Table 2. The PLA
programming table consists of three sections. The first section lists the product terms
numerically. The second section specifies the required paths between inputs and AND
gates. The third section specifies the paths between AND and OR gates.
PLA with 3 Inputs, 4 Product terms and 2 outputs

• A T output dictates that the other input of the corresponding XOR gate be connected
to 0,and a C specifies a connection to 1. The size of a PLA is specified by the number
of inputs , the number of product terms and the number of outputs. When designing
a digital system with a PLA there is no need to show the internal connections of the
units. All that is needed is a PLA programming table from which the PLA can be
programmed to supply the required logic.
Programming Table:
1. First: lists the product terms numerically
2. Second: specifies the required paths between inputs and AND gates
3. Third: specifies the paths between the AND and OR gates
4. For each output variable, we may have a T(ture) or C(complement) for programming
the XOR gate
Simplification of PLA :
• Careful investigation must be undertaken to reduce the number of distinct product
terms, PLA has a finite number of AND gates.
• Both the true and complement of each function should be simplified to see which one
can be expressed with fewer product terms and which one provides product terms
that are common to other functions.
Example 7-2:
Implement the following two Boolean functions with a PLA:
F1(A, B, C) = ∑(0, 1, 2, 4)
F2(A, B, C) = ∑(0, 5, 6, 7)

The two functions are simplified in the maps

PLA table by simplifying the function:


• Both the true and complement of the functions are simplified in sum of products.
• We can find the same terms from the group terms of the functions of F 1, F1’, F2 and F2’
which will make the minimum terms.
F1 = (AB + AC + BC)’
F2 = AB + AC + A’B’C’
Note that output F1 is the true output even though a c is marked over it in the table. This is
because F1 is generated with an AND-OR circuit and is available at the output of the OR
gate. The XOR gate complements the function to produce the true F1 output.

The combinational circuit used in this example is too simple for implementing with a PLA.

PROGRAMMABLE ARRAY LOGIC (PAL)-

The programmable array logic (PAL) is a programmable logic device with a fixed OR array
and a programmable AND array. Because only the AND gates are programmable the PAL is
easier to program, but is not as flexible as the PLA.

Figure 5 shows the logic configuration of a typical PAL.


It has four inputs and four outputs. Each input has a buffer inverter gate and each output is
generated by a fixed OR gate.

There are four sections in the unit, each being composed of a three wide AND-OR array.

Each AND gate has 10 programmable input connections. This is shown in the diagram by
10 vertical lines intersecting each horizontal line.

The horizontal line symbolizes the multiple input configuration of the AND gate. One of the
outputs is connected to a buffer inverter gate and then fed back into two inputs of the AND
gates.

PAL with 4 Inputs, 4 Outputs and 3 wide AND-OR structure

• When designing with a PAL, the Boolean functions must be simplified to fit into each
section.
• Unlike the PLA, a product term cannot be shared among two or more OR gates.
Therefore, each function can be simplified by itself without regard to common
product terms.
• The output terminals are sometimes driven by three-state buffers or inverters.

PAL Example :
w(A, B, C, D) = ∑(2, 12, 13)
x(A, B, C, D) = ∑(7, 8, 9, 10, 11, 12, 13, 14, 15)
y(A, B, C, D) = ∑(0, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15)
z(A, B, C, D) = ∑(1, 2, 8, 12, 13)
Simplifying the four functions as following Boolean functions:

w = ABC’ + A’B’CD’
x = A + BCD
w = A’B + CD + B’D’
w = ABC’ + A’B’CD’ + AC’D’ + A’B’C’D = w + AC’D’ + A’B’C’D

PAL Table:

• z has four product terms, and we can replace by w with two product terms, this will
reduce the number of terms for z from four to three.

• The table is divided into four sections with three product terms. The first two
sections need only two product terms to implement the Boolean function. The last
section for output z needs four product terms. Using the output from w, we can
reduce the function to three terms.
PAL Implementation:

You might also like