AN 999: Drive-on-Chip with Functional Safety Design Example: Agilex™ 7 Devices

ID 823627
Date 7/04/2024
Public
Document Table of Contents

4.4. Shared Memory Subsystem

The shared memory is a 4x32 bit dual-port block RAM.

One side connects via AXI to the HPS. The other side connects via APB interface to the FPGA cross comparison block. The design implements error correction codes (ECC) on both ports, allowing single-bit errors to be automatically corrected and multibit errors to be detected. The correction of single-bit errors allows the safety function to continue despite a single fault. If uncorrectable multibit errors are detected, the memory_fault_p/n complementary-pair output is asserted. You can only deassert this output by the active-low reset_safety_n input.

Table 3.  Shared Memory Address MapThe table shows the four addresses of 32-bit words in the shared memory.
Address Data
0x0 FPGA payload
0x4 FPGA status
0x8 HPS payload
0xC HPS status
Table 4.   Definition of Status Bits
FPGA status / HPS status bit Meaning
0 Valid data from the channel is ready to be compared. Comparison pending.
1 Comparison done in the corresponding channel.