Faster Search Applications Using APEX 20KE CAM
Search applications implemented in APEX CAM are up to 98% faster than similar applications implemented in RAM.
Memory applications often involve searching. Up to now, search applications have been implemented in programmable logic devices (PLDs) using random access memory (RAM). When using RAM, the system supplies the address, and RAM returns the data, as shown in Figure 1.
However, searching for an item in RAM can take many clock cycles. The latency of the search depends on the depth of the RAM block; for example, a 64-word, 32-bit RAM block requires up to 64 clock cycles to find the data.
Alternatively, an item stored in memory can be identified much faster by its content than by its address. Content-addressable memory (CAM), shown in Figure 1, works in this way--the system supplies the data, and CAM returns the address--making it ideal for high-speed search applications.
Figure 1. APEX Integrated CAM vs. RAM
CAM When using CAM, the system supplies the data, and CAM returns the address. |
RAM When using RAM, the system supplies the address, and RAM returns the data. |
 |
 |
CAM simultaneously compares the data requested against a list of entries, providing an order-of-magnitude reduction in search time over RAM. Other memory algorithms, such as binary- or tree-based searches, or look-aside tag buffers, perform a sequential search through the memory space, and are thus much slower than CAM.
Comparing APEX CAM with RAM
To better understand the performance advantages of using CAM, we can compare the total time required to search for an item using both RAM and CAM. Locating an item in a 32-word, 32-bit RAM block running at 125 MHz requires up to 256 ns, as 32 clock cycles of 8 ns each may be needed to find a match. In contrast, the total time required to find an item in a similar-sized CAM block is only 4 ns, or 1 clock cycle of 4 ns. The CAM implementation is 98% faster than the RAM implementation, with a latency of only 1 clock cycle, unlike the maximum latency of 32 clock cycles needed in RAM.
APEX Integrated CAM Provides Superior Performance over Discrete CAM
Traditionally, search applications use discrete CAM, implemented as an individual device. A designer must therefore add an individual CAM device to the printed circuit board (PCB), which increases design time and cost, and reduces the amount of useable PCB space. Discrete CAM also reduces system performance since it introduces additional on- and off-chip delays, as shown in Figure 2.
The innovative integrated CAM of APEX devices provides higher performance than discrete CAM by eliminating both on- and off-chip and PCB board delays. Also, APEX CAM is manufactured on a more advanced process technology, a 0.18-µm process, which has a much faster access time (4 ns) than the 20-ns access time of a typical discrete CAM manufactured on older processes. Figure 2 illustrates the system performance advantages of APEX CAM.
Figure 2. APEX Integrated CAM Provides Superior Performance
With the integrated CAM provided by APEX devices, designers can implement fast, efficient data searches.
Related Links
|