Unit LOGIC DESIGN FUNDAMENTALS AND MICROCONTROLLERS WITH LABORATORY

Course
Computer science and electronic engineering
Study-unit Code
70A00078
Curriculum
In all curricula
Teacher
Federico Alimenti
Teachers
  • Federico Alimenti
  • Pisana Placidi (Codocenza)
Hours
  • 87 ore - Federico Alimenti
  • 27 ore (Codocenza) - Pisana Placidi
CFU
9
Course Regulation
Coorte 2019
Offered
2021/22
Learning activities
Caratterizzante
Area
Ingegneria elettronica
Academic discipline
ING-INF/01
Type of study-unit
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Italian
Contents
9 CFU class.

Unit #1. 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. Introduction to the microcontroller.
12 CFU class.

In addition to Unit #1,
Unit #2: Laboratory exercises on microcontroller-based digital electronics and Mbed OS real time operating system.
Reference texts
RECOMMENDED TEXTBOOKS:
For all units: Lecture Notes by Andrea Scorzoni (see Unistudium, with password).
UNIT #1: M.Morris Mano, C.R. Kime, Reti Logiche (4th or 5th ed.), Pearson-Prentice Hall.
UNIT #1: M.Morris Mano, C.R. Kime, Reti Logiche (2nd ed.), Pearson-Prentice Hall (as an alternative).
UNIT #2: STM32F401RE data sheet, to be browsed in:http://www.st.com/


ADDITIONAL TEXTBOOKS:
UNIT #1: Angelo Geraci, Principi di elettronica dei sistemi digitali, McGraw-Hill http://www.ilovebooks.it/principi-elettronica-p-1652.html (only printed on special order)
UNIT #1: J.F. Wakerly, Digital design: principles and practices, Prentice-Hall International Editions.
UNIT #1: R. Laschi, Reti Logiche, Progetto Leonardo (Bologna).
UNIT #1: F. Fummi, M.G.Sami, C. Silvano, Progettazione digitale 2° ed., Mc Graw Hill Italia.
UNIT #2: B. Stroustrup, C++ Guida essenziale per programmatori, Pearson e Hoepli.it, Italia 2014.
UNIT #2: B. Stroustrup, Programming: Principles and Practice Using C+, 2014, Pearson.
UNIT #2: B.W. Kernighan, D.M. Ritchie, Il linguaggio C (2a ed.), Pearson-Prentice Hall.

FOR IN-DEPTH ANALYSIS:
R. C. Jaeger, Elettronica Digitale (ex Microelettronica), Mc Graw-Hill.
B Riccò, F. Fantini, P. Brambilla, Introduzione ai circuiti integrati digitali, Zanichelli-Telettra.
E. Taub, D. Schilling, Elettronica integrata digitale, Gruppo Editoriale Jackson.
J. Rabaey, A. Chandrakasan, B. Nicolic, Digital Integrated Circuits: A Design Perspective, 2017, Pearson-Prentice Hall.
P. Spirito, Elettronica Digitale 3/ed, Mc Graw-Hill Italia.
Zappa, Elettronica Digitale, Esculapio, 2014.
M. Olivieri, Elementi di progettazione dei sistemi VLSI, Vol.1, EdiSES Napoli.
D.A. Hodges, H.G. Jackson, Analysis and design of digital integrated circuits, McGraw-Hill International Editions.
P. Cappelletti, C. Golla, P. Olivo, E. Zanoni, Flash Memories, Kluver Academic Publishers.
Educational objectives
9 CFU class.
Methodological knowledge: elementary knowledge of basic combinational and sequential logic circuits, of the logic circuit design procedure, of the microcontroller and of some programmable logic devices; use of the basic knowledge acquired in this course for continuing education in the field of electronic digital systems.

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


12 CFU class. Please add:
Professional skills: acquaintance with basic elements the Mbed OS operating system and of the of the C++ language applied to microcontrollers.
Prerequisites
To undergo the final exam of the class you do not need formal pre-requirements. However, the student is required to have assimilated all the basic issues taught in “Computer Science Basis and lab”, “Circuit Theory” and “Computer architecture and operating systems”.
Students attending the laboratory should have taken the course on safety in working places.
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.
12 CFU class. Please add:
- laboratory activity dedicated to microcontroller programming in C++ language. We foresee that during each laboratory lecture the students are distributed over 10 lab benches equipped with personal computers and laboratory instrumentation. The students will attend about 11 guided lab classes, 3 hours each. Most of the lab classes will be concluded with a team-classwork: each team will be asked to describe the lab work, both in text form and graphically. In order to obtain a “pass” on the lab classes, each student should have produced at least the 75% of the lab classworks. At the end of the guided lab lectures the students willing to perform further individual laboratory work will be asked to arrange an appointment with the educator.
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
9 CFU class.

The exam consists of a written assignment, max. score = 32/30max allowed time 100 min. Le classwork is normally made of 4 sections on the program of the Instructional Unit #1 (Computer Design fundamentals)
1) The first exercise (max score=2) is based on 2’s complement
2) The second exercise (max score=10) asks the student to design the selection (or docoding) logical circuit of a memory system.
3) The third exercise (max score=10) concerns the design 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.
* Then a single open ended question follows (max score=10), on the fundamentals of the Boolean algebra and of the combinational and sequential logic circuits.
During the Academic Year 2020-21 students are required to answer this question during an oral exam (which is mandatory in the new Educational Guidelines due to Covid-19).

12 CFU class.
* The positive evaluation of the lab assignments requires the students attend at least 75% (60% in 2020-21 due to pandemia and consequent restrictions) of the labs and produce at least the pertaining team lab classworks. Therefore the final score is the same of the 9 CFU exam and will be recorded only after attaining the green light on the laboratory attendance.
* The students who did not attend at least 75% (60%) of the labs and did not produce at least the 75% (60%) of the lab classworks will be asked to prepare a 3 CFU project work where they will be asked to demonstrate to have acquired a basic knowledge on MbedOS and the use of lab instrumentation. It is possible to prepare the lab project after the 9 CFU exam.
The final score can only be registered provided the lab exam is passed.
Extended program
9 CFU class.

Unit #1 (9 CFU, about 81 h) Logic Design Fundamentals and introduction to the microcontroller.
- Introduction to digital electronic systems: operating principles and application fields. Models for the study of digital systems.
- Figures of merit of digital systems (logic levels based on input-output static function, input and output static characteristics, noise margins, dynamic characterization - in terms of transition and propagation delays- static and dynamic power dissipation, bypass capacitor, protection diodes)
- 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. Hints at a hardware description language (VHDL).
- 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.
- Introduction on the architecture and operating principles of a microcontroller featuring an ARM Cortex M4 core (ARM v.7M).

12 CFU class.
Unit #2: Introduction to the use of basic electronic devices and of the microcontroller (3 lab CFU, about 33 hours). Laboratory practice with the Mbed OS operating system and the C++ language, free software and development boards based on the ARM Cortex M4 core (ARM v.7M.).
1. Getting acquainted with laboratory instrumentation: breadboard, voltage divider, oscilloscope, function generator, voltage generator, multimeter, pn junction diode and LED;
2. Multiplexer with 74HC00, LED as a load, current amplification through a bipolar transistor;
3. First experience with NUCLEO boards and GPIO: switching a LED on and off;
4. Serial communication through UART and interaction with a personal computer;
5. timer; A/D conversion of the position of a potentiometer;
6. SWO, SWD, Real time operating system, thread, tuple, callback and sample programs
7. Mbed-events library, EventQueue, eventflag, external interrupt;
8. PWM: first experiences, LED dimming, driving a DC motor.
Condividi su