Removed timing violation by slowing DCLK, and tried to make PULSE_EDGE more robust