Flip-flop (elektronika) - Flip-flop (electronics)

Animowany interaktywny zatrzask SR ( R1, R2 = 1  kΩ; R3, R4 = 10  kΩ).

W elektronice , o flip-flop lub zatrzask jest obwód , który ma dwa stany stabilne i mogą być wykorzystane do informacji o stanie magazynu - bistabilny multiwibrator . Obwód może zmienić stan za pomocą sygnałów doprowadzonych do jednego lub więcej wejść sterujących i będzie miał jedno lub dwa wyjścia. Jest to podstawowy element przechowywania w logice sekwencyjnej . Klapki i zatrzaski są podstawowymi elementami budulcowymi cyfrowych systemów elektronicznych stosowanych w komputerach, komunikacji i wielu innych typach systemów.

Klapki i zatrzaski służą jako elementy do przechowywania danych. Flip-flop to urządzenie, które przechowuje pojedynczy bit (cyfrę binarną) danych; jeden z jego dwóch stanów reprezentuje „jeden”, a drugi reprezentuje „zero”. Takie przechowywanie danych może służyć do przechowywania stanu , a taki układ jest określany jako logika sekwencyjna w elektronice. W przypadku użycia w maszynie skończonej stan wyjściowy i następny zależą nie tylko od jego bieżącego wejścia, ale także od jego aktualnego stanu (a co za tym idzie, poprzednich wejść). Może być również używany do zliczania impulsów i do synchronizacji sygnałów wejściowych o zmiennym czasie z pewnym referencyjnym sygnałem czasowym.

Przerzutniki mogą być wyzwalane poziomem (asynchroniczne, przezroczyste lub nieprzezroczyste) lub wyzwalane krawędzią ( synchroniczne lub taktowane ). Termin flip-flop historycznie odnosił się ogólnie do obwodów wyzwalanych poziomowo i krawędziowo, które przechowują pojedynczy bit danych za pomocą bramek. Ostatnio niektórzy autorzy rezerwują termin flip-flop wyłącznie dla omawiania układów taktowanych; te proste są powszechnie nazywane zatrzaskami przezroczystymi . Używając tej terminologii, przerzutnik wrażliwy na poziom nazywany jest przezroczystym zatrzaskiem, podczas gdy przerzutnik wyzwalany krawędzią jest po prostu nazywany przerzutnikiem. Używając obu terminów, termin „flip-flop” odnosi się do urządzenia, które przechowuje pojedynczy bit danych, ale termin „zatrzask” może również odnosić się do urządzenia, które przechowuje dowolną liczbę bitów danych za pomocą jednego wyzwalacza. Terminy „wyzwalane zboczem” i „wyzwalane poziomem” mogą być używane w celu uniknięcia niejednoznaczności.

Gdy zatrzask wyzwalany poziomem jest włączony, staje się przezroczysty, ale wyjście przerzutnika wyzwalanego zboczem zmienia się tylko przy jednym typie (bieganie dodatnie lub ujemne) zbocza zegara.

Historia

Schematy flip-flop z patentu Eccles and Jordan zgłoszonego w 1918 roku, jeden narysowany jako kaskada wzmacniaczy ze ścieżką dodatniego sprzężenia zwrotnego, a drugi jako symetryczna para sprzężona krzyżowo

Pierwszy elektroniczny flip-flop został wynaleziony w 1918 roku przez brytyjskich fizyków Williama Ecclesa i FW Jordana . Początkowo nazywano go obwodem wyzwalającym Eccles-Jordan i składał się z dwóch aktywnych elementów ( lamp próżniowych ). Konstrukcja została zastosowana w 1943 r. w łamaczu kodów British Colossus i takie układy i ich tranzystorowe wersje były powszechne w komputerach nawet po wprowadzeniu układów scalonych , choć obecnie popularne są również przerzutniki wykonane z bramek logicznych . Wczesne klapki były znane jako obwody wyzwalające lub multiwibratory .

Według PL Lindley, inżynier w USA Jet Propulsion Laboratory , rodzaje flip-flop szczegółowo poniżej (SR, D, T, JK) po raz pierwszy zostały omówione w 1954 UCLA kurs projektowania komputerowego przez Montgomery Phister, a następnie pojawił się w jego książka Logiczne projektowanie komputerów cyfrowych. Lindley pracował w tym czasie w Hughes Aircraft pod kierownictwem Eldreda Nelsona, który ukuł termin JK dla przerzutnika, który zmieniał stany, gdy oba wejścia były włączone (logiczne „jedynkę”). Inne nazwy zostały wymyślone przez Phistera. Różnią się nieco od niektórych definicji podanych poniżej. Lindley wyjaśnia, że ​​historię o klapkach JK słyszał od Eldreda Nelsona, który jest odpowiedzialny za ukucie tego terminu podczas pracy w Hughes Aircraft . Japonki używane w tym czasie w Hughes były tego typu, który stał się znany jako JK. Projektując system logiczny, Nelson przypisał litery do wejść typu flip-flop w następujący sposób: #1: A i B, #2: C i D, #3: E i F, #4: G i H, #5: J i K. Nelson użył notacji „ j- input” i „ k- input” w zgłoszeniu patentowym złożonym w 1953 roku.

Realizacja

Tradycyjny (prosty) układ przerzutnikowy oparty na tranzystorach bipolarnych

Przerzutniki mogą być proste (przezroczyste lub asynchroniczne) lub taktowane (synchroniczne). W kontekście języków opisu sprzętu, te proste są powszechnie określane jako zatrzaski , natomiast taktowane są określane jako flip-flop .

Proste klapki mogą być zbudowane wokół jednej pary sprzężonych elementów poprzecznych Odwracanie: rurek próżniowych , tranzystory bipolarne , tranzystory polowe , falowników oraz odwracanie bramek logicznych, które wszystkie były stosowane w praktyce obwodów.

Urządzenia taktowane są specjalnie zaprojektowane dla systemów synchronicznych; takie urządzenia ignorują swoje wejścia z wyjątkiem przejścia dedykowanego sygnału zegarowego (znanego jako taktowanie, pulsowanie lub strobowanie). Taktowanie powoduje, że przerzutnik albo zmienia się, albo zachowuje swój sygnał wyjściowy w oparciu o wartości sygnałów wejściowych w przejściu. Niektóre klapki zmieniają wyjście na zboczu narastającym zegara, inne na zboczu opadającym.

Ponieważ elementarne stopnie wzmacniające są odwracające, dwa stopnie mogą być połączone kolejno (jako kaskada) w celu utworzenia potrzebnego wzmacniacza nieodwracającego. W tej konfiguracji każdy wzmacniacz może być traktowany jako aktywna odwracająca sieć sprzężenia zwrotnego dla drugiego wzmacniacza odwracającego. W ten sposób oba stopnie są połączone w nieodwracającą pętlę, chociaż schemat obwodu jest zwykle rysowany jako symetryczna para sprzężona krzyżowo (oba rysunki są początkowo wprowadzone w patencie Eccles-Jordan).

Typy flip-flop

Klapki można podzielić na popularne typy: SR ("set-reset"), D ("data" lub "delay"), T ("toggle") i JK . Zachowanie określonego typu można opisać tak zwanym równaniem charakterystycznym, które wyprowadza „następny” (tj. po następnym impulsie zegarowym) wyjście, Q następne pod względem sygnału wejściowego (sygnałów) i/lub prądu wyjście, .

Proste zatrzaski resetowania

Kiedy używasz bramek statycznych jako bloków konstrukcyjnych, najbardziej podstawowym zatrzaskiem jest prosty zatrzask SR , gdzie S i R oznaczają set and reset . Może być zbudowany z pary krzyżowo sprzężonych bramek logicznych NOR lub NAND . Zapisany bit jest obecny na wyjściu oznaczonym Q.

Zatrzask SR NOR

Animacja zatrzasku SR zbudowanego z pary krzyżowo sprzężonych bramek NOR . Czerwony i czarny oznaczają odpowiednio logiczne „1” i „0”.
Animowany zatrzask SR. Czarno-białe oznaczają odpowiednio logiczne „1” i „0”.
  1. S = 1, R = 0: Ustaw
  2. S = 0, R = 0: Przytrzymaj
  3. S = 0, R = 1: Reset
  4. S = 1, R = 1: Niedozwolone
Przejście z kombinacji ograniczonej (D) do (A) prowadzi do stanu niestabilnego.

Podczas gdy wejścia R i S są na niskim poziomie, sprzężenie zwrotne utrzymuje wyjścia Q i Q w stanie stałym, przy czym Q jest uzupełnieniem Q. Jeśli S ( Set ) jest pulsowany na wysokim poziomie, podczas gdy R ( Reset ) jest utrzymywany w stanie niskim, wtedy wyjście Q jest wymuszony wysoki i pozostaje wysoki, gdy S powraca do niskiego; podobnie, jeśli R jest pulsowane na wysokim poziomie, podczas gdy S jest utrzymywane na niskim poziomie, to wyjście Q jest wymuszane na niskim poziomie i pozostaje niskie, gdy R powraca do niskiego.

Operacja zatrzasku SR
Tabela charakterystyczna Stół wzbudzenia
S r Q następny Akcja Q Q następny S r
0 0 Q Stan podtrzymania 0 0 0 x
0 1 0 Resetowanie 0 1 1 0
1 0 1 Ustawić 1 0 0 1
1 1 x Nie dozwolony 1 1 x 0

Uwaga: X oznacza „ nie obchodzi mnie to”, czyli 0 lub 1 jest prawidłową wartością.

Kombinacja R = S = 1 nazywana jest kombinacją zastrzeżoną lub stanem zabronionym, ponieważ ponieważ obie bramki NOR wyprowadzają zera, łamie równanie logiczne Q = nie Q . Kombinacja jest również nieodpowiednia w obwodach, w których oba wejścia mogą jednocześnie obniżyć się (tj. przejście z ograniczonego do zachowanego ). Wyjście zablokuje się na 1 lub 0 w zależności od relacji czasu propagacji między bramkami ( warunek wyścigu ).

Jak działa zatrzask SR NOR.

Aby obejść zastrzeżoną kombinację, można dodać bramki do wejść, które konwertują (S, R) = (1, 1)na jedną z nieograniczonych kombinacji. To może być:

  • Q = 1 (1, 0) – określany jako S (zdominowany)-zatrzask
  • Q = 0 (0, 1) – określany jako zatrzask R (zdominowany)

Odbywa się to w prawie każdym programowalnym sterowniku logicznym .

  • Zachowaj stan (0, 0) – określany jako E-latch

Alternatywnie można zastosować ograniczoną kombinację, aby przełączyć wyjście. Rezultatem jest zatrzask JK .

Równanie charakterystyczne dla zatrzasku SR to:

lub

Innym wyrażeniem jest:

z

Zatrzask SR NAND

SR zatrzask wykonany z poprzecznymi połączeniu bramki NAND .

Poniższy układ to podstawowy zatrzask NAND. Wejścia są ogólnie oznaczone S i R odpowiednio dla Set i Reset. Ponieważ wejścia NAND muszą normalnie być logiczne 1, aby uniknąć wpływu na blokowanie, wejścia są uważane za odwrócone w tym obwodzie (lub aktywne w stanie niskim).

Układ wykorzystuje sprzężenie zwrotne, aby „zapamiętać” i zachować swój stan logiczny nawet po zmianie sterujących sygnałów wejściowych. Gdy oba wejścia S i R są w stanie wysokim, sprzężenie zwrotne utrzymuje wyjścia Q w poprzednim stanie.

Operacja zatrzasku SR
S r Akcja
0 0 Q = 1, Q = 1; nie dozwolony
0 1 P = 1
1 0 Q = 0
1 1 Bez zmiany; losowy inicjał
Symbol zatrzasku SR NAND

Zatrzask SR AND-OR

Zatrzask SR AND-OR. Jasnozielony oznacza logiczne „1”, a ciemnozielony oznacza logiczne „0”. Zatrzask jest obecnie w trybie wstrzymania (bez zmian).

Z naukowego punktu widzenia zatrzaski SR rysowane jako para elementów sprzężonych krzyżowo (tranzystory, bramki, lampy itp.) są często trudne do zrozumienia dla początkujących. Dydaktycznie łatwiejszym do zrozumienia sposobem jest narysowanie zatrzasku jako pojedynczej pętli sprzężenia zwrotnego zamiast sprzężenia krzyżowego. Poniżej znajduje się zatrzask SR zbudowany z bramki AND z jednym odwróconym wejściem i bramką OR . Należy zauważyć, że falownik nie jest potrzebny do funkcji zatrzasku, ale raczej do ustawienia obu wejść w stan wysoki.

Operacja zatrzasku SR AND-OR
S r Akcja
0 0 Bez zmiany; losowy inicjał
1 0 P = 1
x 1 Q = 0

Należy zauważyć, że zatrzask SR AND-OR ma tę zaletę, że S = 1, R = 1 jest dobrze zdefiniowany. W powyższej wersji zatrzasku SR AND-OR daje pierwszeństwo sygnałowi R nad sygnałem S. Jeśli potrzebny jest priorytet S nad R, można to osiągnąć, podłączając wyjście Q do wyjścia bramki OR zamiast wyjścia bramki AND.

Zatrzask SR AND-OR jest łatwiejszy do zrozumienia, ponieważ obie bramki można wyjaśnić osobno. Gdy ani S, ani R nie są ustawione, to zarówno bramka OR, jak i bramka AND są w „trybie wstrzymania”, tj. ich wyjściem jest wejście z pętli sprzężenia zwrotnego. Gdy wejście S = 1, to wyjście bramki LUB staje się 1, niezależnie od drugiego wejścia z pętli sprzężenia zwrotnego („ustawiony tryb”). Gdy wejście R = 1, wyjście bramki AND staje się 0, niezależnie od drugiego wejścia z pętli sprzężenia zwrotnego ("tryb resetowania"). A ponieważ wyjście Q jest bezpośrednio połączone z wyjściem bramki AND, R ma pierwszeństwo przed S. Zatrzaski rysowane jako bramki sprzężone krzyżowo mogą wyglądać mniej intuicyjnie, ponieważ zachowanie jednej bramki wydaje się być splecione z drugą bramką.

Należy zauważyć, że zatrzask SR AND-OR można przekształcić w zatrzask SR NOR za pomocą transformacji logicznych: odwracanie wyjścia bramki OR, a także drugiego wejścia bramki AND i podłączenie odwróconego wyjścia Q między tymi dwoma dodanymi falownikami; przy czym bramka AND z odwróconymi obydwoma wejściami jest równoważna bramce NOR zgodnie z prawami De Morgana .

Zatrzask JK

Zatrzask JK jest znacznie rzadziej używany niż przerzutnik JK. Zatrzask JK jest zgodny z następującą tabelą stanów:

Tabela prawdy zatrzasku JK
J K Q następny Komentarz
0 0 Q Bez zmiany
0 1 0 Resetowanie
1 0 1 Ustawić
1 1 Q Przełącznik

W związku z tym zatrzask JK jest zatrzaskiem SR, który służy do przełączania wyjścia (oscyluje między 0 a 1) po przekazaniu kombinacji wejściowej 11. W przeciwieństwie do przerzutnika JK, kombinacja wejściowa 11 dla zatrzasku JK nie jest zbyt przydatna ponieważ nie ma zegara, który kieruje przełączaniem.

Bramkowane zatrzaski i warunkowa przezroczystość

Zatrzaski są zaprojektowane tak, aby były przezroczyste. Oznacza to, że zmiany sygnału wejściowego powodują natychmiastowe zmiany na wyjściu. Dodatkowa logika może być dodany do prostego przejrzysty zatrzask, aby to nieprzejrzyste lub nieprzezroczysty , gdy inny wejście (an „enable” input) nie jest aktywowany. Gdy kilka przezroczystych zatrzasków podąża za sobą, używając tego samego sygnału zezwalającego, sygnały mogą się rozchodzić przez wszystkie jednocześnie. Jednakże, podążając za zatrzaskiem przezroczysto-wysokim z zatrzaskiem przezroczysto-niskim (lub nieprzezroczystym-wysokim ), zaimplementowany jest przerzutnik typu master-slave.

Bramkowany zatrzask SR

NAND Gated SR Latch (przerzutnik SR z zegarem). Zwróć uwagę na odwrócone wejścia.
Bramkowany schemat obwodu zatrzasku SR zbudowany z bramek AND (po lewej) i bramek NOR (po prawej).

Synchroniczny zatrzask SR (czasami taktowany SR przerzutnik ) może być dokonane przez dodanie drugiego stopnia Bramka NAND do odwróconej SR zatrzask (lub drugiego stopnia i bramy do bezpośredniego SR zatrzasku). Dodatkowe bramki NAND dodatkowo odwracają wejścia, dzięki czemu zatrzask SR staje się bramkowanym zatrzaskiem SR (a zatrzask SR przekształci się w bramkowany zatrzask SR z odwróconym włączeniem).

Przy E high ( włącz true) sygnały mogą przechodzić przez bramki wejściowe do zamkniętego zatrzasku; wszystkie kombinacje sygnałów z wyjątkiem (0, 0) = przytrzymaj, a następnie natychmiast odtwarzaj na wyjściu (Q, Q ), tj. zatrzask jest przezroczysty .

Z E low ( enable false) zatrzask jest zamknięty (nieprzezroczysty) i pozostaje w stanie, w którym został pozostawiony ostatnim razem, gdy E był wysoki.

Umożliwić wejście jest czasami sygnał zegarowy , ale częściej odczytu lub zapisu stroboskop. Gdy wejście zezwalające jest sygnałem zegarowym, mówi się, że zatrzask jest wrażliwy na poziom (na poziom sygnału zegarowego), w przeciwieństwie do wrażliwych na krawędzie, takich jak przerzutniki poniżej.

Działanie zatrzasku bramkowanego SR
E/C Akcja
0 Brak akcji (zachowaj stan)
1 Tak samo jak nietaktowany zatrzask SR
Symbol zamykanego zatrzasku SR

Bramkowany zatrzask D

Ten zatrzask wykorzystuje fakt, że w dwóch aktywnych kombinacjach wejść (01 i 10) bramkowanego zatrzasku SR, R jest uzupełnieniem S. Wejściowy stopień NAND konwertuje dwa stany wejścia D (0 i 1) na te dwa wejścia. kombinacje dla następnego zatrzasku SR poprzez odwrócenie sygnału wejściowego danych. Niski stan sygnału zezwolenia wytwarza nieaktywną kombinację „11”. Zatem bramkowany zatrzask D może być uważany za jednowejściowy synchroniczny zatrzask SR . Taka konfiguracja uniemożliwia zastosowanie ograniczonej kombinacji danych wejściowych. Jest znany także jako przejrzysty zatrzask , dane zatrzask , lub po prostu ogrodzony zatrzask . Posiada wejście danych i sygnał zezwolenia (czasami nazywany zegarem lub sterowaniem ). Słowo transparent pochodzi z faktu, że gdy wejście enable jest włączone, sygnał rozchodzi się bezpośrednio przez obwód, od wejścia D do wyjścia Q. Bramkowane zatrzaski D są również czułe na poziom w odniesieniu do poziomu zegara lub włącz sygnał.

Przezroczyste zatrzaski są zwykle używane jako porty I/O lub w systemach asynchronicznych lub w synchronicznych systemach dwufazowych (systemy synchroniczne wykorzystujące zegar dwufazowy ), gdzie dwa zatrzaski działające na różnych fazach zegara uniemożliwiają przejrzystość danych, tak jak w przypadku master- przerzutnik niewolnika.

Zatrzaski są dostępne jako układy scalone , zwykle z wieloma zatrzaskami na chip. Na przykład 74HC75 to poczwórny przezroczysty zatrzask w serii 7400 .

Tabela poniżej pokazuje, że prawda, gdy e nable / c wejście blokady jest 0, wejście D nie ma wpływu na wyjściu. Gdy E/C jest wysoki, wyjście jest równe D.

Bramkowa tabela prawdy zatrzasku D
E/C D Q Q Komentarz
0 x Q poprzedni Q poprzedni Bez zmiany
1 0 0 1 Resetowanie
1 1 1 0 Ustawić
Symbol zamykanego zatrzasku D

Earle zatrzask

Klasyczne konstrukcje zatrzasków bramkowanych mają pewne niepożądane cechy. Wymagają logiki dwutorowej lub falownika. Propagacja wejścia-wyjścia może potrwać do trzech opóźnień bramki. Propagacja wejścia-wyjścia nie jest stała – niektóre wyjścia przyjmują dwa opóźnienia bramki, a inne trzy.

Projektanci szukali alternatyw. Udaną alternatywą jest zatrzask Earle. Wymaga tylko jednego wejścia danych, a jego wyjście ma stałe dwa opóźnienia bramki. Ponadto dwa poziomy bramek zatrzasku Earle mogą w niektórych przypadkach zostać połączone z ostatnimi dwoma poziomami bramek obwodów sterujących zatrzaskiem, ponieważ wiele popularnych obwodów obliczeniowych ma warstwę OR, po której następuje warstwa AND jako ostatnie dwa poziomy . Połączenie funkcji zatrzasku może zaimplementować zatrzask bez dodatkowych opóźnień bramki. Połączenie jest powszechnie wykorzystywane w projektowaniu komputerów potokowych i faktycznie zostało pierwotnie opracowane przez Johna G. Earle'a do wykorzystania w IBM System/360 Model 91 w tym celu.

Zatrzask Earle jest wolny od zagrożeń. Jeśli środkowa bramka NAND zostanie pominięta, otrzymuje się zatrzask blokady polaryzacji , który jest powszechnie używany, ponieważ wymaga mniej logiki. Jest jednak podatny na zagrożenie logiczne . Celowe przekrzywienie sygnału zegara może zapobiec niebezpieczeństwu.

Japonka D

Symbol klapki D

Flip-flop D jest szeroko stosowany. Jest również znany jako przerzutnik „dane” lub „opóźnienie”.

Przerzutnik D przechwytuje wartość wejścia D w określonej części cyklu zegara (takiej jak narastające zbocze zegara). Ta przechwycona wartość staje się wyjściem Q. W innych przypadkach wyjście Q nie zmienia się. Przerzutnik D może być postrzegany jako komórka pamięci, blokada zerowego rzędu lub linia opóźniająca .

Tabela prawdy:

Zegar D Q następny
Rosnąca krawędź 0 0
Rosnąca krawędź 1 1
Niewschodząca x Q

( X oznacza stan, w którym nie zależy , co oznacza, że ​​sygnał jest nieistotny)

Większość przerzutników typu D w układach scalonych ma możliwość wymuszenia stanu ustawienia lub zerowania (który ignoruje wejścia D i zegara), podobnie jak przerzutnik SR. Zwykle niedozwolony warunek S = R = 1 jest rozwiązywany w przerzutnikach typu D. Ustawienie S = R = 0 powoduje, że przerzutnik zachowuje się jak opisano powyżej. Oto tabela prawdy dla innych możliwych konfiguracji S i R:

Wejścia Wyjścia
S r D > Q Q
0 1 x x 0 1
1 0 x x 1 0
1 1 x x 1 1

Klapki te są bardzo przydatne, ponieważ stanowią podstawę rejestrów przesuwnych , które są istotną częścią wielu urządzeń elektronicznych. Przewaga przerzutnika D nad „przezroczystym zatrzaskiem” typu D polega na tym, że sygnał na pinie wejściowym D jest przechwytywany w momencie taktowania przerzutnika, a kolejne zmiany na wejściu D będą ignorowane do następnego wydarzenie zegara. Wyjątkiem jest to, że niektóre przerzutniki mają wejście sygnału „reset”, które resetuje Q (do zera) i może być asynchroniczne lub synchroniczne z zegarem.

Powyższy układ przesuwa zawartość rejestru w prawo, o jedną pozycję bitową przy każdym aktywnym przejściu zegara. Wejście X jest przesuwane do skrajnej lewej pozycji bitowej.

Klasyczna klapka D z wyzwalaniem dodatnim krawędzią

Kilka różnych typów klapek D wyzwalanych krawędzią
A positive-edge-triggered D flip-flop
Flip-flop D wyzwalany dodatnią krawędzią
A positive-edge-triggered D flip-flop with set and reset
Flip-flop D wyzwalany dodatnią krawędzią z ustawianiem i resetowaniem

Układ ten składa się z dwóch etapów realizowanych przez zatrzaski SR NAND . Stopień wejściowy (dwa zatrzaski po lewej stronie) przetwarza sygnały zegara i danych, aby zapewnić prawidłowe sygnały wejściowe dla stopnia wyjściowego (pojedynczy zatrzask po prawej). Jeśli zegar jest niski, oba sygnały wyjściowe stopnia wejściowego są wysokie, niezależnie od wprowadzanych danych; zatrzask wyjściowy jest nienaruszony i przechowuje poprzedni stan. Gdy sygnał zegara zmienia się z niskiego na wysoki, tylko jedno z napięć wyjściowych (w zależności od sygnału danych) staje się niskie i ustawia/resetuje zatrzask wyjściowy: jeśli D = 0, dolne wyjście staje się niskie; jeśli D = 1, górna moc wyjściowa staje się niska. Jeśli sygnał zegara nadal pozostaje wysoki, wyjścia zachowują swoje stany niezależnie od danych wejściowych i zmuszają zatrzask wyjściowy do pozostawania w odpowiednim stanie, ponieważ wejściowe zero logiczne (stopnia wyjściowego) pozostaje aktywne, gdy zegar jest wysoki. Stąd rolą zatrzasku wyjściowego jest przechowywanie danych tylko wtedy, gdy zegar jest niski.

Obwód jest ściśle powiązany z bramkowanym zatrzaskiem D, ponieważ oba obwody konwertują dwa stany wejściowe D (0 i 1) na dwie kombinacje wejściowe (01 i 10) dla wyjściowego zatrzasku SR poprzez odwrócenie sygnału wejściowego danych (oba obwody są podzielone pojedynczy sygnał D w dwóch komplementarnych sygnałach S i R ). Różnica polega na tym, że w bramkowanym zatrzasku D używane są proste bramki logiczne NAND, podczas gdy w przerzutniku D wyzwalanym dodatnim zboczem są używane do tego celu zatrzaski SR NAND. Rolą tych zatrzasków jest „zablokowanie” wyjścia aktywnego wytwarzającego niskie napięcie (logiczne zero); w ten sposób przerzutnik D wyzwalany dodatnią krawędzią może być również traktowany jako bramkowany zatrzask D z zatrzaśniętymi bramkami wejściowymi.

Przerzutnik typu D z wyzwalaniem krawędziowym typu master-slave

Flip-flop typu master-slave D. Reaguje na opadającą krawędź wejścia enable (zwykle zegar)
Implementacja przerzutnika typu master-slave D, który jest wyzwalany na zboczu narastającym zegara

Przerzutnik typu master-slave D jest tworzony przez połączenie dwóch bramkowanych zatrzasków D szeregowo i odwrócenie wejścia enable do jednego z nich. Nazywa się to master-slave, ponieważ zatrzask główny kontroluje wartość wyjściową Q zatrzasku podrzędnego i zmusza zatrzask podrzędny do utrzymywania swojej wartości, gdy tylko zatrzask podrzędny jest włączony, ponieważ zatrzask podrzędny zawsze kopiuje swoją nową wartość z zatrzasku głównego i zmienia jego wartość tylko w odpowiedzi na zmianę wartości zatrzasku głównego i sygnału zegarowego.

W przypadku przerzutnika typu master-slave D wyzwalanego zboczem dodatnim, gdy sygnał zegara jest niski (logiczne 0), „włącz” widziany przez pierwszy lub „master” zatrzask D (odwrócony sygnał zegara) jest wysoki (logiczne 1) . Pozwala to zatrzaskowi „master” przechowywać wartość wejściową, gdy sygnał zegara przechodzi od niskiego do wysokiego. Gdy sygnał zegara staje się wysoki (0 do 1), odwrócone „włączenie” pierwszego zatrzasku staje się niskie (1 do 0), a wartość widziana na wejściu do głównego zatrzasku jest „zablokowana”. Niemal jednocześnie, dwukrotnie odwrócone „włączenie” drugiego lub „podrzędnego” zatrzasku D przechodzi od niskiego do wysokiego (0 do 1) z sygnałem zegara. Dzięki temu sygnał przechwycony na zboczu narastającym zegara przez teraz „zablokowany” zatrzask główny przechodzi przez zatrzask „podrzędny”. Gdy sygnał zegara powraca do stanu niskiego (1 do 0), wyjście zatrzasku "slave" jest "zablokowane", a wartość widoczna na ostatnim zboczu narastającym zegara jest utrzymywana, podczas gdy zatrzask "master" zaczyna akceptować nowy wartości w ramach przygotowań do następnego rosnącego zbocza zegara.

Usunięcie skrajnego lewego falownika w obwodzie tworzy przerzutnik typu D, który miga na opadającym zboczu sygnału zegarowego. To ma taką tabelę prawdy:

D Q > Q następny
0 x Spadający 0
1 x Spadający 1

Flip-flop D z podwójną krawędzią

Implementacja przerzutnika D wyzwalanego podwójną krawędzią

Flip-flopy, które odczytują nową wartość na rosnącej i opadającej krawędzi zegara, nazywane są flip-flopami z wyzwalaniem podwójnym. Taki przerzutnik może być zbudowany z dwóch przerzutników typu D z wyzwalaniem jednokrawędziowym i multipleksera, jak pokazano na rysunku.

Symbol obwodu przerzutnika D z podwójnym wyzwalaniem krawędziowym

Dynamiczny element pamięci D wyzwalany krawędziowo

Implementacja CMOS IC dynamicznego przerzutnika wyzwalanego zboczem z resetowaniem

Wydajną funkcjonalną alternatywę dla przerzutnika D można wykonać z obwodami dynamicznymi (gdzie informacje są przechowywane w pojemności), o ile jest ona wystarczająco często taktowana; choć nie jest to prawdziwy flip-flop, nadal jest nazywany flip-flopem ze względu na swoją funkcjonalną rolę. Podczas gdy element master-slave D jest wyzwalany na krawędzi zegara, każdy z jego elementów jest wyzwalany przez poziomy zegara. „Wyzwalany krawędzią flip-flop D”, jak to się nazywa, mimo że nie jest prawdziwym flip-flopem, nie ma właściwości master-slave.

Przerzutniki D wyzwalane zboczem są często implementowane w zintegrowanych operacjach o dużej szybkości przy użyciu logiki dynamicznej . Oznacza to, że wyjście cyfrowe jest przechowywane na pojemności urządzenia pasożytniczego, gdy urządzenie nie przechodzi. Ta konstrukcja przerzutników dynamicznych umożliwia również proste resetowanie, ponieważ operację resetowania można wykonać po prostu przez rozładowanie jednego lub więcej węzłów wewnętrznych. Powszechną odmianą dynamicznego przerzutnika jest prawdziwy zegar jednofazowy (TSPC), który wykonuje operację przerzutnika z małą mocą i przy dużych prędkościach. Jednak przerzutniki dynamiczne zazwyczaj nie będą działać przy statycznych lub niskich częstotliwościach zegara: w odpowiednim czasie ścieżki upływu mogą rozładować pasożytniczą pojemność na tyle, aby spowodować, że przerzutnik przejdzie w nieprawidłowe stany.

Przerzutnik typu T

Symbol obwodu dla przerzutnika typu T

Jeśli wejście T jest w stanie wysokim, przerzutnik T zmienia stan ("przełącza") za każdym razem, gdy wejście zegara jest strobowane. Jeśli wejście T jest niskie, przerzutnik zachowuje poprzednią wartość. Zachowanie to opisuje równanie charakterystyczne :

(rozwijanie operatora XOR )

i można je opisać w tabeli prawdy :

Operacja przerzutnika T
Tabela charakterystyczna Stół wzbudzenia
Komentarz Komentarz
0 0 0 Stan wstrzymania (bez zegara) 0 0 0 Bez zmiany
0 1 1 Stan wstrzymania (bez zegara) 1 1 0 Bez zmiany
1 0 1 Przełącznik 0 1 1 Komplement
1 1 0 Przełącznik 1 0 1 Komplement

Gdy T jest utrzymywane wysoko, przerzutnik przełączający dzieli częstotliwość zegara przez dwa; to znaczy, jeśli częstotliwość zegara wynosi 4 MHz, częstotliwość wyjściowa uzyskana z przerzutnika będzie wynosić 2 MHz. Ta funkcja „dzielenia przez” ma zastosowanie w różnego rodzaju licznikach cyfrowych . Przerzutnik AT można również zbudować za pomocą przerzutnika JK (piny J i K są połączone ze sobą i działają jako T) lub przerzutnika D (wejście T XOR Q poprzednio steruje wejściem D).

Klapki JK

Symbol obwodu dla przerzutnika JK wyzwalanego dodatnią krawędzią
Schemat taktowania przerzutnika JK

Przerzutnik JK zwiększa zachowanie przerzutnika SR (J: Set, K: Reset) poprzez interpretację warunku J = K = 1 jako „przerzucenia” lub polecenia przełączenia. W szczególności kombinacja J = 1, K = 0 jest poleceniem ustawienia przerzutnika; kombinacja J = 0, K = 1 jest poleceniem resetowania przerzutnika; a kombinacja J = K = 1 jest poleceniem przełączania przerzutnika, tj. zmiany jego wyjścia na logiczne uzupełnienie jego bieżącej wartości. Ustawienie J = K = 0 utrzymuje aktualny stan. Aby zsyntetyzować przerzutnik D, po prostu ustaw K równe dopełnieniu J (wejście J będzie działać jako wejście D). Podobnie, aby zsyntetyzować przerzutnik T, ustaw K równe J. Przerzutnik JK jest zatem uniwersalnym przerzutnikiem, ponieważ może być skonfigurowany do pracy jako przerzutnik SR, przerzutnik D lub flip-flop T.

Równanie charakterystyczne przerzutnika JK to:

a odpowiednia tabela prawdy to:

Operacja przerzutnika JK
Tabela charakterystyczna Stół wzbudzenia
J K Komentarz Q następny Q Q następny Komentarz J K
0 0 Stan podtrzymania Q 0 0 Bez zmiany 0 x
0 1 Resetowanie 0 0 1 Ustawić 1 x
1 0 Ustawić 1 1 0 Resetowanie x 1
1 1 Przełącznik Q 1 1 Bez zmiany x 0

Rozważania na temat czasu

Parametry czasowe

Konfiguracja przerzutnika, wstrzymanie i parametry czasowe zegara do wyjścia

Wejście musi być utrzymywane na stałym poziomie w okresie wokół narastającej krawędzi zegara, znanej jako apertura. Wyobraź sobie, że robisz zdjęcie żaby na podkładce z liliami wodnymi. Załóżmy, że żaba wskoczy do wody. Jeśli zrobisz zdjęcie żaby skaczącej do wody, otrzymasz niewyraźne zdjęcie żaby skaczącej do wody — nie jest jasne, w jakim stanie była żaba. Ale jeśli zrobisz zdjęcie, gdy żaba siedzi stabilnie na podkładce (lub stale w wodzie) uzyskasz wyraźny obraz. W ten sam sposób wejście do przerzutnika musi być utrzymywane stabilnie podczas apertury przerzutnika.

Czas konfiguracji to minimalny czas, przez jaki dane wejściowe powinny być utrzymywane na stałym poziomie przed zdarzeniem zegara, aby dane były niezawodnie próbkowane przez zegar.

Czas wstrzymania to minimalny czas, przez jaki dane wejściowe powinny być utrzymywane w stanie stabilnym po zdarzeniu zegara, aby dane były niezawodnie próbkowane przez zegar.

Przysłona to suma czasu konfiguracji i utrzymywania. Wprowadzanie danych powinno być utrzymywane na stałym poziomie przez cały ten okres.

Czas przywracania to minimalny czas, przez który asynchroniczne wejście ustawiające lub resetujące powinno być nieaktywne przed zdarzeniem zegara, aby dane były niezawodnie próbkowane przez zegar. Czas przywracania dla wejścia asynchronicznego ustawiania lub resetowania jest zatem podobny do czasu ustawiania dla wejścia danych.

Czas usunięcia to minimalny czas, przez który asynchroniczne wejście ustawiające lub resetujące powinno być nieaktywne po zdarzeniu zegara, aby dane były niezawodnie próbkowane przez zegar. Czas usunięcia dla wejścia asynchronicznego ustawiania lub resetowania jest zatem podobny do czasu podtrzymania dla wejścia danych.

Krótkie impulsy podawane na wejścia asynchroniczne (ustawianie, resetowanie) nie powinny być stosowane całkowicie w okresie przywracania-usuwania, w przeciwnym razie stanie się całkowicie nieoznaczalne, czy przerzutnik przejdzie do odpowiedniego stanu. W innym przypadku, gdy sygnał asynchroniczny po prostu wykonuje jedno przejście, które wypada między czasem przywracania/usuwania, w końcu przerzutnik przejdzie do odpowiedniego stanu, ale na wyjściu może pojawić się bardzo krótka usterka, w zależności od na synchronicznym sygnale wejściowym. Ta druga sytuacja może, ale nie musi mieć znaczenia dla projektu obwodu.

Sygnały ustawiania i resetowania (i inne) mogą być synchroniczne lub asynchroniczne i dlatego mogą charakteryzować się czasem ustawienia/wstrzymania lub przywracania/usuwania, a synchroniczność jest bardzo zależna od konstrukcji przerzutnika.

Rozróżnienie pomiędzy czasami konfiguracji/wstrzymania i przywracania/usuwania jest często konieczne podczas weryfikacji taktowania większych obwodów, ponieważ sygnały asynchroniczne mogą być uznane za mniej krytyczne niż sygnały synchroniczne. Zróżnicowanie daje projektantom obwodów możliwość niezależnego definiowania warunków weryfikacji dla tego typu sygnałów.

Metastabilność

Japonki podlegają problemowi zwanemu metastabilnością , który może wystąpić, gdy dwa dane wejściowe, takie jak dane i zegar lub zegar i reset, zmieniają się mniej więcej w tym samym czasie. Gdy kolejność nie jest jasna, przy odpowiednich ograniczeniach czasowych, wyjście może zachowywać się w nieprzewidywalny sposób, co może trwać wiele razy dłużej niż normalnie, aby ustawić się w jednym lub drugim stanie, a nawet oscylować kilka razy przed ustaleniem. Teoretycznie czas ustatkowania się nie jest ograniczony. W systemie komputerowym ta metastabilność może spowodować uszkodzenie danych lub awarię programu, jeśli stan nie jest stabilny, zanim inny obwód użyje jego wartości; w szczególności, jeśli dwie różne ścieżki logiczne wykorzystują dane wyjściowe przerzutnika, jedna ścieżka może zinterpretować je jako 0, a druga jako 1, gdy nie została rozwiązana do stanu stabilnego, wprowadzając maszynę w niespójny stan.

Metastabilności w przerzutnikach można uniknąć, zapewniając, że dane i wejścia sterujące są utrzymywane ważne i stałe przez określone okresy przed i po impulsie zegarowym, nazywane odpowiednio czasem konfiguracji ( tsu ) i czasem przetrzymania (t h ). Czasy te są określone w arkuszu danych urządzenia i zwykle wynoszą od kilku nanosekund do kilkuset pikosekund w przypadku nowoczesnych urządzeń. W zależności od wewnętrznej organizacji przerzutnika możliwe jest zbudowanie urządzenia z zerową (lub nawet ujemną) konfiguracją lub wymaganiem czasu utrzymywania, ale nie z obydwoma jednocześnie.

Niestety nie zawsze jest możliwe spełnienie kryteriów setup and hold, ponieważ przerzutnik może być podłączony do sygnału czasu rzeczywistego, który może się zmienić w dowolnym momencie, poza kontrolą projektanta. W takim przypadku najlepszym rozwiązaniem, jakie projektant może zrobić, jest zmniejszenie prawdopodobieństwa wystąpienia błędu do pewnego poziomu, w zależności od wymaganej niezawodności obwodu. Jedną z technik tłumienia metastabilności jest połączenie dwóch lub więcej przerzutników w łańcuch, tak aby wyjście każdego z nich zasilało dane wejściowe następnego, a wszystkie urządzenia współdzielą wspólny zegar. Dzięki tej metodzie prawdopodobieństwo zdarzenia metastabilnego można zredukować do wartości pomijalnej, ale nigdy do zera. Prawdopodobieństwo metastabilności zbliża się coraz bardziej do zera wraz ze wzrostem liczby przerzutników połączonych szeregowo. Liczba klapek połączonych kaskadowo jest określana jako „ranking”; Klapki „dual-ranking” (dwa klapki w serii) to częsta sytuacja.

Dostępne są tak zwane klapki metastabilne utwardzane, które działają poprzez maksymalne skrócenie czasu konfiguracji i utrzymywania, ale nawet one nie mogą całkowicie wyeliminować problemu. Dzieje się tak, ponieważ metastabilność jest czymś więcej niż tylko kwestią projektowania obwodów. Kiedy zmiany w zegarze i danych są zbliżone w czasie, przerzutnik jest zmuszony zdecydować, które zdarzenie nastąpiło jako pierwsze. Bez względu na szybkość wykonania urządzenia, zawsze istnieje możliwość, że zdarzenia wejściowe będą tak blisko siebie, że nie będzie w stanie wykryć, które z nich wydarzyło się jako pierwsze. Dlatego logicznie niemożliwe jest zbudowanie całkowicie odpornego na metastabilność flip-flopa. Japonki charakteryzują się czasem maksymalnym czasem osiadania (maksymalny czas, w którym pozostaną metastabilne w określonych warunkach). W takim przypadku przerzutniki dwurzędowe, które są taktowane wolniej niż maksymalny dozwolony czas metastabilności, zapewnią właściwe kondycjonowanie sygnałów asynchronicznych (np. zewnętrznych).

Opóźnienie propagacji

Inną ważną wartością czasową dla przerzutnika jest opóźnienie od zegara do wyjścia (powszechny symbol w arkuszach danych: t CO ) lub opóźnienie propagacji (t P ), które jest czasem, w jakim przerzutnik zmienia swoje wyjście po krawędź zegara. Czas przejścia ze stanu wysokiego na niski (t PHL ) jest czasami inny niż czas przejścia ze stanu niskiego na wysoki (t PLH ).

Podczas kaskadowania przerzutników, które mają ten sam zegar (jak w rejestrze przesuwnym ), ważne jest, aby upewnić się, że t CO poprzedniego przerzutnika jest dłuższy niż czas trzymania (t h ) następnego przerzutnika, więc dane obecne na wejściu kolejnego przerzutnika są prawidłowo „przesuwane” zgodnie z aktywną krawędzią zegara. Związek między t CO i t h zwykle zagwarantowane, gdy klapki są fizycznie identyczne. Ponadto, dla prawidłowego działania, nie jest łatwe do sprawdzenia, czy okres zegara musi być większa niż suma t Ni  + T godz .

Uogólnienia

Przerzutniki można uogólnić na co najmniej dwa sposoby: czyniąc je 1-z-N zamiast 1-z-2 i dostosowując je do logiki z więcej niż dwoma stanami. W szczególnych przypadkach kodowania 1 z 3 lub wielowartościowej logiki trójskładnikowej taki element może być określany jako flip-flap-flop .

W konwencjonalnym flip-flopie dokładnie jedno z dwóch komplementarnych wyjść jest wysokie. Można to uogólnić na element pamięci z N wyjściami, z których dokładnie jeden jest wysoki (alternatywnie, gdzie dokładnie jeden z N jest niski). Wynik jest zatem zawsze reprezentacją jedno-gorącą (odpowiednio jedno-zimną ). Konstrukcja jest podobna do konwencjonalnego cross-coupled flip-flop; każde wyjście, gdy jest wysokie, blokuje wszystkie inne wyjścia. Alternatywnie można użyć mniej lub bardziej konwencjonalnych przerzutników, jeden na wyjście, z dodatkowymi obwodami, aby upewnić się, że tylko jeden na raz może być prawdziwy.

Innym uogólnieniem konwencjonalnego flip-flopa jest element pamięci dla logiki wielowartościowej . W tym przypadku element pamięci zachowuje dokładnie jeden ze stanów logicznych, dopóki wejścia sterujące nie wywołają zmiany. Ponadto można również zastosować zegar o wielu wartościach, co prowadzi do nowych możliwych przejść zegarowych.

Zobacz też

Bibliografia

Zewnętrzne linki