The implementation flow typically begins by loading a synthesized design into memory. Then the implementation flow can run, or the design can be analyzed and refined along with its constraints and the design can be reloaded after updates.
There are two ways to begin the implementation flow with a synthesized design:
- Run Vivado synthesis. In Project Mode, the synthesis run contains the synthesis results and those results are automatically used as the input for implementation run. In Non-Project Mode, the synthesis results are in memory after synth_design completes, and implementation can continue from that point.
- Load a synthesized netlist. Synthesized netlists can be used as the input design source, for example when using a third-party tool for synthesis.
To initiate implementation:
- In Project Mode, launch the implementation run.
- In Non-Project Mode run a script or interactive commands.
To analyze and refine constraints, the synthesized design is loaded without running implementation.
- In Project Mode, you accomplish this by opening the Synthesized Design, which is the result of the synthesis run.
- In Non-Project Mode, you use the
link_designcommand to load the design.
You can also drive the implementation flow using design checkpoints (.dcp) in Non-Project Mode. Opening a checkpoint loads the design and restores it to its original state, which might include placement and routing data. This enables re-entrant implementation flows, such as loading a routed design and editing the routing, or loading a placed design and running multiple routes with different options.