Slice
  
    
    
     
   
   Formal Definition
  
   A one-dimensional array of a
   sequence of consecutive elements of another one-dimensional array. 
  
   Simplified Syntax
  
   object_name ( discrete_range ) 
  
   function_call ( discrete_range ) 
  
   Description
  
   The slice is a subarray of 
   a one-dimensional array, from a single element up to complete array. 
  
   The prefix used for a slice is the name of the parent array. 
  
   The index used for a slice must fall in the range of the indexes of 
   the parent array. Moreover, the direction of the slice indexes must 
   be the same as the direction of indexes of parent array (either 
   ascending or descending). 
  
   The slice is an object which can be used in the same way as its 
   parent array: if the parent array is a signal, then any its slice is 
   also a signal, etc. 
  
   If the discrete range of a slice is null then the slice is null as well. 
  
   Examples
  
   Example 1 
  
   signal DataBus : Bit_Vector(31
    downto 0); -- parent array 
   DataBus(31 downto 26) -- 
   slice 1 
   DataBus(24 downto 24) -- 
   slice 2 
   DataBus(24 downto 30) -- 
   slice 3 
   DataBus(15 to 31) -- no 
   slice - ERROR! 
  
     
   The first slice is a 6-element Subarray of the DataBus. The second 
   slice contains one element. Slice 3 is a null slice (the range is 
   null). Finally, the fourth example is an error due to different 
   directions of the parent array and the slice. 
  
   Important Notes
  
  
    
 
    |