Um fluxo de prototipagem rápida em FPGA para algoritmos de processamento de vídeo. - ZURITA, Marcos Eduardo do Prado Villarroel. (2009)
Assim como a complexidade dos sistemas digitais tem avançado continuamente ao longo dos anos, a dos dispositivos de lógica programável tem seguido o mesmo ritmo. Os FPGAs contêm atualmente milhões de portas e suas freqüências de operação podem chegar a 600 MHz. Isso os torna capazes de serem utilizados até mesmo na codificação e decodificação de vídeo em tempo real. Ao mesmo tempo, as constantes reduções no custo desses dispositivos aliado ao reduzido tempo de prototipagem em relação ao ASIC equivalente, tornam essa tecnologia FPGA atrativa para prototipagem de sistemas VLSI, auxiliando projetistas a melhor ajustarem e validarem soluções antes da sua fabricação em ASIC, ou mesmo as empregando como solução final para o mercado. Contudo, a complexidade dos sistemas digitais parece aumentar mais rapidamente do que o avanço das técnicas e ferramentas de projeto baseadas em RTL, criando um caminho tortuoso entre a modelagem do sistema (geralmente, um algoritmo C++) e o protótipo final. Este trabalho propõe um fluxo alternativo de projeto para acelerar a prototipagem em FPGA de algoritmos de processamento de vídeo. Baseada nas recentes ferramentas de síntese de alto nível (HLS) disponíveis no mercado, a metodologia estabelece regras gerais para orientar o projetista a implementar em FPGA sistemas descritos em C ou C++, com esforços e tempo de desenvolvimento reduzidos, atingindo ainda assim resultados minimamente satisfatórios. Um estudo de caso utilizando a metodologia proposta é apresentado ao final desse documento, discutindo as dificuldades encontradas e apresentando os resultados práticos obtidos na sua implementação. Como contribuição principal deste trabalho pode-se citar a avaliação da síntese de alto nível no desenvolvimento de sistemas de processamento de vídeo. Os estudos e resultados obtidos indicam um notável avanço das ferramentas de síntese de alto nível atualmente disponíveis no mercado, o que já as torna capazes de serem empregadas no desenvolvimento de sistemas complexos e exigentes, como os sistemas de processamento de vídeo. Adicionalmente, o Catapult, ferramenta de síntese utilizada no fluxo proposto, mostra-se hoje entre as mais poderosas do mercado, sendo adotada por multinacionais como a Panasonic, Siemens, STMicroelectronics, Nokia e a Alcatel. Apesar disso, nenhuma licença desse programa está atualmente atribuída ao Brasil. Desta forma, o trabalho aqui apresentado também contribui fornecendo à academia informações e avaliações independentes sobre esse utilitário.