|OFICIAL||Electrical and Computer Engineering|
|Responsible unit:||Department of Electrical and Computer Engineering|
|Course/CS Responsible:||Doctoral Program in Electrical and Computer Engineering|
|Acronym||No. of Students||Study Plan||Curricular Years||Credits UCN||Credits ECTS||Contact hours||Total Time|
|PDEEC||3||Syllabus since 2015/16||1||-||7,5||70||202,5|
Learn the processes, methodologies, techniques and best practices associated to the development of digital integrated systems, combining software components running in one or more conventional CPUs with custom designed hardware blocks for accelerating the critical parts of an application.
Acquire the capability to analyze and evaluate the performance of a real-life computing application and to conceive and develop a hardware/software system capable of improving its performance, while running on a conventional computing system.
After this course the students should be able to:
1. analyse and evaluate the potential increase in performance of a computing application, using heterogeneous application specific computing cores;
2. conceive and develop custom computing cores by applying high-level synthesis based digital design methodologies;
3. exploit conveniently the optimizations performed by high-level synthesis tools;
4. develop and apply high-level design verification processes to combined hardware/software systems
5. explore efficiently the hardware/software solution space for a real application, targeting a reconfigurable digital technology (FPGA)
Practice with digital design using hardware description languages (Verilog/VHDL) and RTL synthesis;
Practice with the design methodologies and tools for digital reconfigurable systems (FPGA).
Heterogeneous multi-core system design:
1. Systems-on-Chip (SoC) and reconfigurable platforms
2. General purpose and application-specific cores
3. Customizable embedded processors
4. Performance-driven partitioning
5. Interprocessor communication infrastructures
6. Industrial design flows: methodologies and tools
System level modelling, verification and synthesis:
1. Electronic system level (ESL) design methodologies
2. Unified hardware/software verification
3. High-level synthesis of digital systems
4. Micro-architecture design
Mapping Techniques for Hardware/Software Systems:
1. From Software to Application-Specific Architectures;
2. Hardware/Software Partitioning;
3. Compiler Optimizations and Loop Transformations
4. Design Space Exploration Techniques
Besides the referred books, additional study materials are the reference manuals of the synthesis and design tools and a set of selected scientific papers to support the development of the individual work.
The course is organised in weekly classes with the students, with 3h duration. These sessions include lectures, presentations by the students about themes developed during the study and analysis of a scientific paper and presentation and discussion of the practical projects.
The work developed by the students is divided into the analysis and discussion of a set of scientific papers (one per student) focused in selected course topics, and in the development and presentation of a project focused on designing a hardware/software system, which the custom hardware components will be designed using high-level synthesis. This course organisation fosters the self study and the active involvement of the students while preparing presentations on selected subjects of the course programme.
The lectures address the remaining course topics and are adjusted, either in the contents and deepness, to the background of the students in this domain.
|Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese||20,00|
|Elaboração de projeto||60,00|
|Frequência das aulas||42,00|
|Trabalho de investigação||27,00|
P = analysis and presentation of a paper
L = laboratory project
I = individual assessment
Final grade = 0.4 P + 0.4 L + 0.2 I