ETC IDT77V012

IDT77V012
Data Path Interface (DPI) to
UTOPIA Level 1 Header
Translation Device
‹ Utility bus interface for programming PHY devices
‹ Single +3.3V ± 0.3V power supply required
‹ Inputs are +5.0V tolerant
‹ 8, 12, 24, 28 or 32-bit ATM header lookup. Ideal for network
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
side of SwitchStar DSLAM designs where full header access
is needed
Supports VPI Tunneling
Supports both UNI and NNI formats
Accounting functionality counts the number of cells on a
per VC basis
8-bit UTOPIA Level 1 Tx and Rx interfaces
Supports UTOPIA Level 1 cell mode operation
4-bit DPI Tx and Rx interfaces
DPI interface supports cell sizes from 52 to 56 bytes for
applications requiring a TAG
DPI interface operates up to 66MHz
In-Stream™ (In-band) programming for configuration of the
77V012, PHY and external search SRAM
Supports up to 8K active connections with an external 128K
x 32 SRAM. Up to 16K connections are supported in a 256K
x 32 SRAM
Inserts new ATM cell header and up to four bytes of TAG in
receive direction, and removes TAG from cell header in
transmit direction
The IDT77V012 provides full header translation functionality along
with Data Path Interface (DPI) to UTOPIA Level 1 translation for switch
and DSLAM designs using the IDT SwitchStar. The address search and
replacement algorithm is performed using a VPI Tunneling or Full
Header format on 8, 12, 24, 28 or 32-bits of the header. This added flexibility makes it suitable for both UNI and NNI formats. External memory
is required to perform the header translation (receive direction only),
which will support up to 16K connections using a 256K x 32 SRAM. The
new header, which is obtained as a result of the search, can be used to
overwrite the existing cell header in the receive path. A four byte TAG
can also be added to aid in routing cells.
The 77V012 also contains cell counters in the transmit and receive
direction. The counters can be used to provide detailed per VC
accounting information for a particular port.
Other features include In-Stream™ programming, which can be
utilized on either the DPI or UTOPIA interfaces, a Utility Bus interface for
accessing registers in the PHY device, and an interface for an
EEPROM.
SRAM
64K x 32
to
256K x 32
OC-3
or
STS-3
DPI
Receive
UTOPIA 1
Receive
IDT77155
PHY
UTOPIA 1
Transmit
Utility
Bus
IDT77V012
UTOPIA 1
to DPI
interface w/
Header
Translation
"
"
"
"
"
"
"
"
DPI
Transmit
IDT77V400
Switching
Memory
5347drw01
Figure 1 Typical IDT77V012 Application with the IDT77V400 Switching Memory
1 of 46
 2001 Integrated Device Technology, Inc.
March 26, 2001
DSC 5347/7
IDT77V012
DPI
Transmit
Interface
UTOPIA 1
Transmit
Interface
TAG
Removal
EEPROM
Interface
Cell
Generator
Cell
Receiver
Utility Bus
Interface
TAG
Adder and
MUX
DPI
Receive
Interface
UTOPIA 1
Receive
Interface
RxFIFO
SRAM
Interface
Search Tree
5347drw02
GND
RCLK
R xLED
RENB
GND
RCLAV
RxDATA[0]
RxDATA[1]
RxDATA[2]
VCC
RxDATA[3]
RxDATA[4]
RxDATA[5]
RxDATA[6]
RxDATA[7]
RSOC
TCLAV
VCC
GND
TCLK
TxLED
TENB
TxDATA[0]
TxDATA[1]
TxDATA[2]
TxDATA[3]
TxDATA[4]
GND
VCC
TxDATA[5]
TxDATA[6]
TxDATA[7]
TxPRTY
TSOC
CNTRL_A
VCC
IDT77V012
PQFP
TOP
VIEW(3)
108
107
106
105
104
103
102
101
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
80
79
78
77
76
75
74
73
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
VCC
DATA[10]
DATA[11]
DATA[12]
DATA[13]
DATA[14]
DATA[15]
ADDR[16]
GND
VCC
ADDR[15]
ADDR[14]
ADDR[13]
ADDR[12]
ADDR[11]
ADDR[10]
ADDR[9]
ADDR[8]
ADSP
OE
GW
SCLK
GND
VCC
ADDR[17]
CE
ADDR[0]
ADDR[1]
ADDR[2]
ADDR[3]
ADDR[4]
ADDR[5]
ADDR[6]
ADDR[7]
DATA[16]
GND
GND
DTxDATA[0]
DTxDATA[1]
DTxDATA[2]
DTxDATA[3]
DTxFRM
VCC
GND
DTxCLK
DRxFRM
DRxDATA[0]
DRxDATA[1]
DRxDATA[2]
DRxDATA[3]
VCC
GND
DRxCLK
EECS
EEDIN
EEDOUT
EECLK
SYS RST
SYSCLK
GND
VCC
DATA[0]
DATA[1]
DATA[2]
DATA[3]
DATA[4]
DATA[5]
DATA[6]
DATA[7]
DATA[8]
DATA[9]
GND
144
143
142
141
140
139
138
137
136
135
134
133
132
131
130
129
128
127
126
125
124
123
122
121
120
119
118
117
116
115
114
113
112
111
110
109
INDEX
GND
CNTRL_B
ALE
AD[7]
AD[6]
AD[5]
AD[4]
AD[3]
VCC
GND
AD[2]
AD[1]
AD[0]
PHYIN T
RD
WR
PH YR ST
PH Y C S
DATA[31]
DATA[30]
DATA[29]
DATA[28]
DATA[27]
DATA[26]
DATA[25]
DATA[24]
DATA[23]
GND
VCC
DATA[22]
DATA[21]
DATA[20]
DATA[19]
DATA[18]
DATA[17]
VCC
5347drw03
Note: 1. All power pins must be connected to a 3.3V ± 0.3V power supply.
2. All GND pins must be connected to ground supply.
3. This text does not indicate orientation of the actual part-marking.
2 of 46
March 26, 2001
IDT77V012
DRxDATA [0]
11
O
4-bit output data bus used to transfer data to a DPI device [LSB].
DRxDATA [1]
12
O
4-bit output data bus used to transfer data to a DPI device [LSB+1].
DRxDATA [2]
13
O
4-bit output data bus used to transfer data to a DPI device [LSB+2].
DRxDATA [3]
14
O
4-bit output data bus used to transfer data to a DPI device [MSB].
DRxFRM
10
O
DPI receive start of frame marker.
DRxCLK
17
I/O
Receive DPI clock.
DTxDATA [0]
2
I
4-bit input data bus used to transfer data from a DPI device [LSB].
DTxDATA [1]
3
I
4-bit input data bus used to transfer data from a DPI device [LSB+1].
DTxDATA [2]
4
I
4-bit input data bus used to transfer data from a DPI device [LSB+2].
DTxDATA [3]
5
I
4-bit input data bus used to transfer data from a DPI device [MSB].
DTxFRM
6
I
DPI transmit start of frame marker.
DTxCLK
9
O
Transmit DPI clock.
RxDATA [0]
138
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [LSB].
RxDATA [1]
137
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [LSB+1].
RxDATA [2]
136
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [LSB+2].
RxDATA [3]
134
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [LSB+3].
RxDATA [4]
133
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [LSB+4].
RxDATA [5]
132
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [LSB+5].
RxDATA [6]
131
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [LSB+6].
RxDATA [7]
130
I
8-bit UTOPIA 1 input data bus used to transfer data from a PHY device [MSB].
RSOC
129
I
UTOPIA 1 Receive Start of Cell.
RCLAV
139
I
UTOPIA 1 Receive Cell Available.
RENB
141
O
UTOPIA 1 Receive Enable.
RxLED
142
O
UTOPIA 1 Receive LED, open drain.
RCLK
143
O
UTOPIA 1 Receive Clock.
TxDATA [0]
122
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [LSB].
TxDATA [1]
121
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [LSB+1].
TxDATA [2]
120
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [LSB+2].
TxDATA [3]
119
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [LSB+3].
TxDATA [4]
118
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [LSB+4].
TxDATA [5]
115
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [LSB+5].
TxDATA [6]
114
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [LSB+6].
TxDATA [7]
113
O
8-bit UTOPIA 1 output data bus used to transfer data to a PHY device [MSB].
TSOC
111
O
UTOPIA 1 Transmit Start of Cell.
Table 1 Pin Description (Part 1 of 4)
3 of 46
March 26, 2001
IDT77V012
TCLAV
128
I
UTOPIA 1 Transmit Cell Available.
TENB
123
O
UTOPIA 1 Transmit Enable.
TxLED
124
O
UTOPIA 1 Transmit LED, open drain.
TCLK
125
O
UTOPIA 1 Transmit Clock.
TxPRTY
112
O
Transmit Parity.
EECLK
21
O
EEPROM Clock.
EECS
18
O
EEPROM Chip Select.
EEDIN
19
I
Serial input from the EEPROM.
EEDOUT
20
O
Serial output to the EEPROM.
AD[0]
96
I/O
Utility Bus Address and Data Bus [LSB].
AD[1]
97
I/O
Utility Bus Address and Data Bus [LSB+1].
AD[2]
98
I/O
Utility Bus Address and Data Bus [LSB+2].
AD[3]
101
I/O
Utility Bus Address and Data Bus [LSB+3].
AD[4]
102
I/O
Utility Bus Address and Data Bus [LSB+4].
AD[5]
103
I/O
Utility Bus Address and Data Bus [LSB+5].
AD[6]
104
I/O
Utility Bus Address and Data Bus [LSB+6].
AD[7]
105
I/O
Utility Bus Address and Data Bus [MSB].
PHYCS
91
O
Utility Bus PHY Chip Select.
RD
94
O
Utility Bus Read.
WR
93
O
Utility Bus Write.
ALE
106
O
Utility Bus Address Latch Enable.
PHYRST
92
O
PHY Reset, open drain.
PHYINT
95
I
PHY Interrupt.
SYSRST
22
I
System Reset.
SYSCLK
23
I
System Clock.
CNTRL_A
110
O
Control pin A.
CNTRL_B
107
O
Control pin B.
SCLK
58
O
SRAM Clock.
ADSP
55
O
SRAM Address Status Processor.
GW
57
O
SRAM Global Write Enable.
CE
62
O
SRAM Chip Enable.
OE
56
O
SRAM Output Enable.
ADDR[0]
63
O
SRAM Address bus.
I
Tx TAG Size [0]. Number of bytes to remove from cell in transmit direction (LSB).
Table 1 Pin Description (Part 2 of 4)
4 of 46
March 26, 2001
IDT77V012
ADDR[1]
ADDR[2]
ADDR[3]
ADDR[4]
ADDR[5]
ADDR[6]
ADDR[7]
ADDR[8]
ADDR[9]
ADDR[10]
ADDR[11]
64
O
SRAM Address bus.
I
Tx TAG Size [1]. Number of bytes to remove from cell in transmit direction (LSB+1).
O
SRAM Address bus.
I
Tx TAG Size [2]. Number of bytes to remove from cell in transmit direction (MSB).
O
SRAM Address bus.
I
"Tx TAG Location. Location of TAG in the transmit direction. "0" beginning of cell, "1" end of cell."
O
SRAM Address bus.
I
"Tx Add HEC. Add a HEC placeholder. "0" do not add placeholder, "1" add placeholder."
O
SRAM Address bus.
I
Rx TAG Size [0]. Number of bytes to add to cell in receive direction (LSB).
O
SRAM Address bus.
I
Rx TAG Size [1]. Number of bytes to add to cell in receive direction (LSB + 1).
O
SRAM Address bus.
I
Rx TAG Size [2]. Number of bytes to add to cell in receive direction (MSB).
O
SRAM Address bus.
I
"Rx Rem HEC. Remove HEC from the cell. "0" do not remove the HEC byte, "1" remove the HEC byte."
O
SRAM Address bus.
I
"DPI Mode. Selects DRxCLK direction. "0" switch mode (output), "1" normal mode (input)."
O
SRAM Address bus.
I
"In-Stream™ Direction. Selects the interface that the In-Stream™ cells will be filtered on. "0" transmit DPI interface, "1" receive UTOPIA interface."
O
SRAM Address bus.
I
"Init from EEPROM. Selects whether first four bytes stored in EEPROM are to be written to In-Stream™ Cell
Header registers. "0" do not write value to registers, "1" write four byte value from EEPROM to In-Stream™ Cell
Header registers."
65
66
67
68
69
70
54
53
52
51
ADDR[12]
50
O
SRAM Address bus.
ADDR[13]
49
O
SRAM Address bus.
ADDR[14]
48
O
SRAM Address bus.
ADDR[15]
47
O
SRAM Address bus.
ADDR[16]
44
O
SRAM Address bus.
ADDR[17]
61
O
SRAM Address bus.
DATA[0]
26
I/O
SRAM Data bus.
DATA[1]
27
I/O
SRAM Data bus.
DATA[2]
28
I/O
SRAM Data bus.
DATA[3]
29
I/O
SRAM Data bus.
DATA[4]
30
I/O
SRAM Data bus.
Table 1 Pin Description (Part 3 of 4)
5 of 46
March 26, 2001
IDT77V012
DATA[5]
31
I/O
SRAM Data bus.
DATA[6]
32
I/O
SRAM Data bus.
DATA[7]
33
I/O
SRAM Data bus.
DATA[8]
34
I/O
SRAM Data bus.
DATA[9]
35
I/O
SRAM Data bus.
DATA[10]
38
I/O
SRAM Data bus.
DATA[11]
39
I/O
SRAM Data bus.
DATA[12]
40
I/O
SRAM Data bus.
DATA[13]
41
I/O
SRAM Data bus.
DATA[14]
42
I/O
SRAM Data bus.
DATA[15]
43
I/O
SRAM Data bus.
DATA[16]
71
I/O
SRAM Data bus.
DATA[17]
74
I/O
SRAM Data bus.
DATA[18]
75
I/O
SRAM Data bus.
DATA[19]
76
I/O
SRAM Data bus.
DATA[20]
77
I/O
SRAM Data bus.
DATA[21]
78
I/O
SRAM Data bus.
DATA[22]
79
I/O
SRAM Data bus.
DATA[23]
82
I/O
SRAM Data bus.
DATA[24]
83
I/O
SRAM Data bus.
DATA[25]
84
I/O
SRAM Data bus.
DATA[26]
85
I/O
SRAM Data bus.
DATA[27]
86
I/O
SRAM Data bus.
DATA[28]
87
I/O
SRAM Data bus.
DATA[29]
88
I/O
SRAM Data bus.
DATA[30]
89
I/O
SRAM Data bus.
DATA[31]
90
I/O
SRAM Data bus.
Vcc
7,15,25,37,
46,60,73,80,
100,109,116,
127,135
Power
3.3V Power supply pins.
GND
1,8,16,24,36,
45,59,72,81,
99,108,117,
126,140,144
Ground
Ground pins.
Table 1 Pin Description (Part 4 of 4)
6 of 46
March 26, 2001
IDT77V012
VCC
3.3V Digital Supply Voltage
GND-0.3
3.6
V
VIN
Digital Input Voltage
GND-0.3
5.50
V
VOUT
Digital Output Voltage
Gv-0.3
VCC
V
GND
Digital Ground Voltage
0
0
V
IOUT1
Output Current CNTRL_A, CNTRL_B
—
12.0
mA
IOUT2
Output Current EECLK, EECS, EEDOUT
—
2.0
mA
IOUT3
Output Current RxLED, TxLED, PHYRST (open drain)
—
6.0
mA
IOUT4
Output Current all outputs except those listed in I OUT1, IOUT2 and IOUT3
—
6.0
mA
TSTG
Storage Temperature
-55
140
C°
VCC
Digital Supply Voltage
3.0
3.6
V
VIN
TTL Input Voltage
GND
5.5
V
TA
Industrial Operating Temperature
-40
+85
°C
titr
Input TTL rise time
—
2
ns
titf
Input TTL fall time
—
2
ns
VIH
TTL Input High Voltage
2.0
—
V
VIL
TTL Input Low Voltage
—
0.8
V
!
!
|ILI|
Input Leakage Current
VCC = 3.3V, VIN = 0V to VCC
10
10
µA
|ILO|
Output Leakage Current
VOUT = 0V to VCC
10
10
µA
VOH
TTL Output High Voltage
IOH = -4mA
2.4
—
V
VOL
TTL Output Low Voltage
IOL = +4mA
—
0.4
V
ICC
Power Supply Current
155.52 Mbps
—
80
mA
CIN
Input Capacitance
All Inputs
—
4
—
pF
COUT
Output Capacitance
All Outputs
—
6
—
pF
CBID
Bi-Directional Capacitance
All Bi-directional Pins
—
10
—
pF
7 of 46
March 26, 2001
IDT77V012
"
#
$
$# "
" #
#
The 77V012 uses a UTOPIA level 1 interface to receive and transmit
ATM cells to and from the PHY device. It has a UTOPIA master interface
and operates with a 8-bit data bus. UTOPIA cell level handshake is used
to transfer the cells between the ATM layer and the PHY layer. UTOPIA
byte level handshake is not supported by the 77V012.
The 77V012 offers a fully compliant UTOPIA Level 1 Receive interface, as specified by the UTOPIA Level 1 specification. The interface is
a UTOPIA master that operates with a 8-bit Input Data Bus
(RxDATA[7:0]). UTOPIA cell level handshake is used to receive ATM
cells from the PHY device. The other signals associated with this interface are Receive Start of Cell (RSOC), Receive Enable (RENB),
Receive Cell Available (RCLAV), Receive LED (RxLED), and Receive
Clock (RCLK).
The Data Path Interface (DPI) uses a 4-bit data bus, which interfaces
the 77V012 to the IDT SwitchStar.
The EEPROM holds information for initialization and Discovery/Identify cells. The EEPROM is an option and does not need to be implemented.
The Utility Bus interface contains the control pins used to program
and read the internal PHY registers.
The SRAM interface is used to configure internal registers at reset
and to interface with the external SRAM during normal operation.
The Misc. interface offers two test pins, that are controlled through
registers.
RCLK is a continuous clock, which is half the frequency of System
Clock (SYSCLK).
RxLED indicates if there is activity on the UTOPIA receive bus. This
open drain signal asserts low when a cell is transferred over the bus,
and will stay asserted for 2 RCLK cycles. At 40MHz this is approximately 0.1 seconds.
22
The 77V012 will assert RENB low upon detection of a high RCLAV.
Once RSOC is detected the 77V012 will receive the entire cell without
interruption.
When a TAG is not being used there is no delay between back to
back cells. There is a maximum delay of eight clock cycles between
back to back cells when a four byte TAG is being used.
DPI
Receive
Interface
DRxCLK
DRxFRM
RCLK
DRxDATA[3:0]
RENB
RSOC
RxDATA[7:0]
RCLAV
DTxCLK
DPI
Transmit
Interface
DTxFRM
Rx LED
IDT77V012
DTxDATA[3:0]
UTOPIA
Receive
Interface
TCLK
TSOC
TENB
EEDIN
Serial
EEPROM
Interface
System
Interface
TxDATA[7:0]
EEDOUT
TCLAV
EECS
UTOPIA
Transmit
Interface
TxPRTY
T x L ED
EECLK
ADDR[17:0]
SYSRS T
DATA[31:0]
SYSCLK
SCLK
A DS P
GW
P HY CS
ALE
CE
RD
OE
WR
SRAM
Interface
PHYRST
Utility Bus
Interface
P H YI N T
CNTRL_A
AD[7:0]
CNTRL_B
Misc.
Interface
5347drw04
Figure 2 77V012 Interfaces
8 of 46
March 26, 2001
IDT77V012
Cells can be dropped on the Rx UTOPIA interface by setting the
RxData Cell Filter bit of the Configuration 2 register. This option is to
prevent cells from reaching the switch when the 77V012 is in software
reset, but the rest of the system is still under normal operation. When
this bit is set to a one the 77V012 will drop all data cells and filter only InStream™ cells, if In-Stream™ filtering is being done on the Rx UTOPIA
interface. A hardware reset will clear this bit, while a software reset will
not. This register bit must be written to disable the function after a software reset has occurred. When enabled the receive cell counters are
disabled, which includes both the UTOPIA Rx Cell Counter registers and
the Rx Counters in the Result Node. The transmit section is not affected
by this bit. See UTOPIA Receive Register Table for register description.
There are no delays between back to back cells when a TAG is not
being used, and a maximum eight clock cycle delay between back to
back cells when a four byte TAG is being used
$# #
#
The 77V012 offers a fully compliant UTOPIA Level 1 Transmit interface, as specified by the UTOPIA Level 1 specification. The interface is
a UTOPIA master that utilizes a 8-bit output data bus (TxDATA[7:0]).
UTOPIA cell level handshake is used to transmit ATM cells to the PHY
device. Other signals associated with this interface are Transmit Start of
Cell (TSOC), Transmit Enable (TENB), Transmit Clock (TCLK), Transmit
LED (TxLED), Transmit Parity (TxPRTY) and Transmit Cell Available
(TCLAV).
TCLK is a continuous clock, which is half the frequency of System
Clock (SYSCLK).
TxLED indicates if there is activity on the UTOPIA transmit bus. This
open drain signal asserts low when a cell is transferred over the bus,
and will stay asserted for 2 TCLK cycles. At 40MHz this is approximately 0.1 seconds.
22
TxPRTY is a parity bit for the TxDATA[7:0] bus.
Upon detection of a high TCLAV the 77V012 will assert TENB, TSOC
and the first valid byte of data. TSOC is one TCLK cycle long and coincides with the first valid byte of data (TxDATA[7:0]). When the entire cell
has been transferred the 77V012 will sample TCLAV for cell availability.
The PHY will de-assert TCLAV if it cannot accept another cell.
When a TAG is not being used there is a maximum of one clock cycle
delay between back to back cells. There is a maximum delay of five
clock cycles back to back cells when a four byte TAG is being used.
There is one register associated with the UTOPIA 1 Transmit interface. Programming the Drop Cell register bit is done with an In-Stream™
programming cell.When this bit is set to a zero the 77V012 will stall the
pipeline, if the PHY transmit FIFO is full, thus halting transmission until a
high TCLAV is detected. When set to a one the 77V012 will drop cells if
the PHY transmit FIFO is full.
RCLK
(output)
RCLAV
(input)
RENB
(output)
RSOC
(input)
RxDATA[7:0]
(input)
0
1
2
47
48
49
50
51
52
5347drw05
Figure 3 One Cell Transfer on Receive UTOPIA 1 Bus
RCLK
(output)
RCLAV
(input)
R E NB
(output)
RSOC
(input)
RxDATA[7:0]
(input)
48
49
50
51
52
0
1
47
48
49
50
51
5347drw06
Figure 4 Back-to-Back Cell Transfer without Tag Added
9 of 46
March 26, 2001
IDT77V012
TCLK
(output)
TCLAV
(input)
TENB
(output)
TSOC
(output)
TxDATA[7:0]
(output)
0
1
46
47
48
49
50
51
5347drw07
Figure 5 One Cell Transfer on Transmit UTOPIA 1 Bus
TCLK
(output)
TCLAV
(input)
TENB
(output)
TSOC
(output)
TxDATA[7:0]
(output)
49
50
51
52
0
1
46
47
48
49
5347drw08
Figure 6 Back-to-Back Cell Transfer without Tag Added
Configuration 2
8002
!
"
6
!
RxData Cell
Filter
#
0-1
$
#
Allow cells to be dropped on the receive UTOPIA interface. In-StreamTM
cells are not affected by the condition of this bit, if they are being filtered on
the receive UTOPIA interface. "0" pass cells received on the receive UTOPIA interface, "1" filter and drop data cells on the receive UTOPIA interface.
0
Table 2 UTOPIA Receive Register Table
Configuration 2
8002
!
"
5
!
Drop Cell
#
0-1
$
#
0
Selects action if PHY transmit FIFO is full: "0" stall pipeline,
"1" drop cells.
Table 3 UTOPIA Transmit Register Table
Rx TAG and
Mode Select
8006
!
"
4
!
DPI Mode
#
0-1
$
#
Defined by
pin
Selects DRxCLK direction. "0" switch mode (output), "1" normal mode
(input).
Table 4 DPI Receive Register Table
10 of 46
March 26, 2001
IDT77V012
# #
#
# #
#
The Data Path Interface (DPI) is a synchronous bus interface
designed to transfer ATM cells between two devices. The 77V012 DPI
interface supports a 4-bit wide data bus (DPI-4), with separate transmit
and receive interfaces. All signals are sampled on the rising edge of
their respective clock.
The DPI Transmit Interface is used to transfer cells from the IDT
SwitchStar or other DPI device to the 77V012. It has a 4-bit input data
bus (DTxDATA[3:0]) and follows the standard DPI timing characteristics
as described in the DPI specification. Other signals associated with this
interface are DPI Transmit Start of Frame (DTxFRM), and DPI Transmit
Clock (DTxCLK).
# "
" #
DTxCLK operates at a frequency less than or equal to SYSCLK.
DTxCLK can stop if the PHY device signals it cannot accept another cell
and the 77V012 has already started to stage the next cell to be transferred in its pipeline. When the PHY signals it can accept additional cells
DTxCLK will resume and the cell transfer will continue.
The DPI Receive Interface is used to transfer cells from the 77V012
to the IDT SwitchStar or other DPI device. It has a 4-bit Output Data Bus
(DRxDATA[3:0]) and follows the standard DPI timing characteristics as
described in the DPI specification. Other signals associated with this
interface are DPI Receive Start of Frame (DRxFRM) and DPI Receive
Clock (DRxCLK).
DTxFRM is the start of frame marker. This signal is one DTxCLK
cycle long and is asserted high one DTxCLK cycle before the first valid
nibble of data.
DRxCLK operates at a frequency less than or equal to SCLK.
Depending on the DPI mode selected this clock will be either an input or
an output. In Normal Mode DRxCLK is an input to the 77V012. In Switch
Mode DRxCLK is a continuous clock generated by the 77V012. There is
no flow control in Switch mode, as it is assumed that the IDT SwitchStar
will be able to accept all incoming cells (non-blocking). Programming the
clock direction is done at reset.
A pull-up or pull-down resistor is connected to ADDR[11:0] signals to
select desired register values. The SYSRST signal must be asserted for
at least one SYSCLK cycle to load the desired values. On the rising
edge of SYSRST the 77V012 will begin loading the register values,
which takes an additional 16 SYSCLK cycles. During this 16 clock cycle
period all outputs will be tri-stated.
DRxFRM is the start of frame marker. This signal is one DRxCLK
cycle long and is asserted high one DRxCLK cycle before the first nibble
of valid data.
DRxCLK
(output)
DRxFRM
(output)
DRxDATA[3:0]
(output)
0
1
2
3
103
104
105
5347drw09
Figure 7 One Cell Transfer on Receive DPI Bus
DRxCLK
(output)
DRxFRM
(output)
DRxDATA[3:0]
(output)
0
1
2
3
103
104
105
5347drw10
Figure 8 Back-to-Back Cell Transfer on Receive DPI Bus
DTxCLK
(output)
DTxFRM
(input)
DTxDATA[3:0]
(input)
0
1
2
3
103
104
105
5347drw11
Figure 9 One Cell Transfer on Transmit DPI Bus
11 of 46
March 26, 2001
IDT77V012
DTxCLK
(output)
DTxFRM
(input)
DTxDATA[3:0]
104
(input)
105
0
1
2
3
103
104
0
105
5347drw12
Figure 10 Back-to-Back Cell Transfers on Transmit DPI Bus
DTxCLK
(output)
DTxFRM
(input)
DTxDATA[3:0]
(input)
1
0
103
104
105
5347drw13
Figure 11 DTxCLK Stopping During Cell Transfer
% & ADDR[2:0]
Tx TAG Size
Number of bytes to remove from the cell in the transmit direction. Valid values are Tx TAG [2:0]
from zero to four bytes.
ADDR[3]
Tx TAG Location
"Location of the TAG in the transmit direction. "0" beginning of the cell, "1" end of
the cell."
ADDR[4]
Tx Add HEC
"Add a HEC placeholder to the cell. "0" do not add HEC placeholder, "1" add HEC Tx TAG [4]
placeholder."
ADDR[7:5]
Rx TAG Size
Number of bytes to add to the cell in the receive direction. Valid values are from
zero to four bytes.
ADDR[8]
Rx Remove HEC
"Remove HEC byte from cell. "0" do not remove HEC byte, "1" remove HEC byte." Rx TAG and Mode Select [3]
ADDR[9]
DPI Mode
"Selects direction of DRxCLK. "0" switch mode (output), "1" normal mode (input)."
Rx TAG and Mode Select [4]
ADDR[10]
In-Stream™ Direction
"Interface to filter In-Stream™ programming cells. "0" filter on transmit DPI interface, "1" filter on receive UTOPIA interface."
Rx TAG and Mode Select [5]
ADDR[11]
Init from EEPROM
"Write four bytes from EEPROM to In-Stream™ Cell Header registers. "0" do not
write four byte value, "1" write four byte value."
Rx TAG and Mode Select [6]
Tx TAG [3]
Rx TAG and Mode Select [2:0]
Table 5 Reset Configuration Pins
' ((#)*+
Software Reset (In-StreamTM)
X
SYSRST (external pin)
X
,- '
. X
PHY reset (register bit)
X
Search Table Reset (register bit)
X
Table 6 Reset Table
12 of 46
March 26, 2001
IDT77V012
%
!
%
! &
&
Resetting the 77V012 can be accomplished with either the external
pins or In-Stream™ programming cells, while the PHY and Search
Tables are reset with In-Stream™ cells.
The 77V012 can run at a maximum SYSCLK speed of 66MHz. The
DPI clocks must run at 40MHz, or greater, to achieve 155.52Mbps data
rate with overhead. The Clock Speed vs. Bandwidth Table lists some of
the possible data rates and the clock frequencies required to achieve
them.
The System Reset (SYSRST) pin will reset the 77V012 and the PHY
devices when asserted low. The 77V012 can also be reset with an InStream™ cell carrying the Reset command (Message Type ID 0x3),
however, this command does not reset the PHY device. When using the
SYSRST pin the device will stay in reset for 16 SYSCLK cycles after the
rising edge of SYSRST.
The PHY can be reset at any time by writing a one to the PHY Reset
bit of the Reset register. Writing a one will toggle the external PHYRST
pin low for 16 SYSCLK cycles, while the PHY is being reset. This bit will
return to zero once the reset command is completed. This method will
only reset the PHY device connected to the PHYRST pin.
The Search Table is reset by writing a one to the Search Table Reset
bit of the Reset register. Writing a one to this register bit will fill the
Search Table with Null pointers, which takes 1K to 12K SYSCLK cycles
depending on the size of the Search Table. This command only resets
the Search Table in the SRAM.
Cells can be dropped on the Rx UTOPIA interface by setting the
RxData Cell Filter bit of the Configuration 2 register. When this bit is set
to a one the 77V012 will drop all data cells and filter only In-Stream™
cells, if In-Stream™ filtering is being done on the Rx UTOPIA interface.
A hardware reset will clear this bit, while a software reset will not. This
register bit must be written to disable the function after a software reset
has occurred. When enabled the receive cell counters are disabled,
which includes both the UTOPIA Rx Cell Counter registers and the Rx
Counters in the Result Node. The transmit section is not affected by this
bit.
SYSCLK
(MHz)
DTxCLK &
DRxCLK
(MHz)
TCLK &
RCLK
(MHz)
40
40
44
$
$# # "
"
Bit swapping must be performed to convert the 8-bit Tx and Rx of the
UTOPIA interface to the 4-bit Tx and Rx of the DPI interface. Cell
formatting is big endian, or upper nibble first. The UTOPIA to DPI
conversion table illustrates how the 77V012 performs cell formatting.
$
'
$
' #
The Utility Bus interface is used to access the PHY registers. A one
to 32-byte read or write command is accomplished by using In-Stream™
cells.
Signals associated with the Utility Bus Interface are Chip Select
(PHYCS), Address Latch Enable (ALE), Address/Data Bus (AD[7:0]),
Read (RD), Write (WR), PHY Reset (PHYRST) and PHY Interrupt
(PHYINT).
PHYCS is used to validate activity on the Utility Bus. When
PHYCS ="0" the Utility Bus is active with valid data transactions. When
PHYCS ="1" the Utility Bus is not selected.
ALE is an active high signal used to latch the address, on AD[7:0], in
the address phase of a Utility Bus read or write operation.
AD[7:0] is a byte wide multiplexed bi-directional bus used to read and
write data to the PHY.
Bandwidth of UTOPIA Interface (cell rate in Mbps)
52 byte cell
(w/o HEC)
53 byte cell
(normal cell w/HEC)
54 byte cell (one byte if
TAG added w/HEC)
55 byte cell (two bytes
of TAG added w/HEC)
56 byte cell (four bytes of
TAG added w/o HEC)
20
157
157
144
144.3
140
44
22
172.7
172.7
158.4
158.7
154
50
50
25
196.2
196.3
180
180.3
175
66
66
33
259
259.1
237.6
238
231
Table 7 Clock Speed vs. Bandwidth Table
UTOPIA
DPI-4
bit 7
bit 0
bit 3
bit 0
GFC
VPI[7:4]
GFC
VPI[3:0]
VCI[15:12]
VPI[7:4]
VCI[11:4]
VPI[3:0]
Table 8 UTOPIA to DPI Conversion
13 of 46
March 26, 2001
IDT77V012
RD is an active low signal used as an enable to read data from an
addressed location on the AD[7:0] bus.
WR is an active low signal used as an enable to write data to an
addressed location on the AD[7:0] bus.
PHYRST is an active low PHY reset signal.
PHYINT is an active low interrupt signal. This signal is driven by the
PHY layer and indicates that an interrupt has occurred. The interrupt
must be cleared by the controlling CPU before another interrupt event
can be reported.
Registers associated with the Utility Bus interface are described in
the Utility Bus Register Table. The register address range is described in
the Address Map.
$
' A Utility bus read is initiated by an In-Stream™ programming cell.
Once the 77V012 interprets the cell as a read command it will drive
PHYCS, ALE, RD, and AD[7:0]. The PHY samples the address on the
falling edge of ALE. Once PHYCS and RD assert the bus tristates and
switches to an input for the PHY to place data on. The PHY drives the
bus until the rising edge of PHYCS or RD. One Utility Bus read can
include up to 32 bytes of data.
$
' %
A Utility bus write is initiated by an In-Stream™ programming cell.
Once the 77V012 interprets the cell as a write command it will drive
PHYCS, ALE, WR, and AD[7:0]. The PHY samples the address on the
falling edge of ALE. Once PHYCS and WR assert the 77V012 will write
data to the PHY. One Utility Bus write can include up to 32 bytes of data.
Register
Name
PHY Reset
Register
Address
800A
Bit
#
0
Bit
Name
PHY Reset
Value
Range
##
The EEPROM is an optional device that can be used for initialization
and Discovery/Identify cells. The data is broken up into five fields. Bytes
[3:0] contain a value that can be read at reset and placed in the InStream™ Cell Header registers to be used for the In-Stream™ cell
header. Bytes [7:4] are not used at this time, while bytes [39:8] contain
32-bytes of data, which is read when a Discovery/Identify command is
encountered. Bytes 40 to 127 are reserved and bytes 128 to 255 are
user defined. The registers associated with the EEPROM are listed in
the EEPROM Register Table.
Signals associated with this interface are Clock (EECLK), Chip
Select (EECS), Data Out (EEDOUT), Data In (EEDIN), and ADDR[11].
EECLK is generated from SYSCLK and is an output of the 77V012.
EECS is an active low chip select signal used to validate a read or
write operation.
EEDOUT is a serial output data pin to the EEPROM.
EEDIN is a serial input data pin from the EEPROM.
At reset ADDR[11] selects whether or not to write the first four bytes
stored in the EEPROM to the In-Stream™ Cell Header registers. The
loading process starts on the rising edge of SYSCLK following the
completion of the reset cycle. The loading process takes approximately
2000 SYSCLK cycles to complete, at which time the value is loaded into
the registers.
The EEPROM can be controlled with the EEPROM register bits,
which include Mux Select (EEPROM Mux Sel), Clock Output (EEPROM
Clock Out), Chip Select (EEPROM Chip Select), Data Out (EEPROM
Out), and Data In (EEPROM In).
Default
Value
0-1
0
Description
When set high the PHYRST on the Utility Bus Interface will be asserted low
for 16 SYSCLK cycles. The register will reset to zero after the command is
executed.
Table 9 UTOPIA Receive Register Table
(I)
SYSCLK
tPALE
(O)
ALE
(O)
PHYCS
tALPW
tPPHY
tALR
(O)
RD
(I/O) Add/Data[7:0]
tAAL
tRDPW
tALA
Address
Read Data from PHY
tDRS
tDRH
5347drw14
Figure 12 Utility Bus Read Operation
14 of 46
March 26, 2001
IDT77V012
EEPROM Mux Select indicates whether the EEPROM pins will be
connected to the In-Stream™ logic, or to the EEPROM registers. When
connected to the In-Stream™ logic 32-bytes of data are read from the
EEPROM if a Discovery/Identify command is filtered. Controlling the
EEPROM from the registers enables the user the flexibility of reading
and writing the EEPROM at any time. Programming is accomplished
with In-Stream™ cells regardless of the method used to access the
EEPROM.
EEPROM Clock Out is used to clock the EEPROM when it is being
controlled by the registers. This register must be written to twice to
execute one EEPROM clock cycle. You must write to the clock register
to perform a read or write command.
EEPROM Chip Select validates transactions on the EEPROM interface when controlled by the EEPROM registers.
EEPROM Out is a 1-bit register used to output data to the EEPROM.
EEPROM In is a 1-bit register used to input data from the EEPROM.
& #
cell accounting is being used. Memory sizes can be from 64K x 32-bit to
256K x 32-bit. See the Memory Size Table for valid memory sizes.
Signals associated with this interface are Address [17:0]
(ADDR[17:0]), Data [31:0] (DATA[31:0]), SRAM Clock (SCLK), Address
Status (ADSP), Global Write (GW), Chip Enable (CE) and Output
Enable (OE).
During normal operation ADDR[17:0] is the address bus used to
access the SRAM. Only ADDR[15:0] are required if a 64K x 32-bit
SRAM is used. During reset ADDR[11:0] are input pins used to configure
TAG parameters, In-Stream™ cell direction, and initialization from
EEPROM.
DATA[31:0] is a 32-bit bi-directional data bus used to read and write
data to the SRAM.
SCLK is a synchronous clock output used by the SRAM for all timing
references. It is the same frequency as the UTOPIA interface clock.
ADSP is a synchronous output used to load the SRAM address
registers with a new address.
GW is a synchronous global read/write enable.
The SRAM interface is used to connect the 77V012 to the synchronous flow-through memory. The SRAM contains the Search Tree used
to translate the original incoming ATM cell header to the new ATM cell
header. The SRAM size is configurable and is dependent on the number
of connections desired, the complexity of the Search Tree, and whether
(I)
CE is an active low chip enable.
OE is an active low output enable.
The SRAM address range is described in the Address Map.
SYSCLK
tPALE
tALPW
(O)
ALE
(O)
PHYCS
tPPHY
(O)
WR
tALW
tWRPW
tAW
tAAL
tALA
Address
(O) Add/Data[7:0]
Write Data to PHY
tDWS
tDWH
5347drw15
Figure 13 Utility Bus Write Operation
Register Register Bit Register Value Default
Name Address # Name Range Value
Pin Control
8004
Description
3
EEPROM Mux 0 - 1
Select
0
"Indicates if the EEPROM interface will be connected to the internal logic or the EEPROM
registers. "0" connected to internal logic, "1" connected to EEPROM registers."
4
EEPROM
Clock Out
0-1
0
"EEPROM clock when EEPROM interface is connected to the EEPROM registers. "0"
clock low, "1" clock high."
5
EEPROM Chip 0 - 1
Select
0
"EEPROM chip select when EEPROM interface is connected to the EEPROM registers.
"0" EEPROM interface is selected, "1" EEPROM interface is not selected."
6
EEPROM Out 0 - 1
0
EEPROM output bus when EEPROM interface is connected to the EEPROM registers.
7
EEPROM In
0
EEPROM input bus when EEPROM interface is connected to the EEPROM registers.
0-1
Table 10 EEPROM Register Table (Part 1 of 2)
15 of 46
March 26, 2001
IDT77V012
Register Register Bit Register Value Default
Name Address # Name Range Value
Rx TAG and 8006
Mode Select
6
Init from
EEPROM
0-1
0
Description
"Four byte write from EEPROM to In-Stream™ Cell Header registers at reset. "0" do not
write four byte value, "1" write four byte value to registers."
Table 10 EEPROM Register Table (Part 2 of 2)
Total Memory
Allocated
Best Case Connections Supported
(cell accounting enabled)
Worst Case Connections Supported
(cell accounting enabled)
64K x 32
13K1
2.5K2
128K x 32
16K1
5K3
256K x 32
16K1
5K3
Table 11 Memory Size Table
1.
Best case conditions are limited by the Result Node, which uses a memory block that is 64Kx32-bit in size.
2.
This worst case condition is cased by all structures using the same 64Kx32-bit block of memory.
3.
Worst case conditions are determined by the number of Search Trees. This worst case condition uses one Search Tree, which resides in a 64Kx32-bit block of memory.
Byte
0xFFFFFF
255
Reserved
0x840000
0x83FFFF
SRAM
(either 64K, 128K,
or 256K)
User Defined
Aligned on word boundary
(32-bits = 1 word)
0x800000
0x07FFFF
Reserved
128
127
77V012 Registers
Reserved
PHY Registers
Discovery/Identify
cell data
Reserved
In-Stream™ cell header
Aligned on byte boundary
(8-bits = 1 byte)
Reserved
40
39
8
7
4
3
0
0x008026
0x008025
0x008000
0x007FFF
0x000100
0x0000FF
0x000000
5347drw17
Figure 14 Address Map
5347drw16
Figure 15 EEPROM Memory Map
16 of 46
March 26, 2001
IDT77V012
(
(
The search of a new header is the combination of a direct lookup
table and a search tree, which can be conducted on either 8, 12, 24, 28
or 32-bits of the cell header.
( The first level of search is a direct lookup in the Search Table. The
result from this level of search will return the top node of a Search Tree,
with up to 4K unique Search Trees in the Search Table. The direct
lookup search is conducted on either the first 8 or 12-bits of the VPI field.
The Search GFC bit of the Configuration 1 register determines how
many bits to use for the direct lookup Search Table. When Search GFC
bit equals one the lookup is conducted using the first 12-bits of the
header. When the Search GFC bit is set to a zero an 8-bit lookup is
implemented, which uses the first 12-bits minus the 4-bit GFC field.
The number of bits being used for the direct lookup Search Table
determines the amount of memory required for the Search Table. The
Search Table is located in memory on 4K x 32-bit block boundaries.
When 12-bits are used for the search the table is 4K x 32-bits, when 8bits are being used the size of the Search Table will be 256 x 32-bits.
The search offset value, programmed through the Search Table Offset
[5:0] of the Table Offset register, is used as the base pointer address.
The direct lookup returns an address to a 32-bit memory location
[31:0], which contains a 18-bit pointer and a 1-bit indicator. Bits [17:0]
are the 18-bit pointer and bit [31] is the Tunneling Bit. The Tunneling bit
and the VPI Tunneling Enable bit of the Configuration 1 register indicate
what type of node the 18-bit pointer is pointing to, either a Search Table
Node or a Tunneling Node.
When the result is a Search Table Node, the search is continued by
using the next two bits of the header. The two bits are combined with the
Root Node, returned from the initial level of search, to traverse the next
level of the Search Tree. The result of the two bit search is a 16-bit
address that points to either a Non Terminal Node or a Leaf Node.
A Non Terminal Node is combined with the next two bits of the
header to form a pointer for the next level of search. The two bits are
combined with the Root Node of the previous level of search. The result
of this two bit search is either another Non Terminal Node or a Leaf
Node.
A Leaf Node is a 16-bit address returned from the last level of
search. The Leaf Node is combined with the Result Node Offset and
Result Bit to form a Result Node Pointer. The Result Node Pointer points
to a Result Node that contains either two 32-bit words or four 32-bit
words.
When the Tunneling bit of the Tunneling Node is equal to one and the
VPI Tunneling Enable bit of the Configuration 1 register is set to a one
the 18-bit pointer returned from the direct lookup points to a Result
Node. The Result Node contains either two or four 32-bit words. When
the Tunneling option is enabled the VCI value will not be overwritten.
The new header contains the new VPI value, the new GFC value if the
Overwrite GFC option is selected, and the new PT/CLP value if the
Overwrite PT/CLP option is selected.
The Result Node contains the TAG, new cell header and cell
accounting information, if enabled. The first 32-bit word of the Result
Node contains the TAG, the second 32-bit word contains the new cell
header, the third word is the Rx Cell Counter and the fourth word is the
Tx Cell Counter. The Rx and Tx Cell Counters are enabled by setting the
Cell Accounting On bit in the Configuration 1 register to a one.
All tables in the SRAM use programmable offset pointers. There are
generally two dedicated areas in the memory, one 4K block for the
search table and one 0-64K block for the Result Nodes. The remaining
memory is used for the Search Trees.
There are several registers associated with the SRAM memory and
the searching of a new header. A description for each register is given in
the Search Tree Register table.
& ' The number of header bits and the type of search determines the
number of memory accesses required to complete the search. Refer to
the SRAM Memory Access Table for possible lookup combinations and
the number of accesses required.
The Result Node Tx and Rx cell counters may require additional read
and write cycles to the SRAM. When cell accounting is disabled the Tx
Counter does not require any additional read or write cycles, while the
Rx path requires two read cycles and no write cycles. When cell
accounting is enabled the Tx path requires one read and one write
cycle, while the Rx path requires three read cycles and one write cycle.
Number of Bits Number of Bits Used Accesses to Locate
Accesses Used to
Total Number of
Used in Search for Direct Lookup
Search Table
Transverse Search Tree Accesses Requited
24
8
1
8
9
28
12
1
8
9
28
8
1
10
11
32
12
1
10
11
Table 12 SRAM Memory Access Table
17 of 46
March 26, 2001
IDT77V012
12-bit VPI Lookup Search Table
(one level of search)
0
1
2
0 1 2 3
16-bit VCI Search Tree
(up to ten levels of search)
4095
0 1 2 3
0 1 2 3
TAG
New Header
5347drw18
Figure 16 Lookup Search Table and Search Tree
{SO [5:0]; VPI [11:0]}
Search Table
18-bit address used for first level of search
31:30
18:17 16:15
0
TB
DC
TLN
1-bit
2-bits
16-bits
TN
4K or 256 block
of memory
TN
SO
TB = 1
64Kx32-bit Memory Block
31
{RNO [1:0]; TLN [15:1];RB [0]}
0
RNO
64K
31
0
00
01
TAG
RB = 0
New ATM Header
RB = 1
64K
10
64K
Tunneling Node (TN) - 32-bit field returned from the
first level of search.
Tunneling Bit (TB) - 1-bit field indicating if the search
is a VPI tunneling search or a full header lookup.
Don't Care (DC) - A 2-bit don't care field.
Tunneling Leaf Node (TLN) - 16-bit field returned from
the first level of search. This address points to a Result
Node.
Result Node Offset (RNO) - Offset for memory area used
to store the Result Nodes. This register value divides the
memory into 64Kx32-bit blocks.
11
64K
256Kx32-bit SRAM
Result Bit (RB) - 1-bit field indicating what 32-bit
entry RNP is pointing to. RB = 0 points to the TAG
and RB=1 points to the new ATM header.
Search Offset (SO) - 6-bit offset pointer that points
to a 64Kx32-bit memory block and the starting
position of the Search Tree.
5347drw19
Figure 17 Header Lookup with VPI Tunneling Enabled, Cell Accounting Disabled
18 of 46
March 26, 2001
IDT77V012
{SO [5:0]; VPI [11:0]}
18-bit address used for first level of search
Search Table
TN
18:17 16:15
0
DC
TLN
1-bit
2-bits
16-bits
4K or 256 block
of memory
31:30
TB
TN
SO
TB = 1
64Kx32-bit Memory Block
{RNO [1:0]; TLN [15:2];RB [1:0]}
31
0
RNO
00
31
64K
0
TAG
RB = 00
New ATM Header
RB = 01
Rx Counter
RB = 10
Tx Counter
RB = 11
01
64K
10
64K
11
64K
256Kx32-bit SRAM
Result Bit (RB) - 2-bit field indicating what 32-bit
entry the Result Node pointer is pointing to. RB =
00 points to the TAG, RB=01 points to the new ATM
header, RB=10 points to the Rx Counter and RB=11
points to the Tx Counter.
5347drw20
Figure 18 Header Lookup with VPI Tunneling Enabled, Cell Accounting Enabled
Input Header
31
PT
CLP
VCI
TAG
VPI
VCI
{
{
{
{
{
{
{
VPI
{
GFC
TAG + New Header
0
4K Entries
(12-bit
look-up)
31
256
Entries (8bit lookup)
31
31
0
0
31
0
31
0
31
31
0
TAG
New Header
Rx Counter
Tx Counter
0
31
31
} Accounting
0
0
0
31
0
5347drw21
Figure 19 Header Lookup
19 of 46
March 26, 2001
IDT77V012
{SO [5:0]; VPI [11:0]}
31
18-bit address used for first level of search
18:17 16:15
0
STO
RN
2-bits
16-bits
STN
Search Offset (SO) - 6-bit offset pointer that points
to a 64Kx32-bit memory block and the starting position of
the Search Tree.
31
0
Search Tree Offset (STO) - 2-bit field that points to one
of the 64Kx32-bit memory blocks. This 2-bit field is used
for all subsequent levels of search.
00
64K
Search Table
STN (18-bits)
Root Node (RN) - 16-bit field combined with STO to create
STN.
01
10
64K
11
4K or 256 block
of memory
64K
SO
Search Table Node (STN) - 18-bit field returned from the
first level of search. This address points to the top level
of a unique Search Tree.
64K
5347drw22
256Kx32-bit SRAM
64Kx32-bit Memory Block
Figure 20 Traversing the Search Tree for a 24-Bit Header
20 of 46
March 26, 2001
IDT77V012
Get next two bits of VCI = [SB0,SB1] and overwrite LSB (bit 0) of RN with SB0
{STO[1:0]; STP[15:1]; SB0[0]}
31
16:15
0
16-bit address
16-bit address
SB0 = 0
16-bit address
16-bit address
SB0 = 1
Search Bit (SBx) - Indicates what entry
the 16-bit pointer is located in.
Search Tree Pointer (STP) - 15-bit address returned
from the previous level of search. This is the 16-bit
returned address minus the LSB, which was overwritten
with SBx.
SB0 = 0 selects the first 32-bit entry
SB0 = 1 selects the second 32-bit entry
31
Non Terminal Node (NTN) - 16-bit field returned from
search. This 16-bit field is combined with STO and SBx
to form address for next level of search.
16:15
16-bit address
0
16-bit address
SB1 = 1
Leaf Node (LN) - 16-bit field returned on the last level
of search. This field is combined with STO and RB to
form an 18-bit address that points to either the TAG,
New ATM Header, Tx Counter or Rx Counter.
SB1 = 0
SB1 = 0 selects bits [15:0] of 32-bit entry
SB1 = 1 selects bits [31:16] of 32-bit entry
15
0
16-bit address
NTN
Get next two bits of VCI = [SB0,SB1] and overwrite LSB (bit 0) of NTN with SB0
{STO[1:0]; NTN[15:1]; SB0[0]}
31
16:15
0
16-bit address
16-bit address
SB0 = 0
16-bit address
16-bit address
SB0 = 1
SB0 = 0 selects bits [15:0] of 32-bit entry
SB0 = 1 selects bits [31:16] of 32-bit entry
31
16:15
16-bit address
0
16-bit address
SB1 = 1
SB1 = 0
SB1 = 0 selects bits [15:0] of 32-bit entry
SB1 = 1 selects bits [31:16] of 32-bit entry
15
0
16-bit address
NTN
Subsequent levels of search
15
0
16-bit address
LN
A 16-bit Leaf Node (LN) is returned on the last level of search.
The Leaf Node points to a Result Node (RN).
5347drw23
Figure 21 Traversing the Search Tree (Continued)
21 of 46
March 26, 2001
IDT77V012
Result Node Pointer
{RNO[1:0]; LN[15:1]; RB[0]}
Result Node Pointer (RNP) - 18-bit pointer to a
result node.
31
Result Bit (RB) - 1-bit field indicating what 32-bit
entry RNP is pointing to. RB = 0 points to the TAG
and RB=1 points to the new ATM header.
0
00
64K
Result Node Offset (RNO) - Offset for memory area
used to store the Result Nodes. This value divides
the memory into 64Kx32-bit blocks.
01
64K
31
0
TAG
RB = 0
New ATM Header
RB = 1
10
64K
11
64K
5347drw24
256Kx32-bit SRAM
Figure 22 Result Node without Cell Accounting
R es u lt N o d e P oin te r
{R N O [1 :0 ]; L N [1 5 :2 ]; R B [1 :0 ]}
R esu lt N od e P o inter (R N P ) - 1 8 - b it p o in te r to a
re s u lt n o d e .
31
00
R esu lt B it (R B ) - 2 -b it f ie ld in d ic a tin g w h a t 3 2 -b it
e n try th e R e s u lt N o d e p o in te r is p o in tin g to . R B =
0 0 p o in ts to th e T A G , R B = 0 1 p o in ts to th e n e w A T M
h e a d e r, R B = 1 0 p o in ts to th e R x C o u n te r a n d R B = 1 1
p o in ts to th e T x C o u n te r .
01
R esu lt N od e O ffs et (R N O ) - O ffs e t fo r m e m o ry a re a
u s e d to sto re th e R e s u lt N o d e s . T h is v a lu e d iv id e s
th e m e m o ry in to 6 4 K x 3 2 -b it b lo c k s.
0
64 K
6 4K
31
0
TAG
RB = 00
N ew ATM H e ade r
RB = 01
R x C o u n te r
RB = 10
T x C o u n te r
RB = 11
10
64 K
11
64 K
2 5 6 K x 3 2 -b it S R A M
5347drw25
Figure 23 Result Node with Cell Accounting
Register
Name
Register Bit Register Value Default
Address #
Name Range Value
Configuration 1 8001
Description
0
VPI Tunneling
Enable
0-1
0
"Enable VPI Tunneling. "0" header translation is done on the full header either 24,
28 or 32-bits, "1" header translation can be done with VPI Tunneling or full header
either 8, 12, 24, 28, or 32-bits."
1
Translation
Enable
0-1
0
"SRAM present, start search engine. "0" there is no SRAM attached, do not start
search engine, "1" SRAM is available and configured correctly for operation, start
search engine."
3
Cell Accounting On
0-1
0
"Indicates if cell counting on a per VC basis is enabled. Cell counting is done in both
the Tx and Rx directions. "0" Cell Counting is disabled (result node is two 32-bit
words), "1" Cell Counting is enabled (result node is four 32-bit words)."
Table 13 Search Tree Register Table (Part 1 of 3)
22 of 46
March 26, 2001
IDT77V012
Register
Name
Register Bit Register Value Default
Address #
Name Range Value
Description
4
Null Counting
On
0-1
0
"Enable Null Cell Counters. "0" Null Cell Counters are disabled, "1" Null Cell
Counters are enabled."
5
Search GFC
0-1
0
"Indicates if the GFC field will be included in the search. "0" do not include GFC field
in search (Search Table is 256 x 32-bits), "1" include GFC field in search (Search
Table is 4K x 32-bits)."
6
Search PT/CLP 0 - 1
0
"Indicates whether PT/CLP fields will be included in search. "0" do not include PT/
CLP fields in search (eight levels in Search Tree), "1" include PT/CLP fields in
search (ten levels in Search Tree)."
7
Pass All Cells
0-1
0
"Pass or drop Null cells. "0" drop cell when search leads to a null pointer, "1" pass all
cell even if they lead to a null pointer."
0
Insert New
Header
0-1
0
"Insert New Header. "0" do not replace existing header with new header from
search, "1" replace existing header with new header found in search."
1
Overwrite GFC 0 - 1
0
"Overwrite the GFC field with the new header value. "0" do not overwrite GFC field
with new value, "1" overwrite GFC field with new value found in search."
2
Overwrite PT/
CLP
0-1
0
"Overwrite the PT/CLP fields in the new cell header. "0" do not overwrite the PT/CLP
field of the original header with the PT/CLP value found in the search, "1" overwrite
the PT/CLP field of the new header with the PT/CLP value found in the search."
5:0
Search Table
Offset
0x00 0x3F
0x00
Offset pointer for Search Table. Divides memory into 4K blocks.
7:6
Result Node
offset
0x0 - 0x3
0x0
Result node offset pointer. Divides memory into 64K blocks.
1
Search Table
Reset
0-1
0
"Writes Null pointers into Search Table. "0" do not write Null pointers into Search
Table, "1" write Null pointers into Search Table (will reset back to zero once the
operation is completed in approx. 1K to 12K SYSCLK cycles depending on the size
of the Search Table). This value is obtained from the Null Pointer Address registers."
Null Pointer
800B
Address Byte 2
1:0
Null Pointer
[17:16]
0x0 - 0x3
0x3
Null pointer search tree address and value written in search tree.
Null Pointer
800C
Address Byte 1
[7:0] Null Pointer
[15:8]
0x00 0xFF
0xFF
Null pointer search tree address and value written in search tree.
Null Pointer
800D
Address Byte 0
[7:0] Null Pointer
[7:0]
0x00 0xFF
0xFF
Null pointer search tree address and value written in search tree.
Rx Null Pointer
Header Byte 3
8016
[7:0] Rx Null Pointer 0x00 Header [31:24] 0xFF
NA
Header filtered on receive DPI interface.
Rx Null Pointer
Header Byte 2
8017
[7:0] Rx Null Pointer 0x00 Header [23:16] 0xFF
NA
Header filtered on receive DPI interface.
Rx Null Pointer
Header Byte 1
8018
[7:0] Rx Null Pointer 0x00 Header [15:8] 0xFF
NA
Header filtered on receive DPI interface.
Rx Null Pointer
Header Byte 0
8019
[7:0] Rx Null Pointer 0x00 Header [7:0]
0xFF
NA
Header filtered on receive DPI interface.
Tx Null Pointer
Header Byte 3
801A
[7:0] Tx Null Pointer 0x00 Header [31:24] 0xFF
NA
Header filtered on transmit DPI interface.
Tx Null Pointer
Header Byte 2
801B
[7:0] Tx Null Pointer 0x00 Header [23:16] 0xFF
NA
Header filtered on transmit DPI interface.
Tx Null Pointer
Header Byte 1
801C
[7:0] Tx Null Pointer 0x00 Header [15:8] 0xFF
NA
Header filtered on transmit DPI interface.
Tx Null Pointer
Header Byte 0
801D
[7:0] Tx Null Pointer 0x00 Header [7:0]
0xFF
NA
Header filtered on transmit DPI interface.
Configuration 2 8002
Table Offset
Reset
8003
800A
Table 13 Search Tree Register Table (Part 2 of 3)
23 of 46
March 26, 2001
IDT77V012
Register
Name
Register Bit Register Value Default
Address #
Name Range Value
Description
UTOPIA Rx Cell 801E
Counter Byte 3
[7:0] Rx Cell
0x00 Counter [31:24] 0xFF
0x00
Counter for cells received on receive UTOPIA bus.
UTOPIA Rx Cell 801F
Counter Byte 2
[7:0] Rx Cell
0x00 Counter [23:16] 0xFF
0x00
Counter for cells received on receive UTOPIA bus.
UTOPIA Rx Cell 8020
Counter Byte 1
[7:0] Rx Cell
0x00 Counter [15:8] 0xFF
0x00
Counter for cells received on receive UTOPIA bus.
UTOPIA Rx Cell 8021
Counter Byte 0
[7:0] Rx Cell
Counter [7:0]
0x00 0xFF
0x00
Counter for cells received on receive UTOPIA bus.
UTOPIA Tx Cell 8022
Counter Byte 3
[7:0] Tx Cell Counter 0x00 [31:24]
0xFF
0x00
Counter for cells transmitted on transmit UTOPIA bus.
UTOPIA Tx Cell 8023
Counter Byte 2
[7:0] Tx Cell Counter 0x00 [23:16]
0xFF
0x00
Counter for cells transmitted on transmit UTOPIA bus.
UTOPIA Tx Cell 8024
Counter Byte 1
[7:0] Tx Cell Counter 0x00 [15:8]
0xFF
0x00
Counter for cells transmitted on transmit UTOPIA bus.
UTOPIA Tx Cell 8025
Counter Byte 0
[7:0] Tx Cell Counter 0x00 [7:0]
0xFF
0x00
Counter for cells transmitted on transmit UTOPIA bus.
Table 13 Search Tree Register Table (Part 3 of 3)
Register Register Bit Bit Name Value Default
Name
Address #
Range Value
Notification
Mask
Status
8007
8008
Timeout Status 8009
Description
0
PHY Interrupt
Mask
0-1
0
"Mask Interrupt notification. "0" no Event Notification cell will be generated when a
PHY interrupt occurs, "1" generate Event Notification cell when a PHY interrupt
occurs.”
1
Rx Null Mask
0-1
0
"Mask Interrupt notification. "0" no Event Notification cell will be generated when Rx
Null pointer is encountered, "1" generate Event Notification cell when a Rx Null
pointer is encountered."
2
Tx Null Mask
0-1
0
"Mask Interrupt notification. "0" no Event Notification cell will be generated when Tx
Null pointer is encountered, "1" generate Event Notification cell when a Tx Null
pointer is encountered."
0
Interrupt Status 0 - 1
0
"Indicates that a PHY interrupt occurred. "0" no PHY interrupts detected, "1" PHY
interrupt has been detected on the PHYINT pin."
Rx Null Pointer 0 - 1
Status
0
"Indicates that a Rx Null pointer was encountered. "0" no Rx Null pointer has been
detected, "1" Rx Null pointer has been detected."
2
Tx Null Pointer 0 - 1
Status
0
"Indicates that a Tx Null pointer was encountered. "0" no Tx Null pointer has been
detected, "1" Tx Null pointer has been detected."
0
PHY Interrupt
Timer
0-1
0
"Indicates that a PHY interrupt occurred more than 25ms ago, and the Status register has not been serviced. This bit is cleared by writing to the status register. "0" no
PHY interrupt detected, "1" PHY interrupt occurred more than 25ms ago and the
Status register has not been serviced."
1
Rx Null Pointer 0 - 1
Counter
0
"Indicates that a Rx Null pointer was encountered more than 25ms ago, and the Status register has not been serviced. This bit is cleared by writing to the Status register. "0" no Rx Null pointers detected, "1" Rx Null pointer encountered more than
25ms ago and the Status register has not been serviced."
2
Tx Null Pointer 0 - 1
Timer
0
"Indicates that a Tx Null pointer was encountered more than 25ms ago, and the Status register has not been serviced. This bit is cleared by writing to the Status register. "0" no Tx Null pointers detected, "1" Tx Null pointer encountered more than
25ms ago and the Status register has not been serviced."
Table 14 Interrupt Register Table
24 of 46
March 26, 2001
IDT77V012
) A Null pointer is a unique selectable value that indicates the pointer
is not valid and the search should be terminated. The Null pointer points
to a Result Node that contains the Tx and Rx Null Cell Counters. The Tx
and Rx Null Cell Counters are enabled by setting the Null Counting On
bit of the Configuration 1 register. The Null cell counters can be enabled
without enabling the Tx and Rx Cell Counters.
When a Null cell is encountered the cell is either dropped or passed,
depending on bit 7 of the Configuration 1 register. When the drop option
is enabled the search is cancelled and the header of the violating cell is
placed in either the Tx or Rx Null Pointer Header registers and the
appropriate Null counter is incremented, if enabled. An Event Notification cell will be generated if the appropriate mask bit is set in the Notification Mask register. The appropriate Null Pointer Status bit of the
Status register will be updated regardless of the condition of the Notification Mask register bits. See the Search Tree Register Table for a
description of the Tx and Rx Null Pointer registers.
#
#
#
#
When an interrupt occurs the Status register will indicate were the
interrupt occurred.
The PHY Interrupt, Rx Null and Tx Null Mask bits of the Notification
Mask register determine if an Event Notification cell will be generated
when an interrupt is encountered. The 77V012 will not generate an
Event Notification cell when an interrupt occurs if the bits are set to the
default zero, and will generate a Event Notification cell if set to a one.
The Timeout Status register is a read only register that indicates an
interrupt occurred more than 25ms ago. It is used to verify that the interrupts are being serviced by the CPU. Once the interrupt is detected the
77V012 will monitor the appropriate bit of the Status register to deter-
Register Register Bit
Name Address #
Bit Name
mine if the interrupt is cleared. The 77V012 will generate a Event Notification cell, appropriate mask bit must be set to a one, if the interrupt is
not cleared within 25ms of when the interrupt occurred and will set the
appropriate Timeout Status bit. It will generate additional Event Notification cells on 12ms intervals, thereafter, until the interrupt is cleared. It is
the CPU's responsibility to clear the interrupt and/or notify higher layers
that an interrupt has been encountered. Interrupts are cleared by the
CPU writing to the Status register. Writing a one will clear the interrupt
and reset the register back to zero.
See Interrupt Register Table for description of interrupt registers.
The Tx and Rx Cell Counters are enabled by writing a one to the Cell
Accounting On bit in the Configuration 1 register. When enabled (set to a
one) the Result Node becomes four entries deep, with the third entry
being the Rx Cell Counter and the fourth entry being the Tx Cell
Counter. Each counter is 32-bits and is implemented as a wrap around
counter. These are per VC counters.
A global cell count is stored in the UTOPIA Tx and Rx Cell Counter
registers. These counters are always enabled and will increment each
time a cell is transmitted or received over the UTOPIA interface. They
can be read at any time, and will roll over once the maximum cell count
is reached. The counters are reset by writing zeros to the register. See
Search Tree Register Table for register description.
The Result Node and Global Rx cell counters are disabled if the
RxData Cell Filter bit of the Configuration 2 register is set to a one. This
also includes the counting of In-Stream™ cells. The Tx cell counters are
not affected by this register bit.
Value Default
Range Value
Description
Configuration 2 8002
3
Rx Move PT/CLP
0-1
0
"Move the PT/CLP fields from the original header into the 4-byte TAG
area. "0" do not move the PT/CLP fields, "1" move PT/CLP fields."
Pin Control
8004
0
Override Pin Control 0 - 1
0
"Enables writing to pin configurable registers. "0" pin configurable registers
are read only, "1" pin configurable registers are read/write."
Rx TAG and
Mode Select
8006
[2:0] Rx Tag Size [2:0]
0x0 - 0x4 Defined by pin Number of bytes to add to the received cell.
3
0-1
Defined by pin "Remove HEC from cell. "0" do not remove HEC byte from cell, "1" remove
HEC byte from cell."
In-Stream™
TAG Byte 3
8012
[7:0] In-Stream™ TAG
[31:24]
0x00 0xFF
0x00
TAG added to In-Stream™ programming cells.
In-Stream™
TAG Byte 2
8013
[7:0] In-Stream™ TAG
[23:16]
0x00 0xFF
0x00
TAG added to In-Stream™ programming cells.
In-Stream™
TAG Byte 1
8014
[7:0] In-Stream™ TAG
[15:8]
0x00 0xFF
0x01
TAG added to In-Stream™ programming cells.
Rx Remove HEC
Table 15 Interrupt Register Table
25 of 46
March 26, 2001
IDT77V012
Register Register Bit
Name Address #
In-Stream™
TAG Byte 0
8015
Value Default
Range Value
Bit Name
[7:0] In-Stream™ TAG
[7:0]
0x00 0xFF
0xF0
Description
TAG added to In-Stream™ programming cells.
Table 15 Interrupt Register Table
SRAM
IDT71V633
ADSL PHY
OC-3
SWITCHStAR
IDT77V400
&
IDT77V500
Header
Xlater
IDT77V012
ATM PHY
DPI to
UTOPIA 2
IDT77V011
ADSL PHY
ADSL PHY
UTOPIA 1
Header
4-bit DPI
4-bit DPI
Header
Payload
Header
Header
UTOPIA 2
Payload
Payload
Payload
TAG
TAG
5347drw26
Figure 24 Transmit Tag Routing Diagram
Register Register Bit Bit Name Value Default
Name Address #
Range Value
Description
Configuration 2 8002
4
Tx Move PT/CLP 0 - 1
0
"Move the PT/CLP field from the 4-byte TAG area to the cell header. "0" do not
move PT/CLP fields, "1" move PT/CLP fields."
Pin Control
8004
0
Override Pin
Control
0
"Enables writing to pin configurable registers. "0" pin configurable registers are
read only, "1" pin configurable registers are read/write."
Tx TAG
8005
[2:0] Tx Tag Size [2:0] 0 - 4
Defined by pin Number of bytes to remove from the ATM cell.
3
Tx Tag Location
0-1
Defined by pin "TAG location in Tx direction. "0" TAG is located at beginning of cell, "1" TAG
is located at end of cell."
4
Tx Add HEC
0-1
Defined by pin "Add a HEC place holder in the Tx direction. "0" do not add a HEC place
holder, "1" add a HEC place holder."
0-1
Table 16 Interrupt Register Table
26 of 46
March 26, 2001
IDT77V012
SRAM
IDT71V633
ADSL PHY
OC-3
ATM PHY
SWITCHStAR
IDT77V400
&
IDT77V500
Header
Xlater
IDT77V012
DPI to
UTOPIA 2
IDT77V011
ADSL PHY
ADSL PHY
UTOPIA 1
Header
4-bit DPI
4-bit DPI
UTOPIA 2
New Header
Payload
TAG
TAG
New Header
Payload
New Header
Payload
Payload
5347drw27
Figure 25 Receive Tag Routing Diagram
27 of 46
March 26, 2001
IDT77V012
#
A TAG can be added to the cell in the Rx direction and removed in
the Tx direction. It is added to the beginning of the cell and can be up to
four bytes long.
Programming the size of the TAG for both the Tx and Rx direction is
done with external pins and internal registers, with each direction being
individually programmed. The registers associated with the TAG are
listed in the Rx and Tx TAG Register Tables.
ADDR[3] specifies if the TAG is located at the beginning or end of
the cell. When ADDR[3] ="0" the TAG is located at the beginning of the
cell, and when ADDR[3] ="1" the TAG is located at the end of the cell.
This value is stored in the Tx TAG Location bit of the Tx TAG register.
ADDR[4] specifies if a HEC placeholder is to be added to the cell.
When ADDR[4] = "0" a placeholder is not added, and if ADDR[4] = "1" a
placeholder is added to the cell. This value is stored in the Tx Add HEC
bit in the Tx TAG register.
#*&
#*&+
+ "
" A TAG is added in the Rx direction by first configuring the external
pins and then configuring the internal registers. The external pins are
multiplexed with the SRAM address pins and are configured at reset.
ADDR[7:5] is a 3-bit field that sets the receive TAG size. This TAG
can be from zero to four bytes in size. The lower order bytes, in the
Result Node, are used when the TAG size is less than four bytes. Therefore, a one byte TAG is appended to bits zero through seven of the
possible 32-bits in the TAG field. The value of ADDR[7:5] is stored in the
Rx TAG Size [2:0] bits of the Rx TAG and Mode Select register. The
header of the in coming cell will be appended to the TAG area when the
search engine is not enabled and four bytes of TAG are to be added.
When less than four bytes of TAG are added the most significant bytes
are appended.
ADDR[8] determines if the HEC byte should be removed or not.
Setting ADDR[8] low will leave the HEC byte intact, while setting
ADDR[8] high removes the HEC byte, thus reducing the number of
bytes in the cell by one. The value of ADDR[8] is stored in the Rx
Remove HEC bit of the Rx TAG and Mode Select register.
The In-Stream™ 1,2,3 and 4 registers indicate the value of the TAG
to be added to In-Stream™ programming cells. This value will only be
used for In-Stream™ cells. The default value is 0x000001FX, which can
be changed by writing to registers with In-Stream™ cells.
The Move PT/CLP bit of the Configuration 2 register will move the PT
and CLP fields of the new header value into the TAG area if set high and
will leave the original value intact if set low. Moving these fields, when
switching on the TAG area, enables a DPI device or SwitchStar to find
OAM cells, do low priority cell discards and EFCI processing. This option
is only valid if using all four bytes of TAG and switching is being done on
the TAG.
A TAG is removed in the Tx direction by configuring the external pins,
which are multiplexed with the SRAM address pins ADDR[4:0].
ADDR[2:0] is a 3-bit field that sets the Tx TAG size. Valid TAG sizes
are from zero to four bytes. This value is stored in the Tx TAG Size bits
of the Tx TAG register.
In-Stream™ programming cells are used to carry commands to the
77V012 and for the CPU to receive information from the 77V012. Cells
are received on either the DTxDATA[3:0] bus or the RxDATA[7:0] bus,
depending on the condition of Instream Direction bit of the Rx TAG and
Mode Select register, which can be configured after reset.
All cells received on the selected data bus are filtered by the cell
interpreter to determine if they are In-Stream™ programming cells. In
order to be recognized, In-Stream™ programming cells have a unique
cell header. The default value is 0x000001FX, which can be changed by
writing to the In-Stream™ Cell Header 1, 2, 3 and 4 registers. All four
registers can be written to in one four byte write with an In-Stream™
cell. The bytes are written MSB to LSB. The new cell header will be
used for returning a Reply Notification cell, following the write operation.
The 77V012 supports the following set of In-Stream™ functions,
Discover/Identify, Reset, Register Read, Register Write, Event Notification and Reply Notification.
The Discover/Identify command is sent by the CPU to the 77V012,
and is used to either discover the 77V012 or to ensure that the 77V012
is still attached (heart beat).
The Reset command is sent from the CPU to the 77V012, which indicates that the 77V012 must perform a hard reset and re-initialize itself to
its default state.
The Register Read command is used to read the value of one or
more registers. Up to 32-bytes can be read with one In-Stream™ cell.
The Register Write command is used to write a value to one or more
registers. Up to 32-bytes can be written with one In-Stream™ cell.
The Event Notification command is sent from the 77V012 to the CPU
and indicates that an event has happened that requires CPU intervention.
The Reply Notification command is sent from the 77V012 to the CPU
in response to command cells sent by the CPU. The 77V012 will
generate a Reply Notification response to a Discover/Identify, Register
Read and Register Write command, but not for a Reset command. This
option is enabled by setting the Acknowledge Request bit in the
Message Type Field of the In-Stream™ command cell.
The In-Stream™ cell format is broken up into six sections, which
vary slightly depending on the type of command the cell caries.
28 of 46
March 26, 2001
IDT77V012
The first five bytes contain the cell header. The In-Stream™
programming cell address is in the first 28-bits with the default value of
GFC =0x0, VPI =0x0, VCI =0x001F, PT/CLP =0xX, where X=don't care.
The remaining byte is the HEC.
Bytes six and seven of the cell contain the Transaction ID information. This field is two bytes wide and is used to correlate messages
requiring a reply to a command. This allows more than one command to
be sent to a device without waiting for a Reply Notification cell, as the
field is copied from the Command cell to the Reply Notification cell. The
2-byte field is set to zero when an Event Notification cell is generated by
the 77V012, with the zero value being valid for this condition only. It is up
to the CPU to generate and manage values for it's In-Stream™
commands and not re-use the value for some set amount of time.
Byte 8 contains the Message Type field, which indicates what type of
command the cell contains. Bit location eight is not used. Bit seven is the
Acknowledge Request bit, which indicates if an acknowledgement to the
Command cell is required or not. When a Reply Notification cell has to
be returned this bit is set to a one. When the Reply Notification cell is
returned the bit is reset to zero by the 77V012. This option is not valid
with the Reset command, which does not return a Reply Notification cell.
Bit six is the Acknowledge bit which indicates whether the cell is a Reply
Notification cell or a Command cell. This bit is set to a zero when the cell
is a Command cell, and is set to a one, by the 77V012, when the cell is a
Reply Notification cell. Bits one through five are the Message Type Indicator. There are currently five commands for this field. The Discover/
Identify (value = 0x2) command, which will generate a Reply Notification
cell with 32 bytes of device specific data located in the Message Data
field. The Reset (value = 0x3) command performs a reset on the
77V012. There is no Reply Notification cell returned for this command.
The Read Registers (value = 0x5) command performs a read operation
to a set of consecutive registers. One to 31 bytes can be read with one
In-Stream™ cell starting at the specified base address when accessing
the 77V012 internal registers, while up to 32-bytes can be accessed with
one In-Stream™ cell when reading from the SRAM. The returned
register data is contained in the Message Data field. The Write Registers
(value = 0x6) command performs a write operation to a set of consecutive registers. One to 31 bytes can be written with one In-Stream™ cell
starting at the specified base address when accessing the 77V012
internal registers, while up to 32-bytes can be accessed with one InStream™ cell when writing to the SRAM.The data to be written is
contained in the Message Data field. The Event Notification (value =
0x8) command generates a Event Notification cell indicating that an
interrupt has been detected.
Bytes 9 through 15 are the Device ID field. There are two formats to
this field depending on the type of command the cell carries. When the
cell contains either the Register Read/Write, or Event Notification
command this field must contain a value of 0x01 in byte location 9 to be
valid. The remaining six bytes are not used and should contain zeros.
When the cell contains the Discovery/Identify command this field
contains data from the EEPROM, with data from EEPROM byte location
8 being written to the first byte position of this field.
Bytes 16 through 51 are the Message Data field. The layout of this
field is dependant on the Message Type field. A Read or Write command
will have a Message Data field divided into three sub fields. The first sub
field is one byte wide and indicates how many bytes of data are valid in
the data portion of the Message Data field. The second sub field is three
bytes wide and contains the base address for the Read or Write
command. The third sub field is the valid data and padding. Valid data is
written starting at the base address in accordance with the number of
valid bytes indicator (first sub field). The remaining space, if any, is
padded with zeros. A Discover/Identify command has a Message Data
field divided into two sub fields.The first sub field is the first 25-bytes of
the Message Data field, which contains up to 25 bytes read from the
EEPROM, starting at EEPROM byte location 15. The remaining bytes
are reserved. An Event Notification command will have a Message Data
field split into two sub fields. The first sub field is two bytes wide and
contains an event number, which is always 0x0100. The second sub
field contains one byte of data (byte 18) indicating what type of event
happened, which is described in the Event Notification Table. The
remaining bytes 19 to 51 are padding and contain zeros.
Bytes 52 and 53 contain the CRC-10 trailer, with the upper six bits of
byte 52 containing zeros. The CRC-10 is generated and used in the
same manner as in AAL3/4 cells.
)
)
The are two types of Notification cells, Event and Reply, that can be
generated by the 77V012.
The 77V012 will generate an Event Notification Cell under three
different conditions, if the appropriate mask bit(s) are set to a one. The
first condition occurs when an interrupt is detected on the external
PHYINT pin. The second condition is if a Rx Null Pointer is found in the
search, and the third is when a Tx Null Pointer is found in the search. It
is up to the CPU to clear the interrupt, or notify higher layers that an
interrupt has occurred. A second Event Notification cell will be generated if the interrupt is not cleared in 25ms. Additional Event Notification
cells will be generated every 12ms thereafter until the interrupt is
serviced. A new event will not be reported until the related interrupt
register bit has been cleared.
The 77V012 will generate a Reply Notification cell, if the Acknowledge Request bit is set to a one. The Reply Notification cells enable the
CPU to keep status of its command cells.
, The 77V012 offers two external control pins, CNTRL_A and
CNTRL_B, that can be connected to external devices for system design
engineer usage. Both of these signals are low after reset. There is also a
register bit associated with each signal, which is described in the Misc.
Register table.
29 of 46
March 26, 2001
IDT77V012
Rx TAG and
Mode Select
! ! # $
"
#
8006
5
In-Stream™
Direction
0-1
Defined by pin "Indicates what interface the In-stream cells will be filtered on. "0" input on the
ADDR[10]
transmit DPI interface and output on the receive DPI interface, "1" input on
the receive UTOPIA interface and output on the transmit UTOPIA interface."
In-Stream™ Cell 800E
Header Byte 0
[7:0] In-Stream™
Header [31:24]
0x00 0xFF
0x00
Cell header for In-Stream™ programming cells.
In-Stream™ Cell 800F
Header Byte 1
[7:0] In-Stream™
Header [23:16]
0x00 0xFF
0x00
Cell header for In-Stream™ programming cells.
In-Stream™ Cell 8010
Header Byte 2
[7:0] In-Stream™
Header [15:8]
0x00 0xFF
0x01
Cell header for In-Stream™ programming cells.
In-Stream™ Cell 8011
Header Byte 3
[7:0] In-Stream™
Header [7:0]
0x00 0xFF
0xF0
Cell header for In-Stream™ programming cells.
Table 17 In-StreamTM Register Table
byte 1
ATM
Header
byte 5
byte 6
Transaction
ID
byte 7
Message
Type
byte 8
byte 9
Device
ID
byte 15
byte 16
Message
Data
and/or
Padding
byte 51
byte 52
Trailer
byte 53
5347drw28
Figure 26 General Format In-Stream TM Programming Cell
UNI Cell Header (five byte field)
NNI Cell Header (five byte field)
Bit
6
5
Bit
4
3
2
GFC
VPI
VPI
VCI
1
HEC
6
CLP
5
4
3
2
1
VPI
2
3
PT
7
1
VCI
VCI
8
1
VCI
VPI
2
3
VCI
4
VCI
5
PT
HEC
5347drw29
CLP
Byte
7
Byte
8
4
5
5347drw30
Figure 27 Valid Header Formats for In-Stream TM Programming Cell
30 of 46
March 26, 2001
IDT77V012
Command Cell Transaction ID (two byte field)
Notification Cell Transaction ID (two byte field)
6
5
Bit
4
3
2
1
Copied from Command Cell
6
Copied from Command Cell
7
Byte
7
8
7
6
5
4
3
2
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
7
Byte
Bit
8
5347drw31
Figure 28 Valid Transaction Field Formats for In-StreamTM Programming Cell
Message Type (one byte field)
Bit
7
6
5
4
3
2
1
Message Type ID
Byte
8
8
Acknowledge Bit
Acknowledge Request Bit
Not Used
5347drw32
Figure 29 Valid Message Type Field Format for In-Stream
Discovery/Identify Command Cell
Device ID (seven byte field)
TM
Programming Cell
Read/Write/Event Notification Command Cell
Device ID (seven byte field)
Bit
6
5
4
3
Data from EEPROM
2
8
1
7
0
6
5
4
3
2
1
0
0
0
0
0
1
9
10
Not Used
10
11
Not Used
11
Not Used
12
13
Not Used
13
14
Not Used
14
15
Not Used
15
12
Data from EEPROM
0
9
Byte
7
5347drw33a
Byte
Bit
8
5347drw33
Figure 30 Valid Device ID Field Format for In-StreamTM Programming Cell
31 of 46
March 26, 2001
IDT77V012
Read/Write Command Cell
Message Data and/or Padding Field (36 byte field)
Event Notification Cell
Message Data and/or Padding Field (36 byte field)
Bit
6
5
Bit
4
3
2
1
8
Number of valid bytes
16
Base address
7
6
5
4
3
2
1
Event number
16
17
Event number
17
Base address
18
Data and/or padding
18
Base address
19
Data and/or padding
20
Data and/or padding
51
Data and/or padding
51
Byte
7
Byte
8
5347drw34
5347drw35
Discover/Identify Command Cell
Message Data and/or Paddind Field (36 byte field)
Bit
7
6
5
4
3
2
1
Data from EEPROM
16
Data from EEPROM
40
Reserved
41
Reserved
51
Byte
8
5347drw36
Figure 31 Valid Message and/or Data Field Formats for In-StreamTM Programming Cell
Trailer (two byte field)
Bit
7
6
5
4
3
2
0
0
0
0
0
0
CRC10
CRC10
1
52
53
Byte
8
5347drw37
Figure 32 Valid Trailer Field Format for In-Stream TM Programming Cell
Discover/ Identify
2
This command will generate an Reply Notification cell containing 32 bytes of device specific data, which is stored
in bytes 8 through 40 of the EEPROM.
Reset
3
Performs a reset on 77V012 device. No Reply Notification cell is returned acknowledging that the reset command
has been completed.
Read Registers
5
Read from a consecutive number of registers.
Write Registers
6
Write to a consecutive number of registers.
Event Notification
8
An unsolicited Event Notification cell indicating an event has taken place. The event can be either a PHY interrupt,
a Rx Null pointer, or a Tx Null pointer.
Table 18 In-Stream TM Programming Message Type Indicator
32 of 46
March 26, 2001
IDT77V012
! 7'
7:6
Not Used
5
Tx Null Pointer Error
A Null pointer has been detected in the transmit direction.
4
Tx Time Out
A Null pointer has been detected in the transmit direction, but the Status register has not been cleared.
3
Rx Null Pointer Error
A Null pointer has been detected in the receive direction.
2
Rx Time Out
A Null pointer has been detected in the receive direction, but the Status register has not been cleared.
1
PHY Interrupt Status
A PHY interrupt has been detected.
0
PHY Time Out
A PHY interrupt has been detected, but the Status register has not been cleared.
Table 19 Event Notification Table
Pin Control
! ! # $
"
#
8004
1
Control A
0-1
0
"Stores condition of Control A pin. "0" CTRL_A = "0", "1" CTRL_A = "1"."
2
Control B
0-1
0
"Stores condition of Control B pin. "0" CTRL_B = "0", "1" CTRL_B = "1"."
Table 20 Misc. Register Table
!
!
(industrial: Vcc = 3.3V + 10%, TA = -40oC to 85oC)
tCYC
SYSCLK Cycle Time
15
—
ns
tCH
SYSCLK High Time
6
—
ns
tCL
SYSCLK Low Time
6
—
ns
tUCYC
UTOPIA TCLK/RCLK Cycle Time
30
—
ns
tUCH
UTOPIA TCLK/RCLK High Time
13
—
ns
tUCL
UTOPIA TCLK/RCLK Low Time
13
—
ns
tTOV
TxDATA, TENB, TSOC, TxPRTY, TxLED Output Valid from TCLK
1
20
ns
tUTS
TCLAV to TCLK Setup Time
8
—
ns
tUTH
TCLAV to TCLK Hold Time
1
—
ns
tROV
RENB, RxLED Output Valid from RCLK
1
20
ns
tURS
RxDATA, RSOC, RCLAV to RCLK Setup Time
8
—
ns
tURH
RxDATA, RSOC, RCLAV to RCLK Hold Time
1
—
ns
tDCYC
DPI DTxCLK/DRxCLK Cycle Time
15
—
ns
tDCH
DPI DTxCLK/DRxCLK High Time
6
—
ns
tDCL
DPI DTxCLK/DRxCLK Low Time
6
—
ns
tDTS
DTxFRM, DTxDATA to DTCLK Setup Time
6
—
ns
tDTH
DTxFRM, DTxDATA to DTCLK Hold Time
2
—
ns
tPDRD
DRxCLK to DRxDATA(0-3), DRxFRM Propagation Delay
—
8
ns
tALPW
ALE Pulse Width
30
—
ns
tALR
SYSCLK to RD Low Propagation Delay
—
20
ns
tALW
SYSCLK to WR Low Propagation Delay
—
20
ns
tRDPW
RD Pulse Width
60
—
ns
33 of 46
March 26, 2001
IDT77V012
tAAL
Address to ALE Falling Edge Setup Time
20
—
ns
tALA
Address to ALE Falling Edge Hold Time
10
—
ns
tDRS
Data to rising edge of RD Setup Time
5
—
ns
tDRH
Data to rising edge of RD Hold Time
1
—
ns
tDWS
Data to rising edge of WR Setup Time
5
—
ns
tDWH
Data to rising edge of WR Hold Time
1
—
ns
tWRPW
WR Pulse Width
30
—
ns
tPINTS
SYSCLK to PHYINT Setup Time
10
—
ns
tPINTH
SYSCLK to PHYINT Hold Time
2
—
ns
tAW
ALE falling edge to WR falling edge
30
—
ns
tPALE
ALE to SYSCLK Propagation Delay
—
20
ns
tPPHY
SYSCLK to PHYCS Propagation Delay
—
20
ns
tPPHYR
SYSCLK to PHYRST Propagation Delay
—
20
ns
tPRCLK
SYSCLK to RCLK Propagation Delay
—
15
ns
tPTCLK
SYSCLK to TCLK Propagation Delay
—
13
ns
tPDRxCLK
SYSCLK to DRxCLK Propagation Delay
—
10
ns
tPDTxCLK
SYSCLK to DTxCLK Propagation Delay
—
10
ns
tPCNTA
SYSCLK to CONT_A Propagation delay
—
20
ns
tPCNTB
SYSCLK to CONT_B Propagation delay
—
20
ns
tRSTW
SYSRST Pulse Width
100
—
ns
tsCYC
SCLK Cycle Time
30
—
ns
tsCH
SCLK High Time
13
—
ns
tsCL
SCLK Low Time
13
—
ns
tPADSP
SCLK to SRAM ADSP Propagation Delay
—
20
ns
tPOE
SCLK to SRAM OE Propagation Delay
—
9
ns
tPADD
SCLK to SRAM Address Propagation Delay
—
20
ns
tPDAT
SCLK to SRAM Dataout Propagation Delay
—
25
ns
tSD
SCLK to SRAM Data In Setup Time
10
—
ns
tHD
SCLK to SRAM Data In Hold Time
2
—
ns
tECYC
EECLK Cycle Time
1000
—
ns
tPECLK
SYSCLK to EECLK, EECS, EEDOUT Propagation Delay
—
20
ns
tSEDI
SYSCLK to EEDIN Setup Time
—
10
ns
tHEDI
SYSCLK to EEDIN Hold Time
2
—
ns
34 of 46
March 26, 2001
IDT77V012
tCYC
SYSCLK
tCH
tCL
5347drw38
Figure 33 System Clock Timing Waveform
SYSCLK
tPRCLK
RCLK
5347drw39
Figure 34 System Clock to UTOPIA Receive Clock Propagation Delay
SYSCLK
tPTCLK
TCLK
5347drw40
Figure 35 System Clock to UTOPIA Transmit Clock Propagation Delay
SYSCLK
tPDRxCLK
DRxCLK
5347drw41
Figure 36 System Clock to DPI Receive Clock Propagation Delay
SYSCLK
tPDTxCLK
DTxCLK
5347drw42
Figure 37 System Clock to DPI Transmit Clock Propagation Delay
35 of 46
March 26, 2001
IDT77V012
tUCYC
TCLK
tUCH
tUCL
tTOV
TxDATA(0-7), TENB, TSOC,
TxLED, TxPRTY
tUTS
tUTH
TCLAV
5347drw43
Figure 38 UTOPIA Transmit Timing Waveform
RCLK
tURS
tROV
tURH
RENB, RxLED
RxDATA(0-7), RSOC, RCLAV
5347drw44
Figure 39 UTOPIA Receive Timing Waveform
tDCYC
DTxCLK
tDCH
tDCL
tDTS
tDTH
DTxFRM, DTxDATA(0-3)
5347drw45
Figure 40 DPI Transmit Timing Waveform
DRxCLK
tPDRD
DRxFRM, DRxDATA(0-3)
5347drw46
Figure 41 DPI Receive Timing Waveform
36 of 46
March 26, 2001
IDT77V012
SYSCLK
tPPHYR
PHYRST
5347drw47
Figure 42 System Clock to PHYRST Propagation Delay
SYSCLK
tPINTS tPINTH
PH YINT
5347drw48
Figure 43 System Clock to PHYINT Propagation Delay
tRSTW
SYSRST
5347drw49
Figure 44 SYSRST Timing Waveform
tPECLK
SYSCLK
EECS
EECLK
EEDO
tSEDI
tHEDI
EEDI
5347drw50
Figure 45 Timing Waveform for EEPROM Read and Write Cycles
37 of 46
March 26, 2001
IDT77V012
Figure 46 Timing Waveform for SRAM Read and Write Cycles
Device ID
!
$
1,782 4 ! #
8000
Configuration 1 8001
7-0
Device Version NA
Number
Device version number. 77V012 Rev A = 0x10, 77V012 Rev B = 0x11.
0
VPI Tunneling
Enable
0
"Enable VPI tunneling. "0" header translation is done on the full header either 24, 28,
32-bits, "1" header translation can be done with VPI Tunneling or full header either 8,
12, 24, 28 or 32-bits."
1
Translation
Enable
0
"SRAM present, start search engine. "0" there is no SRAM attached, do not start
search engine, "1" SRAM is available and configured correctly for operation, start
search engine."
2
Not Used
3
Cell Accounting 0
On
"Indicates if cell counting on a per VC basis is enabled. Cell counting is done in both
the transmit and receive directions. "0" cell counting is disabled (result node is two 32bit words), "1" cell counting is enabled (result node is four 32-bit words)."
4
Null Counting
On
0
"Enable Null cell counters. "0" Null cell counters are disabled, "1" Null cell counters are
enabled."
5
Search GFC
0
"Indicates if the GFC field will be included in the search. "0" do not include GFC field in
search (Search Table is 256 x 32-bits), "1" include GFC field in search (Search Table
is 4K x 32-bits)."
6
Search PT/CLP 0
"Indicates whether PT/CLP fields will be included in the search. "0" do not include PT/
CLP fields in search (eight levels in Search Tree), "1" include PT/CLP fields in search
(ten levels in Search Tree)."
7
Pass All Cells
"Pass or drop Null cells. "0" drop cell when search leads to a null pointer, "1" pass all
cells even if they lead to a null pointer."
0
Table 21 Internal Register Map (Part 1 of 5)
38 of 46
March 26, 2001
IDT77V012
!
$
1,782 4 ! #
Configuration 2 8002
Table Offset
Pin Control
Tx TAG
8003
8004
8005
0
Insert New
Header
0
"Insert New Header. "0" do not replace existing header with new header from search,
"1" replace existing cell header with the new header found in search."
1
Overwrite GFC
0
"Overwrite the GFC field with the new header value. "0" do not overwrite GFC field
with new value, "1" overwrite GFC field with value found in search."
2
Overwrite PT/
CLP
0
"Overwrite PT/CLP fields in the new cell header. "0" do not overwrite PT/CLP fields of
the original header with the value found in the search, "1" overwrite PT/CLP fields of
the original header with the value found in the search."
3
Rx Move PT/
CLP
0
"Move the PT/CLP fields from the original header into the 4-byte TAG area. "0" do not
move PT/CLP fields, "1" move PT/CLP fields."
4
Tx Move PT/
CLP
0
"Move the PT/CLP fields from the 4-byte TAG area to the cell header. "0" do not move
PT/CLP fields, "1" move PT/CLP fields."
5
Drop Cell
0
"Selects action when PHY transmit FIFO is full. "0" stall pipeline, "1" drop cell."
6
RxData Cell Fil- 0
ter
7
Not Used
5-0
Search Table
Offset
0x00
Offset pointer for search table. Divides memory into 4K x 32-bit blocks.
7-6
Result Node
Offset
0
Result node offset pointer. Divides memory into 64K x 32-bit blocks.
0
Override Pin
Control
0
"Enables writing to pin configurable registers. "0" pin configurable registers are read
only, "1" pin configurable registers are read/write."
1
Control A
0
"Stores condition of Control A pin. "0" CTRL_A = "0", "1" CTRL_A = "1"."
2
Control B
0
"Stores condition of Control B pin. "0" CTRL_B = "0", "1" CTRL_B = "1"."
3
EEPROM Mux
Select
0
"Indicates if the EEPROM interface will be connected to the internal logic or the
EEPROM registers. "0" connected to internal logic, "1" connected to EEPROM registers."
4
EEPROM Clock 0
Out
"EEPROM clock when EEPROM interface is connected to the EEPROM registers. "0"
clock low, "1" clock high."
5
EEPROM Chip
Select
0
"EEPROM chip select when EEPROM interface is connected to the EEPROM registers. "0" EEPROM interface is selected, "1" EEPROM interface is not selected."
6
EEPROM Out
0
EEPROM output bus when EEPROM interface is connected to the EEPROM registers.
7
EEPROM In
0
EEPROM input bus when EEPROM interface is connected to the EEPROM registers.
2-0
Tx TAG Size
Defined by Number of bytes to remove from the transmit cell.
pin
3
Tx TAG Location
Defined by "TAG location in transmit direction. "0" TAG is located at beginning of cell, "1" TAG is
pin
located at end of cell."
4
Tx Add HEC
Defined by "Add a HEC placeholder in the transmit direction. "0" do not add a HEC place holder,
pin
"1" add a HEC place holder."
7-5
Not Used
"Allow cells to be dropped on the receive UTOPIA interface. In-StreamTM cells are not
affected by the condition of this bit, if they are being filtered on the receive UTOPIA
interface. "0" pass cells received on the receive UTOPIA interface, "1" filter and drop
data cells on the receive UTOPIA interface."
Table 21 Internal Register Map (Part 2 of 5)
39 of 46
March 26, 2001
IDT77V012
Rx TAG and
Mode Select
Notification
Mask
Status
!
$
1,782 4 ! #
8006
8007
8008
Timeout Status 8009
2-0
Rx Tag Size
Defined by Number of bytes to add to received cell.
pin
3
Rx Remove
HEC
Defined by "Remove HEC from cell. "do not remove HEC byte from cell, "1" remove HEC byte
pin
from cell."
4
DPI Mode
Defined by "Selects DRxCLK direction. "0" switch mode (output), "1" normal mode (input)."
pin
5
In-Stream™
Direction
Defined by Indicates what interface the In-Stream™ cells will be filtered on. "0" input on transmit
pin
DPI interface and output on receive DPI interface, "1" input on receive UTOPIA interface and output on transmit UTOPIA interface.
6
Init from
EEPROM
0
"Four byte write from EEPROM to In-Stream™ Cell Header registers at reset. "0" do
not write four byte value, "1" write four byte value to registers."
7
Not Used
0
Phy Interrupt
Mask
0
"Mask interrupt notification. "0" no Event Notification cell will be generated when a
PHY interrupt occurs, "1" generate Event Notification cell when a PHY interrupt
occurs.”
1
Rx Null Mask
0
"Mask interrupt notification. "0" no Event Notification cell will be generated when a Rx
Null pointer is detected, "1" generate Event Notification cell when a Rx Null pointer is
detected."
2
Tx Null Mask
0
"Mask interrupt notification. "0" no Event Notification cell will be generated when a Tx
Null pointer is detected, "1" generate Event Notification cell when a Tx Null pointer is
detected."
7-3
Not Used
0
Interrupt Status 0
"Indicates that a PHY interrupt occurred. "0" no PHY interrupts detected, "1" a PHY
interrupt has been detected on the PHYINT pin."
1
Rx Null Pointer
Status
0
"Indicates that a Rx Null pointer was encountered. "0" no Rx Null pointer has been
detected, "1" Rx Null pointer has been detected."
2
Tx Null Pointer
Status
0
"Indicates that a Tx Null pointer was encountered. "0" no Tx Null pointer has been
detected, "1" Tx Null pointer has been detected."
7-3
Not Used
0
PHY Interrupt
Timer
0
"Indicates that a PHY Interrupt occurred more than 25ms ago and the Status register
has not been serviced. This bit is cleared by writing to the Status register. "0" no PHY
interrupts detected, "1" PHY interrupt occurred more than 25ms ago and the Status
register has not been serviced."
1
Rx Null Pointer
Timer
0
"Indicates that a Rx Null pointer was encountered more than 25ms ago and the Status
register has not been serviced. This bit is cleared by writing to the Status register. "0"
no Rx Null pointers detected, "1" Rx Null pointer encountered more than 25ms ago
and Status register has not been serviced."
2
Tx Null Pointer
Timer
0
"Indicates that a Tx Null pointer was encountered more than 25ms ago and the Status
register has not been serviced. This bit is cleared by writing to the Status register. "0"
no Tx Null pointers detected, "1" Tx Null pointer encountered more than 25ms ago and
Status register has not been serviced."
7-3
Not Used
Table 21 Internal Register Map (Part 3 of 5)
40 of 46
March 26, 2001
IDT77V012
Reset
!
$
1,782 4 ! #
800A
0
PHY Reset
0
"PHY reset. "0" no PHY reset, "1" PHY reset (PHYRST signal will be asserted low for
16 system clock cycles)."
1
Search Table
Reset
0
"Writes Null pointers into Search Table. "0" do not write Null pointers into Search
Table, "1" write Null pointers into Search Table (will reset back to zero once the operation is completed in approx. 1K to 12K SYSCLK cycles depending on the size of the
Search Table). This value is obtained from the Null Pointer Address registers."
7-2
Not Used
1-0
Null Pointer
[17:16]
0x3
Null pointer search tree address and value written in search tree.
7-2
Not Used
Null Pointer
800C
Address Byte 1
7-0
Null Pointer
[15:8]
0xFF
Null pointer search tree address and value written in search tree.
Null Pointer
800D
Address Byte 0
7-0
Null Pointer
[7:0]
0xFF
Null pointer search tree address and value written in search tree.
In-Stream™
Cell Header
Byte 3
800E
7-0
In-Stream™
Header [31:24]
0x00
Cell header for In-Stream™ programming cells.
In-Stream™
Cell Header
Byte 2
800F
7-0
In-Stream™
Header [23:16]
0x00
Cell header for In-Stream™ programming cells.
In-Stream™
Cell Header
Byte 1
8010
7-0
In-Stream™
Header [15:8]
0x01
Cell header for In-Stream™ programming cells.
In-Stream™
Cell Header
Byte 0
8011
7-0
In-Stream™
Header [7:0]
0xF0
Cell header for In-Stream™ programming cells.
In-Stream™
TAG Byte 3
8012
7-0
In-Stream™
TAG [31:24]
0x00
TAG added to In-Stream™ programming cells.
In-Stream™
TAG Byte 2
8013
7-0
In-Stream™
TAG [23:16]
0x00
TAG added to In-Stream™ programming cells.
In-Stream™
TAG Byte 1
8014
7-0
In-Stream™
TAG [15:8]
0x01
TAG added to In-Stream™ programming cells.
In-Stream™
TAG Byte 0
8015
7-0
In-Stream™
TAG [7:0]
0xF0
TAG added to In-Stream™ programming cells.
Rx Null Pointer
Header Byte 3
8016
7-0
Rx Null Pointer
Header [31:24]
NA
Header filtered on receive DPI interface.
Rx Null Pointer
Header Byte 2
8017
7-0
Rx Null Pointer
Header [23:16]
NA
Header filtered on receive DPI interface.
Rx Null Pointer
Header Byte 1
8018
7-0
Rx Null Pointer
Header [15:8]
NA
Header filtered on receive DPI interface.
Rx Null Pointer
Header Byte 0
8019
7-0
Rx Null Pointer
Header [7:0]
NA
Header filtered on receive DPI interface.
Tx Null Pointer
Header Byte 3
801A
7-0
Tx Null Pointer
Header [31:24]
NA
Header filtered on transmit DPI interface.
Null Pointer
800B
Address Byte 2
Table 21 Internal Register Map (Part 4 of 5)
41 of 46
March 26, 2001
IDT77V012
!
$
1,782 4 ! #
Tx Null Pointer
Header Byte 2
801B
7-0
Tx Null Pointer
Header [23:16]
NA
Header filtered on transmit DPI interface.
Tx Null Pointer
Header Byte 1
801C
7-0
Tx Null Pointer
Header [15:8]
NA
Header filtered on transmit DPI interface.
Tx Null Pointer
Header Byte 0
801D
7-0
Tx Null Pointer
Header [7:0]
NA
Header filtered on transmit DPI interface.
UTOPIA Rx Cell 801E
Counter byte 3
7-0
Rx Cell Counter 0x00
[31:24]
Counter for cells received on the receive UTOPIA bus.
UTOPIA Rx Cell 801F
Counter byte 2
7-0
Rx Cell Counter 0x00
[23:16]
Counter for cells received on the receive UTOPIA bus.
UTOPIA Rx Cell 8020
Counter byte 1
7-0
Rx Cell Counter 0x00
[15:8]
Counter for cells received on the receive UTOPIA bus.
UTOPIA Rx Cell 8021
Counter byte 0
7-0
Rx Cell Counter 0x00
[7:0]
Counter for cells received on the receive UTOPIA bus.
UTOPIA Tx Cell 8022
Counter byte 3
7-0
Tx Cell Counter 0x00
[31:24]
Counter for cells transmitted on the transmit UTOPIA bus.
UTOPIA Tx Cell 8023
Counter byte 2
7-0
Tx Cell Counter 0x00
[23:16]
Counter for cells transmitted on the transmit UTOPIA bus.
UTOPIA Tx Cell 8024
Counter byte 1
7-0
Tx Cell Counter 0x00
[15:8]
Counter for cells transmitted on the transmit UTOPIA bus.
UTOPIA Tx Cell 8025
Counter byte 0
7-0
Tx Cell Counter 0x00
[7:0]
Counter for cells transmitted on the transmit UTOPIA bus.
Table 21 Internal Register Map (Part 5 of 5)
64K memory - 28 bits header lookup - Cell accounting
14000
12000
Number of connections
10000
Best Case
8000
6000
4000
Worst Case
2000
0
0
500
1000
1500
2000
2500
Number of search trees
3000
3500
4000
4500
5347drw52
Figure 47 Memory Usage for 9 Levels of Search
42 of 46
March 26, 2001
IDT77V012
128K memory - 28 bits header lookup - Cell accounting
18000
Best Case
16000
14000
Number of connections
12000
10000
8000
Worst Case
6000
4000
2000
0
0
500
1000
1500
2000
2500
Number of search trees
3000
3500
4000
4500
5347drw53
256K memory - 28 bits header lookup - Cell accounting
18000
Best Case
16000
Worst Case
14000
Number of connections
12000
10000
8000
6000
4000
2000
0
0
500
1000
1500
2000
2500
Number of search trees
3000
3500
4000
4500
5347drw54
Figure 48 Memory Usage for 9 Levels of Search (Continued)
43 of 46
March 26, 2001
IDT77V012
64K memory - 32 bits header lookup - Cell accounting
14000
12000
Number of connections
10000
Best Case
8000
6000
4000
Worst Case
2000
0
0
500
1000
1500
2000
2500
Number of search trees
3000
3500
4000
4500
5347drw55
128K memory - 32 bits header lookup - Cell accounting
18000
Best Case
16000
14000
Number of connections
12000
10000
8000
Worst Case
6000
4000
2000
0
0
500
1000
1500
2000
2500
Number of search trees
3000
3500
4000
4500
5347drw56
Figure 49 Memory Usage for 11 Levels of Search
44 of 46
March 26, 2001
IDT77V012
256K memory - 32 bits header lookup - Cell accounting
18000
Best Case
16000
14000
Worst Case
Number of connections
12000
10000
8000
6000
4000
2000
0
0
500
1000
1500
2000
2500
Number of search trees
3000
3500
4000
4500
5347drw57
Figure 50 Memory Usage for 11 Levels of Search (Continued)
#
#
HD
D
Symbol Dimension in Millimeters
108
Dimension in Inches1
73
109
72
Min
Norm
Max
Min
Norm
Max
E
19.9
20
20.1
(0.784)
(0.787)
(0.791)
D
19.9
20
20.1
(0.784)
(0.787)
(0.791)
f
A
1.7
A1
0.1
A2
E
b
HE
Index
144
37
36
1
q2
q
A1
Amax
A2
R1
R
q3
L2
C
1.3
f
1.4
(0.004)
1.5
(0.052)
0.5
(0.055)
(0.059)
(0.020)
b
0.15
0.2
0.3
(0.006)
(0.008)
(0.011)
C
0.1
0.125
0.175
(0.004)
(0.005)
(0.006)
q
0o
10o
(0o)
L
0.3
0.7
(0.012)
0.5
(10o)
(0.020)
L1
1
(0.039)
L2
0.5
(0.020)
(0.027)
HE
21.6
22
22.4
(0.851)
(0.866)
(0.881)
HD
21.6
22
22.4
(0.851)
(0.866)
(0.881)
q2
12o
(12o)
q3
12o
(12o)
R
0.2
(0.008)
R1
0.2
(0.008)
1.
L
L1
(0.066)
for reference
5347drw58
45 of 46
March 26, 2001
IDT77V012
#
# IDT XXXXX
Device
Type
A
999
A
A
Power
Speed
Package
Process/
Temperature
Range
(Blank) Industrial
DA
155
L
PQFP (144-pin)
4-bit Port Bandwidth in Mbps
Low Power
77V012 DATA PATH INTERFACE (DPI) TO UTOPIA
LEVEL 1 HEADER TRANSLATION DEVICE
5347drw58
&!
&!
(
(
'
9/07/99
Initial Public Release
10/26/99
Added Commercial temperature range and ordering information.
1/27/00
Added text to In-Stream™ section for 1 to 31-byte internal register access.
02/03/00
Fixed typos in In-Stream™ text.
03/03/00
Deleted Commercial temperature range and ordering information, corrected maximum delay values for back to back cells,
updated Utility bus write timing, corrected tables 25 and 32 In-Stream™ Direction.
09/12/00
Corrected In-Stream™ data field description and drawing for Notification cells.
10/15/00
Corrected text and drawings for In-Stream™ Discovery/Identify cells.
12/18/00
Converted from Preliminary to Final.
03/26/01
Added overbars to pin EECS; in Figure 12, changed READ to RD; in Note for Figure 46, added overbar to pins CE and CS1.
CORPORATE HEADQUARTERS
2975 Stender Way
Santa Clara, CA 95054
for SALES:
800-345-7015 or 408-727-6116
fax: 408-330-1748
www.idt.com
for Tech Support:
email: [email protected]
phone: 408-492-8208
The IDT logo is a registered trademark of Integrated Device Technology, Inc.
46 of 46
March 26, 2001