Co-Projecto de Hardware e Software
0
2022-2023
02035237
Computadores
Português
Inglês
Presencial
6.0
Opcional
2º Ciclo - Mestrado
Conhecimentos de Base Recomendados
Laboratório de Sistemas Digitais, Sistemas de Microprocessadores, Programação de Computadores, e Projecto de Sistemas Digitais
Métodos de Ensino
Aulas teórico-práticas essencialmente com exposição detalhada, recorrendo a meios audiovisuais, dos conceitos, princípios e teorias fundamentais e com a resolução pontual de exercícios práticos elementares que concretizem o interesse prático da matéria e exemplifiquem a sua aplicação a situações reais.
Aulas laboratoriais, onde se realizam trabalhos laboratoriais de complexidade crescente, os primeiros com um enunciado mais do tipo tutorial, mas depois incentivando um trabalho mais autónomo, e o trabalho final é já um mini-project completo.
Resultados de Aprendizagem
O objetivo principal é fornecer conceitos fundamentais e tecnicas para a execução correta do co-projecto moderno de hardware/software (H/S). No final os alunos serão capazes de ter uma visão integrada e ser capazes de explorar o espaço de soluções completo que as tecnologias actuais oferencem para sistemas digitais, e que se vão tornar mais prevalentes no futuro próximo devido ao abrandamento da Lei de Moore, que leva a um foco renovado no design e optimização. Partindo de uma solução de software, devem ser capazes de analisar a performance e acelerar partes críticas em hardware, bem como particionar H/S para um determinado problema, e também usar descrições de alto nível, para permitir desenvolvimento concorrente de H/S e optimizações no particionamento.
Os objectivos e trabalho desenvolvido levam à aquisição de competências em análise e síntese, comunicação escrita, resolução de problemas, raciocínio crítico, aprendizagem autónoma, e aplicação prática de conhecimentos teóricos.
Estágio(s)
NãoPrograma
Começa-se por diferenciar entre processadores de uso geral e processadores dedicados, seguindo para a fronteira H/S e interfaces, e como soft-cores e aceleradores de hardware podem ser utilizados para ter sistemas com melhor performance. É dada uma visão ampla e abrangente sobre as soluções de computação digital, concentrando-se no co-projecto de hardware e software com a seguinte estrutura de tópicos:
- Conceitos básicos: A Natureza do Hardware e Software; Modelos de Data Flow e Transformação; Implementação de Fluxo de Dados em H/S; Análise de Fluxo de Controle e Fluxo de Dados
- O Espaço de Projecto de Arquiteturas Dedicadas: Máquina de Estados Finitos com Caminho de Dados; Arquiteturas microprogramada; Aceleradores de Hardware; Processadores genéricos Soft Cores parametrizáveis; System on Chip.
- Interfaces de H/S: Princípios Comunicação H/S; On-Chip Busses (barramentos de dados); Interfaces com Microprocessadores; Interfaces de hardware.
- High level synthesis para co-projecto H/S
Docente(s) responsável(eis)
Jorge Nuno de Almeida e Sousa Almada Lobo
Métodos de Avaliação
Avaliação
Trabalho laboratorial ou de campo: 20.0%
Exame: 40.0%
Projecto: 40.0%
Bibliografia
Bibliografia principal / key bibliography
• P. Schaumont (2013), A practical Introduction to Hardware/Software Codesign, Springer 2013
• Vahid/Givargis (2002), Embedded Systems Design: A Unified Hardware/Software Introduction
• Altera NIOS II tutorials and documentation
• Altera DE1-SoC tutorials and documentation