- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-27-2010 08:28 AM
Hi,
in ISE 11.4, when I instantiate a hard macro I get the following map crash during implementation:
Release 11.4 Map L.68 (nt) Xilinx Mapping Report File for Design 'top' Design Information ------------------ Command Line : map -ise testcortexsynth.ise -intstyle ise -p xc5vlx50t-ff1136-1 -w -logic_opt off -ol high -t 1 -register_duplication off -global_opt off -mt off -cm area -ir off -pr off -lc off -power off -o top_map.ncd top.ngd top.pcf Target Device : xc5vlx50t Target Package : ff1136 Target Speed : -1 Mapper Version : virtex5 -- $Revision: 1.51.18.1 $ Mapped Date : Tue Apr 27 15:26:18 2010 EXCEPTION:Pds:Pds_PdmVccGndMgr.c:526:1.7 - Corrupt Database. Design Summary -------------- Number of errors : 1 Number of warnings : 0 Section 1 - Errors ------------------ EXCEPTION:Pds:Pds_PdmVccGndMgr.c:526:1.7 - Corrupt Database. FATAL_ERROR:Map:Portability/export/Port_Main.h:159
:1.27 - This application has discovered an exceptional condition from which it cannot recover. Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support. Section 2 - Warnings -------------------- EXCEPTION:Pds:Pds_PdmVccGndMgr.c:526:1.7 - Corrupt Database. Section 3 - Informational ------------------------- INFO:MapLib:564 - The following environment variables are currently set: INFO:MapLib:591 - XIL_MAP_NOCLIP_ON_ALL_SIGS_U Value: 1 INFO:LIT:244 - All of the single ended outputs in this design are using slew rate limited output drivers. The delay on speed critical single ended outputs can be dramatically reduced by designating them as fast outputs. INFO:Pack:1716 - Initializing temperature to 85.000 Celsius. (default - Range: 0.000 to 85.000 Celsius) INFO:Pack:1720 - Initializing voltage to 0.950 Volts. (default - Range: 0.950 to 1.050 Volts) EXCEPTION:Pds:Pds_PdmVccGndMgr.c:526:1.7 - Corrupt Database. Section 4 - Removed Logic Summary --------------------------------- 1 block(s) optimized away Section 5 - Removed Logic ------------------------- Optimized Block(s): TYPE BLOCK VCC XST_VCC EXCEPTION:Pds:Pds_PdmVccGndMgr.c:526:1.7 - Corrupt Database.
The Top vhdl module I have in the project reads like this:
--------------------------------------------------
-------------------------------- -- Company: -- Engineer: -- -- Create Date: 15:16:58 04/27/2010 -- Design Name: -- Module Name: top - beh -- Project Name: -- Target Devices: -- Tool versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: -- -------------------------------------------------- -------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity top is Port ( Inputs : in STD_LOGIC_VECTOR (0 to 119); Outputs : out STD_LOGIC_VECTOR (0 to 119); Clock : in STD_LOGIC; ClockE : in STD_LOGIC); end top; architecture beh of top is component CortexMacro is Port ( MInputs : in STD_LOGIC_VECTOR (0 to 119); MOutputs : out STD_LOGIC_VECTOR (0 to 119); MCLK : in STD_LOGIC; MCLKE : in STD_LOGIC; VCC : in STD_LOGIC); end component; attribute LOC: string; attribute LOC of Cortex: label is "SLICE_X12Y0"; attribute box_type : string; attribute box_type of CortexMacro : component is "black_box"; begin Cortex : component CortexMacro port map ( MCLK => Clock, MCLKE => ClockE, MInputs => Inputs, MOutputs => Outputs, VCC => '1' ); end beh;
The interesting thing is that if I create the hard macro using FPGA editor 9.2 then everything works like a charm.
As FPGA Editor 9.2 cannot open ISE 11.4 files I have to implement the hard macro using ISE 9.2 and as both versions of the ISE suit does not peacefully live on the same system I have a lot of trouble. I need to use the latest version for all the steps of the project.
Any ideas what has caused the fatal map crash? It looks like it comes from the power distibution and as you see at the end of the map report it has optimized XST_VCC. Could it be the source of the problem? Could it be because I named one of the inputs of the hardmacro "VCC" (providing GLOBAL_LOGIC1 to the HM logic)?
Cheers,
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-28-2010 03:04 AM
Can you open a webcase?
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-29-2010 05:07 PM
This is a bug with how hard macros containing Power/GND nets are handled. It has been fixed for 12.1. I've been able to work around this by removing the Global_Logic1 and Global_Logic0 nets from the the NMC macro and replacing them with a net driven by a constant LUT.
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-30-2010 09:52 AM
Looking back at the case notes where I dealt with this issue before, it looks like I used an internal tool to remove the PWR/GND nets from the NMC and then was able to edit the macro in FPGA Editor to add the constant LUTs. You could try XDL but if that doesn't work I suggest opening a Webcase on this if you want to salvage the existing macro.
BTW, what issue is pushing you to use NMC macros? There's aren't may things that can't be done more easily with a combination of RPM macros and Directed Routing constraints.
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-30-2010 10:07 AM
Yes I opened a webcase now.
I actually didn't know how to do an RPM. Couldn't find a guide on that.
I temporarily avoided this problem but will solve it for the next revision. Would be nice if I can avoid using hardmacro. I just need to make sure that everuthing goes in its place (very constrainted placing) but don't care much about the routing I guess.
Can you tell me where I can find the complete process of creating an RPM macro?
Thanks,
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-30-2010 10:34 AM
There's quite a bit of RPM macro documentation in the Constraint User Guide:
http://www.xilinx.com/support/documentation/sw_man
RLOC is the basic building block that defines relative location of the elements. The RLOC'd elements will group by default within a hierarchy or you can use U_SET or HU_SET to define the grouping. RLOC_ORIGIN will lock the macro to a specific location. You can add BEL constraints if necessary to further control the packing within a slice.
XAPP416 is old but still contains relavent information about RPM macros:
http://www.xilinx.com/support/documentation/applic
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-03-2011 01:18 PM
I still get a similar error when trying to insert a hard macro into an NCD using FPGA Editor. That was verified on ISE 12.4 and ISE 13.1. The error message is the following:
EXCEPTION:Pds:Pds_PdmVccGndMgr.c:516:1.8 - Corrupt Database.
FATAL_ERROR:GuiUtilities:WinApp.c:693:$Revision - This application has discovered an exceptional condition from which it cannot recover. Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support
Any suggestions/ideas are appreciated.
Thanks,
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-03-2011 01:37 PM
There is no plan to support VCC/GND nets in hard macros. The bug fix I was referning too earlier has to do with FPGA Editors ability to successfully remove these nets. It is necessary to replace the VCC/GND nets with nets driven by constant LUTs. The issue is complicated by the fact that constant sources internal to slices are part of the problem, but I believe that FPGA Editor will warn you about these cases.
As I've said earlier, there are few hard macro applications that can't be handled better by a combination of RPM macros and Directed Routing constraints.
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
[ Edited ]
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-03-2011 01:45 PM - edited 03-03-2011 02:17 PM
Indeed, the FED gives a warning if I am trying to generate a hard macro with VCC/GND in it. However, I am positive that the macro I am using is clear from VDD/GND, and an XDL export shows no vcc/gnd nets. Yet, I am still getting the same error.
Looking back at some of the older versions of ISE on how they handled hard macros, it seems to me so far that ISE 9.2 and ISE 11.5 are doing much better that the other versions I tried. However, my claim is far from thouroughly verified and could be specific to my case.
Re: Weird Map crash only when instantiat ing Hard Macros created in FPGA editor 11.4 (and not 9.2)
[ Edited ]
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-03-2011 02:00 PM - edited 03-03-2011 02:04 PM
There may be no external VCC/GND nets but the problem can occur due to constant sources that are internal to slices. An XDL netlist won't show those.
This problem was introduced by a database change several major releases back. I wouldn't expect 11.5 to work. The problem was first reported against 10.1, so 9.2 should be ok.











