W elektronice cyfrowej licznik jest sekwencyjnym układem logicznym składającym się z serii przerzutników. Liczy liczbę wystąpień danych wejściowych pod względem ujemnych lub dodatnich przejść zboczowych. Są używane w aplikacjach takich jak synchronizacja zdarzeń i pomiar częstotliwości, szacowanie położenia kątowego i czas trwania zdarzenia. Liczniki są dość podobne do rejestrów, ponieważ oba zawierają kaskadowy układ więcej niż jednego przerzutnika z kombinacyjnymi urządzeniami logicznymi lub bez nich. Liczniki są używane głównie do zliczania aplikacji. Liczba reprezentuje liczbę przybyłych impulsów zegarowych. W zależności od sposobu uruchamiania przerzutników liczniki można podzielić na dwie główne kategorie: licznik synchroniczny i asynchroniczny. W liczniku synchronicznym wszystkie przerzutniki są wyzwalane przez ten sam sygnał zegarowy, natomiast w liczniku asynchronicznym przerzuty są uruchamiane z różnymi sygnałami zegarowymi. W przeciwieństwie do licznika asynchronicznego, stan bitów wyjściowych zmienia się jednocześnie w liczniku synchronicznym, bez żadnych tętnień. Spójrzmy na różnice między nimi.
W liczniku synchronicznym, znanym również jako licznik równoległy, wszystkie przerzutniki w stanie licznika zmieniają się jednocześnie w synchronizacji z wejściowym sygnałem zegarowym. Gdy licznik jest taktowany tak, że każde przerzutnik w liczniku jest wyzwalany w tym samym czasie przez ten sam sygnał zegarowy, licznik jest wywoływany jako licznik synchroniczny. Różni się od liczników asynchronicznych tym, że wejście zliczania impulsów jest połączone z wejściami zegara wszystkich przerzutników. Ponieważ wszystkie przerzutniki są taktowane w tym samym czasie, licznik synchroniczny o tej samej liczbie i typie przerzutników może działać na znacznie wyższych częstotliwościach zegara niż liczniki asynchroniczne. Ponieważ sygnał zegarowy jest jednocześnie podawany na wejścia zegarowe wszystkich przerzutników, między poszczególnymi wyjściami nie występuje opóźnienie czasowe.
Licznik asynchroniczny jest często nazywany licznikiem tętnienia. W liczniku tętnień wyjście jednego przerzutnika steruje drugim. Jest to kaskadowe ustawienie przerzutników, w których wyjście jednego przerzutnika steruje wyjściem zegarowym następnego przerzutnika. Licznik tętnienia składa się z serii komplementarnych przerzutników, w których wyjście każdego przerzutnika jest połączone z wejściem zegarowym następnego przerzutnika wyższego rzędu. Sygnał zegarowy jest podawany bezpośrednio tylko na pierwszy przerzutnik, a następnie jest przesyłany z opóźnieniem czasowym między przerzutami. Na przykład, wyjście pierwszego przerzutnika jest sygnałem zegarowym drugiego przerzutnika, a wyjście drugiego przerzutnika jest sygnałem zegarowym drugiego przerzutnika i tak dalej. Ze względu na opóźnienie propagacji liczniki tętnienia są zwykle wolniejsze niż ich synchroniczne odpowiedniki w działaniu.
- W liczniku synchronicznym to samo źródło jest używane przez wejście zegara we wszystkich przerzutnikach, tworząc ten sam sygnał w tym samym czasie, co oznacza, że licznik jest taktowany w taki sposób, że każde przerzutanie w liczniku jest wyzwalane przez ten sam sygnał zegara w tym samym czasie. Przeciwnie, w liczniku asynchronicznym (zwanym także licznikiem tętnienia) tylko pierwszy przerzutnik jest taktowany zegarem zewnętrznym, który z kolei steruje wyjściem zegarowym następnego przerzutnika. W liczniku tętnień wyjście jednego przerzutnika steruje drugim.
- Wszystkie przerzutniki są taktowane w tym samym czasie, a zatem licznik synchroniczny o tej samej liczbie i typie przerzutników może działać przy znacznie wyższych częstotliwościach zegara niż jego asynchroniczny odpowiednik. Różni się od liczników asynchronicznych tym, że wejście zliczania impulsów jest połączone z wejściami zegara wszystkich przerzutników. W liczniku asynchronicznym nie jest używany wspólny zegar, co oznacza, że wejście zegara przerzutników nie jest sterowane tym samym sygnałem zegarowym. Przeciwnie, w liczniku synchronicznym każdy przerzutnik jest wyzwalany wspólnym impulsem zegara.
- Ponieważ sygnał zegarowy w liczniku synchronicznym jest przykładany do wejść zegarowych wszystkich przerzutników w tym samym czasie, nie ma opóźnień czasowych między różnymi wyjściami. Zatem nie ma nieodłącznego opóźnienia propagacji w licznikach synchronicznych. W liczniku asynchronicznym sygnał zegarowy jest podawany bezpośrednio tylko na pierwszy przerzutnik, a następnie jest przesyłany, co skutkuje późniejszym opóźnieniem czasowym z jednego przerzutnika na drugi, co ostatecznie odpowiada jego niskiej prędkości w porównaniu do synchronicznej licznik.
W liczniku synchronicznym wszystkie przerzutniki są wyzwalane przez ten sam sygnał zegarowy, a wyjścia stanu licznika zmieniają się w tym samym czasie, więc nie ma nieodłącznego opóźnienia propagacji między różnymi wyjściami. W liczniku asynchronicznym, w przeciwieństwie do liczników synchronicznych, wejście zegara przerzutników nie jest wyzwalane przez ten sam sygnał zegarowy; w rzeczywistości wyjście jednego przerzutnika napędza drugi. Powoduje to kolejne opóźnienie czasowe między wyjściami z jednego przerzutnika do drugiego. Przeciwnie, nie ma nieodłącznego opóźnienia czasowego między wyjściami w liczniku synchronicznym.