Welcome - williamt.com
Download
Report
Transcript Welcome - williamt.com
Welcome
CSC 480/580 – Digital Logic &
Computer Design
Term: Winter 2002
Instructor: William T Krieger
The course
3 Common Goals
Details, schmetails
Learn practice
2. Show it good
grades
3. Have fun... Well,
try to have fun
1.
“I have a dream...”
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 highlevel 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 Design
o Combinational design: Boolean algebra, logic minimization, logic
gates
o Complex combinational structures: muxes, decoder, encoder,
adder, etc.
o Sequential design: state machines, flipflops, registers, PLD’s
o 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) abstractions
1’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.
CSC 480 Logic Design