Zadanie: Napisać kod sterujący prostym modelem windy.
Winda ma 3 piętra. Naciśnięcie przycisku powinno spowodować
przemieszczenie się windy do odpowiedniego piętra.
Na wyświetlaczu należy wyświetlić piętro. Polaryzacje
sygnałów opisano w pliku ucf (patrz poniżej).
Wskazówka: Aby zapobiec zawieszaniu się układu, sygnały
z czujników i przycisków powinny być odfiltrowane
poprzez przynajmniej 2 przerzutniki.
Dodatkowe możliwości ulepszenia projektu (dla chętnych):
pokazujący działanie windy
(do odtworzenia filmu potrzebny jest
QuickTime 5.0
firmy Apple).
Plik ucf do zadania, płytka XS40, układ XC4010XL PC84:
NET clk LOC=P13;
NET rst LOC=P44;
NET button_i<0> LOC=P50; # active low
NET button_i<1> LOC=P41; # active low
NET button_i<2> LOC=P40; # active low
NET sensor_i<0> LOC=P57; # active high
NET sensor_i<1> LOC=P56; # active high
NET sensor_i<2> LOC=P51; # active high
NET led_o<0> LOC=P25; # active high
NET led_o<1> LOC=P26; # active high
NET led_o<2> LOC=P24; # active high
NET led_o<3> LOC=P20; # active high
NET led_o<4> LOC=P23; # active high
NET led_o<5> LOC=P18; # active high
NET led_o<6> LOC=P19; # active high
NET run_o LOC=P58; # active low
NET up_dn_o LOC=P59; # low=up high=down
# disable RAM and CPU:
NET cpu_rst LOC=P36;
NET ram_cs LOC=P65;