Contents Up << >>

Signal declaration

A signal is a special data object used to represent the signals of a hardware signal. The signal object is special because it behaves differently than typical data objects in programming languages. The values of signals are updated according to the description in the section on discrete event simulation. The schedule of events, that are to occur on a given signal, is called the signal's projected waveform. The value of a signal is modified as a result of processing events in its projected waveform. Events can be created in the projected waveform with the signal assignment statement.

The signal declaration has the following form: Each name in the name list will declare a signal of the given subtype. If the expression part appears, then that will be the initial value given to the signal during the initialization of the simulator. If the expression part does not appear, then the default value used for the initial value is the left bound of the subtype. As a consequence, the default initial value for an integer is -2147483648. If an integer object is used to index an array, then this initial value may cause an out-of-bounds error and this object needs to have a specified initial value.