The MAC IP core consists of the following reset domains:
- CSR reset—global reset,
- MAC TX reset, and
- MAC RX reset.
These resets are asynchronous events. When the MAC or any part of it goes into reset, the user application must manage possible asynchronous changes to the states of the MAC interface signals. The MAC does not guarantee any reset sequence. Intel recommends the sequence shown in the following diagram and table for CSR reset, and TX and RX datapaths reset respectively.
Table 17. TX and RX Datapaths Reset
||Ensure no data transfer in progress.
- Set the tx_packet_control bit to 1 to disable the TX datapath; the rx_transfer_control bit to disable the RX datapath.
- Check the tx_transfer_status bit for a value of 0 to ensure that no TX data transfer is in progress; the rx_transfer_status bit for RX path. Alternatively, wait for a period of time.
- Ensure that the respective TX and RX clocks are stable.
- Assert the tx_rst_n signal or the rx_rst_n signal to reset the MAC TX or MAC RX respectively. You can also trigger the reset by setting the mac_reset_control bit or the mac_reset_control bit to 1 to reset the MAC TX or MAC RX respectively.
- Hold the reset signal active for at least three clock cycles.
- Release the reset signal only when the clocks are stable.
- Wait for at least 500 ns to ensure the reset is fully complete.
- Clear the statistics counters.
||Resume data transfer.
- Clear the tx_packet_control bit to enable the TX datapath; the rx_transfer_control bit to enable the RX datapath.
Note: During reset, the value of the avalon_st_tx_ready signal can be 0 or 1.