Zdroj: http://prochazka.clanweb.eu/index.php?a=xilinx/architektura_cpld_xc9500 • Vydáno: 12.1.2008 14:23 • Autor: hacesoft
Popis architektury hradlového pole série XILINX CPLD XC9500...
Každé XC9500 zařízení je složeno z mnohonásobných funkčních bloků (FB) a I/O bloků (IOB) vzájemně propojených spínací maticí FastCONNECT. I/O bloky poskytují I/O buffery pro vstupy a výstupy zařízení. Každý FB poskytuje programovatelnou logiku s 36 vstupy a 18 výstupy. Spínací matice FastCONNECT připojuje všechny výstupní a vstupní signály FB k vstupům FB. Z každého FB vede 12 až 18 výstupů (dle počtu vývodů pouzdra) a signály přiřazené output enable přímo do IOB. Viz. Obr. 1.
Obr. 1 – Architektura XC9500
Každý funkční blok (viz. Obr. 2) je složen z 18 nezávislých makrobuněk, přičemž je každá schopna realizovat kombinatorickou nebo registrovanou funkci. Do FB jsou zavedeny i signály globálních hodin, output enable a nastavení / nulování. FB generuje 18 výstupních signálů, které řídí FastCONNECT spínací matice. Těchto 18 výstupních signálů a jim příslušné signály output enable řídí rovněž I/O bloky. Logika FB je realizována použitím vyjádření součtu součinů. 36 vstupů poskytuje 72 přímých a doplňkových signálů pro programovatelné AND-pole tvořené 90 součinovými členy. Libovolný počet těchto součinových členů, maximálně však 90, je dosažitelný a může být alokován pro každou makrobuňku přidělením součinového členu. Každý FB (vyjma XC9536) podporuje také lokální zpětnou vazbu, tj. poskytuje libovolný počet FB výstupů vrácených do jeho vlastního programovatelného AND-pole, bez pohybu vně FB. Tyto cesty jsou používané pro vytvoření velmi rychlých čítačů a stavových strojů, kde všechny stavové registry jsou uvnitř stejného FB.
Obr. 2 – Funkční blok XC9500
Každá makrobuňka může být nakonfigurována individuálně pro kombinatorickou nebo registrovanou funkci. Makrobuňka a přidružená FB logika je zobrazena na Obrázku. 3.
Obr. 3 – XC9500 makrobuňka s přidruženou logikou FB
Pět přímých součinových členů z AND pole je možno použít jako primárních datových vstupů (do OR a XOR hradel) k realizaci kombinatorických funkcí, nebo jako řídících vstupů včetně hodin, nastavení / nulování a output enable. Product term allocator přidružený ke každé makrobuňce vybere pět přímých termů, které budou použity. Registr makrobuňky může být konfigurován jako klopný obvod typu D nebo typu T, respektive může být pro kombinatorické operace vynechán. Každý registr podporuje operace asynchronního nastavení a nulavání. Během studeného startu, jsou všechny uživatelské registry inicializovány na uživatelsky definovaný počáteční stav (standardně 0, není-li specifikován). Všechny globální řídící signály jsou přístupné v každé makrobuňce, včetně signálů hodin, nastavení / nulování a output enable. Jak ukazuje Obr. 4, hodiny registru makrobuňky pocházejí ze kterékoliv ze tří globálních hodinových linek nebo ze součinového termu hodin. V zařízení může být použito přímé i doplňkové polarity vývodu GCK. Vstup GSR je umožňuje nastavení uživatelských registrů do uživatelsky definovaného stavu.
Obr. 4 – Hodiny a nastavení/nulování makrobuňky
Alokátor součinových členů řídí přidělení pěti přímých součinových členů ke každé makrobuňce. Například, všech pět přímých termů může řídit funkci OR, jak ukazuje Obr. 5.
Obr. 5 – Logické použití přímého součinu členu makrobuňky
Alokátoru součinových členů mohou být přiřazeny jiné součinové členy v FB k zvětšení logické kapacity makrobuňky nad pět přímých členů. Jakékoliv makrobuňce vyžadující dodatečné součinové členy mohou být zpřístupněny nezúčastněné součinové členy jiných makrobuněk uvnitř FB. Až 15 součinových členů může být k dispozici pro jednu makrobuňku s jediným malým přírůstkovým zpožděním tPTA (viz. Obr. 6).
Obr. 6 – Alokace 15-ti součinových členů
Všimněte si, že přírůstkové zpoždění působí pouze součinové členy v jiných makrobuňkách. Časování přímých součinových členů není změněno. Alokátoru součinových členů mohou být znovu přiřazeny součinové členy z jakékoliv makrobuňky FB sloučením částečného součtu členů přes několik makrobuněk, jak ukazuje Obr. 7. Přírůstkové zpoždění v této ukázce je pouze 2*tPTA. Všech 90 součinových členů je pro kteroukoli makrobuňku dosažitelných s maximálním přírůstkovým zpožděním 8*tPTA.
Obr. 7 – Alokace součinových členů přes několik makrobuněk
Vnitřní logika alokátoru součinových členů je zobrazena na Obrázku. 8.
Obr. 8 – Vnitřní logika alokátoru součinových členů
FastCONNECT spínací matice připojuje signály ke vstupům FB (viz. Obr. 9). Všechny výstupy I/O bloku (korespondující s uživatelskými vstupními vývody) a všechny výstupy FB řídí FastCONNECT matice. Kterýkoliv z nich může být vybrán skrze uživatelské naprogramování k řízení kteréhokoliv FB s jednotným zpožděním. FastCONNECT spínací matice je schopná slučovat mnohonásobné vnitřní spojení do jednoduchého drátovaného-AND výstupu před řídícím cílem FB. To poskytuje vyšší kapacitu doplňkové logiky a vzrůst efektivity v rozložení logiky cílového FB bez jakéhokoliv dodatečného časového zpoždění. Tato schopnost je dosažitelná pouze pro vnitřní spojení pocházející z FB výstupů.
Obr. 9 – FastCONNECT spínací matice
I/O blok (IOB) je rozhraním mezi vnitřní logikou a uživatelskými I/O vývody zařízení. Každý I/O blok obsahuje vstupní buffer, výstupní ovladač, output enable výběrový multiplexer a uživatelem programovatelně řízené uzemnění (viz Obr. 10).
Obr. 10 – I/O blok a řízení OE
Vstupní buffer je kompatibilní se standardními 5V CMOS, 5V a 3.3V TTL signálovými úrovněmi. Vstupní buffer používá vnitřní zdroj 5 V napětí VCCINT k zajištění, že vstupní prahová napětí jsou konstantní a nekolísají s napětím VCCIO. Signál OE (output enable) může být generován ze součinového členu makrobuňky, kteréhokoli globálního OE signálu, respektive může být úrovně High nebo Low. Pro zařízení s až 144 makrobuňkami jsou dva globální signály OE a pro zařízení s 180 a více makrobuňkami čtyři globální signály OE. V zařízení může být použito obojí polarity jakékoliv z globálních 3-stavových řídících vývodů (GTS). Každý výstup má nezávisle programově ředitelnou rychlost přeběhu. Rychlost přeběhu výstupní hrany může být pomalejší pro snížení systémového šumu (s dodatečným časovým zpožděním tSLEW, viz. Obr. 11).
Obr. 11 – Řízení přeběhové rychlosti pro náběžnou a sestupnou hranu
Každý I/O blok poskytuje uživatelem programovatelnou schopnost uzemnění vývodu. To umožňuje I/O vývody zařízení nakonfigurovat jako dodatečné zemnící vývody. Ke každému I/O vývodu zařízení je připojen řiditelný pull-up rezistor (10K) pro zabránění plavání vstupů, když zařízení není v normální uživatelské činnosti. Tento rezistor je aktivní během programovacího režimu a studeného startu systému. Je také aktivovaný pro vymazané zařízení. Během normální činnosti je rezistor deaktivovaný. Všechny výstupy zařízení mohou být konfigurovány pro 5 V TTL úroveň nebo 3,3V úroveň připojením zdroje výstupního napětí zařízení (VCCIO) na 5V nebo 3,3V. Obr. 12 ukazuje použití zařízení XC9500 v 5V a smíšených 3,3 V/5 V systémech.
Obr. 12 – Použití XC9500 v 5V a 3,3V/5V systémech