Abstract

Este trabalho descreve a implementação e a comparação de diferentes métodos de aproximação para funções não lineares no processador soft-core de arquitetura reduzida SAPHO. Foram estudadas as funções seno, cosseno, tangente, arco-tangente, exponencial, tangente hiperbólica e sigmoide, empregando três abordagens distintas: séries de Maclaurin, tabelamento e o algoritmo CORDIC. As soluções foram implementadas em duas larguras de dados, 23 e 32 bits, e os resultados avaliados segundo o erro médio e a quantidade de ciclos de clock necessários à execução. Os achados indicam que as séries de Maclaurin tendem a fornecer maior precisão, sobretudo na configuração de 32 bits, porém com custo de maior tempo de execução. O tabelamento mostrou-se uma alternativa com boa relação entre acurácia e desempenho. Já o CORDIC apresentou desempenho inferior no SAPHO, em razão da exigência de alta precisão e dos erros nos circuitos responsáveis por cálculos em ponto flutuante. As conclusões são sustentadas por gráficos, tabelas e trechos de código que corroboram a análise apresentada.