A Design of a PBX to ATM User to Network

advertisement

)

'~~*re~a~YI _

A Design of a PBX to ATM User to Network

Interface Over DS1/T1 Lines

by

Edmund G. Chen

Submitted to the

Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degrees of

BACHELOR OF SCIENCE and

MASTER OF SCIENCE in Electrical Engineering at the

Massachusetts Institute of Technology

April 13, 1995

© Edmund G. Chen, 1995

The author hereby grants to M.I.T. permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part.

Author

Certified by pent of Electrib E ineering and Computer Science, April 13, 1995

-

Steven Bums, Academic Thesis Supervisor

,

-....

Z. Ron Tanizawa, Cooperating Company Supervisor

Accepted by .

..

F. R. Morgenthal r, Chairma, partment Committee on Graduate Students

MASSACHUSTS INSTITUTE nrJ 119n5n

JUL 1 7 1995

b

Acknowledgments

I would like to take this opportunity to thank those people and organizations which helped get me to this stage.

Thanks to Siemens Rolm Communications Inc. for taking the chance on me my sophomore year and for providing me with a great thesis topic in the area of ATM networking. Thanks to Jay Thomas, Ron

Tanizawa, Bruce Huang, David Weiss, Esmail Kalami and everyone else at Rolm for providing me with the support and opportunity to work on this project.

Thanks to Professor Burns for allocating the time in his schedule to be my thesis advisor when others were "too busy."

Thanks to my parents and brothers, who provided me with all the support and understanding I could possibly ask for, which allowed me to stay focused on my true goals.

Most of all, I would like to thank Michelle Chin and Mark Hansen. Two great friends who have always been there to lend an ear or anything else and made the whole thing a bit more interesting.

Edmund G. Chen

May 5, 1995

3

4

A Design of a PBX to ATM User to Network

Interface Over DSVT1 Lines by

Edmund G. Chen

Submitted to the Department of Electrical Engineering and Computer Science on May 5, 1995 in partial fulfillment of the requirements for the

Degree of Master of Science in Electrical Engineering.

ABSTRACT

The asynchronous transfer mode (ATM) protocol has been heralded as the future of networking. Its fixed length data cells, which allows for high speed switching, gives ATM the characteristics of possibly being the unifying data protocol for all formats of data. An ATM network should theoretically be able to handle all types of data ranging from delay sensitive constant bit rate (CBR) data, such as voice and video, to delay insensitive variable bit rate (VBR) data such as file transfers.

While the current industry drive is to develop ATM for high speed line rates, such as T3/DS3 or OC-3, and delay insensitive data, the focus of this thesis is in the less explored area of CBR data. The thesis involves the design of an ATM user-to-network interface (UNI) over DS I/TI lines for a private branch exchange (PBX) switch.

The DS 1 line rate was chosen because the development of a global ATM network also hinges on the ability to make use of existing physical networks. Currently there is billions of dollars invested in DS1/

TI lines and switching equipment. To make use of this existing network, a novel design for an interface to a PBX for the purpose of transferring CBR data over DS1/Tl lines is proposed. The design will be for the transmitter and receiver of an UNI which provides the data segmentation and reassembly (SAR) between time division multiplexed data and the ATM protocol.

The goal of the thesis will be the development and design of a PBX to ATM UNI over DS l/T1 lines.

The design will be simulated for design and functional verification. If there is additional time, a prototype board will be built.

Thesis Supervisor: Dr. Steven Burns

Technical Director of Biomedical Engineering Center

Company Supervisor: Ron Tanizawa

Manager Digital Lines and Trunks Department

5

6

Table Of Contents

Acknowledgm ents ......................................................................................................... 3

1

2

3

4

5

6

7

8

Introduction ......................................................................................................

1.1

1.2

15

Thesis Overview ........................................................................................................ 15

Overall System ........................................................................................................... 15

Background ......................................................................................................

2.1

2.2

2.3

17

Time Division M ultiplexing ....................................................................................... 17

Asynchronous Transfer M ode (ATM ) ........................................................................ 17

2.2.1 Header .......................................................................................................... 18

ATM Adaptation Layer (AAL) .................................................................................. 19

TMD24 Interface .............................................................................................

3.1

3.2

3.3

3.4

21

Software Impact ......................................................................................................... 21

Configuration Requirements ...................................................................................... 21

Interface to the TMD24 ............................................................................................. 21

TMD24 Signaling Requirements ............................................................................... 23

Principles of Operation .................................................................................... 25

4.1 Bandwidth .................................................................................................................. 25

Idle Cell Insertion ............................................................................................ 27

5.1

5.2

Data Rate Interface .................................................................................................... 27

Repeatable Pattern ..................................................................................................... 27

VPI/VCI Values ...............................................................................................

6.1

6.2

29

ATM VPI/VCI Addressing ........................................................................................

29

Cell Delineation ......................................................................................................... 29

Physical Construction ......................................................................................

7.1

7.2

7.3

31

Component Technology .............................................................................................

31

7.1.1 Design Considerations ................................................................................. 31

Prototype Board Construction .................................................................................... 32

7.2.1 Reset ............................................................................................................ 32

7.2.2 Reprogram ................................................................................................... 32

Layout ........................................................................................................................

32

Transmitter Architecture ..................................................................................

8.1

8.2

33

Principle of Operation ................................................................................................ 33

System Architecture ................................................................................................... 34

-rasbRsY"··--a"··rraruY--------

8.3 Transmitter Memory .

.................................................................................................

8.3.1 Data Buffer .................................................................................................. 35

8.3.2 Initialization and Status Data ....................................................................... 35

8.3.3 Memory Partitioning .................................................................................... 35

8.3.4 Memory Buffer Description ....................................................................... 37

8.3.5 Memory Selection ........................................................................................ 38

9 Transmitter Block Descriptions

9.1

9.2

9.3

9.4

9.5

9.6

9.7

9.8

9.9

..................... 41

System Synchronization ............................................................................................ 41

9.1.1 Time Slot Synchronization ..........................................................................

41

9.1.2 FMB Synchronization .

Control Finite State Machine (FSM) ......................................................................... 41

Initialization ............................................................................................................... 44

9.3.1 First Time Register ...................................................................................... 44

9.3.2 StartToUnload .............................................................................................. 44

9.3.3 Finite State Machine Started........................................................................45

MTS to Transmitter Load Side Interface ...................................................................45

9.4.1 Load Bit Counter .........................................................................................45

9.4.2 MTS Serial to Parallel Shift Register .......................................................... 45

9.4.3 Even Parity Generator .

Transmitter Memory Data Bus .

.

9.5.1 Data Input Multiplexer ................................................................................ 46

9.5.2 DataIn Register ............................................................................................ 47

9.5.3 Sequence Number (SN) Generation Block .

9.5.4 Processor Interface .......................................................................................

48

9.5.5 Channel Status Word (CSW) Register ......................................................... 48

9.5.6 DataOut Register ......................................................................................... 49

Transmitter Memory Addressing ............................................................................... 49

9.6.1 Memory Address Multiplexer .

9.6.2 Memory Load Side Addressing ................................................................... 49

9.6.2.1 Channel Counter ....................................................................... 50

9.6.2.1.1 Time Slot Counter ................................................... 50

9.6.2.1.2 Time Slot Mapping ................................................. 50

9.6.2.2 Index Counter ........................................................................... 52

9.6.2.3 Buffer Counter Block ............................................................... 53

9.6.3 Unload Side Addressing .............................................................................. 53

9.6.3.1 Index Counter ...........................................................................53

9.6.3.2 Channel Counter ....................................................................... 54

9.6.3.3 Buffer Count ............................................................................. 55

Transmitter to FAU Unload Side Interface ............................................................... 56

9.7.1 Unload Bit Counter .

9.7.2 FAU Parallel to Serial Shift Register .

9.7.3 Parity Check ................................................................................................. 56

9.7.4 Dead Byte Insertion ..................................................................................... 57

Idle Pattern Insertion Counters .................................................................................. 58

9.8.1 Cell Count Block ......................................................................................... 59

9.8.2 Group Count Block .

Test Logic .

.

9.9.1 CLKA and FMB Generator ......................................................................... 60

9.9.2 Pattern Generator ......................................................................................... 60

10 Receiver Architecture ......................................................................................

63

10.1 Principle of Operation ................................................................................................ 63

8

10.2 System Architecture ................................................................................................... 64

10.3 Receiver Memory .......................................................................................................

67

10.3.1 Data Buffer .................................................................................................. 67

10.3.2 Initialization Data ........................................................................................ 67

10.3.3 HEC Values .................................................................................................

67

10.3.4 Memory Partitioning ................................................................................... 67

10.3.5 Memory Buffer Description ........................................................................ 68

10.3.6 Buffer Pointers ............................................................................................. 69

10.3.7 Status Values ................................................................................................

69

10.3.8 Memory Selection ....................................................................................... 70

11 Receiver Block Descriptions .

.

.

.........................................................................

11.1 System Synchronization .............................................................................................

11.2 Cell Delineation .

.

11.2.1 Cell Delineation FSM .

11.2.2 Cell Delineation Data Paths .

11.2.2.1 Header Recognition Block ..........................................

11.2.2.2 Channel Number Register ..........................................

11.2.2.3 Header Error Check (HEC) Comparator .

73

76

78

11.3 Control Finite State Machine (FSM) ......................................................................... 79

11.3.1 Status Buffer Address Force Logic ............................................................. 83

11.4 Initialization Blocks ................................................................................................... 84

11.4.1 StartToUnload ..............................................................................................

84

11.4.2 Receiver Load First Time ............................................................................ 84

11.4.3 Receiver Unload First Time ........................................................................ 84

11.5 MTS to Receiver Load Side Interface ....................................................................... 85

11.5.1 Load Bit Count ............................................................................................ 85

11.5.2 FAU Serial to Parallel Interface .

11.5.3 Even Parity Generator ................................................................................. 86

11.5.4 Load Side Dead Byte Count Block ............................................................. 86

11.6 Receiver Memory Data Bus ....................................................................................... 86

11.6.1 Data Multiplexers ........................................................................................ 86

11.6.1.1 Status Data Multiplexer ............................................................ 86

11.6.1.2 Memory Data Bus Input Multiplexer ....................................... 87

11.6.2 Data Multiplexer Input Sources .

11.6.2.1 Data In Register ........................................................................

87

11.6.2.2 Index Status Value .................................................................... 88

11.6.2.3 Load Status Value ..................................................................... 88

11.6.2.3.1 Load Sequence Number Register ........................... 88

11.6.2.4 Unload Status Generation .....................................

88

11.6.2.5 Unload Data Register ............................................................... 88

11.6.2.6 Processor Interface ................................................................... 88

11.7 Receiver Memory Addressing ................................................................................... 88

11.7.1 Memory Address Multiplexer ..................................................................... 88

11.7.2 Load Side Addressing .

11.7.2.1 Index Addressing Block ..................................... 89

11.7.2.2 Channel Number Register Block .

11.7.2.3 Buffer Addressing Block .......................................................... 90

11.7.3 Receiver Unload Addressing .

11.7.3.1 Channel Count Addressing Block .

11.7.3.2 Index Addressing Block ..................................... 91

11.7.3.3 Buffer Addressing Block .......................................................... 92

11.8 Receiver to MTS Unload Side Interface .................................................................... 94

9 rPC*··sl-LI··III--g·l-·U·--rl

11.8.1 MTS Parallel to Serial Converter ................................................................ 94

11.8.2 Inactive Time Slot Data Insertion ................................................................ 94

11.8.3 Parity Check ................................................................................................. 94

12 Conclusion .......................................................................................................

95

12.1 Project Status .............................................................................................................. 95

12.2 Design Verification .....................................................................................................

95

12.3 Closing Remarks ........................................................................................................ 95

12.3.1 Why Implement a PBX to ATM UNI .......................................................... 95

12.3.2 The Future .................................................................................................... 96

Appendix A Transmitter Schematics ........................................................................97

Appendix B Receiver Schematics .......................................................................... 105

Appendix C Board Layout .................................................................................... 113

Appendix D Transmitter Initialize EPROM Contents ............................................117

Appendix E Receiver Initialize EPROM Contents ............................................... 119

Appendix F Receiver HEC EPROM Contents ..................................................... 121

Appendix G Transmitter Simulation ..................................................................... 123

Appendix H Receiver Cell Delineation Simulation .............................................. 143

Appendix I Receiver Simulation: Loading Data .................................................. 159

Appendix J Receiver Simulation: Loading and Unloading Data ......................... 179

Bibliography ............................................................................................................. 189

10

X·i·)····-·-·--lUII--l

List Of Figures

FIGURE 1.

FIGURE 2.

FIGURE 3.

FIGURE 4.

FIGURE 5.

FIGURE 6.

FIGURE 7.

FIGURE 8.

FIGURE 9.

FIGURE 10.

FIGURE 11.

FIGURE 12.

FIGURE 13.

FIGURE 14.

FIGURE 15.

FIGURE 16.

FIGURE 17.

FIGURE 18.

FIGURE 19.

FIGURE 20.

FIGURE 21.

FIGURE 22.

FIGURE 23.

FIGURE 24.

FIGURE 25.

FIGURE 26.

FIGURE 27.

FIGURE 28.

FIGURE 29.

FIGURE 30.

FIGURE 31.

FIGURE 32.

FIGURE 33.

FIGURE 34.

FIGURE 35.

Overall System Setup ................................................................................................. 16

Basic ATM Cell Structure .......................................................................................... 18

Header Structure (UNI/NNI) ..................................................................................... 19

TMD24 Interface ....................................................................................................... 22

FMB and Time Slot Alignment Timing ..................................................................... 23

TMD24 Interface Timing ........................................................................................... 23

ATM Cell Mapping for DS I/TI ................................................................................. 26

Idle Cell Insertions for Smallest Repeating Pattern .

Block Diagram of a Cell Logic Block (CLB) ............................................................ 32

Transmitter Block Diagram ....................................................................................... 33

Transmitter Functional Control Timing ..................................................................... 34

Transmitter Memory Address Bits ............................................................................. 35

Transmitter Data Path Block Diagram ....................................................................... 36

Transmitter Memory Partitioning .............................................................................. 37

Transmitter Buffer Partitioning .................................................................................. 38

Memory Access Decision Flow Diagram .................................................................. 39

Transmitter FSM Bubble Diagram ................................................................. . ......... 42

TLBitCnt and Clock Timing....................................................................................45

Serial MTS Interface Timing ..................................................................................... 46

Even Parity Generator Block ..................................................................................... 46

SN Byte Format ......................................................................................................... 47

Load Side Logical Organization of Memory Addressing Bits .

SRAM Time Slot Mapping ........................................................................................ 52

Index Counter Block .................................................................................................. 52

Unload Side Logical Organization of Memory Addressing Bits .

..............................

Transmitter Unload Side Index Counter Block .......................................................... 54

Transmitter Unload Side Channel Count Block ........................................................ 55

Parallel to Serial Conversion Timing ......................................................................... 56

Parity Check ............................................................................................................... 57

Parity Generator Timing ............................................................................................ 57

Dead Byte Data Insertion ........................................................................................... 58

Dead Byte Data Insertion Timing .............................................................................. 58

Pattern Generator Block ............................................................................................. 60

Receiver Architecture Diagram ................................................................................. 63

11

FIGURE 36.

FIGURE 37.

FIGURE 38.

FIGURE 39.

FIGURE 40.

FIGURE 41.

FIGURE 42.

FIGURE 43.

FIGURE 44.

FIGURE 45.

FIGURE 46.

FIGURE 47.

FIGURE 48.

FIGURE 49.

FIGURE 50.

FIGURE 51.

FIGURE 52.

FIGURE 53.

FIGURE 54.

FIGURE 55.

FIGURE 56.

FIGURE 57.

FIGURE 58.

Receiver Load Side Data Path Block Diagram .......................................................... 65

Receiver Unload Side Data Path Block Diagram ...................................................... 66

Receiver Memory Address Bits ................................................................................. 67

Receiver Memory Partitioning ................................................................................... 68

Receiver Buffer Partitioning ...................................................................................... 69

Channel Status Information Addressing and Organization ........................................ 70

EPROM Selection Logic ............................................................................................ 71

ATM Cell Header Structure for UNI .......................................................................... 74

Cell Delineation Control FSM Bubble Diagram ........................................................ 75

Zero Detection Portion of Header Recognition Block ............................................... 77

Zero Detection Timing ............................................................................................... 77

Header Signal Generation .......................................................................................... 78

Channel Number Register Block Data Paths ............................................................. 79

Signal Timing for Assertion of CorrectHEC .............................................................. 79

Receiver Control FSM Bubble Flow Diagram .......................................................... 81

Receiver Load Bit Count Block ................................................................................. 85

RL_BitCnt Timing ..................................................................................................... 86

Receiver Load Side Logical Organization of Memory Addressing Bits ................... 89

Receiver Load Buffer Comparison Data Paths .......................................................... 90

Receiver Unload Side Logical Organization of Memory Addressing Bits ................ 91

Receiver Unload Index Value Data Paths .................................................................. 92

Receiver Unload Buffer Comparison Data Paths ....................................................... 93

Inactive Time Slot Data Insertion Data Paths ............................................................ 94

12

List Of Tables

TABLE 1.

TABLE 2.

TABLE 3.

TABLE 4.

TABLE 5.

TABLE 6.

TABLE 7.

TABLE 8.

TABLE 9.

TABLE 10.

TABLE 11.

TABLE 12.

TABLE 13.

TABLE 14.

TABLE 15.

TABLE 16.

TABLE 17.

TABLE 18.

TABLE 19.

TABLE 20.

TABLE 21.

TABLE 22.

TABLE 23.

UNI Header Fields ..................................................................................................... 18

NNI Header Fields ..................................................................................................... 18

Input Signals Required By ATM Board ..................................................................... 22

Output Signals Produced By ATM Board .................................................................. 22

Channel Status Word (CSW) Byte Composition ....................................................... 38

Signal Assertions for Transmitter FSM Functions .................................................... 42

Transmitter FSM Input Signal Description ................................................................ 43

Transmitter Control Signal Description ..................................................................... 43

Data_In Multiplexer Selection Table ......................................................................... 46

Truth Table for SN Generations .................................................................................

47

Transmitter Address Multiplexer Selection Table ..................................................... 49

FAU Channel Mapping of Speech Highways ............................................................ 50

Pattern Generator Time Slot Values ........................................................................... 61

Basic Receiver Functions ........................................................................................... 64

Cell Delineation FSM Signal Description ................................................................. 75

Load Side Functions .................................................................................................. 82

Unload Side Functions ............................................................................................... 82

Receiver Control Signal Description ......................................................................... 83

Status Multiplexer Selection Table ............................................................................ 87

DataIn_Mux Selection Table ................................................................................... 87

Receiver Address Multiplexer Selection Table .......................................................... 89

90

RUL_IndexStatus_Force Block Selection Table ..................................................... 92

13

14

Chapter 1 Introduction

1.1 Thesis Overview

The goal of this thesis will be to develop a PBX to ATM UNI over DS 1/T1 lines. This design with be for the Transmitter and Receiver interfaces necessary to perform the segmentation and reassembly

(SAR) of data for the interface between PBX CBR data and the ATM protocol. The ATM board will interface to a Siemens Rolm product, the Trunk Module Digital 24 channel (TMD24) card. The TMD24 card will provide the signaling and data interface to the PBX switch. Section 3 provides more detail on the TMD24 interface.

The ATM Transmitter section will load in the CBR data contained in the Pulse Code Modulated (PCM) data highway, which is received from the TMD24. The Transmitter will then reformat the PCM highway data to satisfy the ATM over DS 1 requirements and transmit the ATM cells. The Receiver will load in ATM cells and reformat the ATM payloads to satisfy the PCM highway timing requirements of the PCM highways on the TMD24 board.

This project will not involve the system signaling to either the PBX switch or the ATM network. The signaling required to establish a call or maintain the ATM network connection will be left for higher layer management. The project will focus on the SAR data management required for the transfer of

CBR data over DS 1 lines.

A large part of this project is to prove ATM technology for the transfer of CBR data, but other project goals are to:

1. Determine requirements for developing an ATM interface for PCM speech highways.

2. Define one architecture that can interact with multiple line speeds.

3. Investigate crucial ATM issues on a small scale project, such as:

* How ATM cells fit within the TI span.

* Effects of different frequencies and amplitudes of delay, caused by late arrival of

ATM cells.

The extent of the investigation of the effects of delay will depend on the available time remaining in the assignment.

1.2 Overall System

With the ATM over DS UNI being developed, a point-to-point network as shown in Figure 1, "Overall

System Setup," could be installed. The interface to an ATM network is ideal so that each connection contained within an ATM cell can be routed independently from all other connections. Other possible system configurations such as connections through a central office (CO) over leased T1 lines, would

15

16 destination.

all connections to have the same source and

FIGURE 1. Overall System Setup

Chapter 2 Background

2.1 Time Division Multiplexing

Time division multiplexing (TDM) is the telecommunication standard for carrying CBR data. The TDM format is based on the concept that each connection or channel occupies a specific time slot with reference to global system clock. For a DSI/Tl line, twenty-four channels and a framing bit are grouped together into frames, see Figure 2, "DS TDM frame." Each channel contains an eight bit value obtained from sampling CBR data at 8KHz. The framing bit is used primarily for synchronization.

1 frame = 193 bits => 125us in duration

-

.......... I C23 I C24

A b4AAAA;

-a an Channel I-24

FIGURE 2. DS1 TDM frame

The 24 channels plus 1 framing bit, a total of 193 bits, must fit within a 125gs time frame in order to satisfy the 8KHz sampling rate. This resulting transmission rate of 1.544Mbits-per-second (Mbps) and the 193 bit data format is the standard known as DS l/T.

2.2 Asynchronous Transfer Mode (ATM)

1

The ATM cell is composed of 53 bytes, of which the first 5 bytes are reserved for addressing, and are referred to as header bytes. The usage of the remaining 48 bytes vary depending on the application, but mainly are used for carrying data, either CBR or VBR, and are referred to as the payload, see

Section 2.3 for more detail. Figure 3, "Basic ATM Cell Structure," shows how the 53 bytes are partitioned into header and payload.

1. For more information about ATM, see the bibliography or any of the many published texts.

17

_~~~~~~-

2.2.1 Header

The exact header bits differ depending on whether the ATM is being generated from a User to Network

Interface (UNI) or a Network to Network Interface (NNI). For the UNI, there are six fields within the five byte header. The order of occurrence in the header, field name, abbreviation and bit size are listed in

Table 1, "UNI Header Fields."

Bits:

Bytes:

1

5

6

7

7 6

5

4 3 2

Header

(5 Octets)

53

I

~ ~I

(48 Octets)

.I

1 0

FIGURE 3. Basic ATM Cell Structure

The NNI header fields are essentially the same as the UNI header fields except for NNI header fields, the VPI is extended to 12 bits, replacing the GFC field, see Table 1, "UNI Header Fields." The header structure for both UNI and NNI ATM cells is shown in Figure 4, "Header Structure (UNI/NNI),"

TABLE 1. UNI Header Fields

Field Name

1.) Generic Flow Control

2.) Virtual Path Identifier

3.) Virtual Channel Identifier

4.) Payload Type

5.) Cell Loss Priority

6.) Header Error Control

Abbreviation

GFC

VPI

VCI

PT

CLP

HEC

Size

4 bits

8 bits

12 bits

3 bits

1 bit

8 bits

TABLE 2. NNI Header Fields

Field Name

1.) Virtual Path Identifier

2.) Virtual Channel Identifier

3.) Payload Type

Abbreviation

VPI

VCI

PT

Size

12 bits

12 bits

3 bits

18

TABLE 2. NNI Header Fields

Field Name

4.) Cell Loss Priority

5.) Header Error Control

Abbreviation

CLP

HEC

Size

1 bit

8 bits

Bits:

Bytes:

3

4

5

7 6 5 4 3 2 1 0

GFC/VPI VPI

2 VPI VCI

VCI

VCI PT CLP

HEC

FIGURE 4. Header Structure (UNI/NNI)

The main fields of concern are VPI, VCI, and HEC. The VPI and VCI fields are used for addressing and can be considered as a single address field. The HEC field is actually a CRC-32 value, generated over the first four bytes of the header and is used for cell delineation and error correction of the header.

2.3 ATM Adaptation Layer (AAL)

ATM adaptation layers (AALs) have been defined for the mapping of data between the higher layer protocol and the ATM payload. For the transfer of CBR data, AAL1 is used. AAL1 requires that first byte of the 48 byte payload be used to carry a sequence number (SN) field, which can be used for higher layer error correction such as out of order cell correction. The presence of the SN byte reduces the available ATM cell payload to 47 bytes.

19

20

Chapter 3 TMD24 Interface

The short time span over which this project must be completed, requires the need for an interface with the existing TMD24 card. The TMD24 card is normally used to provide the interface between the PBX and a DS1 /T1 line. The ATM board interface with the TMD24 board is required to establish and maintain connections and provide system signaling with the switch. This alleviates the need for the

ATM board to handle the system level signaling between the ATM board and the PBX switch required to setup and maintain a connection. The TMD24 board will also be used to provide the actual physical interface with the DS l/T1 line.

3.1 Software Impact

Because of the lack of software support, it is important that the design have no F/W, L/W or S/W effects on the TMD24 card or the switch. This requires that the ATM board operates transparently to the

TMD24 card. This way, there will be no changes to existing code on the TMD24 or switch. However, in an actual product, there will be modifications and additions, ATM related, to existing IJW, F/W and perhaps S/W.

3.2 Configuration Requirements

The TMD24 must be configured to operate in Extended Superframe Format (ESF) with MOS signaling, see Section 3.4. Because of bandwidth limitations, three time slots must be masked off, see Section 4.1.

For the project implementation, the masked off time slots are arbitrarily chosen to be time slots 1, 2, and

3.2, 3

3.3 Interface to the TMD24

The ATM UNI project will focus on the SAR data management for the mapping of the PCM speech highways to the ATM protocol requirements. The ATM board will interface between the Memory Time

Switch (MTS) chip and the Frame Alignment Unit (FAU) chip on the TMD24 board, see Figure 5,

"TMD24 Interface."

_IUCasllYII___

2. Any three B channels can be masked off, leaving 20 B channels and the D channel to be supported in

ATM over DS1. For now, all 21 supported channels will be assumed to be in use. B channels indicate time slots carrying data information and D channels indicate time slots carrying signaling information.

3. Time slots are the physical numbering implied from the system timing. The Channel

Number is a logical number applied to each time slot.

21

Original

PrM hihxxo-, ified ghway

FIGURE 5. TMD24 Interface

The signals required for this point of interface are listed in Table 3, "Input Signals Required By ATM

Board," and Table 4, "Output Signals Produced By ATM Board." This point of interface removes the requirement of having to manage the insertion and removal of the framing bit (FB) and allows the ATM board to deal strictly with the PCM highway data. One draw back of this point of interface is the fact that we must deal with 32 time slots, 8 of which are inactive

4

, at a data rate of 2.048Mbps instead of 24 time slots at a data rate of 1.544Mpbs.

TABLE 3. Input Signals Required By ATM Board

Signal Input From: backplane FMB

CLKA

FAU Data In

FAU Data Out

Power

Ground backplane output of TMD24's MTS output of TMD24's FAU backplane backplane

TABLE 4. Output Signals Produced By ATM Board

Signal

Modified FAU Data In

Output To: input to TMD24's FAU24

Modified FAU Data Out

ModtedA taspOet to th input to TMD24's MTS the serials

In order for the ATM board to be transparent to the TMD24 card, the serial data timing must be identical to those required by the TMD24 card. The FMB signal is used to indicate the start of time slot 0 and

4. Dead time slots are time slots 0, 4, 8, 12, 16, 20, 24, an 28, which are filled with an all l's value.

22

-~·*~l*euollr~s~01*13a~Ul -only occurs once every 64 time slots, see Figure 6, "FMB and Time Slot Alignment Timing." A detailed timing interface is shown in Figure 7, "TMD24 Interface Timing."

FMB

3

FIGURE 6. FMB and Time Slot Alignment Timing

[

2

FMB

CLKAL

Serial DtaTS3

2.048 Mbp

C256k

Cl

TS

Bit

TS TS TS TS TS

Bit6 Bit7 O

1I

FIGURE 7. TMD24 Interface Timing

CLKA, C256k, and C1 are 2.048MHz, 256KHz and 1.024MHz clocks respectively. Both the FMB and the CLKA signals are generated by the PBX switch. The 256k and the C1 clocks are generated internal to the ATM board.

3.4 TMD24 Signaling Requirements

With the ATM board interfaces between the MTS and FAU chips, the signaling modes supported by the

TMD24 are limited, see Section 3.3.

The Channel Associated Signaling (CAS) and Bit Oriented Signaling (BOS) signaling modes will not be supported by the ATM board. The problem occurs because both CAS and BOS signaling modes are inserted by the FAU. CAS is a "robbed bit"

5 signaling mode, which causes problems when bits of the

ATM header are replaced by signaling bits. BOS signaling causes a similar problem.

6

Another factor is

5. "Robbed bit" signaling is a signaling mode where every 6 frames, the least significant bit of each channel (1-24) is replaced with a signaling bit. Therefore "robbed bit" signaling will cause data to be distorted. For example, for standard framing, robbed bit occurs in frames 6 and 12, and for ESF, robbed bit occurs in frames 6, 12, 18, and 24.

6. BOS signaling uses the same type of signaling as CAS, except all signaling bits are multiplexed, typically, into channel 24. The problem with BOS is that it is inserted by the FAU, which would also distort our modified data that the ATM board is sending to the FAU.

23

that CAS and BOS are old signaling modes and it does not make sense to try to support them with modern ATM equipment.

The only signaling mode that will be supported by the ATM board is Message Oriented Signaling

(MOS). MOS can be supported since it is inserted, normally into time slot 32, by the MTS.

7

7. If the MOS signaling channel is assigned to a different time slot, refer to Section 3.2 for restrictions.

24

Chapter 4 Principles of Operation

4.1 Bandwidth

The bit rate for DS1/T1 is 1.544Mbits/sec. The actual PCM highway data transfer rate over DS 1/T is

1.536Mbits/sec. This is because only 192 bits, of the 193 bits making up a T1 frame, are available for

PCM data.

Since ATM over DS1IT1 must also carry the ATM header bytes, as shown in Figure 8, "ATM Cell

Mapping for DS1 /T1," then it is not possible to support all 24 T1 channels. Specifically, the ATM protocol requires an additional 5 byte header, plus an extra byte for AAL1, the SN byte. This leaves a 47 byte payload and thus, only 21 time slots can be supported for ATM over DS 1/T1.

8

This requires 3 time slots to be masked off as stated in Section 3.2.

-----II_--

8.

53bytes ( 8bzts _ 424bits

ATMcellJ byte) J ATMcell (N l ber of bits in an ATM cell) (EQ 1)

(1.536Mbits 1IATMcell) 3622.6415ATMcells

s A 424bits

)

s

(ATM cells transmitted per second) (EQ 2)

(47bytepayload)( 8bits

_

376bitpayload

ATMcelI (Available bits per ATM payload)

(EQ 3)

3622.6415ATMcellsf 376bitpayload

-

1.3621132Mbitpayload

s t A TMcell ) s

(Availablebitstransmittedpersecond)(EQ 4)

(1.3621)32Mbitpay)oad

(.536Mbi ) 0 s X s

(EQ 5)

(0.88679) (24channels) = 21.283channels * 21 channels (Number of channels supported)

(EQ 6)

25

--I I_

26

24 bytes

F

F

1-- bte40

Header

F

F

F

F

F

F

F

L

1 bit - Framing Bit

Header

Header

H e a d e r

FIGURE 8. ATM Cell Mapping for DS1/T1

Header

IYC___

Chapter 5 Idle Cell Insertion

Because ATM over DS does not fit exactly, there is a need to insert idle ATM cells in order to match incoming PCM highways, outputted ATM cells and TI rates, see Section 4.1.

5.1 Data Rate Interface

The mismatch of the input and output data rates is evident from the timing calculations. The time to accumulate 47 bytes, from the PCM highway, generates a 5.875ms delay. Therefore, after 5.875ms, there are 21 ATM payloads l °

, of 47 bytes each, ready to be transmitted. On the Receiver side, it takes

276.04ps

1 to receive 1 ATM cell and 5.769ms

12 to receiver 21 ATM cells.

Since it only takes 5.769ms to receive 21 ATM cells, but requires 5.875ms to accumulate the data for the 21 ATM cells, then there is obviously a data rate mismatch. Therefore, at specific times, the

Transmitter will be required to transmit idle ATM cells in order to match the input and output data rates.

5.2 Repeatable Pattern

The easiest way of determining when idle ATM cells must be inserted is to determine the smallest repeatable pattern of valid and idle ATM cells for which the input and output data rates match exactly.

In order to determine this pattern, two equations were used. Equation 1 requires that the ending of the

9.

( 193bits I 125gs

\Tlframe 1.544Mbps Tlframe

(47Tlframes) Tlfe ,

5.875ms

10. This time is assuming that all 21 supported channels are in use.

11.

( 125ps s 53bytes

, Tlframe J.ATMcell) _ 276.04167gts

24bytes

Tlframe

ATMcell

12.

(276.04167sll (21ATMcells) = 5.76875ms

ATMcell

)

27

total number of valid ATM cells and idle ATM cells corresponds exactly with the end of a T1 frame.

1 3

Equation 2 requires that the number of inputted and outputted T1 frames are equal.

4

21n+i = 24a

(EQ 1)

( ((24a)53)/24) =

n = # of groups of 21 ATM cells

i = # of Idle ATM cells a =# of groups of 24 ATM cells

47Tlframes

(n)

~~(EQ

Solving Equation 1 and Equation 2 for the minimal values of a, n and i produces the values a = 47, n =

53 and i = 15. This gives the minimal number of ATM cells, valid and idle, such that the data rates, for the 21 supported channels, of the PCM highway, ATM cells and T1 rate are satisfied.

Therefore, the minimal repeatable pattern contains (53 * 21) + 15 = 1128 ATM cells. The actual idle

ATM cell insertions should be made in order to keep the Receiver buffer size to a minimal. This is achieved by making the most uniform delay possible. It turns out that the delay and buffer size are minimized by having 3 groups of 75 and 12 groups of 74, with idle cells inserted between each group.

This grouping gives a total of 15 idle cells, and a total cell count of 1128, see Figure 9, "Idle Cell

Insertions for Smallest Repeating Pattern."

x2

x 10

I1 75 1 75 1 1 74 1 74

~- Idle cells \- Valid ATM cells

FIGURE 9. Idle Cell Insertions for Smallest Repeating Pattern

1 74

13. Every 24 ATM cells fits exactly into 53 T1 frames.

14. The right side of the Equation 2, (47 * n), is the number of T1 frames that have been accumulated.

The left side of the Equation 2, (24 * a), is the number of ATM cells in the pattern. Then (24 * a * 53) is the number of bytes, and ((24 * a * 53)/24), is the number of T1 frames needed to carry all the ATM cells in the pattern.

28

Chapter 6 VPI/VCI Values

6.1 ATM VPIIVCI Addressing

Currently the design will implement VP1VCI addressing through the use of an EPROM look-up table.

The time slot number on the Transmitter side will be used to select the 5 byte header. On the Receiver side, the 5 byte header will be used to decode the appropriate T1 time slot for reconstruction of the T1 frame. By allowing each channel to have its own unique VPI/VCI address, each channel can be sent to a unique destination. This is in contrast to having all 21 channels mapped into the same ATM cell, which would require that all 21 channels have the same destination.

In an actual product, the EPROM would be replaced with a RAM, so that VPI/VCI addressing could be programmable. This would require minor F/W and L/W modifications.

Only a portion of the cell delineation procedure specified in ITU 1.432 will be implemented. The basic principle of HEC detection and cell delineation will be used. Specifically, the ATM board cell delineation operation will only cover the HUNT and PRE-SYNC states of cell delineation, as defined by

ITU 1.432. One point that should be noted is that for a DS 1 interface, received data is byte aligned in reference to the framing bit and FMB signal.

Error detection will be limited to only the detection of an error in the HEC value. No error correction features will be supported. Any ATM cell found with an error will be dropped.

The cell delineation function may eventually be replaced by an off the shelf component.

15

6.2 Cell Delineation

Two requirements on the VPINVCI values are necessary in order to simplify the cell delineation block.

1. The VPINVCI addresses are within the values of 32 to 63.

2. The VPI/VCI address minus 32 is the time slot value in which the payload data should be deposited.

Requirement 1 is necessary so that our valid ATM cells are outside of the VPI/VCI range designated for idle and Operations And Management (OAM) cells and simplifies the cell delineation procedure. This also allows for a 23 fixed bit pattern of _ID1 as an indicator for the start of an

ATM cell header. The second requirement is to simplify our control logic. In theory there could be a

RAM or a EPROM which decodes the VPI/VCI address to its specific time slot. However, with the proper VPI/VCI assignments, the second requirement allows the use of the 5 LSBs of the VPI/VCI value for the ATM cell channel number. See Section 11.2 for more details.

15. One such possible component is the TranSwitch TXC-05150. A limitation on the use of such a device is the lack of a processor or L/W to initialize the component.

29

-·-·uVI··IIIUIINII-·ID-r--------

30

Chapter 7 Physical Construction

7.1 Component Technology

Because of the high chip count, FPGAs will be used to implement the ATM board design. This will allow us to keep both the Transmitter and Receiver on a single board. There will also be some components external to the FPGAs, such as SRAMs and EPROMs. The Transmitter and Receiver portions of the ATM board are each contained in separate FPGAs. The Transmitter is described in

Section 8 and Section 9. The Receiver is described in Section and Section 11.

The FPGAs used are Xilinx 3090PGA175-100. The Transmitter FPGA is configured in Master Parallel

Mode and the Receiver FPGA is configured in Serial Slave Mode.

7.1.1 Design Considerations

Because Xilinx FPGAs were used, special design considerations were necessary that differ from standards designs in discrete logic. The FPGAs are composed of units called Cell Logic Blocks (CLBs).

Each CLB is composed of a look up table, multiplexers and registers, see Figure 10, "Block Diagram of a Cell Logic Block (CLB)." Because of the use of a 4 to 5 input look up table, it is inexpensive to implement very complex combinational logic. However, since each CLB only has two registers, the use of registers and CLBs are directly related.

An example of such a design consideration is parity generation. One method is simply to use an eight input XOR gate. This would take up approximately 2 CLBs. However, if parity was generated serially using a register and feedback, then only 1 CLB is required. While this may seem like an insignificant savings, it is a very important savings. This is because in the initial stages of a design, the number of

CLBs required to implement the design in unknown. Therefore, it is important to try at every step of the design to use the fewest possible CLBs to implement the desired functionality.

Another consideration is routing resources within the FPGA. There is actually very little that the designer can do in this area. Some designs naturally lend themselves to structures that fit well within

FPGAs, others do not. Also most of the placement and routing within the FPGA is synthesized by software. Only in the extreme cases where routing resources become scarce is it necessary for manual placement and routing of CLBs and wires.

31

·__ __IIII--CIICI

LOGIC

VARIABLES

CLOCK

DIRECT

RESET

FIGURE 10. Block Diagram of a Cell Logic Block (CLB)

1 6

7.2 Prototype Board Construction

7.2.1 Reset

The Xilinx FPGAs (3090PG175) will be reset by an external RESET signal. Assertion of the RESET signal will cause the FPGA's registers to be cleared. The RESET signal is generated by a debounced switch and a multivibrator/one shot. The RESET signal will be asserted for lOOns.

7.2.2 Reprogram

There is also a reprogram switch used to reprogram the Xilinx FPGAs. The RESET and REPROGRAM signals are implemented as suggested by the Xilinx data book.

7.3 Layout

The parts used and the layout for the construction of the ATM board is shown in Appendix C.

16. The Programmable Logic Data Book, Xilinx, Inc., 1994, p. 2-109.

32

Chapter 8 Transmitter Architecture

8.1 Principle of Operation

The functionality of the Transmitter can be divided into two sides, Load and Unload.

1 5

The basic block diagram of the Transmitter is shown in Figure 11, "Transmitter Block Diagram."

The Transmitter Load side will map and store all 32 time slots from the TMD24 into memory, regardless of whether the channels are actually in use. The active and inactive channels are separated by a mapping of the time slots. Because this is a prototype, the 21 possibly active time slots are selected and mapped in a fixed manner, see Section 9.6.2.1.2 Table 12, "FAU Channel Mapping of Speech

Highways." The active time slots are mapped into SRAM channel numbers 0 to 20 and the inactive time slots are mapped into channel locations 21 to 30, see Section 9.6.2.1.2. ATM cells are generated by collecting 47 bytes, of voice or data, all of which are accumulated from a specific time slot.

The Unload side will be responsible for unloading complete ATM cells to send to the TMD24's FAU chip. All 21 possibly active channels will be unloaded. Whether active ATM cells or idle ATM cells are sent is determined by the channel status information.

Initialization data, channel status and header bytes will be obtained from the EPROM. For the Unload side, a channel number and a VPI/VCI value are conceptually equivalent since each channel has its own unique VPI/VCI address. The Unload side is also responsible for inserting the 8 inactive time slots in order to match the PCM timing specifications, see Figure 7, "TMD24 Interface Timing." The insertion of the framing bit and the actual DS lI/T1 line interface is left to the TMD24.

2.

Load Side

FIGURE 11. Transmitter Block Diagram

Unload Side

15. Generically, the Load side refers to the portion of the Transmitter or Receiver, which deals with the receiving of data. The Unload side is the portion that deals with the transmission of data.

33

· · *UPXII·L-··ILC-··--·-1···-·11

8.2 System Architecture

The serial time slot data is internally converted into bytes on the ATM board. This allows the use of the

256KHz, C256k, clock as the reference for all the operations occurring on the byte level, see

Section 9.4.1. By using C256, a significant portion of the control signals required for incrementing address counters and latching of data registers can now be hardwired to operate independently of the

Control logic. The basic functions that must occur in the Transmitter for each byte loaded and unloaded can be simplified down to three types of control functions as shown in Figure 12, "Transmitter

Functional Control Timing."

1.)

OR

2.)

)

OR

3)

3.)

Byte

Loaded

In

I

I

I t

.

Write Byte , Read Data to SRAM : from SRAM

-

Write Byte : Read CSW

:to SRAM

: from SRAM

I

Read Data from SRAM

, Write Byte , Read SN

.to SRAM memory

I

Write Next

SN to SRAM

(SRAM or EPROM)

FIGURE 12. Transmitter Functional Control Timing

16

All three options take care of the required storing of the time slot data. Option 1 is used the unloading of payload data, except for the SN byte. Option 2 is used when a new channel is started to be unloaded and option 3 is used for unloading the current SN value and generating the next SN byte. From these basic requirements, the data paths required are shown in Figure 14, "Transmitter Data Path Block Diagram."

The basic operation is as follows:

1. Serial data from TMD24 MTS chip is shifted in and an even parity bit is generated for the data receiver from the TMD24.

2. The 9 bits are then registered in the DataIn register.

3. Data from the DataIn register is written into SRAM.

4. Data is read from either the SRAM or the EPROM and registered in the

TUL_Data_Out register.

5. Data from the TULData_Out register is loaded into the FAU Parallel to Serial shift register.

6. Data is shifted out serially to the MTS FAU chip.

16. CSW is the Channel Status Word, see Section 8.3.4.

34

"I-

It should be noted that the pictorial representation of the memory address counters represent how the counters are logically incremented and does not represent how the counters are physically connected.

8.3 Transmitter Memory

The Transmitter memory is composed of a SRAM and an EPROM.

8.3.1 Data Buffer

The Transmitter data buffer is maintained in an 8k x 9 SRAM. The SRAM functions as the buffer for the time slot data. A 9 bit word SRAM is used in order to store a parity bit. The chip enable is connected to the NSRAMCS signal. The SRAM read/write input is connected to the NSRAMR/W signal. The output enable is connected to the inverse of the NSRAMR/W signal. All of these signals are generated by the Transmitter portion of the ATM board.

8.3.2 Initialization and Status Data

The Transmitter initialization and status data is maintained in an 8k x 8 EPROM. The EPROM is used to store cell header information and initial start-up data. The EPROM is used to simulate the presence of a processor interface to the switch, which would normally program initial values and status information directly into the SRAM. The EPROM therefore shares the same address and data buses as the SRAM.

The EPROM chip select and output enable are both connected to the NEPROMCS signal generated from the Transmitter side of the ATM board. The programmed content of the Transmitter EPROM is shown in Appendix D.

8.3.3 Memory Partitioning

The memory addressing bits are broken down into fields as shown in Figure 13, "Transmitter Memory

Address Bits."

Channel value Buffer value Index value

4 1 3 12 1 1

FIGURE 13. Transmitter Memory Address Bits

35

0 au g _

L z= i i i d ' -

-

-C X=

IE L r00

I

F;

0 au

36

FIGURE 14. Transmitter Data Path Block Diagram ro

_d*I I_

Both the Load and Unload side memory addressing are maintained in three types of fields, a Channel value, a Buffer value and an Index value. The Channel value is a five bit value used to keep track of the

32 channels loaded and the 21 unloaded channels. The Buffer value is a 2 bit value used to keep track of the three data buffers and one status buffer. The Index value is a 6 bit value used to indicate the byte location within an ATM cell.

The memory is therefore partitioned in the following manner, see Figure 15, "Transmitter Memory

Partitioning." The memory consists of two types of buffers. Buffers 0, 1, and 2 are used to store PCM highway data and buffer 3 is used for status information. Address locations OhOlFCO to OhO1FF4, which are located in channel 31 of buffer 3, are reserved for the byte values representing an idle ATM cell.

62'

63

64'

65

0

Channel 0

127

128

I

"'

Buffer 0 62

63

64

65

0

1

Channel 1

Buffer 1

127

128

191

192

Buffer 2

191

192

0

Channel 31

62

63

64

65

"' q

IZI

! rl

191

192

C·IIIIIII-LII

255

Buffer 3

__ ·___·___·_I__·____·

255 -i I~I l··l 255

·C·············lll11·11

FIGURE 15. Transmitter Memory Partitioning

8.3.4 Memory Buffer Description

The data and status buffer format is shown in Figure 16, "Transmitter Buffer Partitioning." Initial SN values, channel status values and ATM header values are stored in the status buffer portion of the

EPROM. Consequent SN values are stored in the status buffer portion of the SRAM. The ATM cell payloads are stored in the data buffers in the SRAM. The buffers are organized in this fashion to facilitate the loading and unloading of ATM cells as well as allowing for future modifications.

The buffers are defined as 64 byte blocks because of the simplicity of a

2 k boundary. The data buffers start at location 6, this is the first empty ATM payload location after the header and SN bytes. This therefore allows the Unload side to continuously count from 0 to 52 during the process of unloading an

ATM cell. This also allows for future modifications where the header and SN bytes are directly written into the SRAM.

37

The Channel Status Word (CSW) byte is the status byte for each channel, see Table 5, "Channel Status

Word (CSW) Byte Composition." This status value is stored in buffer 3 and is a value which is read from the EPROM. This is because for the current board, there is no high level management which can be used to set the status for active and inactive time slots.

((Buffer #) * 64) +

4

5

6

NOT USED

PAYLOAD

DATA

0

4

5

6

HEADER

DATA

SN BYTE

NOT USED

52

53

63

NOT USED

52

53

63

NOT USED

CSW BYTE

Format for Data Buffers 0, 1, 2 Format for Status Buffer 3

FIGURE 16. Transmitter Buffer Partitioning

TABLE 5. Channel Status Word (CSW) Byte Composition

Bit Description

7 Active Channel Flag - set high indicates active channel

6-0 Reserved for future use.

8.3.5 Memory Selection

Ideally, if there was an interface with higher layer management, both the data and status buffers could be combined into the SRAM. This would allow the higher layer management to program channel status, initialization data and ATM header values directly into the SRAM. However, since there is no interface to higher layer management, the status buffer, except for the SN field, is mapped into the EPROM. Only the initial value for the SN is stored in the EPROM, later SN values are stored in the SRAM status buffer.

The mapping between the SRAM and EPROM is transparent to the Transmitter control FSM and is handled by lower level logic. This design architecture allows for the simulation of a higher layer management interface and in the future is higher layer management is added, the architecture allows for straight forward modifications without having to modify the Transmitter control FSM. Whether data is actually read from the SRAM or EPROM is determined by the flow chart shown in Figure 17, "Memory

Access Decision Flow Diagram."

38

_1_MI_

FIGURE 17. Memory Access Decision Flow Diagram

The logic equation supporting the Memory Access Decision Flow Diagram follows:

TAck * NSRAMR_WOUT (InsertIdle CSW_Sel

TULIndexLT5 + (SNByte * NFirstTime)

If EPROM_Select is high, then the Transmitter NSRAMCS is forced high and the EPROM becomes the active memory. Otherwise if EPROM_Select is low, then the SRAM is the active memory and

NEPROMCS_OUT is forced high.

The generation of an EPROMData signal is needed for the Parity Check block, see Section 9.7.3. This is so that parity is not checked for data read from the EPROM. The EPROMData signal is generated from the cascade of two registers. The first register is clocked by Cl and has its CE is connected to the

TDataOutCE signal. The input to the first register is the EPROM_Select signal. This is to store the occurrence of data being read from the EPROM and stored in the output data register, TUL_Data_Out.

The second register is to provide the one time slot delay during which the serial parity check occurs.

The second register is always chip enabled and is clocked by C256k. Therefore the two registers are needed to provide for the delay introduced by the latching of data in the TULDataOut register and the delay of generating and checking the parity bit.

39

40

1CII_

Chapter 9 Transmitter Block Descriptions

9.1 System Synchronization

9.1.1 Time Slot Synchronization

The synchronization of the ATM board to the TMD24 interface can be implemented using the Framing

Marker Bit (FMB) and the 2.048MHz clock (CLKA), both of which are generated from the PBX switch. As shown in Figure 7, "TMD24 Interface Timing," the FMB is used to indicate the start of time slot 0 and therefore can be used as a system synchronization signal for the ATM board to the incoming

PCM time slot data.

9.1.2 FMB Synchronization

Because the FMB signal is high during the falling edge of CLKA or C256k, it is necessary to generate a

FMB_Sync signal for logic clocked by either CLKA or C256k, that require system synchronization.

The FMBSync signal is generated by registering the FMB signal using CLKA.

9.2 Control Finite State Machine (FSM)

The data paths required are based upon the requirements of the control finite state machine (FSM).

Because both the Load and Unload sides of the Transmitter are synchronous with respect to CLKA, the data management for both the Load and Unload sides of the Transmitter can be implemented in a single

FSM.

Control signals for all the address counters and data registers can be implemented in the FSM. However, because of the system synchronization to CLKA and FMB, by generating a 256KHz byte clock, C256k, many of the control signals needed for memory addressing can be hardwired to increment based on the byte clock.

It is evident from Figure 12, that the clock rate for the Transmitter FSM is limited by the number of memory accesses. Therefore, in order to minimize the number of excess NOP states, CLKA is divided down by 2 to obtain a 1.024MHz clock rate (C1). The bubble flow diagram for the Transmitter FSM is shown in Figure 18, "Transmitter FSM Bubble Diagram ."

41

FMB_Sync /

V,..+ f

TL_BitCntEQ7 * T_Req /

Processor Control

TLBitCntEQ7 * TReq /

NOP

11

Write Next SN to

SRAM

TULByteEQO *

TULByteEQ5 / erl dao vyle Read SN

from

memory

FIGURE 18. Transmitter FSM Bubble Diagram

The actual control signals asserted for each of the tasks are shown in Table 6, "Signal Assertions for

Transmitter FSM Functions." The control signal descriptions are listed in Table 7, "Transmitter FSM

Input Signal Description." The transition from state to state 2 is the Load side function and all other states are used to maintain the Unload side functions.

TABLE 6. Signal Assertions for Transmitter FSM Functions

Task

Initialize counters

Processor Control

Write byte to SRAM

Signals Asserted

TL_IndexLD

TAck

MuxSelO

NSRAMCSa

SRAM writea

Read byte from SRAM MuxSell

NSRAMCSa

SRAM reada

T_DataOutCE

42

--TI··U019111·lll·iC---··---·- II_· _I-__

TABLE 6. Signal Assertions for Transmitter FSM Functions

Task

Get CSW byte

Signals Asserted

CSWSel

MuxSell

NSRAMCSa

SRAM reada

Read SN from memory MuxSel

NSRAMCSa

SRAM reada

TDataOutCE

Write Next SN to SRAM MuxSell

NSRAMCSa

SRAM writea

NOP (No OPeration) a. The SRAM chip select and the SRAM read/ write control signals are both negatively asserted signals.

TABLE 7. Transmitter FSM Input Signal Description

Signal Name

FMB-_Sync

TLBitCntEQ7

T_Req

Signal Function

CLKA synchronized frame marker bit, see

Section 9.1.2.

Status signal used to indicate that a byte of data has been shifted in, see Section 9.4.1.

Signal used to indicate a processor request for memory access, see Section 9.5.4.

TULByteEQ0

TUL-ByteEQ5

Status signal used to indicate the byte to be unloaded is the start of a new ATM cell, see

Section 9.6.3.1.

Status signal used to indicate that byte to be unloaded is the SN byte of the ATM cell, see

Section 9.6.3.1.

TABLE 8. Transmitter Control Signal Description

Signal Name Signal Function

TL_IndexLD

TAck

Initial load signal for Transmitter Load side

Index counter, see Section 9.6.2.2.

Acknowledge signal indicating that the processor interface has control of memory data and address buses, see Section 9.5.4.

43

TABLE 8. Transmitter Control Signal Description

Signal Name Signal Function

MuxSelO, MuxSell Input source selection signals for data and address multiplexers, see Section 9.5.1 and

Section 9.6.1.

NSRAMCS

NSRAMRW

Negative asserted Transmitter SRAM chip select, see Section 8.3.1.

Negative asserted Transmitter SRAM read/ write select, see Section 8.3.1.

T_DataOutCE

CSWSel

TULData_Out register chip enable, see

Section 9.5.6.

Forces memory addressing to CSW status and chip enable for CSW register, see

Section 9.5.5.

9.3 Initialization

9.3.1 First Time Register

Because there is no interface to higher layer management, all the necessary initialization information must be contained within the EPROM.

The NFirstTime is a negatively asserted status signal used to indicate that initialization data for the SN byte must be read from the EPROM. While NFirstTime is low, the initial value for a ATM cell's SN is read from the EPROM. The NFirstTime signal is set high after one cycle of all 21 channels has been transmitted. This is done by using feedback from the output of the First Time register and ORing it with the TULBufferCntCE signal. The TULBufferCntCE signal is used to increment the Transmitter Unload side Buffer count value and therefore can be used to indicate when all 21 channels have been transmitted. The output of the OR gate is then the input to the First Time register. The NFirstTime signal is clocked by CLKA and can only be cleared by a RESET.

In a final product, with an interface to high layer management, the initial SN values can be directly programmed into the SRAM. In this case, the NFirstTime status signal should be tied high.

9.3.2 StartToUnload

Before the Transmitter can start unloading ATM cells, it is first necessary for the Transmitter to accumulate 47 bytes of at least one channel. In order to make things conceptually simpler, we will wait until 47 bytes of all 21 channels have been accumulated. The StartToUnload signal allows the Unload side of the Transmitter to begin unloading ATM cells containing the channel data.

The StartToUnload signal is set when the Load side buffer counter is incremented. This is implemented by using the TLBufferCntCE signal and then ORing it with the feedback value from the output of the

StartToUnload signal register, see Section 9.6.2.3. Therefore, the StartToUnload signal can only be cleared by a RESET.

The StartToUnload signal is a status signal that while currently is implemented in hardware, should become a status bit in the Channel Status Word (CSW) byte for each channel, see Section 8.3.4. The use

44

A:Ml~I~·r~-··LI~~I·I of such a status bit would require software changes to the switch along with loadware and firmware changes to the TMD24.

9.3.3 Finite State Machine Started

The FSM_Started signal is a status signal to indicate when the Transmitter control FSM has properly started and is ready to load and unload data. The FSM_Started signal is required because many of the memory address counters are hardwired to start counting as soon as they receive a clock. Therefore, the

FSM_Started signal is used to prevent counters from being enabled until the Transmitter FSM is ready.

The FSMStarted signal is asserted when the Transmitter FSM reaches state 2, and remains asserted until the ATM board is reset. This is implemented by using a register and a feedback loop to the register input.

9.4 MTS to Transmitter Load Side Interface

9.4.1 Load Bit Counter

A 3 bit counter, TL_BitCnt, is used to delineate the byte boundaries of the serial data and to generate internal clocks. The TL_BitCnt counter is clocked by CLKA and reset by FMB. A 1.024 MHz clock,

C , is generated by inverting bit 0 of the counter and is used for clocking of the Transmitter control

FSM. A 256 KHz clock, C256k, is generated by inverting bit 3 of the counter and is used as a byte clock. Figure 19, "TL_BitCnt and Clock Timing," shows the timing of these signals. The carry output from the counter is used to generate the status signal TLBitCntEQ7. The TL BitCntEQ7 status signal is used to indicate that a new byte has been received and latched into the input register.

FMB

CLKA

C256k

C1

TL BitCnt 77

FIGURE 19. TL_BitCnt and Clock Timing

9.4.2 MTS Serial to Parallel Shift Register

This block consists of an 8 bit serial to parallel shift register which provides the conversion of serial data from the TMD24 MTS chip to 8 bit parallel data for usage on the ATM board. The MTS serial input timing is a known pattern with reference to the system FMB and CLKA, therefore only CLKA and FMB are necessary to provide synchronization with the incoming MTS data, see Figure 7, "TMD24

Interface Timing." The MTS serial to parallel shift register is hardwired to latch a bit on each rising edge of CLKA, see Figure 20, "Serial MTS Interface Timing."

45

I KA

shift in bit 7 register parallel data reset parity generator shift in bit 0

FIGURE 20. Serial MTS Interface Timing shift in bit 1

9.4.3 Even Parity Generator

An even parity bit is generated for all the incoming data. The parity value is determined serially as the

MTS serial to parallel converter shifts in each new bit. The TL_BitCntEQ7 status signal is used to clear the parity feedback path at the appropriate byte boundaries, see Section 9.4.1. The parity generator circuit is shown in Figure 21, "Even Parity Generator Block."

Even_Parity bit

FIGURE 21. Even Parity Generator Block

9.5 Transmitter Memory Data Bus

9.5.1 Data Input Multiplexer

The data input to the SRAM can come from three sources, the DataIn register, the SN generation block, refer to Section 9.5.3, or from a processor interface. The data selection is done using a 9 bit 3 to 1 multiplexer, DataInMux, which is controlled by the selection signals MuxSelO and MuxSell, see

Section 9.2.

TABLE 9. DataIn Multiplexer Selection Table

Input Output

MuxSell MuxSelO Data Source

0

0o

1

0

1

0

Processor Interface

Dataln Register

SN Generator Block

1 1 Not Used

46

9.5.2 DataIn Register

The DataIn register is a 9 bit register that latches the 8 bit output from the MTS serial to parallel shift register and the 1 bit output from the even parity generator. The DataIn register is clocked by CLKA and the CE of the DataIn register is connected to the TLBitCntEQ7 output from the Transmitter Load

Bit counter block. Therefore data will be latched at the end of each time slot. This combination of control signals is used instead of the C256k clock with the CE tied high because the timing between the

MTS serial to parallel shift register and DataIn register is critical. Since routing delays may vary in a

FPGA and also because C256k is derived from CLKA, the setup and hold times for the DataIn register may not be met if C256k was used instead of CLKA. The output of the DataIn register is one of the inputs to the DatalnMux multiplexer. Figure 20, "Serial MTS Interface Timing," shows the timing for latching in data by the DataIn register.

9.5.3 Sequence Number (SN) Generation Block

The Unload section is also responsible for the generation of the next sequence number byte for the current channel being processed. The steps for the SN byte generation are as follows, also see

Figure 12, "Transmitter Functional Control Timing," option 3:

1. Read SN byte from memory and latch data in TUL_Data Out register.

2. Generate next SN based on value in TUL_Data_Out register.

3. Write next SN in the status buffer location in the SRAM.

The generation of the next SN is implemented in combinational logic. The input to the SN generator block is from the TULDataOut register, see Section 9.5.6, and the output of the SN generator block is to the DatalnMux. The format for the SN byte is shown in Figure 22, "SN Byte Format," and the truth table implemented by the SN generator block is shown in Table 10, '"Truth Table for SN Generations."

Even Parity

CSI bit SN field CRC field bit

7

I 61 5j I

FIGURE 22. SN Byte Format j2 i 0

TABLE 10. Truth Table for SN Generations

0

0

0

INPUTS OUTPUTS

CSI SN2 SNI SNO CSI SN2 SNl SNO CRC2 CRC1 CRCO Parity

0o0

0 0

0

0

0

1

0o0

0 0

0

1

1

0

0

1

1

1

1

0

0

0

0 0 1 0 0 0 1 1 1 0 1 1

0

1

1

1

0

0

1

0

1

0

0

0

1

1

1

0

0

1

0

1

0

1

1

0

1

0

0

1

0

1

0

0

1

1

1 0

1 1

0

0

1

0

1 1

0

0

0

1

0

0

0

1

0

0

1

0

47

II-

TABLE 10. Truth Table for SN Generations

1

1

1

1

1

1

INPUTS OUTPUTS

CSI SN2 SN1 SNO CSI SN2 SN1 SNO CRC2 CRC1 CRCO Parity

1 0 0 0 1 0 0 1 1 1 0 1

0

0

1

1 o

1

0

1

1

0

0

1

1

0

1

0

1

O

1

1

1

1

1

1

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

0

0

0

1

1

1

0

1

0

0

1

1

0

0

1

0

1

1

0

0

1

O

1

1 1 1 1 1 0 1 1 0

The logic equations representing Table 10, "Truth Table for SN Generations," are shown below. The left side of the equations represent the output values and the right side of the equations represent the input values:

CSI = CSI

SN2 = SN2 N1 + SNI*(SN2

SNI= SNI SNO

SNO= NO

CRC2 = SN*-No*(CSI @ SN2) + U*SN2*(SN2 + SN1) + CSI*SN2*(SN1 + SNO)

CRC1 = SN2*(SN1 + SNO) + SN2*SNI*'NO

CRCO = CSI*SN2*(SNI+SN + CSI*SN2*(SN1 + SNO) + SNI*SNO*(CSI @ SN2)

Parity = CSI* + CSI*SNI*(SN2 + SNO)

9.5.4 Processor Interface

The processor interface is a feature which is not implemented in the current version of the Transmitter.

The original purpose for a processor interface was for direct and simple access to the contents of the

SRAM. The hooks in the Transmitter control FSM are in place for the addition of a processor interface, refer to Section 9.2, however, currently there is no actual support for the processor addressing and data registers.

The Transmitter FSM is designed such that when there is a free' clock cycle and a processor request, then the SRAM data and addressing paths are allocated for use by the processor. The processor request signal for usage of the Transmitter side data paths is the TReq signal. During the clock cycle which the processor has access to the memory data and address buses, the Transmitter control FSM asserts the signal TAck. Any additional hardware or state machines required for a specific processor interface is not provided.

9.5.5 Channel Status Word (CSW) Register

The CSW register is an 8 bit register, CSWValue, which is clocked by C I and used to hold the status byte for the current channel being unloaded. The CE for the CSW_Value register is connected to the

CSWSel signal from the Transmitter FSM. The input to the CSW_Value register is the memory data bus. Currently only the MSB of the CSW value is used, see Section 8.3.4.

48

..

I

9.5.6 DataOut Register

The TULData_Out register is used to buffer data before it is sent to the FAU parallel to serial shift register. The TUL_Data_Out register is a 9 bit register which is clocked by C1. The CE is connected to the T_DataOutCE signal from the Transmitter FSM. The input to the TUL_Data_Out register is the output from the memory data bus.

9.6 Transmitter Memory Addressing

9.6.1 Memory Address Multiplexer

The Transmitter memory addressing can come from three sources, the processor address interface, see

Section 9.5.4, the Load side addressing, see Section 9.6.2, and the Unload side addressing, see

Section 9.6.3. The Transmitter memory address multiplexer is a 3 to 1 13 bit multiplexer. The input selection is controlled by the MuxSelO and the MuxSell signals, see Table 11, "Transmitter Address

Multiplexer Selection Table." The output of this multiplexer is used as the memory addressing bits.

0

0

1

TABLE 11. Transmitter Address Multiplexer Selection Table

Input Select Output

MuxSell MuxSelO0 Address Source

0

1

0

Processor Address Interface

Load Side Addressing

Unload Side Addressing

1 1 NA

9.6.2 Memory Load Side Addressing

The memory addressing counters for the Load side are logically organized as shown in Figure 23,

"Load Side Logical Organization of Memory Addressing Bits." The Channel Counter value is used as the LSBs, followed by the Index Counter value and finally the Buffer Counter value as the MSBs. The actual physical bit organization is shown in Figure 13, 'Transmitter Memory Address Bits."

Buffer Counter Index Counter Channel Counter l 121

I

~ ~

9l

3 2l °

g

FIGURE 23. Load Side Logical Organization of Memory Addressing Bits

The Channel Counter value ranges from 0 to 31, the Index Counter value ranges from 6 to 52 and the

Buffer Counter value ranges from 0 to 2.

49

9.6.2.1 Channel Counter

The Channel counter field is generated by the Tie Slot Counter and the Time Slot Mapping blocks.

9.6.2.1.1 Time Slot Counter

The time slot counter, TL_TimeSlotCount, is a 5 bit counter used to keep track of the time slot of the data being loaded by the MTS serial to parallel shift register, see Section 9.5.2. The

TL_TimeSlot_Count counter is clocked by C256k and uses FMB._Sync for the synchronous reset signal. Because TL_TimeSlot_Count is clocked by C256k, the CE can be tied high, eliminating the need for external control signals. The output of the TL_TimeSlotCount counter is used as the input to the Time Slot Mapping block, see Section 9.6.2.1.2.

9.6.2.1.2 Time Slot Mapping

The time slot mapping block, TS_Mapping_Logic, takes the time slot value from the

TL_TimeSlot_Count counter and generates the final Channel count value used for memory addressing.

The time slot to channel mapping in an actual product should be implemented in programmable memory which is programmed by higher layer management during either system configuration or board initialization. However, for the prototype, the mapping is fixed as shown in Table 12, "FAU Channel

Mapping of Speech Highways," and therefore is implemented in combinational logic.

It should be noted that since the data is delayed by one time slot because of the Data_In register. This one time slot delay is incorporated into the Time Slot Mapping block as a minus function. For example, the logical mapping desired for time slot 0 is channel 21. However, due to the one time slot delay, when the data is actually written into the SRAM, the TL_TimeSlotCount counter value will be equal to 1. The mapping logic accommodates for this delay so that the physical SRAM channel address, to which the time slot is mapped, is channel 21, as shown in Table 12. It should also be noted that because channel 31 is reserved for the idle ATM cell, time slots 24 and 28 are both mapped into channel

30.

Column 1 of Table 12 shows the actual time slot values from the TL_TimeSlot_Count counter. Column

2 shows the standard time slot assignments as implemented by the TMD24. Column 3 contains the logical channel mappings for the time slots. Finally, column 4 shows the actual output from the

TS_Mappingj.Logic block, taking the 1 time slot delay into account, which is used as the value for the

Channel count portion of the memory addressing.

4

5

6

0

1 b

2 b

3 b

TABLE 12. FAU Channel Mapping of Speech Highways

PCM

Time

Slot

-

Standard

PBX

Channel

Numbering

Logical

Channel

Mapping

21

Physical

Channel

Address

Mappinga

20

1

2

3

22

23

24

21

22

23

-

4

5

25

0

1

24

25

0

50

"~l"~"-llllll-Y~"-----··-----IIUI

27

28

29

30

31

23

24

25

26

19

20

21

22

-

21

22

23

24

18

-

19

20

-

15

16

17

14

15

16

17

18

9

10

11

12

13

TABLE 12. FAU Channel Mapping of Speech Highways

PCM Standard

Time PBX

Slot

7

8

Channel

Numbering

-

6

Logical Physical

Channel Channel

Mapping Address

Mappinga

2

26

1

2

-

9

7

8

10

3

4

5

27

6

4

5

26

3

27

11

-

12

13

14

7

8

28

9

10

6

7

8

28

9

17

30

18

19

20

14

30

15

16

11

29

12

13

16

17

30

18

19

13

14

30

15

10

11

29

12 a. Only SRAM address values 0-20 will actually be transmitted.

b. Time slot will be masked off during configuration.

The logic equations used for the mapping are as follows:

Q4= U' 2 + b- DO DO W DO D4- Dl

Q3= D4 D + D4 + D3 D2 U DO + D 3 + D3 D2 DO

Q2= D''+3--+D4D3D +D4-7UlDO+ D3D1 DO+D4D3D2 +

D4 D3 D2 D +D4D2 U D0

Q1 = D3D2DO +D3DDO +D4D3 2D1 +D3 DO+D3D2D0+

D4 D DO + D4 D2 IT

QO= D3 " DI " + D4 VD + D DO DO

51

52

D3 D2 + D4 D2 DT

D4 - DO: are the time slot values (0-31). D4 is the MSB and DO is the LSB.

Q4 - QO: are the channel values (0-31). Q4 is the MSB and QO is the LSB.

The mapped channels fill the SRAM as shown in Figure 24, "SRAM Time Slot Mapping." The Time

Slot Mapping block also generates the signal EQ20. This signal is based on the TSMapping.Logic

output and is asserted when the output value of the TSMappingLogic is equal to 20. This is used to indicate an end of a T1 frame.

Channel

Number

0

1

'SRAM

Active

Time Slots

20

211

Inactive

Time Slots

31 Reserved

FIGURE 24. SRAM Time Slot Mapping

9.6.2.2 Index Counter

The TL_Index_Count counter is a 6 bit loadable counter used to keep track of which byte of the ATM cell payload is currently being written to. The Index Counter block is shown in Figure 25, "Index

Counter Block."

EQ20 >>

FSMStarted -'

'-F-)-

I

6 >-

C256k >>-

/IIIIIIImlml~Blll/

,_l L

CE nt%.fn

a·~n v

Load

/

_ i_

D(5:0)

Clk

TL_Index_Count

. .

EQt2

Index Count

_ _~~~~~~~~~~~~~~~~~~~~~ b

TLBufferCntCE

FIGURE 25. Index Counter Block

raw

The EQ20 signal is the status signal generated from the Time Slot Mapping Logic block and is the basis for the CE for the TL_Index_Count counter. The EQ20 is ANDed with the FSM_Started signal to generate the final CE for the Index_Count counter. The FSMStarted signal is used to prevent the

Index_Count counter from incrementing before the Transmitter FSM is ready. Thus, once the FSM has started, the Index value is incremented after each T1 frame. The TL_IndexCntLD signal is a control signal generated by the Transmitter control FSM and is used for the initial loading of the counter.

Normal loading of the TL_IndexCount counter occurs when the TL_IndexCount counter value equals 52 and a CE occurs, this signal, TLBUfferCntCE, is also used in the Transmitter Load side

Buffer Counter block, see Section 9.6.2.3. The TLIndexCount counter is hardwired to always load in the value of 6, see Section 8.3.4. Because data is byte aligned internally on the ATM board, the

TL_Index_Count counter is clocked by C256k and is reset only by a RESET signal.

9.6.2.3 Buffer Counter Block

The Buffer Counter block consists of a 2 bit counter, TLBuffer_Count, and is used to keep track of the active data buffer. The TL_Buffer_Count counter is clocked by C256k and uses the TLBufferCntCE signal, generated as shown in Figure 25, "Index Counter Block," for the chip enable. Therefore, after the TL_IndexCntLD signal assertion for initialization, the TL_Buffer_Count counter increments each time the TL_Index_Count counter is loaded. Since buffer 3 is reserved for status information, the

Buffer_Count counter is reset when the TL_Buffer_Count value equals 2 and a TLBufferCntCE occurs.

9.6.3 Unload Side Addressing

The memory addressing counters for the Unload side are logically organized as shown in Figure 23,

"Load Side Logical Organization of Memory Addressing Bits." Logically the counters increment with the Index Counter value as the LSBs, followed by the Channel Counter value and the Buffer Counter value as the MSBs. The actual physical bit organization is shown in Figure 13, "Transmitter Memory

Address Bits."

Buffer Count Channel Count

1 8,1 7 1 I

Index Count

3 12 1 1

FIGURE 26. Unload Side Logical Organization of Memory Addressing Bits

The Index Counter value ranges from 0 to 52, the Channel Counter value ranges from 0 to 20 and the

Buffer Counter value ranges from 0 to 2.

9.6.3.1 Index Counter

The Index Counter block consists of a 6 bit counter, TUL_Index_Cnt, an Index_Value_Decoder logic block and a CSW_Status_Force logic block. Figure 27, "Transmitter Unload Side Index Counter

Block," shows the interconnection of the 3 blocks.

53

dexLT5 dexEQS2 dexEQO

Index

Count value

FLChInc

FIGURE 27. Transmitter Unload Side Index Counter Block

The TUL_Index_Cnt counter is clocked by C256k and has its CE connected to the AND of

FSM_Started and Dead_TS status signals. The FSM_Started signal is needed so that the

TUL_Index_Cnt counter value does not start incrementing until the Transmitter control FSM has been initialized and is ready to start unloading ATM cells. The DeadLTS signal is needed to prevent the

TUL_Index_Cnt counter from incrementing during inactive time slots, see Section 9.7.4. The synchronous reset signal to the TUL_Index_Cnt counter occurs when the TUL_Index_Cnt value is equal to 52 and a CE for the TUL_Index_Cnt occurs, this signal TUL_Chlnc, is also used in the

Channel Count block, see Section 9.6.3.2.

The output of the TUL_IndexCnt counter is used as the input to the CSW_Status_Force block. When the CSW_Sel control signal is asserted, the CSW_Status_Force block forces the Index Count value to

63, otherwise the TUL_Index_Cnt value is passed through. An Index Count value of 63 is the address location for the CSW status for a channel, see Section 8.3.4. The output from the CSW_Status_Force block is then the value used for the Index Count field for memory addressing.

The Index_Value_Decoder is composed of combinational logic used to generate status signals based on the TUL_Index_Cnt counter value. The four status signals generated are TULIndexEQ0, SNByte,

TULIndexEQ52 and IndexLTS. The TULIndexEQ0 signal is generated from the IndexEQ0 output of the Index_Value_Decoder block and is used to indicate the start of a new ATM cell. The SN_Byte signal is the IndexEQ5 output from the Index_Value_Decoder block and is used to indicate that the current byte being unloaded is the SN byte. The TULIndexEQ52 signal is generated from the

IndexEQ52 output of the Index_Value_Decoder block and is used to indicate the end of an ATM cell.

The TUL_IndexLT5 is equal to the IndexLT5 output of the Index_Value_Decoder block and is used to indicate that the current byte is part of the 5 byte ATM cell header.

9.6.3.2 Channel Counter

The Channel Counter block consists of a 5 bit counter, TULChannel_Cnt, and an IdleChSel block, see

Figure 28, "Transmitter Unload Side Channel Count Block." The Channel Counter block is used to keep track of the current channel being unloaded. Since the 21 active time slots have been mapped to channel numbers 0 to 20, TUL_Channel_Cnt counter needs only to count from 0 to 20. The

TUL_Channel_Cnt counter is clocked by C256k and its CE is the logical AND of TUL_ChInc,

54

StartToUnload and InsertIdle. The TUL_ChInc signal is generated by the Transmitter Unload Side

Index Counter block, see Section 9.6.3.1. Therefore, each time the TUL_ndex_Cnt counter is reset, indicating that an entire ATM cell has been transmitted, the TULChannelCnt counter is incremented.

The StartToUnload signal is used to prevent the TUL_Channel_Cnt value from incrementing until the

Transmitter has accumulated enough data to begin transmitting ATM cells. The InsertIdle signal is required so that when there is a need to insert an idle ATM cell to maintain the data rate, the

TULChannel_Cnt counter is disabled. The synchronous reset signal for the Transmitter Unload side

Channel counter occurs when the TUL_Channel_Cnt value equals 20 and a CE occurs, resetting the

TUL_ChannelCnt counter value to zero. The TUL_Channel_Cnt counter reset signal is also used as the CE signal for the TULBuffer_Count counter, refer to Section 9.6.3.3.

The output of the TUL-ChannelCnt counter is used as the input to the IdleChSel block. The IdleChSel block is used to force the Channel Count value to 31 when the IdleCh_Sel signal is asserted. Otherwise the IdleChSel block will pass on the unaltered TUL_Channel_Cnt counter value. A channel value of 31 is the channel number allocated for the idle ATM cell structure, see Section 8.3.3. The IdleCh_Sel is logically equal to (CSWSel * (StartToUnload + InsertIdle + CSWValue(7)). Therefore the

IdleChSel signal is asserted when the Transmitter is not ready to start unloading ATM cells, when it is necessary for the Transmitter to insert an idle ATM cell and when a particular channel is inactive.

However, when the CSW_Sel signal is asserted, the IdleChSel signal is deasserted, this allows a new

CSW status byte to be obtained from the appropriate channel.

A

FIGURE 28. Transmitter Unload Side Channel Count Block

9.6.3.3 Buffer Count

The Transmitter Unload side Buffer Count block consists of a 2 bit counter, TUL_Buffer_Count, and a

TUL_Status_Buffer_Force logic block.

The TUL_Buffer_Count counter is used to keep track of the current active buffer number. The

TUL_Buffer_Count counter is clocked by CLKA and its CE is connected to the signal

TULBufferCntCE, generated in the TULChannel_Cnt counter block, see Section 9.6.3.2. Therefore each time the TUL_Channel_Cnt counter is reset, the TULBuffer_Count counter is incremented. The

TUL_Buffer_Count counter is reset when the TUL-BufferCount counter value is equal to 2 and a

TULBufferCntCE occurs. This is because only buffer values 0, 1 and 2 are used for ATM cell payload storage.

The input to the TUL_Status_Buffer_Force logic block is from the TULBufferCount counter and the output from the TUL_Status_Buffer_Force logic block is used as the Buffer Count field for memory

55

--UM·IIIIIIIIII-I

addressing. The TUL_Status_Buffer_Force logic block forces the buffer value to 3, which is the buffer number reserved for channel status and header values. The TUL_Status_Buffer_Force logic block is enabled by the output of the logical OR of the SN_Byte status signal, the TUL_IndexLT5 status signal, the CSW_Sel signal and the IdleCh_Sel signal from the Transmitter Unload Channel Count block. The assertion of any of these status signals indicates that data needs to be read from the status buffer, see

Section 8.3.5.

9.7 Transmitter to FAU Unload Side Interface

9.7.1 Unload Bit Counter

A 3 bit counter, TUL_BitCnt, is used for byte delineation of the unloaded data. The TUL_BitCnt counter is clocked by CLKA and reset by FMB. The terminal count (TC)

1 7 output of the TUL_BitCnt counter is used as the LOAD signal for the FAU parallel to serial shift register, see Section 9.7.2, and the CE for the DeadByteCounter counter, see Section 9.7.4. There is also a NOR gate used to generate a status signal for indicating when the TUL_BitCnt value is equal to zero. This signal is used for clearing the parity check in by the Parity Check block, see Section 9.7.3.

9.7.2 FAU Parallel to Serial Shift Register

In order to match the TMD24 timing requirements for the FAU chip, the FAU parallel to serial interface is clocked by CLKA, see Figure 7, "TMD24 Interface Timing." The TC output from the TUL_BitCnt counter is used as the LOAD signal to the FAU parallel to serial converter, see Figure 29, "Parallel to

Serial Conversion Timing." The input to the FAU parallel to serial shift register is from the

TUL_Data_Out register. The serial output is to the Dead Byte Insertion block, see Section 9.7.4.

CLKA bit count = 7 shift bit load in next byte shift bit reset parity generator shift bit

FIGURE 29. Parallel to Serial Conversion Timing

9.7.3 Parity Check

An even parity check is performed serially on data loaded into the FAU parallel to serial shift register.

The circuit used is shown in Figure 30, "Parity Check."

Note that while the FAU parallel to serial converter is clocked by CLKA, the parity check logic is clocked using CLKA. This is done in order to provide adequate setup and hold timing for the parity generation register. Because of the half clock cycle delay between CLKA and CLKA, ByteParity and

Parity-Error value registers are clocked in by C256k. The EPROM_Data signal is required to zero out

17. The logic equation for TC is (Q

0

*...* Qn-2 * Qn- * Qn) for a n bit counter, where Qk represents the kth bit of the counter.

56

the parity check when the data being shifted out is from the EPROM. This is because the EPROM data bus is only 8 bits, and therefore lacks a parity bit, see Section 8.3.2.

Clear Parity Generator Value

FIGURE 30. Parity Check

TULBitCnt

Valoue

CLKA

iI L--]U-II

CLKA

,

I

.

II

I

I

C256k

I

I : : .

,

I

X

--

:

I

I

I

I

P-s:

I

Shift Cout

I

I

1.

P-S P-S P-S

Shift C ut Shift Out Shift

Clear Parity

Gen. V¥lue oft

I

I

I

: I

Parity Gen. Pa rity y Gen. Gen. Parity Gen.

Shift In Sh ift In Shift In Shift In

Latch

ParityError and new

ByteParity

SI S st lift Out

Parity Gen.

Shift In

FIGURE 31. Parity Generator Timing

X

K

9.7.4 Dead Byte Insertion

In order to properly match the time slots to the timing expected by the FAU, 8 inactive time slots must be inserted. This is because while the actual T1 data rate is for 24 channels, the internal rate on the

57

TMD24 board is for 32 channels. The 8 inactive time slots are 0, 4, 8, 12, 16, 20, 24 and 28, see column

2 of Table 12, "FAU Channel Mapping of Speech Highways." A 2 bit counter, Dead_ByteCounter, is used to count when a particular time slot should be replaced with the all l's pattern used to indicate an inactive time slot. When the Dead_Byte_Counter value is equal to zero, then the serial data out is forced high for eight cycles of CLKA, see Figure 32, "Dead Byte Data Insertion." Since data is clocked out with reference to CLKA, then in order to obtain the appropriate timing, Dead_..ByteCounter must also be clocked by CLKA and can therefore be reset by FMB, see Figure 33, "Dead Byte Data Insertion

Timing." The DeadByteCounter counter is chip enabled by the TC output from the TULBitCnt counter. The Dead.TS signal generated by the TC output from the Dead_ByteCounter counter is used to indicate that the next time slot is one of the 8 inactive time slots.

Parallel -Serial

Converter

Serial Data Out to FAU

Dead_TS

DeadByteCounter

FIGURE 32. Dead Byte Data Insertion

FMB11

CLKA

1L

CLKALF

I

I

C25 5k

3 D

I i t

I

.

I

.

~ DeadByteCounter Value = 0

FIGURE 33. Dead Byte Data Insertion Timing

I

I

.

·

I

9.8 Idle Pattern Insertion Counters

There are many methods for organizing the insertion of idle ATM cells to match the input and output data rate timings. The only requirement for the smallest repeatable pattern is that there are 1113 ATM cells filled with PCM data from 21 channels, and 15 idle ATM cells. In order to minimize the delay and buffer size, the cells are grouped in 3 groups of 75 and 12 groups of 74 ATM cells containing PCM data.

58

The 15 idle cells will be inserted between each group of 75 or 74, bringing the total cell count to the required 1128. Refer to Section 4.1 and Section 5.2 for calculations and further discussion.

This idle cell insertion section of logic is used to generate the status signal InsertIdle, which forces the

Unload side of the Transmitter to unload an idle ATM cell. This is accomplished by forcing the channel and buffer bits, of the Unload side memory addressing, high, see Section 8.3.3 and Section 9.6.3.

In order to keep track of the position in this idle ATM cell insertion pattern, two loadable counters are required. A loadable bidirectional 7 bit counter, CellCount, is used to keep track of the 74 or 75 ATM cells and a loadable bidirectional 4 bit counter, GroupCount, is used to keep track of the 15 groups of

74 or 75 ATM cells.

9.8.1 Cell Count Block

The Cell Count block is made up of a loadable bidirectional 7 bit counter, CellCount, which is clocked by C256k and hardwired to down count. The TC from the Cell_Count counter is used as the InsertIdle status signal.

18

When the InsertIdle status signal is asserted then the next unloaded ATM cell is an idle cell. The chip enable to the Cell_Count counter is controlled by the AND of StartToUnload and

TULChInc. The StartToUnload signal prevents the pattern counter section from starting until the

Transmitter has buffered enough data to start unloading ATM cells. The TUL_Chlnc signal is used because each increment of the TUL_Channel_Cnt counter indicates that a complete ATM cell has been unloaded.

The load signal for the Cell_Count counter is the logical AND of the CellCount counter TC output and

CE input. Therefore the CellCount counter is loaded when the Cell_Count value is equal to zero and a

CE occurs. The D(6:1) load inputs of the CellCount counter are hardwired to the value 100101. The

D(0) value is determined by the state of the GroupCount counter, see Section 9.8.2. If the

Group_Count counter value equals 0, 13 or 14, the D(0) bit is set high, loading the Cell-Count counter with the value of 75. Otherwise the D(0) bit is set low, loading the Cell_Count counter with the value of

74.

9.8.2 Group Count Block

The Group Count block is made up of a loadable bidirectional 4 bit counter, GroupCount, clocked by

C256k and hardwired to down count. The count enable out (CEO) of the CellCount counter is used for the chip enable of the GroupCount counter, see Section 9.8.2.19 The LOAD signal for the

Group_Count counter is its own CEO output. The GroupCount counter is hardwired to load the value

14. Therefore, GroupCount down counts whenever the Cell_Count counter reaches zero, and the

Group_Count counter is reloaded whenever the GroupCount value equals zero and a CE occurs. The output of the GroupCount counter is used to load the value of 75 into the Cell_Count counter for

Group_Count values of 0, 13 and 14 and 74 for all other values of Group_Count. The value of 0 is chosen to take care of the initial start-up condition, and 14 and 13 are the next two following

Group_Count values.

2 0

See Section 9.8.1 for more details.

18. The TC output for an UP/DOWN counter is logically equal to: U(Q

0

* Q1 *....*Qn) U(Q

0

*

19. The logic equation for CEO is (TC * CE).

20. Actually any three GroupCount values can be chosen, the value 0, 13 and 14 were chosen for conceptual simplicity.

59

--"--ilP3···DI··MP(rlllLII(

9.9 Test Logic

In order to simplify bench testing of the ATM board, additional logic was added for the sole purpose for generating clocks and known test patterns.

9.9.1 CLKA and FMB Generator

The input to the Clock_Gen block is a 4.086 MHz clock, C4M. The Clock_Gen block then generates the CLKA and FMB system timing signals. The CLKA signal is generated by dividing the C4M signal by 2. This is implemented in a toggle flip flop. The FMB signal is generated using C4M and a 10 bit counter. The CEO output of the 10 bit counter is used as the FMB signal. The 10 bit counter is needed because there are 1024 cycles of C4M between each FMB assertion.

2 1

The Clock_Gen block is reset by the global RESET signal.

9.9.2 Pattern Generator

In order to simplify bench testing, a pattern generator block, Pattern_Gen, is used to generate a known input pattern to the Transmitter. This is useful because it provides a known pattern which can be compared to those obtained from simulation. The Pattern_Gen block circuit is shown in Figure 34,

"Pattern Generator Block." This circuit generates 2 values for each time slot. The time slot values are shown in Table 13, "Pattern Generator Time Slot Values." The time slot values start with the First value and then alternate between the Second and the First values.

Loadable Bidirectional

3en_OUT

FIGURE 34. Pattern Generator Block

21. The number 1024 is obtained because there is 1 FMB every 2 T1 frames. Each T1 frame has 32 time slots. Each time slot is made up of 8 cycles of CLKA and each CLKA cycle is 2 M cycles.

Therefore 2*32*8*2 = 1024 = 2 .

60

TABLE 13. Pattern Generator Time Slot Values

26

27

28

29

16

17

18

19

20

21

22

23

24

25

10

11

12

13

14

15

3

4

5

6

7

8

PCM Time Slot First Value Second Value

0 69 D9

1

2

97

65

69

97

A6

SD

96

99

76

5A

65

A6

5D

96

99

76

9 65

D9

69

97

65

A6

5D

5A

65

D9

69

97

65

96

99

76

5A

65

D9

69

97

65

A6

A6

SD

96

99

76

SA

65

D9

69

97

5D

96

99

76

65

A6

5D

96

99

30

31

5A

65

76

5A

61

62

Chapter 10 Receiver Architecture

10.1 Principle of Operation

The Receiver Load side performs the SAR functionality for interfacing between the ATM data protocol and the TDM data protocol. This interface includes the cell delineation for ATM cells, the mapping of

ATM payloads into the appropriate SRAM buffer and synchronization to the PCM highways for unloading data from the SRAM into the appropriate time slots. All 32 time slots in the PCM highway will be filled with the appropriate payload data or in the case of inactive time slots, will be replaced by an all l's pattern.

The basic architecture for the Receiver is shown in Figure 35, "Receiver Architecture Diagram."

Management of the Receiver buffers is based on a simple rule:

For a particular channel, the most recent received valid ATM cell will be used.

This means that if an ATM cell arrives late or is missing, then data will be unloaded based on buffered data. If all the data buffers have been used, then the latest received valid ATM cell's data will be reused as the replacement for the late or missing ATM cell's payload.

2 1

Load Side

FIGURE 35. Receiver Architecture Diagram

Unload Side

21. While idle ATM cells are technically valid ATM cells, from now on, the term "valid ATM cells" will specifically refer only to ATM cells carrying channel data.

63

The SN byte of an ATM cell will be stored as part of the status. However, no error correction, such as out of order cell detection, will be implemented based on the ATM cell SN.

While it is possible to load in an ATM cell and concurrently begin unloading the same cell's payload, in order to simplify timing issues, ATM cells and SRAM buffers will be treated as an entire unit. This means that data cannot be unloaded from a buffer until the ATM cell has been completely loaded into the buffer.

10.2 System Architecture

The Receiver also uses a 256KHz clock (C256k) based on the same reasoning as the Transmitter, see

Section 8.2. The SRAM buffer will contain 16 buffers for each time slot, which are organized as a linked list structure. This requires a 32kx9 SRAM. Of the 16 buffers, 15 are used for ATM cell data and

1 is reserved for channel status, see Section 10.3.4. In order to maintain each channel independently to the others, several status values are required for each time slot. These status values will keep track of the head and tail buffer values of the link list and the index of the current value being addressed within a buffer.

Therefore, the basic Receiver operations required by the Receiver are shown in Table 14, "Basic

Receiver Functions."

TABLE 14. Basic Receiver Functions

Load Side Unload Side

Get Unload Status

Get Load Status

Write Data

Write Load Status

Get Unload Status

Get Load Status

Get Index Status

Get Data

Write Index Status

Write Unload Status

The functions listed in Table 14 show a maximum of 10 possible memory accesses for loading and unloading data for a time slot. Because not all operations occur at every cycle, the maximum number of memory operations is actually 8. These 8 are composed of 2 of the memory operations for the Load side and all 6 memory operations from the Unload side, see Section 11.3. The data paths used to support the

Receiver functions are shown in Figure 36, "Receiver Load Side Data Path Block Diagram," and

Figure 37, "Receiver Unload Side Data Path Block Diagram." The SRAM, EPROM and multiplexers partitioned off by the dotted line are components that are shared by both the Load and Unload sides, and are repeated in Figure 36 and Figure 37.

64

cn

0

'A

I.

104

.' i

-a &s

-IUE3.Reir4odSdDaa

FIGURE 36. Receiver Load Side Data Path Block Diagram

I5rI

65

,,

t'9 0~~~~~' =0L

FO* ]

),"

1

I,,~ q)

:z

V

14

Ln

V) a

I

CZ

1

-

Ei

66

w

rA C4 s

E5

En 01)

914

:z

FIGURE 37. Receiver Unload Side Data Path Block Diagram

`9

Cu

4.I

4'

4.

4,

4,

CZ

10.3 Receiver Memory

The Receiver memory is composed of a SRAM and an EPROM.

10.3.1 Data Buffer

The Receiver data buffer is maintained in a 32k x 9 SRAM. The SRAM is used to store the ATM payload and the status information after the initialization process. The extra bit in the data word is used for parity. The chip enable is connected to the Receiver NSRAMCS control signal and the read/write input is connected to the Receiver NSRAMR/W control signal. The output enable of the SRAM is connected to the inverted NSRAMR/W signal.

10.3.2 Initialization Data

The Receiver initialization data is maintained in a 32k x 8 EPROM. The EPROM specifically is used to store initialization information for the status values. The chip and output enables of the EPROM are tied together and connected to the control line NEPROMCS.

The programmed content of the Receiver EPROM is shown in Appendix E.

10.3.3 HEC Values

The HEC values for the 32 allowable VPI/VCI addresses are stored within another EPROM. The addressing for the HEC EPROM is taken from the Receiver Load side Channel register, see

Section 11.7.2.2. The output of the HEC EPROM is used as the correct HEC value input to the Header

Comparison block, see Section 11.2.2.3. The HEC EPROM is always chip and output enabled.

The programmed content of the Receiver HEC EPROM is shown in Appendix F.

10.3.4 Memory Partitioning

The memory addressing bits are broken down into fields as shown in Figure 38, "Receiver Memory

Address Bits."

Channel Count Buffer Count

~'~[ 13[~~~~~~~

Index Count

FIGURE 38. Receiver Memory Address Bits

Both the Load and Unload side memory addressing are maintained in three types of values, a Channel

Counter value, a Buffer Counter value and an Index Counter value. The Channel Counter value is a 5 bit value used to keep track of the channels. The Buffer Counter value is a 4 bit value used to keep track of the 16 buffer locations. The Index Counter value is a 6 bit value used to indicate the byte location within an ATM payload.

The memory is therefore partitioned in the manner depicted in Figure 39, "Receiver Memory

Partitioning." The memory consists of two types of buffers. Buffers 0 through 14 are data buffers and buffer 15 is used for status information.

67

0

1

Channel O

62

63

64

65

------------

Buffer 0

Buffer 1

62

63

64

65

0

1

Channel 1

0

1

Channel 31

62

63

64

65

------------·--

------------

959

960

-----------

Buffer 14

959

960

· ·-- · ·--------- ·-

959

960

1023

Buffer 15

1023 1023

FIGURE 39. Receiver Memory Partitioning

10.3.5 Memory Buffer Description

The data and status buffer formats are shown in Figure 40, "Receiver Buffer Partitioning." The buffers are organized in this fashion to facilitate the loading and unloading of ATM cells as well as allowing for future modifications.

The buffers are defined as 64 byte blocks because of the simplicity of a

2 k boundary. The data buffers are used to contain the ATM cell payload, excluding the SN, and therefore only locations 0 to 46 are used. The status buffer is used to contain channel status information. The status buffer locations 61, 62 and 63 are reserved for the Index, Unload and Load status fields respectively, see Section 10.3.6 and

Section 10.3.7

68

((uner #) 4) + o

1

2

3

4

0

1

2

PAYLOAD

DATA

44

45

46

47

48

63

NOT USED

NOT USED

60

61

62

63

Index Status

Unload Status

Load Status

Format for Buffers 0, 1, .... 13, 14

FIGURE 40. Receiver Buffer Partitioning

Format for Buffer 15

10.3.6 Buffer Pointers

A channel's buffers are managed as a linked list, independent of other channel buffers. Each channel has its own header pointer (HP), tail pointer (TP), Index value and channel status information.

The HP status is a 4 bit value that points to the last buffer which has had a complete ATM payload loaded into it. The TP status is a 4 bit value that points to the buffer that is currently being used to unload data. While both the Load and Unload side require access to the HP and TP status values, only the Load side of the Receiver updates the HP value and only the Unload side of the Receiver updates the

TP value. This eliminates any problems concerning data validity or the need for a token ring type of status data access. Initial values for the HP and TP values are stored in the EPROM. The initial value for the both the HP and the TP is zero.

The Index status is used by the Unload side of the Receiver to keep track of the byte location within a buffer from which data is being unloaded. The Index status is a 6 bit number and is initialized to zero upon connection establishment. The Index status value can range from 0 to 46.

10.3.7 Status Values

Other channel status fields are ActiveChannel, UnderRun, OverRun, Init and SN. The Active_Channel status is set high to indicate that the channel is active, if Active_Channel is low, then an all l's pattern will be outputted as data during the channel's time slot.

The UnderRun and the OverRun status values are both initialized to zero upon connection establishment. UnderRun is set high when no new data is available to be unloaded, this condition is also known as starvation. In the case of an UnderRun situation, the last valid data buffer is reused. The

UnderRun signal is generated in the Receiver Load side Buffer Addressing block, see Section 11.7.2.3.

OverRun is set high when there are no empty data buffers and a new ATM cell arrives and its payload needs to be written to the SRAM buffer. In the case of an OverRun occurrence, the new ATM payload is lost. The OverRun signal is generated in the Receiver Unload Buffer Addressing block, see

Section 11.7.3.3.

69

The Init field is actually the registered StartToUnload signal, see Section 11.4.1. This signal is used to indicate when initialization has been completed and data is ready to be unloaded. This bit should eventually become a field which is set by higher layer management.

The SN field is used to contain the sequence number of the ATM cell that has just been received. The organization of these status bits and the TP and HP status values is shown in Figure 41, "Channel Status

Information Addressing and Organization." The status information is organized to allow for the fewest possible memory operations for accessing and updating status values.

By adjusting the delta between the HP and TP values, the amount of buffering can be varied. This delta value can be user set by dip switches connected to the Buffer_Delta_Value(3:0) inputs. While larger delta values reduce the possibility of UnderRun, each buffer adds approximately 6ms of delay.

2 2

See

Section 11.4.1 for further details.

Addressing

Channel Buffer Index

1' -__ value

va¥u

.

I_'

Ik I Irik , xxxxx 1111 xxxxx 1111

7

K

Il

Bit Number

A '2 '

X

1

Unused

| Index Status Value |Index Status

11110 Ac

RIU

Underl mit

Tail Pointer Status Value Unload Status xxxxx 1111

111111 Over

Run

Sequence

Number (SN) Head Pointer Status Value Load Status

R/U = Reserved/Unused xxxxx = values 0 to 31

FIGURE 41. Channel Status Information Addressing and Organization

10.3.8 Memory Selection

This is the supporting hardware that is used to mask the selection of either the data buffer SRAM or initialization EPROM as the active memory component. This logic is implemented external to the control FSMs in order to simplify future modifications that may remove the need for the EPROM. The memory selection logic is required to provide the initial start up information for the status values. The initialization time is different for the Load and Unload sides. This is because the Load side must finish it's initialization and fill it's buffers before the Unload side can start unloading data. The determination for SRAM or EPROM selection is based on the Receiver FSM states and the states of RL_NFirstTime and RUL_NFirstTime.

Only the FSM states that access status values during initialization need to access the EPROM, therefore the basic SRAM and EPROM selection logic is shown in Figure 42, "EPROM Selection Logic."

22. End-to-end transmission and reception delay times become an issue around 25ms and echo cancellation circuitry becomes necessary.

70

-EPROMSel

FIGURE 42. EPROM Selection Logic

The logic equation for EPROM_Sel is as follows:

EPROM_Sel +

IdleCellnit)) + (RUL'_NFirstTime * StateEQ5 *

(StateEQ7or8 * Init)))

When EPROM_Sel is high, then the EPROM is selected as the active memory, otherwise, the SRAM is the active memory device.

71

72

Chapter 11 Receiver Block Descriptions

11.1 System Synchronization

The Receiver side system synchronization with external signals is implemented identically as the

Transmitter side system synchronization, see Section 9.1.

11.2 Cell Delineation

The Cell Delineation portion of the Receiver is based on the VPI/VCI values specified in Section 6. The

Cell_Delineation FSM is used to perform the ATM cell delineation and provide the necessary status signals to indicate the start of an ATM payload.

11.2.1 Cell Delineation FSM

The ATM header format is shown in Figure 43, "ATM Cell Header Structure for UNI."

The basic procedure used in the cell delineation is as follows:

1. Search for 00000000000000000000 pattern.

2. Since everything is byte aligned, the value actually found is

The a bit must be 0 for idle ATM cells and 1 for active ATM cells. The b bit is actually the MSB of the header value which contains the time slot information.

3. At the reception of the next valid byte, the 4 MSBs, c, d, e and f, are latched and used as to generate a possible valid VPI/VCI value. The bcdef value is also the time slot value.

4. The 5 bits, b, c, d, e and f, are then used to address a HEC EPROM, see

Section 10.3.3, which contains the HEC values for the

5. The HEC value found from the HEC EPROM is then compared with the next valid received byte which is suppose to be the ATM cell's HEC byte. If the two values are identical and the a bit is the appropriate value, then a valid header has been found. If they differ, then a header error is flagged and the cell is dropped.

No header error correction procedure is implemented.

73

Bits: 7 6 5 4 3 2 1 0

Bytes: 1 GFCNVPI VPI

VPI 2

3

4

0

5

VCI

VCI

VCI a b

I PT |CLP

HEC

FIGURE 43. ATM Cell Header Structure for UNI

The Cell_Delineation FSM takes in the following status signals RLDeadByteEQ0, Header,

CorrectHEC and RLIndexEQ46 and generates the ChNumRegCE, the SNRegCE and the Payload control signals. The FSM bubble diagram is shown in Figure 44, "Cell Delineation Control FSM

Bubble Diagram."

The RLDeadByteEQ0 status signal indicates that the current time slot is inactive, see Section 11.5.4.

The assertion of the Header signal is used to indicate that the pattern of 22 consecutive zeros have been located. The last 2 bits and the next byte are then the possible channel number that should be used to address the memory on the Load side of the Receiver, see Section 11.7.2.2. The CorrectHEC signal is used to indicate that a correct HEC match has been accomplished, see Section 11.2.2.3.

The ChNumRegCE signal is used as the CE for the ChNumReg register which is used to hold the channel number, bits b, c, d, e, and f, see Section 11.7.2.2. Because of timing issues, the ChNumRegCE control signal is generated as an unregistered output. This is based on the fact that the FSM is using

C256k as the clock. The other reason is to be able to handle a long series of consecutive zeros that occur before an ATM cell. A possible scenario is the following:

1. Initially the FSM is in State 0.

2. A series of 8 zeros occur, that are unrelated to the VPI/VCI header bits, followed by an ATM cell. The Header signal is asserted after the second byte of the ATM cell's header. This causes the FSM to transition to state 1. Having guessed an incorrect starting point for cell delineation, an incorrect channel number will be latched into the ChNumReg register.

3. The FSM then transitions to state 2 after the assumed HEC value is latched into the RL_Data_In register. However, because the bytes contained in the ChNumReg register and the data from the FAU serial to parallel convertor are neither the correct channel value nor the correct HEC value, then the CorrectHEC signal will not be asserted. At this point, if the FSM returns to state 0, then the correct channel number would be missed and the entire ATM cell would be lost.

Therefore, to avoid this situation, state 2 has a conditional statement for the case where there is an incorrect HEC, but the Header signal is still asserted. This indicates that the initial header guess was incorrect and the current byte being shifted in may actually contain the correct channel number value.

If the ChNumRegCE signal was registered, then there would be a byte delay between the detection of this condition and the actual latching of the channel number. Similar situations occur for other numbers of zeros occurring before the actual header of an ATM cell. It is for this reason, that the ChNumRegCE signal is based on combinational logic and the HEC comparison is based on the data output of the FAU serial to parallel convertor and not based on the data from the

RL_Data_In register.

74

CorrectHEC *

RLDeadByteEQ0 /

Header /

CorrectHEC *

Header * i/

___

/

CorrectHEC * Header

* RL_DeadByteEQ0 /

ChNumRegCE

RLIndexEQ46 *

Payload

FIGURE 44. Cell Delineation Control FSM Bubble Diagram teREQO /

Table 15, "Cell Delineation FSM Signal Description," list and described the signals associated with the

Cell Delineation FSM.

TABLE 15. Cell Delineation FSM Signal Description

.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signal Name Signal Function

Header

ChNumRegCE

Used to indicate the reception of the 20 zeroes pattern, refer to Section 11.2.2.1.

Chip enable signal for the Channel Number register, refer to Section 11.2.2.2.

RL_Dead_ByteEQ0 Status signal used to indicate that the current time slot data stored in the RL_Data_In register is an inactive time slot and should not be stored, refer to Section 11.5.4.

75

TABLE 15. Cell Delineation FSM Signal Description

Signal Name Signal Function

CorrectHEC Status signal used to indicate that a correct

HEC value was located, refer to

Section 11.2.2.3.

SNRegCE

Payload

RLIndexEQ46

Chip enable signal for the SN register, refer to Section 11.6.2.3.1.

Status signal used to indicate that the data in the RLData_In register is part of an ATM payload, refer to Section 11.3.

Status signal used to indicate the end of an

ATM cell, refer to Section 11.7.2.1.

The assertion of SNRegCE and Payload are delayed by one clock cycle because these signals are used in blocks that use data from the RLDataIn register and not data directly from the FAU serial to parallel converter. The SNRegCE signal is used to latch the SN bits, see Section 11.6.2.3.1, and the

Payload signal is used to indicate that the data presented by the RL_Data_In register is part of the ATM cell's payload.

The Cell_Delineation FSM only looks at the Header signal after an entire ATM cell has been collected.

This is due to the use of the RLIndexEQ46 status signal. The signal RLIndexEQ46 is generated from the Receiver Load Index Addressing Counter block, and is used to indicate the end of an ATM cell, after

47 bytes of payload data have been stored, see Section 11.7.2.1. This is not a necessary function, but is useful in preventing the CellDelineation FSM from indicating a new VPI/VCI occurrence that may appear within the payload of the ATM cell.

11.2.2 Cell Delineation Data Paths

11.2.2.1 Header Recognition Block

The Header Recognition block is used as part of the cell delineation function. Because of the assignment of VPI/VCI values, the Header Recognition block searches for the pattern

00000000000000000000. This pattern of 20 zeros asserts the status signal Header indicating the possible start of an ATM header. After the first pattern of 20 zeros is detected, the Header signal will stay asserted for any data satisfying the xxxx00xx pattern, where "x" represents a "don't care" value.

The xxxxOOxx pattern is necessary in cases where the Header signal is already asserted, but the start of an ATM cell has not been located. In this case the CellDelineation FSM is in state 2. The use of the xxxx00xx pattern prevents the 4th byte of the ATM header from deasserting the Header signal before the channel number can be latched.

The 20 zeros essentially span the first three header bytes. Each of these header bytes are sectioned into bits 0 to 5 and bits 6 and 7. This partitioning of the bytes is due to how the time slot value is encoded into the last 6 bits of the VPI/VCI value and the relationship of these last 6 bits with the physical byte boundaries. The Zero Detection block data paths are shown in Figure 45, "Zero Detection Portion of

Header Recognition Block."

76

FIGURE 45. Zero Detection Portion of Header Recognition Block

The Zero Detection block serially shifts in the PCM highway data from the FAU and accumulates the data through the use of an OR gate and feedback from the register's output. The two signals generated,

Zero_DetectA and Zero_DetectB, are respectively set high when the data input satisfies the required data pattern for bits 0 to 5 and bits 6 and 7.

The AND gate in the feedback path is used to clear the old Zero_Detect value when a new byte is started. The combinational logic in front of the OR gate is used to force certain bits to zero. The AND gate in the ZeroDetectA portion is used to force bits 6 and 7 to zero, so that they do not effect the zero detection of bits 0 through 5. The NAND gate is used so that once the Header signal is asserted, then bits 0 through 3 are all forced low. This is necessary to obtain the xxxx00 portion of the xxxx00xx pattern. The AND gate in the Zero_DetectB portion is used to force bits 0 through 5 to zero, so that the zero detection of bits 6 and 7 are not effected. The use of the Header input is to obtain the final xx portion of the xxxx00xx pattern. The timing is shown in Figure 46, "Zero Detection Timing."

CLKA |

BitCount

~ i

,

J

<

0 2 'X

Force Zero DetectB '

,

_ Input to zero , Timing/

' ! Header = 0 ,Clear

'feed- '

Header= 1

'back , l'

'

'

Force ~

Input to zero

*

Input to

, Fofe Zero_DetectA

:'

,

~~zero

Force

Zero_DetectB yt~~~~~~~~~

FIGURE 46. Zero Detection Timing

0

77

Because the zeros in the VPI/VCI value spans 2 1/2 bytes, or equivalently 20 bits, it is necessary to keep a history of the previous zero occurrences. This is done through the use of two registers. The data paths are shown in Figure 47, "Header Signal Generation."

Header

FIGURE 47. Header Signal Generation

The zero status stored in the registers are the AND of Zero_DetectA and Zero_DetectB. This determines whether the overall byte fit the required pattern. The status registers are clocked using

CLKA, and are chip enabled using the AND of RL,_BitCntEQ7 and RL_DeadByteEQ0. The AND of the RLBitCntEQ7 and RL_DeadByteEQ0 allows data to be register at the byte boundary of an active time slot, see Section 11.5.1 and Section 11.5.4 for more information on the respective signals.

Therefore the registers are enabled at each byte boundary of the active time slots. The Header signal is then generated by ANDing ZeroDetectA and the outputs from the two status registers, which provides the coverage of the 20 bit pattern.

11.2.2.2 Channel Number Register

This register is used to store the relevant portion of the VPI/VCI address which contains the channel number in which the ATM cell is to be stored. The channel number register, ChNumReg, is a 6 bit register clocked by CLKA and is chip enabled by the AND of RLBitCntEQ7 and the control signal

ChNumRegCE. The ChNumRegCE signal is generated from the Cell_Delineation FSM, see

Section 11.2.1. The data path is shown in Figure 48, "Channel Number Register Block Data Paths."

The channel number value is made up of bits 1 and 0 of byte 3 of the ATM header and bits 7 through 4 of byte 4 of the ATM header. Since these cross a byte boundary, it is necessary to obtain the byte 3 bits from the output of the RL_DataIn register and the bits from byte 4 from the output of the FAU serial to parallel shift register.The ChNumReg register bits are NORed together to generate the Idle_Cell signal and ANDed together to generate the RL_ChNumEQ31 signal.

2 3

The Idle_Cell signal and MSB of the channel number are then ORed together to produce the OK_Header signal. The MSB of the ChNumReg register should be high for a correct active ATLM cell's VPI/VCI value. The lower 5 bits are then used for the channel value. The OK_Header signal is used in by the Header Error Check Comparator, see

Section 11.2.2.3.

See Section 6.2 and Section 11.2.1 for information on VPINVCI values and for more details.

23. An idle ATM cell has a VPI/VCI value of 0. Channel 31 is the signaling channel for the PBX.

78

RL hNumEQ31

IdleCell

OKHeader ue(4:0)

FIGURE 48. Channel Number Register Block Data Paths

11.2.2.3 Header Error Check (HEC) Comparator

An eight bit comparator, HEC_Comp, is used to determine whether a correct HEC is found. The comparator takes the HEC value from the HEC EPROM using the VPINVCI value stored in the

ChNumReg register and compares it with the value shifted in by the FAU serial to parallel shift register.

The equal output of HEC_Comp is then ANDed with the OK_Header signal to generate the final

CorrectHEC status signal. The OK_Header signal is used as a final check to make sure that the correct

VPI/VCI value has been stored, see Section 11.2.2.2. The timing for the assertion of CorrectHEC is shown in Figure 49, "Signal Timing for Assertion of CorrectHEC." -

Bit Count 3

F--

--

I

I

II

CorrectHEC

I

I

C256k

I

FIGURE 49. Signal Timing for Assertion of CorrectHEC

11.3 Control Finite State Machine (FSM)

The Receiver Side FSM controls all the data and addressing pathways associated with the SRAM and

EPROM memory elements. Because the load and unload timing is completely synchronous and in order to simplify the control FSM, the Load side and Unload side controls are combined into a single

Receiver Side Control FSM. The clock rate used for the Receiver Side FSM is dependant on the maximum number of memory operations required for the loading and unloading of a single time slot.

The number of memory access can be reduced to a minimum of 8. This is done by appropriately grouping the status values, see Figure 41, "Channel Status Information Addressing and Organization."

Because the Load and Unload sides are essentially operating independently to each other, to avoid data validity questions, both sides must have access of their own copies of the Load and Unload status

79

values. However, only the Load side is allowed to update the Load status value and only the Unload side is allowed to update the Unload and Index status values. The bubble flow diagram for the Receiver Side

FSM is shown in Figure 50, "Receiver Control FSM Bubble Flow Diagram." State 0 is the initial startup state, states 1, 2, 3, 7, 8 and 9 are Unload related states and states 4, 5 and 6 are Load related states.

Figure 50 shows the various conditional branches and the type of action to be taken without specifying the signals asserted to perform each task. The signals asserted for each task differs for the Load and

Unload sides and are shown in Table 16, "Load Side Functions," and Table 17, "Unload Side

Functions." The control signal descriptions are listed in Table 18, "Receiver Control Signal

Description."

It should be noted that all of the control signals used are active high, except the NSRAMCS and the

NSRAMRW signal which are active low. All signals are registered outputs.

The Unload states are split by the Load states because of timing considerations. Both the Unload status value and the Index status value contain information required by state 5. If the state flow was to go from state 2 directly to state 5, then data would not be ready by state 5. By placing the Load states between states 2 and 5, any unnecessary memory operations are removed.

80

-

nrap = ueauOytLrAVi n- raysuu

,_Ch

RLBitCntE(

SNRe

Get L

* Nev

Get L

1/

Write Index

FIGURE 50. Receiver Control FSM Bubble Flow Diagram yWnii LVua J antUUS

U

N

L

0

A

D

L

0

A

D

U

N

L

0

A

D

81

82

TABLE 16. Load Side Functions

Task

Get Unload Status

Get Load Status

Write Data

Write Load Status

Signals Asserted

R_IndexSelS0

RL_TPRegCE

SRAM_AddSel_S0

NSRAMCS

SRAM Read

R_IndexSel_S 1

RL_HPRegCE

SRAMAddSel_S0

NSRAMCS

SRAM Read

SRAM_AddSel_S0

SRAM_DataInSI

NSRAMCS

SRAM Write

RIndexSel_S 1

SRAM_AddSelS0

SRAM_DataInSO

NSRAMCS

SRAM Write

TABLE 17. Unload Side Functions

Task

Get Unload Status

Get Load Status

Get Index Status

Get Data

Write Index Status

. Signals Asserted

R_IndexSel_S0

RUL_TPRegCE

SRAM_AddSel_S 1

NSRAMCS

SRAM Read

R_IndexSel_S1

RUL_HPRegCE

SRAM_AddSel_S 1

NSRAMCS

SRAM Read

RUL_IndexRegCE

SRAM_AddSel_S 1

NSRAMCS

SRAM Read

R_IndexSel _S0O

R_IndexSel_S1

R_DataRegOutCE

SRAMAddSel_S1

NSRAMCS

SRAM Read

SRAM_AddSel_S 1

SRAM_DataIn_SO

NSRAMCS

SRAM Write

TABLE 17. Unload Side Functions

Task

Write Unload Status

Signals Asserted

RIndexSel_S0

SRAM_Add_SelS1

SRAM_Data_In_S0

NSRAMCS

SRAM Write

TABLE 18. Receiver Control Signal Description

Signal Name Signal Function

RAck Acknowledge signal from the Receiver, used to indicate that memory data and address buses are allocated for processor interface usage, see

Section 11.6.2.6.

R_IndexSeLS0, R_IndexSel_S1

RL_TPRegCE

Used in selecting Index values for memory addressing, see Section 11.3.1, Section 11.6.1.1,

Section 11.7.2.1 and Section 11.7.3.2.

Receiver Load side TP register chip enable, see

Section 11.7.2.3.

SRAM_AddSelS0, SRAM_AddSel_S1 Input source selection signals for Receiver

Addressing Multiplexer, see Section 11.7.1.

NSRAMCS

NSRAMRW

Negative asserted Receiver SRAM chip select signal, see Section 10.3.1.

Negative asserted Receiver SRAM read/write signal, see Section 10.3.1.

RL_HPRegCE Receiver Load side HP register chip enable, see

Section 11.7.2.3.

SRAM_Data_InS0, SRAM_Data_In_S 1 Input source selection signals for Receiver SRAM

Memory Data Bus Multiplexer, see Section 11.6.1.2.

RULTPRegCE Receiver Unload side TP register chip enable, see

Section 11.7.3.3.

RULIndexRegCE

R_DataRegOutCE

Receiver Unload side Index register chip enable, see

Section 11.7.3.2.

Receiver Unload Data register chip enable, see

Section 11.6.2.5.

11.3.1 Status Buffer Address Force Logic

The two control lines RL_StatusBuffSel and RUL_StatusBuffSel, see Section 11.7.2.3 and

Section 11.7.3.3 respectively, are used to force the buffer value to all l's in order to access status values, see Section 10.3.6. The two signals are generated by the decoding the R_IndexSel_S0 and the

R_IndexSel_S 1 control signals based on the logic equations shown below:

83

RUL_StatusBuffSel = (RLStatusBuffSel + (R_IndexSelS0 *

R_IndexSelS 1))

Therefore when the R_IndexSel_S0 and R_IndexSel_S1 select the Unload status or the Load status

Index address values, the RLStatusBuffSel signal is asserted so that the Load addressing status Buffer value is selected. When the R_IndexSel_S0 and R_IndexSelS1 select the Index status, the Unload status or the Load status Index values, the RUL_StatusBuffSel signal is asserted so that the Unload addressing status Buffer value is selected. Use of the RL_StatusBuffSel and the RUL_StatusBuffSel signals are shown in Section 11.7.2.3 and Section 11.7.3.3 respectively.

11.4 Initialization Blocks

11.4.1 StartToUnload

Before the Receiver can start to unload the ATM payload data, certain conditions must first occur. The

StartToUnload signal is used to indicate that at least one buffer is completely full and data can start to be unloaded. By varying the state that triggers the assertion of StartToUnload, the amount of buffering can be varied. The larger the amount of buffering, then the less sensitive the Receiver will be to situations where an ATM cell arrives late or is lost. However, the usage of each buffer adds on a delay of 5.79ms.

For voice, when the end-to-end delay approaches 25ms, echo cancellation circuitry becomes necessary.

The timing of the StartToUnload signal dictates what the initial delta between the header and tail pointers, i.e. the amount of buffering used, see Section 10.3.6. The StartToUnload signal is based on the comparison of the buffer number used by the Load side, RLBufferValue(3:0), and the user selectable frame, the chip enable, of the register used for the StartToUnload signal, is connected to the status signal

RUL_ChCntEQ31. The register is clocked by C256k and uses feedback from the register output so that once set, StartToUnload can only be cleared by a RESET.

The StartToUnload signal is equivalent to the Init field in the Unload status field, see Section 10.3.7,

Section 11.6.2.4 and Section 11.7.3.3.

11.4.2 Receiver Load First Time

The RL_NFirstTime signal is a negative asserted signal used to indicate that it is the first time the Load side is accessing the memory. Therefore the RL_NFirstTime signal is used for initialization purposes so that status data can be properly read from the EPROM, see Section 10.3.2 and Section 10.3.8.

The RL_NFirstTime signal is set high at the end of the first reception of an ATM cell for channel 31.

This is accomplished by using the AND of the RL_ChNumEQ31 and RL_IndexEQ46 signals which are discussed in Section 11.7.2.2 and Section 11.7.2.1 respectively. The RL_NFirstTime signal is implemented in this fashion for the prototype because there is no way to selectively activate and deactivate channels. Therefore, initially all supported channels will be activated and the reception of channel 31 can be used to indicate the state where all the active channels have been received once.

Channel 31 is also chosen because it represents the signaling channel and must always be present regardless of which of the data channels are active.

11.4.3 Receiver Unload First Time

The RUL_NFirstTime signal is a negative asserted signal used to indicate that it is the first time the

Unload side is accessing the memory. Therefore the RUL_NFirstTime signal is used for initialization

84

purposes so that status data can be properly read from the EPROM, see Section 10.3.2 and

Section 10.3.8.

The RUL_NFirstTime signal is set high at the first complete T1 frame after the assertion of the

StartToUnload signal. This one frame delay, from the start of the assertion of the StartToUnload signal, is to make sure that all 32 time slots have obtained the proper initialization status information from the

EPROM.

11.5 MTS to Receiver Load Side Interface

11.5.1 Load Bit Count

The Receiver Load bit counter, RL_BitCnt is a 3 bit counter used to determine the byte boundaries of the serial FAU data. The RL_BitCnt counter is clocked by CLKA, and synchronously reset by

FMB_Sync. Supporting combinational logic is used to generate LT4, ZeroBits6and7 and

RLBitCntEQ7 status signals and a 256 KHz clock, C256k. The LT4 signal is high for RL_BitCnt values of 0, 1, 2 and 7. The LT4 signal is used in the Header Recognition block to zero out bits 0, 1, 2 and 3, see Section 11.2.2.1. The ZeroBits6and7 is another status signal used by the Cell Delineation

Block. The ZeroBits6and7 signal is used to zero out the MTS serial input during bits 6 and 7. The

RLBitCntEQ7 is generated using the TC output of the RL_BitCnt counter. The inverse of the MSB of the RLBitCnt counter is used to generate the 256 KHz clock, C256k. Figure 51, "Receiver Load Bit

Count Block," shows the data paths and Figure 52, "RL_BitCnt Timing," shows the timing for these signals.

RL_BitCnt its6and7

LT4

;itCntEO7

FIGURE 51. Receiver Load Bit Count Block

85

FMBSync

CLKA

C256k

LT4

ZeroBits6and7

RL_BitCntEQ7

RL_BitCnt

Value

J

FIGURE 52. RL_BitCnt Timing

0

11.5.2 FAU Serial to Parallel Interface

The interface to the FAU serial data is synchronized through the use of the FMB and CLKA signals.

The timing and components are the same as that used for the MTS serial to parallel interface on the

Transmitter Load side, see Section 9.4.2.

11.5.3 Even Parity Generator

The Even Parity Generator block on the Receiver is identical to that used for the Transmitter, see

Section 9.4.3.

11.5.4 Load Side Dead Byte Count Block

The TMD24 board data rate is 2.048MHz, which contains 8 inactive time slots. It is necessary to ignore the inactive time slot data from the data bytes sent to the ATM cell delineation block and the ATM payload storage blocks.

A 2 bit counter, RLDeadByteCnt, is used to keep track of which time slots are inactive. The Dead

Byte Count block generates the two status signals RL_.DeadByteEQ0 and RLDeadByteEQ1, which are asserted when the RL_Dead_ByteCnt value is equal to 0 and 1 respectively. RLDeadByteEQ0 is used to indicate when the current byte in the FAU serial to parallel shift register is from one of the 8 inactive time slot.

11.6 Receiver Memory Data Bus

11.6.1 Data Multiplexers

11.6.1.1 Status Data Multiplexer

The Status Data multiplexer, Status_Mux, is a 3 to 1 8 bit multiplexer used to select status values. The status values to select from are the Index, Unload, and the Load status values. A XNOR gate is used at the output of the Status_Mux multiplexer to generate a parity bit for the status data. Table 19, "Status

86

Multiplexer Selection Table," shows the outputs selections for the Status_Mux multiplexer. The multiplexer inputs SO and SI are connected to the control signals R_IndexSel_S0 and R_IndexSelS 1 respectively, which are described in Section 11.3. The output of the Status_Mux is connected to one of the inputs of the Data_jn_Mux, refer to Section 11.6.1.2.

TABLE 19. Status Multiplexer Selection Table

Input

S 1 SO

0 0

0 1

1 0

1 1

Output

Status Value

Index Status

Unload Status

Load Status

Not Used

11.6.1.2 Memory Data Bus Input Multiplexer

A 3 to 1 9 bit wide data multiplexer, DataInMux, is used to make the final source selection that will be passed on to the memory data bus. The Data_In_Mux selects from three data sources, the

Status_Mux, the RL_Dataln register and the Processor data interface. The SO and S 1 inputs of Data_In multiplexer are connected to the control signals SRAM_DataIn_S0 and SRAM_Data_In_S 1 respectively. The selection of the input source is shown in Table 19, "Status Multiplexer Selection

Table."

TABLE 20. Data_In_Mux Selection Table

Input Output

S 1 SO Status Value

0

0

1

1

0

1

0

1

I

Processor Data

Status_Mux output

DataIn register output

I NotUsed

11.6.2 Data Multiplexer Input Sources

11.6.2.1 Data In Register

Once the serial data has been converted and formed into an 8 bit data value plus 1 bit parity, these 9 bits are latched into the RL_Data_In register. This allows the Receiver Control FSM to write the loaded data into the appropriate SRAM buffer anytime before the next byte is shifted in by the FAU serial to parallel shift register. The RL_Data_In register is hardwired to latch in all bytes except those corresponding to the eight inactive time slots. This is done by using CLKA as the clock and the logical AND of the

RL_BitCntEQ7 output of RL_BitCnt counter and the inverse of RL_DeadByteCntEQ0 as the chip enable. Thus, the RL_Data_In register is enabled for all active time slots.

87

11.6.2.2 Index Status Value

The Index status value is generated from the Receiver Unload Index block, see Section 11.7.3.2.

11.6.2.3 Load Status Value

The Load status value is obtained from the Receiver Load Buffer Addressing block, see

Section 11.7.2.3. The Load status value also contains the SN from the received ATM cell.

11.6.2.3.1 Load Sequence Number Register

A 3 bit register, Act._SNValue, is used to store the received ATM cell's SN value. The data input to the

SN register is from the RL_DataIn register. The Act_SN_Value register is clocked by CLKA and uses the AND of SNRegCE and RL_BitCntEQ7 as the CE. The SNRegCE control signal is produced from the CellDelineation FSM. The use of CLKA and RLBitCntEQ7 eliminates any timing issues that might occur due to routing timing delays if C256k was used. The output of the Act_SN_Value register goes to the Data_InMux multiplexer.

11.6.2.4 Unload Status Generation

The Unload status value is generated from the Receiver Unload Buffer Addressing block, see

Section 11.7.3.3.

11.6.2.5 Unload Data Register

A 9 bit register, RUL_Data_Out, is used to register data read from either the SRAM or the EPROM.

The RUL_Data_Out register is clocked by CLKA and is chip enabled by the RDataRegOutCE signal, which is generated by the Receiver FSM. The output of RUL_Data_Out register is used as the input to the MTS parallel to serial converter and parity check blocks, see Section 11.8.1 and Section 11.8.3

respectively. The RULData_Out register allows data to be read out of memory at any point in time prior to the time that data is required by the MTS parallel to serial shift register.

11.6.2.6 Processor Interface

In the event of future modifications and to allow access to the SRAM for testing, a processor interface to the SRAM is provided. This interface allows the processor to have access to the SRAM data input and the SRAM addressing.

The Receiver FSM has a conditional statement for the processor access from the home state, state 1.

This is based off of the signals RReq and RAck. If the processor requests access to the memory then it asserts the RReq signal. If there is excess time between byte cycles, then the Receiver FSM asserts the R_Ack signal and relinquishes the memory data and address paths to the processor.

11.7 Receiver Memory Addressing

11.7.1 Memory Address Multiplexer

The Receiver memory addressing can come from three sources, the processor address interface, see

Section 11.6.2.6, the Load side addressing, see Section 11.7.2, and the Unload side addressing, see

Section 11.7.3. The Receiver memory address multiplexer is a 3 to 1 15 bit multiplexer. The input

88

selection is controlled by the SRAM_AddSeI_SO and the SRAM_AddSelSl signals, see Table 21,

"Receiver Address Multiplexer Selection Table." The output of this multiplexer is used as the memory addressing bits.

TABLE 21. Receiver Address Multiplexer Selection Table

SRAM_AddSelSl

.

.

0 o|

Input Select Output

.

SRAM_AddSelSO Address Source

, , ..

0 Processor Address Interface

1 ||Load Side Addressing X

1 0 Unload Side Addressing

1 1 NA

11.7.2 Load Side Addressing

The Load side addressing is composed of three parts, the Index Counter value, the Channel Counter value, and the Buffer Counter value. The logical arrangement of these fields is shown in Figure 53,

"Receiver Load Side Logical Organization of Memory Addressing Bits."

Buffer Count Channel Count Index Count

1 141 131 121 11 101 9 8 7 6 5 4 3 2 l 1 0

FIGURE 53. Receiver Load Side Logical Organization of Memory Addressing Bits

11.7.2.1 Index Addressing Block

The index addressing consists of a 6 bit counter, RL_Index_Cnt, which is clocked by CLKA. The

RL_IndexCnt counter is chip enabled by the control signal RL_IndexCntCE and reset by the inverse of the Payload status signal. The RL_IndexCntCE is generated from the Receiver Control FSM and the

Payload status signal is generated by the Cell_Delineation FSM.

The Index Count goes from 0 to 46, which covers the 47 bytes of payload data.

2 4

A RLIndexEQ46 status signal is generated to indicate when the index count equals 46, and is used to indicate the end of a payload. There is also combinational logic which can be selected to force the index value to 111110 or

11111, which represent the index addresses for the Unload and Load status values. The address forcing logic is selected by the control signals R_IndexSelSO and RIndexSel_S1 and is shown in Table 19,

"Status Multiplexer Selection Table."

24. The value of 47 is used because while the SN is technically part of the payload, it is treated as status information, and therefore there are only 47 bytes of data.

89

RIndexSelS0

0

0

1

1

TABLE 22. Index Selection Table

Input

R IndexSelS I

0

1

0

1

Status Value

Output

RL_Index_Cnt value

Unload Status Address

Load Status Address

NA

11.7.2.2 Channel Number Register Block

This block contains the ChNumReg register used to hold the channel value of the received ATM cell and is described in Section 11.2.2.2.

11.7.2.3 Buffer Addressing Block

The buffer value used for addressing is determined through the comparison of the HP and TP values.

The comparison is implemented through the use of the data paths depicted in Figure 54, "Receiver Load

Buffer Comparison Data Paths."

FIGURE 54. Receiver Load Buffer Comparison Data Paths

The Head_Pointer_Value register is used to hold the 4 bit HP value. The Tail_Pointer_Value register is used to hold the 4 bit TP value and the Active_Channel status bit.

The Buffer Comparison block function can be summed up in the follow pseudo C code:

OverRun = 1; else OverRun = 0;

90

if (RLStatusBuffSel = 1) then else

BufferValue:= Obl 111;

{ if (OverRun == 0) then

BufferValue:= HP_Value + 1; else BufferValue:= HP_Value;

}

It should be noted that the BufferValue(3:0) is always based on the HP value, which is responsible for keeping track of the buffer position for loading in new ATM cells. The RL_Active_Ch value is not modified because there is no higher layer management which can update this status field.

11.7.3 Receiver Unload Addressing

The Unload side addressing is composed of three parts, the Index Counter value, the Channel Counter value, and the Buffer Counter value. The logical arrangement of these fields is shown in Figure 53,

"Receiver Load Side Logical Organization of Memory Addressing Bits."

Buffer value Index value Channel value

1 141 131 121 101 9 1 8 7 6 5 4 3 2 1 1 0 j

FIGURE 55. Receiver Unload Side Logical Organization of Memory Addressing Bits

11.7.3.1 Channel Count Addressing Block

The Channel Count block is composed of a 5 bit counter, RUL_ChannelCnt, and an adder. The

RUL_Channel_Cnt counter is clocked by C256k and is reset by FMB Sync. The RUL_Channel_Cnt counter is used to keep track of the time slot alignment between the ATM board and the data from the

TMD24 board. However, a 1 time slot delay is introduced by the RULData_Out register. Thus an adder for the RUL_Channel_Cnt counter is required so that data sent to the RUL_Data_Out register will arrive time slot before it is needed by the MTS parallel to serial shift register. The adder is therefore a simple incrementor which outputs the result as a mod 32 value. The output of the incrementor is the

Channel Count field which is used in the memory Unload side addressing.

11.7.3.2 Index Addressing Block

The Index Counter value for the unloading of data is stored in a 6 bit register, Index_Value. The input of the Index_Value register is the memory data bus. The output of the IndexValue register goes to a NOR gate, an adder and a forcing block as shown in Figure 56, "Receiver Unload Index Value Data Paths."

91

RUL_Index_Status_Force

FIGURE 56. Receiver Unload Index Value Data Paths

The 6 input NOR gate is used to signal the start of a new buffer, i.e. when the Index value is equal to 0.

The output of the NOR gate is then ANDed with the RULActive_Ch status bit for the channel. This produces the final status signal NewBuffer.

The adder is actually a 6 bit incrementor which outputs the result as a mod 47 value. This value is the next Index Counter value, and is the Index_Status_Value used by the Status_Mux multiplexer, see

Section 11.6.1.1. The RUL_Index_Status_Force block is essentially a 4 to 1 multiplexer, but because 3 of the 4 inputs are fixed values, it is more efficient to implement the RUL_Index_Status_Force block using combinational logic. The RULIndex_Status_Force block selects between the values shown in

Table 19, "Status Multiplexer Selection Table." The output of the RULIndexStatusForce block is used as the Index Count field for the Receiver Unload side memory addressing.

TABLE 23. RULIndex_Status_Force Block Selection Table

R_IndexSel_Sl

0

0

1

'1

Input

RIndexSelS0O

0

1

0

1 '

Status Value

Output

Index Status Address

Unload Status Address

Load Status Address

RUL_IndexCnt value

11.7.3.3 Buffer Addressing Block

The Buffer Count value used for addressing is determined through the comparison of the TP and the HP values. The comparison is implemented through the use of the data paths depicted in Figure 54,

"Receiver Load Buffer Comparison Data Paths."

92

4bitStatusBuffSel lue(3:0)

Ilue(3:0)

FIGURE 57. Receiver Unload Buffer Comparison Data Paths

The Tail_Pointer_Value register is a 6 bit register used to hold the 4 bit TP value, the RUL_Active_Ch status bit and the Init status bit. The Head_Pointer_Value register is a 4 bit register used to hold the 4 bit

HP value. The Buffer Comparison block function can be summed up in the follow pseudo C code: if (RULStatusBuffSel .0) then if ((TPValue!= HP_Value) & (IndexEQO)) then

BufferValue:= TP_Value + 1; else BufferValue:= TP_Value; else BufferValue:= Obl 111;

The BufferAddressValue(3:0) is used for the Buffer Count field for the Unload memory addressing. The

BufferValue(3:0) is the value used for the TP Unload status value. The RUL_Active_Ch status value remains unchanged because there is no higher layer management to update this status field. The Init value is the registered value of the StartToUnload signal. The UnderRun status value is generated by the

AND of the IndexEQO, the RUL_Active_Ch, the Init and the EQ output from the comparator. The

IndexEQO signal is used so that the UnderRun value is only generated at the start of a new buffer.

93

11.8 Receiver to MTS Unload Side Interface

11.8.1 MTS Parallel to Serial Converter

The components and timing for the MTS parallel to serial converter are identical to those of the FAU parallel to serial converter in the Transmitter Unload side, see Section 9.7.2.

11.8.2 Inactive Time Slot Data Insertion

The all 's pattern for inactive time slots is inserted based on the status signals RUL_Active_Ch and

Init. RUL_Active_Ch is the Active_Channel status bit for the time slot being unloaded and the Init status signal is as described in Section 10.3.7. The data paths for the forcing of the serial output is shown in Figure 58, "Inactive Time Slot Data Insertion Data Paths." The status signal Inactive_Ch is generated from the NAND of the RUL_Active_Ch and the Init signals.

Serial Data

FIGURE 58. Inactive Time Slot Data Insertion Data Paths

11.8.3 Parity Check

The components and timing for the Receiver Unload serial parity check are based on those of the parity check on the Transmitter Unload side, see Section 9.7.3. The difference is that the final parity error register is chip enabled by the Inactive_Ch status signal, see Section 11.8.2, so that parity is not checked for inactive time slots and there is no need to check for EPROM data.

94

Chapter 12 Conclusion

12.1 Project Status

Initially there were several goals for this project. Some of the primary goals are listed below:

* learn and gather specifications on ATM specifications

* investigate the various chip sets available

* centralize this information and distribute it to interested engineers

* develop the design for a PBX to ATM UNI

* satisfy the Master's thesis requirements

All of the above goals were met. With the primary goals met, an attempt to build and test the board in the remaining time was also attempted. However, the returned wire wrapped board was not finished until the last week of the assignment. At this point debugging was begun. Unfortunately, because of difficulties with the chip set used, the Xilinx FPGAs could not be configured properly. Therefore, the current status of the project is that there is a physical board built and final debugging of the board will be continued at Rolm as time allows.

12.2 Design Verification

Design verification was done through the use of end-to-end simulation techniques. The simulation incorporated both the Xilinx FPGA designs, SRAMs and EPROMs programmed with the appropriate values. The results of key simulations is shown in Appendixes G-J. Appendix G shows the timing simulation results for the Transmitter. Appendix H contains the timing simulation results for the cell delineation blocks on the receiver. Appendix I and Appendix J both are timing simulations for the

Receiver. Appendix I depicts the state where the Receiver is still buffering ATM cells and has yet to start unloading valid data. Appendix J shows the state where the Receiver has buffered the required number of ATM cells and has begun unloading valid data from the ATM cell payloads.

These simulations are based on a loop back test configuration, where the input to the Transmitter is the

TDM data with the appropriate FMB and CLKA signals generated by the test logic described in

Section 9.9. The ATM cell output of the Transmitter is then connected to the input of the Receiver. The output of the Receiver was then checked against the input pattern and the required PCM highway timing to verify the design.

12.3 Closing Remarks

12.3.1 Why Implement a PBX to ATM UNI

The first question is why would one want to implement this type of interface. The first reason is while current telephony and data networks operate as separate entities, eventually the two will be unified into

95

a single ATM network. As shown in Section 4.1, only 21 of the normal 24 T1 channels can be supported in ATM over DS1, which is a loss in data bandwidth. However, the benefit from ATM is obtained because for ATM, the user is only paying for the actual bandwidth used. This is in contrast with standard time division multiplexing (TDM) over a leased T1 line where the user is paying for the entire

DS1 bandwidth whether or not they are actually using all or a fraction of the bandwidth. With ATM over DS1, in place of the unused channels/bandwidth, idle ATM cells are sent. These idle cells are necessary to maintain the connection data rate, but are filtered out at the first UNI to NNI interface and therefore do not occupy bandwidth in the ATM network.

Many people may ask why implement the ATM protocol, which is suppose to be very fast, running in the hundreds of megabits, over DS1 lines? There are two major reasons for implementing ATM over

DS 1 lines. The first is because of the enormous investment already made in DS1 lines. In order of ATM to be commercially accepted, it must be able to make use of the already existing physical network. The second reason is centered more on the educational and implementation benefits. Educationally, the basic underlying design and conceptual understanding of ATM is the same whether the line rate is 1.544Mbps

or 155Mbps. Also the actual construction of a board operating at 1.544Mbps is simpler than one running at 155Mbps, because of the routing and layout constraints due to cross talk and transmission line effects at higher speeds. Therefore, operating within the time constraints, ATM over DS lines is the perfect balance of educational and practical benefits.

12.3.2 The Future

Overall, I believe that true ATM to the desktop and homes is still some time away. What I allude to when I say "true" ATM can be shown by referring back to Figure 1, "Overall System Setup." Mentioned are two methods of using the ATM UNI developed.

One type of network is simply to use leased Ti lines and the standard Central Office (CO) switching.

While this method has the benefit of not requiring the purchasing of new switching equipment required for ATM cell switching, this network also does not use any of the advantages of ATM. Actually, in this method, line bandwidth is actually lost due to the presence of the ATM header bytes. If ATM was to be used in any one part of the network, it should start at the network backbone and then migrated to the

LAN and user interfaces.

The second type of network is what is considered as true ATM switching. In this network format, the

ATM UNI board developed is actually interfacing with an ATM network. The advantage of this network is now the ATM cells can be separately routed to their individual address locations. Another advantage is that only the bandwidth required is actually used. That is idle ATM cells are inserted to maintain the physical line data rate and can be removed by the ATM network. The freed bandwidth can then of course be reallocated. The one disadvantage of this network is the investment required to purchase and install the necessary ATM switching components.

While ATM is heralded as the unifying protocol for CBR and VBR data, I believe that these two data types will mostly remain sperate for sometime. Specifically, the telecommunications and data networks will remain independent entities until the ATM network has been well established. Many ATM issues such as quality of service, dynamic bandwidth allocation and latency must still be addressed before

ATM networks will be able to successfully handle both CBR and VBR data. Even with these issues solved, before ATM can be properly supported in a public network, the issue of billing must be resolved. However, the migration to ATM is inevitable. While technologies such as FDDI and 00Mbs switched ethernet maybe network stepping stones, the demand for even higher network speeds capable of handling voice, video and data indicates the underlying need for an ATM network.

96

Page

98

99

100

101

102

103.

104

Appendix A Transmitter Schematics

Schematics for Transmitter portion of PBX to ATM UNI.

Contents

MTS Interface, DataIn Register, DataInMux and Sequence Number Generator

Transmitter to FAU Interface, CSW Register and Data Out Register

Transmitter Load Side Addressing: Channel, Index and Buffer Blocks and Memory

Addressing Multiplexer

Transmitter Unload Side Addressing: Index, Channel and Buffer Blocks

Initialization blocks, System Synchronization blocks and Idle Cell Insertion Block

Transmitter FSM and Memory Selection Block

Test Blocks

97

98

J~

0 a)

99

-

2:

II

100

C o -

ID

0

t

I

:5

:

I

Lu

c:

C.

101

102 z

!i

J -)

C o

>4

M

-

v

-

0

-

0L

C 0

C

D

Fr. 0

I-

C

C

(

-

0

I

ZO,

ID a, Z

,4 0

L-1

103

104

9 rl

9 w

-< 9

C) -

C.

n n

= =1

11 ZO l'o,

0

1:

.1I

I

15

=1

C

9

1

2

L.,

Appendix B Receiver Schematics

Schematics for Receiver portion of PBX to ATM UNI.

Page

106

107

108

109

110

111

112

Contents

FAU Interface, Header Detection Block and Data In Register

Data Multiplexers, Channel Number Register, HEC Comparator

Load Side Memory Addressing: Index, Channel and Buffer Blocks

Unload Side Memory Addressing: Channel, Index and Buffer Blocks

MTS Interface, Data Out Register and Memory Addressing Multiplexer

Initialization Blocks and System Synchronization Block

Cell Delineation FSM, Receiver FSM and Memory Selection Block

105

106

.2- ci

.

nC

._ 'a

I C.,

1 I

II ;_:

2:

ID

0.

TIC

107

108

Io an fo

-0

I

:7 ll f

3

1.I

0

109

110

0,

CS

'L z

I-.

~

-

0,

C

C.

E

C zf

~

-C

11

(.)8

'S

2

I-I

IS

..j

-

0

111

112

Appendix C Board Layout

Physical connections and layout for the PBX to ATM UNI board.

Page

114

115

116

Contents

Transmitter FPGA, SRAM, EPROM and FPGA Programming EPROM

Receiver FPGA, SRAM and EPROM

ATM Board Layout

113

114

.I .

=

4 1 ' a

II

0

,A CT7CI8Z-35PC

= SRAH kx9S

-M

-M

W'

U5

,,4

-ZT

. I --..

I>

T

I

P-t.21

A~~~~~~~n

~

=0

Pfr. Jl4

Elw.IQ ftw..

_D~~~~~W

1) s}~~~~~~tn

9*

A

Lau

111

rz c Xi inx

389PGAl175-150

WO a

T-.

I

I I

I ri

M

El eOE

I

Y

UL

I L-

I

n

we

F-im"a

M

II mu.1

e

,)

FFmDii8

P WlmlC

Ln

'I it

I I

-- F,

A, r

-T

I:::T

I

_,a

M~

Y m at

R---m a, t

11

.1

.4-

.4IL aL

=L m we ia

U2 I

~~~~~I fli--.-----,--*

I.,.w

a

-

1' w- a

7 a-

+,-

-

,p a

S

7

AZ ft

:

:

27CS1Z a EPRON a H n--.AL 7

"'.

~

I~7

I~~~~~~')

M14 tZ

I

U

- 3 1 A

E

1

l

il

U -

I

· · ii

Ms -

|-

|-

I

I n.

~an , , d.j j j i'

Ftt~ .

~~

J .

,

27CS12 u EPROM

A4

Ia

I U3

AM mw

)) w,.,w a

1--m al

S.

I

I

I1-

),·-----

F-.lr

! _

I

C

* C fC-

66

G N

A s c iW Ic

5;

Ie

Et

11.Cl I=

5 d 3 2 1 *IIzl

I

--

1' : I

_X o

SRtC2X

S i. la

A!

P1

OLIe(I-

WBm.-ll huA..(lI b.D.LA.AAI

P!C

90

Y=

90

Hi'

19 iffC

90

V=

XJZ$ WM.

30,

SRI~

2(D$(PGA175-1S ~

U7 itti

WB

.

H

Ir-.pD.A..A

.

IEL.-9atzo1

P._

, mc

Lis

IG

JIG

Hls

_

9W.

£ 1

NS

GMJ

PmoA.JAL.(S)

2 u6A.

D/J >.-

""

, ,,

Nz nn

>t~

I O

. . _

..

_

_

.i

W1 ACU I

.

i I

I i-

'3

. l~~~~~~~~~~~~~~~~~~~~~~~~~~~

His

IEV7ROULAXz

1M ,

PPO..LAm(sl

Pr.3d(&

Prdd..&ddI)

CA

M.

Cs

Cs

Cs aW cis all

0;

Cs

07

C7

-dt-.(12

12 -

P_ . AM(I'

Pre 14

-1 w rS

- -- F nn

MllilYI

;,

_

__v

____

, ?

I' " I I I/

: 2 ,

1 , ill, I I'

I

N I I 2

'a L IA4 TCS5329AP-3!

Ild

.2 A4 SRAM

14 ASla|

U8 :=j Ar 7

0,

AS c

In 23l1

S All

LAI

|J ec1 I

I l t_ v.t b

31 _ i a >s 7<

I

_

1~~~~~~~~~~~~~~~~~~~~

9W 9 27 Att

~$ r

r

I t

.

"-

AS

Al uA3 27C512

6kx8

U us

[

900 t _ i

9W v-

2

_ _

_

I

-

._. ___ i

2A

,,

£A3

27CS12

4 EPROM

LA

AS

£1l ll

U

1

1

I II

I I I 1 1 2 tW 221

I I ol

115

O-,

C--,

00 co

-

LL

CD

116

.

L C) a, :D

CC

LUi

ZD m co

I a

I-q-

1C4/F2;

1C5/01;

1FF/80;

2C0/00;

2Cl/00;

2C2/02;

2C3/70;

2C4/F5;

2C5/01;

2FF/80;

3C0/00;

3C1/00;

3C2/02;

3C3/90;

CO/00;

CI/00;

C2/02;

C3/50;

C4/FB;

CS/01;

FF/80; lC0/00; iCi/00;

IC2/02;

1C3/60;

Appendix D Transmitter Initialize EPROM Contents

This is the data programmed into Transmitter Initialize EPROM:

Key: xxCO to XXC5 are the ATM cell header bytes and the initial SN byte.

xxFF is the CSW byte value. A CSW = 00 indicates an inactive channel and a CSW = 80 indicates an active channel.

aaaa/dd; is the address/data format. Both values are in hex.

3C4/DF;

3C5/01;

3FF/80;

4C0/00;

4C1/00;

4C2/02;

4C3/A0;

4C4/D6;

4C5/01;

4FF/80;

5C0/00;

5Cl/00;

5C2/02;

5C3/B0;

5C4/D1;

5C5/01;

5FF/80;

6C0/00;

6C1/00;

6C2/02;

6C3/D0;

6C4/C3;

6C5/01;

6FF/80;

7C0/00;

7C1/00;

7C2/02;

7C3/E0;

7C4/65;

7C5/01;

7FF/80;

8C0/00;

8C1/00;

8C2/02;

8C3/F0;

8C4/C5;

8C5/01;

8FF/80;

9C0/00;

9Cl/00;

9C2/03;

9C3/10;

9C4/97;

9C5/01;

9FF/80;

AC0/00;

AC1/00;

AC2/03;

AC3/20;

AC4/9E;

117

AC5/01;

AFF/80;

BCO/00;

BC1/00;

BC2/03;

BC3/30;

BC4/99;

BC5/01;

BFF/80;

EC5/01;

EFF/80;

FC0/00;

FCl/00;

FC2/03;

FC3/90;

FC4/AF;

FC5/01;

FFF/80; lOC0/00; lOCi/00;

10C2/03;

10C3/AO;

CCO/OO;

CCl/00;

CC2/03;

CC3/50;

CC4/8B;

CC5/01;

CFF/80;

DCO/00;

DC1/00;

DC2/03;

DC3/60;

DC4/82;

DC5/01;

DFF/80;

EC0/00;

EC1/00;

EC2/03;

EC3/70;

EC4/85;

O10C4/A6;

10C5/01;

1OFF/80;

11C0/00;

1iCi/00;

11C2/03;

118

11C3/B0;

11C4/A 1;

11C5/01;

11FF/80;

12C0/00;

12C1/00;

12C2/03;

12C3/D0;

12C4/B3;

12C5/01;

12FF/80;

13C0/00;

13C1/00;

13C2/03;

13C3/E0;

13C4/BA;

13C5/01;

13FF/80;

14C0/00;

14C1/00;

14C2/03;

14C3/F0;

14C4/B5;

14C5/01;

14FF/80;

1FC0/00;

1FC1/00;

1FC2100;

1FC3/01;

1FC4/52;

1FC5/6A;

1FC6/6A;

1FC7/6A;

1FC8/6A;

1FC9/6A;

1FCA/6A;

1FCB/6A;

1FCC/6A;

1FCD/6A;

1FCE/6A;

1FCF/6A;

1FD0/6A;

1FD1/6A;

1FD2/6A;

1FD3/6A;

1FD4/6A;

1FD5/6A; iFD6/6A;

1FD7/6A;

1FD8/6A;

1FD9/6A;

1FDA/6A;

1FDB/6A;

1FDC/6A;

1FDD/6A;

1FDE/6A;

1FDF/6A;

1FE0/6A;

1FE1/6A;

1FE2/6A;

1FE3/6A;

1FE4/6A;

1FE5/6A;

1FE6/6A;

1FE7/6A;

1FE8/6A;

1FE9/6A;

1FEA/6A;

1FEB/6A;

1FEC/6A;

1FED/6A;

1FEE/6A;

1FEF/6A;

1FF0/6A;

1FFl/6A;

1FF2/6A;

1FF3/6A;

1FF4/6A;

1FFF/80;

Appendix E Receiver Initialize EPROM Contents

This is the data programmed into the Receiver Initialize EPROM:

Key: xxFD is the address location for the initial Index Status Value.

xxFE is the address location for the initial Tail Pointer Value.

xxFF is the address location for the initial Head Pointer Value.

aaaa/dd; is the address/data format. Both values are in hex.

3FD/00;

03FE/00;

03FF/70;

07FD/00;

07FE/00;

07FF/70O;

OBFD/00;

OBFE/00;

OBFF/70;

OFFD/OO;

OFFE/00;

OFFF/70;

13FD/00;

13FE/00;

13FF/70;

17FD/00;

17FE/80;

17FF/70nO; lBFD/OO;

1BFE/80;

1BFF/70; lFFD/OO;

1FFE/80;

1FFF70;

23FD/00;

23FE/00;

23FFn70;

27FD/00;

27FE/80;

27FF/70;

2BFD/00;

2BFE/80;

2BFF/70;

2FFD/00;

2FFE/80;

2FFF/70;

33FD/00;

33FE/00;

33FF/70;

37FD/OO;

37FE/80;

37FFnO;

3BFD/OO;

3BFE/80;

3BFF/70;

3FFD/00;

3FFE/80;

3FFF/70nO;

43FD/00;

43FE/00;

43FFnO70;

47FD/00;

47FE180;

47FFn70;

4BFD/OO;

4BFE/80;

4BFF/70;

4FFD/OO;

4FFE/80;

4FFF/70;

53FD/00;

53FE100;

53FF/70;

57FD/00;

57FE/80;

57FF/70;

5BFD/OO;

5BFE/80;

5BFFn70;

5FFD/OO;

5FFE/80;

5FFF/70;

63FD/OO;

63FE/00;

63FFn0;

67FD/00;

67FE/80;

67FFn70;

6BFD/00;

6BFE/80;

6BFFI/70;

119

6FFD/00;

6FFE/80;

6FFF/70;

73FD/00;

73FE/00;

73FF/70;

77FD/00;

77FE/80;

77FF/70;

7BFD/00;

7BFE/80;

7BFF/70;

7FFD/00;

7FFE/80;

7FFF/70;

120

Appendix F Receiver HEC EPROM Contents

This is the data programmed into the Receiver HEC EPROM:

Key: aaaa/dd; is the address/data format. Both values are in hex.

12/9E;

13/99;

14/8C;

1S/8B;

16/80;

17/85;

18/A8;

19/AF;

1A/A6; lB/A1;

00/52;

01/E7;

02/EE;

03/E9;

04/FC;

5O/FB;

06/F2;

07/FS;

08/D8;

09/DF;

0A/D6;

OB/D 1;

OC/C4;

OD/C3;

0E/65;

OF/CS;

10/90;

11/97;

1C/B4;

1D/B3;

1E/BA; lF/BS;

121

122

Appendix G Transmitter Simulation

The timing simulation shown in this Appendix is for the Transmitter. Only time slots 27 and 31 are active.

Simulation Time Period

5700000- 6600000

5800000- 5860000

Page(s)

124

125-129

10760000- 11080000

10780000- 1083000

130-132

133-137

26770000 - 26830000 138-142

Simulation Description

Transition of StartToUnload signal

Transmission of Idle ATM Cells, StartToUnload =

0 and InsertIdle = 1

Overview of transmission of an ATM cell for channel 27

Beginning of the unloading for an ATM cell for channel 27

Insertion of an Idle ATM Cell, StartToUnload = 1 and InsertIdle = 1

123

124

/ /GOBARESE8 + + + - +'-- + 4.

+ + 4 +-

/FMB |

/CLKA

/Cl_OUT

/C256kOUT

XTRe

,

+

X

0

*

·

+

4.

+

.X0

.

· +

*

+ +

Idle

.

+,

+ + + ,

*

X4B .

· .

+

+

.

+ +

+

.

+

·

,

+

X4A

.

+

+

+

+ .

.

.

+ 4.

E

.

.

+ ata In OUT(8:0)

/Dead OUT

:aOutOUT(8:O) X6A XA4 +

+ + 4. , 4. ,

/FAUDataOUT|

/S(2:0) _ji

SP.AMAdd(12:0)

/NEPROMCS OUT

/NSRA.MCS OUT

/I$2857/T Ack

IS2857/FMBSync

57/TL BitCntEO7

/1S2857/SN-Byte *

/IS2057/MulxSell_

/

1

52857/MuxSelO

+

J4.

*

.

57/TUL -

357/TDataOutCE

+

.,. | ~ + +

'162857/CS;WSel

573920.0 5700600.0 5827280.0

4

4

+

4

'

|

4

+

4..

4 n

.

4

+

4

.

4

+ j

+

.

4

+ n

-

+

4.

5953960.0

4 +

4.

6080640.0

+ + +

6207320.0

|

6334000.0

4

.

+ + ·

4. 4

6460680.0 65873

4

+

//GLOBALRESETB ef ChValue(4:0)

/CLKA

/C1 OUT

/C256k OUT

/T Req

Value OUT(6:0) pCnt Value(3:0)

0

Insert Idle OUT , artToUnload

/MTS Ser;ai

OUT

In ata ZnOUT(8:0) taOut OUT (8:0) 6A .

'

.

,

+

+ +

+ *

_

+

+

4

+

+

,

+ 4 · + * + * + + + *

+ .

+ +

* *

/FAU Data OU

/5(2:0)

/Data3us'8:^)

SRAMAd-d(12:0)

/NEPROMCS OUT

/NSRAMCS OUT

4 x

0-- 1C

O x X

X6.X

+ +

/NS2AMRW 1 OUT

/IS2857/. Ack

IS2857/FM_ Sync

57/TL _BtCnrtQ7

/I52857/SN_Byte

/IS2857/MuxSell

*

2

.

+

.

-C

XX

XXX

+ ,

+

X0634

+

4

* * *

=

XX

.

4

.

57/TUL .noexEQ0

857/T DataOutC_

7/TL IndexCntLC4

/IS2857/CSW Se1

802000.0 5803200.0 5804400.0 5805600.0 5806800.0

Ttne (ns)

5808000.0 5809200.0 5810400.0 5811600.0 5812800.

125

/ / GLOBALRESETB ef_ChValue(4: O)

OF

.

+

/CLKA

/C1_OUT

/C256k OCT

+

+'

50

+

+

+

+ +

++ +

+

.

+Xll

+

+

4

+

+

+

+

+

+

+

+

+

12.

.

+

+

* +

/T Req

Value OCT (6:0) pCnt Value (3:0)

Insert Idle OUT

00 ,

00 .i

O +

+ artTotnload OUT

/MTSSerlal_In ata In OCT(8:0)

I

.

.

+

4'

4 '

+

/Dead TS OUT ta Out OUT(8:0)

_ _ arlty_ Error OUT

.,+

+ I+

.

+

4

+

' .

+

+

, +

'F

.+

+ +

.

~ ~ ~

+

,

+

.

+

+

+

*

4

+

' +

+

+

+

+

+

XiI

.*

+

4 '

+

+

+

* -

+- +

+

+01

+

.

+

4 '

.

+

.

*

1961

+'

,

+

+

+

+ + . .

+ + +

~ ~ ~ ~

:(

+

.+ I+ +i +i +.

+

+

+

+

*

+

+

+

/FAC Data OUT

.

+

+

+

+

+

+,

+

+

+

+

+

+

.i

+.

.

+

.+

+

+

,,

+

4

+

+

+ .

+

.

+

+

+

+

4.

+'

4 s

X2*

.-

X}

+

.

% I

_

/DataBus(8:0)

_SPtAMAdd(12:0)

/NE-PROMCSOUT

/NSPRAMCS OUT

/NSRAHR_ W OUT

/IS2857/T Ack

IS2857/FMBSync

57/TLBitCntEQ7

/IS2857/SNByte

/IIS2e85?/MuxSell

/IS2857/MuxSelO0

57/TUL IndexEQO lC34

+

1FC2 XXX

7L---+i

L+----F+

-F7 + + +

J

+l

.

. .1 +

7

,+ +.

.F

4'

IlC34 * +

+0934 ;FC4

·

1F+3

'"XXXX

·

IL 1+

_,

I· -

L+ + +

4.

_-

4'

+.

I+ ,

4'+

- I I---

F +---7+

7-7 · ·

--

+

+

F+7 -

_

+

4_

+

+ I .1 , +

+

.

F1---7

- ·

7/TL IndexCntLD

/IS2857/CSW Sel

5812260.0

·e .i.

5813720.0 5815180.0 5816640.0

Time (ns)

5818100.0 5819560.0

5821020.0 5822480.0

126

!/GLOBALRESETB ef (4:0) 1

.

, .

.

, 4

+ +

*

/C1 OUT

/C256k OUT a (6 ) 00 pCntValue(3:0) 0

Insert Idle OUT artToUnload OUT

/MTS_ Serial In

.

* * .

*

*

*

+ +

/Dead TS OUT ta_Out_OUT(8:0) X52

.

.

.

6A

/FAU Data OUT

/S(2:0)

/DataBus(8:0)

7SRASAdd(12:0)

/NEPROMCS OUT

/NSRAmCS OUTz

/1S2857/TAck

:52857/FMBSync

57/TLBltCntEQ7

/12857/SN Byte

/}S2857/MuxSel'

*

* 76X

A34 x. ..

.

.

3. F 5

.

.

,

.

, .

* *

.* *

.

..

*

.

| t

* * *

.

t *

*

.

.

2.

'

4 .6

*

5822480.0 5823940.0 5825400.0 5826860.0 5828320.0

Time(ns)

58297S0.0 5831240.0 5832700.0 5834160.0

127

128

:efChValue(4:0)

IS

+

+ 18+

+ +

~.6 .+ ~1_

6 /CLKA +

/C1OUT

/C256kOUT

+ + + + + +

-X6A

0

00

+

+

+

4

+ + + + + + + + +

+ + .

.ValueOUT(6:0)

,pCnt Value(3:0) 0 +

Insert Idle OUT t

·

+ t

+ _ _

+

.

+ + +

..

+ _ :ataInOUT(S:0)

165.

+

X4D9 +

+

/X.TSSerialIn

/DeadTSOUT

+ 165 + +

+ +

09;S

+ + + -.

+, 4 .

t. + t + .~ .

|

+

+

+

+ 2 +

/S(2:0)

1 +

/DataBus(8:0)

2

+ 1 + + + 4

T

2 +

/NEPROMCSOUT

/NSRAMR W OUT

IS2857/FMBSync

_ X~ -

+

.

~ ~

:57/TI BitCntEQ7

+ + +

..

+ 4

+

+ 4 + + 4 + 4 4

/1$2857/SByte 4

/1$2857/MuxSell

/1I2857/MuxSelO

57/TULIndexEQ0 t t + +

:857/TDataOutCE

_ +

_l25/S +

5834160.0 5835620.0

+, + +

· + t

5831080.0

+

+

+

+

.

+

+

5838540.0 5840000.0

Time(ns)

+

+

+

+

5841460.0

+

·

+ .

5842920.0

+ + +

+ + + +

5844380.0

//GLOBALRESETB ef ChValue(4:0)

/FMB

/CLKA

4 4 ,f /CLOUT

/C256kOUT

18I-9 - I:-9 : I -

/TReq

Value OUT(6:0)

+

4

I

4 4

4

4

4 4 t

+

4

4

4

4

4 t t

+

4,

4

1

+

4

4

4

4

.

4 t pCntValue(3:0)

00.

04

4

InsertIdleOUT t + 4 .

i + 4 4 4 artToUnloadOUT

/MTS Serial In ataInOUT(8:0)

/Dead TS OUT taOutOUT(8:0) arity_ErrorOUT

/FAU_DataOUT

/S(2:0)

4

4

X

4A

1-

'165

4

4 4

4

+

-. 4

4

4.

4 4 4 + + 4 4 4 4 4 4

X

..

_

I o

41 F%

_

.2

' ,

4

4 4

4.

4

/Dat&Bus(8:0)

SRA-HAdd(12:0)

4

4

4

4

4

4

4

/1S2857/T Ack

IS2857/F. Sync

57/TL BitCntEQ7

_1

4

/IS2857/MuxSell

/I$2857/MuxSelO

57/TULIndexEQO

857/TDataOutCE

1

J t

L

4

4~~ t

I l l t

4

.

4o

. .

4

.

Ib

4

I

4 4 4

_

7/TL IndexCntLD

4

/I$2e57/CSWSel

5844380.0 5845840.0

4 4

5847300.0

4 4 4 t

5848760.0 5850220.0

Time (ns)

4 4

5851680.0

4 4

5853140.0

4 ,

5854600.0

4, 4,

58560

129

//GLOBALRESETB

/FMB

+

/CLKA

/C1_OUT

/C256k OUT

*

/TReq

4.

_ValueOUT(6:0.)

BIA

4

.Cnt Value(3:0)

4

Insert Idle OUT

+

/MTS Serial In

4 4

+

4

@

+ 4. · +

65 0 0_708. 17

* ·

111

+

9

4

.

----

4 · ic 1E

I

4

+

4.

+

4.

.+

+

4

4

+

4+.

+

.

4 4*

+

+ +

4 +

4 +

+

+

4

+

+

4

+

4

+

+

/Dead TS OUT

:a Ou:_OUT(8:0)

I +

/S(2:0)

/DataBus(8:0)

+ + + + + + + + +

/NS AMCS OUT

/NSRAMtRWOT

/IS2857/T Ack+

1S2857/FM +

57/TL BitCntEQ7

.

4. .

4.

4

+

4. .

+

4I 4. .

4. 4. 4. 4' '

/1I$2857/MuxSell

+ + + +

357/T DataOutCE

7/TL IndexCntLD _

4

* + + 4

+

+ + + *

+

10761920.0 10775440.0 10788960.0 10802480.0 10816000.0 10829520.0 10843040.0 10856560.0

130

//GLOEALRESETB

(ef Chvalue(4:0)

, 44

/CLKA

/C256kOUT

/TReq

:Value 0T(6:0) ipCnt_Value(3:0)

4

4

4 4 4 4 4 * 4 4

4 .

4 * 4 4

.

.

4 4

10 5D 10 9 9 96 larityErrorOUT

O

.*

/S(2:0)

/DataBus(8:0)

1 1 1 1 1 1 .-

'_SRA._Add(12:0)

/NEPROMICS OUT .

_

· · · ·

9.

1

~

IV

.

9 16 Xoo. .

XO F

·

1 1 1

*

4 4 4

· *

Yr*

.

_ 4

F~

4

~

/NSMRA)-W OUT

/IS2857/TAck

'IS2851/'lBSync

157/TLBtCntEO7

.

/1$2857/MuxSell

/ IS2857/MuxSelO

!57/TULIndexEO0 i7/TL IndexCntLD

/IS2857/CSWSel

* .

4 4 .

4 .

4 4

10964720.0 10978240.0 10991760.0 11005280.0 11018800.0 11032320.0 11045840.0 11059360.0 11072880.C

Time(ns)

131

//GLOSBALRESETB

:ef ChValue(4:0)

4

/CLA

ICd OUT

/C2$6k O~T

/TReq

Value OUT6:) ipCnt Va (3:0) E

Insrt Idle OUT*

.artToUnload OUT

· 4

IMTSSerial*_n aa IrOUT (8:0)

E+

A

/Dead S OUT

,taOut _U(8:0) arity :ro*rOUT

0

.

·

* +

,

, , +

.

+ +

,

, +

.

.4

* + + ,

*

* + +

,

4 * * * 4 4 4 4

+

*

,

*

, · * ,

* *

*

*

*

+ *

*

+ .

*

(2:0)

/DazaBus (8: 0)

'_SRA Add(12:0)

EPROCSOUT*

/NSRK5CSOUT

/NSR_W OUT

/

'S285/T Ack

*IS2850/1_.BSync

:57/LBit._

/1S2857/SN Byte

/15I2857/MuxSell

.

.

4

.

4.

LCntQl

*

.

*

.

+ 4

,.

*

*

*

* *

* * *

I

*

:57/TULIndexEO0

:857/T

1/TLIndexCntLD ..

/ZS2851/CSW

Sl *

10856560.0 10870080.0

4 .

*

10883600.0 10897120.0 10910640.0

Tin (ns)

+ *

4

10924160.0 10931680.0 10951200.0 10964720.0

132

/

/GLOBALRESETB

?f!ChValue(4:0) Q5

/FMB

/CLKA

XFMB + + .

(. .

.

.

* * * .

09

+

/C256kOT.

TReq

Value_ OlT(6:0)

Cnt Value(3:0)

+

I .

t

·

+

· t

* I

.

t

*

+

·

I ·

·

+

* t rtToUnload OUT

J ta O T(8:0)

/DeadTSOCT

:aOutOT(8:0) lrlt. iriZrrr_OT

.

/FAUDataO0T

/S(2:0)

/ataBus(8:

, .

.

X

·

+

*

4

·

.

,

+ +

·

4

..

·

,

" .

".

·

+

".

·

*

.

X .

-

·

-

*

.

* '"

· ·

+

/NSRAMR W OUT

/152857/

4.

Ack

ZS2851/FMB Sync

57/TL BitCntEQ7

+ + 4 + + + + 4. .

+

'IS2857/MuxSell

/152857/MuxSelO

57/TL IndexEQO

357/T-OataOutCE

7/TL IndexCntLD

+ +

)767000.0 10768500.0 10770000.0

.+ + +

10771500.0

+ +

10773000.0

T rme (ns)

10774500.0

.

10776000.0 10777500.0 10779000.0

133

//GLOBALRES'ETB ef ChValue (4:0

9

+

*

-

+ *

-"l'

+ * + +

.

4

+ + * ataInOUTa(S:0)

/ead

/NAU Data OUT

--

+ +

+ +

+

+

+ + , +

.

· +

*

·

.

·

+

+

.

, + ,S + + + + t

+

+

857/T DataOutCE ..-

7/L IndexCnL+

/IS2857/CSw

10779000.0

Sel

10780500.0 10782000.0 10783500.0 10785000.0

Time (ns)

10786500.0 10788000.0 10789500.0

+

10791000.0

+

+

134

/ /GLOBALBESETB ef ChValue(4:0)

08 t

/FMB

/ L!CA

/CLKA

/C1 OU-

/C256k OOT

/T Req

Value_OUT(6:0)

.pCnt Value(3:0)

Insert Idle OUT artToUnload OCUT

GE 4.

/MTS Serla. In

,ata In OUT(8:0)

/Dead T$ OCT

.ta Out OUT(8:0)

_ _

-arlty _rrcr 0UT

/FAU Data OT

0D9

*

1' .

-

3 - .

4.

.

·

.

*

J

' l -

4.

X0C

*

X6

.

4.

-

+

.

+ *

.

.

t

_ J

*.

.

.

·.

+

4.

I

,Y0

*

/S(2: 0)

/DataBus (8:0)

-

--

.SRA1 Add(12:0)

""^-^"^' ^"~

; X2 -X3

,,

X X2:

/NSRAMCS OUT

/NSRAM W OUT l

1-

/152857/T ACk

IS2857/FM3 Sync

57/TLBltCni E07

/IS2857/SN Byte

/S2857/MuxSe!lI

/1S2857/MuxSeIO

:57/TCLIndexZQO

I ·-

857/T DataOutCE

*7/TL IndexCntLD

/IS2857/CSW Sel

10791000.0 jTh

10792500.0

4 k-

4I 4I

:+

9

*

·

4.

Li

---

---

I" .

.

.

' 5 ' , 106

4

'

4.'

--

4.

_

--

1

. .

*

L 1 t t

I

t

'LVL+ i L +

4

I 4.

*

4t

I

_

4_

I+ r

!

_

4.

.

4.

F

4

X

-

. - -

. L

_ Ir

.

.. + .

+

+ --

-

I

4. 4,

'~

10794000.0 10795500.0 10797000.0

Time(ns)

10798500.0 10800000.0 10801500.0 1080300:.

135

/ SETB f Chalue(4:o+

/ FMB

+ + 0F * * * + +

/TRe

_

_Value OUT(6:0)

Cnt Value(3:0) tnsert Idle OUT rtTonload 00

MlTS n taIn T(8:0) 6

+ *

* *

*

*

+

*

+

+

+

+

I

+

*

* +

*

+ +

+q

I

A6 +

+ t

+

+

+

+ +

+ + * *

+

/FAU Da:a_OCT

/S(2:0)

/Data3us (8:0) I 65

_SRAMAdd(12:0)

66D *10

/NEPROCS T+

5

XX~t~Z 4

4

2

+

1AX

076D 4 110<

00KxXz

X)4x

4

+ +

42

+

X 8604 1198 MXXX 4

.

/NSRA

/IS2857/T Ack

[S2857/FMB Sync

51/TL BitCntE07

/1$2857/SNByte

'IS2857/MuxSel1

'152857/1(uxSelO

57/T5L IndexEO0

357/T_DataOutCE

7/TL IndexCntLD

/IS2857/CSWSel+

)801500.0

+

10803000.0

+ 4

+

10804500.0

+

10806000.0

+ + +

10807500.0

Time (ns)

10809000.0

+ +

10810500.0 10812000.0

,

10813500.0

+

C

136

/ /GLOBALRESETB esf ChValue(4:0)

*

.

/CLKA _

/Cl OUT

/C256k OUT

/T_ q

Value OUT(6:0) pCnt Value (3:0)

Insert_IdleOUT artToUnload

/TSSer.alIn

OUT ataInOUT(8:0)

/Dead TS U

3A taOt ar:ty

OU-(6:) rror OUT

/FAU Data OUT

/S(2-O

'96

'2 I .

/DataBus(8:0)

SAY.Ad20 12:0)

/N9PRO.CS OUT

/NSRAZCS OUT

/NSRAMR W OUT

/ S 2857/T Ack

.

{9

.

+

.

XX406

..

*4

.

+

=

,

2- -I

+

,

,

*

.

...

,

*

*

* 3

.

.

+

*

.

4

.

X*

*

+

.

-2

.

.

4

.

7

.

+

*

+

+

+

.

·

+

.

1

I2857/TUL t9OutCE

Tam. (ns)

137

138

/ /GLOBALRESETB

+ efChValue(4:0)

+07

/FMB

+

+ t + t-

+

·

_\ \/

~

.

.

,

~ t

4

.

4 4

·

+

+

.

V-^t

A u

+

.

t

+

.

.

..

/CLKA

/C1_OUT

4.

/C256kOUT

/T Req

+

· +

+

-J19 4 -0 4 +

· + ·

, F

· +

X,5A

+

·

+ t

_

+

+

4 , .

+

+ +4 + + + + + ++ pCnt Value(3:0)

+

+- · ta Out OUT(8:0)

/FAUDataOUT

/DataBus(8:0)

'

4XXXX

6A + t

+ +

6

06P0F

+ +

+

/S(2:0)

+ + +

+

+

+

XX

+

· · ·

XXXXI t

/NSRAMRWOUT

/I$2857/TAck

+

I$2857/FMB_Sync

+,

_~,~o ·

+

,~

57/TLBitCntEQ7

+1xx

... +

+

.

..

+. + + + + + + tX+ +

+

+

+ + + t

+ X

! '+...

I...

.

+ V

.

+

+

®

_ _

4.

+ +

: +-+

+ +

4.

+ '

4. 4.

4

+ o + +

+_ + o

.4

4.

J

_. x

4

4.~

~~~ ~~ ~~~ ~~ ~ ~~~ ~~~ ~~~

.4

~~~~~~~~~~~~~~~~~

XXX +

4. .4 4

+

.

4.

·

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ r.

/I52857/MuxSell

/I$S2857/MuxSelO

57/TULIndexEQ0

857/TDataOutCE

7/TL IndexCntLD

/IS2857/CSW Sel

766720.0 26768160.0

26769600.0 26771040.0 26772480.0

Time(ns)

26773920.0 26775360.0 26776800.0

pCnt_ Value(3:0)

/C256)

/CLA

/01

//GLOBALR.ESETB

CValue(4:0)

*

°c

-

*

.

* *

+ C

*

/7TRec

1

Value UT (6:0) 00 * * * .

* * * *

* *

/9MSSerialIn ata In OT (8: )

/Dead TS

/S(2:0)

.2 Out ) X0C

.

*

X- 9

-r

* *

.

.00

-

+

* *

2X2 .

*

6 -

IC 00

*

/DataBus(8:0)

FG2

X- xi

SRAAdd (12:0) XX

.

*460

*

X0540

*

_

?C3 =XX.

.

x

*

/NEPPROMCS 0UT

/NSRA±ICS _00

/NSIRAMR W 0T

/IS2857/T

'IS2857/F?53

Ack

Sync

57/TLBitCntEQ7

/IS2857/SN Byte

*

_7/TIndexCn , .

.

*. , .

, .

,

/IS2857/CSW Sel

26776800.0

*

26778240.0 26779680.0

.

4

26781120.0

4 4

26782560.0

Time (ns)

4

26784000.0

4

26785440.0 26786880.0 26788320.0

139

//GLOBALRESETB

/CLKA

/C1 OUT

/F0l3 +

/C256k_ OUT

/T Req

Value_OUT(6:0) X00 pCnt Value(3:0) X

Insert Idle OUT artToUnload

_

OUT

/MTSSerialIn ata In OUT(8:0)

/Dead TS OUT

1 taOut_ OUT(8:0) arity rro- _OUT

/FAUDataOUT

/S(2:0)

/DetaBus(8:o0)

SRAMAdd(12:0)

/NEPROMCS OUT

1i

X X

+ +

+

-

+

+ t

'-

XXX *06

X165

*

*

+ + +

*

+ 4

X *

24 2. .4

FCS

+ +

+ +

+

.

+

+ f.

.

X..A6

XX

XXY4K

.

6

,X--

.

.

C5. .

*

/NSRAMR W OUT

/IS2857/T Ack

IS2857/Ft_ Sync

57/TL BtCntEQ7

/IS2857/SN Byte

.

r

/IS2857/MuxSelO

57/TULIndexEQO

857/T DataOutCE

7/TL IndexCntLD

/IS2857/CSW

26788320.0

Sel

+

26789760.0

.

.

26791200.0

.

+

26792640.0

+ +

26794080.0

Tlme (ns)

+ +

26795520.0

+ .

26796960.0

.

.

26798400.0

+ .

26799840.0

+

+ aX

140

ef ChValue(4;0) .

0 .. .

/CLKA

/C1_OOT

/C256kOCT

/T Req

Vale- oT(6:0) 00 pCnt Value(3:0)

. _ . _ _ .,.

.artTo~nload OUT

·

.+ +

+ eta In OT.

OUT ta_ 0 : (8:0) arity ror O

X6A

*

.

+

*

+ + .

* *

/S(2:0)

/Data3us(8:0) t

2

0860

/NEPROMCSCSOT

/NSRAMCSOUT

*

+ z16

/I52857/TAck

IS2857/Fl Sync

57/TL_: tC.ntZ.7

_ t e

/IS2857/MuxSei

/IS2857/MuxSelO

57/TULIndex00

-857/T DataOutCZ

.*

.

+

*

16

.

+

+ .

*X12 + *

·

*

'

*

+

*

+ +

+

.

+ +

*

.

+

,

...

*

*

199

+

*

*

+

+

.

+2 ..

26799840.0 26801280.0 26802720.0 26804160.0 26805600.0

Time (ns)

26807040.0 26808480.0 26809920.0 26811360.0

141

142 ef_ChValue(4:0)

/FMB

/CLKA

12

I"'t

+

.

q t

@

_.

,

+

+

, -t

~+

+ +

4

+

+

4

+

+

X13+

+

14

4

+

.4

+ t

+

.4

+

+

.4 t t

+

15+

+4+

_

/C256k OUT

/T Req insertIdleOUT

-q .4 + + .4 4 .4 ata In OUT( :0) ta_OutOUT(8:0) arity Error OUT

/FAUData_OUT

/S(2:0)

19E + +4 +4 +4 165+ + + + + J +

+

+ 2 X

.4 .4 .4.. .

.

.- · X6.!

-

I

+ +

1. -- .

-.

.Xx:x

.

+

~,

/DataBus(8:0)

_SRAMAdd(12:0)

/NEPROMCS OUT

/NSRAMCS OUT

1 +

.4

99

/NSRAMRWOUT

F4

.4 .4 .4

.

.

ti .

1

.

..

.4

..

.

..

_ . .

.

4

-

·

4

I '

/I$2857/T Ack

IS2857/FtSync

5'/TLBitCntEQ7

.4 .

.

.

+ .

.4

+. 1.

~~~~+

=4 l

.

+

.4 1

.

.4

+

1. · *

4 t

+

+

.

.

I

.

4 -4 .4 .

4 tI

+ + +

+ 1. 4 + + .

1 + +

.+

/1$2857/SN Byte

/I52857/MuxSell

/1$2857/MuxSelO

57/TULIndexEQ0

857/TDataOutCE

7/TL IndexCntLD

/IS2857/CSWSel

26811360.0

%

~ ~~~~ ~ ~ ~ ~

_

~ ~ ~~~~~~~~~~~~~~~~

26812800.0O 26814240.0 26815680.0 26811120. 0 26818560.0 26820000.0 26821440.0

lpll*·P·---··la------------

Appendix H Receiver Cell Delineation Simulation

The timing simulation shown in this Appendix is for the Cell Delineation Function of the Receiver. The input pattern for the Cell Delineation is the output pattern generated from the Transmitter simulation.

Only time slots 27 and 31 are active.

Simulation Time Period

11560000- 11660000

11850000- 11920000

11560000- 11660000

Pages

144-148

149-152

153-157

Simulation Description

Portion of the beginning of a normal cell delineation of an ATM cell for channel 31

End of the cell delineation for the above ATM cell for channel 31

Portion of the beginning of a cell delineation for a channel 31 ATM cell with leading zeros

143

· 4

U' .~~~~,

U'I,

Li

0

U'

0

-~ o

44 -~~~~~~~~~~~~~~~~~~~~~~~.

~

,- · CD ( 4," ,,~ t- C co

0

44

+ o

C)

,,I

10

0

0

,

10

,~ 4,',

4

H

4 4

~

C-

4

C) C) i

04

C)

~~~~~~~~~~~~~~~~~

4-4

+ +

'+ ,4-

-t.

4,-

00

+ +

+ ,

,, ,,

+0

4

"1

0

+

+ +~ H- C

+ 4 4 4

C

4

0+ 0

,

144

0

-'-

0

0

+

0

0

0

+! a, tD s o

's

CD n

N

)

0C

I

0

0.

C

N

I.

0

0

~~~~~~n

CD (1'

CQ _ CD

CD N

C

CD

CD

(t

CD rn

CD rr

N

CD C

CD

O

UD m

.

.

N.

-~~~~ I z

-c

= 0

<4

.

N

J

Ir

C ~ 0

3.

I )

N C

NC

-

Q

D NC

CD N.

3-

X r

N)

o

.C 1 -2

O.

Cl

0

-

C)

0

CDa j

C

I 0

C) .

~

+I 4. 4. ,I- 4. 4.4+

4. 4. ' 4. .

+ ++ 4. +

+ +' +-

4. 4. 4. ,+4. ,.

+

4+ + +4 .

.4 4. .

4 .

.

.

4. 4. 4. 4. 4. .

4. 4

4' I

0 co

0

.+

4,+ o

0

O

+ o

0

+-

+

+.

+p

0

0 a,

0

I+

+. 4.

I I

I

-

4.

+1

I I I

I I

+

-I-

4

4.

4. 4. 4. 4. 4. 4.~~,

145

I,-.4

C) (

o

9.4 lo o

% 0 e·

O .

I~~~~ an

0- 0) n o

0

4

0 0 n

4

0]

4

0~~~~

4

0 + 1

4 4 4 4

4

4

4t

4

O

4

4t

4

4t

4

_ 0

0

0 a C

4t

+

4

4

4

4

4

4

_

4

+0/

.0

0l

+ -

~4 +

0

7D

0 r

.-

V>

-.

.).

~ ~

01

70 I

O

,,

I r '

4 14 14

C)

0

4

4t

0

N

0

00;

0

4

++

4-

0

N

N

U0 '

0

0

+

+

4 o

0

I

.

I

+ + .

[

4

+.+_

4

4

4

4

4 4

o

G

, e t-

0 0

0 0

*. t' ti

( I-

0

I

0 ~~~~~~~~~~~1 '

-~~~~,

+

146

tD

N

...

C

-1

..

Q1 I ::

N

4.. n m o. a

U) C~~~~~~~~~~~~~~~~..

U

C~~~~~~~C

1

0 wo(

<

0

.

C

CD c CD

C

N

+.

+

+ o o

4> 4.4 <U

CD o

(D

~

0

Ut o

U( C ' n o' o rV ~ ~ ~

C CD C)

~ o) C

H. o

Y

(~~~~~D

I

CD

D

D

CD

N2

CD

C)

C)

CD

C

· ·

C1 1~C

('! rr1

D CD

¢

> to

_ _

C4

CD

\

DJ

CL

..

.

C.)

O '

-

C..

.Z

.

.

+ + + +

l ' ...

.

-'

)

Ci rr

CD

-W

N

I n

N

N

C' lC t

C)

< v

CD O D

-: z. C

:s

M .

-) -. -J bC

CDs

4.

EC

3

C)

-.

I

C'

U!

C

W3 a

C.

I

I I I+ .4 4I.

I o w .J

Z

N I

C ir' C tO

C

-

O'

(. t' l

C) F3nYc r=

CD

XO .0

C'

.

4. 4. c e a

C

I (, I q.

C)

5

>

4

I a3,

+"

+.

+

I -t

4.

t-

.f

+4

++

+ I +f

+

+

I

L +

1 if

+

*' I, 4. o

CD

C..-

+

+ +

.

4 +1

..

N a.,

N

0

0

,,p

.,I-

+

+ +

C

+

+ +

+

N

C'I

C'~

I

+,,

+.

+ 4. 4.

+.

+~

++

+.

+1+

+

,I 4. 4. 4- + , .

+ 4.+

+

.,:

+

+~

-+ +I.

+

4. 4. .4+ 4 + 4

4. 4

.

+ + c

.

.

.

4

+ i

+

I-

, .

.I

I

I

4-

4. 4 4. 4.4

LI'

147

cC.'

Fs

CD

0

3 N

+

(a w

0

.' co

+

+

4.

4.

0

0

.' a

I.'

I a.'

I. I

O, CD

NC o NC

I

+

X

0 v

0.

~o w

C,

0 +

+

0 t +

0 a,

U

0

.

I+

/ o .

0

0 "t' 0

(D li

"

(D

+

~

I~

~

4/'4 o

CD

-

C

('a

~

~ o o

C xt~i

-

C.

CD

CD)co

+D

I-

CD)

+

) I

-

CD

+

W

CD

' C cr C

148

I

C-

C'-

C

C

-. f~~~

D

4-~~~ 'C, 'N. 'Ci

a0

-

C"

C

(J

I

C o

I

C

C

C

.

..

0

CD

C

-

C)

)

C

4-

_ .C

N.

C/) m

'

C t

C.'

I_

° -r

I

Cn

4 N

O

C;

O

) C)

IC x

< z; m t) o. o

Z : n)

C x'

_

=

C

C>

C.

C e'

C

C) rr

C

Li o'> ,

0> o

)

0

'C

C

>0 _

C

>

.

n ) _

N

~

> C) C) 'C C C r rr .

~3

O

.C .

.

.

.

.

.

I

11 I.

I

I

I

I"

4.4.

+ I i+

+

+

+

+

I

+ + -.

¢<

C

-:

N

C

I t,

C

C

A

.-

I

I

!

I)

C)

^i w

C

<

0

.

I.

I

+t

I

'C : 4

C I

4-

0

Fs c

+

¢.

-o

C o

-

'

C

I

N

0

.

C)

C

C

C

C

.

Q

*-

C

C

U

IC

01 c

3~

-

C)

+

c--'4

U)~~~~~c'

~~~C4

F-

+

1 t

4.4.4.4.4.4.4* t'

14.4.4.~~~~

+

.

.

,

4-

=

C

(X

+-

+ 4

+-

I

I i

L;1

C

(C

C

N

+

.

+

+

+

4. 4. 4. 4.

4 4

~ t~~i a,

0

0

0m

C i

.. I + + :04U)~~~

4. 4. 4. 4. 4. 4

0

0

0

0

2

C

-C)

0 a

0 m

I

I

.

.1

+

I l

I

+ .

.

fi

I

.

I 4.

c

+

I

*F

4. i .

4 .

4

149

o ra co

0

33 C'

N a3

_

0

*0

~

O

CD1

+ +

-.

U vs

-. HI

L n O

0D

O oI0

CD

) xD

CD

+

'a

0

SD i

C)

U'

O'

Z D

Z ) O

D3

CD

C VI C

CD CD C)

0D ti

.

h~~~~~~~

.

D ii

D

D

C

M

CJ

°

I C

CD

C

W

O

D

0

CD r f

+

Ct

I

--

Sl

'

).

-a

L, a3

.

I u-

C)0C)

I

I

L~~~~~~~~I

I<

-

DI

Cf

>

C)

N

0

'

·

-

0

"I

I

I4 w

U'

-a

-

0 r

' e

I

I

CD

0

F

N

U'

-.-

I x

I

0 x

W

H

-

C

CD

;

C

0

C rr W

Di

X Cx (D I

C

0

-

0

D

0D C

CD 0 a"

4

4

+4+

+

4 4 + + 4 + 4

-+

+4+

+

F^-

0 6 + + c

* + I a, + -I.

0

+ 4

+

4 4

4 4 4 + + +

+

CD

~g

..,I-.

0

+4+

I

-

Co

+

I.

I

)

,+I

1E c

+

+

,_ w

0

0

]

I

I -

4

+I

I

+I

I0

+[

[S

I+

|

4 4 4 + 4

[

[E

+

4

+

,

150

0

0

0 ao

0

0 co a)

0 o co

C)

ID

I -

N4 co c0 a

0

+ oD

3

<1

0

Z

(D x

X'

Jo a

DI l<

4

0

Z tv

(D

CD

a n

l

-

%

CD

C o

-

O o wD

O.

?-1 oD r t' n)

I

Oi

-

Di

-

CD

41

-

Di

.

fD

0

N

O a

CD

CD t-

>

0

I

N CD

C

O

0

C

CD

0 r?

W

H rT

CD

Di

3

;.

-.

Cli

0S

F

,

I

C)

Di

C4 a D

N

0

'-

I

Q.

Di _

.D s

-

.-.

-

0

-

0

I-

I +4+

+ +

1 i + + + 4- i +

'~~~~~~ 4

:

4- +

+~l +

4- 4-

+4- 4- 4- * 4~

I

1 4

'C

D

1 m¶

0 i a

C r e

C 0 i m o

H3 -J

I

) l<

C ° o s

I u I o a.] < o F3 ~ ~

4

4-

4-

+

+.

+-

4 4- 4- 4 4- 4-

+I

I

T + tD 0

,0 a,

(-0n

~

+ ,i +

4- +

N

0

0

I"

44- +

K7

+

+ a) a)

0

0

0 co

ID

0 a

0

0

I I

4

+

+

I

4-

+

+

++-

4 +

+

+ +

+

lI

4-

:-

4-

+

+ 4- 4- 4 4-~

~

4i-

+

+ c

T

4~

:

.

t

151

152

9.

-3

.0

.0

6

0

0

0

N

10

ID

0

-.

0

+

CD co

0

0 a, +

+

+

0

C,.

N

_ b

+

10

,II co

(D

'.0 _

(D

~~~

-

I o

~~~~~~~~~- co' p~~~ o ~~~~00

CD a,

' 1 + 1 + 1+ +

I

ij

! I I

CD 0 o 0

CD

0

La Cy

0 m~we- cm

CD p

DC)

Ft

'.0 o

I

+ II

0 w

'0

-

C) p

~.1.11.

p.

~~~~~~~~~~~~~~~~

-

I0

~

C

D t N

C

Di

I 'II II II

~

I 1

U c

D C

·

9-

-.1 r m

0

M.xC 0 0

~

9-~~~~~LI

E

+ * . 4

I+-+ + +

+ + + + + 4. 4 +I +

·

~~~~~~~~~~~~

+

4.

+ +

4. 4.

+

I

4.

I

I

+

4.

I

4.

. +

+

4

+

1 1 I

I I

+ + +

4. 4.

I

4.

I

+

I I

4" '"1

I

+ + I

.

4.

+1 t -+I1++

I I I I

+

+

I+

4.

4.

+

--

4.

+t+

I

+ I t

4.

4.- 4

I+ 4. ' 4.

4.

4.

+

4.

4.+ + + 4.

4.

4. ' 4 .I 4. 4.

4.'

4.

4

+

4

++

+ ++

4. 4 -

4.

4. +'

L,

4+ I+ 'I

4.

,

-

4.

4.

4.

-I

4.

.

4.

4. +

4.

.

+

+ I+ +l l+ +

+ ++

I-

+I

I

I I

II

I I

I

I I I l Y

I I

I

I

I

!

I

.

I

I

I

I

I !

I

I

I I

I I

I

I

II

I l I

I

I

I

I

I

I

I

I

I I I

I I I

I I I

1

I

II

I

I

I .-- I

C

0

0

">

CN co o

>.,

0 a

m

H

CD

Cj +

I+.

0

L

H

VI0

0

A.

+

0

0

PI

+I.

+

+ f

+

4.

I

:

0

LI)

'LI n

++

+

+

z

~0

C) a n

+

0

'es

++

H

4

I 4

I+

N. N.

U>

H O O W..

2

O

(

O

*N.

N

0)

71

O t: o tD

71(

0/ -x~

-

:::

.

I

O tD r-

H

<'

1 t: (?

D

U'

O

D (D r m rXt 5 (

0. 0.O

0 3)

CD r s fD CD I m > t -

· 4. + h2

N.

I

C) t- rr

0

'w t)

O

_-3 i

C rt

N.

H

C) v o

I

>

0.

Q t

_

I

C)

<

0}

H

C:

(

<

-

-

C

I r

(I.

N

0O

+

IV gD

>

FH

Y

717Q:

0

*-

N

C)

2

( a, h

?!

I O

C

X

I

O

C

3

; m i t0 p- y

(

N rC

-.2

m

C

C

+

C;

O tW r

CD

0 t

C

0

0

.+4

N.

4.

4

+

4. +

+

4.

+

+.

+

+

+ t + +

+

.

I

.+

4

++ t t

II

7-

I

.

t

+

+

+

4.

+g+

+

4.- +

'-,

D

.1

0

Z.

+

+

+

+.

+ 4.

+.

I

+

4. ' + 4

+ +.

+. +

+

4. + +

+ +

C) U

+ + +

4.+4

4.

I

(0

+

0

0 0

+

:

4.

4.

4.

++

+

+

+

4.

4.

+

+

+.

+

4.

+

+

X-

7.

4. 4.

+

+

+

4.4

0

N)

0 co +

4.

++ + + I

+C

4.

+ 4.

(.7

(0

0o

0

+ 4.

+ 4.

+,. +

+ + +.

+

+ + + +.

+

+1

+

+ li

+ +.

I. + +

+

4-

4.

I I I

'l

153

.

0

0 o

C'

U'

0

In 0.

),-I (D o

~,.

O

O I

C p, I

O .

X

CDo

0

F

9.3

a,

0

O

I.

9-

.

.

+

.

I- v o

1.

I

+ bv

Y

0

0.

+.

+

4

4.

la

2; iO

<

4.

L '

0 w.

Cn

::

.-

0

C FS m

I

CD

C' rt

)

.

DI

-c/I

LI

-

C..

0

+ t

4.

4.

+

I

0

++

0

0o

4.

+.

4." +

4.

+

+

0

CO + co

4.+t

+.

++

+

+9

+

I+

9-., t30 0, o v +

+9

I+ 4.

4 + fa

+

+

.

<- o

u}

CD (D t

.9

9

I

~~~~~~~~~

5: 0

~

I-

F

,t ,t

z

9o

4. i + +

+

~

.

+

+

Dy r

0 CD , .

.

* I

+ 4.

.

0 I I 0 Ii

9.3~

~

0

+

+ +

+

+

+

+. .9

LI

90 Cl

~ w rts

0 3i

.9. +

~

+ + +

+ r

+

9

+

+

-9+

+

+

+

+

+

+.

+

+

.

+ t

N

+~

O9 + +

+

+

.9

+ +

-+

J

0

II I

+

9

+

-

( D

C ^- C 3. W y D3 r

*9 9

4 +

+.

+ +

9 *9

9.

.9.

+

+

+

+

+9 o

ID oC

0

4t

I+ i

+

I++

4. +

4

I+

4. 4

+

+ + + +

+

+

4

4W

+

+

+

+ 9

+

.

9. -9.

4

9. -9. + -

9.

+

+

+

+

+ 9

+0

9.

4

+

+ +

+9.

+ ++

+. .+.

+

.9 +

+.

4

+ i + + 9 + 4 4 + .9 .

.. + + + +

4.,

10

I +

+

+ .

4. 1 4. + +1

*l.

+. + + .4

+ +E 4. \ 4 + 4 +4 + 4. 4 + 4. 4. 4. .

4.

154

O

.6. o o

-4

N.

0.

-

D

C)

(C

H

-)

N

0 r', +

0

0

CD

.6 a,

I-N

0

CD

N-

)

P x

<

0

PI r-

N.

(n z

O rC

CO

N t m w

O bn

0

0

> z

0D CD

Z 0 0. h

C) N (D (C

N I) IY

}., i

<s

</D

La

La o o w

(l CCD

(r e

(C

Cr

(CD

O

Cr

(C rC

(C

0

Cr tD cr

P4

3

0.

+ 0

CD t rF

<a

O

.

N

r tZ 0

_~

C

P4 > tD

_.

N

_-

6

0 0

4.

N

C

_~

-<

0

CDN

> r iC)H

N ti

0

N

| r

C o

I

CD

..

I t-

0

.-

-

CD

0

0 rt p)

-

H@

P-

<

¢ tD

N a)

U r-

C

VrD. 0 N

C)

E

-

+ + _ + + + + + 3 +.

.

4ll

I

I

.6

C3

0

+ _ + + + + + +- + + + + 4 +

E +

+ + +

+

+

+ + + + +

+

+ 4 +

"I a,

I+

+

C

9 +I r3 I

I

_

C

-

0 i oD +I

0

+

4-

+ + + +

4

+-

+

4 +1

+

+

+

4- -

+ +

+-

+

1.

+ + +

4

4- 4. 4

4

4-+

4

+

"I

0I.

4- 4. 4.

;

+l + 1+1 1+1 4- 4. 4-

4.

0

0

+ 4- 4. 4. + 1+1 4- I .

.

4 1+ 4-1 4.+ +

+

-

+

., l 4. .

4. 4. 4

N

; I I+

4.

4.

4-

I+ +. .

.

.

.4 4 4 4 4 4.1 4..111

0

0

I I

N)

0

0 al

I+

+

I + +

I

I

I

4-4+. +|| 4- 4. 4. 4- 4. 4. 4. 4.

155

156

CDC:

0

+ c.c

N ol w

+ f

0

0

4.

0

0

I.,

C:7 o o

I a,2 a,

10a

0 t.

o w.

CD

C o

* o

X

O CD

I

X

C'

C o

C

0

0.

, r .

,

I

CD

4Z

C)

4 c'

V> en

4

4 l

4

0

+.

+(

+F i+i

+

+E + g ct

> o 0.

W) c-

4 4

4+

4

4

.F

+ +

+

+

+

+ i+

++

'

5 o

.

Cl

0

N a

'0 w

-O U-r i 0

(D

CD

.

I

0. i<

1- o

-r

I :L

.

.

*

I

C

C

0

( .

0~ l

D

D o

CD

FL 04-C E

L

U~~~~~~~~~~~~~~~~~'~'

+ + + + + + + + + +

+ + +

+

4 4

4+ 4

4

4 4

+ 4

+ 4 .

I.

4

4

4 4 4

4

4 4

4

+-

+ 4

4

4

4

4 -+ +

4

4

~~ ~~ ~~ ~~ ~~ ~~4

~~~~

+

+

-4.

+

4

.+.

4~~~~~~~~~~~~~~~~~~~~~~.%.

~~~~~~4

+ 4 + jl

+ .

4

4 .4

4- .4 .4-4

4-

U'

4

4~~~~~~~i

4i

' c-

I+ I+

I +

I4

1

-I i

I

!

O oc-

D

+

01

I

CD

CD.

*0

CD PI o

N ,.

D

I + o~~~~~~

N Z °

(.2 C

3

4

Z:

:N

CD CD

LC LCD -

CD

C.t) rr

C)

N

C )

Nt

N

C)

1

'N

0

0 o

I

::

CD

CD

C

CD

ES

(D

CD

(I CD

4

CD

80

CD

w

0

It

CDw

C'

+ 4

.++

+

-

<'

01

3

=I

L)

I

DI r4.

"D

(..

0 r

I-

N

_

I

C: i

C<

DI

>

C

C

.

C

CD

0

0 m-

CD

45

,5 )

C

I

C

-3

I

.-3 c

0) t)

,

C

I

0

I

01

0

LI w

C)

ID l<

(D

0

0

I0

'-.

a

I

CDN

C)

+

1-1

+ 4.

+

4 I

-,

I

+I

+

C+ + a

4.

+ 4

4 4+

+

.

++

4- .

I 4.

+

4.

]

]

+

(DN) + +

O

4. 4.

,.

+ +

+ +

+ +

.

4.

+ 4. + 4

+ 4. .

4

L 1

14.1

4 ++

4.

4.

4S 4

.

4 4

7

4. 4

+ I

4.

If +

4. +

I.

F

+

I

35 +

I +

I

*

J[

4

+

4. 4 7

157

158

Appendix I Receiver Simulation: Loading Data

The timing simulation shown in this Appendix is for the Receiver. Only time slots 27 and 21 are active.

Simulation Time Period

11590000 - 11650000

11870000 - 11890000

Pages

160-174

175-178

Simulation Description

Beginning of a reception of an ATM cell for channel 31

Unloading of data has not started

End of the ATM cell shown above

159

160

-

.ue j:u)

/RReq

+

IFMB

1)7.-

/CL-A

/FAU_Data OOT

·

/RLDeadByteO0

/r$503/RL_BitCntQ7

/FAGData MUxOCT(8:0)

+

/SNRegCE

· ------·

/ray oa

1TI)

-

+

+

}6A

+

.

/OverRun

/UnderRun

/NewBuffer

-

.

.4 + * *

*

---

---

*

*r

_

I

*

_ _ _ t

.I

c

* + * * *

I

*

· ·

- -

. F.

.

+

/RULNFirte

-. + .

+

*

.

* .

* * * ·

· 0

/$tarnTo;nload

/RData Out OCT (8:0)

/Par¥tyOZror

/MTr_Data _OT

/RLActveCh

/RUL_ Ac:tve _Ch

/RULChValue(4:0)

.0

*

/15503/Skip

/13503/RL-Error

.

.

+

.

·

+

*

,

+

..

+ ·

.

+

+

+

.

·

+

.

+

+

*

*

.

*

+

4

/Control_5tate (3:0)

/R_SRA4 Add(14:0)

/SRAM DataBus (8:0) ,.

*-'- .

·

.

.

+

.

.

.

.

* *-].i

.

.(

.

-.

/15503/EPRC4Sel

/NEPROtMCS

/NSRAM.C$

/SRAMRW .

/NSRAMOE

/I5503/RAck

C t C

/I503/RtndexSel_5

/15503/RIndexSel1SO

/15G3/SPAMAddSeiSl

/1S303/RVLTPRegCE

/t$503/SlAMAddS-i_50

/1$503/SRAMData InSl

/13503/SRAM Data InSO

/13503//RL_IPRqCE

4

*

4

I

4

*

4 4

/1$503/RLTPReqCE

/1S503/RULIndexiReqCE

/IS03/RLIndexCntC£

/13503/RULHPReqCE

/

1

$503/RDOaaReOutCE

11594960.0 11595480.0

4 4

4

11596000.0

4 4

.4

4

4

.

t

4

4

.

.

.O

.

4 4

11596520.0

4 4

Time~ns)

11597040.0

.4

.4

.4

.

+ .

.

.

. . . . . . * . . .

.

.+

_ _. _ _ _

~-

..

* * . . . . ...

4 a a

.4

.4

4

4

.4

4

4

4

.4

.4

.4

4 .4

4

11597560.0

4 4

11598080.0

4 4

11598600.0

4

2 +

/RReq

{Fwt +

/FA ODataOOT

/RLDeadBytEQO

/IS503/RLBitCntEQ7

/FAOData

C

Mux _OBT (8:)

/C256kOCUT

SA·

.

16A +

/SNRegCE

/Payload

/IdleCell

/Ove.rRun

/Vnde:Run

/NeBuf f.

/I$503/RLIndex.Q46

/RL :Fistirme

/RU -,l? r.t-.,

1T

I · r

4

4

.

+ * a

.

/ F.-S~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ _ _

· -. + .

+

/C:,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*

, +

· .

· · ·

-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

·

.

I -*

.4 .

4

.

.4 4

-

.

*

+ *

.i

=

+

4

*

=

--

·I

* r r

+

*

* r -Il

+-,

=

+

C

--

+

,,

_ _

----- --r

I /Statol:r.load

_- , _~1

H/ L A

/Paritvtror

-----

/MTS5DacaCUT

--

000

----

/RL_Active_Ch

/RCL_AcveCh

/RULChVaIue(4:0) A

/15503/Skip

-- -- '--

/i55U/P.L ro:

/m

__I t t_ .

:

I

) I

/RSRAMAdd(14: fSR~5~aBua

0)

(8:0)XX

XXX-

/13503/EPRCt4_-Sl

/IEPRCIMCS

/NSR."{CS

I5RAKR_W

INSPAMOE

/IS503/RAck

/15503/RIndexSel_

/05503/R rndexSe1S0

/15503/SRAMAddS1_51

/15503/RUL.tPReqCE

.

FL

_ _ · .

· · .+ 4.

*- +

J

· · * + · i

1,.

+

+

+

* .

+ = r

_ _ _

,.

I

.

_ _

I

_

.

_

-

_ _ _

; ;-;

~* .

h

* 68O * .XX Mr·.4

-_

I

4

_ * o s

L

~~.

_

1 '

_ _ _ _

* -(061.4.

61

_ _

__

_ _

.

..

_

. I JIJI I -

.

- .

,

_ _ _

LLVTh

zzLilTh

w

.

-1

cxx

_

.

_

= r

*

* r r

*

* r

--

*

* r

+

+

*

*

+

*

* r

* r r

/I$S03/SRAtM_Data_

13$503/SADat_Ia_SO

1.51

/11503/RLHPReqCt

/I5503/RL_PReqCE

/I5503/ROUL_Ind.xRegCE

/13503/RL_ ndexCntCE

/15503/RILHPReqCE

/1I503/R_DataR.qOutCE

11598600.0 11599120.0

I_ r

11599640.0 11600160.0

Time (n)

11600680.0 11601200.0 !1601720.0 r r

11602240.0

r r r r

+

-

+

* r

+r

----

.k

+

.

=

.1

161

162

'SuterOelta Value(3:0)

/FMS

/FMB

8 a a a

.

a

+ a a

+ a

· a;-aI a

.

a a a

/FAU_Data_ OUT

/RL_DeadByteEQO

/15503/R PBitCatEQ7

/FAD Data Mux OUT (8:0)

/C256kOUT

/SNRegCE

/Payload

/Idle_Cell

/OverRun

/UnderRun

/Newauffer

/I5S03/RLIndexEQ46

/RL lFirstTime

6A *

.

.

·

* a

+

.l a

.

.

+1 a

*

* .

.

* .

a a a a

* * a I

* *

/In[%

/StarTonload

/R_Data_OutOCT (8:0)

/Paritytrror

/MTSData_OUT

/RL Ac:ve_Ch

* · *

+

. .

X v

*

*

*

+ a a a

+

+

.

a.

* +

.

a a aq a _ a-a'a a a

*

*

.

a

.

-

+

.

*

** *

+

*

*

*

* .

*

*

.. .

.. .. r

t ......

~.

*

*

*

.

* a a

+

+

* a a

+

, .

.

a a

+ a

+

+

_ _ _ a

* * * .

*- * .

. . . . . ...

a a a a a a a a~~~~~

* * * a a

/RtLChVaiue(4:0)

/

1 5

5

0 3

/Skip

/15503/PRLError

/ControiState(3:0)

/RSRAM_Add(14:0)

/SRA_ DataBus (8:0)

S/15503/EPROMSel

/NEPROMCS

/NSRAMCS

/SRAMR W

/NSRAMOE

/1503/RAck

/25503/RIndexSel_$5

/25503/RIndxSel_SO r

/IS503/RAMAddSe.lS

/I1503/RULTPRqCE

/15S03/SRAMAddSeIS_0

/1503/SRAM.DataInS1

/1503/SRAM Data In SO a

/1503/RL_HPR.qCE

/15503/RL_.TPRgeqCE

/5503/RL_lndexaReqCE

/15503/RLrIndexCntCE

/13503/RUL_HPRe.qCE

/13503/RDataReqOutCE

11602240.0

AE a

· a a

*

· · a .

* ..... X

· ·

X

7*9 * *X3 * *

· a a a a a a a a a a XO XO: 4O Xz

.

* .

.

..

.

I

.

.

·

.

.

.

.

.

.

.

.

.

.

*

.

.

.

*

, i

.

.

.

.

.

.

.

.

· .

*

.

.

.

.

.

.

.

.

.

.

.

.

.

.

·

.

..

.

.

.

a a

.

X

~

' a * 3 a

11603280.0 a a a

11603800.0 a

.

a

.

Time(ns)

4320 a

.

a

604 a a

· a a a a a a

.

· a .

11605880.0 11606400.0

a a

'Sut:er_etaValuei $ ) 2

/R_Req

/ FLMB

/CLCA

/FAU_ODtaC

* *

2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I

*

.

* * .

., +

__

IiI

.

C

* · *

/FADatau.O(:0) 00

SMReqC +

/_dle4Cll verRun

/nde r9un

/Nevuf fec

.

+

,

/RL i:n O-e

.i e

,

*

+

* c

I r r r

* r

*

* r

+ r

--

-r

=

-

--Y

=

C .

C C C C

/RAData out

-/Par_

OUT(S:0) 0

1ty4 0For

+

/

/RL Active_Cb

OLActiveCh ,

/i1503/LEror

/RP_:Add ( 14: 0

/SRAk_DaBuss (8:0)

/I3503/EPROMI Sl

/NEPR+ CS

INSRAIC3

/SRAMR W

' +

*

+ r r

·r =

Iz

/I$503iR

/5503/RXadxSl_

Ack

/15503/PIndeaS-3

/15503/SRM_AddSelsl

/13503/RUL_PRaqCZ

/15503/SPAk6AddS1_S0

/05S03/SRAO6DataI3_5

/13503/SRAM Data In So

/

/13503/RLHPRqCE

/13503/RLTPR.gCE

$503/RUL_-Id.ReqCZ

/13503/RL. nd.xCntC

/I5503/ROtLHPRqCE

/15503/RDtalRqoutC.

11606400.0

+ +

,

.

=

.

.

·

.

a

.

.

,

--

.

*

*

*

*

*

· -X

X7fD

* XICI

+

__

I

, _ w._

_

__

_ ___________

11607440.0 11601960.0

T .

(n.)

11608480.0 11609000.0

11609520.0

___

11610040.0

I

163

'6ut~erDeiaVaue(3:)

/R_Req

/P _NFrstTi-e

'/RUILNirLstiCe

·

/Init

/$tartToUnload

/R-OData-Ou oT(e:o0)

/ParityEr:or

^I

0

/"-

/rA_Data _OOT

/

/RLDeadByteEQ0

/I5503/RLBitCntEQ7

IFAUaOstMux OUT(8:0)

7 _00

.

/C256kOUT

/SNReqCE ,

/Payload

/Idle Cell

/OverRun

/Unde Run

/Newufer

.

/I5503/RL_.ndexEQ46

00

*

+

, *

,

,

~ ~

"

*

.

*

* r

+ i

I

+

+

*

*

=

*

+ t

+

*

* r

+

* · + + + +

4

.

+ + ' +

+

+ ., .

.

+ *,, .

+ .

,,

J"-~Fu · F--: ·F'".---l l--'

-f--

: t

*

+

*

·

I r

+

*

*

·

*

+

4'

I

+

-

.

7

+

+

.

+

/RL_ActiveCh

/RULActiveCh

/ Z,

~i.r

·

.

·-- ·-- ·-- -

/

.

/Conrol _State(3 :0)

/R_5RM.Add(14:0)

/SRAM_Data_BBu(8:0)

""'^'

/X;

/NEPRCetCS

/NSRAMCS

·---·- · ·

.

XXX xx: .

=

* r *

=

+

--y

*

· ·.

.

* .

.

*i * +

+

3ZB2

.

.

X7BCD .

Xi

-- i o-x

~XZ

--oo x

~-

_J 4 I .

* * LL

=

=

21 r

+

.

..

+

+ r

*i. '·

*

.

.

~ ~ r

+

+

*

.

.

*

*

·

/NSRMOE .

/ISS03/R_Ack

/I$503lR_ndexSel1 ,

/I03/R3IndxSP5qC

/X503/SRARAddSelSO · I

*

*

+

+ r r

*

+ r

*

* r *

+ +

* r *

* r r

·

·

L

/15503/RLdPRqCE

S * * * *

.

r

*

.

* r

.

I

.

·

I

.

--

- - r

--

*

*

*

* t

*

+

·

+

*

~p

/1503/P.LIndxCnCE

/15503/RacL_HPReqCa

/t503/R_ taeqOutCE

11610040.0

.

11610560.0

.

+

11611080.0

+ +

11611600.0

Time(ns)

.

11612120.0 11612640.0 11613160.0 11613680.0

164

165

wSutter-De~ta -Va~ue(: ) } , .

~

'

/CLKA

/TAUDatatouT

/RL_DeadByteEQO

/15503/RLi_BtCntEQ7

/FAUData Mux orT8:0)

/C256kOUT

/SNRegCE .

/Payload .

3

II

.

/IdleC.1

/OverRun

/UnderRun.

/N.eBuffer

.

· · e

.

/15503/RLIndexEQ46

/R9LFirstTime

/RUONjr$%Time

Ilrut~

· *

·

I.

1·~~] fe~

* *

( o

=

.

·

I

/SarToOnoad o.^o"t~

/ParityE:or

,a

.

.

.

o

4.

.

4.

4,.

4.

4.

.,

*

L

* * *

* r

+ * r r

* *

C t

*

-

,-I

--

/RLActive~Ch

/RUL Active Cb

/RL_ChVLue(4: 0). .

/I1503/Skip

/I1503/RL Error

/C.otrlStat.(3:0)

/R AOAdd(14:0) ____

.

.

+

.

* 2.

X4FE .

I

+ 4 4

/I1503/EPROtCSel

/NEPROCS

/NSRAMCS

/SRMW

/NSRAMOE

/13503/RAck

/13503/RIndea3-1_ .

.

/I1503/R_IndRxSel_

* .

.

*

*

*3D

.

+

I

.

.

a a 4 a a

166

/13503/R.LT PR.qCE4.

/13503/R R_ HRt.qoitCE

..

11617840.0

.

;1618360.0

.

*

1161880.0

I

I

* a

I

I

11619400.0

Time(nr)

11619920.0 11620440.0 11620960.0 11621480.0

'sazerD~t._au(J: U) 2 *a a

/c-RlA

/FAO DataOCT

/RL.DeadByteEQO

/rs503/RLBiCntEQ7

/FA0 Data Oux OCT (8:0)

/C256kCOT

/SNReqCE

/Payload

I i1

,_A--

.LF'

.

*

*

/0dleCell

/Ove rRun

/UnderRun

·

·

/New.ufer

/13503/RL_Z ndexEQ46

/RL!rFir$nTlie

·

·

*

· .

*

+ *

.

.

1V_,

-* *e3 , * + *

.

*

+ + .

* + .

e

=

-, .

, , e · .

e

* * ,., .

*

.

.

* .

* *

.

.

· + .e

+ e

..

* +

.

+ e

.

, , .

,

.

e

.

.

.

*

.

.

· +

*. .

* *.

.

~

.

~,

.

* *

, +

/Inlt

/5tao0nload

/?artyEror

/MTS_Data_O0CT

/RL_ActveCh

/RGL_Ac:iveCh

/RULChValue (4:0)

/15503/Skip

/I$503/RL_Eror

/Control_Stte

/RSRAMAdd(14:0)

(3:0)

/SRAMData_Bua (8:0)

/1S503/EPRCK_3el

/NEPRCtSCS

/NSRAMCS

/SAMRW

/NSPAME

/I$503/R_Ack

/$503/R_ndexTel1S

/15$03/RlndexSel_SO

/15503/S8_Add.SlS1

/I3503/RUL_TPReqCE

/2$503/SRAAddSlSO

/Z$s3 /SRMADaCtan_S

/I 35$3/RArData&_:

/I$S03/RLHPReqCE

/13503/RL_TPLReqCE

SO

/13503/ROtL_lndexRe.qCE

/03503/RL_ndexCntCE

/1S3503/ROL HPReqCE

/l0503/RDtaRqOOutCE

11621480.0

· s

.

..'

.~~~~~~~~~~~~~~~~~~~

,. .

.

.

.

.

.

.

.

.

.

'i~~~~~~~~~

, .

* .

.xx * .

.

.

'

:1622000.0

·

-.

.

,

.

. -

.

.

.

.

i.

·

.0 .

,

, .

+ ,

.

.

·

+ ,e

,+

~

· .e

*

.

.

.

· s

·

..

·

.

+ .

+ .

11622520.0

.

i

.e

·

.

.

!1623040.0

· *

.

.

.

* *

.

.

11623560.0

·

,,.

.

.

.

.

.

.

.

.

.

.

.

.

· .

e

, * ,

.

,

.

·

*

· *·

.

.

.

*

, +

+

,e

.

.

. ....

,,

. . ..

.

..

+ .

.

.

.

.

. ..

.

.

-t .

.

.

.

*

11624080.0

·.

·

.

* .*

11624600.0

·

,. ·.

11625120.0

·

--

167

168

~tue3:U)^2

+

+ +

*

.

+

+ * *

+

-- *

+

* *

+

*

+ *

/FM3

/CLYA

/FAU Data OIT

.

/RLeadByteEO0O

/15503/RL_BitCntEQ7

·(0B.$

/FAU Mux _OT (8:0)

/C2S 6k Ot

4

/SNReqCE

/Payload

/ldl1e_

C e l

)

I

/OverRun

/CnderRun

/NewBuffer

/1i503/RL_lndexEQ46

/RLNFi rstTime

/RL NFlrhcTime

/lni:.

/StarDTo0nload

/RCData Out01

/ParityError

(T8:0)

300

*

.

4

4

+

4

*

5

/MT5_Data OUT *

/RSL ActiveCh 4

2 4 1r 4

/RUL ActiveCh *

/ROL ChValue (4 4

/15503/Skip -

/15503/RL_Error;

/Control_tate(3:0) ..

/RSRAMAdd(14:0)

/SRAO Data Bus

/1I503/EPRO5el.1

/NEPFROMCS

/NSRMCS

(3C occ

/SRAA4 H

/NSRAMOE

/15503/R_Ack

/t:503/RA IndexS._ 51S

SO /I5353/RndexSl_

/S503/SRAMAddSeISl

+

4

*

.

*

4

4

*+'

4

I

*

*

T T

*

I

4

+

+

I c

*

4

4

'

.

X3. .

X3. - X5 -

.X0

0 *

L*il

]z

*

XX6

00 02:

I

+

+

+ r

*

* r

*

+

I

. XI I

+ r

* r r r r

+

L

C

I

* r

* r

___1_

+ c r r

*

+ t r

+

+

+ r

*

L

*

+

*

*

*

* t r

*

· r

+

+

/5503/SRAM

/503/SR

AddS_.

MData~{n

SO

$1

/15503/SRAMData -nSO

/1503/RL_HPReqCe

/1S503/RLTPR.egCE

+

/15503/RUL_ nde.xRe.qCE

/15503/RLIndexCntCE

/15503/RUL HPReqC

/15503/RA tR tC.

11625120.0 11625640.0 11626160.0

*

11626680.0

Time (ns)

*

11627200.0

--

*

11627720.0 r r

+ c r r r

* r

11628240.0 11628760.0

*

--

'OulrrDla aau(3u

/R-Req

{

*

*

-_~

*a

*

,

4'+'

*

-

*

·

- -j

.

-

* I. .

+

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...

.

* * *

~

_

.

/CLKA

/FADDataOOT

/RLDead8yteQ0O

/FA

/!S503/;LBitC£tEQ7

Dac Mux corT(80)

·

.

+

+ * .

* .

* .

+ ,

/C256kCOOT

/SNRegCE

1 .

0

.

r

4. + .... .

.

$. .

.

.

/Payload

/IdleCell

.

/OverRun

.

.

+ .

.

/Unde:Run

* *

/New.Buffe r

/I5$503/RLi.rdexEQ46

RL_ -,,F rst

.

+ · ·.

.

* * (2K .$.

/RtrbLNFirstTime

/Init

/SatrtTonload

/R_Data_ OutOOT(8 :0) iParity Error

/.tT Daca_ 00T

/RLActi ve_Ch

/R;UL_Active Ch

/RGL CVal ue (4 0)

* *

.

,;

*

/15503/Skip

$ + * + r

.

+

.

.

+

.

.

.

..

·

.

*

+

.

.

+ -

........

*

.

*

+

.

+

*

.$

4.

.

*

.

s.

·

.

.

· +

*

.

.

,

*+

.

t.

*

.

~ ~

.

.

.

......

.

·. .

-*

.

.

C-

.

~ $ .

* + + · ·

X

· .

·

+

+i

+

.

.

.

+

,

..

/15503/RL-E:ror

/Cotrol$stace (3:0)

,

F-el_

/R.SRANAdd (14:0)

/5AtData_8&zs

/IS503/EFRCeSl

.

ao .

· .

/Nt59)2405

.

....... *

. .

$ $

*

.

.

/5RA2W

1NSRAOE

/15503/R_Ack

/15503/R ldexSel1SI

/13503/Rlade.S]. 50

/15503/5SRANAddSe-151

/15503/RtL_TRqCE

/I$503/5RAMAddSeS_50

/15503/SRAMDataIn_51

/IS03/SRAl RDatatnSO

/5503/RLHPR.qCE

/15503/RLTPReqCE

/T5503/9RLIndeaReqCE

/15503/R9Lnd.xCntCE

/15503/R7LHPRe.qCE

/13503/RODataR.qOutCE

11628760.0

·

*

*

11629280.0

..

* .

11629800.0

.

* *

.

.

11630320.0

T)i. ()

*

.

.

.

.

L .

.

.

.

.

.

.

..... _

.

.

~ .

, .

.

.

11630840.0

.

.

* *

* * * -*

.

_. ... .

.

*

11631360.0

*

*

*

.

I

11631880.0

.

.

· .

.

11632400.0

1*

$

169

Sutt:'£ eita-V ue':O) 2 *

/A + , ,

*

/RReq .

+ +

*

*

*

*

NeBff.

/15503/RL_BntdEQ7 v .

...

.|*

* *

* *

* + *

*

/RauO_ tSt

T (8: 0) 000

[--

.

* + * 7'- ** * *

/RLCeae(40)

/35503/Skip

3

_ .

*

.

4 *

*

*

*

.

/NEPRC.CS

/NSRASICS

/ 503/taToI.

5. ndee+ e

.

+

+ k

+

--.

*

+

+

.

+

+

+

.

+

.

+

+

.

+

.

+

*

,

*

170

/I503/5PAMAddSeIS044 ndeu

_

.

-

4

+ + , , +

/+

.

.

9 2 .

* 1

.

.

·

03/

.

.

*l3 C Q

+

.

1 6

.

*

C

~

..

.

t 3

.

.

4 0 0

, .

, .

1 6 5 0 .

* ,

1 3 5 0 0

.

1 6 6 4

.

+

' /1303/RDaca iqO t 0 * ' * * ' * 4

.

'0+zterDeltaVaue<.iu)

IS./ .V

R ReqD'i

;,

I

.

..

.

+J .)

/FAU_Dat.

/FY.3

/_-

/CLl.A

OUT

/PLDeadB3yteEQO

/r$503/RLsitcntEQ7

/FAU Data .YuxOOT(8:0)

¥

/C256k OUT

/5NReqCE

.

-

/Payload

/IdleCell

/Ove Run

4,

/UnderRun

/NewSuffer

/IS503/RL_ndexEQ46 f/L_FirstTl-e

/RtLNFist.i.e

*

*

.

.-

*1 .

*

.

.......

, 4

* -

* ·

4

*

*

*

4 '

* r

J

4

C

"

*

* *

*

I -

.. .

* * *

+

" · *'

_

4,

/Rfaa

/Sta rTonload

Out OlT(8:0)

/PartyE:ror

/MTS Dat. _OUT t .

+ 1 * +

RL_ ActwveCh

/RLActveCh

/P.ULChValue(4:0)

/15503/Skip

/I5C3/RL-Error

/Control Stata (3:0)

/R SRM_Add (14:0)

/SRAM Dat.aSu. (8:0)

/15503/ZPRdCSel

/?IEPROMCS

/N5RPAMCS

/ St.-.R_W

/NSRAMOE

/I$503/RAck

/13503/RlIndexSelSl

/I$503/RIndexSeisO

.

.. .

/ .

*

.

. - .

.

.

.

.~~~~~~~

* r

.

.

.

.

.

.

.

.

.

*

.

.

~

·

.

.

.

*

*

*"

.

*

.

.

...

.

.

.

.

* .

.

.

.

.

.

.

.

t

.

.

.

.

.

.

.

r

*

*

*

*

*

..

*.

.

·.

*

[.

.

r

X · .

. . .

.

·

.

·

.

, ..

.

,, .. .

.

.

.

,. ,.

.

.

.

.

.

.

, .

.

.

* .

.

o .

.,

.

.

.

.

.

.

.

.

.

[ .

.

..

4 .

.

.

.

.

.

.

+ .

.

.

+ .

.

.

.

* .

.

.'

.

.

.

.

.

..

+ * .

.

.

.

. .

.. . [ .

* .

+ .

....... *- *· -t=t

+

;

/ISS503/SPAM-AddSel51

/I5503/RULTPfReqCE

/13S03/SRAMAddSe

/13503/SRAOts

150 c Sinl

~~~~~~~~

·

...........-....

.

.

.

.

.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * . . + .

/15503/SRAMDt-InSO

/ISS03/RLHPReqCt

/I3503/RLTPReqCE

/15503/RULn.eFReqCE

/15503/RLItnd..xCntCE

/I5503/RL_HPReqCE

/I5503/R _DtaReqOutE

11636040.0

., *

11636560.0 11637080.0 11637600.0

Tie( 1

.

11638120.0

.

11638640.0 11639!60.0 11639680.0

171

172

'Buter.Deta

IS.RRe

-Vaiue(2:tu)

/FAU_DataDOT

/CLfKA

2

2

.

.J0

9

.

,

/RRKA

/ FMS .

.

,

/RL_DeadByteEQO

/1503/RL_BitCntEQ7

/FA0_Data Mux OUT(8:0)

/C256kOUT

/SNRegCE

/Payload

/Idle_Cell

A

I *

=: =

= r z

/OverRun

/InderRun

/NewBuffer

/I$t5503/RLIndexEQ46

/RL_ FiratTimre

/RULNFirati..

*

, · --

:

*

*

* c

/StatToUnload

/RDataOutOOT(8:0)

/Parity__rror

/MTS DataOUT

000

/RLAclvCh

/RL_Active_Ch

*

/ROLChValue(4:0)

/15503/Skip

05

/15503/RLError

/ControlState(.3:0

/RSRAMAdd(14:0)

/SRAM Data Bus (8:)

/IS503/EPROMS.l

/NEFROC5

INSRAMCS

XXXX

XXX

/SRAMRW

/NSPAMO0E

/15503/RAck

/I5503/Rtndexc.l_51

/I503/RIIndexS.150

/5503/RAMAddSeIS1

/$3503/RULTPR.qCE

/155035RAM_AddS.I_S0

/503/SPAMDataInSI

/35S03SPAHD.A t.60 tSO

/I35503RLPReqcz

/15503/RLTRqCEZ

/1S503/ROL_IndexRPqCE

S/15503/RLU. d.CntCE

/TIS03/ROL_HPReqCE i

=

* i

=

,-

*

z

I_

*

__

.

*

* r

*

*

*

+

*

*

+

*

*

.

t

* c r r

*

= r

* --

.*

+

* a

+

+

1,

· a

I

+ r

+ a

+

·

+

*t* n

~ a

,,

.

, .

_. .

-·-

.

+

·

*

*

*,

.,.....

.

.

I

__ a

1-

,i , ,

·

, , + r

+

+

·

. .

·

..

a a

+

*

*

· a

+

*

+

*

*

,

*

.

.

a a

+

+

·

, ,

·

+

,

,

.- .

*

.

. + ,

____ a a a

*

I

+

+

·

.

I

+

.

.

+ +

I

· , * .

, * , + + · r r

+ .

i + .

.

+ , , *

,- +

*

+

* c

+ f

+

I-

*

.,,+

,,

+

+

+

+

.

.i

.,

+

·

. +

1-

+

.

EF

+

.

+

*

+ .,

,

*~

,~~~~~~

:

*

, , ~.

X,

+

.

,

Z

.

_ _ _

.

,

., :',.

.

.

F- .

.

.

.

.,

.

. , '.

... I-lr-aa

.

..

.+ + .

.

.

,,,

.

*

+

·

_-

+

+

G .

,+ .'~

11642800.0 11643320.0

11639680.0 11640200.0

11640720.0 11641240.0

Time(nsl

11641760.0 11642280.0

'Sur:er-et.ahVaLue(':0)

/RReq .

2'

* .

* * · + *

/CLOA

/FAO ODta .C

/RLDeadSyteEQO

/I$503/RLBitCnE ,

/FAO_DataMux OUT(8:0)

/C256kCT

/SReqCE

/Payload

/Idle_Cell

.

~

TS&A

.

.

/OverRun

/UnderRun

/NewBuffer

/1S503/1.'ndexE246

,'RL IFir.t.ime

/PLNFir-c-ie

.

/I$taTronload

,,

/RDltaOU

A._ ___ -t OT(ts:u)

-'-on

---

-

/In-

/Party _Error

/"TS Oata_OT

/RL_Act ,ve_Ch

.

/RUL Ac-tive Ch

/RU~ ChValue (4: .16

+

/1503/P.L_Error

/CoteolSate .(3:0)

/RSRAMAdd(14:0)

/$.A)%&BUa(8:0}

/15503/EPRSel1

_

/NEPACC5 nr-,e_

/NSRAMC

6 ,

CXX .

*

* r t

·I

* *

*

I

C

*

+

.

*

* t t

·

*

/ NS RA 3 .

/15503/j_Ack

/25503/RIndexSel1

/25$03/R lndexS 1_50

/5S03/$RAiAddSel_51

/I$503/RT PRqCE

.

.

/3503/SRAMAddSe_

/1S503/SRADataIn_51 S

50

, o

/13503/SRA DataIn50

/1I503/RL_RPReqCE

/r5503/RLTPR.qCE

/15503/RLIndexRe.qCE

.

.

+ .

,

/1S503/RLfndexCtC

/1$5503/ROL_ HPR.qCE .

/13503/R_OtagRqOutCZ

11643320.0 11643840.0 11644360.0

.

t t

* ·I *

*

.

_ _ _ _

.

·

·

11644880.0 11645400.0

Time (n)

--

* C

C

5 0

_ _ _ _ t4. 4.au 47, 4 40 4 0

.

*

.~

~

.

.

_

.

* X .

*

I

_

* *

_ _ _ _ _

*I. * I * 74

_

LJ -

_ _

.

_.

[1645920.0

L2V·

11646440.0

I

ThI

* I .

11646960.0 11647480.0

173

174

.~~~~

* *

I

'5utt ita e

/ Req

/FMB

/CL.A

/FA-Dat aOUT

/RLOeadByteEQO

2

/15503/RLBitCntEQ7

/FA_.Data

/C-56k_OGT

/SNReqCE

165

* * * *

+

-P--:

' * ' * '

-% I

+ + + * + .

+ + +

* * + * , +

X~.

+ +

.t.

_

+

+

/Payload

/Idie Cell

/OverRun

/UnderRun

/NewBuffer

/5503/RLI.dexLQ46

0 L *

* .

*

*

*

* *

*

*

+

*

.d.

*

*

+

.

*

*

.

.

+ * d. + +

* *

+

+ +

* * t .

/RL NEirCtTime

/In :

/StarTonload

/RData OutOIT (8

/Parltyrror

/MTS_DaCa_OCT

/RLAc ie_Ch

/RULActa ve_Ch

0

=

* * .

* r

~.

~.

*

.

.

*

.

.

.

+

, ,

<.

.

+ , .

.

·

.

.

+ + .

*

.

~

+ * d

+

.

*

,

+

+

.

d *

.

.

.

*

.

.+

*

+

+

.

+ +~~~~~~~~.

+

* I

07

/I5503/Skp

/15503/Lrror

/ControlState(3:0)

----

S =

/R15RAK_Add (14 :0)

/RA5. DaC&aBus (8 :0)

XXXX

__

XXX -

J

/15S03/PRC64 Sel

_- _-

/NEPRCtICS

/NISRAkRCS

--- -

* .

---

+ c

+

*

-

+~~~~~~~4

----

*

+ t

+

/SRASRW

/NSMOE

/I5503/R_Ack

/I$03/RlndexSel$51

+

~.

+ +

.

.

+

X~

.

~

*

+

.

..

,

*

.

* .

.

.

_ _

X-

_- _- _-

X3

- .

· ·

' X " t rX2D .

Y,--

X.

XXOlA

C

I-

_~~~~~~~~~~~~~

I I -

· I· .

· ·· · · · - I_ F

---

. .

.

I ·

I

_

/1I503/RnldexSel_50

/I35503/RAMAdd5eI5

/05503/ROLTPRegCZ

/I$S03/SRA) Add$e1_50

+

/5503/$RADtOaa In_$1

/1503/SRAM_Data

/15503/PL

_nSO

HPRegCE

/ISS03/LTP~eqCE

/I503/ROLIndexRegC[ r

*

L

/I503/RL_IndexCntC

/13503/RUOLHPRqCE

/IS503/RDacaReqOutCE

11647480.0

'

*- L

11648000.0 11648520.0

* r

*

* * r

*

*

---

----

-- ---

.

.

1.

.

.

.

I.

...

11649040.0

Time(ns )

11649560.0 11650080.0

.

I .

.

.

.

. L

- -F----L

- *r

11650600.0 11651k20.0

''u e De ira--Valu .

.' .

(

5 : 0

) ~

/RReq

.

/F

/CLK

.

.

/FAU_DataOUT

/RL

_ leadyeEQ

~ ~ ~~~

+

~~L.-

.+

*

_ /I5503/RLBitCntQ7

/FAUDataux_OUT(8:D)

/CZ5 6kOlT

~

·

-- 1A * *

_ _ _

+

/SNRegCE

/Payload

.

*

.

*

.

*

-=-

.

.

.

+ r

~

-

.

.

.

.

~

_____

*

, 4,

.

,

.

*

'

~

.

.

.

.

.NSP.....

/r5503/R-Ack

/I$~O3/R -IndexSel$1s

/1503/RAIndexSe0S

S~tS03SSAdd~elS

, .

.

/1SS03lRV'L-T?R

/13503/SAdd

/135$3/SRA^M_D-t._I._Sl.

/13503/RMDstr

/13503/RL_HPR.,qCE

/1503/RL_T gCE

Re C

.

..

.

.

g

+

·

.

.

.

.

.

.

.E.

.

.

*

*

*

*

***

.

.

*+

.

*

G

.

* *

+

+

.

.

.

*

-- 7- L-

*

_

+

*

·

*

* t

*

.

+.

*

*

+

_

+

*

+

* **

+

*

*

*

/Ove rRuan

/UnderRun

/NewBuffer I·.~fr

/I5503/RL_:ndexEQ46

/ RLS~ist-+ i ,

/T3t

/5t~r-T.C.lo.d

/IN=

4:l,

/R_DataOut

/Pary

CUT(S:0) r-or

/YF.'S Da. aG UT

/R.L A~ti-eCh

.

/RUL_Ac£ive_Ch

/R5L_ChVale

.

.

(4:0) ) F )

/I503/skip ,

.

+ .

*

/R_$RAl_Add14:0)

/t5PDuea_-B3(8:O)

* < U

/IS$03/EPROtMel

/MPROffCS

, J

.

.

.

.

.

.

.

* * .

.

+

.

.,

*

.

.

*

.

.

*

.

I

.

.

.

I

.

-=-

.

* .

*, = xco- _-oc -)XX

=

+

.

*

+

I

.

4,

+

4

·

*

_ _ _ _

*

_

.

r

+

+

+

* t

4'

· --

4'*

4

.

*

*

*

I .

r

+ t

+

*

*

* ·

+

C *

+

+

·

/13503/R.DLtRndeuxCn=C l1867960.0

.

11868480.0

.

,

~~

.

,

.

11S69000.0

+

.

.

,

.

.

.

+

* r

11869520.0

Tim /a)

11870040.0

* .

L +

---

11870560.0

l871tO80.0 1187160.0

-

175

I···· .-,rr...rc;- ^- nrnmirr. xr.ia riliire ri4*9baiuYiiXBLMIIL;rrxrr--r-^--

176

'Butter_Oeta it

Vaxue~:tU)

-Y I.(S )

/RRe

/tk_Req

2+

.. ..

/FM

+ +

/CLYA

/FAUJ_Data _03UT

/RL_DoadByteEO

/I$503/RL_8itCntEQ7

I

/FA DataMux-OUT(8:0)

/SNRegCE

/Payload

/Idle_Cell

/OverRun

/UnderRun

/Ne~uffer o

_____ i++

-

+

+

+

I

+ + +

IL

+

+

_

.

[

+

+

,

~

+~

-

+

+

L -I

+ +

--

--

--

* *

*

* r

*

+ r

*

*

+

+

_____

*

* r

+ + .*

*

*

*

+

*

+

--

+

--

--

T7r.

*

+ r

*

+

I

___

*+

*

*

+

+

*

*

+

.+

* *

*

4

+++

+

_

--

_

I-

/RLANirsTie

: h

+

/RCL_ChValue

/i5503/Skip

(4:0) 0

/I$503/RL-Eror

/ContrI tat*(3:0)

/R_RAMAdd(14:0)

I ,

XXXX +

/SRA_Da_us(8:)

1153SEPRCM-.

/IN/PR_

Se

X z

XXXZ +

.

*

*

+

*

+

.

+ + +

---

* 4 +

--

--

--

I-

*

*

*

+ *

*

.

r

+

*

I

I

I

--

--

* *

--

· r

+ e

*

+ ., f_

An,_

_- _

: l,

--

7%-D

_

'+

_

·

4

X7C&E

+' ....

4' X7rF.

.

.

.7 .

.

.

_L__j _

=

-t

X=

.

xx

*

· . 4.

*

..

* f

I-

*

*

* 4.

'4.

*

.

,

_, .. .

2

·

4'

,*

--- -

.

4'

4' fNSR OE

· .

R+ * * ... *.

1 , · , , ,+ +

/13503/SRAM _AddSeI_S

/13503/RL_Re.CE

/3503fSRCM · L

/I503/RL_Pdd

[

,

S .....

, .

, .

,

/I5503/RL+lndex~ncCE

* *

.

.

*

+

.

+*

....

" * * *

/1187160_0.0~n_, 1824.0

T~~ree~~na)

*

1840.0 174t.0 1754..

/I1503/R LHaR_qC

C L_

/I55a~tR

*

, ..

OSuterDeitaValue(3:J) ; - .

, , , .

, .

.

* *

/Ci(

/R_Req

, , 4. + + + * * + ' *

/U

/RL-DeadByteEQO

53503/RLitCntEQ7+

4uuac_.U.X JT(

/IdleCell

/OvrRun

/Newouffer

/RL NirstLre

:u)

/C256kOUT

/S7(ReCE

I kayloaa

/TUnderun

/I$503/RLl ndexEQ46

/Star orJn!oac

/RD&aa Ct QT( 8:0)

/Par ty

Error

·u-c ^_

I~~~I~~~S

-n

'-` - -

/RUL Actlre

"-

-

_ _ _ _ _ i

_

-- I- I -

_ _ _ _

+

--- -

/FAU Data

/'L -

T

.

+

5

-

I I ·

+ o

+

·

* *

*

*

+

___

* r r

+

·

* +

. I ri

_ _ _

-

* i· r

+ r

+ r

+

.

_

'L-fL-r-Lr r

·e

+

L

·

I

*

*

·

+ + r

*

*

+ r r

*

·

+ +

*

* t

L

I r r r r

*

* r +

+ r r r r I t

+ r r c

+ C

E

t

C * f

=

*

C t r

Z

_ r

.--

L

*

*

.

r

_ _

+

/RlL_AcveCh

/RCLChValue(4:0)

.

/1$503/s5kp

/I5503/RL_

/Cont:o_Sate?(3:0) rror

/RSRAAdd(14: 0)

iSRAM Datr Bus(8:0)

/I3503/Spqcs5 3.

-

X) xxz

- -

/NSRMAOE

/1$503/RAcrk

/I3503/RndexSel Si1

/ItS503R_IndexS.eISO

/1$503/5$RAMAddSI_31

/1I503/RULTPRegCE

/IS503/SRAMAddSe.1_50

/1/503/SRA Data_TnS.

/13503/SRAHDatan.O

/I$503/RL.H&e:E

/15503/RLTPReqCE

/12503/ROL_nd.xRe.CE

/13503/RL_IndexCntCE

0

.

----·--

+

*

_ r

.

.

I *

*

*

_. +

0eFE

1 *·

_

I *

· · + + · -

.'

.

.

*

.

.

I

--. .-

0&-D * XiOX

X X "I

I

.

. I -

_

.

*

.

I

.

*

· * .

* .

.. b

I

1

:I

.

=

c r r t

+

--·

I

_ _

,

_ _ _

*

* t c

I r r r

+ r

+ r c r

_ _ _

*

+

+

*

* c r r c r r r

+

* r

*

* r

+

/13503/RULHPReqCE

/lI503/RDataR.qOtCE

11875240.0 11875760.0

-----

11876280.0 11877840.0 11878360.0 11878880.0

_ _ _ _ r r r

·

*

*

*

+

_

11876800.0

Time (ns)

11877320.0

177

'u ter Delta_;a

/FMB

/FA_ Data_OT

IRL_DaadByteEQC

/13503/RLBLtCntEQ7

/)AU_DataMxOUT)(8:0)

/C256kOUT

/SNRecjCE

/Payload

/IdleC41l

/Over~un

/UnderRun

/Sea'Buffer

/15503/PLIndexEQ46 j__

·

I· · ·- I· ·

· + , · ·

· · · · · i · · ·

/CDataOtO~t(8:0)

000

/31T3Data OT

/RLAciZveCh

/RUL_ Activeh

/RULCSValae(4

/15503/Skip

:0)

/13503/RtError

02 ·

__ r

_ __ r

/Ccntrol Stat. (3:0)

/RSRA4)Add(14:0)

/SRAM Data&Bus(8:0)

/15503/EPRCt6 5.l

/NEPROICS

/NSRAMCS

/SRAM)RW

/NSPAMOE

/13S03/RAck

/05503/RIndea$el S

/13503/RZnd..x.l$O

/15503/SPA)_AddSeL_S

/1$503/RULTReqCE

/15S03/5AMMAddSeSO

1xx.- 4

,, ·

4

· r r r c

4.

·

I

·

XW

· r

~

·

I

· · ·

· * ·

·

X-D

54

X

*

+

:

,

*

::::

·

· · ·

·

·

,. .,

+

I

.,)

178

/t503/$RApD~atIr~So

/13503/RLPRegCt

/1503/RLTPegCE

/13503/iOL_ZndexReqCE

/11503/RL-I~exCntCE

/[3503/ROLHPR.qCE

/1$503/R_Dt&aeqOutCF

11878880.0

·

· 4

.

.

· ·

.

.

-[ .

0 )~1z EC

·

~

4 · · 4

1189400.0 11879920.0 11880440.0

Time (n)

11880960.0 11881480.0

· ·

1882000.0

· ·

·

11882520.0

·

Appendix J Receiver Simulation: Loading and

Unloading Data

The timing simulation shown in this Appendix is for the Receiver. Only time slots 27 and 31 are active.

Simulation Time Period

23220000 - 2326000

Pages

180-187

Simulation Description

Receiving ATM cells while also unloading data.

StartToUnload = 1.

179

180

'Sut te DeLt.-VaLue ( U) q

/RR+q

/CLE B

/.~..B

.

.

~

·

~

~

·

.

/M^ID1C-_OUT

/ LD.B yt.EQ7

.

.

/IS503/RL_BitCntEQ77

I----' L- ^I-I^^· --

/fIAUo&~a muGUt(U:U) 02C+.

.

/c256k_T .

I

-

SlbReqCE _

/pylord +

,

.

. ·

· + *

* .

-----

*

.

.

*.

Idl.-C.1

/0-R..'. t1

· *

, *

-

*

+. *

*

.

.*

.

__ _.-

..ij

*.

*

*

, .

+

.

..

_ _

~ ~

· ,

+

*

·

.*

*

*

-·-I·

* *

·

Z r*r*r

/IS03/PL_:dexEQ46

/ 7,

/acjf4

I r-

New .

IRGL_IF-scTime

I:. i.

/r.z

.

-

I

_

.

+

.

I &

._.

.

·

---

.

~ +

---

.

·

.

*

.

*

*

· XO D f

*r+,rr rr.trr

so n..* m...

^nrls.^v

, ' :. ?

-

+ $

.

/Pa:;tyError

---- --

1r ^

--- -

/RL_AcveCh

,

-

.

/RUT._Acive_Ch

/RULChV-lut(4

+

0} i;)(13

--

·

/I503/R.L.E- +

........ __, a. A+ _, a,

-,

, \ _

/RSRAM_^dd ( 14: 0 ) tSPR_DC._3use:O)

X r

/13503/EPRC_Se .

/NE ?&1lC3

* .

,

---

.

, .

,

+

.X-

Us

+ i

2=

.X

*

Fr.

*

+

*

, ,

.

_ _

. ....

+ ,

.

·

··T-- r r~~~~~~~~

.

* *

·

Xl65 .

·

I~~~~~~~~

*

--

* -~~

. Xs

XFF

*

.*

XC5

=

+

--

+

I

-I

_6F

_

* r

7 r~~~ r

--

*

--

.yC

~~~~~~

-----

~~~~~

' t ·

~~

· · .

_

:-____I_ · - __:_:--- -_: I ---

. - .

X .

XX 7

, .

, .

.

.

*

/SRAt%_y

~"'5C:' ¥k .

-.- -.-

,

.

-.

.

..

-.

.

; -

,

.- '.

.

.

.

**

.

.

.

.

.

.

.

/$5$03/R :ndx aS1

/IS03/R_IndxSI_SO

.*..

.

..

/3503/SRAHI._Ad_SO

/1$503/RL_tPCE

/13S3/SRLmtdC-C

D^CnO

/SX50/RLX~wJ

Ot

, .

,

.

.

, .

·

.

.

.

..

*

/13S03

.

.

[

* ,

I

*

.

.

.

* .

W

,.

*

.

.

*

.

.

+

/ 303 IRL IndelCnr.C

/:3S01/R L_^PRS, e

/X3S43/R--t-R~out

23217000.0

.

2327500.0

.

· ,.

· ·

232180000

.

+ .

.

.

.

.

+ .

.

* *

.

23218500.0

.

.

_~~~~~~~~~~~~~~~

23219000.0

.

, j + *l

23219500.0

,~

23220000

L.210.0

.

·

232205000

232L0.0

.

.

23221000.0

·

2322500.0

,F~0--~i ~~U - ·

/CLKAJ ...

/RLDadByte.

/1$$03/RZB, £Cnt£Q7

O

/FAODaca~m.xOT{$:0)

IC2$6kCX$T

165 +

LCI

· C

+*r

·

4,

4,

4.

r r·r

,+

+rr

I - I ' I.

.I,

4.I

·. Xi

.

-- ...

I

.r+r*

/S~-".

/R_DacaPutOOT(B:O) on~

/Pat,~ty~==o-

/.4'T$_DataODT

/RLAC"i-vCh

,~

.... o

·· · k ,,

/Z$$O3/$kzp

/t3$03/RLjr:-:

'"

2

·

.

·

·

.

·

· ,,

.

,.

·

· I·

·

·

·

,.

·

·~ * e

___

~

-

_______

·

- .. , ..

_____

.

X

______

·

___

XXX

.

·

-

___

·

·

,,·. e

4,

-.

.

+

·

·

· .

, ., ~ t

,*

·

·

·

-.

L~

/1$503/£PRO$eS.

'"'~-~

' ·

.

.NPRC .

~.

·

' i'

' · i

' ' t

J'

*rrr

-'

·

L-

· · I

· I

· I

I-

· ·

· · l ..........

· ·

·

·

·

·

·

·

·

·

·

· I· I·I·

·

·

· ' r

·

/13503/RAMnAexS.1-3$1

-' ·

'~$°~"-"~"'-$ ...

L

· .

... · o

·

·

I· ·

*

· · l

·

*1

·

·

* 1·

I

· ·

-

*

.

·

* ·

...

· ·

·

* + I

· J i

·

~. ~, +

·

.

/X3503/P(MTPRe,

/1T $03/SRM

~d

JCV

~1 J .

, .

...

~

· · ·

/1503/

/ISO ndexCncCE

I~P~t q*C£ r

23221500.0 23222000.0

.

4

23222500.0 23223000.0

,

23223500.0

~

23224000.0 23224500.0 23225000.0 23222500.0 23226000.0

I-

18!

182

..

, 'Bu.er Dei Va(.: O 2

/CLKA

/FADa X... 3T(B:X

/C256k .RT

,SNR4qCE

/ROL

/5.-Suf rce,0046

Xer

OO .

.

.

.

.

·

.

......

.

.

'

.

[ , f

.] f

.

/R Da0 O8T(L:0)

/P.rt3.vOr.-o:

'S A , · * ' " .+ * · * ' + ' .

* * X '"' + *

/RUL_Actir_Ch

/RUL_ ChVa1 Ie (4: 0)

/1$503/Skip

/!S503/RL -.- rt

/R_$KAMAdd (14: 0)

/350MC:V,.

/X

Ade.;

S 05D

.

,.-T .

·

.,.

.

,, *

.

+r

4

J 4.

--

,

.

.

.

·

·

·

<. + .~

.- .,

art j·

, .

··

+

, .C

,

/150315Ack

.... · J .

· .

.

.

-- · · · 't·

L01

00

O&,&_23

/1350/5RAKOAt._s._50

/£5*03/RL _.H'Pt. Z

/1553/OLA.PftexqCZ

/1303503/LZT nexqC

/I35Q3/RL-lbd. f.qCE

/I303/F1VL_&P&~:CZ

/1350/RD aftqCZ

23226000.0 232265S0.0

'-I ·I · '

................

23221000.0 2322500.0 2228000.0 23228500.0 23229000.0 23229500.0 23230000.0 23220500.0

-'0uterDetaValuee

/RR-q

U) 2 .

.

*

.

+ +

*

.

* .

.

* .

+ .+

/FAUD.D._CUT ' , .a

A

IFA0_DacaMucOU(S:0)

/C256kOOT

.

*

·

+*rc

+++r

· · ., * * l

H-

_

.

.5

*

+

,/

~ ~

*+ .

65

.

* +

· r·r*

+,,,r

,

*

+

.

.

.

.

*

.> .

+ . _ .

_

.

_ ,.+ .

.

,

/NewBuf er

/l3503/RLtnde.EQ46

/PL Fi -T i.

5ataD * * * r*rr r·r+ r·+·

.rrr

.rrr, rrr rrrrr /FOSDtaO

/R1.AcvtiCh

/R0tL-ChVilue(4

/3S503/5kip

/f5503/P.RSE:o

0)

178F0

.

XXXX rr+r rrr+r rr+rr

.+r+r rrr, rrr

· rrr+r r+r,

*LICI

/NSRA CS

/NSRAC_

· tCt·

· /2$$03/RAck

/23503/RBIndexaSei$

.

a

.

.

·

/I35031SRAK"AddS. I _SI

/13503/RVLTPReqC0

/f$503/St

/I3503/RAlAneaxg1

.AddS.i SO=

.

· tt

/$S503/a.tne

/T503/RL_PReqC.

x aC

E

.

.

.

/503 /R_DatRe.qOutCE

23230500.0

.

22231000.0

.

.

23231500.0

.

23232000.0

.*··

··· tLI t,··

.

23232500.0 23233000.0

=

I

.

.

*J++

.* ., r

.

r

+ r

· r

.

.

.~ ;

.

r1. .

.

r

_r

.

r

+

.

.

+

* *

.

_ _

*

.'

.;

-

.

.

.

.

r

* .

r

.

.

_ ,

·

,

CI1

,

+

=

.

, , -

, _

.

.

,

*

..

5

.

.

, .

.

.

.

.- .

.

.

.

.+ t- -* J7~~~Th . .. *I. .

I;

J'

L: ·· t

-77-a

' * · '' i ..

.

.

.

.

.

.

] .

22233500.0 23234000.0 23234500.0 23235000.0

t-·

183

..-.--- r·--.l..- - -----ul~ro·~r4 Y~~X i~l~iS~

184 urerD/tV

/CLKA

·

/I$$03/RL_SitCntEQ7

1FAkU.Dt._M.._i0aT (8: 0) 15

+

*5~eC

.

.

*

I SNReqct

.

·

.

.

*

·

'E.

*

+ ..

·

.- .

.

*

-

*-

,- -.--

.

.

.

.

.

_.

*

.J

..

Xl

~

*-

* ~ .

-~

*

.

~ ~ ~

.

Sp.

.

.

.

-

.

/New~~uffer * + .

.

.

+ .

+ ,, .

.

,

+ * +

/I5503/RL !ndexQ46

/RL_zrz TLce

/RCL_!FirstC.h.

/ $tar'.oUrnload c$+

+ + .

.

+ + ..

+

* o +

+ .

.

.

+...

.

+ +

*. +

Ch

~ OT.(4:0)

/Par£ty_£rEror

/M~~~s-D-*t**a*

/90LChVaue(4:0)

I

.

.

*

+

.

.

)5

*

*

X°°

.

.

'*',

*

* +

+

.

.

.

_

-

/SRAM_D~t._Bua (8 0)

/1I50tPRC. Sl · .

1N3R^"MCS

*[ t

/NSRAMOE

/IS$03/R_Ac~

/I$5031RIndex5-1_5l

/I$503/R_Index~ei

/13503/SRAMiAdd5.1-51

$0

/13$03/RCL_TPReqCE

/15$03/$RA~ Add5 LSO

/13 503/,RM_DOt.a

/I$503/RAK_D&caIn_50

_I n_1

/$5$03/RLHPR.EC1

/[S$03tRL TpeqC~

/I 5 3 /ROL _I ide R.mc

/I3503/RL -ndexC.CtCE

/1S503/ROL_Pt.'eqCZ

) at R.&eqOurt Ci

23235000.0

·

·

·

·

· i ·

·

·

·

·

·

·

· t t

23235500.0

L '

23236000.0

·

·

·

· i ·

·

·

·

·

·I

·

* **

23236500.0

·

·

·

·

·

·

·

· ·

·

·

·

·

I

·

·

·

·

·

·

·

·

·

23237000.0

T i

* *

( )

23231500.0

·

·

·

·

I

I

-

·

·I

23238000.0

·

· I

· I

·

·

·

· t

·

·

·

[

·

23238500.0

·

· I

·]

·

·

·

·

·

·

·

I

·

·

*

·

·

.I

· I

I

·

·

·

·

·

·

·

·

·]

·

·

·

·

(

23239000 0 23239500.0

·

·

·

·

·

·

'Bu er(:) 2

* * * * *

/C - Re

I s

I

/RLD.adByt.EQO

/sS03/RL_SiCnt£Q7

-I.."

--.

/C256k OOT

~15A

/I0003RLs

/SNlPeqCls

/Payload

156

*

*

*

· + .,

A165o

·

·

I

I

·

,rt, rrr

+r*r r·rr rr·r

+·*r

*rr rrrr r·rr rrr, r·rr rrrr rrr

+·r rrr* r r r r r r r r r r r r r r r r r s r r

+ r r

· r

CC'

/R Dat&Out OT (8: 0

/Par£=y lrore

/) .... OC °

O

/0I. Act. . e Ca

/RL

/R02L Act 1 v C

_CVa.(4:0

00

/I0S03/$k:

9

/13503/PL- Err

/Coatrolr

/R SR'_Add tate (3: 0)

(14 .:0)

/$RA _Daca (8:0)

/203/EPSRCH-$l

/NEPRQHCS

·

·

.... ·

+

.

+

+

.

Xoo r+rr

.

+f

· .

+

.

+

.

.

·

.

,

.

I· +

· ,

·

·

.

+

+ +

/NOA

/1503/R.cAk

/0$503/R-Iade.Sl$01

/1503/Rlnd.eS.IO

/f10S3/SRAJAdS.IS1

t

/I$50$/ROI.TsRCZ

/T$$03/3RAMAddS.I_SO

/13503/1RAHDatat

/I$S03//SRA O:CaI

/I$$02/Rp.LIp0.qCZ

/13503RL.TPR.qCE

/13S03/R0'Lr

/15S03/R d..eRt.CZ

L de.xC.CE

/r3503/RULMPReqCZ

$si

SO

+

XXX

... -

+

, "

.... ·

- ·

..

.) .O

/15503/ROa~tcA.qOutC

23239500.0 231240000.0

·

·

.

+

- ;

-" -

23240500.0

-

-

.

--

7F

·

.

-X *

-

..

7 F I 4.

23241000.0

;

* f

·

0oW

·

-

0 ...........

.

.

·

X,74 ,*

-

·

.

.

23241500.0

T~me)oa)

23242000.0

+

''

23242500.0

·

.

' ,

I 1

'

I-

.

Z3243000.0

·

,

XX

.

,

·

.

.

23243500.0

·

Z0244000.0

·

185

1--··-·-·-·-- ·-·,-·-r,., 1, ,,,-xr*a··--*·x- · ie·,-, ;ilnrr-----

''ur1 t e (J:U 2 .

.

0 ' " *

/ F."

ICLKA

/FAU-D...-00T

/RL Oead -EO0!

/S503/RL.BtCncEQ7

/C256k0UT

/$NReqC£

/Payload

/Idl Cel i

.

o o 0oo

/i$503/5.

/246.uff-r nde.044

/0. 5FiroTi:me

* ' '

I-

L -- o a.

7 L

15A

03

.

0' *

00

* · * * "

/RSRhadd(14:0)

10 · 4 .

xx·

0~, · .

.

1 .

/8

//E$RK-S.

00s(8:0J

/N$03EPR~_$e

1150. 00

· ~:

X

*· X+.1 I ·

·

.

~

~ + .

~ ' t .

~ .

I L

·

·

· ~~~

· ·

/ $/_

· X· X

~ '

; X=~· ·

·

~~~~~~~

· ~ · ~~ ~ ~

I · I

)~. ....

X

;

· · '

Iaex~[

/3503/L Rco

$0

· · · ·

· · X22

186

/1503/PRZ,?PR.iCE

/$503/(LTd.S.iCE

/$503/8 tnd.eC.tCE

/XSO53/OtHPt.qCE

/ [503IR0.tDa8.quoC

23244000.0 23244500.0 23245000.0 23245500.0

------- ----

23246000.0

0Lw.)O.)

--- ---- --

23246500.0 23247000.0

----

23247500.0 23248000,0 23248500.0

'Stter -De.aVa. ue(J:U!

/RRe-q

2

/C.

.

+

.

,

.

.

.

.

+ + .

.

.

.

.

.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

,.

.

.

.

.

.

.

*

.

.

*

.

.

·

* +

_,__

.

._ _

/FAU_D-aOOGT

/RL.DeadByteQOO

/'I~503/RL9t=CnCE~7q

/FAV_Dca_tux.O0T(8:0)

/C256kCT

/$NReqCE

/PayLoad

_

D1A.

+

·

=

/IdleCeZ!

/OverRun

/Unde:Run

/!leslBuff-

/lS503/RL_IndexQ46

.

:

.

:

-r r .

-L

_I

7 Z "'

/RCL-FirstT,-

/1-~t r .nl. ..

.

.

/PsrityError

·-----

/.tT$_D&a

C*

--

OO'

/RTL_Acve_Ch d

I

Z

---

/RtDL-At.4--Ch

·-m v... ..

/I$503/Sklp

_-r___

, q

II

.

.

.

_::__:__1__

.

/$503/RL-Eror

- 3 X -

X5

/C.t.IStat.(3:0)

/R_RAMAdd (14 : 0 )

/SPMA-Dta_.B. (N0)

Y

>

/r$503/EPROM-Sel

/NEFR5

'N5=fC

INRAMCS-U

:

.

.

.

.+.

.

[ -F-q -I--'i-

/1 -I - __ -

,*

/NSRAMOE~~~~~~~~~~~-

.

.

::

~

/1$503/R_Ack

-

/I3O3/R1TRdeXSL1-5

/35a3,Rn,.xs.L-s

·

=

.

+

/503/SRAMAddS1_31

/Z5503/Rt7L_TPR-qCE

/135031SRJ)^_AddS.1_30

/=5o3/5Rs~.,_O ...

~_ta

_

_

[ .

* I

.

.

* * .

|I.- .j-.-*--+

, d j,

-~~~~~~~~~~~~~~~~~~~~~~~~~

=

.

liJ)03/11UHD.Cl_n_50

--

+

* *

-

-

.1

.

*

.

.

*

.

>

--

I

.

I

X' .

.

__

I----

-___ __::__

.

=

.

+

+ ~

't '

W

.

+

4.

+

-::--:

· ·

.

·

+

--

Z

..

I

_ I:I____-_

.,

__:_==I~

.--

*. * * * +

.

r

' '.....'... v- v

:---

· -' I- I

,, + I

- · ~ .... -l.~~

=

-

=

.

.- - -- L--

--

,

.

/T$53/RUL_In.d..AC

/ri5o3/RL_Id

/r5503/RuLHPRx9CE

/T3503/R_O&C&RqOuC.

23248500.0

C..C.C ..

.

23249000.0

.

.

.

.

.

. .

.

.

23249500.0

.

.

*

*

. .

.

,~~~ - -r

.

.

23250000.0

.

.

.

.

.

.

23250500.0

TLmi-n.s

.

.

23251000.0

.

.

.

23251500.0

.

.

23252000.0

.

.

23252500.0

.

.

23253000.0

187

188

Bibliography

ITU-TSS Recommendation 1.361 "B-ISDN ATM Layer Specification," March 1993.

ITU-TSS Recommendation 1.362 "B-ISDN ATM Adaptation Layer (AAL) Functional Description,"

March 1993.

ITU-TSS Recommendation 1.363 "B-ISDN ATM Adaptation Layer (AAL) Specification," March 1993.

ITU-TSS Recommendation I.432 "B'-ISDN User-Network Interface Physical Layer Specification,"

March 1993.

ITU-TSS Recommendation G.804 "ISDN Experts of Study Group 13," March 1993.

GR-113-CORE "Asynchronous Transfer Mode (ATM) and ATM Adaptation Layer (AAL) Protocols,"

Release 1, Bellcore, July 1994.

T 1S1.5/94-184 "Proposed AAL for CBR voice and voiceband service," AT&T, July 1994.

A Description of The T-1 Carrier, R. L. Ponners, April 1992.

ATM User-Network Interface Specification (UNI 3.1), Version 3.1, The ATM Forum, May 1994.

Asynchronous Transfer Mode (ATM) User's Guide, W.A. Flanagan, Flatiron Publishing, Inc., New

York, 1994.

The Programmable Logic Data Book, Xilinx, 1994.

A30808-X5182-X-1-59 "System Specification Clock and Data Transmission (ICOM 600C),"

Siemens Rolm Communications Inc., May 29, 1990.

"HICOM Digital Multiplexed Interface Design Specification," Siemens Rolm Communications Inc.,

October 5, 1988.

P30252-X9000-A020-01-7659 "U.S. HICOM TMD24 Interface Specification," Siemens Rolm

Communications Inc., July 21, 1989.

189

I_______ -VIIJ·JI((··OIYIII_* -CI- ·1 11111 ..

Download