VHDL: Przełączniki

Wstęp

Przerzutnik to układ logiczny zdolny do utrzymywania wartości swoich wyjść niezależnie od zmian wartości wejściowych, czyli zawierający stan „pamięci”. Jest to element umożliwiający przejście z logiki kombinacyjnej do logiki sekwencyjnej.

Istnieją różne rodzaje przerzutników: astabilne, bistabilne i monostabilne.

Astabilny: Jest to przerzutnik składający się z 2 niestabilnych stanów, który okresowo (okres T) i spontanicznie przełącza się z jednego stanu
do drugiego.

Bistabilny: Posiadający dwa stabilne stany. W logice oznacza to stany logiczne „1” lub „0”.

Monostabilny: mający tylko jeden stan stabilny, a drugi stan jest tymczasowy.

Istnieją dwa rodzaje przerzutników: asynchroniczne i synchroniczne. Przerzutniki synchroniczne mają wejście zegarowe, czego nie ma w przypadku przerzutników asynchronicznych.

Przerzutniki asynchroniczne
– Wahadło RS
– Zatrzask D
Przerzutniki synchroniczne
– Rocker D
– Przełącznik JK

Jaka jest różnica między przerzutnikiem a bramką logiczną?

Przerzutnik to układ logiczny zdolny do utrzymywania wartości swoich wyjść niezależnie od zmian wartości wejściowych, czyli zawierający stan „pamięci”. Jest to element umożliwiający przejście z logiki kombinacyjnej do logiki sekwencyjnej.
Przerzutnik często składa się z kilku bramek logicznych. Oto przykład z przerzutnikiem D:

Jaka jest różnica między przełącznikiem a zatrzaskiem?

Główną różnicą pomiędzy przerzutnikiem a zatrzaskiem jest to, że przerzutnik sprawdza wejścia, ale zmienia wyjście tylko w momentach zdefiniowanych przez sygnał zegara lub inny sygnał sterujący, podczas gdy zatrzask sprawdza wejścia w sposób ciągły i natychmiast reaguje na zmiany wejścia.

Flip-flop D

Przyjrzymy się teraz przerzutnikowi D z asynchronicznym resetem. W tym celu wykorzystamy dane wejściowe, które chcesz przekazać. Potrzebujemy zegara (clk), ponieważ jest to przerzutnik synchroniczny. Na koniec funkcja resetu umożliwia przesłanie danych z d do q lub zresetowanie przerzutnika.

Jak działa przerzutnik D?

  • Jeżeli reset wynosi 1, to wyjście q przyjmuje wartość 0.
  • Jeżeli reset wynosi 0, wówczas przekazujemy wartość pochodzącą z d za pomocą q przy każdym takcie zegara.

Oto wynik symulacji:

1. tyk zegara: zegar jest wysoki, reset również, więc sygnał wejściowy d nie może przejść do sygnału wyjściowego q.

Flip-flop JK

Przerzutnik JK jest rodzajem przerzutnika bistabilnego, co oznacza, że ​​posiada dwa odrębne stany stabilne. Nazwa „JK” pochodzi od liter oznaczających główne porty wjazdowe: J i K.

Jeżeli J i K mają różne wartości, przerzutnik JK zmienia stan zgodnie z dobrze zdefiniowaną sekwencją. Jeżeli J jest wysokie (1), a K jest niskie (0), przerzutnik przyjmie stan „SET” (1). Jeżeli J jest niskie (0), a K jest wysokie (1), przerzutnik przyjmie stan „RESET” (0). Jeżeli oba stany J i K są wysokie (1), przerzutnik będzie się przełączał, zmieniając stany z każdym impulsem zegara.

Oto wynik symulacji: