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# 23141

9.2i XST - "ERROR:HDLParsers:3501 - Circular dependency is not supported!"

Description

XST issues the following error when I synthesize my design:

"ERROR:HDLParsers:3501 - Circular dependency is not supported!"

Solution

Circular dependency occurs during the following scenario:

Package A

Package B

Package A references some type in Package B and vice versa. When this occurs, the autosorter built into XST cannot process this event and reports a circular dependency.

To work around this problem, add the -hdl_compilation_order user in the XST file. However, the PRJ file must be in the correct order. For example, if XST issues the following error message after adding "hdl_compilation_order user", you might have to move the "Test" library compilation line to above the "myVHDLfile.vhd" file. This solution works if you run XST from the command line to create your NGC file.

"Compiling vhdl file "C:/.../.../TestCase/myVHDLfile.vhd" in Library MyLibrary.

ERROR:HDLParsers:3317 - "C:/.../.../TestCase/myVHDLfile.vhd" Line 27. Library Test cannot be found."

To synthesize your design from Project Navigator (ISE GUI), follow the procedure outlined below to set two options:

1. Set -hdl_compilation_order in Project Navigator as follows:

a. In the Sources tab, select Synthesis/Implementation from the Design View drop-down list.

b. Select the top module .

c. In the Processes tab, click Synthesize - XST.

d. Select Process --> Properties (alternatively, you can right-click the process and select Properties.)

e. In the Process Properties dialog box, set the Property display level to Advanced.

f. In Other XST Command Line Options, enter -hdl_compilation_order user.

g. Click OK.

2. Add a Customer Compile File List as follows:

a. In the Sources tab, select Synthesis/Implementation from the Design View drop-down list.

b. Select the top module .

c. In the Processes tab, click Synthesize - XST.

d. Select Process -> Properties (alternatively, you can right-click the process and select Properties.)

e. In the Process Properties dialog box, set the Property display level to Advanced.

f. In the Custom Compile File List field, enter the name of your custom compile file or browse to the file mycomplist.txt.

g. Click OK.

Creating a Custom Compile File for Synthesis

1. Create a text file in your project directory that contains a list of the file names to compile, including the library in which they reside.

2. Enter the file names in the order that you want them compiled using the following format:

library_name;file_name

Example

work;myfile1.vhd

work;..\shared_files\myfile2.vhd

mylib;..\shared_files\mypackage.vhd

The following are general rules for creating this file:

- Each library and file pair must be separated by a semicolon (;).

- You must specify a library (required).

- For Verilog files, you must specify the work library. You cannot create your own Verilog libraries.

- Specify only HDL files. Other source types, such as schematics, are not converted to HDL.

AR# 23141
Date Created 09/04/2007
Last Updated 12/15/2012
Status Active
Type General Article