Digital systems design with FPGAs and CPLDs - Grout, Ian (UK Elsevier, 2008)