Subject description - AE0B38APH

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
AE0B38APH FPGA Applications Extent of teaching:1P+3L
Guarantors:Sedláček R. Roles:V Language of
Teachers:Sedláček R. Completion:KZ
Responsible Department:13138 Credits:5 Semester:Z


After the short introduction into structure and technology of programmable circuits (especially the CPLD and FPGA), the lectures are devoted to the VHDL and its usage for simulation and synthesis of digital circuits. Laboratories are focused on CPLD and FPGA circuit applications and on the used of SW instruments for programmable hardware design and simulation. Within the larger project implemented in the second part of laboratories a complete device (system on the chip) is implemented in the FPGA or CPLD circuit. Students may choose from the list of project or they can bring their own (even a group projects are possible). Development boards with FPGA (or CPLD) are available.

Výsledek studentské ankety předmětu je zde: AE0B38APH

Study targets:

Cílem studia je naučit studenty porozumět FPGA obvodům z pohledu jejich vnitřní struktury. Studenti se naučí programovat FPGA ve VHDL a získají základní znalosti o návrhu tzv. systému na čipu (SoC). Dále se seznámí s typickými možnostmi využití FPGA obvodů v praxi.


1. Introduction to the QUARTUS II design system, introductory project.
2. Logical and arithmetic functions in VHDL, parallel domain programming.
3. Programming in sequential domain - processes, flip-flops and counters.
4. Simulation of design using test vectors and testbench in ModelSim.
5. State machines - variants of implementation in VHDL.
6. Using internal and external RAM in projects.
7. Control test, specification of individual project (MP3 player, computer game, controller for VGA monitor,).
8. Individual project.
9. Individual project.
10. Individual project.
11. Individual project.
12. Individual project.
13. Individual project.
14. Evaluation of the results of individual project solution, getting assesment

Course outlines:

1. Programmable circuits, history and present.
2. Introduction into VHDL, design units.
3. Numbers, characters, strings.
4. Basic data types and operators.
5. Basic objects - constants, variables, signals.
6. Parallel and sequential domains.
7. Implementation of state automata.
8. Standard libraries, LPM library.
9. Procedures and functions.
10. Design of combinatorial and sequential circuits.
11. Instruments and methods for simulation.
12. Special internal structures (RAM, PLL, multipliers) and their usage.
13. Implementation of user libraries.
14. Implementation of micro programmed automata.

Exercises outline:

1. Introduction in QUARTUS II, opening project
2. Logic and arithmetic functions in VHDL, programming in parallel domain.
3. Programming in sequential domain - processes, flip-flops and counters.
4. Design simulation using test vectors and test benches in ModelSim.
5. State automata - variants of VHDL implementation.
6. Usage of internal and external RAM in projects.
7. Individual or group project (audio player, computer game, simple VGA controller ?).
8. Project implementation.
9. Project implementation.
10. Project implementation.
11. Project implementation.
12. Project implementation.
13. Project implementation.
14. Final project presentation, assessment.


1. Pedroni, V.A.: Digital Electronics and Design with VHDL. Morgan Kaufmann 2008, ISBN: 978-0123742704
2. Ashenden, P. J.: The Designer's guide to VHDL. Morgan Kaufmann 2008. ISBN: 978-0-12-088785-9.


Basic knowledge of Boolean algebra and basic logic circuits



VHDL language, FPGA, System on a chip, NIOS processor

Subject is included into these academic programs:

Program Branch Role Recommended semester
BEKME1 Communication Technology V
BEKME5 Komunikace a elektronika V
BEKME_BO Common courses V
BEKME4 Network and Information Technology V
BEKME3 Applied Electronics V
BEKME2 Multimedia Technology V
BEEEM1 Applied Electrical Engineering V
BEEEM_BO Common courses V
BEEEM2 Electrical Engineering and Management V
BEKYR1 Robotics V
BEKYR_BO Common courses V
BEKYR3 Systems and Control V
BEKYR2 Sensors and Instrumentation V
BEOI1 Computer Systems V
BEOI_BO Common courses V
BEOI3 Software Systems V
BEOI2 Computer and Information Science V

Page updated 19.6.2019 05:53:11, semester: Z,L/2020-1, L/2018-9, Z,L/2019-20, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)