Dept. Logo
Lab Home page
Department of Microelectronic Systems, Faculty of Electronics, Telecommunications and Informatics, Gdansk University of Technology Logo Wydziału
Flaga PL Polska wersja

PS/2 keyboard readout

Task: Design a circuit which will read from the connected PS/2 keyboard and display on LED display the pressed keys. Since only 7-segment display is available, the following keys are to be recognized: 1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f. In case of any other key, the display should be dimmed.

Divide the project into several blocks. For each block, a separate testbench must be written.

Before implementing the design, a simulation must be run using the testbench.

UCF file, Digilent Spartan-3, Spartan-3 3S200 FT256-4:
#########################################################################################
# Clock:
NET "clk_i" LOC = "T9" ; # 50 MHz clock
#########################################################################################

#########################################################################################
# Seven-segment LED display:
NET "led7_an_o<3>" LOC = "E13" ; # leftmost digit, active low
NET "led7_an_o<2>" LOC = "F14" ; # active low
NET "led7_an_o<1>" LOC = "G14" ; # active low
NET "led7_an_o<0>" LOC = "d14" ; # rightmost digit, active low
#
NET "led7_seg_o<7>" LOC = "E14" ; # segment 'a', active low
NET "led7_seg_o<6>" LOC = "G13" ; # segment 'b', active low
NET "led7_seg_o<5>" LOC = "N15" ; # segment 'c', active low
NET "led7_seg_o<4>" LOC = "P15" ; # segment 'd', active low
NET "led7_seg_o<3>" LOC = "R16" ; # segment 'e', active low
NET "led7_seg_o<2>" LOC = "F13" ; # segment 'f', active low
NET "led7_seg_o<1>" LOC = "N16" ; # segment 'g', active low
NET "led7_seg_o<0>" LOC = "P16" ; # segment 'dp', active low
#########################################################################################

#########################################################################################
# Push-buttons:
NET "rst_i" LOC = "L14" ; # BTN3 active high
#########################################################################################

#########################################################################################
# PS2 port:
NET "ps2_clk_i" LOC = "M16" ; #clock from PS/2
NET "ps2_data_i" LOC = "M15" ; #PS/2 data
#########################################################################################

Wyświetlacz LED
Fig.1 Description of LED display connectors. Example of displaying digit '2'


Additional information on reading PS/2 keyboard