Answers Database
XABEL, Foundation F1.x: AHDL2BLF or BLIFOPTstep runs indefinitely during ABL2EDIF
Record #3007
Product Family: Software
Product Line: Data I/O
Product Part: abl2edif
Problem Title:
XABEL, Foundation F1.x: AHDL2BLF or BLIFOPTstep runs indefinitely during ABL2EDIF
Problem Description:
Urgency: Standard
General description:
In Foundation F1.x, HDL Editor, when running Synthesize on an
ABEL design:
The ABL2EDIF process is invoked and either AHDL2BLF hangs
or AHDL2BLF completes, or the BLIFOPT step begins but never
completes. One possible cause is that the design contains some
large comparator logic (of the form Y = A == B). This problem
also occurs under Synario v3.00.
Solution 1:
Insert the following ABEL directive at the top of your declaration
section or before the problematic equation:
@carry 2;
This will cause the ABEL compiler to break up the large equation into a
number of smaller intermediate nodes, which can then be translated into
EDIF more efficiently. The Xilinx Implementation software will optimize the
logic across the intermediate nodes.
Solution 2:
In the ABEL source, decompose any equations containing
comparator logic by separating out the comparator logic into
new intermediate node equations. Express the intermediate node
equations as active-low comparators of the form NOT_Y = A != B.
Also, prevent collapsing of the intermediate nodes by applying
the attribute KEEP.
For example, if the original equation is:
Q = (A == B) & something # (C == D) & smore ;
Decompose into:
A_ne_B = (A != B); "new node
C_ne_D = (C != D); "new node
Q = (!A_ne_B) & something # (!C_ne_D) & smore ;
Then declare the new nodes with the KEEP attribute, as in:
A_ne_B, C_ne_D node istype 'KEEP';
End of Record #3007 - Last Modified: 06/21/99 13:56 |