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_info
pointer, a third operation to get the reader pointer
from the sig_info
instance, 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.
driver_info
instances.
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.