Each VHDL process is transformed into a corresponding C++ class. All named entities9.1 defined within the declarative section of the process are converted into class members. Additionally, some special variables store internal process information. I.e. the process class contains a pointer to the architecture-entity instance the process belongs to. In detail there are three kind of class variables:
sig_infopointer, a third operation to get the reader pointer from the
sig_infoinstance, and finally a last read operation to get the value of the signal. To provide direct access on the signal data (reader) a pointer to the reader value is added to the process class. Hence, each read operation of the process on this signal can be done directly.
Each process class has three member functions. A constructor, a destructor and a function to execute the process code. The constructor elaborates the declaration part of the process. Additionally, all copies of architecture-entity objects are initialised. The destructor is called if a process suspends forever.
All process classes are derived from the base class
process_base. The base class includes all informations which
are common to all process classes.