Ing Ind - Inf (Mag.)(ord. 270) - MI (476) ELECTRONICS ENGINEERING - INGEGNERIA ELETTRONICA
095942 - DIGITAL SYSTEMS DESIGN METHODOLOGIES
Ing Ind - Inf (Mag.)(ord. 270) - MI (481) COMPUTER SCIENCE AND ENGINEERING - INGEGNERIA INFORMATICA
095942 - DIGITAL SYSTEMS DESIGN METHODOLOGIES
095940 - DIGITAL SYSTEMS DESIGN METHODOLOGIES 2
Second emisemester of Digital Systems Design Methodologies. The whole course aims to present the design methodologies required to build complex digital systems.
The integration of tools and design methodologies will be addressed through a discussion of design for performance approaches, synthesis techniques starting from high-level specifications, IP modeling and complex system on chip integration, testing and verification of digital systems, system level modeling for complex digital systems and HW/SW co-design approaches. Two target technologies are addressed: application specific integrated circuits (ASICs) and field programmable gate arrays (FPGAs).
Risultati di apprendimento attesi
Knowledge and understanding
Students will learn how to:
- analyze and test a complex design;
- simulate and verify a complex design;
- model a complex embedded system;
- co-explore and co-design a complex hardware/software system.
Applying knowledge and understanding
Given specific problems, students will be able to:
- understand the complexity of hardware/software co-design;
- understand how to verify a complex system;
- understand possible bottlenecks a given design may have.
Given a relatively complex design, students will be able to:
- understand if the obtained performance is in line with the expected performances (area, delay, power, etc.);
- understand if the proposed design fits the functional requirements;
- understand where previous approaches are relevant or not for a given problem.
Students will learn to:
- present their work discussing pros and cons of the proposed solution.
- present critically the existing state of the art showing where it could be improved or where it is inconsistent;
Lifelong learning skills
Students will understand how a complex design, possibly interfaced with software, have to be analyzed, designed and assessed. They will play with real problems understanding where pitfall may come.
Testing of digital systems
Faults models and level of design abstractions. Testing at logic, functional and behavioral level of abstraction. Fault simulation algorithms. Automatic test pattern generation algorithms. Analysis and Design for Testability.
Verification of digital systems
Simulation based verification. Automatic test bench generation.
Equivalence checking. Tools for verification: Binary Decision Diagrams (BDD), Boolean Satisfiability applied to the verification problem.
Introduction to hw-security approaches
Introduction to Low-Power design
Specifications and modeling at system level
Introduction to the system level modeling
Level of modeling abstractions
Models of computation and communication
Performance estimation for heterogeneous systems
Design solutions and models: Pareto analysis
Multi-objective design exploration algorithms.
Partitioning, allocation, mapping and scheduling.
Communication mapping and HW/SW interface synthesis.
Some understanding of logic design methodologies, usually covered by the course “Reti Logiche”, is required.
Modalità di valutazione
The course corresponds to the second emisemester of Digital Systems Design Methodologies. The final exam is a written exam. It is possible to skip the written exam with a programming/modeling project.
The written exam is individual while the projects may be assigned up to two people.
The following text provides a detailed overview of the elements that will be considered in the various assessment activities.
Description of the existing solutions. Questions on the design of complex hardware systems. Numerical exercises assessing the quality of complex hardware/software systems. (Dublin descriptor 1,2,3,4,5)
Oral presentation of the programming/modeling project (optional)
Assessment of the presentation of the programming/modeling project developed as part of course activities developed by students either individually or in groups. (Dublin descriptor 1,2,3,4,5)
G. De Micheli, Synthesis and Optimization of Digital Circuits, Editore: Mc Graw-Hill International Editions, Anno edizione: 1994
M.Abramovici, M.A.Breuer, A.D.Friedman, Digital Systems Testing and Testable Design, Editore: Computer Science Press, Anno edizione: 1993
G.D Hatchel, F. Somenzi, Logic synthesis and verification algorithms, Editore: Kluwer Academic Publishers, Anno edizione: 1996
Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Anno edizione: 2011, ISBN: 978-0-557-70857-4 http://LeeSeshia.orgAdditional material is available on the Beep platform of Politecnico di Milano https://beep.metid.polimi.it Note:
access restricted to course participants
Tipo Forma Didattica
Ore di attività svolte in aula
Ore di studio autonome
Laboratorio Di Progetto
Informazioni in lingua inglese a supporto dell'internazionalizzazione
Insegnamento erogato in lingua
Disponibilità di materiale didattico/slides in lingua inglese
Disponibilità di libri di testo/bibliografia in lingua inglese
Possibilità di sostenere l'esame in lingua inglese
Disponibilità di supporto didattico in lingua inglese