Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


Why doesn't XBLOX 5.2 optimize all my flip-flops into IOBs as in previous versions?


Record #978

Product Family:  Software

Product Line:  FPGA Core

Problem Title:
Why doesn't XBLOX 5.2 optimize all my flip-flops into IOBs as in
previous versions?



Problem Description:
For a flip-flop to be pushed into IOBs by default, XBLOX 5.1 requires that
the following the following criteria (as stated on page 6-5 of the X-BLOX
Reference/User Guide, October 1995), be met:

1. The flip-flop is connected to an I/O symbol and only an I/O symbol.
   This can be an XBLOX INPUTS, OUTPUTS, or BIDIR_IO symbol, or an IBUF,
   OBUF, or OBUFT symbol.

2. The flip-flop does not use its clock-enable pin.  Using this pin
   prevents the flip-flop from being implemented in an IOB flip-flop, since
   IOB flip-flops do not have clock-enable pins.  (This criterion does not
   apply to XC4000E or XC4000EX designs, since these families do have clock
   enables on IOB flip-flops.)

3. The IOBs have input or output flip-flops.  The XC4000H and XC5200
   architectures are examples of architectures which do NOT have IOB
   flip-flops.

4. There is no CLB external net attribute (X flag) attached to the signal
   between the flip-flop and the I/O pad.

5. The SYNC_CTRL and ASYNC_CTRL pins are not connected to the DATA_REG or
   SHIFT module; or the PRE or CLR pins are not used on the flip-flop or
   counter component.

In XBLOX 5.2, an additional criterion was added:

6. If the register is a candidate for an output flip-flop, it must be
   sourced directly by another flip-flop, and not by combinational logic.
   (This was done to favor the internal set-up time to the flip-flop over
   its clock-to-pad delay.)

Note that this only applies when pushing flip-flops toward outputs, and
should not affect the optimization of input flip-flops.


Solution 1:

If you wish to force an XBLOX module's flip-flops into IOBs this may be
done by placing a STYLE=IOB attribute on the symbol.  Flip-flops not
generated by XBLOX modules must be instantiated using the explicit IOB
flip-flop component (e.g., OFD).



End of Record #978

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

© 1998 Xilinx, Inc. All rights reserved
Trademarks and Patents