Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

[802.3_10SPE] Comment r02-33 Proposed Response



Hello all,

 

Please review the following proposed resolution to comment r02-33. The expected changes to the state diagrams are attached for your visual convenience.

 

 

Regards,

Tim, Piergiorgio, David

 

----- FULL TEXT OF THE PROPOSED RESOLUTION -----

 

PROPOSED ACCEPT IN PRINCIPLE.

 

[1] In Figure 148-4, in the HOLD state, replace "

  TX_ER <= plca_txer

  TXD <= 0000

"

with "

  TX_ER <= ENCODE_TXER(tx_cmd_sync)

  TXD <= ENCODE_TXD(tx_cmd_sync)

"

 

[2] In Figure 148-4, in the ABORT state, replace "

  TX_ER <= plca_txer

  TXD <= 0000

"

with "

  TX_ER <= ENCODE_TXER(tx_cmd_sync)

  TXD <= ENCODE_TXD(tx_cmd_sync)

"

 

[3] In Figure 148-4, in both the COLLIDE and DELAY_PENDING states add the following: "

  TX_ER <= ENCODE_TXER(tx_cmd_sync)

  TXD <= ENCODE_TXD(tx_cmd_sync)

"

 

[4] In Figure 148-4, add a recirculating arc with an "ELSE" condition to the following state boxes: WAIT_MAC, PENDING, DELAY_PENDING, COLLIDE and ABORT.

 

[5] In Figure 148-4, in the transition from WAIT_MAC to TRANSMIT state, change the condition from "plca_txen" to "MCD * plca_txen"

 

[6] At page 242, line 44, change the duration of the beacon_timer from "20 bit times" to "22 bit times".

[RATIONALE] this is required so that the BEACON duration is guaranteed to be always the same (20 bit times) despite the timer tolerance vs the MII TX_CLK tolerance which drives the PLCA DATA State Diagram.

 

[7] At page 248, line 8 remove the duplicate MCD declaration (the correct definition is at line 50 in the Abbreviations section).

 

[8] At page 248, line 34 change "A continuous free-running timer that shall expire synchronously with the rising edge of TX_TCLK."

with "A continuous free-running timer that shall expire synchronously with the rising edge of the MII TX_CLK"

 

[9] Add the following variable definition in 148.4.6.2: "

tx_cmd_sync

   The value of the tx_cmd variable sampled on the rising edge of the MII TX_CLK.

   Values: see tx_cmd in 148.4.5.2

"

  

[10] In Figure 148-4, replace all occurrences of "ENCODE_TXD(tx_cmd)" with "ENCODE_TXD(tx_cmd_sync)"

 

[11] In Figure 148-4, replace all occurrences of "ENCODE_TXER(tx_cmd)" with "ENCODE_TXER(tx_cmd_sync)"

 

[12] Change the condition on the open-ended transition to NORMAL of “Figure 148–4—PLCA Data state diagram” from “

  plca_reset + (!plca_en) * (!plca_status)

to “

  (plca_status != OK)

 

[13] Change the condition on the NORMAL->IDLE transition of “Figure 148–4—PLCA Data state diagram” from “

  plca_en * (!plca_reset) * plca_status

to “

  (plca_status = OK)

 

[14] Remove the NORMAL->NORMAL transition of “Figure 148–4—PLCA Data state diagram” with “ELSE” on it.

 

RATIONALE: The open arrow global transition is evaluated continuously whenever any state is evaluating its exit conditions (see IEEE Std 802.3-2018 subclause 21.5.3). As a result, assuming that the open arrow global transition reset condition that took the PLCA CONTROL state diagram into the NORMAL state still exits the PLCA CONTROL state diagram will immediately enter the NORMAL state again. This is therefore the same result as the NORMAL to NORMAL transition based on the ELSE exit condition.

 

 

[15] Update the PLCA Control state diagram as follows:

  1.  Within the EARLY_RECEIVE state, add the action “start beacon_det_timer”.

  2.  Create a transition from the EARLY_RECEIVE state to a connector, D, with the following exit condition:

        (local_nodeID != 0) * (!receiving) *

        ((rx_cmd = BEACON) + ((!CRS) * beacon_det_timer_not_done))

  3.  Change the exit transition from EARLY_RECEIVE to connector B from:

        (local_nodeID != 0) * ((rx_cmd = BEACON) + recv_timer_done) * (!receiving)

      to:

        (local_nodeID != 0) * recv_timer_done * (!receiving)

  4.  Delete the transition from RESYNC to SYNCING including its exit condition.

  5.  Add a connector, D, with arrow to SYNCING.

  6.  Within the SYNCING state, add the action:

      IF (local_nodeID != 0) * (rx_cmd != BEACON) THEN

          start invalid_beacon_timer

      END

  7.  For the SYNCING exit condition to connector A, replace the condition from:

        rx_cmd != BEACON

      to:

        !CRS

  8.  Add an open arrow global transition to RESYNC with the condition “invalid_beacon_timer_done”.

  9.  Add an exit transition from RESYNC to new connector, E, with the condition “(local_nodeID != 0) * (CRS)”

  10. Add a connector, E, with arrow to EARLY_RECEIVE.

 

[16] In section 148.4.5.4, page 242 Line 46 (before burst_timer) add the following timers:

 

  beacon_detect timer

      Timer for detecting received BEACONs.

      Duration: 24 bit times.

      Tolerance: +/- 1 bit time.

 

  invalid_beacon_timer

      Timer used for BEACON validation. This timer is stopped any time rx_cmd = BEACON.

      Duration: 4000 ns

      Tolerance: +/- 400 ns

 

[17] In clause 30.16.1.1.5 “aPLCATransmitOpportunityTimer”, Page 43, Line 15, Change “The default value is 24.” to “The default value is 32.”

 

[18] Change equation 148-2 on Page 243, Line 17, from “

  to_timer > 2 x max(t<propdelay>) +

             max(TX_EN sampled to MDI output) +

             max(MDI input to CRS asserted) +

             max(MDI input to CRS deasserted) –

             min(MDI input to CRS deasserted)

to “

  to_timer > 2 x max(t<propdelay>) +

             max(TX_EN sampled to MDI output) +

             max(MDI input to CRS asserted) +

             max(MDI input to CRS deasserted) –

             min(MDI input to CRS deasserted) +

             max(MII propagation delay)

 

[19] Delete lines 10 through 20 of page 240. This removes the text beginning with "After syncing is done ..." through  "... appearing at the MDI to CRS asserted."

 

[20] Make changes in Table 147-6 on page 224 in the following order:

    1. Remove row with Event "TX_EN sampled to CRS asserted"

    2. Remove row with Event "TX_EN sampled to CRS deasserted"

    3. Change all occurances of "TX_EN" to "TX_EN / TX_ER"

    4. Change all occurances of "RX_DV" to "RX_DV / RX_ER"

 

 

 

-----------


To unsubscribe from the STDS-802-3-10SPE list, click the following link: https://listserv.ieee.org/cgi-bin/wa?SUBED1=STDS-802-3-10SPE&A=1

Attachment: r02-33 Figure 148-3.pdf
Description: r02-33 Figure 148-3.pdf

Attachment: r02-33 Figure 148-4.pdf
Description: r02-33 Figure 148-4.pdf

R02-33
----- FULL TEXT OF THE PROPOSED RESOLUTION -----

PROPOSED ACCEPT IN PRINCIPLE.

[1] In Figure 148-4, in the HOLD state, replace "
  TX_ER <= plca_txer
  TXD <= 0000
"
with "
  TX_ER <= ENCODE_TXER(tx_cmd_sync)
  TXD <= ENCODE_TXD(tx_cmd_sync)
"

[2] In Figure 148-4, in the ABORT state, replace "
  TX_ER <= plca_txer
  TXD <= 0000
"
with "
  TX_ER <= ENCODE_TXER(tx_cmd_sync)
  TXD <= ENCODE_TXD(tx_cmd_sync)
"

[3] In Figure 148-4, in both the COLLIDE and DELAY_PENDING states add the following: "
  TX_ER <= ENCODE_TXER(tx_cmd_sync)
  TXD <= ENCODE_TXD(tx_cmd_sync)
"

[4] In Figure 148-4, add a recirculating arc with an "ELSE" condition to the following state boxes: WAIT_MAC, PENDING, DELAY_PENDING, COLLIDE and ABORT.

[5] In Figure 148-4, in the transition from WAIT_MAC to TRANSMIT state, change the condition from "plca_txen" to "MCD * plca_txen"

[6] At page 242, line 44, change the duration of the beacon_timer from "20 bit times" to "22 bit times".
[RATIONALE] this is required so that the BEACON duration is guaranteed to be always the same (20 bit times) despite the timer tolerance vs the MII TX_CLK tolerance which drives the PLCA DATA State Diagram.

[7] At page 248, line 8 remove the duplicate MCD declaration (the correct definition is at line 50 in the Abbreviations section).

[8] At page 248, line 34 change "A continuous free-running timer that shall expire synchronously with the rising edge of TX_TCLK." 
with "A continuous free-running timer that shall expire synchronously with the rising edge of the MII TX_CLK"

[9] Add the following variable definition in 148.4.6.2: "
tx_cmd_sync
   The value of the tx_cmd variable sampled on the rising edge of the MII TX_CLK.
   Values: see tx_cmd in 148.4.5.2
"
   
[10] In Figure 148-4, replace all occurrences of "ENCODE_TXD(tx_cmd)" with "ENCODE_TXD(tx_cmd_sync)"

[11] In Figure 148-4, replace all occurrences of "ENCODE_TXER(tx_cmd)" with "ENCODE_TXER(tx_cmd_sync)"

[12] Change the condition on the open-ended transition to NORMAL of â??Figure 148â??4â??PLCA Data state diagramâ?? from â??
  plca_reset + (!plca_en) * (!plca_status)
â??
to â??
  (plca_status != OK)
â??

[13] Change the condition on the NORMAL->IDLE transition of â??Figure 148â??4â??PLCA Data state diagramâ?? from â??
  plca_en * (!plca_reset) * plca_status
â??
to â??
  (plca_status = OK)
â??

[14] Remove the NORMAL->NORMAL transition of â??Figure 148â??4â??PLCA Data state diagramâ?? with â??ELSEâ?? on it.

RATIONALE: The open arrow global transition is evaluated continuously whenever any state is evaluating its exit conditions (see IEEE Std 802.3-2018 subclause 21.5.3). As a result, assuming that the open arrow global transition reset condition that took the PLCA CONTROL state diagram into the NORMAL state still exits the PLCA CONTROL state diagram will immediately enter the NORMAL state again. This is therefore the same result as the NORMAL to NORMAL transition based on the ELSE exit condition.


[15] Update the PLCA Control state diagram as follows:
  1.  Within the EARLY_RECEIVE state, add the action â??start beacon_det_timerâ??.
  2.  Create a transition from the EARLY_RECEIVE state to a connector, D, with the following exit condition:
        (local_nodeID != 0) * (!receiving) * 
        ((rx_cmd = BEACON) + ((!CRS) * beacon_det_timer_not_done))
  3.  Change the exit transition from EARLY_RECEIVE to connector B from:
        (local_nodeID != 0) * ((rx_cmd = BEACON) + recv_timer_done) * (!receiving)
      to:
        (local_nodeID != 0) * recv_timer_done * (!receiving)
  4.  Delete the transition from RESYNC to SYNCING including its exit condition.
  5.  Add a connector, D, with arrow to SYNCING.
  6.  Within the SYNCING state, add the action:
      IF (local_nodeID != 0) * (rx_cmd != BEACON) THEN
          start invalid_beacon_timer
      END
  7.  For the SYNCING exit condition to connector A, replace the condition from:
        rx_cmd != BEACON
      to:
        !CRS
  8.  Add an open arrow global transition to RESYNC with the condition â??invalid_beacon_timer_doneâ??.
  9.  Add an exit transition from RESYNC to new connector, E, with the condition â??(local_nodeID != 0) * (CRS)â??
  10. Add a connector, E, with arrow to EARLY_RECEIVE.

[16] In section 148.4.5.4, page 242 Line 46 (before burst_timer) add the following timers:

  beacon_detect timer
      Timer for detecting received BEACONs.
      Duration: 24 bit times.
      Tolerance: +/- 1 bit time.

  invalid_beacon_timer
      Timer used for BEACON validation. This timer is stopped any time rx_cmd = BEACON.
      Duration: 4000 ns
      Tolerance: +/- 400 ns

[17] In clause 30.16.1.1.5 â??aPLCATransmitOpportunityTimerâ??, Page 43, Line 15, Change â??The default value is 24.â?? to â??The default value is 32.â??

[18] Change equation 148-2 on Page 243, Line 17, from â??
  to_timer > 2 x max(t<propdelay>) + 
             max(TX_EN sampled to MDI output) + 
             max(MDI input to CRS asserted) + 
             max(MDI input to CRS deasserted) â?? 
             min(MDI input to CRS deasserted)
â??
to â??
  to_timer > 2 x max(t<propdelay>) + 
             max(TX_EN sampled to MDI output) + 
             max(MDI input to CRS asserted) + 
             max(MDI input to CRS deasserted) â?? 
             min(MDI input to CRS deasserted) + 
             max(MII propagation delay)
â??

[19] Delete lines 10 through 20 of page 240. This removes the text beginning with "After syncing is done ..." through  "... appearing at the MDI to CRS asserted." 

[20] Make changes in Table 147-6 on page 224 in the following order:
    1. Remove row with Event "TX_EN sampled to CRS asserted"
    2. Remove row with Event "TX_EN sampled to CRS deasserted"
    3. Change all occurances of "TX_EN" to "TX_EN / TX_ER"
    4. Change all occurances of "RX_DV" to "RX_DV / RX_ER"



-----------



________________________________________________________________________
To unsubscribe from the STDS-802-3-10SPE list, click the following link: https://listserv.ieee.org/cgi-bin/wa?SUBED1=STDS-802-3-10SPE&A=1