ETC VT6508

VIA Technologies, Inc.
Preliminary VT6508 Datasheet
VT6508
8 RMII PORTS OF 10/100BASE-T/TX
ETHERNET SWITCH CONTROLLER
REVISION ‘D’ DATASHEET
(Preliminary)
ISSUE 1: Nov 23, 1999
VIA Technologies, Inc.
1
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
PRELIMINARY RELEASE
Please contact VIA Technologies for the latest documentation.
Copyright Notice:
Copyright © 1995, VIA Technologies Incorporated. Printed in Taiwan. ALL RIGHTS
RESERVED.
No part of this document may be reproduced, transmitted, transcribed, stored in a retrieval
system, or translated into any language, in any form or by any means, electronic, mechanical,
magnetic, optical, chemical, manual or otherwise without the prior written permission of VIA
Technologies Incorporated.
The VT86C100P may only be used to identify products of VIA Technologies.
All trademarks are the properties of their respective owners.
Disclaimer Notice:
No license is granted, implied or otherwise, under any patent or patent rights of VIA
Technologies. VIA Technologies makes no warranties, implied or otherwise, in regard to this
document and to the products described in this document. The information provided by this
document is believed to be accurate and reliable to the publication date of this document.
However, VIA Technologies assumes no responsibility for any errors in this document.
Furthermore, VIA Technologies assumes no responsibility for the use or misuse of the
information in this document and for any patent infringements that may arise from the use of
this document. The information and product specifications within this document are subject to
change at any time, without notice and without obligation to notify any person of such change.
Offices:
1045 Mission Court
Fremont, CA 94539
USA
8th Floor, No. 533
Chung-Cheng Rd., Hsin-Tien
Taipei, Taiwan ROC
Tel:
Fax:
Tel:
Fax:
(510) 683-3300
(510) 683-3301
(886-2) 2218-5452
(886-2) 2218-5453
Online Services:
BBS : 886-2-2186408
FTP : FTP.VIA.COM.TW
HTTP:WWW.VIA.COM.TW –or- WWW.VIATECH.COM
2
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
TABLE OF CONTENTS
TABLE OF CONTENTS ................................................................................................................................ 3
FIGURES AND TABLES ............................................................................................................................... 4
REVERSION HISTORY ................................................................................................................................ 5
FEATURES ................................................................................................................................................ 6
BLOCK DIAGRAM...................................................................................................................................... 9
FIGURE 1: FUNCTION BLOCK DIAGRAM OF VT6508. (NOTE THAT SOME INTERFACE
SIGNALS ARE ONLY AVAILABLE IN VT6509 OF 208-PIN PQFP PACKAGE.).............................. 9
PINOUT DIAGRAM ................................................................................................................................... 10
FIGURE 2: PINOUT DIAGRAM OF VT6508. ...................................................................................... 10
PIN DESCRIPTIONS .................................................................................................................................. 11
DEFINITION OF VT6508B STRAPPING PINS .............................................................................................. 12
Pin.................................................................................................................................................... 12
SRAM TYPE: .................................................................................................................................... 12
SECTION I FUNCTIONAL DESCRIPTIONS...................................................................................... 15
1 GENERAL DESCRIPTION ...................................................................................................................... 15
2 THE VIA ETHER SWITCH ARCHITECTURE ............................................................................................ 15
2.1 Switch initialization procedures .................................................................................................. 15
2.2 Packet Switching Flow ................................................................................................................ 16
2.3 PACKET BUFFERS AND FORWARDING TABLE ...................................................................................... 16
FIGURE 3. SRAM MEMORY LAYOUT............................................................................................... 17
FIGURE 4. DATA STRUCTURE OF FORWARDING TABLE SLOT................................................ 17
FIGURE 5. DATA STRUCTURE OF EMBEDDED LINK NODE. ...................................................... 17
2.3 RMII INTERFACE .............................................................................................................................. 19
2.3 MANAGEMENT INTERFACE AND AUTO NEGOTIATION ......................................................................... 19
2.4 FLOW CONTROL ............................................................................................................................... 21
FIGURE 6. XON/XOFF WINDOW CONCEPT..................................................................................... 23
2.5 BROADCAST STORM FILTERING ......................................................................................................... 27
2.6 SERIAL EEPROM INTERFACE AND CONFIGURATION COMMANDS ........................................................ 27
2.7 TRUNKING ....................................................................................................................................... 28
3
THE VT6508 SRAM ADDRESS MAPPING TABLE ............................................................... 30
SECTION II REGISTER MAP............................................................................................................... 31
1. REGISTERS TABLE ............................................................................................................................. 31
SECTION III ELECTRICAL SPECIFICATIONS................................................................................. 45
ABSOLUTE MAXIMUM RATINGS............................................................................................................... 45
DC CHARACTERISTICS............................................................................................................................ 45
AC CHARACTERISTICS............................................................................................................................ 46
PACKAGE MECHANICAL SPECIFICATIONS ................................................................................................. 48
3
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
FIGURES AND TABLES
Figure 1: Function Block Diagram of VT6508. (Note that some interface signals are only
available in VT6509 of 208-pin PQFP package.)..................................................9
Figure 2: Pinout Diagram of VT6508. .......................................................................10
Figure 3. SRAM memory layout................................................................................17
Figure 4. Data structure of forwarding table slot........................................................17
Figure 5. Data structure of embedded link node.........................................................17
Figure 6. XON/XOFF Window Concept....................................................................23
4
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
REVERSION HISTORY
Reversion
V0.01
Date
11/23/1999
Reason for change
First release version
5
By
Murphy Chen
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
FEATURES
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
l
Single chip 8 ports 10/100Mbps Ethernet switch controller
- Highly integrated single chip shared memory switch engine
- Supports 8 RMII (Reduced Media Independent Interface) ports
- Non-blocking layer 2 switch, 148,810 packets/sec on each 100Mbps Ethernet port
Media Access Control (MAC)
- Dual 64-byte FIFO’s per port for receiving and transmitting
Auto-sensing 10/100Mbps media speed, full/half -duplex mode, and flow-control
capability
Two switching mechanisms
- Supports ‘store and forward’ switching with filtering CRC-bad packets
- Supports ‘cut through’ switching subject to long packets of length over 64 bytes
Packet buffering
- Glueless 32-bit interface to SSRAM as a packet buffer pool
- 64 packet buffers for 32Kx32 SSRAM, 149 packet buffers for 64Kx32 SSRAM
- 1536 bytes for each packet buffer
Storing control data (forwarding table and packet link entries) in external SSRAM
- Buffer status is stored in the internal free-buffer bit map registers
- Shared forwarding table of 2K entries (or 4K slots) to support multiple (up to 4K)
Mac addresses per port
Efficient address recognition, self learning, and auto-aging mechanism
- Two-slot hashing algorithm to prevent hash collision
- Two optional hashing algorithms, CRC-map and direct-map
Advanced congestion control mechanism
- IEEE 802.3X compliant flow control for full duplex ports
- Backpressure for half duplex ports
- Drop control for full duplex ports without flow control capability
- Incorporating with the output private buffering scheme to prevent HOL (head of line)
blocking
Supports port mirroring (Sniffer feature)
By-pass VLAN packets
Support port-based trunking
- Support two individual trunk groups, each of 2 member ports
- Load balance according to DMAC address and source port number
Support chip initialization through EEPROM or by strapping only
- Supports I2C EEPROM interface for customized configuration
- Supports LED serial-out in the strapping-only initialization mode
50MHz internal reference clock rate
83~100MHz SSRAM clock rate, typically 83MHz
Single +3.3V supply, 0.3µm TSMC CMOS technology
128-pin PQFP package
6
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
7
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
BLOCK DIAGRAM
32-bit SRAM bus
8-bit
IDE bus
VT6508
Forwarding
Table Control
(drop control)
SRAM
Control
Buffer Control
(fully bit-map
management)
Queue
Control
(flow control)
CPU Interface
CPU IO
Control
EEPROM
Control
(eeprom init)
MII
interface
RMII2MII
Translator
LED
Serial-Out
Control
LED
serial-out
bus
Input
Input
Control
Control
Ethernet
RMAC
RMAC
Output
Control
PHY Control
(auto polling)
Ethernet
TMAC
Serial
EEPROM
interface
MII
management
interface
Scheduler
RMII interface x 8
Figure 1: Function Block Diagram of VT6508. (Note that some interface signals are only
available in VT6509 of 208-pin PQFP package.)
99/12/09
9
SA14
SA15
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
38
37
VDD
GND
RXD0_5
CSDV_5
TXEN_5
VSS
TXD0_5
TXD1_5
RXD1_4
RXD0_4
CSDV_4
TXEN_4
TXD0_4
TXD1_4
RXD1_3
RXD0_3
CSDV_3
TXEN_3
TXD0_3
VCC
RCLK50
TXD1_3
RXD1_2
RXD0_2
CSDV_2
TXEN_2
TXD0_2
TXD1_2
RXD1_1
RESET#
VDD
GND
RXD0_1
CSDV_1
TXEN_1
TXD0_6
TXD1_6
RXD1_5
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
10
99/12/09
VSS
GND
VDD
SOE#
SWE#
SADS#
VCC
SD31
SD30
SD29
SD28
SD27
VSS
SD26
SD25
SD24
SD23
VCC
SD22
SD21
SD20
SD19
SD18
VSS
SD17
SD16
SD15
SD14
SD13
VCC
SD12
GND
VDD
SD11
SD10
SD9
Figure 2: Pinout Diagram of VT6508.
SA13
SA12
SA11
VCC
SA10
SA9
SA8
SA7
SA6
VSS
SA5
SA4
SA3
SA2
SA1
VCC
RXD1_7
RXD0_7
CSDV_7
TXEN_7
TXD0_7
TXD1_7
RXD1_6
RXD0_6
CSDV_6
TXEN_6
64
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
47
46
45
44
43
42
41
40
39
VT6508
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
SD8
VSS
SD7
SD6
SD5
SD4
SD3
VCC
SD2
SD1
SD0
EEIO/LEDIO
EEC/LEDC
SCLK
VCC
MDIO
MDC
TXD1_0
TXD0_0
TXEN_0
VSS
CSDV_0
RXD0_0
RXD1_0
TXD1_1
TXD0_1
Preliminary VT6508 Datasheet
VIA Technologies, Inc.
PINOUT DIAGRAM
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
PIN DESCRIPTIONS
No.
See Fig. 2
See Fig. 2
See Fig. 2
See Fig. 2
See Fig. 2
See Fig. 2
Name
CSDV[7:0]
RXD0[7:0]
RXD1[7:0]
TXEN[7:0]
TXD0[7:0]
TXD1[7:0]
Type
Description
RMII interface
Carries sense and data valid from port 7 to port 0 :
Receive data zero from port 7 to port 0 :
Receive data one from port 7 to port 0 :
Transmit enable from port 7 to port 0 :
Transmit data zero from port 7 to port 0 :
Transmit data one from port 7 to port 0 :
I
I
I
O
O
O
SRAM Interface
See Fig. 2
SA[15:1]
O
SRAM Address Bus:
15-bit SDRAM data bus. These signals connect directly to the address
input of the SDRAM devices.
See Fig. 2
SOE
O
Output Enable
See Fig. 2
SWE
O
SRAM Write Enable
See Fig. 2
SADS
O
Synchronous Processor Address Status
See Fig. 2
SD[31:0]
I/O
SRAM Data:
32-bit SRAM data bus. These signals connect directly to the data
input/output pins of the SRAM devices.
Miscellaneous Interface
See Fig. 2
EEC/LEDC
O
Serial EEPROM Interface Clock (if strapping SD25 is default high)
The on-board EEPROM device address must be 1010 001 XXXXXXXX.
Serial LED Serial-Out Clock (if strapping SD25 is low)
The LEDC is 1MHz and has a burst per 50ms.
See Fig. 2
EEIO/LEDIO
See Fig. 2
MDC
O
See Fig. 2
MDIO
I/O
See Fig. 2
RCLK50
I
50MHz Main Reference Clock
See Fig. 2
SCLK
I
SRAM Reference Clock
The suggested clock rate is 83MHz or more high for non-blocking
requirement.
See Fig. 2
RESET
I
SYSTEM RESET
Power Supply & Ground
See Fig. 2 VDD
See Fig. 2 VCC
I/O
P
P
Serial EEPROM Interface Data (if strapping SD25 is default high)
Serial LED Serial-Out Data Output (if strapping SD25 is low)
Management Interface (MI) Clock Output
Management Interface (MI) Data I/O
Positive 3.3V supply to the core digital logic.
Positive 3.3V supply to all I/O pads.
-11-
VIA Technologies, Inc.
See Fig. 2
See Fig. 2
GND
VSS
G
G
Preliminary VT6508 Datasheet
Ground supply to the core digital logic.
Ground supply to all I/O pads.
DEFINITION OF VT6508B STRAPPING PINS
*Note that the default strapping bit value is “1”.
SD[31:0]:
Pin
SD[0]
SD[1]
SD[2]
SD[3]
SD[5:4]
Description
Broadcast or Drop BPDU Packets:
BCAST_BPDU == 1’ b1 => broadcast BPDU packet if CPU_FWD_CFG[1] == 0
(default)
BCAST_BPDU == 1’ b0 => drop BPDU packet if CPU_FWD_CFG[1] == 0
Note that BPDU packets will be forwarded to CPU port if CPU_FWD_CFG[1] == 1
without regard to the value of BCAST_BPDU.
LED Display Combination of Link Activity Status with RX/TX Event:
LED_COMB [0] == 1’ b1 => combined (default)
LED_COMB [0] == 1’ b0 => not combined
Note that the LED bit sequence [10:1] is used originally to display link activity status. By
setting combination with RX/TX event, it will indicate both the link activity status and
RX/TX events so that required LED number can be reduced.
Enable Drop Control for Private Buffer Reservation:
DROP_CONTROL_EN [0] == 1’ b1 => enabled (default)
DROP_CONTROL_EN [1] == 1’ b0 => disabled
Note that drop control has a lower priority than flow control and backpressure.
If it is disabled, all TMACs will not make the drop window signals to Forwarding Control.
If it is enabled and the flow control/backpressure mechanism is not enabled, all TMACs
will make the drop window signals to Forwarding Control.
If it is enabled and the flow control mechanism is also enabled, but the full-duplex party
has no flow control capability, TMAC will make the drop window signal to Forwarding
Control.
SRAM TYPE:
SRAM_TYPE == 1’ b1 => 64Kx32 (default)
SRAM_TYPE == 1’ b0 => 32Kx32
size=128KB: FREEMCNT=64, XON_THRED=43, PRIVATE_BUF_SIZE=1
V_FREE=10, MIN_XOFF_CONST_THRED=15
size=256KB: FREEMCNT=149, XON_THRED=98, PRIVATE_BUF_SIZE=4
V_FREE=10, MIN_XOFF_CONST_THRED=28
CHIP INIT MODE [1:0]:
CHIP_INIT[1:0] == 2’ b11 => Chip Initialization via strapping only (default)
CHIP_INIT[1:0] == 2’ b10 => Chip Initialization via EEPROM
CHIP_INIT[1:0] == 2’ b01 => Chip Initialization via CPU
CHIP_INIT[1:0] == 2’ b00 => Chip Initialization via EEPROM in speedup mode
In none speedup mode, EEC = 78.125K Hz, LED period = 50ms.
In speedup mode for testing, EEC = 2.778MHz, LED period = 1ms without one-second
flash.
-12-
VIA Technologies, Inc.
SD[7:6]
Preliminary VT6508 Datasheet
Number of Tries of Excessive Collisions Before Dropping:
RETRY_EXCE_COLL [1:0] == 2’ b11 => 3 tries (default)
RETRY_EXCE_COLL [1:0] == 2’ b10 => 2 tries
RETRY_EXCE_COLL [1:0] == 2’ b01 => retry forever
RETRY_EXCE_COLL [1:0] == 2’ b00 => 1 try
Internally, retry_no = RETRY_EXCE_COLL, or infinite if it is zero.
By default, after 3 tries (i.e. 3 turns of (excessive) 16 collisions), the outgoing packet will
be dropped.
SD[15:8] (reserved with default value “pull-high”)
SD[17,16] Trunking Mode:
SD16 == 1, port (0,1) no trunking (default)
0, port (0,1) in trunking mode,
SD17 == 1, port (6,7) no trunking (default)
0, port (6,7) in trunking mode.
To simplify layout, trunk group (6,7) can connect with neighboring (right-side)
VT6508’ s trunk group (0,1) in on-board manner.
Note that on-board trunk ports do not need auto-polling and they must be full-duplex &
100Mbps ports & forced flow control enable mode.
SD[18] Enable Backpressure:
BACKPRESSURE_EN [0] == 1’ b1 => enabled (default)
BACKPRESSURE_EN [1] == 1’ b0 => disabled
Note that if it is disabled, all TMAC of half-duplex ports will ignore the flow control
XON/XOFF signals from Queue Control.
SD[20:19] Enable RMII Port Flow Control:
RMII_PORT_FC_EN[1:0] == 2’ b11 => for RMII ports, set self flow control ability
register bit and detect party’ s flow control ability (default)
RMII_PORT_FC_EN[1:0] == 2’ b10 => for RMII ports, disable self flow control ability
register bit and assume (ignore auto-polling) party has no flow control capability
RMII_PORT_FC_EN[1:0] == 2’ b01 => for RMII ports, enable self flow control ability
register bit and assume (ignore auto-polling) party has flow control capability
RMII_PORT_FC_EN[1:0] == 2’ b00 => same as 2’ b11.
While enabled (RMII_PORT_FC_EN[1:0] == 2’ b11 or 2’ b00), set self each PHY
device’ s flow control ability register bit PHY_ANAR_4.10 as 1, and auto polling
PHY_ANLPAR_5.10 to check whether the party has the flow control capability.
While forced disabling (RMII_PORT_FC_EN[1:0] == 2’ b10), set self PHY devices’
flow control ability register bit PHY_ANAR_4.10 as 0 (no such capability), and does not
need auto polling PHY_ANLPAR_5.10.
While forced disabling (RMII_PORT_FC_EN[1:0] == 2’ b01), set self PHY devices’
flow control ability register bit PHY_ANAR_4.10 as 1 (with flow control capability), and
does not need auto polling PHY_ANLPAR_5.10.
For forced disabling, turn off flow control enable bits of all RMII ports.
For (forced) enabling, turn on flow control enable bits of all RMII ports.
SD[23:21] LED Serial-Out Mask for Groups 0,1,2,3 [3:0]:
LED_MASK[0] == 1’ b1 => enable group 0 data out (default)
LED_MASK[1] == 1’ b1 => enable group 1 data out (default)
LED_MASK[2] == 1’ b1 => enable group 2 data out (default)
LED Groups 3,4,5 serial out is always enabled. The time period of LED sequence is
50ms.
-13-
VIA Technologies, Inc.
SD[24]
SD[25]
SD[26]
SD[27]
SD[28]
SD[29]
SD[30]
SD[31]
Preliminary VT6508 Datasheet
Hash Algorithm Selection:
HASH_ALG_SEL == 1 => CRC-map with scramble (default)
HASH_ALG_SEL == 0 => Direct-map without scramble
HASH_ALG_SEL == 1 will make the register HASH_ALG[1:0]=0 that is helpful to the
X-Stream test.
HASH_ALG_SEL == 0 will make the register HASH_ALG[1:0]=3 that can get a good
result of 4094 MAC addresses in Address Handling test.
No Swap EEPROM and LED output pins:
NO_SWAP_EEPROM_LED == 1 => The pins 192/193 are used as
EEIO/EEC. (default)
NO_SWAP_EEPROM_LED == 0 => The pins 192/193 are used as
LEDIO/LEDC.
In 128-pin package, we can bond this pin to VSS to select LED output from the original
EEPROM output pins.
Enable Aging:
EN_AGING == 1 => enable aging function (default)
EN_AGING == 0 => disable aging function
Disable Cut Through Enable:
DIS_CUT_THRU == 1 => disable cut-through feature
(default, i.e. store & forward)
DIS_CUT_THRU == 0 => enable cut-through feature
Disable Aggressive Backoff Algorithm:
DIS_AGGRES_BACKOFF == 1’ b1 => disabled (default)
DIS_AGGRES_BACKOFF == 1’ b0 => enabled
Note that if this feature is enabled, the backoff algorithm for all Ethernet ports is in MBA
mode. By default, the backoff algorithm bits MBA=0 and OFSET=1.
Backpreasure Collision Point Configuration:
COLL_POINT_CFG == 1 => 32th byte (default)
COLL_POINT_CFG == 0 => 2nd byte
Disable TEST mode:
DIS_TEST_MODE == 1 => disabled (default)
DIS_TEST_MODE == 1 => enabled
Disable Latchup Mode:
DIS_LATCH_UP_MODE == 1’ b1 => disable Latchup mode (default)
DIS_LATCH_UP_MODE == 1’ b0 => enable Latchup mode, all output only IO PADs
are in tri-state after reset.
-14-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
SECTION I FUNCTIONAL DESCRIPTIONS
1 GENERAL DESCRIPTION
The VT6508 is a low-cost switch engine chip implementation of an 8 ports 10/100Mbps
Ethernet switch system for IEEE 802.3 and IEEE 802.3u networks. Each port can be either
auto-sensing or manually selected via EEPROM configuration to run at 10Mbps or 100Mbps
speed rate, full or half duplex mode.
The VT6508 supports RMII (reduce MII) port interface. There are eight independent MACs
within the VT6508 chip. The MAC controller controls the receiving, transmitting, and
deferring of each individual port, and the MAC controller also provides framing, FCS
checking, error handling, status indication and flow control function. It has wire-speed
performance with forwarding rate of 148,810 packets/sec on each 100Mbps Ethernet port.
The VT6508 can be configured via EEPROM or strapping only.
2 THE VIA ETHER SWITCH ARCHITECTURE
The VT6508 switch engine uses the shared memory architecture. In order to improve the
packet latency, VT6508 provides two methods for packet switching, cut-through and storeand-forwarding.
2.1 Switch initialization procedures
Step_1. Read strapping signal.
Step_2 Write Reg 0619H with WR_DATA = 8’h01 to trigger SRAM_Ctrl module autotest.
Step_3. If initialization by Strapping, then go to Step_4.
If initialization by EEPROM, eeprom_ctrl module will download register data
from EEPROM (by internal register bus IOW, CS_*, IO_ADDR, and
IO_WR_DATA).
If EEPROM data download error, then go to step6.
Step_4 After SRAM auto-test completed, write Reg 0304H with WR_DATA = 8’h01 to
trigger Forward_Ctrl module auto aging.
Step_5 Write Reg 0404H with WR_DATA = 8’h08 to trigger PHY_Ctrl module
phy_auto-polling.
Step_6 Write Reg 000aH with WR_DATA = 8’h01 to trigger LED_Ctrl module to
display LED.
Step_7 Chip initialization done.
-15-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
2.2 Packet Switching Flow
1. After initialization, the input control of each enabled port will pre-allocate one packet
buffer from the free buffer pool.
2. When the Receive MAC (RMAC) receives a packet data from the PHY device via the
RMII network interface, it packs the data into 16-bit words then passes it to input control.
If RMAC detects any error, it also notifies input control to stop forwarding process.
3. Input control extracts the destination MAC address from incoming data, passes it to
forwarding table control for forwarding decision. In the mean while, it packs 16-bit words
into 64-bit quad-words, and saves it to an input FIFO before storing the packet data to
packet buffers in SRAM.
4. If the switch is configured to “store and forward” mode, input control queues the packet to
the output queue of the destination port after input control is informed by RMAC that this
is a good packet and it stores all packet data to SRAM. If the switch is configured to
“cut-through” mode, the input control queues the packet to the output queue of the
destination port after the first 64-byte packet data is stored in SRAM to prevent output
FIFO underrun.
5. After the whole packet is received and FCS is correct, input control pass the source MAC
address of the packet to forwarding table control for address learning.
6. Output control of the outbound port dequeues the packet from itself output queue, and
fetches packet data from SRAM and saves it into output FIFO. Then it notifies the
Transmit MAC (TMAC) to transmit the read-to-outgoing packet.
7. TMAC grabs 16-bit word at a time from output control, adds preamble and SFD to the
beginning of the packet, then send them out. Proper deferring is done for collision to
conform to 802.3 standard.
8. After the packet is successfully transmitted, TMAC notifies output control of the
successful transmission. Output control then returns the packet to the free buffer pool.
2.3 PACKET BUFFERS AND FORWARDING TABLE
VT6508 provides a 32-bit SRAM interface for packet buffering and maintaining address table
and per-port output link lists. Each packet buffer is a 1536-byte contiguous memory block in
SRAM, and it also contains to a 8-byte link node data structure in every buffer’s tail. A link
node corresponds uniquely to a packet buffer that could belong an output queue, the free
buffer pool, incoming packet buffers of an input control, or outgoing packet buffers of an
output control.
Initially, each input port control will request one packet buffer from its private buffer pool.
Each time when a packet buffer is consumed by an incoming packet, the input port control will
request another packet buffer to prepare for next packet.
There are two data structures in SRAM memory layout, shown in Figure 3. One is the
forwarding table that locates at the lowest 32K-byte address space and contains 2048 entries
(buckets), each of 2 slots. The structure of an 64-bit forwarding table slot is shown in Figure 4,
composed of:
-16-
VIA Technologies, Inc.
(1)
Preliminary VT6508 Datasheet
bits 39..0: MAC Tag
The MAC Tag is used to record the partial content of MAC address for lookup
identification. The mapping of Tag and MAC address is as follows:
Tag[39:32] = MAC[15:8]
Tag[31:24] = MAC[23:16]
address
offset:
05FFH
up to FFFFFH
Packet Buffer Pool
(buffer size = 1.5KB =
1536 bytes)
05F8H
embedded
link node
08000H
packet
content
Forwarding Table
(2048 buckets of 2 slots)
(fixed 32KB)
0000H
00000H
Figure 3. SRAM memory layout.
63
60
reserved
59
58 57
overwrite static
flag
56 55
age
count
50 49
reserved
40 39
forward
mask
0
MAC tag
Figure 4. Data structure of forwarding table slot.
63
35 34
reserved
31 30
source
port
20 19
packet byte
count
10 9
destination next packet buffer
ports bit mask
ID
Figure 5. Data structure of embedded link node.
(2)
Tag[23:16] = MAC[31:24]
Tag[15:8] = MAC[39:32]
Tag[7:0] = MAC[47:40]
bits 49..40: Forwarding Port Mask
-17-
0
VIA Technologies, Inc.
(3)
(4)
(5)
(6)
(7)
(8)
Preliminary VT6508 Datasheet
This is the bit mask of the destination ports corresponding to the forwarding table slot.
The bits 49 and 48, corresponding to CPU port and MII port respectively, should be
zero in VT6508.
bits 57..56: Age Count
If this field is equal to zero, it means this slot is an empty one; otherwise, it is valid.
When the auto-aging is enabled (by default), every valid slot’ age count will be
decreased by one per 100 seconds.
bits 58: Static Flag
This flag is used to program a static MAC slot, that will not be overwritten by dynamic
learning mechanism, with specified forwarding port mask for special purpose.
bits 59: Over-Write Flag
During learning, if both slots are used, the 3rd address will replace one of the slots
according to current value of the concatenated over-write order pointer and their static
bits regardless of ages of the two slots.
Let the concatenated over-write pointer ow[1:0] = (over-write pointer of slot 1,
over-write pointer of slot 0).
Let static[1:0] = {static bit of slot 1, static bit of slot 0}.
The possible mapping of ow[1:0] and static[1:0] are as follows:
ow[1:0]
(0,0)
(0,1)
(1,1)
(1,0)
(0,0)
0
1
0
1
static[1:0]
(0,1) (1,1)
1
x
1
x
1
x
1
x
(1,0)
0
0
0
0
The internal operation rules for the over-write pointer are as follows:
(1) When a slot is over-written, its over-write pointer is toggled.
(2) When one of the slots is a static entry, the static entry must always be placed in slot
0, and slot 1 is always the entry over-written. Over-write pointer has no effect what
so ever here.
(3) When both slots are static, no entry can be written to either slot by the learning
process.
(4) When update an entry, value of the over-write pointer must not be changed unless
indicated otherwise, i.e. over-writing an existing slot.
Another data structures in SRAM memory layout is the packet buffer pool, located at the
upper address space. Every packet buffer is 1.5K bytes with a corresponding embedded link
node in the tailing 8 bytes. The embedded link nodes are used to construct output queues, one
queue for each output port. Its structure is shown in Figure 5, composed of:
(1) bits 9..0: Next Packet Buffer ID
(2) bits 19..10: Destination Ports Bit Mask
-18-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
(3) bits 30..20: Packet Byte Count
(4) bits 34..31: Source Port ID
The number of packet buffers is determined by the configured SRAM size, listed as follows:
SRAM Size
maximum # of packet buffers
128KB
64 buffers
256KB
149 buffers
512KB
320 buffers
1MB
661 buffers
2.3 RMII INTERFACE
The VT6508 can directly connect to an 8 port RMII PHY device through the reduced
MII (RMII) interface to construct a small-sized system board. The signals of RMII interface
are described as follows:
Name
CRSDV
Type
I
RXD[0-1]
I
TXEN
TXD[0-1]
O
O
Description
Carrier sense and Data
valid
Receive data bit 0 to 1 ,
data rate with 50MHz
Transmit Enable
Transmit Data bit 0 to
1
2.3 MANAGEMENT INTERFACE AND AUTO NEGOTIATION
The VT6508 communicates with the external 10/100M PHY and access the PHY
register through MDC, MDIO. The signals of management interface are described as follows:
Name
MDC
Type
O
MDIO
IO
Auto-polling state machine:
step1. Auto-polling idle
- if auto-polling_command=”on” then go to step2
-19-
Description
management interface
clock
management interface
data signal
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
step2. Check the chip internal register, phyint_setup_reg, to setup the pause capability
(Reg4.10) and phy auto-negotiation enable (Reg0.12)
- if (this port do not need phy setup) and (phyint_setup_reg == done),
then go to step 10(done)
- else if (this port do not need phy setup) and (phyint_setup_reg != done),
then config ioctl, set phyint_setup_reg == done, go to step10(done)
- else if (phyint_setup_reg != done),
then go to step3(phy fc setup)
- else if (this port do not need auto-poll,
then go to step 10(done)
- else go to step 5(read phy link status)
step3. Phy flow_control ability setup
- if the phy_pause_ability(reg4.10) != port_phy_fc_set,
then write reg4.10 = port_phy_fc_set and go to step4 (phy auto-negotiation ability
setup)
- else go to step4 (phy auto-negotiation ability setup)
step4. PHY auto-negotiation ability setup
- if (Reg0.12)=”1”(on), then modify chip internal register for phyint_setup_reg = done;
go to step5
- else if (Reg0.12)=”0”(off) or phy_pause_ability have been modified ( in step3 ), then
write PHY auto-negotiation_enable bit (Reg0.12) =”1” (on), restart_auto-negotiation
bit (Reg0.9) = “1” and modify chip internal register for phyint_setup_reg = done; go to
step5
step5. Read PHY link_status bit (Reg1.2) 1st time
- if link is down (Reg1.2)=”0”, then go to step6
- else if link is up (Reg1.2)=”1” and chip_internal_reg for link status is “down”, then go to
step7
- else if link is up (Reg1.2)=”1” and chip_internal_reg for link status is “up”, then go to
step10.
step6. Read PHY link_status bit (Reg1.2) 2st time
- if link is up (Reg1.2)=”1”, then go to step7
- else if link is down (Reg1.2)=”0”, then go to step10
*if chip_internal_reg for link status is “down”=> generate link_change
interrupt and disable io_port
step7. Read PHY Auto-negotiation Complete bit (Reg1.5)
- if auto-negotiation is completed (Reg1.5)=”1”, then go to step8.
- else if auto-negotiation is not completed (Reg1.5)=”0”, then go to step10.
-20-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
*if chip_internal_reg for link status is “down”=> generate link_change
interrupt and disable io_port
Step8. Read PHY ANAR(Reg4) and ANLPAR(Reg5)
- if speed_arbit_bit =”0”(speed from PHY proprietary reg), then go to step9
- if speed_arbit_bit =”1”(speed from ANLPAR), then go to step10
* generate link_change interrupt and enable io_port
Step9. Read PHY proprietary Reg for RMII speed, then go to step10
* generate link_change interrupt and enable io_port
Step10. Done
- if auto-polling_command = “off”, then go to step1, and stay idle
- else go to step2, for next port.
Duplex mode decision rule:
RMII_DUPLEX_MODE = ~( ( ANAR.8 = 1 and ANLPAR.8 =1:100BASE-TX Full )
or ( ( ANAR.7 =0 or ANLPAR.7 =0) and ANAR.6 =1 and ANLPAR.6=1))
Note that value 1 denotes half duplex, 0 denotes full duplex.
Speed decision rule:
According to ANLPAR,
- if ~((ANLPAR.9=1 or ANLPAR.8=1 or ANLPAR.7=1)
then speed = 10MHz
2.4 FLOW CONTROL
In VT6508, there are three policies of resource management for different objectives:
(1) flow control for full-duplex ports
Objective: slow down the input traffic without incurring any drops.
(2) backpressure for half-duplex ports
Objective: slow down the input traffic with intended collision and the Ethernet backoff
mechanism.
(3) drop control for private buffer reservation
Objective: shape the input traffic to be compliant to the buffer reservation discipline.
In the following, we call “congestion control” as aggregation of the above three policies.
The application conditions of resource management policies are as follows:
(1) flow control for full-duplex ports
-21-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
Enabled only when the flow control feature is enabled and the full-duplex port’s party has
flow control capability.
Note that as both the flow control feature and the drop control feature are enabled, the
drop control feature is not turned on if the full-duplex port’s party has flow control
capability.
(2) backpressure for half-duplex ports
Enabled only when the flow control feature is enabled and the port is in half-duplex mode.
Note that as both the flow control feature and the drop control feature are enabled, the
drop control feature is not turned on if the port is in half-duplex mode.
(3) drop control for private buffer reservation
Enabled when the flow control feature and the drop control feature are enabled, but the
full-duplex port’s party has not flow control capability.
Also enabled when the flow control feature is disabled and the drop control feature is
enabled.
XON/XOFF Window and Drop Window
The flow control and backpressure are based on XON/XOFF window. Within XON
window, the source port is in non-congestion status so that any incoming packets are
forwarded normally. If an incoming packet violates the constraint of congestion control, the
source port will leave the XON window and enter the XOFF window after this enqueue
operation is served. Within XOFF window, the source port is in congestion status so that any
incoming packet will trigger a congestion-control operation that depends on the used policy.
The drop control mechanism, residing in Forwarding Control and enabled by DROP_EN = 1,
is based on every ports’ congestion windows that are defined as (1) any one is in XOFF
window, (2) a destination port is in congestion status if its reservation buffer count == 0.
The XON/XOFF windows and the DROP ON/OFF windows are maintained by TMAC,
according to port status and input signals from Queue Control. Figure 6 shows an example
XOFF window status (named as XOFF_WINDOW[0]) of port 0, where XOFF[0] and
XON[0] is an event generated by queue control to notify this source port should enter XOFF
state, and XON[0] are events generated by queue control to notify this source port should
enter or leave XOFF state, respectively. If the source port is within XOFF window as an
XOFF event arrives, an flow control frame with pause time = 0xffff will be sent out. If the
source port is within XON window, the arriving XON event will be ignored.
-22-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
XOFF_WINDOW[0] == 1
XOFF_WINDOW[0] == 0
XOFF_WINDOW[0] == 0
XOFF[0]
XOFF[0]
XON[0]
It will trigger
sending a
XOFF flow
control frame
XON[0]
It is used to
make sure
leaving
XOFF, not to
trigger Tx.
Figure 6. XON/XOFF Window Concept.
Congestion-Control Operations
The starvation control threshold is 9 in VT6508. Let Φ be the Free Memory Count. Let
Ω be the Virtual Free Buffer Count, where Ω = Φ - 9. In congestion control, decisions are
based on Ω. Within XOFF window, the corresponding congestion-control operations are as
follows:
(1) flow control operation
As a unicast or broadcast packet, enqueued by Input Control, violates the congestion
control constraints, Queue Control will assert a trigger to its source port’s TMAC to
send out a flow control frame with pause time = FFFFH. There are two congestion
conditions: (1) Φ ≤ max {Ψ,28} and Rk = 0 , (2) any port is in XOFF window and
Rk = 0 .
Note that even a source port is within XOFF window, an XOFF triggering signal from
Queue Control will also make the TMAC to send out a flow control frame of pause time
= FFFFH. Although it costs more bandwidth to perform the flow control operation, this
duplicated transmission can guarantee the XOFF flow control frame could be received
by the party successfully.
(2) backpressure for half-duplex ports
As a non-local incoming packet is received, Input Control will assert a signal of
“Non_Local” to notify its TMAC sub-module about the status. TMAC will collide this
packet if it is a half-duplex port and it is within XOFF window.
(3) drop control for private buffer reservation
As an incoming packet, coming from a port within DROP_ON window and destining to
a port within CONGESTION window, is detected by Forwarding Control in lookup
operation, Forwarding Control will unmask its port mask to make it to be dropped by
Input Control. Note that the DROP_ON window indicates the time duration in which
the drop feature to the specific port is enabled, that is determined by TMAC. Note that
the CONGESTION window of port k is turned on when any port is in XOFF window
and Rk = 0 , that is determined by Queue Control.
-23-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
XON/XOFF Thresholds Selection
In VT6508, the XON threshold is fixed and programmable. Basically, the XON threshold is
equal to half of total number of buffers – 10.
The XOFF threshold is adaptive and has two objectives:
(1) Prevent buffers are exhausted by some hungry port for unbalanced traffic condition. So,
XOFF threshold >= total # of buffers necessary to be reserved.
(2) Prevent packet drop because of too late response to buffer insufficience condition for
balanced traffic condition. In VT6508, we assume the flow control response time to each
port is 2 buffers.
-24-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
# of Free Buffers
64~661
uncongestion
area
XON watermark (fixed)
XOFF watermark (adaptive)
9
starvation control watermark
Q[k ] : queue length of output port k
Rmax : maximum reserved buffer number for each port
R[k ] : reserved buffer number of port k , R[k ] = ( Q[k ] ≥ Rmax ? 0 : Q[k ] − Rmax )
9
Ψ : # of buffers necessary to be reserved, Ψ = ∑ R[k ]
k =0
Φ : free memory count
C : reserved memory count for virtual free space, C = 10 (default)
Ω : virtual free buffer count, Ω = ( Φ <= C ? 0 : Φ − C )
Θ : XON threshold
When to enter XOFF window ⇒ ( Ω = 0 )
or (Ω ≤ max{Ψ,28} and R[k ] = 0)
or (any port is XOFF and R[k ] = 0)
When to leave XOFF window for any input ports ⇒ Ω > Θ
C: number of reserved buffers to prevent touching buffer starvation threshold
(Virtual Free Space)
9 < C < D, default C = 10
D: offset of # buffers to tolerate incoming packets before source parties stop
(Minimum XOFF Constant Threshold)
Default D = 2x9 + 9 + 1 = 28 for SRAM size of 256KB
£ X: Free memory count
£ Z: # of buffers necessary to be reserved for private policy.
XOFF condition:
( (£ X¡ Ø
(max{£ Z,D}+C) ) and (Rk = 0) ) or (£ X¡ Ø
C)
XON condition:
-25-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
( (£ X> XON_Thred) XON_Thred = (1/2) x (MaxBufferNo + MaxXOFF - 20)
-26-
VIA Technologies, Inc.
SRAM size
128KB
# of buffers
64
256KB
149
512KB
320
1MB
661
Preliminary VT6508 Datasheet
Max XOFF
D+C = 29
D = 19
C = 10
4x9+C = 46
Min XOFF
D+C = 29
D = 15
C = 10
D+C = 38
D = 28
C = 10
C = 10
6x9+C = 76 D+C = 57
C = 20
D = 37
C = 20
8x9+C=102 D+C = 67
C = 30
D = 37
C = 30
XON
43
Rmax
1
98
4
198
6
381
8
2.5 BROADCAST STORM FILTERING
In VT6508, the feature of broadcast storm filtering is based on the above congestion
control, and subjects to incoming broadcast packets. When an incoming broadcast packet
is first enqueued by the Input Control of the source port, Queue Control will check if any
one of its destination output ports is in XOFF window. If yes, it will trigger flow control to
source port. For example, if a broadcast packet comes in from port 0, it will be forwarded
to port1, port2, port3, port4, ... port8 in turn. If any one of ports 1~8 is congested, it will
trigger flow control to source port 0, right on it is received and enqueued by Input Control
of port 0.
If any port’s drop window is turned on, Forwarding Control will drop the incoming
broadcast packets to restrict the resource allocation.
2.6 SERIAL EEPROM INTERFACE AND CONFIGURATION COMMANDS
If the chip initialization mode is “EEPROM-init” (by strapping), VT6508 will read the
external EEPROM device through EEC, EEIO during the system initialization. The signals of
EEPROM interface are described as follows:
Name
EEC
Type
O
EEIO
IO
Description
serial EEPROM
interface clock
serial EEPROM
interface data signal
There are two types of EEPROM commands with the following format:
1. EOF Command: this must be the last command in EEPROM.
-27-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
EE_DATA[7:0] = 8’b0000_0000
2. Download Command:
- EE_DATA[7:6] = 2’b01 è eeprom download data for a specific address
- EE_DATA[5:0] è sequentially download data length from the following address
- The next 2 EE_DATA will be Register base and offset address
Note that there must be an 8-bit check sum following the EOF command to make the sum of
all commands and this check-sum byte is equal to zero bits 0000-0000.
EEPROM memory layout:
EEPROM Address
Data[7:0]
00H
- 1st Command[1:0](2’b01) + 1st_Data_Length[5:0] (1 <= n <= 63)
00H+1
- CS_Module[7:0]
00H+2
- IO_Write Start Address
00H +3 ~
- IO_Write_DATA[7:0] *n
st
00H+2+1 _Data_Length(n)
00H+3+1st_Data_Length(n)
- 2nd Command
- Ending Command[7:0]=8’b0000_0000 è End_of_file
Check_Sum
Note that EEPROM device id and address must be 7’b1010_001.
2.7 TRUNKING
There are two trunk groups in VT6508, one is port (0,1), another is port (6,7). Each one
can be enabled individually. The trunking load balance algorithm is as follows:
Assume DMAC=12'h000000000002, source_port_id = 4'b0001.
DMAC_forwarding_entry_address = hash algorithm(DMAC) * 2 + resident slot#
--------------------------------------------(hask key)
(0 or 1)
Assume the above value is 12'b000000011010 after lookup for DMAC =
12'h000000000002.
-28-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
Let dest_bit = DMAC_forwarding_entry_address[4] xor source_port_id[0].
If the DMAC refers to a trunk port of the trunk group (0,1), the selected outgoing trunk
port is port 0 + dest_bit.
If the DMAC refers to a trunk port of the trunk group (6,7), the selected outgoing trunk
port is port 6 + dest_bit.
-29-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
3 THE VT6508 SRAM ADDRESS MAPPING TABLE
128-pin 32bit mode ( 1 Bank of 32Kx32, 64Kx32):
Package
SRAM Address Pin
Internal 6508 Pad(64bit mode) 6508
Address Pin
64bit
linear
Address
IA15
SA15 = IA14
IA14
SA14 = IA13
IA13
SA13 = IA12
IA12
SA12 = IA11
IA11
SA11 = IA10
IA10
IA9
IA8
IA7
IA6
IA5
IA4
IA3
IA2
IA1
IA0
SA10 = IA9
SA9 = IA8
SA8 = IA7
SA7 = IA6
SA6 = IA5
SA5 = IA4
SA4 = IA3
SA3 = IA2
SA2 = IA1
SA1 = IA0
SA0 = 0
(internally)
SA15 =
IA14
SA14 =
IA13
SA13 =
IA12
SA12 =
IA11
SA11 =
IA10
SA10 = IA9
SA9 = IA8
SA8 = IA7
SA7 = IA6
SA6 = IA5
SA5 = IA4
SA4 = IA3
SA3 = IA2
SA2 = IA1
SA1 = IA0
N/A
A15 = IA14
N/A for 32kx32
A14 = IA13
A13 = IA12
A12 = IA11
A11 = IA10
A10 = IA9
A9 = IA8
A8 = IA7
A7 = IA6
A6 = IA5
A5 = IA4
A4 = IA3
A3 = IA2
A2 = IA1
A1 = IA0
A0 = 0(directly tie
to ground)
-30-
SRAM chip
select
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
SECTION II REGISTER MAP
1. REGISTERS TABLE
By using EEPROM initialization mode, all internal registers can be accessed.
Address Register Description
(base/of
fset)
0000H Chip Configuration
00-07H Chip Configuration by strapping:
CHIP_CFG[0]:
BCAST_BPDU
CHIP_CFG[1]:
LED_COMB [0]
CHIP_CFG[2]:
DROP_CONTROL_EN
CHIP_CFG[3]:
SRAM_TYPE[1]
CHIP_CFG[5:4]: CHIP_INIT_MODE[1:0]
CHIP_CFG[7:6] RETRY_EXCE_COLL [1:0]
CHIP_CFG[15:8]:RMII_SPEED_CFG[7:0]
CHIP_CFG[16] TRUNK_MODE[0]
CHIP_CFG[17] TRUNK_MODE[2]
CHIP_CFG[18]: EN_BACKPRESSURE [0]
CHIP_CFG[20:19]:RMII_PORT_FC_EN
CHIP_CFG[23:21]:LED_CFG[2:0]
CHIP_CFG[24]: HASH_ALG_SEL
CHIP_CFG[25]: NO_SWAP_EEPROM_LED
CHIP_CFG[26]: EN_AGING
CHIP_CFG[27]: DIS_CUT_THRU
CHIP_CFG[28]: DIS_AGGRES_BACKOFF
CHIP_CFG[29]: COLL_POINT
CHIP_CFG[30]: DIS_TEST_MODE
CHIP_CFG[31]: DIS_LATCH_UP_MODE
CHIP_CFG[39:32]: MONITOR_PORT[7:0]
CHIP_CFG[41:40]: SNIFFER_PORT[1:0]
CHIP_CFG[43]: TRUNK_MODE[1]
CHIP_CFG[45]: TRUNK_MODE[3]
CHIP_CFG[42]: RMII_SPEED_CFG[9]
CHIP_CFG[44]: RMII_SPEED_CFG[8]
CHIP_CFG[46]: SRAM_NUM
CHIP_CFG[47]: SRAM_TYPE[0]
CHIP_CFG[48]: DIS_DROP_STARV
CHIP_CFG[51:49]: MII_PORT_CFG
CHIP_CFG[52]: SRAM_32BIT_MODE
CHIP_CFG[53] DIS_SHORT_PREAM
CHIP_CFG[54]: PHY_ADDRESS_SEQ
CHIP_CFG[55]: RMII_SPEED_ARB
CHIP_CFG[56]: DIS_9_PORT_LED_MODE
CHIP_CFG[62:57]: (reserved with value 1’ s)
CHIP_CFG[63]: DIS_INIT_DBG_MODE
-31-
Name
Bits
Default
Value
R/W
CHIP_CFG
[63:0]
by
R/W
strapping
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
0AH
Enable Normal Operation of LED Serial-Out
EN_LED_OUT
[0]
0
R/W
10H
The normal operation (periodic data sending) of
LED Serial-Out can be triggered by (1)
EEPROM-init complete signal from EEPROM-init
module, or (2) software writes value 1 to this
register.
CPU Soft Reset for the whole switch chip reset CPU_SOFT_RESET [0]
1
R/W
by
strapping
by
strapping
0
0
3FF
(null)
by SRAM
size
by SRAM
size
R/W
For Read, 0: soft reset in progress
1: soft reset done
For Write, any value will trigger the whole chip
reset. The soft reset is similar to power-on reset
for the switch chip, except that it is asserted by
writing any value to this register. The CPU soft
reset has to take 16 RCLK50 cycles, i.e. 320ns.
0100H Queue control
00-01H Congestion Control Xon Threshold register
XON_THRED
02H
Output Private Buffer Size
[9:0]
PRIVATE_BUF_SIZE [4:0]
03H
Selected Output Queue ID
04-05H Selected Output Queue Length
06-07H Selected Output Queue Head Pointer
QUEUE_ID
OUEUE_LENGTH
OUEUE_HEAD
[3:0]
[9:0]
[9:0]
08-09H Virtual Free Space
V_FREE_SPACE
[9:0]
0A-0BH Minimum XOFF Constant Threshold
MIN_XOFF_CONST [9:0]
_THRED
0200H Buffer control
00-01H Free Memory Block Count
02H
03H
0300H
00H
Memory Allocation Bit Mask Byte ID
Memory Allocation Bit Mask
Forwarding table control
sniffer port id
01-02H monitor ports bit mask
03H
monitor ports bit mask
0 => to monitor input&output traffic (default)
1 => to monitor input traffic only
2 => to monitor output traffic only
04H
auto-aging configuration
0: disable auto-aging (default)
1: enable auto-aging
Note: Initialization Control should enable
auto-aging for strapping-only
initialization.
05H
inter-aging time (in millisecond)
The valid value is 1..255.
The default inter-aging time value is 50ms for an
entry by default strapping so that the forwarding
table of 4K 2K entries (4K slots) can be aged
completely in about 5 minutes.
-32-
R/W
R/W
R/W
R/O
R/W
R/W
FREEMCNT
[9:0]
by SRAM R/W
size
0
R/W
0
R/O
MASK_ID
BUFFER_MASK
[6:0]
[7:0]
SNIFFER_PID
[3:0]
MONITOR_PM
MONITOR_MODE
[8:0]
[1:0]
by
R/W
strapping
R/W
0
R/W
EN_AUTO_AGE
[0]
0
R/W
INTER_AGE_TIME
[7:0]
50
R/W
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
06-07H aging index
06H: AGING_INDEX[7:0]
07H: AGING_INDEX[10:8]
for CPU to trigger aging on specific entry
08H
aging status
0: idle or complete
1: in progress (no matter how the process is
triggered by auto-init or by CPU)
for CPU to detect status of aging process
09H
hash algorithm
HASH_ALG[0] : 0, crc11, 1, direct map
HASH_ALG[1] : 0, scramble, 1, no scramble
AGING_INDEX
[10:0]
0
R/W
AGING_STATUS
[0]
0
R/W
HASH_ALG
[1:0]
R/W
0 if
strapping
SD[24]=1
,
The default setting 2b’ 00 is optimized specially
for Smartbit test, each combination may just be
as good as others.
3 if
strapping
SD[24]=0
HASH_ALG[1:0]=2b’ 11: direct map without
scramble, hash key = MAC[10:0]
HASH_ALG[1:0]=2b’ 01: direct map with
scramble,
hash key = MAC[7:0, 16:18]
HASH_ALG[1:0]=2b’ 10: CRC map & no
scramble, hash key = CRC11{MAC[47:0]}
HASH_ALG[1:0]=2b’ 00: CRC map with
scramble, hash key =
CRC11{MAC[47:24,15:0,16:23]}
0A0FH
The forwarding table entry format is as follows.
[58]
static
[57:56] age count
[49:40] forwarding portmask
[39:0]
tag
Regardless of the hash algorithm, the tag will
always use MAC[47:8]. The mapping is as
follows.
Tag[39:32]
ßà MAC[15:8]
Tag[31:24]
ßà MAC[23:16]
Tag[23:16]
ßà MAC[31:24]
Tag[15:8]
ßà MAC[39:32]
Tag[7:0] ßà MAC[47:40]
destination MAC object
0AH: DMAC[47:40],
0BH: DMAC[39:32],
…
,
0FH: DMAC[7:0].
A write to this register will make the
corresponding CRC-map lower 11-bit hash key
and upper 37-bit tag shown in HASH_CONTENT.
-33-
DMAC_OBJ
[47:0]
0
R/W
VIA Technologies, Inc.
10
Preliminary VT6508 Datasheet
HASH_CAL_STATU [0]
S
calculation status of DMAC’ s hash key
The HASK_CAL_STATUS register indicates if the
content in HASH_KEY registers are valid.
1 for calculation in progress,
0 for calculation complete.
The CRC-map result of DMAC_OBJ is shown in
this register, 11-bit hash key. The corresponding
tag is always DMAC[47:9].
HASH_KEY
[10:0]
11-12H hash key of DMAC_OBJ
HASH_RESULT
The CRC-map result of DMAC_OBJ is shown in
this register, 11-bit hash key. The corresponding
tag is always DMAC[47:9].
LOOKUP_MISS_MA [9:0]
13-14H port mask for lookup-miss counter
SK
1: to be accounted into LOOKUP_MISS
counter
0: not to be accounted
LOOKUP_MISS_MASK [7:0] at 13H.
LOOKUP_MISS_MASK [9:8] at 14H.
15-16H lookup-miss counter
LOOKUP_MISS
[15:0]
15H: LOOKUP_MISS [7:0]
16H: LOOKUP_MISS [15:8]
This counter is cleared automatically after CPU
read.
17-18H hash-conflict counter
HASH_CONFLICT_C [15:0]
NT
17H: HASH_CONFLICT_CNT [7:0]
18H: HASH_CONFLICT_CNT [15:8]
This counter is cleared automatically after CPU
read.
19-1AH destination port mask for lookup-miss unicast
UCAST_DPM
[9:0]
packets
19H: UCAST_DPM [7:0] for ports 7..0
1AH: UCAST_DPM [9:8] for cpu port & port 8
for unicast packet lookup miss broadcast control
1B-1CH destination port mask for lookup-miss multicast MCAST_DPM
packets
1DH
1BH: MCAST_DPM [7:0]
1CH: MCAST_DPM [9:8]
for multicast packet lookup miss broadcast
control
selection of CPU_PM usage
0: select cpu port to use CPU_PM for lookup
1: select MII port to use CPU_PM for lookup
-34-
[9:0]
CPU_PM_USER_SE [0]
L
0
R/W
0
R/W
1FF
R/W
0
R/W
0
R/W
01FF
R/W
01FF
R/W
0
R/W
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
1E-1FH Destination Ports Bit Mask for Port 8 (CPU port) CPU_PM
0: no affection on port 8’ s incoming packets
that will be forwarded with lookup
not 0: port 8’ s next incoming packets will be
forwarded by CPU_PM, rather than lookup.
CPU_PM will be set as ‘ 0’ after processing
exact ONE port 8’ s incoming packet.
20H
21H
Note that this function can facilitate the
implement of some special system features, e.g.
production testing utility, boot diagnosis utility.
SPECIAL_CTL
Reserved Special Internal Control
bit 0 – enable early cpu port broadcast filtering
bit 3:1 – unused
bit 4 – DROP_CONGESTION_WHEN_STARV
bit 6:5 – SWITCH_MAC_MATCH_MODE
bit 7 – LOOPUP_OPTION
Note that only the bit 0 is used for normal
operation setting. Except the bit 0 is used for the
normal operation setting, the other bits are used
only in Verilog simulation.
CPU_FWD_CFG
CPU port related forwarding configuration
bit 0 – enable forwarding broadcast packets with
DMAC=0xffffffffffff to CPU
(default = 0 : disable)
bit 1 – enable forwarding spanning-tree packets
to CPU
(default = 0 : disable)
bit 2 – enable forwarding unicast packets with
DMAC = switch MAC base to CPU
(default = 0 : disable)
bit 3 – enable forwarding multicast packets with
DMAC = 01-80-C2-00-00-02~0F to CPU
(default = 0 : disable forwarding to CPU
port, i.e. drop these packets)
[8:0]
0
R/W
[7:0]
0
R/W
[2 3:0]
0
R/W
[8:0]
0
R/O
Note that the USER_PM in VT3061 is changed as
10-bit signal from 10 output port enabling bits.
The three register bits are used to enable/disable
forwarding the above three types of frames to the
CPU port.
If CPU_FWD_CFG[1]=1, i.e. forwarding
spanning-tree packets to CPU is disabled, these
SPT packets will be broadcasted, just like the
case for Ethernet Hub.
22-23H Drop On
DROP_ON
Value 1: the corresponding port’ s drop feature is
enabled. Any incoming packets destining to any
one port in congestion will be dropped by
Forwarding Control by setting port mask = 0.
Value 0: the port’ s drop feature is disabled.
This signal is from TMAC.
-35-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
24-25H Congestion Window On
CONGEST_ON
[9:0]
0
R/O
Value 1: the port is in congestion status.
Value 0: the port is not in congestion status.
This signal is from Queue Control.
26-27H XOFF Window
XOFF_WINDOW
[9:0]
0
R/O
PORT0_STP_STATE [1:0]
3
R/W
PORT1_STP_STATE
PORT2_STP_STATE
PORT3_STP_STATE
PORT4_STP_STATE
PORT5_STP_STATE
PORT6_STP_STATE
PORT7_STP_STATE
PORT8_STP_STATE
[1:0]
[1:0]
[1:0]
[1:0]
[1:0]
[1:0]
[1:0]
[1:0]
3
3
3
3
3
3
3
3
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
CMD_PORTID
[3:0]
0
R/W
[4:0]
0
R/W
30H
Value 1: the port is in XOFF window.
Value 0: the port is in XON window.
This signal is from TMAC.
spanning tree state for PORT 0
2’ b00 - blocking state
2’ b01 – listening state
2’ b10 - learning state
2’ b11 – forwarding state (default)
The default value of all STP states is “ forwarding
state” .
31H
32H
33H
34H
35H
36H
37H
38H
0400H
00H
The forwarding operation in each Ethernet port is
controlled by its associated spanning tree state.
In blocking or listening state, the incoming
packets will not trigger any DMAC lookup
operation and SMAC learning operation.
In learning state, the incoming packets will not
trigger DMAC lookup operation, but the SMAC
learning operation will be triggered for CRC-OK
packets.
Only in forwarding state, an incoming packet will
trigger DMAC lookup operation while the first 24
bytes are received, and it will trigger the SMAC
learning operation while the whole packet is
received with good CRC.
For the 802.1d spanning tree algorithm, a
blocked port for loop avoidance should enter the
blocking state so that any incoming packets are
filtered without forward. A normal port that does
not cause any loop should be in the forwarding
state.
spanning tree state for PORT 1
spanning tree state for PORT 2
spanning tree state for PORT 3
spanning tree state for PORT 4
spanning tree state for PORT 5
spanning tree state for PORT 6
spanning tree state for PORT 7
spanning tree state for PORT 8
PHY control
CPU command port ID
01H
Normally, it is the working port ID for CPU direct
read/write. It also shows the working port ID for
auto-polling debugging mode.
CPU command PHY REG number
PHY_REG_ADDR
-36-
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
PHYDATA
02-03H CPU command R/W data
04H
05H
The last data word read from PHY is stored in this
register for CPU read.
Note that the last data word written to PHY is
stored in an internal register that is also located in
this address for CPU write, but not readable.
PHYCMD
CPU command register
PHYCMD[3]: enable phy auto-polling
PHYCMD[2]: disable phy auto-polling
PHYCMD[1]: phy read command.
PHYCMD[0]: phy write command.
When auto-polling mechanism is enabled, CPU
can not read/write PHY devices, even though the
PHY (auto-polling) Debug Mode is enabled.
PHYSTS
PHY status register
Bit-0: 0=cmd_idle; 1=cmd_busy
Bit-1: 0=cmd_incomplete; 1=cmd_complete
Bit-2: 0=autopoll_off; 1=autopoll_on
Note that the “ cmd” means the command from
CPU interface, not from auto-polling control.
06-07H Link status change
1’ b1=link status changed
1’ b0=link status without changed
(cleared after cpu read)
08-09H Link status
1’ b0=link down (default)
1’ b1=link up
0AH
PHY debug mode enable
PHY_DBG_EN: enable debug auto-polling state
Machine for validation
Value 1: enabled
Value 0: disabled
0BH
Trigger Auto-Polling Single Step
-37-
[3:0]
W/O
R/W
0
R/O
LINK_STATUS_CHA [8:0]
NGE
0
R/O
LINK_STATUS
[8:0]
0
R/O
R/W
PHY_DBG_EN
[0]
0
R/W
TRIG_STEP_POLL
[0]
0
R/W
[4:0]
0
R/W
For a 256-byte EEPROM device, an 8-bit data
object is identified with this register. For a 512byte EEPROM device, an 8-bit data object is
identified with this register plus EEDEVADDR[1],
vice versa.
EEPROM data
EEDATA
The last data byte read from EEPROM is stored
in this register for CPU read.
Note that the last data byte written to EEPROM is
stored in an internal register that is also located in
this address for CPU write, but not readable.
R/W
[2:0]
Write value 1 to trigger a single step, then this bit
is self-cleared after command complete.
This operation may takes about 30 s.
10-18H PHY Device Address
PHY_ADDR
0500H EEPROM control
00H
EEPROM word address
EEWDADDR
01H
[15:0]
[7:0]
R/W
[7:0]
R/W
VIA Technologies, Inc.
02H
03H
0600H
00H
01H
Preliminary VT6508 Datasheet
EEDEVADDR
EEPROM device address
bit 7-4 : device type id (default as1010)
bit 3-1 : device id
bit 0 : r/w command à
value 0: write; value 1: read
EESTS
EEPROM status register
EESTS[0]: value 0: idle, 1: busy (r/w or auto-init
in progress)
EESTS[1]: value 1: r/w complete without error
(cleared by register read)
EESTS[2]: value 1: r/w ack error
EESTS[3]: value 0: no init error, 1: init err
CPU interface
IRQSTS
interrupt status/clear register
bit 0: PHY command complete interrupt
bit 1: EEPROM command interrupt
bit 2: PHY auto-polling link status change
notification
bit 3: EEPROM initialization complete interrupt
bit 4: interrupt indication for CPU IO port
receiving an incoming packet from some
Ethernet port, that is ready to be received
by CPU via IDE.
bit 5: interrupt indication for CPU IO port finishing
the transmission of an outgoing packet that
was sent by CPU via IDE.
bit 6: interrupt indication for re-autonegotiation
caused by port speed mismatch
Note that writing 1 to the corresponding register
bits will clear that interrupts.
interrupt mask register
IRQMASK
bit 0: PHY command complete interrupt mask
bit 1: EEPROM command interrupt mask
bit 2: PHY auto-polling link status change
notification mask
bit 3: EEPROM initialization complete interrupt
mask
bit 4: interrupt mask for CPU IO port
receiving an incoming packet from some
Ethernet port, that is ready to be received
by CPU via IDE.
bit 5: interrupt mask for CPU IO port finishing
the transmission of an outgoing packet that
was sent by CPU via IDE.
bit 6: interrupt indication for re-autonegotiation
caused by port speed mismatch
Note: value 0 means “ masked” , value 1 means
“ not masked” . The default is “ masked” so that
software has to poll IRQSTS to check if there are
any pending interrupts.
-38-
[7:0]
R/W
[3:0]
R/O
[5:0]
[6:0]
0
R/W
[5:0]
[6:0]
0
R/W
VIA Technologies, Inc.
02H04H
05H0CH
0DH
0EH
0FH
10H
Preliminary VT6508 Datasheet
SRAMADDR
[16:0]
R/W
The data object addressed is in unit of 64 bits.
The maximum allowable SRAM size is 1MB. For
SRAM direct access, the CPU has to (1) set
SRAMADDR & SRAMDATA, (2) issue read/write
command by SRAMCMD, and (3) check
command status by SRAMSTS.
sram data register
SRAMDATA
[63:0]
R/W
SRAMCMD
[1:0]
R/W
SRAMSTS
[1:0]
0
R/O
INTRQ_MODE
[0]
1
R/W
WR_PKT_CMD
[2:0]
W/O
R/W
[0]
R/W
sram address register
sram command register
2’ b00 : nop
2’ b01 : read
2’ b10 : write
sram status register
2’ b01 : read/write command done
2’ b10 : busy (read/write in progress)
2’ b00 : idle
Interrupt Mode
INTRQ_MODE == 0 => High Active
INTRQ_MODE == 1 => Low Active (default)
Write packet command
3’ b100 : end of frame with the remaining data
size = 2 byte
3’ b101 : end of frame with the remaining data
size = 1 byte
3’ b000 : idle
3’ b001 : start of frame for the next write
3’ b010 : middle of frame for the next write
3’ b011 : abort the unfinished packet write
CPU should write this command register before
repeatedly writing 8 bit packet data to CPU
Interface Control via the 8-bit IDE bus.
11H
The cpu interface with external is 8bit bus.
However the interface between cpuif and cpuioctl
is 16bit data bus. The WR_PKT_CMD will be
passed to cpuioctl so that it will know all the 16bit
are valid or only 8 bit are valid data. For cpu to
send packet, the steps are as follows:
write WR_PKT_CMD = 3'b001 to notify start of
frame, then write first 2 byte data via IDE.
write WR_PKT_CMD = 3'b010 to notify middle of
frame, then write even number of data via IDE.
Leave last two or one byte data.
write WR_PKT_CMD = 3'b100 or 3'b101 to notify
end of frame with remaining data 2 byte or 1 byte.
If it is 2 byte, write the last two byte data via IDE.
If it is 1 byte, write the last one byte data first, and
then write another byte for dummy padding.
PKT_ABORT
Packet Abort
Writing 1’ b1 to this register will drop an incoming
packet ready to be read by CPU. Reading this
register will clear this register as 1’ b0.
-39-
VIA Technologies, Inc.
12H
Preliminary VT6508 Datasheet
Packet Data Register
PKT_DATA
[7:0]
R/W
SWITCH_MAC
SWITCH_MAC
SWITCH_MAC
SWITCH_MAC
SWITCH_MAC
SWITCH_MAC
SRAM_AUTO_TEST
[7:0]
[7:0]
[7:0]
[7:0]
[7:0]
[7:0]
[2:0]
00H
40H
63H
80H
00H
00H
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
[7:0]
0
R/O
[2:0]
[5:0]
7
32
R/W
R/W
Write this register (need to cooperate with
WR_PKT_CMD at 0610H and
WR_PKT_STATUS at 1910H) to send an
incoming-to-switch packet to CPU Input Control.
Read this register (need to cooperate with
PKT_BYTE_CNT at 1900-1901H and
RD_PKT_STATUS at 1902H) to retrieve an
outgoing-from-switch packet from CPU Output
Control.
Note that any read or write to this register will not
cause auto-increment of the Address Register to
support the continuous packet-byte read/write
commands.
13H
14H
15H
16H
17H
18H
19H
The cpu interface with external is 8bit bus.
However the interface between cpuif and cpuioctl
is 16bit data bus. Reading packet data will be
served by cpuioctl so that it will know all the 16bit
are valid or only 8 bit are valid data. For cpu to
read packet, please read one more dummy byte
after reading the last byte if the packet length is
even.
bits [47:40] of switch MAC address [47:0]
bits [39:32] of switch MAC address [47:0]
bits [31:24] of switch MAC address [47:0]
bits [23:16] of switch MAC address [47:0]
bits [15:8] of switch MAC address [47:0]
bits [7:0] of switch MAC address [47:0]
trigger/check SRAM auto test
20H
1000H
00H
01H
Write to this register will trigger the SRAM autotest function.
The status of execution of the SRAM auto-test
function is reported in this register, defined as
follows:
bit 2: 1 → in progress, 0 → complete or idle
bit 1: 1 → error in single r/w connectivity,
0 → no error in single r/w connectivity
bit 0: 1 → error in burst r/w connectivity,
0 → no error in burst r/w connectivity
Revision ID
REVISION_ID
MAC & I/O Control Module of Port 0
configurable preamble bytes
PREAM_CFG
configurable frame gap in di bits for 1st interval IFG_CFG
-40-
VIA Technologies, Inc.
02H
03H
04H
Preliminary VT6508 Datasheet
BOFFCFG
Backoff configuration
bit 0: CAP mode à DEC’ s capture effect
(default: CAP=0)
bit 1: MBA mode à HP’ s capture effect
(default: MBA=0)
bit 2: EEFAST mode à drop the 2nd collided
packet for testing purpose, accelerate the drop
event
(default: EEFAST=0)
bit 3: CRANDOM mode à use another random
algorithm
(default: CRANDOM=0)
bit 4: OFSET à parameter for backoff timer,
For OFSET=1, the TMAC will follow the 802.3
standard backoff algorithm. For OFSET=0, the
TMAC will select the backoff time for the 1st and
2nd collision as that of the 3rd collision, i.e. the
possible the backoff time for the 1st and 2nd
collision is ranged from 0 to 7 in unit of slot time.
(default: OFSET=1)
For the number of excessive retries, please see
the strapping pin SD[52:51].
MAC media type configuration
MACCFG
bit 0: SPD_10M à value 0: 100Mbps,
value 1: 10Mbps
bit 1: HALF_DPX à 1: half duplex, 0: full duplex
bit 2: RCV_FC_DIS à
1: disable receive flow control frame
0: enable receive flow control frame
bit 3: XMT_FC_DIS à
1: disable send flow control frame for
full-duplex mode
0: enable send flow control frame
Note: this is configured automatically by autopolling control or CPU if auto-polling is
disabled to that port. There is no forced
mode if auto-polling is enabled to that port.
IO port enable
bit 0: input port enable
0: input disabled, (drop incoming packets)
1: input enabled
bit 1: output port enable
0: output disabled (default)
1: output enabled
bit 2: output port dequeue hold
1: dequeue disabled
0: dequeue enabled (default)
Note that the broadcast domain is determined by
the CPUIO_CFG[1] and 9 bits of all Ethernet
ports’ IO_CFG[1]. If IO_CFG[1]==0, this
Ethernet port must be not within the broadcast
domain.
-41-
IO_CFG
[4:0]
5’ b1000 R/W
0
[3:0]
0
R/W
[2:0]
0
R/W
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
05-06H Granted 1st free buffer Addr in Input Control
bit [10:0]: buffer address (ID*3 + 40h)
bit [11]: buffer address valid (default: invalid)
bit [12]: buffer free (available for the new
incoming packet)
07-08H Granted 2nd free buffer Addr in Input Control
bit [10:0]: buffer address (ID*3 + 40h)
bit [11]: buffer address valid (default: invalid)
bit [12]: buffer free (available for the new
incoming packet)
09-0AH Event mask for counters
EVENT_MASK[0]: rx CRC good packets
for Counter 1
EVENT_MASK[1]: rx flow control frames for
Counter 1
-------------------------------------------------------------EVENT_MASK[2]: rx a runt packet for Counter 2
EVENT_MASK[3]: rx an over-size packet for
Counter 2
EVENT_MASK[4]: rx a regular-size but CRC
error packet for Counter 2
-------------------------------------------------------------EVENT_MASK[5]: FIFO over-run without buffer
starvation for Counter 3
EVENT_MASK[6]: FIFO over-run with buffer
starvation for Counter 3
EVENT_MASK[7]: intended drop local packets
for Counter 3
EVENT_MASK[8]: drop broadcast packets due
to congestion for Counter 3
EVENT_MASK[9]: drop unicast packets due
to congestion for Counter 3
-------------------------------------------------------------EVENT_MASK[10]: tx packets excluding flow
control packets for counter 4
EVENT_MASK[11]: tx flow control packets for
counter 4
-------------------------------------------------------------EVENT_MASK[12]: FIFO under-run for
Counter 5
EVENT_MASK[13]: collision for Counter 5
EVENT_MASK[14]: first 16-bit packet data late
(can not catch up preamble)
for counter 5
10Hreceived good packet count (Counter 1)
11H
It is cleared automatically after CPU read.
12Hreceived bad packet count (Counter 2)
13H
It is cleared automatically after CPU read.
14Hdrop packet counter(Counter 3)
15H
It is cleared automatically after CPU read.
-42-
FREE_BUF_ADDR1 [12:0]
0
R/O
FREE_BUF_ADDR2 [12:0]
0
R/O
EVENT_MASK
[14:0]
7FFF
R/W
RCV_GOOD_PKT
[15:0]
0
R/O
RCV_BAD_PKT
[15:0]
0
R/O
DROP_PKT
[15:0]
0
R/O
VIA Technologies, Inc.
16H17H
18H19H
1AH1BH
1C1DH
1E1FH
20H
21H
1100H
1200H
1300H
1400H
1500H
1600H
1700H
1800H
1900H
00H
01H
02H
03H
Preliminary VT6508 Datasheet
sent good packet count(Counter 4)
XMT_GOOD_PKT
[15:0]
0
R/O
It is cleared automatically after CPU read.
sent bad packet counter(Counter 5)
XMT_BAD_PKT
[15:0]
0
R/O
XMT_ABORT_PKT
[15:0]
0
R/O
DEQUEUED_BUF_A [11:0]
DDR1
0
R/O
DEQUEUED_BUF_A [11:0]
DDR2
0
R/O
INPUT_CTL_STATE [7:0]
0
R/O
OUTPUT_CTL_STA [7:0]
TE
0
R/O
It is cleared automatically after CPU read.
sent abort packet counter(Counter 6)
(abort due to excessive transmission fails)
It is cleared automatically after CPU read.
dequeued 1st buffer Addr in Output Control
bit [10:0]: buffer address (ID*3 + 40h)
bit [11]: buffer address valid (default: invalid)
dequeued 2nd buffer Addr in Output Control
bit [10:0]: buffer address (ID*3 + 40h)
bit [11]: buffer address valid (default: invalid)
Internal state of Input Control
(reserved for Weipin’ s definition)
(only valid for port 0)
Internal state of Output Control
(reserved for Weipin’ s definition)
(only valid for port 0)
MAC & I/O Control Module of Port 1
MAC & I/O Control Module of Port 2
MAC & I/O Control Module of Port 3
MAC & I/O Control Module of Port 4
MAC & I/O Control Module of Port 5
MAC & I/O Control Module of Port 6
MAC & I/O Control Module of Port 7
MAC & I/O Control Module of Port 8
CPU I/O Control Module
CPU packet read byte count register bits [7:0]
CPU can check the incoming (ready to be
received by CPU via IDE) packet length via the
11-bit register PKT_BYTE_CNT [10:0] before
starting to read it.
CPU packet read byte count register bits
[10:8]
same as Port 0
same as Port 0
same as Port 0
same as Port 0
same as Port 0
same as Port 0
same as Port 0
same as Port 0
PKT_BYTE_CNT
[7:0]
0
R/O
PKT_BYTE_CNT
[10:8]
0
R/O
[1:0]
0
R/O
[3:0]
0
R/O
RD_PKT_STATUS
CPU packet read status register
2’ b00: idle or packet read (by CPU) in progress
2’ b01: packet read (by CPU) complete without
error
2’ b10: packet read (by CPU) with error
(CPU needs to read the same packet again)
PKT_SRC_PORT
Packet source port ID
CPU can check the incoming packet’ s source
port ID via the 3-bit register PKT_SRC_PORT
before starting to read it. It is useful to the
spanning tree algorithm.
-43-
VIA Technologies, Inc.
04H
Preliminary VT6508 Datasheet
CPUIO_CFG
CPU IO port configuration register
bit 0 : input port enable à 1: input enable, 0: input
disable
bit 1 : output port enable à 1: output enable, 0:
output disable
bit 2 : output port dequeue hold à 1: dequeue
disabled, 0: dequeue enabled
Note that the broadcast domain is determined by
the CPUIO_CFG[1] and 9 bits of all Ethernet
ports’ IO_CFG[1]. If CPUIO_CFG[1]==0, the
CPU port must be not within the broadcast
domain.
05-06H Granted (at most one) free buffer Addr in
Input Control
Bit [10:0]: buffer address (ID*3 + 40h)
Bit [11]: buffer address valid
07-08H dequeued buffer Addr in Output Control
bit [10:0]: buffer address (ID*3 + 40h)
bit [11]: buffer address valid (default: invalid)
10H
CPU packet write status register
bits [1:0] : packet write status
2’ b00: idle or packet write in progress
2’ b01: CPU sent packet successfully
2’ b10: CPU sent packet unsuccessfully
(CPU needs to re-write the
packet again)
Note that CPU packets have highest priority and
will not be dropped by Forwarding Control.
bit 2: CPU Input Control is ready for CPU to write
packets (It can be ready only after setting
CPUIO_CFG[0] = 1.)
0: not ready (default)
1: ready
Note that if CPU IO is in XOFF window, it will be
not ready with WR_PKT_STATUS[2]==1. CPU
IO always uses flow control mechanism with
displaying XON/XOFF status in
XOFF_WINDOW[9] of Forwarding Control.
-44-
[2:0]
0
R/W
[11:0]
0
R/O
DEQUEUED_BUF_A [11:0]
DDR
0
R/O
WR_PKT_STATUS
0
R/O
FREE_BUF_ADDR
[2:0]
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
SECTION III ELECTRICAL SPECIFICATIONS
ABSOLUTE MAXIMUM RATINGS
Parameter
Min
Max
Unit
Ambient operating temperature
0
70
oC
Case temperature
0
100
oC
Storage temperature
-55
125
oC
Input voltage
-0.5
5.5
Volts
Output voltage (VCC = 3.1 - 3.6V)
-0.5
VCC + 0.5
Volts
Note: Stress above the conditions listed may cause
permanent damage to the device. Functional operation of this
device should be restricted to the conditions described under
operating conditions.
DC CHARACTERISTICS
TA-0-70oC, VCC=3.3V+/-5%, GND=0V
Symbol
Parameter
Min
Max
Unit
VIL
Input low voltage
-0.50
0.8
V
VIH
Input high voltage
2.0
VCC+0.5
V
VOL
Output low voltage
-
0.45
V
IOL=4.0mA
VOH
Output high voltage
2.4
-
V
IOH=-1.0mA
IIL
Input leakage current
-
+/-10
uA
0<VIN<VCC
IOZ
Tristate leakage current
-
+/-20
uA
0.45<VOUT<VCC
ICC
Power supply current
-
TBD
mA
-45-
Condition
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
AC CHARACTERISTICS
AC timing specifications provided are based on external zero-pf capacitance load. Min/Max
cases are based on the following table:
Parameter
Min
3.3V power (Vcc)
Max
Unit
3.135
3.465
V
0
95
oC
Temperature
- SRAM interface Timing Characteristics
SETUP
HOLD
MIN
MAX
SA output delay
2
7
2
2
2
2
7
7
7
7
SD input
2.5
SD output delay
SADS
SCS0
SWE
UNIT
1.5
- RMII Interface Timing Characteristics
Parameter
min
type
RCLK50 cycle time
max
20
unit
ns
condition
RXD CRS_DV setup time
4
-
-
ns
RXD CRS_DV hold time
2
-
-
ns
TXD TX_EN output
delay
3
-
12
ns
- Management Interface (MI) Timing Characteristics
Parameter
min
typ
max
unit
MDC cycle time -
400
-
ns
MDC high time 180
200
220
ns
MDC low time
200
220
ns
-
-
ns
-
-
ns
180
MDIO setup time 30
(source by PHY)
MDIO hold time
(source by PHY)
0
-46-
to RCLK50 rising
edge
to RCLK50 rising
edge
to RCLK50 rising
edge
condition
to MDC rising
edge
to MDC rising
edge
VIA Technologies, Inc.
MDIO output
200
delay (source by
vt3061)
-
Preliminary VT6508 Datasheet
300
- EEPROM Interface Timing Characteristics
Parameter
min
typ
max
ns
to MDC rising
edge
unit
condition
EEC clock
frequency
Clock high time -
0
78.12
-
kHz
6.4
-
µs
Clock low time
6.4
-
µs
6.4
-
-
-
-
µs
6.4
-
-
6.4
-
-
µs
0
-
-
0
-
-
2.6
-
3.0
µs
-
11.4
-
ms
Start Condition
setup time
Start Condition
hold time
Stop Condition
setup time
Stop Condition
hold time
Read Data In
setup time
Read Data In
hold time
EEIO Data out
delay
Write Cycle time
-
6.4
-47-
µs
µs
to EEC rising
edge
to EEC falling
edge
to EEC falling
edge
VIA Technologies, Inc.
Preliminary VT6508 Datasheet
PACKAGE MECHANICAL SPECIFICATIONS
VT6508
-48-