Detalhes do Documento

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

Autor(es): Sklyarov, Valery

Data: 2002

Origem: Electrónica e Telecomunicações

Assunto(s): Circuitos digitais; Hardware templates; FPGA; Linguagem C


Descrição

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 that has been designed for a wide group of similar applications, such as special-purpose processors, embedded controllers, etc. Customizing the HT for a particular application is achieved by specification of the proper control sequence. Possible changes in control sequences might be carried out by control circuits that allow static and dynamic modifications to their behavior. Such behavior is provided with the aid of a reprogrammable finite state machine (RFSM). It is assumed that HT for the considered group of applications has already been constructed, modeled in C++, and implemented in FPGA. The considered design flow is composed of the following steps:1) specification and modeling of the desired functionality in C++;2) translation of C++ functions that describe various sequences of control operations to software model of the respective hardware circuits;3) synthesis of bitstreams for RFSM (or possibly for a set of communicating RFSMs);4) implementation of the circuit on the base of FPGA. The paper shows a design example for simple computations over Boolean and ternary vectors and matrices and demonstrates all the considered above steps.

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.

Tipo de Documento Artigo científico
Idioma Português
facebook logo  linkedin logo  twitter logo 
mendeley logo

Documentos Relacionados