Finite state machines: counter | |||||||||||||||
Use FSM to implement a synchronous counter | |||||||||||||||
2-bit (mod 4) counter |
|
||||||||||||||
starts at 00 | |||||||||||||||
counts up to 11 | |||||||||||||||
resets to 00 after 11 | |||||||||||||||
Finite state machine | |||||||||||||||
state (q): 2 bits, initially 00 | |||||||||||||||
output (z): same as state | |||||||||||||||
input | |||||||||||||||
x = 0: same state | |||||||||||||||
x = 1: increment | |||||||||||||||
Usage | |||||||||||||||
Keeping track of number of bits sent | |||||||||||||||
Program counter (PC) |
|
||||||||||||||
Increments each clock cycle to point to next instruction | |||||||||||||||