Learning objectives:
Students acquire the skills to
- understand the different forms of representation of numbers and alphabets in computers.
- know the simple basics of electronics for passive and active components.
- have the ability to describe circuits in formal and programming language.
- know methods for the synthesis and analysis of circuits and their minimization.
- know technical realization forms of circuits.
- know methods and concepts for coding digital data.
- understand the technical constraints and limitations of current concepts for the realization of components.
Course content:
- Electronic basics: current and voltage, active and passive components, semiconductor technologies
- Moore's Law, components of a computer, computer generations
- Circuit algebra: Boolean postulates, complete systems, disjunctive and conjunctive normal form
- Minimization: algebraic truncation rules, graphical (Karnaugh-Veitch diagram), and algorithmic methods (Quine and McCluskey)
- Switching networks: adders, (de-)multiplexers
- Switching networks: various flip-flop types, asynchronous and synchronous switching networks, counters, shift registers
- Finite automata: Moore and Mealy automata, state diagrams, state transition tables
- Calculator arithmetic: number representations, fixed-point representation, floating-point representation, addition, subtraction, multiplication
- Semiconductor memory technology: ROM, static RAM, dynamic RAM, flash, new technologies for working memory
- Mass storage technologies
- Programmable logic devices (e.g. PAL, CPLD, FPGA) and hardware description languages
- Information and coding: measurement of information, data compression, code protection