Bit_Vector
  
    
    
     
   
   Definition:
  
   The Bit_Vector type is predefined 
   in the Standard package as a standard one-dimensional array type with 
   each element being of the Bit type. 
  
   Syntax:
  
   type bit_vector is
    array (natural range <>)
    of bit; 
  
   Description
  
   The Bit_vector type is an unconstrained vector of elements of the bit 
   type. The size of a particular vector is specified during its 
   declaration (see the example below). The way the vector elements are 
   indexed depends on the defined range and can be either ascending or 
   descending (see range). 
  
   Assignment to an object of the Bit_vector type can be performed in 
   the same way as in case of any arrays, i.e. using single element 
   assignments, concatenation, aggregates,
    slices or any combination 
   of them. 
  
   Examples
  
   Example 1 
  
   signal DataBus : 
   Bit_vector(7 downto 0); 
   signal FlagC : Bit; 
   DataBus(0) <= 
   '1';                           --
    1 
   DataBus <= '0' & "111000" & 
   FlagC;           --
    2 
   DataBus <= ('0', others 
   => 
   '1');             --
    3 
   DataBus <= DataBus(6 downto 
   0) & DataBus(7); -- 4 
   DataBus <= 
   "01110001";                       --
    5 
  
     
   There is one bit_vector defined in this example - DataBus. Its range 
   is defined as descending, therefore the most significant bit will be 
   DataBus(7). Line 1, marked in the comment field, illustrates 
   assignment of a single element (bit). The line 2 shows typical use of 
   concatenation. Note that both single bits, groups of bits (with 
   double quotes!) and other signals (as long as their type is 
   compatible) can be used. The line 3 demonstrates the use of 
   aggregates. The line 4 illustrates how slices can be used together 
   with concatenation. The value of DataBus will be rotated left in this 
   example. Finally, in line 5 DatBus is assigned an explicit value, 
   specified with double quotes. 
  
   Despite that each of the numbered lines above is correct, it would be 
   illegal to put them together in one specification as shown above, due 
   to the fact that bit_vector is an unresolved type and there can be 
   only one assignment to an object of this type in an architecture. 
  
   Important Notes
  
   - 
   
    Logical values for objects of the Bit_vector type MUST be written in 
    double quotes. Single elements, however, are of the bit type, 
    therefore all values assigned to single elements are specified in 
    single quotes. 
     
  
    
 
    |