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

6.3i MAP - "FATAL_ERROR:Map:Portability/export/Port_Main.h:127:1.22"

Description


General Description:

NOTE: This Answer is a good match for your case only if the error message contains the "DuplicateObjectFound" and "SLAVE" strings.



My design contains differential outputs where the differential buffer is driven by a flip-flop from a different hierarchy, and the KEEP HIERARCHY option is turned on. My I/O configuration looks correct, but MAP fails with the following message:



"Copyright (c) 1995-2004 Xilinx, Inc. All rights reserved.

Using target part "2vp40fg676-7".

Removing unused or disabled logic...

Running cover...

EXCEPTION:Xdm:PropertyHolder.c:433:$Id: PropertyHolder.c,v 1.12 2003/05/17

14:54:52 jdl Exp $ - Xdm_Exception::DuplicateObjectFound object='SLAVE'

(XDM_PROPERTY_BOOL),

parent='/memorycontroller_top/MAPEXPANDED/memorycontroller_top/bp_data_A_n(0)

' (XDM_BLOCK)

FATAL_ERROR:Map:Port_Main.h:127:1.22 - This application has discovered an

exceptional condition from which it cannot recover. Process will terminate.

======================================================="

Solution


The problem is related to the OBUFDS/OBUFTDS expansion task in the mapper. The task transforms an OBUFDS/OBUFTDS and its associated input and 3-state flip-flops into two separate buffers, as well as replicates the input flip-flops for each buffer. This task is performed for specific I/O standards such as BLVDS. If the flip-flops and buffers are in different hierarchies and the KEEP_HIERARCHY option is being used, this error will occur.



This problem has been fixed in the 7.1i design tools release, which is scheduled for early 2005.



Alternatively, you can work around this issue in the following ways:



- Turn off KEEP_HIERARCHY during synthesis.

- Turn off KEEP_HIERARCHY during MAP by using the "-ignore_keep_hierarchy" option.

- Selectively turn off KEEP_HIERARCHY for the affected instances only. This must be done at every level of the hierarchy for each instance involved. The following is an example of the UCF constraints needed for one IOB. You can use a "*" wildcard to match multiple instances within a hierarchy.



INST "BP_DATA_A_0_INOUT_BUF0" KEEP_HIERARCHY = FALSE ;

INST "BP_DATA_A_0_INOUT_BUF0/OBUFTDS" KEEP_HIERARCHY = FALSE ;

INST "BP_DATA_A_0_INOUT_BUF0/IBUFDS" KEEP_HIERARCHY = FALSE ;

INST "bp_data_A_n(0)" KEEP_HIERARCHY = FALSE ;

INST "ARRAYTOP" KEEP_HIERARCHY = FALSE ;

INST "ARRAYTOP/CHANNEL_INST" KEEP_HIERARCHY = FALSE ;

INST "ARRAYTOP/CHANNEL_INST/data_send_dly_reg_0" KEEP_HIERARCHY = FALSE ;



This covers the PAD, IBUFDS, OBUFTDS and the flip-flop driving the OBUFTDS. Four instances and three other hierarchy levels are involved.
AR# 20190
Date Created 09/03/2007
Last Updated 11/18/2010
Status Archive
Type General Article