![Intel IXP45X Скачать руководство пользователя страница 727](http://html1.mh-extra.com/html/intel/ixp45x/ixp45x_developers-manual_2073092727.webp)
Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
August 2006
Developer’s Manual
Reference Number: 306262-004US
727
HSS Coprocessor—Intel
®
IXP45X and Intel
®
IXP46X Product Line of Network Processors
The number of timeslots expected by the HSS core is programmable by the NPE Core.
The maximum frame size is 1024 bits, the maximum frame pulse offset is 1,023 bits.
To support ATM-TC, a LFSR scrambler is also located in the HSS. The NPE Core writes
an initial value to the LFSR register. The NPE Core then reads back the register. The
MSb (bit 31 of the bus to the NPE Core) is an XOR operation of bits 30 and 27 of the
LFSR register. The NPE Core also indicates when the LFSR register should be updated.
A HEC generator is also included. The NPE Core is used to initialize the HEC register.
13.3.1
FIFOs and Lookup Tables
13.3.1.1
FIFOs
For every HSS core instantiated within the HSS coprocessor, there are 5 RX FIFOs and
5 TX FIFOs as described in
Section 13.1, “Overview” on page 723
.
In the TX direction, a buffer will be emptying into the external device while the other
buffer will be filled by the NPE Core. The HSS will keep count of the timeslot value w.r.t.
the programmed frame length. When the software reads the TX timeslot value, that
value represents the timeslot due to be written by the NPE Core into the TX buffer. The
NPE Core does not need to know the locations in the buffer that contain the relevant
data, as the HSS will automatically increment the buffer location. When the HSS
detects that the TX buffer location has been filled, the hss_tx_va_empty /
hss_tx_vb_empty / hss_tx_h_empty signal will go low indicating that the buffer is now
full. The NPE Core should not attempt to write more data until the HSS indicates an
empty buffer.
In the case of a full RX buffer, the software is expected to read to the end of the buffer.
If more read instruction are issued after the end of the buffer is reached, the pointer
will not go back to the start of the buffer. The pointer will go back to the beginning of
the RX buffer when that RX buffer has been re-filled with received data.
When the HSS needs to process byte interleaved dual MVIP(2 E1s or 2 T1s are present
in the stream), the 4 HDLC FIFOs should be programmed (by the NPE Core) to
resemble 2 FIFOs, each of size 4 words (2 words per buffer). The software services two
words when the hdlc full/empty hdlc flag asserts.
If E1/T1/GCI operation is desired, then the four HDLC FIFOs can be programmed to act
as one FIFO of size eight words (software services four words). In frame interleaved
MVIP, the HDLC FIFOs should be programmed to resemble one FIFO also.
In byte interleaved quad MVIP, the hdlc buffers must be programmed to act like four
FIFO. Each FIFO contains two words, the software services one word only.
The voice FIFO contains four words, two words per buffer. The software services two
words when the appropriate voice condition flag asserts.
13.3.1.2
Lookup Tables
Two lookup tables (each 2*128 bits) are present in every HSS core (one for TX, the
other for RX). The tables tell the HSS core what timeslots are HDLC/voice or
unassigned within a stream.
Each lookup table requires eight write instructions (32 bit) to be completely filled by
the NPE Core. This allows each timeslot to be programmed by the NPE Core to be either
unassigned/voice/HDLC/56Kmode. For more details on 56Kmode, see
.
illustrates how each lookup table is organized.