Skip to main content
CODE 72345
ACADEMIC YEAR 2020/2021
CREDITS
SCIENTIFIC DISCIPLINARY SECTOR ING-INF/01
LANGUAGE Italian
TEACHING LOCATION
  • GENOVA
SEMESTER Annual
TEACHING MATERIALS AULAWEB

OVERVIEW

The course provides the foundations for digital system analisys and design. In the first part, we start from Boolean algebra and binary arithmetic, arriving to sequential networks design, using the Finite State Machines model and ASM diagrams. In the second part, the course introduces the microcomputers, with particular reference to "embedded" systems, machine language programming, interfacing with interrupt techniques and the microcomputer as system controller.

AIMS AND CONTENT

LEARNING OUTCOMES

Digital Design foundations: Boolean algebra, binary arithmetic, combinatorial and sequential networks. Finite State Machines. Programmable logic devices (FPGA), introduction to the languages for hardware description. Programmable systems (microcomputers): architecture, machine language programming, interfacing, controllers, embedded systems.

AIMS AND LEARNING OUTCOMES

Aim of the course is to provide the basics for the analisys and the design of digital systems. In the first part, after introducing Boolean algebra and binary arithmetic, the course covers the methods of analysis and design of combinational and sequential digital networks, using the technique of Finite State Machines model, with the help of the ASM diagrams.

 

In the second part, after having defined the elements of the architecture of a microcomputer, the course introduces the development of "embedded" systems, particularly with regard to machine language programming, interfacing with external devices, to the interrupt techniques and the use microcomputer as system controller.

The laboratory, integrated in the times and contents with the lessons, allows the student to apply the acquired knowledge to the simulation, design and prototyping of digital systems on "FPGA" cards. The teaching is in the direction of forming a professional figure capable of designing hardware and software devices.

TEACHING METHODS

The course consists of about 120 hours in the classroom, in which lectures and exercises are alternated as necessary. They are also provided for 25 laboratory sessions dedicated to the analysis, design, simulation and implementation of digital circuits. The laboratory exercises can be carried out remotely, with the site's support AulaWeb Course.

For the duration of the Coronavirus emergency, lectures and laboratory sessions will be held remotely, via the "Teams" platform.

SYLLABUS/CONTENT

Introduction to the course, information representation, Boolean functions and logic networks, Shannon expansion theorem, standard combinational circuits.

Minimization of Boolean functions, Karnaugh maps, hints of algorithmic methods.

Binary arithmetic, binary codes and operations, complements, conversions, major arithmetic-logical architectures, error detection codes, alphanumeric codes.

Introduction to sequential circuits, timing concepts, Flip-Flops (SR FF, FF D Latch, FF JK, D and E PET), registers, counters, sequential networks analysis.

Introduction to Finite State Machine (FSM) and ASM charts (status block, conditional block, conditioned outputs). Project examples and exercises, state assignment criteria, hint of asynchronous FSM.

Electronic devices and components, packaging, programmable devices (FPGA), overview of available devices, project examples.

Basic elements of a digital computer: Processing Unit, Memory, Input / Output Units (Von Neumann architecture). Bus based systems: addressing, data transfer and control signals. Solid-state memory devices: static read / write memories, read-only memories.

Architecture of microprocessors: registers, calculating unit, sequencer. Programs and instructions: fetch, decode, execute phases. Machine language. Mnemonic format of instructions and assembly language. Example of execution of a generic instruction. Timings. Distinction between CISC and RISC processors.

Introduction to assembly programming. Language syntax. Comparison to the high-level languages. Addressing modes. Instruction set and their functional classification. Data transfer instructions. Arithmetic and logical instructions. Jump instructions. The stack structure, call and return instructions, subroutines. Control instructions and "hidden" instructions.

Hardware design of a microprocessor system. Clock generator, reset circuits, address decoder. Memory banks design. 

Input/Output evices. Basic techniques of parallel and serial interfacing. Handshake between devices. Introduction to programmable input / output devices. Interrupt techniques. Management of device recognition and priority. The interrupt controller.

The microcomputer as a controller of a digital system. Introduction to "embedded" systems. Introduction to RISC microprocessors.

RECOMMENDED READING/BIBLIOGRAPHY

The first part of the course is covered by the book "Introduction to digital system design", Springer, 2019

The second part is covered by the book "Introduzione al progetto di sistemi a microprocessore", Springer, 2020 (English version attended for March 2021)

TEACHERS AND EXAM BOARD

Exam Board

GIULIANO DONZELLINI (President)

DAVIDE ANGUITA

PAOLO GASTALDO

RODOLFO ZUNINO

CHRISTIAN GIANOGLIO (President Substitute)

LUCA ONETO (President Substitute)

EDOARDO RAGUSA (President Substitute)

LESSONS

EXAMS

EXAM DESCRIPTION

Modified procedures following the Covid emergency:

Written tests (first and second "partial test") are suspended and will not be carried out either face to face or remotely. The exam of the course consists of two oral tests separated and integrated by a project exercise that will be carried out and commented to the teachers of the commission. The first 'integrated' oral exam focuses on the topics of the first semester, the second 'integrated' oral test focuses on the topics of the second semester.

Previous procedures, currently suspended following the Covid emergency:

The examination of the course consists of two written exams (partial tests) and an oral examination. In the same appeal you can execute one or both partial written tests. The first partial test involves the design of a digital system controlled by MSF (topics of the first part of the course). The second partial test focuses on the design of a system based on a microcomputer (topics of the second part of the course). Both tests must be carried out without the use of computers.

ASSESSMENT METHODS

Modified procedures following the Covid emergency:

The two oral tests will be held remotely, through the Teams platform, by reservation. The teachers will inform the students on how to book through the AulaWeb page of the course. Each 'integrated' oral exam will be evaluated out of thirty. The final grade will be assigned at the end of the second oral exam and evaluated as the average of the two scores reported (approximated to the higher integer).

Previous procedures, currently suspended following the Covid emergency:

The time available to perform a partial written test is 1h 30'. To each of the partial tests can be added one "bonus" point, if carried out and delivered only once. It is permitted to retire from the partial written exam, keeping the bonus. The final grade will be 'calculated as follows:

Max 13 points for the first partial test
Max 13 points for the second partial test
± 5 points for the oral examination
+ 2 Total bonus point.

The oral exam is mandatory. To take the oral test and the student must have executed both partial tests, reporting a total score (excluding bonus) of at least 13, with a minimum of 5 points for each test.

Exam schedule

Data appello Orario Luogo Degree type Note
11/01/2021 09:30 GENOVA I Scritto Parziale
11/01/2021 11:00 GENOVA II Scritto Parziale
08/02/2021 09:30 GENOVA I Scritto Parziale
08/02/2021 11:00 GENOVA II Scritto Parziale
17/06/2021 09:30 GENOVA I Scritto Parziale
17/06/2021 11:00 GENOVA II Scritto Parziale
12/07/2021 09:30 GENOVA I Scritto Parziale
12/07/2021 11:00 GENOVA II Scritto Parziale
06/09/2021 09:30 GENOVA I Scritto Parziale
06/09/2021 11:00 GENOVA II Scritto Parziale