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

Re: [802.3_10SPE] Comment r02-33 Proposed Response



Hello Tim,

 

And thank you very much for your reply. Mine are below. Please also note that I Cc-d George and Piergiorgio directly, as the reflector does not seem to work (my mail sent in the morning still has not come back).

 

Yours sincerely


Gergely

 

 

From: Tim Baggett <Tim.Baggett@xxxxxxxxxxxxx>
Sent: Thursday, August 15, 2019 12:40 PM
To: STDS-802-3-10SPE@xxxxxxxxxxxxxxxxx
Subject: Re: [802.3_10SPE] Comment r02-33 Proposed Response

 

Hello Gergely,

 

 

  • plca_status_timer: would this change from 130090 to 130094?

 

I agree, and added this change to the proposed resolution text file (attached).

 

  • recv_beacon_timer: the change of minimum value is appropriate?

 

I do not see that a minimum time is specified anywhere for recv_beacon_timer. However, yes, in an implementation the duration of this timer would need to change due account for the increase in the beacon_timer. I cannot find anywhere that this would need to be changed in the draft however.

 

I have not included any change in the attached proposed response text for this.

 

  • On NORMAL->IDLE in your proposal “r02-33 Figure 148-4.pdf” change “plca_status = OK” to “UCT”

 

When the PLCA RS is disabled, the RS must continue to map between the PLS signaling and MII signaling. This is done in the NORMAL state, and we need to remain in the NORMAL state to continue performing the actions. An UCT would cause an immediate transition into IDLE even when plca_status is not OK resulting on the actions in NORMAL being executed only once, right? Wouldn’t an UCT take precedence over the open-arrow global transition into NORMAL?

No, it would not. “21.5.3 State transitions” says this:

====

Any open arrow (an arrow with no source block) represents a global transition. Global transitions are

evaluated continuously whenever any state is evaluating its exit conditions. When a global transition

becomes true, it supersedes all other transitions, including UCT, returning control to the block pointed to by

the open arrow.

====

 

In any event, I think it would be more clear to the reader to document the transition from NORMAL to IDLE as “plca_status = OK”.

Both work, if you are in rush.

 

I have not included this change in the proposed response text or diagram.

Please consider doing so

 

  • On DISABLE->RESYNC in your proposal “r02-33 Figure 148-3.pdf” change “plca_en * (local_nodeID ≠ 0) * (local_nodeID ≠ 255)” to “local_nodeID ≠ 0”

 

Yes, the open-arrow global transition into DISABLE would take higher precedence over the (plca_en) and (local_nodeID ≠ 255) terms in the condition exiting from DISABLE to RESYNC. I’ve updated the attached proposed resolution text, see [15]-11, and diagram.

 

  • On DISABLE->RECOVER in your proposal “r02-33 Figure 148-3.pdf” change “plca_en * (local_nodeID = 0)” to “local_nodeID = 0”

 

Yes, the open-arrow global transition into DISABLE would take higher precedence over the (plca_en) term in the condition exiting from DISABLE to RECOVER. I’ve updated the attached proposed resolution text, see [15]-12, and diagram.

 

Regards,

Tim

 

 

From: Huszak Gergely <Gergely.Huszak@xxxxxxxx>
Sent: Thursday, August 15, 2019 12:21 AM
To: Tim Baggett - C21560 <Tim.Baggett@xxxxxxxxxxxxx>
Cc: STDS-802-3-10SPE@xxxxxxxxxxxxxxxxx
Subject: RE: Comment r02-33 Proposed Response

 

External E-Mail

 

Hello Tim,

 

Sorry for being in desync (I am in CET).

 

Some question, if I may:

recv_beacon_timer and plca_status_timer rely on the value of the beacon_timer, which is now proposed to be changed from 20 to 22BT -> would these 2 times be affected by this change?

More precisely:

- plca_status_timer: would this change from 130090 to 130094?

- recv_beacon_timer: the change of minimum value is appropriate?

If no change is expected to these, the text would need to change, as the formulae would then be off?

 

Then some proposals (all are simplifications of things that are touched anyways for other reasons):

  • On NORMAL->IDLE in your proposal “r02-33 Figure 148-4.pdf” change “plca_status = OK” to “UCT”
  • On DISABLE->RESYNC in your proposal “r02-33 Figure 148-3.pdf” change “plca_en * (local_nodeID ≠ 0) * (local_nodeID ≠ 255)” to “local_nodeID ≠ 0”
  • On DISABLE->RECOVER in your proposal “r02-33 Figure 148-3.pdf” change “plca_en * (local_nodeID = 0)” to “local_nodeID = 0”

 

Yours sincerely

 

Gergely

 

 

From: Tim Baggett <Tim.Baggett@xxxxxxxxxxxxx>
Sent: Thursday, August 15, 2019 2:41 AM
To: STDS-802-3-10SPE@xxxxxxxxxxxxxxxxx
Subject: [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


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


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