Upload
phillip-jackson
View
212
Download
0
Embed Size (px)
Citation preview
Welcome
CSC 480/580 – Digital Logic & Computer Design
Term: Winter 2002Instructor: William T Krieger
CSC 480 Logic Design
The course
3 Common Goals
1. Learn practice2. Show it good
grades3. Have fun... Well,
try to have fun
“I have a dream...”
Details, schmetails
Main page Everything available
online (working on it) Logistics
• 45 minute lecture; break; 45 minute lecture
• Wednesday night lab
CSC 480 Logic Design
The instructor
William T Krieger
BSCS UI 1983 MSCS UIC 1995 15+ years S/W
experience Co-founder
Synopsys, Inc. New to teaching…
well, pretty new
So... Not a logic designer Wrote software to
automate logic design
I’ll follow the book pretty closely
End course with HDL focus (hopefully!)
CSC 480 Logic Design
Why take this course?
Course is required... sort of This is “core” knowledge Overcome “hardware phobia” without much
pain HW versus SW... symbiotic interaction and
interesting contrast:– Faster HW is making more complex SW possible– Use of complex SW in HW design is now prevasive
“...replacement of the manual logic design process makes the design of complex logic much more
efficient”- Mano, page 97
CSC 480 Logic Design
The last 20 years or so The evolution of SW design
– Object-oriented paradigm, widespread usage of high-level languages (C++, Ada, Java)
– Large systems, software engineering, testing and maintenance
– Distributed computing, the net, graphical debugers/GUI builders
REVOLUTION of HW design– Simulation of designs before building them– Synthesis (or compilation) of functional HW design
into lower-level forms (gates, transistors)– Programs can now create logic that competes with
that created by the best human being! SW design is now many times faster... HW
design is now many thousands time faster!
CSC 480 Logic Design
What we will learn
Logic Designo Combinational design: Boolean algebra, logic minimization,
logic gateso Complex combinational structures: muxes, decoder,
encoder, adder, etc.o Sequential design: state machines, flipflops, registers,
PLD’so HDL descriptions
Computer Design Basic structure Control versus datapath Components: register, counters, memory,
programmable devices, cpu Instruction set design, microprocessors
CSC 480 Logic Design
Digital Hardware
Everything built upon two primary (cool) abstractions1’s and 0’s
• Boolean algebra allows formal expression, simplification, manipulation, minimization (G. Boole, 18050’s)
• Niftily maps onto the physical world (usually voltage)The switch
• Mechanism to implement boolean functions: assignment, negation, and, or
• Maps onto the physical world as mechanical relay, transistor (Shockley, et al 1940’s)
• This search continues... biological and atomic-level transistors
For us, these inventions are the equivalent of fire, and the wheel.
CSC 480 Logic Design
MOS transistor as a switch
Transistor revolutionizes “switch”... efficient, reliable, cheap
Many flavors, but CMOS is the most popular semiconductor (chip) technology– MOS = Metal-oxide semiconductor– C = complementary, typically closed
switches and negative logic Example:
CSC 480 Logic Design
Hardware design levels
Behavior
Register transfer
State machines
Logic gates
Boolean algebra
Switches (transistors)
Physical devices (Si)
We will focus on Register transfer level down to boolean algebra
CSC 480 Logic Design
Hardware design today The engineer’s mistress continues to be: size,
complexity, speed, cost, time to market Must work at higher and higher design levels Hierarchical methodology promotes design reuse
(that’s “object-oriented” for us CS majors) Software tools (CAD) are the only alternative now
Automation! Simulators used to verify designs Designs described at a higher level (HDL) and
“compiled” into lower level components Synthesis tools optimize designs to meet specified
criteria or “constraints Analogy: Logic design & assembly language
programming
CSC 480 Logic Design
Logic design example
Binary multiplier– Multiply A x B to get result C
• Input A is 3 bits: a2 a1 a0• Input B is 4 bits: b3 b2 b1 b0• Output C is 6 bits: c5 c4 c3 c2 c1 c0
– Do an example: • What is 101 x 1011?
– Trick• What is a one bit multiply?• Need a couple of adders right?• Cheat where we can
– Go.