Port-Level I/O: No Protocol - 2023.2 English

Vitis High-Level Synthesis User Guide (UG1399)

Document ID
Release Date
2023.2 English

The ap_none specifies that no I/O protocol be added to the port. When this is specified the argument is implemented as a data port with no other associated signals. The ap_none mode is the default for scalar inputs.


The ap_none port-level I/O protocol is the simplest interface type and has no other signals associated with it. Neither the input nor output data signals have associated control ports that indicate when data is read or written. The only ports in the RTL design are those specified in the source code.

An ap_none interface does not require additional hardware overhead. However, the ap_none interface does requires the following:

  • Producer blocks to do one of the following:
    • Provide data to the input port at the correct time, typically before the design starts.
    • Hold data for the length of a transaction until the design raises the ap_ready signal.
  • Consumer blocks to read output ports when the design is done, and before it is started again.
Note: The ap_none interface cannot be used with array arguments.