ID:10384 VHDL assignment error at <location>: index <number> is outside the range (<range>) of object "<name>"

CAUSE: In a VHDL Design File (.vhd) at the specified location, you assigned a value to the specified index of the specified array type object. However, the target index you specified is outside the range that you declared for the array type object. For example, the signal assignment statement in the following code assigns a value to the indexed object o(4), but the index 4 does not belong to the index range of target signal o, which is (0 to 3):
ENTITY example IS
  
               
   PORT
   (
      clk      : IN	std_logic;
      i        : IN 	std_logic_vector (0 to 3);
      o        : OUT 	std_logic_vector (0 to 3)
   );
  
               
END example;
  
               
ARCHITECTURE ex1 OF example IS
BEGIN
   o(4) <= i(3);
END ex1;

            
The target index of the object must belong to the index range you declared for the object.

ACTION: Change the target index for the object, or change the bounds of the object index range to include the index. In the previous example, you must change o(4) to o(0), o(1), o(2), or o(3); or change the index range (0 to 3) to include the target index 4.