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