13.01.2015 Views

Digital Subscriber Line Access Multiplexer (DSLAM) Example Design

Digital Subscriber Line Access Multiplexer (DSLAM) Example Design

Digital Subscriber Line Access Multiplexer (DSLAM) Example Design

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Digital</strong> <strong>Subscriber</strong> <strong>Line</strong> <strong>Access</strong> <strong>Multiplexer</strong> (<strong>DSLAM</strong>) <strong>Example</strong> <strong>Design</strong><br />

• The bit rate at which the data should be sent (CBR/VBR/UBR)<br />

• The UBR Priority<br />

• Time spent in Receive Processor<br />

• Packet Size<br />

• Queue ID, Output Port, and VC<br />

The packet is stored in SDRAM. The Inter-IXP header is saved to a mailbox in scratch memory<br />

until the entire packet is received, and then it is queued to the traffic management software. The<br />

traffic management software uses information from the Inter-IXP header, vc table, and port table<br />

for scheduling, shaping, and transmission of the packet stored in SDRAM. Information regarding<br />

the traffic management software design may be found on page 42 of the <strong>DSLAM</strong> Router/Traffic<br />

Shaper Software <strong>Design</strong> Specification White Paper.<br />

2.3 StrongARM Core Initialization<br />

Before starting the microengines, the Receive Processor StrongARM Core initializes the IP<br />

Lookup (Routing) Table, and the VP/VC Lookup (Connection) Table. It also initializes the Buffer<br />

Descriptor Freelist. On the Transmit Processor, the StrongARM Core initializes the Rate Manager<br />

(see Section 4.3.1).<br />

In the simulation environment, this is done by code invoked from the Transactor startup scripts<br />

dslam_proc_a.ind and dslam_proc_b.ind. The IP and VC table management software are emulated<br />

with a combination of Transactor foreign models and interpreted Transactor scripts.<br />

2.4 Microengine Initialization<br />

In the Receive Processor, the initialization code of the transmit microblock group on Microengine<br />

5, thread 0, performs most of the initialization for the Receive Processor in general. It also signals<br />

the appropriate threads on Microengines 0-3, which start the receive microblock group. In the<br />

Transmit Processor, dslam_uc_init and dslam_system_init initialize the entire application.<br />

Application Note 13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!