Sequential circuits vs. combinational
Comparison to combinational
Combinational circuits implement Boolean functions
Input ---> output, no memory
Only data inputs and control inputs determine the output
Example: Coke (um, Pepsi) machine
Assume: price 75 cents, machine only accepts quarters
Action:
deposit quarter ---> no output
deposit quarter ---> no output
deposit quarter ---> drink delivered
Notice that the output was not always the same for the same input
This is not a Boolean function (combinational circuit)
Memory was used to determine output along with input
Example: linked list object
call list.size() method
What is input?  empty
Does it always return same value?
No, its output is the current length of the linked list
Sequential circuit
Inputs: values x, labelled with subscripts
Outputs: values z, labelled with subscripts
Uses clock, unlike combinational circuit
State
made up of devices called flip-flops
k flip-flops store a k-bit number representing the current state
values denoted by q with subscripts
Output z computed from
inputs x
state q
Needed:
store current state
update to new state
Circuit elements
Combinational logic
Clock
State storage
Example
state  input output new state
00 1 10 11