Answers Database


** XABEL-CPLD: Out Of Memory error or long compile times (@CARRY directive)


Record #1669

Product Family: Software

Product Line: Data I/O

Product Part: XABEL-CPLD

Problem Title:

** XABEL-CPLD: Out Of Memory error or long compile times (@CARRY directive)


Problem Description:
Urgency: Standard

General Description:
Designs that have wide with arithmetic functions, 16 bit adders
for example, may take a long time to compile or cause an
Out of Memory error to appear.


Solution 1:

Use the @CARRY compiler directive to limit the bit width of
arithmetic functions.

Syntax:    @carry <expression>;

Use:	   The @CARRY directive specifies how adders, counters,
	   and comparators are generated, enabling you to
	   reduce the amount of logic required for processing
	   large arithmetic functions.

         For example, for a 16-bit adder, an @CARRY statement
         with an expression that results in 4 would divide
         the 16-bit adder into four 4-bit adders, creating
         intermediate nodes, thereby reducing the amount of
         logic generated. @CARRY 4 limits the lookahead
         carry by generating chains of 4-bit adders and
         comparators for all subsequent adder and comparator
         equations.

         If the @CARRY directive is not used or @CARRY 0 is
         specified, full lookahead carry is generated.

Example: Equations
         @CARRY 4; " generate adder chain
         [s16..s0] = [.x., a15..a0] + [.x., b15..b0];




End of Record #1669 - Last Modified: 12/27/99 17:12

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips!