6. Programovatelné struktury. PLA, PAL, PROM, GAL struktury

Podobné dokumenty
PROGRAMOVATELNÉ LOGICKÉ OBVODY

Programovatelná logika

XC3000(A) / XC3100(A)

Prezentace do předmětu Architektury a použití programovatelných obvodů 2

Zákaznické obvody 1. ASIC 2. PLD 3. FPGA. Ondřej Novák O. Novák: CIE9 1

PROGRAMOVATELNÁ LOGICKÁ POLE

Struktura a architektura počítačů (BI-SAP) 10

FPGA + mikroprocesorové jádro:

SPARTAN - 3 Xilinx FPGA Device

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Integrované obvody. Obvody malé, střední a velké integrace Programovatelné obvody

Návrh. číslicových obvodů

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Téma 32. Petr Kotál

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Integrované obvody. Obvody malé, střední a velké integrace Programovatelné obvody

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů

PROGRAMOVATELNÉ LOGICKÉ PRVKY

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Paměti počítače ROM, RAM

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

PK Design. MB-S2-150-PQ208 v1.4. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 ( )

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

Profilová část maturitní zkoušky 2014/2015

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Paměti Josef Horálek

Obvody Xilinx řady XC3000

MODERNÍ TRENDY V PROGRAMOVATELNÉ LOGICE, APLIKACE V AUTOMATIZAČNÍ A MĚŘICÍ TECHNICE

Způsoby realizace paměťových prvků

4. Elektronické logické členy. Elektronické obvody pro logické členy

Návod k obsluze výukové desky CPLD

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Manuál přípravku FPGA University Board (FUB)

PK Design. Xilinx FPGA, CPLD & Atmel AVR paralelní programovací kabel v1.0. Verze dokumentu 1.0 ( )

Když procesor nestačí, FPGA zaskočí

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

Obsah DÍL 1. Předmluva 11

PK Design. Uživatelský manuál. Xilinx FPGA, CPLD & Atmel AVR. Verze dokumentu 1.0 ( )

LOGICKÉ SYSTÉMY PRO ŘÍZENÍ

Paměti počítače 9.přednáška

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

Pohled do nitra mikroprocesoru Josef Horálek

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ MEII KOMBINAČNÍ LOGICKÉ OBVODY

Profilová část maturitní zkoušky 2015/2016

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

Paměti operační paměti

Struktura a architektura počítačů (BI-SAP) 4

Struktura a architektura počítačů (BI-SAP) 3

Návrh ovládání zdroje ATX

3. REALIZACE KOMBINAČNÍCH LOGICKÝCH FUNKCÍ

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns ms rychlost toku dat (tj. počet přenesených bitů za sekundu)

Ne vždy je sběrnice obousměrná

SEKVENČNÍ LOGICKÉ OBVODY

Logické funkce a obvody, zobrazení výstupů

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Tlačítka. Konektor programování

Historie počítačů. 0.generace. (prototypy)

Boundary Scan JTAG (Joined Test Action Group) IEEE 1149.X Zápis do rozhraní

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

MĚŘENÍ HRADLA 1. ZADÁNÍ: 2. POPIS MĚŘENÉHO PŘEDMĚTU: 3. TEORETICKÝ ROZBOR. Poslední změna

Paměti EEPROM (1) 25/07/2006 1

Zvyšování kvality výuky technických oborů

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

Číslicové obvody základní pojmy

AGP - Accelerated Graphics Port

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

BDIO - Digitální obvody

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

KOMBINAČNÍ LOGICKÉ OBVODY

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Metody návrhu systémů na bázi FPGA

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Miroslav Flídr Počítačové systémy LS /21- Západočeská univerzita v Plzni

Logické řízení. Náplň výuky

KOMBINAČNÍ LOGICKÉ OBVODY

Úvod do počítačových architektur

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Vana RC0001R1 RC0001R1

Cíle. Teoretický úvod

PRESTO. USB programátor. Uživatelská příručka

Univerzita Tomáše Bati ve Zlíně

Integrovaná střední škola, Sokolnice 496

Sekvenční logické obvody

MĚŘENÍ Laboratorní cvičení z měření Měření parametrů logického obvodu část Teoretický rozbor

Témata profilové maturitní zkoušky

PK Design. Uživatelský manuál. Modul USB-FT245BM v2.2. Přídavný modul modulárního vývojového systému MVS. Verze dokumentu 1.0 (7. 11.

PŘÍLOHY. PRESTO USB programátor

FPGA intimně. Marek Vašut March 6, 2016

Logické systémy a jejich návrh

Inovace a zkvalitnění výuky směřující k rozvoji odborných kompetencí žáků středních škol CZ.1.07/1.5.00/

1. 5. Minimalizace logické funkce a implementace do cílového programovatelného obvodu CPLD

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Klopný obvod typu D, dělička dvěma, Johnsonův kruhový čítač

Aplikace. Hlásič SMS

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, Booleova algebra, De Morganovy zákony Student

Dispositifs à semiconducteurs. Circuits intégrés. Deuxième partie: Circuits intégrés digitaux

Transkript:

6. Programovatelné struktury PLA, PAL, PROM, GAL struktury

6. Programovatelné struktury úvod Programovatelné obvodyřadíme mezi univerzální logické bloky, resp. programovatelné logické moduly. Obecné označení těchto modulů je PLD Programmable Logic Devices. V tomto pojetí to jsou integrované obvody typu MSI a VLSI (Midle Scale Integration, Very Large Scale Integration), které obsahují bloky se základními logickými členy i s klopnými obvody a tyto jsou propojovány uspořádaným systémem vodičů s programovatelnými spínači. Konfigurací spínačů se určí funkce logického obvodu. Ve srovnání se zákaznickými a polozákaznickými obvody jsou tyto programovatelné obvody o něco pomalejší. Avšak moderní obvody jsou konstruovány jako rekonfigurovatelné, tedy dají se přeprogramovat a tím aktualizovat pro danou aplikaci. Vlastí návrh logické struktury se v zásadě neliší od klasických návrhů. Návrhář nakreslí schéma nebo popíše funkci obvodu logickými rovnicemi ve speciálním programovacím jazyku. Dané schéma je zpracováno postupně několika procesy. Prvý může být označen syntézou, kdy se provedou optimalizace logických funkcí, včetně minimalizace, dekompozice apod.

6. Programovatelné struktury - úvod II Druhým krokem je pak tzv. mapování, což je proces, kdy se rozhoduje jakými prvky (logickými členy) a s jakým počtem vstupů se bude obvod realizovat. Další krok je proces rozmísťování, tj. přiřazení skutečných logických členů na souřadnicích x, y ve struktu-ře obvodu a propojení (tedy určuje se, které spínače budou sep-nuty. Výsledkem jsou konfigurační data, zpravidla ve formě sou-boru. Obvod se pak umístí do speciálního zařízení, označované jako programátor, který je připojen ke standardnímu PC např. prostřednictvím paralelního portu nebo sériového portu USB a nakon-figuruje se. Obvody, které jsou v desce zapájeny a je vyžadována rekonfigurace, mají speciální rozhraní JTAG, neboli Boundary Scan. Toto sériové rozhraní bylo vyvinuto za účelem diagnostiky a konfigurace číslicových obvodů. Obvod se již nezasouvá do programátoru, ale konfiguruje se zapájený v desce, připojením konektoru JTAG k PC (ISP In System Programming)

6. Programovatelné struktury úvod III Spínací prvky programovatelných obvodů se mohou dělit na destruktivní a nedestruktivní. V počátku těchto realizací byly užívány tzv. přepalovatelných pojistek (angl. fuse) nebo antipojistek jako destruktivních prvků. Pojistkou vlastně byl destruktivní polovodičový přechod, kde přivedeným vyšším napětím došlo k přerušení vodivosti. Tyto obvody byly možné programovat jen jednou ty se nazývaly obvody PLA a prvé obvody PAL. U moderních obvodů se začalo používat spínacích tranzistorů CMOS. Sepnutí tranzistoru je řízeno miniaturní paměťovou buňkou (zapsaná nebo ). V buňce je hodnota uchována na principu izolace náboje hodnota zůstává zachována i o vypnutí napájecího napětí a je možné ji elektricky smazat a přeprogramovat. Ta se začaly vyrábět obvody GAL a CPLD. Výrobci je zaručena trvanlivost záznamu na let a asi cyklů reprogramování. Obvody označené jako FPGA mají poněkud odlišnou architekturu.

6. Programovatelné struktury - aplikace PROM Užití ROM resp. PROM pro univerzální realizaci logické funkce pro rychlé realizace méně rozsáhlých logických funkcí

6. Programovatelné struktury aplikace PROM Logické funkce pro realizaci v PROM nelze minimalizovat! Programovací předpis pro PROM - pravdivostní tabulka a n. a 2 a a O O 2. O n..... 2.. 2 n..

6. Programovatelné struktury aplikace PROM Příklad: realizace funkce pamětí y a b c A A A2 a b c y Adresa na adrese je zapsána na adrese je zapsána

6. Programovatelné struktury PLA, PAL, GAL Ve strukturách PLA, PAL a GAL se dodržuje klasická AND OR koncepce, tj. taková, aby se bez dalších úprav mohly realizovat součtové formy logických funkcí (disjunktivní forma Sum of Product). Klasická řada obvodů PLA se již dnes v katalozích firem nevyskytuje šlo o jednorázově naprogramovatelné logické pole. Na vstupu součinové AND matice jsou zajištěny i negece vstupních proměnných I k. Do matice součtové pak vstupují součiny(součinové termy) p i. Bližš ukázka je na dalším obrázku.

6. Programovatelné struktury PLA, PAL, GAL Struktura PAL (Programmable Array Logic) Oproti PLA nemají obvody PAL součtovou matici a výstupy jsou fixovány do součtových hradel OR zpravidla s omezeným počtem vstupů. Přímo bylo možné realizovat funkce pouze s maximálně osmi součinovými termy. Výstupníčásti se vyráběly v několika variantách a kromě třístavových budičů obsahovaly klopné obvody (zpravidla typu D). Princip realizace s možnou minimalizací jednoduché logické funkce obvodem PAL ukazuje další orázek.

6. Programovatelné struktury PLA, PAL, GAL

6. Programovatelné struktury PLA, PAL, GAL Příklad obvodu PAL s označením GAL6V8, reprogramovatelný a na výstupu mají konfigurovatelnou buňku (OLMC)- Output Logic MacroCell. Ukázka této buňky je na dalším obrázku.

6. Programovatelné struktury PLA, PAL, GAL Výstupní buňka OLMC obvodu GAL - obsahuje dva multiplexory (4- vstupový a 2- vstupový), které se konfigurují při programování. Výstup D klopného obvodu je přiveden zpět do matice AND. Pokud není makro-buňka využita, odpovídající vývody pouzdra mohou být konfigurovány jako vstupní. Budič je trvale ve třetím stavu a dvouvstupový multiplexor přivádí do matice místo výstupu klopného obvodu signál z výstupu pouzdra.

6. Programovatelné struktury obvody CPDL Obvody CPDL (Complex Programmable Logic Devices) se řadí mezi obvody LSI a vznikly integrací struktur GAL. Lze si je představit jako několik obvodů GAL uspořádaných na čipu do matice, mezi nimiž jsou vloženy propojovací vodiče (jako propojovací matice) s programovatelným propojením. Největšími výrobci obvodů CPDL jsou firmy Altera a XILINX. Uveďme si vnitřní strukturu obvodů CPDL fy XILINX řady XC95xx. Obvody jsou mazatelné a reprogramovatelné - výrobce zaručuje cyklů mazání/programování. Obdobnou architekturu mají obvody CPDL CoolRunner od téže firmy tato řada se vyznačuje velmi nízkou spotřebou (klidová spotřeba činí cca µa, technologie EEPROM a využívá 5 úrovní metalizace,35 µm). Obvody XC95xx se vyrábějí pro 3 napájecí napětí, jinak se neliší. Řada XC95xx používá napájení 5V, XC95xxXL 3,3V a XC95xxXV je optimalizována pro 2,5V. U řady s nižším napájecím napětím než 5V tolerant, je možné na ně přivést signály TTL logiky. Programování je systémem ISP přes rozhraní JTAG.

6. Programovatelné struktury CPDL II Vnitřní architektura obvodů řady XC95xx

6. Programovatelné struktury CPLD III Vnější signály z vývodů pouzdra jsou přivedeny do I/O buněk, které obsahují třístavové budiče společně s logikou řízení směru signálu. Rychlá propojovací matice (FASTCONNECT Switch Matrix) zajišťuje programovatelné propojení navzájem mezi buňkami s logikou a I/O bloky. Vlastní programovatelnou logiku představují funkční bloky Function lock, základem je programovatelná matice AND jako u obvodu GAL. Product Term Allocator tvoří jednak logický součet součinů, jednak má možnost přivést k signálům asynchronního nastavení /nulování klopných obvodů v makrobuňkách a ovládání třetích stavů budičů v I/O blocích, eventuálně ovládat hodinový signál klopného obvodu místo společného rozvodu. Makrobuňka (MakroCell ) je tvořena klopným obvodem typu D a multiplexory nastavovanými konfigurací. Na dalším obrázku je vyobrazení funkčního bloku část matice AND, Product Term Allocator a jedna makrobuňka.

6. Programovatelné struktury CPLD IV

6. Programovatelné struktury CPLD V. Přehled vyráběných obvodůřady XC95xx co do počtu makrobuněk Obvod XC9536 XC9572 XC958 XC9544 XC9526 XC95288 Makrobuňky 36 72 8 44 26 288 Počet ekv. hradel 8 6 24 32 48 64 Počet klop. obvodů 36 72 8 44 26 288 F (MHz) 25 25 25,, Maximální frekvence sekvenčního obvodu závisí na složitosti kombinační logiky. Cena obvodu závisí kromě vnitřní velikosti (počtu makrobuněk a hradel) také na pouzdru, ve kterém je IO aplikován. Obvody se vyrábějí v pouzdrech pro povrchovou montáž od velikosti 44 až 352 vývodů.

6. Programovatelné struktury - FPGA Programovatelná hradlová pole FPGA Největšími výrobci programovatelných polí hradel FPGA (Fiield Programmable Gate Array) jsou firmy Altera a XILINX. Prvnířada fy XILINX, která se výrazně rozšířila byla označena XC3. Později se zvětšila konfigurovatelná buňka CLB a z toho vznikla řada XC4. Koncem 9. let provedla firma technologické úpravy řady XC4 a byla vytvořena řada Spartan XCS, která se vnitřní strukturou od XC4 v podstatě nelišila. Do této doby používaly všechny obvody napájení +5V. Avšak řada Spartan s napájením 3,3V nesla označení XL. Odlišná architektura je až u řady Spartan II (napájení 2,5V), nejnovějšířada obvodů Spartan nese označení Spartan III. Firma XILINX má v nabídce ještěřady Virtex resp. Virtex II. Základem architektury jsou hlavně konfigurovatelné logické bloky CLB (Configurable Logic Block). Jsou uspořádány do matice, v oblasti mezi boky jsou vloženy propojovací vodiče s propojovacími maticemi. Na obvodu čipu jsou umístěny

6. Programovatelné struktury - FPGA II vstupně-výstupní bloky IOB, které jsou napojeny na vývody z čipu resp. z pouzdra.

6. Programovatelné struktury - FPGA III Stručně několik informací o konfigurovatelném bloku CLB. Obsahuje dva klopné obvody typu D, několik multiplexorů, které se nastavují při konfiguraci, dále 3 statické paměti RAM resp. SRAM, nazývaní LUT (Look-up Table vyhledávací tabulka). Tyto paměti mají označení F, G, H a při konfiguraci těchto pamětí LUT se realizuje kombinační logika (kombinační logické funkce). Podobně jako u použití pevné paměti Rom(PROM) se do těchto pamětí zapisuje pravdivostní tabulka logických funkcí a vstupní signály se přivedou na adresové vodiče. Tedy FPGA neobsahuje žádná hradla ani programovatelné matice AND. Aby byla umožněna reprogramovatelnost, jsou místo pevných pamětí v hradlovém poli statické paměti RAM. V jednom CLB bloku je možné realizovat buď libovolné dvě funkce čtyř proměnných (F, F2, F3, F4 a G G2, G3, G4) nebo libovolnou jednu funkci o pěti logických proměnných. S využitím třetí tabulky H a vstupu H je tedy možné realizovat funkci o 5 proměnných. Realizace funkce s 5 proměnnými

6. Programovatelné struktury FPGA IV je provedena rozkladem Shannonova teorému. Tabulka H je nakonfigurována jako dvouvstupový multiplexorřízený vstupem H. Pouze některé logické funkce s více proměnnými je možné realizovat pomocí jediného bloku CLB, ve složitějších případech je nutné provést dekompozici funkce a rozložit ji do více bloků CLB. Kromě implementace kombinačního logického obvodu v CLB bloku mohou být tabulky LUT využity také skutečně jako paměti, a tudíž je možné v návrzích struktury obvodů používat i bloky paměti. Synchronizační signál (hodinový) clk, asynchronní nastavení resp. nulování SR a povolovací signál CE jsou používány společně pro CLB buňku. Blokové schéma konfigurovateného bloku je uvedeno na obrázku.

6. Programovatelné struktury FPGA V blok CLB

6. Programovatelné struktury FPGA VI propojovací matice Propojovací kanál CLB konfigurovatelný logický blok PSM programovatelná matice propojení, kde se křižují propojovací vodiče (Programmable Switching Matrix) Černé bodíky mimo matice znázorňují samostatné programovatelné propojovací body. Propojovací vodiče jsou na čipu trojí a liší se svou délkou. Jednoduché vodiče (Singles), kterých je nejvíce, propojují dvě sousední matice PSM a mezi každou

6. Programovací struktury FPGA VII - PSM druhou maticí jsou dvojité vodiče (Doubles). Dlouhé vodiče (Long) jsou vedeny přes celý čip. Zpoždění signálu na vodičích již není u FPGA zanedbatelné vůči zpoždění logiky a klopných obvodů, musí se tedy při výpočtu časování samozřejmě uvažovat. Vnitřní strukturu propojovatelné matice PSM ukazuje další obrázek.

6. Programovatelné struktury FPGA VIII Každý propojovací bod v matici PSM je realizován šesticí spínacích tranzistorů, u nichž se stav sepnutí určuje při kofiguraci. U každého tranzistoru je připojena buňka statické paměti RAM, do které se zapisuje, zda má být tranzistor sepnut či rozepnut. Vstupně-výstupní blok IOB obsahuje vstupní a výstupní klopný obvod, jichž je možné využít v návrhu v případě, že výstupní signál je přímo výstupem klopného obvodu nebo vstupní signál je veden na vstup klopného obvodu. Tím se může uštřit klopný obvod v CLB bloku. Výstupní třístavový budič má programovatelnou rychlost přeběhu (Slew Rate) a volbu nastavení úrovní TTL/CMOS. Hodinový signál, signál pro nastavení resp. nulování GSR (Global Set/Reset) a řízení třetího stavu GTS (Global TriState) mají specielně navržené rozvody po celém čipu. Při návrhu na FPGA důsledně dodržujeme pravidlo nevkládat žádnou logiku do cesty hodinovému signálu.

6. Programovatelné struktury FPGA IX Blok IOB

6. Programovatelné struktury FPGA X Konfigurace obvodů FPGA je založena na statických pamětech RAM, které jsou implementovány s velkým důrazem na spolehlivost a díky odlišné technologii buněk než u EEPROM pamětí CPLD(izolace náboje) není zde prakticky omezení na počet reprogramování z hlediska spolehlivosti. Nevýhodou RAM však je jejich závislost na napájení, tzn., že po každém zapnutí zařízení, kde jsou FPGA, je nutné obvod vždy znovu nakonfigurovat. To se dá provádět buď přes rozhraní JTAG nebo ve speciálním sériovém či paralelním Slave módu. V tomto módu např. jednočipový mikropočítač načítá konfigurační data (bitstream) z paměti ROM (EPROM, EEPROM). V módu Master je obvod FPGA schopen řídit autonomně připojenou paměť ROM a načítat data. Maximální dosažitelná frekvence hodinového signálu deklarovaná výrobcem u obvodů Spartan je 8 MHz. Tato samozřejmě je ovlivněna rozsahem návrhu a tedy se snižuje. Obecně závisí frekvence na počtu použitých CLB bloků, na rozmístění a propojení. Běžně bývá u realizovaných návrhů okolo 2MHz.

6. Programovatelné struktury FPGA XI Obvody Spartan II a Virtex - nová generace obvodů fy XILNX Obě řady mají stejnou architekturu. Každý CLB blokse skládá ze dvou identických bloků Slice. Blok obsahuje dvě LUT tabulky F a G a dva klopné obvody. Je přidána Carry Logic se vstupním signálem CIN a výstupním COUT, která se využívá při implementaci sčítaček pro přenosy mezi řády. Architektura systému programovatelného propojování je dvouúrovňová. GRM Global Routing Matrix obdobou PSM (u Spartanu)