Hardware Design Verification by Paul Peterson, William Lam & William K.C. Lam