AR# 13401: 4.1isp3 ECS - "ERROR:HDLParsers:3340:..two source files...both define the same primary unit..."
4.1isp3 ECS - "ERROR:HDLParsers:3340:..two source files...both define the same primary unit..."
Keywords: macro, ECS, primary, unit, duplicate
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.
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.
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.)