AR# 4165: A1.4/F1.4 MAP - ERROR: x4kma:312 - Following symbols could not be constrained
A1.4/F1.4 MAP - ERROR: x4kma:312 - Following symbols could not be constrained
Keywords: MAP, x4kma, 312, constrained, CLB
General Description: MAP issues an error similar to the following:
ERROR:x4kma:312 - The following symbols could not be constrained to a single CLB: HMAP symbol "CursorRamComp/sp64x2/ablock/large_ram_we0/newSim14" (output signal=CursorRamComp/ablock/dwe_0) FMAP symbol "U1154_map" (output signal=CpuCursorHighWrSig) DFF symbol "CursorRamComp/sp64x2/ablock/large_ram_we0/newSim10/dff" (output signal=CursorRamComp/ablock/dcode_0) FMAP symbol "CursorRamComp/sp64x2/ablock/large_ram_we0/dcodeslice_0func/newSim9" (output signal=CursorRamComp/ablock/large_ram_we0/dcode_in_0) DFF symbol "CursorRamComp/sp64x2/ablock/large_ram_membank1_0u2/newSim44/dff" (output signal=CursorRamComp/ablock/large_ram_membank1_0u2/ff_dout_0) RAM16X1S symbol "CursorRamComp/sp64x2/ablock/large_ram_membank1_0u2/newSim42/ram" (output signal=CursorRamComp/ablock/large_ram_membank1_0u2/ff_din_0) These symbols share the same RLOC attribute value, which requires them to be mapped to the same CLB. Errors have been found in this design. No output files have been written.
In general this error indicates that map is unable to follow the RLOC constraints for a particular CLB. The error message lists the combination of FMAP, HMAP, DFF, RAM and Carry symbols involved and attempts to explain why the CLB pack failed.
For this particular case, the problem is that an unconstrained FMAP is being merged into the CLB because it drives the constrained HMAP. This is being done before any checking is done for conflicts with other constrained symbols.
The work around for this problem is to install the latest Core Tools Update and set the environment variable XIL_MAP_NO_FMAP_PACK. This prevents the merger of unconstrained FMAPs based on HMAP connectivity.