The "TRACE" chapter of the ISE "Development System Reference Guide" describes the Trace Report (timing report).
This is basically how I deal with timing:
First I add timing constraints to my design. Very important!
Then I synthesize it, route it, and run Trace (the timing analyzer). If the timing report shows zero timing errors and "all constraints were met", then the design is good to go, with no setup or hold violations or other timing problems. If Trace detects some problems, then the timing report gives details about the worst offenders. Of course, to get an accurate report, I must use comprehensive timing constraints.