Sequential circuit synthesis using hazards and delays