TAPA Output Files

TAPA generates various output files depending on the input options provided. This documentation outlines the structure and contents of these files.

XO Object

The primary output of tapa is an XO object, which serves as input for the Vitis v++ compiler for bitstream generation.

In fact, the XO object is a .zip file, which can be unzipped to see the contents. The XO object contains the RTLs corresponding to the C++ source code and configuration files with metadata about the design.

You may unzip the XO object, modify the RTLs, and zip it back to pass it to v++ to customize the design to your needs.

Intermediate Files

When the –work-dir option is used (recommended), TAPA saves intermediate files to the specified directory. The structure is as follows:

work_dir/
├── cpp/
├── log/
├── tar/
├── hdl/
└── graph.json
  1. cpp/ Directory

    • Contains C++ code for each task extracted by tapac.

    • Each file is independently compiled to RTL by vitis_hls.

  2. log/ Directory

    • Stores logs from various processing steps.

    • Includes logs from vitis_hls csynth_design.

  3. tar/ Directory

    • Contains one or more .tar archive files.

    • Each .tar file includes the output of csynth_design for a single task.

  4. hdl/ Directory

    • Stores RTL files for all tasks generated by vitis_hls.

    • Includes TAPA-specific infrastructure RTL.

  5. graph.json

    • JSON file recording all contents and metadata of the input design.