General Purpose Output, GPO
The General Purpose Output, GPO, drives I/O Module GPO output signals defined by the
value of the GPOx register, programmable from software. The width of the GPOx is defined
by the C_GPOx_SIZE and the initial value is defined by the parameter C_GPOx_INIT. When
the GPOx register is written, the value of the GPOx output signals change accordingly.
General Purpose Input, GPI
The General Purpose Input, GPI, makes it possible for software to sample the value of the
I/O Module GPI input signals by reading the GPIx register. The width of GPIx is defined by
the parameter C_GPIx_SIZE.
Using the parameter C_GPIx_INTERRUPT, the GPI can be connected to the Interrupt
Controller of the I/O Module and used for generating interrupts every time an input
changes.
Interrupt Controller INTC
The Interrupt Controller handles both I/O module internal interrupt events and external
ones. The internal interrupt events originate from the UART, the Fixed Interval Timers, the
Programmable Interval Timers, or the General Purpose Inputs. For an internal interrupt to
be generated on the INTC_IRQ output, the corresponding I/O Module parameter needs to
be set, for example, C_UART_RX_INTERRUPT=1, and that particular interrupt needs to be
enabled in the Interrupt Enable Register.
The Interrupt Controller supports up to 16 external interrupts using the INTC_Interrupt
inputs. The number of external interrupts is defined by the parameter, C_INTC_INTR_SIZE.
The external interrupt signals can be individually configured as either edge or level
sensitive by the C_INTC_LEVEL_EDGE parameter. The polarity of the external interrupt
signals can be individually configured to be either active-High (rising edge) or Low (falling
edge) by the C_INTC_POSITIVE parameter. Interrupt events for external interrupt sources are
generated according to
Table 3-3: Interrupt Event Generation
C_INTC_LEVEL_EDGE(x)
0
0
1
1
0
The current status of all interrupt sources can be read from the Interrupt Status Register.
The current status of all enabled interrupts can be read from the Interrupt Pending Register.
I/O Module v1.02a
PG052 October 16, 2012
Table
3-3.
C_INTC_POSITIVE(x)
0
1
0
1
0
www.xilinx.com
General Design Guidelines
INTC_Interrupt(x) Input
0
1
1 -> 0
0 -> 1
0
27
Need help?
Do you have a question about the LogiCORE IP v1.02a and is the answer not in the manual?