Servizi per la didattica
PORTALE DELLA DIDATTICA

Codesign methods and tools

01OBCOQ

A.A. 2019/20

Course Language

English

Course degree

Master of science-level of the Bologna process in Electronic Engineering - Torino

Course structure
Teaching Hours
Lezioni 30
Esercitazioni in aula 20
Esercitazioni in laboratorio 10
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Reyneri Leonardo Professore Ordinario ING-INF/01 30 20 10 0 9
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/01 6 B - Caratterizzanti Ingegneria elettronica
2019/20
Il corso e' erogato in lingua Inglese. Il corso è inserito all’interno della Laurea Magistrale in Ingegneria Elettronica e vuole fornire agli studenti la capacità di coprogettare un sistema embedded composto di sottosistemi HW, SW ed elettromeccanici strettamente interagenti, tramite un approccio di progettazione ad oggetti, incentrata sul linguaggio di descrizione funzionale UML. Il corso fornire agli studenti le conoscenze necessarie per codificare efficacemente un progetto in C, VHDL e/o tramite opportuni linguaggi di coprogettazione, quali CodeSimulink o SystemC.
The course is included in the Master of Science in Electrical Engineering and wants to give students the ability to co-design an embedded system consisting of hardware, software and electromechanical subsystems closely interacting, through an object-oriented design approach, focusing on functional description languages (examples given in UML). The course will provide students the necessary knowledge to effectively design a complete system, including electronic parts (electric schematics, design, simulation, optimization, PCB design), programmable logic (behavioral VHDL), software blocks (software design, encoding in C/C++, simulation, testing, integration), electromechanical parts (sensors, actuators, case, mutual interaction with electronic and SW parts) and all the relevant documentation (specifications, design, user, testing, certifications and disposal documentations).
Capacità di leggere un progetto descritto in UML. Capacità di leggere e navigare diagrammi dei casi d’uso, delle classi, di sequenza, dei requisiti. Capacità di progettare un sistema complesso tramite oggetti hardware, software, analogici o elettromeccanici interagenti. Capacità di descrivere le funzioni, i parametri e i dati di un sottosistema di qualunque natura tramite metodi e attributi di classi UML. Capacità di tradurre le specifiche in codifica C, VHDL, SPICE, CodeSimulink, SystemC. Capacità di descrivere un sistema HW/SW tramite Simulink e CodeSimulink. Capacità di partizionare un sistema ibrido complesso. Capacità di documentare, all’interno di un progetto, le specifiche, i requisiti, l’implementazione, il collaudo di un sistema elettronico o elettromeccanico complesso.
Ability to read a project described in UML or any other modeling or object-oriented language. Ability to read and navigate use case, class, sequence and requirement diagrams. Ability to design a complex system through interaction of hardware, software, analog or electromechanical objects. Ability to describe the functions, parameters and data of a subsystem of any kind through class parameters, attributes and methods. Ability to translate methods into specific encoding like C, VHDL, SPICE, CodeSimulink, SystemC. Ability to partition a complex hybrid system, describe all its parts, verify correct mutual interactions. Ability to document specifications, requirements, implementation and testing of an electronic or electromechanical complex.
Capacità di scrivere un semplice programma in C/C++. Capacità di scrivere un semplice circuito digitale in VHDL. Capacità di progettare un semplice circuito analogico. Conoscenza del codice binario, di alcuni semplici protocolli di comunicazione seriale e/o wireless. Capacità di compilare, linkare, eseguire un programma su un microprocessore o un PC.
Ability to write a simple program in C/C + +. Ability to develop a simple digital circuit in VHDL. Ability to design a simple analog circuit. Ability to analyse electical and electronic circuits. Knowledge of SPICE (preferred). Knowledge of the binary code, of some simple serial and / or wireless communication protocols. Ability to compile, link, run a program on a microprocessor or a PC.
Concetti preliminari (2 CFU) Introduzione al corso, definizione di sistema embedded, sue caratteristiche (efficienza, reattività, affidabilità). Sistemi ibridi: partizionamento HW/SW/analogico UML: casi d'uso, attori, oggetti e classi; servizi e metodi, parametri statici e dinamici, diagrammi di sequenza e collaborazionali. progetto di un alzacristalli elettrico: definizione degli oggetti e delle interfacce; caratteristiche, periodicità, risoluzione, tempo di reazione Interfacciamenti (2 CFU) Scrittura codice C e VHDL a partire dalle specifiche UML; accorgimenti per scrittura codice VHDL compilabile efficientemente Interfacce HW/SW: caratteristiche essenziali; conversione fra tempo-continuo e tempo-discreto, mappa di memoria Definizione di sistemi data- e control-dominated, linguaggi data-dominated, introduzione a CodeSimulink; principi e applicazioni, progetto di un orologio con CodeSimulink Interfacce fra canali asincroni e sincroni, periodici, continui e ad eventi; isocroni e a rate distinti Esempi e Progetti Svolti (2 CFU) Sistemi control-dominated, State Chart, e loro trasformazione in C e VHDL; nozioni di scheduling Scrittura di codice C e VHDL ad oggetti e loro documentazione Eventi e comunicazioni, atomicità e implementazioni; eventi nelle interfacce HW/SW
Preliminary Concepts: (1 CFU) Introduction to the course, the definition of embedded system, its characteristics (efficiency, responsiveness, reliability). Hybrid systems: partitioning, HW / SW / analog. Use cases, actors, objects and classes, services and methods, static and dynamic parameters, sequence and collaboration diagrams. A car power window project: definition of objects and external interfaces, features, frequency, resolution, response time Specifications and Partitioning (1CFU) Writing and analyzing specifications of complex systems. Partitioning and interfaces. Analyses of compatibility, sufficiency and necessity of subsystems. Testing and verification. A car power window project: partitioning; definition and specification of interfaces; assignment of tasks to team members. Interfacing: (0.5CFU) Designing I/O interfaces; selection of components and documentation; simulations; compliance (typical and worst cases) Interfaces HW / SW: essential features, conversion between time-continuous and discrete-time, memory map HW Implementation (1CFU) Designing schematics, simulation and PCB design State automata (1CFU) Definition of states and transitions; activities; events and guards. C and VHDL implementations. Car Power windows project: design of state automaton and implementation in C. SW implementation (0.5CFU) Writing SW drivers in C for microcontroller peripherals; writing code for operations; template classes and parameters; instance and classifier attributes. Integration and testing of case study (0.5CFU) Assembly of the PCB designed; testing; integration with SW; final testing Documentation (0.5CFU) Report generation
Introduzione all’uso di Visual Paradigm UML Scrittura di codice, compilazione e programmazione di un microprocessore a partire dall’UML. Introduzione all'uso di CodeSimulink and SystemC; progetto di un alzacristalli elettrico e altri progetti individuali
Theoretical lessons; interactive developments; individual exercises; homeworks; development of a case study (car power windows); final project.
Dispense del docente disponibili sul portale Qualunque libro di testo su UML; ad es. “UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)”, Martin Fowler, ISBN 978-0321193681 Documentazione del tool Visual Paradigm disponibile sul WEB (http://www.visual-paradigm.com/) Documentazione del tool CodeSimulinkdisponibile sul WEB (http://polimage.polito.it/groups/codesimulink.html) Documentazione del tool IAR disponibile sul WEB (http://www.iar.com/website1/1.0.1.0/3/1/) Videoregistrazioni del corso e materiale didattico e progettuale in UML disponibilie sul portale e sul server UML Gli studenti, divisi in gruppi, riceveranno e terranno per tutta la durata del corso una scheda di sviluppo Texas Instuments MSP430
Lecture notes available on the portal. Videorecording of lessons and didactical material in UML available on the portal and on the UML server. Any textbook on UML; e.g. “UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)”, Martin Fowler, ISBN 978-0321193681 Documentation of Visual Paradigm tools available on the WEB (http://www.visual-paradigm.com/) IAR documentation on tool available on Web (http://www.iar.com/website1/1.0.1.0/3/1/) The students, divided in groups will receive and keep for the whole course duration an MSP430 development board from Texas Instruments.
Modalità di esame: prova scritta; elaborato scritto individuale; progetto individuale;
Esame scritto di progettazione (tipicamente: date specifiche ad alto livello di un sistema, lo studente deve determinare l’architettura di sistema e di dettaglio, verificarne la completezza e scrivere il codice di qualche oggetto digitale, analogico o SW). In alternativa tesina individuale. Il voto terrà anche conto della valutazione dell’impegno profuso e dei documenti elaborati durante le esercitazioni.
Exam: written test; individual essay; individual project;
In alternative: - Exam: written test, individual essay (typically: given some high level specs, the student shall determine the system and detailed architectures, verify its completeness and to write the code for a few digital, analog or SW objects). - Alternatively a group essay. The vote will also take into account the evaluation of efforts and documents drawn up during homeworks and during the classes. Further information: Prova scritta: optional, durata 2h; possibility of using any type of material, calculator, free access to Internet, valutazione massima: 30L Altra prova: design activity with final report, in groups valutazione massima: 30L, Additional marks can be gained with the optional homework. Orale: NO


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
m@il