Starter Kit dla układów ispGAL
Artykuł zredagowany przez Pana Mirosława Kowalskiego
Data dodania opublikowania artykułu na tej stronie: 2011-10-27 17:24:05

Kolejnym przykładem jest bardzo prosty, 8- bitowy licznik pierścieniowy z asynchronicznym kartowaniem.Wyjście CLK_OUT jest wyjściem dwu wejściowego multipleksera, dzięki któremu możliwy jest wybór częstotliwości taktowania licznika.Wyboru częstotliwości dokonuje się poprzez zmianę stanu logicznego na wejściu CLK_SEL.Licznik pracuje w zamkniętym cyklu, sygnalizując w kodzie mod.10 ilość zliczonych impulsów zegarowych.Stanem aktywnym każdego z wyjść jest 1, której pojawienie powoduje zapalanie odpowiedniej diody LED.W programie zadeklarowano, że przyporządkowanie 0 logiczne, co powoduje świecenie diod LED.
Asynchroniczne kasowanie jest możliwe dzięki wykorzystaniu wejść RESET makrokomórek i podłączenie ich do przycisku RESET, co uzyskano poprzez deklarację z rozszerzeniem *.ar.Program opisuje automat synchroniczny przy pomocy deklaracji przejść pomiędzy poszczególnymi stanami, przy czym stan S0 wykorzystywany jest w celu umożliwienia wystartowania układu (czuli po włączeniu zasilania lub ręcznym wyzerowaniu).Po jednokrotnym przejściu stanu S0 licznik pracuje w cyklu S1..8.Nieco bardziej zaawansowane rozwiązanie przedstawia układ programowalny wbudowuje,u tym razem licznik dziesiętny z dekoderem sterującym wyświetlacz 7-segmentowy.Funkcjonalność tego licznika podnosi wejście UD (z ang. UP-Down), przy pomocy którego możliwa jest zmiana kierunku zliczenia.Liczenie w górę polega na zwiększaniu wartości liczby p każdym kolejnym takcie zegara (0,1,1 ... 9), natomiast liczenie w dół oznacza zmniejszanie wartości wskazywanej liczby po kolejnym takcie zegara.