ATETHMAC-SSN8006
4
Pinout
Table 1. Application to ATETHMAC-SSN8006
Signal Description
reset
Active-high signal indicates that the application intends to reset the device, including ATETHMAC-
SSN8006. This signal is usually asserted at the time of power cycle or if the application wants to
recover from a deadlock situation. This signal resets ATETHMAC-SSN8006 asynchronously. Any
pending TX and RX operations will be discarded and TX and RX FIFOS will be flushed out. The
configuration information in the register space is also initialized.
app_tx_dt[8:0]/[34:0]
The application puts the data to be transmitted on the line on this bus. The core registers the data on
this bus with the positive edge of the app_clk when app_tx_wrt is high. This bus can be configured to
interface with the application bus width of 8 bit or 32 bit. The description for configuring the core for 8
bit or 32 bit during synthesis and simulation is in the Application Note. In the 8-bit mode, the
application should set the app_tx_dt[8] high only while writing the last byte of the packet to be
transmitted. In the 32-bit mode, the application should set the app_tx_dt[34] high only while writing the
last double word (32 bits) of the packet to be transmitted. app_tx_dt[33:32] should contain the valid
byte count in the double word written by the application. The first byte of a packet should always be
aligned to the first byte of the word being written; that is, app_tx_dt[7:0] should contain the first byte of
the packet.
app_tx_wrt:
ATETHMAC-SSN8006 samples app_tx_wrt on the rising edge of the app_clk to load the app_tx_dt
into the TX FIFO. Active high app_tx_wrt indicates that the app_tx_dt is valid in the current cycle. This
signal is generated by the application synchronous to the app_clk. The application should not
advance to the next data if tx_fifo_full is asserted for the current active app_tx_wrt signal. Burst writes
to the TX FIFO can be performed by keeping the app_tx_wrt cycle asserted for multiple cycles and
app_tx_dt reloaded every subsequent cycle by the application.
app_data_in[7:0]
app_data_in is used by the application to configure the core. When app_rw is asserted, the core
registers app_data_in into the configuration register set addressed by app_addr[7:0]. This is
synchronous with app_clk.
app_rw
This signal is synchronous with app_clk. Write operations to the configuration space are performed
when this signal is asserted. Illegal addresses are ignored. Please refer to the later sections for the
details on address space.
app_addr[7:0]
This bus is used to address the configuration space. When app_rw is asserted, the core registers
app_data_in into the configuration register set addressed by app_addr[7:0]. This is synchronous with
app_clk.
app_rx_rd
The application asserts this signal to read the data from the RX FIFO in the core. This is synchronous
to app_clk. Current read would return the app_rx_dt from the RX FIFO in the same cycle. Please refer
to the waveforms in the RX Data Flow section, page 13.
clr_tx_error
The application will assert clr_tx_error to reset the transmit flow. This would flush the TX FIFO and
reset the TX FSM to IDLE state. Pending frames in the TX FIFO will be flushed. This is an
asynchronous signal.
clr_rx_error
The application will assert clr_rx_error to reset the receive flow. This would flush the RX FIFO and
reset the RX FSM to IDLE state. Pending frames in the RX FIFO will be flushed. This is an
asynchronous signal.
send_jam_sequence
Send_jam_sequence is a level signal set by the application in half_duplex mode to control the flow. If
it is asserted during the beginning of a receive packet, the core will jam the line and force a backoff on
the transmitting device.
Note: This signal is sampled only at the beginning of a packet being received. If it is asserted while a
packet reception is in progress, it has no effect on the current packet.