Writing testbenches using system verilog - Bergeron, Janick (Springer, 2006)