Vitis Software Platform Workflow - 3.0 English - PG278

Video Frame Buffer Read and Video Frame Buffer Write LogiCORE IP Product Guide (PG278)

Document ID
PG278
Release Date
2025-05-29
Version
3.0 English
  1. Open the Vitis application. Set workspace path by selecting Get Started > Set Workspace. Generated by Your Tool
  2. Create the platform component by selecting Embedded Development > Create Platform Component.
  3. Enter the Component name and Component location in the pop-up window and click Next. Generated by Your Tool
  4. Select the required XSA.
    Generated by Your Tool
  5. Select the Operating System, Processor, and Compiler. Generated by Your Tool
  6. Review the summary and click Finish.
  7. Once the platform component is created, switch to the welcome panel, and select the Create Empty Embedded Application option in Embedded Development > Create Platform Component. Generated by Your Tool
  8. Choose the Component name and Component location in the pop-up window. Select Next. Generated by Your Tool
  9. Select the required Platform in the hardware tab and click Next. Generated by Your Tool
  10. Choose the domain from the available domains. Generated by Your Tool
  11. Add source files or skip for now, review the summary, and click Finish.
  12. If skipped in the previous step, import the source files into the app component by right clicking on sources and selecting Import > Files.
    Generated by Your Tool
  13. Import the required files.
    Generated by Your Tool
  14. Build the project by selecting Flow > Build. When prompted for Platform build, select Yes. Generated by Your Tool
  15. Once the build is complete, check the Output folder for the elf file. Generated by Your Tool

The example application design source files (contained within the examples folder) are tightly coupled with the example design available in Vivado Catalog.

The v_frmbuf_rd_example.tcl and v_frmbuf_wr_example.tcl files automate the process of generating the downloadable bit and elf files from the provided example HDF file.

To run the provided Tcl script:

  1. Copy the exported example design xsa file in the examples directory of the driver.
  2. Launch the AMD Software Command-Line Tool (xsct) terminal.
  3. cd into the examples directory.
  4. Source the tcl file in xsct: %>source vfrmbuf_xx_example.tcl, where xx is rd for Video Frame Buffer Read and wr for Video Frame Buffer Write.
  5. Execute the script: xsct%>vfrmbuf_xx_example <xsa_file_name.xsa>

The Tcl script performs the following:

  • Create workspace
  • Create hardware project
  • Create Board Support Package
  • Create Application Project
  • Build BSP and Application Project

After the process is complete, the required files are available in:

bit file -> v_frmbuf_xx_exa/ folder.

elf file -> v_frmbuf_xx_ex/sdk/xv_frmbuf_xx_example_1/{Debug/Release} folder.

Next, perform the following steps to run the software application:

Important: To do so, ensure that the hardware is powered on and a Digilent Cable or a USB Platform Cable is connected to the host PC. Also, ensure that a USB cable is connected to the UART port of the KC705 board.
  1. Launch the Vitis software platform.
  2. Set workspace to vfrmbuf_xx_example.sdk folder in prompted window. The SDK project opens automatically. (If a welcome page displays, close it.)
  3. Download the bitstream into the FPGA by selecting Xilinx Tools > Program FPGA. The Program FPGA dialog box opens.
  4. Ensure that the Bitstream field shows the bitstream file generated by the Tcl script, then click Program.
    Note: The DONE LED on the board turns green if the programming is successful.
  5. A terminal program (such as Hyper Terminal or Putty) is needed for UART communication. Open the program, choose the appropriate port, set the baud rate to 115200, and establish a Serial port connection.
  6. Select and right-click the application vfrmbuf_xx_example_design in the Project_Explorer panel.
  7. Select Run As > Launch on Hardware (GDB).
  8. Select Binaries and Qualifier in the window and click OK.The example design test results are shown in the terminal program.
When executed on the board, the operations are listed in the readme.txt in the examples folder. Video inputs tested are 4Kp60, 4Kp30, 1080p, and 720p.