Title: CS M51A/EE M16 Winter
1CS M51A/EE M16 Winter05 Section 1 Logic Design
of Digital SystemsLecture 7
February 2
- Yutao He
- yutao_at_cs.ucla.edu
- 4532B Boelter Hall
- http//courseweb.seas.ucla.edu/classView.php?term
05Wsrs187154200
2Outline
- Chapter Wrap-up Programmable modules
- Chapter 6 Multiple-Level Networks
- Summary
3Design in Two-Level Logic - Review
- Basic Technology
- AND-OR, OR-AND, NAND-NAND, NOR-NOR
- Programmable modules
- PLAs
- PALs
- Basic Skills
- K-Map
- Dont cares
- Minterms
- Maxterms
- Quine-McCluskey Algorithm
- Boolean Algebra
4Design with Programmable Modules
- Regular and standard structure
- Customized (programmed) for a particular function
- During the last stage of fabrication
- When incorporated into a system
- Flexible use and field upgrade
- Slower than fixed-function modules
- Common types
- PLAs
- PALs
- CPLDs
- FPGAs
5Programmable Logic Arrays (PLAs)
- Pre-fabricated building block of many AND/OR
gates - Programmed" by making or breaking connections
among gates - Programmable array block diagram for sum of
products form
6Logic Diagram of PLAs
- All possible connections available before
"programming"
7Alternative Representation
- Short-hand notation - don't have to draw all the
wires
8How to design with PLAs
- Step 1
- Obtain the minimal AND-OR (Product-Of-Sum)
expression of a function - Step 2
- Construct the personality matrix
- Step 3
- Make connections on the logic diagram by placing
a big dot at the corresponding cross-point.
9Design with PLAs - Example
A B C
F0 A B' C' F1 A C' A B F2 B' C'
A B F3 B' C A
10Programmable Array Logic (PAL)
- Each OR gate is connected to a subset of the AND
gates
11Minimization of Multi-Output Functions
- Basic idea
- Separate each output function and minimize them
individually - Find out whether there is any common terms
(product or sum) and share them if so.
12Two-Level Logic - Limitations
- One extra level is required if the complemented
form of an input is not available - Existing technologies limit the maximal number of
inputs (fan-ins) of a gate - Two-level implementation may require a large
number of gates and an irregular structure - The cost criteria of minimization is not adequate
for many MSI/LSI/VLSI designs
13Design Using Multi-Level Logic
- Motivation
- To satisfy constraints
- network size
- number of gate inputs
- network delay
- Challenges
- No canonical form is available
- Several requirements have to be met
simultaneously - Several outputs have to be considered
- In reality, software CAD tools are used which
employ heuristic algorithms to perform the
minimization (Logic Synthesis)
14Design Procedure with Multi-Level Logic
- Step 1
- Obtain AND-OR or OR-AND expressions of switching
functions of the system - Step 2
- Transform expressions such that requirements are
met - Step 3
- Replace AND/OR gates with NAND or NOR gates
whenever appropriate - Several iterations may be needed
15Typical Transformation Techniques
- To reduce the network size
- Factoring
- abac a(bc)
- Sharing
- y abbc, z abbc
- Use other types of gates with small size
- XOR gates, etc.
- To reduce the fan-in of a gate
- term decomposition
- a b c d (ab) (cd)
- abcd (ab)(cd)
- To increase the output load of a gate
- Buffering
16Eg. 1 - 1-bit Comparator
171-bit Comparator (Contd)
181-bit Comparator (Contd)
Two-Level Networks - 7 AND gates - 4 OR
gates - 22 equivalent gates - 25 gate inputs
191-bit Comparator (Contd)
- Applying transformation techniques
- z2 xyxc2yc2 xy(xy)c2
- z1 (xy)(xy)c1
- z0 xy(xy)c0
- Shared terms
- xy, xy
- Size
- 5 AND gates
- 4 OR gates
- 18 equivalent gates
201-bit Comparator (Contd)
- Further Reduction
- Using NAND gates
- Size
- 9 equivalent gates
21Eg. 2 - Modulo-64 Incrementer
Two-Level Networks - 7 NOT gates - 20 AND
gates - 5 OR gates - 77 gate inputs
22Modulo-64 Incrementer (Contd)
23Modulo-64 Incrementer (Contd)
24Eg. 3 - Enabling Circuit
25Enabling Circuit (Contd)
26Design Using XOR Gates
- XOR Gates
- Exclusive OR, difference
- z x ? y xyxy
- Can be generalized into n inputs
27Eg. 5 - Parity-Checking Circuit
- Concept
- Error detection codes
- Additional bits are added for checking data bits
- Used extensively in data communication and
storage - Types
- Even
- The number of 1s is even
- Odd
- The number of 1s is odd
Data 0010 0001 Even 0010 0001 Odd 0010 0001
0 1
288-Input Odd-Parity Checking Circuit
- Two-Level AND-OR Implementation
- Too many gates
29Odd-Parity Checking Circuit (Contd)
- How to design an even-parity checking circuit
using XOR gates?
30Eg. 7 - 32-bit Equality Comparator
3132-bit Equality Comparator (Cont.)
32Summary
- Programmable Modules
- PLAs and PALs
- Design combinational circuits using multi-level
gate networks
33Next Lecture
- Chapter 4 Analysis of Combinational Networks