Title: Lecture 1 Introduction to Digital Logic Design
1Lecture 1Introduction to Digital Logic Design
- Hai Zhou
- ECE 303
- Advanced Digital Design
- Spring 2002
2Outline
- Class administration
- Digital design methodology
- Representations of Digital Design
- Introduction to Mentor Graphics tools
- READING Katz 1.3, 1.4, Dewey 1.2, 1.3, 1.4
3Class Administration
- Lectures twice a week, Tuesday-Thursday
400-520PM - Instructor
- Hai Zhou
- Office L461 Tech
- EMAIL haizhou_at_ece.nwu.edu
- PHONE 491-4155
- Teaching Assistant
- Shizhong Mei
- Office M316 Tech
- EMAIL meisz_at_ece.nwu.edu
- Web Page www.ece.nwu.edu/haizhou/ece303.html
4Class Prerequisites
- ECE 203 Introduction to Computer Engineering
- Need to have basic understanding of digital
systems, logic gates, combinational and
sequential logic - Need to have been exposed to UNIX since we will
use the Mentor Graphics tools on HP/SUN
workstations - Class will form a background for other classes in
Computer Engineering - ECE 357 Introduction to VLSI CAD
- ECE C91 Introduction to VLSI Design
- ECE C92 VLSI Design Projects
5Class Administration
- Required Textbooks
- R. Katz, Contemporary Logic Design, Benjamin
Cummings Press, 1994 (same text as ECE B01) - Allen Dewey, Analysis and Design of Digital
Systems with VHDL, PWS Publishing Company, 1997. - Classnotes
- Copies of lecture transparencies to be made
available
6Class Grades
- 5 Homeworks
- 25 of grade
- 5 Labs
- 25 of grade
- Midterm exam
- 20 of grade
- Final exam
- 30 of grade
- Homeworks and labs will be due at the beginning
of class on the due date - A penalty of 10 per working day will be
assigned to late assignments or labs
7Lab Work
- You will be introduced to the use of a commercial
computer aided design tool from Mentor Graphics - Will use the HP and Sun workstations in the
Wilkinson Lab (3rd floor M wing of Tech) - Lab Hours Open
- There will be 5 labs
- Lab 1 Tutorial on Mentor Graphics (simple logic)
- Lab 2 Design of combinational logic (8-bit
adder) - Lab 3 Design of ALU and shifter
- Lab 4 Design of a simple 8-state finites state
machine - Lab 5 Use of VHDL for combinational and
sequential design
8The Process of Design
Design
Initial concept what is the function performed
by the object? Constraints How fast? How much
area? How much cost? Refine abstract functional
blocks into more concrete realizations
Implementation
Assemble primitives into more complex building
blocks Composition via wiring Choose among
alternatives to improve the design
Debug
Faulty systems design flaws, composition flaws,
component flaws Design to make debugging
easier Hypothesis formation and troubleshooting
skills
9Digital Systems
Digital vs. Analog Waveforms
Analog values vary over a broad range
continuously
Digital only assumes discrete values
10Digital Hardware Systems
Boolean Algebra and Logical Operators
Algebra variables, values, operations In
Boolean algebra, the values are the symbols 0 and
1 If a logic statement is false, it has
value 0 If a logic statement is true,
it has value 1 Operations AND, OR, NOT
11Digital Hardware Systems
Combinational vs. Sequential Logic
Network implemented from switching elements or
logic gates. The presence of feedback
distinguishes between sequential and
combinational networks.
Combinational logic no feedback among
inputs and outputs outputs are a pure
function of the inputs e.g., full adder
circuit (A, B, Carry In) mapped into
(Sum, Carry Out)
12Digital Hardware Systems
Sequential logic inputs and outputs
overlap outputs depend on inputs and the
entire history of execution! network
typically has only a limited number of unique
configurations these are called states
e.g., traffic light controller sequences
infinitely through four states new
component in sequential logic networks
storage elements to remember the current
state output and new state is a function
of the inputs and the old state i.e., the
fed back inputs are the state!
Synchronous systems
period reference signal, the clock, causes the
storage elements to accept new values and to
change state
Asynchronous systems
no single indication of when to change state
13Case Study of a Simple Logic Design Seven
Segment Display
- Chip to drive digital display
14Case Study (cont.)
15Case Study (cont.)
Some gate level implementation of the Boolean
function for L4
16Representations of Digital Design Switches
A switch connects two points under control
signal. when the control signal is 0 (false),
the switch is open when it is 1 (true), the
switch is closed
Normally Open
Normally Closed
when control is 1 (true), switch is open when
control is 0 (false), switch is closed
17Switch Representations
routing inputs to outputs through a maze
Examples
Floating nodes what happens if the car is
not running? outputs are floating rather
than forced to be false
Under all possible control signal settings
(1) all outputs must be connected to some input
through a path (2) no output is connected
to more than one input through any path
18Switch Representations
Implementation of AND and OR Functions with
Switches
AND function Series connection to TRUE
OR function Parallel connection to TRUE
19Representations of a Digital Design
Truth Tables
tabulate all possible input combinations and
their associated output values
Example half adder adds two binary digits
to form Sum and Carry
Example full adder adds two binary digits
and Carry in to form Sum and Carry Out
NOTE 1 plus 1 is 0 with a carry of
1 in binary
20Representations of Digital Design Boolean Algebra
values 0, 1 variables A, B, C, . . ., X, Y,
Z operations NOT, AND, OR, . . .
NOT X is written as X X AND Y is written as X
Y, or sometimes X Y X OR Y is written as X Y
Deriving Boolean equations from truth tables
Sum A B A B
Carry 0 0 0 1
A 0 0 1 1
B 0 1 0 1
Sum 0 1 1 0
OR'd together product terms for each truth
table row where the function is 1 if input
variable is 0, it appears in complemented form
if 1, it appears uncomplemented
Carry A B
21Representations of a Digital Design Boolean
Algebra
Another example
Sum A B Cin A B Cin A B Cin A B Cin
Sum 0 1 1 0 1 0 0 1
Cout 0 0 0 1 0 1 1 1
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
Cin 0 1 0 1 0 1 0 1
Cout A B Cin A B Cin A B Cin A B Cin
22Gate Representations of a Digital Design
most widely used primitive building block in
digital system design
Standard Logic Gate Representation
Half Adder Schematic
Net electrically connected collection of wires
Netlist tabulation of gate inputs outputs
and the nets they are connected to
23Representations of a Digital Design Gates
Full Adder Schematic
Fan-in number of inputs to a gate Fan-out
number of gate inputs an output is connected
to Technology "Rules of Composition" place
limits on fan-in/fan-out
24Waveform Representation
dynamic behavior of a circuit real circuits have
non-zero delays
Timing Diagram of the Half Adder
sum propagation delay
sum propagation delay
circuit hazard 1 plus 0 is 1, not 0!
Output changes are delayed from input
changes The propagation delay is sensitive to
paths in the circuit Outputs may temporarily
change from the correct value to the wrong
value back again to the correct value this is
called a glitch or hazard
25Block Representation of a Digital Design
structural organization of the design black
boxes with input and output connections correspon
ds to well defined functions concentrates on how
the components are composed by wiring
Block diagram representation of the Full Adder
Full Adder realized in terms of composition of
half adder blocks
26Introduction to Mentor Graphics Tools
- The Mentor Graphics CAD system has many
components - You will use a small portion of the tools for
this course - Falcon Design Framework
- Design Architect for entering logic designs
- Quicksim for simulating the designs
- QuickHDL for entering and simulating the VHDL
designs - Read through and execute Lab 1 Mentor Graphics
tutorial
27Introduction to Mentor Graphics
- Typing source meisz/ECE303/mgc.env on HP/Sun
workstation will set up env for 303 labs - Typing dmgr for Design Manager will create a
window for running several tools - Mentor Graphics is not a single tool tool but a
series of design tools that uses object oriented
data representation to simplify the design
process - Data created in one tool (e.g. design architect)
can be shipped to another tool (e.g. quicksim)
for simulation - A schematic is merely a pictorial representation
of a circuit
28Viewpoints in Electronic Design Objects
- Data created by DESIGN ARCHITECT is saved in
- Component
- Viewpoint
- A component is a collection of models used to
describe the functional, graphical aspects - Component data is made of a schematic and a
symbol - A symbol is a graphical model of the input and
output pins - A schematic is a functional model of how outputs
are related to input values - A viewpoint can be thought of as a filter that
other applications use to process component data
Component
Viewpoint
Electronic Design Object
Symbol for XOR
29Moving Design Data
- Students familiar with UNIX, please refrain from
using UNIX commands to move directories or files - You MUST move these objects using the Design
Manager - Failure to use Design Manager will result in data
corruption - Design Architect will store the absolute pathname
to a design - Quicksim will try to use the symbol to look for
the design from that pathname
30Summary
- Class administration
- Digital design methodology
- Representations of Digital Design
- Introduction to Mentor Graphics tools
- NEXT LECTURE Two level Minimization
- READING Katz 2.1, 2.2, 2.3, Dewey 4.2, 4.3, 4.4