Finite State Machine-Datapath Design, Optimization, And Implementation by Robert Reese & Justin Davis