Intel Agilex® 7 F-Series and I-Series FPGA Memory Subsystem IP User Guide

ID 789389
Date 10/02/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

6.3.3. BCAM Modify Operations

You can use a modify operation to change the result for an existing (key, result) entry; you must provide the key and the new result.

To perform a modify operation, follow these steps in the AXI-Lite interface:

  1. Write the key to the key_n registers.
  2. Write the result to the result_n registers.
  3. Write to the mgmt_ctrl register, specifying op_type = 0x4.
  4. Poll the mgmt_ctrl register until the busy bit = 0x0.
A successful modify operation sets the mgmt_ctrl register success bit to 0x1; if the operation fails, mgmt_ctrl is set to 0x0. If you attempt to modify an entry that does not exist, the operation fails.

The following image shows a modify operation on BCAM of key = 0x8765432109090909, where:

  • The address of mgmt_ctrl register is 0xb0, due to CSR_BASEADDR + CSR_ADDROFF + offset -> 0 + 0x60 + 0x50 = 0xB0.
  • The address of key_n register is 0x1060, due to CSR_BASEADDR + CSR_ADDROFF + offset -> 0 + 0x60 + 0x1000 = 0x1060.
  • The address of result_n register is 0x2060, due to CSR_BASEADDR + CSR_ADDROFF + offset -> 0 + 0x60 + 0x2000 = 0x2060.
Figure 29. Modify Operation on BCAM