Modelação em C++, Síntese e Implementação de Circuitos Digitais com base em FPGA

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.