Asipampium: uma ferramenta de desenvolvimento automático de processadores de aplicação específica - Engroff, Alian Moreira (2017)
Nas ultimas décadas houve um crescimento exponencial no desenvolvimento de sistemas embarcados, que são alocados no mais diversos equipamentos como eletrodomésticos e eletrônicos portáteis. Os sistemas embarcados são compostos por processadores de uso geral ou especıfico, os quais são desenvolvidos para cada sistema, apresentando restrições quanto ao custo de área, consumo de energia e tempo de processamento. Essas restrições dependem da aplicação e das funcionalidades. Dentre vários tipos de metodologias de projeto que buscam atender´ as necessidade de desenvolvimento de processadores para esses equipamentos, destaca-se a metodologia de desenvolvimento ASIP, do inglêsˆ Application Specific Integrated Processor. Os ASIPs são desenvolvidos de forma otimizada para cada aplicação, com um conjunto de instruções, tipos de memoria, quantidade e formas de acesso customizados. No entanto, a otimização do hardware implica em muito esforço para o desenvolvimento do processador. Nesse sentido, e necessário uma plataforma de desenvolvimento automático de ASIPs que analise o programa, as restrições da aplicação, e também forneça suporte a simulação e compilação. Este trabalho tem como objetivo principal elaborar uma ferramenta para o desenvolvimento automático de processadores de aplicação especıfica chamada ASIPAMPIUM, buscando tornar o desenvolvimento de um ASIP fácil e rápido com uma boa relação entre custo de área, consumo de potencia e velocidade de processamento. Para isso, foi proposta uma arquitetura de um processador reconfigurável, chamado PAMPIUM, que e definida como uma arquitetura RISC com 80 instruções, utilizando operações apenas com registradores. Esta arquitetura e utilizada como base para o ASIP, pois ela possui a flexibilidade necessária para se adaptar as características das mais diversas aplicações. A utilização de uma arquitetura base permite que o usuário possa desenvolver ASIPs para as mais variadas aplicações utilizando uma mesma plataforma de desenvolvimento. O processador gerado pelo ASIPAMPIUM e disponível em linguagem de descrição hardware, de forma que possa ser sintetizado para a fabricação de circuitos integrados ou para gravação em FPGA. Para o desenvolvimento do ASIP são utilizadas três versões base do PAMPIUM: monociclo, pipeline e superescalar. Desta forma o processador gerado leva em consideração as principais estatísticas do compilador e do simulador. Para validação a ferramenta ASIPAMPIUM foi utilizada no desenvolvimento de uma FFT e comparadas suas características com outros trabalhos, mostrando uma boa equivalência nos resultados. Também foi desenvolvido um sistema de controle de uma rede de antenas retrodiretivas. Este sistema foi testado e validado em FPGA. Além disso, foi elaborada uma versão do PAMPIUM em silício, denominada PAMPIUM IC, a qual foi prototipada em tecnologia 0 ,18µm da TSMC, testada e validada eletricamente. Estas aplicações demonstram o correto funcionamento da metodologia proposta, gerando hardware de alto desempenho com um curto tempo de desenvolvimento.