AR# 47509


Vivado HLS 2012.2: Why is the AP_ready port not written out?


Why is the AP_ready port not written out?


If the function is pipelined, or if the top-level loop is pipelined with the -rewind option, an additional output port ap_ready is created to indicate when new inputs can be applied.

If inputs can be continuously streamed, ap_ready is no longer necessary and will be optimized out. 

In Vivado HLS 2012.3 and later, ap_ready will always be generated except in the following conditions:

  • If the design is combinational.
  • If users set the function protocol to ap_ctrl_none.

In Vivado HLS 2012.2 and before, ap_ready will be generated in the following scenarios: 

  • For functional pipelines
  • For loop pipelines with a "-rewind" option.


Vivado HLS generates ap_ready only when it can be pipelined. 

If users try to apply a pipeline directive to a non-pipelinable design, ap_ready is not generated.

  • Do not generate ap_ready for loop pipelines without "-rewind"
  • Do not generate for dataflow designs.
  • Do not generate ap_ready when "ap_ctrl_none" is applied
  • Only generate ap_ready at top-level.

Linked Answer Records

Master Answer Records

Answer Number Answer Title Version Found Version Resolved
47431 Xilinx Vivado HLS Solution Center - Design Assistant N/A N/A
AR# 47509
Date 06/25/2014
Status Active
Type Solution Center
People Also Viewed