Visible to Intel only — GUID: wfv1666019479869
Ixiasoft
Visible to Intel only — GUID: wfv1666019479869
Ixiasoft
3.2.1.1. Memory Subsystem BCAM Operations
Keys are programmed and managed in BCAM using an AXI-Lite interface to bucket memory (i1, i2). Lookup operations can begin after the successful insertion of keys in the BCAM. The following subsections describe the operations supported by the IP.
Insertion
You can insert a new entry composed of key and result into the BCAM database. The Global Key Mask parameter masks the key to remove bits that are not used. The key is hashed to calculate the index of the bucket memory tables and fingerprint of the key. If the key already exists, the BCAM returns insertion failed; if the key does not exist, the operation proceeds and the result is stored in its respective bucket memory index along with the fingerprint of the key and a valid bit. If all slots are occupied in both bucket memories, cuckoo swapping is triggered.
Delete/Modify
Delete and modify operations are available for already-existing keys. The key is masked with the Global Key Mask parameter to remove bits that are not used. The key is then hashed to calculate the index of the bucket memory tables and fingerprint of the key. If the key already exists, BCAM proceeds with the delete or modify operation and returns an operation status of Success, and the bucket memory is updated; if the key does not exist, the operation returns a status of Fail.
Lookup
Lookup operations are available for already-existing keys. The key is masked with the Global Key Mask parameter to remove the bits that are not used, and then the key is hashed to calculate the index of the bucket memory tables and fingerprint of the key. For a lookup request from AXI ST interface, a found indication on ss_app_st_resp_tuser_found signal , lookup key and associated result are returned through the AXI-ST responder interface. For a lookup request from the AXI-Lite interface, the result is accessible through the Result_N and Mgmt_Ctrl registers.
Flush
During a flush operation, the BCAM resets the memory so that it contains no entry, and sets the global key mask to a default value of high, to indicate that all bits of the key are valid.