- CAM Mode
- The pull-down menu options are: BCAM, STCAM, and TCAM. Depending on the
option selected, the available configuration parameters vary.
- BCAM
- Selects the Binary Content Addressable Memory. Figure 1 shows the configuration parameters when BCAM is selected. BCAM is described in this document.
- STCAM
- Selects the Semi-Ternary Content Addressable Memory. Figure 2 shows the configuration parameters when STCAM is selected. Refer to Semi-Ternary CAM Search LogiCORE IP Product Guide (PG319).
- TCAM
- Selects the Ternary Content Addressable Memory. Figure 3 shows the configuration parameters when TCAM is selected. Refer to Ternary CAM Search LogiCORE IP Product Guide (PG318).
Figure 1. BCAM Configuration Parameters

Figure 2. STCAM Configuration Parameters

Figure 3. TCAM Configuration Parameters

- Update Mode
- The supported modes are software managed and hardware managed.
Software managed mode uses the
bcam_insert
orbcam_update
orbcam_delete
API. The driver maintains a shadow of the table entries.Hardware managed mode uses the
cbcam_insert
orcbcam_update
orcbcam_delete
API. The update operations are performed by a hardware state machine and the driver only performs register writes. Hardware managed mode also enables the Hardware Update Interface (HWUI) for update operations without software.Note: This parameter is only available for BCAM. - Fixed/Variable Rate
- Enable variable lookup rate. Variable rate uses less RAM and logic resources
for most configurations, but does not offer fixed lookup rate or fixed
latency.Note: This parameter is only available for STCAM.
- Number of Entries
- The supported number of entries (depth). The number of entries is limited by the number of RAM instances available in the target device.
- Key Width
- The width of the lookup key (in bit).Note: This parameter is only available for BCAM and STCAM (unless ranges are selected).
- Format String
-
Note: This parameter is only available for TCAM or STCAM with ranges selected.The format string describes the format of all keys and masks. A key consists of several fields and the format string specifies the location and size of the fields. In the format string, fields are separated by a colon ':'. The format string is read left to right. The first field corresponds to the least significant bit of the key. The key is specified as little-endian. Each field is specified with a field length and field type. There are no alignment restrictions for the fields. The location, type, number, and size of fields is fully flexible. The following field types and lengths are supported:
- b - bit field
- The field mask is either all zeroes or all ones; field_len = 1..128 bit, complexity = 2
- t - ternary field
- The field mask can have any value; field_len = 2..16 bit, complexity = 2^field_len
- c - constant bit field
- The mask is all ones; field_len = 1..128 bit, complexity = 1
- u - unused bit field
- The mask is all zeroes; field_len = 1..128 bit, complexity = 1
- p - prefix field
- The mask has a pattern of consecutive zeroes and ones; field_len = 1..128 bit, complexity = field_len + 1
- r - range field
- Matching is performed with logic comparators within start/end values
Note: The ternary (t) field has the highest compute complexity and must be used with caution. Specifying a wide key with only ternary fields will make the software driver too slow for practical use. - Response Width
- The width of the lookup response.
- Default Response
- Specify the Default Response value when Lookup has no match. Valid range is between 1 to 1024 bits specified in Hex. The value is set to zero by default.
- Number of Masks
-
The number of unique masks. The Vivado CAM compiler generates a STCAM supporting both the specified number of unique masks and the specified number of entries at the same time.
- Automatically Calculated
- The Vivado CAM compiler calculates the appropriate value based on Number of Entries.
Note: This parameter is only available for STCAM. - Priority Width
-
Note: This parameter is only available for STCAM and TCAM.The priority is usually defined wide enough to support one unique priority value per entry. The width can be larger to facilitate easier STCAM and TCAM management or narrower if entries are order independent and guaranteed not to overlap.
- Automatically Calculated
- When this check box is selected, the Vivado CAM compiler automatically calculates the appropriate value based on Number of Entries. You can override this by deselecting this check box and specifying the appropriate value.