Now you are ready to start the synthesis process. The process is divided into two main steps.

In step one you compile the design.
During compilation, several things occur.

The first thing that happens is the design is analyzed. During this phase, HDL files are read into an HDL library.

After the design is analyzed it is elaborated. During this phase, the design is synthesized to technology-independent primitives and operators using design elements from built-in primitives and operator libraries. During elaboration, design hierarchy is maintained.

After the design is elaborated it is pre-optimized. Precision Synthesis performs technology-independent logic optimization, such as constant propagation, resource sharing, removal of unused logic, and so on.

During compilation, finite state machines are detected, extracted, and optimized. Precision Synthesis detects and removes equivalent states, performs logic restructuring, and implements advanced coding styles.

Another thing that occurs during compilation is modgen detection and extraction.
Precision Synthesis creates efficient technology-specific implementations of arithmetic and relational operators, counters, and memory.