syn.directive.occurrence - syn.directive.occurrence - 2026.1 English - UG1702

Vitis Reference Guide (UG1702)

Document ID
UG1702
Release Date
2026-06-23
Version
2026.1 English

Description

The OCCURRENCE pragma or directive specifies the following when pipeling functions and loops. The code in a pipelined function call within the pipelined function or loop executes at a lower rate than the surrounding function or loop. Executing at a lower rate allows the pipelined call to pipeline at a lower rate and potentially shared within the top-level pipeline. For example:

  • A loop iterates N times.
  • A conditional statement protests part of the loop and only executes M times. N is an integer multiple of M.
  • The conditional with an occurrence of N/M protects the code.

Identifying a region with an OCCURRENCE rate allows the tool to pipeline functions and loops at a slower initiation interval than the enclosing scope.

Syntax

syn.directive.occurrence=[OPTIONS] <location>
  • <location> specifies the block of code containing the pipelined function call(s) with a slower rate of execution.

Options

cycle=<int>
Specifies the occurrence N/M.
  • N is the number of times the enclosing function or loop executes.
  • M is the number of times the conditional region executes.
Important: N must be an integer multiple of M.
off=true
Disable occurrence for the specified function.

Examples

Region Cond_Region in function foo has an occurrence of 4. It executes at a rate four times slower than the code that encompasses it.

syn.directive.occurrence=cycle=4 foo/Cond_Region