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

Licznik w kodzie Graya

Zadanie: Należy zaprojektować dwubitowy licznik w kodzie Graya.

Wejścia układu:
- przycisk BTN0 stanowiący zegar (nazwa sygnału - clk_i),
- przycisk BTN3 stanowiący reset asynchroniczny (nazwa sygnału - rst_i).

Wyjścia układu:
- dioda świecąca LD0 - bit 0 licznika (nazwa sygnału - led_o(0)),
- dioda świecąca LD1 - bit 1 licznika Graya (nazwa sygnału - led_o(1)).

Widok płytki

Zegar generowany jest przez naciskanie mechanicznego przycisku BTN0 i dlatego mogą wystąpić drgania zestyków, czyli generacja więcej niż jednego zegara po pojedynczym naciśnięciu przycisku.

Należy wykonać symulację funkcjonalną oraz zweryfikować układ praktycznie poprzez zaprogramowanie płytki testowej.

Plik ucf do zadania, płytka Digilent Spartan-3, układ Spartan-3 3S200 FT256-4:
# Push-buttons:
NET "rst_i" LOC = "L14" ; # pressed high BTN3
NET "clk_i" LOC = "M13" ; # pressed high BTN0
# pin M13 is not dedicated to clock, so force it:
NET "clk_i" CLOCK_DEDICATED_ROUTE = FALSE;
# LEDs:
NET "led_o<0>" LOC = "K12" ; # high on
NET "led_o<1>" LOC = "P14" ; # high on