Visible to Intel only — GUID: ewa1462826128514
Ixiasoft
Visible to Intel only — GUID: ewa1462826128514
Ixiasoft
4.6. Stable Component Parameters
If the corresponding argument for a parameter does not change while your component executes, you can mark the parameter as stable. The arguments for a stable parameter can still change after all active component invocations have finished (that is, the component datapath is flushed). If an argument changes while there are active component invocations in progress, your component enters an undefined state and behaves unpredictably.
Declare an interface parameter to be stable with the hls_stable_argument attribute.
- Scalar (conduit) parameters
- Pointer interface parameters
The address conduit input is stable. The associated Avalon MM Host interface is not affected.
- Pass-by-reference parameters
The address conduit input is stable. The associated Avalon MM Host interface is not affected.
- Avalon® Memory-Mapped (MM) Host interface parameters
The address conduit input is stable. The associated Avalon MM Host interface is not affected.
- Avalon® Memory-Mapped (MM) Agent register interface parameters
The data is stored in the CSR, but not registered in the component data path.
- Avalon® Memory-Mapped (MM) Agent memory interface parameters
- Avalon® Streaming interface parameters
You might save some FPGA area in your component design when you declare an interface argument as stable because the data is not registered throughput.
You cannot have two component invocations in flight with different stable arguments between the two component invocations.
Attribute | Description |
---|---|
hls_stable_argument | A stable parameter is a parameter that does not change while there is live data in the component (that is, the argument does not change between pipelined function invocations). |