1 IEEE802.3ah EFM Task Force June 2002 Details of PHY OAM in 1000BASE-X R0-4 June25-2002 Ben Brown.

Slides:



Advertisements
Similar presentations
PHY OAM Baseline Proposal June
Advertisements

EUSART Serial Communication.
System Integration and Performance
ECT 464 Lecture 22 Siemens Instructions 1. Today’s Quote: The best way to get the last word is to apologize. If you have been trapped by what you said,
Review: Interrupts & Timers
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
Data Link Protocols(HDLC & PPP). Data Link Protocols The set of specifications used to implement the DLL. DLL Protocols Synchronous Protocols Character-oriented.
Setha Pan-ngum. History of CAN [1] It was created in mid-1980s for automotive applications by Robert Bosch. Design goal was to make automobiles more reliable,
Digital Logic Chapter 5 Presented by Prof Tim Johnson
Crystal Inc. CS8900A-ISA Ethernet Controller Presented by Kallol Par April,
COMP3221: Microprocessors and Embedded Systems Lecture 22: Serial Input/Output (II) Lecturer: Hui Wu Session 1, 2005.
USARTS CS423 Dick Steflik. USART ● Universal Synchronous Asynchronous Receiver Transmitter ● used to send and receive small packets over a serial line.
The IDE (Integrated Development Environment) provides a DEBUGGER for locating and correcting errors in program logic (logic errors not syntax errors) The.
7-1 Digital Serial Input/Output Two basic approaches  Synchronous shared common clock signal all devices synchronised with the shared clock signal data.
1 The 9-Pin Connector Pin abbreviations (numbers in parentheses are the 25D pin numbers): 1. CD (8) 2. RD (Rx) (3) 3. TD (Tx) (2) 4. DTR (20) 5. SG (Ground)
REGISTER A Register is a group of binary storage cells suitable for holding binary information. A group of flip-flops constitutes a register, since each.
1-1 Ethernet Ethernet Controller How do you interface with an Ethernet PHY?
Serial Communication ETEC 6416.
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
VLSI Team 5 10/100 Ethernet MAC Chatziioannou Dimitris Delivos Giannis Katsiris Giannis.
SDR Test bench Architecture WINLAB – Rutgers University Date : October Authors : Prasanthi Maddala,
1 Registers and Counters A register consists of a group of flip-flops and gates that affect their transition. An n-bit register consists of n-bit flip-flops.
802.11ac Preamble Date: Authors: Month Year Month Year
Lecture Set 9 MCS-51 Serial Port.
Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
Universal Asynchronous Receiver/Transmitter (UART)
Microchip PIC Networks Amrit Bandy, Ben Funk Neil Goldsman.
Using Direct Memory Access to Improve Performance
Topics to be covered : How to model memory in Verilog RAM modeling Register Bank.
MODULE I NETWORKING CONCEPTS.
 8251A is a USART (Universal Synchronous Asynchronous Receiver Transmitter) for serial data communication.  Programmable peripheral designed for synchronous.
NS Training Hardware. Serial Controller - UART.
Device Drivers CPU I/O Interface Device Driver DEVICECONTROL OPERATIONSDATA TRANSFER OPERATIONS Disk Seek to Sector, Track, Cyl. Seek Home Position.
NS Training Hardware.
Registers Page 1. Page 2 What is a Register?  A Register is a collection of flip-flops with some common function or characteristic  Control signals.
Chapter 11 Data Link Protocols A data link protocol is a set of specifications used to implement the data link layer [A protocol is the set of rules or.
EFLAG Register of The The only new flag bit is the AC alignment check, used to indicate that the microprocessor has accessed a word at an odd.
1 FEC framing and delineation Frank Effenberger Huawei Technologies, US Dec. 5, 2006.
Serial Communications Interface Module Slide #1 of 19 MC68HC908GP20 Training PURPOSE -To explain how to configure and use the Serial Communications Interface.
NFC Forum Type 2 Tag Platform Operations with the TRF7970A TI NFC/RFID Applications Team.
Digital System Design using VHDL
The Spartan®-3E FPGA Starter Kit board. A computer mouse is designed mainly to detect two-dimensional motion on a surface. Its internal circuit measures.
7/27/2004IETF San-Diego Plenary meeting 8/2004 EPON MIBs Lior Khermosh – Passave Technologies
Sequencers SQO,SQC,SQL.
Brief Version of Starting Out with C++ Chapter 1 Introduction to Computers and Programming.
Communicating. The ATmega16 communicates through one of the following ways: Serial Peripheral Interface (SPI) Universal Synchronous and Asynchronous serial.
WINLAB Open Cognitive Radio Platform Architecture v1.0 WINLAB – Rutgers University Date : July 27th 2009 Authors : Prasanthi Maddala,
FEC framing and delineation Frank Effenberger Huawei Technologies, US Dec. 5, 2006.
Functional Processing of Collections (Advanced) 6.0.
8251 USART.
Status and Plans for Xilinx Development
1. PIC ADC  PIC18F877 has 8 analog input channels i.e. port A pins(RA0 to RA5) and port E pins(RE1 and RE2). These pins are used as Analog input pins.
Anti-Sway Function Anti-Sway Block Confidential Property of Schneider Electric Schneider Electric.
Serial mode of data transfer
Computer Organization
Transfer Frame Structures
SERIAL PORT PROGRAMMING
Functional Processing of Collections (Advanced)
NFC Forum Type 2 Tag Platform Operations with the TRF7970A
MODEM REGISTER VERIFICATION
Serial Communication Interface: Using 8251
Serial Communication Interface
COS 260 DAY 10 Tony Gauvin.
COMP3221: Microprocessors and Embedded Systems
Controller Area Networks (CAN)
EUSART Serial Communication.
MPC–SP Synchronization
EGR 2131 Unit 12 Synchronous Sequential Circuits
Prof Afonso Ferreira Miguel
Presentation transcript:

1 IEEE802.3ah EFM Task Force June 2002 Details of PHY OAM in 1000BASE-X R0-4 June Ben Brown

2 IEEE802.3ah EFM Task Force June 2002 TX Requirements Pipeline for “OAM Preamble Only” insertion Pipeline depth is 20 octets Alignment to TX_EVEN at SOP Preamble replacement with “OAM Preamble Normal Frame” Idle replacement with “OAM Preamble Only”

3 IEEE802.3ah EFM Task Force June 2002 Alignment to TX_EVEN at SOP Use a Deficit Idle Count concept as in , option 2, with the modification of limiting the maximum value to 1 rather than 3. First byte of packet (preamble) is written to pipeline when TX_EVEN=FALSE.

4 IEEE802.3ah EFM Task Force June OCTET PIPELINE TX Pipeline Structure TX OAM State Machine TA_HOLD IPGGMII GTX_CLK TX ORDERED_SET STATE MACHINE GTX_CLK

5 IEEE802.3ah EFM Task Force June 2002 TX OAM State Machine Features Monitor the GMII for SOP (Rising edge of TX_EN) Monitor alignment of SOP and TX_EVEN to control the Deficit Idle Count Control the pipeline input and DIC octet Monitor the contents of the pipeline Monitor the request to insert an OAM Message Replace Preamble or IPG with OAM Message Forward PHY ID in EPON mode Control data to TX Ordered_Set state machine

6 IEEE802.3ah EFM Task Force June 2002 Preamble replacement with “OAM Preamble Normal Frame” Replace the 8 bytes of Preamble at the end of the pipeline under the following conditions: An OAM Message is available The entire pipeline is full of DATA The PCS transmit ordered_set state machine is in the XMIT_DATA state Forward PHY ID in EPON mode

7 IEEE802.3ah EFM Task Force June 2002 Idle replacement with “OAM Preamble Only” Replace the 8 bytes of IPG at the end of the pipeline under the following conditions: An OAM Message is available The entire pipeline is full of IPG The PCS transmit ordered_set state machine is in the XMIT_DATA state The last 12 bytes out of the pipeline were IPG TX_EVEN = FALSE

8 IEEE802.3ah EFM Task Force June 2002 RX Requirements Pipeline for “OAM Preamble Only” removal Pipeline depth is 2 bytes “OAM Preamble Normal Frame” replacement with Preamble “OAM Preamble Only” replacement with Idle Forward of errors Set RX_ER on SFD if CRC8 is bad in EPON mode only

9 IEEE802.3ah EFM Task Force June 2002 RX Pipeline Structure GMII 2-OCTET PIPELINE RX OAM State Machine RX_CLK RX STATE MACHINE RX_CLK

10 IEEE802.3ah EFM Task Force June 2002 RX OAM State Machine Features Monitor the contents of the pipeline Monitor the OAM byte for Preamble/Frame type Replace “OAM Preamble Only” with IDLE Replace “OAM Preamble Normal Frame” with Preamble/SFD Forward PHY ID in EPON mode Extract OAM Message Force RX_ER on SFD for bad CRC8 in EPON mode only Control data to GMII

11 IEEE802.3ah EFM Task Force June 2002 State Machines, Variable & Functions

12 IEEE802.3ah EFM Task Force June 2002 TX_EN=FALSE TX_EVEN Alignment State Machine IDLE_0 ta_hold <= normal inter_frame tpi <= {TX_EN,TXD} IDLE_1 ta_hold <= {TX_EN,TXD} tpi <= ta_hold DATA_1 ta_hold <= {TX_EN,TXD} tpi <= ta_hold DATA_0 ta_hold <= normal inter_frame tpi <= {TX_EN,TXD} TX_EN=TRUE * tx_even=FALSE power_on=TRUE + mr_main_reset=FALSE TX_EN=FALSE TX_EN=TRUE * tx_even=FALSE TX_EN=TRUE * tx_even=TRUE TX_EN=TRUE * tx_even=TRUE Note: All transitions synchronous to GTX_CLK

13 IEEE802.3ah EFM Task Force June 2002 TX OAM Variables ta_hold - Transmit Alignment Hold register A 9-bit vector for storing TX_EN & TXD when aligning data to TX_EVEN. Needs to reflect that this is a storage element tpi - TX Pipeline Input A 9-bit vector used as input to the TX OAM pipeline. It either reflects the current contents of the TX_EN & TXD or the contents of the TA_HOLD register. Needs to reflect that this is NOT a storage element

14 IEEE802.3ah EFM Task Force June 2002 TX OAM State Machine (page 1) IDLE tsmi <= tpipe(20) power_on=TRUE + mr_main_reset=FALSE Note: All transitions synchronous to GTX_CLK tx_msg_rdy=TRUE * ((PIPE_ALL_DATA=TRUE * TOS=XMIT_DATA) + ( PIPE_ALL_IDLE=TRUE * PIPE_LAST_12_IDLE=TRUE * tx_even=FALSE)) SOP tsmi <= tpipe(20) UCT OAM tsmi <= tx_msg(OAM) UCT RSVD1 tsmi <= tx_msg(RSVD1) UCT (to next page) (from CRC state on next page) ELSE

15 IEEE802.3ah EFM Task Force June 2002 UCT TX OAM State Machine (page 2) RSVD2 tsmi <= tx_msg(RSVD2) UCT RSVD3 tsmi <= tx_msg(RSVD3) p2mp_mode=TRUE *tpipe(20)=DATA PHYID1 UCT tsmi <= tpipe(20) RSVD4 tsmi <= tx_msg(RSVD4) p2mp_mode=FALSE + tpipe(20)=IDLE UCT PHYID2 UCT tsmi <= tpipe(20) RSVD5 tsmi <= tx_msg(RSVD5) UCT (to IDLE state on previous page) CRC tsmi <= tx_msg(CRC)

16 IEEE802.3ah EFM Task Force June 2002 TX OAM Variables tsmi - Transmit Ordered_Set State Machine Input A 9-bit vector used as input to the transmit ordered_set state machine. This vector is only used when Transmit OAM is enabled. Otherwise, the GMII is the direct input to the state machine. Needs to reflect that this is NOT a storage element tpipe(#) - TX Pipeline Stage # A 9-bit vector that reflects the contents of a particular stage of the transmit pipeline. #=1..20 where 1 is the first stage of the transmit pipeline and 20 is the last. When enabled and on every GTX_CLK rising edge, tpipe(1) takes the value tpi, tpipe(n+1) takes the value tpipe(n) for all n>1. The reset value of tpipe(#) is normal inter_frame.

17 IEEE802.3ah EFM Task Force June 2002 TX OAM Variables tx_msg(x) - TX OAM Message x consists of OAM, RSVD1, RSVD2, RSVD3, RSVD4, RSVD5, CRC Contains the TX OAM message to be inserted in the place of a packet’s preamble or inserted into the IDLE stream. OAM - OAM byte from (insert reference here) RSVDx - RSVD bytes from (insert reference here) CRC - CRC8 of TX OAM message from (insert reference here)

18 IEEE802.3ah EFM Task Force June 2002 TX OAM Functions PIPE_ALL_DATA This is an indication that all 20 stages of the TX OAM pipeline contain DATA octets. That is, for each stage, the TX_EN bit is TRUE. PIPE_ALL_IDLE This is an indication that all 20 stages of the TX OAM pipeline contain IDLE octets. That is, for each stage, the TX_EN bit is FALSE. PIPE_LAST_12_IDLE This is an indication that the last 12 octets transferred from the TX OAM pipeline to the transmit ordered_set state machine were IDLE octets. tx_msg_rdy A boolean indicating that a TX OAM message is available and ready to be inserted by the TX OAM state machine.

19 IEEE802.3ah EFM Task Force June 2002 RX_EN=TRUE RX OAM State Machine (page 1) IDLE rpipe(2) <= rpipe(1) rpipe(1) <= rsmo power_on=TRUE + mr_main_reset=FALSE Note: All transitions synchronous to RX_CLK SOP (from states on next pages) RX_EN=FALSE rpipe(2) <= rpipe(1) rpipe(1) <= rsmo OAM_NF rpipe(2) <= rpipe(1) rpipe(1) <= normal preamble rx_msg(OAM) <= RXD RX_EN=TRUE * RXD =10RX_EN=TRUE * RXD =00 OAM_PO rpipe(2) <= normal inter_frame rpipe(1) <= normal inter_frame rx_msg(OAM) <= RXD RX_EN=FALSE RX_EN=TRUE ELSE

20 IEEE802.3ah EFM Task Force June 2002 RX OAM State Machine (page 2) RSVD1 rpipe(2) <= rpipe(1) if (rx_msg(OAM) =10) rpipe(1) <= normal inter_frame else rpipe(1) <= normal preamble rx_msg(RSVD1) <= RXD RX_EN=FALSE RX_EN=TRUE RSVD2 rpipe(2) <= rpipe(1) if (rx_msg(OAM) =10) rpipe(1) <= normal inter_frame else rpipe(1) <= normal preamble rx_msg(RSVD2) <= RXD RX_EN=FALSE RX_EN=TRUE RSVD3 rpipe(2) <= rpipe(1) if (rx_msg(OAM) =10) rpipe(1) <= normal inter_frame else rpipe(1) <= normal preamble rx_msg(RSVD3) <= RXD RX_EN=FALSE PHYID1 rpipe(2) <= rpipe(1) if (rx_msg(OAM) =10) rpipe(1) <= normal inter_frame else if (p2mp_mode) rpipe(1) <= rsmo else rpipe(1) <= normal preamble rx_msg(RSVD4) <= RXD RX_EN=TRUE RX_EN=FALSERX_EN=TRUE

21 IEEE802.3ah EFM Task Force June 2002 RX OAM State Machine (page 3) PHYID2 rpipe(2) <= rpipe(1) if (rx_msg(OAM) =10) rpipe(1) <= normal inter_frame else if (p2mp_mode) rpipe(1) <= rsmo else rpipe(1) <= normal preamble rx_msg(RSVD5) <= RXD RX_EN=FALSE RX_EN=TRUE CRC rpipe(2) <= rpipe(1) if (rx_msg(OAM) =10) rpipe(1) <= normal inter_frame else if (rx_msg(CRC)=RXD) rpipe(1) <= normal SFD else if (p2mp_mode) rpipe(1) <= error SFD else rpipe(1) <= normal SFD if (rx_msg(CRC)=RXD) capture_rx_msg <= TRUE UCT

22 IEEE802.3ah EFM Task Force June 2002 RX OAM Variables rsmo - Receive State Machine Output The 10-bit vector output from the Receive State Machine and used by the RX OAM state machine. When Receive OAM is not enabled, rsmo is the source of RX_ER, RX_EN & RXD. rpipe(#) - RX Pipeline Stage # A 10-bit vector that reflects the contents of a particular stage of the receive pipeline. #=1 & 2 where 1 is the first stage of the transmit pipeline and 2 is the last. Both stages are directly controlled by the RX OAM state machine. The reset value of rpipe(#) is normal inter_frame. When Receive OAM is enabled, rpipe(2) is the source of RX_ER, RX_EN & RXD.

23 IEEE802.3ah EFM Task Force June 2002 RX OAM Variables rx_msg(x) - RX OAM Message x consists of OAM, RSVD1, RSVD2, RSVD3, RSVD4, RSVD5, CRC Contains the RX OAM message to be inserted in the place of a packet’s preamble or inserted into the IDLE stream. OAM - OAM byte from (insert reference here) RSVDx - RSVD bytes from (insert reference here) CRC - CRC8 of RX OAM message from (insert reference here) The CRC parameter is expected to be continuously calculated so after all other parameters have been written, the CRC parameter can be used to determine if the received CRC is valid. capture_rx_msg Indication to the Message Handler that an OAM message is available in rx_msg and should be captured.

24 IEEE802.3ah EFM Task Force June 2002 Backup Slides

25 IEEE802.3ah EFM Task Force June 2002 PCS TX State Machine Alignment GTX_CLK K28.5 tx_code-group D16.2K28.5D16.2SP1P2P3P4P5 tx_even TX_EN I TXD IIP0P1P2P3P4P5P6 K28.5 tx_code-group D16.2K28.5D16.2SP2P3P4P5P6 tx_even TX_EN TXD IIP0P1P2P3P4P5P6P7

26 IEEE802.3ah EFM Task Force June 2002 GMII to tx_code-group Mapping GMII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII PIPELINE TX_EN TXD TX_EN IIIIIIIIIIIISODDDPPCIIIIIIIIIIIIII TXD SODDDPPCTR tx_code-group I 2 OAM Preamble Only S - SPD O - OAM D - Data (Reserved) P - PHY ID (if used) C - CRC8 I or I2 - IDLE T - Terminate R - Carrier_Extend