Klopný obvod (elektronika) - Flip-flop (electronics)

v elektronika, a žabky nebo západka je obvod který má dva stabilní stavy a lze jej použít k ukládání informací o stavu - a bistabilní multivibrátor. Obvod lze přivést ke změně stavu pomocí signály aplikován na jeden nebo více řídicích vstupů a bude mít jeden nebo dva výstupy. Je to základní úložný prvek v sekvenční logika. Žabky a západky jsou základní stavební kameny digitální elektronika systémy používané v počítačích, komunikacích a mnoha dalších typech systémů.
Jako prvky úložiště dat se používají klopné obvody a západky. Flip-flop je zařízení, které ukládá singl bit (binární číslice) dat; jeden z jeho dvou stavů představuje „jeden“ a druhý představuje „nulu“. Takové datové úložiště lze použít pro ukládání Stát, a takový obvod je popsán jako sekvenční logika v elektronice. Při použití v konečný stavový stroj, výstup a další stav závisí nejen na jeho aktuálním vstupu, ale také na jeho aktuálním stavu (a tedy na předchozích vstupech). Lze jej také použít pro počítání pulzů a pro synchronizaci vstupů s proměnným časováním s některým referenčním časovacím signálem.
Klopné obvody mohou být spouštěny na úrovni (asynchronní, průhledné nebo neprůhledné) nebo na hraně (synchronní nebo taktovaný ). Termín klopný obvod historicky obecně odkazoval na obvody spouštěné na úrovni i na hrany, které ukládají jeden bit dat pomocí bran. Někteří autoři si tento termín v poslední době vyhrazují žabky výhradně pro diskusi o taktovaných obvodech; ty jednoduché se běžně nazývají průhledné západky.[1][2] Pomocí této terminologie se klopný obvod citlivý na úroveň nazývá transparentní západka, zatímco klopný obvod spouštěný hranou se jednoduše nazývá klopný obvod. Použitím kterékoli terminologie termín „klopný obvod“ označuje zařízení, které ukládá jeden bit dat, ale termín „západka“ může také označovat zařízení, které ukládá libovolný počet bitů dat pomocí jediného spouštěče. Aby se předešlo nejednoznačnosti, lze použít výrazy „spouštěné hranou“ a „spouštěné úrovní“.[3]
Když je povolena západka spouštěná na úrovni, stane se transparentní, ale výstup klopného obvodu spouštěný hranou se změní pouze na jednom typu (pozitivní nebo negativní) hodinové hrany.
Dějiny

První elektronický klopný obvod vynalezli v roce 1918 britští fyzici William Eccles a F. W. Jordan.[4][5] Původně se tomu říkalo Eccles – Jordan spouštěcí obvod a skládal se ze dvou aktivních prvků (vakuové trubky ).[6] Design byl použit v roce 1943 Britové Počítač na rozbíjení kódů Colossus[7] a takové obvody a jejich tranzistorové verze byly v počítačích běžné i po zavedení integrované obvody, ačkoli žabky vyrobené z logické brány jsou nyní také běžné.[8][9] Brzy klopné obvody byly známé různě jako spouštěcí obvody nebo multivibrátory.
Podle P. L. Lindleye, inženýra v USA Laboratoř tryskového pohonu, níže popsané typy klopných obvodů (SR, D, T, JK) byly poprvé diskutovány v roce 1954 UCLA kurz počítačového designu od Montgomery Phistera, a poté se objevil v jeho knize Logický design digitálních počítačů.[10][11] Lindley v té době pracoval v Hughes Aircraft pod vedením Eldreda Nelsona, který vytvořil termín JK pro klopný obvod, který změnil stavy, když byly oba vstupy zapnuté (logický „jeden“). Ostatní jména vymyslel Phister. Mírně se liší od některých níže uvedených definic. Lindley vysvětluje, že příběh flip-flopu JK slyšel od Eldreda Nelsona, který je odpovědný za vytvoření tohoto pojmu při práci na Hughes Aircraft. Žabky používané v té době u Hughese byly všechny typu, který se stal známým jako J-K. Při navrhování logického systému Nelson přiřadil písmena klopným obvodům následovně: # 1: A & B, # 2: C & D, # 3: E & F, # 4: G & H, # 5: J & K. Nelson použil notace “j-input "a"k-input “v patentové přihlášce podané v roce 1953.[12]
Implementace

Klopné obvody mohou být buď jednoduché (transparentní nebo asynchronní) nebo hodinové (synchronní). V kontextu jazyků popisu hardwaru jsou ty jednoduché obecně označovány jako západky,[1] zatímco taktované jsou popsány jako žabky.[2]
Jednoduché klopné obvody mohou být postaveny kolem jedné dvojice vzájemně propojených invertujících prvků: vakuové trubky, bipolární tranzistory, tranzistory s efektem pole, střídače a převrácení logické brány všechny byly použity v praktických obvodech.
Hodinová zařízení jsou speciálně navržena pro synchronní systémy; taková zařízení ignorují své vstupy s výjimkou přechodu vyhrazeného hodinového signálu (známého jako taktování, pulzování nebo strobování). Hodiny způsobí, že klopný obvod buď změní, nebo zachová svůj výstupní signál na základě hodnot vstupních signálů při přechodu. Některé klopné obvody mění výstup na vzestupu okraj hodin, ostatní na sestupné hraně.
Vzhledem k tomu, že základní zesilovací stupně jsou invertující, lze připojit dva stupně za sebou (jako kaskádu) a vytvořit potřebný neinvertující zesilovač. V této konfiguraci může být každý zesilovač považován za aktivní invertující zpětnou vazbu pro druhý invertující zesilovač. Oba stupně jsou tedy spojeny v neinvertující smyčce, i když schéma zapojení je obvykle nakresleno jako symetrický křížově vázaný pár (oba kresby jsou původně zavedeny v patentu Eccles – Jordan).
Flip-flop typy
Žabky lze rozdělit do běžných typů: SR ("set-reset"), D („data“ nebo „zpoždění“[13]), T ("přepnout") a JK. Chování konkrétního typu lze popsat tím, co se nazývá charakteristická rovnice, která odvozuje výstup „další“ (tj. Po dalším hodinovém impulsu), Qdalší pokud jde o vstupní signál (y) a / nebo proudový výstup, .
Jednoduché západky pro resetování
Při použití statických bran jako stavebních bloků je nejzákladnější západka jednoduchá Západka SR, kde S a R znamenají soubor a resetovat. Může být konstruován z dvojice křížových vazeb ANI nebo NAND logické brány. Uložený bit je přítomen na výstupu označeném Q.
Západka SR NOR


- S = 1, R = 0: Nastaveno
- S = 0, R = 0: Hold
- S = 0, R = 1: Reset
- S = 1, R = 1: Nepovoleno
Zatímco vstupy R a S jsou oba nízké, zpětná vazba udržuje Q a Q výstupy v konstantním stavu, s Q doplněk Q. Pokud S (Soubor) je pulzován vysoko, zatímco R (Resetovat) je držen nízko, pak je výstup Q vynucen vysoký a zůstává vysoký, když se S vrátí na nízkou; podobně, pokud je R pulzně vysoký, zatímco S je udržován na nízké hodnotě, je výstup Q nuceně nízký a zůstává nízký, když se R vrátí na nízkou hodnotu.
Provoz západky SR[3] Tabulka charakteristik Budicí tabulka S R Qdalší Akce Q Qdalší S R 0 0 Q Držet stát 0 0 0 X 0 1 0 Resetovat 0 1 1 0 1 0 1 Soubor 1 0 0 1 1 1 X Nepovoleno 1 1 X 0
Poznámka: X znamená je mi to jedno, to znamená, že buď 0, nebo 1 je platná hodnota.
Kombinace R = S = 1 se nazývá a omezená kombinace nebo a zakázaný stát protože obě brány NOR poté vydávají nuly, rozbíjí logickou rovnici Q = ne Q. Kombinace je také nevhodná v obvodech, kde oba vstupy mohou být nízké zároveň (tj. přechod z omezený na držet). Výstup by se uzamkl na 1 nebo 0 v závislosti na časových relacích šíření mezi branami (a stav závodu ).

K překonání omezené kombinace je možné přidat brány ke vstupům, které by se převáděly (S, R) = (1, 1) do jedné z neomezených kombinací. To může být:
- Q = 1 (1, 0) - označuje se jako S (dominuje) -latch
- Q = 0 (0, 1) - označuje se jako R (dominuje) -latch
To se děje téměř ve všech programovatelný logický řadič.
- Zachovat stav (0, 0) - označuje se jako E-západka
Alternativně lze omezenou kombinaci provést na přepnout výstup. Výsledkem je JK západka.
Charakteristická rovnice pro západku SR je:
- nebo [14]
Další výraz je:
- s [15]
SR Západka NAND

Níže zobrazený obvod je základní západkou NAND. Vstupy jsou obecně označeny S a R pro nastavení a reset. Protože vstupy NAND musí být normálně logické 1, aby se zabránilo ovlivnění západkové akce, považují se vstupy v tomto obvodu za invertované (nebo za aktivní nízký).
Obvod používá zpětnou vazbu k "zapamatování" a zachování svého logického stavu i po změně řídících vstupních signálů. Když jsou oba vstupy S a R vysoké, zpětná vazba udržuje výstupy Q do předchozího stavu.
SR západková operace S R Akce 0 0 Q = 1, Q = 1; nepovoleno 0 1 Q = 1 1 0 Q = 0 1 1 Žádná změna; náhodné iniciály Symbol pro SR Západka NANDZápadka SR AND-OR
Západka SR AND-OR. Světle zelená znamená logickou '1' a tmavě zelená znamená logickou '0'. Západka je aktuálně v režimu blokování (beze změny).Z hlediska výuky jsou západky SR nakreslené jako dvojice vzájemně propojených komponent (tranzistory, brány, trubice atd.) Pro začátečníky často těžko srozumitelné. Didakticky snadněji pochopitelným způsobem je namísto křížové vazby nakreslit západku jako jednu zpětnou vazbu. Následuje západka SR postavená s A brána s jednou obráceně vstup a NEBO brána. Všimněte si, že měnič není nutný pro funkci západky, ale spíše pro to, aby oba vstupy byly vysoce aktivní.
Provoz západky SR AND-OR S R Akce 0 0 Žádná změna; náhodné iniciály 1 0 Q = 1 X 1 Q = 0
Všimněte si, že západka SR AND-OR má tu výhodu, že S = 1, R = 1 je dobře definována. Ve výše uvedené verzi západky SR AND-OR dává přednost signálu R před signálem S. Pokud je nutná priorita S před R, lze toho dosáhnout připojením výstupu Q k výstupu brány OR namísto výstupu brány AND.
Západka SR AND-OR je snáze pochopitelná, protože obě brány lze vysvětlit izolovaně. Pokud není nastaven žádný S nebo R, jsou brána OR i brána AND v „režimu přidržení“, tj. Jejich výstupem je vstup ze zpětnovazební smyčky. Když je vstup S = 1, pak se výstup brány OR stane 1, bez ohledu na další vstup ze zpětnovazební smyčky ("nastavený režim"). Když je vstup R = 1, pak se výstup brány AND stane 0, bez ohledu na další vstup ze zpětnovazební smyčky („resetovací režim“). A protože výstup Q je přímo spojen s výstupem brány AND, má R přednost před S. Západky nakreslené jako brány s křížovými vazbami mohou vypadat méně intuitivně, protože chování jedné brány se zdá být propletené s druhou bránou.
Pamatujte, že západku SR AND-OR lze transformovat do západky SR NOR pomocí logických transformací: invertování výstupu brány NOR a také 2. vstupu brány AND a připojení invertovaného výstupu Q mezi tyto dva přidané střídače; s hradlem AND s oběma invertovanými vstupy, které jsou ekvivalentní bráně NOR podle De Morganovy zákony.
JK západka
Západka JK se používá mnohem méně často než klopný obvod JK. Západka JK sleduje následující stavovou tabulku:
Tabulka pravdy západky JK J K. Qdalší Komentář 0 0 Q Žádná změna 0 1 0 Resetovat 1 0 1 Soubor 1 1 Q Přepnout
Proto je západka JK západkou SR, která je vyrobena přepnout jeho výstup (osciluje mezi 0 a 1), když prošel vstupní kombinací 11.[16] Na rozdíl od klopného obvodu JK není kombinace vstupu 11 pro západku JK příliš užitečná, protože neexistují žádné hodiny, které by směrovaly přepínání.[17]
Vratové západky a podmíněná průhlednost
Západky jsou navrženy tak, aby byly průhledný. To znamená, že změny vstupního signálu způsobují okamžité změny výstupu. K jednoduché průhledné západce lze přidat další logiku neprůhledný nebo neprůhledný když není uplatněn jiný vstup (vstup „povolit“). Když několik průhledný západky na sebe navazují a pomocí stejného aktivačního signálu se mohou signály šířit všemi najednou. Postupováním podle a transparentní-vysoká západka s a transparentně nízká (nebo neprůhledné vysoké) západka, je implementován klopný obvod typu master – slave.
Západka se západkou SR
Západka NAND Gated SR (klopný flop SR). Poznamenejte si invertované vstupy.A synchronní západka SR (někdy taktovaný klopný obvod SR) lze provést přidáním druhé úrovně bran NAND do obráceně Západka SR (nebo druhá úroveň bran AND k Přímo Západka SR). Zvláštní brány NAND dále invertují vstupy SR západka se stává západkovou západkou SR (a západka SR by se transformovala na bránou SR západka s obráceným uvolněním).
S E vysokou (umožnit true), signály mohou procházet vstupními branami do zapouzdřené západky; všechny kombinace signálů kromě (0, 0) = držet pak okamžitě reprodukovat na (Q, Q) výstup, tj. západka je průhledný.
S E nízkým (umožnit false) západka je uzavřený (neprůhledný) a zůstane ve stavu, v jakém byla ponechána naposledy, když byla E vysoká.
The umožnit vstup je někdy a hodinový signál, ale častěji stroboskop pro čtení nebo zápis. Když umožnit vstup je hodinový signál, západka se říká, že je citlivé na hladinu (na úroveň hodinového signálu), na rozdíl od citlivé na hrany jako žabky níže.
Uzavřená operace západky SR E / C Akce 0 Žádná akce (zachovat stav) 1 Stejné jako netaktovaná západka SR Symbol pro uzavřenou západku SRUzavřená západka D.
Tato západka využívá skutečnosti, že ve dvou aktivních vstupních kombinacích (01 a 10) hradlové SR západky je R doplňkem S. Vstupní stupeň NAND převádí dva stavy vstupu D (0 a 1) na tyto dva vstupy kombinace pro další SR západku invertováním vstupního signálu dat. Nízký stav umožnit signál vytváří neaktivní kombinaci „11“. Uzavřenou D-západku lze tedy považovat za synchronní západka SR s jedním vstupem. Tato konfigurace brání použití kombinace omezeného vstupu. Je také známý jako průhledná západka, západka datnebo jednoduše zajištěná západka. Má to data vstup a umožnit signál (někdy pojmenovaný hodinynebo řízení). Slovo průhledný vychází ze skutečnosti, že když je povolený vstup, signál se šíří přímo obvodem, ze vstupu D na výstup Q. Uzavřené D-západky jsou také citlivé na hladinu s ohledem na úroveň hodin nebo aktivačního signálu.
Transparentní západky se obvykle používají jako I / O porty nebo v asynchronních systémech nebo v synchronních dvoufázových systémech (synchronní systémy které používají a dvoufázové hodiny ), kde dvě západky fungující na různých fázích hodin zabraňují průhlednosti dat jako v klopném obvodu typu Master – Slave.
Západky jsou k dispozici jako integrované obvody, obvykle s více západkami na čip. Například, 74HC75 je čtyřnásobná průhledná západka v Řada 7400.
Tabulka pravdy níže ukazuje, že když Enable /Cvstup zámku je 0, vstup D nemá žádný vliv na výstup. Když je E / C vysoký, výstup se rovná D.
Gated D latch pravdivostní tabulka E / C D Q Q Komentář 0 X Qpředchozí Qpředchozí Žádná změna 1 0 0 1 Resetovat 1 1 1 0 Soubor Symbol pro uzavřenou západku D.Uzavřená západka D založená na SR Západka NAND
Uzavřená západka D založená na západce SR NOR
- Animovaná západka typu D. Černá a bílá znamenají logické „1“ a „0“.
- D = 1, E = 1: nastaveno
- D = 1, E = 0: podržte
- D = 0, E = 0: podržte
- D = 0, E = 1: reset
Uzavřená západka D dovnitř projít tranzistorovou logikou, podobné těm v integrovaných obvodech CD4042 nebo CD74HC75.
Ušní západka
Klasické konstrukce závory mají některé nežádoucí vlastnosti.[18] Vyžadují logiku s dvojitou lištou nebo invertor. Šíření vstup-výstup může trvat až tři zpoždění brány. Šíření vstup-výstup není konstantní - některé výstupy mají zpoždění dvou bran, zatímco jiné tři.
Návrháři hledali alternativy.[19] Úspěšnou alternativou je západka Earle. Vyžaduje pouze jeden datový vstup a jeho výstup trvá konstantní dvě zpoždění brány. Kromě toho lze dvě úrovně brány Earle západky v některých případech sloučit s posledními dvěma úrovněmi brány obvodů pohánějících západku, protože mnoho běžných výpočetních obvodů má vrstvu OR následovanou vrstvou AND jako jejich poslední dvě úrovně . Sloučením funkce západky lze západku implementovat bez dalších zpoždění brány.[18] Sloučení se běžně využívá při konstrukci zřetězených počítačů a ve skutečnosti ho původně vytvořil John G. Earle, aby ho bylo možné použít v IBM System / 360 Model 91 za tímto účelem.[20]
Západka Earle není nebezpečná.[21] Pokud je střední brána NAND vynechána, pak jeden dostane západka polarity, který se běžně používá, protože vyžaduje méně logiky.[21][22] Je však náchylný k logické nebezpečí. Úmyslné zkosení hodinového signálu může zabránit nebezpečí.[22]
Earle západka používá doplňkové aktivační vstupy: aktivovat aktivní minimum (E_L) a aktivovat aktivní maximum (E_H)
- Animovaná západka Earle. Černá a bílá znamenají logické „1“ a „0“.
- D = 1, E_H = 1: nastaveno
- D = 0, E_H = 1: reset
- D = 1, E_H = 0: podržet
D klopný obvod
D klopný symbolKlopný obvod D je široce používán. Je také známý jako klopný obvod „data“ nebo „delay“.
Klopný obvod D zachycuje hodnotu vstupu D v určité části hodinového cyklu (například náběžná hrana hodin). Tato zachycená hodnota se stane Q výstupem. Jindy se výstup Q nezmění.[23][24] Klopný obvod D lze zobrazit jako paměťovou buňku, a zadržení nulového řádu nebo zpožďovací linka.[25]
Pravdivá tabulka:
Hodiny D Qdalší Náběžná hrana 0 0 Náběžná hrana 1 1 Nestoupající X Q
(X označuje a je mi to jedno podmínka, což znamená, že signál není relevantní)
Většina klopných obvodů typu D v integrovaných obvodech má schopnost být nucena do nastaveného nebo resetovaného stavu (který ignoruje vstupy D a hodin), podobně jako klopný obvod SR. Neplatná podmínka S = R = 1 je obvykle vyřešena v klopných obvodech typu D. Nastavením S = R = 0 se klopný obvod chová, jak je popsáno výše. Zde je tabulka pravdivosti pro další možné konfigurace S a R:
Vstupy Výstupy S R D > Q Q 0 1 X X 0 1 1 0 X X 1 0 1 1 X X 1 1
Tyto žabky jsou velmi užitečné, protože tvoří základ posuvné registry, které jsou podstatnou součástí mnoha elektronických zařízení. Výhodou klopného obvodu D oproti „průhledné západce“ typu D je, že signál na vstupním kolíku D je zachycen v okamžiku, kdy je klopný obvod taktován, a následné změny na vstupu D budou ignorovány až do dalšího událost hodin. Výjimkou je, že některé klopné obvody mají „resetovací“ signální vstup, který resetuje Q (na nulu) a mohou být asynchronní nebo synchronní s hodinami.
Výše uvedený obvod posune obsah registru doprava, o jednu bitovou pozici při každém aktivním přechodu hodin. Vstup X je posunut do pozice bitů nejvíce vlevo.
Klasický klopný obvod D spouštěný kladnou hranou
Několik různých typů okrajových spouštěcích klopných obvodůKlopný obvod D s aktivovanou kladnou hranouKlopný obvod D aktivovaný kladnou hranou s nastavením a resetovánímTento obvod[26] se skládá ze dvou fází implementovaných SR Západky NAND. Vstupní stupeň (dvě západky vlevo) zpracovává hodinové a datové signály, aby zajistil správné vstupní signály pro výstupní stupeň (jednoduchá západka vpravo). Pokud jsou hodiny nízké, jsou oba výstupní signály vstupního stupně vysoké bez ohledu na vstup dat; výstupní západka není ovlivněna a ukládá předchozí stav. Když se hodinový signál změní z nízkého na vysoký, pouze jedno z výstupních napětí (v závislosti na datovém signálu) poklesne a nastaví / resetuje výstupní západku: pokud D = 0, dolní výstup se sníží; pokud D = 1, horní výstup bude nízký. Pokud hodinový signál nadále zůstává vysoký, výstupy si zachovají své stavy bez ohledu na vstup dat a vynutí, aby výstupní západka zůstala v odpovídajícím stavu, protože vstupní logická nula (výstupního stupně) zůstává aktivní, zatímco hodiny jsou vysoké. Úlohou výstupní západky je tedy ukládat data pouze při nízkých hodinách.
Okruh úzce souvisí s zajištěná západka D. protože oba obvody převádějí dva vstupní stavy D (0 a 1) na dvě vstupní kombinace (01 a 10) pro výstup SR západku invertováním vstupního datového signálu (oba obvody rozdělují jediný signál D na dva komplementární S a R signály). Rozdíl je v tom, že v závorové západce D se používají jednoduché logické brány NAND, zatímco v klopném obvodu D s aktivovanou kladnou hranou SR K tomuto účelu se používají západky NAND. Úlohou těchto západek je „uzamknout“ aktivní výstup produkující nízké napětí (logická nula); klopný obvod D s aktivovanou kladnou hranou lze tedy také považovat za bránou D se západkou se západkovými vstupními branami.
Master-slave hranou spouštěný klopný obvod
Klopný obvod D typu Master – Slave. Reaguje na sestupnou hranu umožnit vstup (obvykle hodiny)Implementace klopného obvodu D typu master – slave, která se spouští na náběžné hraně hodinKlopný obvod D typu Master – Slave je vytvořen spojením dvou zajištěné západky D. v sérii a invertování umožnit vstup do jednoho z nich. Říká se tomu master – slave, protože hlavní západka ovládá výstupní hodnotu Q podřízené západky a nutí podřízenou západku, aby udržovala svoji hodnotu, kdykoli je podřízená západka povolena, protože podřízená západka vždy kopíruje svou novou hodnotu z hlavní západky a mění její hodnotu pouze v reakci na změnu hodnoty hlavní západky a hodinového signálu.
U klopného obvodu Master-Slave D aktivovaného kladnou hranou, když je hodinový signál nízký (logická 0), je „povolení“ viděné první nebo „hlavní“ západkou D (obrácený hodinový signál) vysoká (logická 1) . To umožňuje „hlavní“ západce ukládat vstupní hodnotu, když hodinový signál přechází z nízké na vysokou. Jak hodinový signál stoupá vysoko (0 až 1), invertované „povolení“ první západky klesá (1 až 0) a hodnota viděná na vstupu do hlavní západky je „uzamčena“. Téměř současně přepíná dvakrát invertované „povolení“ druhé nebo „podřízené“ západky D z nízkého na vysoký (0 až 1) hodinovým signálem. To umožňuje signálu zachycenému na náběžné hraně hodin nyní „uzamčenou“ hlavní západkou projít „podřízenou“ západkou. Když se hodinový signál vrátí na nízkou hodnotu (1 až 0), výstup „podřízené“ západky je „uzamčen“ a hodnota viděná na poslední vzestupné hraně hodin je držena, zatímco „hlavní“ západka začne přijímat nové hodnoty v rámci přípravy na další rostoucí hodinovou hranu.
Odebráním invertoru zcela vlevo v obvodu se vytvoří klopný obvod typu D, který bliká na sestupná hrana hodinového signálu. Toto má tabulku pravdivosti, jako je tato:
D Q > Qdalší 0 X Padající 0 1 X Padající 1
Klopný obvod D spouštěný dvěma hranami
Implementace klopného obvodu D s dvojím okrajemŽabky, které čtou novou hodnotu na stoupající a klesající hraně hodin, se nazývají klopné obvody spouštěné dvěma okraji. Takový klopný obvod může být sestaven pomocí dvou klopných obvodů typu D spouštěných jednou hranou a multiplexeru, jak je znázorněno na obrázku.
Symbol obvodu klopného obvodu D aktivovaného dvojím okrajemEdge-triggered dynamic D storage element
Implementace IC CMOS dynamického klopného obvodu spouštěného hranou s resetemÚčinnou funkční alternativu k klopnému obvodu D lze vytvořit pomocí dynamických obvodů (kde jsou informace uloženy na kapacitě), pokud jsou dostatečně často taktovány; i když nejde o skutečný klopný obvod, pro svou funkční roli se stále nazývá klopný obvod. Zatímco prvek D „master-slave“ se spouští na okraji hodin, jeho komponenty jsou spouštěny úrovněmi hodin. „Klopný obvod D spouštěný hranou“, jak se nazývá, i když se nejedná o skutečný klopný obvod, nemá vlastnosti master – slave.
Okrajem spouštěné klopné obvody D jsou často implementovány v integrovaných vysokorychlostních operacích pomocí dynamická logika. To znamená, že digitální výstup je uložen na kapacitě parazitního zařízení, zatímco zařízení nepřechází. Tato konstrukce dynamických klopných obvodů také umožňuje jednoduché resetování, protože operaci resetování lze provést jednoduchým vybitím jednoho nebo více vnitřních uzlů. Běžnou dynamickou klopnou flopou je typ pravých jednofázových hodin (TSPC), který provádí klopný obvod s malým výkonem a při vysokých rychlostech. Dynamické klopné obvody však obvykle nebudou fungovat při statických nebo nízkých rychlostech hodin: při dostatečném čase mohou cesty úniku parazitní kapacitu dostatečně vybít, aby klopný obvod vstoupil do neplatných stavů.
T klopný obvod
Symbol obvodu pro klopný obvod typu T.Je-li vstup T vysoký, klopný obvod T změní stav („přepne“), kdykoli je vstup hodin strobován. Pokud je vstup T nízký, klopný obvod obsahuje předchozí hodnotu. Toto chování je popsáno charakteristikou rovnice:
- (rozšíření XOR operátor)
a lze je popsat v a pravdivostní tabulka:
T klopný obvod[27] Tabulka charakteristik Budicí tabulka Komentář Komentář 0 0 0 Stav pozastavení (bez hodin) 0 0 0 Žádná změna 0 1 1 Stav pozastavení (bez hodin) 1 1 0 Žádná změna 1 0 1 Přepnout 0 1 1 Doplněk 1 1 0 Přepnout 1 0 1 Doplněk
Když je T drženo vysoko, přepínací klopný obvod vydělí taktovací frekvenci dvěma; to znamená, že pokud je taktovací frekvence 4 MHz, bude výstupní frekvence získaná z klopného obvodu 2 MHz. Tato funkce „rozdělit podle“ má uplatnění v různých typech digitálních pulty. Klopný obvod T lze také vytvořit pomocí klopného obvodu JK (kolíky J & K jsou spojeny dohromady a fungují jako T) nebo klopného obvodu D (vstup T XOR Qpředchozí pohání vstup D).
Flip-flop JK
Symbol obvodu pro klopný obvod JK s kladnou hranouSchéma časování klopného obvodu JKKlopný obvod JK rozšiřuje chování klopného obvodu SR (J: Set, K: Reset) interpretací podmínky J = K = 1 jako příkazu „převrácení“ nebo přepnutí. Konkrétně kombinace J = 1, K = 0 je příkaz k nastavení klopného obvodu; kombinace J = 0, K = 1 je příkaz k resetování klopného obvodu; a kombinace J = K = 1 je příkaz k přepnutí klopného obvodu, tj. změna jeho výstupu na logický doplněk jeho aktuální hodnoty. Nastavení J = K = 0 udržuje aktuální stav. Chcete-li syntetizovat klopný obvod D, jednoduše nastavte K rovnající se doplňku J (vstup J bude fungovat jako vstup D). Podobně pro syntézu klopného obvodu T nastavte K rovné J. Klopný obvod JK je proto univerzální klopný obvod, protože jej lze nakonfigurovat tak, aby fungoval jako klopný obvod SR, klopný obvod D nebo klopný obvod T.
Charakteristická rovnice klopného obvodu JK je:
a odpovídající pravdivostní tabulka je:
Flip-flop operace JK[27] Tabulka charakteristik Budicí tabulka J K. Komentář Qdalší Q Qdalší Komentář J K. 0 0 Držet stát Q 0 0 Žádná změna 0 X 0 1 Resetovat 0 0 1 Soubor 1 X 1 0 Soubor 1 1 0 Resetovat X 1 1 1 Přepnout Q 1 0 Přepnout X 0
Úvahy o načasování
Parametry časování
Flip-flop nastavení, parametry zadržení a časování do výstupuVstup musí být udržován rovnoměrně v období kolem náběžné hrany hodin známého jako clona. Představte si, že vyfotíte žábu na podložce s lekníny.[28] Předpokládejme, že žába skočí do vody. Pokud pořídíte snímek žáby při skoku do vody, získáte rozmazaný obrázek žáby skákající do vody - není jasné, ve kterém stavu byla žába. Pokud však pořídíte snímek, zatímco žába stabilně sedí na podložce (nebo je stabilně ve vodě) získáte jasný obraz. Stejným způsobem musí být vstup do klopného obvodu udržován stabilní během clona klopného obvodu.
Čas na přípravu je minimální doba, po kterou by měl být vstup dat stabilní před událost hodin, takže data jsou spolehlivě vzorkována hodinami.
Vydržte je minimální doba, po kterou by měl být vstup dat stabilní po událost hodin, takže data jsou spolehlivě vzorkována hodinami.
Clona je součet doby nastavení a zadržení. Zadávání dat by mělo být po celou dobu udržováno stabilní.[28]
Čas pro zotavení je minimální doba, po kterou by měl být asynchronní vstup pro nastavení nebo reset neaktivní před událost hodin, takže data jsou spolehlivě vzorkována hodinami. Doba zotavení pro vstup asynchronního vstupu nebo resetu je tedy podobná době nastavení pro vstup dat.
Čas odstranění je minimální doba, po kterou by měl být asynchronní vstup pro nastavení nebo reset neaktivní po událost hodin, takže data jsou spolehlivě vzorkována hodinami. Doba odstranění pro asynchronní vstup pro nastavení nebo reset je tedy podobná době pozastavení pro vstup dat.
Krátké impulsy aplikované na asynchronní vstupy (set, reset) by neměly být aplikovány úplně během období zotavení-odstranění, jinak je zcela neurčitelné, zda klopný obvod přejde do příslušného stavu. V jiném případě, kdy asynchronní signál jednoduše provede jeden přechod, který spadá mezi dobu zotavení / odstranění, nakonec klopný obvod přejde do příslušného stavu, ale na výstupu se může nebo nemusí objevit velmi krátká závada, v závislosti na na synchronním vstupním signálu. Tato druhá situace může nebo nemusí mít význam pro návrh obvodu.
Signály pro nastavení a resetování (a další) mohou být synchronní nebo asynchronní, a proto je lze charakterizovat buď časem nastavení / pozastavení, nebo obnovením / odebráním, a synchronicita velmi závisí na konstrukci klopného obvodu.
Při ověřování načasování větších obvodů je často nutné rozlišovat mezi časy nastavení / pozastavení a obnovy / odstranění, protože asynchronní signály mohou být považovány za méně kritické než synchronní signály. Diferenciace nabízí návrhářům obvodů možnost definovat podmínky ověření pro tyto typy signálů nezávisle.
Metastabilita
Žabky podléhají problému zvanému metastabilita, což se může stát, když se přibližně ve stejnou dobu mění dva vstupy, jako jsou data a hodiny nebo hodiny a reset. Není-li pořadí jasné, v rámci příslušných časových omezení, výsledkem je, že se výstup může chovat nepředvídatelně, než se vyrovná s jedním nebo druhým stavem, mnohokrát déle než obvykle, nebo dokonce několikrát osciluje. Teoreticky není čas na usazení omezen. V počítač systém, tato metastabilita může způsobit poškození dat nebo selhání programu, pokud stav není stabilní, než jiný obvod použije jeho hodnotu; zejména pokud dvě různé logické cesty používají výstup klopného obvodu, jedna cesta jej může interpretovat jako 0 a druhá jako 1, pokud se nevyřeší do stabilního stavu, čímž se stroj dostane do nekonzistentního stavu.[29]
Metastabilitě v klopných obvodech se lze vyhnout zajištěním toho, aby byly datové a řídicí vstupy udržovány platné a konstantní po specifikovaná období před a po hodinovém impulsu, tzv. čas na přípravu (tsu) a držet čas (th). Tyto časy jsou uvedeny v datovém listu zařízení a pro moderní zařízení jsou obvykle mezi několika nanosekundami a několika stovkami pikosekund. V závislosti na interní organizaci klopného obvodu je možné vytvořit zařízení s nulovým (nebo dokonce záporným) nastavením nebo požadavkem na čas zadržení, ale ne obojí současně.
Bohužel není vždy možné splnit kritéria pro nastavení a zadržení, protože klopný obvod může být připojen k signálu v reálném čase, který se může kdykoli změnit, mimo kontrolu návrháře. V tomto případě je nejlepší, co návrhář může udělat, je snížit pravděpodobnost chyby na určitou úroveň v závislosti na požadované spolehlivosti obvodu. Jednou technikou pro potlačení metastability je připojení dvou nebo více klopných obvodů v řetězci, takže výstup každého z nich napájí datový vstup dalšího a všechna zařízení sdílejí společné hodiny. Pomocí této metody lze pravděpodobnost metastabilní události snížit na zanedbatelnou hodnotu, ale nikdy na nulu. Pravděpodobnost metastability se blíží a blíží se nule, jak se zvyšuje počet klopných obvodů zapojených do série. Počet kaskádových klopných obvodů se označuje jako „pořadí“; „dvouřadé“ žabky (dvě žabky v sérii) jsou běžnou situací.
K dispozici jsou takzvané žabky s tvrzeným metastabilem, které fungují tak, že co nejvíce snižují dobu nastavení a doby zadržení, ale ani tyto nemohou problém zcela odstranit. Důvodem je, že metastabilita je více než jen záležitostí návrhu obvodu. Když jsou přechody v hodinách a data časově blízko u sebe, je klopný obvod nucen rozhodnout, která událost se stala jako první. Jakkoli je zařízení vyrobeno rychle, vždy existuje možnost, že vstupní události budou tak blízko u sebe, že nedokáže zjistit, která se stala jako první. Je proto logicky nemožné vybudovat klopný obvod dokonale odolný proti metastabilím. Žabky jsou někdy charakterizovány pro maximální dobu usazení (maximální doba, po kterou zůstanou metastabilní za stanovených podmínek). V tomto případě duální klopné obvody, které jsou taktovány pomaleji, než je maximální povolená doba metastability, zajistí správnou kondici pro asynchronní (např. Externí) signály.
Šíření zpoždění
Další důležitou časovací hodnotou pro klopný obvod je zpoždění hodin do výstupu (společný symbol v datových listech: tCO) nebo šíření zpoždění (tP), což je doba, kterou klopný obvod potřebuje ke změně výstupu po hodinovém okraji. Čas přechodu z vysoké na nízkou (tPHL) se někdy liší od doby přechodu z nízké na vysokou (tPLH).
Při kaskádových klopných obvodech, které sdílejí stejné hodiny (jako v a posuvný registr ), je důležité zajistit, aby tCO předchozího klopného obvodu je delší než doba zdržení (th) of the following flip-flop, so data present at the input of the succeeding flip-flop is properly "shifted in" following the active edge of the clock. This relationship between tCO and th is normally guaranteed if the flip-flops are physically identical. Furthermore, for correct operation, it is easy to verify that the clock period has to be greater than the sum tsu + th.
Zobecnění
Flip-flops can be generalized in at least two ways: by making them 1-of-N instead of 1-of-2, and by adapting them to logic with more than two states. In the special cases of 1-of-3 encoding, or multi-valued ternární logika, such an element may be referred to as a flip-flap-flop.[30]
In a conventional flip-flop, exactly one of the two complementary outputs is high. This can be generalized to a memory element with N outputs, exactly one of which is high (alternatively, where exactly one of N is low). The output is therefore always a jeden horký (příslušně) jedna zima) representation. The construction is similar to a conventional cross-coupled flip-flop; each output, when high, inhibits all the other outputs.[31] Alternatively, more or less conventional flip-flops can be used, one per output, with additional circuitry to make sure only one at a time can be true.[32]
Another generalization of the conventional flip-flop is a memory element for vícehodnotová logika. In this case the memory element retains exactly one of the logic states until the control inputs induce a change.[33] In addition, a multiple-valued clock can also be used, leading to new possible clock transitions.[34]
Viz také
- Latching relay
- Pozitivní zpětná vazba
- Pulse transition detector
- Statická paměť s náhodným přístupem
- Sample and hold, analog latch
Reference
- ^ A b Pedroni, Volnei A. (2008). Digital electronics and design with VHDL. Morgan Kaufmann. p. 329. ISBN 978-0-12-374270-4.
- ^ A b Latches and Flip Flops (EE 42/100 Lecture 24 from Berkeley) "...Sometimes the terms flip-flop and latch are used interchangeably..."
- ^ A b Roth, Charles H. Jr. "Latches and Flip-Flops." Fundamentals of Logic Design. Boston: PWS, 1995. Print.
- ^ William Henry Eccles and Frank Wilfred Jordan, "Improvements in ionic relays " British patent number: GB 148582 (filed: 21 June 1918; published: 5 August 1920).
- ^ Vidět:
- W. H. Eccles and F. W. Jordan (19 September 1919) "A trigger relay utilizing three-electrode thermionic vacuum tubes," Elektrikář, 83 : 298.
- Reprinted in: W. H. Eccles and F. W. Jordan (December 1919) "A trigger relay utilizing three-electrode thermionic vacuum tubes," The Radio Review, 1 (3) : 143–146.
- Summary in: W. H. Eccles and F. W. Jordan (1919) "A trigger relay utilising three electrode thermionic vacuum tubes," Report of the Eighty-seventh Meeting of the British Association for the Advancement of Science: Bournemouth: 1919, September 9–13, str. 271–272.
- ^ Pugh, Emerson W .; Johnson, Lyle R .; Palmer, John H. (1991). 360 a brzy 370 systémů IBM. MIT Stiskněte. p.10. ISBN 978-0-262-16123-7.
- ^ Flowers, Thomas H. (1983), "The Design of Colossus", Annals of the History of Computing, 5 (3): 249, doi:10.1109/MAHC.1983.10079, S2CID 39816473
- ^ Gates, Earl D. (2000-12-01). Introduction to electronics (4. vydání). Delmar Thomson (Cengage) učení. p. 299. ISBN 978-0-7668-1698-5.
- ^ Fogiel, Max; Gu, You-Liang (1998). The Electronics problem solver, Volume 1 (přepracované vydání). Výzkum a vzdělávání Doc. p. 1223. ISBN 978-0-87891-543-9.
- ^ P. L. Lindley, Aug. 1968, EDN (časopis), (letter dated June 13, 1968).
- ^ Phister, Montgomery (1958). Logical Design of Digital Computers. Wiley. p. 128. ISBN 9780608102658.
- ^ US 2850566, Eldred C. Nelson, "High-Speed Printing System", published Sept. 8, 1953, issued Sept. 2, 1958; strana 15
- ^ Shiva, Sajjan G. (2000). Computer design and architecture (3. vyd.). CRC Press. p. 81. ISBN 978-0-8247-0368-4.
- ^ Langholz, Gideon; Kandel, Abraham; Mott, Joe L. (1998). Foundations of Digital Logic Design. Singapore: World Scientific Publishing Co. Ptc. Ltd. str. 344. ISBN 978-981-02-3110-1.
- ^ "Summary of the Types of Flip-flop Behaviour". Retrieved on 16 April 2018.
- ^ Hinrichsen, Diederich; Pritchard, Anthony J. (2006). Mathematical Systems Theory I: Modelling, State Space Analysis, Stability and Robustness. Springer. str. 63–64. ISBN 9783540264101.
- ^ Farhat, Hassan A. (2004). Digital design and computer organization. 1. CRC Press. p. 274. ISBN 978-0-8493-1191-8.
- ^ A b Kogge, Peter M. (1981). Architektura zřetězených počítačů. McGraw-Hill. s. 25–27. ISBN 0-07-035237-2.
- ^ Cotten, L. W. (1965). "Circuit Implementation of High-Speed Pipeline Systems". AFIPS Proc. Fall Joint Computer Conference: 489–504. doi:10.1145/1463891.1463945. S2CID 15955626.
- ^ Earle, John G. (March 1965). "Latched Carry-Save Adder". IBM Technical Disclosure Bulletin. 7 (10): 909–910.
- ^ A b Omondi, Amos R. (1999-04-30). The Microarchitecture of Pipelined and Superscalar Computers. Springer. 40–42. ISBN 978-0-7923-8463-2.
- ^ A b Kunkel, Steven R.; Smith, James E. (May 1986). "Optimal Pipelining in Supercomputers". Zprávy počítačové architektury ACM SIGARCH. ACM. 14 (2): 404–411 [406]. CiteSeerX 10.1.1.99.2773. doi:10.1145/17356.17403. ISSN 0163-5964.
- ^ The D Flip-Flop
- ^ "Edge-Triggered Flip-flops". Archivovány od originál dne 08.09.2013. Citováno 2011-12-15.
- ^ A Survey of Digital Computer Memory Systems
- ^ SN7474 TI datasheet
- ^ A b Mano, M. Morris; Kime, Charles R. (2004). Logic and Computer Design Fundamentals, 3rd Edition. Upper Saddle River, NJ, USA: Pearson Education International. pp. pg283. ISBN 0-13-191165-1.
- ^ A b Harris, S; Harris, D (2016). Digital Design and Computer Architecture - ARM Edition. Morgan Kaufmann, Waltham, MA. ISBN 978-0-12-800056-4.
- ^ Chaney, Thomas J.; Molnar, Charles E. (April 1973). "Anomalous Behavior of Synchronizer and Arbiter Circuits". Transakce IEEE na počítačích. C-22 (4): 421–422. doi:10.1109/T-C.1973.223730. ISSN 0018-9340. S2CID 12594672.
- ^ Often attributed to Don Knuth (1969) (see Midhat J. Gazalé (2000). Number: from Ahmes to Cantor. Princeton University Press. p. 57. ISBN 978-0-691-00515-7.), termín flip-flap-flop actually appeared much earlier in the computing literature, for example,Bowdon, Edward K. (1960). The design and application of a "flip-flap-flop" using tunnel diodes (Master's thesis). University of North Dakota.a v Alexander, W. (Feb 1964). "The ternary computer". Elektronika a napájení. IET. 10 (2): 36–39. doi:10.1049/ep.1964.0037.
- ^ "Ternary "flip-flap-flop"". Archivovány od originál dne 05.01.2009. Citováno 2009-10-17.
- ^ US 6975152
- ^ Irving, Thurman A.; Shiva, Sajjan G.; Nagle, H. Troy (March 1976). "Flip-Flops for Multiple-Valued Logic". Transakce IEEE na počítačích. C-25 (3): 237–246. doi:10.1109/TC.1976.5009250. S2CID 34323423.
- ^ Wu, Haomin; Zhuang Nan (1991). "Research into ternary edge-triggered JKL flip-flop". Journal of Electronics (China). 8 (Volume 8, Number 3 / July, 1991): 268–275. doi:10.1007/BF02778378. S2CID 61275953.
externí odkazy
- FlipFlop Hierarchy, shows interactive flipflop circuits.
- The J-K Flip-Flop