35
2.5Gbps Ethernet Media Access Controller
Lattice Semiconductor IP Core
The address space used by the Test Control Registers is shown in Table 8. This space contains ID, control, status
and statistics registers used by the test application.
The REGINTF logic block in the test application provides the address decoding, for the RO and R/W Registers
used by the tst_logic and statistics counters. All registers are eight bits wide and are addressable on byte
boundaries. Note that the statistics counter registers are composed of two 8-bit registers, a low and a high byte
register, therefore, in order to access these registers, two byte accesses must be made. For example, to access all
16 bits of the RXOKCNT would require an access to both 0x859 (high byte) and 0x858 (low byte). Note that since
the statistics counter registers are Clear On Read (COR), the high byte should be read first before reading the low
byte, since a read of the low byte clears all the combined 16 bits of the low and high registers. The address map for
the Test Application Related Resisters is as follows:
Table 8. Test Application Related Registers
Address Register Description Mnemonic Type
0x0840 Version/IDentification Register VERID RO
0x0841 Test Control Register TSTCNTL RW
0x0842 Test Control Register 2 TSTCNTL_2 RW
0x0843 MAC Control Register MACCNTL RW
0x0844 Pause Timer Register - Low byte PAUSTMRL RW
0x0845 Pause Timer Register - High byte PAUSTMRH RW
0x0846 FIFO Almost Full Threshold Register - Low FIFOAFTL RW
0x0847 FIFO Almost Full Threshold Register - High FIFOAFTH RW
0x0848 FIFO Almost Empty Threshold Register - Low FIFOAETL RW
0x0849 FIFO Almost Empty Threshold Register - High FIFOAETH RW
0x084a Rx Status Register RXSTATUS RO/COR
0x084b Tx Status Register TXSTATUS RO/COR
0x084c, 0x084d Rx Packet Ignored Counter Register (L,H) RXPICNT RO/COR
0x084e, 0x084f Rx Length Check Error CouNTer (L,H) RXLCECNT RO/COR
0x0850, 0x0851 Rx Long Frames CouNTer Register (L,H) RXLFCNT RO/COR
0x0852, 0x0853 Rx Short Frames CouNTer Register (L,H) RXSFCNT RO/COR
0x0854, 0x0855 Rx IPG violations CouNTer Register (L,H) RXIPGCNT RO/COR
0x0856, 0x0857 Rx CRC errors CouNTer Register (L,H) RXCRCCNT RO/COR
0x0858, 0x0859 Rx OK packets CouNTer Register (L,H) RXOKCNT RO/COR
0x085a, 0x085b Rx Control Frame CouNTer Register (L,H) RXCFCNT RO/COR
0x085c, 0x085d Rx Pause Frame CouNTer Register (L,H) RXPFCNT RO/COR
0x085e, 0x085f Rx Multicast Frame CouNTer Register (L,H) RXMFCNT RO/COR
0x0860, 0x0861 Rx Broadcast Frame CouNTer Register (L,H) RXBFCNT RO/COR
0x0862, 0x0863 Rx VLAN tagged Frame CouNTer Register (L,H) RXVFCNT RO/COR
0x0864, 0x0865 Tx Unicast Frame CouNTer Register (L,H) TXUFCNT RO/COR
0x0866, 0x0867 Tx Pause Frame CouNTer Register (L,H) TXPFCNT RO/COR
0x0868, 0x0869 Tx Multicast Frame CouNTer Register (L,H) TXMFCNT RO/COR
0x086a, 0x086b Tx Broadcast Frame CouNTer Register (L,H) TXBFCNT RO/COR
0x086c, 0x086d Tx VLAN tagged Frame CouNTer Register (L,H) TXVFCNT RO/COR
0x086e, 0x086f Tx BAD FCS Frame CouNTer Register (L,H) TXBFCCNT RO/COR
0x0870, 0x0871 Tx Jumbo Frame CouNTer Register (L,H) TXJFCNT RO/COR
0x0872 - 0x08FF UNUSED