The course provides the basics for the study and design of digital systems. It starts from Boolean algebra and binary arithmetic, and progresses to the design of sequential networks, using Finite State Machines and ASM charts. By using Finite State Machines as system controllers, the concept of microprocessor is introduced.
Digital Representation of Information: sensors and actuators, digital-to-analog conversion, Boolean functions, logical networks, and Shannon's expansion theorem.
Combinatorial Circuits: minimization of Boolean functions, Karnaugh maps, overview of algorithmic methods.
Binary Arithmetic: codes and operations, complements, conversions, major arithmetic-logical architectures, error detection codes, alphanumeric codes.
Sequential Networks: Timing, Flip-Flops, registers, counters, analysis of sequential networks.
Finite State Machines: ASM charts (state block, conditional block, conditional outputs), design, criteria for state assignment, overview of asynchronous machines.
Towards the Microprocessor: Using Finite State Machines as controllers to introduce the fundamental elements of a numerical computer: central processing unit, control unit, memory, input/output unit.
- S. Harris and D. Harris, Digital Design and Computer Architecture, RISC-V Edition, Morgan Kaufmann, 2020
- G. Donzellini, et al., Introduzione al progetto di sistemi digitali, Springer, 2018
- F. Fummi, et al., Progettazione Digitale, McGraw-Hill, 2023
- B. Mealy, F. Tappero, Free Range VHDL, FreeRangeFactory, 2025