Keywords: 9500, assertion, abnormal program termination
When implementing a 9500 CPLD design, the following error may occur:
hitop -f logic.xff -s -l logic.log -o logic
Optimizer/Partitioner Version XACT-CPLD-V6.0.2 (c) Copyright 1989-1995 Xilinx Inc. All rights reserved. Reading logic.xff Assertion failed: ia.RetSize()==1 && ia->RetInputInstance(), file outinst.cc, line 366
abnormal program termination
CAUSE: This error may happen if there is a wrong connection like OBUF driving internal logic. This can be verified from the schematics or the .xff file. An example of .xff file would be:
SYM, $I51, OBUF, SCHNM=OBUF, LIBVER=2.0.0 PIN, I, I, $Net00033_ PIN, O, O, SWIRLSELUP ^^^^^^^^^^ END SYM, $I75, INV, SCHNM=INV, LIBVER=2.0.0 PIN, I, I, SWIRLSELUP ^^^^^^^^^^ PIN, O, O, $Net00051_ END
SYM, $I79, AND, SCHNM=AND2, LIBVER=2.0.0 PIN, I0, I, SWIRLSELUP ^^^^^^^^^^ PIN, I1, I, $Net00050_ PIN, O, O, $Net00056_ END ...
An OBUF can only drive an OPAD, IOPAD, or IBUF. Remove the incorrect connection to fix the problem.
There will be an explicit message in the M1 release of the software. You will get message like: ERROR:basnu - output pad net 'SWIRLSELUP' has illegal connection