Computação Reconfigurável › 43309
código no paco
43309
área científica
Informática / Arquitetura dos Sistemas Computacionais
créditos
6
escolaridade
ensino teórico (T) - 2 horas
ensino prático e laboratorial (PL) - 2 horas
idioma(s) de lecionação
a inserir brevemente
responsável
objectivos

Os objectivos da disciplina Computação Reconfigurável consistem em introduzir a tecnologia de desenvolvimento de sistemas digitais reprogramáveis estática e dinamicamente para estender capacidades de computadores de uso geral, construir sistemas digitais de uso específico (orientados aos problemas), aumentar o desempenho de software (do ponto de vista do tempo de execução) e perceber como projectar system-on-chip e network-on-chip.

competências

Pré-requisitos: Matemática discreta; Sistemas Electrónicos; Sistemas Digitais; Programação I, II, III; Arquitectura de computadores; Sistemas de operação. As competências incluem:
a) desenvolvimento de aceleradores de software para sistemas computacionais de uso geral;
b) experiência no desenvolvimento de sistemas digitais utilizando linguagens de descrição de hardware, tais como a linguagem VHDL;
c) desenvolvimento de sistemas computacionais reconfiguráveis utilizando sistemas CAD (Computer Aided Design);
d) projecto de sistemas reconfiguráveis cujo funcionamento pode ser alterado estática e dinamicamente;
e) conhecimentos gerais do paradigma de programação para projectar hardware com linguagens de especificação ao nível do sistema. 

conteúdos
- Aulas teóricas:
 • Introdução aos sistemas reconfiguráveis. Computação reconfigurável. História e futuro de sistemas reconfiguráveis. Vantagens da computação reconfigurável. Reconfiguração dinâmica. Aceleração de solução de problemas para computadores de uso geral com a ajuda coprocessadores reconfiguráveis.
 • Sistemas reprogramáveis estática e dinamicamente. Introdução aos sistemas virtuais. Métodos e ferramentas utilizados para desenvolvimento de sistemas digitais reconfiguráveis. CPLDs (Complex Programmable Logic Devices) and FPGAs (Field Programmable Gate Arrays). Atquitecturas básicas. Prototipagem.
 • Sistemas de projecto assistido por computador (CAD Systems – Computer-Aided Design Systems) orientados a FPGAs.
 • Famílias de FPGAs da Xilinx. Xilinx ISE (Integrated Software Environment).
 • Linguagens de especificação ao nível de hardware. Modelação e síntese de hardware. VHDL – Very High Speed Integrated Circuit Hardware Description Language. Conhecimentos gerais sobre as linguagens de especificação ao nível de sistema tais como Handel-C e SystemC.
 • Interacção de FPGAs com dispositivos periféricos tais como LEDs, interruptores, botões, LCDs – Liquid Cristal Displays, monitor VGA, teclado, etc.
 • Utilização de métodos seguintes: modularidade e hierarquia; desenvolvimento de sistemas com base em abordagem top-down, bottom-up, e numa mistura destas; etc. Modelação e simulação de sistemas digitais. Modelação de sistemas digitais em linguagens de alto nível.
 • Métodos computacionais para sistemas reconfiguráveis. Utilização de templates. Tecnologias de reconfiguração. Unidades de controlo reprogramáveis. Grafos de algoritmos. Máquinas de estados finitos (MEF) reprogramáveis. MEF hierárquicas reprogramáveis. MEF paralelas.
 • Hierarquia, modularidade e recursividade. Implementação de algoritmos recursivos e iterativos. Resolução de problemas computacionais complexos. Comparação de algoritmos recursivos e iterativos para computação reconfigurável.
 • Comunicação entre computadores de uso geral e dispositivos reconfiguráveis. Partição de recursos computacionais entre processadores de uso geral e coprocessadores reconfiguráveis.
 • Aplicações práticas desenvolvidas utilizando métodos e ferramentas considerados na disciplina. Exemplos: aceleração de algoritmos computacionais utilizando coprocessadores reconfigurava, reconfiguração virtual para construir sistemas adaptáveis, minimização de recursos através da reconfiguração, etc.
 • Sistemas reconfiguráveis virtuais. Sistemas reconfiguráveis embutidos.
- Aulas práticas:
 • Introdução as placas de prototipagem com FPGAs e sistemas de projecto assistido por computador. Xilinx ISE.
 • Projectos triviais. Interacção com LEDs, interruptores e botões.
 • Interacção com LCD.
 • Interacção com monitor VGA e teclado.
 • Interacção com memória (exemplos: SRAM, flash, etc.).
 • Sistemas de controlo baseados em FPGAs.
 • Sistemas embutidos baseados em FPGAs.
 • Implementação de algoritmos recursivos.
avaliação
Avaliação inclui um conjunto de testes sequenciais que permitem cobrir partes diferentes da disciplina. Há quatro componentes básicos de avaliação seguintes: três testes intermédios (mini exames) e avaliação do desempenho nas aulas práticas.
requisitos
Pré-requisitos: Matemática discreta; Sistemas Electrónicos; Sistemas Digitais; Programação I, II, III; Arquitectura de computadores; Sistemas de operação. As competências incluem: a) desenvolvimento de aceleradores de software para sistemas computacionais de uso geral; b) experiência no desenvolvimento de sistemas digitais utilizando linguagens de descrição de hardware, tais como a linguagem VHDL; c) desenvolvimento de sistemas computacionais reconfiguráveis utilizando sistemas CAD (Computer Aided Design); d) projecto de sistemas reconfiguráveis cujo funcionamento pode ser alterado estática e dinamicamente; e) conhecimentos gerais do paradigma de programação para projectar hardware com linguagens de especificação ao nível do sistema.
metodologia

Os pontos principais são:
1) utilização de tutorials para melhorar aprendizagem;
2) utilização da Internet como um ponto central para a apresentação de todos os detalhes para aulas práticas e teóricas;
3) possibilidade de avaliação através de projectos (avaliação contínua);
4) relação directa entre aulas e aplicações práticas incluindo modelação e implementação física de todos os projectos principais.
Disciplina inclui três componentes principais: 1) aulas teóricas; 2) aulas práticas; e 3) avaliação.

bibliografia recomendada

1) Página da disciplina: http://www.ieeta.pt/~skl e http://www.ieeta.pt/~iouliia/
2) Publicações indicadas em http://www.ieeta.pt/~skl/Research/Papers/Tut.ppt
3) K. Parnell, N. Mehta, Programmable Logic Design Quick Start Hand Book (2006): http://www.xilinx.com/publications/products/cpld/logic_handbook.pdf
4) P.J. Ashenden, The Designer’s Guide to VHDL, Morgan Kaufmann Publishers, Inc., 1996-2006.
5) Informação sobre FPGAs e placas de prototipagem: http://www.xilinx.com.
6) V. Sklyarov, I. Skliarova, "Reconfigurable Systems and their Influence on Mobile and Multimedia Applications", tutorial - http://www.ieeta.pt/~skl/Research/Papers/Tut.ppt
7) V. Sklyarov, I. Skliarova, "Teaching Reconfigurable Systems: Methods, Tools, Tutorials and Projects", IEEE Transactions on Education, vol. 48, no. 2, May 2005, pp. 290-300.

8) Digital Design (VHDL): An Embedded Systems Approach Using VHDL.  P.J. Ashenden Morgan Kaufmann Publishers, Inc. 2007
9)  FPGA Prototyping Using VHDL Examples: Xilinx Spartan-3 Version. Pong P. Chu 2008 

Este sítio web utiliza cookies sem recolher informação pessoal que permita a identificação dos utilizadores. Ao navegar neste sítio está a consentir a sua utilização. saber mais
[X]