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

4.1isp3 ECS - "ERROR:HDLParsers:3340:..two source files...both define the same primary unit..."


Keywords: macro, ECS, primary, unit, duplicate

Urgency: Standard

General Description:
When the same macro is used on at least two separate sheets in a schematic design, the following error message is reported:

"ERROR:HDLParsers:3340 - Project file <project_name> names two source files, <schematic1> and <schematic2>that both define the same primary unit, work/<macro_name>/SCHEMATIC"


This error message occurs because the ECS tool set defines the macro component in the intermediate HDL file for each schematic sheet in which the component is used. This problem was fixed in the 4.2i software release, which was released in March, 2002.

Work-around 1:

1. Push down into the offending macro to find the lower-level schematic.
2. Copy this schematic
3. Create a new schematic (with a different file name) and paste this into it.
4. Rename the buses to reflect the order of the signal names (e.g., A(0), A(1)...)
5. Create a schematic symbol for this.
6. Use this macro instead of the library macro.

Work-around 2:

1. Open the .vf or .vhf file of the corresponding schematic sheet mentioned in the error message in a text editor.
2. Delete the entity declaration of the offending macro in all but one .vf or .vhf file.
3. Make the .vf or .vhf file(s) that was edited "read only" so that it will not be re-generated

(NOTE: If you use this work-around, you should edit the .vf or .vhf file of the schematic that is least likely to need changes.)
AR# 13401
Date Created 12/18/2001
Last Updated 08/11/2003
Status Archive
Type General Article