Co to jest flip-flop?

25

Wydaje się, że istnieje wiele różnych definicji klapek i zatrzasków, niektóre z nich są sprzeczne.

Podręcznik informatyki dla kursu, który uczę, jest prawdopodobnie najbardziej zagmatwany (w rzeczywistości nie wierzę w książkę, ponieważ jest po prostu błędny w kilku miejscach).

Czuję się dobrze z działaniem zatrzasków (SR, bramkowane SR, bramkowane D) i różnicą między urządzeniami wyzwalanymi poziomem i urządzeniami wyzwalanymi zboczem, przynajmniej pod względem bramek logicznych i schematów czasowych. Nadal jednak szukam zwięzłej definicji flip-flopa i zatrzasku.

Oto, co do tej pory wierzę:

„Flip-flop to uruchamiane przez krawędź bistabilne urządzenie, które może przechowywać 1 bit”.

„Zatrzask to uruchamiane poziomowo bistabilne urządzenie, które może przechowywać 1 bit.”

Przejrzałem poprzednie posty na tej stronie i choć są one tak pouczające, wciąż szukam czegoś ostatecznego.

Moje obecne rozumienie, które chcę sprawdzić, znajduje się na poniższych schematach…

Rozumiem, że obok siebie są dwie implementacje bramkowanej zapadki D.

Poniżej znajduje się dodatni detektor zbocza, w tym krótkim momencie, gdy bramka NOT jeszcze nie zareagowała na zmianę sygnału wejściowego z niskiego na wysoki, mianowicie zbocze narastające (czerwony to 1 niebieski to 0).

Na ostatnim schemacie wykrywacz krawędzi został przymocowany do datowanej zapadki D i to sprawia, że ​​jest to flip-flop.

wprowadź opis zdjęcia tutaj

Czy ostatni diagram jest naprawdę flip-flopem, czy wciąż jest tylko zatrzaskiem?

I dlaczego potrzebujemy wersji master slave, że to urządzenie jest o wiele prostsze?

Perkusja
źródło
1
@DanielTork, dlaczego nie udzielić takiej odpowiedzi?
Lodowaty
10
W Australii i Nowej Zelandii są to buty z otwartymi czubkami, często noszone na plażę lub na zewnątrz przy ładnej pogodzie. ;)
KyranF
3
Również w USA. Ale zwykliśmy nazywać je stringami, ale teraz odnosi się to do czegoś innego ;-)
Przerywał do odwołania.
1
Teraz chcę zobaczyć schemat obwodu narysowany sandałami znanymi jako japonki ...
keshlam
1
@immibis wynoś się stąd, zgniły kiwi!
KyranF

Odpowiedzi:

11

Dzisiaj dużo myślałem o tej definicji.

Jak zauważyli inni, dokładne znaczenia będą się różnić. Ponadto prawdopodobnie zobaczysz, że więcej osób popełnia błąd, nawet na tej stronie, niż dobrze. Nie obchodzi mnie, co mówi wikipedia!

Ale generalnie:

  • Przerzutnik zmieni swój stan wyjściowy maksymalnie raz na cykl zegara.
  • Zatrzask zmienia swój stan tyle razy, ile dane przechodzą podczas okna przezroczystości.

Dodatkowo,

  • Flip flop jest bardzo bezpieczny. Prawie głupi. Z tego powodu narzędzia do syntezy zwykle używają klapek. Ale są wolniejsze niż zatrzask (i zużywają więcej mocy).
  • Zatrzaski są trudniejsze w użyciu. Są jednak szybsze niż klapki (i mniejsze). Tak więc projektanci obwodów niestandardowych często „rozkładają flip-flop” na swój blok cyfrowy (zatrzask na obu końcach przeciwnej fazy), aby wycisnąć dodatkowe pikosekundy ze złego momentu synchronizacji. Jest to pokazane na dole postu.

Flip-flop najczęściej charakteryzuje się topologią master-slave. Jest to dwa sprzężone (może istnieć logika), przeciwne fazy zapadają się z powrotem do tyłu (czasami w przemyśle o nazwie L1 / L2).

Oznacza to, że flip flop z natury składa się z dwóch elementów pamięci: jednego do zatrzymania podczas niskiego cyklu i jednego do zatrzymania podczas wysokiego cyklu.

Zatrzask to tylko jeden element pamięci (zatrzask SR, zatrzask D, zatrzask JK). To, że wprowadzasz zegar do bramkowania przepływu danych do elementu pamięci, nie powoduje moim zdaniem przerzutu (chociaż może sprawić, że zadziała jak jeden: tzn. Uruchomi się więcej zbocza narastającego). Po prostu czyni go przezroczystym przez określony czas.

Poniżej pokazano prawdziwy flip-flop utworzony z dwóch zatrzasków SR (zauważ przeciwne zegary fazowe).

prawda d ff

I kolejny prawdziwy flip-flop (jest to najpopularniejszy styl w VLSI) z dwóch zatrzasków D (styl bramki transmisyjnej). Ponownie zauważmy przeciwne zegary fazowe :

prawdziwy styl flip flop tg

Jeśli wystarczająco szybko pulsujesz zegarem, zaczyna on przypominać zachowanie typu flip flop (zatrzask pulsacyjny). Jest to powszechne w projektowaniu szybkich ścieżek danych ze względu na mniejsze opóźnienie od D-> Out i Clk-> Out, oprócz lepszego przyznanego czasu konfiguracji (czas wstrzymania również musi wzrosnąć, mała cena do zapłaty) przez przejrzystość w czasie Puls. Czy to sprawia, że ​​jest to flip-flop? Nie bardzo, ale z pewnością wygląda jak jeden!

Jest to jednak o wiele trudniejsze do zagwarantowania do pracy. Musisz sprawdzić we wszystkich rogach procesu (szybkie nmos, wolne PMO, wysokie druty drutowe, niski drut r; jako przykład jednego) i wszystkie napięcia (niskie napięcie powoduje problemy), czy impuls z detektora krawędzi pozostaje wystarczająco szeroki, aby faktycznie się otworzyć zatrzask i wpuść dane.

W przypadku konkretnego pytania, dlaczego uważa się za zatrzask pulsacyjny zamiast przerzutnika, dzieje się tak dlatego, że naprawdę masz tylko jeden element pamięci bitów wrażliwy na jeden poziom. Chociaż puls jest wąski, nie tworzy on systemu blokowania i zapory, który tworzy flip-flop.

Oto artykuł opisujący bardzo podobny zatrzask pulsacyjny do twojego zapytania. Istotny cytat: „Jeśli fala zegara impulsu wyzwoli zatrzask, zatrzask zostanie zsynchronizowany z zegarem podobnie jak przerzutnik wyzwalany zboczem, ponieważ narastające i opadające krawędzie zegara impulsu są prawie identyczne pod względem taktowania”.

EDYCJA Dla pewnej przejrzystości zamieściłem grafikę opartą na zatrzaskach. Zatrzask L1 i zatrzask L2 z logiką pomiędzy nimi. Jest to technika, która może zmniejszyć opóźnienia, ponieważ zatrzask ma mniejsze opóźnienie niż flip-flop. Flip-flop jest „rozłożony”, a logika umieszczona na środku. Teraz oszczędzasz kilka opóźnień bramek (w porównaniu do flip-flopa na obu końcach)!

konstrukcja oparta na zatrzasku

jbord39
źródło
„Charakteryzuje się topologią master-slave” - brzmi to bardziej jak szczegół implementacji, niż definiująca charakterystyka behawioralna. Behawioralnie, flip-flop (z twojej definicji) jest pamięcią jednobitową, która bywa wyzwalana zboczem. W praktyce magia implementacji wymagana do przybliżenia wyzwalania krawędzi wymaga drugiego elementu pamięci!
Oliver Charlesworth,
1
@OliverCharlesworth: Cóż, to szczegół implementacji. Jak również szczegóły fizyczne, behawioralne, strukturalne i topologiczne. Nie można tak po prostu nazwać zatrzasku flip-flopem, ponieważ wydaje się, że to jeden. Być może będziesz w stanie uciec od tego, ale aby w pełni je wykorzystać, musisz znać różnicę. Jeśli rozłożysz klapkę, masz dwa osobne zatrzaski przeciwnej fazy. Możesz umieścić logikę na środku. Jest to szybsze niż flip-flop na obu końcach. Umożliwia także „pożyczanie czasu” przez granicę cyklu, co jest bardzo ważną koncepcją w projektach o dużej prędkości.
jbord39,
Oto kilka bardziej użytecznych zdjęć DFF, które mogą pomóc, zobacz ostatni. Opublikowane powyżej DFF jest mylące ze względu na zatrzaśnięcie na przeciwnych fazach zegara (tj. Zatrzaski master na zboczu narastającym, zatrzaski slave podczas opadania). electronics.stackexchange.com/a/84247/42957
mrbean
Byłoby miło zobaczyć tutaj przykład prawdziwego przerzutnika z wyzwalaniem zboczem w fazie jednofazowej („TSPC” DFF).
mrbean
1

Wiele osób będzie określać taktowane urządzenia jako „klapki”, a nie taktowane jako zatrzaski. Kiedy się tego nauczyłem, były to „taktowane klapki” i „klapki”. Oba mogą być wyzwalane zboczem.

Jest na tyle dwuznaczność, że gdy jest to ważne, polegaj na kartach katalogowych numerów części i schematach czasowych, a nie na opisach słów.

Scott Seidman
źródło
Zatem GTO-SCR to także flip-flop?
Bradman175,
1

Dziękuję wszystkim, którzy odpowiedzieli na moje pytanie. Zgodnie z oczekiwaniami istnieje spór. Niestety semantyka jest często ważniejsza od zrozumienia egzaminów. Jeśli muszę kłócić się z komisją egzaminacyjną za nieprawidłowe oznaczenie pracy egzaminacyjnej studenta informatyki na poziomie A (i robiłem to w przeszłości), chcę być na dobrej pozycji. Myślałem, że podzielę się z tobą kilkoma stronami oficjalnego podręcznika do kursu A Level.

Pierwszy schemat to aktywny zatrzask niskiego SR. Książka nazywa to flip-flop.

W tekście książki napisano: „Za pomocą dwóch przerzutników możemy stworzyć obwód zwany przerzutnikiem typu D, który wykorzystuje obwód sterowany zegarem do sterowania wyjściem, opóźniając go o jeden impuls zegarowy. D oznacza opóźnienie . ” Ten tekst wydaje się odnosić do konfiguracji master / slave. Drugi schemat (rysunek 14.2) jest oznaczony jako flip-flop typu D. W rzeczywistości jest to aktywna wysoko zamknięta zapadka D.

Niezbyt pomocny!

Zamierzam się zdecydować na „Flip-flop najczęściej charakteryzuje się topologią master-slave”. jak zasugerował jbord39, z zastrzeżeniem, że termin flip-flop jest często używany do oznaczenia zatrzasku uruchamianego przez krawędź, a czasem po prostu dowolnego rodzaju zatrzasku. Myślę, że stąd pochodzi książka, choć nie przekonująco.

Jeszcze raz dziękuję wszystkim.

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj

Perkusja
źródło
2
Tak, ta książka jest po prostu myląca. Plus, D oznacza Dane, a nie opóźnienie ... lol Ważną częścią jest zrozumienie ich działania i niezbyt pochłonięcie semantyką. Wyjaśniłem semantykę, tak jak zostały mi wyjaśnione w firmach, w których pracowałem. Może się różnić w zależności od obszaru i poziomu doświadczenia (szczególnie w odniesieniu do elementów wewnętrznych bramek logicznych, nad czym pracuję).
jbord39,
Muszę się zgodzić z jbord39. Jak pokazałem w mojej odpowiedzi, wejście E umożliwia tylko wpływ danych na dane wyjściowe. Ale masz podręczniki zawierające niepoprawne informacje. Właściwie dość denerwujące.
Bradman175,
1

Klapka różni się od zatrzasku. Oba są obwodami bistabilnymi, ale w rzeczywistości są dwiema różnymi rzeczami.

Zatrzask ma umożliwić pin i słucha danych wejściowych / wejść tylko wtedy, gdy ten pin jest wysoka. Kiedy jest niski, zatrzask zamarza i zapamiętuje swój stan. Teraz nawet manipulujesz danymi wejściowymi, nie zareaguje.

Klapki klapa zawiera kołek zegara zamiast, który reaguje tylko na zmienne impulsów (przenosi poziom). Pomyśl o fali prostokątnej. Czas przejściowy między wyłączeniem a włączeniem; wyłączenie i włączenie to czas, w którym obwód reaguje na sygnały wejściowe. Tylko wtedy można to zmienić, a nie wtedy, gdy kołek jest stabilny i całkowicie włączony.

Czas reakcji przerzutnika

Zauważ, że zielone linie reprezentują okres, który nasłuchuje, a czerwone linie okres, kiedy nie. Zatrzask umożliwia wprowadzanie danych tylko w okresach wskazanych przez najwyższe czerwone linie.

Samodzielny SR nie jest praktycznym obwodem w praktyce.

Podziękowania dla jbord39 za wskazanie błędu. Zdjęcie zrobione z radio-elctronics.com i zredagowane.

Daniel Tork
źródło
Flip-flop nie jest zatrzaskiem, ale można go zbudować z dwóch przeciwnych zatrzasków fazowych z powrotem do tyłu.
jbord39,
Zredagowałem odpowiedź @ jbord39
Daniel Tork,
Dziękuję, Peter Mortensen. Nie widziałem ich.
Daniel Tork,
0

Pojęcia używane w pytaniu są w 100% zgodne z tym, co słyszałem w kontekście projektowania układów analogowych. Zatrzaski mają wrażliwy na poziom sygnał zezwolenia, podczas gdy klapki mają wrażliwe na krawędź sygnały zezwolenia zwane „zegarem”. Zauważyłem kilka miejsc online lub w niektórych książkach, które wydają się używać terminu flip-flop dla obu typów, co może mieć sens, jeśli pomyślisz o stanie obwodu „flip flop” między dwoma stabilnymi punktami, ale ilekroć projektanci mówią o obwody, w których pracuję, zatrzaski są wrażliwe na poziom, a klapki (lub często po prostu „klapy”) są wrażliwe na krawędzie.

O twoim innym pytaniu, czy zaprojektować klapkę jako zatrzask z detektorem krawędzi kontra para zatrzasków master-slave. Tak czy inaczej może działać, zakładając, że wykrywacz krawędzi ma wystarczające opóźnienie. Zatrzaski będą miały minimalną ilość czasu aktywacji. Podejrzewam, że trudniej jest wykonać szybki flip-flop przy użyciu techniki detektora krawędzi, a czas ustawienia / wstrzymania może się różnić w zależności od procesu / napięcia / temperatury.

Przywróć Monikę
źródło
Zastanawiam się, dlaczego rzadko widzę klapy zaimplementowane z parą master / slave z nienakładającymi się progami logicznymi (więc napięcie wejściowe poniżej VDD / 4 umożliwiłoby master, a napięcie powyżej VDD / 2 umożliwiłoby slave. karmione powoli rośnie lub głośny sygnał wejściowy, zachowanie byłoby wiarygodne tylko pod warunkiem, że na zboczu narastającym, żaden z nich nie pojawi się napięcie poniżej VDD / 4 po każdym widzieliśmy powyżej napięcia VDD / 2.
Supercat
@ supercat Mówisz o histerezie?
Cort Ammon - Przywróć Monikę
@CortAmmon: Nie - coś lepszego. Jeśli kaskada dwóch przerzutników z niezależnymi wyzwalaczami Schmidta zostanie przeprowadzona kaskadowo, może to spowodować nieprawidłowe działanie, jeśli pierwszy flop rozpozna krawędź zegara i propaguje wejście do wyjścia, zanim drugi flop rozpozna jego krawędź zegara. Jeśli flip-flopy używają podzielonych progów wejściowych, drugi flop przechwyci swój wkład, gdy zegar wzrośnie powyżej dolnego progu, ale wyjście pierwszego flopa nie zmieni się, dopóki zegar nie osiągnie górnego progu.
supercat
0

(Przejdź do końca, jeśli chcesz wiedzieć, czy ostatnim obwodem OP jest przerzutnik czy zatrzask).

Mówiąc w skrócie, Flip-Flop to układ bramek logicznych (lub komponentów), który pozwala na zatrzaśnięcie 2 stanów wraz z trzpieniem zegarowym, który umożliwia te zmiany stanów.

Oto różnica między flip-flopem a zatrzaskiem. Zatrzaski są asynchroniczne, a przerzutniki synchroniczne.

  • Zatrzaski asynchroniczne nie wymagają pinezki aktualizacyjnej, która zwykle byłaby nazywana CLKpinem (skrót od zegara) w przerzutniku. Wszystko zależy im to, czy wejścia są w stanie szczególnego, albo HIGHalbo LOW. Kiedy na wejściu uruchamiana jest pewna kombinacja HIGHsi LOW, wówczas obwód decyduje się wykonać akcję, a pożądany wynik jest zwracany „natychmiast”. Zatrzask umożliwia 4 możliwe działania.

    1. Nic nie robić
    2. Ustaw QnaHIGH
    3. Ustaw QnaLOW
    4. Niepoprawny stan (podobno odwróć wartość Q)

    Uwaga, która Q'zależy od Q.

Przykładem jest zatrzask SR, który pokazuje wszystkie 4 możliwe działania, które zatrzask może wykonać: Zatrzask RS

  1. Kiedy Sjest LOWi Rjest LOW, nic się nie zmienia.
  2. Kiedy Sjest HIGHi Rjest LOW, Qjest ustawione na HIGH.
  3. Kiedy Sjest LOWi Rjest HIGH, Qjest ustawione na LOW.
  4. Kiedy Sjest HIGHi Rjest HIGH, Qjest odwrócone, z „nieprzewidywalnie” dużą szybkością. Ten stan jest nieprawidłowy.
  • Synchroniczne przerzutniki pozwalają ustawić wartość dla pinów danych. Oznacza to, że zależy tylko na tym, jaki jest stan tych pinów. Jednak obwód nie decyduje się na wykonanie żadnych działań na wyjściu. Masz CLKpin, jak wspomniano powyżej. Kiedy CLKpin zmienia stan (z z LOWna HIGH, odwrotnie lub nawet oba), piny danych są „przechwytywane”, a flip-flop wykonuje działanie w oparciu o kombinację HIGHs i LOWs danych przechwyconych z pinów danych. CLKPin ma dwie akcje .
  1. Nic nie robić
  2. „Przechwytuj” dane z pinów danych i wykonaj akcję na wyjściu w oparciu o wartości pinów danych w danym momencie.

Ponownie są 4 możliwe działania, które obwód może wykonać na wyjściu.

  1. Nic nie robić
  2. Ustaw QnaHIGH
  3. Ustaw QnaLOW
  4. Odwróć wartość Q(teraz jest poprawna, ponieważ robi to tylko raz)

TO NIE JEST FLIP-FLOP:

wprowadź opis zdjęcia tutaj

Ale dlaczego możesz zapytać? Ten Epin nie jest zegarem zegarowym. Piny zegara pozwalają obwodowi analizować informacje z pinów danych RAZ, gdzie te informacje są wysyłane jako instrukcje wykonania określonych działań na wyjściu. Jednak włączenie pinów tego typu pozwala obwodowi analizować informacje z pinów danych, o ile są one utrzymywane wysoko i stale ustawiają wartości wyjściowe. Jest to więc zatrzask. (Podziękowania dla jbord39 za wskazanie mojego błędu).

Flip-flop jest więc jak zatrzask, tyle że potrzebujesz dodatkowego kroku „potwierdzenia”, którym jest CLKpin.

Czy więc ten ostatni obwód pytania OP jest przerzutem? Spróbuj przytrzymać C na wysokim poziomie i sprawdź, czy wyjście zmienia się po zmianie wartości D. Jeśli wyjście się zmienia, należy je nazwać enable i jest zatrzaskiem. Ale jeśli wynik się nie zmienia (w takim przypadku), to jest to flip-flop.

Obrazy pochodzą z Wikipedii.

Bradman175
źródło
Nie, wiele zatrzasków ma kołki zegarowe. nxp.com/documents/data_sheet/74HC_HCT373.pdf w rzeczywistości obwód pokazałeś to nie flip flop zatrzask ...
jbord39
@ jbord39? Jaki pin zegara? I pin włączający różni się od pinu zegarowego.
Bradman175,
@ jbord39 i whoops masz rację. Dwa dolne obwody są zatrzaskami. Proszę ponownie rozważyć moją odpowiedź.
Bradman175,
Zobaczę, czy rozumiem. Klapki klapek sprawdzają każde wejście i włączają wyjście, a zatrzask sprawdza zegar i działa, jeśli wynosi 1, wysyłając wartość D. Tak więc zatrzask SR JEST przerzutem, ponieważ nie jest taktowany, ale zatrzask D jest prawdziwym zatrzaskiem.
Daniel Tork,
@DanielTork Chodzi o to, że masz wiele „zegarów”, a zegar nie może przełączać się między pinami, a także służyć jako pin danych.
Bradman175,