Modelação em C++, síntese e implementação de circuitos digitais com base em FPGA

  • Valery Sklyarov
Palavras-chave: Circuitos digitais, Hardware templates, FPGA, Linguagem C

Resumo

Este artigo apresenta uma técnica de desenvolvimento de circuitos digitais que pode ser utilizada por alunos de disciplinas de programação orientada por objectos, computação reconfigurável, sistemas digitais avançados, etc. A técnica é baseada em hardware templates (HT) que são circuitos desenvolvidos para um grupo de aplicações semelhantes tais como processadores de uso especial, controladores embutidos, etc. A personalização do HT para uma aplicação particular é conseguida através da especificação da sequência de controlo apropriada. Alterações na sequência de controlo podem ser efectuadas sobre circuitos de controlo que permitem a modificação estática e dinâmica do seu comportamento. O comportamento é especificado com a ajuda de máquinas de estados finitos reprogramáveis (MEFR). Assume-se que, para o grupo de aplicações considerado, o HT já terá sido desenvolvido, modelado em C++ e implementado em FPGA. A sequência de projecto é composta por passos seguintes:
1) especificação e modelação da funcionalidade desejada em C++;
2) transformação de funções em C++ que descrevem várias sequências de operações de controlo, no modelo de software dos circuitos de hardware respectivos;
3) síntese de bitstreams para a MEFR (ou para um conjunto de MEFRs interligadas);
4) implementação do circuito com base em FPGA. O artigo apresenta um exemplo que permite realizar computações simples sobre vectores e matrizes booleanas e ternárias, e apresenta em detalhe todos os passos mencionados acima.

Publicado
2002-01-01
Secção
Artigos