After creating the System project you can select it in the Component Explorer, or choose it from Component drop-down in the Flow Navigator to make it the active component in the tool. Then select Build All under the Software Emulation, Hardware Emulation, or Hardware headings as shown in the following image.
The Build All
option lets you build the Application component as well as the binary container, and the
underlying HLS components and AI Engine components if necessary. The Build All command runs the v++ --link
command and the v++
--package
command to generate the system design from the extensible
platform, and the AI Engine and HLS components.
However, you can also expand the Link section and select Build
Binary Container to build only the .xclbin
or the .xsa. Then you will
also need to expand the Package section and select Build
Package command to complete the build process.
The System project supports three build targets as defined in Build Targets.
- Software Emulation is a build for simulation of the C/C++ code of the application and components in the system.
- Hardware Emulation is a build for simulation of the hardware design in the Vivado logic simulator
- Hardware is a build that is intended to be run on the physical device.
The builds take progressively longer to complete as you move from 1 to 3. The compilation of a C/C++ model is much quicker than the RTL code implemented into hardware through place and route. So you can use the software emulation to quickly iterate on the logic of your design, then move to hardware emulation to get a cycle accurate simulation of the hardware, finally build and run your hardware for the real performance test.
A transcript of the build process is displayed in the Output console, titled with the System project
name and the build target, for example System1::sw_emu
.
When the build is complete you can review the transcript, or the hw_linker.log file written to the <system>/build/<target>/log folder. You
should see Build Finished successfully in the transcript,
or you could see errors reported instead. The Flow
Navigator displays a green circle with a check mark in it, or a
red circle with an x depending on the results of the build. If the build completes with
errors, review the transcript or the log file to determine the cause and rerun the build
as needed.
After a successful build the Flow Navigator will display a series of reports generated during the compilation process. You can access the reports by expanding Reports under the Link and Package sections. The available reports will vary depending on the build target. You can select any of the available reports to view, or switch to the Analysis view to complete a review of the reports. Refer to Working with the Analysis View (Vitis Analyzer) for details.
After the build completes successfully you can choose to Run or Debug the System project as described in the next sections.