We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 7879

F2.1i XABEL - Internal Error 0001: assert event at line 359 in file "Z:\Lib\tsokit\TSOCELL\TSO_SIG.C"


Keywords: Xabel, ABEL, abl2edif, Z:\Lib\tsokit\TSOCELL\TSO_SIG.C, Blif2Net, Foundation, CPLD, 9500, macro

Urgency: Standard

General Description:

When compiling an ABEL design, abl2edif completes all the way
to blif2net, and then issues a message similar to the following:

blif2net bjack.bl4 -o bjack.edn -str top -inc bjack.if -idev
C:\fndtn\data\xlnxlib\xlnx_edf.rul -lib C:\fndtn\data\xlnxlib -err bjack.err

Error: The executable "blif2net" exited with error code 2.

Blif2Net Open-Abel 2 To Netlist Translator
ABEL 6.30 Copyright 1983-1996 Data I/O Corp. All Rights Reserved.
This program is based on MISII, a UC Berkeley optimization tool.

Internal Error 0001: assert event at line 359 in file "Z:\Lib\tsokit\TSOCELL\TSO_SIG.C"
abl2edif has failed.



This error has been found to occur when the following four conditions apply:
1) Compiling using ABEL 6.4 (included in Foundation 2.1)
2) The target device is a CPLD (i.e. 9500)
3) The .abl file is compiled as a macro
4) The ABEL design contains equations which include the output of another equation.

ABEL version 7.2 fixes the problem in most cases.
ABEL 7.2 is available now through WEBPACK
This will also be fixed in Foundation 3.1i release.

To use a mixed flow of Foundation schematic and ABEL macro compiled with Webpack:

1) Create a project in Webpack's project Navigator.
2) Select 'Source' ->'Add...' and then browse to add the desired ABEL macro file.
3) Highlight 'Virtual Device' in the top left window.
4) In the top right window, right click on 'EDIF Netlist For External Fitter'
5) Select the 'Properties...' menu item in the pop up window.
6) In the Process Properties window change the 'I/O Buffer insertion' value to 'Macro-Level'
7) Double click on 'EDIF Netlist For External Fitter' to create the edif netlist.
8) Copy the EDIF netlist to the Foundation project directory.
9) Edit the macro symbol properties to point to the .edn file.
a) Change "$FILE= <macro>.abl" to $FILE=<macro>.edn
b) Remove "$DEF=ABEL

In approximately 80% of cases seen, a user may work around the problem by doing the following:
1) Change the project type to a 4ke device project.
2) Compile the ABEL macros to edif.
3) Edit the macro symbol properties to point to the .edn file.
a) Change "$FILE= <macro>.abl" to $FILE=<macro>.edn
b) Remove "$DEF=ABEL
4) Change the project type back to 9500 and continue as normal.


The problem is usually caused by combinatorial feedback eqations such as the following:

fb = A & B;
output = fb;

Changing the code to:
fb = A & B;
output = A & B;
should to allow the compiler to complete successfully.
AR# 7879
日期 06/10/2002
状态 Archive
Type 综合文章