AR# 1638: XABEL,XACT-CPLD: Only one product term allowed for OE, Set, Reset, Clk (9500, 7300)
XABEL,XACT-CPLD: Only one product term allowed for OE, Set, Reset, Clk (9500, 7300)
Keywords: XABEL, CPLD, 7300
The XC7300 and XC9500 devices only support a single product term for output enables, register clocks, sets and resets.
In ABEL, any equation for nodes with the following dot extensions may only have one product term.
.AP, .AR, .CLK, .OE, .PR, .RE
For example, the following equation will compile fine in ABEL, but the XEPLD Fitter will issue an error.
DATA.OE = (A&B) # (C&D);
The error will read : cl253: [Error] This type of equation can only have one product term.
To fix the problem, declare a new node to implement the equation with multiple pterms. Also declare the new node with the ISTYPE 'KEEP' attribute to prevent the Abel Compiler from collapsing the node and turning it back into a multiple product term equation.
So, for the example given above, the new code would include:
NEW node istype 'keep'; "the new node
NEW = (A&B) # (C&D); "assigning the multiple pterm equation DATA.OE = NEW; "now the .OE equation is a single pterm
In M1 (EDIF flow), you can use multiple p-term logic in all supported XABEL dot-extension equations, including .clk, .oe, .ap, .ar, .pr, .re. The CPLD fitter automatically creates nodes for the logic to feedback to the appropriate control p-terms.