Answers Database
Virtex IOFF: How to use the registers/FFS in the IOB?
Record #6214
Problem Title:
Virtex IOFF: How to use the registers/FFS in the IOB?
Problem Description:
Urgency : Standard
General Description: How do I use the FF's in the IOB's for Virtex?
Solution 1:
These are the map options to have registers absorbed into the IOB
map -pr o
map -pr b
where the first one absorbs registers for output registers, and the second absorbs
registers for both input and output registers.
Solution 2:
Virtex no longer has primitives that correspond to the synchronous elements
in the IOB's. There are a few ways to infer usage of these FF's if the rules for
pulling them into the IOB are followed.
All FF's that are to be pulled into the IOB must have a fanout of 1, this applies
to input, output and tri-state enable registers. For example, if there is a 32 bit
bidirectional bus then the tri-state enable signal must be replicated in the original
design so that it will have a fanout of 1.
All FF's must share the same clock and reset signal, they can have
independent clock enables.
One way to pull FF's into the IOB is to use the IOB=TRUE/FALSE attribute onto
the instantiated FFs, this gets applied to the instance name.
INST <FF_instance_name> IOB = TRUE|FALSE;
The other way to pull FF's into the IOB is to use a MAP directive. If using the
command line flow use the '-pr i|o|b' option ('i' for input FF's only, 'o' for output
FF's only or 'b' for both input and output).
If using the GUI's, in the Implementation options on the 'Optimize and MAP'
window there is a pulldown menu towards the bottom.
Solution 3:
For Tri-state FFs, one way to push them inside the IOB is to infer the FFs in the
HDL codes, and use map -pr o or b option.
End of Record #6214 - Last Modified: 10/12/99 12:47 |