Visible to Intel only — GUID: rai1552184871252
Ixiasoft
Visible to Intel only — GUID: rai1552184871252
Ixiasoft
11.4.1.4.1. XML Elements for ATTRIBUTES
XML Element | Description |
---|---|
IS_STALL_FREE | Instructs the Intel® HLS Compiler to remove all stall logic around the RTL module. Set IS_STALL_FREE to "yes" to indicate that the module does not generate stalls internally and it cannot properly handle incoming stalls. The module ignores the stall input. If you set IS_STALL_FREE to "no", the module must properly handle all stall and valid signals. If you set IS_STALL_FREE to "yes", you must also set IS_FIXED_LATENCY to "yes". Also, if the RTL module has an internal state, it must properly handle ivalid=0 inputs. |
IS_FIXED_LATENCY | Indicates whether the RTL module has a fixed latency. Set IS_FIXED_LATENCY to "yes" if the RTL module always takes a known number of clock cycles to compute its output. The value you assign to the EXPECTED_LATENCY element specifies the number of clock cycles. The safe value for IS_FIXED_LATENCY is "no". When you set IS_FIXED_LATENCY="no", the EXPECTED_LATENCY value must be at least 1. For a given RTL module, you may set IS_FIXED_LATENCY to "yes" and IS_STALL_FREE to "no". Such a module produces its output in a fixed number of clock cycles and handles stall signals properly. |
EXPECTED_LATENCY | Specifies the expected latency of the RTL module. If you set IS_FIXED_LATENCY to "yes", set the EXPECTED_LATENCY value to be the exact latency of the module. Otherwise, the Intel® HLS Compiler generates incorrect hardware. For a module with variable latency, the Intel® HLS Compiler balances the pipeline around this module to the EXPECTED_LATENCY value that you specify. For modules that can stall and require use of signals such as iready, the EXPECTED_LATENCY value must be set to at least 1. The specified value and the actual latency might differ for a module with variable latency, which might affect the number of stalls inside the pipeline. However, the resulting hardware is functionally correct. |
CAPACITY | Specifies the number of multiple inputs that this module can process simultaneously. You must specify a value for CAPACITY if you also set IS_STALL_FREE="no" and IS_FIXED_LATENCY="no". Otherwise, you do not need to specify a value for CAPACITY. If CAPACITY is strictly less than EXPECTED_LATENCY, the Intel® HLS Compiler automatically inserts capacity-balancing FIFO buffers after this module when necessary. A conservative but safe value for CAPACITY is 1. |
HAS_SIDE_EFFECTS | Indicates whether the RTL module has side effects. Modules that have internal states or communicate with external memories are examples of modules with side effects. Set HAS_SIDE_EFFECTS to "yes" to indicate that the module has side effects. Specifying HAS_SIDE_EFFECTS to "yes" ensures that optimization efforts do not remove calls to modules with side effects. Stall-free modules with side effects (that is, IS_STALL_FREE="yes" and HAS_SIDE_EFFECTS="yes") must properly handle ivalid=0 input cases because the module might receive invalid data occasionally. A conservative but safe value for HAS_SIDE_EFFECTS is "yes". This element along with the ALLOW_MERGING element allow the Intel® HLS Compiler to perform certain optimizations. For details, see Interaction Between ALLOW_MERGINGand HAS_SIDE_EFFECTS Elements. |
ALLOW_MERGING | Indicates that the compiler can merge multiple instances of this RTL module. Set ALLOW_MERGING to "yes" to allow merging of multiple instances of the module. Intel® recommends setting ALLOW_MERGING to "yes". The safe value for ALLOW_MERGING is "no". Marking the module with HAS_SIDE_EFFECTS="yes" does not prevent merging.This element along with the HAS_SIDE_EFFECTS element allow the Intel® HLS Compiler to perform certain optimizations. For details, see Interaction Between ALLOW_MERGINGand HAS_SIDE_EFFECTS Elements. |
PARAMETER | Specifies the value of an RTL module parameter. PARAMETER attributes:
The value for an RTL module parameter can be specified using either a value or a type attribute. |