Análise e implementação de ordenação de dados em FPGA - Serra, Carlos David Alexandre (2011)
Desde os primórdios da computação que os algoritmos de ordenação têm sido investigados. Estes podem ser baseados em diferentes tipos de estruturas de dados. A sua implementação num dado sistema permite um acesso mais eficaz aos dados armazenados em memória. O aumento da capacidade de processamento da FPGA (Field Programmable Gate Arrays) torna possível a implementação de algoritmos de ordenação que actuem sobre listas de dados de tamanho razoável. Nesta tese foi desenvolvida uma aplicação de software, assim como um circuito a ser implementado em FPGA, que permitem realizar a transferência de 1024 dados do sistema computacional de uso geral para a FPGA, através de ligação USB. Os dados enviados possuem 16 bits, com gama de valores entre 0 e 65535 e são criados pela aplicação de software desenvolvida. Os dados são ordenados na FPGA e no sistema computacional de uso geral usando a estrutura de dados árvore binária. Posteriormente visualizam-se estes valores e o tempo necessário para os ordenar, tanto no monitor, ligado à placa com FPGA, como na consola do computador de uso geral. No final, é comparado o tempo necessário para ordenar nos dois sistemas. A FPGA utilizada foi a Spartan-3E, da Xilinx®.