
91
3.0 Functional Description
3.5 Reassembly Coprocessor
Bt8230
ATM Segmentation and Reassembly Controller—SAR
N8230DS1F
The following processes occur for every cell:
The CLP bit in the VCC table holds the accumulated value of the CLP
parameter. Upon receipt of a cell, the reassembly coprocessor ORs the
CLP bit in the VCC table with the CLP bit of the cell and writes the result
back to the VCC table.
The timestamp fields in the VCC table are updated each cell. The PDU_TS
is written on the first cell of a PDU. The first cell is detected when the
TOT_PDU_LEN field in the VCC table is zero. The LAST_TS field is
written upon reception of a cell. Also, the CELL_CNT field in the VCC
table is incremented upon receipt of a cell.
The VCC table contains a TOT_PDU_LEN field. This field is constantly
updated as cells of a CPCS-PDU are received. The field contains the total
length of the PDU in octets. If this value ever exceeds MAX_LENGTH,
the PDU is terminated and a status entry is written with the LEN_ERROR
bit set to one. If a cell with AUU = 1 exceeds the maximum length, the
BA_ERROR bit is set to one instead of the LEN_ERROR bit. The
MAX_LENGTH field is written by the host or local processor at setup to
reflect the AAL5 MAX_SDU_DELIVER_LENGTH parameter padding
and trailer lengths in octets. It should be an integer number of cells in
length. The maximum value of MAX_LENGTH in this mode is 65568.
The VCC table contains a CRC_REM field that holds the incremental 32-
bit CPCS CRC calculation. Upon receiving a cell, the reassembly copro-
cessor reads the CRC_REM field into the reassembly 32-bit CRC genera-
tor. The cell payload is then used to calculate the next CRC remainder.
After the current cell is processed, the new CRC remainder is written back
to the CRC_REM field. The CRC polynomial is:
x
32
+ x
26
+ x
23
+ x
22
+ x
16
+ x
12
+ x
11
+ x
10
+ x
8
+ x
7
+ x
5
+ x
4
+ x
2
+ x + 1
Upon termination of a CPCS-PDU, AUU bit = 1, the following processes occur:
The 32-bit CRC remainder is checked for a value of 0xC704DD7B. If in
error, the CRC_ERROR bit in the status entry is set to one.
The SAR-CI parameter is copied into the CI field of the status entry.
If the CPCS-LENGTH field is all zeros, the ABORT bit in the status entry
is set to one. The CPCS_LENGTH field in the status entry is written to the
value of the CPCS-LENGTH field.
The reassembly coprocessor performs a pad length check if LENGTH
≠ 0
as follows: TOT_PDU_LEN –CPCS_LENGTH –8 = [0,47] octets.
If in error, the PAD_ERROR bit is set to one in the status entry. The
CPI_ERROR bit in the status entry is set to one if the CPCS-CPI field is
not all zeros.
The PDU_CNT field in the VCC table is also incremented if no errors
have occurred.
After the status entry is written, the VCC table is initialized to start processing
another CPCS-PDU.