
160
Agere Systems Inc.
Data Sheet
May 2001
and Packet Payload Engine
Ambassador T8110 PCI-Based H.100/H.110 Switch
14
Connection Control—Standard and Virtual Channel
(continued)
Figure 57. Bonded Virtual Channel in the PULL Direction
14.2.3.4 External Buffer Access
14.2.3.4.1 Overview
The T8110’s general operation is to gather TDM serial stream data in small internal buffers, which are programma-
ble on a per-channel basis (i.e., virtual channels), and then when full, burst the data to a larger external buffer
where a corresponding PCI bus agent (such as a coprocessor) can operate on the larger buffers. For purposes of
further discussion, the other PCI bus agent will be referred to as the
USER
.
The T8110’s onboard storage is 4096 bytes total. For complete usage, this can be defined from as many as
512 buffers of 8 bytes each, to as few as 16 buffers of 256 bytes each, or any combinations that adhere to the fol-
lowing:
n
The total allotment does not exceed 4096 bytes.
n
The T8110 internal buffer sizes are defined in multiples of DWORDS, from 2 DWORDS (minimum) to
64 DWORDS (maximum).
...
56
64
SCRATCHPAD
BASE ADDRESS
OFFSET
(UPDATED JUST BEFORE
TIMESLOT 53 OF
EACH FRAME)
n
n+1
n+2
n+3
n+4
n+5
n+6
n+7
n+8
n+9
n+10
n+11
n+12
n+13
n+14
n+15
n+16
n+17
FRAME
...
AFTER 16 FRAMES
AT 8 BYTES PER FRAME,
128 BYTES HAVE BEEN
READ FROM THE DATA MEMORY (IT IS EMPTY).
CURRENT DEPTH = OVERALL CHANNEL DEPTH = 128.
NOTIFY THE PACKET SWITCH CIRCUIT TO
PULL FRESH DATA FROM THE EXTERNAL BUFFER
INTO THE DATA MEMORY,
AND RESET THE VIRTUAL CHANNEL MEMORY
SCRATCHPAD TO ITS INITIAL
STATE FOR THIS CHANNEL.
VIRTUAL CHANNEL MEMORY
SCRATCHPAD IS IN ITS
INITIAL STATE HERE FOR THIS
CHANNEL.
OVERALL CHANNEL DEPTH = 128 BYTES,
16 FRAMES AT 8 BYTES PER FRAME,
BYTES GO TO SERIAL STREAM OUTPUT CT_D1, TIMESLOTS 46 to 53
126
127
46
47
48
49
50
51
52
53
0
1
...
...
0
8
16
24
32
40
48
72
80
88
96
104
112
120
0
8
0
1
2
3
4
5
6
7
CONNECTION MEMORY
BONDED CHANNEL OFFSET
FOR CT_D0, TIMESLOT X
TIMESLOT
CONNECTION MEMORY
BVF VIRTUAL FRAME MARKER
FOR CT_D0, TIMESLOT X
INCREMENT THE SCRATCHPAD DEPTH COUNTER,
READ A BYTE FROM DATA MEMORY TO SERIAL STREAM OUTPUT:
ADDRESS = (STATIC BASE ADDRESS + SCRATCHPAD BASE ADDRESS OFFSET + CONNECTION MEMORY BONDED CHANNEL OFFSET)
BVF IS ACTIVE, UPDATE SCRATCHPAD:
BASE ADDRESS OFFSET =
(BASE ADDRESS OFFSET +
CONNECTION MEMORY BONDED CHANNEL DEPTH)
READS FROM MEMORY ARE
ONE TIMESLOT LOOKAHEAD