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!

Page Bookmarked

AR# 9924

5.1i CPLD Hitop/CPLDFit - "Insufficient number of product terms" is reported


General Description:

When fitting a CPLDdesign, I encounter an error message similar to the following during execution of CPLDFit (formerly Hitop in 3.1i and earlier):

"Insufficient number of product terms: needs at least 194 but only 180 left after allocating other resources.

Device XC9536XL-PC44 was disqualified."


It is probable that the fitter is attempting to collapse all logic into the fewest levels of logic for the highest speed performance. A drawback to this is that shared logic becomes duplicated and therefore consumes additional product term resources.

Example of collapsed equations:

Dataout_one <= a or b or c or d; (1 MC, 4 product terms)

Dataout_two <= a or b or c or e; (1 MC, 4 product terms)

Same equations, but sharing logic:

Dataout_one <= node or d; (1 MC, 2 product terms)

Dataout_two <= node or e; (1 MC, 2 product terms)

node <= a or b or c; (1 MC, 3 product terms)

The above example shows how the creation of an extra node saves product terms.

To resolve this problem, try the following solutions:

1. Re-fit the design using density mode. This tells the fitter to allow more sharing at the cost of speed.

2. Adjust the Product Term limit. Lower this value to allow for more levels of logic, which allows for more logic sharing.

3. Select a larger device.

AR# 9924
Date 12/15/2012
Status Active
Type General Article