Intel® Agilex™ General-Purpose I/O and LVDS SERDES User Guide

ID 683780
Date 10/29/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Depending on parameter settings you specify, different interface signals are available for the GPIO IP.
Figure 15.  GPIO IP Interfaces


Figure 16.  GPIO Interface Signals
Table 22.  Pad Interface SignalsThe pad interface is the physical connection from the GPIO IP to the pad. This interface can be an input, output or bidirectional interface, depending on the IP configuration. In this table, SIZE is the data width specified in the IP parameter editor.
Signal Name Width Direction Description
pad_in[SIZE-1:0] SIZE Input

Input signal from the pad.

pad_in_b[SIZE-1:0] SIZE Input

Negative node of the differential input signal from the pad. This port is available if you turn on the Use differential buffer option.

pad_out[SIZE-1:0] SIZE Output Output signal to the pad.
pad_out_b[SIZE-1:0] SIZE Output

Negative node of the differential output signal to the pad. This port is available if you turn on the Use differential buffer option.

pad_io[SIZE-1:0] SIZE Bidirectional

Bidirectional signal connection with the pad.

pad_io_b[SIZE-1:0] SIZE Bidirectional

Negative node of the differential bidirectional signal connection with the pad. This port is available if you turn on the Use differential buffer option.

Table 23.  Data Interface SignalsThe data interface is an input or output interface from the GPIO IP to the FPGA core. In this table, SIZE is the data width specified in the IP parameter editor.
Signal Name Width Direction Description
din[DATA_SIZE-1:0]
  • Bypass or simple register— DATA_SIZE = SIZE
  • DDIO without half-rate logic— DATA_SIZE = 2 × SIZE
  • DDIO with half-rate logic— DATA_SIZE = 4 × SIZE
Input

Data input from the FPGA core in output or bidirectional mode. DATA_SIZE depends on the register mode:

dout[DATA_SIZE-1:0]
  • Bypass or simple register— DATA_SIZE = SIZE
  • DDIO without half-rate logic— DATA_SIZE = 2 × SIZE
  • DDIO with half-rate logic— DATA_SIZE = 4 × SIZE
Output

Data output to the FPGA core in input or bidirectional mode, DATA_SIZE depends on the register mode:

oe[OE_SIZE-1:0]
  • Bypass or simple register— OE_SIZE = SIZE
  • DDIO without half-rate logic— OE_SIZE = SIZE
  • DDIO with half-rate logic— OE_SIZE = 2 × SIZE
Input

OE input from the FPGA core in output mode with Enable output enable port turned on, or bidirectional mode. OE is active high. When transmitting data, set this signal to 1. When receiving data, set this signal to 0. OE_SIZE depends on the register mode:

For x4 DQ group implementation, refer to I/O Pins Placement Restrictions for more information.

Table 24.  Clock Interface SignalsThe clock interface is an input clock interface. It consists of different signals, depending on the configuration. The GPIO IP can have zero, one, two, or four clock inputs. Clock ports appear differently in different configurations to reflect the actual function performed by the clock signal.
Signal Name Width Direction Description
ck 1 Input

In input and output paths, this clock feeds a packed register or DDIO if you turn off the Half Rate logic parameter.

In bidirectional mode, this clock is the unique clock for the input and output paths if you turn off the Separate input/output Clocks parameter.

ck_fr 1 Input

In input and output paths, these clocks feed the full-rate and half-rate DDIOs if you turn on the Half Rate logic parameter.

In bidirectional mode, the input and output paths use these clocks if you turn off the Separate input/output Clocks parameter.

ck_hr 1
ck_in 1 Input

In bidirectional mode, these clocks feed a packed register or DDIO in the input and output paths if you specify both these settings:

  • Turn off the Half Rate logic parameter.
  • Turn on the Separate input/output Clocks parameter.
ck_out 1
ck_fr_in 1 Input

In bidirectional mode, these clocks feed a full-rate and half-rate DDIOS in the input and output paths if you specify both these settings

  • Turn on the Half Rate logic parameter.
  • Turn on the Separate input/output Clocks parameter.

For example, ck_fr_out feeds the full-rate DDIO in the output path.

ck_fr_out 1
ck_hr_in 1
ck_hr_out 1
cke 1 Input Clock enable.

For x4 DQ group implementation, refer to I/O Pins Placement Restrictions for more information.

Table 25.  Termination Interface SignalsThe termination interface connects the GPIO IP to the I/O buffers.
Signal Name Width Direction Description
terminationcontrol 1 Input Input from the termination control block (OCT) to the buffers. It sets the buffer series and parallel impedance values.
Table 26.  Reset Interface SignalsThe reset interface connects the GPIO IP to the DDIOs.
Signal Name Width Direction Description
sclr 1 Input Synchronous clear input. Not available if you set Enable synchronous clear / preset port to None or Preset.

For x4 DQ group implementation, refer to I/O Pins Placement Restrictions for more information.

aclr 1 Input Asynchronous clear input. Active high. Not available if you set Enable asynchronous clear / preset port to None or Preset.

For x4 DQ group implementation, refer to I/O Pins Placement Restrictions for more information.

aset 1 Input Asynchronous set input. Active high. Not available if you set Enable asynchronous clear / preset port to None or Clear.

For x4 DQ group implementation, refer to I/O Pins Placement Restrictions for more information.

sset 1 Input Synchronous set input. Not available if you set Enable synchronous clear / preset port to None or Clear.

For x4 DQ group implementation, refer to I/O Pins Placement Restrictions for more information.

Shared Signals

  • The input, output, and OE paths share the same clear and preset signals.
  • The output and OE path shares the same clock signals.

Data Bit-Order for Data Interface

Figure 17. Data Bit-Order ConventionThis figure shows the bit-order convention for the din, dout and oe data signals.


  • If the data bus size value is SIZE, the LSB is at the right-most position.
  • If the data bus size value is 2 × SIZE, the bus is made of two words of SIZE .
  • If the data bus size value 4 × SIZE, the bus is made of four words of SIZE.
  • The LSB is in the right-most position of each word.
  • The right-most word specifies the first word going out for output buses and the first word coming in for input buses.

Data Interface Signals and Corresponding Clocks

Table 27.  Data Interface Signals and Corresponding Clocks
Signal Name Parameter Configuration Clock Signal Name
Register Mode Half Rate Logic Separate input/output Clocks
din
  • Simple Register
  • DDIO
Off Off ck
DDIO On Off ck_hr
  • Simple Register
  • DDIO
Off On ck_in
DDIO On On ck_hr_in
  • dout
  • oe
  • Simple Register
  • DDIO
Off Off ck
DDIO On Off ck_hr
  • Simple Register
  • DDIO
Off On ck_out
DDIO On On ck_hr_out
  • sclr
  • sset
  • All pad signals
  • Simple Register
  • DDIO
Off Off ck
DDIO On Off ck_fr
  • Simple Register
  • DDIO
Off On
  • Input path: ck_in
  • Output path: ck_out
DDIO On On
  • Input path: ck_fr_in
  • Output path: ck_fr_out

Guideline: Swap datain_h and datain_l Ports in Migrated IP

When you migrate your GPIO IP from previous devices to the GPIO IP, you can turn on Use legacy top-level port names option in the GPIO IP parameter editor. However, the behavior of these ports in the GPIO IP is different than in the IP used for the Stratix® V, Arria® V, and Cyclone® V devices.

The GPIO IP drives these ports to the output registers on these clock edges:

  • datain_h—on the falling edge of outclock
  • datain_l—on the rising edge of outclock

If you migrated your GPIO IP from Stratix® V, Arria® V, and Cyclone® V devices, swap the datain_h and datain_l ports when you instantiate the IP generated by the GPIO IP.