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! |