Cache Memory - 5.0 English

System Cache LogiCORE IP Product Guide (PG118)

Document ID
Release Date
5.0 English

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 RAMs.

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 resources.

The type of memory used for Tags, Data and LRU can be configured with the parameters C_CACHE_TAG_MEMORY_TYPE, C_CACHE_DATA_MEMORY_TYPE and C_CACHE_LRU_MEMORY_TYPE respectively. The possible values are Automatic, LUTRAM, BRAM and 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 sizes selecting 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.