Under what circumstances will MAP, when invoked with the "-pr b" switch to pack registers into the IOB, move registers into the IOBs?
Under the following circumstances, a CLB FF will be merged into an IOB when MAP is invoked with the "-pr b" option:
1. The "D" pin of the FF must be connected to the output of an IBUF, or the "Q" pin must be connected to the input of an OBUF or OBUFT.
If an FF is connected to the input of an OBUF or OBUFT, there must be only one load on this output signal. If the "Q" pin drives anything other than the OBUF or OBUFT, the FF will not be merged.
If an FF is connected to the output of an IBUF, all loads driven by the "Q" pin must be external to the IOB. For example, if the output feeds back into the input of the FF, the FF will not be merged.
For the 4000EX/XL, this applies to non-I/O latches as well as flip-flops.
2. The architecture's IOBs must support input or output flip-flops.
(The XC5200 architecture does NOT have IOB flip-flops.)
3. There is no CLB external net attribute (X flag) attached to the signal between the flip-flop and the I/O buffer.
4. For the 4000, the flip-flop must not use a local set or reset signal. The IOB flip-flops support only GSR.
5. For all Virtex and 4000 devices, a flip-flop/latch will not be added to an IOB if it is part of a macro.
6. For all Virtex, 4000 and 3000 devices, a flip-flop/latch will not be added to an IOB if it has a BLKNM or LOC conflict with the IOB.
7. For Virtex and 4000 devices, a flip-flop/latch will not be added to an IOB if its control signals (clock or clock enable) are not compatible with those already defined in the IOB. This is for those cases where:
-- a flip-flop (latch) is already in the IOB, and a latch (flip-flop) needs to be added, or
-- a flip-flop already exists in the IOB and is clocked by a different clock signal.
8. A flip-flop/latch will not be added to an IOB if there is an inverter on the pad side of the IOB.
9. In 4000X*, if a constant 0 or 1 is being driven on the IOPAD, a flip-flop/latch with a CE will not be added to the input side of the IOB.