Microchip-Vectorblox / VectorBlox-SoC-Video-Kit-Demo

0 stars 0 forks source link

PolarFire® SoC Video Kit VectorBlox Demo Generation Scripts

Table of Contents

Description

This repository can be used to generate a VectorBlox demo using the PolarFire SoC Video Kit. A Libero SoC Tcl script is provided to generate the design using Libero SoC along with device specific I/O constraints.

This repository supports Libero SoC v2023.1, which is available for download here.

Licensing

The Video Kit VectorBlox Design requires two free licences -- Libero SoC Silver License and Libero Soc VectorBlox License. Licensing information is available on the Microchip website here.

Using the VectorBlox design generation Tcl script

Standard design generation

To generate the Vectorblox demo design, the following flow can be used:

  1. Clone or download the repository
  2. Open Libero v2023.1
  3. Open the execute script dialog (CTRL + U)
  4. Execute the "MPFS_VIDEO_KIT_REFERENCE_DESIGN.tcl" script
  5. Configure the design if required
  6. Run the Libero SoC design flow to program a device

Arguments supported

Below arguments are supported to modify or configure aspects of the design flow that will be run. Supported arguments are:

Argument Description
HSS_UPDATE Downloads the HSS release hex file associated with this release of the reference design.
The hex file is added as an eNVM client in Libero.
This argument requires wget to be installed.
This is installed by default on most Linux systems, on Windows® wget (version 1.14 or above)
should be installed and added to the system path, steps are shown in the following guide
SYNTHESIZE Runs the synthesis step after design generation has completed
PLACEROUTE Runs the synthesis and place and route steps after design generation has completed
VERIFY_TIMING Runs the synthesis, place and route and timing verification steps after design generation has completed
GENERATE_PROGRAMMING_DATA Generates the files required to generate a bitstream for programming a device
EXPORT_FPE Runs the full design flow after generating a design and exports a FlashPro Express file to the local directory

Programming the FPGA

Once the script has completed the design can be configured further if needed and the Libero SoC design flow can be run by double clicking on a stage in the design flow on the left hand side of Libero. Selecting an option requiring previous steps to be completed will run the full flow, i.e double clicking "Run Program Action" will run any required steps, such as, "Synthesize", "Place and Route", etc and then program the device.

Alternatively, the provided .job files can be used to program the board via FlashPro Express

Board configuration

Setting up the jumpers on the PolarFire SoC Video Kit, refer to the Video Kit user's guide. The latest Linux images for the PolarFire SoC Video Kit are available from the releases section of the Meta PolarFire SoC Yocto BSP repository.

In addition, connect an ethernet cable to either ethernet port (an internet connection is required to download the SDK and sample networks) and plug in an HDMI input into J13, and an HDMI output into J14

Flashing Yocto Linux

Program the 2023.02.1 Yocto image EXTRACTED, then power cycle and ensure Yocto Linux boots (on MMUART1).

On Windows, the Yocto image can be programmed via USBImager.
For detailed documentation please refer to PolarFire SoC Documentation

Building the demo

Controlling the VectorBlox HDMI demo on the PolarFire SoC Video Kit

Samples videos for input to the Faces Recognition and License Plate Recognition modes are available here and here.

Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Raspberry Pi is a trademark of the Raspberry Pi Foundation. All other trademarks are the property of their respective owners.