Methods | Description |
---|---|
'Class_Name'() | Constructor to initialise the variables of the base classes. Note, as the bounds of the integer type must be locally static they can be determined at compile time. |
static long long int left() | Returns the left bound of the physical type. Corresponds to the ``left'' VHDL attribute. |
static long long int right() | Returns the right bound of the physical type. Corresponds to the ``right'' VHDL attribute. |
static long long int low() | Returns the low bound of the physical type. Corresponds to the ``low'' VHDL attribute. |
static long long int high() | Returns the high bound of the physical type. Corresponds to the ``high'' VHDL attribute. |
Example:
TYPE TIME IS RANGE -9223372036854775807 TO 9223372036854775807 UNITS fs; ps = 1000 fs; ns = 1000 ns; us = 1000 ns; ms = 1000 us; sec = 1000 ms; min = 60 sec; hr = 60 min; END UNITS;is converted into the following type info class
// Note, all physical values are represented as 64 bit integers class L3lib_Q8standard_I4time : public physical_info_base { public: const static long unit_count = 7; const static char *units[7]; const static long long int scale[7]; static long long int low() { return -9223372036854775807LL; }; static long long int high() { return 9223372036854775807LL; } static long long int left() { return -9223372036854775807LL; } static long long int right() { return 9223372036854775807LL; } L3lib_Q8standard_I4time() : physical_info_base(left(), right(), low(), high(), units, scale, unit_count) {}; }; const char *L3lib_Q8standard_I4time::units[7] = {"fs", "ps", "ns", "us", "ms", "sec", "hr"}; const long long L3lib_Q8standard_I4time::scale[7] = {1L, 1000LL, 1000000LL, 1000000000LL, 1000000000000LL, 1000000000000000LL, 1000000000000000000LL};