SCL allows the definition of types which can then be subsequently used to define variables . There are several types of type definitions.


Enumeration type definitions give specific values that the type allows.

type color is (red, blue, green);


Range definitions give a range of values that the type allows.

type Byte is range 0 to #16#FF#;

Range definitions can include an option definition of the units associated with the type

type voltage is range -9223372036854775807 to 9223372036854775807
   units mV;
      V  = 1000 mV;
      kV = 1000 V;
   end units;


Here is an example of an array type

type bit_vector is array (integer range <>) of bit;