Range

LRM §3.1.

A specified subset of values of a scalar type.

Syntax:

range left_bound to right_bound
range left_bound downto right_bound 
range <>

Description:

The range specifies a subset of values of types integer, floating, physical or enumeration. This range can be the null range if the set contains no values

A range is called ascending if it is specified with the keyword to as the direction and the left bound value is smaller than the right bound (otherwise the range is null). A range is descending if the range is specified with the keyword downto as the direction and the left bound is greater than the right bound (otherwise the range is null).

Example:

subtype St is integer range 0 to 7; 
type Mem is array (natural range <>) of std_logic_vector(15 downto 0);  

Note:

See also:

Enumeration, Floating, Integer, Physical, Subtype