M7010R-066ZA1T [STMICROELECTRONICS]

16K x 68-bit Entry NETWORK SEARCH ENGINE; 16K X 68位输入网络搜索引擎
M7010R-066ZA1T
型号: M7010R-066ZA1T
厂家: ST    ST
描述:

16K x 68-bit Entry NETWORK SEARCH ENGINE
16K X 68位输入网络搜索引擎

文件: 总67页 (文件大小:448K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
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 config-  
urable 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  
272 PBGA  
27mm x 27mm  
1.27mm ball pitch  
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 INDUSTRY-  
STANDARD SRAMS  
SIMPLE HARDWARE INSTRUCTION  
INTERFACE  
IEEE 1149.1 TEST ACCESS PORT  
OPERATING SUPPLY VOLTAGES INCLUDE:  
V
V
(Operating Supply Voltage) = 1.8V  
DD  
(Operating Supply Voltage for I/O) = 2.5  
DDQ  
or 3.3V  
272 BALL, 27mm x 27mm, CAVITY-UP BGA  
July 2002  
1/67  
M7010R  
TABLE OF CONTENTS  
DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Product Range (Table 1.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Switch/Router Implementation Using the M7010R (Figure 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Signal Names (Table 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7  
Connections (Figure 3.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8  
M7010R Block Diagram (Figure 4.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 Device46  
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 hard-  
ware search engine optimized for networking and  
communications applications. It incorporates lead-  
ing-edge Associative Processing Technology  
(APT, trademark of Cypress Semiconductor, Inc.)  
and Advanced Power Management. The data ta-  
ble may be partitioned into up to four (4) quad-  
rants, 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.  
tion, still suffers from performance degradation  
when depth-cascaded and is unable to scale to  
next-generation requirements. The M7010R-  
based 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 sub-  
system can be optimized using a host bridge  
ASIC, the M7010R, and synchronous or non-syn-  
chronous SRAMs. It also illustrates how this sys-  
tem fits into a switch-router implementation.  
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-  
Table 1. Product Range  
Part Number  
M7010R-083ZA1  
M7010R-066ZA1  
Operating Supply Voltage  
Operating I/O Voltage  
2.5 or 3.3V  
Speed  
83MHz  
66MHz  
1.8V  
1.8V  
2.5 or 3.3V  
Figure 2. Switch/Router Implementation Using the M7010R  
SRAM  
Bank  
System Bus  
m
y
a
r
Prog  
Search  
Engine  
Memor  
Host  
ASIC  
Switch  
ic  
abr  
F
Netw  
or  
Switch  
k Line Interf  
aces  
Processor  
AI04272  
6/67  
M7010R  
Table 2. Signal Names  
Symbol  
Type  
Connection Name  
Cascade Interface  
Clocks and Reset  
LHI[6:0]  
LHO[1:0]  
BHI[2:0]  
BHO[2:0]  
FULI[6:0]  
FULO[1:0]  
FULL  
I
Local Hit In  
Local Hit Out  
Block Hit In  
Block Hit Out  
Full In  
CLK2X  
I
I
I
Master Clock  
O
I
PHS_L  
RST_L  
Phase  
Reset  
O
I
Command and DQ Bus  
CMD[8:0]  
CMDV  
I
I
Command Bus  
O
O
Full Out  
Command Valid  
Address/Data Bus  
READ Acknowledge  
Full Flag  
DQ[67:0]  
I/O  
T
Device Identification  
(1)  
ID[4:0]  
I
Device Identification  
ACK  
Test Access Port  
(1)  
T
T
T
T
T
T
T
T
End of Transfer  
EOT  
TDI  
I
I
Test Access Ports Test Data In  
Test Access Ports Test Clock  
SSF  
SEARCH Successful Flag  
SEARCH Successful Flag Valid  
SRAM Address  
TCK  
SSV  
Test Access Ports Test Data  
Out  
SADR[21:0]  
CE_L  
TDO  
T
SRAM Chip Enable  
Test Access Ports Test Mode  
Select  
TMS  
I
I
WE_L  
OE_L  
SRAM WRITE Enable  
SRAM Output Enable  
Address Latch Enable  
TRST_L  
Test Access Ports Reset  
ALE_L  
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  
V
V
V
DD  
BHO0  
FULI5 FULI4 FULI1  
BHI0  
ID2  
NC  
EOT NC  
LHI6  
ID0 TDO  
NC  
NC  
NC  
GND  
NC  
NC  
NC  
DD  
NC  
DD  
V
V
FULL  
ACK  
NC  
NC  
LHI3  
FULI6  
NC  
LHI2  
LHI0  
NC  
BHI2  
TDI  
NC  
FULO1  
FULI2  
DDQ LHI5  
LHO1 LHI4  
LHO0  
TMS  
TCK  
BHO1  
BHO2  
FULI0  
ID3  
ID1  
DD  
V
V
V
V
V
DDQ  
V
NC  
NC  
DQ65  
DQ64  
DQ62  
DQ60  
DD  
NC  
DDQ  
DDQ  
DD  
DDQ  
T
V
FULI3  
NC  
GND  
BHI1  
GND LHI1 ID4  
FULO0  
NC  
RSTL  
GND DQ63  
DQ61 DQ57  
GND  
DD  
RST_L  
TOP  
V
DQ67  
NC DQ66  
DQ59  
DQ53  
NC  
DDQ  
NC  
V
V
V
DQ58  
DD  
DQ56  
DDQ DQ55  
DD  
DQ49  
DQ51  
V
V
V
DQ50  
NC  
DQ47  
GND  
DQ52 DQ54  
DDQ  
DDQ  
NC  
DDQ  
DQ46  
GND  
DQ44  
DQ38  
DQ30  
DQ26  
DQ45 DQ43  
DQ48  
V
GND GND GND GND  
GND GND GND GND  
GND GND GND GND  
V
DQ41  
DQ40 DQ42  
DQ37  
DD  
DQ39  
DDQ  
V
V
DQ31  
NC  
DD  
DQ35 DQ33  
DQ36  
DDQ  
RIGHT  
LEFT  
V
V
V
DQ34 DQ32  
DDQ  
NC  
NC  
DD  
DQ29  
DDQ  
NC  
V
DQ28  
GND  
GND  
GND GND  
DQ27  
DQ21  
DQ17  
DDQ  
DQ23 DQ25  
V
V
GND  
DQ24  
DQ19  
DDQ  
GND  
DD DQ20  
V
V
DQ22  
V
NC  
DQ16  
DQ15  
DQ14  
DDQ  
DDQ  
V
V
DQ9  
DQ6  
DQ11 DQ13  
DD DQ18  
DD  
DDQ  
NC  
DQ5  
NC  
NC  
DQ1  
GND  
DQ7  
NC  
DQ12 DQ8 DQ0  
V
BOTTOM  
SADR  
15  
SADR  
5
V
V
DDQ  
V
V
NC  
CLK2X DD  
GND  
DQ10  
GND NC CMD4 CMD2 GND WE_L  
DDQ  
DDQ  
DDQ  
SADR SADR  
SADR  
0
SADR  
16  
SADR SADR  
SADR  
6
SADR  
12  
V
V
AE_L  
CMD3 CMD0  
CMD6  
OE_L  
NC  
DQ3  
NC  
DQ2 DQ4  
DD SSF  
DD  
21  
18  
9
7
SADR  
4
SADR  
19  
SADR SADR  
SADR  
3
V
V
V
DDQ  
NC  
NC  
NC  
NC  
NC  
NC  
PHS_L  
DDQ  
NC  
NC  
SSV CMD5 CMD1 CMDV DDQ  
10  
11  
SADR  
20  
SADR  
14  
SADR  
8
SADR SADR  
2
SADR  
17  
SADR  
13  
V
V
DDQ  
V
V
DD  
V
NC  
CMD7  
DD  
CMD8  
NC CE_L NC  
DD  
DDQ  
1
AI04270  
Note: This diagram is TOP VIEW perspective (view through package).  
8/67  
M7010R  
Figure 4. M7010R Block Diagram  
PHS_L  
CLK2X  
RST_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)  
TAP  
Controller  
TAP  
DQ [67:0]  
Cmd Compare/PIO Data  
Configurable as  
32K x 34  
16K x 68  
8K x 136  
4K x 272  
Data Array  
SADR [21:0]  
OE_L  
CMD [8:0]  
Command  
Pipeline  
and  
SRAM  
Control  
CMDV  
Decode  
and PIO Access  
ACK  
WE_L  
EOT  
Configurable as  
32K x 34  
CE_L  
16K x 68  
8K x 136  
4K x 272  
ALE_L  
ID [4:0]  
Mask Array  
FULL [6:0]  
Full Logic  
LHI [6:0]  
BHI [2:0]  
FULL  
LHO [1:0]  
Arbitration  
Logic  
BHO [2:0]  
SSF  
SSV  
FULO [1:0]  
AI04273  
9/67  
M7010R  
MAXIMUM RATING  
Stressing the device above the rating listed in the  
Absolute Maximum Ratingstable 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 indicat-  
ed in the Operating sections of this specification is  
not implied. Exposure to Absolute Maximum Rat-  
ing conditions for extended periods may affect de-  
vice  
reliability.  
Refer  
also  
to  
the  
STMicroelectronics SURE Program and other rel-  
evant quality documents.  
Table 3. Absolute Maximum Ratings  
Symbol  
Parameter  
Value  
Unit  
T
Storage Temperature (V Off)  
0 to 70  
°C  
STG  
DD  
Lead Solder Temperature for 10 seconds  
Input or Output Voltages  
Supply Voltage  
(1)  
235  
3.3  
°C  
V
T
SLD  
V
DDQ  
V
0.4 to 2.7  
100  
V
DD  
I
O
Output Current  
mA  
W
P
Power Dissipation  
< 3  
D
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 mea-  
surement 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. De-  
signers should check that the operating conditions  
in their projects match the measurement condi-  
tions when using the quoted parameters.  
Table 4. DC and AC Measurement Conditions  
Sym  
Parameter  
Operating Supply Voltage  
Voltage for I/O  
M7010R 2.5V  
1.7 to 1.9  
2.4 to 2.6  
0 to 70  
M7010R 3.3V  
1.7 to 1.9  
3.1 to 3.5  
0 to 70  
Units  
V
V
DD  
V
V
DD  
V
V
DDQ  
DDQ  
t
Ambient Operating Temperature  
Load Capacitance  
°C  
A
C
L
6
6
pF  
1.7 to  
2.0 to  
(1)  
V
V
IH  
Input High Voltage  
V
+ 0.3  
V
+ 0.3  
DDQ  
DDQ  
(2)  
V
0.3 to 0.7  
0.3 to 0.8  
V
IL  
Input Low Voltage  
Supply Voltage Tolerance  
±5  
±5  
%
Input Rise and Fall Times  
(at 0.3V and 2.7V)  
t , t  
2 (see Figure 6, page 12)  
2 (see Figure 9, page 12)  
ns  
R
F
Input Timing Reference Levels  
Output Timing Reference Levels  
Input Pulse Voltages  
1.25  
1.25  
1.5  
1.5  
V
V
V
V
GND to 2.5  
GND to 3.3  
Input and Output Timing Ref. Voltages  
(see Figure 7, page 12)  
(see Figure 10, page 12)  
Note: 1. Maximum allowable applies to overshoot only (V  
2. Minimum allowable applies to undershoot only.  
is 3.3V supply).  
DDQ  
11/67  
M7010R  
Figure 5. M7010R 2.5V AC Testing Load  
Figure 8. M7010R 3.3V AC Testing Load  
Z = 5050Ω  
0
Z = 50Ω  
0
50Ω  
D
OUT  
V = 1.5V  
L
D
OUT  
V = 1.25V  
L
C
L
C
L
AI04268  
AI04269  
Figure 6. M7010R 2.5V Input Waveform  
Figure 9. M7010R 3.3V Input Waveform  
+3.3V  
+2.5V  
90%  
90%  
90%  
90%  
10%  
10%  
10%  
10%  
GND  
GND  
AI04298  
AI04299  
Figure 10. M7010R 3.3V Output Load Equiv.  
Figure 7. M7010R 2.5V Output Load Equiv.  
+2.5V  
+3.3V  
158Ω  
208Ω  
Q
Q
5pF  
175Ω  
5pF  
192Ω  
AI04267  
AI04266  
12/67  
M7010R  
Table 5. Capacitance  
Symbol  
Parameter  
Test Condition  
Min  
Max  
Unit  
C
V
= 0V  
= 0V  
Input Capacitance  
Input / Output Capacitance  
6
pF  
IN  
IN  
(1)  
V
OUT  
6
pF  
C
IO  
Note: Effective capacitance measured with power supply. Sampled only, not 100% tested.  
1. Outputs deselected.  
Table 6. DC Characteristics  
(1)  
Symb  
Parameter  
Min  
Max  
Unit  
Test Condition  
V
= V  
(max)  
DDQ  
DDQ  
Input Leakage Current  
10  
10  
+10  
+10  
1250  
1000  
180  
µA  
I
LI  
0V V V  
IN  
DDQMAX  
V
= V  
(max)  
V  
DDQMAX  
DDQ  
DDQ  
I
Output Leakage Current  
1.8V Supply Current @ V  
µA  
mA  
mA  
mA  
mA  
mA  
LO  
0V V  
OUT  
I
= 0mA,  
OUT  
M7010R  
M7010R  
M7010R  
M7010R  
M7010R  
M7010R  
83MHz Search  
I
I
I
DD1  
DD2  
DD3  
DDMAX  
DDMAX  
DDMAX  
I
= 0mA,  
OUT  
66MHz Search  
I
= 0mA,  
OUT  
83MHz Search  
2.5V Supply Current @ V  
3.3V Supply Current @ V  
I
= 0mA,  
OUT  
150  
66MHz Search  
I
= 0mA,  
OUT  
300  
83MHz Search  
I
= 0mA,  
OUT  
240  
0.8  
mA  
V
66MHz Search  
V
Input Low Voltage  
Input High Voltage  
0.3  
IL  
V
V
+ 0.3  
2.0  
V
V
IH  
DDQ  
V
V
= V  
(min)  
DDQ  
DDQ  
V
Output Low Voltage  
Output High Voltage  
0.4  
OL  
OH  
I
= 8mA  
OL  
= V  
(min)  
DDQ  
DDQ  
V
2.4  
V
I
= 8mA  
OH  
Note: 1. Valid for Ambient Operating Temperature: T = 0 to 70°C; V = 1.8V.  
A
DD  
13/67  
M7010R  
Figure 11. AC Timing Waveforms with CLK2X  
Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle Cycle  
0
1
2
3
4
5
6
7
8
9
10  
11  
12  
CLK2X  
PHS_L  
tIHCH  
tISCH  
tISCH  
Signal  
Group 0  
tIHCH  
tISCH  
Signal  
Group 1  
tIHCH  
tIHCH  
tICHCH  
Signal  
Group 2  
tICSCH  
tCKHOV  
Signal  
Group 3  
tCKHOV  
tCKHSHZ  
Signal  
Group 4  
tCKHSV  
tCKHSLZ  
tCKHDZ  
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  
M7010R-066  
M7010R-083  
(1)  
Row Symbol  
Unit  
Description  
Min  
Max  
Min  
Max  
f
t
1
2
3
133  
166  
MHz CLK2X frequency  
ns CLK2X period  
CLK  
CLK  
7.5  
3.0  
3.0  
2.5  
0.6  
4.2  
0.6  
6.0  
2.4  
2.4  
1.8  
0.6  
3.5  
0.6  
(2)  
t
ns  
CKHI  
CLK2X high pulse  
(2)  
t
4
5
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
CKLO  
CLK2X low pulse  
(2)  
(2)  
t
ISCH  
Input Setup Time to CLK2X rising edge  
t
6
IHCH  
Input Hold Time to CLK2X rising edge  
(2)  
t
7
ICSCH  
ICHCH  
Cascaded Input Setup Time to CLK2X rising edge  
(2)  
t
8
Cascaded Input Hold Time to CLK2X rising edge  
(3)  
t
9
8.5  
9.0  
8.5  
9.0  
6.5  
7.0  
7.5  
7.0  
7.5  
6.0  
CKHOV  
Rising edge of CLK2X to LHO, FULO, BHO, FULL valid  
(4)  
t
t
t
10  
11  
12  
13  
14  
CKHDV  
CKHDZ  
CKHSV  
Rising edge of CLK2X to DQ valid  
(5)  
Rising edge of CLK2X to DQ high-Z  
(4)  
Rising edge of CLK2X to SRAM Bus valid  
(4,5)  
t
CKHSHZ  
Rising edge of CLK2X to SRAM Bus high-Z  
(4,5)  
t
7.0  
6.5  
CKHSLZ  
Rising edge of CLK2X to SRAM Bus low-Z  
Note: 1. Valid for Ambient Operating Temperature: T = 0 to 70°C; V = 1.8V.  
A
DD  
2. Values are based on 50% signal levels.  
3. Based on an AC load of CL = 50pF (see Figure 5, page 12 and Figure 8, page 12).  
4. Unless otherwise noted, all values are based on AC load of CL = 50pF (see Figure 5, page 12 and Figure 8, page 12).  
5. 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 en-  
tries 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 dur-  
ing 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 in-  
ternal registers. The DQ Bus also can carry the ad-  
dress information for the PIO accesses to the  
SRAM.  
Command Bus (CMD[8:0]. [1:0] specifies the  
command; [8:2] contains the command parame-  
ters. The descriptions of individual commands ex-  
plains 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:  
Database Entry (Data Array and Mask Array)  
0: No Command  
1: Command  
Each database entry comprises a data field and a  
mask field. The resultant value of the entry is a log-  
ical AND of the corresponding data and mask bits  
and can take logical values of '1,' '0' and 'X' (dont  
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.  
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 car-  
ries the compare data during SEARCH opera-  
tions. 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 oper-  
ations.  
Arbitration Logic  
When multiple (Silicon) Search Engines are cas-  
caded to create large databases, the data being  
searched is presented to all Search processors si-  
multaneously in the cascaded system. When more  
than one device has duplicate entries, the arbitra-  
tion 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 deter-  
mine the index with the highest priority. The pipe-  
line 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.  
Note: EOT Signals require a pull-down resistor of  
47 ohms.  
SEARCH Successful Flag (SSF). When assert-  
ed, this signal indicates that the device is the glo-  
bal winner in a SEARCH operation.  
SEARCH Successful Flag Valid (SSV). When  
asserted, this signal qualifies the SSF signal.  
Full Logic  
SRAM Address (SADR[21:0]). This bus con-  
tains 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).  
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 ar-  
ray 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 fre-  
quency 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  
M7010R  
Address Latch Enable (ALE_L). When this sig-  
nal is low, the addresses on the SRAM address  
bus have been validated. When more than one de-  
vice is cascaded, the ALE_L of all devices must be  
connected.  
Local Hit In (LHI[6:0]). These pins depth-cas-  
cade 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 DEPTH-  
CASCADING, page 52.)  
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 down-  
stream 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 FULLState for a Block, page 52.  
Full Flag (FULL). When asserted, this signal in-  
dicates that the table consisting of many depth-  
cascaded devices is full.  
Device Identification (ID[4:0]). The binary-en-  
coded device ID for a depth-cascaded system  
starts at 00000 and goes up to 11110. 11111 is re-  
served for a special broadcast address that se-  
lects all cascaded (silicon) Search Engines in the  
system. On a broadcast read-only, the device with  
the LDEV Bit set to '1' responds.  
Block Hit In (BHI[2:0]). Inputs from the previous  
BHO[2:0] are tied to the BHI[2:0] of the current de-  
vice (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 cur-  
rent device are connected to the BHI[2:0] of the  
next device (see DEPTH-CASCADING, page 52).  
Test Data In (TDI). This is the Test Access Ports  
Test Data In.  
Test Clock (TCK). This is the Test Access Ports  
Test Clock.  
Test Data Out (TDO). This is the Test Access  
Ports Test Data Out.  
Test Mode Select (TMS). This is the Test Ac-  
cess Ports Test Mode Select.  
Full In (FULI[6:0]). Each signal in this bus is con-  
nected to FULO[0] or FULO[1] of an upstream de-  
vice to generate the FULL flag for the depth-  
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) di-  
vides the CLK2X signal to generate the Internal  
Clock (CLK), as shown in Figure 12. The CLK2X  
and CLK signals are used for internal operations.  
Mask Registers  
The device contains sixteen (8 pairs) 68-bit global  
mask registers dynamically selected in every  
SEARCH operation to select the SEARCH sub-  
field (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' en-  
ables compares; setting the Mask Bit to '0' dis-  
ables 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.  
Registers  
All the M7010R registers are 68 bits wide. The  
M7010R contains 32 comparand storage regis-  
ters, 16 global mask registers, 8 SEARCH-suc-  
cessful 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 as-  
cending 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 commands Cycle Acom-  
parand in the even-number register and the Cycle  
Bcomparand in the odd-numbered register, as  
shown in Figure 13, page 19.  
Figure 12. Clocks  
CLK2X  
PHS_L  
(1)  
CLK  
AI04274  
Note: Any reference to CLK Cyclesmeans 2 cycles of the signal, CLK2X.”  
1. CLKis an internal signal. The period for this clock is specified in Table 7, page 15.  
Table 8. Register Overview  
Address  
Abbreviation  
Type  
Name  
32 Comparand Registers. Stores comparands from the DQ Bus for  
learning later.  
031  
COMP031  
R
3247  
4855  
56  
MASKS  
SSR07  
COMMAND  
INFO  
RW  
R
16 Global Mask Registers Array.  
8 SEARCH Successful Index Registers.  
Command Register.  
RW  
R
57  
Information Register.  
58  
RBURREG  
WBURREG  
NFA  
RW  
RW  
R
Burst READ Register.  
59  
Burst WRITE Register.  
Next Free Address Register.  
Reserved  
60  
6163  
18/67  
M7010R  
Figure 13. Comparand Register Selection  
During SEARCH and LEARN  
Figure 14. Addressing the Global Mask  
Register (GMR) Array  
68  
68  
68  
68  
Address  
Index  
135  
0
Address  
Index  
135  
0
0
1
0
1
0
1
2
3
4
0
2
4
1
3
5
7
9
2
4
3
5
6
7
6
8
11  
10  
12  
14  
5
6
7
13  
15  
SEARCH and WRITE Command  
Global Mask Selection  
15  
30  
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 Cy-  
cle Bof 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. 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.  
INDEX  
[13:0]  
X
VALID  
[30:14]  
[31]  
0
0
0
Reserved.  
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]  
Reserved.  
19/67  
M7010R  
The Command Register  
Table 10. Command Register Field Descriptions  
Field  
Range  
Initial Value  
Description  
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.  
SRST  
[0]  
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.  
DEVE  
[1]  
0
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.  
Latency #  
CLK Cycles  
TLSZ  
[3:2]  
01  
00: 1 device  
4
5
01: 2-8 devices  
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.  
000: 0  
001: 1  
010: 2  
011: 3  
100: 4  
101: 5  
110: 6  
111: 7  
HLAT  
[6:4]  
000  
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:  
LDEV  
LRAM  
[7]  
[8]  
0
0
SSF = 0, SSV = 1  
During non-search cycles, the device with this bit set drives the signals as  
follows:  
SSF = 0, SSV = 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 = 22h3FFFFF, CE_L = 1, WE_L = 1, and ALE_L = 1.  
OE_L is always driven by the device for which this bit is set.  
20/67  
M7010R  
Field  
Range  
[16:9]  
Initial Value  
Description  
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  
0000  
0000  
10: 1K x 272  
CFG  
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  
data paths as follows:  
es a match, then in that case, the left half is a high-  
er priority. So if only one unique match exists in a  
particular system, then a match on the left side  
may alleviate the need to do a search on the right  
half of the Data array.  
Writing a '1' in the Global Mask Register allows  
data to be written into the M7010R. A '0' in the Glo-  
bal Mask Register disallows data modification. In-  
formation is written into the left half of the 68-bit  
word Search Engine as long as space for 34 bits  
of data is available and then into the right half of  
the Search Engine. 32-bit data can be entered in  
two cycles.  
Figure 15. Global Mask Register Patterns  
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 com-  
pletely filled.  
Figure 16 shows Bits 67 through 36 in the left sec-  
tion of the data array representing 32-bits of data.  
Bits 35 and 34 shown separately can be defined  
by the user for table management. In this applica-  
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 lo-  
cations have to be filled.  
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.  
Register 1  
Bits  
000  
67  
0111  
3433  
1
0
AI04277  
Figure 16. Storing left half of a Data or Mask  
Array  
The SEARCH throughput for 34-bit operations is  
half of the 68-bit operations. A search is performed  
by using the Global Mask Register 0for 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  
half has a higher priority than the right half.  
Bits  
67  
36 35 34 33  
2
1 0  
For example, if a search on the left half produces  
a match and a search on the right half also produc-  
AI04278  
22/67  
M7010R  
The Information Register  
Table 11. Information Register Field Descriptions  
Field  
Range  
Initial Value  
Description  
Revision Number. This is the current device revision number. Numbers start  
from one and increment by one for each revision of the device.  
Revision  
[3:0]  
0001  
Implemen-  
tation  
[6:4]  
000  
This is the M7010R implementation number.  
Reserved  
Device ID  
[7]  
0
Reserved.  
[15:8]  
00000001  
This is the Device Identification Number.  
1101_1100_ Manufacturer ID. This field is the same as the manufacturer ID and  
0111_1111 continuation bits.  
MFID  
[31:16]  
[67:32]  
Reserved.  
The READ Burst Address Register  
(RBURREG)  
The WRITE Burst Address Register  
(WBURREG)  
These READ burst address register fields must be  
programmed before burst READ (see Table 12).  
These WRITE burst address register fields must  
be programmed before burst WRITE (see Table  
13).  
Table 12. READ Burst Register Description  
Field  
Range  
Initial Value  
Description  
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.  
AADR  
[13:0]  
0
[18:14]  
[27:19]  
[67:28]  
Reserved.  
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.  
BLEN  
0
Reserved.  
Table 13. WRITE Burst Register Description  
Field  
Range  
Initial Value  
Description  
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.  
AADR  
[13:0]  
0
[18:14]  
[27:19]  
[67:28]  
Reserved.  
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.  
BLEN  
0
Reserved.  
23/67  
M7010R  
The NFA Register  
Bit [0] of each 68-bit data entry is a special bit des-  
ignated for use in the operation of the LEARN  
command. In 68-bit configurations, the Bit[0] indi-  
cates whether a location is full (bit set to '1') or  
empty (bit set to '0'). Every WRITE/LEARN com-  
mand loads the address of first 68-bit location that  
contains a 0in the entrys 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.'  
and Bit 68 in a 136-bit word to either '0' or '1' to in-  
dicate 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  
60  
67 - 14  
13 - 0  
Index  
Reserved  
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 cor-  
responding to each data cell. Figure 17 shows the  
three organizations of the device based on the val-  
ue 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).  
entries aligned to four entry-page boundaries of  
68-bit entries in quadrants configured as 272 bits.  
An arbitration mechanism using a cascade bus de-  
termines the global winning device among the lo-  
cal 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 Applica-  
tion Notes AN1338 and AN1339). Figure 18 shows  
a sample configuration of different widths.  
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 posi-  
tions 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 quad-  
rants configured as 136 bits, or all 272-bit posi-  
tions must generate a match for four consecutive  
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.  
24/67  
M7010R  
Figure 17. M7010R Database Configuration  
68  
136  
272  
Masks  
8 K  
16 K  
4 K  
Data  
CFG = 10101010  
Masks  
Data  
CFG = 01010101  
CFG = 00000000  
AI04264  
Table 15. Bit Position Match  
Figure 18. Multi-width Configuration Example  
G
0
1
1
1
1
1
M
x
S
x
D
x
Match  
68  
1
1
1
0
0
1
4 K  
0
1
1
1
1
x
x
0
0
1
1
0
1
0
1
68  
4 K  
136  
2 K  
1 K  
272  
CFG = 10010000  
AI04244  
25/67  
M7010R  
Figure 19. M7010R Data and Mask Array Addressing  
68  
68  
68  
68  
68  
68  
68  
67  
0
271  
0
135  
0
0
1
2
3
0
4
1
5
2
6
3
7
0
2
4
6
1
3
5
7
4K  
16380  
16381  
16382  
16383  
16 K  
8K  
CFG = 10101010  
(272-bit configuration)  
16383  
CFG = 00000000  
(68-bit Configuration)  
16382  
16383  
CFG = 01010101  
(136-bit Configuration)  
AI04263  
26/67  
M7010R  
COMMAND CODES AND PARAMETERS  
A master device, such as an ASIC controller, is-  
sues commands to the M7010R using the CMDV  
signal and the CMD Bus. The following subsec-  
tions describe the functions of the commands.  
cles. These two CLK2X cycles are designated as  
Cycle Aand Cycle B.The CMD[8:2] field pass-  
es the parameters of the command in CLK2X Cy-  
cles A and B. The controller ASIC must align the  
instructions with the CLK2X signal.  
Command Codes  
Commands and Command Parameters  
The M7010R implements four basic commands  
shown in Table 16. The Command code must be  
presented to CMD[1:0] while keeping the com-  
mand valid (CMDV) signal high for two CLK2X cy-  
Table 17 lists the CMD bus fields that contain the  
M7010R command parameters as well as their re-  
spective cycles.  
Table 16. Command Codes  
CMD Code  
Command  
Description  
Reads one of the following: data array, mask array, device registers, or external  
SRAM.  
00  
READ  
Writes one of the following: data array, mask array, device registers, or external  
SRAM.  
01  
10  
WRITE  
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.  
SEARCH  
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.  
11  
LEARN  
Table 17. Command Parameters  
Cmd  
Cyc  
8
7
6
5
4
3
2
1
0
0 = Single  
1 = Burst  
A
SADR[21]  
SADR[20]  
SADR[19]  
0
0
0
0
0
READ  
0 = Single  
1 = Burst  
B
A
B
0
SADR[21]  
0
0
SADR[20]  
0
0
SADR[19]  
0
0
0
0
0
0
0
0
1
1
0 = Single  
1 = Burst  
GMR Index[2:0]  
GMR Index[2:0]  
WRITE  
0 = Single  
1 = Burst  
68-bit or 136-bit: 0  
272-bit:  
1 in 1st Cycle  
0 in 2nd Cycle  
A
SADR[21]  
SADR[20]  
SADR[19]  
GMR Index[2:0]  
1
0
SEARCH  
B
A
Successful SEARCH Register Index[2:0]  
Comparand Register Index  
1
1
0
1
SADR[21]  
SADR[20]  
SADR[19]  
Comparand Register Index  
(1)  
Mode  
0: 68-bit  
1: 136-bit  
LEARN  
B
0
0
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 regis-  
ter (RBURADR) of the data or mask array loca-  
tions (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.  
READ Instruction is complete, and a new opera-  
tion can begin.  
The burst READ operation lasts 4 + 2n CLK-cycles  
(where nstands for the number of accesses in  
the burst specified by the BLEN field of the RBUR-  
REG) 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 In-  
struction 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] match-  
es the DQ[25:21] lines. If DQ[25:21] = 11111,  
the host ASIC selects the M7010R with the  
LDEV Bit set.  
The single READ operation takes six CLK cycles,  
in the following sequence:  
Cycle 1: The host ASIC applies the READ In-  
struction on the CMD[1:0] (CMD[2] = 0), using  
CMDV = 1, and the DQ Bus supplies the ad-  
dress, 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 Cy-  
cle A of the READ Instruction if the READ is di-  
rected to the external SRAM.  
Cycle 2: The host ASIC floats DQ[67:0] 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 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.  
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  
Note: Cycles four and five repeat for each addi-  
tional 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.  
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 (4 + 2n): The selected device drives the  
DQ[67:0] to 3-state condition and drives the  
ACK and the EOT signals low.  
Cycle 6: The selected device floats the  
At the termination of Cycle 4 + 2n, the selected de-  
vice floats the ACK line to 3-state condition. The  
burst READ Instruction is complete, and a new op-  
eration can begin (see Table 21, page 31 for burst  
READ address formats).  
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  
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]  
CMD[8:2]  
A
B
DQ  
Address  
Data  
X
ACK  
AI04282  
Figure 21. Burst READ of the Data and Mask Arrays (BLEN = 4)  
Cycle  
1
Cycle  
3
Cycle  
5
Cycle  
7
Cycle  
9
Cycle  
11  
Cycle  
2
Cycle  
6
Cycle  
8
Cycle  
10  
Cycle  
12  
Cycle  
4
CLK2X  
PHS_L  
CMDV  
CMD[1:0]  
CMD[8:2]  
DQ  
Read  
A
B
Address  
Data2  
Data0 FF  
Data1  
Data3  
FF  
FF  
FF  
ACK  
EOT  
AI04283  
29/67  
M7010R  
Table 18. READ Command Parameters  
CMD Parameter  
Read Command  
CMD[2]  
Description  
Reads a single location of the data array, mask array, external SRAM,  
or device registers. All access information is applied on the DQ Bus.  
0
Single Read  
Reads a block of locations from the data array or mask array as a  
burst.  
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.  
1
Burst Read  
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  
DQ  
DQ  
DQ  
DQ  
DQ  
DQ  
[67:30]  
[29]  
[28:26]  
[25:21]  
[20:19]  
[18:14]  
[13:0]  
If DQ[29] is '0,' this field carries  
address of data array location.  
If DQ[29] is '1,' the successful  
SEARCH Register specified on  
DQ[28:26] supplies the address  
of the data array location:  
SuccessfulSEARCH  
Register Index  
1: Indirect (Applicable if DQ[29]  
0: Direct  
00: Data  
Array  
Reserved  
ID  
Reserved  
is indirect)  
{SSR[13:2], SSR[1] | DQ[1],  
(1)  
SSR[0] | DQ[0]}  
If DQ[29] is '0,' this field carries  
address of mask array location.  
If DQ[29] is '1,' the successful  
SEARCH Register specified on  
DQ[28:26] supplies the address  
of the mask array location:  
SuccessfulSEARCH  
0: Direct  
Register Index  
1: Indirect (Applicable if DQ[29]  
is indirect)  
01: Mask  
Array  
Reserved  
Reserved  
ID  
ID  
Reserved  
{SSR[13:2], SSR[1] | DQ[1],  
(1)  
SSR[0] | DQ[0]}  
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.  
SuccessfulSEARCH  
Register Index  
1: Indirect (Applicable if DQ[29]  
10:  
External  
SRAM  
0: Direct  
is indirect)  
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]  
DQ[13:0]  
Do not care. These 14 bits come from the  
internal register (RBURADR) which  
increments for each access.  
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  
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.  
Table 24, page 33 for format). The sequence is as  
follows:  
Cycle 1A: The host ASIC applies the WRITE In-  
struction 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 WBUR-  
REG register) of the selected device.  
The WRITE operation sequence is as follows:  
Cycle 1A: The host ASIC applies the WRITE In-  
struction to CMD[1:0] (CMD[2] = 0), using CM-  
DV=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 reg-  
ister (GMR) to mask the WRITE to the data ar-  
ray 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.  
The host ASIC writes the data on the DQ[67:0]  
bus only to the subfield that has the correspond-  
ing 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 3: Idle cycle. At the termination of this cy-  
cle, another operation can begin.  
The burst WRITE operation lasts for (n + 2) CLK  
cycles, where nsignifies the number of accesses  
in the burst as specified in the BLEN field of the  
WBURREG register (see Figure 23, page 32).  
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.  
This operation assumes that the host ASIC has  
programmed the WBURREG with the starting ad-  
dress (ADDR) and the length of transfer (BLEN)  
before initiating the burst WRITE command (see  
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]  
CMD[8:2]  
DQ  
Write  
A
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
Cycle  
6
CLK2X  
PHS_L  
CMDV  
CMD[1:0]  
CMD[8:2]  
Write  
A
B
DQ  
Data1  
Data3  
Address  
Data0  
Data2  
X
EOT  
AI04285  
32/67  
M7010R  
Table 22. (Single) WRITE Address Format for Data and Mask Arrays or SRAM  
DQ  
DQ  
DQ  
DQ  
DQ  
DQ  
DQ  
[67:30]  
[29]  
[28:26]  
[25:21]  
[20:19]  
[18:14]  
[13:0]  
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]  
Successful  
SEARCH  
Register Index  
(Applicable if  
DQ[29] is  
0: Direct  
1: Indirect  
00: Data  
Array  
Reserved  
Reserved  
Reserved  
ID  
ID  
ID  
Reserved  
Reserved  
Reserved  
indirect)  
(1)  
| DQ[0]}.  
If DQ[29] is '0,' this field carries  
Successful  
SEARCH  
Register Index  
(Applicable if  
DQ[29] is  
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]  
0: Direct  
1: Indirect  
01: Mask  
Array  
indirect)  
(1)  
| DQ[0]}.  
If DQ[29] is '0,' this field carries  
Successful  
SEARCH  
Register Index  
(Applicable if  
DQ[29] is  
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]  
0: Direct  
1: Indirect  
10: External  
SRAM  
indirect)  
(1)  
| DQ[0]}.  
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  
DQ  
DQ  
DQ  
DQ  
[67:26]  
[25:21]  
[20:19]  
[18:14]  
[13:0]  
Dont care. These 14 bits come from the  
internal register (WBURADR), which  
increments with each access.  
Reserved  
Reserved  
ID  
ID  
00: Data array  
01: Mask array  
Reserved  
Reserved  
Dont 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:  
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.  
1. 68-bit  
2. 136-bit  
3. 272-bit  
The SEARCH command is a pipelined operation  
and executes a SEARCH at half their rate of fre-  
quency of CLK2X for 68-bit searches in x68-con-  
figured 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 Ta-  
ble 26, page 36.  
4. Mixed-sized SEARCHES on tables config-  
ured 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.  
In addition, SSV and SSF shift to the right for dif-  
ferent values of HLAT, as specified in Table 26,  
page 36.  
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 in-  
dex 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 log-  
ic '0.'  
Cycle B: The host ASIC continues to drive  
CMDV high and to apply the SEARCH com-  
mand (10) on CMD[1:0]. CMD[5:2] must be driv-  
en 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 com-  
pared.  
68-bit Configuration with LDEV = 1. The  
de-  
vice is configured to be the last in the depth-cas-  
caded 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 up-  
stream 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 cy-  
cle 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 con-  
trol 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
5
4
3
LHI  
2
1
0
BHI[2:0]  
BHI[2:0]  
M7010R  
CMDV, CMD[8:0]  
SRAM  
SSF, SSV  
LHO[1]  
LHO[0]  
AI07040  
34/67  
M7010R  
Figure 25. 68-Bit Configuration SEARCH Timing Diagram (One 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  
01  
Search3  
01  
CMD[1:0]  
01  
01  
Search4  
Search2  
CMD[8:2]  
DQ  
A
A
A
A
B
B
B
B
D2  
D3  
D4  
D1  
A3  
0
SADR[21:0]  
A1  
0
ALE_L, CE_L  
1
1
1
WE_L  
OE_L  
1
0
1
0
1
0
1
1
0
1
0
SSV  
SSF  
0
0
0
0
0
1
1
Hit  
Miss  
Hit  
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  
00  
Number of CLK Cycles  
HLAT  
000  
001  
010  
011  
Number of CLK Cycles  
0
1
2
0
1
2
3
4
5
6
7
01  
10  
100  
101  
110  
111  
Table 27. Latency of SEARCH from Instruction to SRAM Access Cycle (68-bit Mode)  
# of devices  
1 (TLSZ = 00)  
Max Table Size  
16K x 68-bit  
Latency in CLK Cycles  
4
5
6
28 (TLSZ = 01)  
931 (TLSZ = 10)  
128K x 68-bit  
496K x 68-bit  
36/67  
M7010R  
68-bit Logical SEARCH  
The logical, 68-bit SEARCH operation is shown in  
Figure 26. The entire table of 68-bit entries is com-  
pared 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 commands 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 com-  
mands Cycle B. In a x68 configuration, only the  
even comparand register can subsequently be  
used by the LEARN command. The word K (pre-  
sented 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  
entrys location, address L,is the winning ad-  
dress that is driven as part of the SRAM address  
on the SADR[21:0] lines.  
Figure 26. x68 Table with One Device  
0
67  
67  
GMR  
K
0
Location  
address  
0
1
2
3
0
67  
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.  
68-bit data ([67:0]), compared to all odd loca-  
tions.  
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 even-  
numbered GMR of the pair specified by the  
GMR Index is used for masking the word in Cy-  
cle A. The odd-numbered GMR of the pair spec-  
ified by the GMR Index is used for masking the  
word in Cycle B.  
The following is the operation sequence for a sin-  
gle, 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 loca-  
tions. 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 driv-  
en 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  
The SEARCH command is a pipelined operation  
that executes searches at half the rate of the fre-  
quency of CLK2X for 136-bit searches in x136-bit-  
configured 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 dif-  
ferent 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
5
4
3
LHI  
2
1
0
BHI[2:0]  
BHI[2:0]  
M7010R  
CMDV, CMD[8:0]  
SRAM  
SSF, SSV  
LHO[1]  
LHO[0]  
AI07040  
38/67  
M7010R  
Figure 28. 136-Bit Configuration SEARCH Timing Diagram (One 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  
01  
Search3  
01  
CMD[1:0]  
01  
01  
Search4  
Search2  
CMD[8:2]  
DQ  
A
A
A
A
A
B
B
B
B
B
B
A
A
A
B
B
D2  
D3  
D4  
D1  
A3  
0
SADR[21:0]  
A1  
0
ALE_L, CE_L  
1
1
1
WE_L  
OE_L  
1
0
1
0
1
0
1
1
0
1
0
SSV  
SSF  
0
0
0
0
0
1
1
Hit  
Miss  
Hit  
Miss  
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  
00  
Number of CLK Cycles  
HLAT  
000  
001  
010  
011  
Number of CLK Cycles  
0
1
2
0
1
2
3
4
5
6
7
01  
10  
100  
101  
110  
111  
Table 30. Latency of SEARCH from Instruction to SRAM Access Cycle (136-bit Mode)  
# of devices  
1 (TLSZ = 00)  
Max Table Size  
8K x 136-bit  
Latency in CLK Cycles  
4
5
6
28 (TLSZ = 01)  
931 (TLSZ = 10)  
64K x 136-bit  
248K x 136-bit  
40/67  
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  
commands Cycle A. The 136-bit word K (present-  
ed 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 Com-  
parand Register Index in the commands Cycle B.  
numbered comparand register stored in an even-  
numbered location, and the odd-numbered com-  
parand register stored in an adjacent, odd-num-  
bered location. The word K (presented on the DQ  
Bus in Cycles A and B of the command) is com-  
pared with each entry in the table starting at loca-  
tion 0.The first matching entrys 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  
SEARCH.  
a
136-bit  
The two comparand registers can subsequently  
be used by the LEARN command with the even-  
Figure 29. x136 Table with One Device  
0
135  
135  
GMR  
K
Even  
A
Odd  
B
0
Location  
address  
0
2
4
6
0
67  
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 ta-  
ble (CFG = 10101010) consisting of a single de-  
vice for one set of parameters: TLSZ = 00, HLAT  
= 001, LRAM = 1, and LDEV = 1. The hardware di-  
agram for this search subsystem is shown in Fig-  
ure 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 0in the four 68-  
bits-word page. The CMD[2] signal must be  
driven to logic '1.'  
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 en-  
try and hit flag (see Table 9, page 19 for a de-  
scription of SSR[0:7]). The DQ[67:0] is driven  
with the 68-bit data ([67:0]) to be compared to all  
locations 3in the four 68-bits-word page.  
CMD[5:2] is ignored because the LEARN In-  
struction 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.  
Note: CMD[2] = 1 signals that the search is a  
x272-bit search. CMD[8:3] is ignored.  
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 cy-  
cles) from the CLK2X cycle that contains the C  
and D cycles is shown in Table 33, page 44.  
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 1in the 68-bits-  
word page.  
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 dif-  
ferent values of HLAT, as specified in Table 32,  
page 44.  
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 2in  
the four 68-bits-word page. The CMD[2] signal  
must be driven to logic '0.'  
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.  
Cycle D: The host ASIC continues to drive  
CMDV high and applies SEARCH command  
Figure 30. Hardware Diagram for a Table with One Device (272-bit Operation)  
DQ[67:0]  
6
5
4
3
LHI  
2
1
0
BHI[2:0]  
BHI[2:0]  
M7010R  
CMDV, CMD[8:0]  
SRAM  
SSF, SSV  
LHO[1]  
LHO[0]  
AI07040  
42/67  
M7010R  
Figure 31. 272-Bit Configuration SEARCH Timing Diagram (One Device)  
Cycle  
2
Cycle  
4
Cycle  
6
Cycle  
8
Cycle  
10  
Cycle  
1
Cycle  
3
Cycle  
5
Cycle  
7
Cycle  
9
CLK2X  
PHS_L  
A
B C D  
CMDV  
CMD[1:0]  
CMD[2]  
01  
Search1  
01  
Search2  
CMD[8:2]  
A
A
A
A
A
A
A
A
B
B
B
B
B
B
B
B
DQ  
D2  
D1  
SADR[21:0]  
A1  
0
ALE_L, CE_L  
1
1
WE_L  
OE_L  
1
0
1
0
1
1
0
0
SSV  
SSF  
1
0
0
0
0
0
1
Hit  
Miss  
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  
00  
Number of CLK Cycles  
HLAT  
000  
001  
010  
011  
Number of CLK Cycles  
0
1
2
0
1
2
3
4
5
6
7
01  
10  
100  
101  
110  
111  
Table 33. Latency of SEARCH from Instruction to SRAM Access Cycle (272-bit Mode)  
# of devices  
1 (TLSZ = 00)  
Max Table Size  
4K x 272-bit  
Latency in CLK Cycles  
4
5
6
28 (TLSZ = 01)  
931 (TLSZ = 10)  
32K x 272-bit  
124K x 272-bit  
44/67  
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 com-  
mand) 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 com-  
mands Cycles A and C. The 272-bit word K (pre-  
sented 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 entrys 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 0in 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  
2
3
GMR  
K
0
1
A
B
C
D
0
271  
Location  
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,  
x136, and x272) with tables of different widths  
(x68, x136, and x272). The sample operation  
shown is for a single device with CFG = 10010000,  
containing three tables of x68, x136, and x272  
widths. The operation can be generalized to a  
block of 8 to 31 devices using four blocks; the tim-  
ing and the pipeline operation is the same as de-  
scribed previously for fixed searches on a table of  
one-width-size.  
Figure 34, page 47 shows three sequential  
searches; first, a 68-bit SEARCH on a table con-  
figured as x68, then a 136-bit SEARCH on a table  
configured as x136, and finally a 272-bit SEARCH  
on the table configured as x272. Each results in a  
hit.  
Note: The DQ[67:66] will be 00in each of the two  
A and B Cycles of the x68-bit SEARCH (Search1).  
DQ[67:66] is 01in each of the A and B Cycles of  
the x136-bit SEARCH (Search2). DQ[67:66] is  
10in each of the A, B, C, and D Cycles of the  
x272-bit SEARCH (Search3). By having table des-  
ignation bits, the M7010R device enables the cre-  
ation of many tables of different widths in a bank of  
search engines.  
Figure 33 shows the sample table. Two bits in  
each 68-bit entry need to be designated as table  
number bits. One example choice might be: the  
00values for the table configured as x68, 01”  
values for tables configured as x136, and 10val-  
ues for tables configured as x272. For the above  
explanation, it is further assumed that bits for  
DQ[67:66] for each entry will be designed as such  
table designation bits.  
Figure 33. Multiwidth Configuration Example  
68  
8K  
136  
2K  
272  
1K  
CFG = 10010000  
AI07046  
46/67  
M7010R  
Figure 34. Timing Diagram for Mixed SEARCH (One 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  
01  
Search3  
01  
CMD[1:0]  
01  
Search2  
CMD[2]  
CMD[8:2]  
A
A
A
A
A
A
B
B
B
B
B
B
B
D
DQ  
C
A
D2  
D3  
D1  
A2  
0
A3  
0
SADR[21:0]  
A1  
ALE_L, CE_L  
1
1
1
WE_L  
OE_L  
1
0
1
0
1
1
0
0
0
0
0
SSV  
SSF  
1
1
0
0
1
Search1  
x68 Hit  
Search3  
x272 Hit  
Search2  
x136 Hit  
CFG = 10101010, HLAT = 010, TLSZ = 00, LRAM = 1, LDEV = 1  
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 non-  
SEARCH 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 cas-  
caded 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 (al-  
so 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 non-  
SEARCH 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 dam-  
age to the device(s).  
LEARN COMMAND  
Bit [0] of each 68-bit data location specifies wheth-  
er an entry in the database is occupied. If all the  
entries in a device are occupied, the device as-  
serts FULO signal to inform the downstream de-  
vices that it is full.  
The result of this communication between depth-  
cascaded 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 de-  
vice is based on the FULI and FULO signalling be-  
tween 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-config-  
ured 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,' in-  
dicating that they are cascaded empty, or '1,'  
which indicates that they are occupied.  
a data array after each WRITE or LEARN com-  
mand. 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 ta-  
bles.  
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 com-  
parand 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 even-  
numbered 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 ta-  
ble.  
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.  
The global FULL signal indicates to the table con-  
troller (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  
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 instruc-  
tion is shown in Table 34, page 51.  
Figure 35. LEARN Command Timing Diagram (TLSZ = 00)  
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
Learn2  
X
Comp1  
Comp2  
CMD[8:2]  
DQ  
A
B
X
X
X
X
X
X
1A 1B  
A2  
SADR[21:0]  
A1  
0
0
0
0
ALE_L, CE_L  
WE_L  
1
1
1
1
1
1
OE_L  
SSV  
SSF  
1
0
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  
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
Learn2  
X
Comp1  
Comp2  
CMD[8:2]  
DQ  
A
B
X
X
X
z
z
X
X
X
1A 1B  
z
z
z
z
z
z
A2  
SADR[21:0]  
A1  
0
0
0
0
ALE_L, CE_L  
WE_L  
OE_L  
z
z
SSV  
SSF  
z = tri-state condition  
TLSZ = 00, LRAM = 0, LDEV = 0  
AI07043  
50/67  
M7010R  
Figure 37. LEARN Timing Diagram on Device Number 7 (TLSZ = 01)  
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
Learn2  
X
Comp1  
Comp2  
CMD[8:2]  
DQ  
A
B
X
X
X
X
X
X
1A 1B  
z
z
SADR[21:0]  
z
z
z
z
ALE_L, CE_L  
WE_L  
1
1
1
1
1
0
1
0
OE_L  
1
0
0
SSV  
SSF  
TLSZ = 01, LRAM = 1, LDEV = 1  
AI07047  
Table 34. SRAM WRITE Cycle Latency from Second Cycle of LEARN Instruction  
Number of Devices  
1 (TLSZ = 00)  
Latency in CLK Cycles  
4
5
6
1-8 (TLSZ = 01)  
1-31 (TLSZ = 10)  
51/67  
M7010R  
DEPTH-CASCADING  
The Search Engine application can depth-cas-  
cade the device to various table sizes in 68-bit,  
136-bit, and 272-bit configurations by program-  
ming 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.  
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 non-  
search commands. See the LDEV Bit definition in  
Table 10, page 20.  
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 intercon-  
nection 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 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 de-  
vice 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 gen-  
erate 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 hard-  
ware connection diagram for generating the FULL  
signal that goes back to the ASIC. In a depth-cas-  
caded block of up to eight devices, the FULL sig-  
nal 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.  
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 cas-  
cading 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  
Note: The LEARN Instruction is supported for up  
to eight devices, whereas FULL cascading is al-  
lowed for one block in tables containing more than  
eight devices. In tables for which a LEARN Instruc-  
tion will not be used, the Bit[0] of each 68-bit entry  
should always be set to '1.'  
52/67  
M7010R  
Figure 38. Depth-Cascading to Form a Single Block (8 Devices)  
DQ[67:0]  
CMDV  
CMD[8:0]  
SRAM  
BHI[2:0]  
BHI[2:0]  
BHI[2:0]  
BHI[2:0]  
6
5
4
3
2
1
0
LHI  
M7010R  
M7010R  
LHO[1]  
LHO[0]  
SSF,  
SSV  
3
3
2
1
0
0
0
0
0
0
6
5
4
3
LHI  
2
1
0
0
0
LHO[1]  
LHO[0]  
2
1
1
1
1
1
6
6
6
5
5
4
4
3
LHI  
2
1
1
M7010R  
M7010R  
M7010R  
M7010R  
M7010R  
M7010R  
LHO[1]  
LHO[0]  
3
2
2
3
2
LHI  
LHO[0]  
LHO[1]  
BHI[2:0]  
3
3
3
5
4
3
LHI  
2
1
0
LHO[0]  
BHI[2:0]  
BHI[2:0]  
2
6
5
4
4
LHI  
LHO[0]  
LHI  
2
LHI  
6
5
LHI  
LHO[0]  
3
2
LHI  
1
0
6
5
LHI  
4
BHO[0]  
BHO[1]  
BHO[2]  
BHI[2:0]  
BHO[0]  
BHO[1]  
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]  
BHI[1]  
BHI[0]  
GND  
GND  
GND  
Block #0 (Devices 0 to 7)  
Block of 8 M7010Rs  
BHO[1]  
SRAM  
SSF,  
SSV  
BHO[2]  
BHO[0]  
BHI[2]  
BHI[1]  
BHI[0]  
Block #1 (Devices 8-15)  
Block of 8 M7010Rs  
BHO[1]  
BHO[2]  
BHO[0]  
BHI[2]  
BHI[1]  
BHI[0]  
Block #2 (Devices 16-23)  
Block of 8 M7010Rs  
BHO[1]  
BHO[2]  
BHO[0]  
DQ[67:0]  
BHI[2]  
BHI[1]  
BHI[0]  
CMD[8:0]  
CMDV  
Block #3 (Devices 24-30)  
Block of 7 M7010Rs  
BHO[1]  
BHO[2]  
BHO[0]  
AI04242  
54/67  
M7010R  
Figure 40. “FULL” State Generation in a Cascaded Table  
V
V
DDQ  
DQ[67:0]  
6
5
4
3
2
1
0
FULI  
M7010R  
M7010R  
FULO[1]  
FULO[0]  
FULL  
DDQ  
6
6
6
6
5
4
3
3
2
1
0
0
0
FULI  
FULO[1]  
FULO[0]  
V
V
V
FULL  
FULL  
FULL  
DDQ  
DDQ  
5
5
5
4
2
1
1
FULI  
M7010R  
M7010R  
M7010R  
M7010R  
M7010R  
M7010R  
FULO[1]  
FULO[0]  
4
3
2
FULI  
FULO[0]  
FULO[1]  
DDQ  
4
3
2
1
0
FULI  
FULO[0]  
V
DDQ  
DDQ  
FULL  
FULL  
3
2
1
1
0
0
6
5
4
FULI  
FULI  
FULO[0]  
V
3
2
6
5
4
FULI  
FULI  
FULO[0]  
FULL  
FULL  
3
2
1
FULI  
0
6
5
4
FULI  
FULO[1] FULO[0]  
AI04241  
55/67  
M7010R  
ARBITRATION  
Figure 41, page 56 shows an example of the arbi-  
tration 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 devic-  
es.  
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 sig-  
nals. 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 3  
Cycle 6  
Cycle 5  
Cycle 8  
Cycle 7 Cycle 9  
Cycle 10  
Cycle 1  
CLK2X  
PHS_L  
CMDV  
CMD[1:0]  
Learn2  
X
Learn1  
Comp1  
X
Comp2  
CMD[8:2]  
X
X
A
B
X
X
1B  
1A  
DQ  
X
X
A2  
SADR[21:0]  
A1  
ALE_L, CE_L  
WE_L  
OE_L  
TLSZ = 00, LRAM = 0, LDEV = 0  
AI04293  
56/67  
M7010R  
Figure 42. Timing for Arbitration for Two or More Blocks for the Last Device  
Cycle 2  
Cycle 1  
Cycle 4  
Cycle 3  
Cycle 6  
Cycle 5  
Cycle 8  
Cycle 10  
Cycle 7  
Cycle 9  
CLK2X  
PHS_L  
CMDV  
CMD  
Search1  
Search3  
Search2  
Search4  
CMD[8:2]  
A
B
D0 D1 D0 D1 D0 D1  
3FFFFF  
DQ  
D0 D1  
SADR[21:0]  
A1  
A2  
A3  
A4  
3FFFFF  
CE_L  
WE_L  
OE_L  
Miss  
Hit  
Hit  
Hit  
LHO  
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 com-  
mands used to generate addresses on the SRAM  
address bus. The Index[13:0] field contains the ad-  
dress 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 ac-  
cess 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 informa-  
tion.  
lowing description, the selected device refers only  
to the device in the table because it is the only de-  
vice to be accessed.  
Cycle 1A: The host ASIC applies the READ In-  
struction 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 10to select the SRAM ad-  
dress.  
SRAM PIO Access  
Cycle 2: The host ASIC floats DQ[67:0] to a tri-  
SRAM READ. Enables READ access to the off-  
chip SRAM that contains associative data. The la-  
tency 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 regis-  
ter. The latency of the ACK from the READ In-  
struction is the same as the latency of the  
SEARCH Instruction to the SRAM address plus  
the HLAT programmed into the configuration reg-  
ister.  
state condition.  
Cycle 3: The host ASIC keeps DQ[67:0] in a tri-  
state 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.  
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 fol-  
lowing parameters: TLSZ = 00, HLAT = 000,  
LRAM = 1, and LDEV = 1. Figure 43, page 59  
shows the associated timing diagram. For the fol-  
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.  
58/67  
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]  
CMD[8:2]  
DQ  
A
B
z
z
Address  
0
OE_L  
WE_L  
1
1
0
ALE_L, CE_L  
1
SADR  
Address  
1
z
z
ACK  
0
0
0
0
SSV  
SSF  
TLSZ = 00, HLAT = 000, LRAM = 1, LDEV = 1  
DQ driven by M7010R  
AI04295  
59/67  
M7010R  
SRAM WRITE. Enables WRITE access to the off-  
chip SRAM containing associative data. The laten-  
cy 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 pro-  
grammed into the device configuration register.  
Note: SRAM WRITE is a pipelined operation - new  
instruction can begin right after the previous com-  
mand has ended. The following explains the  
SRAM WRITE operation accomplished through a  
table of only one device with the following param-  
eters: TLSZ = 00, HLAT = 000, LRAM = 1, and  
LDEV = 1. Figure 44, page 61 shows the timing di-  
agram. 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 In-  
struction 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.  
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 10to select the SRAM ad-  
dress.  
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 mea-  
sured from the second cycle of the WRITE com-  
mand).  
60/67  
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]  
CMD[8:2]  
A
B
DQ  
Address  
x
x
OE_L  
1
0
0
0
WE_L  
1
1
ALE_L, CE_L  
SADR  
ACK  
Address  
z
0
0
SSV  
SSF  
TLSZ = 00, HLAT = 000, LRAM = 1, LDEV = 1  
AI04296  
Table 35. SRAM Bus Address Generation  
Command  
SEARCH  
SRAM Operation  
Read  
21  
C8  
C8  
C8  
C8  
C8  
20  
19  
C6  
C6  
C6  
C6  
C6  
[18:15]  
ID[4:0]  
ID[4:0]  
ID[4:0]  
ID[4:0]  
ID[4:0]  
[14:0]  
C7  
C7  
C7  
C7  
C7  
Index[14:0]  
NFA[14:0]  
Adr[14:0]  
Adr[14:0]  
SSR[14:0]  
LEARN  
Write  
PIO READ  
PIO WRITE  
Indirect Access  
Read  
Write  
Write/Read  
61/67  
M7010R  
Table 36. Right-Shift of SRAM Signals for TLSZ  
Values  
Table 37. Right-Shift of SRAM Signals for  
HLAT Values  
TLSZ  
00  
Number of CLK Cycles  
HLAT  
000  
001  
010  
011  
100  
101  
110  
111  
Number of CLK Cycles  
0
1
2
0
1
2
3
4
5
6
7
01  
10  
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 stan-  
dard 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 V  
through a pull-  
DDQ  
up, and the TRST_L to ground through a pull-  
down.  
Table 38. Test Access Port Controller Instructions  
Instruction  
Type  
Description  
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.  
SAMPLE/PRELOAD  
Mandatory  
External Test. Uses boundary scan values shifted in from TAP to test  
connectivity external to the device.  
EXTEST  
INTEST  
Mandatory  
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 Number. This is the current device revision number.  
Numbers start from one and increment by one for each revision of the  
device.  
Revision  
[31:28]  
0001  
Part #  
MFID  
LSB  
[27:12]  
[11:1]  
[0:0]  
0000 0000 0000 0001 This is the part number for this device.  
Manufacturer ID. This field is the same as the manufacturer ID used  
000_1101_1100  
1
in the TAP controller.  
Least Significant Bit  
62/67  
M7010R  
POWER DISTRIBUTION GUIDELINE  
In order to prevent voltage supply sags that can  
potentially degrade device performance, large by-  
pass capacitors are often recommended. Since  
the bulk storage not only contains an effective se-  
ries 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.  
A 100uF bulk capacitor is recommended for  
the 3.3V V  
source supply.  
DDQ  
Four sets of 0.1uF and 0.01uF high frequency  
capacitors are recommended between V  
,
DD  
V
and ground.  
DDQ  
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 de-  
vice 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 informa-  
tion, please refer to Intel Website for Appnote AP-  
912, Pentium III Xeon Processor Power Distribu-  
tion Guidelines. (http://support.intel.com/design/  
pentiumiii/xeon/applnots/245095.htm).  
For a single Search Engine application, a recom-  
mended power plane and ground plane may be  
laid out as follows:  
A 1000uF bulk capacitor is recommended for  
the 1.8V V source supply.  
DD  
Figure 45. Network Search Engine Power Distribution  
100µF  
1000µF  
V
V
DDQ  
DDQ  
Source  
V
DD  
Source  
0.1µF  
0.01µF  
0.1µF  
0.1µF  
V
V
DDQ  
DDQ  
GND  
0.01µF  
0.01µF  
0.1µF  
0.01µF  
V
DD  
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 = V = 1.8V  
DD  
Speed  
083 = 83 Million Searches per Second  
066 = 66 Million Searches per Second  
Package  
(1)  
ZA = PBGA, 272-count, 27mm x 27mm  
Temperature Range  
1 = 0 to 70 °C  
Shipping Option  
Tape & Reel Packing = T  
Note: 1. Where Zis the symbol for BGA packages and Adenotes 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  
0.56 REF.  
A1  
1.17 REF.  
D2  
19 17 15 13 11  
20 18 16 14 12 10  
9
7
5
3
1
8
6
4
2
A
B
C
D
E
F
30˚ TYP.  
e
PIN #1  
G
H
J
K
E2  
E
L
M
N
P
R
T
U
V
W
Y
E1  
A2  
b
D1  
e
B
4.00*45˚ (4x)  
A
C
ddd C  
D
0.220 (3x)  
S
S
0.300 C A  
B
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  
Min  
inches  
Min  
Symb  
Typ  
27.00  
0.60  
Max  
Typ  
Max  
(4)  
(1)  
(1)  
26.80  
1.102  
0.024  
1.094  
A
27.20  
1.110  
(2,3)  
0.50  
0.70  
0.020  
0.029  
A1  
A2  
1.63  
26.80  
0.60  
1.90  
27.20  
0.90  
0.067  
1.094  
0.024  
1.094  
0.078  
1.110  
0.037  
1.110  
(4)  
27.00  
0.75  
1.102  
0.031  
1.102  
0.985  
0.980  
1.102  
0.985  
0.980  
0.052  
B
b
D
27.00  
24.13  
24.00  
27.00  
24.13  
24.00  
1.27  
26.80  
27.20  
D1  
D2  
E
26.80  
27.20  
1.094  
1.110  
E1  
E2  
e
ddd  
0.20  
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 di-  
ameter.  
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. #  
Revision Details  
January 2002  
1.0  
First Issue  
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)  
07/23/02  
1.1  
66/67  
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  

相关型号:

M7010R-083ZA1

SPECIALTY TELECOM CIRCUIT, PBGA272, 27 X 27 MM, 1.27 MM PITCH, PLASTIC, BGA-272
STMICROELECTR

M7010R-083ZA1T

16K x 68-bit Entry NETWORK SEARCH ENGINE
STMICROELECTR

M702-230642

IEEE 1394, PCB MOUNT SMT TYPE, METAL SHIELD, FEMALE
HARWIN

M7020R

32K x 68-bit Entry NETWORK SEARCH ENGINE
STMICROELECTR

M7020R-050ZA1

SPECIALTY TELECOM CIRCUIT, PBGA272, 27 X 27 MM, 1.27 MM PITCH, PLASTIC, BGA-272
STMICROELECTR

M7020R-050ZA1T

32K x 68-bit Entry NETWORK SEARCH ENGINE
STMICROELECTR

M7020R-066ZA1

暂无描述
STMICROELECTR

M7020R-066ZA1T

32K x 68-bit Entry NETWORK SEARCH ENGINE
STMICROELECTR

M7020R-083ZA1T

32K x 68-bit Entry NETWORK SEARCH ENGINE
STMICROELECTR

M703-006.4M

Clipped Sine Output Oscillator
CONNOR-WINFIE

M703-012.8M

Clipped Sine Output Oscillator
CONNOR-WINFIE

M704-006.42M

TCVCXO, Clock,
CONNOR-WINFIE