FUNDAMENTALS AND LABORATORY OF DIGITAL ELECTRONICS
Learning outcomes of the course unit
The course provides basic information to understand the digital systems operating principles. The course aims at making students to acquire a functional vision of digital systems, to be able to complete simple design experiences, and to become familiar with some of the common basic CAD tools (this last part is carried out during the laboratory activities of the course).
With the laboratory activities, the course provides the basic information useful for the understanding of digital systems operating principles. At the end of the course, students acquire a functional view of digital systems, familiarize with some of the basic simulation tools and are able to complete simple design experiences with low-cost development boards.
Course contents summary
- Introduction to the basic concepts of information theory such as: logical abstraction model, signals, sensors and actuators, logic functions.
- Design of combinational logic networks using elementary building blocks.
- Design and synthesis of combinatorial networks.
- Complex circuit blocks
- Design and synthesis of sequential logics
- Digital system architectures
This part counts 24 hours of lectures. It aims to provide the students with the general criteria to analyze the behavior basic digital electronic circuits using simulation tools and/or development board (e.g. Arduino). Therefore, the contents proposed during the course include the following topics:
- Design workflow of digital systems
- Programmable development boards
- Formal description of simple combinational and sequential systems
- Simulation and middleware programming using development boards.
Basic concepts of Information theory (6h)
- Model and levels of logical abstraction
- Signals: analog and digital representations
- Transducers: sensor and actuator
- A/D and D/A conversion
- Binary numerical system
- Logic function
- Concepts of black-box, I/O, processing, memory, and control
Fundamentals of combinational logic networks (6h)
- Logical ports
- Logical operations and expressions
- Boolean algebra
- De Morgan theorems
Synthesis of digital circuits (10 h)
- Truth table
- Canonical functions
- Maps of Karnaugh
- Logic minimization
- Problem of delays and glitches
Combinational building blocks (4h)
- Multiplexer, Decoder, Half Adder, Full Adder
Fundamentals of sequential logical networks (16h)
- Latch and Flip-Flop
- Synthesis of synchronous networks
- Finite State Machines
- Timing of sequential logics
Digital Architecture (6h)
- Arithmetic circuits, counters, shift registers
- ROM, RAM
- Logical matrices: PAL and PLA
- Programmable circuits (FPGA)
- Functional scheme of a uProcessor
INTRODUCTION TO THIS PART OF THE COURSE (2 h)
INTRODUCTION TO MATLAB AND SIMULINK (10 h)
- Variables and Workspace in MATLAB;
- Figure tool;
- Digital circuits modeled with Simulink to simulate transients with inputs changing over the time;
- Fundamentals blocks of Simulink, as Logical Operator, Constant, Signal Builder and Scope.
- Exercises implementing different digital circuits.
INTRODUTION TO PROGRAMMABLE DEVELOPMENT BOARDS (4 h):
- Microcontrollers and microprocessors;
- Reference web sites;
- Arduino UNO specifications;
- Other programmable development boards;
- Introduction to shields;
- Introduction to Thinkercad.
PROGRAMMING AND SIMULATING WITH ARDUINO (2 h):
- download and installation of the IDE programmer;
- the bootloader; the sketch (loop and setup);
- Hello Led! (first example of programming).
MODELS TO SIMULATE COMBINATORIAL AND SEQUENTIAL CIRCUITS (6 h):
- Implementation of combinatorial and sequential circuits with Arduino.
- S. L. Harris, D.M. Harris, “Sistemi digitali e architettura dei calcolatori”, Zanichelli editore
- M. Morris Mano, C.R. Kime, "Reti Logiche", Pearson Prentice Hall
- R. Laschi, M. Prandini, "Reti Logiche", Progetto Leonardo, Bologna
Regarding the laboratory activities, the student can study the topics discussed during the course reading the following textbooks:
- Paolo Aliverti, IL MANUALE DI ARDUINO: GUIDA COMPLETA, zeppelinmaker.it
- ESERCIZI DI AUTOMAZIONE di Gianfranco Annessa, ISBN 9781291240368
The notes of the laboratory lectures and exercises will be available to students and shared on the Elly web site.
The course consists of oral lectures that form the basis for the understanding and critical elaboration of the covered topics. Exercises are regularly proposed to develop students' application and design skills.
During the laboratory activitieswill be used some applications for Windows and MACos operating systems. These applications will enable both the simulations and the hardware implementations of digital circuits, using protyping boards as Arduino.
Assessment methods and criteria
The exam includes an evaluation of laboratory activity and a written test with exercises on the topics covered during the course.
To access the written test of module 1 of the course you must pass the laboratory test (module 2 of the course) which will consist in the development of a project agreed with the teacher of module 2 (laboratory activities).