Computer simulation in Verilog, by Ross Aiken and Michael Tolly