Preliminary Data Sheet
LANCAM
®
1
ST
Family
FEATURES AND BENEFITS
Ø
Full compatibility among all LANCAM 1
ST
devices, allowing CAM density variations
within any application
Ø
Full CAM technology for simplicity and
speed: one single cycle to find, learn, or
delete an entry
Ø
Ø
Ø
Ø
3.3 volt operation for low power dissipation
Powerful LANCAM instruction set for
application flexibility
Partionable CAM/RAM array for associated
data storage
Low cost per entry for cost sensitive
applications
Ø
Ø
Ø
Ø
Ø
Ø
Ø
Ø
Ø
High density content-addressable memory
(CAM) family
2K (2481L), 4K (4481L), and 8K (8481L) words
64-bit per word memory organization
Fast 100 ns compare speed
MUSIC’s patented CAM/RAM partitioning
Powerful LANCAM instruction set
16-bit I/O
3.3 volt operation
44 pin PLCC
DISTINCTIVE CHARACTERISTICS
D AT A (64)
MUX
D AT A (16)
VC C
D Q (15–0)
(16 )
I/O B UF FERS
G ND
D AT A (16)
D EM U X
D AT A (64)
C O M M A N D S & STA TU S
(16 )
SO U R C E A N D
D ESTIN ATIO N
SEG M EN T
C O U NT ERS
C O M PA R A ND
M A SK 1
M A SK 2
2 N x 2 VA LID ITY BITS
/E
/M F
A DD R ESS D EC O D ER
PR IO RITY EN C O D ER
INST RU C TIO N (W /O )*
/W
C O N TRO L
/CM
/RESE T
A DD R E SS A DD R E SS
N EXT FR EE AD D RESS (R /O )
C O N TRO L
SEG M EN T CO N TR O L
STA TU S (15–0 ) (R/O )*
STA TU S (3 1–16) (R / O )
R EG ISTER S ET
M A TC H A D DR , /M F
/M M , /FF
N+ 1
2
N
/FF
C AM A R RA Y
2 N WO RD S
X 64 BITS
Block Diagram
MUSIC Semiconductors, the MUSIC logo, LANCAM, and the phrase “MUSIC Semiconductors” are
registered trademarks of MUSIC Semiconductors. MUSIC is a trademark of MUSIC
Semiconductors. Certain features of this device are patented under U.S. Patent 5,383,146.
1 October 1998 Rev. 1a
LANCAM 1
ST
Family
GENERAL DESCRIPTION
The LANCAM 1
ST
family consists of high density content-
addressable memories (CAMs) in a variety of depths. Like the
other LANCAM series from MUSIC Semiconductors, the
LANCAM 1
ST
is ideal for time critical applications requiring
intensive list processing.
Content-addressable memories, also known as associative
memories, operate in the converse way to random access
memories (RAM). In RAM, the input to the device is an address
and the output is the data stored at that address. In CAM, the
input is a data sample and the output is a flag to indicate a
match and the address of the matching data. As a result, CAM
searches large databases for matching data in a short, constant
time period, no matter how many entries are in the database.
The ability to search data words up to 64 bits wide allows large
address spaces to be searched rapidly and efficiently. A
patented architecture links each CAM entry to associated data
and makes this data available for use after a successful
compare operation.
The MUSIC LANCAM 1
ST
is ideal for address filtering and
translation applications in LAN switches and routers. The
LANCAM 1
ST
is also well suited to encryption, data caches,
and branch tables.
OPERATIONAL OVERVIEW
To use the LANCAM 1
ST
, the user loads the data into the
Comparand register, which is automatically compared to all
valid CAM locations. The device then indicates whether
or not one or more of the valid CAM locations contains
data that match the target data. The status of each CAM
location is determined by two validity bits at each memory
location. The two bits are encoded to render four validity
conditions: Valid, Skip, Empty, and Random Access, as
shown in Table 1. The memory can be partitioned into CAM
and associated RAM segments on 16-bit boundaries, but
by using one of the two available mask registers, the
CAM/RAM partitioning can be set at any arbitrary size
between zero and 64 bits.
The LANCAM 1
ST
’s internal data path is 64 bits wide for
rapid internal comparison and data movement. Loading data
to the Control, Comparand, and mask registers
automatically triggers a compare. Compares may also be
initiated by a command to the device. Associated RAM
data is available immediately after a successful compare
operation. The Status register reports the results of
compares including all flags and addresses. Two Mask
registers are available and can be used in two different
ways: to mask comparisons or to mask data writes. The
random access validity type allows additional masks to
be stored in the CAM array where they may be retrieved rapidly.
A simple three-wire control interface and commands
loaded into the Instruction decoder control the device.
A powerful instruction set increases the control flexibility
and minimizes software overhead. These and other
features make the LANCAM 1
ST
a powerful associative
memory that drastically reduces search delays.
Skip Bit
0
0
1
1
Empty Bit
0
1
0
1
Entry Type
Valid
Empty
Skip
RAM
/FF
G ND
G ND
DQ 0
DQ 1
DQ2
DQ 3
V CC
/C M
V CC
NC
40
41
42
43
44
1
2
3
4
5
6
Table 1: Entry Types vs. Validity Bits
G ND
D Q4
DQ 5
V CC
V CC
TES T 2
G ND
G ND
DQ6
DQ7
V CC
/W
LOW
LOW
HIGH
HIGH
/CM
Cycle Type
LOW
Command Write Cycle
HIGH
Data Write Cycle
LOW
Command Read Cycle
HIGH
Data Read Cycle
Table 2: I/O Cycles
2
7
8
9
10
11
12
13
14
15
16
17
4 4 -pi n P L CC
(Top V ie w )
39
38
37
36
35
34
33
32
31
30
29
NC
/MF
V CC
G ND
/R
V CC
V CC
TES T 1
/E
/W
G ND
28
27
26
25
24
23
22
21
20
19
18
G ND
DQ9
DQ8
Pinout Diagram
D Q 13
D Q 12
G ND
D Q 11
D Q 10
G ND
D Q 15
D Q 14
Rev. 1a
LANCAM 1
ST
Family
PIN DESCRIPTIONS
All signals are implemented in CMOS technology with TTL levels. Signal names that start with a slash (“/”) are active LOW. Inputs
should never be left floating. The CAM architecture draws large currents during compare operations, mandating the use of good layout
and bypassing techniques. Refer to the Electrical Characteristics section for more information.
/E (Chip Enable, Input, TTL)
The /E input enables the device while LOW. The falling
edge registers the control signals /W and /CM. The rising
edge turns off the DQ pins and clocks the Destination and
Source Segment counters. The four cycle types enabled
by /E are shown in Table 2 on page 2.
/W (Write Enable, Input, TTL)
The /W input selects the direction of data flow during a
device cycle. /W LOW selects a Write cycle and /W HIGH
selects a Read cycle.
/CM (Data/Command Select, Input, TTL)
The /CM input selects whether the input signals on
DQ15–0 are data or commands. /CM LOW selects Command
cycles and /CM HIGH selects Data cycles.
DQ15–0 (Data Bus, I/O, TTL)
The DQ15–0 lines convey data, commands, and status to
and from the LANCAM 1
ST
. /W and /CM control the
direction and nature of the information that flows to or
from the device. When /E is HIGH, DQ15–0 go to Hi-Z.
/MF (Match Flag, Output, TTL)
The /MF output goes LOW when one or more valid
matches occur during a compare cycle. /MF is HIGH if
there is no match. /MF will be reset when the active
configuration register set is changed.
/FF (Full Flag, Output, TTL)
The /FF output goes LOW when no empty memory
locations exist within the device.
/RESET (Reset, Input, TTL)
/RESET must be driven LOW to place the device in a known
state before operation, which will reset the device to the
conditions shown in Table 4 on page 8. The /RESET pin
should be driven by TTL levels, not directly by an RC time-
out. /E must be kept HIGH during /RESET.
TEST1, TEST2 (Test, Input, TTL)
These pins enable MUSIC production test modes that are
not usable in an application. They should be connected to
ground, either directly or through a pull-down resistor, or
they may be left unconnected. These pins may not be
implemented on all versions of these products.
VCC, GND (Positive Power Supply, Ground)
These pins are the power supply connections to the
LANCAM 1
ST
. VCC must meet the voltage supply
requirements in the Operating Conditions section relative
to the GND pins, which are at 0 Volts (system reference
potential), for correct operation of the device. All the
ground and power pins must be connected to their
respective planes with adequate bulk and high frequency
bypassing capacitors in close proximity to the device.
3
Rev. 1a
LANCAM 1
ST
Family
FUNCTIONAL DESCRIPTION
The LANCAM 1
ST
is a content-addressable memory
(CAM) with 16-bit I/O for network address filtering and
translation, virtual memory, data compression, caching,
and table lookup applications. The memory consists of
static CAM, organized in 64-bit data fields. Each data
field can be partitioned into a CAM and a RAM subfield
on 16-bit boundaries. The contents of the memory can
be randomly accessed or associatively accessed by the
use of a compare. During automatic comparison cycles,
data in the Comparand register is automatically compared
with the “Valid” entries in the memory array. The Device
ID can be read using a TCO PS instruction (see Table 11
on page 16).
The data inputs and outputs of the LANCAM 1
ST
are
multiplexed for data and instructions over a 16-bit
I/O bus. Internally, data is handled on a 64-bit basis,
since the Comparand register, the mask registers, and
each memory entry are 64 bits wide. Memory entries are
globally configurable into CAM and RAM segments on
16-bit boundaries, as described in US Patent 5,383,146
assigned to MUSIC Semiconductors. Seven different
CAM/RAM splits are possible, with the CAM width
going from one to four segments, and the remaining RAM
width going from three to zero segments. Finer resolution
on compare width is possible by invoking a mask register
during a compare, which does global masking on a bit
basis. The CAM subfield contains the associative data,
which enters into compares, while the RAM subfield
contains the associated data, which is not compared. In
LAN bridges, the RAM subfield could hold, for example,
port-address and aging information related to the
destination or source address information held in the
CAM subfield of a given location. In a translation
application, the CAM field could hold the dictionary
entries, while the RAM field holds the translations, with
almost instantaneous response.
Each entry has two validity bits (known as Skip bit and
Empty bit) associated with it to define its particular type:
empty, valid, skip, or RAM. When data is written to the
active Comparand register, and the active Segment
Control register reaches its terminal count, the contents
of the Comparand register are automatically compared
with the CAM portion of all the valid entries in the
memory array. For added versatility, the Comparand
register can be barrel-shifted right or left one bit at a
time. A Compare instruction can then be used to force
another compare between the Comparand register and
the CAM portion of memory entries of any one of the
four validity types. After a Read or Move from Memory
Rev. 1a
4
operation, the validity bits of the location read or moved
will be copied into the Status register, where they can be
read using Command Read cycles.
Data can be moved from one of the data registers (CR,
MR1, or MR2) to a memory location that is based on the
results of the last comparison (Highest-Priority Match
or Next Free), or to an absolute address, or to the location
pointed to by the active Address register. Data can also
be written directly to the memory from the DQ bus using
any of the above addressing modes. The Address
register may be directly loaded and may be set to
increment or decrement, allowing DMA-type reading or
writing from memory.
Two sets of configuration registers (Control, Segment
Control, Address, Mask Register 1, and Persistent Source
and Destination) are provided to permit rapid context
switching between foreground and background
activities. The currently active set of configuration
registers control writes, reads, moves, and compares.
The foreground set would typically be pre-loaded with
values useful for comparing input data, often called
filtering, while the background set would be pre-loaded
with values useful for housekeeping activities such as
purging old entries. Moving from the foreground task of
filtering to the background task of purging can be done
by issuing a single instruction to change the current set
of configuration registers. The match condition of the
device is reset whenever the active register set is
changed.
The active Control register determines the operating
conditions within the device. Conditions set by this
register’s contents are reset, CAM/RAM partitioning,
disable or select masking conditions, and disable or select
auto-incrementing or -decrementing the Address register.
The active Segment Control register contains separate
counters to control the writing of 16-bit data segments
to the selected persistent destination, and to control the
reading of 16-bit data segments from the selected
persistent source.
There are two active mask registers at any one time,
which can be selected to mask comparisons or data
writes. Mask Register 1 has both a foreground and
background mode to support rapid context switching.
Mask Register 2 does not have this mode, but can be
shifted left or right one bit at a time. For masking
comparisons, data stored in the active selected mask
register determines which bits of the comparand are
LANCAM 1
ST
Family
FUNCTIONAL DESCRIPTION
Continued
compared against the valid contents of the memory. If a
bit is set HIGH in the mask register, the same bit position
in the Comparand register becomes a “don’t care” for
the purpose of the comparison with all the memory
locations. During a Data Write cycle or a MOV instruction,
data in the specified active mask register can also
determine which bits in the destination will be updated.
If a bit is HIGH in the mask register, the corresponding
bit of the destination is unchanged.
The match line associated with each memory address is
fed into a priority encoder where multiple responses are
resolved, and the address of the highest-priority
responder (the lowest numerical match address) is
generated. In LAN applications, a multiple response might
indicate an error. In other applications the existence of
multiple responders may be valid.
Three input control signals and commands loaded into an
instruction decoder control the LANCAM 1
ST
. Two of the
three input control signals determine the cycle type. The
control signals tell the device whether the data on the I/O
bus represents data or a command, and is input or output.
Commands are decoded by instruction logic and control
moves, forced compares, validity bit manipulations, and
the data path within the device. Registers (Control, Segment
Control, Address, Next Free Address, etc.) are accessed
using Temporary Command Override instructions. The data
path from the DQ bus to/from data resources (comparand,
masks, and memory) within the device are set until changed
by Select Persistent Source and Destination instructions.
After a Compare cycle (caused by either a data write to the
Comparand or mask registers, a write to the Control register,
or a forced compare), the status register contains the address
of the Highest-Priority Matching location, along with flags
indicating match, multiple match, and full. The /MF and /FF
flags are also available directly on output pins.
OPERATIONAL CHARACTERISTICS
Throughout the following, “aaaH” represents a three-digit
hexadecimal number “aaa,” while “bbB” represents a
two-digit binary number “bb.” All memory locations are
written to or read from in 16-bit segments. Segment 0
corresponds to the lowest order bits (bits 15–0) and
Segment 3 corresponds to the highest order bits (bits
63–48).
instruction is executed. The currently selected persistent
source or destination can be read back through a TCO PS
or PD instruction. The sources and destinations available
for persistent access are those resources on the 64-bit bus:
Comparand register, Mask Register 1, Mask Register 2, and
the Memory array.
The default destination for Command Write cycles is the
Instruction decoder, while the default source for Command
Read cycles is the Status register.
Temporary Command Override (TCO) instructions provide
access to the Control register, the Segment Control register,
the Address register, and the Next Free Address register.
TCO instructions are only active for one Command Read or
Write cycle after being loaded into the Instruction decoder.
The data and control interfaces to the LANCAM 1
ST
are
synchronous. During a Write cycle, the Control and Data
inputs are registered by the falling edge of /E. When writing
to the persistently selected data destination, the Destination
Segment counter is clocked by the rising edge of /E. During
a Read cycle, the Control inputs are registered by the falling
edge of /E, and the Data outputs are enabled while /E is
LOW. When reading from the persistently selected data
source, the Source Segment counter is clocked by the rising
edge of /E.
THE CONTROL BUS
Refer to the Block Diagram on page 1 for the following
discussion. The inputs Chip Enable (/E), Write Enable (/W),
and Command Enable (/CM) are the primary control
mechanism for the LANCAM 1
ST
. Instructions are the
secondary control mechanism. Logical combinations of the
Control Bus inputs, coupled with the execution of Select
Persistent Source (SPS), Select Persistent Destination (SPD),
and Temporary Command Override (TCO) instructions
allow the I/O operations to and from the DQ15–0 lines to
the internal resources, as shown in Table 3 on page 7.
The Comparand register is the default source and
destination for Data Read and Write cycles. This default
state can be overridden independently by executing a Select
Persistent Source or Select Persistent Destination
instruction, selecting a different source or destination for
data. Subsequent Data Read or Data Write cycles will
access that source or destination until another SPS or SPD
5
Rev. 1a