# Subject description - B2B32DITA

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
B2B32DITA Digital Technique
Roles:P Extent of teaching:2P + 2L
Department:13132 Language of teaching:CS
Guarantors:Lafata P. Completion:KZ
Lecturers:Lafata P., Zeman T. Credits:4
Tutors:Lafata P., Šebánek J., Zeman T. Semester:Z

Web page:

https://moodle.fel.cvut.cz/courses/B2B32DITA

Anotation:

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 outline:

 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. 10 Laboratory task no. 5 - using structural design in VHDL, components, port-mapping. 11 Laboratory task no. 6 - realization of frequency dividers in VHDL. 12 Laboratory task no. 7 - realization of finite state machine in VHDL. 13 Laboratory task - substitutionary lesson. 14 Assessment, credits.

Literature:

 [1] GREGG, J.: Ones and Zeros: Understanding Boolean Algebra, Digital Circuits, and the Logic of Sets (IEEE Press Understanding Science & Technology Series), 1998 [2] CHU, PONG P.: FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version, Wiley-Interscience; 1 edition, 2008 [3] PEDRONI, V.: Circuit Design and Simulation with VHDL, MIT Press, 2010 [4] STANKOVIC, R., ASTOLA, J.: From Boolean Logic to Switching Circuits and Automata: Towards Modern Information Technology (Studies in Computational Intelligence), Springer, 2011 [5] WHITESITT, J.: Boolean Algebra and Its Applications (Dover Books on Computer Science), 2010 [6] FABRICIUS, E.: Digital Design and Switching Theory CRC Press; 1 edition, 1992

Requirements:

The only prerequisite is the knowledge of basics of mathematical logic at the high school degree level.

Keywords:

Logical function, logical circuit, FPGA, VHDL, Boolean algebra, Karnaugh map, flip-flops, state machines, logic gates, TTL, CMOS

Subject is included into these academic programs:

 Program Branch Role Recommended semester BPEK_2018 Common courses P 3

 Page updated 25.6.2024 07:51:21, semester: Z/2024-5, Z,L/2023-4, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)