allare used, it forces all arrays implemented as block RAM to be returned to their initialized state after reset. This may result in two very undesirable conditions in the RTL design:
- Unlike a power-up initialization, an explicit reset requires the RTL design iterate through each address in the block RAM to set the value: this can take many clock cycles if N is large, and requires more area resources to implement the reset.
- A reset is added to every array in the design.
To prevent adding reset logic onto every such block RAM, and incurring the cycle
overhead to reset all elements in the RAM, specify the default
control reset mode and use the RESET directive to identify individual
static or global variables to be reset.
Alternatively, you can use the
reset mode, and use the RESET directive
off option to
identify individual static or global variables to remove the reset from.