The DCM didn't lok in simulation beacuse the reset is fixed to '0'.
Add the following line in scratch_isim_tb.vhd will help:
rst <= '1', '0' after 5 * clk_period;
regards