Dynamická logika (digitální elektronika) - Dynamic logic (digital electronics)

V návrhu integrovaných obvodů je dynamická logika (nebo někdy taktovaná logika ) metodikou návrhu v kombinačních logických obvodech, zejména těch implementovaných v technologii MOS . Odlišuje se od takzvané statické logiky využíváním dočasného ukládání informací v bloudivých a hradlových kapacitách. To bylo populární v sedmdesátých létech a vidělo nedávné oživení v designu vysokorychlostní digitální elektroniky , zvláště počítačových procesorů . Dynamické logické obvody jsou obvykle rychlejší než statické protějšky a vyžadují menší povrch, ale jejich návrh je obtížnější. Dynamická logika má vyšší rychlost přepínání než statická logika, ale přepínané kapacitní zátěže jsou menší, takže celková spotřeba energie dynamické logiky může být vyšší nebo nižší v závislosti na různých kompromisech. Když se odkazuje na konkrétní logickou rodinu , dynamické přídavné jméno obvykle stačí k rozlišení metodiky návrhu, např. Dynamický CMOS nebo dynamický návrh SOI .

Dynamická logika se odlišuje od takzvané statické logiky v tom, že dynamická logika používá při implementaci kombinačních logických obvodů hodinový signál . Obvyklým použitím hodinového signálu je synchronizace přechodů v sekvenčních logických obvodech. U většiny implementací kombinační logiky není hodinový signál ani potřeba.

Statická/dynamická terminologie používaná k označení kombinatorických obvodů by neměla být zaměňována s tím, jak se stejná přídavná jména používají k rozlišení paměťových zařízení, např. Statické RAM od dynamické RAM .

Terminologie

V kontextu logického designu je termín dynamická logika běžněji používán ve srovnání s taktovanou logikou , protože jasně rozlišuje mezi tímto typem návrhu a statickou logikou . Aby se věc navíc zamotala, taktovaná logika se někdy používá jako synonymum pro sekvenční logiku . Toto použití je nestandardní a je třeba se mu vyhnout.

Statická versus dynamická logika

Největší rozdíl mezi statickou a dynamickou logikou je ten, že v dynamické logice se k vyhodnocení kombinační logiky používá hodinový signál . Aby však čtenář skutečně porozuměl důležitosti tohoto rozlišení, bude potřebovat určité znalosti o statické logice.

Ve většině typů logických návrhů, nazývaných statická logika , existuje vždy nějaký mechanismus pro řízení výstupu buď vysokého, nebo nízkého. V mnoha populárních logických stylech, jako je TTL a tradiční CMOS , lze tento princip přeformulovat jako prohlášení, že mezi výstupem a napájecím napětím nebo zemí vždy existuje stejnosměrná cesta s nízkou impedancí . Jako vedlejší poznámka v této definici samozřejmě existuje výjimka v případě výstupů s vysokou impedancí , jako je například třístavový buffer ; nicméně i v těchto případech je obvod určen k použití v rámci většího systému, kde nějaký mechanismus bude řídit výstup, a nekvalifikují se jako odlišný od statické logiky.

Naproti tomu v dynamické logice není vždy mechanismus, který by řídil výstup vysoko nebo nízko. V nejběžnější verzi tohoto konceptu je výstup poháněn vysoko nebo nízko během odlišných částí hodinového cyklu. Během časových intervalů, kdy není výstup aktivně řízen, rozptylová kapacita způsobuje, že udržuje úroveň v určitém tolerančním rozsahu řízené úrovně.

Dynamická logika vyžaduje minimální taktovací rychlost dostatečně rychlou na to, aby byl výstupní stav každé dynamické brány použit nebo obnoven dříve, než náboj ve výstupní kapacitě unikne natolik, že způsobí změnu digitálního stavu výstupu během té části hodinového cyklu, která výstup není aktivně řízen.

Statická logika nemá minimální taktovací frekvenci - hodiny lze pozastavit na neurčito. I když se může zdát, že nicnedělání po delší dobu není nijak zvlášť užitečné, vede to ke třem výhodám:

  • možnost kdykoli pozastavit systém výrazně usnadňuje ladění a testování a umožňuje techniky, jako je postupné krokování .
  • možnost provozovat systém při extrémně nízkých taktech umožňuje elektronice s nízkým výkonem běžet na dané baterii déle.
  • plně statický systém může okamžitě pokračovat přesně tam, kde skončil; člověk nemusí čekat, až se systém spustí nebo obnoví.

Možnost synchronizovat systém kdykoli po libovolnou dobu lze také použít k synchronizaci procesoru s asynchronní událostí. (I když existují i ​​jiné mechanismy, jako jsou přerušení, pollingové smyčky, vstupní kolíky volnoběhu procesoru [jako RDY na 6502 ] nebo mechanismy prodlužování cyklu procesorové sběrnice, jako jsou vstupy WAIT, použití hardwaru k bráně hodin na statický- jádro CPU je jednodušší, je časově přesnější, nepoužívá paměť programového kódu a během čekání nevyužívá téměř žádný výkon procesoru. V základním provedení by CPU na počkání zapisovalo do registru a nastavilo binární západku bit, který by byl ANDed nebo ORed s hodinami procesoru, zastavení procesoru. Signál z periferního zařízení by resetoval tuto západku a obnovil provoz CPU. [Hardwarová logika musí podle potřeby hradlit vstupy ovládání západky, aby bylo zajištěno, že přechod výstupu západky nezpůsobí okamžitou změnu úrovně hodinového signálu a nezpůsobí hodinový puls, vysoký nebo nízký, který je kratší než obvykle.])

Zejména, ačkoli mnoho populárních CPU používá dynamickou logiku, ve vesmírných satelitech jsou díky vyšší tvrdosti záření použitelná pouze statická jádra - CPU navržená s plně statickou technologií .

Pokud je dynamická logika správně navržena, může být dvakrát rychlejší než statická logika. Používá pouze rychlejší N tranzistory , které zlepšují optimalizaci velikosti tranzistoru. Statická logika je pomalejší, protože má dvojnásobné kapacitní zatížení , vyšší prahové hodnoty a pro logiku používá pomalé P tranzistory. S dynamickou logikou může být těžší pracovat, ale může to být jediná volba, když je potřeba zvýšit rychlost zpracování. Většina elektroniky běžící na více než 2 GHz v dnešní době vyžaduje použití dynamické logiky, ačkoli někteří výrobci, jako je Intel, navrhli čipy využívající ke snížení spotřeby energie zcela statickou logiku. Všimněte si, že snížení spotřeby energie nejen prodlužuje dobu provozu s omezenými zdroji energie, jako jsou baterie nebo solární pole (jako u kosmických lodí), ale také snižuje požadavky na tepelný design, zmenšuje velikost potřebných chladičů, ventilátorů atd. turn snižuje hmotnost a náklady systému.

Dynamická logika obecně výrazně zvyšuje počet tranzistorů, které se přepínají v daném okamžiku, což zvyšuje spotřebu energie oproti statickému CMOS. V systému založeném na dynamické logice lze implementovat několik technik úspory energie . Kromě toho může každá kolejnice přenášet libovolný počet bitů a nedochází k žádným závadám, které by plýtvaly energií. Energeticky úsporné hodinové hradlování a asynchronní techniky jsou v dynamické logice mnohem přirozenější.

Příklad statické logiky

Jako příklad zvažte implementaci statické logiky brány CMOS NAND:

CMOS NAND.svg

Tento obvod implementuje logickou funkci

Pokud jsou A i B vysoké, výstup bude stažen nízko. Zatímco pokud jsou A nebo B nízké, výstup bude vytažen vysoko. Po celou dobu je výstup tažen buď nízko, nebo vysoko.

Příklad dynamické logiky

Zvažte nyní implementaci dynamické logiky stejné logické funkce:

Dlnand.svg

Dynamický logický obvod vyžaduje dvě fáze. První fáze, když je Clock nízká, se nazývá fáze nastavení nebo fáze přednabíjení a druhá fáze, když jsou hodiny vysoké, se nazývá fáze hodnocení . Ve fázi nastavení je výstup poháněn bezpodmínečně vysoko (bez ohledu na hodnoty vstupů A a B ). Kondenzátor , který představuje zátěž kapacitní této bráně, stává nabitá. Protože je tranzistor ve spodní části vypnutý, není možné, aby byl během této fáze výstup zeslaben.

Během fáze hodnocení jsou hodiny vysoké. Pokud jsou A a B také vysoké, bude výstup stažen nízko. Jinak zůstane výstup vysoký (kvůli kapacitě zátěže).

Dynamická logika má několik potenciálních problémů, které statická logika nemá. Pokud je například rychlost hodin příliš pomalá, výstup se rozpadne příliš rychle, než aby mohl být použit. Také výstup je platný pouze pro část každého hodinového cyklu, takže připojené zařízení jej musí synchronně vzorkovat během doby, kdy je platné.

Také, když jsou A i B vysoké, takže výstup je nízký, obvod bude pumpovat jedno kondenzátorové zatížení náboje z Vdd do země pro každý hodinový cyklus, nejprve nabíjením a poté vybitím kondenzátoru v každém hodinovém cyklu. Díky tomu je obvod (s výstupem připojeným k vysoké impedanci) méně účinný než statická verze (která by teoreticky neměla umožňovat žádný proud, kromě výstupu), a když jsou vstupy A a B konstantní a oba vysoké, dynamická brána NAND využívá energii v poměru k rychlosti hodin , pokud funguje správně. Ztrátový výkon lze minimalizovat udržováním nízké kapacity zátěže, ale to zase snižuje maximální dobu cyklu, což vyžaduje vyšší minimální taktovací frekvenci; vyšší frekvence pak zvyšuje spotřebu energie o právě zmíněný vztah. Proto není možné snížit spotřebu energie při nečinnosti (když jsou oba vstupy vysoké) pod určitou mez, která pochází z rovnováhy mezi rychlostí hodin a zátěžovou kapacitou.

Oblíbenou implementací je domino logika .

Viz také

Reference

Obecné reference

  • Sung-Mo Kang; Yusuf Leblebici (2003). Digitální integrované obvody CMOS: analýza a návrh (3. vydání). McGraw-Hill. ISBN 978-0-07-246053-7. Kapitola 9, „Dynamické logické obvody“ (kapitola 7 ve 2. vydání)
  • R. Jacob Baker (2010). CMOS: Circuit Design, Layout, and Simulation (3rd ed.). Wiley-IEEE. ISBN 978-0-470-88132-3. Kapitola 14, „Dynamické logické brány“
  • Andrew Marshall; Sreedhar Natarajan (2002). Návrh SOI: analogové, paměťové a digitální techniky . Springer. ISBN 978-0-7923-7640-8. Kapitola 7, „Dynamický design SOI“

externí odkazy