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.
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;
}
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).