Constraints - 2023.1 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.1 English

Should it be necessary to apply constraints within the FIR instance to achieve successful mapping of the design, you need to know the internal instance names for graph and kernel names. See Internal structure of FIR with TP_SSR=4 and TP_CASC_LEN=2.

Each FIR variant has a variety of access methods to help assign a constraint on a kernel and/or a net, e.g.:

  • getKernels() which returns a pointer to an array of kernel pointers, or
  • getInNet() which returns a pointer to a net indexed by method’s argument(s).

More details are provided in the API Reference Overview.

An example of how to use this is given in the section Code Example including constraints. When configured for SSR operation, the FIR as a two-dimensional array (paths x phases) of units which are themselves FIRs, though each atomic FIR in this structure may itself be a series of kernels as described by TP_CASC_LEN. The access function getKernels() returns a pointer to the array of kernels within the SSR FIR. This array will have TP_SSR * TP_SSR * TP_CASC_LEN members. The index in the array is determined by its path number, phase number and cascade position as shown in the following equation.

Kernel Index = Kernel Path * TP_SSR * TP_CASC_LEN + Kernel Phase * TP_CASC_LEN + Kernel Cascade index

For example, in a design with TP_CASC_LEN=2 and TP_SSR=3, the first kernel of the last path would have index 12.

The nets returned by the getInNet() function can be assigned custom fifo_depths values to override the defaults.