Modules | Area | Type | Hours | Teacher(s) | |
SISTEMI EMBEDDED | ING-INF/01 | LEZIONI | 90 |
|
Architettura dei sistemi embedded e principali tecniche di progetto. Organizzazione di un computer.
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.
Domande in forma orale mirate a verificare la comprensione e la padronanza degli argomenti trattati nel corso.
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:
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.
Mediante lo sviluppo di un progetto.
È suggerita la partecipazione attiva alle lezioni del corso.
Durante le lezioni sono poste domande per stimolare la discussione degli argomenti trattati nella lezione e proposti problemi da risolvere in modo autonomo.
Fondamenti di informatica. Linguaggio C. Elettronica digitale. Linguaggi di descrizione dell'hardware.
Partecipazione attiva alle lezioni e alle esercitazioni di laboratorio.
Delivery: face to face
Learning activities:
Attendance: Advised
Teaching methods:
Delivery: face to face
Attendance: Advised
Learning activities:
Teaching methods:
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.
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.
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.
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.
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.
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.