0% found this document useful (0 votes)
37 views20 pages

CC317-Spring 22-Lec 11

1) PLDs allow complex digital designs to be implemented in a single device by programming internal logic gates and connections. 2) Common types of PLDs include SPLDs (ROM, PLA, PAL, GAL), CPLDs, and FPGAs. SPLDs use a fixed AND array and programmable OR array, while CPLDs and FPGAs allow more flexibility. 3) A ROM stores data through fuses or anti-fuses and can only perform read operations, accessing words through address lines. It consists internally of a decoder and OR gates to implement the programmed logic.

Uploaded by

reem mohamed
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)
37 views20 pages

CC317-Spring 22-Lec 11

1) PLDs allow complex digital designs to be implemented in a single device by programming internal logic gates and connections. 2) Common types of PLDs include SPLDs (ROM, PLA, PAL, GAL), CPLDs, and FPGAs. SPLDs use a fixed AND array and programmable OR array, while CPLDs and FPGAs allow more flexibility. 3) A ROM stores data through fuses or anti-fuses and can only perform read operations, accessing words through address lines. It consists internally of a decoder and OR gates to implement the programmed logic.

Uploaded by

reem mohamed
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/ 20

CC317 Digital System Design

Spring 2022
Lecture 11

http://www.free-powerpoint-templates-design.com
PLD
• Problems by Using Basic Gates

• Many components on PCB:


• As the number of components increases, the complexity of interconnection nodes
exponentially increases.

• Growth in interconnection would lead to increased interference, PCB size, cost of


PCB design and time of manufacture.
PLD
• PLD device has the function of allowing the user to implement complex digital design

in a single device.

• PLD is an integrated circuit with internal logic gates and/or connections which can be

modified by the programming process in some way.

• It can be electrically erased and reprogrammed with a new design, making them very

well suitable for both academic and prototyping.


Types of PLD

• SPLDs (Simple Programmable Logic Devices)

• ROM (Read-Only Memory)

• PLA (Programmable Logic Array)

• PAL (Programmable Array Logic)

• GAL (Generic Array Logic)

• CPLD (Complex Programmable Logic Device)

• FPGA (Field-Programmable Gate Array)


SPLD
• The first three types are quite similar :
• All of them have an input connection matrix, which links the device inputs to an array of AND-gates.

• All of them have an output connection matrix, which connect the AND-gates outputs to the OR-gates inputs
which drive the device outputs.

Multi-input OR There is a connection


gate There is no connection

conventional symbol array logic symbol

Most PLD technologies have gates with very high fan-in


OR/AND - PLD Notation
PLDs
All use AND-OR structure- differ in which is programmable
Fixed
Programmable Programmable
Inputs AND array Outputs
connections OR array
(decoder)

Programmable read-only memory (PROM)

Programmable Programmable Fixed


Inputs Outputs
connections AND array OR array

Programmable array logic (PAL) device

Programmable Programmable Programmable Programmable


Inputs Outputs
connections AND array connections OR array

Programmable logic array (PLA)


Memory
• Memory: A collection of cells able to store binary information (1s or 0s).
• Computer memories are organized into words. Generally, a word is
commonly defined as a group of bits which computer handles as one entity. 12
3
From this definition, a word equals to the size of the internal 4
5
register(usually 16, 32, or 64 bits). 6
7
8
• a word is accessed by providing its row number (address number).
• A memory is identified by the number of words it can store times the size
of word .
• E.g. a 8 x 8 memory can store 8 words of bits each word of 8 bits
Content of a memory
 Each word in memory has an identification
number called an address which starts from 0 up
to 2k-1, where k is the number of address lines.

 Ex: 1024 x 16 ROM has 1024 address, each


address consists of 10 bits. ROM consists of
1024 words, each word has 16 bits( 2 bytes).

 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


Memory
 There are two memories types used in digital systems:
 random-access memory (RAM) can do both Write and Read operations.

 read-only memory (ROM) can only do the Read operation.

• ROM DOES NOT have a write


• n data lines (input/output) operation
• k address lines ✓ ROM DOES NOT have data
• 2k words (data unit) inputs
• Read/Write Control • Word: group of bits stored in one
• Memory size = 2k x n location
The Read Operation
Floyd

Address register Data register


0 1 1 1 1 0 0 0 0 0 1

Address decoder Byte organized memory array


0 1 0 1 0 1 1 1 1
1 1 0 0 1 0 1 0 0 1
2 1 0 0 0 0 0 0 1 3

Address bus 3 1 1 0 0 0 0 0 1
4 0 0 0 0 0 1 1 0 Data bus
5 1 0 0 0 1 1 0 1
6 1 1 1 1 1 1 1 1
7 0 0 0 0 1 1 1 1
2

Read
1- Address number 011 is placed on the address bus(lines) so address 3 is chosen.
2- Read command is applied.
3- The word located at address 3 is placed on the data bus and shifted into data register.
Note that The contents od word that located at address 3 is not erased by the read operation.
ROM Internal Logic
• ROM = Decoder + OR gates
• Each decoder output represents one memory address 0
I0 1
• ROM has 32 Words of 8 bits each I1
2
3
.
• ROM has 5 input lines (address) I2 5-to-32 .
decoder .
I3 28
• Each OR gate has a 32 input I4
29
30
31
• A 2k x n ROM will internally consist of an k x 2k decoder and
n OR gates

• A contact can be made using fuse/anti-fuse


A7 A6 A5 A4 A3 A2 A1 A0
• It is easy to implement a combinational circuit.
• Store the truth table by programming the ROM Internal Logic of a 32x8 ROM
• It is only required to provide the truth table
Programming a ROM
Inputs Outputs
I I I I I A A A A A A A A 0 x x x x x
I0 1 x x x x
4 3 2 1 0 7 6 5 4 3 2 1 0 I1
2 x
x
x
x x
x
x
x
3
0 0 0 0 0 1 0 1 1 0 1 1 0 I2 5-to-32 .
decoder .
0 0 0 0 1 0 0 0 1 1 1 0 1 I3 .
28 x x
x x x x
0 0 0 1 0 1 1 0 0 0 1 0 1
I4
x x x
29
30
31 x x x x
0 0 0 1 1 1 0 1 1 0 0 1 0
. .
. .
A7 A6 A5 A4 A3 A2 A1 A0
. .
1 1 1 0 0 0 0 0 0 1 0 0 1 • Every ONE in truth table identifies a closed circuit
1 1 1 0 1 1 1 1 0 0 0 1 0 • Every ZERO in truth table identifies an OPEN circuit
1 1 1 1 0 0 1 0 0 1 0 1 0 • Example: At address 00011 → The word 10110010 is
1 1 1 1 1 0 0 1 1 0 0 1 1 stored
Read-Only Memory (ROM)
 8 x 4 ROM 3x8
Decoder
Address Data 0
0 0 0 0000 1
0 0 1 1101 A2 2
I2 3
0 1 0 0011 A1 I1
1000 4
0 1 1 A0 I0 5
1 0 0 1111
6
1 0 1 1001 1 E 7
1 1 0 0111
1 1 1 0000
• Every ONE in truth table specifies a closed circuit D3 D2 D1 D0
• Every ZERO in truth table specifies an OPEN circuit
• Example: At address 00011 → The word 10110010 is stored
Example 1

 Example: Design a combinational circuit using ROM. The circuit accepts a 3-bit
number and generates an output binary number equal to the square of the number.
 Solution: Derive truth table:
Inputs Outputs
A2 A1 A0 B5 B4 B3 B2 B1 B0 SQ
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 1 1
0 1 0 0 0 0 1 0 0 4
0 1 1 0 0 1 0 0 1 9
1 0 0 0 1 0 0 0 0 16
1 0 1 0 1 1 0 0 1 25
1 1 0 1 0 0 1 0 0 36
1 1 1 1 1 0 0 0 1 49
Example 1 (cont.)
Inputs Outputs
A2 A1 A0 B5 B4 B3 B2 B1 B0 SQ
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 1 1
0 1 0 0 0 0 1 0 0 4
0 1 1 0 0 1 0 0 1 9
1 0 0 0 1 0 0 0 0 16
1 0 1 0 1 1 0 0 1 25
1 1 0 1 0 0 1 0 0 36
1 1 1 1 1 0 0 0 1 49 B0

ROM truth table – specifies the required connections


0 B1
A0 8 X 4 ROM B2

 B1 is ALWAYS 0 ➔ no need to generate it using the ROM A1


B3
B4
 B0 equals to A0 ➔ no need to generate it using the ROM
A2 B5
 Thus: The minimum size of required ROM is 23 x 4 or 8 x 4
Example 2

 Problem: Tabulate the truth table for an 8 X 4 ROM that implements the following four Boolean
functions:

 A(X,Y,Z) = ∑(3,6,7); B(X,Y,Z) = ∑(0,1,4,5,6)

 C(X,Y,Z) = ∑(2,3,4); D(X,Y,Z) = ∑(2,3,4,7)

 Solution: Inputs Outputs


X Y Z A B C D
A
0 0 0 0 1 0 0 X
0 0 1 0 1 0 0 8 X 4 ROM B
Y
0 1 0 0 0 1 1 C
0 1 1 1 0 1 1 Z
D
1 0 0 0 1 1 1
1 0 1 0 1 0 0
1 1 0 1 1 0 0
1 1 1 1 0 0 1
Example 3 (Size of a ROM)
• Problem: Specify the size of a ROM (number of words and number of bits per word) for the
following combinational circuit: An 8-bit adder/subtractor with Cin and Cout.

• Solution:
• Inputs to the ROM (address lines) = 8 (first number) + (8 second number) + 1 (Cin) ➔ 17 lines
• Hence number of words in ROM is = 128 K
• Size of each word = number of possible functions/outputs
• = 8 (addition/subtraction) + 1 (Cout)
• =9
• Hence ROM size = 128K X 9
Advantages of using PLDs
• Advantages of reducing the no. of ICs using PLD:

• less board space


• fewer PCBs
• lower power requirements (i.e., smaller power supplies)
• faster and less costly assembly processes
• higher reliability (fewer ICs and circuit connections => easier troubleshooting)
• availability of design software
THANK YOU

You might also like