PRELIMINARY Am79C864A Physical Layer Controller With Scrambler (PLC-S) Advanced Micro Devices DISTINCTIVE CHARACTERISTICS ■ Implements FDDI PHY layer protocol for ISO standard (FDDI) 9314-1 ■ Line state detection ■ Implements ANSI standard Stream Cipher Scrambling/Descrambling ■ Elasticity buffer and smoother functions ■ Hardware Physical Connection Management (PCM) support ■ Full duplex operation ■ Performs Physical Connection insertion and removal ■ Repeat filter ■ 4B/5B encoding/decoding ■ Data framing ■ Built-in Self Test ■ On-chip Link Error Monitor (LEM) and Link Confidence Test (LCT) GENERAL DESCRIPTION The Physical Layer Controller with Scrambler (PLC-S) is a CMOS device which along with Physical Data Transmitter (PDT) and Physical Data Receiver (PDR) implements the Physical Layer Protocol (PHY) and portions of the Station Management (SMT) of the ANSI Fiber Distributed Data Interface (FDDI) standard. The PLC-S, PDT and PDR are collectively known as the AmPHY. PHY functions performed by the PLC-S include framing of data on symbol pair boundaries, the elasticity buffer function, the smoothing function, 4B/5B encoding and decoding of symbols, line state detection, the repeat filter function, and Stream Cipher Scrambling/Descrambling. SMT functions performed include Physical Connection Management (PCM), Physical Connection insertion and removal and Link Error Monitor. The PLC-S chip receives symbol-wide (5 bits) data along with a 25 MHz recovered clock from the PDR chip and searches for a JK symbol pair (also known as Starting Delimiter). It uses the starting delimiter to establish byte boundaries (i.e. to frame the data). Framed data is then sent to the Elasticity Buffer which serves to compensate for the frequency difference between the recovered clock and the local clock. Data output by the Elasticity Buffer is checked by the Smoother and when necessary, Idle symbols are inserted between frames to maintain a minimum number of Idle symbols in the interframe gap. The data is then decoded and sent to the Media Access Control (MAC) chip. The data is byte-wide (10 bits) and is clocked by a 12.5 MHz local clock. Publication# 15535 Rev. B Amendment /0 Issue Date: November 1993 The PLC-S receives byte-wide data from the MAC at 12.5 million bytes per second, encodes the data and sends out symbol-wide data at 25 million symbols per second to PDT chip. In the transmit path, there is a Repeat Filter to detect corrupted symbols and convert them into the specified pattern of Halt and Idle symbols. The Repeat Filter in each PLC-S chip converts the last byte of a frame fragment into Idle symbols and thus eventually removing fragments from the ring. The PLC-S device includes a Stream Cipher Scrambler/ Descrambler as prescribed in the ANSI TP-PMD standard for transmission over twisted-pair cable. For copper-based designs, the scrambler/descrambler may be enabled either through software or hardware. For fiber-based designs, the scrambler/descrambler is disabled by default. For a detailed description of the ANSI-compliant copper FDDI system using the PLC-S device, refer to AMD PID #18258A, Implementing FDDI over Copper; The ANSI X3T9.5 Standard. The PCM initializes the connection of neighboring PHYs and manages the PHY signaling. PCM consists of the PCM state machine, which determines the timing and state requirements for PCM, and the PCM Pseudo Code, which provides the information to be communicated to the neighboring PCM and specifies the connection policies. The PLC-S chip contains the PCM State Machine, while the PCM Pseudo Code is controlled by software. The PCM State Machine communicates with other PCMs using a bit signaling mechanism whereby certain line states are received and transmitted. The PCM also makes use of the Link Error Monitor in the This document contains information on a product under development at Advanced Micro Devices, Inc. The information is intended to help you to evaluate this product. AMD reserves the right to change or discontinue work on this proposed product without notice. 3-3 AMD PRELIMINARY PLC-S chip during Link Confidence Test and after the link has been formed, to detect a noisy link. The PLC-S contains a Line State Machine for detecting received line states and a Data Stream Generator for transmitting the various line states. The PLC-S also contains a state machine called Physical Connection Insertion (PCI) which is used in Physical Connection insertion and removal. It performs the necessary ring scrubbing and data path switching. The Node Processor Interface in the PLC-S consists of several control and status registers. The PLC-S also contains error and special event counters, Built In Self Test (BIST) logic, Boundary Scan logic, and several data loopback multiplexers so that internal data paths may be reconfigured for test purposes. PLC-S BLOCK DIAGRAM SCRM Programmable FOTOFF Control TDAT 4–0 TX 9–0 ITDAT TXPAR Stream Cipher Scrambler LSCLK Control Signals NPADDR 4-0 NP 15-0 FOTOFF CIPHER_ LOOPBACK MUX PLC-S Core RX 9–0 IRDAT RDAT 4–0 Stream Cipher Descrambler RXPAR RSCLK SDO (Optional) Signal_Detect Control 15535B-1 See next page for the PLC-S Core block diagram 3-4 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY PLC-S CORE BLOCK DIAGRAM Receive Data Input EB Local Lbmux Elasticity LM Buffer/ Local Smoother Lbmux Framer Decoder Bypass Mux Scrub Mux Receive Data Output IRDAT RX 5 11 Idles Misc Status and Control NP Line State Machine PCM 16 NPADDR Error Counters and Timers 5 Control Signals NP Interface Built-in Self Test Repeat Filter ITDAT TX 5 11 Transmit Data Output Test Data Mux Encoder Data Stream Generator Remote Loopback Mux Transmit Data Input 15535B-2 Am79C864A 3-5 AMD PRELIMINARY TABLE OF CONTENTS DISTINCTIVE CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 GENERAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 PLC-S BLOCK DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 PLC-S CORE BLOCK DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 TABLE OF CONTENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 CONNECTION DIAGRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 PIN DESIGNATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9 LOGIC SYMBOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 ORDERING INFORMATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 PIN DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12 FUNCTIONAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Node Processor Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Read Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Write Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 PLC-S Control and Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Physical Connection Management Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27 Physical Connection Management Timing Parameters . . . . . . . . . . . . . . . . . . . . . . 3-28 Physical Connection Management Bit Signaling Registers . . . . . . . . . . . . . . . . . . . 3-28 Event Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28 Interrupt Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30 Built In Self Test Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32 Framer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32 Elasticity Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32 Smoother Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32 Line State Machine (LSM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 Link Error Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 Physical Connection Management (PCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33 PCM Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 PCM State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 Pseudo Code Bit Signaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35 PCI Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-37 PCI State Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38 3-6 The SUPERNET 2 Family for FDDI 1994 Data Book PRELIMINARY AMD TABLE OF CONTENTS Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40 Scrambler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 Descrambler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 Repeat Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41 Data Stream Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42 Data Path MUXes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 EB Local Loopback MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 Cipher Loopback MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 LM Local Loopback MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 Bypass MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 Remote Loopback MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 Scrub MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43 Test Data MUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 Data Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 Receive Data Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 Receive Data Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 Transmit Data Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 Transmit Data Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 Built In Self Test (BIST) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 BIST Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44 Counter Segmentation Test Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45 Boundary Scan Test Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45 ABSOLUTE MAXIMUM RATINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 OPERATING RANGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 DC CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 CAPACITANCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46 SWITCHING CHARACTERISTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47 SWITCHING WAVEFORMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-48 SWITCHING TEST CIRCUIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-52 SWITCHING TEST WAVEFORMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53 Am79C864A 3-7 AMD PRELIMINARY 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 VDD CS NPRW NP15 NP14 NP13 VSS VDD NP12 NP11 NP10 NP9 VSS VSS VSS VDD NP8 NP7 NP6 NP5 NP4 NP3 VSS VDD NP2 NP1 NP0 RST VSS VSS CONNECTION DIAGRAM 120-Pin PQR (Top View) VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 VDD TXPAR TX0 TX1 TX2 TX3 VSS VDD TX4 TX5 TX6 TX7 TX8 TX9 VSS VDD RX9 RX8 RX7 RX6 RX5 RX4 VSS VDD RX3 RX2 RX1 RX0 RXPAR VSS VSS EBFERR TEST2 TEST1 TEST0 SCANO VDD VSS VSS VSS SCRM VSS NPCLK BCLK VDD VSS LSCLK VSS VSS PTSTO ENCOFF LSR2 VDD VSS LSR1 LSR0 VSS ULSB VSS VDD 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 INT NPADDR4 NPADDR3 NPADDR2 NPADDR1 VDD VSS NPADDR0 TDAT0 TDAT1 TDAT2 TDAT3 TDAT4 VDD VSS LPBCK FOTOFF RRSCLK RSCLK RDAT4 RDAT3 VDD VSS RDAT2 RDAT1 VSS RDAT0 SDO VDD 15535B-3 3-8 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY PQFP PIN DESIGNATIONS Listed by Pin Number Pin Number Pin Name Pin Number Pin Name Pin Number Pin Name Pin Number Pin Name 1 VSS 31 VSS 61 VSS 91 VSS 2 INT 32 EBFERR 62 RXPAR 92 VSS 3 NPADDR4 33 TEST2 63 RX0 93 RST 4 NPADDR3 34 TEST1 64 RX1 94 NP0 5 NPADDR2 35 TEST0 65 RX2 95 NP1 6 NPADDR1 36 SCANO 66 RX3 96 NP2 7 VDD 37 VDD 67 VDD 97 VDD 8 VSS 38 VSS 68 VSS 98 VSS 9 NPADDR0 39 VSS 69 RX4 99 NP3 10 TDAT0 40 VSS 70 RX5 100 NP4 11 TDAT1 41 SCRM 71 RX6 101 NP5 12 TDAT2 42 VSS 72 RX7 102 NP6 13 TDAT3 43 NPCLK 73 RX8 103 NP7 14 TDAT4 44 BCLK 74 RX9 104 NP8 15 VDD 45 VDD 75 VDD 105 VDD 16 VSS 46 VSS 76 VSS 106 VSS 17 LPBCK 47 LSCLK 77 TX9 107 VSS 18 FOTOFF 48 VSS 78 TX8 108 VSS 19 RRSCLK 49 VSS 79 TX7 109 NP9 20 RSCLK 50 PTSTO 80 TX6 110 NP10 21 RDAT4 51 ENCOFF 81 TX5 111 NP11 22 RDAT3 52 LSR2 82 TX4 112 NP12 23 VDD 53 VDD 83 VDD 113 VDD 24 VSS 54 VSS 84 VSS 114 VSS 25 RDAT2 55 LSR1 85 TX3 115 NP13 26 RDAT1 56 LSR0 86 TX2 116 NP14 27 VSS 57 VSS 87 TX1 117 NP15 28 RDAT0 58 ULSB 88 TX0 118 NPRW 29 SDO 59 VSS 89 TXPAR 119 CS 30 VDD VDD 90 VDD 120 VDD 60 Am79C864A 3-9 AMD PRELIMINARY LOGIC SYMBOL BCLK NPCLK RSCLK Clocks LSCLK RX 9–0 RDAT 4–0 Receive Data RXPAR TDAT 4–0 TX 9–0 Transmit Data TXPAR CS NPRW Node Processor Interface INT NPADDR 4–0 NP 15–0 RST FOTOFF SDO PDT & PDR Interface LPBCK SCANO TEST 2–0 Test PTSTO RRSCLK EBFERR SCRM ENCOFF Control & Status ULSB LSR 2–0 VDD Power & Ground VSS 15535B-4 3-10 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY ORDERING INFORMATION Standard Products AMD standard products are available in several packages and operating ranges. The order number (Valid Combination) is formed by a combination of: AM79C864A K C \W ALTERNATE PACKAGING OPTION \W = Trimmed and Formed in a tray (PQJ120) TEMPERATURE RANGE C = Commercial (0°C to +70°C) PACKAGE TYPE K = 120-Plastic Quad Flatpack in TapePak (PQR120) Not Applicable DEVICE NUMBER/DESCRIPTION Am79C864A Physical Layer Controller With Scrambler (PLC-S) Valid Combinations AM79C864A KC, KC\W Valid Combinations Valid Combinations list configurations planned to be supported in volume for this device. Consult the local AMD sales office to confirm availability of specific valid combinations and to check on newly released combinations. Am79C864A 3-11 AMD PRELIMINARY PIN DESCRIPTION Clock Signals BCLK RDAT 4–0 Receive Data Bus (Input) RDAT 4–0 is a five bit input bus used to transfer data from the PDR device to the PLC-S. Data is latched by the PLC-S on the rising edge of RSCLK. Byte Clock (Input) BCLK is a 12.5 MHz clock. It is used by the PLC-S to clock most internal operations, clock RX 9–0 to the MAC device and, along with LSCLK, latch TX 9–0 from the MAC device. TDAT 4–0 Physical Transmit Data Bus (Output) NPCLK Node Processor Clock (Input) NPCLK is used to latch Node Processor inputs, run the Node Processor Interface state machine, and clock output signals to the Node Processor. It is distinct from the BCLK for test and diagnostic purposes only. For normal operations, the BCLK and NPCLK pins MUST be tied together. RSCLK Recovered Symbol Clock (Input) RSCLK is a 25 MHz clock. It is recovered from the data sent to the Physical Data Receiver (PDR) by the upstream station in the ring. It is used to latch RDAT 4–0 from the PDR device. It is also used for clocking the Framer and the Elasticity Buffer input controller. LSCLK Local Symbol Clock (Input) LSCLK is a 25 MHz clock. It is used by the PLC-S to clock TDAT 4–0 to the Physical Data Transmitter (PDT) and, along with BCLK, to latch TX 9–0 from the MAC device. TDAT 4–0 is a five bit output bus used to transfer symbols from the PLC-S to the PDT. The symbols are clocked to the PDT on the rising edge of LSCLK. TX 9–0 Transmit Data Bus (Input) TX 9–0 is a ten bit input bus used to transfer symbol pairs from a MAC device, or from another PLC-S, to the PLC-S. The ten bits are latched by the PLC-S on the falling edge of LSCLK. Bits 9–5 of the bus contain the first symbol to be transmitted on the fiber and bits 4–0 contain the second symbol. Bit 9 is the upper control bit and bit 4 is the lower control bit. TXPAR Transmit Data Parity bit (Input) TXPAR is an input signal used to implement even parity on the TX bus. If there is an odd number of ones on TX 9–0 then TXPAR should be one and if there is an even number of ones on TX 9–0 then TXPAR should be zero. Node Processor Interface Signals INT Receive Data Signals Interrupt (Output, Active Low) RX 9–0 Receive Data Bus (Output) RX 9–0 is a ten bit output bus used to transfer symbol pairs from the PLC-S to a MAC device, or to another PLC-S. The ten bits are clocked to the MAC device on the rising edge of BCLK. RX 9–5 contain the most significant symbol and RX 4–0 contain the least significant symbol of the framed byte. Bit 9 is the upper control bit and bit 4 is the lower control bit. The INT signal indicates an interrupt request from the PLC-S. This signal is active until cleared by reading the INTR_EVENT register at address 17 (hex). CS Chip Select (Input, Active Low) CS selects the PLC-S for the current bus cycle. NPADDR 4–0 Node Processor Address Bus (Input) RXPAR Receive Data Parity bit (Output) RXPAR is an output signal used to enhance error detection on the RX bus. If there is an odd number of ones on RX 9–0 then RXPAR will be one, and if there is an even number of ones on RX 9–0 then RXPAR will be zero (even parity). When the PLC-S is in Bypass mode (that is when the data output on RX 9–0 is the data input on TX 9–0) RXPAR is not calculated and is just the value input on TXPAR. 3-12 Transmit Data Signals The NPADDR 4–0 bus is a five bit input bus used to select one of the registers in the PLC-S for a read or write cycle. The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY ■ The MAINT_LS field in the PLC_CNTRL_B NP 15–0 Node Processor Data Bus (Input/Output, Three State) register equal Transmit QUIET and the PCM is in the MAINT state and FOTOFF assertion timer expires, if enabled. The NP 15–0 bus is a sixteen bit bi-directional, threestate data bus used to exchange data between the PLC-S and the Node Processor. ■ The Physical Connection Management logic has NPRW ■ Built-in Self Test is active. Node Processor Read/Write (Input) The NPRW signal indicates whether the current bus cycle is a read (NPRW = 1) or a write (NPRW = 0) cycle. RST Reset (Input, Active Low, Asynchronous) The RST signal provides a means of initializing the PLC-S on power up. When asserted, the Reset causes the following: ■ The various state machines are initialized: LSM-NOT ACTIVE, PCM-OFF, PCI-REMOVED, Repeat Filter on REPEAT, Node Processor Interface-NOT ACTIVE. ■ All writable registers are cleared and all registers that are cleared on a read are cleared. ■ Built-in Self Test – OFF ■ The Fiber Optic Transmitter Off (FOTOFF) signal is asserted, Quiet Symbols are transmitted on TDAT, and TX is looped back onto RX. Once RST is asserted low, it must remain asserted for at least twenty NPCLK cycles. When it is deasserted the PLC-S is ready to begin its normal operation. Assertion and deassertion are asynchronous. A warm reset (assertion of RST after the device is in operation) will cause device outputs to be unpredictable until the device is initialized. set LS_REQUEST = Transmit QUIET Line State and FOTOFF assertion timer expires, if enabled. SDO Signal Detect (Input, Active High) The SDO signal is output by the PDR to indicate whether the Fiber Optic Receiver is detecting an optical signal above its threshold. The inverted value of this signal is held in the PLC_STATUS_A register, and the LSDO bit in the INTR_EVENT register is set when SDO is asserted. Test Signals PTSTO Parametric Test Output (Output) This is an internal parametric test output signal. This pin should be left unconnected. SCANO Scan Output (Output) The SCANO signal is used as an output of the scan chain when the PLC-S is in Boundary Scan Serial Test Mode. TEST 2–0 PLC-S Test Mode (Input) The three TEST 2–0 input pins are used to select between normal operating mode and three different test modes. The different operating modes are as follows: TEST 2–0 PDT and PDR Interface Signals LPBCK Mode of Device Operation 0 0 0 Normal Operating Mode Loopback (Output, Active Low) 0 1 X Normal Operating Mode The LPBCK signal controls the receive multiplexer in the PDR device. If LPBCK= 0, the MUX selects its input from the PDT. If LPBCK = 1, the MUX selects its input from the Fiber Optic Receiver. 0 0 1 Factory Test Mode (Counter Segmentation Test) 1 0 Scan Input Boundary Scan Serial Test Mode FOTOFF 1 1 0 Boundary Scan Parallel Test Mode 1 1 1 All output pins except PTSTO are High Impedance Fiber Optic Transmitter Off (Output, Active Low) The FOTOFF signal, when asserted, causes the PDT to transmit Quiet symbols. This signal is asserted whenever: ■ The FOT_OFF bit, LOOPBACK bit, EB_LOC_LOOP bit, LM_LOC_LOOP bit in the PLC_CNTRL_A register (or) CIPHER_LPBCK bit in PLC_CNTRL_C register is set. Am79C864A 3-13 AMD PRELIMINARY RRSCLK ULSB Reserved (Input) Unknown Line State (Output) This pin should be connected to VSS. Control and Status Signals The ULSB signal directly outputs the UNKN_LINE_ST bit of the PLC_STATUS_A register to ring test and monitor equipment. EBFERR SCRM Elasticity Buffer Error (Output, Active High) EBFERR indicates when an overflow or underflow condition occurs in the Elasticity Buffer. ENCOFF Encoder Off (Input, Active High) The ENCOFF signal turns off the encoding and decoding function of the PLC-S. This allows for the transmission of any symbol, including invalid symbols for diagnostic purposes. Scrambler Enable (Input) This pin when held high will enable the Stream Cipher Scrambling/Descrambling function. If this pin is held low, then bit 0 of PLC_CNTRL_C Register determines if Stream Cipher Scrambling/Descrambling function is enabled. Power and Ground VDD Power (Inputs) LSR 2–0 Line State Register (Output) The VDD pins supply +5 V to the device. The LSR 2–0 signals directly output the LINE_ST field of the PLC_STATUS_A register to ring test and monitor equipment. VSS LSR 2–0 3-14 Ground (Input) The VSS pins ground the device. Description 000 Noise Line State (NLS) 001 Active Line State (ALS) 010 Undefined 011 Idle Line State (ILS4 – achieved after 4 Idle symbols) 100 Quiet Line State (QLS) 101 Master Line State (MLS) 110 Halt Line State (HLS) 111 Idle Line State (ILS16 – achieved after 16 Idle symbols) The SUPERNET 2 Family for FDDI 1994 Data Book PRELIMINARY FUNCTIONAL DESCRIPTION Node Processor Interface (NPI) The Node Processor Interface serves as the interface between an external Node Processor and the PLC-S. The interface is a general purpose synchronous interface. The Node Processor Interface is controlled by the NPCLK. In normal operation this clock is tied to the BCLK. All signals of the NPI must be synchronous with the NPCLK, that is the signals must be stable a setup time before and a hold time after a rising edge of the NPCLK. Figure 1 illustrates the NPI state machine. Read Cycle A read cycle is used by the Node Processor to read data from a PLC-S register. Normally the PLC-S is unaffected by a read, although the INTR_EVENT, VIOL_SYM_CTR, MIN_IDLE_CTR, and LINK_ERR_ CTR registers are cleared when read. A read cycle of one of the PLC-S registers is initiated by the assertion of the CS signal which is sampled by the rising edge of NPCLK. Once the CS signal is asserted the NPADDR bus and NPRW signals are sampled. The NPRW signal should be high for a read and low for a write. At least one half NPCLK cycle after this edge, the PLC-S will begin to drive the NP bus to allow the chip driving the bus in the previous read or write cycle time to tri-state the NP bus. After the next rising edge of NPCLK (the second rising edge after the assertion of CS), the data on the NP bus will be valid. It will remain valid until the second rising edge of NPCLK after the deassertion of CS. The PLC-S will tri-state the NP bus within 1/2 NPCLK cycle after this clock edge. The timing described above will allow a read cycle every 2 NPCLK periods. However, if the Node Processor needs to extend the read cycle and have the NP bus valid longer than one clock cycle, it can delay the deassertion of the CS signal. For a minimum length read cycle (2 NPCLK periods), the Node Processor must deassert CS a setup time before the second rising edge of NPCLK following the assertion of CS. If CS remains asserted for a hold time after the second rising edge of AMD NPCLK, again with respect to CS being asserted, the PLC-S will continue to drive the NP bus with valid data for two more rising edges of the NPCLK. When CS is kept asserted beyond the initial read cycle, the read cycle extends by two NPCLK periods. The CS signal is sampled on the second and each subsequent rising edge of NPCLK after the initial assertion of CS. The Node Processor can indefinitely extend the read cycle by maintaining the assertion of the CS signal. The Node Processor must deassert and then assert the CS signal for each unique read access. Write Cycle A write cycle is used by the Node Processor to write data into a PLC-S control register. The Node Processor is normally allowed to write to any read-write or write-only register at any time except to the following registers XMIT_VECTOR, VECTOR_LENGTH, TPC_LOAD_ VALUE, and TNE_LOAD_VALUE due to special operating conditions imposed by the PLC-S in their usage. If the Node Processor attempts a write on a readonly register or the special registers mentioned above at a wrong time, the PLC-S sets the NP_ERR bit in the INTR EVENT register. The PLC-S will not modify the contents of the register accessed. The write cycle is very similar to the read cycle. The principal differences are as follows: ■ The NPRW signal must be low while CS is asserted ■ The data to be written must be valid on the second rising edge of NPCLK after CS is asserted The Node Processor must tri-state the NP bus within one half NPCLK period after the second rising edge after the deassertion of CS. Thus, by delaying the deassertion of the CS signal, the Node Processor can extend the write cycle and the time it has to tri-state the NP bus. The deassertion of the CS signal has no effect on the PLC-S during a write cycle. The PLC-S will not attempt to write to a selected register more than once until the CS signal has been deasserted. Thus, to accomplish back to back writes, the Node Processor must deassert the CS signal before attempting the second write. Am79C864A 3-15 AMD PRELIMINARY CS = 1 NPRW = x CS = 1 NPRW = x Idle CS = 0 NPRW = 0 CS = 0 NPRW = 1 CS = 0 NPRW = 1 Read1 Tri-State NP Latch Address Tri-state NP Latch Address Tri-State NP Write1 CS = 0 NPRW = 0 CS = 0 CS = 0 NPRW = 0 NPRW = 1 Drive NP Latch Data Read2 Write2 CS = 0 CS = 1 Read4 Read3 CS = 1 Read5 CS = 0 CS = 0 CS = 0 CS = 1 Write3 Write4 CS = 1 Write5 15535B-5 Figure 1. Node Processor Interface State Machine 3-16 The SUPERNET 2 Family for FDDI 1994 Data Book PRELIMINARY AMD Registers PLC-S Control and Status Registers The PLC-S contains twenty-six 16 bit registers addressed from 00 to 1A (hex). These registers are listed in Table 1. The control and status information for the PLC-S is contained in four registers. Table 1. PLC-S Registers PLC_CNTRL_A has address 00 (hex). It is readable and writable. All bits of this register are cleared with the assertion of RST. PLC_CNTRL_A is used for the following functions: Address (hex) Name Type 00 PLC_CNTRL_A read/write 01 PLC_CNTRL_B read/write 02 INTR_MASK read/write 03 XMIT_VECTOR read/write (Note 1) 04 VECTOR_LENGTH read/write (Note 1) 05 LE_THRESHOLD read/write 06 C_MIN read/write 07 TL_MIN read/write 08 TB_MIN read/write 09 T_OUT read/write 0A PLC_CNTRL_C read/write 0B LC_LENGTH read/write 0C T_SCRUB read/write 0D NS_MAX read/write 0E TPC_LOAD_VALUE write only (Note 2) 0F TNE_LOAD_VALUE write only (Note 3) 10 PLC_STATUS_A read only 11 PLC_STATUS_B read only 12 TPC read only 13 TNE read only 14 CLK_DIV read only 15 BIST_SIGNATURE read only 16 RCV_VECTOR read only 17 INTR_EVENT read only (Note 4) 18 VIOL_SYM_CTR read only (Note 4) 19 MIN_IDLE_CTR read only (Note 4) 1A LINK_ERR_CTR read only (Note 4) PLC-S Control Register A (PLC_CNTRL_A) ■ Timer configuration ■ Specification of PCM MAINT state options ■ Counter interrupt frequency ■ PLC-S data path configuration ■ Execution of PLC-S Built In Self Test Note that several bits of this register can only be written if the PCM is in the OFF or MAINT state. If this register is written when the PCM is in any other state these bits will remain unchanged. The PLC_CNTRL_A register bit assignments are listed in Table 2. Notes: 1. Writable only when the PCM_SIGNALING bit in the PLC_STATUS_B register is not set. 2. Writable only when the PCM is in the MAINT state. 3. Writable only when the PCM is in the MAINT state and the NOISE_TIMER bit in the PLC_CONTROL_A register is not set. 4. Register cleared on read. Am79C864A 3-17 AMD PRELIMINARY Addr (Hex) 00 PLC_CNTRL_A - NOISE TIMER TNE-16 BIT TPC-16 BIT REQSCRUB ENA_ PAR_ CHK 14 13 12 11 10 15 VSYM-CTRINTRS MINICTRINTRS 9 8 LOOP BACK 7 FOTOFF 6 EBLOCLOOP 5 LMLOCLOOP SCBYPASS 4 3 SCREMLOOP 2 RFRUNDISABLE BIST 1 0 15535B-6 Table 2. PLC_CNTRL_A Bit Name Definition 14 NOISE_TIMER The NOISE_TIMER bit allows the noise timing function of the PCM to be used when the PCM is in the MAINT state. This function causes the TNE Timer to be loaded with the value in the NS_MAX register whenever the Line State Machine transitions from Idle Line State to Noise Line State, Active Line State or Unknown Line State. If the timer expires before Idle Line State is recognized, the TNE_EXPIRED bit in the INTR_EVENT register is set. 13 TNE_16BIT When TNE_16BIT is set it causes the TNE Timer to operate as a 16 bit timer. In this mode the 2 bits of the TNE Clock Divider are bypassed and the TNE Timer is incremented every 80 ns. TNE_16BIT can only be written if the PCM is in the OFF or MAINT state. 12 TPC_16BIT When TPC_16BIT is set it causes the TPC Timer to operate as a 16 bit timer. In this mode the 8 bits of the TPC Clock Divider are bypassed and the TPC Timer is incremented every 80 ns. TPC_16BIT can only be written if the PCM is in the OFF or MAINT state. 11 REQ_SCRUB The REQ_SCRUB bit allows limited access to the scrub capability of the PLC-S chip. If the PCM is in the MAINT state or if the CONFIG_CNTRL bit in the PLC_CNTRL_B register is set then the REQ_ SCRUB bit controls the Scrub MUX. If REQ_SCRUB is set then Idle symbols are sourced at the RX 9–0 output port. The output at the TDAT 4–0 output port is controlled separately by the MAINT_LS field in the PLC_CNTRL_B register. This bit may be written at any time, but only takes effect when the PCM is in the MAINT state or if the CONFIG_CNTRL bit in the PLC_CNTRL_B register is set. 10 ENA_PAR_CHK If this bit is set, then parity checking takes place on TX9–0 lines. If reset, then parity checking is disabled. Note: PLC-S supports even parity. 09 VSYM_CTR_INTRS The VSYM_CTR_INTRS bit controls when the VSYM_CTR interrupt bit in the INTR_EVENT register is asserted. When VSYM_CTR_INTRS is set, the interrupt is generated only when the VIOL_SYM_CTR overflows (reaches 256). When VSYM_CTR_INTRS is cleared, the interrupt is generated every time the VIOL_SYM_CTR is incremented (whenever a violation symbol is detected). 08 MINI_CTR_INTRS The MINI_CTR_INTRS bit partially controls when the MINI_CTR interrupt bit in the INTR_EVENT register is asserted. When MINI_CTR_INTRS is set, the interrupt is generated when the Minimum Idle Gap Counter portion of MIN_IDLE_CTR overflows (reaches16). When MINI_CTR_INTRS is cleared, the interrupt is generated every time the counter is incremented (whenever a minimum length Idle gap is detected). Note that this bit does not affect interrupts caused by the Idle Counter Minimum Detector portion of MIN_IDLE_CTR. 07 LOOPBACK When LOOPBACK is set, it causes the LPBCK output pin to be asserted low. This, in turn, causes data to be looped back from the output of the PDT chip to the input of the PDR chip. 15 3-18 Reserved The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY Table 2. PLC_CNTRL_A (continued) Bit Name Definition 06 FOT_OFF The setting of this bit will cause the assertion of the FOTOFF output pin of the PLC-S. Read PLC_CNTRL_C register description for behavior of this signal when scrambling/ descrambling is enabled. 05 EB_LOC_LOOP When EB_LOC_LOOP is set, a loopback path is set up in the PLC-S chip just prior to the framer. Data from the PLC-S transit path are looped back to the input of the Framer. This loopback path is also set up when the PLC-S is executing its Built In Self Test. Note that this bit also controls which clock the Framer and Elasticity Buffer use. When it is not set, the Recovered Byte Clock is derived from the RSCLK input pin, and when it is set, the BCLK is used. Thus, when this bit gets set, a clock glitch could be created which could cause receive data to be indeterminate for a clock cycle, spurious interrupts, and unknown values in the event counters. EB_LOC_LOOP can only be written if the PCM is in the OFF or MAINT state. 04 LM_LOC_LOOP When LM_LOC_LOOP is set a loopback path is set up in the PLC-S chip such that data from TX 9–0 are passed through the PLC-S transmit path and looped back to the input of the receive path just after the Elasticity Buffer at the LM Local Loopback MUX. This loopback path differs from EB_LOC_LOOP in that the Framer and Elasticity Buffer are bypassed. LM_LOC_LOOP can only be written if the PCM is in the OFF or MAINT state. 03 SC_BYPASS The SC_BYPASS bit provides limited control over the PLC-S’s data path by providing a physical bypass of the PLC-S. If the PCM is in the MAINT state or if the CONFIG_CNTRL bit in the PLC_CNTRL_B register is set, then the SC_BYPASS bit controls the Bypass MUX. If both SC_BYPASS and REQ_ SCRUB are asserted then RX 9–0 is driven with Idle symbols. If SC_BYPASS is asserted and REQ_SCRUB cleared, then RX 9–0 is driven by the data entering the PLC-S at the TX 9–0 input. Otherwise, RX 9–0 is driven by the data entering the PLC-S at the RDAT 4–0 input. This bit may be written at any time, but only takes effect when the PCM is in its MAINT state or if the CONFIG_CNTRL bit in the PLC_CNTRL_B register is set. SC_BYPASS REQ_SCRUB RX 9–0 SET SET IDLE SET RESET TX 9–0 RESET RESET RDAT 4–0 RESET SET RDAT 4–0 02 SC_REM_LOOP When SC_REM_LOOP is set, a remote loopback path is set up inside the PLC-S where symbols from the receive data path are looped back onto the transmit data path, traversing all of both paths except for the receive data output latch and the transmit data input latch. If the PCM is in the MAINT state or if the CONFIG_CNTRL bit in the PLC_CNTRL_B register is set, then the SC_REM_LOOP bit controls the Remote Loopback MUX. This loopback is used by the PCM to control the configuration and can be used to monitor the ring or otherwise control configuration during normal operation. This bit only has effect if the EB_LOC_LOOP, LM_LOC_LOOP and CIPHER_LPBCK bits are not set. This bit may be written at any time, but only takes effect when the PCM is in the MAINT state or if the CONFIG_CNTRL bit in the PLC_CNTRL_B register is set. 01 RF_DISABLE When RF_DISABLE is set, it disables the Repeat Filter state machine in the PLC-S. 00 RUN_BIST When RUN_BIST is set, it causes the PLC-S to begin running its Built In Self Test. The completion of BIST is indicated via an interrupt. BIST can be stopped before completion by clearing this bit. Once BIST has completed, this bit must be cleared and set again before BIST will restart. For more detail, refer to pages 30 and 42 . Reset PLC-S before setting this bit. Am79C864A 3-19 AMD PRELIMINARY PLC-S Control Register B (PLC_CNTRL_B) PLC_CNTRL_B has address 01 (hex). It is readable and writeable. All bits of this register are cleared with the assertion of RST. PLC_CNTRL_B contains signals and requests to direct the process of physical connection Addr (Hex) 01 management. It is also used to control the Line State Match interrupt. The PLC_CNTRL_B register bit assignments are listed in Table 3. PLC_CNTRL_B CONFIG CNTRL 15 MATCH LS MATCH LS MATCH LS MATCH LS MAINT LS MAINT LS MAINT LS CLASS S PC LOOP 14 13 12 11 10 9 8 7 6 PC LOOP 5 PC JOIN 4 LONG 3 PC MAINT 2 PCM CNTRL PCM CNTRL 1 0 15535B-7 Table 3. PLC_CNTRL_B Bit Name Definition 15 CONFIG_CNTRL The CONFIG_CNTRL bit allows control over the Scrub, Bypass, and Remote Loopback datapath MUXes while the PCM is in normal operation. If this bit is set, then the REQ_SCRUB, SC_BYPASS, and SC_REM_LOOP bits in the PLC_CNTRL_A register will have effect regardless of the state of the PCM. If this bit is not set then the REQ_SCRUB, SC_BYPASS and SC_REM_LOOP bits will only have effect if the PCM is in the MAINT state. MATCH_LS The MATCH_LS field specifies line states to be compared with the currently detected line state (as defined by LINE_ST in the PLC_STATUS_A register). When a match occurs, the LS_MATCH interrupt bit in the INTR_EVENT register is asserted. Each bit of MATCH_LS corresponds to a line state. If more than one bit is set, the interrupt is signalled if any of the line states match the current line state. If no bits are set, the interrupt is signalled on any change in the LINE_ST field or the UNKN_LINE_ST bit. It is defined as follows: 14–11 MATCH_LS Description 0000 Interrupt on any change in LINE_ST or UNKN_LINE_ST 1XXX Interrupt on Quiet Line State X1XX Interrupt on Master Line State XX1X Interrupt on Halt Line State XXX1 Interrupt on Idle Line State In the above table, ”X” means don’t care. Also Idle Line State refers to ILS16, which is signalled only after sixteen Idle symbols (eight Idle bytes) have been received. 10–8 MAINT_LS The MAINT_LS field defines the line state the PCM will source while in the MAINT state. The PCM enters the MAINT state from the OFF state if the PC_MAINT bit is asserted. It is further defined as follows: MAINT_LS 3-20 Description 000 Transmit QUIET Line State 001 Transmit IDLE Line State 010 Transmit HALT Line State 011 Transmit MASTER Line State 100 Transmit QUIET Line State 101 Transmit QUIET Line State 110 Transmit PDR (Transmit PHY_DATA request)––the symbol stream at TX 9–0 is transmitted 111 Transmit QUIET Line State The SUPERNET 2 Family for FDDI 1994 Data Book PRELIMINARY AMD Table 3. PLC_CNTRL_B (continued) Bit Name Definition 07 CLASS_S When CLASS_S is set, signifying that the PHY is a single attach station, the station will not be bypassed before the PCM gets to the ACTIVE state. Note that this bit has effect when the PCM is in normal operation. When the PCM is in the MAINT state, the REQ_SCRUB and SC_BYPASS bits in the PLC_CNTRL_A register control the bypass operation. This bit can only be changed when the PCM is in the OFF state. If this bit is written when the PCM is in any other state, the change will be ignored. 06–05 PC_LOOP PC_LOOP controls the loopback used in the Link Confidence Test (LCT). When it is set to a value other than zero and the PCM is in the NEXT state, the PCM will perform the LCT in one of three ways. The following table describes the action taken according to the value of the two bits: PC_LOOP Description 00 No LCT is performed 01 The PCM asserts Transmit PDR. This assumes that Protocol Data Units (PDUs) will be input at TX(9–0). 10 The PCM asserts Transmit Idle. This causes the PLC-S to source Idle symbols. 11 The PCM asserts Transmit PDR and sets up a remote loopback path in the PLC-S. PC_LOOP should only be written after the PCM_CODE interrupt has been generated. If the PCM is not in the NEXT state, or if PCM_SIGNALING is set, then any value written to this field will be ignored. Once PC_LOOP has been written, it must be cleared and then written again to perform another LCT. 04 PC_JOIN When PC_JOIN is set and the PCM is in the NEXT state, the PCM will transition to the JOIN state and the PCM join sequence will be started. PC_JOIN should only be written after the PCM_CODE interrupt has been generated. If the PCM is not in the NEXT state or if PCM_SIGNALING is set, then any value written to this field will be ignored. After this bit is set, it must be cleared and then set again to cause another transition from the NEXT state to the JOIN state. Note that if PC_JOIN is set after the LCT has been started but before it has completed, then the LCT will be aborted and the PCM join sequence started. 03 LONG When LONG is set, the PCM will perform a long LCT; that is, it will continue the test until the processor issues a PC_SIGNAL (i.e., a write to XMIT_VECTOR register), PC_JOIN, or other command. Otherwise it will perform a LCT, that is, it will stop the test after the length of time indicated in the LC_LENGTH register. In either case LCT will stop whenever Master Line State or Halt Line State is detected, indicating that the neighboring station has completed its LCT and has started signaling. 02 PC_MAINT When PC_MAINT is set, the PCM state machine transitions to the MAINT state if it is currently in the OFF state. If the PCM is not in the OFF state when this bit is written, and subsequently transitions to the OFF state, it will immediately transition to the MAINT state. Am79C864A 3-21 AMD PRELIMINARY Table 3. PLC_CNTRL_B (continued) Bit 01–00 Name Definition PCM_CNTRL PCM_CNTRL controls the PCM state machine. When set to a value other than zero, it will cause the PCM to immediately make a transition to the BREAK, TRACE or OFF state. The transition to the BREAK or OFF state will occur regardless of the state the PCM is in at the time. The transition to the TRACE state will only be made if the PCM is in the ACTIVE state, otherwise PCM_CNTRL will be ignored. The following table describes the action taken according to the value of the two bits: PCM_CNTRL Description 00 The PCM state is not affected 01 The PCM goes to the BREAK state (PC_Start) 10 The PCM goes to the TRACE state (PC_Trace) 11 The PCM goes to the OFF state (PC_Stop) After a PC_Start (PCM_CNTRL=01) has been issued and before another one can be issued, PCM_CNTRL must first be written with zero and then written with the PC_Start value again. Note that if the PCM goes to the BREAK state for a reason other than writing PCM_CNTRL (e.g. QLS is received, or a timeout occurs), the PCM will not go to the CONNECT state and will remain in the BREAK state until PCM_CNTRL is written with the PC_Start value. If the PCI is in the INSERTED state when PC_Start or PC_Stop is issued, scrubbing will be performed. If the PCI is in the INSERT_SCRUB or REMOVE_SCRUB state when PC_Start or PC_Stop is issued, the scrubbing will be completed before the PCM enters the BREAK or OFF state. 3-22 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY PLC-S Control Register C (PLC_CNTRL_C) The PLC_CNTRL_C register bit assignments are listed in Table 4. PLC_CNTRL_C has address OA (hex). It is readable and writeable. Bits 1 through 15 are cleared with the assertion of RST. Bit 0 (CIPHER_ENABLE) assumes the same value as SCRM after RST is asserted. PLC_CNTRL_C Addr (Hex) 0A RESERVED 15 14 SDOFF_ TIMER SDOFF_ TIMER SDON_ TIMER SDON_ TIMER 13 12 11 10 FOTOFF_ FOTOFF_ CTRL CTRL 9 8 SDON_ ENABLE 7 SDOFF_ ENABLE 6 CIPHER_ CIPHER_ LPBCK ENABLE RESERVED 5 4 3 2 1 0 15535B-8 Table 4. PLC_CNTRL_C Bit Name Definition 15–14 RESERVED These two bits are reserved for diagnostic purposes and must be 0 for normal operation. 13–12 SDOFF_TIMER These two bits are used to select the timing values shown for deasserting Signal_Detect ENABLE bit is set and scrambler/descrambler is enabled either (by SCRM or CIPHER_ ENABLE) 00=0.76 µs 01=1.32 µs 10=2.52 µs 11=5.12 µs 11–10 SDON_TIMER These two bits are used to select the timing values shown for asserting Signal_Detect if SDON_ ENABLE bit is set and scrambler/descrambler is enabled either by hardware or software. 00=0.84 µs 01=1.32 µs 10=2.52 µs 11=5.12 µs 9–8 FOTOFF _CTRL These two bits are used to control the assertion of FOTOFF signal of PLC-S if scrambler/ descrambler is enabled either (by SCRM or CIPHER_ENABLE). The following timing delays are with respect to the time from which PLC-S output scrambled Quiet symbols on TDAT lines. 00=Timer is bypassed (i.e., FOTOFF is asserted at the same time when scrambled Quiet symbols are output on TDAT lines) 01=30 µs delay 10=50 µs delay 11=FOTOFF is never asserted 7 SDON_ENABLE If this bit is set and scrambler/descrambler is enabled (by SCRM or CIPHER_ENABLE), then SDON_TIMER bits (11–10) will determine the delay for asserting the Signal_Detect signal. During this time, the descrambler is allowed to acquire synchronization of its input stream. 6 SDOFF_ENABLE If this bit is set and scrambler/descrambler is enabled (bySCRM or CIPHER_ENABLE ), then SDOFF_TIMER bits (13–12) will determine the delay for deasserting the Signal_Detect signal. RESERVED Bits 5–2 are reserved and should be set to 0. 1 CIPHER_LPBCK If this bit is set, then the output of the scrambler is looped back to the input of the descrambler (within PLC-S). 0 CIPHER_ENABLE This bit is used to enable and disable the scrambler/descrambler function if SCRM (pin #41) is not asserted. If SCRM is asserted, this bit is automatically set to 1. If SCRM is not asserted, the value of this bit is determined by software. The default state (SCRM not asserted) is 0. 5–2 Am79C864A 3-23 AMD PRELIMINARY PLC-S Status Register A (PLC_STATUS_A) PLC_STATUS_A has address 10 (hex). It is read-only. It is used to report status information to the Node Processor about the Line State Machine (LSM). Addr (Hex) The PLC_STATUS_A register bit assignments are listed in Table 5. PLC_STATUS_A 10 REVISION_ID 15 14 13 12 SIGNAL DETECT PREV LINE ST PREV LINE ST LINE ST 10 9 8 7 11 LINE ST LINE ST 6 5 LSM STATE UNKN LINE ST SYM PR CTR SYM PR CTR 4 3 2 1 SYM PR CTR 0 15535B-10 Table 5. PLC_STATUS_A Bit 15–11 10 09–08 07–05 Name Definition REVISION_ID These bits give the revision identification. For Am79864A (PLC-S), these bits equal ‘11111’. For Am79C864 (PLC), these bits equal ‘00000’. SIGNAL_DETECT This bit, when set, indicates that signal detect is deasserted. If SDO equals zero, then SIGNAL_DETECT is one; if SDO equals one, then SIGNAL_DETECT is zero. PREV_LINE_ST This field contains the value of the previous line state whenever line state changes from Quiet Line State, Master Line State, Halt Line State or Idle Line State (ILS16, where ILS16 is achieved after 16 idle symbols) to another line state. When the line state changes from anything else, this field will not be updated. It is further defined as follows: LINE_ST PREV_LINE_ST Description 00 Quiet Line State (QLS) 01 Master Line State (MLS) 10 Halt Line State (HLS) 11 Idle Line State (ILS16 – achieved after 16 Idle symbols) This field contains the most recently recognized Line State by the LSM. LINE_ST is further defined as follows: LINE_ST Description 000 Noise Line State (NLS) 001 Active Line State (ALS) 010 Undefined 011 Idle Line State (ILS4 – achieved after 4 Idle symbols) 100 Quiet Line State (QLS) 101 Master Line State (MLS) 110 Halt Line State (HLS) 111 Idle Line State (ILS16 – achieved after 16 Idle symbols) 04 LSM_STATE This field contains the state bit of the LSM state machine. 03 UNKN_LINE_ST This bit is the Unknown Line State Bit from the LSM. Since a minimum of sixteen symbols is required to satisfy the entry conditions of a line state (four symbols in the case of Idle Line State), the LSM uses this bit to indicate it is attempting to recognize a new line state. This bit is set to a one when the line state is unknown and reset to a zero when known. SYM_PR_CTR This field contains the LSM Symbol Pair Counter. When the count reaches seven, indicating eight consecutive like symbol pairs, then Current Line State is set with the new line state and the Unknown Line State Bit is reset. Note that Idle Line State (ILS4) is reached after just two Idle symbol pairs. 02–00 3-24 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY PLC-S Status Register B (PLC_STATUS_B) The PLC_STATUS_B register bit assignments are listed in Table 6. PLC_STATUS_B has address 11 (hex). It is read-only. It contains signals and status from the Repeat Filter and Physical Connection Management state machine (PCM). Addr (Hex) 11 PLC_STATUS_B RF STATE 15 RF STATE PCI STATE PCI STATE PCI SCRUB PCM STATE PCM STATE PCM STATE PCM STATE 14 13 12 11 10 9 8 7 PCM SIGNAL 6 LSF 5 RCF 4 TCF 3 BREAK BREAK BREAK REASON REASON REASON 2 1 0 15535B-11 Table 6. PLC_STATUS_B Bit 15–14 13–12 Name Definition RF_STATE This field contains the state bits of the Repeat Filter state machine. The states are defined as follows: PCI_STATE RF_STATE Name 00 REPEAT 01 IDLE 10 HALT1 11 HALT2 This field contains the state bits of the Physical Connection Insertion state machine. The states are defined as follows: PCI_STATE Name 00 REMOVED 01 INSERT_SCRUB 10 REMOVE_SCRUB 11 INSERTED 11 PCI_SCRUB The PCI_SCRUB flag indicates that the scrubbing function is being executed, that is Idle symbol pairs are being sourced on the RX output pins. 10–07 PCM_STATE This field contains the state bits of the Physical Connection Management state machine. The states are defined as follows: PCM_STATE Name 0000 PC0 (OFF) 0001 PC1 (BREAK) 0010 PC2 (TRACE) 0011 PC3 (CONNECT) 0100 PC4 (NEXT) 0101 PC5 (SIGNAL) 0110 PC6 (JOIN) 0111 PC7 (VERIFY) 1000 PC8 (ACTIVE) 1001 PC9 (MAINT) 1010–1111 Reserved Am79C864A 3-25 AMD PRELIMINARY Table 6. PLC_STATUS_B (continued) Bit Name Definition 06 PCM_SIGNALING PCM_SIGNALING is a flag from the PCM indicating that the XMIT_VECTOR register has been written. The XMIT_VECTOR and VECTOR_LENGTH registers cannot be written when this flag is set. 05 LSF The Line State Flag is used by the PCM to indicate that a given line state has been received since entering the current state. It is cleared on every change of PCM state. 04 RCF The Receive Code Flag is used by the PCM to indicate that the Receive Pseudo Code has started execution. This flag is used to prevent the Receive Pseudo Code from being started multiple times while in the NEXT state. 03 TCF The Transmit Code Flag is used by the PCM to indicate that the Transmit Pseudo Code has started execution. This flag is used to prevent the Transmit Pseudo Code from being started multiple times while in the NEXT state. BREAK_REASON This field indicates the reason for the PCM state machine’s last transition to the BREAK state. It is defined as follows: 02–00 BREAK_REASON Description 000 The PCM state machine has not gone to the BREAK state. 001 PC_Start issued 010 TPC Timer expired after T_OUT 011 TNE Timer expired after NS_MAX 100 Quiet Line State detected 101 Idle Line State detected 110 Halt Line State detected 111 Reserved Physical Connection Management (PCM) Timers The PCM contains two timers, TPC and TNE. Both timers have a clock divider circuit to reduce the frequency at which they are clocked. TPC Timer The TPC Timer is a 16-bit timer. In normal operation it is read-only by the Node Processor. TPC is read at address 12 (hex). When the PCM is in the MAINT state a value can be written to TPC by writing TPC_LOAD_ VALUE at address 0E. The TPC Timer is incremented by the output of an 8-bit clock divider circuit. It is incremented every 20.48 µs (28 times 80 ns). The value in the TPC Clock Divider is contained in bits 7 through 0 of the CLK_DIV register at address 14 (hex). The TPC Timer is used while the PCM is attempting to establish a physical connection with a neighboring PCM. It is used to ensure that state transitions proceed at the desired rate. The timer is loaded with a two’s complement value and counts up until it reaches zero. In normal operation the timer is loaded by the PCM from the TPC Timing Parameter Registers, which contain the two’s complement of the time value in 20.48 µs units. At the same time the TPC Timer is loaded, the TPC Clock Divider is loaded with zero. 3-26 When the PCM is in the MAINT state, the TPC Timer can be loaded directly from the Node Processor. The Node Processor accomplishes this by writing a 16-bit value which is loaded into the timer (the TPC Clock Divider is loaded with zero). The value written is the two’s complement of the time in 20.48 µs units. If the PCM is not in the MAINT state when a write is attempted to the TPC timer, the NP_ERR bit in the INTR_EVENT register will be set and the timer will not be loaded. The timer may also be used in 16-bit mode, where the TPC Clock Divider is bypassed and the timer is incremented every 80 ns when in operation. In this mode the value loaded into the timer is the two’s complement of the time remaining in 80 ns units. This feature, controlled by the TPC_16BIT bit in the PLC_CNTRL_A register, is intended for test purposes, where it is desirable to run the timer for only short periods of time. TNE Timer The TNE Timer is a 16-bit timer. In normal operation it is read-only by the Node Processor. TNE is read at address 13 (hex). When the PCM is in the MAINT state and the NOISE_TIMER bit in the PLC_CNTRL_A register is not set, a value can be written to TNE by writing TNE_LOAD_VALUE at address 0F. The TNE Timer is incremented by the output of a 2-bit clock divider circuit. It is incremented every 0.32 µs (22 times 80 ns). The SUPERNET 2 Family for FDDI 1994 Data Book PRELIMINARY The value in the TNE Clock Divider is contained in bits 9 and 8 of the CLK_DIV at address 14 (hex). The TNE Timer is used to time the length of (potential) noise events while the PCM is in the ACTIVE state. The TNE Timer is started whenever the Line State Machine transitions from Idle Line State to Noise Line State, Active Line State, or Unknown Line State. If the timer expires before the LSM recognizes Idle Line State again, the PCM transitions to the BREAK state. The timer is loaded with a two’s complement value and counts up until it reaches zero. In normal operation the timer is loaded by the PCM from the NS_MAX Timing Parameter Register, which contains the two’s complement of the time value in 0.32 µs units, whenever the LSM leaves Idle Line State. At the same time the TNE Timer is loaded, the TNE Clock Divider is loaded with zero. When the PCM is in the MAINT state the TNE timer can be loaded directly from the Node Processor. The Node Processor accomplishes this by writing a 16-bit value which is loaded into the timer (the TNE Clock Divider is loaded with zero). The value written is the two’s complement of the time in 0.32 µs units. If the PCM is not in the MAINT state when a write is attempted to the TNE timer, the NP_ERR bit in the INTR_EVENT register will be set and the timer will not be loaded. Note that through use of the NOISE_TIMER bit in the PLC_CNTRL_A register, the TNE Timer can be used to time noise duration when the PCM is in the MAINT state without the timer having to be explicitly loaded by the Node Processor. The Node Processor should not attempt to load the TNE Timer when the NOISE_TIMER bit in the PLC_CNTRL_A is set. If this condition is violated the NP_ERR bit in the INTR_EVENT register will be set and the timer will not be loaded. The timer may also be used in 16-bit mode, where the TNE Clock Divider is bypassed and the timer is incremented every 80 ns when in operation. In this mode the value loaded into the timer is the two’s complement of the time remaining in 80 ns units. This feature, controlled by the TNE_16BIT bit in the PLC_CNTRL_A register, is intended for test purposes, where it is desirable to run the timer for only short periods of time. Physical Connection Management Timing Parameters The PCM uses a number of different timing parameters while forming a physical connection. The parameters are programmable and must be written by the node processor. The registers are readable at any time. The parameters are 16 bits in length and are loaded into the TPC Timer. They hold the two’s complement of the time in 20.48 µs (28 times 80 ns) units. They have a maximum value of about 1.34 seconds (216 times 20.48 µs). When the TPC Timer is in 16-bit mode the timing parameters AMD are the two’s complement of the time in 80 ns units and can have a maximum value of about 5.24 ms (216 times 80 ns). In addition to the TPC Timing Parameters, there is one timing parameter used by the TNE Timer. Unlike the TPC Timing Parameters, NS_MAX holds the two’s complement of the time in 0.32 µs (22 times 80 ns) units. It can have a maximum value of about 20.97 ms (216 times 0.32 µs). When the TNE Timer is in 16-bit mode, NS_MAX is the two’s complement of the time in 80 ns units and can have a maximum value of about 5.24 ms (216 times 80 ns). Table 7 summarizes the PCM timing parameters. Minimum Connect State Time Register (C_Min) The Minimum Connect State Time (C_Min) register has address 06 (hex). It has a recommended value of 1.6 ms (FFB2 hex in 2’s complement). This is the minimum time required to remain in the Connect State to assure that the other end has recognized HALT Line State. Minimum Line State Transmit Time Register (TL_Min) The Minimum Line State Transmit Time Register (TL_Min) has address 07 (hex). It has a recommended value of 0.03 ms (FFFE hex in 2’s complement). This is the minimum time required to transmit a Line State before advancing to the next PCM state. Minimum Break Time Register (TB_MIN) The Minimum Break Time (TB_MIN) register has address 08 (hex). It has a recommended value of 5 ms (FF10 hex in 2’s complement). When PCM performs a break (in state BREAK), the break shall be of adequate length to allow time for a response to be seen on the inbound physical link. This time allows for the possibility of a bypass failure mode in this or a neighboring station that could cause four PHYs to be connected in a loop and produce an invalid response to the break. The minimum break time guarantees that in this case the response to the break will propagate around the loop and be seen on the inbound link. Signaling Timeout Register (T_OUT) The Signaling Timeout (T_OUT) register has address 09 (hex). It has a recommended value of 100 ms (ECED hex in 2’s complement). A response from a neighboring PCM must be received by T_OUT. When a response is expected and no transition is made in T_OUT time, a transition is made to the BREAK state. Link Confidence Test Time Register (LC_LENGTH) The Link Confidence Test (LCT) Time register (LC_LENGTH) has address 0B (hex). This register specifies the time duration of the LCT and limits the duration of loopback to prevent deadlock. It has a recommended value of 50 ms (F676 hex in 2’s complement) Am79C864A 3-27 AMD PRELIMINARY for the short LCT. For medium LCT, it has a recommended value of 500 ms (A0A2 hex in 2’s complement). etc., up to the number of bits specified in the VECTOR_LENGTH register. Scrub Time Register (T_SCRUB) Writing this register causes PCM_SIGNALING to be asserted. Therefore, the VECTOR_LENGTH register must be initialized before this register is written. The Scrub Time (T_SCRUB) register has address 0C (hex). It has a recommended value of 3.5 ms. T_SCRUB is the same as the MAC TVX time. Its use is described in the Physical Connection Insertion Process functional description. Noise Time Register (NS_MAX) The Noise Time (NS_MAX) register has address 0D (hex). It has a recommended value of 2 ms. NS_MAX is the maximum length of time that noise is tolerated before a connection is broken down. Table 7 summarizes the recommended values for the timing parameter registers. Also shown is the 2’s complement, hexadecimal equivalent of the recommended value and the timer used for the parameter. Table 7. Summary of PCM Timing Parameters Parameter Recommended Register Value Address Value (ms) (2’s comp/hex) Timer (hex) C_MIN 1.6 FFB2 TPC 06 TL_MIN 0.03 FFFE TPC 07 TB_MIN 5 FF10 TPC 08 T_OUT 100 ECED TPC 09 LC_LENGTH 50 F676 TPC 0B LC_LENGTH 500 A0A2 TPC 0B T_SCRUB 3.5 FF6D TPC 0C NS_MAX 2 E796 TNE 0D Physical Connection Management Bit Signaling Registers The PLC-S contains three registers used by the PCM to perform bit signaling. Bit signaling is the mechanism the PCM uses to transfer information to the PCM in the neighboring station. Transmit Vector Register (XMIT_VECTOR) The Transmit Vector register has address 03 (hex). It is readable and writable. All bits of the register are cleared with the assertion of RST. The PCM_SIGNALING bit must not be asserted in order to write to this register. If PCM_SIGNALING is asserted when a write is attempted, the register will not be written and the NP_ERR bit in the INTR_EVENT register will be set. This register is readable at any time. The Transmit Vector consists of from one to sixteen bits of data to be transmitted to the neighboring PCM. Bits are transmitted one at a time by the bit signaling mechanism. A one bit is represented by the transmission of Halt Line State and a zero bit by Master Line State. Bit 0 of this register is the first bit to be transmitted, then bit 1, 3-28 Transmit Vector Length Register (VECTOR_LENGTH) The Transmit Vector Length register has address 04 (hex). It is readable and writable. All bits of the register are cleared with the assertion of RST. The PCM_SIGNALING bit must not be asserted in order to write to this register. If PCM_SIGNALING is asserted when a write is attempted, the register will not be written and the NP_ERR bit in the INTR_EVENT register will be set. This register is readable at any time. Bits 15 through 4 of this register are unused. Any value written to these bits will be ignored. These bits will always be read as zeros. Bits 3 through 0 of this register contain the number of bits in the XMIT_VECTOR register to transmit. The value in this field (0 to 15) is actually one less than the number of bits to transmit (1 to 16). Receive Vector Register (RCV_VECTOR) The Receive Vector register has address 16 (hex). It is read-only. The Receive Vector consists of from one to sixteen bits of data received from the neighboring PCM. Bits are received at the same time bits are being transmitted. As bit n is being transmitted from the Transmit Vector, bit n is received and placed in the Receive Vector register. If Halt Line State is received, then bit n is a one, and if Master Line State is received then bit n is a zero. Bit 0 of this register is the first bit received, then bit 1, etc., up to the number of bits specified in the VECTOR_ LENGTH register. Although this register is readable at any time, if PCM_SIGNALING bit is asserted when this register is read the data may be incomplete. Event Counters The PLC-S contains three event counter registers and one threshold value register (used for gathering information about errors occurring on its associated physical link and for monitoring Idle symbol gaps between packets). Violation Symbol Counter (VIOL_SYM_CTR) The Violation Symbol Counter has address 18 (hex). It is read-only and is cleared whenever it is read as well as when RST is asserted. The high order 8 bits of the register will always be read as zeros. The low order 8 bits will contain the counter value. The VSYM_CTR bit in the The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY INTR_EVENT register is set whenever the counter increments or whenever the counter overflows (reaches 256), depending on the setting of the VSYM_CTR_INTRS bit in the PLC_CNTRL_A register. When the counter overflows it wraps to zero and continues to count. Table 9. Minimum Idle Gap Counter MIN_IDLE_CTR 3–0 Minimum Idle Occurrence Count 0000 1 1000 2 The Violation Symbol Counter is incremented whenever the 4B/5B decoder in the PLC-S decodes a violation symbol. See the Decoder description for the symbols considered to be violation symbols by the Decoder. They are represented as a “V” in Table 15. 1100 3 0100 4 0101 5 0111 6 Minimum Idle Counter (MIN_IDLE_CTR) 1111 7 The Minimum Idle Counter has address 19 (hex). It is read-only and is cleared whenever it is read as well as when RST is asserted. The high order 9 bits of the register will always be read as zeros. 1110 8 1010 9 0010 10 0011 11 0001 12 1001 13 1101 14 0110 15 1011 16 Bits 6 through 4 of the counter contain the value in the Idle Counter Minimum Detector. This is the minimum number of inter-packet Idle symbol pairs seen since the counter was last reset. It gets reset to 7. Whenever the value changes to a lower value, the MINI_CTR bit in the INTR_EVENT register is set. The Idle symbol pair count definitions are given in Table 8. Link Error Event Counter (LINK_ERR_CTR) Table 8. Idle Counter Minimum Detector MIN_IDLE_CTR 6–4 Idle Symbol Pair Count 100 7 or more 101 6 111 5 110 4 010 3 011 2 001 1 000 0 Bits 3 through 0 of the counter contain the value in the Minimum Idle Gap Counter. This is the number of times the minimum number of inter-packet Idles has been seen since the last reset. It gets reset to 1. The MINI_CTR bit in the INTR_EVENT register is set whenever the counter increments or whenever the counter overflows (reaches 16), depending on the setting of the MINI_CTR_INTRS bit in the PLC_CNTRL_A register. When the counter overflows, it remains at 16. The minimum Idle occurrence count definitions are given in Table 9. The Link Error Event Counter has address 1A (hex). It is read-only and is cleared whenever it is read as well as when RST is asserted. It is an 8-bit counter contained in bits 7 through 0 of the register. Bits 15 through 8 of the register will always be read as zeros. The LE_CTR bit in the INTR_EVENT register is set whenever the counter reaches the value contained in the LE_THRESHOLD register. The counter will continue to count past this point. When the counter overflows (reaches 256), it wraps to zero and continues to count. The Link Error Event Counter is part of the Link Error Monitor (LEM) and is implemented in the PLC-S. The LEM monitors Bit Error Rate (BER) of an active link and detects and isolates physical links having an inadequate BER, e.g. due to a marginal link quality, link degradation or connector unplugging. In addition to the counter, the PLC-S also contains logic to detect link error events. Link error events are defined in Table 12. Am79C864A 3-29 AMD PRELIMINARY Link Error Event Threshold Register (LE_THRESHOLD) The Link Error Event Threshold register has address 05 (hex). It is readable and writeable and is cleared on the assertion of RST. Bits 7 through 0 of this register contain a value that controls when the LE_CTR bit in the INTR_EVENT register is set. Whenever the value in the LINK_ERR_CTR reaches the value contained in this register the LE_CTR bit will be set. Bits 15 through 8 are ignored and will always be read as zeros. Interrupt Registers The PLC-S has two interrupt registers which correspond bit-for-bit. One of the registers contains bits set by interrupt events and the other a mask which enables or disables the assertion of the INT pin due to a corresponding interrupt event. is read, as well as when RST is asserted. It is used by the PLC-S to report events to the node processor. Individual bits are set by the PLC-S for the particular event occurrences. When an interrupt is generated (via the INT pin), the node processor should read this register to identify the source(s) of the interrupt. Note that while the RUN_BIST bit in the PLC_CNTRL_A register is set, all interrupts are masked (prevented from asserting the INT pin) except BIST_DONE. Since this is the only interrupt that can occur in this situation, BIST_DONE need not occupy a bit in the INTR_EVENT register. The interrupt is cleared by clearing the RUN_BIST bit in the PLC_CNTRL_A register. The INTR_EVENT register bit assignments are listed in Table 10. Interrupt Event Register (INTR_EVENT) The Interrupt Event Register (INTR_EVENT) has address 17 (hex). It is read-only and is cleared whenever it 3-30 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY Addr (Hex) 17 INTR-EVENT NP ERR LSDO IE CTR MINI CTR VSYM CTR PHYINV EBUF ERR 15 14 13 12 11 10 9 TNE TPC PCM PCM EXPIRED EXPIRED ENABLED BREAK 8 7 6 5 SELF TEST TRACE PROP PCM CODE LS MATCH 4 3 2 1 PARITY ERR 0 15535B-12 Table 10. INTR_EVENT Register Bit Name Definition 15 NP_ERR An event indicating that the Node Processor has requested a read or write to an invalid register. This case includes a write to a read-only register (such as this one), a read of a write-only register, a write to a XMIT_VECTOR or VECTOR_LENGTH register when PCM_SIGNALLING is set, a write to the TPC Timer register while the PCM is not in the MAINT state, and a write to the TNE Timer register while the PCM is not in the MAINT state or NOISE_TIMER is set. 14 LSDO This bit is set whenever SD0 pin is asserted. 13 LE_CTR An event indicating that the Link Error Event Counter has reached the value contained in the LE_THRESHOLD register. 12 MINI_CTR Indicates that either of two events has occurred in the MIN_IDLE_CTR: the Idle Counter Minimum Detector has changed to a lower value; or, the Minimum Idle Gap Counter has incremented or overflowed, depending on the MINI_CTR_INTRS bit in the PLC_CNTRL_A register. 11 VSYM_CTR An event indicating that a Violation Symbol Counter has incremented or overflowed, depending on the VSYM_CTR_INTRS bit in the PLC_CNTRL_A register. 10 PHYINV An event indicating that the Physical Layer Invalid signal has been asserted. 09 EBUF_ERR An event indicating that the Elasticity Buffer has detected an overflow or underflow. 08 TNE_EXPIRED An event indicating that the TNE Timer has expired, i.e. reached zero. 07 TPC_EXPIRED An event indicating that the TPC Timer has expired, i.e. reached zero. 06 PCM_ENABLED An event indicating the PCM has asserted SC_JOIN, has completed scrubbing, and is in the ACTIVE state. 05 PCM_BREAK An event indicating the PCM has entered the BREAK state. 04 SELF_TEST An event indicating Quiet or Halt Line State has been received while the PCM is in the TRACE state. 03 TRACE_PROP An event indicating that Master Line State has been received while the PCM is in the ACTIVE or TRACE state. 02 PCM_CODE An event indicating the PCM has completed transmitting the last bit in the vector written to the XMIT_VECTOR register and has received the corresponding bit of the RCV_VECTOR, or that the Link Confidence Test has completed. In the case where signalling has completed, PCM_CODE will not be set until the RCF flag has been set again. 01 LS_MATCH An event indicating that the line state detected equals the line state in the MATCH_LS field of the PLC_CNTRL_B register. 00 PARITY_ERR An event indicating that a parity error has been detected on the TX 9–0 input pins. This bit will not be set if ENA_PAR_CHK bit in PLC_CNTRL_A register is cleared. Am79C864A 3-31 AMD PRELIMINARY Interrupt Mask Register (INTR_MASK) The Interrupt Mask Register (INTR_MASK) has address 02 (hex). It is readable and writeable. It allows the disabling of interrupts caused by specific events. The INTR_MASK contains a bit that corresponds to each bit of the INTR_EVENT register that, when clear, prohibits that condition from causing an interrupt to the node Addr (Hex) 02 processor. For each set bit, the setting of the corresponding bit in the INTR_EVENT will generate an interrupt to the node processor via the INT pin of the PLC-S. Note however, that the operation of a bit in the INTR_EVENT remains unchanged by the state of the corresponding bit in the INTR_MASK. All bits of this register are cleared with the assertion of RST. INTR-MASK NP ERR LSDO IE CTR MINI CTR VSYM CTR PHYINV EBUF ERR 15 14 13 12 11 10 9 TNE TPC PCM PCM EXPIRED EXPIRED ENABLED BREAK 8 7 6 5 SELF TEST TRACE PROP PCM CODE LS MATCH PARITY ERR 4 3 2 1 0 15535B-13 Built In Self Test Register In addition to a bit in the PLC_CNTRL_A register and a bit in the INTR_EVENT register, Built In Self Test requires one register. Built In Self Test Signature Register (BIST_SIGNATURE) The Built In Self Test Signature register (BIST_SIGNATURE) has address 15 (hex). It is a 16 bit, read-only register that contains the resultant signature after execution of the chip’s self test. After BIST has been completed (signaled by the INT pin being asserted), this register should be read and its contents compared against the known good signature for the PLC-S to determine whether the chip has passed its self test. The value of the BIST signature is 5B6B (hex). Framer The Framer accepts five bit wide parallel data as well as the recovered clock from the Physical Data Receiver (PDR) chip. Generally, data received by the Framer is not framed into proper FDDI symbols. The Framer is used to align the incoming data to form proper symbols before the data is passed onto the Elasticity Buffer. A starting delimiter that is used at the beginning of each frame is detected by the Framer and used to determine proper symbol boundaries for the data. The Framer has been designed such that the starting delimiter (the JK symbol pair) can be detected independent of previous framing. Elasticity Buffer The purpose of the Elasticity Buffer is to perform the necessary buffering in order to allow the passing of data between different FDDI stations with independent station clocks. The Elasticity Buffer consists of an 80-bit buffer and some control circuitry. The buffer is used to compensate for the differences in the transmit and receive clock frequencies in the station. Data is clocked into the buffer by the recovered byte clock and clocked out of the buffer by the byte clock. The recovered clock is 3-32 also used to drive all the input circuitry including the input controller and the local input pointer. The byte clock is used to drive the output circuitry including the output pointer, the output controller, the overflow/underflow detection circuitry and the output buffer. Note that the Elasticity Buffer uses a different version of the byte clock than the rest of the PLC-S chip. This version is generated on chip from LSCLK. Smoother Operation The Smoother resides in the Elasticity Buffer. The main purpose of the Smoother is to add and delete Idle symbols into the data stream when the Smoother detects an inadequate or a surplus number of Idles between frames. The Smoother function is necessary because the Elasticity Buffer may delete symbols from the preamble of a frame. If multiple PHY Elasticity Buffers delete symbols from the same preamble, then the number of Idle symbols in that preamble can reach a value resulting in a loss of that frame. This may happen because according to the ANSI PHY document, ■ An Elasticity Buffer is not required to recenter on preambles shorter than four symbols ■ MAC is not required to repeat frames with pream- bles shorter than two symbols ■ MAC is not required to copy frames with pream- bles shorter than twelve symbols The Smoother absorbs surplus symbols from longer preambles and redistributes them into shorter preambles. The smoothing function is capable of inserting additional preamble symbols into repeated preambles shorter than fourteen symbols. The Smoother attempts to maintain 7 Idle bytes (or 14 Idle symbols) between frames. If there are less than 7 Idle bytes the smoother may inject Idle bytes onto the data path. If there are more than 7 Idle bytes in the preamble the Smoother may delete at least one Idle byte of the longer preamble. The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY Line State Machine (LSM) In the FDDI network, a special group of symbols called Line State Symbols (Q – Quiet, H – Halt, I – Idle) are transmitted to establish the physical connection between neighboring stations. These Line State Symbols are unique in that they may be recognized independently of symbol boundaries. The LSM constantly monitors symbol pairs coming from the Elasticity Buffer. The current symbols pair is encoded (ENC_CSP) and compared to the encoded value of the previous symbol pair (ENC_PSP). The symbol pairs are counted by the Symbol Pair Counter (SYM_PR_CTR – bits 2–0 in the PLC_STATUS_A Register) until a Line State is reached. Once a Line State is reached the SYM_PR_CTR is stopped, the new line state (LINE_ST – bits 7–5 in the PLC_STATUS_A Register) is stored and the UNKN_LINE_ST bit is reset to zero. Upon receiving the first symbol pair that is not identical to the previous symbol pair (and is not a JK or noise symbol pair) the SYM_PR_CTR is started and UNKN_LINE_ST is set to 1 until conditions for the next Line State are met. The recognition of these Line States is reported to the PCM, which uses this information for insertion and removal of the station from the ring, ring recovery and maintenance. A change in the value of LINE_ST is reported to the Node Processor by means of an interrupt which can be enabled or disabled by setting the MATCH_LS bits in the PLC_CNTRL_B register. The LSM is reset into the NOT_ACTIVE state with LINE_ST = NLS, UNKN_LINE_ST = 0, SYM_PR_CTR = 000 and PREV_LINE_ST = QLS. The function of the LSM State Machine is described in Table 11. The LEM hardware consists of a detector, accumulator and threshold element. The detector is a state machine which constantly monitors incoming symbol pairs on the receive path. When Link Error Events are detected they are counted by the 8-bit Link Error Event Counter (LINK_ERR_CTR). When the LINK_ERR_CTR matches the count written to the Link Error Event Threshold Register (LE_THRESHOLD) the LE_CTR bit in the INTR_EVENT register is set. A Link Error Event is defined in Table 12 below. Note that a number following an H or V symbol indicates the value of that symbol’s encoding. For instance, H2 is the symbol “00010”, V5 is the symbol “00101”, etc. Table 12. LEM Error Events Noise Events Exceptions Transition from Idle Line State to Noise Line State or Unknown Line State When the symbol pair which causes the transition is followed by: QQ, QH, HQ, or HH When in Active Line State, detection of the symbol pair: XV’, V”X, J ~K, ~JK, or I D where: None V’ = H1, H2, H8, H16, V3, V5, V6, V12, or J V” = H1, H2, H8, H16, V3, V5, V6, V12, or K D = n, R, S, or T X = don’t care ~K = not K; ~J = not J When in Active Line State, detection of the symbol pair: None I I followed by D X I I followed by I D Table 11. LSM State Descriptions State Description LSM0 This is the NOT ACTIVE state. The LSM is in this state whenever LINE_ST equals anything other than ALS. A transition to LSM1 will occur whenever ENC_CSP = JK. LSM1 if the Link Confidence Test passes to establish a new connection. Once a link is active the PCM continually runs a Link Error Monitor test to detect and isolate links having an inadequate bit error rate. This is the ACTIVE state. The LSM will stay in this state only if ENC_CSP = JK, DATA, or II (if ENC_CPS = I I then only if ENC_PSP not = I I). Anything else will cause a transition to LSM0. Link Error Monitor (LEM) The Link Error Monitor provides an indication of the inbound link quality to the Physical Connection Management entity. The PCM uses this information to determine Other transitions from Active When the symbol pair Line State to Noise Line State H4 H4 which causes the or Unknown Line State transition is followed by: H4 Q, Q H4, I I, H4 I, or JK Physical Connection Management (PCM) Connection Management (CMT) defines the operation of Physical Layer (PHY) insertion and removal, and the connection of PHY entities to the Media Access Control (MAC) entities. Physical Connection Management (PCM) is a subset of CMT. Fundamental to this task is the management of a connection between two physical attachments (PHYs) in adjacent stations. It is the job of the PCM state machines in both stations to cooperate in forming a connection between the two PHYs within the rules established by the Connection Management. Am79C864A 3-33 AMD PRELIMINARY The FDDI SMT ANSI Standard defines the following types of physical attachment: A. Dual ring PHY entity connected to Primary Ring In, Secondary Ring Out B. Dual ring PHY entity connected to Secondary Ring In, Primary Ring Out CMT defines the type of physical connection between two physical attachments. PCM consists of two entities; the PCM State Machine and the PCM Pseudo Code. The PLC-S chip implements the state machine, while the pseudo code is implemented in SMT software. SMT software decides the acceptability of connections and communicates it to the neighboring PHY. M. Concentrator PHY entity type “Master” to provide connection within the concentrator tree S. Single attachment PHY entity type “Slave”, intended to be attached to a PHY of type M within a concentrator tree. Figure 2 illustrates different connection types. Secondary Ring Primary Ring Primary Ring Secondary Ring A-B Connection A DAC Concentrator B A DAC Concentrator B M M M M M M M-S Connection S S SAS SAS M-S Connection S End Stations S SAS S SAS Full Duplex Connection S End Stations M SAC Concentrator S M M S SAS S SAS End Stations Figure 2. Illustrations of Connection Types 3-34 SAS The SUPERNET 2 Family for FDDI 1994 Data Book 15535B-14 SAS PRELIMINARY The Physical Connection Insertion (PCI) State Machine works in conjunction with the PCM State Machine. It controls ring scrubbing and the insertion and removal of a station on the ring. PCM Operation The PLC-S implements the PCM state machine as specified in the ANSI FDDI SMT standard. By only allowing a specific set of connection types, CMT secures a deterministic ring topology, independent of the sequence of station power on, etc. The primary purpose for the PCM is to enforce these allowable connections. The local PCM announces its attachment type to the remote PCM and listens for the type of attachment from the remote PCM. If they are compatible, the local PCM accepts the connection, reporting the type of connection to the station configurator. Once the connection type has been established, the two PCMs share in testing the pair of physical links between them. If this is successful, the link can then be configured into the ring. The bit signaling protocol is implemented in a fashion which reduces the software processing overhead considerably while at the same time allow enough flexibility to change the actual pseudo code. PCM State Machine The PCM State machine implements the connection sequence for establishing the physical connection into the ring. The state machine is as described in the SMT document. The PCM state machine uses various timers whose expiration values are programmable by the various time registers. The time registers that are relevant to the PCM state machine are the Minimum Connect State (C_Min), Minimum Line State Transmit Time (TL_MIN) Minimum Break (TB_Min), Signalling timeout (T_Out), Link Confidence Test (LC_Length)and Noise time (NS_Max). The current state of PCM is readable through the PLC_Status_B Register. The PCM State machine is started by PC_Start signal from the node processor as indicated by PCM_CNTRL bits of PLC_CNTRL_B. The PCM State machine can be brought to the OFF state (Stop connection) also by programming PCM_CNTRL bits of PLC_CNTRL_B. PCM flags that are readable by the Node Processor through the status register of PLC-S include Line State Flag (LSF), Receive Code Flag (RCF) and Transmit Code Flag (TCF). Once the connection is established and the ring is scrubbed, PCM indicates the event through the PCM enabled bit of the INTR_EVENT register. The function of the PCM State Machine is described in Table 13. Pseudo Code Bit Signaling (PCS) As a part of the PCM process, before the connection is established, a sequence of bits are communicated AMD through the physical link. These bits as defined in the standard convey the following information: ■ Normal or Escape Sequence (escape sequence is not defined by the standard) ■ The type of Physical connection (Slave, Master, Peer A or Peer B) ■ The acceptance of the connection ■ The length of the Link Confidence Test (LCT): short, medium, long or extended ■ MAC for LCT ■ LCT Pass/Fail ■ MAC Loopback ■ MAC output connected to this PHY The above information is conveyed in the first 10 bits of the standard pseudo code bit signalling sequence. If more bits are needed, more information up to a maximum of 16 bits can be sent through this process. The normal operation of the PCM is as follows. When the PCM is in the OFF state, all the parameter registers and the configuration registers are loaded with the appropriate values. The PC_Start is written into the PLC_CNTRL_B register. The VECTOR_LENGTH register is then written with value n-1 (n = the number of bits to be transmitted). Next, the XMIT_VECTOR register is written with the bit pattern which is to be transmitted. The PCM then transitions through the BREAK, CONNECT and NEXT states. Note: The VECTOR_LENGTH and XMIT_VECTOR register has to be written after PC_STart and before TB_MIN timer expires. It then transitions back and forth between the NEXT and the SIGNAL states until all the bits in the XMIT_VECTOR register are transmitted. It causes Master Line State to be sourced to signal a zero bit and Halt Line State to be sourced to signal a one bit. While it transmits all the bits it also receives the corresponding bits from the remote station and forms a Receive Vector which is stored in the RCV_VECTOR register. When all the bits are transmitted the PCM_CODE Interrupt bit is set. The Node Processor can then read the RCV_VECTOR register. (Note: The PCM is still in the NEXT state). If for any reason (other than PC_Start) the PCM state machine transitions to the BREAK state, then a PC_Start has to be issued before the connection process can begin again. This is to allow the VECTOR_LENGTH and the XMIT_VECTOR to be re-initialized. Also, any transition to the BREAK state sets the PCM_BREAK interrupt and writes the reason for the transition in the BREAK_REASON field in the PLC_STATUS_B register. Typically, three bits are written into the XMIT_VECTOR register in the beginning. After they are received, the received bits are read by the node processor to know the connection type. Then the node processor decides if the Am79C864A 3-35 AMD PRELIMINARY connection is acceptable and flags the next bit. On receipt of the corresponding bit from the neighbor, the node processor decides the length of the Link Confidence Test and communicates it through the next two bits. On receipt of the corresponding bits from the neighbor, the node processor communicates if it wants to perform LCT through the MAC. After receipt of corresponding bit from the neighbor, the LCT is performed. If the length of the LCT is longer, then the node processor will set the LONG bit in the PLC_CNTRL_B register. If LONG bit is set, the node processor has to issue a PC_SIGNAL command to progress the sequence and communicate the status of LCT in the next bit. On receipt of the corresponding bit from the neighbor, the MAC LOOPBACK bit is sent. On receipt of MAC LOOPBACK bit from the neighbor, the MAC LOOPBACK is performed based on the bit information. Once the MAC LOOPBACK is finished, the last bit is communicated indicating if the MAC output is going to be connected to this PHY. After the LCT is completed (i.e. after LC_LENGTH, or after Halt or Master Line State is received) the PCM_CODE interrupt is set. If the Node Processor decides to transmit more signaling bits it should load the VECTOR_LENGTH with a new value of n and then the XMIT_VECTOR register with the bit pattern to be transmitted. The PCM again starts transmitting these bits and alternates between NEXT and SIGNAL states until all bits are transmitted upon which the PCM_CODE interrupt is set again. This sequence continues until all the bits are transmitted and the Node Processor writes PC_JOIN in the PLC_CNTRL_B register. The PCM then leaves the NEXT state and enters the JOIN state. Setting these bits has no effect when the PCM is not in the NEXT state or when the PCM_SIGNALING bit is set. However, if this 3-36 bit is set even though LCT is not finished yet, then LCT will be aborted and the PCM join sequence will be initiated. Noise Detection Mechanism The TNE Timer in the PCM times the period between the receptions of the Idle Line State. This timer is loaded with the NS_MAX parameter when Line State Machine leaves the Idle Line State. The TNE Timer keeps counting the Noise until Idle Line State is again detected. While in the ACTIVE state if this timer expires then the PCM will break the link and transition to the BREAK state. In the ACTIVE state the TNE Timer starts counting noise only after LSF is set. If PC_Trace is set and the TNE Timer expires in the same cycle then the transition to the TRACE state is taken. This timer is ignored in all the PCM states except the ACTIVE state. Noise in MAINT State If the NOISE_TIMER bit in the PLC_CNTRL_A register is not set, then the Node Processor can write the TNE Timer if the PCM is in MAINT state. If the NOISE_TIMER bit is set, then the TNE Timer is used in the MAINT state to time the Noise as described above. If the TNE Timer expires, then the TNE_EXPIRED bit in the INTR_EVENT register is set. Operation in TRACE State In the ACTIVE state if Trace Propagation (i.e., receipt of Master Line State) is detected then the TRACE_PROP interrupt is set. In the ACTIVE state if PC_Trace is received and a transition is made to the TRACE state then the station remains inserted, Master Line State is sourced on the TDAT(4–0) port, and no scrubbing is performed. Again in this state if Master Line State is detected, the TRACE_PROP interrupt is set. If Quiet Line State or Halt Line State is detected, then the SELF_TEST interrupt is set. The SUPERNET 2 Family for FDDI 1994 Data Book PRELIMINARY AMD Table 13. PCM State Description State Description PC0(OFF) The PCM enters the OFF state whenever the RST pin is asserted or whenever the PCM_CNTRL field of the PLC_CNTRL_B register is set to 11 (PC_Stop). The PCM stays in this state until PC_Start is issued or the PC_MAINT bit is set. PC1(BREAK) This is the entry point in the start of a PCM connection. The PCM enters this state when PC_Start is issued, or while it is in the process of forming a connection when any of various error conditions occur (such as receipt of Quiet Line State, a timeout, etc.). PC2(TRACE) The TRACE state is issued to localize a stuck Beacon condition. It is entered when PC_Trace is issued while the PCM is in the ACTIVE state. PC3(CONNECT) This state is used to synchronize the ends of the connection for the signaling sequence. It is entered from the BREAK state. PC4(NEXT) This state is used to separate the signaling performed in the SIGNAL state and to perform the Link Confidence Test. It is entered from the CONNECT state or SIGNAL state. PC5(SIGNAL) In this state individual bits of information are communicated across the connection by transmitting either Halt symbols or alternating Halt and Quiet symbols (Master Line State). The PCM transmits and receives bits of information at the same time. This state is entered from the NEXT state. PC6(JOIN) This state is the first of three states that leads to an active connection. It is entered from the NEXT state. PC7(VERIFY) This state is the second state in the path to the ACTIVE state. It will not be reached by a connection that is not synchronized. PC8(ACTIVE) The ACTIVE state is the state where the PHY has been incorporated into the ring. It is entered from the VERIFY state. PC9(MAINT) This state is used to override the normal PCM operation for test purposes or so that the PCM operation may be done completely in software. In this state the data path configuration and the transmit data stream are controlled by the Node Processor. PCI Operation The PCI State Machine works in conjunction with the PCM state machine to control the data paths of the PLC-S on the MAC side (the RX 9–0 and TX 9–0 paths). There are three primary functions of the PCI state machine: ■ Provide a bypass path between TX 9–0 and RX 9–0 ■ Provide a scrubbing function upon the insertion and removal of a station from the ring ■ Provide a direct path between the PDT/PDR and the MAC The operation of the PCI state machine depends on whether the CLASS_S bit in the PLC_CNTRL_B register is set and whether the PCM state machine is in the MAINT state. PCI Operation for Non-Class S Type Station After a reset the PCI state machine will be in the REMOVED state. If the station is not of type Class S, then the PLC-S will be in the bypass mode where the data input on TX 9–0 is directly output on RX 9–0. When the PCM state machine enters the ACTIVE state and asserts the SC_JOIN Flag, the PCI state machine enters the INSERT_SCRUB state and Idle symbol pairs are sourced on RX 9–0. At the same time, the PCM state machine causes Idle symbols to be output on TDAT 4–0. The PCI state machine remains in the INSERT_SCRUB state for T_SCRUB length of time, after which it enters the INSERTED state. Upon entering the INSERTED state, the PCM_ENABLED interrupt is asserted. In this state, a direct path exists from TX 9–0 to TDAT 4–0. If for some reason the connection is broken and the PCI state machine enters the REMOVE_SCRUB state, Idle symbol pairs are sourced on RX 9–0. Because the PCM state machine is in the BREAK state, Quiet symbols are sourced on TDAT 4–0. While scrubbing is being performed, the PCM state machine will not re–start the connection process. The PCI state machine remains in the REMOVE_SCRUB state for T_SCRUB length of time and then enters the REMOVED state. Note that if the connection is broken while the PCI state machine is in the INSERT_SCRUB state, scrubbing will Am79C864A 3-37 AMD PRELIMINARY continue for T_SCRUB length of time and then enter the REMOVED state. PCI Operation for Class S Type Station For a Class S type station, the PCI Operation is same as above with one exception. Normally, for a Non-Class S type station, PCI will be in REMOVED state at reset, but for a Class S type station, PCI will be in the INSERTED state. Thus, before entering INSERT_SCRUB or after leaving REMOVE_SCRUB, rather than putting the PLC-S in the bypass mode, PHY_INVALID is output on RX 9–0. PCI Operation in MAINT State When the PCM state machine is in the MAINT state, the PCI state machine does not control the above functions. In this state all the data paths are under the control of software. Software controls the data paths via several control bits in the PLC_CNTRL_A register. Software can also override the PCI functions when the PCM state machine is not in the MAINT state by setting the CONFIG_CNTRL bit in the PLC_CNTRL_B register. PCI State Machine The function of the PCI State Machine is described in Table 14 and Figure 3. 3-38 Table 14. PCI State Description State Description PCI0 (REMOVED) In this state the PCI causes PLC-S to be bypassed. A transition is made to INSERT_SCRUB when SET_SC_JOIN signal is asserted. A transition is made to INSERTED if CLASS_S or PCM_MAINT is set. PCI1 (INSERT SCRUB) In this state scrubbing is performed. A transition is made to INSERTED after T_SCRUB length of time. PCI2 In this state scrubbing is performed. (REMOVE SCRUB) A transition is made to REMOVED (or to INSERTED if CLASS_S is set) after T_SCRUB length of time. PCI3 (INSERTED) In this state scrubbing has completed and the data paths exists between the PDT/PDR and the MAC. A transition is made to the REMOVE_SCRUB state if the START_ SCRUBBING signal is asserted. A transition is made to the INSERT_SCRUB state if the SET_SC_JOIN signal is asserted (will only occur if CLASS_S is set). Note: User cannot disable PCI. The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY Removed Reset PCI0 1 2 7 3 4 Inserted Insert Scrub PCI1 PCI3 5 6 Remove Scrub PCI2 Notes: 1. Class = S or PCM_MAINT 15535B-15 Signals on PCI State Machine: SC_JOIN: 2. Not (SC_ JOIN and not START_SCRUBBING) This signal is output by the PCM state machine and indicates that is has reached the ACTIVE state and scrubbing may be started. 3. SET_SC_ JOIN 4. TPC > T_SCRUB and (SC_JOIN and not START_SCRUBBING) SET_SC_JOIN: 5. SET_SC_ JOIN This signal is output by the PCM state machine and is asserted during the clock cycle before SC_JOIN is asserted. 6. Not SET_SC_JOIN and START_SCRUBBING 7. TPC > T_SCRUB CLASS_S: This bit in the PLC_CNTRL_B register, when set, indicates that the station is of type CLASS_S. START_SCRUBBING: This signal is asserted by the PCM state machine when the station has joined the ring (SC_JOIN is asserted) and a Break condition occurs. It causes the PCI state machine to enter the REMOVE_SCRUB state. PCM_MAINT: This signal indicates that the PCM state machine is in the MAINT state. Figure 3. PCI State Machine Decoder The Decoder performs the 4B/5B decoding of received data symbols. The five bits of data from the Elasticity Buffer are decoded into four bits of data and one control bit, with the high order bit being the control bit. The decoded symbol pairs are then sent to the MAC. Although the Decoder operates on symbol pairs, each symbol is decoded independently of the other. Until the PCM has completed establishing a connection for the physical link, the PHY_INVALID symbol is output by the Decoder. Whether the output of the decoder or the data on TX 9–0 is output on RX 9–0 is dependent on the CLASS_S bit in the PLC_CNTRL_B register. In addition, a Violation symbol (V) shall be generated when an input error condition has been detected, such as an Elasticity Buffer error (buffer overflow or underflow). PHY_INVALID takes precedence over Violation, so if an Elasticity Buffer error occurs while the Current Line State is Quiet, Halt, Master, or Noise then PHY_INVALID (1F in hex) is given to MAC. The symbol decoding is shown in Table 15. Am79C864A 3-39 AMD PRELIMINARY Table 16. 4B/5B Encoding of Data Table 15. 4B/5B Decoding of Data Symbol Encoded Input Decoded Output Symbol Data Input Encoded Output Q 00000 1 0000 Q 1 0000 00000 I 11111 1 0111 I 1 0111 11111 1 0100 00100 H 00100 1 0100 H J 11000 1 1100 J 1 1100 11000 K 10001 1 0011 K 1 0011 10001 T 01101 1 1101 T 1 1101 01101 R 00111 1 0001 R 1 0001 00111 S 11001 1 1001 S 1 1001 11001 H 00001 1 0100 INV 1 1110 11111 1 0 0 10 11111 H 00010 1 0100 INV V 00011 1 1000 INV 1 0101 11111 V 00101 1 1000 INV 1 0110 11111 V 00110 1 1000 INV 1 1111 11111 H 01000 1 0100 INV 1 1000 11111 V 01100 1 1000 INV 1 1010 11111 H 10000 1 0100 INV 1 1011 11111 0 0000 11110 0 11110 0 0000 0 1 01001 0 0001 1 0 0001 01001 2 10100 0 0010 2 0 0010 10100 3 10101 0 0011 3 0 0011 10101 4 01010 0 0100 4 0 0100 01010 5 01011 0 0101 5 0 0101 01011 6 01110 0 0110 6 0 0110 01110 0 0111 01111 7 01111 0 0111 7 8 10010 0 1000 8 0 1000 10010 9 10011 0 1001 9 0 1001 10011 A 10110 0 1010 A 0 1010 10110 B 10111 0 1011 B 0 1011 10111 C 11010 0 1100 C 0 1100 11010 D 11011 0 1101 D 0 1101 11011 0 1110 11100 0 1111 11101 E 11100 0 1110 E F 11101 0 1111 F Encoder The Encoder performs the 4B/5B encoding of data symbols to be transmitted over the physical medium. The four bits of data and one control bit from the MAC are encoded into a unique five bit symbol which is sent to the PDT. Although the Encoder operates on symbol pairs, each symbol is encoded independently of the other. STREAM CIPHER SCRAMBLER Background A popular implementation of FDDI is the replacement of fiber with unshielded twisted pair wire (UTP). When a digital signal is transmitted over copper wire it radiates radio frequency (rf) energy. FDDI encoded data has repetitive patterns which result in peaks in the rf spectrum The symbol encoding is defined in Table 16. 3-40 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY large enough to keep the system from being approved by regulatory agencies such as the FCC. The peaks in the radiated signal can be reduced significantly by scrambling the transmitted signal. Scramblers add the output of a random generator to the data signal. The resulting signal has fewer repetitive data patterns. Thus the occurrence and amplitude of peaks in the frequency spectrum, of the transmitted signal, are greatly reduced and the probability of a systems approval by regulatory agencies, such as the FCC, is increased. The scrambled data is descrambled, at the receiver, by adding it to the output of another random generator. The receiver’s random generator has the same function as the transmitter’s random generator. Because the random generators are the same and anything exclusiveORed with itself is zero, the output of the descrambler is the original data signal. Data ⊕ A = S_Data S_Data ⊕ B = D_Data A = B Therefore A ⊕ B = 0 and register with the eleventh and ninth bits fed back to the input of the first bit via an exclusive OR gate (Figure 4). For this polynomial, j equals eleven and i equals nine. Table 17 shows the line state bits and the corresponding H bits. Table 17. Line States Line State Data H QLS 00000000000 00000000000 ILS 11111111111 11111111111 HLS 00100001000 01110011100 MLS 00100000000 01110000000 The following rules apply to the descrambler. When a line state is not detected, the input to the random generator is bit 11 exclusive-ORed with bit 9. Data is S_Data exclusive-ORed with the random generator output. When a line state is detected, Data is derived from H in accordance with Table 17. The input to the random generator is Data exclusive ORed with S_Data. Data ⊕ A ⊕ B = D_Data = Data Scrambler where A functional diagram of the scrambler is shown in Figure 4. It combines the output of a random generator (X11 + X9) with FDDI-encoded data via an XOR gate. Data = Original Data S_Data = Scrambled Data D_Data = Unscrambled Data A = Transmitter Random Generator B = Receiver Descrambler ⊕ = Exclusive-OR Function For proper operation, the random generator in the descrambler must be synchronized to the random generator in the scrambler, i.e., the random generators must be in the same state with respect to the data. Because the random generators operate independently of each other, they require synchronizing circuitry. The descrambler synchronizes itself to the scrambler by utilizing the following relationship. H[n] = S_Data[n] ⊕ S_Data[n-j] ⊕ S_Data[n-i] = Data[n] where H[n] = a hypothesis bit j and i are bit delays This relationship is true when Data[n-J] = Data[n-K]. The requirements for a correct H(n) are approximated during the FDDI line states ILS, QLS, HLS and MLS. When a line state is detected, the corresponding correct data can be deduced. The proper setting for the random generator can be derived from Data and S_Data. If A ⊕ Data = S_Data then Data ⊕ S_Data = A The X3T9 committee has chosen X11 + X9 as the random generator function. This can be represented as a shift Descrambler The descrambler (Figure 5) combines the output of a random generator with the scrambled data to produce an exact copy of the original unscrambled data. The random generator has the same function as the random generator in the scrambler (X11 + X9). The descrambler has a state-synchronizer to set the descrambler-random generator to the same state as the scrambler-random generator. The state-synchronizer is enabled by SCRM_RSYNC, which is from the PLC-S decoder. When SCRM_RSYNC is true, the decoder has not detected a valid FDDI signal. The state-synchronizer attempts to set the random generator. If SCRM_RSYNC is false, the data is valid and the random generator is assumed to be synchronized to the scrambler and will remain synchronized. The state-synchronizer monitors the scrambled data for one of the patterns in Table 17. When there is a match, the output data is set to the corresponding value. The random generator’s input is the deduced output XORed with the scrambled data input, which corresponds to the scrambler’s random generator. When there is not a match, the output data is the scrambled data XORed with the random generator’s output. The random generator is open loop. Am79C864A 3-41 AMD PRELIMINARY CIPHER_ENABLE are ORed together so either one HIGH overrides the other (Table 18). Pin 41 is a ground pin on previous versions of the PLC; therefore if the PLC-S is to be used in the fiber mode, it can be inserted in a previously manufactured board without any changes. Using the Stream Cipher Scrambler The system has access to the scrambler and descrambler through a pin and a register. Pin 41 (SCRM) and bit 0 (CIPHER_ENABLE) of PLC_CNTRL_C enable the scrambler. SCRM and Table 18. Stream Cipher Enable SCRM Cipher Enable Scrambler LOW LOW Disabled LOW HIGH Enabled HIGH LOW Enabled HIGH HIGH Enabled 11 10 9 8 7 6 5 4 3 2 Data 1 S_Data 15535B-16 Figure 4. Stream Cipher Scrambler SCRM_RSYNC S_Data State Synchronizer 5 Capture 5 Deduced Line State + Random Generator 5 – 5 5 5 5 + 5 Data/D_Data – 15535B-17 Figure 5. Stream Cipher Descrambler Repeat Filter The main function of the Repeat Filter is to prevent the propagation of code violations and invalid line states from the inbound link to the outbound link. This function is not required if a MAC layer is present in the station configuration (since MAC will not propagate invalid line states and code violations). But certain station configurations consist of only PHY layer entities (such as the path of the secondary ring inside a station with just one MAC in the primary ring). In such cases, a PHY layer implementation is expected to provide the Repeat Filter function. 3-42 The Repeat Filter in the PLC-S filters the symbol stream at the output of the Remote Loopback MUX. Invalid line states are not allowed to propagate through a station; they will be turned into an Idle symbol stream. Also, if the repeat filter detects a corrupted frame, it truncates the frame by transmitting four Halt symbols and then Idle symbols until a JK symbol pair is seen. The Halt symbols will cause the next MAC entity in the logical ring to count the frame as a lost frame. Another function of the Repeat Filter is called the GOBBLE_BYTE function. When the Repeat Filter The SUPERNET 2 Family for FDDI 1994 Data Book PRELIMINARY detects a fragment, i.e., a frame in which Idle symbols appears before the ending delimiter, then it changes the previous symbol pair to Idles. After passing through Repeat Filters in other stations, the fragment will eventually be completely converted to Idles. The PLC-S includes the symbol pair wide implementation of the Repeat Filter as defined in the FDDI PHY document. Data Stream Generator The Data Stream Generator block uses a multiplexer for the purpose of generating a symbol pair at the request of the PCM via an internal signal bus LS_REQ (or external through control when the PCM is in the MAINT state by using the MAINT_LS bits in the PLC_CNTRL_B register), the Repeat Filter via an internal signal RF-CNTRL (1_0), or transmitting the symbol pair from TX 9–0. The DATA_STRM(9–0) is an internal bus that comes from the Data Stream Generator to the encoder block. The Data Stream Generator also latches the data each BCLK cycle. This is done for the GOBBLE_BYTE function of the Repeat Filter (see above) which requires that the data be delayed for one clock cycle. Data Path Muxes The Receive Data Path and Transmit Data Path of the PLC-S include six multiplexers (MUXes) for the purpose of altering the normal flow of data through the chip (see chip block diagram). Reasons for altering the data paths are for physical connection insertion and removal and for testing and diagnostics. All receive and transmit data paths internal to the PLC-S are ten bits (two symbols) wide. EB Local Loopback Mux In normal operating mode, the EB Local Loopback MUX puts the data held in the Receive Data Input latch to the input of Framer. When the EB_LOC_LOOP bit in the PLC_CNTRL_A register is set or when the built-in self test is running, the MUX loops back the data in the Transmit Data Output latch onto the receive data path just after the Receive Data Input latch (i.e., to the input of Framer). This creates a path whereby data from a MAC device can traverse the entire transmit and receive data paths of the PLC-SS (excluding the scrambler and the descrambler) and be returned to the MAC device. The built-in self test uses this loopback along with the Remote Loopback to create a loop which covers all of the transmit data path and receive data path. Cipher Loopback MUX In normal operating mode, the Cipher Lookback MUX puts the data from PDR to the input of the descrambler block of PLC-SS and the data from the scrambler block of PLC-SS to PDT. AMD When the CIPHER_LPBCK bit in the PLC_CNTRL_C register is set, the MUX loops back the output of the descrambler to the input of the scrambler. This creates a path whereby data from a MAC device can traverse the entire transmit and receive data paths of the PLC-SS (including the scrambler and the descrambler) and be returned to the MAC device. LM Local Loopback MUX In normal operating mode, the LM Local Loopback MUX puts the output of Elasticity buffer/smoother block to the input of Decoder block. When the LM_LOC_LOOP bit in the PLC_CNTRL_A register is set or when the built-in self test is running, the MUX loops back the data in the Transmit Data Output latch onto the receive data path just after the Elasticity buffer. This differs from the EB_LOC_LOOP in that the Framer and Elasticity Buffer are bypassed. Bypass MUX In normal operating mode, the Bypass MUX sends the data output by the Decoder to the Receive Data Output latch. When the SC_BYPASS bit in the PLC_CNTRL_A register is set while the PCM is in the MAINT state, or when the CONFIG_CNTRL bit is set in the PLC_CNTRL_B register, or when the PCI is in the REMOVED, INSERT_SCRUB, or REMOVE_SCRUB state, the output of the BYPASS MUX is put to the Transmit Data Input Latch onto the receive data path. On reset this BYPASS_MUX will be in effect and will put the Transmit Data Input Latch onto the receive data path. Remote Loopback MUX In normal operating mode, the Remote Loopback MUX puts the data held in the Transmit Data Input latch onto the transmit data path of the PLC-SS. When the SC_REM_LOOP bit is set (and EB_LOC_LOOP, LM_LOC_LOOP and CIPHER_ LPBCK bits are not set) or when the BIST is running, this MUX loops back the data from the Decoder onto the transmit data path and is latched at this point. This creates a path whereby data from the PDR can traverse the entire receive and transmit data paths of the PLC-S and be transmitted by PDT. BIST uses this loopback along with the Local Loopback to create a loop which also covers all of the receive data path and the transmit data path. Scrub MUX The Scrub MUX selects its input from either constant Idle symbol pairs or the output of the BYPASS_MUX. When the REQ_SCRUB bit in the PLC_CNTRL_A register is set while the PCM is in the MAINT state, or when CONFIG_CNTRL bits is set in the PLC_CNTRL_B Am79C864A 3-43 AMD PRELIMINARY register, the PCI is in the INSERT_SCRUB or REMOVE_SCRUB state, the output of the Scrub MUX is Idle symbols. Otherwise transmit data from the BYPASS_MUX is placed on the Receive Data Output Latch. This MUX is used when the PLC-S operates in a Concentrator. When a port in a Concentrator is connecting to an end station, Idle symbols are output on RX 9–0 so as to scrub the ring before the station starts putting data onto the ring. When a port in a Concentrator is not connected to another station, the port is bypassed by routing TX back out on RX. Test Data MUX In normal operating mode the Test Data MUX sends the data output by the Encoder to the Transmit Data Output Latch. When the built-in self test is running the Test Data MUX selects the input from the BIST block. This is how BIST inserts pseudo-random test data into the loop it forms with the transmit and receive data paths. This point was chosen to inject test data because it was desired to avoid sending the test data through the Repeat Filter and the Data Stream Generator. Since both of these logic blocks act as filters, coverage of stuck-at faults in other parts of the chip would be reduced if data from these blocks rather than random test data were used. Data Input/Output The PLC-S contains four ports for receiving and transmitting network data: Receive Data Input, Receive Data Output, Transmit Data Input, and Transmit Data Output. The signal timing for these ports is detailed in the Switching Characteristics and Switching Waveforms chapters of this document. Receive Data Input RDAT is a five-bit (symbol wide) data bus going from the PDR chip to the PLC-S. RSCLK is also input from the PDR chip and is divided by two to get a recovered byte clock. RDAT is latched on each rising and falling edge of the recovered byte clock. Following the rising edge of the recovered byte clock, the five bits (symbol) just latched, plus the five bits (symbol) latched by the previous falling edge recovered byte clock edge, are used internally in the PLC-S. All data paths inside the PLC-S are 10 bits (two symbols) wide. Receive Data Output RX is a ten-bit (symbol pair wide) data bus going from the PLC-S to the a MAC device in a Single Attachment Station (SAS). In the case of a Concentrator or a Dual Attachment Station (DAS), RX may also go to another PLC-S. Data is latched inside the PLC-S on each rising edge of BCLK and is available to the MAC device shortly after this clock edge. 3-44 Transmit Data Input TX is a ten-bit (symbol pair wide) data bus going from the MAC device (or in a Concentrator/DAS, from another PLC to the PLC-S. The data is latched by the falling edge of LSCLK that precedes the rising edge of BCLK. Then it is latched again by that rising edge of BCLK. Assuming no skew between LSCLK and BCLK, this effectively adds a one half LSCLK period to the hold time provided on TX. Any amount by which BCLK trails LSCLK will subtract from the hold time provided. Transmit Data Output TDAT is a five-bit (symbol wide) data bus going from the PLC-S to the PDT. The ten bit wide internal data bus is latched initially by the PLC-S by each rising edge of BCLK. Bits nine through five are sent on the rising edge of LSCLK following the rising edge of BCLK. Bits four through zero are then sent on the rising edge of LSCLK following the falling edge of BCLK. Data are available to the PDT shortly after each rising edge of LSCLK. Built In Self Test (BIST) The Built In Self Test block contains logic to run the PLC-S Built In Self Test and also contains control logic for the chip’s Counter Segmentation Test Mode and Boundary Scan Test Mode. BIST Operation The bulk of the PLC-S data path and state machine logic is tested by BIST. It remains passive during normal chip operation. Under test mode, BIST tests the chip, and returns a signature which verifies the functioning of the chip’s logic with a high degree of certainty. Since BIST sits right on the silicon with the rest of the chip, it has the advantage of the optimum observability location: inside the chip. BIST tests the PLC-S by circulating pseudo random data throughout the chip. The various subcircuits within the chip are observed as they respond to these data, and a signature based upon their behavior is generated. This signature may be checked against the known correct signature, to verify the functioning of the chip. A single fault in the chip, as long as it is covered by BIST, will cause a different signature to be generated. The majority of the logic blocks of the PLC-S sit directly on the chip’s data path. These blocks are easily tested by placing pseudo random vectors, generated by the Linear Feedback Shift Register (LSFR), on the data paths, and observing the behavior of the blocks with the Signature Generator. With this method, data from LFSR are input by the Transmit Data Output latch lines via the Test Data Mux (see Block Diagram on page 2). The test data are looped back onto the receive data path via the EB Local Loopback MUX. The test data traverse the entire receive data The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY path and are fed back to the Signature Generator. The test data are input to the transmit data path via the Remote Loopback MUX. The test data are fed back to the Signature Generator before the transmit data path because the Repeat Filter, Data Stream Generator, and Encoder act as filters which would reduce the fault coverage provided by the test data. Fault coverage is obtained for the Repeat Filter, Data Stream Generator, and Encoder by separate signals fed to the Signature Generator. The state machines, while somewhat attached to the data path, are more control oriented, and are not likely to respond well to random vectors on the data paths. The LEM, LSM, PCM, PCI, and RF state machines are tested using scan logic. Under test mode, the state registers of the state machines, and their control bits in the registers of the NPI are linked together to form a scan chain. The output of the scan chain drives a bit in the Signature Generator. BIST is activated with the assertion of the RUN-BIST bit in the PLC_CNTRL_A register. Upon activation, the data path, LFSR, and Signature Generator are initialized, and the latches in the scan chain are placed in scan mode. After initialization, the LFSR and Signature Generator are enabled, and the test proceeds. Since counter test requires the ability to control the BCLK, this test is not intended for any board level tests or diagnostics. This is a factory test only. Boundary Scan Test Mode In Boundary Scan Test Mode, most of the chip input and output latches are linked together to form a scan chain. While this complements BIST, which does not test these latches, the main purpose of this test mode is for board testing. In this mode the I/O latches of the various chips on the board are linked into a large scan chain. By serially shifting data into the scan chain (Boundary Scan Serial Test Mode), then clocking the data in parallel (Normal or Boundary Scan Parallel Test Mode) and then serially shifting the data out, the I/O latches and interconnections between the various chips can be tested. The order of pins in the scan chain is shown in Table 19. The pin TEST 0 is the scan chain input and the pin SCANO is the scan chain output. The pins RST, LSCLK, BCLK, NPCLK, RSCLK, RRSCLK, EBFERR, LPBCK, SCRM, SDO, LSR 2–0, ULSB, ENCOFF, TEST 2–0, PTSTO, NPADDR 4–0, INT, CS, and NPRW are not included in the scan chain. Note that only the output portion of the NP 15–0 bus is in the scan chain. BCLK is used for clocking. When BIST has completed, the signature is frozen, and may be read through the Node Processor Interface. End of test occurs when a value of zero is reached in the LFSR. Using a 16 bit LFSR clocked by the 80 ns BCLK it will take approximately 5.24 ms to circulate 65535 test patterns through the chip. An interrupt to the node processor after RUN_BIST has been asserted, signifies the completion of the PLC-S self test. This interrupt is cleared by clearing the RUN_BIST bit in the PLC_CNTRL_A register (NOT by reading the INTR_EVENT register). BIST is aborted if the RUN_BIST bit is cleared by writing a zero in the RUN_ BIST bit in the PLC_CNTRL_A register before BIST completes. Table 19. Boundary Scan Chain Order Pin Type RDAT0 to RDAT4 Input Input FOTOFF Output TDAT4 to TDAT0 Output Output TX0 to TX9 Input TXPAR Input Counter Segmentation Test Mode RXPAR Output The counters (including all timers) in the PLC-S are designed in such a way, that under Counter Segmentation Test Mode, they break apart into several 4 bit counters. For example, in Counter Segmentation Test Mode, a 16-bit counter becomes four 4-bit counters. These 4-bit counters in parallel, allow the counters to be tested in 24 = 16 cycles, as opposed to 216 = 65536 cycles for a 16-bit counter. RX9 to RX0 Output NP 15 to NP 0 Output Am79C864A Input Output Output 3-45 AMD PRELIMINARY ABSOLUTE MAXIMUM RATINGS OPERATING RANGES Storage Temperature . . . . . . . . . . . –65°C to +150°C Ambient Temperature . . . . . . . . . . . . . . . 0°C to 70°C Temperature (TA) . . . . . . . . . . . . . . 0°C to +70°C Supply Voltage, VDD . . . . . . . . . . . . . +5 V +/– 5% Supply Voltage Referenced to VSS . . –0.3 V to +7 V DC Voltage applied to any Pin Referenced to VSS . . . . . . . . . –0.5 to VDD + 0.5 V Stresses above those listed under Absolute Maximum Ratings may cause permanent device failure. Functionality at or above these limits is not implied. Exposure to absolute maximum ratings for extended periods may affect device reliability. DC CHARACTERISTICS over operating ranges unless otherwise specified Parameter Symbol Parameter Description Test Conditions Min Max Unit VIL Input Low Voltage –0.5 0.8 V VIH Input High Voltage 2.0 VDD + 0.5 V VOL Output Low Voltage IOL = 4 mA 0.4 V VOH Output High Voltage IOH = –4 mA 2.4 IOZ Output Leakage Current (Note 1) 0.4 V < VOUT < VDD –10 10 µA IIX Input Leakage Current (Note 2) 0 V < VIN < VDD –10 10 µA Parameter Description Test Conditions Min Max Unit Power Supply Current (Note 3) VCC = Max 125 mA Max Unit Parameter Symbol IDD V f(BCLK, NPCLK) = 12.5 MHz f(LSCLK, RSCLK) = 25 MHz Notes: 1. IOZ applies to all three-state output pins and bidirectional pins. 2. IIX applies to all input-only pins. 3. VIL = 0.0 V and VIH = 3.0 V for IDD test. CAPACITANCE (See Note 4) Parameter Symbol Parameter Description Test Conditions Min CIN Input pins 10 pF CI/O Bidirectional pins (Note 5) 10 pF Notes: 4. Pin capacitance is characterized at a frequency of 1 MHz, but is not 100% tested. 5. Bidirectional and output pins are designed to drive a 50 pF capacitive load. 3-46 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY SWITCHING CHARACTERISTICS over COMMERCIAL operating ranges Parameter Symbol 1 Parameter Description BCLK Period Min 80 Max Unit ns 2 BCLK Pulse Width Low 38 42 ns 3 BCLK Pulse Width High 38 42 ns 4 NPCLK Period 80 5 NPCLK Pulse Width Low 38 42 ns 6 NPCLK Pulse Width High 38 42 ns 7 LSCLK Period 40 8 LSCLK Pulse Width Low 15 ns 9 LSCLK Pulse Width High 15 ns 10 RSCLK Period 40 ns 11 RSCLK Pulse Width Low 15 ns 12 RSCLK Pulse Width High 10 13 LSCLK to BCLK Skew 2 14 CS Setup Time 10 ns ns ns 8 ns ns 15 CS Hold Time 10 ns 16 NPRW, NPADDR Setup Time 5 ns 17 NPRW, NPADDR Hold Time 20 18 NP Driven to High Impedence 19 NP Driven 20 NP Valid 21 NP Invalid 2 ns 22 NP Setup Time 30 ns 23 NP Hold Time 20 ns 24 INT Asserted 40 ns 25 INT Deasserted 40 ns 26 RX, RXPAR Valid 25 ns 27 RX, RXPAR Invalid 3 ns 28 TX, TXPAR Setup Time 10 ns 29 TX, TXPAR Hold Time 5 ns 30 RDAT Setup Time 5 ns 31 RDAT Hold Time 8 32 LPRCK FOTOFF, SCAN0, LSR, ULSB, EBFERR Valid 33 LRRCK, FOTOFF, SCAN0, LSR ULSB, EBFFRR Invalid 2 ns 34 SDO Setup Time 5 ns 35 SDO Hold Time 15 36 TDAT Valid 37 TDAT Invalid 3 ns 38 TEST 2-0 Setup Time 15 ns 39 TEST 2-0 Hold Time 15 ns 40 ENCOFF Setup Time 15 ns 41 ENCOFF Hold Time 10 ns 42 RST Pulse Width 20 BCLK Periods ns ns 30 ns 30 ns 2 ns ns 25 ns 25 Am79C864A ns ns 3-47 AMD PRELIMINARY KEY TO SWITCHING WAVEFORMS WAVEFORM INPUTS OUTPUTS Must be Steady Will be Steady May Change from H to L Will be Changing from H to L May Change from L to H Will be Changing from L to H Don’t Care, Any Change Permitted Changing, State Unknown Does Not Apply Center Line is HighImpedance “Off” State KS000010 SWITCHING WAVEFORMS 4 6 5 1 3 2 NPCLK BCLK 13 9 7 LSCLK 8 10 12 RSCLK 11 15535B–18 PLC-S Clock Timing Parameters 3-48 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY SWITCHING WAVEFORMS 1 3 2 BCLK 33 LPBCK FOTOFF, SCANO LSR, ULSB, EBFERR 34 35 32 SDO 38 39 TEST2-0 40 ENCOFF 15535B-19 41 PLC-S Misc Signals Timing Diagram Am79C864A 3-49 AMD PRELIMINARY SWITCHING WAVEFORMS 5 4 6 NPCLK 14 14 15 15 CS 17 17 16 16 NPRW 16 17 16 17 NPADDR 18 20 22 21 23 NP 19 24 25 18 18 INT 15535B-20 Node Processor Interface Timing Diagram 42 RST 15535B-21 PLC-S Reset Timing Parameters 3-50 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY SWITCHING WAVEFORMS 12 10 RSCLK 11 30 RDAT 31 1 3 2 BCLK 27 RX RXPAR 26 7 9 LSCLK 8 29 28 TX TXPAR 36 37 TDAT 15535B-22 PLC-S Data Interface Timing Diagram Am79C864A 3-51 AMD PRELIMINARY SWITCHING TEST CIRCUIT IOL From Output Under Test VT CL 0V IOH 15535B-23 Note: CL = 50 pF for all bidirectional or output pins. Standard Test Load 3-52 The SUPERNET 2 Family for FDDI 1994 Data Book AMD PRELIMINARY SWITCHING TEST WAVEFORMS 3.0 V 1.5 V 1.5 V 0.0 V Input Bus In HighImpedance State Input Bus Valid 1.5 V 15535B-24 Input Waveform Test Points 1.5 V Output Bus In HighImpedance State Enabled Output Bus Valid 1.5 V 15535B-25 Output Waveform Test Points Am79C864A 3-53