Digital systems design with FPGAs and CPLDs. (2011)