Study-unit

Course name Computer science and electronic engineering
Study-unit Code A003160
Curriculum Ingegneria informatica
Lecturer Federico Alimenti
Lecturers
  • Federico Alimenti
Hours
  • 81 ore - Federico Alimenti
CFU 9
Course Regulation Coorte 2023
Supplied 2025/26
Learning activities Caratterizzante
Area Ingegneria elettronica
Sector ING-INF/01
Type of study-unit Opzionale (Optional)
Type of learning activities Attività formativa monodisciplinare
Language of instruction ITALIAN
Contents Logic design fundamentals: Figures of merit of logical circuits, numerical systems, codes, Boolean algebra, analysis and synthesis of combinational circuits, arithmetic functions. Analysis and synthesis of sequential circuits.
Basic concepts of VHDL.
Arduino microcontroller: basics concepts and elementary coding.
Reference texts RECOMMENDED TEXTBOOKS:

Lecture Notesavailable on the UniPG Unistudium web site

M. Morris Mano, Charles R. Kime, Tom Martin, “Reti logiche,” 5° Edizione, Pearson, ISBN 889190581X.

F. Fummi, M.G. Sami, C. Silvano, “Progettazione digitale,” McGraw-Hill Education, ISBN 8838663521.

Educational objectives Methodological knowledge: elementary knowledge of basic combinational and sequential logic circuits, of the logic circuit design procedure, of some programmable logic devices and of the basic elements of the VHDL language. Arduino microcontroller.

Professional skills: ability to design simple digital circuits, at logic level; ability to use basic CAD applications for digital systems, requirement analysis.

Prerequisites To fully understand the contents of this course, the skills provided in "Fundamentals of computer science", "Computer architecture" and "Electromagnetics and Electric Circuits" are useful.
Teaching methods The lectures are organized as follows:
- face-to-face lectures on all the issues of the extended program;
- classworks for the preparation of the final exam;
- Arduino laboratory;
- homeworks and assignments.

Other information Every modification of the information reported in this syllabus will be communicated to the students and added to the web pages dedicated to this course at the web page https://www.unistudium.unipg.it/ .
Learning verification modality The exam consists of a written assignment, max. score = 32/30max allowed time 120 min. Le classwork is normally made of 2 exercises on Logic Networks and 1 exercise on basic concepts of VHDL.

1) The first exercise (max score=10) asks the student to design a combinational logic circuit such as, for example, the selection (or docoding) logical circuit of a memory system.

2) The second exercise (max score=11) proposes the design of a simple synchronous state machine. It is divided in two sections, the first one proposes the design of a state machine, the second one is dedicated to K maps and the extraction of equations from a K map.

3) Follows a single open question (max score=11), related to the fundamental concepts of VHDL, or to the basics of the Arduino microcontroller.

Extended program 1) Logic Design Fundamentals

- Positional representation of numbers (decimal and binary systems). Octal and hexadecimal systems. Conversion among numerical systems. Arithmetic operations. Binary and alphanumerical codes (BCD, Excess 3, Gray, ASCII, 7-segments).

- Exercises on the numerical systems and code conversion.

- Postulates and theorems of the Boolean algebra. Classification of logic circuits. Functionally complete sets of logic operators. Cost criteria. Two-level simplification through Karnaugh maps, cost minimization through algebraic manipulation of expressions (multi-level circuits). Exclusive OR and parity. Classic design methodology of combinational circuits. Hierarchic design. Code converters. Decoder, encoder, multiplexer. Limits of the classic design methodology for combinational circuits: use of standard MSI and LSI components: synthesis with con decoder and OR and through multiplexer. Arithmetic functions. One's and Two's complement representation. Binary adder and subtractor. Overflow.

- Exercises on combinational logic circuits.

- Sequential circuits. SR latch and D, master-slave SR and JK flip-flops, D, JK and T edge triggered flip flops. Mealy and Moore classification. Hints on asynchronous logic circuits and static hazards (glitch). Design methodology for synchronous logic circuits. State diagram and table, state coding and transition table, map of state and output variables, next state and output expressions, logic diagram. Synchronous circuits with synchronous and asynchronous inputs. Elementary modules for sequential elaboration: registers and counters. The SPI serial interface. Exercises on synchronous sequential circuits.

- Semiconductor memories. Architecture and classification (RAM, ROM, EPROM, E2PROM, Flash). ROMs and their architecture. Examples of programmable logic circuits: PLA. Synthesis of combinational logic circuits with PLA. Addressing methodologies for memories, address decoding.

- Exercises on memory address decoding.

2) Basic concepts on VHDL.

- structure of hardware description languages, general characteristics, entity declaration, constructs, automatic synthesis.

- design examples and exercises; homeworks.

3) Arduino laboratory.

Introduction to the use of basic electronic devices and of microcontrollers. Arduino Uno board hardware. Integrated Development Environment (IDE) and firmware structure. Setup () and loop () functions. Digital outputs and inputs. Pull-up nets; Arduino Uno functions for digital pin control: digitalRead (); digitalWrite (). Pulse Width Modulation (PWM); use of external transistors (MOSFET, BJT) to control power loads. ADC operation, successive approximation circuit, AREF pin. Arduino Uno functions for controlling the PWM outputs and for reading the ADC. Serial communication protocols (SPI and I2C). First laboratory exercises: PWM generation and waveform measurement with digital oscilloscope. Acquisition of an analog signal (DC voltage) and comparison with the value read by the digital multimeter. Conversion factor between integer returned by ADC and voltage; averages over time. Charge transient of a capacitor and graphic representation by serial plotter. Characteristic of the pn diode obtained by exploiting the PWM generator (variable voltage) and 2 analog inputs, one for voltage and one for current. Determination of the impulse response: case of the RC circuit; comparison with the theory. Use of transistors for the management of high currents; MOSFET and BJT with PWM on a resistive load. Driving inductive loads and free-wheeling diode: case of the relay. The bounce problem in mechanical switches: debouncing methods. Internal and external interruptions. Interruptions associated with external pins; interrupt mode: LOW, HIGH, CHANGE, RISING, FALLING. Outage Service Routine (ISR). The TC0 8-bit timer / counter: use of the timer, prescaler and control registers. Interrupt Mask and Interrupt Flag registers. Accurate time measurements; example: generation of an interrupt every 1 ms.
Obiettivi Agenda 2030 per lo sviluppo sostenibile *) Industry, innovation and infrastructures
*) High quality education