classification of digital circuits combinational. output depends only on current input values. ...

58
Classification of Digital Circuits Combinational. Output depends only on current input values. Sequential. Output depends on current input values and present state of the circuit, where the present state of the circuit is the current value of the devices’ memory. Also called finite state machines.

Upload: delilah-byford

Post on 15-Dec-2015

228 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Classification of Digital Circuits Combinational.

Output depends only on current input values.

Sequential. Output depends on current input values and

present state of the circuit, where the present state of the circuit is the current value of the devices’ memory.

Also called finite state machines.

Page 2: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State of a Circuit The contents of storage elements. A collection of know internal signal

values that contain information about the past necessary to account the future behavior of the circuit.

Page 3: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clock Signal that determines the change of

state in most sequential circuits.

Page 4: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Bi-stable Elements The simplest

sequential circuit. It consist of a pair

of inverters connected as shown below. Notice the feedback loop.

Page 5: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Digital Analysis Two stable states. If Q is HIGH then the lower inverter

has a HIGH at its input and a LOW at its output. This in turn forces the upper inverter’s input to be LOW and its output to be HIGH.

If Q is LOW then the lower inverter has a LOW at its input and a HIGH at its output. This in turn forces the upper inverter’s input to be HIGH and its output to be LOW.

Page 6: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Analog Analysis Considering the

steady state behavior of the bistable element. Vin1 = Vout2

Vin1 = T(Vin2) Vin1 = T(Vout1) Vin1 = T(T(Vin1))

Page 7: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Analog Analysis Metastable behavior:

Consider the middle intersecting point in the diagram shown below.

What would happen if a small amount of noise varies either input voltage.

Page 8: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Analog Analysis The drawing on

this slide shows a very good analogy to the stable and metastable behavior of a bi-stable element.

Page 9: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Latches and Flip-Flops Binary cells capable of storing 1 bit of

information. Generates one of two possible stable

states. Two outputs labeled Q and Q’. One or more inputs.

Page 10: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Latches and Flip-Flops These sequential devices differ in the

way their outputs are changed: The output of a latch changes independent of a

clocking signal. The output of a flip–flop changes at specific

times determined by a clocking signal.

Page 11: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S-R Latch

SR latch based on NOR gates. The S input sets the Q output to 1

while R reset it to 0.

Page 12: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S-R Latch

When R=S=0 then the output keeps the previous value.

When R=S=1 then Q=Q’=0, and the latch may go to an unpredictable next state.

Page 13: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S-R Latch

Double negation is not a good idea. It is confusing and it creates problems.

Page 14: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S-R Latch

Page 15: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S’-R’ Latch

S’R’ latch based on NAND gates. The S’ input sets the Q output to 1

while R’ reset it to 0.

Page 16: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S’-R’ Latch

When R’=S’=1 then the output keeps the previous value.

When R’=S’=0 then Q=Q’=1, and the latch may go to an unpredictable next state.

Page 17: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S-R Latch With Enable The outputs change only when the

enable input C is asserted.

Page 18: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

S-R Latch With Enable

Notice that the outputs only change when the input C is asserted.

Page 19: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

D Latch This latch eliminates the problem that

occurs in the S’R’ latch when R=S=0. C is an enable input:

When C=1 then the output follows the input D and the latch is said to be open. Due to this fact this latch is also called transparent latch.

When C=0 then the output retains its last value and the latch is said to be closed.

Page 20: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

D Latch

Page 21: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

D Latch

For proper operation the D input must not change during a time interval around the falling edge of C.

This time interval is defined by the setup time – tsetup and the hold time – thold .

Page 22: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered D Flip-Flop This flip-flop is made out of two D

latches. The first latch is the master, and the second the slave.

When CLK_L = 1 the master is open (on) and the slave is closed (off). Qm and Ds follow Dm .

Page 23: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered D Flip-Flop When CLK_L = 0 the master is closed,

the slave is open and Qm is transferred to Qs . Note that Qs does not change if Dm changes because the master latch is closed leaving Qm fixed.

Page 24: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered D Flip-Flop Positive edge-triggered D flip-flop. Q* = D

Page 25: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered D Flip-Flop

If the set-up and hold times are not met the flip-flop’s output will go to a stable, though unpredictable, state.

Page 26: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered D Flip-Flop

Asynchronous inputs are used to force the output of the flip-flop to a particular state.

PR (preset) – Q = 1. CLR (clear) – Q = 0.

Page 27: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered D Flip-Flop

Page 28: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered D Flip-Flop Edge triggered D flip-flop with

enable.

Page 29: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Scan Flip-Flop This flip-flop allows its inputs to be

driven from alternate sources, which can be very useful during device testing.

Page 30: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Master/Slave S-R Flip-Flop The postponed output indicator shows that

the output signal does not change until the enable C input is negated.

Flip-flops with this kind of behavior are called pulse-triggered flip-flops.

Q* = S+R’Q SR = 0

Page 31: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Master/Slave S-R Flip-Flop

Page 32: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Master/Slave J-K Flip-Flop The J and the K inputs of the J-K flip-

flop are analogous to the S and R inputs of the S-R flip-flop, except in the case where J=K=1. In this case the outputs of the J-K flip-flop will toggle to the opposite state.

Page 33: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Master/Slave J-K Flip-Flop Q* = JQ’+K’Q

Page 34: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered J-K Flip-Flop Q* = JQ’+K’Q

Page 35: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Edge Triggered J-K Flip-Flop 74LS109

Page 36: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

T Flip-Flop Flip-flop changes state every tick of

the clock. Q* = Q’

Page 37: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

T Flip-Flop With Enable Flip-flop changes state every tick of

the clock when enable is asserted. Q* = ENQ’+EN’Q

Page 38: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked SynchronousState-Machine Analysis State machine – Another term for a

sequential circuit. Clocked – Refers to the fact that their

flip-flops employ a clock input. Synchronous – Same clock signal is

used by all flip-flops. A state machine with n flip-flops can

have up to 2n distinct states.

Page 39: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machine Structure State memory – a set of n flip-flops. Next-state logic – combinational logic

circuit which determines the next state. Next-state = F(current state,input)

Output logic – combinational logic circuit which determines the output.

There are two models for the output logic: Mealy Model. Moore Model.

Page 40: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Mealy Model The output is based on both current

state and input. Output = G(current state,input)

Page 41: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Moore Model The output is based on current state only.

Output = G(current state) In high speed circuits the output circuit

may be absent and the output is generated directly from the flip-flop’s outputs. This is called output coded state assignment.

Page 42: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Mealy Model Pipelined outputs – a design approach

that ensures the output of a Mealy model circuit only changes with the clock.

Page 43: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Analysis Determine the next-state and output

functions F and G. Use F and G to construct a

state/output table that completely specifies the next state and output of the circuit for every possible combination of current state and input.

Draw a state diagram.

Page 44: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With D Flip-Flops D0 = Q0 · EN’ + Q0’ · EN D1 = Q1 · EN’ + Q1’ · Q0 · EN + Q1 · Q0’ · EN

Page 45: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With D Flip-Flops Q0* = D0 Q1* = D1

Q0* = Q0 · EN’ + Q0’ · EN Q1* = Q1 · EN’ + Q1’ · Q0 · EN + Q1 · Q0’ · EN

Page 46: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With D Flip-Flops MAX = Q1 · Q0 · EN

Page 47: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With D Flip-Flops Q0* = Q0 · EN’ + Q0’ · EN Q1* = Q1 · EN’ + Q1’ · Q0 · EN + Q1 · Q0’ ·

EN MAX = Q1 · Q0 · EN

Present State Input Next State OutputS EN S* MAXA 0 A 0A 1 B 0B 0 B 0B 1 C 0C 0 C 0C 1 D 0D 0 D 0D 1 A 1

Input OutputQ1 Q0 EN Q1* Q0* MAX0 0 0 0 0 00 0 1 0 1 00 1 0 0 1 00 1 1 1 0 01 0 0 1 0 01 0 1 1 1 01 1 0 1 1 01 1 1 0 0 1

Present State Next State

Page 48: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With D Flip-Flops

Page 49: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With D Flip-Flops

Page 50: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With D Flip-Flops

Page 51: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

State Machines With J-K Flip-Flops

Page 52: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked Synchronous State Machine Design Derive a state/output table from the problem

specification. Minimize the number of states in the state/output

table by eliminating equivalent states. Choose a set of state variables. Assign to each state

a unique combination from the set derived above. Create a transition/output table. Choose a flip-flop type and derive its excitation

table. Using the excitation table fill the values for the input

excitation function columns on the transition/output table.

Derive the excitation and output equations. Draw logic diagram.

Page 53: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked Synchronous State Machine Design Design a sequential circuit with one

input ( I ) and one output ( Z )The output is asserted when the input sequence 0-1-1 is received.

See state/output table below.

Input OutputI Z0 S 0 01 Init 0

0 S 0 0

1 S 01 0

0 S 0 0

1 S 011 0

0 S 011 1

1 S 011 1

S 01

S 011

Present State Next state

Init

S 0

Page 54: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked Synchronous State Machine Design Set of state variables and their

unique assignment to the different states.

State Q1 Q0Init 0 0S 0 0 1S 01 1 1S 011 1 0

Page 55: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked Synchronous State Machine Design Transition/output table

Input Output

Q 1 Q 0 I Q 1 * Q 0 * Z0 0 0 0 1 00 0 1 0 0 00 1 0 0 1 00 1 1 1 1 01 0 0 1 0 11 0 1 1 0 11 1 0 0 1 01 1 1 1 0 0

Present State Next state

Page 56: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked Synchronous State Machine Design Excitation table.

D J K T0 0 0 0 X 00 1 1 1 X 11 0 0 X 1 11 1 1 X 0 0

Present State Next StateRequired inputs

Page 57: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked Synchronous State Machine Design

Equations derived from the table above: J1 = IQ0

K1 = I’Q0

J0 = I’Q1‘ K0 = IQ1

Z = Q1Q0’

Input OutputQ 1 Q 0 I Q 1 * Q 0 * Z J 1 K 1 J 0 K 0

0 0 0 0 1 0 0 X 1 X0 0 1 0 0 0 0 X 0 X0 1 0 0 1 0 0 X X 00 1 1 1 1 0 1 X X 01 0 0 1 0 1 X 0 0 X1 0 1 1 0 1 X 0 0 X1 1 0 0 1 0 X 1 X 01 1 1 1 0 0 X 0 X 1

Present State Next state Input Excitation

Page 58: Classification of Digital Circuits  Combinational. Output depends only on current input values.  Sequential. Output depends on current input values and

Clocked Synchronous State Machine Design Logic diagram.

J1 = IQ0

K1 = I’Q0

J0 = I’Q1‘ K0 = IQ1

Z = Q1Q0’