Using the GPIO Block
This block defines the functionality of the general-purpose I/O (GPIO) pins. The mode you select determines the GPIO capabilities and which settings you can configure. GPIO modes are: input, output, inout, clkout, and none.
You can assign GPIO to dedicated GPIO resources or to LVDS resources. When you use LVDS resources as GPIO, some features are unavailable, depending on the FPGA. When you check the interface design, the software compares your selections to the resource you assigned to the GPIO block. If the resource does not support your selection(s), the software reports it.
Create a GPIO
To create a new GPIO block, select GPIO in the Design Explorer and then click the Create Block button.
- Specify the instance name.
- Choose the Mode (input, output, inout, clkout, or none).
- Set the options as described in the following sections.
- Assign a resource for the signal using the Resource Assigner.
Input Mode
Use input mode for input signals.
| Option | Choices | Description | ||||||
|---|---|---|---|---|---|---|---|---|
| Connection Type | normal, gclk, gctrl, pll_clkin, mipi_clkin |
Some pins have alternate functions, and you use this option
to choose the function. (This option only applies to pins that
have alternate functions. Refer to the data sheet for your
FPGA for pin information.) For
example, a PLL can use a GPIO with an alternate connection type
as a reference clock. Note: If you set the connection type to pll_clkin or
mipi_clkin, the signal is also
available as a regular input to the core. |
||||||
| Register Option | register, none | Choose whether the input is registered. For FPGAs that have DDIO, if you choose
register:
|
||||||
| Pull Option | none, weak pullup, weak pulldown | Specify if you want a pull option. | ||||||
| Enable Schmitt Trigger | On or off | Optionally enable a Schmitt trigger. |
Output Mode
Use output mode for output signals.
| Option | Choices | Description | ||||||
|---|---|---|---|---|---|---|---|---|
| Constant Output | none, 1, 0 | Choose whether the output is VCC (1) or GND (0). Otherwise, leave this option as none. | ||||||
| Register Option | none, register, inv_register | Choose whether the output is registered or has an inverted
register. For FPGAs that
have DDIO, if you choose register:
The invert register option
(inv_register) does not support
DDIO. |
||||||
| Drive Strength | 1, 2, 3, 4 | Choose the drive strength level. | ||||||
| Enable Fast Slew Rate | On or off | Optionally enable slew rate. |
Inout Mode
Use inout mode for bidirectional signals. Inout mode has the same options for the input and output as the input and output modes.
Inout mode also has an output enable signal (optionally registered) to enable or disable the output buffer. The pin name you specify should be the same as the one you use in your RTL design. Setting the output enable signal to high (“1”) in your RTL design enables the output buffer.
Clock Output Mode
Use clkout mode for clock output signals. You do not need to name the pin, but you do need to specify the output clock Pin Name.
None
Use none for unused signals. Specify whether the unused signal should have a weak pullup (default) or pulldown.