Cyclone® V Hard Processor System Technical Reference Manual

ID 683126
Date 8/28/2023
Public
Document Table of Contents

28.3.3. Using Unassigned IO as LoanIO

You can utilize unused HPS IOs as LoanIO, which is directly driven by the FPGA and can be used as input, output, or bi-directional IO.

Each LoanIO port has an input, output, and output enable, which directly controls the HPS IO functions. The LoanIO only operates when the HPS registers have been set up in the pre-loader to allow their operation. The LoanIO are asynchronous, thus no clocking is required.

The status of the LoanIO in the duration after HPS I/O is configured and before the FPGA is configured is as follows: When the FPGA powers up and is "not" configured, inputs into the HPS from the FPGA are driven to a logical 1. When the FPGA is configured the signal may toggle, and then takes on whatever level the FPGA user design drives out.

Use the following steps to enable the LoanIO signals:

  1. Select the Peripheral Pins Multiplexing tab in the HPS parameter editor.
  2. Choose the corresponding LoanIO pins from the Peripherals Mux Table, and click the push button to select/unselect it.
  3. Export the peripheral signals out of the Platform Designer (Standard) system.
  4. In the Quartus® Prime software, connect the user logic to the LoanIO interface to drive the HPS IOs.
Table 227.  Generated Conduit Signal Interface
Conduit Name Direction Declarations
._hps_io_gpio_inst_LOANIOXX Bi-direction User must declare as a top-level pin; pin assignment is hardcoded following the HPS IO location.
._h2f_loan_io_in Out HPS IO data input signal, output to FPGA user logic.
._h2f_loan_io_out In HPS IO data output signal, input from FPGA user logic.
._h2f_loan_io_oe In HPS IO data output enable signal, input from FPGA user logic.

Platform Designer (Standard) generates a full signal array for h2f_loan_io_in, h2f_loan_io_out, and h2f_loan_io_oe. You must assign user logic to the specific signal array. For example, you have triggered LoanIO 40, so its respective signal array is h2f_loan_io_in[40], h2f_loan_io_out[40], and h2f_loan_io_oe[40].