Unit LOGIC DESIGN FUNDAMENTALS AND MICROCONTROLLERS WITH LABORATORY
- Course
- Computer science and electronic engineering
- Study-unit Code
- 70A00078
- Curriculum
- Ingegneria informatica
- Teacher
- Andrea Scorzoni
- Teachers
-
- Andrea Scorzoni
- Hours
- 114 ore - Andrea Scorzoni
- CFU
- 9
- Course Regulation
- Coorte 2016
- Offered
- 2018/19
- Learning activities
- Caratterizzante
- Area
- Ingegneria elettronica
- Sector
- ING-INF/01
- Type of study-unit
- Obbligatorio (Required)
- Type of learning activities
- Attività formativa monodisciplinare
- Language of instruction
- Italian
- Contents
- 9 CFU class.
Unit #1. Logic design fundamentals: numerical systems, codes, Boolean algebra, analysis and synthesis of combinational circuits, arithmetic functions. Analysis and synthesis of sequential circuits. Introduction to the use of the microcontroller.
Unit #2. Laboratory exercises on microcontroller-based digital electronics and Mbed OS real time operating system.
12 CFU class.
In addition to Units #1 and #2,
Unit #3: digital electronics with particular focus on CMOS circuits. - 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/
UNIT #3: Angelo Geraci, Principi di elettronica dei sistemi digitali, McGraw-Hill http://www.ilovebooks.it/principi-elettronica-p-1652.html (only printed on special order)
ADDITIONAL TEXTBOOKS:
UNIT #1 e #3: 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.
UNIT #3: R. C. Jaeger, Elettronica Digitale (ex Microelettronica), Mc Graw-Hill.
UNIT #3: B Riccò, F. Fantini, P. Brambilla, Introduzione ai circuiti integrati digitali, Zanichelli-Telettra.
UNIT #3: E. Taub, D. Schilling, Elettronica integrata digitale, Gruppo Editoriale Jackson.
FOR IN-DEPTH ANALYSIS on UNIT #3:
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; acquaintance with basic elements the Mbed OS operating system and of the of the C++ language applied to microcontrollers. 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 “glue-logic” and microcontroller-based digital circuits, both at logic and circuit level; ability to use CAD applications for digital systems.
12 CFU class. Please add:
Methodological knowledge: basic knowledge of the electronics of basic digital circuits;
ability to choose a logical circuit to be exploited in a digital system.
Professional skills: basic knowledge on the main parameters found in the data sheets of digital integrated components; ability to find a solution for interfacing logical circuits. - 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”. The students choosing the 12 CFU course are required to acquire the basic issues taught in “Technologies and electronic devices with laboratory”.
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;
- laboratory activity dedicated to microcontroller programming in C++ language. During each lecture the students are distributed over 10 lab benches equipped with personal computers and laboratory instrumentation. The students will attend about 8 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
- In order to obtain a good comprehension on the laboratory instrumentation, also the students of the curriculum on Computer Science are kindly suggested to attend the class of “Electronic Measurements” dedicated to the measurement instrumentation.
- Learning verification modality
- 9 CFU class.
The exam consists of a written assignment, max. score =32 max allowed time 100 min. Le classwork is made of 4 sections on the program of the Instructional Unit #1 (Computer Design fundamentals)
* The first exercise (max score=2) is based on 2’s complement
* The second exercise (max score=10) asks the student to design the selection (or docoding) logical circuit of a memory system.
* The third exercise (max score=10) concerns the design a simple synchronous state machine.
* Then an open ended question follows (max score=10), on the fundamentals of the Boolean algebra and of the combinational and sequential logic circuits.
The students who did not produce at least the 75% of the lab classworks will be asked to prepare a 2 CFU project work where they will be asked to demonstrate to have acquired a basic knowledge on MbedOS and the use of lab instrumentation. The score is on/off.
The final score can only be registered provided the lab exam is passed.
12 CFU class.
In addition to the 9 CFU written assignment, the student will undergo an oral exam mainly composed of open ended questions on unit #3 (max score=30).
The total mark of the 12 CFU exam is calculated as the weighted average of the marks of the written assignment and that of the oral exam. The weigths are calculated as follows: the written assignment weights 7 CFU, the oral test on electronics weights 3 CFU (while the lab assignments are on/off only). Therefore the final score is calculated as follows:
[(Logic Design score)*7+(oral test score)*3]/10
The student can undergo the oral test even immediately after the written assignment and in any case by registering to oral exams within the same examination session - Extended program
- 9 CFU class.
Unit #1 (7 CFU, about 63 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, noise margins, dynamic characterization - in terms of transition and propagation delays- static and dynamic power dissipation)
- Positional representation of numbers (decimal and binary systems). Octal and hexadecimal systems. Conversion among numerical systems. Arithmetic operations. Binary and alphanumerical codes. 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. 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).
Unit #2: Introduction to the use of electronic devices and of the microcontroller (2 lab CFU, about 24 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;
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;
12 CFU class.
In addition to Units #1 and #2,
Unit #3: Digital electronics (3 CFU, about 27 hours)
- Circuits for the elaboration of digital signals: operating principles and figures of merit. Static characteristics: logic levels and electric levels, input static characteristics (and protection diodes) and output static characteristics, trans-characteristic, noise margins. Dynamic characterization: propagation delay time and transition time. Static and dynamic power consumption. Power delay product.
- The MOS transistor: static operating principles. Approximate equations for the channel current. Analysis of main non-idealities: modulation of channel length, body effect. Dynamic behavior: capacities associated to the MOS transistor.
- nMOS and CMOS inverters. Static CMOS gates, pass-transistor and related gates, transmission gate. CMOS logic families. Hints on bipolar logic families, on the input and output stages of TTL and on BiCMOS. Interfacing between different digital families.
- Busses: open collector, open drain and tri-state.
- Examples of volatile and not volatile semiconductor memory cells: RAM, ROM (FLASH).