Elaboration is the compiler phase that translates abstract, parameterized RTL code into a flattened hierarchy of specific logic gates, registers, and wires. The synthesizer resolves parameters, unrolls loops, and instantiates sub-modules to figure out exactly how much hardware is required. If a parameter is set wrong, elaboration is usually where the build fails or explodes into millions of unintended gates.
Heard on the job
The synthesis run crashed during elaboration because the generate loop didn't have a static boundary.