Detail předmětu
Programmable Logic Devices
FEKT-NPLDAk. rok: 2018/2019
Studenti prohloubí své znalosti číslicové techniky, především s ohledem na implementaci digitálních systémů v obvodech PLD (FPGA a CPLD) a ASIC. V rámci přednášek získají přehled o současném stavu technologie těchto obvodů, používaných architektur, principu návrhu a použití základní bloků číslicové techniky (čítače, stavové automaty, paměťové struktury). V rámci počítačových cvičení se naučí pracovat s návrhovým systémem pro obvody FPGA/CPLD. To zahrnuje popis číslicového systému (VHDL, schéma, IP jádra), jeho implementace a verifikaci s využitím simulátoru. Po absolvování kurzu jsou studenti schopni navrhnout a s využitím jazyka VHDL nakonfigurovat jednoduchý systém s obvodem FPGA.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Výsledky učení předmětu
o dokáže vytvořit popis jednoduchého číslicového systému pomocí jazyka VHDL
o dokáže provést verifikaci číslicového systému s využitím jazyka VHDL
o je schopen vybrat vhodný typ stavového automatu pro konkrétní aplikaci a výběr zdůvodnit
o je schopen provést návrh a implementaci stavového automatu pomocí jazyka VHDL
o dokáže porovnat architektury různých obvodů PLD a vybrat vhodnou architekturu pro danou aplikaci
o je schopen stanovit požadavky na časové parametry designu a ověřit jejich splnění po jeho implementaci
o umí implementovat základní IP jádra, jako jsou paměti a jednoduché bloky pro číslicové zpracování signálů (FIR filtry)
o dokáže do obvodu FPGA implementovat jednoduchý mikrokontrolér, naprogramovat jej a použít v cílové aplikaci
o je schopen stanovit požadavky na napájecí systém obvodu FPGA
o dokáže provést rozvahu a nalézt vhodné řešení signálové integrity
Prerekvizity
Plánované vzdělávací činnosti a výukové metody
Způsob a kritéria hodnocení
Osnovy výuky
2. Úvod do jazyka VHDL
3. Základy číslicových systémů: hradla, klopné obvody, posuvné registry, čítače
4. Moorův a Mealyho stavový automat
5. Praktický návrh a aplikace konečných stavových automatů, mikrosekvencery
6. Základní architektura obvodů FPGA a CPLD: logické buňky, propojovací struktura, vstupně/výstupní buňky
7. Časové parametry číslicových obvodů, metastabilita, metody zvyšování pracovního kmitočtu
8. Hodinové domény v obvodech FPGA, clock enabling, clock management, synchronní a asynchronní nulování
9. Realizace paměťových struktur v FPGA, použití RAM, ROM, FIFO
10. Číslicové zpracování signálů v FPGA, bloky pro podporu DSP operací
11. Pokročilé bloky integrované v FPGA, HARD a SOFT IP jádra, implementace základních jader
12. Procesory v FPGA, SoC, technologie výroby FPGA, konfigurace,
13. Integrita signálů, návrh plošných spojů a systému napájení pro FPGA, vliv radiace
Učební cíle
Vymezení kontrolované výuky a způsob jejího provádění a formy nahrazování zameškané výuky
Základní literatura
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
Obvody PLD 1. a 2. generace - přídavné prvky, módy a struktura makrobuňky obvodů GAL 16V8 a 20V8. Další typy obvodů PLD 2. generace. Značení obvodů PLD, parametry nejdůležitějších obvodů
Zvláštní varianty obvodů PLD (ZeroPower, obvody s nižším napájecím napětím atd.). Programování, programovací přístroje
Obvody PLD 3. generace (CPLD) a obvody FPGA - struktura, základní vlastnosti
Realizace složitých kombinačních logických funkcí - víceprůchodové a iterativní zapojení, sčítačka, komparátor
Vytváření asynchronních klopných obvodů RS a D ve struktuře PLD
Synchronní systémy v PLD: Použití klopných obvodů typu T a log.členů EX-OR. Vzájemná konverze různých typů klopných obvodů, emulace
Binární čítače jednosměrné, vratné a se zkráceným cyklem - způsoby popisu v HDL, počet termů
Čítače s kódem BCD, jejich implementace v obvodech PLD
Čítače s Grayovým kódem, zkracování jejich cyklu
Čítače LFSR - struktura, výhody a nevýhody, použití
Návrat čítačů do pracovního cyklu
Stavové automaty (SA): typ Moore a Mealy, jejich popis v jazyku HDL, kompilace - převod na zápis typu SOP
Zjednodušování SA - ekvivalentní stavy a jejich vyhledání. Kódování stavů v obvodech PLD a FPGA. Algoritmický popis SA
Časové parametry programovatelných obvodů, pipelining
Obvody FPGA - přídavné bloky: implementace I/O standardů, paměťové prvky, bloky pro syntézu kmitočtu a pro další zpracování hodinových signálů
Implementace procesorů, použití bloků duševního vlastnictví
Hraniční test, metastabilita
Cvičení na počítači
Vyučující / Lektor
Osnova
Jazyk ABEL: způsoby popisu kombinačních číslicových systémů - tvar SOP, složitější příkazy jako WHEN-THEN-ELSE, jejich kompilace. Příklad: prioritní enkodér
Synchronní systémy: způsoby popisu, příklady různých typů čítačů
Základy jazyka VHDL, behaviorální a strukturální popis, souběžné příkazy a procesy. Hierarchicky uspořádané konstrukce
Popis kombinačních obvodů v jazyku VHDL. Nežádoucí latch a jak předejít jeho vzniku
Behaviorální popis registrů řízených hranou. Čítače binární, dekadické, LFSR
Stavové automaty: grafická a textová forma stavového diagramu, příklad: detektory posloupností bitů. Grafické editory stavových diagramů, prostředek StateCAD
Simulace, syntéza a implementace konstrukcí (průběžně v celém cvičení)