Vitis Unified Backend#1376
Conversation
…i wrapper for vitisUnified partial backend and build the skeleton code for other generation section
…ns and driver templates. - Added support for the Vitis Unified backend to include a new JSON file for supported boards. - Updated the VitisUnifiedBackend class to dynamically load board configurations from the new JSON file. - Introduced new driver templates for both AXI Master and AXI Stream modes. - Refactored existing code to accommodate the new configuration structure and ensure compatibility with the updated driver templates. - Updated test cases. This commit makes VitisUnified backend more similar to VivadoAccelerator.
Vitis Unified PR ready changes
…tream and enable auto-restart feature on the kernel
… waiting ctrl system
|
An updated version of the tutorial can be found at Tanawin1701d/vitis_unified_backend_tutorial. I have successfully used it to build and run a Keras model with |
|
Some issues regarding the Vitis Unified backend: 1.
|
Description
VitisUnified backend
Motivation
Summarized features
/tools/Xilinx/Vitis/2023.2/base_platformshttps://github.com/Xilinx/Vitis-Tutorials/tree/2025.1/Vitis_Platform_Creation/Design_Tutorials/01-Edge-KV260Type of change
For a new feature or function, please create an issue first to discuss it
with us before submitting a pull request.
Note: Please delete options that are not relevant.
Tests
test/pytest/test_backend/vitis_unified.pywith 4 main aspectbridge test
VitisUnifiedwithVitiscosimulation
fifo test optimization
hardware test
test_gen_unifiedintest reproduce
test/pytest/test_backend/vitis_unified.pyfiletest_gen_unified), you should specify XPFM_PATH(path to xpfm file) to the correct place.LOG_STD == True, HLS4ML will give the HLS+linker compiling message @ console.<output_project_dir>/<prefix>_err.logor<output_project_dir>/<prefix>_out.logTest Configuration:
Checklist
pre-commiton the files I edited or added.implementation detail
file generation(HLS4ML generated file) prepare file for system Generation and pynq driversynthesis Kernel(Synthesis Kernel (v++)) do c-synthesis for HLS4ML modellinker(Linker+vivado+Bitfile+hwh)File structure
template structure
hls4ml/templates/vitis_unifiedoutput file structure
configuration
input_typeandoutput_typeare support only float and double. And it must be match{in/out}_stream_buf_sizeunit is in amount elements of thennet::arrayxpfmPath
note to developer
unifiedWorkspace. The IDE will automatically detect your projectinput_type/output_typewas set totype x(double or float), you cannot predict with numpy array with different input/output typedepthargument @axi_master write@<project_name>_dm.cppmust be match of the array size generated the output array@ ````myproject_test.cpp``` for cosim and csim.<project_folder>/unifiedWorkspace/linker/_x/link/vivado/vpl/prjnote to tutorial
https://github.com/Tanawin1701d/vitisUnifiedTutorialgenerated warning
unused parameter,deprecated pragma,dataflow conflict