Keypad Scanner

Keypad Scanner Click to expand image


Category: Uncategorized

Created: April 01, 2003

Updated: November 19, 2019

Language: Other

Other project properties

Development Status: Stable

WishBone compliant: Yes

WishBone version: n/a

License: n/a


This is a very small and simple module, which scans through an X-Y matrix of keys, and produces a "snapshot" of bits which represent the sampled state of the keyswitches during the scan.

There is memory in the module, so that the outputs are held constant during a scan, and updated simultaneously. The keys are sampled sequentially, but the memory stores up all of the keyswitch data until the final output "snapshot" is produced.

This module is parameterized Verilog, and is recommended for use with small matrix type keypads. It has been tested in real hardware.


- Parameterized Verilog code, tested in hardware
- Commented code, but no testbench
- Small module, easy to use and understand
- No support for "ghost key" detection (when three or more keys are pressed, a fourth "phantom key" can sometimes appear. This is true for most matrix type keyboards.)