Przerzutnik



Pobieranie 40.17 Kb.
Data02.05.2016
Rozmiar40.17 Kb.

Przerzutnik



Podwójny, lampowy przerzutnik komputera XYZ z 1958 r.

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego układu cyfrowego, przeznaczonego do przechowywania i ewentualnego przetwarzania informacji. Przerzutnik współtworzy najniższe piętro struktury układu i zdolny jest do zapamiętania jednego bitu informacji. Grupa ośmiu połączonych ze sobą przerzutników tworzy następne, wyższe piętro - tzw. rejestr, zdolny już do pamiętania jednego bajtu informacji.
Spis treści

• 1 Zastosowanie

• 2 Typy przerzutników

• 3 Opis wyprowadzeń

• 4 Przerzutniki typu D

• 5 Przerzutniki typu Latch

• 6 Przerzutniki typu JK-MS

• 7 Tablica wzbudzeń w/w przerzutników

• 8 Budowa wewnętrzna

• 9 CMOS zamiast TTL

• 10 Przerzutniki stosowane w układach ASIC

zastosowanie


Przerzutniki stosuje się do przechowywania małych ilości danych, do których musi być zapewniony ciągły dostęp. Jest to spowodowane fizycznymi i funkcjonalnymi cechami przerzutników. Są one większe od pojedynczej komórki pamięci , ale pozwalają pozostałym częściom układu na bezpośredni dostęp do przechowywanych danych.

Ze względu na łatwy odczyt i zapis, przerzutniki są szczególnie często stosowane w celu:



  • Pamiętania stanu układu, zobacz: Maszyna Stanów Skończonych (ang. FSM od Finite State Machine)

  • Przechowywania obecnie przetwarzanego słowa danych, Implementacji liczników

  • Implementacji rejestrów przesuwnych

  • Implementacji rejestrów przesuwnych z liniowym sprzężeniem zwrotnym

Typy przerzutników

Wśród monolitycznych (scalonych) przerzutników wyróżnia się:

Przerzutnik typu D

• Przerzutnik typu Latch (zatrzask)

• Przerzutnik typu JK-MS (MS od Master i Slave)

• Przerzutnik typu JK

• Przerzutnik typu T

• Przerzutnik typu RS

Wszystkie, z wyjątkiem ostatniego, są przerzutnikami synchronicznymi, mającymi największe znaczenie praktyczne w układach cyfrowych. Za pomocą każdego przerzutnika synchronicznego można zrealizować wszystkie inne.

Opis wyprowadzeń


We wszystkich przerzutnikach synchronicznych można wyróżnić następujące wyprowadzenia:

  • wejście (lub wejścia) informacyjne - np. D (ang. Data)

  • wejście synchronizujące, tzw. zegarowe C (ang. Clock)

  • wejścia asynchroniczne - ustawiające Set i zerujące Reset (odpowiednio: 1 i 0 na wyjściu Q)

  • wyjście proste Q

  • wyjście zanegowane Q

Wejścia R/S mają najwyższy priorytet i służą do wymuszenia określonego stanu wyjść niezależnie (asynchroniczne) od poziomów logicznych panujących na pozostałych wejściach informacyjnych czy zegarowych.

W rodzimej literaturze spotyka się różne określenia (a nawet oznaczenia) tego samego funkcjonalnie rodzaju wejść. Dla przykładu wejście ustawiające bywa nazywane wejściem zapalającym, a wejście zegarowe C (CP, CL, CLK, T) - synchronizującym lub taktującym.


Przerzutniki typu D


Ten typ przerzutników znajduje najwięcej praktycznych zastosowań. Przerzutniki typu D należą do zbioru przerzutników wyzwalanych zboczem. Przepisanie stanu wejścia D (informacyjnego) na wyjście Q następuje w czasie zmiany poziomu logicznego na wejściu zegarowym z niskiego na wysoki. Przerzutnik typu D łatwo jest przekształcić w przerzutnik typu T i zrealizować dzielnik modulo 2 - tzw. dwójkę liczącą. W tym celu wystarczy połączyć wyjście zanegowane Q z wejściem D. Pojedyncza "dwójka" dzieli częstotliwość sygnału zegarowego na pół, przy czym wypełnienie przebiegu na wyjściu wynosi zawsze 50%. Łańcuch kaskadowo połączonych dwójek liczących może być wykorzystany do wytworzenia naturalnego kodu dwójkowego - podstawowego kodu wagowego używanego w technice cyfrowej.

Stromość zboczy sygnałów zegarowych (wyrażana w nanosekundach), jest parametrem krytycznym w układach sekwencyjnych. Przerzutniki nie są tu wyjątkiem, stąd współcześnie wejścia zegarowe spotyka się najczęściej w wykonaniu Schmitt-a, charakteryzującym się obecnością tzw. pętli histerezy. Histereza oznacza 2 progi przełączania - inne dla każdego kierunku zmian napięcia na wejściu zegarowym.


Przerzutniki typu Latch


Przerzutnik typu Latch (zatrzask) jest wersją przerzutnika D wyzwalanego nie zboczem, lecz poziomem. W czasie trwania na wejściu zegarowym stanu wysokiego, wyjście Q powtarza stany logiczne wejścia D. W momencie zmiany na wejściu zegarowym stanu wysokiego na niski następuje "zatrzaśnięcie" (zapamiętanie) stanu wejścia D sprzed tej zmiany. Typowym zastosowaniem przerzutnika typu Latch jest zapamiętanie chwilowego stanu szyny danych w celu np. zobrazownia na wyświetlaczu. Dowolny przerzutnik tego typu charakteryzuje się mniejszą odpornością na zakłócenia od dowolnego przerzutnika wyzwalanego zboczem.

Przerzutniki typu JK-MS


Przerzutniki dwuzboczowe typu Master-Slave mają mniejsze wymagania na stromość zboczy. W ich przypadku wewnętrzny przerzutnik Master zapamiętuje stan wejść informacyjnych JK w momencie wystąpienia narastającego zbocza sygnału zegarowego, a zbocze opadające sygnału zegarowego przepisuje bit informacji z przerzutnika Master do przerzutnika Slave (i na wyjścia). Przerzutnik typu JK-MS można przekształcić w dwójkę liczącą przez podanie stanu wysokiego na oba wejścia J i K. W celu podwyższenia odporności na zakłócenia dwuzboczowych przerzutników MS, w układach praktycznych dąży się do skrócenia czasu trwania stanu wysokiego na wejściu zegarowym.

Tablica wzbudzeń w/w przerzutników


Tablica wzbudzeń jest sposobem prezentacji sposobu pracy przerzutnika, w którym podaje się, jakie kombinacje sygnałów wejściowych powodują określone zmiany na wyjściach przerzutnika.

Oznaczenia:



  • X - dowolna wartość

  • Qt - aktualny stan wyjścia

  • Qt+1 - stan następny wyjścia




Qt

Qt+1

D

T

SR

JK

0

0

0

0

0X

0X

0

1

1

1

10

1X

1

0

0

1

01

X1

1

1

1

0

X0

X0

Budowa wewnętrzna


Wszystkie przerzutniki w monolitycznych układach scalonych zbudowane są w oparciu o bramki logiczne. Każda bramka składa się z kolei z kilku/kilkunastu tranzystorów. Najprostsze przerzutniki asynchroniczne wymagają tylko dwóch dwuargumentowych (dwuwejściowych) bramek. Bardziej zaawansowane - kilkunastu wieloargumentowych. Jeden przerzutnik synchroniczny może więc zawierać ponad sto tranzystorów.

W tzw. technice dyskretnej, historycznie poprzedzającej erę układów scalonych, do zbudowania najprostszego przerzutnika niezbędne były co najmniej 2 tranzystory (wcześniej lampy elektronowe) sprzężone pojemnościowo.


CMOS zamiast TTL


W dominującej w latach 70. i 80. rodzinie układów cyfrowych TTL (ang. Transistor-Transistor Logic) na przykład dwa przerzutniki D zawierał popularny układ scalony (UCY|MCY|SN)7474.

W nowszej rodzinie układów cyfrowych CMOS (Complementary MOS) przerzutniki typu D ma układ (MC1|HE|CD)4013B. Z kilku powodów nie stanowi on zamiennika dla poprzednika wykonanego w technologii TTL. Te powody to zbyt mała obciążalność wyjść, odwrotna logika wejść R/S oraz odmienny układ wyprowadzeń.

Ostatecznie, układy TTL w wykonaniu LS (ang. Low-power Schottky) znalazły swoje ścisłe, nowocześniejsze zamienniki w serii układów CMOS o oznaczeniu literowym HCT (np. CD74HCT74).

Przerzutniki stosowane w układach ASIC


Powyższe informacje odnoszą się głównie do przerzutników dostępnych jako dyskretne komponenty. W przypadków układów ASIC stosuje się głównie dwa typy przerzutników:

  • Przerzutnik typu D aktywny poziomem (zatrzask)

  • Przerzutnik typu D aktywny zboczem

Przerzutnik D aktywny zboczem jest zwykle implementowany jako kaskadowe połączenie (Master-Slave) dwóch zatrzasków.

Zatrzask (w wersji statycznej) składa się z dwóch inwerterów połączonych przeciwsobnie i sprzężonych bramkami transmisyjnymi. W fazie pamiętania inwertery pracują w dodatnim sprzężeniu zwrotnym zatrzaskując ostatnio przetwarzana wartość binarną.

Zatrzask (w wersji dynamicznej) jest buforem o wyjściu trójstanowym. Faza pamiętania jest realizowana przez przełączenie wyjścia bufora w stan wysokiej impedancji. Wartość binarna jest przez skończony czas pamiętana w postaci ładunku elektrycznego zmagazynowanego w pojemności pasożytniczej obciążenia bufora.

Ponieważ układy ASIC są zwykle projektowane jako systemy synchroniczne za pomocą automatycznej syntezy z języków opisu sprzętu (HDL), stosuje się niemal wyłącznie statyczne przerzutniki typu D aktywne zboczem.

Układy asynchroniczne i układy dynamiczne używane są w zastosowaniach wymagających dużej szybkości pracy lub niskiego poboru mocy. Wymaga to jednak użycia innych, mniej zautomatyzowanych technik projektowania.

W odróżnieniu od elementach dyskretnych, w przerzutnikach stosowanych w układach ASIC nie stosuje się dodatkowych układów kondycjonujących zbocza sygnałów wejściowych (takich jak wspomniane przerzutniki Schmitta). Bardzo ważne jest natomiast zapewnienie równoczesnego przełączenia wszystkich współpracujących ze sobą przerzutników. W tym celu sygnal zegarowy jest wzmacniany przez wiele buforów połączonych w drzewiastą strukturę i rozprowadzany po powierzchni układu tak by minimalizować różnice opóżnień w dotarciu zbocza zegara do przerzutników. Taka struktura nazywana jest drzewem zegara (ang. clock tree).

Dla pewności działania przerzutnika kluczowe są dwa parametry czasowe:


  • czas ustalania (ang. setup time), określający o ile zmiana sygnału wejściowego (D) musi wyprzedzać aktywne zbocze zegara

  • czas podtrzymania (ang. hold time), określający o ile aktywne zbocze zegara musi wyprzedzać zmianę sygnału wejściowego (D). W polskim piśmiennictwie czas podtrzymania jest nazywany także czasem przetrzymania lub utrzymywania.

O ile czas podtrzymania jest zagrożony głównie nierównomiernością dystrybucji zegara, o tyle zapewnienie prawidłowego czasu ustalania jest bardziej wymagające. W układach synchronicznych minimalny czas trwania cyklu zegara jest określony jako czas propagacji sygnału przez najdłuższą kombinacyjną ścieżkę przetwarzania między przerzutnikami (ang. critical path) zsumowany z czasem ustalania i marginesem na niedokładność okresu cyklu zegara (ang. jitter). Sygnał logiczny wychodzący z przerzutnika (Q) w N-tym cyklu zegara musi przepropagować się przez dołączoną do niego logikę kombinacyjną i dotrzeć na wejście (D) docelowego przerzutnika przed nadejściem (N+1)-go aktywnego zbocza zegara (z wyprzedzeniem określonym przez czas ustalania). Kryteria czasowe mogą być sprawdzone za pomocą analizy statycznej (ang. static timing analysis) lub symulacji z uwzględnieniem rzeczywistych czasów propagacji (ang. SDF delay backannotation).

W technologii CMOS czas propagacji silnie zależy od następujących czynników:



  • napięcia zasilającego (silnie wzrasta przy spadku napięcia)

  • temperatury (wzrasta liniowo ze wzrostem temperatury)

Ponadto zależy on również od parametrów projektowych:

  • długości ścieżki krytycznej

  • procesu wytwarzania (ang. process corner, process conditions)

  • relacji między impedancją wyjściową bramki i wejściową obciążenia (ang. fan out i fan in).

  • pasożytniczych sprzężeń pojemnościowych między równocześnie przełączanymi sygnałami

Wszystkie te parametry przekładają się bezpośrednio na minimalną długość cyklu zegara.

Circuit symbols


D flip-flop symbol



JK flip-flop symbol



SR flip-flop symbol with clock



SR flip-flop shown as NAND-gate based and S, R edge triggered



SR flip-flop with clock and shown as NAND-gate based



T flip-flop symbol








Timing diagrams


SR latch/SR flip-flop



SR latch


JK flip-flop



SR latch/SR flip-flop (german version)




©absta.pl 2016
wyślij wiadomość

    Strona główna