2.3.1 ESMC TX Subsystem
(Ask a Question)ESMC TX subsystem consists of the following modules:
- pdu_generator: This module handles the following features:
- pdu_generate_request_servicing: This module services the request received from the pdu_checker and also generates an acknowledgment signal to indicate the successful transmission of PDU.
- pdu_packet_framer: This module frames 58-byte packet based on a different type of PDU request received. Currently, the framer accepts a request to generate 10 different PDU's.
- pdu_counter_logic: Counter logic to keep a log of how many PDU's have been sent out. Current logic keeps track of all the different types of PDU's sent.
- pdu_sent_max_threshold: Logic to limit the number of PDU's that can be sent using a 1 second timer.
- fifo_mgmt: FIFO management module is used to efficiently manage the clock domain crossing between a PDU generator (slow clock domain) and Core10GMAC (fast clock domain). The module also consists of a controller that manages the writes and reads for a group of 10 FIFO's.
-
FIFO controller reads from FIFO when i_sys_mac_tx_fifo_af signal is "0".
-
The writes to the FIFO's are performed by pdu_generator when a "PDU send" request is generated from the Rx subsystem.
-
The following figure shows the PDU generator finite state machine.
PDU generator finite state machine traverses through the following states when any one of the send PDU requests are received:
- IDLE: Check for any of the PDU send requests for "1" and then traverse to STATE_DWORD1.
- STATE_DWORD1 to STATE_DWORD8: The framer accesses the predefined data word from the defined file based on the request sent from pdu_checker and also traverses to the next state.
- WAIT_STATE: Logic checks for any of the PDU send requests to be "1" and then traverse to the IDLE state.
