Gamepads Controllers for FPGAs

Gamepads Controllers for FPGAs


Category: Communication Controller

Created: October 05, 2004

Updated: January 27, 2020

Language: VHDL

Other project properties

Development Status: Beta

Additional info: FPGA proven

WishBone compliant: No

WishBone version: n/a

License: GPL


This project contains a collection of cores that interface with various gamepads.

Each gamepad type has a dedicated controller core which handles the communication with one or more pads of the same type. The status of the buttons together with information about the pad axes is provided by a simple interface. Systems integrating such a core can monitor this interface via general purpose IO lines.

Available Gamepad Controllers


Currently available gamepad controlles are

  • GCpad - connects to a Nintendo Gamecube controller
  • SNESpad - connects to one or more gamepads of the Super Nintendo Entertainment System



The project has beta status. This means that not all cores and features have been used under all possible conditions. The SNESpad and the basic flavor of the GCpad are heavily used in several FPGA implementations. The full flavor of GCpad is only verified inside the core's testbench. It has not seen in-depth use in real hardware so far.