Logo Katedry
Strona główna
Katedra Systemów Mikroelektronicznych, Wydział Elektroniki, Telekomunikacji i Informatyki, Politechnika Gdańska Logo Wydziału
English English version

Odczyt klawiatury

Zadanie: Układ ma odczytywać dołączoną klawiaturę PS/2 i wyświetlać na wyświetlaczu LED naciśnięte klawisze. Ponieważ dostępny jest tylko wyświetlacz 7-segmentowy, rozpoznawać należy tylko następujące klawisze: 1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f. W przypadku wciśnięcia innego klawisza, wyświetlacz należy wygasić. Podzielić projekt na kilka bloków. Dla każdego bloku należy napisać testbench.

Przed implementacją wykonać symulację układu z wykorzystaniem pliku testbench.

Plik ucf do zadania, płytka Digilent Spartan-3, układ 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
Rys.1 Opis podłączeń poszczególnych segmentów wyświetlacza. Przykład wyświetlenia cyfry '2'


Informacje dodatkowe - odczyt klawiatury