Dynamická logika (neboli taktová logika ) je metodika pro vývoj kombinačních obvodů , ve kterých navržený obvod pracuje v cyklech. Je implementován zejména pomocí technologie CMOS . Používá se při návrhu integrovaných obvodů .
Pojmy "statický"/"dynamický" používané pro kombinační obvody by neměly být zaměňovány se stejnými pojmy, které se používají k označení úložných zařízení, jako je dynamická (DRAM) nebo statická (SRAM) RAM (RAM).
Když se odkazuje na typ logiky, přídavné jméno „ dynamický “ se obvykle používá k označení metodologie vývoje, jako je „ dynamická CMOS “ [1] nebo „ dynamická SOI “ [2] .
Použití termínu „ dynamická logika “ je vhodnější než termín „ taktová logika “ („taktovaný“ z „ hodiny “), protože umožňuje jasně definovat hranici mezi touto metodikou a metodikou „ statické logiky “. Také termín " taktová logika " je synonymem s pojmem " sekvenční logika ", takže jeho použití ve významu " dynamická logika " je nežádoucí.
Dynamická logika byla populární v 70. letech 20. století, ale v poslední době došlo k oživení zájmu o ni kvůli vývoji vysokorychlostní digitální elektroniky, zejména mikroprocesorů .
Obvod se statickou nebo dynamickou logikou implementuje booleovskou funkci (například „ NAND “). Signál přijatý z výstupů obvodu je výsledkem aplikace booleovské funkce na signál přicházející na vstupy obvodu.
V obvodu se „ statickou logikou “ je v každém okamžiku každý výstup prvku obvodu přes cestu ( vodič ), který má nízký odpor , připojen:
Statická logika nemá minimální taktovací frekvenci – taktování lze zastavit na dobu neurčitou. To poskytuje dvě výhody:
Zejména, ačkoli mnoho populárních procesorů používá dynamickou logiku [3] , pouze procesory se statickým jádrem navrženým v technologii statické CMOS jsou vhodné pro použití ve vesmírných družicích kvůli jejich větší odolnosti proti záření [4] .
Ve většině typů logiky, které lze definovat jako „statické“, vždy existuje mechanismus, jak nastavit výstup logického prvku na vysoký nebo nízký. V mnoha běžně používaných typech logiky, jako je TTL nebo CMOS , lze tento princip přeformulovat tak, že mezi výstupem prvku a jednou z napájecích kolejnic je vždy cesta s nízkým odporem . Výjimkou je případ vysokoimpedančních výstupů, kde taková cesta není vždy vytvořena. I v tomto případě se však předpokládá, že logický obvod je použit jako součást složitějšího systému, ve kterém nějaký vnější mechanismus bude generovat výstupní napětí , takže takový obvod se neliší od statické logiky.
V obvodu s " dynamickou logikou " prvky pracují v cyklech a lze rozlišit dvě časová období:
Během fáze předběžného nabíjení se nabíjejí prvky vysokoimpedančního kapacitního obvodu [5] .
Během fáze vyhodnocení se kapacitní články vybijí (spotřebuje se uložený náboj).
Typicky se hodinový signál používá k synchronizaci stavových přechodů v sekvenční logice . Jiné metodiky pro implementaci kombinačních obvodů nevyžadují hodinový signál.
V dynamické logice není vždy mechanismus pro dosažení vysokého nebo nízkého výstupu. V nejběžnější verzi tohoto konceptu se úrovně vysokého a nízkého napětí na výstupu prvku tvoří během různých fází hodinového signálu . Dynamická logika vyžaduje použití dostatečně vysoké taktovací frekvence, aby kapacita použitá ke generování výstupního stavu logického prvku neměla čas se vybít během fáze vyhodnocení .
Většina elektroniky pracující na taktu nad 2 GHz vyžaduje dynamickou logiku, ačkoli někteří výrobci, jako je Intel , přešli na statickou logiku zcela, aby snížili spotřebu energie [6] .
Výhody dynamických logických obvodů (oproti statickým logickým obvodům) [2] :
Dynamická logika se obtížněji navrhuje, ale může být jedinou volbou, pokud je vyžadována vysoká rychlost.
Nevýhody obvodů s dynamickou logikou (oproti obvodům založeným na statické logice) [2] :
Jako příklad zvažte implementaci prvku " NAND " ve statické a dynamické logice.
Implementace prvku " NAND " do statické logiky CMOS .
Výše uvedené schéma implementuje logickou funkci "AND-NOT":
neboPokud mají oba vstupy A a B vysokou úroveň napětí , výstup Out se připojí ke společné sběrnici Vss a bude mít nízké napětí.
Pokud je jeden ze vstupů A a B nízký, výstup Out bude připojen k napájecí sběrnici Vdd a bude vysoký.
Je důležité, aby byl výstup kdykoli připojen buď k napájecímu zdroji Vdd a měl vysokou napěťovou úroveň, nebo k common rail Vss a měl nízkou úroveň napětí.
Zvažte implementaci prvku " NAND " v dynamické logice.
Během fáze předběžného nabíjení:
Během fáze hodnocení:
Logické čipy | |
---|---|