In most cases, the Vitis environment completely abstracts away the underlying process of synthesis and implementation of the programmable logic region, as the CUs are linked with the hardware platform and the FPGA binary (xclbin) is generated. This removes the application developer from the typical hardware development process, and the need to manage constraints such as logic placement and routing delays. The Vitis tool automates much of the FPGA implementation process.
However, in some cases you might want to exercise some control over
the synthesis and implementation processes deployed by the Vitis compiler, especially when large designs are being implemented.
Towards this end, the Vitis tool offers some
control through specific options that can be specified in a v++
configuration file, or from the command line. The following are
some of the methods you can interact with and control the Vivado synthesis and implementation results.
- Using the
--vivado
options to manage the Vivado tool. - Using multiple implementation strategies to achieve timing closure on challenging designs.
- Using the
-to_step
and-from_step
options to run the compilation or linking process to a specific step, perform some manual intervention on the design, and resume from that step. - Interactively editing the Vivado project, and using the results for generating the FPGA binary.