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

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