Pure AXI Example - 5.0 English

System Cache LogiCORE IP Product Guide (PG118)

Document ID
PG118
Release Date
2021-11-05
Version
5.0 English

An Ethernet communication system example is shown in the following figure. The system consists of a MicroBlaze processor connected point-to-point to two optimized ports of the System Cache core. A DMA controller is connected to a generic port on the System Cache core through a 3:1 CCIX Component Overview interconnect, because the DMA controller has three master ports. The DMA in turn is connected to the Ethernet IP core using an AXI4-Stream MicroBlaze processor peripheral data port (M_AXI_DP) for register configuration and control interface. Standard peripheral functions such as a UART, timer, interrupt controller as well as the DMA controller control port are connected to the MicroBlaze processor peripheral data port (M_AXI_DP) for register configuration and control.

With this partitioning the bandwidth critical interfaces are connected directly to the System Cache core and kept completely separated from the AXI4-Lite based configuration and control connections. This system is used as an AXI-specific example throughout the documentation.

Figure 1. Ethernet Systems

In this example, the MicroBlaze processor is configured for high performance while still being able to reach a high maximum frequency. The MicroBlaze processor frequency is mainly improved due to small cache sizes, implemented using distributed RAM.

The lower hit rate from small caches is mitigated by the higher system frequency and the use of the System Cache core. The decreased hit rate in the MicroBlaze processor caches is compensated by cache hits in the System Cache core, which incur less penalty than accesses to external memory.

Write-through data cache is enabled in the MicroBlaze processor which, in the majority of cases, gives higher performance than using write-back cache when MicroBlaze processor L1 caches are small. The reverse is usually true when there is no System Cache core, or when MicroBlaze processor L1 caches are large. Finally, victim cache is enabled for the MicroBlaze processor instruction cache, which improves the hit rate by storing the most recently discarded cache lines.

All AXI4 data widths on the System Cache core ports are matched to the AXI4 data widths of the connecting modules to avoid data width conversions, which minimizes the AXI4 interconnect area overhead. The AXI4 1:1 connections are only implemented as routing without any logic in this case. All AXI4 ports are clocked using the same clock, which means that there is no need for clock conversion within the AXI4 interconnects. Avoiding clock conversion gives minimal area and latency for the AXI4 interconnects. The parameter settings for the MicroBlaze processor and the System Cache core can be found in the following tables.

Table 1. MicroBlaze Processor Parameter Settings for the Ethernet System
Parameter Value
C_CACHE_BYTE_SIZE 512
C_ICACHE_ALWAYS_USED 1
C_ICACHE_LINE_LEN 8
C_ICACHE_STREAMS 0
C_ICACHE_VICTIMS 8
C_DCACHE_BYTE_SIZE 512
C_DCACHE_ALWAYS_USED 1
C_DCACHE_LINE_LEN 8
C_DCACHE_USE_WRITEBACK 0
C_DCACHE_VICTIMS 0
Table 2. System Cache Parameter Settings for the Ethernet System
Parameter Value
C_NUM_OPTIMIZED_PORTS 2
C_NUM_GENERIC_PORTS 1
C_NUM_WAYS 4
C_CACHE_SIZE 65536
C_M_AXI_DATA_WIDTH 32