ID:13780 VHDL error at <location>: type of identifier "<name>" does not agree with its usage as "<name>" type

CAUSE: In a VHDL Design File (.vhd) at the specified location, you used the specified identifier. However, the identifier does not have the specified type, which is required for the identifier's usage. For example, the Signal Assignment Statement in the following code assigns the value x, which has an integer type, to the signal o, which has a bit type:
ENTITY err IS
   PORT
   (
      i     : IN   BIT;
      o     : OUT  BIT
   );
END err;
 
               
 
               
ARCHITECTURE a OF err IS
   CONSTANT x: INTEGER := 5;
BEGIN
   PROCESS(i)
   BEGIN
      o <= x;
   END PROCESS;
END a;

            
The value x must have a bit type to match the type of the signal to which the value is assigned. This error can also occur when the actual parameter you use in a Function Call or Procedure Call Statement does not have the same type as the corresponding formal parameter in the function or procedure. The text of the message specifies the type that the actual parameter must have. In addition, this error can occur when you use an identifier as a Boolean value, but you use a non-Boolean value for the identifier.

ACTION: Change either the type or usage of the identifier so the type you use for the identifier matches the expected type. In the previous example, you can change the type of value x to bit (and change the initial value of the constant accordingly), change the type of signal o to integer, or remove or change the Signal Assignment Statement so it does not assign x to o.