When I use the FIFO Generator v2.2 or v2.3 with Virtex-4 to create a FIFO for the built-in FIFO16, the following errors occur in MAP:
"ERROR:LIT:372 - Attribute ALMOST_EMPTY_OFFSET=0x0000 setting for FIFO16 symbol
(output signal=XLXN_10_OBUF) is invalid.
ERROR:LIT:373 - Please see the Virtex-4 User Guide for valid settings.
Errors found during logical drc."
This problem is associated with the FIFO Generator GUI. The GUI allows you to enter an incorrect range of threshold values for the Programmable Full and Empty flags. The allowed range should be within the primitive depth limit. This problem occurs even if the Programmable Empty and Programmable Full flags are not used. The parameters are still passed to the FIFO16 primitive, which causes errors in MAP.
To work around this problem, follow these steps:
1. Open the FIFO Generator GUI.
2. Enable the programmable flags (select an option other than "No Programmable Full Threshold").
3. Enter valid threshold values that are within the primitive depth limit.
4. Disable the programmable flags if they are not needed (select "No Programmable Full Threshold").
5. Re-generate the core.
If you are using v2.3 of the core, the threshold value entered will change back to default value as soon as the programmable flags are disabled. Therefore, in v2.3, to work around this issue:
1. Choose "Single or Multiple Programmable Flags".
2. Set the correct threshold value.
3. Keep the programmable flags whether needed or not.
4. In the design, do not connect the programmable flags if not needed.