M7020R [STMICROELECTRONICS]
32K x 68-bit Entry NETWORK SEARCH ENGINE; 32K X 68位输入网络搜索引擎![M7020R](http://pdffile.icpdf.com/pdf1/p00049/img/icpdf/M7020R_257771_icpdf.jpg)
型号: | M7020R |
厂家: | ![]() |
描述: | 32K x 68-bit Entry NETWORK SEARCH ENGINE |
文件: | 总150页 (文件大小:991K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
![](http://public.icpdf.com/style/img/ads.jpg)
M7020R
32K x 68-bit Entry NETWORK SEARCH ENGINE
PRELIMINARY DATA
FEATURES SUMMARY
■ 32K DATA 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 octant is configurable
as 34, 68, 136, or 272 bits.)
■ UP TO 83 MILLION SUSTAINED SEARCHES
PER SECOND IN 68-BIT and 136-BIT
CONFIGURATIONS
■ UP TO 41.5 MILLION SEARCHES PER
SECOND IN 34-BIT and 272-BIT
CONFIGURATIONS
■ SEARCHES ANY SUB-FIELD IN A SINGLE
CYCLE
■ OFFERS BIT-BY-BIT and GLOBAL MASKING
■ SYNCHRONOUS, PIPELINED OPERATION
272-ball PBGA
27mm x 27mm
■ UP TO 31 SEARCH ENGINES CASCADABLE
WITHOUT PERFORMANCE DEGRADATION
■ WHEN CASCADED, THE DATABASE
ENTRIES CAN SCALE FROM 248K TO 1984K
DEPENDING ON THE WIDTH 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 PBGA, 27mm x 27mm
December 2001
1/150
This is preliminary information on a new product now in development or undergoing evaluation. Details are subject to change without notice.
M7020R
TABLE OF CONTENTS
DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Product Range (Table 1.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Switch/Router Implementation Using the M7020R (Figure 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Signal Names (Table 2.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Connections (Figure 3.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
M7020R Block Diagram (Figure 4.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
MAXIMUM RATING. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Absolute Maximum Ratings (Table 3.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
DC AND AC PARAMETERS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
DC and AC Measurement Conditions (Table 4.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
M7020R 2.5, or 3.3V AC Testing Load (Figure 5.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
M7020R 2.5, or 3.3V Input Waveform (Figure 6.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
M7020R 2.5, or 3.3V I/O Output Load Equivalent (Figure 7.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Capacitance (Table 5.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
DC Characteristics (Table 6.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
AC Timing Waveforms with CLK2X (Figure 8.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
AC Timing Parameters with CLK2X (Table 7.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
CMD Bus and DQ Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Database Entry (Data Array and Mask Array). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Arbitration Logic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Pipeline and SRAM Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Full Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
CONNECTION DESCRIPTIONS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Clocks and Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
CMD and DQ Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
SRAM Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Cascade Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Device Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Supplies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Test Access Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
CLOCKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Clocks (CLK2X and PHS_L) (Figure 9.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2/150
M7020R
REGISTERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Register Overview (Table 8.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Comparand Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Mask Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Comparand Register Selection During SEARCH and LEARN Instructions (Figure 10.) . . . . . . . . . 22
Addressing the Global Masks Register Array (Figure 11.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
SEARCH-Successful Registers (SSR[0:7]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
SEARCH-Successful Register (SSR) Description (Table 9.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
The Command Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Command Register Field Descriptions (Table 10.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
The Information Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Information Register Field Descriptions (Table 11.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
The Read Burst Address Register (RBURREG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
The Write Burst Address Register (WBURREG). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
The NFA Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Read Burst Register Description (Table 12.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Write Burst Register Description (Table 13.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
NFA Register (Table 14.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
SEARCH ENGINE ARCHITECTURE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Data and Mask Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
M7020R Database Width Configuration (Figure 12.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Bit Position Match (Table 15.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Multi-width Configuration Example (Figure 13.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
M7020R Data and Mask Array Addressing (Figure 14.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
COMMAND CODES AND PARAMETERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Command Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Commands and Command Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Command Codes (Table 16.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Command Parameters (Table 17.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
READ COMMAND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Single Location READ Cycle Timing (Figure 15.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Burst READ of the Data and Mask Arrays (BLEN = 4) (Figure 16.) . . . . . . . . . . . . . . . . . . . . . . . . 31
READ Command Parameters (Table 18.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Data and Mask Array, SRAM Read Address Format (Table 19.) . . . . . . . . . . . . . . . . . . . . . . . . . . 32
READ Address Format for Internal Registers (Table 20.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
READ Address Format for Data and Mask Arrays (Table 21.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
WRITE COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Single Location WRITE Cycle Timing (Figure 17.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Burst WRITE of the Data and Mask Arrays (BLEN = 4) (Figure 18.). . . . . . . . . . . . . . . . . . . . . . . . 35
(Single) WRITE Address Format for Data and Mask Arrays or SRAM (Table 22.) . . . . . . . . . . . . . 35
WRITE Address Format for Internal Registers (Table 23.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
WRITE Address Format for Data and Mask Array (Burst Write) (Table 24.). . . . . . . . . . . . . . . . . . 36
3/150
M7020R
SEARCH COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
68-bit Configuration with Single Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Hardware Diagram for a Table with One Device (Figure 19.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Timing Diagram for a 68-bit Configuration SEARCH for One Device (Figure 20.) . . . . . . . . . . . . . 38
x68 Table with One Device (Figure 21.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Latency of SEARCH from Instruction to SRAM Access Cycle, 68-bit, 1 Device (Table 25.). . . . . . 39
Shift of SSF and SSV from SADR (Table 26.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
68-bit SEARCH on Tables Configured as x68 Using up to Eight M7020R Devices. . . . . . . . . 40
Hit/Miss Assumption (Table 27.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Hardware Diagram for a Table with Eight Devices (Figure 22.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
x68 Table with Eight Devices (Figure 23.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Timing Diagrams for x68 Using up to Eight M7020R Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
68-bit SEARCH For Device 0 (Figure 24.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
68-bit SEARCH For Device 1 (Figure 25.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
68-bit SEARCH For Device 7 (Last Device) (Figure 26.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Latency of SEARCH from Instruction to SRAM Access Cycle, 68-bit, Up to 8 Devices (Table 28.) 46
Shift of SSF and SSV from SADR (Table 29.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
68-bit SEARCH on Tables Configured as x68 Using Up To 31 M7020R Devices. . . . . . . . . . . 46
Hit/Miss Assumption (Table 30.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Hardware Diagram for a Table with 31 Devices (Figure 27.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Hardware Diagram for a Block of Up To Eight Devices (Figure 28.) . . . . . . . . . . . . . . . . . . . . . . . . 49
x68 Table with 31 Devices (Figure 29.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Timing Diagrams for x68 Using Up To 31 M7020R Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Each Device in Block Number 0 (Miss on Each Device) (Figure 30.) . . . . . . . . . . . . . . . . . . . . 51
Each Device Above the Winning Device in Block Number 1 (Figure 31.). . . . . . . . . . . . . . . . . 52
Globally Winning Device in Block Number 1 (Figure 32.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Devices Below the Winning Device in Block Number 1 (Figure 33.). . . . . . . . . . . . . . . . . . . . . 54
Devices Above the Winning Device in Block Number 2 (Figure 34.) . . . . . . . . . . . . . . . . . . . . 55
Globally Winning Device in Block Number 2 (Figure 35.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Devices Below the Winning Device in Block Number 2 (Figure 36.). . . . . . . . . . . . . . . . . . . . . 57
Devices Above the Winning Device in Block Number 3 (Figure 37.) . . . . . . . . . . . . . . . . . . . . 58
Globally Winning Device in Block Number 3 (Figure 38.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Devices Below the Winning Device in Block Number 3 (not Device 30 - Last Device). . . . . . . 60
Device 6 in Block Number 3 (Device 30 in Depth-Cascaded Table) (Figure 40.) . . . . . . . . . . . 61
Latency of SEARCH from Instruction to SRAM Access Cycle, 68-bit, Up to 31 Devices . . . . . . . . 62
Shift of SSF and SSV from SADR (Table 32.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
136-bit Configuration with Single Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Hardware Diagram for a Table with 1 Device (Figure 41.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Timing Diagram for a 136-bit SEARCH for One Device (Figure 42.). . . . . . . . . . . . . . . . . . . . . . . . 64
x136 Table with One Device (Figure 43.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Latency of SEARCH from Instruction to SRAM Access Cycle, 136-bit, 1 Device (Table 33.). . . . . 65
Shift of SSF and SSV from SADR (Table 34.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4/150
M7020R
136-bit Search on Tables Configured as x136 Using Up to Eight M7020R Devices . . . . . . . . 66
Hit/Miss Assumption (Table 35.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Hardware Diagram for a Table with Eight Devices (Figure 44.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
x136 Table with Eight Devices (Figure 45.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Timing Diagrams for x136 Using Up to Eight M7020R Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
136-bit SEARCH for Device Number 0 (Figure 46.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
136-bit SEARCH for Device Number 1 (Figure 47.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
136-bit SEARCH for Device Number 7 (Last Device) (Figure 48.) . . . . . . . . . . . . . . . . . . . . . . 71
Latency of SEARCH from Instruction to SRAM Access Cycle, 136-bit, Up to 8 Devices . . . . . . . . 72
Shift of SSF and SSV from SADR (Table 37.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
136-bit Search on Tables Configured as x136 Using Up to 31 M7020R Devices. . . . . . . . . . . 72
Hit/Miss Assumption (Table 38.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Hardware Diagram for a Table with 31 Devices (Figure 49.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Hardware Diagram for a Block of Up to Eight Devices (Figure 50.) . . . . . . . . . . . . . . . . . . . . . . . . 75
x136 Table with 31 Devices (Figure 51.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Timing Diagrams for x136 Using Up to 31 M7020R Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Each Device in Block Number 0 (Miss on Each Device) (Figure 52.) . . . . . . . . . . . . . . . . . . . . 77
Each Device Above the Winning Device in Block Number 1 (Figure 53.). . . . . . . . . . . . . . . . . 78
Globally Winning Device in Block Number 1 (Figure 54.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Devices Below the Winning Device in Block Number 1 (Figure 55.). . . . . . . . . . . . . . . . . . . . . 80
Devices Above the Winning Device in Block Number 2 (Figure 56.) . . . . . . . . . . . . . . . . . . . . 81
Globally Winning Device in Block Number 2 (Figure 57.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Devices Below the Winning Device in Block Number 2 (Figure 58.). . . . . . . . . . . . . . . . . . . . . 83
Devices Above the Winning Device in Block Number 3 (Figure 59.) . . . . . . . . . . . . . . . . . . . . 84
Globally Winning Device in Block Number 3 (Figure 60.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Devices Below the Winning Device in Block Number 3 (not Device 30 - Last Device). . . . . . . 86
Device 6 in Block Number 3 (Device 30 in Depth-Cascaded Table) (Figure 62.) . . . . . . . . . . . 87
Latency of SEARCH from Instruction to SRAM Access Cycle, 136-bit, Up to 31 Devices . . . . . . . 88
Shift of SSF and SSV from SADR (Table 40.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
272-bit SEARCH on Tables Configured as x272 Using a Single M7020R Device . . . . . . . . . . 88
Hardware Diagram for a Table with One Device (Figure 63.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Timing Diagram for a 272-bit SEARCH for One Device (Figure 64.). . . . . . . . . . . . . . . . . . . . . . . . 90
x272 Table with One Device (Figure 65.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Latency of SEARCH from Cycles C and D to SRAM Access Cycle, 272-bit, 1 Device. . . . . . . . . . 91
Shift of SSF and SSV from SADR (Table 42.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
272-bit SEARCH on Tables x272-configured Using Up to Eight M7020R Devices . . . . . . . . . 92
Hit/Miss Assumption (Table 43.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Hardware Diagram for a Table with Eight Devices (Figure 66.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
x272 Table with Eight Devices (Figure 67.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Timing Diagrams for x272-configured Using Up to Eight M7020R Devices . . . . . . . . . . . . . . . . . . 96
272-bit SEARCH for Device Number 0 (Figure 68.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
272-bit SEARCH for Device Number 1 (Figure 69.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
272-bit SEARCH for Device Number 7 (Last Device) (Figure 70.) . . . . . . . . . . . . . . . . . . . . . . 98
Latency of SEARCH from Cycles C and D to SRAM Access Cycle, 272-bit, Up to 8 Devices . . . . 99
Shift of SSF and SSV from SADR (Table 45.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5/150
M7020R
272-bit Search on Tables Configured as x272 Using Up to 31 M7020R Devices. . . . . . . . . . . 99
Hit/Miss Assumption (Table 46.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Hardware Diagram for a Table with 31 Devices (Figure 71.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Hardware Diagram for a Block of Up to Eight Devices (Figure 72.) . . . . . . . . . . . . . . . . . . . . . . . 102
x272 Table with 31 Devices (Figure 73.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Timing Diagrams for x272 Using Up to 31 M7020R Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Each Device in Block Number 0 (Miss on Each Device) (Figure 74.) . . . . . . . . . . . . . . . . . . . 104
Each Device Above the Winning Device in Block Number 1 (Figure 75.). . . . . . . . . . . . . . . . 105
Globally Winning Device in Block Number 1 (Figure 76.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Devices Below the Winning Device in Block Number 1 (Figure 77.). . . . . . . . . . . . . . . . . . . . 107
Devices Above the Winning Device in Block Number 2 (Figure 78.) . . . . . . . . . . . . . . . . . . . 108
Globally Winning Device in Block Number 2 (Figure 79.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Devices Below the Winning Device in Block Number 2 (Figure 80.). . . . . . . . . . . . . . . . . . . . 110
Devices Above the Winning Device in Block Number 3 (Figure 81.) . . . . . . . . . . . . . . . . . . . 111
Globally Winning Device in Block Number 3 (Figure 82.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Devices Below the Winning Device in Block Number 3 (not Device 30 - Last Device). . . . . . 113
Last Device in Block Number 3 (Device 30 in the Table) (Figure 84.) . . . . . . . . . . . . . . . . . . 114
Latency of SEARCH from Cycles C and D to SRAM Access Cycle, 272-bit, Up to 31 Devices . . 115
Shift of SSF and SSV from SADR (Table 48.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
MIXED SEARCHES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Tables Configured with Different Widths Using an M7020R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Timing Diagram for Mixed SEARCH for One Device (Figure 85.). . . . . . . . . . . . . . . . . . . . . . . . . 116
Multi-Width Configurations Example (Figure 86.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
LRAM AND LDEV DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117
LEARN COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Timing Diagram of LEARN: TLSZ = 00 (Figure 87.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Timing Diagram of LEARN: TLSZ = 01 (Except on the Last Device) (Figure 88.). . . . . . . . . . . . . 120
Timing Diagram of LEARN on Device 7: TLSZ = 01 (Figure 89.) . . . . . . . . . . . . . . . . . . . . . . . . . 121
Latency of SRAM WRITE Cycle from Second Cycle of LEARN Instruction (Table 49.) . . . . . . . . 121
DEPTH-CASCADING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Depth-Cascading Up to Eight Devices (One Block) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Depth-Cascading Up to 31 Devices (4 Blocks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Depth-Cascading to Generate a “FULL” Signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Depth-Cascading to Form a Single Block (Figure 90.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Depth-Cascading Four Blocks (Figure 91.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
“FULL” Generation in a Cascaded Table (Figure 92.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
SRAM ADDRESSING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
SRAM PIO Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6/150
M7020R
SRAM READ with a Table of One Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Generating an SRAM Bus Address (Table 50.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
SRAM READ Access for One Device (Figure 93.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
SRAM READ with a Table of Up to Eight Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Table with Eight Devices (Figure 94.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
SRAM READ Through Device 0 in a Block of Eight Devices (Figure 95.). . . . . . . . . . . . . . . . . . . 130
SRAM READ Timing for Device 7 in a Block of Eight Devices (Figure 96.) . . . . . . . . . . . . . . . . . 131
SRAM READ with a Table of Up to 31 Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Table of 31 Devices Made of Four Blocks (Figure 97.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
SRAM READ Through Device 0 in a Bank of 31 Devices (Device 0 Timing) (Figure 98.) . . . . . . 134
SRAM READ Through Device 0 in a Bank of 31 Devices (Device 30 Timing) (Figure 99.) . . . . . 135
SRAM WRITE with a Table of One Device. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
SRAM WRITE Access for One Device (Figure 100.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
SRAM WRITE with a Table of Up to Eight Devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Table with Eight Devices (Figure 101.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
SRAM WRITE Through Device 0 in a Block of Eight Devices (Figure 102.) . . . . . . . . . . . . . . . . . 140
SRAM WRITE Timing for Device 7 in a Block of Eight Devices (Figure 103.). . . . . . . . . . . . . . . . 141
SRAM WRITE with Table(s) of Up to 31 Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Table of 31 Devices (Four Blocks) (Figure 104.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
SRAM WRITE Through Device 0 in a Bank of 31 Devices (Device 0 Timing) (Figure 105.). . . . . 144
SRAM WRITE Through Device 0 in a Bank of 31 Devices (Device 30 Timing) (Figure 106.). . . . 145
JTAG (1149.1) TESTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Supported Operations (Table 51.). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
TAP Device ID Register (Table 52.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
PART NUMBERING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
PACKAGE MECHANICAL INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
REVISION HISTORY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7/150
M7020R
DESCRIPTION
Overview
ST Microelectronics, Inc.’s M7020R Search En-
gine incorporates patent-pending Associative Pro-
cessing Technology™ (APT) and is designed to
be a high-performance, pipelined, synchronous,
32K-entry network database search engine. The
M7020R database entry size can be 68 bits, 136
bits, or 272 bits. In the 68-bit entry mode, the size
of the database is 32K entries. In the 136-bit
mode, the size of the database is 16K entries, and
in the 272-bit mode, the size of the database is 8K
entries. The M7020R is configurable to support
multiple databases with different entry sizes. The
34-bit entry table can be implemented using the
Global Mask Registers (GMRs) building-database
size of 64K entries with a single device.
of 34 or 272 bits, the Search Engine will perform at
41.5 million transactions per second. STM’s
M7020R can be used to accelerate network proto-
cols such as Longest-prefix Match (CIDR), ARP,
MPLS, and other Layer 2, 3, and 4 protocols.
Applications
This high-speed, high-capacity Search Engine can
be deployed in a variety of networking and com-
munications applications. The performance and
features of the M7020R make it attractive in appli-
cations such as Enterprise LAN switches and rout-
ers and broadband switching and/or routing
equipment supporting multiple data rates at OC–
48 and beyond. The Search Engine is designed to
be scalable in order to support network database
sizes to 1984K entries specifically for environ-
ments that require large network policy databases.
Figure 4, page 11 shows the block diagram for the
M7020R device.
Performance
The Search Engine can sustain 83 million transac-
tions per second when the database is pro-
grammed or configured as 68 or 136 bits. When
the database is programmed to have an entry size
Table 1. Product Range
Operating
Part Number
Operating I/O
Voltage
Speed
Temperature Range
Supply Voltage
M7020R-083ZA1
M7020R-066ZA1
M7020R-050ZA1
1.8V
1.8V
1.8V
2.5 or 3.3V
2.5 or 3.3V
2.5 or 3.3V
83MHz
66MHz
50MHz
Commercial
Commercial
Commercial
Figure 2. Switch/Router Implementation Using the M7020R
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
8/150
M7020R
Table 2. Signal Names
(1)
Cascade Interface
Symbol
Description
Type
LHI[6:0]
LHO[1:0]
BHI[2:0]
BHO[2:0]
FULI[6:0]
FULO[1:0]
FULL
I
O
I
Local Hit In
Local Hit Out
Block Hit In
Block Hit Out
Full In
Clocks and Reset
CLK2X
I
I
I
I
Master Clock
PHS_L
TEST
Phase
O
I
Test Input
Reset
RST_L
O
O
Full Out
Command and DQ Bus
Full Flag
CMD[8:0]
CMDV
I
I
Command Bus
Device Identification
Device Identification
Supplies
Command Valid
Address/Data Bus
READ Acknowledge
ID[4:0]
I
DQ[67:0]
I/O
T
(4)
ACK
V
n/a
n/a
Chip Core Supply (1.8V)
DD
(4)
T
T
End of Transfer
EOT
Chip I/O Supply (2.5 or
3.3V)
V
DDQ
SSF
SSV
SEARCH Successful Flag
SEARCH Successful Flag
Valid
Test Access Port
T
Test Access Port’s Test
Data In
TDI
I
I
SRAM Interface
SADR[21:0]
CE_L
T
T
T
T
T
SRAM Address
Test Access Port’s Test
Clock
TCK
TDO
SRAM Chip Enable
SRAM Write Enable
SRAM Output Enable
Address Latch Enable
Test Access Port’s Test
Data Out
WE_L
T
OE_L
Test Access Port’s Test
Mode Select
TMS
I
I
ALE_L
TRST_L
Test Access Port’s Reset
Note: 1. Signal types are: I = Input only; I/O = Input or Output; O = Output; and T = Tristate
2. “CLK” is an internal clock signal. Any reference to “CLK Cycles” means one cycle of CLK.
3. ACK and EOT Signals require a weak, external pull-down resistor of 47 KΩ or 100 KΩ.
9/150
M7020R
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
NC
CLK2X DD
GND
DQ10
GND
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
OE_L
NC
DQ3
NC
DQ2 DQ4
CMD6
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
10/150
M7020R
Figure 4. M7020R 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
64K x 34
32K x 68
16K x 136
8K x 272
SADR [21:0]
OE_L
CMD [8:0]
Command
Pipeline
and
SRAM
Control
CMDV
Decode
and PIO Access
Data Array
ACK
WE_L
EOT
Configurable as
64K x 34
CE_L
32K x 68
16K x 136
8K 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]
AI04271
11/150
M7020R
MAXIMUM RATING
Stressing the device above the rating listed in the
“Absolute Maximum Ratings” table may cause
permanent damage to the device. These are
stress ratings only and operation of the device at
these or any other conditions above those 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
STG
Storage Temperature (V Off)
DD
–0 to 70
°C
(1)
Lead Solder Temperature for 10 seconds
235
1.9
°C
V
T
SLD
V
V
V
V
Operating Supply Voltage
Voltage for I/O (3.3V)
DD
DD
V
3.465
2.6
V
DDQ
DDQ
DDQ
DDQ
V
Voltage for I/O (2.5V)
V
I
Output Current
200
< 5
mA
W
O
P
Power Dissipation
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).
12/150
M7020R
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 (3.3V)
Min
1.7
3.135
2.4
0
Max
Units
V
V
DD
V
V
V
1.9
DD
V
3.465
V
DDQ
DDQ
DDQ
DDQ
V
Voltage for I/O (2.5V)
2.6
V
t
Ambient Operating Temperature
70
°C
%
V
A
Supply Voltage Tolerance
–5
+5
Input Pulse Levels (V
= 3.3V)
= 2.5V)
GND to 3.0
DDQ
DDQ
Input Pulse Levels (V
GND to 2.5
V
Input Rise and Fall Times at 0.3V and 2.7V (V
= 3.3V)
≤ 2ns (see Figure 6, page 14)
ns
ns
V
DDQ
Input Rise and Fall Times at 0.25V and 2.25V (V
= 2.5V)
≤ 2ns (see Figure 6, page 14)
DDQ
Input Timing Reference Levels (V
Input Timing Reference Levels (V
= 3.3V)
= 2.5V)
= 3.3V)
1.5
DDQ
1.25
V
DDQ
Output Timing Reference Levels (V
Output Timing Reference Levels (V
Output Load
1.5
V
DDQ
= 2.5V)
1.25
V
DDQ
(see Figure 5 and Figure 7, page 14)
V
Note: 1. Maximum allowable applies to overshoot only (V
2. Minimum allowable applies to undershoot only.
is 3.3V supply).
DDQ
13/150
M7020R
Figure 5. M7020R 2.5, or 3.3V AC Testing Load
Z = 50Ω
0
50Ω
D
OUT
V = 1.25V for V
V = 1.50V for V
L
= 2.5V
= 3.3V
L
DDQ
DDQ
C
L
AC Load
AI05653
Figure 6. M7020R 2.5, or 3.3V Input Waveform
+2.5V V
+3.0V V
= 2.5V /
= 3.3V
DDQ
DDQ
90%
90%
10%
10%
GND
AI04299
Figure 7. M7020R 2.5, or 3.3V I/O Output Load Equivalent
V
DDQ
208Ω for V
158Ω for V
= 2.5V
= 3.3V
DDQ
DDQ
Q
192Ω for V
175Ω for V
= 2.5V
= 3.3V
DDQ
DDQ
5pF
(1, 2)
For Hi-Z and V /V
OL OH
AI04266
Note: 1. Output loading is specified with CL = 5pF as in Figure 7. Transition is measured at ± 200 mV from steady-state voltage.
2. The load used for V , V testing is shown in Figure 7.
OH OL
14/150
M7020R
Table 5. Capacitance
Symbol
(1,2)
Parameter
Min
Max
6
Unit
pF
Test Condition
C
V
IN
= 0V
= 0V
Input Capacitance
Output Capacitance
IN
(3)
V
OUT
6
pF
C
IO
Note: 1. Effective capacitance measured with power supply. Sampled only, not 100% tested.
2. At 25°C, f = 1MHz.
3. Outputs deselected.
Table 6. DC Characteristics
(1)
Sym
Parameter
Input Leakage Current
Output Leakage Current
Min
Max
Unit
Test Condition
V
= V
(max), V = 0 to V
(max)
±10
±10
0.8
µA
µA
V
I
LI
DDQ
DDQ
DDQ
IN
DDQ
I
V
= V
(max), V = 0 to V
(max)
LO
DDQ
IN
DDQ
V
IL
Input Low Voltage (V
= 3.3V)
= 3.3V)
= 2.5V)
= 2.5V)
= 3.3V)
= 3.3V)
–0.3
2.0
DDQ
V
IH
Input High Voltage (V
V
V
+ 0.3
DDQ
V
V
DDQ
V
IL
Input Low Voltage (V
–0.3
1.7
0.7
+ 0.3
DDQ
DDQ
V
IH
Input High Voltage (V
V
DDQ
V
OL
Output Low Voltage (V
V
DDQ
= V
(min), I = 8mA
OL
0.4
V
DDQ
DDQ
V
OH
Output High Voltage (V
Output Low Voltage (V
V
= V
(min), I
= 8mA
OH
2.4
2.0
V
DDQ
DDQ
DDQ
V
OL
= 2.5V)
= 2.5V)
V
DDQ
= V
(min), I = 8mA
DDQ OL
0.4
V
DDQ
V
OH
Output High Voltage (V
V
= V
(min), I
= 8mA
OH
V
DDQ
DDQ
DDQ
66MHz Search Rate
50MHz Search Rate
2300
1800
200
mA
mA
mA
mA
mA
mA
I
I
I
1.8V Supply Current at V (max)
DD
DD1
DD2
DD2
66MHz Search Rate, I
50MHz Search Rate, I
66MHz Search Rate, I
50MHz Search Rate, I
= 0mA
OUT
OUT
OUT
OUT
3.3V Supply Current at V (max)
DD
= 0mA
= 0mA
= 0mA
150
160
2.5V Supply Current at V (max)
DD
120
Note: 1. Valid for Ambient Operating Temperature: T = 0 to 70°C; V = 1.5V.
A
DD
15/150
M7020R
Figure 8. 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
CLK
tIHCH
tISCH
Signal
Group 0
tISCH
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 0: 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
16/150
M7020R
Table 7. AC Timing Parameters with CLK2X
M7020R-050 M7020R-066 M7020R-083
(1)
Row Symbol
Unit
Description
Min
Max
Min
Max
Min
Max
f
1
2
3
100
133
166 MHz CLK2X frequency
ns CLK2X period
CLOCK
t
10
4.0
4.0
2.5
0.6
7.5
3.0
3.0
2.5
0.6
CLK
(2)
t
ns
ns
ns
ns
CKHI
CLK2X high pulse
(2
t
4
5
6
CKLO
CLK2X low pulse
(2)
t
2.5
0.6
ISCH
Input Setup Time to CLK2X rising edge.
(2)
t
IHCH
Input Hold Time to CLK2X rising edge.
Cascaded Input Setup Time to CLK2X rising
t
7
8
9
4.2
0.6
4.2
0.6
4.2
0.6
ns
ns
ns
ICSCH
ICHCH
CKHOV
(2)
edge.
Cascaded Input Hold Time to CLK2X rising
t
(2)
edge.
Rising edge of CLK2X to LHO, FULO, BHO,
t
9.5
8.5
(3)
FULL valid.
(2)
t
t
t
10
11
12
10.0
9.5
9.0
9.5
9.0
ns
ns
ns
CKHDV
CKHDZ
CKHSV
Rising edge of CLK2X to DQ valid.
(4)
1.2
1.2
1.2
9.5
Rising edge of CLK2X to DQ high-Z.
(2)
10.0
Rising edge of CLK2X to SRAM Bus valid.
Rising edge of CLK2X to SRAM Bus high-
t
13
14
7.0
6.5
ns
ns
CKHSHZ
(2,4)
Z.
Rising edge of CLK2X to SRAM Bus low-
t
7.5
7.0
CKHSLZ
(2,4)
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 = 30pF (see Figure 5, Figure 6, and Figure 7, page 14).
4. These parameters are sampled and not 100% tested, and are based on an AC load of 5pF.
17/150
M7020R
OPERATION
The following subsections contain command
(CMD and DQ Bus (command and databus), data-
base entry, arbitration logic, pipeline, and SRAM
control, and full logic descriptions.
Arbitration Logic
When multiple Search Engines are cascaded to
create large databases, the data being searched is
presented to all search engines simultaneously in
the cascaded system. If multiple matches occur
within the cascaded devices, arbitration logic on
the search engines will enable the winning device
(with a matching entry that is closest to address “0”
of the cascaded database) to drive the SRAM bus.
CMD Bus and DQ Bus
CMD[8:0] carries the CMD and its associated pa-
rameter. DQ[67:0] is used for data transfer to and
from the database entries, which comprise a data
and a mask field that are organized as data and
mask arrays. The DQ Bus carries the SEARCH
data (of the data and mask arrays and internal reg-
isters) during the SEARCH command as well as
the address and data during READ and/or WRITE
operations. The DQ Bus can also carry the ad-
dress information for the flow-through accesses to
the external SRAMs and/or SSRAMs.
Pipeline and SRAM Control
Pipeline latency is added to give enough time to a
cascaded system’s arbitration logic to determine
the device that will drive the index of the matching
entry on the SRAM bus. Pipeline logic adds laten-
cy to both the SRAM access cycles and the SSF
and SSV signals to align them to the host ASIC re-
ceiving the associated data.
Database Entry (Data Array and Mask Array)
Each database entry comprises a data and a mask
field. The resultant value of the entry is ’1,' ’0,’ or
’X (don’t care),’ depending on the value in the data
and mask bits. The on-chip priority encoder se-
lects the first matching entry in the database that
is nearest to location '0.'
Full Logic
Bit[0] in each of the 68-bit entries has a special
purpose for the LEARN command (0 = empty, 1 =
full). When all the data entries have bit[0] = 1, the
database asserts the FULL Flag, indicating all the
search engines in the depth-cascaded array are
full.
18/150
M7020R
CONNECTION DESCRIPTIONS
Clocks and Reset
SRAM Interface
Master Clock (CLK2X). M7020R samples all the
data and control pins on the positive edge of
CLK2X. All signals are driven out of the device on
the rising 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 CLK
from CLK2X see Figure 9, page 20.
SRAM Address (SADR[21:0]). This bus con-
tains address lines to access off-chip SRAMs that
contain associative data. See Table 50, page 127
for the details of the generated SRAM address. In
a database of multiple M7020Rs, each corre-
sponding bit of SADR from all cascaded devices
must be connected.
SRAM Chip Enable (CE_L). This is chip enable
control for external SRAMs. In a database of mul-
tiple M7020Rs, CE_L of all cascaded devices
must be connected. This signal is then driven by
only one of the devices.
SRAM Write Enable (WE_L). This is write en-
able control for external SRAMs. In a database of
multiple M7020Rs, WE_L of all cascaded devices
must be connected together. This signal is then
driven by only one of the devices.
Test Input (TEST - for Cypress Semiconductor
Use Only). This signal should be connected to
ground.
Reset (RST_L). Driving RST_L low initializes the
device to a known state.
CMD and DQ Bus
CMD Bus (CMD[8:0]. [1:0] specifies the com-
mand; [8:2] contains the CMD parameters. The
descriptions of individual commands explains the
details of the parameters. The encoding of com-
mands based on the [1:0] field are:
SRAM Output Enable (OE_L). This is output en-
able control for external SRAMs. Only the last de-
vice drives this signal (with the LRAM bit set).
– 00: PIO READ
– 01: PIO WRITE
– 10: SEARCH
– 11: LEARN
Address Latch Enable (ALE_L). When this sig-
nal is low, the addresses are valid on the SRAM
Address Bus. In a database of multiple M7020Rs,
the ALE_L of all cascaded devices must be con-
nected. This signal is then driven by only one of
the devices.
CMD Valid (CMDV). Qualifies the CMD bus:
– 0: No Command
Cascade Interface
– 1: Command
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.
All unused LHI pins are connected to a logic '0.'
(For more information, see DEPTH-CASCADING,
page 122.)
Address/Data Bus (DQ[67:0]). This signal carries
the READ and WRITE address and 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). This signal indi-
cates that valid data is available on the DQ Bus
during register, data, and mask array READ oper-
ations, or the data is available on the SRAM data
bus during SRAM READ operations.
Note: ACK Signals require a weak external pull-
down resistor such as 47 or 100 KΩ.
End of Transfer (EOT). This signal indicates the
end of burst transfer to the data or mask array dur-
ing READ or WRITE burst operations.
Note: EOT Signals require a weak external pull-
down resistor such as 47 KΩ or 100 KΩ.
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.
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 of up to eight de-
vices. (For more information, see DEPTH-CAS-
CADING, page 122.)
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. 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]). These outputs from
the last device in a block are connected to the
BHI[2:0] inputs of the devices in the downstream
blocks.
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 signal for the depth-
cascaded block.
19/150
M7020R
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 “FULL” Signal, page 122.
On a broadcast READ-only, the device with the
LDEV bit set to '1' responds.
Supplies
Chip Core Supply (V ). This is equal to 1.8V.
DD
Chip I/O Supply (V
). This is equal to either
DDQ
2.5 or 3.3V.
Test Access Port
Full Flag (FULL). When asserted, this signal in-
dicates that the table consisting of many depth-
cascaded devices is full.
Test Data In (TDI). This is the Test Access Port’s
Test Data In.
Test Clock (TCK). This is the Test Access Port’s
Test Clock.
Device Identification
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 search engines in the system.
Test Data Out (TDO). This is the Test Access
Port’s Test Data Out.
Test Mode Select (TMS). This is the Test Ac-
cess Port’s Test Mode Select.
Test Reset (TRST_L). This is the Test Access
Port’s Test Reset.
CLOCKS
The M7020R receives the CLK2X and PHS_L sig-
nals. It uses the PHS_L signal to divide CLK2X
and generate an internal clock (CLK), as shown in
Figure 9. The M7020R uses CLK2X and CLK for
internal operations.
Figure 9. Clocks (CLK2X and PHS_L)
CLK2X
PHS_L
(1)
CLK
AI04750
Note: Any reference to “CLK Cycles” means 1 cycle of the signal, “CLK.”
1. “CLK” is an internal signal.
20/150
M7020R
REGISTERS
All registers in the M7020R are 68 bits wide. The
M7020R contains 8 pairs of comparand storage
registers, 16 pairs of global mask registers
(GMRs), eight search successful index registers
and one each of CMD, information, burst READ,
burst WRITE, and next-free address registers. Ta-
ble 8 provides an overview of all the M7020R reg-
isters. The registers are ordered in ascending
address order. Each register group is then de-
scribed in the following subsections.
Table 8. Register Overview
Address
Abbreviation
Type
Name
16 Comparand Registers. Stores comparands from the DQ Bus for
learning later.
0–31
COMP0–31
R
32–47
48–55
56
MASKS
SSR0–7
COMMAND
INFO
RW
R
8 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.
60
Next Free Address Register.
Reserved
61–63
–
–
21/150
M7020R
Comparand Registers
Figure 10. Comparand Register Selection
During SEARCH and LEARN
Instructions
The device contains 32 68-bit comparand regis-
ters (16 pairs) dynamically selected in every
SEARCH operation to store the comparand pre-
sented on the DQ Bus. The LEARN command will
later use these registers when executed. The
M7020R stores the SEARCH command’s Cycle A
comparand in the even-numbered register and the
Cycle B comparand in the odd-numbered register,
as shown in Figure 10.
68
68
Address
Index
135
0
0
1
0
1
2
4
3
5
Mask Registers
The device contains 16 68-bit global mask regis-
ters (8 pairs) dynamically selected in every
SEARCH operation to select the search subfield.
The addressing of these registers is explained in
Figure 11. The three-bit GMR Index supplied on
the CMD bus can apply 8 pairs of global masks
during the SEARCH and WRITE operations, as
shown in Figure 11.
6
7
Note: In 68-bit SEARCH and WRITE operations,
the host ASIC must program both the even and
odd mask registers with the same values.
15
30
31
Each mask bit in the GMRs is used during
SEARCH and WRITE operations. In SEARCH op-
erations, setting the mask bit to '1' enables com-
pares; setting the mask bit to '0' disables
compares (forced match) at the corresponding 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.
AI04275
Figure 11. Addressing the Global Masks
Register Array
68
68
Address
Index
135
0
0
0
2
4
6
8
1
3
5
7
9
1
2
3
4
11
10
5
6
7
13
15
12
14
SEARCH and WRITE Command
Global Mask Selection
AI04276
22/150
M7020R
SEARCH-Successful Registers (SSR[0:7])
The device contains eight search successful reg-
isters (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 B of the SEARCH Instruction. Subsequently,
the host ASIC can use this register to access that
data array, mask array, or external SRAM using
the index as part of the indirect access address
(see Table 19, page 32 and Table 22, page 35).
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 only when a search is
successful. If a hit occurs in a 136-bit entry-size quadrant, the LSB is
’0.’ If a hit occurs in a 272-bit entry size quadrant, the two LSBs are
’00.’ This index updates if the device is either a local or global winner
in a SEARCH operation.
INDEX
[14:0]
X
–
VALID
–
[30:15]
[31]
0
0
0
Reserved.
Valid. During SEARCH operation in a depth-cascaded configuration,
the device that is a global winner in a match sets this bit to '1.' This bit
updates only when the device is a global winner in a SEARCH
operation.
[67:32]
Reserved.
23/150
M7020R
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’ the reset cycle
has completed.
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 3-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 are no bus contentions when the devices
power up in the system.
DEVE
TLSZ
[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.
[3:2]
01
Latency in #
of CLK Cycles
00: 1 device
4
5
6
TLSZ
[3:2]
01
01: 2-8 devices
10: 9-31 devices
11: Reserved
Latency of Hit Signals. This field adds latency to the SSF and SSV
signals during SEARCH, and ACK signal during SRAM READ access
by the following number of CLK cycles.
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
on the SRAM bus in the depth-cascaded table and is the default driver
for the SSF and SSV signals.
In the event of a SEARCH failure, the device with this bit set drives the
hit signals as follows:
SSF = 0, SSV = 1
LDEV
[7]
0
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 this 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 M7020R device in a depth-cascaded table drives
these signals, this device drives the signals as follows:
SADR = 3FFFFF,
LRAM
[8]
0
CE_L = 1
WE_L = 1
ALE_L = 1
OE_L is always driven by the device for which this bit is set.
24/150
M7020R
Field
Range
Initial Value
Description
Database Configuration. The device is internally divided into four
quadrants of 8K x 68, each of which can be configured as 8K x 68, 4K
x 136, or 2K x 272 as follows:
00: 8K x 68
01: 4K x 136
10: 2K x 272
0000
0000
11: Reserved
CFG
[16:9]
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.
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.
(1)
Revision
[3:0]
0001
Implementation
Reserved
[6:4]
[7]
001
0
This is the M7020R implementation number.
Reserved.
Device ID
[11:8]
[12]
0001 or 0010
This is the Device Identification Number.
Reserved
Device ID
Device ID
[15:13]
00000100
This is the Device Identification Number.
Manufacturer ID. This field is the same as the
MFID
[31:16]
1101_1100_0111_1111 manufacturer ID and continuation bits in the TAP
controller.
[67:32]
Reserved.
Note: 1. This field may change in future versions.
25/150
M7020R
The Read Burst Address Register (RBURREG)
These READ burst address register fields must be
programmed before burst READ (see Table 12).
set to ’0’). Every WRITE/LEARN command loads
the address of first 68-bit location that contains a
'0' in the entry’s bit[0]. This is stored in the NFA
register (see Table 14). If all the bits in a device are
set to '1,' the M7020R asserts FULO[1:0] to '1.'
In 136-bit-configured quadrants, the LSB of this
register is always set to '0.' The host ASIC must
set bit '0' and Bit 68in a 136-bit word to either '0' or
'1' to indicate full/empty status.
The Write Burst Address Register (WBURREG)
These WRITE burst address register fields must
be programmed before burst WRITE (see Table
13).
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 quadrants, the bit[0] indicates
whether a location is full (bit set to ’1’) or empty (bit
Note: Both bits (0 and 68) must be set to '0' or '1'
(e.g., '10' or '01' settings are invalid).
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.
ADR
[14:0]
0
[18:15]
[27:19]
[67:28]
Reserved.
Length of Burst Access. The device is capable of writing 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. Once the
operation is complete, the contents of this field must be reinitialized for
the next operation.
ADR
[14:0]
0
[18:15]
[27:19]
[67:28]
Reserved.
Length of Burst Access. The device is capable of writing 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 14. NFA Register
Address
67 - 15
14 - 0
Index
60
Reserved
26/150
M7020R
SEARCH ENGINE ARCHITECTURE
The M7020R consists of 32K x 68-bit storage cells
referred to as data bits. There is a mask cell corre-
sponding to each data cell. Figure 12 shows the
three organizations of the device based on the val-
ue of the 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 man-
ner to generate a match at that bit position (see
Table 15, page 28).
272-bit positions must generate a match for 4 con-
secutive entries aligned to 4 entry-page bound-
aries 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 case of a SEARCH failure,
the devices with the LDEV and LRAM bits set
drive(s) the SRAM Bus, SSF, and SSV signals.
The M7020R device can be configured to contain
tables of different widths, even within the same
chip. Figure 13, page 28 shows a sample configu-
ration of different widths.
Data and Mask Addressing
Figure 14, page 28 shows the M7020R data array
and mask array addressing procedure.
The entry with all matched bit positions results in a
successful search during a SEARCH operation.
In order for a successful search within a device to
make the device the local winner in the SEARCH
operation, all 68-bit positions must generate a
match for a 68-bit entry in 68-bit-configured quad-
rants, or all 136-bit positions must generate a
match for two consecutive even and odd 68-bit en-
tries in quadrants configured as 136 bits, or all
Figure 12. M7020R Database Width Configuration
68
136
272
Masks
8 K
16 K
32 K
Data
Masks
CFG = 10101010
Data
CFG = 01010101
CFG = 00000000
AI04279
27/150
M7020R
Table 15. Bit Position Match
Figure 13. Multi-width Configuration Example
G
0
1
1
1
1
1
M
X
0
1
1
1
1
D
X
X
0
1
0
1
S
X
X
0
0
1
1
Match
1
1
1
0
0
1
68
8 K
68
8 K
136
4 K
2 K
272
CFG = 10010000
AI04280
Figure 14. M7020R 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
8K
32764
32765
32766
32767
32 K
16K
CFG = 10101010
(272-bit configuration)
32767
CFG = 00000000
(68-bit Configuration)
32766
32767
CFG = 01010101
(136-bit Configuration)
AI04281
28/150
M7020R
COMMAND CODES AND PARAMETERS
A master device, such as an ASIC controller, is-
sues commands to the M7020R using the Com-
mand Valid CMDV signal and the CMD Bus. The
following subsections describe the functions of the
commands.
cles. These two CLK2X cycles are designated as
“Cycle A” and “Cycle B.” The controller ASIC must
align the instructions with the PHS_L signal. The
CMD[8:2] field passes the parameters of the com-
mand in Cycles A and B.
Command Codes
Commands and Command Parameters
The M7020R 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, page 29 lists the CMD bus fields that
contain the M7020R command parameters as well
as their respective 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]
X
0
0
0
0
0
READ
0 = Single
1 = Burst
B
A
B
0
SADR[21]
0
0
SADR[20]
0
0
X
0
0
0
0
0
0
0
0
1
1
Global Mask
0 = Single
1 = Burst
Register Index [2:0]
WRITE
Global Mask
0 = Single
1 = Burst
Register Index [2:0]
68-bit or 136-bit: 0
272-bit:
1 in 1st Cycle
Global Mask
Register Index [2:0]
A
SADR[21]
SADR[20]
SADR[19]
1
0
SEARCH
0 in 2nd Cycle
B
A
Successful Search Register Index[2:0]
Comparand Register Index
1
1
0
1
SADR[21]
SADR[20]
X
Comparand Register Index
(1)
Mode
0: 68-bit
1: 136-bit
LEARN
B
0
0
Comparand Register Index
1
1
Note: 1. The 272-bit-configured devices or 272-bit-configured quadrants within devices do not support the LEARN Instruction.
29/150
M7020R
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)
or mask array locations using an internal auto-in-
crementing address register (RBURADR). Table
18, page 32 describes each type of READ com-
mand.
and describes the format of the READ address for
a data array, mask array, or SRAM.
In a burst READ operation, the READ lasts 4 + 2n
CLK-cycles (where “n” stands for the number of
accesses in the burst specified by the BLEN field
of the RBURREG). Table 20, page 33 describes
the READ address format for the internal registers.
Figure 16, page 31 illustrates the timing diagram
for the burst READ of the data or mask array. This
operation assumes that the host ASIC has pro-
grammed the RBURREG with the starting address
(ADR) and the length of transfer (BLEN) before ini-
tiating the burst READ command.
A single-location READ operation lasts six cycles,
as shown in Figure 15, page 31. The burst READ
adds two cycles for each successive READ. The
SADR[21:20] bits supplied in the READ Instruction
Cycle A drive SADR[21:20] signals during the
READ of an SRAM location.
The single READ operation takes six CLK cycles,
in the following sequence:
– Cycle 1: The host ASIC applies the READ 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 33. The host
ASIC selects the M7020R for which ID[4:0]
matches the DQ[25:21] lines. If the DQ[25:21] =
11111, the host ASIC selects the M7020R with
the LDEV Bit set.
– Cycle 2: The host ASIC floats DQ[67:0] to the 3-
state condition.
– Cycle 3: The host ASIC keeps DQ[67:0] in the
– 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 32 and Table
20, page 33. The host ASIC selects the M7020R
for which ID[4:0] matches the DQ[25:21] lines. If
the DQ[25:21] = 11111, the host ASIC selects
the M7020R with the LDEV Bit set. The host
ASIC also supplies SADR[21:20] on CMD[8:7]
in Cycle A of the READ Instruction if the READ
is directed to the external SRAM.
3-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 2: The host ASIC floats DQ[67:0] to 3-
state condition.
– Cycle 3: The host ASIC keeps DQ[67:0] in 3-
– 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.
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.
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 M7020R
drives the EOT signal high.
– Cycle 6: The selected device floats DQ[67:0] to
– Cycle (4 + 2n): The selected device drives the
DQ[67:0] to 3-state condition and drives the
ACK and the EOT signals low.
At the termination of Cycle 4 + 2n, the selected 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 33 for burst
READ address formats).
3-state condition and drives the ACK signal low.
At the termination of Cycle 6, the selected device
releases the ACK line to 3-state condition. The
READ Instruction is complete, and a new opera-
tion can begin.
Note: The latency of the SRAM READ will be dif-
ferent than the one described above (see SRAM
PIO Access, page 126). Table 19, page 32 lists
30/150
M7020R
Figure 15. 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
Data
DQ
Address
FF
ACK
AI04672
Figure 16. Burst READ of the Data and Mask Arrays (BLEN = 4)
Cycle 1
Cycle 3
Cycle 5
Cycle 4
Cycle 7
Cycle 6
Cycle 9
Cycle 8 Cycle 10
Cycle 11
Cycle 12
Cycle 2
CLK2X
PHS_L
CMDV
Read
CMD[1:0]
CMD[8:2]
DQ
A
B
Address
Data2
Data3
Data0 FF Data1 FF
FF
FF
ACK
EOT
AI04283
31/150
M7020R
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:15]
[14:0]
If DQ[29] is ’0,’ this field carries
address of data array location.
If DQ[29] is ’1,’ the successful
search register ID (SSRI)
specified on DQ[28:26] supplies
the address of the data array
location:
SuccessfulSEARCH
Register Index
1: Indirect (Applicable if DQ[29]
is indirect)
0: Direct
00: Data
Array
Reserved
Reserved
Reserved
ID
ID
ID
Reserved
{SSR[14: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 ID (SSRI)
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
{SSR[14:2], SSR[1] | DQ[1],
(1)
SSR[0] | DQ[0]}
If DQ[29] is ’0,’ this field carries
address of SRAM location.
If DQ[29] is ’1,’ the successful
search register ID (SSRI)
specified on DQ[28:26] supplies
the address of the SRAM
location:
SuccessfulSEARCH
10:
External
SRAM
0: Direct
Register Index
1: Indirect (Applicable if DQ[29]
is indirect)
Reserved
{SSR[14:2], SSR[1] | DQ[1],
(1)
SSR[0] | DQ[0]}
Note: 1. “|” stands for Logical OR operation. “{ }” stands for concatenation operator.
32/150
M7020R
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
Table 21. READ Address Format for Data and Mask Arrays
DQ[67:26]
DQ[25:21]
DQ[20:19]
DQ[18:15]
DQ[14:0]
Do not care. These 15 bits come from the internal
register (RBURADR) which increments for each
access.
Reserved
ID
00: Data Array
Reserved
Do not care. These 16 bits come from the internal
register (RBURADR) which increments for each
access.
01: Mask
Array
Reserved
ID
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 be a burst WRITE
(CMD[2] = 1) using an internal auto-incrementing
address register (WBURADR) of the data array or
mask array locations. A single-location WRITE is a
three-cycle operation, shown in Figure 17, page
34. The burst WRITE adds one extra cycle for
each successive WRITE.
– Cycle 3: Idle cycle. At the termination of this cy-
cle, another operation can begin.
Note: The latency of the SRAM WRITE will be
different than the one described above (see
SRAM PIO Access, page 126).
The burst WRITE operation lasts for n + 2 CLK cy-
cles (where n signifies the number of accesses in
the burst as specified in the BLEN field of the
WBURREG register, please see Figure 18, page
35).
The WRITE operation sequence is as follows:
– Cycle 1A: The host ASIC applies the WRITE In-
struction on the CMD[1:0] (CMD[2] = 0), using
CMDV=1 and the address supplied on the DQ
Bus, as shown in Table 22, page 35. The host
ASIC also supplies the index to the global mask
register to mask the write to the data array or
mask array location in CMD[5:3]. For SRAM
WRITEs, the host ASIC must supply the
SADR[21:20] on CMD[8:6]. The host ASIC sets
CMD[9] to '0' for the normal WRITE.
This operation assumes that the host ASIC has
programmed the WBURREG with the starting ad-
dress (ADR) and the length of transfer (BLEN) be-
fore initiating the burst write command (see Table
24, page 36 for format). The sequence is as fol-
lows:
– 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 24, page 36. The host
ASIC also supplies the index to the global mask
register to mask the write to the data or mask ar-
ray locations in CMD[5:3].
– Cycle 1B: The host ASIC continues to apply the
WRITE
Instruction
to
the
CMD[1:0]
(CMD[2] = 0), using CMDV = 1 and the address
supplied on the DQ Bus. The host ASIC contin-
ues to supply the global mask register index to
mask the WRITE to the data or mask array loca-
tions in CMD[5:3]. The host ASIC selects the
device where ID[4:0] matches the DQ[25:21]
lines, or it selects all the devices when
DQ[25:21] = 11111.
– Cycle 1B: The host ASIC continues to apply the
WRITE
Instruction
on
the
CMD[1:0]
(CMD[2] = 0), using CMDV = 1 and the address
supplied on the DQ Bus. The host ASIC contin-
ues to supply the global mask register index to
mask the WRITE to the data or mask array loca-
tions in CMD[5:3]. The host ASIC selects the
device where ID[4:0] matches the DQ[25:21]
lines, or it selects all the devices when
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.
33/150
M7020R
– 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
M7020R writes the data from the DQ[67:0] Bus
only to the subfield that has the corresponding
mask bit set to '1' in the global mask register
specified by the index CMD[5:3] and supplied in
Cycle 1.
The M7020R 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 M7020R drives the EOT signal low
from Cycle 3 to Cycle n; the M7020R drives the
EOT signal high in Cycle n + 1 (n is specified in
the BLEN field of the WBURREG).
– Cycles 3 to n + 1: The host ASIC drives the
DQ[67:0] with the data to be written to the next
data array or mask array location (addressed by
the auto-increment ADR field of the WBURREG
register) of the selected device.
– Cycle n + 2: The M7020R drives the EOT signal
low. At the termination of the Cycle n + 2, the
M7020R floats the EOT signal to a 3-state, and
a new instruction can begin.
Figure 17. 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
Data
X
Address
AI04284
34/150
M7020R
Figure 18. 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
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:15]
[14:0]
If DQ[29] is ’0,’ this field carries the
address of the data array location.
If DQ[29] is ’1,’ the successful
search register specified by
DQ[28:26] supplies the address of
the data array location:
Successful
SEARCH
Register
Index
(Applicable
if DQ[29] is
indirect)
0: Direct
1: Indirect
00: Data
Array
Reserved
Reserved
Reserved
ID
ID
ID
Reserved
Reserved
Reserved
{SSR[14:2], SSR[1] | DQ[1], SSR[0]
(1)
| DQ[0]}
If DQ[29] is ’0,’ this field carries
address of the mask array location.
If DQ[29] is ’1,’ the successful
search register specified by
DQ[28:26] supplies the address of
the mask array location:
Successful
SEARCH
Register
Index
(Applicable
if DQ[29] is
indirect)
0: Direct
1: Indirect
01: Mask
Array
{SSR[14:2], SSR[1] | DQ[1], SSR[0]
(1)
| DQ[0]}
If DQ[29] is ’0,’ this field carries
address of the data SRAM location.
If DQ[29] is ’1,’ the successful
search register specified by
DQ[28:26] supplies the address of
the SRAM location:
Successful
SEARCH
Register
Index
(Applicable
if DQ[29] is
indirect)
10:
External
SRAM
0: Direct
1: Indirect
{SSR[14:2], SSR[1] | DQ[1], SSR[0]
(1)
| DQ[0]}
Note: 1. “|” stands for Logical OR operation. “{ }” stands for concatenation operator.
35/150
M7020R
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:15]
[14:0]
Don’t care. These 15 bits come from the internal
register (WBURADR), which increments with each
access.
Reserved
ID
00: Data array
Reserved
Don’t care. These 15 bits come from the internal
register (WBURADR), which increments with each
access.
01: Mask
array
Reserved
ID
Reserved
SEARCH COMMAND
The M7020R (Silicon) Search Engine can be con-
figured in ten ways:
tion 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 following is the sequence of operations for a
single 68-bit SEARCH command.
– 68-bit SEARCH on tables configured as x68
using one device
– 68-bit SEARCH on tables configured as x68
using up to 8 devices
– Cycle A: The host ASIC drives CMDV high and
applies the SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] must be driven with
the index to the global mask register pair for use
in the SEARCH operation. CMD[8:7] signals
must be driven with the same bits that will be
driven on SADR[21:20] by this device if it has a
hit. DQ[67:0] must be driven with the 68-bit data
to be compared. The CMD[2] signal must be
driven to Logic '0.'
– Cycle B: The host ASIC continues to drive
CMDV high and applies the SEARCH command
('10') on CMD[1:0]. CMD[5:2] must be driven by
the index of the comparand register pair for stor-
ing 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 en-
try and the Hit Flag (see SEARCH-Successful
Registers (SSR[0:7]), page 23). The DQ[67:0]
continues to carry the 68-bit data to be com-
pared.
– 68-bit SEARCH on tables configured as x68
using up to 31 devices
– 136-bit SEARCH on tables configured as
x136 using one device
– 136-bit SEARCH on tables configured as
x136 using up to 8 devices
– 136-bit SEARCH on tables configured as
x136 using up to 31 devices
– 272-bit SEARCH on tables configured as
x272 using one devices
– 272-bit SEARCH on tables configured as
x272 using up to 8 devices
– 272-bit SEARCH on tables configured as
x272 using up to 31 devices
– Mixed-sizes on tables configured with differ-
ent widths using an M7020R
Note: In the 68-bit configuration, the host ASIC
must supply the same data on DQ[67:0] during
both Cycles A and B. The even and odd pair of
GMRs selected for the comparison must be pro-
grammed with the same value.
68-bit Configuration with Single Device
The hardware diagram of the search subsystem of
a single device is shown in Figure 19. Figure 20,
page 38 shows the timing diagram for a SEARCH
operation in the 68-bit configuration (CFG =
00000000) for one set of parameters. This illustra-
36/150
M7020R
The logical 68-bit SEARCH operation is shown in
Figure 21, page 39. The entire table consisting of
68-bit entries is compared to a 68-bit word K (pre-
sented 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 speci-
fied by the identical value in both even and odd
GMR pairs selected by the GMR Index in the com-
mand’s Cycle A. The 68-bit word K (presented on
the DQ Bus in both Cycles A and B of the com-
mand) is also stored in both even and odd com-
parand register pairs selected by the Comparand
Register Index in the command’s Cycle B. In a x68
configuration, only the even comparand register
can be subsequently used by the LEARN com-
mand. The word K (presented on the DQ Bus in
both Cycles A and B of the command) is compared
with each entry in the table starting at location “0.”
The first matching entry’s location address, “L,” is
the winning address that is driven as part of the
SRAM address on the SADR[21:0] lines (see
SRAM ADDRESSING, page 126).
The SEARCH command is a pipelined operation
and executes a SEARCH at half the rate of the 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 the 68-bit
SEARCH command cycle (two CLK2X cycles) is
shown in Table 25, page 39.
The latency of a SEARCH from command to
SRAM access cycle is 4 for a single device in the
table and TLSZ = 00. In addition, SSV and SSF
shift further to the right for different values of
HLAT, as specified in Table 26, page 39.
Figure 19. Hardware Diagram for a Table with One Device
BHI[2:0]
BHI[2:0]
6
5
4
3
LHI
2
1
0
DQ[67:0]
SRAM
M7020R
CMDV, CMD[8:0]
SSF, SSV
LHO[1]
LHO[0]
AI05664
37/150
M7020R
Figure 20. Timing Diagram for a 68-bit Configuration SEARCH for One 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
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
B
B
A
A
B
B
D3
D1
D2
D4
SADR[23:0]
CE_L
A1
A3
0
1
1
1
1
0
0
1
1
ALE_L
WE_L
0
1
0
1
0
1
0
1
0
1
0
OE_L
SSV
SSF
0
0
1
0
0
0
1
1
Search1
Hit
Search3
Hit
Search4
Miss
Search2
Miss
CFG = 00000000, HLAT = 000, TLSZ = 00, LRAM = 1, LDEV = 1
AI04286
38/150
M7020R
Figure 21. x68 Table with One Device
0
67
Comparand Register (even)
GMR
K
0
67
Location
address
0
1
2
3
0
67
Comparand Register (even)
K
Comparand Register (odd)
K
L
(First matching entry)
32767
CFG = 00000000
(68-bit Configuration)
AI05665
Table 25. Latency of SEARCH from Instruction to SRAM Access Cycle, 68-bit, 1 Device
# of devices
1 (TLSZ = 00)
Max Table Size
32K x 68-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
256K x 68-bit
992K x 68-bit
Table 26. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
39/150
M7020R
68-bit SEARCH on Tables Configured as x68 Using up to Eight M7020R Devices
The hardware diagram of the search subsystem of
eight devices is shown in Figure 22, page 41. The
following are the parameters programmed into the
eight devices:
Registers (SSR[0:7]), page 23). The DQ[67:0]
continues to carry the 68-bit data to be com-
pared.
Note: For 68-bit searches, the host ASIC must
supply the same data on DQ[67:0] during both
Cycles A and B. The even and odd pair of
GMRs selected for the comparison must be pro-
grammed with the same value.
– First seven devices (device 0–6):
CFG = 00000000, TLSZ = 01, HLAT = 010,
LRAM = 0, and LDEV = 0.
– Eighth device (device 7):
The logical 68-bit SEARCH operation is shown in
Figure 23, page 42. The entire table with eight de-
vices of 68-bit entries is compared to a 68-bit word
K (presented on the DQ Bus in both Cycles A and
B of the command) using the GMR and the local
mask bits. The effective GMR is the 68-bit word
specified by the identical value in both even and
odd GMR pairs in each of the eight devices and
selected by the GMR Index in the command’s Cy-
cle 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 command Cycle B) in each of the eight devices.
In the x68 configuration, only the even comparand
register can subsequently be used by the LEARN
command in one of the devices (only the first non-
full device). The word K (presented on the DQ Bus
in both Cycles A and B of the command) is com-
pared with each entry in the table starting at loca-
tion “0.” The first matching entry’s location
address, “L,” is the winning address that is driven
as part of the SRAM address on the SADR[21:0]
lines (see SRAM ADDRESSING, page 126). The
global winning device will drive the bus in a specif-
ic cycle. On a global miss cycle the device with
LRAM = 1 (default driving device for the SRAM
Bus) and LDEV = 1 (default driving device for SSF
and SSV signals) will be the default driver for such
missed cycles.
The SEARCH command is a pipelined operation
and executes a search at half the rate of the fre-
quency of CLK2X for 72-bit searches in x68-con-
figured tables. The latency of SADR, CE_L,
ALE_L, WE_L, SSV, and SSF from the 68-bit
SEARCH command cycle (two CLK2X cycles) is
shown in Table 28, page 46
The latency of the search from command to SRAM
access cycle is 5 for up to eight devices in the table
(TLSZ = 01). SSV and SSF also shift further to the
right for different values of HLAT, as specified in
Table 29, page 46.
CFG = 00000000, TLSZ = 01, HLAT = 010,
LRAM = 1, and LDEV = 1.
Note: All eight devices must be programmed with
the same values for TLSZ and HLAT. Only the last
device in the table (Device 7 in this case) must be
programmed with LRAM = 1 and LDEV = 1. All
other upstream devices (Devices 0 through 6 in
this case) must be programmed with LRAM = 0
and LDEV = 0.
Figure 24, page 43 shows the timing diagram for a
SEARCH command in the 68-bit-configured table
of eight devices for Device 0. Figure 25, page 44
shows the timing diagram for a SEARCH com-
mand in the 68-bit-configured table of eight devic-
es for Device 1. Figure 26, page 45 shows the
timing diagram for a SEARCH command in the
68-bit-configured table of eight devices for Device
7 (the last device in this specific table). For these
timing diagrams four 68-bit searches are per-
formed sequentially. HIT/MISS assumptions were
made as shown below in Table 27.
The sequence of operation for a 68-bit SEARCH
command is as follows:]
– Cycle A: The host ASIC drives CMDV high and
applies the SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] must be driven with
the index to the global mask register pair for use
in the SEARCH operation. CMD[8:7] signals
must be driven with the same bits that will be
driven on SADR[23:21] by this device if it has a
hit. DQ[67:0] must be driven with the 68-bit data
to be compared. The CMD[2] signal must be
driven to Logic '0.'
– Cycle B: The host ASIC continues to drive
CMDV high and applies the SEARCH command
('10') on CMD[1:0]. CMD[5:2] must be driven by
the index of the comparand register pair for stor-
ing 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 en-
try and the Hit Flag (see SEARCH-Successful
40/150
M7020R
Table 27. Hit/Miss Assumption
Search Number
Device 0
1
2
3
Hit
4
Hit
Miss
Hit
Miss
Miss
Miss
Hit
Device 1
Miss
Miss
Miss
Hit
Device 2-6
Device 7
Miss
Miss
Miss
Hit
Figure 22. Hardware Diagram for a Table with Eight Devices
SRAM
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
SSF, SSV
DQ[67:0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
CMDV
CMD[8:0]
6
6
6
5
5
5
4
4
4
3
LHI
2
1
M7020R #2
M7020R #3
M7020R #4
M7020R #5
M7020R #6
M7020R #7
LHO[1]
LHO[0]
3
2
1
LHI
LHO[1]
LHO[0]
3
LHI
2
1
0
LHO[0]
3
2
1
1
0
0
6
5
LHI
LHO[0]
4
4
LHI
3
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]
AI05666
41/150
M7020R
Figure 23. x68 Table with Eight Devices
0
0
67
67
Must be the same in each
of the eight devices
GMR
K
Location
address
0
1
2
3
0
67
Comparand Register (even)
K
Comparand Register (odd)
K
L
(First matching entry)
262148
Will be the same in each
of the eight devices
CFG = 00000000
(68-bit Configuration)
AI05667
42/150
M7020R
Timing Diagrams for x68 Using up to Eight M7020R Devices
Figure 24. 68-bit SEARCH For Device 0
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 7 Cycle 9
Cycle 10
CLK2X
PHS_L
CMDV
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
B
B
A
A
B
B
D3
D1
D2
D4
0
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
z
z
z
A3
SADR[21:0]
CE_L
A1
z
z
z
z
0
0
0
0
ALE_L
WE_L
OE_L
z
z
z
z
1
1
z
z
z
z
z
z
SSV
SSF
1
1
1
1
Search1
(This device
is the global
winner.)
CFG = 00000000,
HLAT = 010, TLSZ = 01,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(This device
is the global
winner.)
Search4
(Miss on this
device.)
AI05668
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
43/150
M7020R
Figure 25. 68-bit SEARCH For Device 1
Cycle 2
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 7 Cycle 9
Cycle 10
Cycle 1
CLK2X
PHS_L
CMDV
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
B
B
A
A
B
B
D3
D1
D2
D4
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
z
SADR[21:0]
CE_L
A2
z
z
0
0
ALE_L
z
z
z
WE_L
OE_L
1
z
z
z
z
1
1
SSV
SSF
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 010, TLSZ = 01,
LRAM = 0, LDEV = 0
Search2
(This device
is global
winner.)
Search3
(Local winner
but not global
winner.)
Search4
(Miss on this
device.)
AI05669
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
44/150
M7020R
Figure 26. 68-bit SEARCH For Device 7 (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
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
B
B
A
A
B
B
D3
D1
D2
D4
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
SADR[21:0]
A2
0
0
CE_L
0
0
ALE_L
z
z
WE_L
OE_L
1
0
1
1
0
0
0
0
z
z
SSV
SSF
1
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 010, TLSZ = 01,
LRAM = 1, LDEV = 1
Search2
(Miss on
this device.)
Search3
(Local winner
but not global
winner.)
Search4
(Global
winner.)
AI05670
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
45/150
M7020R
Table 28. Latency of SEARCH from Instruction to SRAM Access Cycle, 68-bit, Up to 8 Devices
# of devices
1 (TLSZ = 00)
Max Table Size
32K x 68-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
256K x 68-bit
992K x 68-bit
Table 29. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
68-bit SEARCH on Tables Configured as x68 Using Up To 31 M7020R Devices
The hardware diagram of the search subsystem of
31 devices is shown in Figure 27, page 48. Each
of the four blocks in the diagram represents eight
M7020R devices (except the last, which has seven
devices). The diagram for a block of eight devices
is shown in Figure 28, page 49. The following are
the parameters programmed into the 31 devices:
one device with a matching entry in each of the
blocks. Figure 30, page 51 shows the timing dia-
gram for a SEARCH command in the 68-bit-con-
figured table of 31 devices for each of the eight
devices in Block Number 0. Figure 31, page 52
shows a timing diagram for a SEARCH command
in the 68-bit-configured table of 31 devices for the
all the devices in Block Number 1 (above the win-
ning device in that block). Figure 32, page 53
shows the timing diagram for the globally winning
device (defined as the final winner within its own
and all blocks) in Block Number 1. Figure 33, page
54 shows the timing diagram for all the devices be-
low the globally winning device in Block Number 1.
Figure 34, page 55, Figure 35, page 56, and Fig-
ure 36, page 57 show the timing diagrams of the
devices above the globally winning device, the glo-
bally winning device, and the devices below the
globally winning device, respectively, for Block
Number 2. Figure 37, page 58, Figure 38, page 59,
Figure 39, page 60, and Figure 40, page 61 show
the timing diagrams of the devices above globally
winning device, the globally winning device, and
the devices below the globally winning device ex-
cept the last device (Device 30), respectively, for
Block Number 3.
– First thirty devices (devices 0–29):
CFG = 00000000, TLSZ = 10, HLAT = 001,
LRAM = 0, and LDEV = 0.
– Thirty-first device (device 30):
CFG = 00000000, TLSZ = 10, HLAT = 001,
LRAM = 1, and LDEV = 1.
Note: All 31 devices must be programmed with the
same values for TLSZ and HLAT. Only the last de-
vice in the table must be programmed with
LRAM = 1 and LDEV = 1 (Device 30 in this case).
All other upstream devices must be programmed
with LRAM = 0 and LDEV = 0 (Devices 0 through
29 in this case).
The timing diagrams referred to in this paragraph
reference the HIT/MISS assumptions defined in
Table 30, page 47. For the purpose of illustrating
the timings, it is further assumed that there is only
46/150
M7020R
The following is the sequence of operation for a
single 68-bit SEARCH command (also refer to
Command Codes, page 29).
cle B. In the x68 configuration, the even com-
parand register can be subsequently used by the
LEARN command only in the first non-full device.
The word K (presented on the DQ Bus in both Cy-
cles A and B of the command) is compared with
each entry in the table starting at location “0.” The
first matching entry’s location address, “L,” is the
winning address that is driven as part of the SRAM
address on the SADR[21:0] lines (see SRAM AD-
DRESSING, page 126). The global winning device
will drive the bus in a specific cycle. On global miss
cycles the device with LRAM = 1 and LDEV = 1 will
be the default driver for such missed cycles.
– Cycle A: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
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:7] signals must
be driven with the same bits that will be driven
on SADR[21:20] by this device if it has a hit.
DQ[67:0] must be driven with the 68-bit data to
be compared. The CMD[2] signal must be driv-
en to a logic '0.'
The SEARCH command is a pipelined operation
and executes a search at half the rate of the 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 the 68-bit
SEARCH command cycle (two CLK2X cycles) is
shown in Table 31, page 62.
For up to 31 devices in the table (TLSZ = 10),
search latency from command to SRAM access
cycle is 6. In addition, SSV and SSF shift further to
the right for different values of HLAT, as specified
in Table 32, page 62.
– Cycle B: The host ASIC continues to drive the
CMDV high and applies SEARCH command
('10') on CMD[1:0]. CMD[5:2] must be driven by
the index of the comparand register pair for stor-
ing 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 en-
try and the Hit Flag (see SEARCH-Successful
Registers (SSR[0:7]), page 23). The DQ[67:0]
continues to carry the 68-bit data to be com-
pared.
Note: For 68-bit searches, the host ASIC must
supply the same 68-bit data on DQ[67:0] during
both Cycles A and B. The even and odd pair of
GMRs selected for the comparison must be pro-
grammed with the same value.
The 68-bit SEARCH operation is pipelined and ex-
ecutes as follows:
– Four cycles from the SEARCH command, each
of the devices knows the outcome internal to it
for that operation;
The logical 68-bit SEARCH operation is shown in
Figure 29, page 50. The entire table (31 devices of
68-bit entries) is compared to a 68-bit word K (pre-
sented 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 speci-
fied by the identical value in both even and odd
GMR pairs in each of the eight devices and select-
ed by the GMR Index in the command’s Cycle A.
The 68-bit word K (presented on the DQ Bus in
both Cycles A and B of the command) is also
stored in both even and odd comparand register
pairs in each of the eight devices and selected by
the Comparand Register Index in command’s Cy-
– In the fifth cycle after the SEARCH command,
the devices in a block arbitrate for a winner
amongst them (a “block” being defined as less
than or equal to eight devices resolving the win-
ner within them using the LHI[6:0] and LHO[1:0]
signalling mechanism);
– In the sixth cycle after the SEARCH command,
the blocks (of devices) resolve the winning block
through the BHI[2:0] and BHO[2:0] signalling
mechanism. The winning device within the win-
ning block is the global winning device for a
SEARCH operation.
Table 30. Hit/Miss Assumption
Search Number
Block 0
1
2
3
4
Miss
Miss
Miss
Hit
Miss
Miss
Hit
Miss
Hit
Miss
Miss
Miss
Miss
Block 1
Block 2
Hit
Block 3
Hit
Miss
47/150
M7020R
Figure 27. Hardware Diagram for a Table with 31 Devices
BHI[2]
BHI[1]
BHI[0]
GND
GND
GND
SRAM
SSF, SSV
Block of 8 M7020Rs, Block 0 (Devices 0-7)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 1 (Devices 8-15)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 2 (Devices 16-23)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
DQ[67:0]
Block of 7 M7020Rs, Block 3 (Devices 24-30)
BHO[2]
CMD[8:0], CMDV
BHO[1]
BHO[0]
AI05671
48/150
M7020R
Figure 28. Hardware Diagram for a Block of Up To Eight Devices
SRAM
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
DQ[67:0]
CMDV
CMD[8:0]
6
6
6
5
5
4
4
3
LHI
2
1
1
M7020R #2
M7020R #3
M7020R #4
M7020R #5
SSV, SSF
LHO[1]
LHO[0]
3
2
LHI
LHO[0]
LHO[1]
BHI[2:0]
BHI[2:0]
BHI[2:0]
5
4
3
LHI
2
1
0
LHO[0]
3
3
2
1
1
0
0
6
5
4
4
LHI
LHO[0]
LHI
2
LHI
6
5
LHI
M7020R #6LHO[0]
3
2
LHI
1
0
6
5
LHI
4
BHO[0]
BHO[1]
BHO[2]
BHI[2:0]
M7020R #7
BHO[0]
BHO[1]
BHO[2]
LHO[1] LHO[0]
AI05672
49/150
M7020R
Figure 29. x68 Table with 31 Devices
0
0
67
67
Must be the same for
each of the 31 devices
GMR
K
Location
address
0
1
2
3
0
67
Comparand Register (even)
K
Comparand Register (odd)
K
L
(First matching entry)
1015807
Will be the same in each
of the 31 devices
CFG = 00000000
(68-bit Configuration)
AI05673
50/150
M7020R
Timing Diagrams for x68 Using Up To 31 M7020R Devices
Figure 30. Each Device in Block Number 0 (Miss on Each 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
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
B
B
A
A
B
B
D3
D1
D2
D4
0
(1)
(LHI[6:0])
0
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
z
z
SADR[21:0]
CE_L
z
z
ALE_L
WE_L
OE_L
SSV
z
z
z
SSF
Search1
(Miss on this
device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
Search4
(Miss on this
device.)
AI05674
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
51/150
M7020R
Figure 31. Each Device Above the Winning Device in Block Number 1
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
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
B
B
A
A
B
B
D3
D1
D2
D4
0
(1)
(LHI[6:0])
0
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
z
z
SADR[21:0]
CE_L
z
z
ALE_L
WE_L
OE_L
SSV
z
z
z
SSF
Search1
(Miss on this
device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
Search4
(Miss on this
device.)
AI05674
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
52/150
M7020R
Figure 32. Globally Winning Device in Block Number 1
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]
CMD[8:2]
Search1
01
Search3
01
01
01
Search2
Search4
A
B A
B
A
B
A
B
D3
D1
D2
D4
DQ
(1)
0
(LHI[6:0])
(2)
(3)
LHO[1:0]
(BHI[2:0])
0
0
(4)
BHO[2:0]
0
z
z
z
z
SADR[21:0]
CE_L
A3
z
z
ALE_L
z
z
z
WE_L
OE_L
z
z
z
z
SSV
SSF
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(This device
global winner.)
Search4
(Miss on this
device.)
AI05675
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
53/150
M7020R
Figure 33. Devices Below the Winning Device in Block Number 1
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
Search2
Search4
CMD[8:2]
DQ
A
B A
B
A
B
A
B
D3
D1
D2
D4
(1)
(LHI[6:0])
0
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
0
z
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
ALE_L
WE_L
OE_L
z
z
SSV
SSF
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05676
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
54/150
M7020R
Figure 34. Devices Above the Winning Device in Block Number 2
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
Search2
Search4
CMD[8:2]
DQ
A
B A
B
A
B
A
B
D3
D1
D2
D4
(1)
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
0
(BHI[2:0])
(4)
0
z
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
ALE_L
WE_L
OE_L
z
z
SSV
SSF
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05677
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
55/150
M7020R
Figure 35. Globally Winning Device in Block Number 2
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]
CMD[8:2]
Search1
01
Search3
01
01
01
Search2
Search4
A
B A
B
A
B
A
B
D3
D1
D2
D4
DQ
(1)
0
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
BHO[2:0]
(4)
0
z
z
SADR[21:0]
CE_L
A2
z
z
z
z
0
0
ALE_L
WE_L
OE_L
z
z
z
1
SSV
SSF
z
z
z
z
1
1
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Global
winner.)
Search3
(Hit but not
a winner.)
Search4
(Miss on this
device.)
AI05678
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
56/150
M7020R
Figure 36. Devices Below the Winning Device in Block Number 2
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
Search2
Search4
CMD[8:2]
DQ
A
B A
B
A
B
A
B
D3
D1
D2
D4
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
(4)
BHO[2:0]
0
z
z
z
z
z
SADR[21:0]
CE_L
ALE_L
WE_L
OE_L
SSV
z
z
SSF
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05679
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
57/150
M7020R
Figure 37. Devices Above the Winning Device in Block Number 3
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
Search2
Search4
CMD[8:2]
DQ
A
B A
B
A
B
A
B
D3
D1
D2
D4
(1)
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
0
(BHI[2:0])
(4)
0
z
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
ALE_L
WE_L
OE_L
z
z
SSV
SSF
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05680
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
58/150
M7020R
Figure 38. Globally Winning Device in Block Number 3
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
Search2
Search4
CMD[8:2]
DQ
A
B A
B
A
B
A
B
D3
D1
D2
D4
(1)
0
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
0
z
z
SADR[21:0]
CE_L
A1
z
z
z
z
0
0
ALE_L
WE_L
OE_L
z
z
z
1
SSV
SSF
z
z
z
z
1
1
Search1
(Global
winner.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Hit but
not a global
winner.)
Search3
(Miss on this
device.)
Search4
(Miss on this
device.)
AI05681
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
59/150
M7020R
Figure 39. Devices Below the Winning Device in Block Number 3 (not Device 30 - Last Device)
Cycle 2
Cycle 4
Cycle 6
Cycle 8
Cycle 10
Cycle 1 Cycle 3
Cycle 5
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search3
01
CMD[1:0]
01
01
Search2
Search4
CMD[8:2]
DQ
A
B A
B
A
B
A
B
D3
D1
D2
D4
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
(4)
BHO[2:0]
0
z
z
z
z
z
SADR[21:0]
CE_L
ALE_L
WE_L
OE_L
SSV
z
z
SSF
Search1
(Miss on
this device.)
CFG = 00000000,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05682
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
60/150
M7020R
Figure 40. Device 6 in Block Number 3 (Device 30 in Depth-Cascaded Table)
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
Search2
Search4
CMD[8:2]
DQ
A
B A
B
A
B
A
B
D3
D1
D2
D4
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
0
0
(BHI[2:0])
(4)
BHO[2:0]
z
SADR[21:0]
CE_L
z
z
0
0
0
0
ALE_L
WE_L
z
1
1
0
OE_L
SSV
0
0
z
z
1
0
SSF
Search1
(Hit on
CFG = 00000000,
Search2
(Hit on
some device
above.)
some device
above.)
HLAT = 001, TLSZ = 10,
LRAM = 1, LDEV = 1
Search3
(Hit on
Search4
(Global miss;
this device
some device
above.)
default driver.)
AI05683
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
61/150
M7020R
Table 31. Latency of SEARCH from Instruction to SRAM Access Cycle, 68-bit, Up to 31 Devices
# of devices
1 (TLSZ = 00)
Max Table Size
32K x 68-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
256K x 68-bit
992K x 68-bit
Table 32. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
136-bit Configuration with Single Device
The hardware diagram for this search subsystem
is shown in Figure 41.
tions. The CMD[2] signal must be driven to logic
'0.'
Figure 42, page 64 shows the timing diagram for a
SEARCH command in the 136-bit-configured ta-
ble (CFG = 01010101) consisting of a single de-
vice for one set of parameters. This illustration
assumes that the host ASIC has programmed
TLSZ to ’00,’ HLAT to ’001,’ LRAM to ’1,’ and LDEV
to ’1.’
The following is the operation sequence for a sin-
gle 136-bit SEARCH command (refer to COM-
MAND CODES AND PARAMETERS, page 29).
– Cycle B: The host ASIC continues to drive the
CMDV high and applies the command code of
SEARCH command ('10') on CMD[1:0].
CMD[5:2] must be driven by the index of the
comparand register pair for storing the 136-bit
word presented on the DQ Bus during Cycles A
and B. CMD[8:6] signals must be driven with the
index of the SSR that will be used for storing the
address of the matching entry and Hit Flag (see
SEARCH-Successful Registers (SSR[0:7]),
page 23). The DQ[67:0] is driven with 68-bit
data ([67:0]), compared to all odd locations.
– Cycle A: The host ASIC drives the CMDV high
and applies 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:7] signals must
be driven with the same bits that will be driven
on SADR[21:20] 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-
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.
62/150
M7020R
The logical 136-bit search operation is shown in
Figure 43, page 65. The entire table of 136-bit en-
tries is compared to a 136-bit word K (presented
on the DQ Bus in 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 the GMR Index in the
command’s Cycle A. The 136-bit word K (present-
ed on the DQ Bus in Cycles A and B of the com-
mand) is also stored in both even and odd
comparand register pairs selected by the Com-
parand Register Index in the command’s Cycle B.
The two comparand registers can subsequently
be used by the LEARN command with the even
comparand register stored in an even location,
and the odd comparand register stored in an adja-
cent odd location. The word K (presented on the
DQ Bus in Cycles A and B of the command) is
compared with each entry in the table starting at
location “0.” The first matching entry’s location ad-
dress, “L,” is the winning address that is driven as
part of the SRAM address on the SADR[21:0] lines
(see SRAM ADDRESSING, page 126).
Note: The matching address is always going to an
even address for a 136-bit SEARCH.
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-
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 33, page 65.
For a single device in the table with TLSZ = 00, the
latency of the SEARCH from command to SRAM
access cycle is 4. In addition, SSV and SSF shift
further to the right for different values of HLAT, as
specified in Table 34, page 65.
Figure 41. Hardware Diagram for a Table with 1 Device
BHI[2:0]
6
5
4
3
LHI
2
1
0
DQ[67:0]
SRAM
M7020R
CMDV, CMD[8:0]
SSF, SSV
BHO[2:0]
LHO[1]
LHO[0]
AI06329
63/150
M7020R
Figure 42. Timing Diagram for a 136-bit SEARCH for One 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
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
A
B
B
B
A
A
A
B
B
B
B
A
B
A
D2
D3
D1
D4
SADR[21:0]
CE_L
A1
A3
0
1
1
1
1
0
0
1
1
ALE_L
WE_L
0
1
0
1
0
1
0
1
0
1
0
OE_L
SSV
SSF
0
0
1
0
0
0
1
1
Search1
Hit
Search3
Hit
Search4
Miss
Search2
Miss
CFG = 01010101, HLAT = 001, TLSZ = 00, LRAM = 1, LDEV = 1
AI06330
64/150
M7020R
Figure 43. x136 Table with One Device
0
0
135
135
GMR
K
Even
A
Odd
B
Location
address
0
2
4
6
0
67
Comparand Register (even)
A
Comparand Register (odd)
B
L
(First matching entry)
32766
CFG = 01010101
(136-bit Configuration)
AI06331
Table 33. Latency of SEARCH from Instruction to SRAM Access Cycle, 136-bit, 1 Device
# of devices
1 (TLSZ = 00)
Max Table Size
16K x 136-bit
128K x 136-bit
496K x 136-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
Table 34. Shift of SSF and SSV from SADR
HLAT
000
Number of CLK Cycles
0
1
2
3
4
5
6
7
001
010
011
100
101
110
111
65/150
M7020R
136-bit Search on Tables Configured as x136 Using Up to Eight M7020R Devices
The hardware diagram of the search subsystem of
eight devices is shown in Figure 44, page 67. The
following are parameters programmed into the
eight devices:
and B. CMD[8:6] signals must be driven with the
SSR Index that will be used for storing the
address of the matching entry and the Hit
Flag (see
SEARCH-Successful
Registers
(SSR[0:7]), page 23). The DQ[67:0] is driven
with 68-bit data ([67:0]) compared against all
odd locations.
– First seven devices (devices 0–6):
CFG = 01010101, TLSZ = 01, HLAT = 010,
LRAM = 0, and LDEV = 0.
The logical 136-bit search operation is shown in
Figure 45, page 68. The entire table (eight devices
of 136-bit entries) is compared to a 136-bit word K
(presented on the DQ Bus in Cycles A and B of the
command) using the GMR and local mask bits.
The GMR is the 136-bit word specified by the even
and odd global mask pair selected by the GMR In-
dex in the command’s Cycle A.
– Eighth device (device 7):
CFG = 01010101, TLSZ = 01, HLAT = 010,
LRAM = 1, and LDEV = 1.
Note: All eight devices must be programmed with
the same value of TLSZ and HLAT. Only the last
device in the table must be programmed with
LRAM = 1 and LDEV = 1 (Device 7 in this case).
All other upstream devices must be programmed
with LRAM = 0 and LDEV = 0 (Devices 0 through
6 in this case).
The 136-bit word K (presented on the DQ Bus in
Cycles A and B of the command) is also stored in
the even and odd comparand registers specified
by the Comparand Register Index in the com-
mand’s Cycle B. In x136 configurations, the even
and odd comparand registers can subsequently
be used by the LEARN command in only one of
the devices (the first non-full device). The word K
(presented on the DQ Bus in Cycles A and B of the
command) is compared to each entry in the table
starting at location “0.” The first matching entry’s
location, “L,” is the winning address that is driven
as part of the SRAM address on the SADR[21:0]
lines (see SRAM ADDRESSING, page 126). The
global winning device will drive the bus in a specif-
ic cycle. On global miss cycles the device with
LRAM = 1 (the default driving device for the SRAM
Bus) and LDEV = 1 (the default driving device for
SSF and SSV signals) will be the default driver for
such missed cycles.
Figure 46, page 69 shows the timing diagram for a
SEARCH command in the 136-bit-configured ta-
ble of eight devices for Device 0. Figure 47, page
70 shows the timing diagram for a SEARCH com-
mand in the 136-bit-configured table consisting of
eight devices for Device 1. Figure 48, page 71
shows the timing diagram for a SEARCH com-
mand in the 136-bit configured table consisting of
eight devices for Device 7 (the last device in this
specific table). For these timing diagrams, four
136-bit searches are performed sequentially, and
the following HIT/MISS assumptions were made
(see Table 35)
The following is the sequence of operation for a
single 136-bit SEARCH command (see COM-
MAND CODES AND PARAMETERS, page 29).
– Cycle A: The host ASIC drives CMDV high and
applies SEARCH command code ('10') on
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:7] signals must
be driven with the same bits that will be driven
by this device on SADR[21:20] if it has a hit.
DQ[67:0] must be driven with the 68-bit data
([135:68]) in order to be compared against all
even locations. The CMD[2] signal must be driv-
en to a logic '0.'
– Cycle B: The host ASIC continues to drive
CMDV high and to apply the command code for
SEARCH command ('10') on CMD[1:0].
CMD[5:2] must be driven by the index of the
comparand register pair for storing the 136-bit
word presented on the DQ Bus during Cycles A
Note: During 136-bit searches of 136-bit-config-
ured tables, the search hit will always be at an
even address.
The SEARCH command is a pipelined operation
and executes a search at half the rate of the fre-
quency of CLK2X for 136-bit searches in x136-
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 36, page 72.
For one to eight devices in the table and
TLSZ = 01, the latency of a SEARCH from com-
mand to SRAM access cycle is 5. In addition, SSV
and SSF shift further to the right for different val-
ues of HLAT as specified in Table 37, page 72.
66/150
M7020R
Table 35. Hit/Miss Assumption
Search Number
Device 0
1
2
3
Hit
4
Hit
Miss
Hit
Miss
Miss
Miss
Hit
Device 1
Miss
Miss
Miss
Hit
Device 2-6
Device 7
Miss
Miss
Miss
Hit
Figure 44. Hardware Diagram for a Table with Eight Devices
SRAM
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
SSF, SSV
DQ[67:0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
CMDV
CMD[8:0]
6
6
6
5
5
5
4
4
4
3
LHI
2
1
M7020R #2
M7020R #3
M7020R #4
M7020R #5
M7020R #6
M7020R #7
LHO[1]
LHO[0]
3
2
1
LHI
LHO[1]
LHO[0]
3
LHI
2
1
0
LHO[0]
3
2
1
1
0
0
6
5
LHI
LHO[0]
4
4
LHI
3
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]
AI05666
67/150
M7020R
Figure 45. x136 Table with Eight Devices
0
0
135
135
Must be the same in each
of the eight devices
GMR
K
Even
A
Odd
B
Location
address
0
2
4
6
0
67
Comparand Register (even)
A
Comparand Register (odd)
B
L
(First matching entry)
262142
CFG = 01010101
(136-bit Configuration)
Will be the same in each
of the eight devices
AI06332
68/150
M7020R
Timing Diagrams for x136 Using Up to Eight M7020R Devices
Figure 46. 136-bit SEARCH for Device Number 0
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 7 Cycle 9
Cycle 10
CLK2X
PHS_L
CMDV
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
A
B
B
B
A
A
A
B
B
B
B
A
B
A
D4
D1
D2
D3
0
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
z
z
z
SADR[21:0]
CE_L
A1
A3
z
z
z
z
0
0
0
0
ALE_L
WE_L
OE_L
z
z
z
z
1
1
z
z
z
z
z
z
SSV
SSF
1
1
1
1
Search1
(This device
is the global
winner.)
CFG = 01010101,
HLAT = 010, TLSZ = 01,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(This device
is the global
winner.)
Search4
(Miss on this
device.)
AI06333
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
69/150
M7020R
Figure 47. 136-bit SEARCH for Device Number 1
Cycle 2
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 7 Cycle 9
Cycle 10
Cycle 1
CLK2X
PHS_L
CMDV
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
A
B
B
B
A
A
A
B
B
B
B
A
B
A
D3
D1
D2
D4
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
z
SADR[21:0]
CE_L
A2
z
z
0
0
ALE_L
z
z
z
WE_L
OE_L
1
z
z
z
z
1
1
SSV
SSF
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 010, TLSZ = 01,
LRAM = 0, LDEV = 0
Search2
(This device
is global
winner.)
Search3
(Local winner
but not global
winner.)
Search4
(Miss on this
device.)
AI06334
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
70/150
M7020R
Figure 48. 136-bit SEARCH for Device Number 7 (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
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
A
B
B
B
A
A
A
B
B
B
B
A
B
A
D1
D2
D3
D4
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
SADR[21:0]
A4
0
0
CE_L
0
0
ALE_L
z
z
WE_L
OE_L
1
0
1
1
0
0
0
0
z
z
SSV
SSF
1
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 010, TLSZ = 01,
LRAM = 1, LDEV = 1
Search2
(Miss on
this device.)
Search3
(Local winner
but not global
winner.)
Search4
(Global
winner.)
AI06335
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
71/150
M7020R
Table 36. Latency of SEARCH from Instruction to SRAM Access Cycle, 136-bit, Up to 8 Devices
# of devices
1 (TLSZ = 00)
Max Table Size
16K x 136-bit
128K x 136-bit
496K x 136-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
Table 37. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
136-bit Search on Tables Configured as x136 Using Up to 31 M7020R Devices
The hardware diagram of the search subsystem of
31 devices is shown in Figure 49, page 74. Each
of the four blocks in the diagram represents a
block of eight M7020R devices (except the last,
which has seven devices).The diagram for a block
of eight devices is shown in Figure 50, page 75.
Following are the parameters programmed into
the 31 devices.
First thirty devices (devices 0–29):
CFG = 01010101, TLSZ = 10, HLAT = 001,
LRAM = 0, and LDEV = 0.
Thirty-first device (device 30):
CFG = 01010101, TLSZ = 10, HLAT = 001,
one device with a matching entry in each of the
blocks. Figure 52, page 77 shows the timing dia-
gram for a SEARCH command in the 136-bit-con-
figured table (31 devices) for each of the eight
devices in Block 0. Figure 53, page 78 shows the
timing diagram for SEARCH command in the
68-bit-configured table (31 devices) for all the de-
vices in Block 1 above the winning device in that
block. Figure 54, page 79 shows the timing dia-
gram for the globally winning device (the final win-
ner within its own block and all blocks) in Block 1.
Figure 55, page 80 shows the timing diagram for
all the devices below the globally winning device in
Block 1. Figure 56, page 81, Figure 57, page 82,
and Figure 58, page 83 respectively show the tim-
ing diagrams of the devices above globally win-
ning device, the globally winning device and
devices below the globally winning device for
Block 2. Figure 59, page 84, Figure 60, page 85,
Figure 61, page 86, and Figure 62, page 87 re-
spectively show the timing diagrams of the devices
above the globally winning device, the globally
winning device, and devices below the globally
winning device except the last device (Device 30),
and the last device (Device 30) for Block 3.
LRAM = 1, and LDEV = 1.
Note: All 31 devices must be programmed with the
same value of TLSZ and HLAT. Only the last de-
vice in the table must be programmed with
LRAM = 1 and LDEV = 1 (Device 30 in this case).
All other upstream devices must be programmed
with LRAM = 0 and LDEV = 0 (Devices 0 through
29 in this case).
The timing diagrams referred to in this paragraph
reference the HIT/MISS assumptions defined in
Table 38, page 73. For the purpose of illustrating
timings, it is further assumed that the there is only
72/150
M7020R
The following is the sequence of operation for a
single 136-bit SEARCH command (see COM-
MAND CODES AND PARAMETERS, page 29).
The word K that is presented on the DQ Bus in Cy-
cles A and B of the command is compared with
each entry in the table starting at location “0.” The
first matching entry’s location address, “L,” is the
winning address that is driven as part of the SRAM
address on the SADR[21:0] lines (see SRAM AD-
DRESSING, page 126). The global winning device
will drive the bus in a specific cycle. On global miss
cycles the device with LRAM = 1 (the default driv-
ing device for the SRAM bus) and LDEV = 1 (the
default driving device for SSF and SSV signals)
will be the default driver for such missed cycles.
Note: During 136-bit searches of 136-bit-config-
ured tables, the search hit will always be at an
even address.
The SEARCH command is a pipelined operation.
It executes a search at half the rate of the frequen-
cy of CLK2X for 136-bit searches in x136-config-
ured 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 39, page 88.
The latency of a search from command to the
SRAM access cycle is 6 for 1–31 devices in the ta-
ble and where TLSZ = 10. In addition, SSV and
SSF shift further to the right for different values of
HLAT, as specified in Table 40, page 88.
The 136-bit SEARCH operation is pipelined and
executes as follows:
– Four cycles from the SEARCH command, each
of the devices knows the outcome internal to it
for that operation.
– In the fifth cycle after the SEARCH command,
the devices in a block (being less than or equal
to eight devices resolving the winner within
them using the LHI[6:0] and LHO[1:0] signalling
mechanism) arbitrate for a winner amongst
them.
– Cycle A: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
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:7] signals must
be driven with the bits that will be driven on
SADR[21:20] by this device if it has a hit.
DQ[67:0] must be driven with the 68-bit data
([135:68]) in order to be compared against all
even locations. The CMD[2] signal must be driv-
en to logic '0.'
– Cycle B: The host ASIC continues to drive the
CMDV high and to apply SEARCH command
code ('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 (see SEARCH-
Successful Registers (SSR[0:7]), page 23). The
DQ[67:0] is driven with 68-bit data ([67:0]) to be
compared against all odd locations.
The logical 136-bit SEARCH operation is as
shown in Figure 51, page 76. The entire table of 31
devices (consisting of 136-bit entries) is compared
against a 136-bit word K that is presented on the
DQ Bus in Cycles A and B of the command using
the GMR and local mask bits. The GMR is the 136-
bit word specified by the even and odd global
mask pair selected by the GMR Index in the com-
mand’s Cycle A.
The 136-bit word K that is presented on the DQ
Bus in Cycles A and B of the command is also
stored in the even and odd comparand registers
specified by the Comparand Register Index in the
command’s Cycle B. In x136 configurations, the
even and odd comparand registers can subse-
quently be used by the LEARN command in only
the first non-full device.
– In the sixth cycle after the SEARCH command,
the blocks (of devices) resolve the winning block
through the BHI[2:0] and BHO[2:0] signalling
mechanism. The winning device in the winning
block is the global winning device for a
SEARCH operation.
Note: The LEARN command is supported for only
one of the blocks consisting of up to eight devices
in a depth-cascaded table of more than one block.
Table 38. Hit/Miss Assumption
Search Number
Block 0
1
2
3
4
Miss
Miss
Miss
Hit
Miss
Miss
Hit
Miss
Hit
Miss
Miss
Miss
Miss
Block 1
Block 2
Hit
Block 3
Hit
Miss
73/150
M7020R
Figure 49. Hardware Diagram for a Table with 31 Devices
BHI[2]
BHI[1]
BHI[0]
GND
GND
GND
SRAM
SSF, SSV
Block of 8 M7020Rs, Block 0 (Devices 0-7)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 1 (Devices 8-15)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 2 (Devices 16-23)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
DQ[67:0]
Block of 7 M7020Rs, Block 3 (Devices 24-30)
BHO[2]
CMD[8:0], CMDV
BHO[1]
BHO[0]
AI05671
74/150
M7020R
Figure 50. Hardware Diagram for a Block of Up to Eight Devices
SRAM
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
DQ[67:0]
CMDV
CMD[8:0]
6
6
6
5
5
4
4
3
LHI
2
1
1
M7020R #2
M7020R #3
M7020R #4
M7020R #5
SSV, SSF
LHO[1]
LHO[0]
3
2
LHI
LHO[0]
LHO[1]
BHI[2:0]
BHI[2:0]
BHI[2:0]
5
4
3
LHI
2
1
0
LHO[0]
3
3
2
1
1
0
0
6
5
4
4
LHI
LHO[0]
LHI
2
LHI
6
5
LHI
M7020R #6LHO[0]
3
2
LHI
1
0
6
5
LHI
4
BHO[0]
BHO[1]
BHO[2]
BHI[2:0]
M7020R #7
BHO[0]
BHO[1]
BHO[2]
LHO[1] LHO[0]
AI05672
75/150
M7020R
Figure 51. x136 Table with 31 Devices
0
0
135
135
Must be the same in each
of the 31 devices
GMR
K
Even
A
Odd
B
Location
address
0
2
4
6
0
67
Comparand Register (even)
A
Comparand Register (odd)
B
L
(First matching entry)
1015806
CFG = 01010101
(136-bit Configuration)
Will be the same in each
of the 31 devices
AI05684
76/150
M7020R
Timing Diagrams for x136 Using Up to 31 M7020R Devices
Figure 52. Each Device in Block Number 0 (Miss on Each 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
Search1
01
Search3
01
CMD[1:0]
01
01
Search4
Search2
CMD[8:2]
DQ
A
A
A
B
B
B
A
A
A
B
B
B
B
A
B
A
D2
D3
D4
D1
0
(1)
(LHI[6:0])
0
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
z
z
SADR[21:0]
CE_L
z
z
ALE_L
WE_L
OE_L
SSV
z
z
z
SSF
Search1
(Miss on this
device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
Search4
(Miss on this
device.)
AI05685
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
77/150
M7020R
Figure 53. Each Device Above the Winning Device in Block Number 1
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
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
B
B
B
A
A
A
B
B
B
B
A
B
A
D2
D3
D4
D1
0
(1)
(LHI[6:0])
0
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
z
z
SADR[21:0]
CE_L
z
z
ALE_L
WE_L
OE_L
SSV
z
z
z
SSF
Search1
(Miss on this
device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
Search4
(Miss on this
device.)
AI05685
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
78/150
M7020R
Figure 54. Globally Winning Device in Block Number 1
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D3
D1
D2
D4
(1)
0
(LHI[6:0])
(2)
LHO[1:0]
0
0
(3)
(BHI[2:0])
(4)
BHO[2:0]
0
z
z
z
z
SADR[21:0]
CE_L
A3
z
z
0
0
ALE_L
z
z
z
WE_L
OE_L
1
z
z
z
z
1
1
SSV
SSF
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(This device
global winner.)
Search4
(Miss on this
device.)
AI05686
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
79/150
M7020R
Figure 55. Devices Below the Winning Device in Block Number 1
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
A
B
B
A
B
A
B
A
D1
D2
D3
D4
(1)
(LHI[6:0])
0
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
0
z
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
ALE_L
WE_L
OE_L
z
z
SSV
SSF
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05687
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
80/150
M7020R
Figure 56. Devices Above the Winning Device in Block Number 2
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D3
D1
D2
D4
(1)
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
0
(BHI[2:0])
(4)
0
z
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
ALE_L
WE_L
OE_L
z
z
SSV
SSF
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05688
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
81/150
M7020R
Figure 57. Globally Winning Device in Block Number 2
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D1
D4
D2
D3
(1)
0
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
0
z
z
SADR[21:0]
CE_L
A2
z
z
z
z
0
0
ALE_L
WE_L
OE_L
z
z
z
1
SSV
SSF
z
z
z
z
1
1
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Global
winner.)
Search3
(Hit but not
a winner.)
Search4
(Miss on this
device.)
AI05689
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
82/150
M7020R
Figure 58. Devices Below the Winning Device in Block Number 2
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D3
D1
D2
D4
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
(4)
BHO[2:0]
0
z
z
z
z
z
SADR[21:0]
CE_L
ALE_L
WE_L
OE_L
SSV
z
z
SSF
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05690
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
83/150
M7020R
Figure 59. Devices Above the Winning Device in Block Number 3
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D1
D3
D2
D4
(1)
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
0
(BHI[2:0])
(4)
0
z
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
ALE_L
WE_L
OE_L
z
z
SSV
SSF
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05691
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
84/150
M7020R
Figure 60. Globally Winning Device in Block Number 3
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D3
D1
D2
D4
(1)
0
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
0
z
z
SADR[21:0]
CE_L
A1
z
z
z
z
0
0
ALE_L
WE_L
OE_L
z
z
z
1
SSV
SSF
z
z
z
z
1
1
Search1
(Global
winner.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Hit but
not a global
winner.)
Search3
(Miss on this
device.)
Search4
(Miss on this
device.)
AI05692
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
85/150
M7020R
Figure 61. Devices Below the Winning Device in Block Number 3 (not Device 30 - Last Device)
Cycle 2
Cycle 4
Cycle 6
Cycle 8
Cycle 10
Cycle 1 Cycle 3
Cycle 5
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search3
01
CMD[1:0]
01
01
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D1
D2
D3
D4
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
(4)
BHO[2:0]
0
z
z
z
z
z
SADR[21:0]
CE_L
ALE_L
WE_L
OE_L
SSV
z
z
SSF
Search1
(Miss on
this device.)
CFG = 01010101,
HLAT = 001, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on
this device.)
Search3
(Miss on
Search4
this device.)
(Miss on this
device.)
AI05693
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
86/150
M7020R
Figure 62. Device 6 in Block Number 3 (Device 30 in Depth-Cascaded Table)
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
Search2
Search4
CMD[8:2]
DQ
A
A
B
B
A
B
A
B
B
A
B
B
A
B
A
A
D3
D1
D2
D4
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
0
(4)
BHO[2:0]
z
SADR[21:0]
CE_L
z
z
0
0
0
0
1
ALE_L
WE_L
z
1
0
OE_L
z
z
1
0
0
0
SSV
SSF
Search1
(Hit on
CFG = 01010101,
Search2
(Hit on
some device
above.)
some device
above.)
HLAT = 001, TLSZ = 10,
LRAM = 1, LDEV = 1
Search3
(Hit on
Search4
(Global miss;
this device
some device
above.)
default driver.)
AI05694
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
87/150
M7020R
Table 39. Latency of SEARCH from Instruction to SRAM Access Cycle, 136-bit, Up to 31 Devices
# of devices
1 (TLSZ = 00)
Max Table Size
16K x 136-bit
128K x 136-bit
496K x 136-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
Table 40. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
272-bit SEARCH on Tables Configured as x272 Using a Single M7020R Device
The hardware diagram for this search subsystem
is shown in Figure 63, page 89. Figure 64, page 90
shows the timing diagram for a SEARCH com-
mand in the 272-bit-configured table (CFG =
10101010) consisting of a single device for one set
of parameters: TLSZ = ’00,’ HLAT = ’001,’ LRAM =
’1,’ and LDEV = ’1.’
The following is the sequence of operation for a
single 136-bit SEARCH command (also refer to
COMMAND CODES AND PARAMETERS, page
29).
– Cycle C: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair used for
bits [135:0] of the data being searched.
CMD[8:7] signals must be driven with the bits
that will be driven on SADR[21:20] by this de-
vice if it has a hit. DQ[67:0] must be driven with
the 68-bit data ([135:68]) to be compared to all
locations “2” in the four 68-bits-word page. The
CMD[2] signal must be driven to logic '0.'
– Cycle D: The host ASIC continues to drive the
CMDV high and applies SEARCH command
code ('10') on CMD[1:0]. CMD[8:6] signals must
be driven with the index of the SSR that will be
used for storing the address of the matching en-
try and the Hit Flag (see SEARCH-Successful
Registers (SSR[0:7]), page 23). The DQ[67:0] is
driven with the 68-bit data ([67:0]) to be com-
pared to all locations “3” in the four 68-bits-word
page. CMD[5:2] is ignored because the LEARN
Instruction is not supported for x272 tables.
– Cycle A: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair used for
bits [271:136] of the data being searched.
DQ[67:0] must be driven with the 68-bit data
([271:204]) to be compared to all locations “0” in
the four 68-bits-word page. The CMD[2] signal
must be driven to logic ’1.’
Note: CMD[2] = 1 signals that the search is a
x272-bit search. CMD[8:3] in this cycle is ig-
nored.
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.
– Cycle B: The host ASIC continues to drive the
CMDV high and continues to apply the com-
mand code of SEARCH command ('10') on
CMD[1:0]. The DQ[67:0] is driven with the 68-bit
data ([204:136]) to be compared to all locations
“1” in the four 68-bits-word page.
88/150
M7020R
The logical 272-bit SEARCH operation is shown in
Figure 65, page 91. The entire table of 272-bit en-
tries is compared to a 272-bit word K that is pre-
sented on the DQ Bus in Cycles A, B, C, and D of
the command using the GMR and local mask bits.
The GMR is the 272-bit word specified by the two
pairs of GMRs selected by the GMR Indexes in the
command’s Cycles A and C. The 272-bit word K
that is presented on the DQ Bus in Cycles A, B, C,
and D of the command is compared with each en-
try in the table starting at location “0.” The first
matching entry’s location address, “L,” is the win-
ning address that is driven as part of the SRAM
address on SADR[21:0] lines (see SRAM AD-
DRESSING, page 126).
SEARCH (two LSBs of the matching index will be
'00').
The SEARCH command is a pipelined operation
and executes at one-fourth the rate of the frequen-
cy of CLK2X for 272-bit searches in x272-config-
ured tables. The latency of SADR, CE_L, ALE_L,
WE_L, SSV, and SSF from the 272-bit SEARCH
command (measured in CLK cycles) from the
CLK2X cycle that contains the C and D Cycles is
shown in Table 41, page 91.
The latency of a SEARCH from command to
SRAM access cycle is 4 for only a single device in
the table and TLSZ = 00. In addition, SSV and SSF
shift further to the right for different values of
HLAT, as specified in Table 42, page 91.
Note: The matching address is always going to be
location “0” in a four-entry page for a 272-bit
Figure 63. Hardware Diagram for a Table with One Device
BHI[2:0]
6
5
4
3
LHI
2
1
0
DQ[67:0]
SRAM
M7020R
CMDV, CMD[8:0]
SSF, SSV
BHO[2:0]
LHO[1]
LHO[0]
AI05695
89/150
M7020R
Figure 64. Timing Diagram for a 272-bit SEARCH for One 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
Search1
01
Search2
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
B
B
B
D
A
A
A
C
B
B
B
D
DQ
D2
D1
SADR[21:0]
CE_L
A1
0
1
1
1
1
ALE_L
WE_L
0
1
0
1
0
1
0
OE_L
SSV
SSF
0
0
1
1
1
0
0
0
Search1
Hit
Search2
Miss
CFG = 10101010, HLAT = 001, TLSZ = 00, LRAM = 1, LDEV = 1
AI05696
90/150
M7020R
Figure 65. x272 Table with One Device
0
0
271
GMR
K
0
1
2
3
A
B
C
D
271
Location
address
0
4
8
12
L
(First matching entry)
32764
CFG = 10101010
(272-bit Configuration)
AI05697
Table 41. Latency of SEARCH from Cycles C and D to SRAM Access Cycle, 272-bit, 1 Device
# of devices
1 (TLSZ = 00)
Max Table Size
8K x 272-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
64K x 272-bit
248K x 272-bit
Table 42. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
91/150
M7020R
272-bit SEARCH on Tables x272-configured Using Up to Eight M7020R Devices
The hardware diagram of the search subsystem of
eight devices is shown in Figure 66, page 94. The
following are the parameters programmed in the
eight devices.
– Cycle C: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair used for
bits [135:0] of the data being searched.
CMD[8:7] signals must be driven with the bits
that will be driven on SADR[21:20] by this de-
vice if it has a hit. DQ[67:0] must be driven with
the 68-bit data ([135:68]) to be compared
against all locations “2” in the four 68-bits-word
page. The CMD[2] signal must be driven to logic
'0.'
– First seven devices (devices 0–6):
CFG = 10101010, TLSZ = 01, HLAT = 000,
LRAM = 0, and LDEV = 0.
– Eighth device (device 7):
CFG = 10101010, TLSZ = 01, HLAT = 000,
LRAM = 1, and LDEV = 1.
Note: All eight devices must be programmed with
the same value of TLSZ and HLAT. Only the last
device in the table must be programmed with
LRAM = 1 and LDEV = 1 (Device 7 in this case).
All other upstream devices must be programmed
with LRAM = 0 and LDEV = 0 (Devices 0 through
6 in this case).
– Cycle D: The host ASIC continues to drive the
CMDV high and applies SEARCH command
code ('10') on CMD[1:0]. CMD[8:6] signals must
be driven with the index of the SSR that will be
used for storing the address of the matching en-
try and the Hit Flag (see SEARCH-Successful
Registers (SSR[0:7]), page 23). The DQ[67:0] is
driven with the 68-bit data ([67:0]) to be com-
pared to all locations “3” in the four 68-bits-word
page. CMD[5:2] is ignored because the LEARN
Instruction is not supported for x272 tables.
Figure 68, page 96 shows the timing diagram for a
SEARCH command in the 272-bit-configured ta-
ble of eight devices for Device 0. Figure 69, page
97 shows the timing diagram for a SEARCH com-
mand in the 272-bit-configured table of eight de-
vices for Device 1. Figure 70, page 98 shows the
timing diagram for a SEARCH command in the
272-bit-configured table of eight devices for De-
vice 7 (the last device in this specific table). For
these timing diagrams three 272-bit searches are
performed sequentially. The following HIT/MISS
assumptions were made as shown in Table 43,
page 93.
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 in
each of the eight devices that apply to DQ data
in Cycles A and B. The GMR Index in Cycle C
selects a pair of GMRs in each of the eight de-
vices that apply to DQ data in Cycles C and D.
The logical 272-bit SEARCH operation is shown in
Figure 67, page 95. The entire table of 272-bit en-
tries is compared to a 272-bit word K that is pre-
sented on the DQ Bus in Cycles A, B, C, and D of
the command using the GMR and the local mask
bits. The GMR is the 272-bit word specified by the
two pairs of GMRs selected by the GMR Indexes
in the command’s Cycles A and C in each of the
eight devices. The 272-bit word K that is presented
on the DQ Bus in Cycles A, B, C, and D of the com-
mand is compared to each entry in the table start-
ing at location “0.” The first matching entry’s
location address, “L,” is the winning address that is
driven as part of the SRAM address on the
SADR[23:0] lines (see SRAM ADDRESSING,
page 126).
The following is the sequence of operation for a
single 272-bit SEARCH command (also COM-
MAND CODES AND PARAMETERS, page 29).
– Cycle A: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair used for
bits [271:136] of the data being searched in this
operation. DQ[67:0] must be driven with the 68-
bit data ([271:204]) to be compared against all
locations “0” in the four-word, 68-bit page. The
CMD[2] signal must be driven to logic '1.'
Note: CMD[2] = 1 signals that the search is a
272-bit search. CMD[8:3] in this cycle is ig-
nored.
Note: The matching address is always going to be
a location “0” in a four-entry page for 272-bit
SEARCH (two LSBs of the matching index will be
'00').
– Cycle B: The host ASIC continues to drive the
CMDV high and applies SEARCH command
code ('10') on CMD[1:0]. The DQ[67:0] is driven
with the 68-bit data ([203:136]) to be compared
against all locations “1” in the four 68-bits-word
page.
92/150
M7020R
The SEARCH command is a pipelined operation
and executes search at one-fourth the rate of the
frequency of CLK2X for 272-bit searches in x272-
configured tables. The latency of SADR, CE_L,
ALE_L, WE_L, SSV, and SSF from the 272-bit
SEARCH command (measured in CLK cycles)
from the CLK2X cycle that contains the C and D
Cycles is shown in Table 44, page 99.
The latency of search from command to SRAM ac-
cess cycle is 5 for only a single device in the table
and TLSZ = 01. In addition, SSV and SSF shift fur-
ther to the right for different values of HLAT, as
specified in Table 45, page 99.
Table 43. Hit/Miss Assumption
Search Number
Device 0
1
2
3
Hit
Miss
Hit
Miss
Miss
Miss
Miss
Device 1
Miss
Miss
Miss
Device 2-6
Device 7
Miss
Miss
93/150
M7020R
Figure 66. Hardware Diagram for a Table with Eight Devices
SRAM
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
SSF, SSV
DQ[67:0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
CMDV
CMD[8:0]
6
6
6
5
5
5
4
4
4
3
LHI
2
1
M7020R #2
M7020R #3
M7020R #4
M7020R #5
M7020R #6
M7020R #7
LHO[1]
LHO[0]
3
2
1
LHI
LHO[1]
LHO[0]
3
LHI
2
1
0
LHO[0]
3
2
1
1
0
0
6
5
LHI
LHO[0]
4
4
LHI
3
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]
AI05666
94/150
M7020R
Figure 67. x272 Table with Eight Devices
0
0
271
Must be the same
in each of eight
devices
GMR
K
0
1
2
3
A
B
C
D
271
Location
address
0
4
8
12
L
(First matching entry)
262140
CFG = 10101010
(272-bit Configuration)
AI05698
95/150
M7020R
Timing Diagrams for x272-configured Using Up to Eight M7020R Devices
Figure 68. 272-bit SEARCH for Device Number 0
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
DQ
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
D
D1
D2
D3
0
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
z
z
SADR[21:0]
CE_L
A1
z
z
0
0
ALE_L
WE_L
OE_L
z
z
z
z
1
z
z
z
z
SSV
SSF
1
1
Search1
(This device
is the global
winner.)
CFG = 10101010,
HLAT = 000, TLSZ = 01,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
AI05699
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
96/150
M7020R
Figure 69. 272-bit SEARCH for Device Number 1
Cycle 2
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 7 Cycle 9
Cycle 10
Cycle 1
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
C
D
D1
D2
D3
(1)
(LHI[6:0])
(2)
LHO[1:0]
z
z
SADR[21:0]
CE_L
A2
0
0
z
z
ALE_L
WE_L
z
z
z
z
1
OE_L
z
z
z
z
SSV
SSF
1
1
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 01,
LRAM = 0, LDEV = 0
Search2
(This device
is global
winner.)
Search3
(Miss on this
device.)
AI06300
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
97/150
M7020R
Figure 70. 272-bit SEARCH for Device Number 7 (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
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
(LHI[6:0])
(2)
LHO[1:0]
SADR[21:0]
A2
z
z
z
z
0
0
0
CE_L
0
1
ALE_L
z
z
WE_L
OE_L
1
0
z
z
z
1
0
0
0
0
0
0
SSV
SSF
z
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 01,
LRAM = 1, LDEV = 1
Search2
(Miss on this
device.)
Search3
(Global
miss.)
AI06301
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
98/150
M7020R
Table 44. Latency of SEARCH from Cycles C and D to SRAM Access Cycle, 272-bit, Up to 8 Devices
# of devices
1 (TLSZ = 00)
Max Table Size
8K x 272-bit
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
64K x 272-bit
248K x 272-bit
Table 45. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
272-bit Search on Tables Configured as x272 Using Up to 31 M7020R Devices
The hardware diagram of the search subsystem of
31 devices is shown in Figure 71, page 101. Each
of the four blocks in the diagram represents a
block of eight M7020R devices, except the last
which has seven devices.The diagram for a block
of eight devices is shown in Figure 72, page 102.
The following are the parameters programmed
into the 31 devices.
the timings, it is further assumed that there is only
one device with the matching entry in each block.
Figure 74, page 104 shows the timing diagram for
a SEARCH command in the 272-bit-configured ta-
ble consisting of 31 devices for each of the eight
devices in Block 0. Figure 75, page 105 shows the
timing diagram for a SEARCH command in the
272-bit-configured table of 31 devices for all devic-
es above the winning device in Block 1. Figure 76,
page 106 shows the timing diagram for the global-
ly winning device (the final winner within its own
and all blocks) in Block 1. Figure 77, page 107
shows the timing diagram for all the devices below
the globally winning device in Block 1. Figure 78,
page 108, Figure 79, page 109, and Figure 80,
page 110, respectively, show the timing diagrams
of the devices above the globally winning device,
the globally winning device, and the devices below
the globally winning device for Block 2. Figure 81,
page 111, Figure 82, page 112, Figure 83, page
113, and Figure 84, page 114, respectively, show
the timing diagrams of the device above the glo-
bally winning device, the globally winning device,
the devices below the globally winning device (ex-
cept Device 30), and last device (Device 30) for
Block 3.
– First thirty devices (devices 0–29):
CFG = 10101010, TLSZ = 10, HLAT = 000,
LRAM = 0, and LDEV = 0.
– Thirty-first device (device 30):
CFG = 10101010, TLSZ = 10, HLAT = 000,
LRAM = 1, and LDEV = 1.
Note: All 31 devices must be programmed with the
same value of TLSZ and HLAT. Only the last de-
vice in the table must be programmed with
LRAM = 1 and LDEV = 1 (Device 30 in this case).
All other upstream devices must be programmed
with LRAM = 0 and LDEV = 0 (Devices 0 through
29 in this case).
The timing diagrams referred to in this paragraph
reference the HIT/MISS assumptions defined in
Table 46, page 101. For the purpose of illustrating
99/150
M7020R
The following is the sequence of operation for a
single 272-bit SEARCH command (see COM-
MAND CODES AND PARAMETERS, page 29).
lects a pair of GMRs in each of the 31 devices
that apply to DQ data in Cycles C and D.
The logical 272-bit SEARCH operation is as
shown in Figure 73, page 103. The entire table of
272-bit entries is compared to a 272-bit word K
that is presented on the DQ Bus in Cycles A, B, C,
and D of the command using the GMR and local
mask bits. The GMR is the 272-bit word specified
by the two pairs of GMRs selected by the GMR In-
dexes in the command’s Cycles A and C in each
of the 31 devices. The 272-bit word K that is pre-
sented on the DQ Bus in Cycles A, B, C, and D of
the command is compared to each entry in the ta-
ble starting at location “0.” The first matching en-
try’s location address, “L,” is the winning address
that is driven as part of the SRAM address on the
SADR[21:0] lines (see SRAM ADDRESSING,
page 126).
– Cycle A: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair used for
bits [271:136] of the data being searched.
DQ[67:0] must be driven with the 68-bit data
([271:204])to be compared to all locations “0” in
the four 68-bit-word page. The CMD[2] signal
must be driven to logic '1.'
Note: CMD[2] = 1 signals that the search is a
x272-bit search. CMD[8:7] is ignored in this cy-
cle.
– Cycle B: The host ASIC continues to drive the
CMDV high and applies SEARCH command
('10') on CMD[1:0]. The DQ[67:0] is driven with
the 68-bit data ([203:136]) to be compared to all
locations '1' in the four 68-bits-word page.
Note: The matching address is always going to be
location “0” in a four-entry page for 272-bit search
(two LSBs of the matching index will be '00').
– Cycle C: The host ASIC drives the CMDV high
and applies SEARCH command code ('10') on
CMD[1:0] signals. CMD[5:3] signals must be
driven with the index to the GMR pair used for
the bits [135:0] of the data being searched.
CMD[8:7] signals must be driven with the bits
that will be driven by this device on
SADR[21:20] if it has a hit. DQ[67:0] must be
driven with the 68-bit data ([135:68]) to be com-
pared to all locations “2” in the four 68-bit-word
page. The CMD[2] signal must be driven to logic
'0.'
– Cycle D: The host ASIC continues to drive the
CMDV high and continues to apply SEARCH
command code ('10') on CMD[1:0]. CMD[8:6]
signals must be driven with the index of the SSR
that will be used for storing the address of the
matching entry and the Hit Flag (see SEARCH-
Successful Registers (SSR[0:7]), page 23). The
DQ[67:0] is driven with the 68-bit data ([67:0]) to
be compared to all locations “3” in the four 68-
bit-word page. CMD[5:2] is ignored because the
LEARN Instruction is not supported for x272 ta-
bles.
The SEARCH command is a pipelined operation
and executes a search at one-fourth the rate of the
frequency of CLK2X for 272-bit searches in x272-
configured tables. The latency of SADR, CE_L,
ALE_L, WE_L, SSV, and SSF from the 272-bit
SEARCH command (measured in CLK cycles)
from the CLK2X cycle that contains Cycles C and
D shown in Table 47, page 115.
The latency of a SEARCH from command to
SRAM access cycle is 6 for only a single device in
the table and TLSZ = 10. In addition, SSV and SSF
shift further to the right for different values of
HLAT, as specified in Table 48, page 115
The 272-bit SEARCH operation is pipelined and
executes as follows:
– Four cycles from the last cycle of the SEARCH
command each of the devices knows the out-
come internal to it for that operation.
– In the fifth cycle from the SEARCH command,
the devices in a block (which is less than or
equal to eight devices resolving the winner with-
in them using an LHI[6:0] and LHO[1:0] signal-
ling mechanism) arbitrate for a winner.
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 in
each of the 31 devices that apply to DQ data in
Cycles A and B. The GMR Index in Cycle C se-
– In the sixth cycle after the SEARCH command,
the blocks of devices resolve the winning block
through a BHI[2:0] and BHO[2:0] signalling
mechanism. The winning device within the win-
ning block is the global winning device for the
SEARCH operation.
100/150
M7020R
Table 46. Hit/Miss Assumption
Search Number
1
2
3
Block 0
Block 1
Block 2
Block 3
Miss
Miss
Miss
Hit
Miss
Miss
Hit
Miss
Hit
Hit
Hit
Miss
Figure 71. Hardware Diagram for a Table with 31 Devices
BHI[2]
BHI[1]
BHI[0]
GND
SRAM
SSF, SSV
Block of 8 M7020Rs, Block 0 (Devices 0-7)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
GND
Block of 8 M7020Rs, Block 1 (Devices 8-15)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
GND
Block of 8 M7020Rs, Block 2 (Devices 16-23)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
DQ[67:0]
Block of 7 M7020Rs, Block 3 (Devices 24-30)
BHO[2]
CMD[8:0], CMDV
BHO[1]
BHO[0]
AI05671
101/150
M7020R
Figure 72. Hardware Diagram for a Block of Up to Eight Devices
SRAM
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
DQ[67:0]
CMDV
CMD[8:0]
6
6
6
5
5
4
4
3
LHI
2
1
1
M7020R #2
M7020R #3
M7020R #4
M7020R #5
SSV, SSF
LHO[1]
LHO[0]
3
2
LHI
LHO[0]
LHO[1]
BHI[2:0]
BHI[2:0]
BHI[2:0]
5
4
3
LHI
2
1
0
LHO[0]
3
3
2
1
1
0
0
6
5
4
4
LHI
LHO[0]
LHI
2
LHI
6
5
LHI
M7020R #6LHO[0]
3
2
LHI
1
0
6
5
LHI
4
BHO[0]
BHO[1]
BHO[2]
BHI[2:0]
M7020R #7
BHO[0]
BHO[1]
BHO[2]
LHO[1] LHO[0]
AI05672
102/150
M7020R
Figure 73. x272 Table with 31 Devices
0
0
271
Must be the same
in each of 31
devices
GMR
K
0
1
2
3
A
B
C
D
271
Location
address
0
4
8
12
L
(First matching entry)
262140
CFG = 10101010
(272-bit Configuration)
AI06302
103/150
M7020R
Timing Diagrams for x272 Using Up to 31 M7020R Devices
Figure 74. Each Device in Block Number 0 (Miss on Each 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
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
DQ
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
D
D1
D2
D3
(1)
0
(LHI[6:0])
(2)
0
0
0
z
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
z
z
ALE_L
WE_L
OE_L
SSV
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
AI06303
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
104/150
M7020R
Figure 75. Each Device Above the Winning Device in Block Number 1
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
DQ
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
D
D1
D2
D3
(1)
0
(LHI[6:0])
(2)
0
0
0
z
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
SADR[21:0]
CE_L
z
z
z
z
z
z
ALE_L
WE_L
OE_L
SSV
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
AI06303
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
105/150
M7020R
Figure 76. Globally Winning Device in Block Number 1
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
0
(LHI[6:0])
(2)
LHO[1:0]
0
0
(3)
(BHI[2:0])
(4)
0
z
z
z
BHO[2:0]
SADR[21:0]
CE_L
A3
0
0
ALE_L
z
z
WE_L
OE_L
1
z
z
1
1
SSV
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(This device
global winner.)
AI06304
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
106/150
M7020R
Figure 77. Devices Below the Winning Device in Block Number 1
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
(LHI[6:0])
0
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
0
z
z
z
z
z
z
z
SADR[21:0]
CE_L
ALE_L
WE_L
OE_L
SSV
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
AI06305
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
107/150
M7020R
Figure 78. Devices Above the Winning Device in Block Number 2
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
0
z
z
z
z
z
z
z
(4)
BHO[2:0]
SADR[21:0]
CE_L
ALE_L
WE_L
OE_L
SSV
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device; hit
in Block 0 or 1.)
AI06306
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
108/150
M7020R
Figure 79. Globally Winning Device in Block Number 2
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
0
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
0
z
z
z
z
z
z
SADR[21:0]
A2
z
z
CE_L
0
0
ALE_L
z
z
z
z
WE_L
OE_L
1
z
z
z
z
1
1
SSV
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Global
winner.)
Search3
(Hit but not
a winner.)
AI06307
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
109/150
M7020R
Figure 80. Devices Below the Winning Device in Block Number 2
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
0
(BHI[2:0])
(4)
0
BHO[2:0]
SADR[21:0]
z
z
CE_L
ALE_L
WE_L
OE_L
SSV
z
z
z
z
z
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
AI06308
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
110/150
M7020R
Figure 81. Devices Above the Winning Device in Block Number 3
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
(4)
0
z
z
z
z
z
z
z
BHO[2:0]
SADR[21:0]
CE_L
ALE_L
WE_L
OE_L
SSV
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
AI06309
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
111/150
M7020R
Figure 82. Globally Winning Device in Block Number 3
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
0
0
0
(LHI[6:0])
(2)
LHO[1:0]
(3)
(BHI[2:0])
(4)
BHO[2:0]
0
z
z
z
z
z
z
SADR[21:0]
A1
CE_L
0
0
ALE_L
z
z
z
WE_L
OE_L
1
z
z
z
z
1
1
SSV
SSF
Search1
(Global
winner.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Hit but not
a global
Search3
(Miss on this
device.)
winner.)
AI06310
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
112/150
M7020R
Figure 83. Devices Below the Winning Device in Block Number 3 (not Device 30 - 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
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
0
(BHI[2:0])
(4)
BHO[2:0]
0
SADR[21:0]
z
z
CE_L
ALE_L
WE_L
OE_L
SSV
z
z
z
z
z
SSF
Search1
(Miss on this
device.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 0, LDEV = 0
Search2
(Miss on this
device.)
Search3
(Miss on this
device.)
AI06311
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
113/150
M7020R
Figure 84. Last Device in Block Number 3 (Device 30 in the Table)
Cycle 2
Cycle 1
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
Search1
01
Search2
01
Search3
01
CMD[1:0]
CMD[2]
CMD[8:2]
A
A
A
C
A
A
A
C
B
B
B
D
A
A
B
B
B
A
C
B
B
B
D
DQ
D
D1
D2
D3
(1)
(LHI[6:0])
0
0
(2)
LHO[1:0]
(3)
(BHI[2:0])
0
0
(4)
BHO[2:0]
z
z
z
z
z
z
SADR[21:0]
z
z
z
CE_L
0
0
0
0
ALE_L
z
z
WE_L
OE_L
z
z
1
1
z
z
z
z
z
z
0
0
0
0
SSV
SSF
Search1
(Hit on some
device above.)
CFG = 10101010,
HLAT = 000, TLSZ = 10,
LRAM = 1, LDEV = 1
Search2
(Hit on some
device above.)
Search3
(Hit on some
device above.)
AI06312
Note: 1. (LHI[6:0]) stands for the boolean ’OR’ of the entire bus LHI[6:0].
2. Each bit in LHO[1:0] is the same logical signal.
3. (BHI[2:0]) stands for the boolean ’OR’ of the entire bus BHI[2:0].
4. Each bit in BHO[2:0] is the same logical signal.
114/150
M7020R
Table 47. Latency of SEARCH from Cycles C and D to SRAM Access Cycle, 272-bit, Up to 31
Devices
# of devices
Max Table Size
8K x 272-bit
Latency in CLK Cycles
1 (TLSZ = 00)
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
4
5
6
64K x 272-bit
248K x 272-bit
Table 48. Shift of SSF and SSV from SADR
HLAT
Number of CLK Cycles
000
001
010
011
100
101
110
111
0
1
2
3
4
5
6
7
MIXED SEARCHES
Tables Configured with Different Widths Using
an M7020R
Note: The DQ[67:66] will be '00' in both of the Cy-
cles A and B of the x68-bit search (Search1).
DQ[67:66] is '01' in both of the Cycles A and B of
the x136-bit search (Search2). DQ[67:66] is '10' in
all of the Cycles A, B, C, and D of the x272-bit
search (Search 3). By having table designation
bits, the M7020R enables the creation of many ta-
bles in a bank of search engines of different
widths.
The sample operation shown is for a single device
with CFG = 1001000. It contains three tables of
x68, x136, and x272 widths. The operation may be
generalized to a block of 8–31 devices using four
blocks; the timing and the pipeline operation is the
same as described previously for fixed searches
on a table of one-width-size.
Figure 86, page 117 shows the sample table. Two
bits in each 68-bit entry will need to designated as
the Table Number Bits. One example choice can
be the '00' values for the table configured as x68,
'01' values for tables configured as x136, and '10'
values for tables configured as x272. For the
above explanation, it is further assumed that bits
[67:66] for each entry will be designed as these
Table Designation Bits.
Figure 85, page 116 shows three sequential
searches:
– a 68-bit search on the table configured as x68;
– a 136-bit search on a table configured as x136;
and
– a 272-bit search on the table configured as x272
bits that each results in a hit.
115/150
M7020R
Figure 85. Timing Diagram for Mixed SEARCH for One 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
Search1
01
Search3
01
CMD[1:0]
01
Search2
CMD[2]
CMD[8:2]
DQ
A
A
A
A
B
B
B
B
A
A
A
C
B
B
B
D
D1
D2
D3
A1
A2
0
A3
1
SADR[21:0]
CE_L
1
1
0
0
1
1
ALE_L
0
1
WE_L
OE_L
1
0
1
0
1
0
0
0
0
0
0
SSV
SSF
1
1
1
1
0
Search1
(x68 Hit)
CFG = 10010000,
Search2
(x136 Hit)
HLAT = 010, TLSZ = 00,
LRAM = 1, LDEV = 1
Search3
(x272 Hit)
AI06313
116/150
M7020R
Figure 86. Multi-Width Configurations Example
68
16 K
136
4 K
2 K
272
CFG = 10 01 00 00
AI06314
LRAM AND LDEV DESCRIPTION
When search engines are cascaded using multiple
M7020Rs, the SADR, CE_L, and WE_L (3-state
signals) are all tied together. In order 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 in the section below) 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.
Note: It is important that only one device in a bank
of search engines that are cascaded have this bit
set. Failure to do so will cause contention on
SADR, CE_L, WE_L, and can potentially cause
damage to the device(s).
Similarly, when search engines using multiple
M7020Rs are cascaded, SSF and SSV (also 3-
state signals) are tied together. In order to elimi-
nate external pull-up and pull-downs, one device
in a bank is designated as the default driver. For
non-SEARCH cycles or SEARCH cycles with a
global miss the SSF and SSV signals are driven by
the device with the LDEV Bit set.
Note: It is important that only one device in a bank
of search engines that are cascaded together
have this bit set. Failure to do so will cause conten-
tion on SSV and SSF and can potentially cause
damage to the device(s).
117/150
M7020R
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. The FULL signal in the
last device determines the fullness of the depth-
cascaded table.
In a depth-cascaded table, only a single device will
learn the entry through the application of a LEARN
Instruction. The determination of which device is
going to learn is based on the FULI and FULO sig-
nalling between the devices. The first non-full de-
vice learns the entry by storing the contents of the
specified comparand registers to the location(s)
pointed to by NFA.
In a x68-configured table the LEARN command
writes a single 68-bit location. In a x136-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,’
which indicates they are cascaded empty, or ’1,’
which indicates they are occupied.
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 M7020R updates the signal after
each WRITE or LEARN command to a data array.
The LEARN command generates a WRITE cycle
to the external SRAM, also using the NFA register
as part of the SRAM address (see SRAM AD-
DRESSING, page 126).
The LEARN command is supported on a single
block containing up to eight devices if the table is
configured either as a x68 or a x136. The LEARN
command is not supported for x272-configured ta-
bles.
LEARN is a pipelined operation and lasts for two
CLK cycles, as shown in Figure 87, page 119
where TLSZ = 00, and Figure 88, page 120 and
Figure 89, page 121 where TLSZ = 01 (which as-
sume 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 the cycle
before). The latency of the SRAM WRITE cycle
from the second cycle of the Instruction is shown
in Table 49, page 121.
The sequence of operation is as follows:
– Cycle 1A: The host ASIC applies the LEARN In-
struction on the CMD[1:0], using CMDV = 1.
The CMD[5:2] field specifies the index of the
comparand register pair that will be written in
the data array in the 136-bit-configured table.
For a LEARN in a 68-bit-configured table, the
even-numbered comparands specified by this
index will be written. CMD[8:7] carries the bits
that will be driven on SADR[21:20] 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 the CMDV to '0.'
At the end of Cycle 2, a new instruction can be-
gin. The latency of the SRAM WRITE is the
same as the search to the SRAM READ Cycle.
It is measured from the second cycle of the
LEARN Instruction.
118/150
M7020R
Figure 87. Timing Diagram of LEARN: 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]
CMD[8:2]
Learn2
Comp2
X
Learn1
Comp1
X
X
X
X
1A 1B
X
X
X
DQ
z
A2
SADR[21:0]
A1
0
0
0
CE_L
WE_L
1
1
1
1
0
1
OE_L
0
0
0
0
SSV
SSF
TLSZ = 00, LRAM = 1, LDEV = 1
AI06315
119/150
M7020R
Figure 88. Timing Diagram of LEARN: TLSZ = 01 (Except on the Last Device)
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]
DQ
X
X
X
1A 1B
X
z
z
X
X
z
z
z
z
z
A2
SADR[21:0]
CE_L
A1
0
0
0
WE_L
0
z
z
z
OE_L
SSV
SSF
TLSZ = 01, LRAM = 0, LDEV = 0
AI06316
120/150
M7020R
Figure 89. Timing Diagram of LEARN on Device 7: TLSZ = 01
Cycle 2
Cycle 4
Cycle 3
Cycle 6
Cycle 5
Cycle 8
Cycle 10
Cycle 1
Cycle 7
Cycle 9
CLK2X
PHS_L
CMDV
CMD[1:0]
CMD[8:2]
Learn2
X
Learn1
Comp1
X
Comp2
X
X
X
1A 1B
X
z
X
X
DQ
z
z
SADR[21:0]
z
z
z
z
CE_L
WE_L
1
1
1
1
1
1
1
OE_L
0
0
0
0
SSV
SSF
TLSZ = 01, LRAM = 1, LDEV = 1
AI06317
Table 49. Latency of SRAM WRITE Cycle from Second Cycle of LEARN Instruction
# of devices
1 (TLSZ = 00)
Latency in CLK Cycles
4
5
6
2–8 (TLSZ = 01)
9–31 (TLSZ = 10)
121/150
M7020R
DEPTH-CASCADING
The search engine application can depth-cascade
the device to various table sizes of different widths
(e.g., 68-bit, 136-bit, and 272-bit configurations).
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.
devices within that block, these signals stay open
and floating. The host ASIC must program the ta-
ble size (TLSZ) field to ’10’ in each of the devices
for cascading up to 31 devices (in up to four
blocks).
Depth-Cascading to Generate a “FULL” Signal
Bit[0] of each of the 68-bit entries is designated as
a special bit (1 = occupied; 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 92, page
125).
Depth-Cascading Up to Eight Devices (One
Block)
Figure 90, page 123 shows how up to eight devic-
es can cascade to form a 256K x68, 128K x136, or
64K x272 bit table. It also shows the interconnec-
tion between the devices for depth-cascading.
Each Search Engine asserts the LHO[1] and
LHO[0] signals to inform downstream devices of
its result. The LHI[6:0] signals for a device are con-
nected to LHO signals of the upstream devices.
The host ASIC must program the TLSZ to ’01’ for
each of up to eight devices in a block. Only a single
device drives the SRAM Bus in any single cycle.
Each device combines the FULO signals from the
devices above it with its own “full” status to gener-
ate a FULL signal that gives the “full” status of the
table up to the device asserting the FULL signal.
Figure 92, page 125 shows the hardware connec-
tion diagram for generating the FULL signal that
goes back to the ASIC. In a depth-cascaded block
of up to eight devices, the FULL signal from the
last device should be fed back to the ASIC control-
ler to indicate the fullness of the table. The FULL
signal of the other devices should be left open.
Note: The LEARN instruction is supported for only
up to eight devices, whereas FULL cascading is
allowed only for one block in tables containing
more than eight devices. In tables for which a
LEARN Instruction is not going to be used, the
Bit[0] of each 68-bit entry should always be set to
'1.'
Depth-Cascading Up to 31 Devices (4 Blocks)
Figure 91, page 124 shows how to cascade up to
four blocks. Each block contains up to eight
M7020Rs (except the last block) and the intercon-
nection within each is shown in Figure 90, page
123.
Note: The interconnection between blocks for
depth-cascading is important. For each SEARCH,
a block asserts BHO[2], BHO[1], and BHO[0]. The
BHO[2:0] signals for a block are the signals taken
only from the last device in the block. For all other
122/150
M7020R
Figure 90. Depth-Cascading to Form a Single Block
SRAM
BHI[2:0]
6
5
4
3
LHI
2
1
0
M7020R #0
LHO[1]
LHO[0]
SSF, SSV
DQ[67:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
6
5
4
3
2
1
0
0
0
LHI
M7020R #1
M7020R #2
M7020R #3
M7020R #4
M7020R #5
M7020R #6
M7020R #7
LHO[1]
LHO[0]
CMDV
CMD[8:0]
6
6
6
5
5
5
4
4
4
3
LHI
2
1
LHO[1]
LHO[0]
3
2
1
LHI
LHO[1]
LHO[0]
3
LHI
2
1
0
LHO[0]
3
2
1
1
0
0
6
5
LHI
4
4
LHI
LHO[0]
3
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]
AI05666
123/150
M7020R
Figure 91. Depth-Cascading Four Blocks
BHI[2]
BHI[1]
BHI[0]
GND
GND
GND
SRAM
SSF, SSV
Block of 8 M7020Rs, Block 0 (Devices 0-7)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 1 (Devices 8-15)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 2 (Devices 16-23)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
DQ[67:0]
Block of 7 M7020Rs, Block 3 (Devices 24-30)
BHO[2]
CMD[8:0], CMDV
BHO[1]
BHO[0]
AI05671
124/150
M7020R
Figure 92. “FULL” Generation in a Cascaded Table
V
V
DDQ
DQ[71:0]
6
5
4
FULI
3
2
1
0
M7020R
FULO[1]
FULO[0]
FULL
DDQ
6
5
4
3
2
1
0
0
0
FULI
M7020R
FULO[1]
FULO[0]
V
V
V
FULL
FULL
FULL
DDQ
DDQ
6
6
6
5
5
5
4
FULI
3
2
1
1
M7020R
FULO[1]
FULO[0]
4
3
2
FULI
M7020R
FULO[1]
FULO[0]
DDQ
4
3
2
1
0
FULI
FULO[0]
M7020R
V
DDQ
DDQ
FULL
FULL
3
3
2
1
1
0
0
6
5
4
FULI
M7020R
M7020R
M7020R
FULI
FULO[0]
V
2
FULI
6
5
4
FULI
FULO[0]
FULL
FULL
3
2
FULI
1
0
6
5
4
FULI
FULO[1] FULO[0]
AI06318
125/150
M7020R
SRAM ADDRESSING
Table 50, page 127 describes the commands used
to generate addresses on the SRAM Address Bus.
The index [14:0] field contains the address of a 68-
bit entry that results in a hit in 68-bit-configured
quadrant. It is the address of the 68-bit entry that
lies at the 136-bit page, and the 272-bit page
boundaries in 136-bit- and 272-bit-configured
quadrants, respectively.
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 in the device configuration register. The
latency of the ACK from the READ Instruction is
the same as the latency of the SEARCH Instruc-
tion to the SRAM address plus the HLAT pro-
grammed in the configuration register.
REGISTERS, page 21 of this specification, de-
scribes the NFA and SSR Registers. ADR[14:0]
contains the address supplied on the DQ Bus dur-
ing PIO access to the M7020R. Command Bits 8
and 7 {CMD[8:7]} are passed from the command
to the SRAM Address Bus (see COMMAND
CODES AND PARAMETERS, page 29 for more
information). ID[4:0] is the ID of the device driving
the SRAM Bus (see Figure 3, page 10 and Table
2, page 9 for more information).
The following explains the SRAM READ operation
in a table with only one device that has the follow-
ing parameters: TLSZ = 00, HLAT = 000, LRAM =
1, and LDEV = 1. Figure 93, page 127 shows the
associated timing diagram.
For the following description, the selected device
refers to the only device in the table because it is
the only device to be accessed.
The sequence of the operation is as follows:
– Cycle 1A: The host ASIC applies the READ In-
struction on the CMD[1:0], using CMDV = 1.
The DQ Bus supplies the address with
DQ[20:19] set to '10' to select the SRAM ad-
dress. 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:20] on CMD[8:7] in this cycle.
– Cycle 1B: The host ASIC continues to apply the
READ Instruction on the CMD[1:0] using
CMDV = 1. The DQ Bus supplies the address
with DQ[20:19] set to '10' to select the SRAM
address.
SRAM PIO Access
SRAM READ enables READ access to off-chip
SRAM that contains associative data. The latency
from the issuance of the READ Instruction to the
address appearing on the SRAM Bus is the same
as the latency of the SEARCH Instruction and will
depend on the TLSZ value parameter pro-
grammed in the device Configuration Register.
The latency of the ACK from the READ Instruction
is the same as the latency of the SEARCH Instruc-
tion to the SRAM address plus the HLAT pro-
grammed in the Configuration Register.
Note: SRAM READ is a blocking operation – no
new instruction can begin until the ACK is returned
by the selected device performing the access.
– Cycle 2: The host ASIC floats DQ[67:0] to a 3-
state condition.
– Cycle 3: The host ASIC keeps DQ[67:0] in a 3-
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 in the device Configuration Register.
Note: SRAM WRITE is a pipelined operation –
new instruction can begin right after the previous
command has ended.
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 the DQ Bus in
a 3-state condition; it drives ACK low.
At the end of Cycle 6, the selected device floats
ACK in a 3-state condition, and a new command
can begin.
SRAM READ with a Table of One Device
SRAM READ enables READ access to the off-
chip SRAM containing associative data. The laten-
cy from the issuance of the READ Instruction to
126/150
M7020R
Table 50. Generating an SRAM Bus Address
Command
SEARCH
SRAM Operation
READ
21
C8
C8
C8
C8
C8
20
C7
C7
C7
C7
C7
[19:15]
ID[4:0]
ID[4:0]
ID[4:0]
ID[4:0]
ID[4:0]
[14:0]
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
Figure 93. SRAM READ Access for One Device
Cycle 1 Cycle 2
Cycle 3
Cycle 4
Cycle 5
Cycle 6
CLK2X
PHS_L
CMDV
READ
CMD[1:0]
A
B
CMD[8:2]
DQ
z
z
Address
(DQ driven by M7040)
0
1
1
OE_L
WE_L
CE_L
0
0
1
1
1
ALE_L
SADR
ACK
Address
z
z
1
0
0
0
0
SSV
SSF
HLAT = 000, TLSZ = 00, LRAM = 1, LDEV = 1
AI06319
127/150
M7020R
SRAM READ with a Table of Up to Eight Devices
The following explains the SRAM READ operation
completed through a table of up to eight devices
using the following parameters: TLSZ = 01. Figure
94, page 129 diagrams a block of eight devices.
with DQ[20:19] set to '10' to select the SRAM
address.
– Cycle 2: The host ASIC floats DQ[67:0] to a 3-
state condition.
The following assumes that SRAM access is suc-
cessfully achieved through M7020R Device 0. Fig-
ure 95, page 130 and Figure 96, page 131 show
timing diagrams for Device 0 and Device 7, re-
spectively.
– Cycle 1A: The host ASIC applies the READ In-
struction on the 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 ID[4:0] match-
es the DQ[25:21] lines. During this cycle the
host ASIC also supplies SADR[21:20] on
CMD[8:7].
– Cycle 3: The host ASIC keeps DQ[67:0] in a 3-
state condition.
– Cycle 4: The selected device starts to drive
DQ[67:0].
– Cycle 5: The selected device continues to drive
DQ[67:0] and drives ACK from high-Z to low
– Cycle 6: The selected device drives the READ
address on SADR[21:0]. It also drives ACK
high, CE_L low, WE_L high, and ALE_L low.
– Cycle 7: The selected device drives CE_L,
ALE_L, WE_L, and the DQ Bus in a 3-state con-
dition. It continues to drive ACK low.
– Cycle 1B: The host ASIC continues to apply the
READ Instruction on the CMD[1:0] using
CMDV = 1. The DQ Bus supplies the address
At the end of Cycle 7, the selected device floats
ACK in 3-state condition and a new command can
begin.
128/150
M7020R
Figure 94. Table with Eight Devices
SRAM
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
SSF, SSV
BHI[2:0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
DQ[67:0]
CMDV
BHI[2:0]
6
6
6
5
5
5
4
4
4
3
LHI
2
1
CMD[8:0]
M7020R #2
M7020R #3
M7020R #4
M7020R #5
M7020R #6
M7020R #7
LHO[1]
LHO[0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
3
2
1
LHI
LHO[1]
LHO[0]
3
LHI
2
1
0
LHO[0]
3
3
2
1
1
0
0
6
5
LHI
LHO[0]
4
4
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]
AI05666
129/150
M7020R
Figure 95. SRAM READ Through Device 0 in a Block of Eight Devices
Cycle 1 Cycle 2
Cycle 3
Cycle 4
Cycle 5
Cycle 6 Cycle 7
CLK2X
PHS_L
CMDV
READ
CMD[1:0]
A
B
CMD[8:2]
DQ
z
z
Address
(DQ driven by the selected M7040)
z
z
OE_L
WE_L
CE_L
z
1
0
z
z
z
0
ALE_L
SADR
z
z
Address
z
1
ACK
0
0
z
z
SSV
SSF
HLAT = 000, TLSZ = 01, LRAM = 0, LDEV = 0
AI06320
130/150
M7020R
Figure 96. SRAM READ Timing for Device 7 in a Block of Eight Devices
Cycle 1 Cycle 2
Cycle 3
Cycle 4
Cycle 5
Cycle 6
CLK2X
PHS_L
CMDV
READ
CMD[1:0]
A
B
CMD[8:2]
DQ
z
Address
0
OE_L
WE_L
CE_L
z
z
z
z
1
1
1
1
1
1
ALE_L
SADR
z
z
z
ACK
SSV
SSF
HLAT = 000, TLSZ = 01, LRAM = 0, LDEV = 0
AI06321
131/150
M7020R
SRAM READ with a Table of Up to 31 Devices
The following explains the SRAM READ operation
accomplished through a table of up to 31 devices,
using the following parameters: TLSZ = 10. The di-
agram of such a table is shown in Figure 97, page
133.
The following assumes that SRAM access is being
accomplished through M7020R Device 0 and that
Device 0 is the selected device. Figure 98, page
134 and Figure 99, page 135 show the timing dia-
grams for Device 0 and Device 30, respectively.
– Cycle 1A: The host ASIC applies the READ In-
struction to 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:20] on
CMD[8:7].
DQ[20:19] set to '10,' to select the SRAM ad-
dress.
– Cycle 2: The host ASIC floats DQ[67:0] to a 3-
state condition.
– Cycle 3: The host ASIC keeps DQ[67:0] in a 3-
state condition.
– Cycle 4: The selected device starts to drive
DQ[67:0].
– Cycles 5 to 6: The selected device continues to
drive DQ[67:0].
– Cycle 7: The selected device continues to drive
DQ[67:0] and drives an SRAM READ cycle.
– Cycle 8: The selected device drives ACL from Z
to low.
– Cycle 9: The selected device drives ACK to
high.
– Cycle 10: The selected device drives ACK from
– Cycle 1B: The host ASIC continues to apply the
READ Instruction to CMD[1:0] using CMDV = 1.
The DQ Bus supplies the address, with
high to low.
At the end of Cycle 10, the selected device floats
ACL in a 3-state condition.
132/150
M7020R
Figure 97. Table of 31 Devices Made of Four Blocks
BHI[2]
BHI[1]
BHI[0]
GND
GND
GND
SRAM
SSF, SSV
Block of 8 M7020Rs, Block 0 (Devices 0-7)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 1 (Devices 8-15)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 2 (Devices 16-23)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
DQ[67:0]
Block of 7 M7020Rs, Block 3 (Devices 24-30)
BHO[2]
CMD[8:0], CMDV
BHO[1]
BHO[0]
AI05671
133/150
M7020R
Figure 98. SRAM READ Through Device 0 in a Bank of 31 Devices (Device 0 Timing)
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[1:0]
CMD[8:2]
READ
00
A
B
Address
DQ driven by the selected M7040
DQ
OE_L
WE_L
CE_L
ALE_L
z
z
z
1
z
0
z
z
0
z
z
Address
z
SADR[21:0]
z
z
1
ACK
0
0
z
z
SSV
SSF
HLAT = 010, TLSZ = 01, LRAM = 0, LDEV = 0
AI06322
134/150
M7020R
Figure 99. SRAM READ Through Device 0 in a Bank of 31 Devices (Device 30 Timing)
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[1:0]
CMD[8:2]
READ
00
A
B
Address
DQ
OE_L
WE_L
CE_L
ALE_L
0
z
z
1
1
1
1
1
1
z
z
SADR[21:0]
z
ACK
SSV
SSF
0
0
HLAT = 010, TLSZ = 01, LRAM = 1, LDEV = 1
AI06323
135/150
M7020R
SRAM WRITE with a Table of One Device
SRAM WRITE enables WRITE access to the off-
chip SRAM that contains associative data. The la-
tency from the second cycle of the WRITE Instruc-
tion to the address appearing on the SRAM Bus is
the same as the latency of the SEARCH Instruc-
tion, and will depend on the TLSZ value parameter
programmed in the device configuration register.
The following explains the SRAM WRITE opera-
tion accomplished with a table of only one device
of the following parameters: TLSZ = 00, HLAT =
000, LRAM = 1, and LDEV = 1. Figure 100, page
137 shows the timing diagram.
Note: CMD[2] must be set to '0' for SRAM
WRITE because Burst WRITEs into the SRAM
are not supported.
– Cycle 1B: The host ASIC continues to apply the
WRITE Instruction on CMD[1:0], using
CMDV = 1. The DQ Bus supplies the address
with DQ[20:19] set to '10' to select the SRAM
address.
Note: CMD[2] must be set to '0' for SRAM
WRITE because Burst WRITEs into the SRAM
are not supported.
– Cycle 2: The host ASIC continues to drive
DQ[67:0]. The data in this cycle is not used by
the M7020R device.
– Cycle 3: The host ASIC continues to drive
DQ[67:0]. The data in this cycle is not used by
the M7020R device.
At the end of Cycle 3, a new command can begin.
The WRITE is a pipelined operation. The WRITE
Cycle appears at the SRAM Bus, however, with
the same latency as that of a SEARCH Instruction,
as measured from the second cycle of the WRITE
command.
For the following description the selected device
refers to the only device in the table as it 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 sup-
plies SADR[21:20] on CMD[8:7] in this cycle.
136/150
M7020R
Figure 100. SRAM WRITE Access for One Device
Cycle 1 Cycle 2
Cycle 3
Cycle 4
Cycle 5
Cycle 6
CLK2X
PHS_L
CMDV
WRITE
CMD[1:0]
A
B
CMD[8:2]
DQ
Address
X
X
1
0
1
OE_L
0
0
0
WE_L
CE_L
1
1
ALE_L
SADR
Address
z
ACK
SSV
0
0
SSF
HLAT = 000, TLSZ = 00, LRAM = 1, LDEV = 1
AI06324
137/150
M7020R
SRAM WRITE with a Table of Up to Eight Devices
The following explains the SRAM WRITE opera-
tion done through a table(s) of up to eight devices
with the following parameters (TLSZ = 01). The di-
agram of such a table is shown in Figure 101,
page 139.
– Cycle 1B: The host ASIC continues to apply the
WRITE Instruction on CMD[1:0] using CMDV =
1. The DQ Bus supplies the address with
DQ[20:19] set to '10' to select the SRAM ad-
dress.
The following assumes that SRAM access is done
through M7020R Device 0. Figure 102, page 140
and Figure 103, page 141 show the timing dia-
gram for Device 0 and Device 7, respectively.
– 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 sup-
plies SADR[23:21] 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 2: The host ASIC continues to drive
DQ[67:0]. The data in this cycle is not used by
the M7020R device.
– Cycle 3: The host ASIC continues to drive
DQ[67:0]. The data in this cycle is not used by
the M7020R device.
At the end of cycle 3, a new command can begin.
The WRITE is a pipelined operation. The WRITE
Cycle appears at the SRAM Bus, however, with
the same latency as that of a SEARCH Instruction,
as measured from the second cycle of the WRITE
command.
Note: CMD[2] must be set to '0' for SRAM
WRITE because Burst WRITEs into the SRAM
are not supported.
138/150
M7020R
Figure 101. Table with Eight Devices
SRAM
BHI[2:0]
6
5
4
3
2
1
0
LHI
M7020R #0
M7020R #1
LHO[1]
LHO[0]
SSF, SSV
BHI[2:0]
6
5
4
3
LHI
2
1
0
0
0
LHO[1]
LHO[0]
DQ[67:0]
CMDV
BHI[2:0]
6
6
6
5
5
5
4
4
4
3
LHI
2
1
CMD[8:0]
M7020R #2
M7020R #3
M7020R #4
M7020R #5
M7020R #6
M7020R #7
LHO[1]
LHO[0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
BHI[2:0]
3
2
1
LHI
LHO[1]
LHO[0]
3
LHI
2
1
0
LHO[0]
3
2
1
1
0
0
6
5
LHI
LHO[0]
4
4
LHI
3
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]
AI05666
139/150
M7020R
Figure 102. SRAM WRITE Through Device 0 in a Block of Eight Devices
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[1:0]
CMD[8:2]
WRITE
01
A
B
Address
X
X
DQ
OE_L
WE_L
CE_L
ALE_L
z
z
z
z
z
0
0
z
z
0
z
z
Address
z
SADR[21:0]
z
ACK
SSV
SSF
z
z
HLAT = XXX, TLSZ = 01, LRAM = 0, LDEV = 0
AI06325
140/150
M7020R
Figure 103. SRAM WRITE Timing for Device 7 in a Block of Eight Devices
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[1:0]
CMD[8:2]
WRITE
01
A
B
Address
DQ
X
X
0
0
OE_L
WE_L
CE_L
1
z
z
1
1
1
1
1
1
ALE_L
z
z
SADR[21:0]
z
ACK
SSV
SSF
0
0
HLAT = XXX, TLSZ = 01, LRAM = 1, LDEV = 1
AI06326
141/150
M7020R
SRAM WRITE with Table(s) of Up to 31 Devices
The following explains the SRAM WRITE opera-
tion done through a table(s) of up to 31 devices
with the following parameters (TLSZ = 10). The di-
agram of such table(s) is shown in Figure 104,
page 143. The following assumes that SRAM ac-
cess is done through M7020R Device 0 – Device
0 is the selected device. Figure 105, page 144 and
Figure 106, page 145 show the timing diagram for
Device 0 and Device 30, respectively.
– 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 sup-
plies SADR[21:20] on CMD[8:7] in this cycle.
– Cycle 1B: The host ASIC continues to apply the
WRITE Instruction on CMD[1:0] using CMDV =
1. The DQ Bus supplies the address with
DQ[20:19] set to '10' to select the SRAM 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 M7020R device.
– Cycle 3: The host ASIC continues to drive
DQ[67:0]. The data in this cycle is not used by
the M7020R device.
At the end of Cycle 3, a new command can begin.
The WRITE is a pipelined operation. The WRITE
Cycle appears at the SRAM Bus, however, with
the same latency as that of a SEARCH Instruction,
as measured from the second cycle of the WRITE
command
Note: CMD[2] must be set to '0' for SRAM
WRITE because Burst WRITEs into the SRAM
are not supported.
142/150
M7020R
Figure 104. Table of 31 Devices (Four Blocks)
BHI[2]
BHI[1]
BHI[0]
GND
GND
GND
SRAM
SSF, SSV
Block of 8 M7020Rs, Block 0 (Devices 0-7)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 1 (Devices 8-15)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
Block of 8 M7020Rs, Block 2 (Devices 16-23)
BHO[2]
BHO[1]
BHO[0]
BHI[2]
BHI[1]
BHI[0]
DQ[67:0]
Block of 7 M7020Rs, Block 3 (Devices 24-30)
BHO[2]
CMD[8:0], CMDV
BHO[1]
BHO[0]
AI05671
143/150
M7020R
Figure 105. SRAM WRITE Through Device 0 in a Bank of 31 Devices (Device 0 Timing)
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[1:0]
CMD[8:2]
WRITE
01
A
B
Address
DQ
OE_L
WE_L
CE_L
ALE_L
X
X
z
z
z
z
0
0
z
z
z
z
0
Address
z
z
z
SADR[21:0]
ACK
SSV
SSF
z
z
HLAT = XXX, TLSZ = 10, LRAM = 0, LDEV = 0
AI06327
144/150
M7020R
Figure 106. SRAM WRITE Through Device 0 in a Bank of 31 Devices (Device 30 Timing)
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[1:0]
CMD[8:2]
WRITE
01
A
B
Address
DQ
X
X
0
OE_L
WE_L
CE_L
1
z
z
1
1
1
1
1
1
ALE_L
z
z
SADR[21:0]
z
ACK
SSV
SSF
0
0
HLAT = XXX, TLSZ = 10, LRAM = 1, LDEV = 1
AI06328
145/150
M7020R
JTAG (1149.1) TESTING
The M7020R supports the Test Access Port and
Boundary Scan Architecture as specified in the
IEEE JTAG standard 1149.1. The pin interface to
the chip consists of five signals with the standard
definitions: TCK, TMS, TDI, TDO, and TRST_L.
Table 51 describes the operations that the test ac-
cess port controller supports and Table 52 de-
scribes the TAP Device ID Register.
Note: To disable JTAG functionality, connect the
TCK, TMS, and TDI pins to Ground, and TRST_L
to V
.
DD
Table 51. Supported Operations
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 52. 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]
0000 0000 0000 0001 This is the part number for this device.
Manufacturer ID. This field is the same as the manufacturer ID
000_1101_1100
1
used in the TAP controller.
Least Significant Bit
146/150
M7020R
PART NUMBERING
Table 53. Ordering Information Scheme
Example:
M70
20
R
–083
ZA
1
T
Device Type
M70 Search Engine
Density
20 = 2Mb (32K 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
–050 = 50 Million Searches per Second
Package
(1)
PBGA = 272-ball count, 27mm x 27mm , 1.27mm ball pitch
Temperature Range
1 = 0 to 70°C
Shipping Option
Tape & Reel Packing = T
Note: 1. Where “Z” is the symbol for BGA packages and “A” denotes 1.27mm ball pitch
For a list of available options (e.g., Speed, Package) or for further information on any aspect of this device,
please contact the ST Sales Office nearest to you.
147/150
M7020R
PACKAGE MECHANICAL INFORMATION
Figure 107. 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 54. 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
0.70
1.110
0.029
0.078
1.110
0.037
1.110
(2,3)
0.50
1.63
0.020
0.067
1.094
0.024
1.094
A1
A2
1.90
(4)
27.00
0.75
26.80
0.60
27.20
0.90
1.102
0.031
1.102
0.985
0.980
0.052
1.102
0.985
0.980
B
b
D
27.00
24.13
24.00
1.27
26.80
27.20
D1
D2
e
E
27.00
24.13
24.00
26.80
272
27.20
1.094
272
1.110
E1
E2
n
ddd
eee
0.20
0.30
0.008
0.012
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.
148/150
M7020R
REVISION HISTORY
Table 55. Document Revision History
Date
Revision Details
February 2001 First Issue
03/23/01
04/02/01
07/23/01
Document re-organization, change in Power Distribution text
Updated mechanical drawing and table (Figure 107, Table 54)
Routine maintenance (based on recent data sheet review findings)
Change references to “Lara” and “ST” to Cypress in “Description” section; added 83MHz speed
grade to document; values, references, and footnotes changed (Table 3, 4, 5, 6, 7, 54); labels
changed (Figures 5, 8); basic formatting changes based on recent reviews
10/02/01
11/14/01
Rework document (add graphics, change text) after Cypress purchase
149/150
M7020R
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.
© 2001 STMicroelectronics - All Rights Reserved
STMicroelectronics GROUP OF COMPANIES
Australia - Brazil - China - Finland - France - Germany - Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco -
Singapore - Spain - Sweden - Switzerland - United Kingdom - U.S.A.
www.st.com
150/150
相关型号:
![](http://pdffile.icpdf.com/pdf1/p00049/img/page/M7020R_257771_files/M7020R_257771_1.jpg)
![](http://pdffile.icpdf.com/pdf1/p00049/img/page/M7020R_257771_files/M7020R_257771_2.jpg)
M7020R-050ZA1
SPECIALTY TELECOM CIRCUIT, PBGA272, 27 X 27 MM, 1.27 MM PITCH, PLASTIC, BGA-272
STMICROELECTR
![](http://pdffile.icpdf.com/pdf2/p00268/img/page/M7040N-066ZA_1610704_files/M7040N-066ZA_1610704_1.jpg)
![](http://pdffile.icpdf.com/pdf2/p00268/img/page/M7040N-066ZA_1610704_files/M7040N-066ZA_1610704_2.jpg)
M7040N-066ZA1
SPECIALTY TELECOM CIRCUIT, PBGA388, 35 X 35 MM, 1.27 MM PITCH, PLASTIC, BGA-388
STMICROELECTR
©2020 ICPDF网 联系我们和版权申明