HBM BCAM (EM) - 2022.2 English

Vitis Networking P4 User Guide (UG1308)

Document ID
2022.2 English

HBM BCAM (EM - exact match) is a binary match of a search key to one of the keys stored within the table, inside the HBM memory. HBM allows for significantly larger tables to be supported compared to URAM/BRAM-based tables. The associated value for the key is returned within the response as well as an indication of whether the key produced a match. This CAM type requires an HBM capable device.

  • Key width: 10 to 1024 bits
  • Response width: 1 to 1024 bits
  • Maximum look-up rate: 18.75, 37.5, 75, or 150 million look-ups per second (Mlps), depending on number of pseudo channels used.
  • Native look-up rate 18.75 Mlps. For a higher look-up rate, replication of 2, 4, or 8 is used.
  • Size: 1 to 1 billion entries (maximum of 1 billion entries for look-up rates up to 18.75 Mlps and 64 bit entries). Note that this maximum number of entries reduces if a higher look-up rate is used.
  • Entry size: 64, 128, 256, 512, or 1024 bits.
  • Hit/miss flag: Yes.
Note: look-up rate = packet rate for Vitis Networking P4

The following is an example of how to instantiate a HBM BCAM in a P4 file:

    table forwardIPv4 {
        key             = { hdr.ipv4.src : exact;
                            hdr.ipv4.dst : exact; }
        actions         = { forwardPacket; 
                            dropPacket; } 
        size            = 1048576;
        default_action  = dropPacket;
The following block diagram shows a Vitis Networking P4 IP with a HBM BCAM instance.
Figure 1. Vitis Networking P4 IP with HBM BCAM

For more detailed information on how the compiler selects a BCAM, see the Compiler Table Selection section of this chapter. You must also select a 'High Bandwidth RAM' style in the Vitis Networking P4 GUI (see the Example Design Use (with HBM BCAM) section of this chapter). For more information on HBM BCAMs, see HBM/DDR4 Binary CAM Search LogiCORE IP Product Guide (PG336).