Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
Hi Pier, agreeing with your explanation below, I think we also need to move the “start commit_timer” from the “WAIT_MAC” state up to the “PENDING”
state for the same reason. Thanks. Regards, Steffen Denken Sie bitte an die Umwelt und prüfen Sie, ob diese E-Mail wirklich ausgedruckt werden muss. SocialMedia2014Pepperl+Fuchs AG, Mannheim Von: Piergiorgio Beruto [mailto:piergiorgio.beruto@xxxxxxxxxxxxxx]
Hello 802.3cg, I am submitting a change to Figure 148-4, to fix a minor bug. The fix may look strange, because of how 802.3 state diagrams
operate, so I would like to explain it here. - The issue relates to the timer in the DELAY_PENDING state in Figure 148-4. - In Figure 148-4 the DELAY_PENDING state is supposed to make the state diagram wait for a specified amount of time (pending_timer). - In the meantime the TXD and TX_ER signals need to be refreshed as soon as the tx_cmd_sync variable is updated, thus the
need of the “ELSE” recirculating arc. - However, the recirculating arc also causes the “start pending_timer” statement to be re-executed, which according to the
timers semantic, results in the timer to be reset. - This is obviously not the intended behavior as resetting the timer forever would result in a deadlock (no way out
of DELAY_PENDING state). The solution is to move the “start pending_timer” statement from the DELAY_PENDING state to the COLLIDE state. Because the COLLIDE state has a similar “ELSE” recirculating arc, the pending_timer will only be released from reset upon
exit from COLLIDE on the (first) entry to DELAY_PENDING, properly starting the timer. I realize that after this fix, a reader which either does not read the diagram carefully or who’s not used to the state diagram
language, may fall into the trap of believing the timer has to be started when entering the COLLIDE state, but this is not the case. I hope this e-mail helps clarifying this. Note: this mail is a re-send of a previous one that yesterday for some reason the reflector didn't bounce. Kind Regards, Piergiorgio 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 Wichtiger Hinweis: Diese E-Mail einschliesslich ihrer Anhaenge enthaelt vertrauliche und rechtlich geschuetzte Informationen, die nur fuer den Adressaten bestimmt sind. Sollten Sie nicht der bezeichnete Adressat sein, so teilen Sie dies bitte dem Absender umgehend mit und loeschen Sie diese Nachricht und ihre Anhaenge. Die unbefugte Weitergabe, das Anfertigen von Kopien und jede Veraenderung der E-Mail ist untersagt. Der Absender haftet nicht fuer die Inhalte von veraenderten E-Mails. Important Information: 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 |