Métodos de Implementação de Funções Não Lineares em FPGA
Abstract
Este trabalho apresenta a implementação e comparação de diferentes métodos de aproximação para funções não lineares em um processador soft-core de arquitetura reduzida, o SAPHO. São analisadas as funções seno, cosseno, tangente, arco tangente, exponencial, tangente hiperbólica e sigmoide, utilizando três abordagens distintas: séries de Maclaurin, tabelamento e o algoritmo CORDIC. As implementações foram realizadas em duas configurações de largura de dados, 23 e 32 bits. Os resultados foram avaliados com base no erro médio e no número de ciclos de clock necessários para execução. O estudo mostra que as séries de Maclaurin tendem a oferecer maior precisão, especialmente na configuração de 32 bits, porém com maior custo de tempo de processamento. O método de tabelamento apresenta um bom equilíbrio entre precisão e desempenho. Já o algoritmo CORDIC apresentou desempenho inferior no processador SAPHO, devido à necessidade de alta precisão e ao tratamento de erros em operações de ponto flutuante. As conclusões são sustentadas por análises complementares com gráficos, tabelas e trechos de código.