Professional Documents
Culture Documents
One-Hot Encoded Finite State Machines: Ecen 224
One-Hot Encoded Finite State Machines: Ecen 224
CLK
Q1
Q0’
InB N0 Q0
D Q
Q1’ Logic Used:
Q0’
InA • 9 gates
• 21 gate inputs
CLK • 2 flip flops
Q1’
Q0
Z
Q1
Q0’
InB’
ECEn 224 17 ONEHOT © 2003-2008
Page 5 BYU
One-Hot Implementation
A
InA’ B
B NA InA NC
D Q A D Q C
InA’ C
D InB’
CLK CLK
NB ND
A C
D Q B D Q D
InA InB
CLK B CLK
Logic Used: Z
C
• 9 gates
• 19 gate inputs
• 4 flip flops
x’
A
x State Encoding
y’z
A 100
B y’z’
B 010
C 001
y
NA D Q A
With one-hot encoding, each
state has its own flip flop.
State Encoding
A 100 ‘A’ is the name of a state
NB D Q B and it is the name of the
B 010
wire coming out of the flip
C 001
flop for state ‘A’.
B y’z’
NA = A•x’ + B•y’z + C
B y’z’
NA = A•x’ + B•y’z + C
B y’z’
NA = A•x’ + B•y’z + C
B y’z’
NA = A•x’ + B•y’z + C
y
Similar reasoning leads to:
C NB = A•x + B•y’z’
NC = B•y
NA = (PUSHED’•A) + (ECNT3’•E)
+ (WAITDONE•F)
+ (LOCKED•D)
NB = (PUSHED’•B)+(PUSHED•7•A)
NC = (PUSHED’•C)+(PUSHED•8•B)
ND = (LOCKED’•D)+(PUSHED•9•C)
NE = (PUSHED•7’•A)
+ (PUSHED•8’•B)
+ (PUSHED•9’•C)
NF = (ECNT3•E)
+ (WAITDONE’•F)
ERROR =
ERROR = E
INC =
ERROR = E
INC = (PUSHED•7’•A)
+ (PUSHED•8’•B)
+ (PUSHED•9’•C)
CLRTIMER =
ERROR = E
INC = (PUSHED•7’•A)
+ (PUSHED•8’•B)
+ (PUSHED•9’•C)
CLRTIMER = ECNT3•E
CLRCNTR =
ERROR = E
INC = (PUSHED•7’•A)
+ (PUSHED•8’•B)
+ (PUSHED•9’•C)
CLRTIMER = ECNT3•E
CLRCNTR = (WAITDONE•F)
+ (LOCKED•D)
UNLOCK =
ERROR = E
INC = (PUSHED•7’•A)
+ (PUSHED•8’•B)
+ (PUSHED•9’•C)
CLRTIMER = ECNT3•E
CLRCNTR = (WAITDONE•F)
+ (LOCKED•D)
UNLOCK = (PUSHED•9•C)