Hierarchical design (HD) flows let you partition a design into smaller modules for independent processing. This flow requires proper module interface design, constraint definition, floorplanning, and specific commands and design techniques.
Using a modular approach allows you to analyze modules separately, reuse them in a top-down design, and meet timing closure and other goals.
Vivado supports hierarchical design with features such as synthesizing logic modules outside of the context (OOC) of the top-level design. You can select specific modules or design levels and synthesize them OOC. Apply module-level constraints to optimize and validate module performance, then use the module design checkpoint (DCP) during implementation to build the top-level netlist. This approach reduces top-level synthesis runtime and prevents re-synthesis of completed modules.