FreeCalypso > hg > freecalypso-schem2
diff venus/src/periph/keypad.v @ 51:9de8e7a43160
keypad initial implementation
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 27 Nov 2021 07:03:14 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/venus/src/periph/keypad.v Sat Nov 27 07:03:14 2021 +0000 @@ -0,0 +1,43 @@ +/* + * This Verilog module encapsulates the keypad of FC Venus. + * + * As currently implemented, KBC/KBR crosspoint choices correspond + * to TI's D-Sample, but they can be freely changed by the PCB layout + * engineer by editing this Verilog module and regenerating the netlist. + */ + +module keypad (GND, KBC, KBR, PWON); + +input GND; +input [4:0] KBC; +output [4:0] KBR; +output PWON; + +keyswitch_wrap S401 (KBC[3], KBR[0]); /* left soft key */ +keyswitch_wrap S402 (KBC[4], KBR[2]); /* navigation up */ +keyswitch_wrap S403 (KBC[3], KBR[2]); /* right soft key */ +keyswitch_wrap S404 (KBC[4], KBR[0]); /* navigation left */ +keyswitch_wrap S405 (KBC[4], KBR[4]); /* navigation center */ +keyswitch_wrap S406 (KBC[4], KBR[1]); /* navigation right */ +keyswitch_wrap S407 (KBC[0], KBR[0]); /* green CALL or SEND button */ +keyswitch_wrap S408 (KBC[4], KBR[3]); /* navigation down */ +keyswitch_wrap S410 (KBC[0], KBR[1]); /* 1 */ +keyswitch_wrap S411 (KBC[1], KBR[1]); /* 2 */ +keyswitch_wrap S412 (KBC[2], KBR[1]); /* 3 */ +keyswitch_wrap S413 (KBC[0], KBR[2]); /* 4 */ +keyswitch_wrap S414 (KBC[1], KBR[2]); /* 5 */ +keyswitch_wrap S415 (KBC[2], KBR[2]); /* 6 */ +keyswitch_wrap S416 (KBC[0], KBR[3]); /* 7 */ +keyswitch_wrap S417 (KBC[1], KBR[3]); /* 8 */ +keyswitch_wrap S418 (KBC[2], KBR[3]); /* 9 */ +keyswitch_wrap S419 (KBC[0], KBR[4]); /* * */ +keyswitch_wrap S420 (KBC[1], KBR[4]); /* 0 */ +keyswitch_wrap S421 (KBC[2], KBR[4]); /* # */ +keyswitch_wrap S422 (KBC[2], KBR[0]); /* volume up */ +keyswitch_wrap S423 (KBC[1], KBR[0]); /* volume down */ +keyswitch_wrap S424 (KBC[3], KBR[1]); /* right side button */ + +/* The button in the "red" position is special: it is PWON */ +keyswitch_wrap S409 (PWON, GND); + +endmodule;