View syllabus
EMBEDDED SYSTEMS
FEDERICO BARONTI
Academic year2023/24
CourseELECTRONIC ENGINEERING
Code311II
Credits9
PeriodSemester 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
SISTEMI EMBEDDEDING-INF/01LEZIONI90
FEDERICO BARONTI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Architettura dei sistemi embedded e principali tecniche di progetto. Organizzazione di un computer. 

Knowledge

The student who successfully completes the course: will master an advanced knowledge of the design of embedded systems realized as a programmable CPU, hardware coprocessors and peripheral interfaces to/from actuators/sensors; will be aware of the different design choices and metrics; will be able to explore the designs space and find the most appropriate solution given the specifications to be fulfilled; will have the ability to master the most advanced tools for the design and verification of the hardware and the software parts of the embedded system.

Modalità di verifica delle conoscenze

Domande in forma orale mirate a verificare la comprensione e la padronanza degli argomenti trattati nel corso.

Assessment criteria of knowledge

The student must demonstrate the ability to put into practice and to execute, with critical awareness, the design of an embedded system consisting of a computer and interfaces on a programmable device (System on a Programmable Chip - SoPC). The design includes the definition of the specification, the hardware/software partitioning, the realization of the computing hardware, the realization of the high-level software and the practical realization of a demonstrator, described in a written report.

Methods:

  • Final oral exam
  • Final laboratory practical demonstration
  • Written report

 

Capacità

Progettare un sistema embedded, sia per gli aspetti hardware che software. Padronanza dell'uso di tool commerciali per lo sviluppo di un sistema embedded su piattaforma FPGA.

Modalità di verifica delle capacità

Mediante lo sviluppo di un progetto.

Comportamenti

È suggerita la partecipazione attiva alle lezioni del corso.

Modalità di verifica dei comportamenti

Durante le lezioni sono poste domande per stimolare la discussione degli argomenti trattati nella lezione e proposti problemi da risolvere in modo autonomo.

Prerequisiti (conoscenze iniziali)

Fondamenti di informatica. Linguaggio C. Elettronica digitale. Linguaggi di descrizione dell'hardware.

Indicazioni metodologiche

Partecipazione attiva alle lezioni e alle esercitazioni di laboratorio. 

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • preparation of oral/written report
  • individual study
  • Laboratory work

Attendance: Advised

Teaching methods:

  • Lectures
  • laboratory
  • project work

Delivery: face to face

Attendance: Advised

Learning activities:

  • attending lectures
  • preparation of oral/written report
  • individual study
  • Laboratory work

 

Teaching methods:

  • Lectures
  • laboratory
  • project work

 

Programma (contenuti dell'insegnamento)

SISTEMA EMBEDDED. Definizione. Prinicipale tecniche di progetto. Flusso di progetto di un System on a Programmable Chip (SoPC).

ORGANIZZAZIONE DI UN COMPUTER. Blocchi principali. Istruction Set RISC/CISC. Benchmarking. Registri del processore. Implemetazione hardware delle istruzioni. Data Path. Periferiche. Stack. Meccanismo di Interruzione. Organizzazione della memoria. DMA. Cache. Pipelining. Superscalar processor.

LINGUAGGIO C. Pre-processore C. Tipi interi di lunghezza fissata. Visibilità e classi di memorizzazione. Richiami costrutti principali.

SoPC su Piattorgra Intel FPGA. Processore Nios II. System Interconnect Fabric. Interfacce di connessione disponibili: memory-mapped, streaming, ecc. Tool Quartus/Qsys/SBT per lo sviluppo hardware/sotware del sistema embedded. Introduzione di periferiche custom.

PROGETTO DI GRUPPO. Sviluppo di un sistema embedded: progetto del computer ottimizzato per i requisiti dell'applicazione e sviluppo del software.

 

 

Syllabus

EMBEDDED SYSTEMS ORGANIZATION. Embedded system definition. RISC processors computer architecture. Memory organization and pipeline. Cache memories. Peripherals. DESIGN TECHNIQUES AND METRICS. Embedded system hardware-software codesign. Design space exploration. Comparative evaluation of discrete CPU, CPU integrated on programmable logic, dedicated ASIC. SYSTEM ON A PROGRAMMABLE CHIP (SOPC). NIOS II architecture. Parallel port, interval timer, JTAG UART interfaces. The Avalon system interconnect fabric. The SoPC builder tools for the hardware design of the embedded system. SOFTWARE PROGRAMMING. Recalls on C language. Layered software organization: device drivers, hardware abstraction layer, C standard libraries. Interrupt handling and code optimization.

EMBEDDED SYSTEMS ORGANIZATION. Embedded system definition. RISC processors computer architecture. Memory organization and pipeline. Cache memories. Peripherals. DESIGN TECHNIQUES AND METRICS. Embedded system hardware-software codesign. Design space exploration. Comparative evaluation of discrete CPU, CPU integrated on programmable logic, dedicated ASIC. SYSTEM ON A PROGRAMMABLE CHIP (SOPC). NIOS II architecture. Parallel port, interval timer, JTAG UART interfaces. The Avalon system interconnect fabric. The SoPC builder tools for the hardware design of the embedded system. SOFTWARE PROGRAMMING. Recalls on C language. Layered software organization: device drivers, hardware abstraction layer, C standard libraries. Interrupt handling and code optimization.

Bibliografia e materiale didattico

Lucidi e altro materiale didattico disponibile sul portale e-learning della Scuola di Ingegneria dell'Università di Pisa. 

Testo di riferimento:

C.Hamacher , Z.Vranesic, S.Zaky, N.Manjikian, Computer Organization and Embedded Systems, 6th Ed. Mc Graw-Hill. Altera documentation (www.altera.com): Nios II Processor Reference Handbook, Embedded Peripherals IP User Guide, Nios II Software Developer's Handbook, Avalon Interface Specification.

Bibliography

Recommended reading includes the following works: C.Hamacher , Z.Vranesic, S.Zaky, N.Manjikian, Computer Organization and Embedded Systems, 6th Ed. Mc Graw-Hill. Altera documentation (www.altera.com): Nios II Processor Reference Handbook, Embedded Peripherals IP User Guide, Nios II Software Developer's Handbook, Avalon Interface Specification.

Recommended reading includes the following works: C.Hamacher , Z.Vranesic, S.Zaky, N.Manjikian, Computer Organization and Embedded Systems, 6th Ed. Mc Graw-Hill. Altera documentation (www.altera.com): Nios II Processor Reference Handbook, Embedded Peripherals IP User Guide, Nios II Software Developer's Handbook, Avalon Interface Specification.

Indicazioni per non frequentanti

Gli argomenti trattati nelle varie lezioni del corso sono disponibili nel registro delle lezioni consultabile su UNIMAP. Il materiale didattico è disponibile sul portale e-learning della Scuola di Ingegneria dell’Università di Pisa. Possibilità di usufruire del ricevimento per il chiarimento di eventuali dubbi, che possono emergere durante lo studio della materia.

Modalità d'esame

Prova orale nella quale viene discusso il progetto svolto e verificata la conoscenza e la capacità di esporre con linguaggio appropriato gli argomenti del corso.

Prima dell'orale è prevista una sessione di dimostrazione del progetto.

Updated: 31/07/2023 11:31