Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎05-10-2008

How to constuct a combination of RAM and CAM ?

Since a few weeks I try to programm in VHDL. I´m using ISE Webpack 10.1. The DSP 1800 A board is ordered.

After some counters and shift registers I want to try something bigger. 

My idea is to programm a rotor machine like the enigma machine in VHDL.

To programm the algorithmus in C is not a problem; but doing this in VHDL is a hard thing. 

At the moment I have the following problem:

The rotors of the maschine are RAM´s to write and read a character using an address.

But it´s also essential to search for a character and get the index.

So it´s similar to a CAM.

So what I need is a combination of a RAM and a CAM.

How to effcient realize this in VHDL without waisting slices ?

A shift register for rotation is not needed because you can do this by indexing using a modulo counter.


P.S.: English is not my mother language.


Help would be appreciated

Thank you 

0 Kudos
1 Reply
Registered: ‎08-14-2007

All CAMs I've seen can also be addressed as RAM; at the very least, that's usually how you load the data into them, though they generally support reading it back as well.


Xilinx has application notes on implementing CAMs.  The main approaches are either fully combinatorial,, with all comparisons done in parallel, which uses a lot of LUTs, or using a high-speed clock to cycle through the necessary comparisons, using BRAMs, SRL16s, or distributed RAM to store the data.

0 Kudos