Co-Projeto de Hardware e Software

Ano
0
Ano lectivo
2022-2023
Código
02035237
Área Científica
Computadores
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
Créditos ECTS
6.0
Tipo
Opcional
Nível
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ão

Programa

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%
Projecto: 40.0%
Exame: 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