First read and understand every concepts given in the specification.
then plan your project how to start and then draw a block diagram for your design.
write pseudocode and then start your project.
try to minimize the code as much as possible for eliminating synthesis error