07-18-2011 03:59 AM
PicoBlaze FAQ - 'Pack:2811' errors in MAP
There appears to be two situations in which the use of KCPSM6 in a design can result in MAP reporting ‘ERROR:Pack:2811'. This FAQ describes the conditions under which these errors have been observed and the workarounds that have made it possible to avoid the error (verified using ISE 12.4).
'Pack:2811' errors in MAP when using ChipScope
Connection of ChipScope can generate 'Pack:2811' errors in MAP. This only appears to happen when connecting 'out_port' or 'port_id' directly to ChipScope.
There are three potential workarounds for this issue.
a) To insert a pipeline register between KCPSM6 and ChipScope.
b) Set the 'Keep Hierarchy' option in XST to 'Yes' (default is 'No').
However this may not work if there are more than one KCPSM6 (see below).
c) Set the following system environment variable: XIL_MAP_OLD_SAVE=1.
Right click on 'My Computer' and select 'Properties'.
Go to the 'Advanced' tab and choose 'Environment Variables'.
Use 'New' or 'Edit' as necessary.
Open and run ISE again.
'Pack:2811' errors in MAP when using 'Keep Hierarchy' and design contains multiple KCPSM6.
This error has been observed when a design contains multiple instances of KCPSM and the 'Keep Hierarchy' option in XST has been set to 'Yes'. Therefore the obvious solution is to revert to the default setting of 'No'. Alternatively the 'Allow Logic Optimization Across Hierarchy' option in MAP can be enabled.
Tick box in Project navigator or apply the ‘-ignore_keep_hierarchy’ switch on the command line).
It should be appreciated that KCPSM6 normally passes through the ISE tools without errors even when there are multiple instances of KCPSM6 and/or ChipScope is present in the same design. This is very much an error that occurs as a result of combinations of factors; every design is unique and something other than KCPSM6 may be provoking the pack error in your situation.
Whilst the intention of his FAQ is to highlight the potential situations leading to this pack error and present workarounds, please remember that this message is posted on the PicoBlaze Forum and that you should contact Xilinx Technical Support (www.xilinx.com/support) should you require further assistance processing your design with the ISE tools.
I hope your next PicoBlaze design is error free!
07-16-2014 08:08 AM
An additional workaround that worked for my design (Spartan6, one Picoblaze and pipelined chipscope, ise 14.4) was to set the following map options (maybe the first two are enough):
-global_opt speed -logic_opt on -mt on -timing -ol high -xe n
The price paid is slightly longer run time, but with better resource utilization than by setting XIL_MAP_OLD_SAVE=1. By the way, pipelining chipscope did reduce the number of pack errors from 4 to 1, but did not get around the issue.
07-17-2014 03:11 AM
Thank you for passing on your experience and suggestion.
I would just like to make other readers aware that there is another 'Known Issue' relating to the use of 'global_opt'. As stated in the documentation supplied with KCPSM6, this is only an issue prior to ISE v13.4 so it really shouldn't be an issue today (ISE is currently v14.7).