Answers Database
 
XABEL-CPLD: Out Of Memory error or long compile times (@CARRY directive) 
Record #1669
Product Family:  Software
Product Line:  Data I/O
Problem Title:
XABEL-CPLD: Out Of Memory error or long compile times (@CARRY
directive)
Problem 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
| For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals! |