Detail předmětu
Seminář VHDL
IVH Ak. rok 2021/2022 letní semestr 4 kredity
Předmět je koncipován tak, aby si student osvojil principy paralelního popisu hardware a prakticky zvládnul techniky umožňujících tvorbu syntetizovatelného hardware. Jazyk VHDL bude probírán z dvou rovin - VHDL jako modelovací prostředek a VHDL jako jazyk pro popis hardware. V první části budou zopakovány nezbytné pojmy z číslicové techniky a představen detailně jazyk VHDL. V druhé části předmětu budou rozebrány techniky popisu hardware (strukturní, dataflow, behaviorální), popisu kombinačních obvodů a následně sekvenčních obvodů. Dále bude diskutováno modelování a simulace číslicových systémů a jejich následná syntéza v FPGA. V závěru bude ukázán návrh několika systémů od jednodušších (řízení LED displeje) po komplexní obvody jako je např. procesor.
Garant předmětu
Koordinátor předmětu
Jazyk výuky
Zakončení
Rozsah
- 26 hod. seminář
- 13 hod. projekty
Bodové hodnocení
- 100 bodů projekty
Zajišťuje ústav
Cvičící
Získané dovednosti, znalosti a kompetence z předmětu
Student bude schopen pomocí jazyka VHDL popsat komplexní číslicové systémy tak, aby systém bylo možné fyzicky implementovat. Předmět je vhodnou korekvizitní podporou předmětu INC a INP.
Cíle předmětu
Seznámit studenty se syntaxí a sémantikou jazyka pro popis hardware (VHDL), s jeho využitím nejen pro modelování a simulaci ale především jako popisného jazyka využívaného při vytváření a syntéze komplexních číslicových systémů. Součástí předmětu bude představení programovacích technik umožňujících efektivní návrh hardware za pomocí profesionálních vývojových prostředků (ModelSIM, XILINX ISE), které se staly defacto průmyslovým standardem.
Proč je předmět vyučován
Seminář VHDL slouží jako podpora výuky VHDL v předmětech INC a INP a je doporučen k prohloubení znalosti jazyka a problematiky moderního návrhu hardware. Studenti získají podrobnější znalost jazyka VHDL nejen po teoretické stránce ale i po stránce praktické - k praktickému ověření lze využít přípravku FITkit, který obsahuje programovatelné hradlové pole FPGA firmy XILINX. Zvládnutí jazyka pro popis hardware je klíčovým prvkem pro úspěšný a efektivní návrh systémů na bázi FPGA, které zaujímají dominantní postavení především v oblasti vysoce náročných výpočtů (akcelerace síťových operací, akcelerace zpracování číslicových jednorozměrných a vícerozměrných dat, akcelerace bioinformatických úloh, kryptografických aplikací apod.), kde akcelerační platformy využívající FPGA dosahují výrazného urychlení a minimálních hodnot příkonu oproti běžných softwarovým technikám paralelizace. Znalost technik popisu syntetizovatelného hardware dává možnost se aktivně zapojit do řady výzkumných projektů v oblasti zpracování síťových dat a bezpečnosti, ve kterých se spolupracuje např. s firmou Seznam.cz, sdružením Cesnet či správcem domény NIC a najít lepší uplatnění na trhu práce.
Požadované prerekvizitní znalosti a dovednosti
Základy programování. Základy týkající se Boolovy algebry.
Literatura studijní
- Přednáškové materiály v elektronické podobě.
- Jasinski, R.: Effective Coding with VHDL: Principles and Best Practice. The MIT Press. 2016.
- Pedroni, V. A.: Circuit Design and Simulation with VHDL (Second Edition). The MIT Press. 2011
- Douša, J.: Jazyk VHDL, České vysoké učení technické v Praze. Elektrotechnická fakulta, Praha, 2003
- Armstrong, J.R. - Gray, F.G.: VHDL Design Representation and Synthesis, 2nd edition, Prentice Hall, ISBN 0-13-021670-4, 2000
- Chang, K.C.: Digital Design and Modeling with VHDL and Synthesis, IEEE Computer Society Press, 1997
- Armstrong, J.R. - Gray F.G.: Structured Logic Design with VHDL, Prentice-Hall, 1993
Osnova seminářů
- Moderní návrh hardware (design flow), jazyky pro popis hardware (VHDL, Verilog), FPGA, úvod do číslicových systémů.
- Základní konstrukce jazyka VHDL, lexikální popis, zdrojový text ve VHDL.
- Datové typy, datové objekty, třídy objektů, deklarace datových objektů.
- Příkazy jazyka VHDL
- Pokročilé vlastnosti jazyka VHDL, zpoždění a plánování času.
- Popis kombinačních obvodů, třístavové obvody.
- Popis synchronních sekvenčních obvodů, popis konečných automatů, asynchronní sekvenční obvody.
- Modelování obvodů a událostně řízená simulace, testování obvodů a návrh testů, funkční simulace (ModelSIM), co-simulace.
- Syntéza obvodů, omezení (constraints), syntéza pro FPGA, časová simulace.
- Pokročilé techniky (pipelining, retiming, sdílení komponent, flattening a strukturování)
- Příkladová studie komplexních obvodů: řízení maticového LED displeje, UART, ETHERNET
- Příkladová studie komplexních obvodů: RISC procesor
- Obvody FPGA, využití masivního paralelismu v kryptografii (RC4, DES), DNA-alignment
Osnova ostatní - projekty, práce
Individuální projekt rozdělený na několik částí řešených v průběhu semestru.
Průběžná kontrola studia
Vypracování projektu včetně odevzdání technické zprávy.
Podmínky zápočtu
Udělení zápočtu je podmíněno ziskem minimálně 50 bodů z projektu.
Zařazení předmětu ve studijních plánech