The cache memory provides the actual cache functionality in the core. The cache is configurable in terms of size and associativity.
The cache size can be configured with the parameter
C_CACHE_SIZE according to User Parameters. The selected size is a
trade-off between performance and resource usage, in particular the number of on-chip
The associativity can be configured with the parameter
C_NUM_WAYS according to User Parameters. Increased associativity generally
provides better hit rate, which gives better performance but requires more area
The type of memory used for Tags, Data and LRU can be configured with the
C_CACHE_LRU_MEMORY_TYPE respectively. The possible values are
URAM, except that
LUTRAM cannot be selected for Data. Additionally,
it is only possible to select
URAM for UltraScale+ devices. The default configuration,
Automatic, is generally recommended, but for larger cache
URAM for Data (if possible) will
provide better resource utilization.
The correspondence between selected parameters and on-chip RAMs used can be found in Performance and Resource Utilization.