### Digital Technique

#### Digital Technique - B2B32DITA

 Credits 4 Semesters Winter Completion Graded Assessment Language of teaching Czech Extent of teaching 2P + 2L
Annotation
The goal of this course is to provide the introduction into designing and realization of digital circuits. First, necessary mathematical apparatus, such as the Boolean algebra, Karnaugh maps, minimization and realization of logical functions is presented, followed by brief introduction into basics of logical circuits, such as the logical gates, flip-flops, TTL and CMOS logic etc. The second part is dedicated mainly to modern designing techniques of digital circuits using programmable FPGA and VHDL language. During these lessons, the basics of VHDL together with numerous examples are evaluated to provide a complex insight into this hardware description language and modern methods of designing and realization of digital circuits.
Study targets
The goal of this course is to provide the introduction into designing and realization of digital circuits. First, necessary mathematical apparatus, such as the Boolean algebra, Karnaugh maps, minimization and realization of logical functions is presented, followed by brief introduction into basics of logical circuits, such as the logical gates, flip-flops, TTL and CMOS logic etc. The second part is dedicated mainly to modern designing techniques of digital circuits using programmable FPGA and VHDL language. During these lessons, the basics of VHDL together with numerous examples are evaluated to provide a complex insight into this hardware description language and modern methods of designing and realization of digital circuits.
Course outlines
1. Number systems with various radices (binary, hexadecimal). Unsigned and signed binary numbers. Binary addition, subtraction, multiplication and division. Modulus and remainder operations, residue number system. Binary codes - BCD, Gray, weighted codes, etc.
2. Logical functions and their expressions, Boolean algebra, logical gates.
3. Minimization of logical functions, algebraic minimization, De Morgan transformations, Karnaugh maps, realization of logical functions using logic gates.
4. Implementation of logical functions and modifications using logical gates, Quine-McCluskey algorithm for minimization of logical functions.
5. Combinational and sequential circuits, logical hazards, synchronous and asynchronous operations, flip-flops, latches.
6. S-R, D, J-K flip-flops, synchronous and asynchronous counters, registers, Moore and Mealy machines.
7. Technologies for HW realization of logic gates and circuits - TTL, CMOS.
8. Modern methods for designing and realization of digital circuits and gates - introduction into programmable devices, FPGA, hardware description languages, VHDL.
9. Basics of VHDL - basic operations, data types, concurrent and sequential domain, conditions, simulations, behavioral design, structural design, flip-flops in VHDL.
10. VHDL language - operators, attributes, conditions, examples of combinational and sequential circuits.
11. Structural description in VHDL language, components, port-map.
12. Sequential circuits in VHDL, loops, counters and frequency dividers.
13. Functions, procedures, packages and libraries in VHDL.
14. Realization of finite state machines in VHDL.
Exercises outlines
1. Introduction to Digital Engineering, conditions for credits, guidelines for safe work in the laboratory.
2. Numbers with different radices - conversion, basic mathematical operations, calculation of examples.
3. Logical functions, Boolean algebra, minimization of logical functions using Karnaugh maps.
4. Minimization of logical functions using Quine-McCluskey algorithm, conversion between disjunctive and conjunctive function forms.
5. Test.
6. Laboratory task no. 1 - realization of simple logical circuit, hazards in logical circuits, dynamical characteristics of TTL and CMOS.
7. Laboratory task no. 2 - introduction into FPGA and VHDL, realization of code converters using schematic editor in Xilinx iSE.
8. Laboratory task no. 3 - simulations using VHDL, creating testbench in VHDL, simulation of synchronous and asynchronous counters.
9. Laboratory task no. 4 - realization of simple multiplexor in VHDL using conditions.