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

8.1i XST - "ERROR: Portability:3 This Xilinx application has run out of memory or has encountered a memory conflict..."

Description

When I attempt to incorporate a package, two entities, and two architectures into one file, all memory resources are used and the following error occurs:

"ERROR: Portability:3 - This Xilinx application has run out of memory or has encountered a memory conflict..."

Solution

If you attempt to incorporate a package, two entities, and two architectures into one file, XST issues the error message above.

If you place the package file, each entity, and the corresponding architectures into individual files, the design will synthesize correctly.

XST can run out of memory when it synthesizes large state machines. Examine the XST log file. If XST failed during the FSM extraction, turn off the FSM coding as follows:

1. Open your ISE project.

2. Right-click on the Synthesize process.

3. Select "Properties...".

4. Select the HDL Options tab.

5. Change the FSM Encoding Algorithm from "Auto" to "None."

6. Select "OK."

Alternatively, you can create intermediate signals on long FSM equations to break them down into simpler equations.

XST consumes a great deal of memory if components/modules are instantiated numerous times. You can avoid this by synthesizing one of these components/modules by itself, then instantiating that component/module as a black box. When you synthesize the component/module by itself, do not insert the IBUF/OBUF components:

1. Open your ISE project.

2. Right-click on the Synthesize process.

3. Select "Properties...".

4. Select the Xilinx Specific Options tab.

5. Deselect "Add I/O Buffers."

6. Remove the lower level component/module from the main project and synthesize your design.

XST runs out of memory if there are many nested "if" constructs in your design. If the constructs take on the following form:

if (cond1)

if (cond2) begin

(...)

end

collapse the "if" construct into the following:

if (cond1 & cond2) begin

(...)

end

This allows XST to use less memory. This problem will be resolved in ISE 9.1i.