Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
Explain why the Wiki article on the subject is inadequate for having any information on the application of CAM? The wiki page has one application in the first paragraph and a whole section on "Example Applications".
Just stating you want to know the applications of CAM and want links suggests you don't want to do any research on your own. As a general rule if you want help on an open forum you first PROVE that you've made an effort on your own before asking for help, otherwise you just appear lazy.
If you can't find the wiki by the search term "CAM" did you try "Content Addressable Memory"
i have searched on wiki. it is saying that CAM can b used for neural networks, data bases etc etc. i want to specifically know the applications. for example in neural networks which application has used CAM. also for data bases, routers, image processing etc.
Networking MAC filtering is one specific application.
Basically anytime you need to know that a piece of data exists and don't really care about much else. They work well as lookup tables that would otherwise use excessive amounts of memory due to sparseness.
e.g. You get data packet of some sort with a header field that says where it goes. The field is 32-bits but you only have 8 destinations ports to route to and the destination addresses can change. Therefore you don't want to have a static lookup table but one that can be updated. A CAM can be used (or something that acts like a CAM). If you implement this brute force you would have to have 4Gb x3 of memory to hold the 8 destination port addresses. If you implement a CAM you would give it the 32-bit value and it will return a 3-bit port address (requiring only 8 memory locations total).
If you understand what it does then it's easy to see applications for it. I've implemented them (using a search algorithm) in FPGAs.
thanks dear for comprehensive reply. i know that it acts opposite to ram. i am learning this kind of memory. thanks for providing the example of MAC filtering. i wanted to know any specific application in real life. like which application is using it. i will be thankful if an application from neural network and image processing is provided.
I am an MS Student. I tried to implement CAM as SRAM in Xilinx. Then I applied the method of Bank Selection for the reduction of power consumption. My supervisor asked me to apply SRAM as CAM in some suitable CAM application. Can you tell me some applications. Because when I search for the application I find some general results. for example CAM is used in networking, data mining etc. you told me that CAM is used in network MAC filtering. Please provide me some papers related to the concept. More over do you have any idea on content centric networks(CCN).
Suppose a system uses a 32-bit "address" to route packets through a switch to one of 64 ports.
1. you could have a 32-bit input lookup table i.e 4G x 6 table to translate a 32-bit address to a 6-bit port address.
2. use a CAM to have a much more limited set of addresses supported. By making the CAM lookup become the port number.
So in 2 you would use the 32-bit value to produce the address location of the 32-bit value (written in the CAM) in this case you would end up say using a CAM with 8x the number of ports, so each port would have 8 locations in the CAM where you can store 8 valid 32-bit addresses that are routed to that port (i.e. you drop the lower 3-bits of the address returned by the CAM). Other options would be to add another lookup table to translate the CAM output address to an actual port number that would give you increased flexibility.
As you can see using a CAM would reduce the impractical 4G x 6 memory requirement to something much smaller at the expense of a slightly more complicated design.