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
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).
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).
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.
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.
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.
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.
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
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
Theoretical lessons; interactive developments; individual exercises; homeworks; development of a case study (car power windows); final project.
Theoretical lessons; interactive developments; individual exercises; homeworks; development of a case study (car power windows); final project.
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.
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;
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
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