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