Chapter # 1: Introduction: Contemporary Logic Design
Chapter # 1: Introduction: Contemporary Logic Design
서울대학교 컴퓨터공학부
Logic Design Chap1.1
Chapter Overview
• Process of Design
• Digital Systems
• Design Representations
• Rapid Prototyping
서울대학교 컴퓨터공학부
Logic Design Chap1.2
The Process Of Design
Design
Implementation
Debug
Design
• Initial concept: what is the function performed by the object?
• Constraints: How fast? How much area? How much cost?
Debug
서울대학교 컴퓨터공학부
Logic Design Chap1.4
서울대학교 컴퓨터공학부
Logic Design Chap1.5
The Art Of Design: Refinement of Representations
서울대학교 컴퓨터공학부
Logic Design Chap1.6
2. Performance Constraints/Requirements to be Met
서울대학교 컴퓨터공학부
Logic Design Chap1.7
The Art of Design: "To Design Is To Represent"
4. Physical description
E-W Green
af ter 45 seconds
the design in terms of most primitive
N-S Red
building blocks, e. g., logic gates or E-W Yellow
transistors
af ter 15 seconds
서울대학교 컴퓨터공학부
Logic Design Chap1.8
The Process of Design
Implementation as Assembly
Bottom Up Design:
Primitives composed to build more and more complex assemblies
서울대학교 컴퓨터공학부
Logic Design Chap1.9
The Process of Design
서울대학교 컴퓨터공학부
Logic Design Chap1.10
N-S Green
N-S Yellow
Start Traf fic Light N-S Red
Subs y stem E-W Green
E-W Yellow
E-W Red
45 s ec onds N-S Green
Light N-S Yellow
Start Timer N-S Red
Sequenc er E-W Green
E-W Yellow
15 s ec onds E-W Red
45 s ec onds N-S Lights N-S Green
N-S Yellow
art Primitiv e N-S Red
Timer Sequenc er Decoder
E-W Green
E-W Yellow
15 s ec onds E-W Lights E-W Red
서울대학교 컴퓨터공학부
Logic Design Chap1.11
N-S Green
N-S Yellow
Start Traf fic Light N-S Red
Subsystem E-W Green
E-W Yellow
E-W Red
45 seconds N-S Green
Light N-S Yellow
Start Timer N-S Red
Sequencer E-W Green
E-W Yellow
15 seconds E-W Red
45 seconds N-S Lights N-S Green
N-S Yellow
Start Primitive N-S Red
Timer Sequencer Decoder
E-W Green
E-W Yellow
15 seconds E-W Lights E-W Red
서울대학교 컴퓨터공학부
Logic Design Chap1.12
The Process of Design
Bottom Up Assembly
Building
Primitives composed to build
more and more complex assemblies
서울대학교 컴퓨터공학부
Logic Design Chap1.13
The Process of Design: Debugging the System
What Can Go Wrong
• Design Flaws
Implementation does not meet functional specification
• Implementation Flaws
Individual modules function correctly but their compositions do not
• Component Flaws
Logically correct and correctly wired
Debugging Skills:
서울대학교 컴퓨터공학부
Logic Design Chap1.15
Digital Hardware Systems
Digital Systems
Digital vs. Analog Waveforms
+5 +5
1 0 1
V V
Time Time
?0 ?0
Digital: Analog:
only assumes discrete values values vary over a broad range
continuously
서울대학교 컴퓨터공학부
Logic Design Chap1.16
Digital Hardware Systems
서울대학교 컴퓨터공학부
Logic Design Chap1.17
Digital Hardware Systems
IF N-S is green
AND E-W is red
AND 45 seconds has expired since the last light change
THEN we can advance to the next light configuration
서울대학교 컴퓨터공학부
Logic Design Chap1.18
Digital Hardware Systems
Boolean Algebra and Logical Operators
서울대학교 컴퓨터공학부
Logic Design Chap1.19
George Boole (1815 – 1864)
• 영국 수학자.
• The Mathematical Analysis of
Logic, 1847
– AND, OR & NOT can perform all
logic functions
– No practical use
» Forgotten until 1930s
Source: www.computerhistory.org
서울대학교 컴퓨터공학부
Logic Design Chap1.20
Claude Shannon (1916 – 2001)
Source: www.computerhistory.org
서울대학교 컴퓨터공학부
Logic Design Chap1.21
Digital Hardware Systems
서울대학교 컴퓨터공학부
Logic Design Chap1.22
Digital Hardware Systems
The Real World
Physical electronic components are continuous, not discrete!
+5
Logic 1 Transition from logic 1 to logic 0
does not take place instantaneously
V in real digital systems
서울대학교 컴퓨터공학부
Logic Design Chap1.23
Digital Hardware Systems
Main technologies
MOS: Metal-Oxide-Silicon
Bipolar
Transistor-Transistor Logic
Emitter Coupled Logic
서울대학교 컴퓨터공학부
Logic Design Chap1.24
Digital Hardware Systems
MOS Technology
Transistor
basic electrical switch
Gate
Drain Source
서울대학교 컴퓨터공학부
Logic Design Chap1.25
Transistor as a Switch
서울대학교 컴퓨터공학부
Logic Design Chap1.26
Digital Hardware Systems
Circuit that implements logical negation (NOT)
0 V In +5
서울대학교 컴퓨터공학부
Logic Design Chap1.27
Digital Hardware Systems
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)
A
B Full Sum
Cin Adder Cout
서울대학교 컴퓨터공학부
Logic Design Chap1.28
Digital Hardware Systems
Sequential logic
inputs and outputs overlap
outputs depend on inputs and the entire history of execution!
output and new state is a function of the inputs and the old state
i.e., the feedback 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
서울대학교 컴퓨터공학부
Logic Design Chap1.29
Digital Hardware Systems
Switches
A switch connects two points under control signal.
Normally Open when the control signal is 0 (false), the switch is open
Fals e Fals e
Normally Open Normally Closed
Switch Switch
Open Clos ed
Switch Switch
서울대학교 컴퓨터공학부
Logic Design Chap1.31
Representations of a Digital Design
Truth Tables
tabulate all possible input combinations and their associated
output values
Example: half adder Example: full adder
adds two binary digits adds two binary digits and
to form Sum and Carry Carry in to form Sum and
Carry Out
A B Sum Carry A B Cin Sum Cout
0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 1 0
1 0 1 0 0 1 0 1 0
1 1 0 1 0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
NOTE: 1 plus 1 is 0 with a 1 1 1 1 1
carry of 1 in binary
서울대학교 컴퓨터공학부
Logic Design Chap1.32
Representations of a 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
AND
Net 1 SUM
B
OR
Net 2
CAR RY
SUM
Cin
A
B
Cout B Cout
Cin
A
Cin
sum sum
propagation propagation
delay delay
circuit hazard: 1 plus 0 is 1, not 0!
Blocks
structural organization of the design
Sum A Sum
A A Sum A Sum A Sum
HA HA B
B B Carry B Carry B FA
Cout
Cin Cout
Cin Cin Cout
서울대학교 컴퓨터공학부
Logic Design Chap1.37
Representations of a Digital Design
Waveform Verification
Does the composed full adder behave the same as the full gate
implementation?
100 Glitc h 200
A
B
Cin
Sum
Cout
서울대학교 컴퓨터공학부
Logic Design Chap1.38
Representation of a Digital Design:
ABEL Hardware Description Language Behaviors
MODULE half_adder;
a, b, sum, carry PIN 1, 2, 3, 4;
TRUTH_TABLE {[a, b] -> [sum, carry]}
Truth Table [0, 0] -> [0, 0];
Specification [0, 1] -> [1, 0];
[1, 0] -> [1, 0];
[1, 1] -> [0, 1];
END half_adder;
MODULE half_adder;
a, b, sum, carry PIN 1, 2, 3, 4;
Equation EQUATIONS
Specification SUM = (A & !B) # (!A & B);
CARRY = A & B;
END half_adder;
AND OR NOT
서울대학교 컴퓨터공학부
Logic Design Chap1.39
Representations of a Digital Design
Behaviors
Hardware description languages
structure and function of the digital design
-- internal behavior
ARCHITECTURE behavioral OF inverter_gate IS
BEGIN Internal Behavior
z <= NOT a AFTER 10 ns; Note delay statement
END behavioral;
-- internal behavior
ARCHITECTURE behavioral OF and_gate IS
BEGIN
z <= a AND b AFTER 10 ns;
END behavioral;
서울대학교 컴퓨터공학부
Logic Design Chap1.40
Representation of a Digital Design: Behaviors
-- ***** or gate model *****
-- external ports
ENTITY or_gate;
AND, OR, NOT models
PORT (a, b: IN BIT; z: OUT BIT); typically included in a
END or_gate; library
-- internal behavior
ARCHITECTURE behavioral OF or_gate IS
BEGIN
z <= a OR b AFTER 10 ns;
END behavioral;
A s1
i1 s3
a1
o1
SUM
B a2
i2 s4
s2
Carry
a3
서울대학교 컴퓨터공학부
Logic Design Chap1.42
Rapid Electronic System Prototyping
Goals:
• quick construction of digital systems to prove concept
Techniques:
서울대학교 컴퓨터공학부
Logic Design Chap1.43
Rapid Electronic System Prototyping:
Computer-Aided Design
Synthesis tools
• create a portion of the design from other portions
VHDL
Behavioral Boolean Logic
Verilog Schematics
… Synthesis Equations Synthesis
ABEL Gate
Libraries
서울대학교 컴퓨터공학부
Logic Design Chap1.44
Rapid Electronic System Prototyping
Simulation
• program which dynamically executes an abstract design description
Logic Simulation
design described in terms of logic gates
values are 0, 1 (plus others to be introduced)
good for truth table verification
Timing Simulation
waveform inputs and outputs
model of gate delays
are the waveform shapes what was expected?
서울대학교 컴퓨터공학부
identification of performance bottlenecks
Logic Design Chap1.45
Rapid Electronic System Implementation
서울대학교 컴퓨터공학부
Logic Design Chap1.46
Rapid Electronic System Prototyping
Example: Read-Only Memories
• hardware implementation of a two dimensional array