Digital systems engineering - Dally, William J (CUP, 2005)