Hierarchical Design (HD) flows enable you to partition a design into smaller, more manageable modules to be processed independently. The hierarchical design flow involves proper module interface design, constraint definition, floorplanning, and some special commands and design techniques.
Using a modular approach to the hierarchical design lets you analyze modules independent of the rest of the design, and reuse modules in the top-down design. A team of users can iterate on specific sections of a design, achieving timing closure and other design goals, and reuse the results.
There are several Vivado features that enable a hierarchical design approach, such as the synthesis of a logic module outside of the context (OOC) of the top-level design. You can select specific modules, or levels of the design hierarchy, and synthesize them OOC. Module-level constraints can be applied to optimize and validate module performance. The module design checkpoint (DCP) will then be applied during implementation to build the top-level netlist. This method can help reduce top-level synthesis runtime, and eliminate re-synthesis of completed modules.