General Purpose Input/Output (GPIO) peripheral Soft IP is a simple IP designed to control GPIOs via Lattice Memory Mapped Interface (LMMI) or Advanced Peripheral Bus Interface (APB). When configured as an input, it can detect the state of a GPIO by reading the state of the associated register. When configured as an output, it takes the value written into the associated register and control the state of the controlled GPIO.
The IP can be attached to a CPU bus or used in bridges/peripherals needing memory organization of the I/O. The IP generator is configurable based on the number of GPIOs for a flexible use of the GPIO ports.
With APB to LMMI Optional Bridge - When APB is selected as the interface from the user interface, the APB to LMMI bridge is instantiated and the LMMI is replaced by APB interface. This optional bridge is implemented to interface the GPIO IP in an APB system while preserving the internal LMMI for writing and reading to internal registers.
Independently Configurable Input and Output Port - Each Input and Output Port is independently configurable. Each Input Port bit can be programmed to enable interrupt on the Input Edge (Rising or Falling) or on the Level (High or Low). Each Output Port's default value can be configured from the user interface to take either 0 or 1 at the time of GPIO generation.