Using --freqhz for Clock Management - 2023.2 English

Vitis Unified Software Platform Documentation: Application Acceleration Development (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 English

In the common comand-line flow the Vitis compiler supports a single approach to clock management using the v++ --freqhz option. It is supported for AI Engine graph compilation, HLS component synthesis, and System project linking.

The process for managing clock frequencies in AI Engine components, HLS components, or System projects includes the following:

Default values
  • --part: The device doesn't contain a default clock, so the default depends upon whether you are targeting HLS, AI Engine, or system linking as described below.
  • --platform: A platform specifies a default clock, which is passed to the v++ option. You can override the default platform clock by using the --freqhz option.
v++ -c --mode aie
  • --part: The default clock is ¼ of the AI Engine PLL frequency.
  • --platform: The default clock is derived from the platform, and can be overridden using the --freqhz option.
v++ -c --mode aie --platform  <pfm_name> --freqhz=200000000.. aie/graph.cpp
v++ -c --mode hls
  • --part: The default clock is derived from --hls.clock=10ns.
  • --platform: The default clock is derived from the platform, and can be overridden using the --freqhz option. Specifying a different --hls.clock frequency will result in an error during the v++ --mode hls option.
v++ -c --mode hls –platform <pfm_name> --freqhz=150000000 –config hls.cfg
v++ -c -k
  • --part: This is unsupported for v++ -c -k. The default clock is defined by the platform.
  • --platform: The default clock is derived from the platform, and can be overridden using the --freqhz option.
v++ -c -k vadd –platform <pfm_name> --freqhz=150000000
v++ --link
  • --part: For Versal devices, the --part option specifies a default value of 300 MHz. For other devices, --part is unsupported. A default clock is defined by the platform.
  • --platform: The default clock is derived from the platform, and can be overridden using the --freqhz option.
v++ -l -t hw –platform <pfm_name> --freqhz=200000000:mm2s \
--freqhz=200000000:s2mm –config system.cfg