Implementação em FPGA de algoritmos computacionais paralelos - Figueiredo, Luís Carlos Nobre de Almeida (2011)
Nos ultimos anos, tem-se assistido a um indiscutível aumento da utilização de sistemas reconfiguráveis. Dentro destes sistemas, as FPGAs (Field- Programmable Gate Array) apresentam-se, assim, como um grande potencial, possibilitando a implementação de projectos de média/grande complexidade, tais como os algoritmos de manipulação de dados. O tempo de execução e os recursos envolvidos são, de longe, os factores mais importantes a considerar. Nesta perspectiva, foi desenvolvida nesta tese uma implementação de um algoritmo de multiplicação de matrizes e foi comparado o seu tempo de execução face a implementação em software. A implementação do algoritmo na FPGA, debruça-se essencialmente em máquinas de estados finitos, com o intuito de aproveitar o paralelismo que se pode encontrar neste tipo de dispositivos. Foi, também, criada uma comunicação entre um PC de uso geral com a placa FPGA por USB, de modo a ser possível a transmissão de dados entre ambos. O sistema foi implementado e testado com exito, podendo-se observar os resultados da multiplicação através do monitor VGA, ou através do PC.