Now that you have imported the kernels, you need to tell the Vitis linker how to connect everything together.
Create a new System Project component by clicking File > New Component > System Project
Call this system component simple_aie_application_system_project and click Next
In the Select Platform Page:
If you have created the platform following step 1, select the base_pfm_vck190 platform you just created.
If you have skipped step 1, select the VCK190 base platform (xilinx_vck190_base_002320_1) which is part of the Vitis installation.
Skip the Embedded Component Paths page (click Next). This page is used for system running Linux. Our system will be Baremetal.
Click Finish
Open the settings file called vitis-sys.json under simple_aie_application_system_project > Settings and click on Add Existing Components in the Components section at the bottom of the file. Click HLS and select the mm2s and s2mm components.
Click again on Add Existing Components in the Components section at the bottom of the file. Click HLS and select the mm2s and s2mm components.
Now you need to tell the Vitis compiler about the connectivity of the system. This step is done using a configuration file. Still in the settings file vitis-sys.json, under Hardware Link Settings expend binary_container_1 and click on hw_link/binary_container_1-link.cfg
In binary_container_1-link.cfg change the view to Source editor and add the following lines under [connectivity]
```
stream_connect=mm2s_1.s:ai_engine_0.mygraph_in
stream_connect=ai_engine_0.mygraph_out:s2mm_1.s
```
Note that as per the Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393), the naming convention for the compute units (or kernel instances) are <kernel>_#
, where #
indicates the CU instance. Thus, the CU names built corresponding to the kernels mm2s
and s2mm
in your project are respectively mm2s_1
and s2mm_1
. The stream_connect
option is defined as <compute_unit_name>.<kernel_interface_name>:<compute_unit_name>.<kernel_interface_name>
. For example, to connect the AXI4-Stream interface of the mm2s_1
(compute unit name) called s
(kernel interface name) to the mygraph_in
(interface name) input of the graph in the ai_engine_0
(compute unit name) IP you need the following option: stream_connect=mm2s_1.s:ai_engine_0.mygraph_in
.
In the binary_container_1-link.cfg page, change back the view to Settings Forms and enable Export hardware (XSA).