Circiutos digitais
Modelação em C++, Síntese e Implementação de Circuitos Digitais com base em
FPGA
Valery Sklyarov
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.
Abstract – The paper presents a technique for the design of digital circuits that can be employed by students within such disciplines as object-oriented programming, reconfigurable computing, advanced digital systems, etc. The technique is based on the use of a hardware template (HT), which is a
circuit