Combinational and sequential logic a hand-on approach using programmable logic - Rice, Martin (Prentice Hall, 2001)