UPGRADE YOUR BROWSER

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# 1846

2.1i/1.5x/XABEL-CPLD: Controlling optimization using 'keep' and 'LOGIC_OPT'

Description

Keywords: XABEL, CPLD, keep, logic_opt

Urgency: Standard

General Description:

The CPLD Fitter will attempt to reduce the number of logic
levels for all signal paths. This means that the resulting
logic functions have a wider signal fan-in and may require more
product terms than if some of the reduced combinatorial nodes
were retained.

If the design is running out of function block inputs or
product terms, and it has combinatorial nodes which are being
collapsed, you can selectively control the optimization, and
preserve selected nodes. This can free up additional function
block inputs and/or macrocell product terms at the expense of
the macrocells used to implement the combinatorial nodes.

Solution

1

XABEL-CPLD:

To prevent optimization of selected nodes, you must instruct
BOTH the Abel compiler AND the CPLD fitter to preserve the
specified nodes. The 'keep' attribute will tell Abel not to
collapse the node, and the 'LOGIC_OPT' property statement will
tell the Fitter not to optimize it.

In the ABEL file, the following 2 lines must be included in the
Declarations section to prevent the collapsing of the node
MY_NODE.

MY_NODE node istype 'com, keep';
XEPLD Property 'LOGIC_OPT OFF MY_NODE';



2

In 2.1i/1.5x (EDIF flow), the KEEP attribute tells both the ABEL compiler
and the CPLD fitter to preserve the node; the LOGIC_OPT attribute is no
longer needed and is obsolete.
AR# 1846
Date Created 02/04/1997
Last Updated 08/24/2001
Status Archive
Type General Article