combinational / sequential logic - tong in oh · 2018-09-10 · combinational logic design...
TRANSCRIPT
Digital Circuit Design and Language
Combinational
/ Sequential Logic
Chang, Ik Joon
Kyunghee University
Combinational Logic
+ The outputs are determined by the present inputs
+ Consist of input/output variables and logic gates
+ No memory / No feedback
Combinational Logic Design
Procedure (Gate-level Design)
1. Decide input and output signals
2. Derive the truth table based on the relationship
between inputs and outputs
3. Obtain the simplified Boolean Algebra
4. Draw the logic diagram and verify the design
(manually or by simulation)
cf. Behavioral Level and Data-flow Level Design
Sequential Logic
+ Outputs are function of inputs and present states
+ Present states are supplied by memory elements
Synchronous vs. Asynchronous
+ Synchronous: Controlled by periodical clock signal
+ Asynchronous: Controlled by non-periodical signal
Storage Elements: Latch vs. Flip-flop
+ Latch: Operates with clock level (level-sensitive)
+ Flip-flop: Controlled by clock transition (edge-
sensitive)
+ What is Registers and RAM?
SR Latch
For two cross-coupled NOR gates,
➢ S=1,R=0 then Q=1 (set)
➢ S=0,R=1 then Q=0 (reset)
➢ S=0,R=0 then no change (keep condition)
➢ S=1,R=1 Q=Q′=0 (undefined)
For two cross-coupled NAND gates, S and R are
inverted compared to the above.
D Latch
D
C
Q
Q
’
Eliminate indeterminate state in SR
latch
Sensitive to the level of ‘C’
- C=1, transparent
- C=0, locked (no output change)
D-
latch
Edge-Triggered D Flip-Flop
C=0 : master disable, slave enable
C=1 : master enable, slave disable
Negative-edge or Positive-edge?
Edge-Triggered D Flip-Flop (Cont.)
D-type positive edge triggered flip flop
- Consist of 3 SR-latches
- Q changes only when C becomes 0 to 1
Other Flip-flops – JK Flip-Flop
- Performs three operations
- Set(J), Reset(K), Complement(J=K=1)
- D=JQ′+K′Q
Other Flip-flops – T Flip-Flop
- Complementing flip-flop
- D=TQ′+T′Q
Analysis of Clocked Sequential Logic
A(t+1)=Ax + Bx
B(t+1)=A′x
Y=(A+B)x′
Circuit Diagram (Gate-level) State Equation State Table
State Diagram
(Behavioral Model)
- Clocked sequential Logic can
be described using finite state
machines (Behavioral Model)
Circuit Diagram and State Equation
A(t+1)=A(t)x(t) + B(t)x(t)
B(t+1)=A′(t)x(t)
Y=[A(t)+B(t)]x′(t)
State Table
State Diagram
+ Gate-level Design (Circuit Diagram): Need to know
hardware implementation
+ Behavioral Model (State Diagram): Does not require
the background of hardware implementation
Finite State Machine Model:
Mealy Machine vs. Moore Machine
Moore vs. Mealy
+ Moore Machine: The outputs are determined by the
present states only
• Outputs are changed at only clock edges
• Pros: Safe, Easy to debug
• Cons: Large memory size
+ Mealy Machine: The outputs are determined by both
present states and inputs
• Outputs can be changed near clock edges
• Pros: Small memory size
• Cons: Complex
+ What is more preferred?
Design Procedure
1) Derive a state diagram or state table
2) Reduce the number of states if necessary (State Reduction)
3) Assign binary code to the state (State Assignment)
4) Make a HDL description and run logic synthesis using
‘design compiler’ (→ netlist)
1) Derive a state diagram or state table
2) Reduce the number of states if necessary (State Reduction)
3) Assign binary code to the state (State Assignment)
4) Choose the type of flip-flops to be used
5) Derive the flip-flop input equations and output equations
6) Draw the logic diagram
Automated Design Steps
Manual Design Steps
EQUIVALENT STATES
+ Two States, si and sj Equivalent IFF
• Give Exact Same Output Sequence
, For Any Possible Input Sequence X
State Reduction Algorithm
+ For N states, at least log2N Flip-Flops are necessary
• To reduce # of flip-flop, we need to reduce # of
states
+ State Reduction Algorithm
• When two states are equivalent, one can be
removed
• Repeat this until we are not able to find equivalent
ones
State Reduction
State Reduction (Cont.)
STATE ASSIGNMENT
+ One-Hot State Encoding
• One Flip-Flop per State
• Simple Decoding Logic
+ Minimal State Encoding
• Use log2(#states) Flip-Flops
• Assignment of State Codes
• Impacts Amount of Combinational Logic
BCD TO EXCESS-3 CODE
CONVERTER0100 0101
+0011 +0011
0111 1000
LSB received first
STATE ASSIGNMENT GUIDELINES
+ Assign Adjacent State Codes
• States with same NS for given input
• States that are NS of same state
• States having same output for given input
ASSIGNMENT MAP AND TRANSITION
TABLE
+ State Assignment Guidelines
• (1,2), (3,4), (5,6), (0,1,4,6), (2,3,5)
REALIZATION OF CODE
CONVERTER
SETUP AND HOLD TIMES FOR D
FLIP-FLOP
MAXIMUM FREQUENCY OF
OPERATION
TIMING CONDITIONS
+ Clock period must be long enough to satisfy flip-flop
setup time:
tck tpmax + tcmax + tsu
+ Clock period should be long enough to satisfy flip-flop
hold time
tpmin + tcmin th
+ External input tx tcxmax + tsu
+ External input ty th – tcxmin
TIMING FOR EXTERNAL INPUT
CHANGE
TIMING EXAMPLE
+ What’s max frequency of operation of circuit?
• Min and max delays of inverter are 1ns and 3ns
• tpmin and tpmax are 5ns and 8ns
• Setup and hold times are 4ns and 2ns
TIMING EXAMPLE
+ What are safe regions for changes in X?
• Min and max delays of comb ckt are 2ns and 4ns
• tpmin and tpmax of flip-flop are 5ns and 10ns
• Setup and hold times are 8ns and 3ns
Typical Synchronous Design
+ Synchronous Design
• Clock Used to Synchronize Operation of All
Flip-Flops
+ Control Section : Finite State Machine
TIMING CHART
+ Falling-Edge Devices