STMICROELECTRONICS M7010R

M7010R
16K x 68-bit Entry NETWORK SEARCH ENGINE
FEATURES SUMMARY
■ 16K ENTRIES IN 68-BIT MODE
■
■
Figure 1. 272-ball PBGA Package
TABLE MAY BE PARTITIONED INTO UP TO
FOUR (4) QUADRANTS
(Data entry width in each quadrant is configurable as 34, 68, 136, or 272 bits.)
UP TO 83 MILLION SUSTAINED SEARCHES
PER SECOND IN 68-BIT and 136-BIT
CONFIGURATIONS
■
UP TO 41.5 MILLION SEARCHES PER
SECOND IN 34-BIT and 272-BIT
CONFIGURATIONS
■
SEARCHES ANY SUB-FIELD IN A SINGLE
CYCLE
■
OFFERS BIT-BY-BIT and GLOBAL MASKING
■
SYNCHRONOUS, PIPELINED OPERATION
■
UP TO 31 SEARCH ENGINES CASCADABLE
WITHOUT PERFORMANCE DEGRADATION
■
WHEN CASCADED, THE DATABASE
ENTRIES CAN SCALE FROM 124K to 992K
DEPENDING ON THE SIZE OF THE ENTRY
■
GLUELESS INTERFACE TO INDUSTRYSTANDARD SRAMS
■
SIMPLE HARDWARE INSTRUCTION
INTERFACE
■
IEEE 1149.1 TEST ACCESS PORT
■
OPERATING SUPPLY VOLTAGES INCLUDE:
■
VDD (Operating Supply Voltage) = 1.8V
VDDQ (Operating Supply Voltage for I/O) = 2.5
or 3.3V
272 BALL, 27mm x 27mm, CAVITY-UP BGA
July 2002
272 PBGA
27mm x 27mm
1.27mm ball pitch
1/67
M7010R
TABLE OF CONTENTS
DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Product Range (Table 1.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switch/Router Implementation Using the M7010R (Figure 2.) . . . . .
Signal Names (Table 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connections (Figure 3.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
M7010R Block Diagram (Figure 4.) . . . . . . . . . . . . . . . . . . . . . . . . . .
.......
.......
.......
.......
.......
.......
.......
.......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
......
.....6
.....6
.....6
.....6
.....6
.....7
.....8
.....9
MAXIMUM RATING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Absolute Maximum Ratings (Table 3.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
DC AND AC PARAMETERS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
DC and AC Measurement Conditions (Table 4.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
M7010R 2.5V AC Testing Load (Figure 5.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
M7010R 2.5V Input Waveform (Figure 6.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
M7010R 2.5V Output Load Equiv. (Figure 7.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
M7010R 3.3V AC Testing Load (Figure 8.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
M7010R 3.3V Input Waveform (Figure 9.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
M7010R 3.3V Output Load Equiv. (Figure 10.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Capacitance (Table 5.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
DC Characteristics (Table 6.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
AC Timing Waveforms with CLK2X (Figure 11.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
AC Timing Parameters with CLK2X (Table 7.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Command Bus and DQ Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Database Entry (Data Array and Mask Array) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Arbitration Logic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Pipeline and SRAM Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Full Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Connections Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2/67
M7010R
CLOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Clocks (Figure 12.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Register Overview (Table 8.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Comparand Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Comparand Register Selection During SEARCH and LEARN (Figure 13.). . . . . . . . . . . . . . . . . . . 19
Mask Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Addressing the Global Mask Register (GMR) Array (Figure 14.) . . . . . . . . . . . . . . . . . . . . . . . . . . 19
SEARCH-Successful Registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
SEARCH-Successful Register (SSR) Description (Table 9.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
The Command Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Command Register Field Descriptions (Table 10.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
SEARCH PROCEDURE FOR 32-BIT WIDE PREFIXES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Global Mask Register Patterns (Figure 15.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Storing left half of a Data or Mask Array (Figure 16.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
The Information Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Information Register Field Descriptions (Table 11.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
The READ Burst Address Register (RBURREG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
READ Burst Register Description (Table 12.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
The WRITE Burst Address Register (WBURREG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
WRITE Burst Register Description (Table 13.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
The NFA Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
NFA Register (Table 14.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
SEARCH ENGINE ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Data and Mask Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
M7010R Database Configuration (Figure 17.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Bit Position Match (Table 15.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Multi-width Configuration Example (Figure 18.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
M7010R Data and Mask Array Addressing (Figure 19.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
COMMAND CODES AND PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Command Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Commands and Command Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Command Codes (Table 16.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Command Parameters (Table 17.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
READ COMMAND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Single Location READ Cycle Timing (Figure 20.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Burst READ of the Data and Mask Arrays (BLEN = 4) (Figure 21.) . . . . . . . . . . . . . . . . . . . . . . . . 29
READ Command Parameters (Table 18.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Data and Mask Array, SRAM READ Address Format (Table 19.) . . . . . . . . . . . . . . . . . . . . . . . . . 30
READ Address Format for Internal Registers (Table 20.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
READ Address Format for Data and Mask Arrays (Table 21.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3/67
M7010R
WRITE COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Single Location WRITE Cycle Timing (Figure 22.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Burst WRITE of the Data and Mask Arrays (BLEN = 4) (Figure 23.). . . . . . . . . . . . . . . . . . . . . . . . 32
(Single) WRITE Address Format for Data and Mask Arrays or SRAM (Table 22.) . . . . . . . . . . . . . 33
WRITE Address Format for Internal Registers (Table 23.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
WRITE Address Format for Data and Mask Array (Burst WRITE) (Table 24.) . . . . . . . . . . . . . . . . 33
SEARCH COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
68-bit Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Hardware Diagram for a Table with a Single Device (68-bit Operation) (Figure 24.) . . . . . . . . . . . 34
68-Bit Configuration SEARCH Timing Diagram (One Device) (Figure 25.). . . . . . . . . . . . . . . . . . . 35
Right-Shift of 68-bit Signals for TLSZ Values (Table 25.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Shift of SSF and SSV from SADR (for different HLAT Values) (Table 26.) . . . . . . . . . . . . . . . . . . . 36
Latency of SEARCH from Instruction to SRAM Access Cycle (68-bit Mode) (Table 27.) . . . . . . . . 36
68-bit Logical SEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
x68 Table with One Device (Figure 26.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
136-bit Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Hardware Diagram for a Table with One Device (136-bit Operation) (Figure 27.) . . . . . . . . . . . . . 38
136-Bit Configuration SEARCH Timing Diagram (One Device) (Figure 28.). . . . . . . . . . . . . . . . . . 39
Right-Shift of 136-bit Signals for TLSZ Values (Table 28.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Shift of SSF and SSV from SADR (for different HLAT values) (Table 29.) . . . . . . . . . . . . . . . . . . . 40
Latency of SEARCH from Instruction to SRAM Access Cycle (136-bit Mode) (Table 30.) . . . . . . . 40
136-bit Logical SEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
x136 Table with One Device (Figure 29.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
272-bit Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Hardware Diagram for a Table with One Device (272-bit Operation) (Figure 30.) . . . . . . . . . . . . . 42
272-Bit Configuration SEARCH Timing Diagram (One Device) (Figure 31.). . . . . . . . . . . . . . . . . . 43
Right-Shift of 272-bit Signals for TLSZ Values (Table 31.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Shift of SSF and SSV from SADR (for different HLAT Values) (Table 32.) . . . . . . . . . . . . . . . . . . . 44
Latency of SEARCH from Instruction to SRAM Access Cycle (272-bit Mode) (Table 33.) . . . . . . . 44
272-bit Logical SEARCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
x272 Table with One Device (Figure 32.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Mixed-sized Searches on Tables Configured with Different Width Using an M7010R Device 46
Multiwidth Configuration Example (Figure 33.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Timing Diagram for Mixed SEARCH (One Device) (Figure 34.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
LRAM and LDEV Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
LEARN COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
LEARN Command Timing Diagram (TLSZ = 00) (Figure 35.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
LEARN Timing Diagram (TLSZ = 1, except on Last Device) (Figure 36.) . . . . . . . . . . . . . . . . . . . . 50
LEARN Timing Diagram on Device Number 7 (TLSZ = 01) (Figure 37.). . . . . . . . . . . . . . . . . . . . . 51
SRAM WRITE Cycle Latency from Second Cycle of LEARN Instruction (Table 34.) . . . . . . . . . . . 51
4/67
M7010R
DEPTH-CASCADING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Depth-Cascading Up to Eight Devices (One Block) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Depth-Cascading Up to 31 Devices (4 Blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Depth-Cascading to Generate a “FULL” State for a Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Depth-Cascading to Form a Single Block (8 Devices) (Figure 38.) . . . . . . . . . . . . . . . . . . . . . . . . . 53
Four Blocks (31 Devices Cascaded) SEARCH, 68-bit Configured with LDEV = 1 (Figure 39.) . . . 54
“FULL” State Generation in a Cascaded Table (Figure 40.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
ARBITRATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Timing Diagram for Arbitration Within a Block (Figure 41.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Timing for Arbitration for Two or More Blocks for the Last Device (Figure 42.). . . . . . . . . . . . . . . . 57
SRAM ADDRESSING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
SRAM PIO Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
SRAM READ Access for One M7010R Device (Figure 43.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
SRAM WRITE Access for One M7010R Device (Figure 44.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
SRAM Bus Address Generation (Table 35.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Right-Shift of SRAM Signals for TLSZ Values (Table 36.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Right-Shift of SRAM Signals for HLAT Values (Table 37.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
JTAG (1149.1) TESTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Test Access Port Controller Instructions (Table 38.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
TAP Device ID Register (Table 39.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
POWER DISTRIBUTION GUIDELINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Network Search Engine Power Distribution (Figure 45.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
PART NUMBERING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
PACKAGE MECHANICAL INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
REVISION HISTORY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5/67
M7010R
DESCRIPTION
Overview
The M7010R is a feature-rich, TCAM-based hardware search engine optimized for networking and
communications applications. It incorporates leading-edge Associative Processing Technology
(APT, trademark of Cypress Semiconductor, Inc.)
and Advanced Power Management. The data table may be partitioned into up to four (4) quadrants, allowing the user to configure each quadrant
with different table entry widths (x34, x68, x136, or
x272-bit). It is also programmable to accelerate
performance.
Performance
The M7010R outperforms competitive solutions
using software sequential search algorithms in
conjunction with SRAMs or ASICs, or hardware
implementation with ASICs and CAMs. The latter
solution, while faster than a software-based solu-
tion, still suffers from performance degradation
when depth-cascaded and is unable to scale to
next-generation requirements. The M7010Rbased solutions overcome all of these drawbacks.
Applications
The performance and features of the M7010R
makes it ideal in applications such as enterprise
LAN switches, broadband switching and routing
equipment, supporting multiple data rates from
OC–48 and beyond.
Figure 2 illustrates how a search engine subsystem can be optimized using a host bridge
ASIC, the M7010R, and synchronous or non-synchronous SRAMs. It also illustrates how this system fits into a switch-router implementation.
Table 1. Product Range
Operating Supply Voltage
Operating I/O Voltage
Speed
M7010R-083ZA1
Part Number
1.8V
2.5 or 3.3V
83MHz
M7010R-066ZA1
1.8V
2.5 or 3.3V
66MHz
Figure 2. Switch/Router Implementation Using the M7010R
Sys
tem
m
Progra
ry
Memo
Bus
Host
ASIC
h
Searc
e
Engin
SRAM
Bank
Switch
Fabric
Ne
two
rk L
ine
Inte
Switch
ssor
ro
P ce
rfac
es
AI04272
6/67
M7010R
Table 2. Signal Names
Symbol
Type
Connection Name
Cascade Interface
Clocks and Reset
LHI[6:0]
I
Local Hit In
CLK2X
I
Master Clock
LHO[1:0]
O
Local Hit Out
PHS_L
I
Phase
BHI[2:0]
I
Block Hit In
RST_L
I
Reset
BHO[2:0]
O
Block Hit Out
FULI[6:0]
I
Full In
Command and DQ Bus
CMD[8:0]
I
Command Bus
FULO[1:0]
O
Full Out
CMDV
I
Command Valid
FULL
O
Full Flag
DQ[67:0]
I/O
Address/Data Bus
ACK(1)
T
READ Acknowledge
EOT(1)
T
End of Transfer
SSF
T
SEARCH Successful Flag
SSV
T
SEARCH Successful Flag Valid
SADR[21:0]
T
SRAM Address
CE_L
T
SRAM Chip Enable
WE_L
T
SRAM WRITE Enable
OE_L
T
SRAM Output Enable
ALE_L
T
Address Latch Enable
Device Identification
ID[4:0]
I
Device Identification
Test Access Port
TDI
I
Test Access Port’s Test Data In
TCK
I
Test Access Port’s Test Clock
TDO
T
Test Access Port’s Test Data
Out
TMS
I
Test Access Port’s Test Mode
Select
TRST_L
I
Test Access Port’s Reset
Note: Signal types are: I = Input only; I/O = Input or Output; O = Output; and T = Tristate
1. ACK and EOT Signals require a pull-down resistor of 47 ohms.
7/67
M7010R
Figure 3. Connections
VDD FULI5 FULI4 FULI1 BHO0 VDD
NC
GND
EOT
NC
NC
NC
NC
ACK
FULL
NC
DQ64
NC
NC
VDDQ VDD VDDQ
DQ62
NC
VDD
GND RSTL
NC
DQ66
DQ60 VDDQ
VDD
NC
FULO1 NC
NC
BHI0
NC
VDD
ID2
ID0
TDO
NC
NC
LHI3
LHI2
ID3
TMS
TDI
VDD
NC
LHI4 VDDQ LHI0
ID1
TCK
NC
NC
DQ65
LHI6
FULI6 FULI2 BHO1 BHI2 VDDQ LHI5
NC
VDDQ BHO2 VDD LHO1
NC FULO0 GND FULI3 FULI0 BHI1 LHO0 GND
LHI1
ID4
T
RST_L GND
TOP
DQ67 DQ59
DQ47 VDDQ DQ51 VDDQ
GND
DQ46 DQ48 GND
DQ40 DQ42 VDDQ DQ44
VDD
NC
GND
GND
GND GND
GND GND
DQ36 DQ38
GND
VDDQ DQ35 DQ33 DQ31
GND
GND
DQ28 VDDQ DQ26
GND GND
GND
VDDQ
GND
GND
NC
GND GND
VDDQ
NC
DQ2
DQ4
VDD
NC
NC
NC
NC
NC
DQ23 DQ25 DQ27
NC
DQ15 DQ17
DQ1
DQ5
DQ7
NC
SADR
SADR V
GND VDDQ
CMD4 CMD2 GND WE_L CLK2X VDD 15
DDQ GND
5
NC
NC
VDDQ
DQ0
VDDQ GND
DQ10
DQ29 VDD
DQ9 DQ11 DQ13 VDD
VDD DQ18 VDDQ DQ6
DQ12 DQ8
NC
GND DQ19 VDDQ DQ21
DQ20 GND
DQ22 DQ16 DQ14 VDDQ
NC
DQ45 DQ43
RIGHT
VDDQ DQ34 DQ32 DQ30
DQ24 VDD
NC
DQ41 DQ39 VDD DQ37
LEFT
NC
DQ53
NC
VDDQ DQ55 DQ49 VDD
DQ56 DQ58
DQ50 VDDQ DQ52 DQ54
NC
DQ63 DQ61 DQ57
BOTTOM
NC
SSF CMD6 CMD3 CMD0 AE_L OE_L
SADR SADR SADR SADR SADR SADR SADR
NC
21
18
6
16
9
7
12
SSV CMD5 CMD1 CMDV VDDQ PHS_L VDDQ
CMD8 CMD7 VDDQ VDD
NC
CE_L
NC
SADR V
DDQ
19
NC
SADR SADR
NC
10
11
SADR V
DD
0
SADR SADR
4
3
NC
DQ3
NC
VDD SADR SADR SADR SADR VDD SADR VDDQ SADR SADR
2
1
20
14
8
17
13
NC
AI04270
Note: This diagram is TOP VIEW perspective (view through package).
8/67
M7010R
Figure 4. M7010R Block Diagram
PHS_L
Comparand Registers[15:0]
Global Mask Registers [7:0]
Information and Command Register
Burst Read Register
Burst Write Register
Next Free Address Register
Search Successful Index Registers [7:0]
(All registers are 68-bit-wide)
CLK2X
DQ [67:0]
Compare/PIO Data
RST_L
TAP
Controller
TAP
ACK
EOT
Command
Decode
and PIO Access
ID [4:0]
FULL [6:0]
Configurable as
32K x 34
16K x 68
8K x 136
4K x 272
Mask Array
SADR [21:0]
Match Logic
CMDV
Configurable as
32K x 34
16K x 68
8K x 136
4K x 272
Data Array
Priority Encode
CMD [8:0]
Address Decode
Cmd Compare/PIO Data
Pipeline
and
SRAM
Control
OE_L
WE_L
CE_L
ALE_L
Full Logic
FULL
LHI [6:0]
BHI [2:0]
Arbitration
Logic
FULO [1:0]
LHO [1:0]
BHO [2:0]
SSF
SSV
AI04273
9/67
M7010R
MAXIMUM RATING
Stressing the device above the rating listed in the
“Absolute Maximum Ratings” table may cause
permanent damage to the device. These are
stress ratings only and operation of the device at
these or any other conditions above those indicated in the Operating sections of this specification is
not implied. Exposure to Absolute Maximum Rating conditions for extended periods may affect device
reliability.
Refer
also
to
the
STMicroelectronics SURE Program and other relevant quality documents.
Table 3. Absolute Maximum Ratings
Symbol
TSTG
TSLD (1)
VDDQ
Parameter
Value
Unit
–0 to 70
°C
Lead Solder Temperature for 10 seconds
235
°C
Input or Output Voltages
3.3
V
Storage Temperature (VDD Off)
VDD
Supply Voltage
–0.4 to 2.7
V
IO
Output Current
100
mA
PD
Power Dissipation
<3
W
Note: 1. Soldering temperature not to exceed 260°C for 10 seconds (total thermal budget not to exceed 150°C for longer than 30 seconds).
10/67
M7010R
DC AND AC PARAMETERS
This section summarizes the operating and measurement conditions, as well as the DC and AC
characteristics of the device. The parameters in
the following DC and AC Characteristic tables are
derived from tests performed under the Measure-
ment Conditions listed in the relevant tables. Designers should check that the operating conditions
in their projects match the measurement conditions when using the quoted parameters.
Table 4. DC and AC Measurement Conditions
Sym
VDD
VDDQ
Parameter
M7010R 2.5V
M7010R 3.3V
Units
VDD Operating Supply Voltage
1.7 to 1.9
1.7 to 1.9
V
VDDQ Voltage for I/O
2.4 to 2.6
3.1 to 3.5
V
0 to 70
0 to 70
°C
6
6
pF
tA
Ambient Operating Temperature
CL
Load Capacitance
VIH
Input High Voltage(1)
1.7 to
VDDQ + 0.3
2.0 to
VDDQ + 0.3
V
VIL
Input Low Voltage(2)
–0.3 to 0.7
–0.3 to 0.8
V
Supply Voltage Tolerance
±5
±5
%
Input Rise and Fall Times
(at 0.3V and 2.7V)
≤ 2 (see Figure 6, page 12)
≤ 2 (see Figure 9, page 12)
ns
Input Timing Reference Levels
1.25
1.5
V
Output Timing Reference Levels
1.25
1.5
V
GND to 2.5
GND to 3.3
V
(see Figure 7, page 12)
(see Figure 10, page 12)
V
tR, tF
Input Pulse Voltages
Input and Output Timing Ref. Voltages
Note: 1. Maximum allowable applies to overshoot only (VDDQ is 3.3V supply).
2. Minimum allowable applies to undershoot only.
11/67
M7010R
Figure 5. M7010R 2.5V AC Testing Load
Z0 = 50Ω
Figure 8. M7010R 3.3V AC Testing Load
Z0 = 50Ω
50Ω
DOUT
VL = 1.25V
50Ω
DOUT
VL = 1.5V
CL
CL
AI04268
Figure 6. M7010R 2.5V Input Waveform
AI04269
Figure 9. M7010R 3.3V Input Waveform
+3.3V
+2.5V
90%
90%
90%
10%
90%
10%
10%
10%
GND
GND
AI04298
AI04299
Figure 7. M7010R 2.5V Output Load Equiv.
Figure 10. M7010R 3.3V Output Load Equiv.
+2.5V
+3.3V
208Ω
158Ω
Q
Q
192Ω
175Ω
5pF
AI04266
12/67
5pF
AI04267
M7010R
Table 5. Capacitance
Symbol
CIN
Parameter
Test Condition
Input Capacitance
CIO(1)
Input / Output Capacitance
Min
Max
Unit
VIN = 0V
6
pF
VOUT = 0V
6
pF
Note: Effective capacitance measured with power supply. Sampled only, not 100% tested.
1. Outputs deselected.
Table 6. DC Characteristics
Symb
Parameter
ILI
Input Leakage Current
ILO
Output Leakage Current
IDD1
IDD2
IDD3
Test Condition(1)
Min
Max
Unit
VDDQ = VDDQ (max)
0V ≤ VIN ≤ VDDQMAX
–10
+10
µA
VDDQ = VDDQ (max)
0V ≤ VOUT ≤ VDDQMAX
–10
+10
µA
M7010R
IOUT = 0mA,
83MHz Search
1250
mA
M7010R
IOUT = 0mA,
66MHz Search
1000
mA
M7010R
IOUT = 0mA,
83MHz Search
180
mA
M7010R
IOUT = 0mA,
66MHz Search
150
mA
M7010R
IOUT = 0mA,
83MHz Search
300
mA
M7010R
IOUT = 0mA,
66MHz Search
240
mA
1.8V Supply Current @ VDDMAX
2.5V Supply Current @ VDDMAX
3.3V Supply Current @ VDDMAX
VIL
Input Low Voltage
–0.3
0.8
V
VIH
Input High Voltage
2.0
VDDQ + 0.3
V
VOL
Output Low Voltage
VDDQ = VDDQ (min)
IOL = 8mA
0.4
V
VOH
Output High Voltage
VDDQ = VDDQ (min)
IOH = 8mA
2.4
V
Note: 1. Valid for Ambient Operating Temperature: TA = 0 to 70°C; VDD = 1.8V.
13/67
M7010R
Figure 11. AC Timing Waveforms with CLK2X
Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle
2
4
6
8
10
12
0
1
3
5
7
9
11
CLK2X
PHS_L
tIHCH
tISCH
Signal
Group 0
tIHCH
tISCH
tISCH
Signal
Group 1
tIHCH
tIHCH
tICHCH
Signal
Group 2
tICSCH
tCKHOV
Signal
Group 3
tCKHOV
tCKHSHZ
Signal
Group 4
tCKHSV
tCKHDZ
tCKHSLZ
Signal
Group 5
tCKHDV
Signal Group 1: PHS_L, RST_L
Signal Group 1: DQ, CMD, CMDV
Signal Group 2: LHI, BHI, FULI
Signal Group 3: LHO, BHO, FULO, FULL
Signal Group 4: SADR, CE_L, OE_L, WE_L, ALE_L, SSF, SSV
Signal Group 5: DQ, ACK, EOT
AI04265
14/67
M7010R
Table 7. AC Timing Parameters with CLK2X
Row
M7010R-066
M7010R-083
Min
Min
Symbol
Description(1)
Unit
Max
Max
1
fCLK
2
tCLK
7.5
6.0
ns
CLK2X period
3
tCKHI
3.0
2.4
ns
CLK2X high pulse(2)
4
tCKLO
3.0
2.4
ns
CLK2X low pulse(2)
5
tISCH
2.5
1.8
ns
Input Setup Time to CLK2X rising edge(2)
6
tIHCH
0.6
0.6
ns
Input Hold Time to CLK2X rising edge(2)
7
tICSCH
4.2
3.5
ns
Cascaded Input Setup Time to CLK2X rising edge(2)
8
tICHCH
0.6
0.6
ns
Cascaded Input Hold Time to CLK2X rising edge(2)
9
tCKHOV
8.5
7.0
ns
Rising edge of CLK2X to LHO, FULO, BHO, FULL valid(3)
10
tCKHDV
9.0
7.5
ns
Rising edge of CLK2X to DQ valid(4)
11
tCKHDZ
8.5
7.0
ns
Rising edge of CLK2X to DQ high-Z(5)
12
tCKHSV
9.0
7.5
ns
Rising edge of CLK2X to SRAM Bus valid(4)
13
tCKHSHZ
6.5
6.0
ns
Rising edge of CLK2X to SRAM Bus high-Z(4,5)
14
tCKHSLZ
ns
Rising edge of CLK2X to SRAM Bus low-Z(4,5)
Note: 1.
2.
3.
4.
5.
133
7.0
166
6.5
MHz CLK2X frequency
Valid for Ambient Operating Temperature: TA = 0 to 70°C; VDD = 1.8V.
Values are based on 50% signal levels.
Based on an AC load of CL = 50pF (see Figure 5, page 12 and Figure 8, page 12).
Unless otherwise noted, all values are based on AC load of CL = 50pF (see Figure 5, page 12 and Figure 8, page 12).
These parameters are sampled and not 100% tested.
15/67
M7010R
OPERATION
Command Bus and DQ Bus
CMD[8:0] carries the command and its associated
parameter. DQ[67:0] is used for data transfer to,
and from the data base entries. The database entries are comprised of a data field and a mask field
which are organized as a data array and a mask
array. The DQ Bus carries the SEARCH data during the SEARCH command as well as the address
and data during Pipelined I/O (PIO) READ/WRITE
operations, of the data array, mask array, and internal registers. The DQ Bus also can carry the address information for the PIO accesses to the
SRAM.
Database Entry (Data Array and Mask Array)
Each database entry comprises a data field and a
mask field. The resultant value of the entry is a logical AND of the corresponding data and mask bits
and can take logical values of '1,' '0' and 'X' (don’t
care), depending on the value in the mask bit. The
on-chip priority encoder selects the first matching
entry in the database which is nearest to location
0.
Arbitration Logic
When multiple (Silicon) Search Engines are cascaded to create large databases, the data being
searched is presented to all Search processors simultaneously in the cascaded system. When more
than one device has duplicate entries, the arbitration logic on the Search Engine with the matching
entry which is closest to address 0 of the cascaded
database, will be selected to drive the SRAM Bus.
Pipeline and SRAM Control
Pipeline latency is added to give enough time to
the arbitration logic in a cascaded system to determine the index with the highest priority. The pipeline logic adds latency to the SRAM access cycles
and the SSF and SSV signals to align them to the
host ASIC receiving the associated data. Refer to
Table 27, page 36 for details.
Full Logic
Bit[0] in each of the 68-bit entries has a special
purpose for the LEARN command (0 = empty, 1 =
full). When all the data entries have Bit[0] set to '1,'
the database asserts the FULL flag, indicating that
all the Search Engines in the depth-cascaded array are full.
Connections Descriptions
Master Clock (CLK2X). The M7010R samples
all of the control and data signals on the positive
edge of CLK2X when PHS_L is low.
Phase (PHS_L). This signal runs at half the frequency of CLK2X and generates an internal clock
from CLK2X (see Figure 12, page 18).
Reset (RST_L). Driving RST low initializes the
device to a known state.
16/67
Command Bus (CMD[8:0]. [1:0] specifies the
command; [8:2] contains the command parameters. The descriptions of individual commands explains the details of the parameters. The encoding
of commands based on the [1:0] field are:
– 00: PIO READ
– 01: PIO WRITE
– 10: SEARCH
– 11: LEARN
Command Valid (CMDV). Qualifies the CMD bus
as follows:
– 0: No Command
– 1: Command
Address/Data Bus (DQ[67:0]). Carries the READ
and WRITE address as well as the data during
register, data, and mask array operations. It carries the compare data during SEARCH operations. It also carries the SRAM address during
SRAM PIO accesses.
READ Acknowledge (ACK). Indicates that valid
data is available on the DQ Bus during register,
data, and mask array READ operations, or the
data is available on the SRAM data bus during
SRAM READ operations.
Note: ACK Signals require a pull-down resistor of
47Ω.
End of Transfer (EOT). Indicates the end of
burst transfer during READ or WRITE burst operations.
Note: EOT Signals require a pull-down resistor of
47 ohms.
SEARCH Successful Flag (SSF). When asserted, this signal indicates that the device is the global winner in a SEARCH operation.
SEARCH Successful Flag Valid (SSV). When
asserted, this signal qualifies the SSF signal.
SRAM Address (SADR[21:0]). This bus contains address lines to access off-chip SRAMs that
contain associative data. See Table 35, page 61
for the details of the generated SRAM address.
SRAM Chip Enable (CE_L). This is Chip Enable
control for external SRAMs. When more than one
device is cascaded, CE_L of all devices must be
connected.
SRAM WRITE Enable (WE_L). This is WRITE
Enable control for external SRAMs. When more
than one device is cascaded, WE_L of all devices
must be connected.
SRAM Output Enable (OE_L). This is Output
Enable control for external SRAMs. Only the last
device drives this signal (with the LRAM Bit set).
M7010R
Address Latch Enable (ALE_L). When this signal is low, the addresses on the SRAM address
bus have been validated. When more than one device is cascaded, the ALE_L of all devices must be
connected.
Local Hit In (LHI[6:0]). These pins depth-cascade the device to form a larger table size. One
signal of this bus is connected to the LHO[1] or
LHO[0] of each of the upstream devices in a block.
Connect all unused LHI pins to a logic '0.' (For
more information, see DEPTH-CASCADING,
page 52.)
Local Hit Out (LHO[1:0]). LHO[1] and LHO[0]
are the same logical signal. LHO[1] or LHO[0] is
connected to one input of the LHI bus of up to four
downstream devices (in a block that contains up to
eight devices; for more information, see DEPTHCASCADING, page 52.)
Block Hit In (BHI[2:0]). Inputs from the previous
BHO[2:0] are tied to the BHI[2:0] of the current device (see DEPTH-CASCADING, page 52). In a
four-block system, the last block can contain only
seven devices because the ID code 11111 is used
for broadcast access.
Block Hit Out (BHO[2:0]). Outputs from the current device are connected to the BHI[2:0] of the
next device (see DEPTH-CASCADING, page 52).
Full In (FULI[6:0]). Each signal in this bus is connected to FULO[0] or FULO[1] of an upstream device to generate the FULL flag for the depth-
cascaded block. For more information, see
DEPTH-CASCADING, page 52 to Generate Full
for a Block Section.
Full Out (FULO[1:0]). FULO[1] and FULO[0] are
the same logical signal. One of these two signals
must be connected to the FULI of up to four downstream devices in a depth-cascaded table. Bit [0]
in the data array indicates if the entry is full (1) or
empty (0).This signal is asserted if all of the bits in
the data array are '1s.' Refer to Depth-Cascading
to Generate a “FULL” State for a Block, page 52.
Full Flag (FULL). When asserted, this signal indicates that the table consisting of many depthcascaded devices is full.
Device Identification (ID[4:0]). The binary-encoded device ID for a depth-cascaded system
starts at 00000 and goes up to 11110. 11111 is reserved for a special broadcast address that selects all cascaded (silicon) Search Engines in the
system. On a broadcast read-only, the device with
the LDEV Bit set to '1' responds.
Test Data In (TDI). This is the Test Access Port’s
Test Data In.
Test Clock (TCK). This is the Test Access Port’s
Test Clock.
Test Data Out (TDO). This is the Test Access
Port’s Test Data Out.
Test Mode Select (TMS). This is the Test Access Port’s Test Mode Select.
Test Reset (TRST_L). This is the Test Access
17/67
M7010R
CLOCKS
The M7010R receives a Clock (CLK2X) signal and
Phase (PHS_L) signal. The Phase (PHS_L) divides the CLK2X signal to generate the Internal
Clock (CLK), as shown in Figure 12. The CLK2X
and CLK signals are used for internal operations.
Registers
All the M7010R registers are 68 bits wide. The
M7010R contains 32 comparand storage registers, 16 global mask registers, 8 SEARCH-successful index registers, command, information,
burst READ, burst WRITE, and next free address
registers. Table 8 provides a register overview of
all the registers. The registers are ordered in ascending address order.
Comparand Registers
The device contains thirty-two 68-bit comparand
registers dynamically selected in every SEARCH
operation to store the comparand presented on
the DQ Bus. The LEARN command will also use
these registers when it is executed. The M7010R
stores the SEARCH command’s “Cycle A” comparand in the even-number register and the “Cycle
B” comparand in the odd-numbered register, as
shown in Figure 13, page 19.
Mask Registers
The device contains sixteen (8 pairs) 68-bit global
mask registers dynamically selected in every
SEARCH operation to select the SEARCH subfield (see Figure 14, page 19). The three-bit GMR
Index supplied on the CMD bus applies eight pairs
of global masks during the SEARCH and WRITE
operations, also shown in Figure 14.
Note: In 68-bit SEARCH and WRITE operations,
the host ASIC must program the even and odd
mask register with the same values, and the
M7010R uses even-numbered mask registers as
global masks.
Each mask bit in the global mask registers is used
during SEARCH and WRITE operations. In
SEARCH operations, setting the Mask Bit to '1' enables compares; setting the Mask Bit to '0' disables compares (forced match) at the current bit
position. In WRITE operations to the data or mask
array, setting the Mask Bit to '1' enables WRITEs;
setting the Mask Bit to '0' disables WRITEs at the
corresponding bit position.
Figure 12. Clocks
CLK2X
PHS_L
CLK(1)
AI04274
Note: Any reference to “CLK Cycles” means 2 cycles of the signal, “CLK2X.”
1. “CLK” is an internal signal. The period for this clock is specified in Table 7, page 15.
Table 8. Register Overview
Address
Abbreviation
Type
Name
0–31
COMP0–31
R
32 Comparand Registers. Stores comparands from the DQ Bus for
learning later.
32–47
MASKS
RW
48–55
SSR0–7
R
56
COMMAND
RW
Command Register.
57
INFO
R
Information Register.
58
RBURREG
RW
Burst READ Register.
59
WBURREG
RW
Burst WRITE Register.
60
NFA
R
Next Free Address Register.
61–63
–
–
Reserved
18/67
16 Global Mask Registers Array.
8 SEARCH Successful Index Registers.
M7010R
Figure 13. Comparand Register Selection
During SEARCH and LEARN
68
Address
Index
Figure 14. Addressing the Global Mask
Register (GMR) Array
68
68
135
0
0
0
1
1
3
5
7
2
4
6
15
30
Address
Index
68
135
0
1
2
3
4
5
6
7
0
0
2
4
6
8
10
12
14
1
3
5
7
9
11
13
15
SEARCH and WRITE Command
Global Mask Selection
31
AI04276
AI04275
SEARCH-Successful Registers
The device contains eight SEARCH-successful
registers (SSRs) to hold the index of the location
where a successful search occurred. The format of
each register is described in Table 9. The
SEARCH command specifies which SSR stores
the index of a specific SEARCH command in “Cycle B” of the SEARCH Instruction.
After the index location is specified, the host ASIC
can use this register to access that data array,
mask array, or external SRAM using the index as
part of the address (see SRAM ADDRESSING,
page 58). The device with a valid bit set performs
a READ or WRITE operation. All other devices
suppress the operation.
Table 9. SEARCH-Successful Register (SSR) Description
Field
Range
Initial Value
Description
INDEX
[13:0]
X
Index. This is the address of the 68-bit entry where a successful search
occurs. The device updates this field if it has a successful search. In 136-bit,
the LSB is '0;' in a 272-bit configuration, the two LSBs are '00.' The index
updates if the device is either a local or global winner in a SEARCH
operation.
–
[30:14]
0
Reserved.
VALID
[31]
0
Valid. The device sets this bit to '1' if it is a global winner (first device
downstream with a hit) in a SEARCH operation, in a depth-cascaded
configuration.
–
[67:32]
0
Reserved.
19/67
M7010R
The Command Register
Table 10. Command Register Field Descriptions
Field
SRST
DEVE
Range
[0]
[1]
Initial Value
Description
0
Software Reset. If '1,' this bit resets the device, with the same effect as the
hardware reset. Internally, it generates a reset pulse lasting for eight CLK
cycles. This bit automatically resets to a '0' during the reset cycle.
0
Device Enable. If '0,' it keeps the SRAM bus (SADR, WE_L, CE_L, OE_L,
and ALE_L), SSF, and SSV signals in a tri-state condition and forces the
cascade interface output signals LHO[1:0] and BHO[2:0] to '0.' It also keeps
the DQ Bus in Input mode. The purpose of this bit is to make sure that there
is no bus contention when the devices power-up in the system.
Table Size. The host ASIC must program this field to configure the chips into
a table of a certain size. This field affects the pipeline latency of the SEARCH
and LEARN operations as well as the READ and WRITE accesses to the
SRAM (SADR[21:0], CE_L, OE_L, WE_L, ALE_L, SSV, SSF, and ACK).
Once programmed, the SEARCH latency stays constant.
TLSZ
[3:2]
Latency #
CLK Cycles
01
00: 1 device
4
01: 2-8 devices
5
10: 9-31
devices
6
11: Reserved
Latency of Hit Signals. This field adds latency to the SSF, SSV, and ACK
signals by the following number of CLK cycles during SEARCH and ACK
during an SRAM READ access.
HLAT
LDEV
LRAM
20/67
[6:4]
[7]
[8]
000
000: 0
100: 4
001: 1
101: 5
010: 2
110: 6
011: 3
111: 7
0
Last device in the cascade. When set, this device is the last device in the
depth-cascaded table and is the default driver for the SSF and SSV signals.
In the event of a SEARCH failure, the device with this bit set drives the hit
signals as follows:
SSF = 0, SSV = 1
During non-search cycles, the device with this bit set drives the signals as
follows:
SSF = 0, SSV = 0
0
Last device on this SRAM Bus. When set, this device is the last device on
the SRAM bus in the depth-cascaded table and is the default driver for the
SADR, CE_L, WE_L, and ALE_L signals. In cycles where no M7010R
device (in a depth-cascaded table) drives these signals, the signals are
driven as follows:
SADR = 22’h3FFFFF, CE_L = 1, WE_L = 1, and ALE_L = 1.
OE_L is always driven by the device for which this bit is set.
M7010R
Field
CFG
Range
Initial Value
Description
[16:9]
0000
0000
Database Configuration. The device is internally divided into four
quadrants of 8K x 68, each of which can be configured as 4K x 68, 2K x 136,
or 1K x 272 as follows:
00: 4K x 68
01: 2K x 136
10: 1K x 272
11: Reserved
Bits [10:9] apply to configuring the 1st quadrant in the address space.
Bits [12:11] apply to configuring the 2nd quadrant in the address space.
Bits [14:13] apply to configuring the 3rd quadrant in the address space.
Bits [16:15] apply to configuring the 4th quadrant in the address space.
[67:17]
0
Reserved.
21/67
M7010R
SEARCH PROCEDURE FOR 32-BIT WIDE PREFIXES
The Global Mask Register is used for 32-bit wide
es a match, then in that case, the left half is a highdata paths as follows:
er priority. So if only one unique match exists in a
particular system, then a match on the left side
Writing a '1' in the Global Mask Register allows
may alleviate the need to do a search on the right
data to be written into the M7010R. A '0' in the Glohalf of the Data array.
bal Mask Register disallows data modification. Information is written into the left half of the 68-bit
word Search Engine as long as space for 34 bits
Figure 15. Global Mask Register Patterns
of data is available and then into the right half of
the Search Engine. 32-bit data can be entered in
two cycles.
Register 0
111 1000
0
The first step is to write into two of the eight Global
Mask Registers with the patterns shown in Figure
15. Writing this data using Global Mask Register 1
allows the left half of the data array to be comRegister 1
000
0111 1
pletely filled.
Figure 16 shows Bits 67 through 36 in the left section of the data array representing 32-bits of data.
Bits 35 and 34 shown separately can be defined
Bits
67
3433
0
by the user for table management. In this applicaAI04277
tion 34-bit operation occurs in each half-section of
the Data and Mask arrays of the Search Engine.
The left half is filled first, then the right. Not all loFigure 16. Storing left half of a Data or Mask
cations have to be filled.
Array
SEARCH operations are performed twice, once on
the left half and then on the right half. Note that a
'1' in the Global Mask register enables a compare
during a SEARCH operation and a '0' forces a
match condition regardless of the state of the data
bit.
The SEARCH throughput for 34-bit operations is
half of the 68-bit operations. A search is performed
by using the Global Mask Register “0” for the left
half of the 68-bit, then another search is performed
using Global Mask Register 1 for the right half of
the 68-bit word. The order is important, as the left
Bits
67
36 35 34 33
2 1 0
half has a higher priority than the right half.
For example, if a search on the left half produces
AI04278
a match and a search on the right half also produc-
22/67
M7010R
The Information Register
Table 11. Information Register Field Descriptions
Field
Range
Initial Value
Description
Revision
[3:0]
0001
Revision Number. This is the current device revision number. Numbers start
from one and increment by one for each revision of the device.
Implementation
[6:4]
000
This is the M7010R implementation number.
Reserved
[7]
0
Device ID
[15:8]
00000001
MFID
[31:16]
1101_1100_
0111_1111
[67:32]
Reserved.
This is the Device Identification Number.
Manufacturer ID. This field is the same as the manufacturer ID and
continuation bits.
Reserved.
The READ Burst Address Register
(RBURREG)
These READ burst address register fields must be
programmed before burst READ (see Table 12).
The WRITE Burst Address Register
(WBURREG)
These WRITE burst address register fields must
be programmed before burst WRITE (see Table
13).
Table 12. READ Burst Register Description
Field
AADR
BLEN
Range
[13:0]
Initial Value
Description
0
Address. This is the starting address of the data array or mask array during
a burst READ operation. It automatically increments by 1 for each
successive read of the data array or mask array. Once the operation is
complete, the contents of this field must be reinitialized for the next
operation.
[18:14]
Reserved.
[27:19]
Length of Burst Access. The device provides the capability to read from 4
up to 511 locations in a single burst. The BLEN decrements automatically.
Once the operation is complete, the contents of this field must be reinitialized
for the next operation.
0
[67:28]
Reserved.
Table 13. WRITE Burst Register Description
Field
AADR
BLEN
Range
[13:0]
Initial Value
Description
0
Address. This is the starting address of the data array or mask array during
a burst WRITE operation. It automatically increments by 1 for each
successive write of the data array or mask array.It increments by 1 for each
successive read of the data array or mask array. Once the operation is
complete, the contents of this field must be reinitialized for the next
operation.
[18:14]
Reserved.
[27:19]
Length of Burst Access. The device provides the capability to write from 4
up to 511 locations in a single burst. The BLEN decrements automatically.
Once the operation is complete, the contents of this field must be reinitialized
for the next operation.
[67:28]
0
Reserved.
23/67
M7010R
The NFA Register
Bit [0] of each 68-bit data entry is a special bit designated for use in the operation of the LEARN
command. In 68-bit configurations, the Bit[0] indicates whether a location is full (bit set to '1') or
empty (bit set to '0'). Every WRITE/LEARN command loads the address of first 68-bit location that
contains a “0” in the entry’s Bit[0]. This is stored in
the NFA register. If all the bits in a device are set
to '1,' the M7010R asserts FULO[1:0] to '1.'
In a 136-bit configuration, the LSB of this register
is always set to '0.' The host ASIC must set Bit 0
SEARCH ENGINE ARCHITECTURE
The M7010R consists of 16k x 68-bit storage cells
referred to as “data bits.” There is a mask cell corresponding to each data cell. Figure 17 shows the
three organizations of the device based on the value of CFG bits in the COMMAND register.
During a SEARCH operation, the SEARCH Data
Bit (S), Data Array Bit (D), Mask Array Bit (M) and
the Global Mask Bit (G) are used in the following
manner to generate a match at that bit position
(see Table 15, page 25).
The entry with all matched bit positions results in a
successful search in the M7010R. In order for a
successful SEARCH to make the device the local
winner in the SEARCH operation, all 68-bit positions within a device must generate a match for a
68-bit entry in 68-bit-configured quadrants, or all
136-bit positions must generate a match for two
consecutive even and odd 68-bit entries in quadrants configured as 136 bits, or all 272-bit positions must generate a match for four consecutive
24/67
and Bit 68 in a 136-bit word to either '0' or '1' to indicate full/empty status for a 136-bit entry.
Note: Both Bits 0 and Bit 68 must be set to '0' or
'1' (e.g., '10' or '01' settings are invalid).
Table 14. NFA Register
Address
67 - 14
13 - 0
60
Reserved
Index
entries aligned to four entry-page boundaries of
68-bit entries in quadrants configured as 272 bits.
An arbitration mechanism using a cascade bus determines the global winning device among the local winning devices in a SEARCH cycle. The
global winning device drives the SRAM bus, SSV,
and The SSF signals. In the case of a SEARCH
failure, the device(s) with LDEV and LRAM bits set
drive the SRAM bus, SSF, and SSV signals.
The M7010R may be partitioned into up to four (4)
quadrants of different widths (e.g., 34, 68, 136, or
272 bits), even within the same chip (see Application Notes AN1338 and AN1339). Figure 18 shows
a sample configuration of different widths.
Data and Mask Addressing
Figure 19, page 26 shows the M7010R data array
and mask array addressing procedure. The data
array and mask array addresses differ only in one
bit in the address cycle of the READ and WRITE
commands.
M7010R
Figure 17. M7010R Database Configuration
68
136
Masks
16 K
Data
272
8K
Masks
4K
Data
Masks
CFG = 10101010
Data
CFG = 01010101
CFG = 00000000
AI04264
Table 15. Bit Position Match
Figure 18. Multi-width Configuration Example
G
M
S
D
Match
0
x
x
x
1
1
0
x
x
1
1
1
0
0
1
1
1
0
1
0
1
1
1
0
0
1
1
1
1
1
68
4K
68
4K
2K
1K
136
272
CFG = 10010000
AI04244
25/67
M7010R
Figure 19. M7010R Data and Mask Array Addressing
68
67
68
0
0
1
2
3
16 K
68
68
68
0
4
1
5
2
6
3
7
16380
16381
16382
16383
271
68
68
0
2
4
6
1
3
5
7
16382
16383
135
0
4K
0
8K
CFG = 10101010
(272-bit configuration)
16383
CFG = 00000000
(68-bit Configuration)
CFG = 01010101
(136-bit Configuration)
AI04263
26/67
M7010R
COMMAND CODES AND PARAMETERS
A master device, such as an ASIC controller, issues commands to the M7010R using the CMDV
signal and the CMD Bus. The following subsections describe the functions of the commands.
Command Codes
The M7010R implements four basic commands
shown in Table 16. The Command code must be
presented to CMD[1:0] while keeping the command valid (CMDV) signal high for two CLK2X cy-
cles. These two CLK2X cycles are designated as
“Cycle A” and “Cycle B.” The CMD[8:2] field passes the parameters of the command in CLK2X Cycles A and B. The controller ASIC must align the
instructions with the CLK2X signal.
Commands and Command Parameters
Table 17 lists the CMD bus fields that contain the
M7010R command parameters as well as their respective cycles.
Table 16. Command Codes
CMD Code
Command
Description
00
READ
Reads one of the following: data array, mask array, device registers, or external
SRAM.
01
WRITE
Writes one of the following: data array, mask array, device registers, or external
SRAM.
10
SEARCH
Searches the data array for a desired pattern using the specified register from the
global mask register array and local mask associated with each data cell.
11
LEARN
The device has internal storage for up to 16 comparands that it can learn. The
device controller can insert these entries at the next free address (as specified by
the NFA register) using the LEARN Instruction.
Table 17. Command Parameters
Cmd
Cyc
8
7
6
5
4
3
2
1
0
A
SADR[21]
SADR[20]
SADR[19]
0
0
0
0 = Single
1 = Burst
0
0
B
0
0
0
0
0
0
0 = Single
1 = Burst
0
0
A
SADR[21]
SADR[20]
SADR[19]
GMR Index[2:0]
0 = Single
1 = Burst
0
1
B
0
0
0
GMR Index[2:0]
0 = Single
1 = Burst
0
1
GMR Index[2:0]
68-bit or 136-bit: 0
272-bit:
1 in 1st Cycle
0 in 2nd Cycle
1
0
Comparand Register Index
1
0
READ
WRITE
A
SADR[21]
SADR[20]
SADR[19]
SEARCH
B
LEARN(1)
Successful SEARCH Register Index[2:0]
A
SADR[21]
SADR[20]
SADR[19]
Comparand Register Index
1
1
B
0
0
Mode
0: 68-bit
1: 136-bit
Comparand Register Index
1
1
Note: The SRAM Address Bit SADR [19] in the command bit C6 will not be passed to the SRAM (see Table 28).
1. The 272-bit configuration does not support the LEARN Instruction.
27/67
M7010R
READ COMMAND
The READ can be a single read of a data array, a
mask array, an SRAM, or a register location
(CMD[2] = 0). It can be a burst READ (CMD[2] = 1)
using an internal auto-incrementing address register (RBURADR) of the data or mask array locations (see Table 18, page 30 and Table 19, page
30 for formats).
A single-location READ operation takes six cycles,
as shown in Figure 20, page 29. The burst READ
adds two cycles for each successive read. The
SADR[21:19] bits supplied in the READ Instruction
Cycle A drives SADR[21:19] signals during the
PIO READ of an SRAM location.
The single READ operation takes six CLK cycles,
in the following sequence:
– Cycle 1: The host ASIC applies the READ Instruction on the CMD[1:0] (CMD[2] = 0), using
CMDV = 1, and the DQ Bus supplies the address, as shown in Table 19, page 30 and Table
20, page 30. The host ASIC selects the device
for which ID[4:0] matches the DQ[25:21] lines. If
DQ[25:21] = 11111, the host ASIC selects the
M7010R with the LDEV Bit set. The host ASIC
also supplies SADR[21:19] on CMD[8:6] in Cycle A of the READ Instruction if the READ is directed to the external SRAM.
– Cycle 2: The host ASIC releases the DQ[67:0]
bus to a tri-state condition.
– Cycle 3: The host ASIC keeps DQ[67:0] bus in
a tri-state condition.
– Cycle 4: The selected device starts to drive the
DQ[67:0] bus and drives the ACK signal from Z
to low.
– Cycle 5: The selected device drives the READ
data from the addressed location on the
DQ[67:0] bus and drives the ACK signal high.
– Cycle 6: The selected device floats the
DQ[67:0] bus and drives the ACK signal low.
At the termination of Cycle 6, the selected device
releases the ACK line to a tri-state condition. The
28/67
READ Instruction is complete, and a new operation can begin.
The burst READ operation lasts 4 + 2n CLK-cycles
(where “n” stands for the number of accesses in
the burst specified by the BLEN field of the RBURREG) in the sequence shown in Figure 21, page
29. This operation assumes that the host ASIC
has programmed the RBURREG with the starting
address (ADDR) and the length of transfer (BLEN)
before initiating the burst READ command.
– Cycle 1: The host ASIC applies the READ Instruction on the CMD[1:0] (CMD[2] = 1), using
CMDV=1 and the address supplied on the DQ
Bus, as shown in Table 21, page 31. The host
ASIC selects the device for which ID[4:0] matches the DQ[25:21] lines. If DQ[25:21] = 11111,
the host ASIC selects the M7010R with the
LDEV Bit set.
– Cycle 2: The host ASIC floats DQ[67:0] to a tristate condition.
– Cycle 3: The host ASIC keeps DQ[67:0] bus in
a tri-state condition.
– Cycle 4: The selected device starts to drive the
DQ[67:0] bus and drives ACK, and EOT from Z
to low.
– Cycle 5: The selected device drives the READ
data from the addressed location on the
DQ[67:0] bus and drives the ACK signal high.
Note: Cycles four and five repeat for each additional access until all the accesses specified in
the burst length (BLEN) field of RBURREG are
complete. On the last transfer, the M7010R
drives the EOT signal high.
– Cycle (4 + 2n): The selected device drives the
DQ[67:0] to 3-state condition and drives the
ACK and the EOT signals low.
At the termination of Cycle 4 + 2n, the selected device floats the ACK line to 3-state condition. The
burst READ Instruction is complete, and a new operation can begin (see Table 21, page 31 for burst
READ address formats).
M7010R
Figure 20. Single Location READ Cycle Timing
Cycle 1
Cycle 2
Cycle 3
Cycle 4
Cycle 5
Cycle 6
CLK2X
PHS_L
CMDV
Read
CMD[1:0]
A
CMD[8:2]
DQ
B
Address
X
Data
ACK
AI04282
Figure 21. Burst READ of the Data and Mask Arrays (BLEN = 4)
Cycle
Cycle
Cycle
Cycle
Cycle
Cycle
Cycle
Cycle
Cycle
Cycle
Cycle
Cycle
1
3
5
7
9
11
2
6
8
10
12
4
CLK2X
PHS_L
CMDV
CMD[1:0]
Read
CMD[8:2]
A
DQ
B
Address
FF
Data0
FF
Data1
FF
Data2
FF
Data3
ACK
EOT
AI04283
29/67
M7010R
Table 18. READ Command Parameters
CMD Parameter
CMD[2]
Read Command
Description
0
Single Read
Reads a single location of the data array, mask array, external SRAM,
or device registers. All access information is applied on the DQ Bus.
Reads a block of locations from the data array or mask array as a
burst.
1
Burst Read
The internal register (RBURADR) specifies the starting address and
the length of the data transfer from the data array or mask array, and it
auto-increments the address for each access.
All other access information is applied on the DQ Bus.
Note: The device registers and external SRAM can only be read in
single-read mode.
Table 19. Data and Mask Array, SRAM READ Address Format
DQ
[67:30]
Reserved
DQ
[29]
DQ
[28:26]
DQ
[25:21]
Successful SEARCH
0: Direct
Register Index
1: Indirect (Applicable if DQ[29]
is indirect)
Reserved
Successful SEARCH
0: Direct
Register Index
1: Indirect (Applicable if DQ[29]
is indirect)
Reserved
Successful SEARCH
0: Direct
Register Index
1: Indirect (Applicable if DQ[29]
is indirect)
DQ
[20:19]
DQ
[18:14]
DQ
[13:0]
00: Data
Array
If DQ[29] is '0,' this field carries
address of data array location.
If DQ[29] is '1,' the successful
SEARCH Register specified on
Reserved DQ[28:26] supplies the address
of the data array location:
{SSR[13:2], SSR[1] | DQ[1],
SSR[0] | DQ[0]}(1)
ID
01: Mask
Array
If DQ[29] is '0,' this field carries
address of mask array location.
If DQ[29] is '1,' the successful
SEARCH Register specified on
Reserved DQ[28:26] supplies the address
of the mask array location:
{SSR[13:2], SSR[1] | DQ[1],
SSR[0] | DQ[0]}(1)
ID
10:
External
SRAM
If DQ[29] is '0,' this field carries
address of SRAM location.
Reserved If DQ[29] is '1,' the successful
SEARCH Register specified on
DQ[28:26] supplies the address
of the SRAM location.
ID
Note: 1. “|” stands for logical OR operation, and “{ }” stands for concatenation operator.
Table 20. READ Address Format for Internal Registers
DQ[67:26]
DQ[25:21]
DQ[20:19]
DQ[18:6]
DQ[5:0]
Reserved
ID
11: Register
Reserved
Register Address
30/67
M7010R
Table 21. READ Address Format for Data and Mask Arrays
DQ[67:26]
DQ[25:21]
DQ[20:19]
DQ[18:14]
Reserved
ID
00: Data Array
Reserved
Do not care. These 14 bits come from the
internal register (RBURADR) which
increments for each access.
Reserved
ID
01: Mask Array
Reserved
Do not care. These 14 bits come from the
internal register (RBURADR) which
increments for each access.
WRITE COMMAND
The WRITE can be a single write of a data array,
mask array, register, or external SRAM location
(CMD[2] = 0). It can also be a burst WRITE
(CMD[2] = 1) using an internal auto-incrementing
address register (WBURADR) of the data array or
mask array locations (see Table 23, page 33 for
format). A single-location WRITE is a three-cycle
operation, shown in Figure 22, page 32. The burst
WRITE adds one extra cycle for each successive
location write.
The WRITE operation sequence is as follows:
– Cycle 1A: The host ASIC applies the WRITE Instruction to CMD[1:0] (CMD[2] = 0), using CMDV=1 and the address supplied on the DQ Bus,
as shown in Table 22, page 33. The host ASIC
also supplies the index to the global mask register (GMR) to mask the WRITE to the data array or mask array location in CMD[5:3]. For
SRAM writes, the host ASIC must supply
SADR[21:19] on CMD[8:6].
– Cycle 1B: The host ASIC continues to apply the
WRITE Instruction to CMD[1:0] (CMD[2] = 0)
using CMDV = 1 and the address supplied on
the DQ Bus. The host ASIC continues to supply
the GMR Index to mask the WRITE to the data
or mask array locations in CMD[5:3]. The host
ASIC selects the device where ID[4:0] matches
the DQ[25:21] = 11111.
– Cycle 2: The host ASIC drives the DQ[67:0]
with the data to be written to the data array,
mask array, external SRAM, or register location
of the selected device.
– Cycle 3: Idle cycle. At the termination of this cycle, another operation can begin.
The burst WRITE operation lasts for (n + 2) CLK
cycles, where “n” signifies the number of accesses
in the burst as specified in the BLEN field of the
WBURREG register (see Figure 23, page 32).
This operation assumes that the host ASIC has
programmed the WBURREG with the starting address (ADDR) and the length of transfer (BLEN)
before initiating the burst WRITE command (see
DQ[13:0]
Table 24, page 33 for format). The sequence is as
follows:
– Cycle 1A: The host ASIC applies the WRITE Instruction on the CMD[1:0] (CMD[2] = 1), using
CMDV = 1 and the address supplied on the DQ
Bus, as shown in Table 23, page 33. The host
ASIC also supplies the index to the global mask
register to mask the WRITE to the data or mask
array locations in CMD[5:3].
– Cycle 1B: The host ASIC continues to apply the
WRITE Instruction to CMD[1:0] (CMD[2] = 0)
using CMDV = 1 and the address supplied on
the DQ Bus. The host ASIC continues to supply
the GMR Index to mask the WRITE to the data
or mask array locations in CMD[5:3]. The host
ASIC selects the device where ID[4:0] matches
the DQ[25:21] = 11111.
– Cycle 2: The host ASIC drives the DQ[67:0]
with the data to be written to the data array or
mask array location of the selected device. The
host ASIC writes the data on the DQ[67:0] bus
only to the subfield that has the corresponding
mask bit set to '1' in the global mask register
specified by the index CMD[5:3] and supplied in
Cycle 1.
– Cycles 3 to n + 1: The host ASIC drives
DQ[67:0] with the data to be written to the next
data array or mask array location (addressed by
the auto-increment AADR field of the WBURREG register) of the selected device.
The host ASIC writes the data on the DQ[67:0]
bus only to the subfield that has the corresponding mask bit set to '1' in the global mask register
specified by the index CMD[5:3] and supplied in
Cycle 1. The M7010R drives the EOT signal low
from Cycle 3 to Cycle n; the M7010R drives the
EOT signal high in Cycle n + 1 (n is specified in
the BLEN field of the WBURREG).
– Cycle n + 2: The M7010R drives the EOT signal
low. At the termination of the Cycle n + 2, the
M7010R floats the EOT signal to a 3-state, and
a new instruction can begin.
31/67
M7010R
Figure 22. Single Location WRITE Cycle Timing
Cycle 0
Cycle 1
Cycle 2
Cycle 3
Cycle 4
CLK2X
PHS_L
CMDV
CMD[1:0]
Write
CMD[8:2]
A
DQ
B
Address
Data
X
AI04284
Figure 23. Burst WRITE of the Data and Mask Arrays (BLEN = 4)
Cycle
1
Cycle
2
Cycle
3
Cycle
4
Cycle
5
Data0
Data1
Data2
Data3
Cycle
6
CLK2X
PHS_L
CMDV
CMD[1:0]
CMD[8:2]
DQ
Write
A
Address
B
X
EOT
AI04285
32/67
M7010R
Table 22. (Single) WRITE Address Format for Data and Mask Arrays or SRAM
DQ
[67:30]
Reserved
Reserved
Reserved
DQ
[29]
DQ
[28:26]
DQ
[25:21]
0: Direct
1: Indirect
Successful
SEARCH
Register Index
(Applicable if
DQ[29] is
indirect)
0: Direct
1: Indirect
Successful
SEARCH
Register Index
(Applicable if
DQ[29] is
indirect)
0: Direct
1: Indirect
Successful
SEARCH
Register Index
(Applicable if
DQ[29] is
indirect)
ID
ID
ID
DQ
[20:19]
00: Data
Array
01: Mask
Array
10: External
SRAM
DQ
[18:14]
DQ
[13:0]
Reserved
If DQ[29] is '0,' this field carries the
address of the data array location.
If DQ[29] is '1,' the SSR specified on
DQ[28:26] is used to generate the
address of the data array location:
{SSR[13:2], SSR[1] | DQ[1], SSR[0]
| DQ[0]}.(1)
Reserved
If DQ[29] is '0,' this field carries
address of the mask array location.
If DQ[29] is '1,' the SSR specified on
DQ[28:26] is used to generate the
address of the data array location:
{SSR[13:2], SSR[1] | DQ[1], SSR[0]
| DQ[0]}.(1)
Reserved
If DQ[29] is '0,' this field carries
address of the data SRAM location.
If DQ[29] is '1,' the SSR specified on
DQ[28:26] is used to generate the
address of the data array location:
{SSR[13:2], SSR[1] | DQ[1], SSR[0]
| DQ[0]}.(1)
Note: 1. “|” stands for logical OR operation, and “{ }” stands for concatenation operator.
Table 23. WRITE Address Format for Internal Registers
DQ[67:26]
DQ[25:21]
DQ[20:19]
DQ[18:6]
DQ[5:0]
Reserved
ID
11: Register
Reserved
Register address
Table 24. WRITE Address Format for Data and Mask Array (Burst WRITE)
DQ
[67:26]
DQ
[25:21]
DQ
[20:19]
DQ
[18:14]
DQ
[13:0]
Reserved
ID
00: Data array
Reserved
Don’t care. These 14 bits come from the
internal register (WBURADR), which
increments with each access.
Reserved
ID
01: Mask array
Reserved
Don’t care. These 14 bits come from the
internal register (WBURADR), which
increments with each access.
33/67
M7010R
SEARCH COMMAND
The M7010R Search Engine can be configured in
three ways:
1. 68-bit
2. 136-bit
3. 272-bit
4. Mixed-sized SEARCHES on tables configured with different widths
68-bit Configuration
Figure 25, page 35 shows the timing diagram for a
SEARCH operation in the 68-bit-configured table
(one device only). This illustration assumes that
the host ASIC has programmed TLSZ to '00,'
HLAT to '000,' LRAM to '1,' and LDEV to '1' in the
command register. The hardware diagram for this
search subsystem is shown in Figure 24.
– Cycle A: The host ASIC drives CMDV high and
applies the SEARCH command code (10) on
CMD[1:0]. CMD[5:3] must be driven by the index to the global mask register pair for use in
the SEARCH operation. CMD[8:6] signals must
be driven by the same bits that will be driven on
SADR[21:19] by this device if it has a hit.
DQ[67:0] must be driven with the data to be
compared. CMD[2] signal must be driven to logic '0.'
– Cycle B: The host ASIC continues to drive
CMDV high and to apply the SEARCH command (10) on CMD[1:0]. CMD[5:2] must be driven by the index of the comparand register pair
for storing the 136-bit word presented on the DQ
Bus during Cycles A and B. CMD[8:6] signals
must be driven with the index of the SSR that
will be used for storing the address of the
matching entry and the hit flag. The DQ[67:0]
continues to carry the 68-bit data to be compared.
Note: In the 68-bit configuration, the host ASIC
must supply the same data on DQ[67:0] during
cycles A and B. The even and odd GMR pairs
selected for the compare must be programmed
with the same value.
The SEARCH command is a pipelined operation
and executes a SEARCH at half their rate of frequency of CLK2X for 68-bit searches in x68-configured tables. The latency of SADR, CE_L,
ALE_L, WE_L, SSV, and SSF from 68-bit
SEARCH Command cycle (= two CLK2X cycles)
is shown in Table 27, page 36.
The timing diagram for all SRAM interface signals,
SSV, and SSF shift to the right for different values
of TLSZ, as specified in Table 25, page 36 and Table 26, page 36.
In addition, SSV and SSF shift to the right for different values of HLAT, as specified in Table 26,
page 36.
68-bit Configuration with LDEV = 1. The
device is configured to be the last in the depth-cascaded table by setting LDEV to '1' in the Command
Register. The device with LDEV set to '1' drives
the SSF and SSV signals in cycles when all upstream devices do not drive these signals. The
M7010R with its LDEV Bit set drives SSF and SSV
during a search with a miss or with non-search
commands (see the LDEV Bit definition in Table
10, page 20).
68-bit Configuration with LRAM = 1. Setting
LRAM to '1' in the Command Register configures
the device to be the last on the SRAM Bus. In a cycle where the upstream device does not drive the
SRAM Bus, the last device of the SRAM Bus (with
LRAM = 1) drives the bus (SADR, CE_L, WE_L,
ALE_L) when they are active. When set to '1,' the
LRAM Bit sets the default driver for the SRAM control signals (SADR, CE_L, WE_L, and ALE_L).
Figure 24. Hardware Diagram for a Table with a Single Device (68-bit Operation)
DQ[67:0]
6
BHI[2:0]
M7010R
CMDV, CMD[8:0]
SSF, SSV
BHI[2:0]
LHO[1]
5
4
3
LHI
2
1
0
SRAM
LHO[0]
AI07040
34/67
M7010R
Figure 25. 68-Bit Configuration SEARCH Timing Diagram (One Device)
Cycle
1
Cycle
Cycle
Cycle
Cycle
Cycle
2
4
6
3
5
Cycle
7
Cycle
Cycle
Cycle 10
8
9
CLK2X
PHS_L
CMDV
Search1
CMD[1:0]
Search3
01
01
01
Search2
CMD[8:2]
A
DQ
D1
SADR[21:0]
ALE_L, CE_L
WE_L
OE_L
B A
B
D2
01
Search4
A
B
D3
A
B
D4
A3
A1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
SSV
1
0
0
SSF
0
1
0
1
Hit
Miss
Hit
0
Miss
CFG = 00000000, HLAT = 000, TLSZ = 00, LRAM = 1, LDEV = 1
AI04286
35/67
M7010R
Table 25. Right-Shift of 68-bit Signals for TLSZ
Values
Table 26. Shift of SSF and SSV from SADR (for
different HLAT Values)
TLSZ
Number of CLK Cycles
HLAT
Number of CLK Cycles
00
0
000
0
01
1
001
1
10
2
010
2
011
3
100
4
101
5
110
6
111
7
Table 27. Latency of SEARCH from Instruction to SRAM Access Cycle (68-bit Mode)
36/67
# of devices
Max Table Size
Latency in CLK Cycles
1 (TLSZ = 00)
16K x 68-bit
4
2–8 (TLSZ = 01)
128K x 68-bit
5
9–31 (TLSZ = 10)
496K x 68-bit
6
M7010R
68-bit Logical SEARCH
The logical, 68-bit SEARCH operation is shown in
Figure 26. The entire table of 68-bit entries is compared to a 68-bit word K (presented on the DQ Bus
in both Cycles A and B of the command) using the
GMR and the local mask bits. The effective GMR
is the 68-bit word specified by the identical value
in both even and odd GMR pairs selected by the
GMR Index in the command’s Cycle A. The 68-bit
word K (presented on the DQ Bus in both Cycles
A and B of the command) is also stored in both
even and odd comparand register pairs selected
by the Comparand Register Index in the command’s Cycle B. In a x68 configuration, only the
even comparand register can subsequently be
used by the LEARN command. The word K (presented on the DQ Bus in both Cycles A and B of
the command) is compared with each entry in the
table, starting at location “0.” The first matching
entry’s location, address “L,” is the winning address that is driven as part of the SRAM address
on the SADR[21:0] lines.
Figure 26. x68 Table with One Device
0
67
GMR
K
67
0
Location 67
address
0
1
2
3
0
Comparand Register (even)
K
Comparand Register (odd)
K
L
(First matching entry)
16383
CFG = 00000000
(68-bit Configuration)
AI07041
37/67
M7010R
136-bit Configuration
Figure 28, page 39 shows the timing diagram for
the SEARCH operation in the 136-bit table (CFG =
01010101) consisting of a single device for one set
of parameters: TLSZ = 00, HLAT = 001, LRAM =
1, and LDEV = 1. The hardware diagram for the
search subsystem is shown in Figure 27.
The following is the operation sequence for a single, 136-bit SEARCH command.
– Cycle A: The host ASIC drives the CMDV high
and applies the SEARCH command code (10)
to CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair for use in
this SEARCH operation. CMD[8:6] signals must
be driven with the same bits that will be driven
on SADR[21:19] by this device if it has a hit.
DQ[67:0] must be driven with the 68-bit data
([135:68]) to be compared against all even locations. The CMD[2] signal must be driven to logic
'0.'
– Cycle B: The host ASIC continues to drive the
CMDV high and applies SEARCH command
code (10) on CMD[1:0]. CMD[5:2] must be driven by the index to the comparand register pair
for storing the 136-bit word presented on the DQ
Bus during Cycles A and B. CMD[8:6] signals
must be driven by the index of the SSR that will
be used for storing the address of the matching
entry and hit flag. The DQ[67:0] is driven with
68-bit data ([67:0]), compared to all odd locations.
Note: For 136-bit searches, the host ASIC must
supply two distinct, 68-bit data words on
DQ[67:0] during Cycles A and B. The evennumbered GMR of the pair specified by the
GMR Index is used for masking the word in Cycle A. The odd-numbered GMR of the pair specified by the GMR Index is used for masking the
word in Cycle B.
The SEARCH command is a pipelined operation
that executes searches at half the rate of the frequency of CLK2X for 136-bit searches in x136-bitconfigured tables. The latency of SADR, CE_L,
ALE_L, WE_L, SSV, and SSF from the 136-bit
SEARCH command cycle (two CLK2X cycles) is
shown in Table 30, page 40.
The timing diagram for all SRAM interface signals,
SSV, and SSF shift to the right for different values
of TLSZ, as specified in Table 28, page 40.
In addition, SSV and SSF shift to the right for different values of HLAT, as specified in Table 29,
page 40.
The result of the SEARCH operation appears as
an SRAM READ Cycle with a pipelined latency. It
is specified as shown in Table 30, page 40.
Figure 27. Hardware Diagram for a Table with One Device (136-bit Operation)
DQ[67:0]
6
BHI[2:0]
M7010R
CMDV, CMD[8:0]
SSF, SSV
BHI[2:0]
LHO[1]
5
4
3
LHI
2
1
0
SRAM
LHO[0]
AI07040
38/67
M7010R
Figure 28. 136-Bit Configuration SEARCH Timing Diagram (One Device)
Cycle
1
Cycle
Cycle
Cycle
Cycle
Cycle
2
4
6
3
5
Cycle
7
Cycle
Cycle
Cycle 10
8
9
CLK2X
PHS_L
CMDV
Search1
CMD[1:0]
Search3
01
01
01
Search2
01
Search4
CMD[8:2]
A
B A
B
A
B
A
B
DQ
A
B
A
B
A
B
A
B
D1
SADR[21:0]
ALE_L, CE_L
WE_L
OE_L
D2
D3
D4
A3
A1
1
0
1
0
1
1
1
1
1
1
0
0
0
0
0
SSV
1
0
0
SSF
1
0
1
Miss
Hit
Miss
0
Hit
0
CFG = 01010101, HLAT = 001, TLSZ = 00, LRAM = 1, LDEV = 1
AI04287
39/67
M7010R
Table 28. Right-Shift of 136-bit Signals for
TLSZ Values
Table 29. Shift of SSF and SSV from SADR (for
different HLAT values)
TLSZ
Number of CLK Cycles
HLAT
Number of CLK Cycles
00
0
000
0
01
1
001
1
10
2
010
2
011
3
100
4
101
5
110
6
111
7
Table 30. Latency of SEARCH from Instruction to SRAM Access Cycle (136-bit Mode)
40/67
# of devices
Max Table Size
Latency in CLK Cycles
1 (TLSZ = 00)
8K x 136-bit
4
2–8 (TLSZ = 01)
64K x 136-bit
5
9–31 (TLSZ = 10)
248K x 136-bit
6
M7010R
136-bit Logical SEARCH
The logical, 136-bit SEARCH operation is shown
in Figure 29. The entire table of 136-bit entries is
compared to a 136-bit word K (presented on the
DQ Bus in both Cycles A and B of the command)
using the GMR and the local mask bits. The GMR
is the 136-bit word specified by the even and odd
global mask pair selected by GMR Index in the
command’s Cycle A. The 136-bit word K (presented on the DQ Bus in both Cycles A and B of the
command) is also stored in both even and odd
comparand register pairs selected by the Comparand Register Index in the command’s Cycle B.
The two comparand registers can subsequently
be used by the LEARN command with the even-
numbered comparand register stored in an evennumbered location, and the odd-numbered comparand register stored in an adjacent, odd-numbered location. The word K (presented on the DQ
Bus in Cycles A and B of the command) is compared with each entry in the table starting at location “0.” The first matching entry’s location,
address “L,” is the winning address that is driven
as part of the SRAM address on the SADR[21:0]
lines.
Note: The matching address is always going to be
an even-numbered address for a 136-bit
SEARCH.
Figure 29. x136 Table with One Device
0
135
GMR
K
67
0
Even
Odd
A
B
Location 135
address
0
2
4
6
0
Comparand Register (even)
A
Comparand Register (odd)
B
L
(First matching entry)
16382
CFG = 01010101
(136-bit Configuration)
AI07042
41/67
M7010R
272-bit Configuration
Figure 31, page 43 shows the timing diagrams for
a SEARCH operation in the 272-bit-configured table (CFG = 10101010) consisting of a single device for one set of parameters: TLSZ = 00, HLAT
= 001, LRAM = 1, and LDEV = 1. The hardware diagram for this search subsystem is shown in Figure 30.
– Cycle A: The host ASIC drives the CMDV high
and applies the SEARCH command code (10)
to CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair for bits
[271:136] of the data being searched. DQ[67:0]
must be driven with the 68-bit data ([271:204])
to be compared to all locations “0” in the four 68bits-word page. The CMD[2] signal must be
driven to logic '1.'
Note: CMD[2] = 1 signals that the search is a
x272-bit search. CMD[8:3] is ignored.
– Cycle B: The host ASIC continues to drive
CMDV high and continues to apply SEARCH
command code (10) on CMD[1:0]. The
DQ[67:0] is driven with 68-bit data ([203:136]) to
be compared to all locations “1” in the 68-bitsword page.
– Cycle C: The host ASIC drives the CMDV high
and applies the SEARCH command code (10)
to CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair for bits
[135:0] of the data being searched. CMD[8:6]
signals must be driven with the bits that will be
driven on SADR[21:19] by this device if it has a
hit. DQ[67:0] must be driven with the 68-bit data
([135:68]) to be compared to all locations “2” in
the four 68-bits-word page. The CMD[2] signal
must be driven to logic '0.'
– Cycle D: The host ASIC continues to drive
CMDV high and applies SEARCH command
code (10) on CMD[1:0]. CMD[8:6] signals must
be driven with the index of the SSR that will be
used for storing the address of the matching entry and hit flag (see Table 9, page 19 for a description of SSR[0:7]). The DQ[67:0] is driven
with the 68-bit data ([67:0]) to be compared to all
locations “3” in the four 68-bits-word page.
CMD[5:2] is ignored because the LEARN Instruction is not supported for x272 tables.
Note: For 272-bit searches, the host ASIC must
supply four distinct 68-bit data words on
DQ[67:0] during Cycles A, B, C, and D. The
GMR Index in Cycle A selects a pair of GMRs
that apply to DQ data in Cycles A and B. The
GMR Index in Cycle C selects a pair of GMRs
that apply to DQ data in Cycles C and D.
The SEARCH command is a pipelined operation
that executes searches at one-fourth the rate of
the frequency of CLK2X for 272-bit searches in
x272-bit-configured tables. The latency of SADR,
CE_L, ALE_L, WE_L, SSV, and SSF from the
272-bit SEARCH command (measured in CLK cycles) from the CLK2X cycle that contains the C
and D cycles is shown in Table 33, page 44.
The timing diagram for all SRAM interface signals,
SSV, and SSF shift to the right for different values
of TLSZ, as specified in Table 31, page 44.
In addition, SSV and SSF shift to the right for different values of HLAT, as specified in Table 32,
page 44.
In the 272-bit configuration, SEARCH takes two
CLK cycles. The result of the SEARCH operation
appears as an SRAM READ Cycle with a pipelined
latency measured from the second cycle of the
command, as specified in Table 33, page 44.
Figure 30. Hardware Diagram for a Table with One Device (272-bit Operation)
DQ[67:0]
6
BHI[2:0]
M7010R
CMDV, CMD[8:0]
SSF, SSV
BHI[2:0]
LHO[1]
5
4
3
LHI
2
1
0
SRAM
LHO[0]
AI07040
42/67
M7010R
Figure 31. 272-Bit Configuration SEARCH Timing Diagram (One Device)
Cycle
Cycle
Cycle
Cycle
Cycle
2
4
6
3
5
Cycle
1
Cycle
7
Cycle
Cycle
Cycle 10
8
9
CLK2X
PHS_L
A
B
C D
CMDV
01
Search1
CMD[1:0]
01
Search2
CMD[2]
CMD[8:2]
A
B A
B
A
B
A
B
DQ
A
B
A
B
A
B
A
B
D1
D2
SADR[21:0]
ALE_L, CE_L
WE_L
OE_L
A1
1
0
1
1
1
1
0
0
0
SSV
1
0
1
0
0
SSF
0
1
0
Hit
Miss
0
CFG = 10101010, HLAT = 001, TLSZ = 00, LRAM = 1, LDEV = 1
AI04288
43/67
M7010R
Table 31. Right-Shift of 272-bit Signals for
TLSZ Values
Table 32. Shift of SSF and SSV from SADR (for
different HLAT Values)
TLSZ
Number of CLK Cycles
HLAT
Number of CLK Cycles
00
0
000
0
01
1
001
1
10
2
010
2
011
3
100
4
101
5
110
6
111
7
Table 33. Latency of SEARCH from Instruction to SRAM Access Cycle (272-bit Mode)
44/67
# of devices
Max Table Size
Latency in CLK Cycles
1 (TLSZ = 00)
4K x 272-bit
4
2–8 (TLSZ = 01)
32K x 272-bit
5
9–31 (TLSZ = 10)
124K x 272-bit
6
M7010R
272-bit Logical SEARCH
The logical 272-bit SEARCH operation is shown in
Figure 32. The entire table of 272-bit entries is
compared to a 272-bit word K (presented on the
DQ Bus in both Cycles A, B, C, and D of the command) using the GMR and the local mask bits. The
GMR is the 272-bit word specified by the two pairs
of GMRs selected by GMR Indexes in the command’s Cycles A and C. The 272-bit word K (presented on the DQ Bus in Cycles A, B, C, and D of
the command) is compared with each entry in the
table starting at location “0.”
The first matching entry’s location, address “L,” is
the winning address that is driven as part of the
SRAM address on the SADR[21:0] lines.
Note: The matching address is always going to be
location “0” in a four-entry page for a 272-bit
SEARCH (two LSBs of the matching index will be
“00”).
Figure 32. x272 Table with One Device
0
271
GMR
0
1
2
3
K
A
B
C
D
0
Location 271
address
0
4
8
12
L
(First matching entry)
16380
CFG = 10101010
(272-bit Configuration)
AI07044
45/67
M7010R
Mixed-sized Searches on Tables Configured with Different Width Using an M7010R Device
This subsection will cover mixed searches (x68,
Note: The DQ[67:66] will be “00” in each of the two
x136, and x272) with tables of different widths
A and B Cycles of the x68-bit SEARCH (Search1).
(x68, x136, and x272). The sample operation
DQ[67:66] is “01” in each of the A and B Cycles of
shown is for a single device with CFG = 10010000,
the x136-bit SEARCH (Search2). DQ[67:66] is
containing three tables of x68, x136, and x272
“10” in each of the A, B, C, and D Cycles of the
widths. The operation can be generalized to a
x272-bit SEARCH (Search3). By having table desblock of 8 to 31 devices using four blocks; the timignation bits, the M7010R device enables the creing and the pipeline operation is the same as deation of many tables of different widths in a bank of
scribed previously for fixed searches on a table of
search engines.
one-width-size.
Figure 33 shows the sample table. Two bits in
each 68-bit entry need to be designated as table
Figure 34, page 47 shows three sequential
number bits. One example choice might be: the
searches; first, a 68-bit SEARCH on a table con“00” values for the table configured as x68, “01”
figured as x68, then a 136-bit SEARCH on a table
values for tables configured as x136, and “10” valconfigured as x136, and finally a 272-bit SEARCH
ues for tables configured as x272. For the above
on the table configured as x272. Each results in a
explanation, it is further assumed that bits for
hit.
DQ[67:66] for each entry will be designed as such
table designation bits.
Figure 33. Multiwidth Configuration Example
68
8K
2K
1K
136
272
CFG = 10010000
AI07046
46/67
M7010R
Figure 34. Timing Diagram for Mixed SEARCH (One Device)
Cycle
1
Cycle
Cycle
Cycle
Cycle
Cycle
2
4
6
3
5
Cycle
7
Cycle
Cycle
Cycle 10
8
9
CLK2X
PHS_L
CMDV
Search1
CMD[1:0]
Search3
01
01
01
Search2
CMD[2]
CMD[8:2]
A
DQ
B A
B
A
B
A
B
A
B C D
A B
D1
SADR[21:0]
ALE_L, CE_L
WE_L
OE_L
D2
A
B
D3
A1
A3
A2
1
0
1
1
1
1
0
0
0
SSV
0
1
1
0
1
0
0
SSF
0
CFG = 10101010, HLAT = 010, TLSZ = 00, LRAM = 1, LDEV = 1
1
Search1
x68 Hit
Search2
x136 Hit
0
1
0
Search3
x272 Hit
AI07045
47/67
M7010R
LRAM and LDEV Description
When search engines are cascaded using multiple
M7010R devices, the SADR, CE_L, and WE_L
(tri-state signals) are all tied together. To eliminate
external pull-up and pull-downs, one device in a
bank is designated as the default driver. For nonSEARCH or non-LEARN cycles (see LEARN
COMMAND, page 48) or SEARCH cycles with a
global miss, the SADR, CE_L, and WE_L signals
are driven by the device with the LRAM Bit set. It
is important that only one device in a bank of cascaded search engines have this bit set. Failure to
do so will cause contention on SADR, CE_L, and
WE_L, and can potentially cause damage to the
device(s).
Similarly, when search engines using multiple
M7010R devices are cascaded, SSF and SSV (also tri-state signals) are tied together. To eliminate
external pull-up and pull-downs, one device in a
bank is designated as the default driver. For nonSEARCH or SEARCH cycles with a global miss,
the SSF and SSV signals are driven by the device
with the LRAM Bit set. It is important that only one
device in a bank of cascaded search engines have
this bit set. Failure to do so will cause contention
on SSF and SSV, and can potentially cause damage to the device(s).
LEARN COMMAND
Bit [0] of each 68-bit data location specifies whether an entry in the database is occupied. If all the
entries in a device are occupied, the device asserts FULO signal to inform the downstream devices that it is full.
The result of this communication between depthcascaded devices determines the global FULL
signal for the entire table. On a miss by the
SEARCH (signalled to the ASIC through the SSV
and SSF signals [SSV = 1, SSF = 0]), the host
ASIC can apply the LEARN command to learn the
entry from a comparand register to the next-free
location (see The NFA Register, page 24). The
NFA updates to the next-free location following
each WRITE or LEARN command.
In a depth-cascaded table, only a single device will
learn the entry through the application of a LEARN
Instruction. The determination of the LEARN device is based on the FULI and FULO signalling between the devices. The first non-full device learns
the entry by storing the contents of the specified
comparand registers to the location(s) pointed to
by the NFA.
In a x68-configured table, the LEARN command
writes a single 68-bit location. In a 136-bit-configured table, the LEARN command writes the next
even and odd 68-bit locations. In 136-bit mode,
Bit[0] of the even and odd 68-bit locations is '0,' indicating that they are cascaded empty, or '1,'
which indicates that they are occupied.
The global FULL signal indicates to the table controller (the host ASIC) that all entries within a block
are occupied and that no more entries can be
learned. The M7010R device updates the signal to
a data array after each WRITE or LEARN command. Also using the NFA Register as part of the
SRAM address, the LEARN command generates
a WRITE cycle to the external SRAM.
The LEARN command is supported on a single
block containing up to eight devices if the table is
configured as either a x68 or a x136. The LEARN
command is not supported for x272-configured tables.
The LEARN operation lasts two CLK cycles. The
sequence of this operation is as follows:
– Cycle 1A: The host ASIC applies the LEARN
Instruction on CMD[1:0] using CMDV = 1. The
CMD[5:2] field specifies the index of the comparand register pair that will be written to the
data array in the 136-bit-configured table. For a
LEARN in a 68-bit-configured table, the evennumbered comparand specified by this index
will be written. CMD[8:6] carries the bits that will
be driven on SADR[21:19] in the SRAM WRITE
cycle.
– Cycle 1B: The host ASIC continues to drive
CMDV to '1,' CMD[1:0] to '11,' and CMD[5:2]
with the comparand pair index. CMD[6] must be
set to '0' if the LEARN is being performed on a
68-bit-configured table, and to '1' if the LEARN
is being performed on a 136-bit-configured table.
– Cycle 2: The host ASIC drives CMDV to '0.'
At the end of Cycle 2, a new instruction can begin.
SRAM WRITE latency is the same as the
SEARCH to the SRAM READ cycle measured
from the second cycle of the LEARN Instruction.
48/67
M7010R
LEARN is a pipelined operation and last for two
CLK cycles where TLSZ = 00, as shown in Figure
35, page 49, and TLSZ = 01, as shown in Figure
36, page 50 and Figure 37, page 51. Figure 36 and
Figure 37 assume that the device performing the
LEARN operation is not the last device in the table
and has its LRAM Bit set to '0.'
Note: The OE_L for the device with the LRAM Bit
set goes high for two cycles for each LEARN (one
during the SRAM WRITE cycle, and one during
the cycle before it). The latency of the SRAM
WRITE cycle from the second cycle of the instruction is shown in Table 34, page 51.
Figure 35. LEARN Command Timing Diagram (TLSZ = 00)
Cycle
1
Cycle
Cycle
Cycle
Cycle
Cycle
2
4
6
3
5
Cycle
7
Cycle
Cycle
Cycle 10
8
9
CLK2X
PHS_L
CMDV
CMD[1:0]
Learn1
Comp1
CMD[8:2]
A
DQ
X
Learn2
X
Comp2
B
X
X
X
X
X
X
1A 1B
SADR[21:0]
ALE_L, CE_L
1
WE_L
1
OE_L
SSF
0
0
1
1
0
0
1
1
1
0
SSV
A2
A1
0
0
0
TLSZ = 00, LRAM = 1, LDEV = 1
AI04289
49/67
M7010R
Figure 36. LEARN Timing Diagram (TLSZ = 1, except on Last Device)
Cycle
1
Cycle
Cycle
Cycle
Cycle
Cycle
2
4
6
3
5
Cycle
7
Cycle
Cycle
Cycle 10
8
9
CLK2X
PHS_L
CMDV
CMD[1:0]
Learn1
Comp1
CMD[8:2]
DQ
A
z
X
Learn2
X
Comp2
B
X
X
X
X
X
X
z
1A 1B
SADR[21:0]
z
A1
z
A2
z
z
ALE_L, CE_L
0
0
0
0
z
WE_L
OE_L
SSV
SSF
z
z
z
z = tri-state condition
TLSZ = 00, LRAM = 0, LDEV = 0
50/67
AI07043
M7010R
Figure 37. LEARN Timing Diagram on Device Number 7 (TLSZ = 01)
Cycle
1
Cycle
Cycle
Cycle
Cycle
Cycle
2
4
6
3
5
Cycle
7
Cycle
Cycle
Cycle 10
8
9
z
z
CLK2X
PHS_L
CMDV
CMD[1:0]
Learn1
Comp1
CMD[8:2]
A
DQ
X
Learn2
X
Comp2
B
X
X
X
X
X
X
1A 1B
SADR[21:0]
ALE_L, CE_L
1
WE_L
1
OE_L
0
SSV
SSF
z
z
1
1
z
z
1
1
1
0
0
0
TLSZ = 01, LRAM = 1, LDEV = 1
AI07047
Table 34. SRAM WRITE Cycle Latency from Second Cycle of LEARN Instruction
Number of Devices
Latency in CLK Cycles
1 (TLSZ = 00)
4
1-8 (TLSZ = 01)
5
1-31 (TLSZ = 10)
6
51/67
M7010R
DEPTH-CASCADING
The Search Engine application can depth-cascade the device to various table sizes in 68-bit,
136-bit, and 272-bit configurations by programming the table size (TLSZ) field of the Command
Register. The devices perform all the necessary
arbitration to decide which device drives the
SRAM Bus. The latency of the searches increases
as the table size increases while the search rate
remains constant.
Depth-Cascading Up to Eight Devices (One
Block)
Figure 38, page 53 shows how up to eight devices
can cascade to form a 128K x68-bit, 64K x136-bit,
or 32K x272-bit table. It also shows the interconnection between the devices for depth-cascading.
The host ASIC must program the table size (TLSZ)
field to '01.' Each Search Engine asserts the
LHO[1] and LHO[0] signals to inform downstream
devices in the cascade of its results. The LHI[6:0]
signals for any device are connected to the LHO
signals of the upstream device. A single device
alone drives the SRAM bus in any given cycle.
Depth-Cascading Up to 31 Devices (4 Blocks)
Figure 39, page 54 shows how to cascade up to
four blocks. Each block contains up to eight
M7010Rs (except the last block, which contains 7
devices), to form a 496K x68, 248K x136, or 124K
x272 table. Note the interconnection between
blocks for depth-cascading. The host ASIC must
program the table size (TLSZ) field to 10 for cascading 8 to 31 devices (in up to four blocks). For
each search, a block asserts BHO[2], BHO[1], and
BHO[0].The BHO[2:0] signals for a block are only
taken from the last device in the block. See Figure
41, page 56 for the arbitration cycle between
52/67
blocks to determine which device drives the SRAM
Bus.
The device is configured to be the last in the
depth-cascaded table by setting LDEV to 1 in the
Command Register. The device with LDEV set to
1 drives the SSF and SSV signals in cycles when
all upstream devices do not drive these signals.
The M7010R with its LDEV Bit set drives SSF and
SSV during a search with a miss or with nonsearch commands. See the LDEV Bit definition in
Table 10, page 20.
Depth-Cascading to Generate a “FULL” State
for a Block
Bit[0] of each of the 68-bit entries is designated as
a special bit (1 = FULL; 0 = Empty). For each
LEARN or PIO WRITE to the data array, each device asserts FULO[1] and FULO[0] if it does not
have any empty locations (see Figure 40, page
55). Each device combines the FULO signals from
the devices above it with its own full status to generate a FULL signal, which will then give a “full”
status of the table up to the device asserting the
FULL signal. Figure 40, page 55 shows the hardware connection diagram for generating the FULL
signal that goes back to the ASIC. In a depth-cascaded block of up to eight devices, the FULL signal from the last device should be fed back to the
ASIC controller to indicate the fullness of the table.
The FULL signal of the other devices should be left
open.
Note: The LEARN Instruction is supported for up
to eight devices, whereas FULL cascading is allowed for one block in tables containing more than
eight devices. In tables for which a LEARN Instruction will not be used, the Bit[0] of each 68-bit entry
should always be set to '1.'
M7010R
Figure 38. Depth-Cascading to Form a Single Block (8 Devices)
DQ[67:0]
CMDV
CMD[8:0]
SRAM
BHI[2:0]
6
LHO[1]
5
3
LHI
4
M7010R
2
1
0
LHO[0]
SSF,
SSV
BHI[2:0]
3
2
1
0
LHO[1]
BHI[2:0]
3
2
1
0
3
2
1
0
3
5
2
1
0
BHI[2:0]
BHI[2:0]
3
3
3
2
1
LHI
0
2
1
LHI
0
2
1
LHI
3
LHI
2
1
0
LHO[0]
6
5
4
6
5
4
6
5
4
M7010R
BHI[2:0]
4
3
2
1
LHI
LHO[0]
3
2
LHI
LHO[0]
M7010R
LHO[1]
BHI[2:0]
6
M7010R
LHO[1]
BHI[2:0]
M7010R
3 2
LHI
1
1
0
0
0
LHO[0]
6
M7010R
5
4
LHI
LHO[0]
6
M7010R
0
6
M7010R
5
4
LHI
LHO[0]
5
LHI
4
BHO[0]
BHO[0]
BHO[1]
BHO[1]
BHO[2]
BHO[2]
LHO[1]
LHO[0]
AI04243
53/67
M7010R
Figure 39. Four Blocks (31 Devices Cascaded) SEARCH, 68-bit Configured with LDEV = 1
BHI[2]
SSF,
SSV
BHI[1]
BHI[0]
GND
Block #0 (Devices 0 to 7)
Block of 8 M7010Rs
SRAM
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
GND
Block #1 (Devices 8-15)
Block of 8 M7010Rs
BHO[2]
BHI[2]
BHO[1]
BHO[0]
BHI[1]
BHI[0]
GND
Block #2 (Devices 16-23)
Block of 8 M7010Rs
BHO[2]
DQ[67:0]
BHI[2]
CMD[8:0]
CMDV
BHO[1]
BHO[0]
BHI[1]
BHI[0]
Block #3 (Devices 24-30)
Block of 7 M7010Rs
BHO[2]
BHO[1]
BHO[0]
AI04242
54/67
M7010R
Figure 40. “FULL” State Generation in a Cascaded Table
VDDQ
DQ[67:0]
6
FULO[1]
M7010R
FULO[1]
6
6
6
M7010R
3
5
5
5
M7010R
2
1
FULI
2
1
FULI
0
6
M7010R
0
1
0
3
4
FULI
2
1
FULL
VDDQ
FULL
VDDQ
FULL
VDDQ
FULL
VDDQ
FULL
VDDQ
FULL
VDDQ
0
3
2
1
4
FULI
FULO[0]
3
2
4
FULI
FULO[0]
3
5
4
FULI
FULO[0]
5
2
1
1
0
0
0
4
FULI
FULO[0]
6
M7010R
2
FULO[0]
6
FULO[1]
3
4
FULI
FULO[0]
M7010R
FULO[1]
3
5
M7010R
5
4
FULI
FULO[0]
FULL
3
2
1
FULI
0
6
M7010R
5
4
FULI
FULL
FULO[1] FULO[0]
AI04241
55/67
M7010R
ARBITRATION
Figure 41, page 56 shows an example of the arbitration cycle for determining which device drives
the SRAM Bus in a single block, up to eight
M7010Rs with 136-bit configuration settings.
Four cycles from the SEARCH command, all
M7010Rs are informed of the SEARCH result
within the device and drive their LHO signals. At
the next cycle, all downstream devices know the
outcome of the SEARCH in all the upstream devices.
If any of the upstream devices has a hit, all the
subsequent devices defer driving the SRAM Bus.
If a SEARCH failure occurs, the M7010R with the
LRAM Bit set (the last in the chain) drives the
SRAM Bus signals. The device with LDEV set to
'1' is the default driver of the SSV and SSF signals. Figure 42, page 57 shows how an M7010R
arbitrates accesses to the SRAM.
Figure 41. Timing Diagram for Arbitration Within a Block
Cycle 2
Cycle 4
Cycle 6
Cycle 8
Cycle 10
Cycle 1
Cycle 3
Cycle 5
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
CMD[1:0]
Learn1
X
A
X
Comp2
Comp1
CMD[8:2]
Learn2
B
X
X
1A 1B
DQ
SADR[21:0]
X
X
X
X
A1
A2
ALE_L, CE_L
WE_L
OE_L
TLSZ = 00, LRAM = 0, LDEV = 0
56/67
AI04293
M7010R
Figure 42. Timing for Arbitration for Two or More Blocks for the Last Device
Cycle 2
Cycle 4
Cycle 6
Cycle 8
Cycle 10
Cycle 1
Cycle 3
Cycle 5
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
Search3
CMD
Search2
CMD[8:2]
DQ
SADR[21:0]
A
Search4
B
D0 D1 D0 D1 D0 D1 D0 D1
3FFFFF
A1
A2
Hit
Hit
A3
A4
3FFFFF
CE_L
WE_L
OE_L
Miss
LHO
Hit
BHO
SSV
SSF
Arbitration Cycle within Blocks
TLSZ = 10, HLAT = 000, LRAM = 1, LDEV = 1
AI04294
57/67
M7010R
SRAM ADDRESSING
Table 35, page 61 lists and describes the commands used to generate addresses on the SRAM
address bus. The Index[13:0] field contains the address of a 68-bit entry that results in a hit in 68-bit
configured quadrant. It is the address of the 68-bit
entry that lies at the 136-bit page and 272-bit page
boundaries in 136-bit and 272-bit configured
quadrants, respectively.
The register section of this specification describes
the NFA and SSR registers. Adr[13:0] contains the
address supplied on the DQ Bus during PIO access to the M7010R. Command Bits 8 and 7,
CMD[8:6] are passed from the command to the
SRAM address bus. See COMMAND CODES
AND PARAMETERS, page 27 for more information.
SRAM PIO Access
SRAM READ. Enables READ access to the offchip SRAM that contains associative data. The latency from the issuance of the READ Instruction to
the address appearing on the SRAM bus is the
same as the latency of the SEARCH Instruction,
and will depend on the value programmed for the
TLSZ parameter in the device configuration register. The latency of the ACK from the READ Instruction is the same as the latency of the
SEARCH Instruction to the SRAM address plus
the HLAT programmed into the configuration register.
Note: SRAM READ is a blocking operation - no
new instruction can begin until the ACK is returned
by the selected device performing the access.
The following explains the SRAM READ operation
in a table with only one device and having the following parameters: TLSZ = 00, HLAT = 000,
LRAM = 1, and LDEV = 1. Figure 43, page 59
shows the associated timing diagram. For the fol-
58/67
lowing description, the selected device refers only
to the device in the table because it is the only device to be accessed.
– Cycle 1A: The host ASIC applies the READ Instruction on CMD[1:0] using CMDV = 1. The DQ
Bus supplies the address, with DQ[20:19] set to
“10,” to select the SRAM address. The host
ASIC selects the device for which the ID[4:0]
matches the DQ[25:21] lines. During this cycle,
the host ASIC also supplies SADR[21:19] on
CMD[8:6].
– Cycle 1B: The host ASIC continues to apply the
READ Instruction on CMD[1:0] using CMDV =
1. The DQ Bus supplies the address with
DQ[20:19] set to “10” to select the SRAM address.
– Cycle 2: The host ASIC floats DQ[67:0] to a tristate condition.
– Cycle 3: The host ASIC keeps DQ[67:0] in a tristate condition.
– Cycle 4: The selected device starts to drive
DQ[67:0] and drives ACK from High-Z to LOW.
– Cycle 5: The selected device drives the READ
address on SADR[21:0]; it also drives ACK
HIGH, CE_L LOW, and ALE_L LOW.
– Cycle 6: The selected device drives CE_L
HIGH, ALE_L HIGH, the SADR Bus and DQ
Bus in a tri-state condition, and ACK LOW.
At the end of Cycle 6, the selected device floats
ACK in a tri-state condition, and a new command
can begin. Table 36, page 62 shows by how many
cycles SRAM signals shift to the right for various
TLSZ values. Table 37, page 62 shows by how
many cycles SRAM signals shift to the right for
various HLAT values.
M7010R
Figure 43. SRAM READ Access for One M7010R Device
Cycle 1
Cycle 2
Cycle 3
Cycle 4
Cycle 5
Cycle 6
CLK2X
PHS_L
CMDV
Read
CMD[1:0]
A
CMD[8:2]
DQ
OE_L
WE_L
ALE_L, CE_L
B
Address
z
z
0
1
0
1
SADR
ACK
SSV
SSF
1
Address
z
0
1
0
z
0
0
TLSZ = 00, HLAT = 000, LRAM = 1, LDEV = 1
DQ driven by M7010R
AI04295
59/67
M7010R
SRAM WRITE. Enables WRITE access to the offchip SRAM containing associative data. The latency from the second cycle of the WRITE Instruction
to the address appearing on the SRAM bus is the
same as the latency of the SEARCH Instruction,
and will depend on the TLSZ value parameter programmed into the device configuration register.
Note: SRAM WRITE is a pipelined operation - new
instruction can begin right after the previous command has ended. The following explains the
SRAM WRITE operation accomplished through a
table of only one device with the following parameters: TLSZ = 00, HLAT = 000, LRAM = 1, and
LDEV = 1. Figure 44, page 61 shows the timing diagram. For the following description, the selected
device refers to the only device in the table as this
is the only device that will be accessed.
– Cycle 1A:The host ASIC applies the WRITE Instruction on CMD[1:0] using CMDV = 1. The DQ
Bus supplies the address, with DQ[20:19] set to
“10,” to select the SRAM address. The host
ASIC selects the device for which the ID[4:0]
matches the DQ[25:21] lines. The host ASIC
also supplies SADR[21:19] on CMD[8:6] in this
cycle.
60/67
Note: CMD[2] must be set to '0' for SRAM
WRITE, because burst WRITES into the SRAM
are not supported.
– Cycle 1B: The host ASIC continues to apply the
WRITE Instruction on CMD[1:0] using CMDV =
1. The DQ Bus supplies the address with
DQ[20:19] set to “10” to select the SRAM address.
Note: CMD[2] must be set to '0' for SRAM
WRITE, because burst WRITES into the SRAM
are not supported.
– Cycle 2: The host ASIC continues to drive
DQ[67:0]. The data in this cycle is not used by
the M7010R.
– Cycle 3: The host ASIC continues to drive
DQ[67:0]. The data in this cycle is not used by
the M7010R.
At the end of Cycle 3, a new command can begin.
The WRITE is a pipelined operation; however, the
WRITE cycle appears at the SRAM bus with the
same latency as the SEARCH Instruction (as measured from the second cycle of the WRITE command).
M7010R
Figure 44. SRAM WRITE Access for One M7010R Device
Cycle 1
Cycle 2
Cycle 3
Cycle 4
Cycle 5
Cycle 6
CLK2X
PHS_L
CMDV
Write
CMD[1:0]
A
CMD[8:2]
DQ
OE_L
WE_L
ALE_L, CE_L
B
Address
x
x
1
0
0
1
0
1
SADR
ACK
SSV
SSF
Address
z
0
0
TLSZ = 00, HLAT = 000, LRAM = 1, LDEV = 1
AI04296
Table 35. SRAM Bus Address Generation
Command
SRAM Operation
21
20
19
[18:15]
[14:0]
SEARCH
Read
C8
C7
C6
ID[4:0]
Index[14:0]
LEARN
Write
C8
C7
C6
ID[4:0]
NFA[14:0]
PIO READ
Read
C8
C7
C6
ID[4:0]
Adr[14:0]
PIO WRITE
Write
C8
C7
C6
ID[4:0]
Adr[14:0]
Indirect Access
Write/Read
C8
C7
C6
ID[4:0]
SSR[14:0]
61/67
M7010R
Table 36. Right-Shift of SRAM Signals for TLSZ
Values
Table 37. Right-Shift of SRAM Signals for
HLAT Values
TLSZ
Number of CLK Cycles
HLAT
Number of CLK Cycles
00
0
000
0
01
1
001
1
10
2
010
2
011
3
100
4
101
5
110
6
111
7
JTAG (1149.1) TESTING
The M7010R supports the Test Access Port (TAP)
and Boundary Scan Architecture as specified in
the IEEE JTAG standard 1149.1. The pin interface
to the chip consists of five signals with the standard definitions: TCK, TMS, TDI, TDO, and
TRST_L. Table 38, page 62 describes the opera-
tions that the test access port controller supports.
Table 39 shows the TAP Device ID Register.
Note: To disable JTAG functionality, connect the
TCK, TMS, and TDI pins to VDDQ through a pullup, and the TRST_L to ground through a pulldown.
Table 38. Test Access Port Controller Instructions
Instruction
Type
Description
SAMPLE/PRELOAD
Mandatory
Sample/Preload. Loads the values of signals going to and from IO
pins into the boundary scan shift register to provide a snapshot of the
normal functional operation.
EXTEST
Mandatory
External Test. Uses boundary scan values shifted in from TAP to test
connectivity external to the device.
INTEST
Optional
Internal Test. Allows slow-speed, functional testing of the device
using the boundary scan register to provide the I/O values.
Table 39. TAP Device ID Register
Field
Range
Initial Value
Description
Revision
[31:28]
0001
Revision Number. This is the current device revision number.
Numbers start from one and increment by one for each revision of the
device.
Part #
[27:12]
MFID
[11:1]
000_1101_1100
LSB
[0:0]
1
62/67
0000 0000 0000 0001 This is the part number for this device.
Manufacturer ID. This field is the same as the manufacturer ID used
in the TAP controller.
Least Significant Bit
M7010R
POWER DISTRIBUTION GUIDELINE
In order to prevent voltage supply sags that can
potentially degrade device performance, large bypass capacitors are often recommended. Since
the bulk storage not only contains an effective series resistance, but also a fairly high inductance,
the large bypass capacitors should be assisted by
other capacitors that have a lower inductance (but
typically less capacitance). These high frequency
capacitors control the switching transients and
hold-over the power planes during an average
load change until the higher inductance capacitors
can react. High frequency bypass capacitors are
used having values of 0.01uF and 0.1uF.
For a single Search Engine application, a recommended power plane and ground plane may be
laid out as follows:
– A 1000uF bulk capacitor is recommended for
the 1.8V VDD source supply.
– A 100uF bulk capacitor is recommended for
the 3.3V VDDQ source supply.
– Four sets of 0.1uF and 0.01uF high frequency
capacitors are recommended between VDD,
VDDQ and ground.
Multiple bulk and high frequency capacitors may
also be required. Users can determine the values
of such capacitors after computing, based on their
system and power supply environment. The device should achieve the search performance as
specified with the bypass capacitors.
This application note is a general guideline for
Search Engine Design. For more detailed information, please refer to Intel Website for Appnote AP912, Pentium III Xeon Processor Power Distribution Guidelines. (http://support.intel.com/design/
pentiumiii/xeon/applnots/245095.htm).
Figure 45. Network Search Engine Power Distribution
100µF
1000µF
VDDQ
Source
VDDQ
Source
VDD
0.1µF
0.01µF
0.1µF
0.1µF
VDDQ
VDDQ
GND
0.01µF
0.01µF
0.1µF
0.01µF
VDD
AI04297
63/67
M7010R
PART NUMBERING
Table 40. Ordering Information Scheme
Example:
M70
10
R
–083
ZA
1
T
Device Type
M70 Search Engine
Density
10 = 1Mb (16K x 68-bit Table Entries)
Operating Supply Voltage
R = VDD = 1.8V
Speed
–083 = 83 Million Searches per Second
–066 = 66 Million Searches per Second
Package
ZA = PBGA, 272-count, 27mm x 27mm(1)
Temperature Range
1 = 0 to 70 °C
Shipping Option
Tape & Reel Packing = T
Note: 1. Where “Z” is the symbol for BGA packages and “A” denotes 1.27mm ball pitch
For a list of available options (e.g., Speed, Package) or for further information on any aspect of this device,
please contact the ST Sales Office nearest to you.
64/67
M7010R
PACKAGE MECHANICAL INFORMATION
Figure 46. PBGA-Z00 – 272-ball Plastic Ball Grid Array Package Outline
D2
0.56 REF.
A1
1.17 REF.
19 17 15 13 11 9 7 5 3 1
20 18 16 14 12 10 8 6 4 2
30˚ TYP.
e
PIN #1
E2
E
A2
C
E1
e
B
4.00*45˚ (4x)
ddd C
A
B
C
D
E
F
G
H
J
K
L
M
N
P
R
T
U
V
W
Y
A
D1
b
D
0.220 (3x)
0.300 C A S B S
0.100 C b (272x)
PBGA-Z00
Note: Drawing is not to scale.
Table 41. PBGA-Z00 – 272-ball Plastic Ball Grid Array Package Mechanical Data
mm
inches
Symb
Typ
Min
Max
Typ
Min
Max
A(4)
27.00
26.80
27.20(1)
1.102
1.094
1.110(1)
A1(2,3)
0.60
0.50
0.70
0.024
0.020
0.029
1.63
1.90
0.067
0.078
A2
B(4)
27.00
26.80
27.20
1.102
1.094
1.110
b
0.75
0.60
0.90
0.031
0.024
0.037
D
27.00
26.80
27.20
1.102
1.094
1.110
D1
24.13
0.985
D2
24.00
0.980
E
27.00
1.094
1.110
E1
24.13
0.985
E2
24.00
0.980
e
1.27
0.052
ddd
26.80
27.20
0.20
1.102
0.008
Note: 1. Maximum mounted height is 2.45mm based on a 0.65mm ball pad diameter. Solder paste is 0.15mm thickness and 0.65mm in diameter.
2. The terminal A1 corner must be identified on the top surface by using a corner chamfer, ink, or metallized markings, or other feature
of package body or integral heatslug.
3. A distinguished feature is allowable on the bottom surface of the package to identify the terminal A1 corner.
4. Exact shape of each corner is optional.
65/67
M7010R
REVISION HISTORY
Table 42. Document Revision History
Date
Rev. #
January 2002
1.0
First Issue
07/23/02
1.1
Changes after extensive review (Figures 3, 8, 11, 12, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44; Tables 6, 7, 9, 10, 12, 17, 19, 22,
26, 27, 29, 30, 32, 33, 34, 35)
66/67
Revision Details
M7010R
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences
of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted
by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject
to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not
authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics.
The ST logo is registered trademark of STMicroelectronics
All other names are the property of their respective owners.
© 2002 STMicroelectronics - All Rights Reserved
STMicroelectronics GROUP OF COMPANIES
Australia - Brazil - Canada - China - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A.
www.st.com
67/67