The directory structure generated by the command-line flow has been organized to let you easily find and access files from the project. By navigating the various compile, link, logs, and reports directories, you can easily find generated files. Similarly, each kernel also has a directory structure created.
v++
options:
-–temp_dir <dir_name>
--log_dir <dir_name>
-–report_dir <dir_name>
When using v++
on the command line, by
default it creates a directory structure during compile and link. The
.xo and xclbin files are
always generated in the current working directory. All the intermediate files are
created under the directory specified by the --temp_dir
option, which defaults to _x
when --temp_dir
is not specified. The link, logs, and
reports directories default to inside of the
temp_dir
, and contain the respective information
on the builds.
## Kernel Compilation command:
v++ -c -t sw_emu --platform xilinx_u200_gen3x16_xdma_2_202110_1 --config ./src/u200.cfg \
-k vadd -I./src ./src/vadd.cpp -o hw_emu/vadd.xo
## Device Binary Linking Command:
v++ -l -t sw_emu --platform xilinx_u200_gen3x16_xdma_2_202110_1 --config ./src/u200.cfg \
hw_emu/vadd.xo -o hw_emu/vadd.xclbin
The u200.cfg file defines the following options:
debug=1
save-temps=1
[connectivity]
nk=vadd:1:vadd_1
sp=vadd_1.in1:DDR[1]
sp=vadd_1.in2:DDR[2]
sp=vadd_1.out:DDR[1]
[profile]
data=all:all:all
An example of the temp_dir output of the
v++
link command follows:
├── link
│ ├── activetask.json
│ ├── int
│ │ ├── address_map.xml
│ │ ├── appendSection.rtd
│ │ ├── automation_summary.txt
│ │ ├── automation_summary_update_bd.txt
│ │ ├── behav_waveform
│ │ │ └── xsim
│ │ │ ├── compile.log
│ │ │ ├── compile.sh
│ │ │ ├── dr_behav.protoinst
│ │ │ ├── dr_behav.wcfg
│ │ │ ├── elaborate.log
│ │ │ ├── elaborate.sh
│ │ │ ├── glbl.v
│ │ │ ├── launch_hw_emu.sh
│ │ │ ├── libdpi.so
│ │ │ ├── pfm_top_wrapper.tcl
│ │ │ ├── pfm_top_wrapper_vhdl.prj
│ │ │ ├── pfm_top_wrapper_vlog.prj
│ │ │ ├── pfm_top_wrapper_xsc.prj
│ │ │ ├── post_sim_tool_scripts.tcl
│ │ │ ├── preprocess_profile.tcl
│ │ │ ├── pre_sim_tool_scripts.tcl
│ │ │ ├── prj.smi
│ │ │ ├── profile.tcl
│ │ │ ├── protoinst_files
│ │ │ ├── run.sh
│ │ │ ├── sc_xtlm_bd_d216_interconnect_DDR4_MEM01_0.mem
│ │ │ ├── sc_xtlm_bd_d216_interconnect_M00_AXI_MEM00_0.mem
│ │ │ ├── sc_xtlm_pfm_dynamic_smartconn_data_0_0.mem
│ │ │ ├── sc_xtlm_pfm_top_smartconnect_0_0.mem
│ │ │ ├── simulate.log
│ │ │ ├── simulate.sh
│ │ │ ├── vitis_params.tcl
│ │ │ ├── waveform_debug_enable.txt
│ │ │ ├── xelab.pb
│ │ │ ├── xsc.log
│ │ │ ├── xsc.pb
│ │ │ ├── xsim.dir
│ │ │ ├── xsim.ini
│ │ │ ├── xsim.ini.bak
│ │ │ ├── xvhdl.log
│ │ │ ├── xvhdl.pb
│ │ │ ├── xvlog.log
│ │ │ └── xvlog.pb
│ │ ├── behav.xse
│ │ ├── cf2sw_full.rtd
│ │ ├── cf2sw.rtd
│ │ ├── debug_ip_layout.rtd
│ │ ├── dr.bd.tcl
│ │ ├── kernel_info.dat
│ │ ├── _kernel_inst_paths.dat
│ │ ├── kernel_service.json
│ │ ├── _new_clk_freq
│ │ ├── sdsl.dat
│ │ ├── syslinkConfig.ini
│ │ ├── systemDiagramModel.json
│ │ ├── systemDiagramModelSlrBaseAddress.json
│ │ ├── system.hdf
│ │ ├── vadd_build.rtd
│ │ ├── vadd.rtd
│ │ ├── vadd.xml
│ │ ├── vadd_xml.rtd
│ │ ├── vplConfig.ini
│ │ ├── vplsettings.json
│ │ ├── xclbin_orig.1.xml
│ │ ├── xclbin_orig.xml
│ │ ├── xclbin_orig.xml.tmp
│ │ └── xo
│ │ ├── ip_repo
│ │ └── vadd
│ │ └── vadd
│ │ ├── cpu_sources
│ │ │ └── vadd.cpp
│ │ ├── debug
│ │ │ ├── vadd_Pipeline_VITIS_LOOP_13_1.xrf
│ │ │ ├── vadd.protoinst
│ │ │ └── vadd.xrf
│ │ ├── kernel.xml
│ │ └── vadd.design.xml
│ ├── link.spr
│ ├── link.steps.log
│ ├── run_link
│ │ ├── gen_run.xml
│ │ ├── htr.txt
│ │ └── vpl.pb
│ ├── sys_link
│ │ ├── cfgraph
│ │ │ └── cfgen_cfgraph.xml
│ │ ├── dr.xml
│ │ ├── hw_emu.hpfm
│ │ ├── iprepo
│ │ │ ├── temp
│ │ │ │ └── xo0
│ │ │ │ ├── ip_repo
│ │ │ │ ├── vadd
│ │ │ │ │ ├── cpu_sources
│ │ │ │ │ │ └── vadd.cpp
│ │ │ │ │ ├── debug
│ │ │ │ │ │ ├── vadd_Pipeline_VITIS_LOOP_13_1.xrf
│ │ │ │ │ │ ├── vadd.protoinst
│ │ │ │ │ │ └── vadd.xrf
│ │ │ │ │ └── kernel.xml
│ │ │ │ └── xo.xml
│ │ │ └── xilinx_com_hls_vadd_1_0
│ │ │ ├── auxiliary.xml
│ │ │ ├── component.xml
│ │ │ ├── constraints
│ │ │ │ └── vadd_ooc.xdc
│ │ │ ├── doc
│ │ │ │ └── ReleaseNotes.txt
│ │ │ ├── drivers
│ │ │ │ └── vadd_v1_0
│ │ │ │ ├── data
│ │ │ │ │ ├── vadd.mdd
│ │ │ │ │ └── vadd.tcl
│ │ │ │ └── src
│ │ │ │ ├── Makefile
│ │ │ │ ├── xvadd.c
│ │ │ │ ├── xvadd.h
│ │ │ │ ├── xvadd_hw.h
│ │ │ │ ├── xvadd_linux.c
│ │ │ │ └── xvadd_sinit.c
│ │ │ ├── example
│ │ │ │ ├── ipi_example.sh
│ │ │ │ └── ipi_example.tcl
│ │ │ ├── hdl
│ │ │ │ ├── verilog
│ │ │ │ │ ├── vadd_aximm1_m_axi.v
│ │ │ │ │ ├── vadd_aximm2_m_axi.v
│ │ │ │ │ ├── vadd_control_s_axi.v
│ │ │ │ │ ├── vadd_flow_control_loop_pipe_sequential_init.v
│ │ │ │ │ ├── vadd.v
│ │ │ │ │ └── vadd_vadd_Pipeline_VITIS_LOOP_13_1.v
│ │ │ │ └── vhdl
│ │ │ │ ├── vadd_aximm1_m_axi.vhd
│ │ │ │ ├── vadd_aximm2_m_axi.vhd
│ │ │ │ ├── vadd_control_s_axi.vhd
│ │ │ │ ├── vadd_flow_control_loop_pipe_sequential_init.vhd
│ │ │ │ ├── vadd_vadd_Pipeline_VITIS_LOOP_13_1.vhd
│ │ │ │ └── vadd.vhd
│ │ │ ├── hls_files
│ │ │ │ └── vadd
│ │ │ │ └── solution
│ │ │ │ ├── solution.aps
│ │ │ │ ├── solution_data.json
│ │ │ │ ├── solution.directive
│ │ │ │ └── syn
│ │ │ │ └── report
│ │ │ │ ├── csynth.rpt
│ │ │ │ ├── csynth.xml
│ │ │ │ ├── vadd_csynth.rpt
│ │ │ │ └── vadd_Pipeline_VITIS_LOOP_13_1_csynth.rpt
│ │ │ ├── misc
│ │ │ ├── sysgen_info.xml
│ │ │ ├── vadd.fcnmap.xml
│ │ │ ├── vadd_info.xml
│ │ │ └── xgui
│ │ │ └── vadd_v1_0.tcl
│ │ ├── sc_emu_debug.tcl
│ │ ├── sdsl.dat
│ │ └── _sysl
│ └── vivado
│ ├── vivado.spr
│ └── vpl
│ ├── gen_run.xml
│ ├── htr.txt
│ ├── ipirun.tcl
│ ├── ISEWrap.js
│ ├── ISEWrap.sh
│ ├── link_ip_guidance.txt
│ ├── openprj.tcl
│ ├── output
│ │ ├── insert_debug_profiling.tcl
│ │ ├── pfm_dynamic_ooc_copy.xdc
│ │ ├── _post_sys_link_gen_constrs.xdc
│ │ └── vivado_warning.txt
│ ├── prj
│ │ ├── prj.cache
│ │ ├── prj.gen
│ │ ├── prj.hw
│ │ ├── prj.ip_user_files
│ │ ├── prj.sim
│ │ │ └── sim_1
│ │ │ └── behav_waveform
│ │ │ └── xsim
│ │ ├── prj.srcs
│ │ │ └── sources_1
│ │ │ ├── bd
│ │ │ └── imports
│ │ │ └── hdl
│ │ │ └── pfm_top_wrapper.v
│ │ └── prj.xpr
│ ├── rundef.js
│ ├── runme.bat
│ ├── runme.log
│ ├── runme.sh
│ ├── scripts
│ │ └── _vivado_params.tcl
│ ├── vivado_config_hw_emu.tcl
│ ├── vivado.jou
│ ├── vivado.log
│ ├── vivado.pb
│ └── vpl.tcl
├── logs
│ ├── link
│ │ ├── link.steps.log
│ │ └── v++.log
│ ├── optraceViewer.html
│ └── vadd
│ ├── vadd.steps.log
│ ├── vadd_vitis_hls.log
│ └── v++.log
├── reports
│ ├── link
│ │ ├── automation_summary.txt
│ │ ├── automation_summary_update_bd.txt
│ │ ├── system_estimate_vadd.xtxt
│ │ └── v++_link_vadd_guidance.html
│ └── vadd
│ ├── hls_reports
│ │ └── vadd_csynth.rpt
│ ├── system_estimate_vadd.xtxt
│ └── v++_compile_vadd_guidance.html
├── vadd
│ ├── vadd
│ │ ├── htr.txt
│ │ ├── ISEWrap.js
│ │ ├── ISEWrap.sh
│ │ ├── rundef.js
│ │ ├── runme.bat
│ │ ├── runme.log
│ │ ├── runme.sh
│ │ ├── vadd
│ │ │ ├── hls.app
│ │ │ ├── ip
│ │ │ │ ├── auxiliary.xml
│ │ │ │ ├── component.xml
│ │ │ │ ├── constraints
│ │ │ │ │ └── vadd_ooc.xdc
│ │ │ │ ├── doc
│ │ │ │ │ └── ReleaseNotes.txt
│ │ │ │ ├── drivers
│ │ │ │ │ └── vadd_v1_0
│ │ │ │ │ ├── data
│ │ │ │ │ │ ├── vadd.mdd
│ │ │ │ │ │ └── vadd.tcl
│ │ │ │ │ └── src
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── xvadd.c
│ │ │ │ │ ├── xvadd.h
│ │ │ │ │ ├── xvadd_hw.h
│ │ │ │ │ ├── xvadd_linux.c
│ │ │ │ │ └── xvadd_sinit.c
│ │ │ │ ├── example
│ │ │ │ │ ├── ipi_example.sh
│ │ │ │ │ └── ipi_example.tcl
│ │ │ │ ├── hdl
│ │ │ │ │ ├── verilog
│ │ │ │ │ │ ├── vadd_aximm1_m_axi.v
│ │ │ │ │ │ ├── vadd_aximm2_m_axi.v
│ │ │ │ │ │ ├── vadd_control_s_axi.v
│ │ │ │ │ │ ├── vadd_flow_control_loop_pipe_sequential_init.v
│ │ │ │ │ │ ├── vadd.v
│ │ │ │ │ │ └── vadd_vadd_Pipeline_VITIS_LOOP_13_1.v
│ │ │ │ │ └── vhdl
│ │ │ │ │ ├── vadd_aximm1_m_axi.vhd
│ │ │ │ │ ├── vadd_aximm2_m_axi.vhd
│ │ │ │ │ ├── vadd_control_s_axi.vhd
│ │ │ │ │ ├── vadd_flow_control_loop_pipe_sequential_init.vhd
│ │ │ │ │ ├── vadd_vadd_Pipeline_VITIS_LOOP_13_1.vhd
│ │ │ │ │ └── vadd.vhd
│ │ │ │ ├── hls_files
│ │ │ │ │ └── vadd
│ │ │ │ │ └── solution
│ │ │ │ │ ├── solution.aps
│ │ │ │ │ ├── solution_data.json
│ │ │ │ │ ├── solution.directive
│ │ │ │ │ └── syn
│ │ │ │ │ └── report
│ │ │ │ │ ├── csynth.rpt
│ │ │ │ │ ├── csynth.xml
│ │ │ │ │ ├── vadd_csynth.rpt
│ │ │ │ │ └── vadd_Pipeline_VITIS_LOOP_13_1_csynth.rpt
│ │ │ │ ├── misc
│ │ │ │ ├── sysgen_info.xml
│ │ │ │ ├── vadd_info.xml
│ │ │ │ └── xgui
│ │ │ │ └── vadd_v1_0.tcl
│ │ │ ├── kernel.xml
│ │ │ ├── kernel.xml.orig
│ │ │ ├── solution
│ │ │ │ ├── impl
│ │ │ │ │ ├── export.xo
│ │ │ │ │ ├── ip
│ │ │ │ │ ├── verilog
│ │ │ │ │ └── vhdl
│ │ │ │ ├── solution.aps
│ │ │ │ ├── solution_data.json
│ │ │ │ ├── solution.directive
│ │ │ │ ├── solution.log
│ │ │ │ └── syn
│ │ │ └── vadd.design.xml
│ │ ├── vadd.tcl
│ │ ├── vitis_hls.log
│ │ └── vitis_hls.pb
│ ├── vadd.spr
│ └── vadd.steps.log
├── v++_compile_vadd_guidance.pb3
└── v++_link_vadd_guidance.pb3