UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 36214

ISE Simulator (ISim) - ERROR:HDLCompiler:1461 - "testbench.vhd" Line 59: Access type cannot be a formal of mode out

Description

The following error is obtained while running Check Syntax from Project Navigator on a .vhd file and in some cases it is obtained while simulating with ISIM:

ERROR:HDLCompiler:1461 - "testbench.vhd" Line 59: Access type cannot be a formal of mode out

and this error is normally followed by:

ERROR:HDLCompiler:854 - "testbench.vhd" Line 12: Unit <behavior> ignored due to previous errors.

Solution

This problem normally occurs when a variable is being accessed in a procedure while this variable has mode OUT defined by the procedure arguments.

This is solved by using temp variables. For example:

procedure make_node(variable r : pl_data_record; variable ptr : out pl_data_node_access) is
begin
ptr := new pl_data_node;
ptr.value := r;
ptr.next_node := null;
end procedure make_node;

the above procedure can be rewritten using temp variable as follows:

procedure make_node(variable r : pl_data_record; variable ptr : out pl_data_node_access) is
variable temp : pl_data_node_access;
begin
temp := new pl_data_node;
temp.value := r;
temp.next_node := null;

ptr := temp;
end procedure make_node;

A fixed is scheduled for ISE 13.1 software.
AR# 36214
Date Created 06/15/2010
Last Updated 07/27/2010
Status Active
Type General Article
Tools
  • ISE Design Suite - 12.1
  • ISE Design Suite - 12.2