Data Sheet Draft
MU9C1480A/L LANCAMs
®
APPLICATION BENEFITS
The 1024 x 64-bit LANCAM facilitates numerous
operations:
Ø
Ø
New package saves space
New speed grade allows processing of both
DA and SA within 560 ns, equivalent to 111,
10 Base-T or 11, 100 Base-T Ethernet ports
Full CAM features allow all operations to
be masked on a bit-by-bit basis
Expanded powerful instruction set for any
list processing needs
Shiftable Comparand and mask registers
assist in proximate matching algorithms
Fully compatible with all MUSIC LANCAM
series, cascadable to any practical length
without performance penalties
Ø
Ø
Ø
Ø
Ø
Ø
Ø
Ø
Ø
Ø
Ø
Ø
DISTINCTIVE CHARACTERISTICS
1024 x 64-bit CMOS content-addressable
memory (CAM)
16-bit I/O
Fast 90 ns compare speed
Dual configuration register set for rapid context
switching
16-bit CAM/RAM segments with MUSIC’s patented
partitioning
/MA and /MM output flags to enable faster system
performance
Readable Device ID
Selectable faster operating mode with no wait
states after a no-match
Validity bit setting accessible from the
Status register
Single cycle reset for Segment Control register
44-Pin PLCC package / 44-Pin TQFP package
5 Volt (1480A) or 3.3 Volt (1480L) operation
Ø
Ø
Ø
Ø
M UX
DATA (1 6 )
DATA (6 4 )
V CC
I/O BU FFE E RS
G ND
TR ANS LA TE
8 0 2.3 /8 02 .5
DQ (1 5 — 0 )
(1 6 )
DATA (1 6 )
DATA (1 6 )
DE M UX
DATA (6 4 )
CO M M A NDS & S TATU S
(1 6 )
S O U RCE AN D
DE S TINA TIO N
S E G M E NT
CO U NTE R S
CO M P ARAN D*
M AS K 1
M AS K 2
/MA
ADD RE S S D E C O DE R
1 K X 2 V A LIDITY BITS
/E
INS TRUC TIO N ( W /O )*
/W
CO N TR O L
NE X T FRE E ADDR E S S (R/O )
/CM
CO N TR O L
/RE S E T
16
P AG E ADDR E S S (LO CA L)
DE V IC E S E LE CT (G LO B AL)
/E C
S TATU S (1 5 -0 ) ( R/O )*
/M M , /F L
S TATU S (3 1 -1 6 ) (R /O )
RE G IS TE R S E T
2
M ATCH ADD R
& /M A FLA G
11
S E G M E NT C O NTR O L
ADD RE S S ADD RE S S
10
P RIO R ITY E NCO D E R
/M M
CAM AR RAY
1 0 2 4 W ORDS
X 6 4 B ITS
2
/FF
M ATCH
AND
FL AG
LO G IC
/FI
/M F
/MI
Block Diagram
LANCAM, the MUSIC logo, 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 US Patent 5,383,146.
21 May 1999 Rev. 3.0 Draft
Note: This document version has not completed MUSIC’s internal approval process, therefore it should
be rechecked with a released version or with factory personnel.
MU9C1480A/L Draft
GENERAL DESCRIPTION
The MU9C1480A and MU9C1480L LANCAMs are 1024 x
64-bit content-addressable memories (CAMs), with a 16-bit
wide interface. They are pin compatible with all devices in the
MUSIC LANCAM family.
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 LANCAMs are ideal for address filtering and
translation applications in LAN switches and routers. The
LANCAMs are also well suited to encryption, database
accelerators, and image processing.
OPERATIONAL OVERVIEW
To use the LANCAM, 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 matches 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, Empty, Skip, and RAM, 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’s internal data path is 64 bits wide for rapid
internal comparison and data movement. Vertical cascading
of additional LANCAMs in a daisy chain fashion extends
the CAM memory depth for large databases. Cascading
requires no external logic. Loading data to the Control,
Comparand, and mask registers automatically triggers a
compare. Compares also may 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 RAM validity
type allows additional masks to be stored in the CAM
array where they may be retrieved rapidly.
A simple four-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. Additionally,
dedicated pins for match and multiple-match flags
enhance performance when the device is controlled by a
state machine. These and other features make the
LANCAM 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
/W
LOW
LOW
HIGH
HIGH
/CM
LOW
HIGH
LOW
HIGH
Cycle Type
Command Write cycle
Data Write cycle
Command Read cycle
Data Read cycle
Table 1: Entry Types vs. Validity Bits
Rev. 3.0 Draft
2
Table 2: I/O Cycles
MU9C1480A/L Draft
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, /CM, and /EC. The
rising edge locks the daisy chain, 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.
/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.
/EC (Enable Daisy Chain, Input, TTL)
The /EC signal performs two functions. The /EC input enables
the /MF output to show the results of a comparison, as shown
in Figure 6 on page 14. If /EC is LOW at the falling edge of /E
in a given cycle, the /MF output is enabled. Otherwise, the
/MF output is held HIGH. The /EC signal also enables the
/MF– /MI daisy chain, which serves to select the device with
the highest-priority match in a string of LANCAMs. Tables 5a
and 5b on page 12 explain the effect of the /EC signal on a
device with or without a match in both Standard and Enhanced
modes. /EC must be HIGH during initialization.
DQ15–0 (Data Bus, I/O, TTL)
The DQ15–0 lines convey data, commands, and status to
and from the LANCAM. /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 HIGH-Z.
/MF (Match Flag, Output, TTL)
The /MF output goes LOW when one or more valid matches
occur during a compare cycle. /MF becomes valid after /E
goes HIGH on the cycle that enables the daisy chain (on
the first cycle that /EC is registered LOW by the previous
falling edge of /E; see Figure 6 on page 14). In a daisy
chain, valid match(es) in higher priority devices are passed
from the /MI input to /MF. If the daisy chain is enabled but
the match flag is disabled in the Control register, the /MF
output only depends on the /MI input of the device
(/MF=/MI). /MF is HIGH if there is no match or when the
daisy chain is disabled (/E goes HIGH when /EC was HIGH
on the previous falling edge of /E). The System Match flag
is the /MF pin of the last device in the daisy chain. /MF will
be reset when the active configuration register set is changed.
D Q0
D Q1
D Q2
D Q3
G ND
D Q0
D Q1
D Q2
D Q3
G ND
V CC
V CC
/ MM
/ FF
/ FI
/C M
/ EC
/ MM
/ FF
/ FI
/C M
/ EC
43
44
1
2
3
4
5
6
40
41
42
43
44
1
2
3
4
5
6
40
41
42
G ND
DQ 4
DQ 5
V CC
V CC
TES T 2
G ND
G ND
DQ 6
DQ 7
V CC
7
8
9
10
11
12
13
14
15
16
17
18
G ND
4 4 -pi n P L CC
(Top V ie w )
39
38
37
36
35
34
33
32
31
30
29
/M A
/ MI
/ MF
G ND
/ R E S ET
V CC
V CC
TE S T1
/E
/W
G ND
G ND
DQ 4
DQ 5
V CC
V CC
TES T 2
G ND
G ND
DQ 6
DQ 7
V CC
7
8
9
10
11
12
13
14
15
16
17
18
TQFP
4 4 -pi n P L CC
(Top V ie w )
39
38
37
36
35
34
33
32
31
30
29
/M A
/ MI
/ MF
G ND
/ R E S ET
V CC
V CC
TE S T1
/E
/W
G ND
PLCC Pinout Diagram
24
23
22
21
20
19
D Q9
D Q8
28
27
26
25
G ND
D Q 15
D Q 14
24
23
22
21
20
19
28
27
26
25
D Q 13
D Q 12
G ND
D Q 11
D Q 10
G ND
TQFP Pinout Diagram
D Q9
D Q8
D Q 13
D Q 12
G ND
D Q 11
D Q 10
G ND
D Q 15
D Q 14
3
Rev. 3.0 Draft
MU9C1480A/L Draft
PIN DESCRIPTIONS
Continued
/MI (Match Input, Input, TTL)
The /MI input prioritizes devices in vertically cascaded
systems. It is connected to the /MF output of the previous
device in the daisy chain. The /MI pin on the first device in
the chain must be tied HIGH.
/MA (Device Match Flag, Output, TTL)
The /MA output is LOW when one or more valid matches
occur during the current or the last previous compare cycle.
The /MA output is not qualified by /EC or /MI, and reflects
the match flag from that specific device’s Status register.
/MA will be reset when the active register set is changed.
/MM (Device Multiple Match Flag, Output, TTL)
The /MM output is LOW when more than one valid match
occurs during the current or the last previous compare cycle.
The /MM output is not qualified by /EC or /MI, and reflects
the multiple match flag from that specific device’s Status
register. /MM will be reset when the active register set is changed.
/FF (Full Flag, Output, TTL)
If enabled in the Control register, the /FF output goes LOW
when no empty memory locations exist within the device
(and in the daisy chain above the device as indicated by
the /FI pin). The System Full flag is the /FF pin of the last
device in the daisy chain, and the Next Free address resides
in the device with /FI LOW and /FF HIGH. If disabled in the
Control register, the /FF output only depends on the /FI
input (/FF = /FI).
/FI (Full Input, Input, TTL)
The /FI input generates a CAM-Memory-System-Full
indication in vertically cascaded systems. It is connected
to the /FF output of the previous device in the daisy chain.
The /FI pin on the first device in a chain must be tied LOW.
/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 10. LANCAM ‘A’
devices have a hardware reset that operates in parallel with
the internal Power-on-reset circuitry, and sets the device to
the same condition. For compatibility with the MU9C1480,
the /RESET pin has an internal pull-up resistor and may be
left unconnected. The /RESET pin should be driven by
TTL levels, not directly by an RC timeout. /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. 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. The MU9C1480A and
MU9C1480L are compatible with the original MU9C1480
connections, and may be operated at -90 or slower
switching characteristics without the GND connections on
pins 1, 7, 18, 23, and 29; and the VCC connections on pins
6, 10, and 17.
FUNCTIONAL DESCRIPTION
The LANCAM 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 12 on page 22).
The data inputs and outputs of the LANCAM are
multiplexed for data and instructions over a 16-bit
Rev. 3.0 Draft
4
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
MU9C1480A/L Draft
FUNCTIONAL DESCRIPTION
Continued
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 then can 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 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 controls
writes, reads, moves, and compares. The foreground set
typically would 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, enable or disable Match flag,
enable or disable Full flag, CAM/RAM partitioning, disable
or select masking conditions, disable or select
auto-incrementing or auto-decrementing the Address
register, and select Standard or Enhanced mode. 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 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.
Four input control signals and commands loaded into an
instruction decoder control the LANCAM. Two of the four
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,
5
Rev. 3.0 Draft