Professional Documents
Culture Documents
Title Page
Core Databook
SA14-2434-11
Revision 11
April 10, 2007 - IBM Confidential
IBM ®
The following are trademarks of International Business Machines Corporation in the United States, or other countries, or
both.
BooleDozer CoreConnect EinsTimer IBM IBM Logo ibm.com PowerPC
Other company, product, and service names may be trademarks or service marks of others.
All information contained in this document is subject to change without notice. The products described in this document
are NOT intended for use in applications such as implantation, life support, or other hazardous uses where malfunction
could result in death, bodily injury, or catastrophic property damage. The information contained in this document does not
affect or change IBM product specifications or warranties. Nothing in this document shall operate as an express or implied
license or indemnity under the intellectual property rights of IBM or third parties. All information contained in this docu-
ment was obtained in specific environments, and is presented as an illustration. The results obtained in other operating
environments may vary.
THE INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED ON AN “AS IS” BASIS. In no event will IBM be
liable for damages arising directly or indirectly from any use of the information contained in this document.
This document can be printed. The responsibility for using the latest level of this document and for destroying down-level
versions lies with the user of the document. To request the most recent version of this document, contact your IBM repre-
sentative.
SA14-2434-11
April 10, 2007 - IBM Confidential
IBM Core Databook
Table of Contents
Contents
Preface ............................................................................................................................. 7
About this Book ....................................................................................................................................... 7
Who Should Use this Book ..................................................................................................................... 7
Revision Log ........................................................................................................................................... 7
Notation Conventions ............................................................................................................................ 14
Terms and Abbreviations ...................................................................................................................... 15
1. Overview .................................................................................................................... 17
1.1 Introduction ..................................................................................................................................... 17
1.2 Features .......................................................................................................................................... 17
1.3 Typical Applications ........................................................................................................................ 19
1.4 References ...................................................................................................................................... 19
1.5 Additional Required Elements ......................................................................................................... 20
SA14-2434-11
April 10, 2007 - IBM Confidential Page 3 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
SA14-2434-11
Page 4 of 120 April 10, 2007 - IBM Confidential
IBM Core Databook
SA14-2434-11
April 10, 2007 - IBM Confidential Page 5 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
SA14-2434-11
Page 6 of 120 April 10, 2007 - IBM Confidential
IBM Core Databook
Preface
This document is available to anyone with access to the Design Kit for the core. If you need access, contact
your IBM representative.
Revision Log
Note: Changes from previous versions of this document are marked with blue change bars throughout the
text. Italicized text and page numbers in this table are hypertext links. Change bars apply only to the most
recent version of the document.
Revision 11 April 10, 2007 Changed “flip flop” to “flip-flop”. 98, 106
Added additional indications to add a third synchronizer flip-flop, if necessary, for 106
the technology in Section A.3.1 , Synchronizer Flip-Flop Pairs.
SA14-2434-11 Preface
April 10, 2007 - IBM Confidential Page 7 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
Revision 10 January 6, 2006 Changed RMON RFC document version number from RFC1754 to RFC2819. 17, 23
Changed minimum OPB frequency supported to be that used by the EMAC. See 18, 101
Section 1.2, Features and also Section 5.7.1, Clock Frequencies
Added clarification that register bits will be removed during synthesis with DC. See 91
Section 5. , Core Integration
Revision 9 April, 2004 Reversed the bit order in the definition table for Section 3.1.62 67
MIB_INTERRUPT_STATUS_A.
Reversed the bit order in the definition table for Section 3.1.63 69
MIB_INTERRUPT_STATUS_B.
Updated Section 5.7.1 Clock Frequencies and changed minimum OPB clock fre- 101
quency for 10 Gbps mode in Table 10 Clock Frequencies.
Revision 8 March, 2003 Changed aOctetsReceivedOK application to All Applications in Section 3.1.13 aOc- 38
tetsReceivedOK.
Added Cu-11 information in Section 5.5.2 Technology and Section 5.7 Performance 101, 101
and Operating Environment.
Changed timing on EMAC interface Status signals in Table 7 EMAC MIB Interface 94
Signals.
In Section 5.3.2.6 Supplied Timing Constraints, added variables to EinsTimer 98
PHASE file definition.
Preface SA14-2434-11
Page 8 of 120 April 10, 2007 - IBM Confidential
IBM Core Databook
Revision 7 March, 2003 Added 3 counters for 10G applications: Section 1.2 Features, Section 3.1.66 17, 72, 72,
ReceivedWithCodeError, Section 3.1.67 TXLocalFault, Section 3.1.68 TXRemote- 73, 74, 91
Fault, Section 3.2 Interrupt Handling, Section 5.1 Configurability.
Added Table 4 Transmit Status Word for 10 G Applications and Table 5 Receive 84, 86
Status Word for 10 G Applications to support 10G applications.
Revision 6 June, 2002 Updated reference for etherStatsOctets in Table 1 MIB Counters and Registers 25
Summary.
Added Table 6 MIB - OPB Interface Signals to Section 4.2 OPB Interface. 89
SA14-2434-11 Preface
April 10, 2007 - IBM Confidential Page 9 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
Revision 4 November 2000 Replaced “58 counters” with “60 counters” in Section 3.1 Registers, and 23
added two paragraphs.
Updated “Notes” column in Table 1 MIB Counters and Registers Summary. 25
Replaced "Receive OK” with “Bad FCS in the received frame” in Section 3.1.38 53
etherStatsOversizePkts.
Changed “Optional” to “RFC Mandatory” for ether registers from Section 3.1.34 51—58
etherStatsPkts through Section 3.1.46 etherStatsPkts1024to1518Octets.
Preface SA14-2434-11
Page 10 of 120 April 10, 2007 - IBM Confidential
IBM Core Databook
Revision 3 October 2000 Changed EMACOPLE3 to EMACOPLE in Figure 1 Ethernet (RMON) MIB Core 19
Typical Application.
Changed each register from “Read” to “Read/Write” (with the exception of the 23
INTERRUPT, aOctetsTransmittedOK, and aOctetsReceivedOK registers) and
added further “Write” or “Read Only” information Section 3 Software Interface.
In Section 4.1 EMAC Interface, added text to the end of the section. 77
Updated, and added text to Section 5.1 Configurability. 91
Added text to Section 5.4 Test Interface Requirements and Section 5.1.1 Intercon- 99
nect.
Changed MIB_INTERRUPT_STATUS_ENABLE_A(_B) to Entire
MIB_ENABLE_INTERRUPT_STATUS_A(_B). book
SA14-2434-11 Preface
April 10, 2007 - IBM Confidential Page 11 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
Revision 2 August 2000 In Section 3.1 Registers, added information from the IEEE spec regarding multiple 23
error statuses.
Added text to counter sections, Section 3.1.1 aFramesTransmittedOK through 29—39
Section 3.1.14 aFramesLostDueToIntMACRcvError.
Added aRunts and aBursts (bits 30 and 31), and renumbered bits 6 - 31 in 67
Section 3.1.62 MIB_INTERRUPT_STATUS_A.
Added percentages to “Timing” column in Table 7 EMAC MIB Interface Signals, and 94
moved Inputs below Outputs in the table.
Added phrase “for the maximum configuration” to Section 5.7.3 Nominal Power Dis- 102
sipation.
Preface SA14-2434-11
Page 12 of 120 April 10, 2007 - IBM Confidential
IBM Core Databook
Revision 1 June 2000 In Section 1.2 Features, changed 12.5 MHz to 25 MHz for 100 Mpbs medium, and 17
changed 1.25 MHz to 2.5 MHz for 10 Mbps medium.
Updated Figure 2 Ethernet MIB Block Diagram. 21
In Table 1 MIB Counters and Registers Summary, MIB Register Summary, renum- 25
bered Address Offsets.
In Section 5.7.1 Clock Frequencies, changed 12.5 MHz to 25 MHz at 100 Mbps, 101
and 1.25 MHz to 2.5 MHz at 10 Mbps.
SA14-2434-11 Preface
April 10, 2007 - IBM Confidential Page 13 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
Notation Conventions
Unless otherwise specified, the notation used throughout this document is consistent with IBM PowerPC®
processor family notation, except when discussing the EMAC interface. These conventions include the fol-
lowing:
Term Description
most significant bit (MSb) When describing multiple bit entities, bit 0 refers to the most significant bit (MSb).
least significant bit (LSb) When describing multiple bit entities, the highest numbered bit is the least significant bit (LSb).
most significant byte (MSB) When referring to halfword (16-bit) entities, byte 0 refers to the most significant byte (MSB) or the
high byte of the halfword. It is accessed at an even address location.
least significant byte (LSB) When referring to halfword (16-bit) entities, byte 1 refers to the least significant byte (LSB) of the
halfword, or the low byte. It is accessed at an odd address location.
byte significance - 32 bit entities For 32-bit entities, the byte significance is from most significant to least significant as follows:
Byte 0 (MSB)
Byte 1
Byte 2
Byte 3 (LSB)
Preface SA14-2434-11
Page 14 of 120 April 10, 2007 - IBM Confidential
IBM Core Databook
Term/Abbreviation Definition
FIFO First-in First-out memory element. Can be of various sizes. Used for data buffering.
Framing bits The part of the receiving/transmitting frame that contains the preamble and the start-of-frame delimiter
fields.
FrameSize The number of octets of receiving/transmitting frame excluding preamble and start-of-frame delimiters
fields.
minFrameSize is equal to 64.
maxFrameSize is equal:
-1518 octets for standard frame (with no VLAN and jumbo packet support)
-1522 octets for standard frame (with VLAN support)
-9018 octets for standard frame (with jumbo packet support)
-9022 octets for standard frame (with VLAN and jumbo packet support)
MBps Megabytes per second
Medium The 802.3 standard uses the word medium to refer to the wire (or fiber) that links nodes.
Packet A unit of data and control signals that is transmitted as a composite whole.
Physical Layer Device (PHY) Official term for Ethernet transceiver. The PHY contains the analog circuitry necessary to communi-
cate with the physical medium.
Rx Receive. Refers to the data flow direction, from the media and into the IBM application.
Tx Transmit. Refers to the data flow direction, from the IBM application and into the media.
SA14-2434-11 Preface
April 10, 2007 - IBM Confidential Page 15 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
Preface SA14-2434-11
Page 16 of 120 April 10, 2007 - IBM Confidential
IBM Core Databook
1. Overview
1.1 Introduction
The Ethernet Management Information Base core (MIB) contains a set of statistical counters that, as an On-
Chip Peripheral Bus (OPB) slave, are read via the OPB. It is a highly configurable synthesizable core that
interfaces with the Ethernet Media Access Controller (EMAC) core and the OPB. It consists of a set of statis-
tical counters used by software to keep track of events on the Ethernet bus.
The MIB implements various MACEntity managed object class counters listed in Section 1.2 Features, in
addition to other optional statistical counters.
1.2 Features
• Implements the IEEE Standard 802.3 Clause 30 MACEntity managed object class, the MACControlEntity
managed object class, the PHYEntity managed object class, and the PAUSEEntity managed object class
of the IEEE Standard 802.3 Clause 30 of statistical counters, for a total of 27 counters.
• Implements the following etherStats statistical counters of the RFC 2819 RMON MIB. (Counters not listed
in this category are not implemented.)
— etherStatsPkts
— etherStatsBroadcastPkts
— etherStatsMulticastPkts
— etherStatsCRCAlignErrors
— etherStatsOversizePkts
— etherStatsJabbers
— etherStatsCollisions
— All of the etherStatsPktsxxOctets counters
SA14-2434-11 Overview
April 10, 2007 - IBM Confidential Page 17 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
— RXVLANTaggedFrame
— RXVLANUserPriorityField (this is a register, not a counter)
— RXUnicastAddr
— RXFIFOOverrun
— TXPkts64Octets
— TXPkts65to127Octets
— TXPkts128to255Octets
— TXPkts256to511Octets
— TXPkts512to1023Octets
— TXPkts1024toMaxSizeOctets
— TXBadFCS
— TXFramePausedByControlPacket
— TXUnicastAddr
— TXFIFOUnderrun
— ReceivedWithCodeError
— TXLocalFault
— TXRemoteFault
• OPB interface operates from 33 MHz (10 MHz in 1 Gbps mode) to 133 MHz.
Overview SA14-2434-11
Page 18 of 120 April 10, 2007 - IBM Confidential
120
IBM Core Databook
PLB
RX TX1 TX0
Rx FIFO
Control Logic
(EMACOPLE)
Tx FIFO
EMAC
Ethernet MAC
RMON/MIB
(GMAC)
MII/GMII/XGMII Interface
Physical
Layer Device
The MIB is used with the Ethernet Media Access Controller (EMAC) in a superstructure design.
1.4 References
IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method & Physical
Layer Specifications, 2002 Edition
Request For Comment 2819, Remote Network Monitoring Management Information Base, May 2000
On-Chip Peripheral Bus Architecture Specifications, SA14-2528-02, Version 2.1, April 2001
SA14-2434-11 Overview
April 10, 2007 - IBM Confidential Page 19 of 120
Core Databook IBM
Ethernet Management Information Base (MIB) Revision 11
Overview SA14-2434-11
Page 20 of 120 April 10, 2007 - IBM Confidential
120
IBM Core Databook
2. Functional Description
The MIB acts as a temporary storage area that records a statistical history of data activity performed by the
interfacing EMAC core. This statistical data is stored in configurable statistical counters that accumulate a
historical record of the data activity and is read by the OPB.
The MIB consists of an EMAC interface that provides the communication between the MIB and EMAC. The
statistical data is fed through the EMAC interface and stored in the statistical counters. When the data is
requested by the OPB, the data is read out of the statistical counters, routed through the OPB slave, and read
by the OPB.
Each counter can be read via an address on the OPB. Due to the high configurability options of the MIB
implementation, a strategic set of statistical data can be accumulated to fine tune the database to the desired
application.
The MIB core utilizes CoreConnect support of the OPB at a width of 32 bits.
MIB
To
EMAC
3. Software Interface
The MIB behaves as a standard OPB slave in compliance with the On-Chip Peripheral Bus Architecture
Specifications (see Section 1.4 References on page 19). It is a set of statistical counters that, as an OPB
slave, are read via the OPB.
The 23 most significant bits of the OPB address are compared with the content of the OPB_HRDW_ADDR
bus to distinguish between transactions targeted for the MIB and those intended for other OPB slave devices.
The nine least significant bits of the OPB address define the specific counters within the MIB. In full configura-
tion, the MIB supports the sequential address mechanism for more efficient utilization of the OPB interface.
3.1 Registers
Because the MIB counters are accessed through the OPB, access to the counters must be full-word aligned.
The reason for this is because smaller accesses could reset the counters (that is, after one byte is read, the
counter can change values before another is read, affecting all bytes). A byte or halfword operation to any
counter is treated by the MIB as a fullword operation. All counters are read only and have a power-on-reset
value of 0x0000_0000. All counters can be optionally reset by read operations by changing the configuration
in the Verilog defines file. Read operations from unused addresses return zeros.
The width of each counter can be selected at synthesis by the user according to the application, up to a
maximum width equal to the OPB width (32 bits - exception: see Section 3.1.7 aOctetsTransmittedOK on
page 33, Section 3.1.13 aOctetsReceivedOK on page 38, and Section 3.1.49 RXVLANUserPriorityField on
page 60). This allows for a combined hardware/software solution. For software implementation, a counter
width of 1 bit provides indications of an event. The interrupt register records which counters wrapped. A read
of a nonexistent counter (width of 0) returns a 0.
In Table 1 on page 25, “MIB Register Summary,” counters listed as “mandatory” are required by either the
IEEE specification or the RFC specification, and MUST be implemented in either hardware or in software.
Please reference the respective specifications. The choice, however, of hardware or software is application
dependent. Counters listed as “optional” need not be implemented in either hardware or software unless
required by the application. The “mandatory” and “optional” terms in the referenced specifications indicate the
requirement for a Full Function Ethernet NIC design with Universal Device Driver support.
Counters with names of type ‘aXXXX’ and marked “mandatory” are required according to IEEE 8.2.3 Clause
30, but can be implemented in hardware or software, or a combination, according to the application. Counters
with names of type ‘etherStatsXXXX’ and marked ‘mandatory’ are required according to RFC 2819 RMON
MIB, but can be implemented in hardware or software, or a combination, according to the application. All
other counters are optional and can be implemented in hardware or software, or a combination, according to
the application. If all counters are synthesized, there are a total of 60 counters in the MIB, with an additional 2
counters already implemented in the EMAC. See the EMAC3 specification for further details, Section 4.21,
“Transmit Octets,” and Section 4.22, “Receive Octets.”
The OPB address for a counter remains the same no matter what size counter is implemented.
If a counter is implemented in software, a read at the OPB address reserved for that counter in hardware will
return all 0s. The read address for the software implemented counter will depend on the individual applica-
tion.
If a counter is implemented both in hardware and software, a read at the OPB address for the hardware
section of the counter will return a number that must be added to that portion of the counter value imple-
mented in software to obtain the full counter value.
Note: If an IEEE-specified counter (‘aXXX’ type) is to be 32 bits in hardware, it cannot be reset when
read, according to the referenced specification. In this case, the MIB must be configured with the reset on
read function disabled.
From the IEEE Specification, Section 30.2.2.2.1 DTE MAC Sublayer Functions: “. . . with regard to reception-
related error statistics a hierarchical order has been established such that when multiple error statuses can
be associated with one frame, only one status is returned . . . .” This hierarchy in descending order is as
follows:
• alignment Error
• frameCheckError
• lengthError
“The counters are primarily incremented based on the status returned to the MAC client; therefore, the hierar-
chical order of the counters is determined by the order of the status.” For the MIB core, this means that if
multiple status events occur for received frames on the EMC_RX_STATUS bus, the following priority is used
to increment the counters:
• FrameTooLong
• AlignmentError
• BadFCSReceivedFrame
• InRangeLengthError
For example, the alnRangeLengthErrors counter will be incremented only if FrameTooLong, AlignmentError,
and BadFCSReceivedFrame are not reported on the EMC_RX_STATUS bus at the same time. See further
details in Section 3.1.5 aFrameCheckSequenceErrors on page 32, Section 3.1.6 aAlignmentErrors on
page 32, and Section 3.1.20 aInRangeLengthErrors on page 42.
CoreConnect Revision ID Register 108 All All Section 3.1.69, CoreConnect Revision ID
Register, on page 73
3.1.1 aFramesTransmittedOK
Access: Read/Write
IEEE Mandatory
All applications
This counter gives the number of frames that are transmitted successfully. It is incremented when EMAC
EMC_TX_STATUS (0), TransmitOK is set and activates if none of the following events are discovered during
transmission:
• Collision
• Late collision
• Excessive deferral
• Bad FCS
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.2 aSingleCollisionFrames
Access: Read/Write
IEEE Mandatory
10/100/1000 Applications
This counter gives the number of frames that are involved in a single collision and are then transmitted
successfully. It is incremented when the transmitted frame collides with other data on the bus just once. This
increment only applies in half-duplex mode. This counter is not incremented if aFramesLostDueToInt-
MACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.3 aMultipleCollisionFrames
Access: Read/Write
IEEE Mandatory
10/100/1000 Applications
This counter gives the number of frames that are involved in more than one collision and are then transmitted
successfully. It is incremented when the transmitted frame collides with other data on the bus more than
once, but less than16 times. This is applicable only in half-duplex mode.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.4 aFramesReceivedOK
Access: Read/Write
IEEE Mandatory
All applications
This counter gives the number of frames that are received successfully (receiveOK). It increments if none of
the following events is discovered during reception:
• Alignment errors
• Short event
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.5 aFrameCheckSequenceErrors
Access: Read/Write
IEEE Mandatory
All applications
This counter gives the number of receive frames that are an integral number of octets in length and do not
pass the FCS check. This does not include frames received with frame-too-long, or frame-too-short error. The
counter is incremented when a received frame has an FCS value which does not match the FCS value calcu-
lated by EMAC.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.6 aAlignmentErrors
Access: Read/Write
IEEE Mandatory
10/100 Applications
This counter gives the number of frames that are not an integral number of octets in length and do not pass
the FCS check. It is incremented when the received frame does not have an integral number of octets in
length. It is applicable only on 10/100 Mbps medium.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.7 aOctetsTransmittedOK
aOctetsTransmittedOKLOW
aOctetsTransmittedOKHIGH
Width: Minimum 14, maximum width of each is width of OPB (32), overall maximum is 64 bits
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of data and padding octets of frames that are successfully transmitted. This
counter is updated when the TransmitStatus is reported as transmitOK, by adding the value on
EMC_TX_Frame_Bytes to the value in this counter. This counter is not incremented if aFramesLostDueToInt-
MACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value is overwritten. A write to this counter is only for
bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the OPB
via the OPB protocol. A write to the HIGH address, offset 0x1C, causes the OPB value to be written into the
LOW part of the counter and all 0’s to the HIGH part of the counter. This allows for testing of the carry over
from the LOW part of the counter to the HIGH part of the counter. It also allows for the reset of the counter
during testing. A write to the LOW address, offset 0x18, causes the OPB value to be written into the LOW part
of the counter and all 1’s to the HIGH part of the counter. This allows for testing of the overflow from the
counter, and setting of the corresponding interrupt status bit.
3.1.8 aFramesWithDeferredXmissions
Access: Read/Write
IEEE Optional
10/100/1000 Applications
This counter gives the number of frames whose first transmission attempt was delayed because the medium
was busy. It is incremented when the current frame transmission is deferred due to activity on the medium on
its first transmission attempt. (Note that if EMAC waits until the end of the IFG period without indicating an
active medium, the frame is not considered a deferred frame.) This is applicable only in half-duplex mode.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.9 aLateCollisions
Access: Read/Write
IEEE Optional
10/100/1000 Applications
This counter gives the number of times that a collision is detected later than one slotTime from the start of the
packet transmission. A late collision is counted twice, that is, both as a collision and as a lateCollision. This
counter is incremented when the frame collided with other data outside of the collision window. This is appli-
cable only in half-duplex mode.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.10 aFramesAbortedDueToXSColls
Access: Read/Write
IEEE Optional
10/100/1000 Applications
This counter gives the number of frames that are not transmitted successfully due to excessive collisions. It is
incremented when the current frame transmission had ended with a collision at the 16th consecutive attempt.
This is applicable only in half-duplex mode.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.11 aFramesLostDueToIntMACXmitError
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of frames that could not be transmitted by the station because of an internal
MAC sublayer transmit error. If this counter is incremented, none of the other counters in this section are
incremented. Counters “in this section” refer to the MACEntity Managed Object Class as defined in IEEE
802.3 Clause 30 in both Table 30-1 and Section 30.3.1 MAC entity managed object class:
aFramesTransmittedOK
aSingleCollisionFrames
aMultipleCollisionFrames
aFramesReceivedOK
aFrameCheckSequenceErrors
aAlignmentErrors
aOctetsTransmittedOK
AFramesWithDeferredXmissions
aLateCollisions
aFramesAbortedDueToXSColls
aCarrierSenseErrors
aOctetsReceivedOK
This counter is incremented when the transmit is interrupted internally within EMAC.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.12 aCarrierSenseErrors
Access: Read/Write
IEEE Optional
10/100/1000 Applications
During the transmission of a frame without collision, this counter gives the number of times that the carri-
erSense variable is not asserted or is deasserted. This counter is incremented when, during the transmission
of a frame, the PHY_CRS input is de-asserted after it previously was asserted, or it was not asserted at all. It
is applicable only in half-duplex mode; it is not incremented in full-duplex mode.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.13 aOctetsReceivedOK
aOctetsReceivedOKLOW
aOctetsReceivedOKHIGH
Width: Minimum 14, maximum width of each is width of OPB (32), overall maximum is 64 bits
Access: Read
IEEE Optional
All Applications
This counter gives the number of data and padding octets in frames that are successfully received. This does
not include octets in frames received with frame-too-long, FCS, length or alignment errors, or frames lost due
to internal MAC sublayer error. This counter is updated when the result of a reception is reported as recei-
veOK status, by adding the value on EMC_RX_Frame_Bytes to the value in this counter.
If a write is done during normal operation, the existing value is overwritten. A write to this counter is only for
bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the OPB
via the OPB protocol. A write to the HIGH address, offset 0x38, causes the OPB value to be written into the
LOW part of the counter and all 0’s to the HIGH part of the counter. This allows for testing of the carry over
from the LOW part of the counter to the HIGH part of the counter. It also allows for reset of the counter during
testing. A write to the LOW address, offset 0x34, causes the OPB value to be written into the LOW part of the
counter and all 1’s to the HIGH part of the counter. This allows for testing of the overflow from the counter,
and setting of the corresponding interrupt status bit.
3.1.14 aFramesLostDueToIntMACRcvError
Access: Read/Write
Optional
All applications
This counter gives the number of frames that are not received by the station due to an internal MAC sublayer
receive error. If this counter is incremented, none of the other counters in this section are incremented.
Counters “in this section” refer to the MACEntity Managed Object Class as defined in IEEE 802.3 Clause 30
in both Table 30-1 and Section 30.3.1 MAC entity managed object class:
aFramesTransmittedOK
aSingleCollisionFrames
aMultipleCollisionFrames
aFramesReceivedOK
aFrameCheckSequenceErrors
aAlignmentErrors
aOctetsTransmittedOK
AFramesWithDeferredXmissions
aLateCollisions
aFramesAbortedDueToXSColls
aCarrierSenseErrors
aOctetsReceivedOK
This counter is incremented when frame reception is interrupted internally within EMAC. This counter is not
incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.15 aMulticastFramesXmittedOK
Access: Read/Write
Optional
All applications
This counter gives the number of frames that are successfully transmitted, to a group destination address
other than broadcast, as indicated by the status value transmitOK. It is incremented when the frame is trans-
mitted to a group destination address other than broadcast. This counter is not incremented if aFramesLost-
DueToIntMACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.16 aBroadcastFramesXmittedOK
Access: Read/Write
Optional
All applications
This counter gives the number of frames that are successfully transmitted to the broadcast address, as indi-
cated by the TransmitStatus transmitOK. Frames transmitted to multicast addresses are not broadcast
frames and are excluded. This counter is incremented when the frame is transmitted to the broadcast desti-
nation address. It is not incremented if aFramesLostDueToIntMACXmitError is to be incremented at the same
time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.17 aFramesWithExcessiveDeferral
Access: Read/Write
Optional
10/100/1000 Applications
This counter gives the number of frames that are deferred for an excessive period of time. It may only be
incremented once per Logical Link Control (LLC) transmission and is incremented when the frame has been
deferred for an excessive period of time. The value of this period in bits is calculated in the following way:
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.18 aMulticastFramesReceivedOK
Access: Read/Write
Optional
All applications
This counter gives the number of frames that are received successfully and sent to an active, nonbroadcast
group address. This does not include frames received with frame-too-long, FCS, length or alignment errors,
or frames lost due to internal MAC sublayer error. This counter is incremented when the frame is received
with a group destination address other than broadcast and at least 6 bytes are received. This counter is not
incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.19 aBroadcastFramesReceivedOK
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of frames that are received successfully and sent to the broadcast group
address. This does not include frames received with frame-too-long, FCS, length or alignment errors, or
frames lost due to internal MAC sublayer error. This counter is incremented when the frame is received with
the broadcast destination address and at least 6 bytes are received. This counter is not incremented if
aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.20 aInRangeLengthErrors
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of frames with a length/type field value (between the minimum unpadded MAC
client data size and the maximum allowed MAC client data size, inclusive) that does not match the number of
MAC client data octets received. It also includes a count of frames whose length/type field value is less than
the minimum-allowed, unpadded MAC client data size and the number of MAC client data octets received is
greater than the minimum unpadded MAC client data size. The counter is incremented when the content of
the length field in the received frame is less or equal to the maximum allowed MAC client data size (1500
bytes). It is not incremented if FrameTooLong, and AlignmentError, and BadFCSReceivedFrame are
reported at the same time. It is not incremented if aFramesLostDueToIntMACRcvError is to be incremented
at the same time. See Section 3.1 Registers on page 23 for a description of priority.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.21 aOutOfRangeLengthField
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of frames with a length field value greater than the maximum allowed LLC data
size. The counter is incremented when the received frame has a length field value greater than the maximum
allowed LLC data size (greater than 1500 and less than 1536). This counter is not incremented if
aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.22 aFrameTooLongErrors
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of frames received that exceed the maximum permitted frame size. It is incre-
mented when the length of the received frame exceeds the maximum allowed value (maxFrameSize). The
value of maxFrameSize is defined as:
0 0 1518
0 1 1522
1 0 9018
1 1 9022
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.23 aSQETestErrors
Access: Read/Write
IEEE Optional
10 Applications
This counter gives the number of times that the SQE_TEST_ERROR is set in accordance with the rules for
verification of the SQE detection mechanism in the PLS carrier sense function. The SQE test function is not a
part of 100 or 1000 Mbps or 10 Gbps PHY operation, so SQETestErrors will not occur in 100 or 1000 Mbps or
10 Gbps PHYs.
This counter is incremented when the Signal Quality Error test has failed. Following the end of a successful
EMAC transmission (ended with no collision), EMAC expects the PHY to assert the collision signal until the
end of the first part of the inter-frame-gap (IFG1). If collision is not asserted, EMAC indicates a signal quality
error. When the IGNORE_SQE_TEST bit in EMAC mode register 1 is set, SQE test is not performed.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.24 aSymbolErrorDuringCarrier
Access: Read/Write
IEEE Optional
All applications
For 100 Mbps operation, this counter gives a count of the number of times when a valid carrier is present and
there is at least one occurrence of an invalid data symbol.
For half-duplex operation at 1000 Mbps, this counter gives a count of the number of times the receiving media
is non-idle (a carrier event) for a period of time equal to or greater than slotTime, and during which there was
at least one occurrence of an event that causes the PHY to indicate “data reception error” or “carrier extend
error” on the GMII.
For full-duplex operation at 1000 Mbps, this counter gives a count of the number of times the receiving media
is non-idle (a carrier event) for a period of time equal to or greater than minFrameSize, and during which
there is at least one occurrence of an event that causes the PHY to indicate “data reception error” on the
GMII.
For 10 Gbps operation, this counter gives a count of the number of times the receiving media is non-idle (the
time between the start and end of packet delimiter) for a period of time equal to or greater than minFrame-
Size, and during which there was at least one occurrence of an event that causes the PHY to indicate
‘Receiver Error’ on the XGMII.
At all speeds, this counter is incremented only once per valid CarrierEvent. If a collision is present, this
counter does not increment.
• For 100 Mbps operation, a valid carrier is present and there is at least one occurrence of data reception
error.
• For 1000 Mbps operation, the receiving media is non-idle (a carrier event) for a period of time greater
than or equal to slotTime for half-duplex, or greater than or equal to minFrameSize for full-duplex, and
during which there was at least one occurrence of an event that causes the PHY to indicate data recep-
tion error on the GMII.
• For 10 Gbps operation, the receiving media is non-idle (the time between the start and end of packet
delimiter) for a period of time equal to or greater than minFrameSize, and during which there was at least
one occurrence of an event that causes the PHY to indicate ‘Receiver Error’ on the XGMII.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.25 aMACControlFramesTransmitted
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of MAC control frames passed for transmission to the MAC sublayer. This
counter is incremented when the currently transmitted frame is a control frame, but only if a control packet is
self-assembled by EMAC. This counter is not incremented if aFramesLostDueToIntMACXmitError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.26 aMACControlFramesReceived
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of MAC control frames passed by the MAC sublayer to the MAC control
sublayer. It is incremented when the currently received frame is a control frame. This counter is not incre-
mented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.27 aUnsupportedOpcodesReceived
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of received MAC control frames that contain an opcode not supported by the
device. It is incremented when the currently received frame was a control frame with unsupported opcode.
(See Ethernet Media Access Controller3 (EMAC), Section 2.6 Flow Control for more details.) This counter is
not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.28 aPAUSEMACCtrlFramesTransmitted
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of PAUSE frames passed to the MAC sublayer for transmission. It is incre-
mented when the currently transmitted frame is a pause frame. It activates only if a control packet is self-
assembled by EMAC. Packets are considered “Control” and/or “Pause Control” only according to the
length/type and opcode fields, and not according to the actual packet size (Control Pause packets have a
length of 64 bytes). This counter is not incremented if aFramesLostDueToIntMACXmitError is to be incre-
mented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.29 aPAUSEMACCtrlFramesReceived
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of MAC Control frames passed by the MAC sublayer to the MAC control
sublayer. It is incremented when the currently received frame is a control pause frame. This counter is not
incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.30 aShortEvents
Access: Read/Write
IEEE Optional
10/100/1000 Applications
This counter gives the number of CarrierEvent with ActivityDuration less than ShortEventMaxTime:
• In the 10 Mbps case, ShortEventMaxTime is greater than 74 bit time (BT) and less than 82 BT. Short-
EventMaxTime has tolerances included to provide for circuit losses between a conformance test point at
the AUI and the measurement point within the state diagram.
This counter is incremented when the duration of the PHY_RX_DV signal is less than or equal to ShorEvent-
MaxTime. For this indication EMAC always assumes that the preamble and the SFD fields contain 8 bytes
regardless of the number actually received.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.31 aRunts
Access: Read/Write
IEEE Optional
All applications
This counter gives the number of CarrierEvent that meets one of the following conditions:
• The activityDuration is greater than ShortEventMaxTime and less than ValidPacketMinTime, and the Col-
lisionEvent signal is deasserted
• The OctetCount is less than 64, the ActivityDuration is greater than ShortEventMaxTime, and the Colli-
sionEvent signal is deasserted.
For 10 and 100 Mbps repeaters, ValidPacketMinTime is greater than or equal to 552 BT and less than 565
BT. A CarrierEvent greater than or equal to 552 BT but less than 565 BT may or may not be counted as a
runt.
At 10 Mbps, an event whose length is greater than 74 BT but less than 82 BT is counted as either aShort-
Events or aRunts, but not both. ValidPacketMinTime has tolerances included to provide for circuit losses
between a conformance test point at the AUI and the measurement point within the state diagram. For 1000
Mbps repeaters, ValidPacketMinTime is 4136 BT.
Runts usually indicate collision fragments, a normal network event. In certain situations associated with large
diameter networks, a percentage of runts may exceed ValidPacketMinTime.
This counter is incremented when the frame length is less than minFrameSize (64 bytes, excluding the
preamble and SFD bytes) and a Short Event is not detected.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.32 aBursts
Access: Read/Write
IEEE Optional
1000 Applications
This counter gives the number of CarrierEvent with ActivityDuration greater than or equal to slotTime during
which the CollisionEvent signal has not been asserted. It is incremented when the CarrierEvent (from the first
byte of DA until the end of transmission) is equal to or greater than slotTime. It is applicable only in half-
duplex mode in 1000 Mbps medium.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.33 etherStatsOctets
Width: 32
RFC Mandatory
All applications
This counter is implemented in the EMAC as the Receive Octets register. See the EMAC specification for the
address offset required to read this register.
This counter gives the total number of octets of data (including those in bad packets) received on the network
(excluding framing bits but including FCS octets). This counter can be used as a reasonable estimate of
ethernet utilization. If greater precision is desired, the etherStatsPkts and etherStatsOctets counters should
be sampled before and after a common interval. The differences in the sampled values are Pkts and Octets,
respectively, and the number of seconds in the interval is Interval. These values are used to calculate the
Utilization as follows:
Utilization = ---------------------------------------
Interval * 10,000
The result of this equation is the value Utilization which is the percent utilization of the ethernet segment on a
scale of 0 to 100 percent.
3.1.34 etherStatsPkts
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets (including bad packets, broadcast packets, and multicast
packets) received. It is incremented when the EMAC signal EMC_RX_STATUS_VALID is asserted. This
counter is not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.35 etherStatsBroadcastPkts
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of good packets received that were directed to the broadcast address.
This does not include multicast packets. This counter is incremented when the frame is received with the
broadcast destination address and at least 6 bytes are received. This counter is not incremented if
aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.36 etherStatsMulticastPkts
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of good packets received that were directed to a multicast address. This
number does not include packets directed to the broadcast address. It is incremented when the frame is
received with a group destination address other than broadcast and at least 6 bytes are received. This
counter is not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.37 etherStatsCRCAlignErrors
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets received that have a length (excluding framing bits, but
including FCS octets) of between 64 and 1518 octets, inclusive, but had either a bad Frame Check Sequence
(FCS) with an integral number of octets (FCS Error), or a bad FCS with a non-integral number of octets
(Alignment Error). It is incremented when Bad FCS in the received frame is detected (Neither Frame is too
long, Short event, nor Runt frame are active from EMAC)). This counter is not incremented if aFramesLost-
DueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.38 etherStatsOversizePkts
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of well-formed packets received that were longer than 1518 octets
(excluding framing bits, but including FCS octets). It is incremented when frame-too-long is detected and not
Bad FCS in the received frame, not In Range Length Error, not Out of Range Length error, not Received With
Symbol Error, not Alignment error, not Short Event, and not Runt Event are active from EMAC. This counter
is not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.39 etherStatsJabbers
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets received that were longer than 1518 octets (excluding framing
bits, but including FCS octets), and had either a bad Frame Check Sequence (FCS) with an integral number
of octets (FCS Error) or a bad FCS with a non-integral number of octets (Alignment Error). This counter is
incremented when frame-too-long is set and Bad FCS in the received frame are active from EMAC. This
counter is not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.40 etherStatsCollisions
Access: Read/Write
RFC Mandatory
10/100/1000 Applications
This counter gives the best estimate of the total number of collisions on this ethernet segment. It is incre-
mented when either Transmit OK, or Single Collision Frame, or Late Collision, or Excess Collisions is active
from EMAC. This counter is not incremented if aFramesLostDueToIntMACRcvError is to be incremented at
the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.41 etherStatsPkts64Octets
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets (including bad packets) received that were 64 octets in length
(excluding framing bits but including FCS octets). It is incremented when the currently received frame
(including bad frames) is 64 bytes in length (excluding framing bits but including FCS bytes). This counter is
not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.42 etherStatsPkts65to127Octets
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets (including bad packets) received that were between 65 and
127 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently received frame (including bad frames) was between 65 and 127 bytes in length (excluding framing
bits but including FCS bytes). This counter is not incremented if aFramesLostDueToIntMACRcvError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.43 etherStatsPkts128to255Octets
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets (including bad packets) received that are between 128 and
255 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently received frame (including bad frames) is between 128 and 255 bytes in length (excluding framing
bits but including FCS bytes). This counter is not incremented if aFramesLostDueToIntMACRcvError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.44 etherStatsPkts256to511Octets
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets (including bad packets) received that are between 256 and
511 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently received frame (including bad frames) is between 256 and 511 bytes in length (excluding framing
bits but including FCS bytes). This counter is not incremented if aFramesLostDueToIntMACRcvError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.45 etherStatsPkts512to1023Octets
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets (including bad packets) received that are between 512 and
1023 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently received frame (including bad frames) is between 512 and 1023 bytes in length (excluding framing
bits but including FCS bytes). This counter is not incremented if aFramesLostDueToIntMACRcvError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.46 etherStatsPkts1024to1518Octets
Access: Read/Write
RFC Mandatory
All applications
This counter gives the total number of packets (including bad packets) received that are between 1024 and
1518 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently received frame (including bad frames) is between 1024 and maxFrameSize in length (excluding
framing bits but including FCS bytes).
0 0 1518
0 1 1522
1 0 9018
1 1 9022
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.47 ReceivedInLoopBackMode
Access: Read/Write
Optional
All applications
This counter gives the number of frames received in the Loop Back mode of operation. It is incremented
when the currently received frame is an “echo” of a frame transmitted by EMAC. This counter is not incre-
mented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.48 RXVLANTaggedFrame
Access: Read/Write
Optional
All applications
This counter gives the number of VLAN tagged frames. It is incremented when the currently received frame
was a VLAN tagged frame. This counter is not incremented if aFramesLostDueToIntMACRcvError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.49 RXVLANUserPriorityField
Width: 3 bits
Access: Read/Write
Optional
All applications
This is a register, not a counter. It contains the content of the user priority field from the currently received
VLAN tagged frame.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.50 RXUnicastAddr
Access: Read/Write
Optional
All applications
This counter gives the total number of good packets received that were directed to a unicast address. It is
incremented when the frame is received with a unicast destination address and at least 6 bytes are received.
This counter is not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.51 RXFIFOOverrun
Access: Read/Write
Optional
All applications
This counter gives the total number of received packets that created an overrun in the receive FIFO. It is
incremented when the current frame is aborted because an overrun-flow of received data applied to the FIFO
was detected, and the data was invalidated since there was no empty space in the receive FIFO. This counter
is not incremented if aFramesLostDueToIntMACRcvError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.52 TXPkts64Octets
Access: Read/Write
Optional
All applications
This counter gives the total number of packets (including bad packets) transmitted that were 64 octets in
length (excluding framing bits but including FCS octets). It is incremented when the currently transmitted
frame (including bad frames) is 64 bytes in length (excluding framing bits but including FCS bytes). This
counter is not incremented if aFramesLostDueToIntMACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.53 TXPkts65to127Octets
Access: Read/Write
Optional
All applications
This counter gives the total number of packets (including bad packets) transmitted that are between 65 and
127 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently transmitted frame (including bad frames) is between 65 and 127 bytes in length (excluding framing
bits but including FCS bytes). This counter is not incremented if aFramesLostDueToIntMACXmitError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.54 TXPkts128to255Octets
Access: Read/Write
Optional
All applications
This counter gives the total number of packets (including bad packets) transmitted that are between 128 and
255 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently transmitted frame (including bad frames) is between 128 and 255 bytes in length (excluding framing
bits but including FCS bytes). This counter is not incremented if aFramesLostDueToIntMACXmitError is to be
incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.55 TXPkts256to511Octets
Access: Read/Write
Optional
All applications
This counter gives the total number of packets (including bad packets) transmitted that are between 256 and
511 octets in length inclusive (excluding framing bits but including FCS octets). This counter is incremented
when the currently transmitted frame (including bad frames) is between 256 and 511 bytes in length
(excluding framing bits but including FCS bytes). This counter is not incremented if aFramesLostDueToInt-
MACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.56 TXPkts512to1023
Access: Read/Write
Optional
All applications
This counter gives the total number of packets (including bad packets) transmitted that are between 512 and
1023 octets in length inclusive (excluding framing bits but including FCS octets). It is incremented when the
currently transmitted frame (including bad frames) is between 512 and 1023 bytes in length (excluding
framing bits but including FCS bytes). This counter is not incremented if aFramesLostDueToIntMACXmitError
is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.57 TXPkts1024toMaxSizeOctets
Access: Read/Write
Optional
All applications
This counter gives the total number of packets (including bad packets) transmitted that are between 1024 and
maxFrameSize in length inclusive (excluding framing bits but including FCS octets). It is incremented when
the currently transmitted frame (including bad frames) is between 1024 and maxFrameSize in length
(excluding framing bits but including FCS bytes). This counter is not incremented if aFramesLostDueToInt-
MACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
0 0 1518
0 1 1522
1 0 9018
1 1 9022
3.1.58 TXBadFCS
Access: Read/Write
Optional
All applications
This counter gives the number of transmitted frames that are an integral number of octets in length and do not
pass the FCS check. It is incremented when a transmitted frame has an FCS value which does not match the
FCS value calculated by EMAC. This increment occurs only if the frame transmitted ended without interfer-
ence (that is, there was not a collision or a stop request during frame transmission). This counter is not incre-
mented if aFramesLostDueToIntMACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.59 TXFramePausedByControlPacket
Access: Read/Write
Optional
10/100/1000 Applications
This counter gives the total number of frames paused by reception of a pause packet. It is incremented when
the currently transmitted frame is delayed before its start due to a pause packet received by EMAC. This
counter is not incremented if aFramesLostDueToIntMACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.60 TXUnicastAddr
Access: Read/Write
Optional
All applications
This counter gives the total number of packets transmitted that are directed to a unicast address. It is incre-
mented when the frame is transmitted with a unicast destination address. This counter is not incremented if
aFramesLostDueToIntMACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.61 TXFIFOUnderrun
Access: Read/Write
Optional
All applications
This counter gives the total number of transmitted packets that created an underrun in the transmit FIFO. It is
incremented when the current frame is aborted because an underrun-data indication from the FIFO was not
valid in time to allow continuous data transmission on the MII/GMII interface. This counter is not incremented
if aFramesLostDueToIntMACXmitError is to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.62 MIB_INTERRUPT_STATUS_A
Width: 32 bits
Access: Read/Write
Optional
All applications
This register records which counters wrapped within address offsets 00 through 84. See Section 3.1.1
aFramesTransmittedOK on page 29 through Section 3.1.34 etherStatsPkts on page 51.
See Section 3.2 Interrupt Handling on page 74 for the procedure for optional Interrupt on Wrap.
This register is Read Only; it may not be written to, but it is reset on a read.
3.1.63 MIB_INTERRUPT_STATUS_B
Width: 32 bits
Access: Read/Write
Optional
All applications
This register records which counters wrapped within address offsets 88 through F4. See Section 3.1.35
etherStatsBroadcastPkts on page 52 through Section 3.1.61 TXFIFOUnderrun on page 66.
See Section 3.2 Interrupt Handling on page 74 for the procedure for optional Interrupt on Wrap.
This register is Read Only; it may not be written to, but it is reset on a read.
3-0 Reserved1
3.1.64 MIB_ENABLE_INTERRUPT_STATUS_A
Width: 32 bits
Access: Read/Write
Optional
All applications
This register indicates which conditions in the MIB_INTERRUPT_STATUS_A register can generate an inter-
rupt. Reference Section 3.1.62 , MIB_INTERRUPT_STATUS_A, on page 67 for bit associations.
See Section 3.2 Interrupt Handling on page 74 for the procedure for optional Interrupt on Wrap.
3.1.65 MIB_ENABLE_INTERRUPT_STATUS_B
Width: 32 bits
Access: Read/Write
Optional
All applications
This register indicates which conditions in the MIB_INTERRUPT_STATUS_B register can generate an inter-
rupt. Reference Section 3.1.63 , MIB_INTERRUPT_STATUS_B, on page 69 for bit associations.
See Section 3.2 Interrupt Handling on page 74 for the procedure for optional Interrupt on Wrap.
3.1.66 ReceivedWithCodeError
Access: Read/Write
Optional
10G Applications
This counter gives the total number of frames received which were terminated by a non-EPD (end of packet
delimiter) charter on the XGMII. This may include Local/Remote Link Fault characters or any other control
character except Terminate/Error. This counter is not incremented if aFramesLostDueToIntMACRcvError is
to be incremented at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.67 TXLocalFault
Access: Read/Write
Optional
10G Applications
This counter gives the total number of frames transmitted which were interrupted as a result of a detected
local link fault. This counter is not incremented if aFramesLostDueToIntMACXmitError is to be incremented at
the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
3.1.68 TXRemoteFault
Access: Read/Write
Optional
10G Applications
This counter gives the total number of frames transmitted which were interrupted as a result of a detected
remote link fault. This counter is not incremented if aFramesLostDueToIntMACXmitError is to be incremented
at the same time.
If a write is done during normal operation, the existing value will be over written. A write to this counter is only
for bring-up and testing of the counters and interrupt mechanism. Only a Fullword write can be used on the
OPB via the OPB protocol.
Access: Read-Only
All
All Applications
This read-only register stores the CoreConnect Revision ID Register value. It represents the version of the
this core. It is does not represent the version of the OPB that it adhere’s to.
There is an interrupt generated on wrap for any counter. The interrupt status registers record which counters
wrapped. The interrupt enable status registers indicate for which counters to generate an interrupt on wrap.
Note: Bit 11 in MadMAL Rx status port will reflect ‘Alignment Error’ instead of ‘Symbol Error’.
In order to implement all mandatory MIB counters the software should process each status word provided by
EMAC in the following manner:
The status word following a transmit transaction (based on content of MadMAL Tx status port):
• FramesTransmittedOK: This counter is incremented when bits 6, 8, 9, 10, 11, 14, and 15 are not set.
• SingleCollisionFrames: This counter is incremented when Transmitted OK is true and bit 13 is set.
• MultipleCollisionFrames: This counter is incremented when Transmitted OK is true and bit 12 is set
The status word following receive transaction (based on content of MadMAL Rx status port):
• FramesReceivedOK: This counter is incremented when bits 6, 8, 11, 12, 13, and 15 are not set.
• FrameCheckSequenceErrors: This counter is incremented when bit 12 is set and bits 10, 11, and 13 are
reset.
• AlignmentErrors: This counter is incremented when bit 11 is set. (This counter will not increment for 8-bit
wide group encoding schemes.)
An alternative software implementation solution that works for all of the counters is to synthesize a counter
width of 1 bit and to synthesize the hardware interrupt status to provide indications of the events.
The etherStatsOctets counter is implemented in the EMAC as the Receive Octets register.
4. Hardware Interface
EMC_RX_STATUS 32
EMC_RX_STATUS_VALID
EMC_RX_FRAMES_BYTES 14
EMC_TX_STATUS 32
EMC_TX_STATUS_VALID
EMAC MIB
EMC_TX_FRAMES_BYTES 14
MIB_RX_RDY
MIB_TX_RDY
It is possible that a single receive frame can result in multiple error indications. EMAC does not prioritize
these errors.
PHY_TX(RX)_CLK
EMC_TX(RX)_STATUS
EMC_TX(RX)_FRAME_BYTES
EMC_TX(RX)_STATUS_VALID A C
MIB_TX(RX)_RDY B
Note: Actual delays between events may be different from the delays depicted in the figure.
• A: When the valid status for the recently processed packet is prepared and presented on the
EMC_TX(RX)_STATUS and EMC_TX(RX)_FRAME_BYTES, EMAC asserts its related
EMC_TX(RX)_STATUS_VALID output.
• B: When MIB has finished processing this status, it asserts the MIB_TX(RX)_RDY signal.
• C: EMAC is allowed to provide a new status for MIB only when assertion of MIB_TX(RX)_RDY for the
previous packet was detected.
Note: Step C is only used in EMAC3. For all other applications, the MIB_TX(RX)_RDY lines should be
terminated. In these applications, an OPB Sequential Address operation might cause a collision in the
MIB with the status vector which would result in the loss of some part of the status vector.
• EMC_RX_FRAME_BYTES
— This 14-bit bus presents the number of bytes that were received on the MII/GMII interface during last
frame reception (it counts all bytes excluding framing and extension bytes). This bus contains the
valid data only when EMC_RX_STATUS_VALID is active. This bus is synchronous with respect to the
PHY_RX_CLK clock. When the EMC_RX_STATUS bit 0, ReceiveOK, is active, the value of this bus
is added to the value in the aOctetsReceivedOK counter.
• EMC_TX_FRAME_BYTES
— This 14-bit bus presents the number of bytes that were transmitted on the MII/GMII interface during
last frame trans-mission (it counts all bytes excluding framing and extension bytes). This bus con-
tains the valid data only when EMC_TX_STATUS_VALID is active. This bus is synchronous with
respect to the PHY_TX_CLK clock. When the EMC_TX_STATUS bit 0, TransmitOK, is active, the
value of this bus is added to the value in the aOctetsTransmittedOK counter.
For detailed descriptions of the related signals, see Section 5.3.2.3 EMAC MIB Interface on page 94.
0 Transmit OK Activates if none of the following events was discovered during transmission:
• Collision
• Late collision
• Lost of carrier sense
• Excessive deferral
• Bad FCS
• Internal MAC transmit error
• SQE error (for half-duplex 10 Mbps only)
1 Single collision frame This bit activates if the transmitted frame collided with other data on the bus just once.
This is applicable only in half-duplex mode.
2 Multiple collision frame This bit activates if the transmitted frame collided with other data on the bus more than
once, but less than 16 times. This is applicable only in half-duplex mode.
3 Deferred frame Indicates that current frame transmission is deferred due to activity on the medium on
its first transmission attempt. (Note that if EMAC waits to the end of the IFG period with-
out indicating an active medium, the frame is not considered as a deferred frame.) This
is applicable only in half-duplex mode.
4 Late collision This bit activates if the frame collided with other data outside of the collision window.
This is applicable only in half-duplex mode.
5 Excessive collisions Indicates that the current frame transmission had ended with a collision at the 16th con-
secutive attempt. This is applicable only in half-duplex mode.
6 Excessive deferral Indicates that the current frame has been deferred for an excessive period of time. This
is applicable only in half-duplex mode. The value of this period in bits is calculated in the
following way:
- For 10 and 100 Mbps operation: 2 x (maxFrameSize x 8) bit times.
- For 1000 Mbps operation: 2 x (burstLimit + maxFrameSize x 8 + headerSize) bit times
This is applicable only in half-duplex mode.
7 EMAC internal error When set, indicates that transmit was interrupted internally within EMAC.
10 Loss of carrier sense Activates if during the transmission of frame, the PHY_CRS input was de-asserted after
it previously was asserted, or it was not asserted at all. Applicable only in half-duplex
mode. Returns zero in full-duplex mode.
11 SQE indication This bit is applicable only for the HDX 10 Mbps medium.
When set, indicates that Signal Quality Error test has failed. Following the end of a suc-
cessful EMAC transmission (ended with no collision), EMAC expects the PHY to assert
the collision signal until the end of the first part of the inter frame-gap (IFG1). If collision
was not asserted, EMAC indicates a signal quality error.
When the IGNORE_SQE_TEST bit in mode register 1 is set, SQE test is not performed.
12 64 bytes transmitted When set, indicates that the currently transmitted frame was 64 bytes in length (exclud-
ing framing bits but including FCS bytes).
Note: If transmit frame was interrupted internally within EMAC, then all bits except bits 4, 5, 6, 7, and 25 will be in an unpredictable
state.
13 65 - 127 bytes transmitted When set, indicates that the currently transmitted frame was between 65 and 127 bytes
in length (excluding framing bits but including FCS bytes).
14 128 - 255 bytes transmitted When set, indicates that the currently transmitted frame was between 128 and 255
bytes length (excluding framing bits but including FCS bytes).
15 256 - 511 bytes transmitted When set, indicates that the currently transmitted frame was between 256 and 511
bytes length (excluding framing bits but including FCS bytes).
16 512 - 1023 bytes transmitted When set, indicates that the currently transmitted frame was between 512 and 1023
bytes length (excluding framing bits but including FCS bytes).
17 1024-MaxSize bytes transmit- When set, indicates that the currently transmitted frame was between 1024 and 1518
ted (1522 in case of VLAN mode) bytes length (excluding framing bits but including FCS
bytes).
18 TX Control Frame When set, indicates that the currently transmitted frame was a control frame. Activates
only if a control packet was self-assembled by EMAC.
19 TX Control Pause Frame When set, indicates that the currently transmitted frame was a pause frame. Activates
only if a control packet was self-assembled by EMAC.
20 Bad FCS Of The Transmitted Indicates that the transmitted frame had an FCS which does not match the FCS calcu-
Frame lated by EMAC. EMAC asserts this indication only if the frame transmitting ended with-
out interference (that is, there was not a collision or stop request during frame
transmission).
21 Frame Paused By Control When set, indicates that the currently transmitted frame was delayed before its start
Packet due to a pause packet received by EMAC.
23 MulticastAddr Activates if the frame was transmitted to a group destination address other than broad-
cast.
24 BroadcastAddr Activates if the frame was transmitted to the broadcast destination address.
25 TXFIFOUnderrun Indicates that current frame was aborted because an underrun-data indication from the
FIFO was not valid in time to allow continuous data transmission on the MII/GMII inter-
face.
Note: If transmit frame was interrupted internally within EMAC, then all bits except bits 4, 5, 6, 7, and 25 will be in an unpredictable
state.
0 Receive OK Activates if none of the following events were discovered during a receive operation:
Receive FIFO Handler interrupted receive process
FCS error
• Length mismatch error
• Too long frames
• Alignment errors
• Received with symbol error
• Short event
• Internal MAC receive error
• FCS error
1 Bad FCS in the received Activates if frame had an FCS value which does not match the FCS value calculated by
frame EMAC.
2 Frame lost due to internal When set, means that frame reception was interrupted internally within EMAC.
MAC receive error
3 In range length error This test is activated only when the content of the length field in the received frame is
less or equal to the maximum allowed MAC client data size (1500 bytes).
4 Out of range length error Indicates that the received frame has a length field value greater than the maximum
allowed LLC data size (greater than 1500 and less than 1536).
5 Frame is too long Indicates that the length of the received frame exceeded the maximum allowed value:
- 1518 octets for standard frame (checked only when the length/type field of
the transmitted frame contains a length value and it is not a jumbo frame)
- 1522 octets for VLAN tagged frame (checked only when the length/type field
of the transmitted frame contains a length value and is not a jumbo frame)
- 9018 octets for a jumbo frame (with no VLAN support)
- 9022 octets for a VLAN tagged jumbo frame
6 Received burst When active, indicates that carrier event (from the first byte of DA till the end of trans-
mission) was equal or greater then slotTime. Applicable only in HDX mode in 1000
Mbps medium.
8 Received with symbol error For 100 Mbps operation, indicates when a valid carrier was present and there was at
least one occurrence of data reception error.
For 1000 Mbps operation, indicates when the receiving media is non-idle (a carrier
event) for a period of time greater than or equal to slotTime for half-duplex, or greater
than or equal to minFrameSize for full-duplex, and during which there was at least one
occurrence of an event that causes the PHY to indicate Data reception error on the
GMII.
9 Alignment error When active, indicates that received frame does not have an integral number of octets
in length. This is applicable only on 10/100 Mbps medium.
10 Short event When active, indicates that the duration of PHY_RX_DV signal was less than the Short-
EventMaxTime constant. For this indication, EMAC always assumes that the preamble
and SFD fields contain 8 bytes regardless of the number actually received.
Note: If the receive frame was interrupted internally within EMAC, then all bits except bits 2, 5, and 29 can be in an unpredictable
state.
11 Runt frame When active, indicates that the frame length was less than minFrameSize (64 bytes,
excluding the preamble and SFD bytes) and a ShortEvent was not detected.
12 64 bytes received When set, indicates that the currently received frame (including bad frame) was 64
bytes in length (excluding framing bits but including FCS bytes).
13 65-127 bytes received When set, indicates that the currently received frame (including bad frame) was
between 65 and 127 bytes in length (excluding framing bits but including FCS bytes).
14 128-255 bytes received When set, indicates that the currently received frame (including bad frame) was
between 128 and 255 bytes length (excluding framing bits but including FCS bytes).
15 256-511 bytes received When set, indicates that the currently received frame (including bad frame) was
between 256 and 511 bytes length (excluding framing bits but including FCS bytes).
16 512-1023 bytes received When set, indicates that the currently received frame (including bad frame) was
between 512 and 1023 bytes length (excluding framing bits but including FCS bytes).
17 1024-MaxSize bytes received When set, indicates that the currently received frame (including bad frame) was
between 1024 and maxFrameSize.
0 0 1518
0 1 1522
1 0 9018
1 1 9022
18 RX control frame When set, indicates that the currently received frame was a control frame.
19 RX control pause frame When set, indicates that the currently received frame was a control pause frame.
20 Rx unsupported opcode When set, indicates that the currently received frame was a control frame with unsup-
ported opcode.
21 Received in loop-back mode When set, indicates that the currently received frame is an “echo” of frame transmitted
by TXMAC block.
22 RX VLAN tagged frame When set, indicates that the currently received frame was a VLAN tagged frame.
23-25 User priority field Provides the content of user priority field (bits 7 and 5 respectively) from received VLAN
tagged frame.
26 UnicastAddr Activates if the frame was received with a unicast destination address and at least 6
bytes are received.
27 MulticastAddr Activates if the frame was received with a group destination address other than broad-
cast and at least 6 bytes are received.
28 BroadcastAddr Activates if the frame was received with the broadcast destination address and at least
6 bytes are received.
Note: If the receive frame was interrupted internally within EMAC, then all bits except bits 2, 5, and 29 can be in an unpredictable
state.
29 RXFIFOOverrun Indicates that the current frame was aborted because an overrun - flow of received data
applied to the FIFO was detected, and the data was invalidated since there was no
empty space in the Receive FIFO.
Note: If the receive frame was interrupted internally within EMAC, then all bits except bits 2, 5, and 29 can be in an unpredictable
state.
0 Transmit OK Activates if none of the following events was discovered during transmission:
• Bad FCS
• Link fault (local or remote)
• TX FIFO underrun during transmit session
• Internal MAC transmit error
1 Local fault Frame transmit process is interrupted as a result of detected local link fault.
2 Remote fault Frame transmit process is interrupted as a result of remote link fault.
7 XEMAC internal error When set, indicates that transmit was interrupted internally within XEMAC.
12 64 bytes transmitted When set, indicates that the currently transmitted frame was 64 bytes in length (exclud-
ing framing bits, but including FCS bytes).
13 65 - 127 bytes transmitted When set, indicates that the currently transmitted frame was between 65 and 127 bytes
in length (excluding framing bits, but including FCS bytes).
14 128 - 255 bytes transmitted When set, indicates that the currently transmitted frame was between 128 and 255
bytes in length (excluding framing bits, but including FCS bytes).
15 256 - 511 bytes transmitted When set, indicates that the currently transmitted frame was between 256 and 511
bytes in length (excluding framing bits, but including FCS bytes).
16 512 - 1023 bytes transmitted When set, indicates that the currently transmitted frame was between 512 and 1023
bytes in length (excluding framing bits, but including FCS bytes).
17 1024-MaxSize bytes transmit- When set, indicates that the currently transmitted frame was between 1024 and 1518
ted (1522 in case of VLAN mode) bytes in length (excluding framing bits, but including FCS
bytes).
18 TX Control Frame When set, indicates that the currently transmitted frame was a control frame. Activates
only if a control packet was self-assembled by XEMAC.
Notes:
1. If the transmit frame was interrupted internally within XEMAC, then all bits (except bits 7 and 25) can be in an unpredictable
state.
2. If a frame is aborted during transmission because of remote or local link fault, then all bits (except bits [2:0]) can be in an unpre-
dictable state.
3. Reserved bits are read as zeros.
19 TX Control Pause Frame When set, indicates that the currently transmitted frame was a pause frame. Activates
only if a control packet was self-assembled by XEMAC.
20 Bad FCS Of The Transmitted Indicates that the transmitted frame had an FCS which does not match the FCS calcu-
Frame lated by XEMAC. XEMAC asserts this indication only if the frame transmitting ended
without interference.
23 MulticastAddr Activates if the frame was transmitted to a group destination address other than broad-
cast.
24 BroadcastAddr Activates if the frame was transmitted to the broadcast destination address.
25 TXFIFOUnderrun Indicates that current frame was aborted because an underrun-data indication from the
FIFO was not valid in time to allow continuous data transmission on the MII/GMII inter-
face.
Notes:
1. If the transmit frame was interrupted internally within XEMAC, then all bits (except bits 7 and 25) can be in an unpredictable
state.
2. If a frame is aborted during transmission because of remote or local link fault, then all bits (except bits [2:0]) can be in an unpre-
dictable state.
3. Reserved bits are read as zeros.
0 Receive OK Activates if none of the following events were discovered during a receive operation:
• Receive FIFO Handler interrupted receive process
• FCS error
• Length mismatch error
• Frames too long
• Link fault sequence set terminated reception
1 Bad FCS in the received Activates if frame had an FCS value which does not match the FCS value calculated by
frame XEMAC. XEMAC asserts this indication only if the received frame was ended without
interference.
2 XEMAC internal error When set, means that frame reception was interrupted internally within XEMAC.
3 In range length error This test is activated only when the content of the length field in the received frame is
less or equal to the maximum allowed MAC client data size (1500 bytes).
4 Out of range length error Indicates that the received frame has a length field value greater than the maximum
allowed LLC data size (greater than 1500 and less than 1536).
5 Frame is too long Indicates that the length of the received frame exceeded the maximum allowed value:
- 1518 octets for standard frame (checked only when the length/type field of
the transmitted frame contains a length value and it is not a jumbo frame)
- 1522 octets for VLAN tagged frame (checked only when the length/type field
of the transmitted frame contains a length value and is not a jumbo frame)
- 9018 octets for a jumbo frame (with no VLAN support)
- 9022 octets for a VLAN tagged jumbo frame
6 Received with Code Error Frame reception was terminated by a non-EPD (end of packet delimiter) character on
the XGMII. This may include Local/Remote Link Fault characters or any other control
character except Terminate/Error.
8 Received with symbol error Indicates when the receiving media is non-idle (a carrier event) for a period of time
greater than or equal to minFrameSize, and during which there was at least one occur-
rence of an event that causes the PHY to indicate a ‘data reception error’ on the XGMII.
11 Runt frame When active, indicates that the frame length was less than minFrameSize (64 bytes,
excluding the preamble and SFD bytes) and a ShortEvent was not detected.
12 64 bytes received When set, indicates that the currently received frame (including bad frame) was 64
bytes in length (excluding framing bits but including FCS bytes).
13 65-127 bytes received When set, indicates that the currently received frame (including bad frame) was
between 65 and 127 bytes in length (excluding framing bits but including FCS bytes).
Notes:
1. If the receive frame was interrupted internally within XEMAC, then all bits (except bits 2, 5, and 29) can be in an unpredictable
state.
2. Packets which contain less than 8 bytes (total, not including framing bytes) may be discarded by XEMAC without any indication.
14 128-255 bytes received When set, indicates that the currently received frame (including bad frame) was
between 128 and 255 bytes in length (excluding framing bits, but including FCS bytes).
15 256-511 bytes received When set, indicates that the currently received frame (including bad frame) was
between 256 and 511 bytes in length (excluding framing bits, but including FCS bytes).
16 512-1023 bytes received When set, indicates that the currently received frame (including bad frame) was
between 512 and 1023 bytes in length (excluding framing bits, but including FCS
bytes).
17 1024-MaxSize bytes received When set, indicates that the currently received frame (including bad frame) has a byte
length between 1024 and maxFrameSize. This is defined by the jumbo packets support
enabled bit and VLAN support enabled bit as follows:
0 0 1518
0 1 1522
1 0 9018
1 1 9022
18 RX control frame When set, indicates that the currently received frame was a control frame.
19 RX control pause frame When set, indicates that the currently received frame was a control pause frame.
20 Rx unsupported opcode When set, indicates that the currently received frame was a control frame with unsup-
ported opcode.
21 Received in loop-back mode When set, indicates that the currently received frame is an ‘echo’ of the frame transmit-
ted by TXMAC block.
22 RX VLAN tagged frame When set, indicates that the currently received frame was a VLAN tagged frame.
23-25 User priority field Provides the content of user priority field (bits 5-7 respectively) from received VLAN
tagged frame.
26 UnicastAddr Activates if the frame was received with a unicast destination address and at least 6
bytes are received.
27 MulticastAddr Activates if the frame was received with a group destination address other than broad-
cast and at least 6 bytes are received.
28 BroadcastAddr Activates if the frame was received with the broadcast destination address and at least
6 bytes are received.
29 RXFIFOOverrun Indicates that the current frame was aborted because an overrun - flow of received data
applied to the FIFO was detected, and the data was invalidated since there was no
empty space in the Receive FIFO.
Notes:
1. If the receive frame was interrupted internally within XEMAC, then all bits (except bits 2, 5, and 29) can be in an unpredictable
state.
2. Packets which contain less than 8 bytes (total, not including framing bytes) may be discarded by XEMAC without any indication.
Notes:
1. The MIB does not implement the slave retry operation.
2. The MIB utilizes the time-out suppression (TOUTSUP) mechanism to hold off the OPB operation if a
counter update is in progress.
3. Supports OPB Sequential Address mechanism.
Note: For all applications other than EMAC3, an OPB Sequential Address operation might cause a colli-
sion in the MIB with the status vector, which would result in the loss of some part of the status vector.
4. Provides 2-cycle latency OPB slave for single data transfer (without sequential address, and first data
transfer in sequential address burst mode.
5. Supports 1-cycle latency OPB slave for all data cycles using sequential address, except for the first trans-
action.
6. If OPB clock is < 33 MHz: Do not do a sequential read when EMAC is in HDX 10 Mbps mode.
The 23 most significant bits of the OPB address are compared with the content of the OPB_HRDW_ADDR
bus to distinguish between transactions targeted for the MIB and those intended for other OPB slave devices.
The 9 least significant bits of the OPB address define the specific counter within the MIB. The MIB supports
the sequential address mechanism for more efficient utilization of the OPB interface.
OPB_ABUS[0:31] MIB_DBUS[0:31]
OPB_DBUS[0:31] MIB_DBUSEN
OPB_HRDW_ABUS[0:31] MIB_XFERACK
OPB_SELECT
MIB_ERRACK
OPB_RNW
OPB_HWXFER MIB_FWACK
OPB_FWXFER MIB_HWACK
OPB_SEQADDR MIB_TOUTSUP
MIB
OPB_RESET
MIB_INTERRUPT
Inputs
OPB_ABUS 32 I Int Required OPB OPB address bus. Used by host processor
to address the MIB’s internal counter.
OPB_DBUS 32 I Int Required OPB OPB Data Bus. Used by Host processor to
provide data to MIB’s internal registers.
OPB_HRDW_ABUS 23 I Int Required OPB Hard Wired Address Bus. Unique MIB
address in the host processor configuration
space.
OPB_HWXFER 1 I Int Required OPB Half Word Transfer. In the OPB master
device communication with MIB, this signal,
in conjunction with OPB_FWXFER, indi-
cates the size of the requested transfer.
OPB_FWXFER 1 I Int Required OPB Full Word Transfer. In the OPB master
device communication with MIB, this signal,
in conjunction with OPB_HWXFER, indi-
cates the size of the requested transfer.
OPB_RESET 1 I Int Required OPB OPB reset signal. This signal is synchro-
nous with respect to the OPB_CLK clock.
Outputs
MIB_FWACK 1 O Int Required OPB Full Word Acknowledge. In the OPB master
device communication with MIB this signal
always indicates a fullword transaction.
The appropriate value is MIB_FWACK= ‘1’.
MIB_HWACK 1 O Int Required OPB Half Word Acknowledge. In the OPB MIB
slave communication with the master, this
signal in conjunction with MIB_FWACK, indi-
cates the size of the MIB, and always indi-
cates a fullword transaction. This signal is
tied MIB_HWACK = ‘0’.
MIB_TOUTSUP 1 O Int Required OPB Time Out Suppress. Indicates to the OPB
Arbiter that the bus operation can be
delayed for an extended period of time.
Sub-Total 132
5. Core Integration
The MIB core is designed for use in a CoreConnect chip design. It is specifically designed to interface with
the EMAC core and the OPB.
During synthesis with Synopsys Design Compiler, the following register bits are removed, which are indicated
by messages displayed in the log. These bits are Reserved on the interface with the EMAC, so they have no
fanout. The names might be slightly different in the resulting netlist due to variations in user naming conven-
tions.
• /EMACMIB/EMAC_PHYCLK_RX/STATUS_HOLD_REG_reg[7]
• /EMACMIB/EMAC_PHYCLK_RX/STATUS_HOLD_REG_reg[30]
• /EMACMIB/EMAC_PHYCLK_RX/STATUS_HOLD_REG_reg[31]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[8]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[9]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[26]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[27]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[28]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[29]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[30]
• /EMACMIB/EMAC_PHYCLK_TX/STATUS_HOLD_REG_reg[31]
• Warning: In design ‘MIB’, port ‘EMC_RX_STATUS[31]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_RX_STATUS[30]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_RX_STATUS[7]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[31]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[30]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[29]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[28]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[27]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[26]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[9]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, port ‘EMC_TX_STATUS[8]’ is not connected to any nets. (LINT-28)
• Warning: In design ‘MIB’, output port ‘MIB_FWACK’ is connected directly to output port ‘MIB_XFERACK’.
(LINT-31)
5.1 Configurability
Each counter in the MIB register file can be individually selected for simulation/synthesis, and each counter
width can be individually determined during simulation/synthesis to a maximum value of the OPB (32 bits).
In the MIB.defines.v file, there is a list of Verilog ‘define(s) used to configure the MIB RTL. These follow the
naming convention of CONFIG_countername_WIDTH. They are only defined here. They control the width of
the counters. A width of 0 removes the counter and its associated interrupt status bit. A read of a nonexistent
counter or interrupt status bit returns a “0” value. A width of 32 is the maximum allowed value, except for
aOctetsTransmittedOK and aOctetsReceivedOK which have a maximum value of 64, and
RXVLANPriority_Field which has valid values of 0 or 3.
Notes:
• If there are to be multiple instantiations with different counter configurations of the MIB, rename the
modules using the module name defines in the defines file.
• If an IEEE specified counter (‘aXXX’ type) is to be 32 bits in hardware, it cannot be reset when read,
according to the referenced specification. In this case, the MIB must be configured with the reset on
read function disabled (define MIB_RESET_ON_READ 0).
• To create TXLocalFault, select aSingleCollisionFrames.
• To create TXRemoteFault, select aMultipleCollisionFrames.
• To create ReceivedWithCodeError, select aBursts.
2. Simulate and synthesize with the configured RTL defines file.
3. To change the configuration, modify the defines file.
5.1.1 Interconnect
The EMAC - MIB interface names are the same on the MIB and the EMAC cores so that chip interconnect is
easier. The MIB - OPB interface names are similar to the names in the OPB specification so that chip inter-
connect is easier.
All pins except MIB_INTERRUPT and MIB_HWACK must be connected. These can be terminated to prevent
an antennae effect. The synthesis scripts do not add clock trees or LSSD logic. The post-synthesis netlist has
pseudo-latches and idealized clocks. LSSD logic and the associated interface pins and clock tree must be
added by the user. If the non-core chip logic has pseudo-latches and idealized clocks, then the post-synthesis
netlist can be merged with it, and then the LSSD logic and clock trees can be inserted at the chip level.
The PHY_RX_CLK and PHY_TX_CLK are multi-dropped to both the EMAC and MIB cores. Both cores get
the same PHY clocks.
Following reset, the MIB begins monitoring the interfaces. There are no configuration registers required to be
set except the optional MIB_ENABLE_INTERRUPT_STATUS_A and
MIB_ENABLE_INTERRUPT_STATUS_B registers. These two registers need to be set to activate the
optional interrupt on counter wrap function discussed in Section 3.1 Registers on page 23. See Section 3.2
Interrupt Handling on page 74 for the procedure for optional Interrupt on Wrap.
5.3.2.1 Clocking
• OPB interface (OPBCLK) operates from 33 MHz (10 MHz in 1 Gbps mode) to 133 MHz.
The timing parameters are defined according to the MII/GMII and OPB specifications. The values in the
Timing column in the following Interface Signal tables represent the time in which the signal is valid. The
signal is valid within a certain percentage of the respective clock cycle, from the rise of the clock, at the
latches input.
The OPB specification defines the timing (see Figure 6 on page 94) using the terms Begin, Early, Middle, and
Late. These timing definitions are used for all pins, OPB and PHY, and are as follows.
Begin: Signal is driven off a latch and should not have any combinatorial logic with the exception of any
necessary buffering logic. Signal is valid within 8% of the cycle from the rise of clock signal.
• Early: Signal is valid within 18% of the cycle from the rise of clock signal.
• Early+: Signal is valid within 28% of the cycle from the rise of clock signal.
• Middle-: Signal is valid within 33% of the cycle from the rise of clock signal.
• Middle: Signal is valid within 43% of the cycle from the rise of clock signal.
• Middle+: Signal is valid within 53% of the cycle from the rise of clock signal.
• Late-: Signal is valid within 58% of the cycle from the rise of clock signal.
• Late: Signal is valid within 68% of the cycle from the rise of clock signal.
• End: Signal is valid within 78% of the cycle from the rise of clock signal.
OPB clock
Begin
Inputs
EMC_RX_STATUS 32 I Int Middle Required EMAC Contains status information about recently
43% received frame.
This bus is synchronous with respect to
the PHY_RX_CLK clock.
EMC_RX_STATUS 1 I Int Early Required EMAC When active (single cycle pulse), the
_VALID 18% information presented on the
EMC_RX_STATUS bus is valid.
This signal is synchronous with respect to
the PHY_RX_CLK clock.
EMC_RX_FRAME_ 14 I Int Early Required EMAC This 14-bit bus presents the number of
BYTES 18% bytes that were received on the MII/GMII
interface during last frame reception (it
counts all bytes excluding framing and
extension bytes).
This bus contains the valid data only
when EMC_RX_STATUS_VALID is
active.
This bus is synchronous with respect to
the PHY_RX_CLK clock.
EMC_TX_STATUS 32 I Int End Required EMAC Contains status information about recently
78% transmitted frame.
This bus is synchronous with respect to
the PHY_TX_CLK clock.
EMC_TX_STATUS 1 I Int Early Required EMAC When active (single cycle pulse), the
_VALID 18% information presented on the
EMCTX_STATUS bus is valid.
This signal is synchronous with respect to
the PHY_TX_CLK clock.
EMC_TX_FRAME_ 14 I Int Early Required EMAC This 14-bit bus presents the number of
BYTES 18% bytes that were transmitted on the
MII/GMII interface during last frame trans-
mission (it counts all bytes excluding
framing and extension bytes).
This bus contains the valid data only
when EMC_TX_STATUS_VALID is
active.
This bus is synchronous with respect to
the PHY_TX_CLK clock.
Outputs
MIB_TX_RDY 1 O Int Late Required EMAC When active, the MIB has finished pro-
68% cessing the status of the previous transmit
packet. EMAC monitors the active level of
this signal to issue
EMC_TX_STATUS_VALID signal when
status is ready.
Note: MIB can de-activate this signal
immediately after the falling edge of
EMC_TX_STATUS_VALID. MIB can hold
MIB_TX_RDY inactive for an arbitrary
period of time with one exception:
In HDX 10 Mbps medium, EMAC expects
that MIB_TX_RDY can be re-asserted
within 16 cycles of PHY_TX_CLK.
This signal is synchronous with respect to
the PHY_TX_CLK clock.
MIB_RX_RDY 1 O Int Late Required EMAC When active, the MIB has finished pro-
68% cessing the status of the previous receive
packet.
Note: The MIB can de-activate this signal
immediately after the falling edge of
EMC_RX_STATUS_VALID. The MIB can
hold MIB_RX_RDY inactive for an arbi-
trary period of time, but it should be noted
that EMAC monitors the active level of
this signal before activation of its
EMC_RX_STATUS_VALID signal. If, at
the beginning of a new incoming packet,
EMAC is still waiting for the
MIB_RX_RDY assertion for accomplish-
ment of the previous packet, EMAC
misses this new packet.
This signal is synchronous with respect to
the PHY_RX_CLK clock.
Sub-Total 96
Inputs
OPB_ABUS 32 I Int Early Required OPB OPB address bus. Used by host proces-
18% sor to address the MIB’s internal
counters.
OPB_DBUS 32 I Int Late Required OPB OPB Data Bus. Used by Host processor
68% to provide data to MIB’s internal
counters.
OPB_HRDW_ABUS 23 I Int - Required OPB Hard Wired Address Bus. Unique MIB
address in the host processor configura-
tion space.
OPB_RNW 1 I Int Early Required OPB Indicates the direction of a data transfer.
18% (Read Not Write)
OPB_HWXFER 1 I Int Early Required OPB Half Word Transfer. In the OPB master
18% device communication with MIB, this
signal, in conjunction with
OPB_FWXFER, indicates the size of the
requested transfer.
OPB_FWXFER 1 I Int Early Required OPB Full Word Transfer. In the OPB master
18% device communication with MIB, this
signal, in conjunction with
OPB_HWXFER, indicates the size of
the requested transfer.
OPB_SEQADDR 1 I Int Early Required OPB Sequential Address. When set, indi-
18% cates that transfer being performed can
be followed with a transfer to the next
sequential address.
OPB_RESET 1 I Int N/A Required OPB OPB reset signal. This signal is syn-
chronous with respect to the OPB_CLK
clock.
Outputs
MIB_DBUSEN 1 O Int Middle Required OPB OPB data bus enable signal
43%
MIB_FWACK 1 O Int Middle Required OPB Full Word Acknowledge. In the OPB
33% master device communication with MIB
this signal always indicates a fullword
transaction.
The appropriate value is MIB_FWACK=
‘1’.
MIB_HWACK 1 O Int Middle Required OPB Half Word Acknowledge. In the OPB
33% MIB slave communication with the mas-
ter, this signal in conjunction with
MIB_FWACK, indicates the size of the
MIB, and always indicates a fullword
transaction. This signal is tied
MIB_HWACK = ‘0’.
MIB_TOUTSUP 1 O Int Early Required OPB Time Out Suppress. Indicates to the
18% OPB Arbiter that the bus operation can
be delayed for an extended period of
time.
MIB_INTERRUPT 1 O Int Middle Optional Processor Processor interrupt due to wrap detec-
43% tion on a counter
Sub-Total 132
The MIB does not contain any DFT structures, either MUX-SCAN or LSSD. That is expected to be inserted by
the user, into the netlist after synthesis. The table below provides some assistance for identifying core ports
relevant to test.
Name I/O Ext/Int Required/ Con- Nominal LSSD Flag Signal Description
Optional nection Mode Value
Inputs
Outputs
Sub-Total 3
Total 231
The PHY_RX_CLK and PHY_TX_CLK are multi-dropped to both the MIB and the EMAC cores. Both cores
get the same PHY clocks.
The Synopsys SDC timing constraints file is used for synthesis and timing analysis. In this file, the clock
periods for the clocks must be set by modifying the default. The file also contains a clock jitter variable that
can be set to the desired amount of clock uncertainty.
In the chip EinsTimer™ assertions (PHASE file), it is imperative to have phase pair exclusions between each
PHY clock and the OPB clock. In the case of the MIB, it needs a phase pair exclusion between the
PHY_RX_CLK and the OPB_CLK, and between the PHY_TX_CLK and the OPB_CLK. The phase pair exclu-
sions, therefore, are essential to have.
The required phase pair exclusions exist in the SDC (Synopsys Delay Constraint) timing assertion file which
is used in the MIB synthesis scripts.
For asynchronous clock domain crossing assertions, See Appendix A, Asynchronous Interface, on page 104,
which contains a list of crossing that can be used to create a file of UDT assertions that can be used for chip
EinsTimer timing analysis. The actual names of the flip-flops involved can vary in the netlist depending on the
naming convention selected during synthesis.
There are several structures used in this core to implement its asynchronous behavior. They consist of:
• Mux for data synchronization (status busses) using an AND gate enabled with synchronized valid signal.
Caution: Users are responsible for creating timing constraints in their design system in order to ensure the
correct operation of these structures. See Appendix A, Asynchronous Interface, on page 104 for more infor-
mation.
Asynchronous Synchronizer
Delay Path Delay Path
SOURCE_REG DESTINATION1_REG DESTINATION2_REG
D L2 D L2 D L2
Delay Path
SOURCE_REG DESTINATION_REG
AND
D L2
D L2
Gating Signal
Synchronous to
Source Clock Destination Clock Destination Clock
Capture Flop
The MIB adheres to Level 0 Test Support. It has no special core requirements for test. The synthesis scripts
do not add clock trees or scan logic. The post-synthesis netlist has pseudo-latches and idealized clocks. Test
logic and the associated interface pins and clock tree must be added by the user. The post-synthesis netlist
can be merged with the remaining chip logic, and then the test logic and clock trees can be inserted at the
chip level.
The hierarchy of the MIB is represented in Figure 9 Module Instance Names and Hierarchy on page 100.
MIB (MIB)
MIB_REGFILE (REGFILE)
MIB_READ_64BIT_COUNTERS_FSM (inst_READ_aOctetsTransmittedOK_FSM)
MIB_READ_64BIT_COUNTERS_FSM (inst_READ_aOctetsReceivedOK_FSM)
MIB_MIBOPB (MIBOPB)
MIB_OPB_LINK (OPB_LINK)
MIB_OPB_FSM (OPB_FSM)
MIB_EMACMIB (EMACMIB)
MIB_EMAC_PHYCLK (EMAC_PHYCLK_TX)
MIB_SYNC_CONTROLS (SYNC_TX_CONTROLS)
MIB_DUAL_RANK_SYNC (reset_sync)
MIB_PULSE_RISING_EDGE_DETECT (status_valid_detect)
MIB_DUAL_RANK_SYNC (status_valid_sync)
MIB_PULSE_GEN (status_valid_pulse_gen)
MIB_DUAL_RANK_SYNC (inc_complete_sync)
MIB_SYNC_VECTORS (sync_vectors)
MIB_SPECIAL_AND2 (and2_1xx)
MIB_SYNC_CONTROLS (SYNC_RX_CONTROLS)
MIB_DUAL_RANK_SYNC (reset_sync)
MIB_PULSE_RISING_EDGE_DETECT (status_valid_detect)
MIB_DUAL_RANK_SYNC (status_valid_sync)
MIB_PULSE_GEN (status_valid_pulse_gen)
MIB_DUAL_RANK_SYNC (inc_complete_sync)
MIB_SYNC_VECTORS (sync_vectors)
MIB_SPECIAL_AND2 (and2_1xx)
Format: A (B)
A = Module Name
(B) = Instance Name
5.5.1 Size
Since the core is synthesizable, any number of counters can be synthesized from 1 to the maximum, and they
can be of any width from 0 bits to the maximum, which is the width of the OPB (32 bits - exception: see
Section 3.1.7 aOctetsTransmittedOK on page 33, Section 3.1.13 aOctetsReceivedOK on page 38, and
Section 3.1.49 RXVLANUserPriorityField on page 60.) Therefore, the size of the core can vary based on the
configuration chosen at synthesis time.
The maximum configuration was test synthesized. This included all counters listed in Chapter 3 for a total of
64 counters. The counters were synthesized at the maximum of the OPB width (32 bits), except for RXVLA-
NUserPriorityField which is a fixed 3 bits wide, and aOctetsTransmittedOK and aOctetsReceivedOK, which
were synthesized at their maximum of 64 bits. This results in a total of 2,196 latches, including control logic.
To calculate the number of latches, add:
The size might also vary based on the target OPB operating frequency and PHY clock frequency (based on
Ethernet mode), and the target voltage and temperature.
5.5.2 Technology
The Ethernet MIB synthesis constraints have been validated with the IBM ASIC SA-27E, Cu-11 and Cu-08
technologies.
The MIB instantiates a 2-way AND gate. The instance is located in the MIB_SPECIAL_AND2 module. A
substitute needs to be found in the target library, and this MIB_SPECIAL_AND2 module needs to be changed
to instance that gate.
The clock frequencies for the MIB were validated in IBM ASIC SA-27E to 125×C at 1.65 V, Cu-11 high perfor-
mance to 125×C at 1.60 V and Cu-08 to 125×C at 0.70 V.
Supports extended voltages and extended temperature ranges, validated using the following parameters
during static timing analysis (see Table 11) with maximum configuration and maximum frequencies.
IBM ASIC SA-27E Worst case 1.65 V 125°C 5mzc4p 5.3mm_chip Top
Best case 1.95 V - 40°C
IBM ASIC Cu-11 Worst case 1.40 V 125°C 6lmc4a 1M_cells Top
IBM ASIC Cu-08 Worst case 0.8 V 125°C 7lbc4a 1M_cells Top
Nominal power dissipation depends on the clock frequencies chosen and the configuration implemented.
Notes: S2, S3, S7 - The counters in the register file only support 32-bit write and 32-bit read. the Inter-
rupt Status registers and Enable Interrupt Status registers support 8-bit, 16-bit and 32-bit writes and 32-
bit reads.
set_max_delay ${OPB_PERIOD} \
-from [get_pins -hier {*EMACMIB. EMAC_PHYCLK_RX.FRAME_BYTES_HOLD_REG_reg*/*}] \
-to [get_pins -hier {*REGFILE. aOctetsReceivedOK_reg*/*}]
Note: Due to variations and changes in the tool, the above are for example only. Implementation is left to the
user’s chip-level timing engineer.
Alternatively, creating a new phase for the asynchronous crossing, and basing asserted arrival times and
required arrival times, could take the form:
Note: Due to variations and changes in the tool, the previous assertions are for example only. Implementa-
tion is left to the user’s chip-level timing engineer.
Note: The EinsTimer assertion does not use wildcards and should be more directly specified, which requires
more assertions when multi-bit busses are involved.
• The Synopsys assertion would constrain the fourteen bits of the frame bytes hold register of the EMAC-
MIB unit to1 OPB clock period from output pin of the source flops (formed in the unit “EMACMIB” by the
RTL flop inferred by the reg named “FRAME_BYTES_HOLD_REG[3:0]” to the input pins of the destina-
tion flops (formed in the unit “REGFILE” by the RTL flops inferred by the reg named “aOctetsReceive-
dOK[63:0]”).
• The EinsTimer assertion would make the same constraint for just bit 0. Additional, similar assertions
would be required for the other paths. Users can be more specific about the hierarchy of the MIB instanti-
ation and might need to change the hierarchy divider character (a period [.] in this example) or pin delim-
iter (a front-slash [/] in this example).
• Mux for data using AND gate enabled with synchronized valid signal.
Caution: Users are responsible for creating timing constraints in their design system in order to ensure the
correct operation of these structures.
Asynchronous Synchronizer
Delay Path Delay Path
SOURCE_REG DESTINATION1_REG DESTINATION2_REG
D L2 D L2 D L2
Delay Path
SOURCE_REG DESTINATION_REG
AND
D L2 D L2
Gating Signal
Synchronous to
Source Clock Destination Clock Destination Clock
Capture Flop
Reference Figure 10 Asynchronous Crossing and Synchronizer Flops on page 105. Flip-flop pairs are used to
synchronize signals to individual clock domains. Table 13 Table of Flip-Flops in Dual Rank Synchronization
Path lists the captured signal, the standard synthesized instance names of the capture flip-flops, and the
capture clock’s name: For example, correct operation of these flip-flop pairs can be ensured in one of the
following ways:
1. Ensure that the delay from the output of the first flip-flop to the input of the second flip-flop is, at most,
20% of the capture clock’s period.
2. Ensure that the flip-flops are placed next to each other, their clock inputs are connected to the same net
with minimum wiring length between them, and there is minimum wiring length between the output of the
first and the input of the second. The dual rank synchronizer only protects the second latch from metasta-
bility if the delay between the two flip-flops is kept to a minimum.
3. Change the following synchronizer file to instance a synchronizer library element equivalent to the recom-
mended function:
• MIB_DUAL_RANK_SYNC.v
The ‘LEVEL1’ to ‘LEVEL2’ paths are the metastability-hardening flip-flops that are used to ensure solid
synchronous signals after an asynchronous crossing. The flip-flops used in these instantiations should be
selected based on their electrical characteristics for stabilizing these signals. If the MIB is used in a tech-
nology where two back-to-back flip-flops are insufficient for metastability hardening, then the
MIB_DUAL_RANK_SYNC.v file can be altered to add a third flop, ‘LEVEL3’, and additional timing assertions
between ‘LEVEL2’ and ‘LEVEL3’ (similar to the ones between ‘LEVEL1’ and ‘LEVEL2’) can be used to
ensure metastability hardening of the asynchronous signals.
A.3.2 Asynchronous Clock Domain Crossings (of Control and Status Signals)
Reference Figure 11 Asynchronous Crossing With Gating on page 106. Users must create constraints for
correct operation of the clock domain crossing signals, even though the signals are considered asynchro-
nous. Table 14 Table of Flip-Flops in Control Asynchronous Paths lists the signals which require use
constraints, the source(s) in the source clock domain and their sink(s) in the capture clock domain, and the
maximum delay between the points.
Ensure the delay from source point (input or flop) to the destination point (output or flop) is, at most, the value
specified in the Maximum Delay column.
RX_STATUS_VALID_SYS - internal sig- RX_INC_COMPLETE_EDGE_PHY - internal sig- 1 PHY clock period (use clock period for
nal nal fastest mode to be used)
The standard synthesized instance name The standard synthesized instance name of the
of the flip-flop which sources this signal flip-flop which sources this signal is:
is: EMACMIB.SYNC_RX_CONTROLS.
EMACMIB.SYNC_RX_CONTROLS. inc_complete_sync.LEVEL1
status_valid_pulse_gen.TOGGLE
OPB_RESET - internal signal SYS_RESET_PHY - internal signal. 1 PHY clock period (use clock period for
The standard synthesized instance name The standard synthesized instance name of the fastest mode to be used)
of the flip-flop which sources this signal flip-flop which sources this signal is:
is: EMACMIB.SYNC_RX_CONTROLS.
MIBOPB.OPB_LINK.H2O_MIB_xxx_yy reset_sync.LEVEL1
(Substitute core version number for
xxx_yy)
TX_STATUS_VALID_SYS - internal sig- TX_INC_COMPLETE_EDGE_PHY - internal sig- 1 PHY clock period (use clock period for
nal nal fastest mode to be used)
The standard synthesized instance name The standard synthesized instance name of the
of the flip-flop which sources this signal flip-flop which sources this signal is:
is: EMACMIB.SYNC_TX_CONTROLS.
EMACMIB.SYNC_TX_CONTROLS. inc_complete_sync.LEVEL1
status_valid_pulse_gen.TOGGLE
OPB_RESET - internal signal SYS_RESET_PHY - internal signal. 1 PHY clock period (use clock period for
The standard synthesized instance name The standard synthesized instance name of the fastest mode to be used)
of the flip-flop which sources this signal flip-flop which sources this signal is:
is: EMACMIB.SYNC_TX_CONTROLS.
MIBOPB.OPB_LINK.H2O_MIB_xxx_yy reset_sync.LEVEL1
(Substitute core version number for
xxx_yy)