Detail předmětu

Programovatelné logické obvody

FEKT-MPC-PLDAk. rok: 2025/2026

Studenti prohloubí své znalosti číslicové techniky, především s ohledem na implementaci digitálních systémů v obvodech FPGA, případně 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

čeština

Počet kreditů

5

Vstupní znalosti

Studenti musí znát základy impulzové a číslicové techniky: Booleova algebra, Karnaughovy mapy, pravdivostní tabulky, funkce základních hradel a klopných obvodů, princip a vlastnosti průchodu signálu aktivními a pasivními přenosovými články.

Pravidla hodnocení a ukončení předmětu

Studenti jsou hodnoceni průběžně během semestru za aktivní práci v počítačových cvičeních (36 b). Pro získání zápočtu je nutné získat alespoň 50% bodů z počítačových cvičení. Povinná závěrečná zkouška se skládá z písemné (19 b), praktické (30 b) a ústní části (15 b). Pro úspěšné složení zkoušky je nutné získat alespoň 50% bodů z každé bodované aktivity.
Počítačová cvičení jsou povinná, absenci je nutné nahradit po dohodě s vyučujícím.

Učební cíle

Cílem předmětu je naučit studenty základní principy práce s obvody FPGA, a to jak z hlediska jejich konfigurace (programování), tak jejich výběru a aplikace (začlenění do systému).
Absolvent předmětu: (a) dokáže vytvořit popis jednoduchého číslicového systému pomocí jazyka VHDL; (b) dokáže provést verifikaci číslicového systému s využitím jazyka VHDL; (c) je schopen vybrat vhodný typ stavového automatu pro konkrétní aplikaci a výběr zdůvodnit; (d) je schopen provést návrh a implementaci stavového automatu pomocí jazyka VHDL; (e) dokáže porovnat architektury různých obvodů PLD a vybrat vhodnou architekturu pro danou aplikaci; (f) je schopen stanovit požadavky na časové parametry designu a ověřit jejich splnění po jeho implementaci; (g) umí implementovat základní IP jádra, jako jsou paměti a jednoduché bloky pro číslicové zpracování signálů (FIR filtry); (h) dokáže do obvodu FPGA implementovat jednoduchý mikrokontrolér, naprogramovat jej a použít v cílové aplikaci; (i) je schopen stanovit požadavky na napájecí systém obvodu FPGA; (i) dokáže provést rozvahu a nalézt vhodné řešení signálové integrity.

Studijní opory

Aktuální studijní opory (především podklady pro PC cvičení a prezentace k přednáškám) budou v průběhu semestru zveřejněny v E-learningu, kde budou mít studenti přístup také k nahraným přednáškám a cvičením (audio + video), a to i z minulých let. 

Základní literatura

ASHENDEN, Peter, Gregory PETERSON a Darrell TEEGARDEN. Effective Coding with VHDL: Principles and Best Practice. Cambridge: MIT Press, 2020. 400 s. ISBN 978-0262042642. (CS)
MAXFIELD, Clive "Max". The Design Warrior's Guide to FPGAs: Devices, Tools, and Flows. Amsterdam: Newnes, 2004. 486 s. ISBN 978-0750676045. (EN)
PINKER, Jiří a Martin POUPA. Číslicové systémy a jazyk VHDL. Praha: BEN - technická literatura, 2006. 464 s. ISBN 80-7300-198-5. (CS)

Zařazení předmětu ve studijních plánech

  • Program MPC-NCP magisterský navazující 1 ročník, letní semestr, povinně volitelný

  • Program MPC-AUD magisterský navazující

    specializace AUDM-TECH , 1 ročník, letní semestr, povinně volitelný
    specializace AUDM-ZVUK , 1 ročník, letní semestr, povinně volitelný

  • Program MPC-EKT magisterský navazující 1 ročník, letní semestr, povinně volitelný
  • Program MPC-IBE magisterský navazující 2 ročník, letní semestr, povinně volitelný
  • Program MPC-MEL magisterský navazující 1 ročník, letní semestr, povinně volitelný
  • Program MPC-TIT magisterský navazující 0 ročník, letní semestr, volitelný

Typ (způsob) výuky

 

Přednáška

26 hod., nepovinná

Vyučující / Lektor

Osnova

1. Úvod do problematiky integrovaných číslicových obvodů, vznik a vývoj obvodů CPLD, FPGA. 2. Úvod do jazyka VHDL. 3. Základy číslicových systémů: hradla, klopné obvody, posuvné registry, čítače. 4. Teorie konečných stavových automatů, 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.

Cvičení na počítači

39 hod., povinná

Vyučující / Lektor

Osnova

1. Úvod do VHDL a návrhového systému Vivado, constraints. 2. Simulace, verifikace, tetbench 3. Základní příkazy, realizace kombinačních funkcí (dekodéry). 4. Použití hierarchického popisu, strukturální popis. 5. Implementace sekvenčních systémů (čítače). 6. Stavové automaty, popis ve VHDL. 7. Číslicové zpracování signálů, FIR filtr. 8. LFSR čítač, časové parametry konstrukcí, spotřeba FPGA. 9. Použití IP jader, zvyšování mezní frekvence designu. 10. Použití integrovaného logického analyzátoru. 11. Procesory v FPGA - PicoBlaze, základní princip použití. 12. Procesory v FPGA - PicoBlaze, vlastí periferie. 13. Procesory v FPGA - MicroBlaze.